:root{
  --tinta:#1D3B6E;        /* azul de sello / texto de títulos */
  --texto:#1E2733;
  --suave:#5A6675;
  --papel:#F3F6F8;        /* fondo frío, papel de formulario */
  --hoja:#FFFFFF;
  --renglon:#D6DEE6;
  --sello:#5B3A9C;        /* violeta del sello fechador: solo número de formulario */
  --descarga:#0E7A55;     /* verde: solo acciones de descarga */
  --descarga-osc:#0A5E41;
  --alerta:#FFF4D6; --alerta-borde:#E0B33A;
  --radio:6px;
  --fuente:"Encode Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --fuente-num:"Encode Sans Semi Condensed", "Encode Sans", system-ui, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papel);color:var(--texto);font:400 1.0625rem/1.65 var(--fuente)}
a{color:var(--tinta);text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid #F2A900;outline-offset:2px}
img{max-width:100%;height:auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.5rem 1rem;z-index:10}
.saltar:focus{left:0}

/* Cabecera */
.cabecera{background:var(--tinta);color:#fff}
.cabecera__in{max-width:1180px;margin:0 auto;padding:.75rem 1.25rem;display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none}
.marca__caja{font:700 1.15rem/1 var(--fuente-num);border:2px solid #fff;padding:.3rem .45rem;border-radius:3px;letter-spacing:.02em}
.marca__txt{font-weight:700;font-size:1.15rem}
.marca__txt span{font-weight:400;opacity:.8}
.busca--chica{display:flex;flex:0 1 340px}
.busca--chica input{flex:1;min-width:0;border:0;border-radius:var(--radio) 0 0 var(--radio);padding:.55rem .75rem;font:inherit;font-size:.95rem}
.busca--chica button{border:0;background:#E8EEF5;color:var(--tinta);font:600 .9rem var(--fuente);padding:0 .9rem;border-radius:0 var(--radio) var(--radio) 0;cursor:pointer}
.nav{background:#16305A;overflow-x:auto}
.nav__in{max-width:1180px;margin:0 auto;padding:0 1.25rem;display:flex;gap:1.25rem;white-space:nowrap}
.nav a{color:#D9E3F0;text-decoration:none;font-size:.92rem;padding:.6rem 0;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current]{color:#fff;border-bottom-color:#fff}

/* Portada */
.portada{background:var(--hoja);border-bottom:1px solid var(--renglon);
  background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#EDF1F5 31px,#EDF1F5 32px)}
.portada__in{max-width:860px;margin:0 auto;padding:3rem 1.25rem 2.5rem}
.portada h1{font-size:clamp(1.8rem,4.2vw,2.75rem);line-height:1.15;color:var(--tinta);margin:0 0 .75rem;letter-spacing:-.01em}
.portada__bajada{font-size:1.1rem;color:var(--suave);margin:0 0 1.75rem;max-width:62ch}
.busca--grande label{display:block;font-weight:600;margin-bottom:.4rem}
.busca__fila{display:flex;gap:.5rem}
.busca--grande input{flex:1;min-width:0;font:inherit;font-size:1.15rem;padding:.85rem 1rem;border:2px solid var(--tinta);border-radius:var(--radio);background:#fff}
.busca--grande button{font:600 1.05rem var(--fuente);padding:0 1.4rem;border:0;border-radius:var(--radio);background:var(--tinta);color:#fff;cursor:pointer}
.organismos{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.organismos a{display:inline-flex;gap:.45rem;align-items:center;padding:.4rem .75rem;border:1px solid var(--renglon);border-radius:999px;background:#fff;text-decoration:none;font-size:.92rem}
.organismos span{color:var(--suave);font-size:.82rem}

/* Bloques y grillas */
.bloque{max-width:1180px;margin:0 auto;padding:2rem 1.25rem}
.bloque__tit{font-size:1.2rem;color:var(--tinta);margin:0 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--renglon)}
.bloque__h1{font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--tinta);line-height:1.2;margin:.25rem 0 .5rem}
.bloque__bajada{color:var(--suave);max-width:70ch}
.bloque__mas{margin-top:1.5rem}
.cuenta{font-weight:400;color:var(--suave);font-size:.9rem}
.grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.grilla--chica{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.tarjeta{background:var(--hoja);border:1px solid var(--renglon);border-radius:var(--radio);overflow:hidden}
.tarjeta__link{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.tarjeta__img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#E8EEF3}
.tarjeta__sello{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#EEF2F6;
  font:700 1.6rem var(--fuente-num);color:var(--sello)}
.tarjeta__sello::before{content:"";position:absolute}
.tarjeta__cuerpo{padding:.8rem .9rem 1rem;display:flex;flex-direction:column;gap:.25rem}
.tarjeta__org{font-size:.8rem;color:var(--suave)}
.tarjeta__tit{font-weight:600;line-height:1.3;color:var(--tinta)}
.tarjeta__link:hover .tarjeta__tit{text-decoration:underline}
.tarjeta__estado{font-size:.8rem;color:#8A5A00}
.tarjeta--derogada{opacity:.85}
.paginas{display:flex;gap:1.25rem;justify-content:center;align-items:center;margin-top:2rem}
.migas{font-size:.9rem;color:var(--suave);margin-bottom:.5rem}
.migas a{color:var(--suave)}

/* Nota */
.nota{max-width:1180px;margin:0 auto;padding:1.5rem 1.25rem 0}
.nota__cab h1{font-size:clamp(1.65rem,3.6vw,2.4rem);line-height:1.18;color:var(--tinta);margin:.25rem 0 .4rem;max-width:30ch;letter-spacing:-.01em}
.nota__meta{color:var(--suave);font-size:.92rem;margin:0 0 1.5rem;display:flex;gap:1rem;flex-wrap:wrap}
.nota__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:2.5rem;align-items:start}
.nota__texto{background:var(--hoja);border:1px solid var(--renglon);border-radius:var(--radio);padding:1.75rem 2rem 2rem;max-width:78ch}
.nota__resumen{font-size:1.15rem;line-height:1.55;margin-top:0;color:var(--texto);border-left:4px solid var(--tinta);padding-left:1rem}
.nota__img{margin:1.25rem 0}
.nota__img img{border-radius:var(--radio);display:block;max-height:320px;width:auto;margin:0 auto;border:1px solid var(--renglon)}
.contenido h2{font-size:1.35rem;color:var(--tinta);margin:2rem 0 .6rem;line-height:1.3}
.contenido h3{font-size:1.1rem;margin:1.5rem 0 .4rem}
.contenido ol,.contenido ul{padding-left:1.3rem}
.contenido li{margin:.3rem 0}
.contenido table{border-collapse:collapse;width:100%;font-size:.95rem;margin:1rem 0;display:block;overflow-x:auto}
.contenido th,.contenido td{border:1px solid var(--renglon);padding:.5rem .6rem;text-align:left;vertical-align:top}
.contenido th{background:#F1F4F8}
.aviso{background:var(--alerta);border:1px solid var(--alerta-borde);border-radius:var(--radio);padding:.9rem 1rem;margin-bottom:1.25rem}
.aviso p{margin:.25rem 0}
.aviso--borrador{max-width:78ch}
.faqs{margin-top:2.25rem}
.faqs h2{font-size:1.35rem;color:var(--tinta)}
.faqs details{border-top:1px solid var(--renglon);padding:.75rem 0}
.faqs details:last-child{border-bottom:1px solid var(--renglon)}
.faqs summary{font-weight:600;cursor:pointer;color:var(--tinta)}
.faqs details div{padding-top:.5rem}
.fuente{font-size:.9rem;color:var(--suave);margin-top:2rem}

/* Ficha lateral: la hoja del formulario */
.ficha{position:static}
.ficha__papel{background:#fff;border:1px solid var(--renglon);border-radius:var(--radio);padding:1.1rem 1.1rem 1rem;
  box-shadow:0 1px 0 var(--renglon),0 8px 24px -16px rgba(29,59,110,.35)}
.ficha__top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding-bottom:.8rem;border-bottom:1px dashed var(--renglon)}
.ficha__org{font-size:.85rem;color:var(--suave);padding-top:.35rem;flex:1;min-width:0}
.ficha__sello{font:700 1.35rem/1 var(--fuente-num);color:var(--sello);border:2.5px solid var(--sello);border-radius:4px;
  padding:.45rem .6rem;transform:rotate(-2.5deg);white-space:nowrap;flex-shrink:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;background:rgba(91,58,156,.04)}
.ficha__datos{margin:.6rem 0 0}
.ficha__datos div{padding:.5rem 0;border-bottom:1px solid #EEF2F5}
.ficha__datos dt{font-size:.78rem;color:var(--suave)}
.ficha__datos dd{margin:0;font-size:.95rem;line-height:1.4}
.ficha__descargas{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
.boton-descarga{display:flex;flex-direction:column;background:var(--descarga);color:#fff;text-decoration:none;font-weight:700;
  padding:.8rem 1rem;border-radius:var(--radio);line-height:1.3}
.boton-descarga small{font-weight:400;opacity:.9;font-size:.8rem}
.boton-descarga:hover{background:var(--descarga-osc);text-decoration:none}
.boton-descarga--sec{background:#fff;color:var(--descarga-osc);border:2px solid var(--descarga);font-weight:600}
.boton-descarga--sec:hover{background:#EAF6F1}
.boton-descarga--movil{display:none;margin:1rem 0}
.ficha__sinpdf{font-size:.9rem;color:var(--suave);margin:1rem 0 0}
.ficha__oficial{display:block;margin-top:.9rem;font-size:.92rem}
.ficha__fecha{font-size:.78rem;color:var(--suave);margin:.9rem 0 0;padding-top:.7rem;border-top:1px dashed var(--renglon)}
.bloque--rel{padding-left:0;padding-right:0}

/* Catálogo */
.filtro{display:block;font-weight:600;margin:1.25rem 0}
.filtro input{display:block;width:100%;max-width:420px;margin-top:.35rem;font:inherit;padding:.6rem .8rem;border:2px solid var(--tinta);border-radius:var(--radio)}
.tabla-scroll{overflow-x:auto;margin-bottom:2rem}
.tabla{width:100%;border-collapse:collapse;background:#fff;font-size:.95rem}
.tabla th,.tabla td{padding:.55rem .7rem;border-bottom:1px solid var(--renglon);text-align:left;vertical-align:top}
.tabla thead th{background:#EEF2F6;font-size:.85rem;color:var(--suave)}
.tabla tbody th{font-family:var(--fuente-num);color:var(--sello);white-space:nowrap}
.mini-descarga{color:var(--descarga-osc);font-weight:600}
.lista-pdf{padding-left:1.2rem}
.vacio{background:#fff;border:1px solid var(--renglon);padding:1rem;border-radius:var(--radio)}

/* Pie */
.pie{margin-top:3rem;background:#E7ECF1;border-top:1px solid var(--renglon)}
.pie__in{max-width:1180px;margin:0 auto;padding:1.75rem 1.25rem;font-size:.9rem;color:var(--suave)}
.pie__links{display:flex;gap:1.25rem}

@media (max-width: 900px){
  .nota__grid{grid-template-columns:1fr}
  .ficha{position:static}
  .nota__texto{padding:1.25rem}
  .boton-descarga--movil{display:flex}
}
@media (max-width: 560px){
  body{font-size:1rem}
  .busca__fila{flex-direction:column}
  .busca--grande button{padding:.8rem}
  .busca--chica{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){*{transition:none!important}}

/* Publicidad: separada de los botones de descarga */
.anuncio{margin:2rem 0;padding-top:.4rem;border-top:1px solid var(--renglon);min-height:100px;clear:both}
.anuncio__lbl{display:block;font-size:.72rem;color:var(--suave);margin-bottom:.3rem}
.ficha .anuncio{margin-top:1.5rem}
.pagina .nota__texto{max-width:78ch}
