/* Secciones informativas de Waves: qué es, contenido, alcance y preguntas. Hereda las variables de waves.css y brand.css. */
.section-lead { max-width: 640px; margin: -8px 0 28px; }
.about-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 56px; align-items: start; }
.about-grid p { max-width: 560px; }
.about-grid strong, .access strong { color: var(--text); font-weight: 650; }
.facts { display: grid; gap: 14px; margin: 0; padding: 26px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.facts div { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.facts div:last-child { padding-bottom: 0; border: 0; }
.facts dt { color: var(--blue); font: 700 .7rem/1.7 ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.facts dd { margin: 0; color: var(--muted); font-size: .9rem; }
.groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.group { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.group strong { display: block; font-size: 1.9rem; letter-spacing: -.04em; font-weight: 650; }
.group .group-unit { color: var(--muted); font-size: .78rem; }
.group h3 { margin: 14px 0 8px; font-size: 1.05rem; }
.group p { margin: 0; font-size: .86rem; }
.group .group-size { margin-top: 12px; color: var(--blue); font: .72rem ui-monospace, monospace; }
.steps { grid-template-columns: repeat(4, 1fr); }
.scope { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.scope article { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; }
.scope h3 { margin-top: 0; }
.scope ul { margin: 0; padding-left: 20px; color: var(--muted); font-size: .92rem; }
.scope li { margin-bottom: 8px; }
.faq { display: grid; gap: 12px; max-width: 820px; }
.faq details { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 4px 22px; }
.faq summary { cursor: pointer; padding: 16px 0; font-weight: 650; color: var(--text); }
.faq details p { margin: 0 0 18px; font-size: .92rem; }
.access .text-link { display: inline-block; margin-top: 8px; }
.login-panel .button + .button, .login-panel .button + p { margin-top: 14px; }
@media (max-width: 1000px) { .steps { grid-template-columns: 1fr 1fr; } }
@media (max-width: 850px) { .about-grid, .scope { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } .facts div { grid-template-columns: 1fr; gap: 4px; } }

/* Catálogo (portada) */
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
td.nowrap { white-space: nowrap; }
td.event-cell { min-width: 220px; }
td.event-cell a { color: var(--text); font-weight: 650; text-decoration: none; }
td.event-cell a:hover { color: var(--blue); text-decoration: underline; }
td.event-cell small { color: var(--muted); font-size: .72rem; }
td.group-cell { color: var(--muted); font-size: .8rem; }
td .button.compact { white-space: nowrap; }
.filters-wide { grid-template-columns: 2fr repeat(4, 1fr) auto; }
.header-user { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: .8rem; }
@media (max-width: 1000px) { .filters-wide { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .filters-wide { grid-template-columns: 1fr; } .panel { padding: 18px; } .header-user { display: none; } }
.row-actions { display: flex; gap: 8px; }
