/* Maqueta común de los documentos públicos. Los colores y las letras vienen del tema del sitio
   (temas/<tema>/tema.css): aquí solo hay variables. Una sola columna de lectura, ancha y grande;
   el índice es un desplegable que no ocupa espacio mientras no se abre. */
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--halo),var(--fondo);background-attachment:fixed;color:var(--tinta);font:400 19px/1.7 var(--texto)}
a{color:var(--enlace);text-underline-offset:3px}
:focus-visible{outline:3px solid var(--marca);outline-offset:3px}
.cabecera{border-bottom:1px solid var(--linea)}
.cabecera .dentro{max-width:72rem;margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
@media (min-width:640px){.cabecera .dentro{padding:0 32px}}
.marca{display:flex;align-items:center;text-decoration:none;color:var(--tinta)}
.marca img{height:34px;width:auto}
.marca-texto{font:700 24px/1 var(--texto);letter-spacing:-.02em;align-items:baseline;gap:7px}
.marca-texto small{font-size:13px;font-weight:500;color:var(--suave)}
.doc{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);text-align:right}
.hoja{max-width:52rem;margin:0 auto;padding:0 16px 96px}
@media (min-width:640px){.hoja{padding:0 32px 120px}}
.apertura{padding:64px 0 32px}
.kicker{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--suave);margin:0 0 16px}
h1,h2,h3{font-family:var(--display);color:var(--tinta);text-wrap:balance;margin:0}
h1{font-weight:650;font-size:clamp(34px,5.4vw,56px);line-height:1.1;letter-spacing:-.015em;margin-bottom:18px;overflow-wrap:break-word;hyphens:auto}
.meta{font-size:15px;color:var(--suave)}
.meta .sello{display:inline-block;margin-right:10px;padding:2px 10px;border-radius:999px;background:var(--marca-suave);color:var(--marca-fuerte);font-weight:600}
nav.indice{position:sticky;top:0;z-index:5;margin:8px 0 24px;background:var(--fondo);border-block:1px solid var(--linea)}
nav.indice summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px;font-size:15px;font-weight:600;color:var(--marca-fuerte)}
nav.indice summary::-webkit-details-marker{display:none}
nav.indice summary::after{content:"▾";transition:transform .2s}
nav.indice details[open] summary::after{transform:rotate(180deg)}
nav.indice ol{list-style:none;margin:0;padding:0 0 16px;max-height:60vh;overflow:auto;columns:1}
@media (min-width:760px){nav.indice > details > ol{columns:2;column-gap:40px}}
nav.indice li{break-inside:avoid}
nav.indice ol ol{display:none}
nav.indice a{display:flex;gap:10px;padding:5px 0;color:var(--suave);text-decoration:none;font-size:15px;line-height:1.4}
nav.indice a:hover{color:var(--tinta)}
.n{font-variant-numeric:tabular-nums;color:var(--marca);font-weight:600;flex:none}
section{scroll-margin-top:72px}
h2{font-weight:650;font-size:clamp(25px,2.8vw,31px);line-height:1.2;margin:56px 0 18px;display:flex;gap:14px;align-items:baseline}
h3{font-weight:650;font-size:clamp(20px,2vw,23px);line-height:1.25;margin:36px 0 12px;display:flex;gap:12px;align-items:baseline}
h2 .n,h3 .n{font-family:var(--texto);font-size:.68em}
p{margin:0 0 18px;text-align:justify;hyphens:auto}
ul,ol{margin:0 0 20px;padding-left:24px}
li{margin:0 0 10px;text-align:justify;hyphens:auto}
li::marker{color:var(--marca)}
blockquote{margin:0 0 20px;padding-left:18px;border-left:3px solid var(--marca);color:var(--suave)}
.tabla{overflow-x:auto;margin:8px 0 24px;border:1px solid var(--linea);border-radius:12px}
table{border-collapse:collapse;width:100%;font-size:17px;line-height:1.5;background:var(--superficie)}
td,th{border-bottom:1px solid var(--linea);padding:14px 16px;vertical-align:top;text-align:left}
tr:last-child td{border-bottom:0}
td:first-child{width:38%;color:var(--suave)}
mark.falta{background:var(--marca-suave);color:var(--marca-fuerte);padding:0 .4em;border-radius:4px}
.pie{border-top:1px solid var(--linea);color:var(--suave);font-size:15px}
.pie .dentro{max-width:52rem;margin:0 auto;padding:28px 16px 48px;display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between}
@media (min-width:640px){.pie .dentro{padding:28px 32px 56px}}
