/* Componente compartido para todos los catálogos. */
.view-switch{display:inline-flex;gap:4px;padding:4px;background:#f3f5fa;border-radius:10px;flex-shrink:0}
.view-switch button{display:inline-flex;align-items:center;gap:8px;border:0;padding:9px 13px;border-radius:7px;background:transparent;color:#7b8596;font:inherit;font-size:12px;cursor:pointer}
.view-switch button[aria-pressed=true]{background:#fff;color:#294be8;box-shadow:0 1px 5px #1925360c}
.view-switch svg{width:17px;height:17px;flex-shrink:0}.catalog-heading{flex-direction:row;align-items:center;margin:0 0 22px}.catalog-heading .results{margin:0;font-size:11px}
/* Un mismo sistema para Presentaciones, Planificación, Guías y Herramientas. */
:root{--collection-border:#e3e8f1;--collection-radius:14px;--collection-gap:16px;--collection-icon:48px}
#resource-collection .group-grid{display:grid;gap:var(--collection-gap)}
#resource-collection .resource{min-width:0;margin:0;border:1px solid var(--collection-border);border-radius:var(--collection-radius);background:#fff;box-shadow:none}
#resource-collection .resource h3{margin:0;font-size:18px;line-height:1.35;letter-spacing:-.3px}
#resource-collection .resource .label{margin:0;font-size:11px;line-height:1.5;color:#77849a}
#resource-collection .resource .file-icon{display:grid;place-items:center;width:var(--collection-icon);height:var(--collection-icon);border-radius:10px;margin:0;flex-shrink:0}
#resource-collection .resource .file-icon svg{width:24px;height:24px}
#resource-collection .resource .deck-icon{display:none}
#resource-collection .resource .resource-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
#resource-collection .resource-actions a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;min-width:0;padding:10px 12px;border-radius:8px;background:#f0f4ff;color:#294be8;font-size:12px;line-height:1.4}
#resource-collection .resource-actions a[download]{background:#f5f7fb;color:#68768b;font-weight:400}
#resource-collection .resource-actions svg{width:17px;height:17px;flex-shrink:0}
#resource-collection[data-view="list"] .group-grid{grid-template-columns:1fr}
#resource-collection[data-view="list"] .resource{display:grid;grid-template-columns:var(--collection-icon) minmax(0,1fr);gap:16px;align-items:center;padding:14px 16px;min-height:0}
#resource-collection[data-view="list"] .resource:has(.preview){grid-template-columns:96px minmax(0,1fr)}
#resource-collection[data-view="list"] .resource .preview{width:96px;aspect-ratio:16/9;border:0;border-radius:8px;margin:0}
#resource-collection[data-view="list"] .resource .resource-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;align-items:center;padding:0;min-width:0}
#resource-collection[data-view="list"] .resource h3{grid-column:1;grid-row:1}
#resource-collection[data-view="list"] .resource .label{grid-column:1;grid-row:2}
#resource-collection[data-view="list"] .resource .resource-actions{grid-column:2;grid-row:1/3}
#resource-collection[data-view="cards"] .group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#resource-collection[data-view="cards"] .resource{display:flex;flex-direction:column;align-items:stretch;padding:16px;gap:16px;min-height:0}
#resource-collection[data-view="cards"] .resource .preview{width:100%;aspect-ratio:16/9;margin:0;border:0;border-radius:10px}
#resource-collection[data-view="cards"] .resource .resource-body{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:0;flex:1;min-width:0}
#resource-collection[data-view="cards"] .resource h3{min-height:49px}
#resource-collection[data-view="cards"] .resource .resource-actions{padding-top:16px;margin-top:auto}
@media(max-width:1100px){#resource-collection[data-view="cards"] .group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){#resource-collection[data-view="list"] .resource .resource-actions{grid-column:1;grid-row:3;margin-top:4px}}
@media(max-width:600px){:root{--collection-icon:40px}.view-switch button{padding:8px 10px;font-size:11px}.catalog-heading{gap:12px;margin-bottom:18px}#resource-collection[data-view="cards"] .group-grid{grid-template-columns:1fr}#resource-collection[data-view="list"] .resource{padding:12px;gap:12px;align-items:start}#resource-collection[data-view="list"] .resource:has(.preview){grid-template-columns:64px minmax(0,1fr)}#resource-collection[data-view="list"] .resource .preview{width:64px}#resource-collection .resource h3{font-size:15px}#resource-collection[data-view="cards"] .resource h3{min-height:0}#resource-collection .resource-actions a{padding:8px 10px;font-size:11px}}
/* Resultados globales, agrupados por tema y con filas compactas. */
.app-header .search{position:relative}.search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#8794a9;pointer-events:none}
.app-header .search input{padding-left:39px}.app-header .search input:focus-visible{outline:2px solid #8297fa;outline-offset:2px;border-color:#a8b8f5;box-shadow:0 0 0 4px #294be808}

.app-header{z-index:30}.search-popover{position:absolute;top:calc(100% + 12px);right:0;width:min(440px,calc(100vw - 32px));max-height:min(520px,70vh);overflow:auto;background:white;border:1px solid #dfe5ef;border-radius:16px;padding:12px;box-shadow:0 16px 48px #19253620;z-index:100;text-align:left}.search-popover section+section{border-top:1px solid #edf0f5;margin-top:8px;padding-top:8px}.search-popover h2{font-size:11px;color:#78869a;margin:7px 10px;text-transform:uppercase;letter-spacing:.05em}.search-popover a{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:8px;color:#192536;font-size:13px;text-decoration:none}.search-popover a:hover,.search-popover a:focus-visible{background:#eef2ff;color:#294be8}.search-popover svg{width:19px;height:19px;flex-shrink:0}.search-popover p{font-size:13px;color:#78869a;padding:10px}
/* Eventos: un solo contenedor por detalle, sin display:contents en details. */
.program-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.program-intro>a{display:inline-flex;align-items:center;gap:8px;background:#eef2ff;color:#294be8;padding:10px 14px;border-radius:9px;font-size:12px}.program-intro>a svg{width:17px;height:17px}
.program-grid{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}.program-card{min-width:0;border:1px solid #e3e8f1;border-radius:14px;background:#fff;overflow:hidden}.program-card details{display:block;width:100%}.program-card summary{display:flex;align-items:center;gap:16px;padding:14px 16px;cursor:pointer;list-style:none}.program-card summary::-webkit-details-marker{display:none}.program-card summary:focus-visible{outline:2px solid #294be8;outline-offset:-3px;border-radius:13px}.program-image{display:block;width:48px;height:48px;object-fit:contain;border-radius:10px;flex-shrink:0}.program-heading{flex:1;min-width:0}.program-heading h2{font-size:18px;line-height:1.35;letter-spacing:-.3px;margin:0 0 8px;color:#192536}.program-tag{font-size:11px;color:#77849a}.program-toggle{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--program-color);background:#f5f7fb;border-radius:8px;padding:10px 12px;white-space:nowrap}.program-toggle>span{font-size:18px;line-height:1}.program-card details[open] .program-toggle>span{font-size:0}.program-card details[open] .program-toggle>span:after{content:'−';font-size:18px}.program-card details[open] summary{border-bottom:1px solid #e9edf4}.program-content{padding:22px;background:#fafbfd}.program-purpose{font-size:14px;font-weight:600;color:#34445b;margin:0 0 20px}.program-content dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}.program-content dl>div{min-width:0}.program-content dt{display:flex;align-items:center;gap:7px;font-size:11px;color:#77849a;margin-bottom:8px}.program-content dt svg{width:16px;height:16px;color:var(--program-color);flex-shrink:0}.program-content dd{margin:0;font-size:12px;line-height:1.7;color:#34445b;overflow-wrap:break-word}
.program-grid[data-view="cards"]{grid-template-columns:repeat(3,minmax(0,1fr))}.program-grid[data-view="cards"] summary{display:grid;grid-template-columns:1fr;gap:16px;padding:16px}.program-grid[data-view="cards"] .program-image{width:48px;height:48px;background:#f5f7fc}.program-grid[data-view="cards"] .program-heading h2{min-height:49px}.program-grid[data-view="cards"] .program-toggle{justify-content:space-between}.program-grid[data-view="cards"] .program-content dl{grid-template-columns:1fr;gap:18px}.program-grid[data-view="cards"] .program-content{padding:18px}
@media(max-width:1100px){.program-content dl{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid[data-view="cards"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.program-intro{flex-wrap:wrap}.program-grid[data-view="cards"]{grid-template-columns:1fr}.program-card summary{gap:12px;padding:12px;flex-wrap:wrap}.program-image{width:40px;height:40px}.program-heading h2{font-size:15px}.program-toggle{margin-left:auto;padding:8px 10px;font-size:11px}.program-content{padding:18px}.program-content dl{grid-template-columns:1fr;gap:18px}.program-purpose{font-size:13px}.program-grid[data-view="cards"] .program-heading h2{min-height:0}}

.program-grid{gap:var(--collection-gap)}.program-card{border-color:var(--collection-border);border-radius:var(--collection-radius)}.program-image,.program-grid[data-view="cards"] .program-image{width:var(--collection-icon);height:var(--collection-icon)}.program-toggle{min-height:38px;box-sizing:border-box}.program-intro{margin-bottom:22px}

/* Acciones compactas con nombre accesible y tamaño uniforme. */
#resource-collection .resource-actions a{width:38px;height:38px;min-width:38px;min-height:38px;padding:0;flex:0 0 38px}
#resource-collection .resource-actions svg{width:19px;height:19px}
#resource-collection[data-view="list"] .resource .resource-actions{justify-content:flex-end;flex-wrap:nowrap}

/* Campos homogéneos: etiqueta, valor breve y aclaración. */
.program-content dl{gap:12px;align-items:stretch}.program-content dl>div{padding:14px;border:1px solid #e8edf4;border-radius:10px;background:#fff}.program-content dt{margin-bottom:10px}.program-value{display:block;font-size:12px;font-weight:600;line-height:1.5;color:#34445b}.program-content dd small{display:block;font-size:11px;line-height:1.6;color:#77849a;margin-top:6px}.program-content .program-purpose{margin-bottom:16px}
