/* Metakratos — documentos legales. Editorial, sobrio, sin identidad partidista. */
:root{
  --tinta:#16181d;
  --tinta-suave:#5b6270;
  --tinta-tenue:#8b919c;
  --linea:#e6e8ec;
  --fondo:#ffffff;
  --fondo-suave:#f7f8fa;
  --acento:#16181d;
  --ancho-texto:48rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--tinta);
  background:var(--fondo);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Encabezado ---------- */
.cabecera{border-bottom:1px solid var(--linea);padding:2.5rem 0 2rem}
.cabecera .contenedor{max-width:76rem;margin:0 auto;padding:0 1.5rem}
.marca{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-tenue);margin:0 0 .75rem}
.cabecera h1{font-size:clamp(2rem,5vw,3rem);line-height:1.1;letter-spacing:-.02em;margin:0 0 .5rem;font-weight:700}
.actualizado{font-size:.875rem;color:var(--tinta-suave);margin:0}

/* ---------- Rejilla de tres columnas ---------- */
.rejilla{
  max-width:84rem;margin:0 auto;padding:3.5rem 1.5rem 6rem;
  display:grid;grid-template-columns:13rem minmax(0,1fr) 13rem;gap:3.5rem;align-items:start;
}
@media (max-width:1080px){
  .rejilla{grid-template-columns:minmax(0,1fr);gap:2rem}
  .lateral,.indice{position:static;display:none}
}

/* ---------- Navegación lateral ---------- */
.lateral{position:sticky;top:2rem;font-size:.875rem}
.lateral .grupo{margin-bottom:1.75rem}
.lateral .titulo-grupo{font-weight:600;font-size:.8125rem;margin:0 0 .625rem;color:var(--tinta)}
.lateral a{display:block;padding:.3125rem .625rem;margin-left:-.625rem;border-radius:.375rem;color:var(--tinta-suave);text-decoration:none}
.lateral a:hover{background:var(--fondo-suave);color:var(--tinta)}
.lateral a[aria-current="page"]{background:var(--fondo-suave);color:var(--tinta);font-weight:500}

/* ---------- Contenido ---------- */
.contenido{max-width:var(--ancho-texto);min-width:0}
.migas{font-size:.8125rem;color:var(--tinta-tenue);margin:0 0 2rem}
.migas span{margin:0 .5rem}
.contenido h2{font-size:1.5rem;letter-spacing:-.015em;margin:3rem 0 1rem;font-weight:700;scroll-margin-top:2rem}
.contenido h2:first-of-type{margin-top:0}
.contenido h3{font-size:1.125rem;margin:2rem 0 .75rem;font-weight:600;scroll-margin-top:2rem}
.contenido p{margin:0 0 1.125rem;color:var(--tinta-suave);line-height:1.7}
.contenido strong{color:var(--tinta);font-weight:600}
.contenido ul,.contenido ol{margin:0 0 1.25rem;padding-left:1.25rem;color:var(--tinta-suave)}
.contenido li{margin-bottom:.5rem}
.contenido li::marker{color:var(--tinta-tenue)}
.contenido a{color:var(--tinta);text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--tinta-tenue)}
.contenido a:hover{text-decoration-color:var(--tinta)}

.nota{
  border:1px solid var(--linea);border-radius:.5rem;background:var(--fondo-suave);
  padding:1.125rem 1.25rem;margin:0 0 1.5rem;
}
.nota p{margin:0;font-size:.9375rem}
.nota p + p{margin-top:.75rem}

.tabla-envoltura{overflow-x:auto;margin:0 0 1.5rem}
table{border-collapse:collapse;width:100%;font-size:.9375rem;min-width:30rem}
table.fija{table-layout:fixed}
table.fija td:first-child,table.fija td:nth-child(2){white-space:nowrap}
th,td{text-align:left;padding:.9375rem 1.125rem;hyphens:none;border-bottom:1px solid var(--linea);vertical-align:top}
th{font-weight:600;font-size:.8125rem;letter-spacing:.03em;text-transform:uppercase;color:var(--tinta-tenue)}
td{color:var(--tinta-suave)}

/* ---------- Índice derecho ---------- */
.indice{position:sticky;top:2rem;font-size:.8125rem;line-height:1.5}
.indice ol{list-style:none;margin:0;padding:0}
.indice li{margin-bottom:.5rem}
.indice li li{margin:.375rem 0 .375rem .875rem}
.indice a{color:var(--tinta-suave);text-decoration:none;display:block}
.indice a:hover{color:var(--tinta)}

/* ---------- Pie ---------- */
.pie{border-top:1px solid var(--linea);padding:2rem 0;font-size:.875rem;color:var(--tinta-tenue)}
.pie .contenedor{max-width:76rem;margin:0 auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between}
.pie a{color:var(--tinta-suave);text-decoration:none}
.pie a:hover{color:var(--tinta);text-decoration:underline}

/* ---------- Marca: header y footer compartidos ---------- */
.sitio{border-bottom:1px solid var(--linea);background:var(--fondo)}
.sitio .contenedor{max-width:76rem;margin:0 auto;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem}
.logo{display:inline-flex;align-items:center;line-height:0}
.logo img{display:block;height:1.75rem;width:auto}
.sitio nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.sitio nav a{font-size:.875rem;color:var(--tinta-suave);text-decoration:none;padding:.25rem 0;border-bottom:1px solid transparent}
.sitio nav a:hover{color:var(--tinta)}
.sitio nav a[aria-current="page"]{color:var(--tinta);font-weight:500;border-bottom-color:var(--tinta)}
.logo:focus-visible,.sitio nav a:focus-visible,.pie a:focus-visible{outline:2px solid var(--tinta);outline-offset:3px}
.pie .pie-enlaces{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
@media (max-width:480px){.logo img{height:1.5rem}.sitio .contenedor{padding:.875rem 1rem}.pie .contenedor{padding:0 1rem}}

@media print{.sitio,.lateral,.indice,.pie{display:none}.rejilla{display:block}}
