/* Páginas de texto (quiénes somos, metodología, respuesta, aviso legal, glosario, preguntas,
   registro de versiones, 404). Plantilla "acta": banda de tinta baja, margen de fuentes a la izquierda,
   ritmo de 48 px entre secciones. Solo tokens de sitio.css; ningún componente tiene reglas propias de tema. */

[hidden] { display: none !important; }

/* ---------- Banda de tinta baja (título + cifra compacta) ---------- */
.banda-baja { padding: var(--e-5) 0; min-height: 160px; display: flex; align-items: center; }
@media (min-width: 1024px) { .banda-baja { padding: var(--e-6) 0; } }
.banda-baja__rejilla { display: flex; flex-direction: column; gap: var(--e-4); align-items: stretch; width: 100%; }
.banda-baja h1 { overflow-wrap: break-word; }
.banda-baja h1 { color: var(--banda-texto); margin: 0; font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.25rem); }
.banda-baja__cifras { display: flex; flex-wrap: wrap; gap: var(--e-4) var(--e-5); }
.banda-baja .cifra { margin: 0; min-width: 9rem; max-width: 16rem; border-top-color: var(--banda-texto); }
.banda-baja .cifra__valor { color: var(--banda-texto); font-size: 2.4rem; }
.banda-baja .cifra__frase { color: var(--banda-texto); font-size: .9rem; }
.banda-baja .cifra__fuente { color: var(--banda-texto-2); font-size: .78rem; }
.banda-baja .cifra__salvedad { color: var(--banda-texto); }
.banda-baja__version { font: 600 clamp(2.4rem, 1.8rem + 3vw, 4rem)/1 var(--serif); letter-spacing: -.02em; color: var(--banda-texto); margin: 0; font-variant-numeric: tabular-nums lining-nums; }

/* ---------- Ritmo: 48 px entre secciones de texto ---------- */
.seccion.seccion--texto { padding-top: var(--e-5); padding-bottom: var(--e-5); }
.seccion.seccion--entradilla { padding-bottom: 0; }
.seccion.seccion--entradilla .entradilla { margin: 0; }
.seccion.seccion--entradilla .entradilla p { margin: 0; }
.seccion.seccion--entradilla .entradilla p + p { margin-top: var(--e-3); }
.seccion.seccion--texto h2 { margin-top: 0; margin-bottom: var(--e-3); }
.seccion.seccion--texto .lectura > :last-child { margin-bottom: 0; }
.seccion.seccion--texto .lectura p { overflow-wrap: break-word; }
.texto-pagina { overflow-wrap: break-word; }

/* ---------- Margen de fuentes (acta): numeración, fecha o fuente ---------- */
.acta.acta--sin-margen { grid-template-columns: minmax(0, 1fr); }
.acta__margen { color: var(--tinta-2); }
.acta__margen .oficio { margin: 0 .25rem .25rem 0; }
.acta__margen .fuente { margin: 0; }
@media (max-width: 1099px) { .acta__margen { padding-bottom: 0; } }

/* ---------- Índice pegajoso de secciones ---------- */
.indice-secciones { position: sticky; top: var(--alto-cabecera); z-index: 20; background: var(--papel); border-bottom: 1px solid var(--linea); }
.indice-secciones ul { list-style: none; margin: 0; padding: var(--e-2) 0; display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: thin; }
.indice-secciones li { flex: none; }
.indice-secciones a { display: inline-flex; align-items: center; min-height: 40px; padding: .4rem .7rem; border: 1px solid var(--linea-fuerte); border-radius: var(--radio); color: var(--tinta); text-decoration: none; font: 600 .84rem/1.25 var(--sans); white-space: nowrap; }
.indice-secciones a:hover { border-color: var(--tinta); }
@media (min-width: 1100px) { .indice-secciones { top: 112px; } }

/* ---------- Principios: cuatro columnas (como el tríptico de inicio) ---------- */
.principios { display: grid; gap: var(--e-4); margin: var(--e-4) 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .principios { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .principios { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.principio { border-top: 2px solid var(--tinta); padding-top: var(--e-3); }
.principio h3 { font: 650 1.2rem/1.25 var(--serif); margin: 0 0 .35rem; }
.principio p { margin: 0; }

/* ---------- Integrantes y composición ---------- */
.marcador-integrantes { border: 1.5px dashed var(--tinta-2); border-radius: var(--radio); background: var(--superficie); color: var(--tinta-2); padding: var(--e-4); margin: 0; }
.pieza-soporte { margin: var(--e-4) 0 0; }
.pieza-soporte > figcaption { font-size: var(--t-dato); color: var(--tinta-2); margin-bottom: var(--e-2); }

/* ---------- Regla de quórum ---------- */
.regla { margin: var(--e-4) 0 0; padding: var(--e-3) var(--e-4); border-left: 3px solid var(--tinta); background: var(--papel-2); }
.regla .antetitulo { margin-bottom: var(--e-2); }
.regla p { font: italic 400 1.15rem/1.45 var(--serif); margin: 0; }

/* ---------- Metodología: tres unidades que no se suman ---------- */
.unidades { display: grid; gap: var(--e-4); margin: var(--e-4) 0 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .unidades { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.unidad { border-top: 2px solid var(--tinta); padding-top: var(--e-3); }
.unidad__cifra { font: 700 2.2rem/1 var(--serif); font-variant-numeric: tabular-nums; margin: 0 0 .3rem; }
.unidad__etiqueta { font-size: .92rem; margin: 0 0 var(--e-3); }
.tira { display: flex; flex-wrap: wrap; gap: 3px; list-style: none; margin: 0 0 var(--e-2); padding: 0; }
.tira li { width: 12px; height: 12px; border-radius: 2px; background: var(--tinta); }
.tira li.tira__c--2 { background: var(--tinta-2); }
.unidades__nota { font-size: .9rem; color: var(--tinta-2); margin: var(--e-3) 0 0; max-width: var(--medida); }

/* ---------- Respuesta: procedimiento en tarjetas (texto del aviso 5.3) y fe de erratas ---------- */
.pasos { display: grid; gap: var(--e-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .pasos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.paso { background: var(--superficie); border: 1px solid var(--linea); border-top: 3px solid var(--tinta); border-radius: var(--radio); padding: var(--e-4); }
.pasos + p { margin-top: var(--e-4); }
.fila-cifras + p { margin-top: var(--e-4); }
.paso h3 { font: 650 1.1rem/1.3 var(--serif); margin: 0 0 var(--e-2); }
.paso p { margin: 0; font-size: .96rem; }
.tabla-erratas { width: 100%; border-collapse: collapse; font-size: var(--t-dato); margin: 0; }
.tabla-erratas th, .tabla-erratas td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--linea); vertical-align: top; }
.tabla-erratas th { font: 600 var(--t-mini)/1.3 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--tinta-2); border-bottom: 1.5px solid var(--tinta); }
.tabla-erratas__vacia { text-align: center; color: var(--tinta-2); padding: var(--e-4) .6rem; }
.tabla-desplazable { overflow-x: auto; border: 1px solid var(--linea); border-radius: var(--radio); }

/* ---------- Aviso legal en bloques propios ---------- */
.aviso-pagina { margin: 0; font-size: var(--t-cuerpo); line-height: 1.6; }
.aviso-pagina h2 { font: 650 var(--t-h3)/1.25 var(--serif); margin: 0 0 var(--e-3); }
.aviso-pagina p { max-width: var(--medida); }
.aviso-pagina p:last-child { margin-bottom: 0; }

/* ---------- Preguntas frecuentes: acordeón con details y summary ---------- */
.acordeon { margin: 0; padding: 0; border-top: 1px solid var(--linea-fuerte); }
.acordeon__item { border-bottom: 1px solid var(--linea); }
.acordeon__item > summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--e-3); min-height: 44px; padding: var(--e-3) 0; font: 650 1.1rem/1.35 var(--serif); color: var(--tinta); }
.acordeon__item > summary::-webkit-details-marker { display: none; }
.acordeon__item > summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border: 1.5px solid currentColor; border-radius: 50%; font: 500 1.2rem/1 var(--sans); }
.acordeon__item[open] > summary::after { content: "\2212"; }
.acordeon__item > summary:hover { color: var(--rojo-hondo); }
.acordeon__cuerpo { padding: 0 var(--e-5) var(--e-4) 0; max-width: var(--medida); }
.acordeon__cuerpo p:last-child { margin-bottom: 0; }
.acordeon__controles { display: flex; flex-wrap: wrap; gap: var(--e-2); margin: 0 0 var(--e-3); }
.acordeon__grupo { margin: var(--e-4) 0 0; }
.acordeon__grupo > h2 { font: 700 .78rem/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-2); margin: 0 0 var(--e-2); }

/* ---------- Glosario: barra de letras fija y términos agrupados ---------- */
.glosario-barra { position: sticky; top: var(--alto-cabecera); z-index: 20; background: var(--papel); border-bottom: 1px solid var(--linea); padding: var(--e-2) 0 var(--e-3); }
@media (min-width: 1100px) { .glosario-barra { top: 112px; } }
.glosario-controles { display: grid; gap: var(--e-2); }
.glosario-buscar { display: grid; gap: .3rem; max-width: 36rem; }
.glosario-buscar label { font: 650 .9rem var(--sans); }
.glosario-buscar input { width: 100%; font: 400 1rem var(--sans); color: var(--tinta); background: var(--superficie); border: 1.5px solid var(--linea-fuerte); border-radius: var(--radio); padding: .6rem .75rem; }
.glosario-buscar input:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }
.letras { display: flex; flex-wrap: wrap; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.letras button { min-width: 40px; min-height: 40px; font: 650 .95rem var(--sans); color: var(--tinta); background: var(--superficie); border: 1px solid var(--linea-fuerte); border-radius: var(--radio); cursor: pointer; }
.letras button:hover { border-color: var(--tinta); }
.letras button[aria-pressed="true"] { background: var(--tinta); color: var(--papel); border-color: var(--tinta); box-shadow: 0 0 0 2px var(--papel), 0 0 0 4px var(--tinta); text-decoration: underline; text-underline-offset: .2em; }
.glosario-buscar input::placeholder { color: var(--tinta-2); opacity: 1; }
.banda-baja__plazo .cifra__valor { font: 600 clamp(3.25rem, 2rem + 4vw, 5.5rem)/.95 var(--serif); letter-spacing: -.03em; }
.banda-baja__plazo .cifra__frase { font-size: 1.05rem; }
.glosario-resumen { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; justify-content: space-between; }
.glosario-conteo { margin: 0; font-size: var(--t-dato); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.glosario-letra { display: grid; gap: var(--e-2) var(--e-4); padding: var(--e-4) 0 0; margin-top: var(--e-4); border-top: 1px solid var(--linea); }
@media (min-width: 900px) { .glosario-letra { grid-template-columns: 5rem minmax(0, 1fr); } }
.glosario-letra__h { font: 700 2.4rem/1 var(--serif); margin: 0; color: var(--tinta); }
.glosario-lista { margin: 0; display: grid; gap: 0; }
.glosario-item { padding: var(--e-2) 0; border-bottom: 1px dotted var(--linea-fuerte); }
.glosario-item:last-child { border-bottom: 0; }
.glosario-item dt { font: 650 1.02rem/1.35 var(--sans); }
.glosario-item dd { margin: .2rem 0 0; max-width: var(--medida); }
.glosario-vacio { margin: var(--e-4) 0; }

/* ---------- Registro de versiones ---------- */
.version-datos { display: grid; gap: var(--e-3) var(--e-5); grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); margin: 0 0 var(--e-4); padding: var(--e-3) 0; border-top: 2px solid var(--tinta); border-bottom: 1px solid var(--linea); }
.version-datos dt { font: 600 var(--t-mini)/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-2); }
.version-datos dd { margin: .25rem 0 0; font: 650 1.05rem/1.3 var(--sans); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.version-datos .codigo { font: 500 .9rem/1.3 var(--mono); }
.linea-versiones { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 var(--e-4); padding: 0; align-items: center; }
.linea-versiones__rotulo { font: 600 var(--t-mini)/1.3 var(--sans); color: var(--tinta-2); width: 100%; margin: 0 0 .2rem; }
.linea-versiones__item { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.linea-versiones__v { font: 500 .78rem/1 var(--mono); color: var(--tinta-2); }
.linea-versiones a { display: block; width: 24px; height: 24px; padding: 3px; border-radius: 4px; color: var(--tinta); }
.linea-versiones a::before { content: ""; display: block; width: 100%; height: 100%; border: 1.5px solid currentColor; border-radius: var(--radio-casilla); box-sizing: border-box; }
.linea-versiones a[data-ultima="true"]::before { background: currentColor; }
.linea-versiones a:focus-visible { outline: 3px solid var(--tinta); outline-offset: 2px; }
.nota { padding: var(--e-4) 0; border-bottom: 1px solid var(--linea); scroll-margin-top: 130px; }
.nota:last-child { border-bottom: 0; }
.nota__cabeza { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; margin-bottom: var(--e-2); }
.nota__cabeza h2 { font: 700 var(--t-h2)/1.1 var(--serif); margin: 0; }
.nota__fecha { font: 500 var(--t-dato)/1.3 var(--sans); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.chip-ultima { font: 700 .75rem/1 var(--sans); letter-spacing: .09em; text-transform: uppercase; color: var(--papel); background: var(--tinta); padding: .35rem .55rem; border-radius: 2px; }
.nota__resumen { max-width: var(--medida); }
.nota__grupos { margin-top: var(--e-3); }
.nota__grupos h3 { font: 700 .78rem/1.3 var(--sans); letter-spacing: .08em; text-transform: uppercase; color: var(--tinta-2); margin: var(--e-3) 0 var(--e-2); }
.nota__grupos h3:first-child { margin-top: 0; }
.nota__grupos ul { margin: 0; padding-left: 1.2em; max-width: var(--medida); }
.nota__grupos li { margin-bottom: .3rem; }

/* ---------- 404: casilla vacía punteada de la marca ---------- */
.nf { padding: var(--e-5) 0 var(--e-7); }
.nf__grid { display: grid; gap: var(--e-4); align-items: center; }
@media (min-width: 900px) { .nf__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--e-6); } }
.nf__emblema { width: min(36vw, 120px); height: auto; display: block; }
@media (max-width: 1099px) { .indice-secciones ul { mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent); } }
.nf h1 { margin: 0 0 var(--e-3); font-size: var(--t-h2); }
.nf__enlaces { list-style: none; margin: var(--e-4) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--e-3); }
@media (max-width: 559px) { .nf__enlaces li { width: 100%; } .nf__enlaces .boton { width: 100%; justify-content: center; } }

/* Móvil: la rejilla de pasos nunca más ancha que su columna (correos y palabras largas se parten) */
.pasos { grid-template-columns: minmax(0, 1fr); }
.paso { min-width: 0; overflow-wrap: anywhere; }
