/* Capa de integración CESSI sobre el sitio oficial (no modifica upstream). */

/* Barra: indica que hay solapas fuera de la vista en pantallas angostas. */
.top .nav.app-hay-mas{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 44px),transparent)}
.top .nav.app-hay-antes{-webkit-mask-image:linear-gradient(to right,transparent,#000 28px);mask-image:linear-gradient(to right,transparent,#000 28px)}
.top .nav.app-hay-antes.app-hay-mas{-webkit-mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 44px),transparent);mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 44px),transparent)}

/* Franja de estado compacta en celular. */
@media (max-width:760px){
  .estado{padding:6px 0;font-size:12.5px;line-height:1.35}
  .estado span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

/* Mapa interactivo: el panel no queda tapado por la barra fija. */
#panel{scroll-margin-top:84px}
.app-ir{margin:18px 0 8px}

/* Siguiente paso al pie de las páginas de lectura. */
.app-siguiente{margin-top:40px;padding:36px 0;background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.app-siguiente h2{font-size:24px;font-weight:800;color:var(--navy);margin:0 0 6px}
.app-siguiente p{color:var(--ink2);max-width:62ch;margin:0}
.app-siguiente + footer{margin-top:0}

.crumbs a:hover,.crumbs a:focus-visible{color:var(--ink);text-decoration:underline}

/* Imágenes de contenido (el mapa en una página mide 2400 px) nunca más anchas que la página. */
main img{max-width:100%;height:auto}

/* Barra: en celular «Guía para directivos» pasa a «Guía». */
@media (max-width:760px){.top .app-largo{display:none}}

/* Pie compacto, igual que en la app: firma y aviso legal arriba, disclaimer en dos columnas. */
footer.app-pie{margin-top:48px;padding:22px 0 30px;background:var(--soft);border-top:1px solid var(--line);color:var(--ink2);font-size:13px;line-height:1.55}
.app-pie__cab{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.app-pie__firma{font-weight:700;color:var(--ink)}
.app-pie__links{display:flex;gap:18px}
.app-pie__links a{color:var(--ink);font-weight:700;text-decoration:none}
.app-pie__links a:hover,.app-pie__links a:focus-visible{text-decoration:underline;text-decoration-color:#F4F177;text-decoration-thickness:2px;text-underline-offset:3px}
.app-pie__texto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 36px}
.app-pie__texto p{margin:0;font-size:12.5px}
@media (max-width:760px){.app-pie__texto{grid-template-columns:1fr}}

/* Botones y tarjetas con respuesta clara al pasar el mouse. */
.btn:hover{background:#F4F177;color:#222222;box-shadow:inset 0 0 0 2px #222222}
.btn:focus-visible{outline:3px solid #222222;outline-offset:2px}
.card,.dl-list a,.step90{transition:border-color .15s,box-shadow .15s}
.card:hover,.dl-list a:hover{box-shadow:0 8px 24px rgba(34,34,34,.10)}
.step90{border-top:4px solid #F4F177}

/* Portada: el modelo de un vistazo junto al título. */
.app-hero-mapa{display:grid;gap:8px;margin-top:28px}
.app-hm-dims{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.app-hm-dim{background:#3C3C3C;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px}
.app-hm-head{display:block;color:#fff;text-decoration:none}
.app-hm-head span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#F4F177}
.app-hm-head b{display:block;font-size:13.5px;line-height:1.2;margin-top:3px;min-height:2.4em}
.app-hm-head:hover b,.app-hm-head:focus-visible b{text-decoration:underline}
.app-hm-caps{display:grid;gap:6px}
.app-hm-cap{display:flex;align-items:center;justify-content:center;min-height:34px;border-radius:8px;background:rgba(255,255,255,.12);color:#fff;font-family:"Courier New",monospace;font-weight:700;font-size:14px;text-decoration:none;transition:background .15s,color .15s}
.app-hm-cap:hover,.app-hm-cap:focus-visible{background:#F4F177;color:#222222}
.app-hm-eje{background:#222222;border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.app-hm-eje .app-hm-head b{min-height:0}
.app-hm-eje .app-hm-caps{grid-template-columns:repeat(4,52px)}
.app-hm-tablero{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:#F4F177;color:#222222;border-radius:12px;padding:12px 14px;text-decoration:none}
.app-hm-tablero span{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.app-hm-tablero b{font-size:14px}
.app-hm-tablero:hover b{text-decoration:underline}
.app-hm-tablero:focus-visible{outline:3px solid #222222;outline-offset:2px}
@media (min-width:1000px){
  .hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);column-gap:48px;align-items:start}
  .hero .wrap>*{grid-column:1}
  .hero .wrap>.app-hero-mapa{grid-column:2;grid-row:1 / span 4;margin-top:4px}
  .hero .wrap>.tallies{grid-column:1 / -1}
  .hero h1{font-size:clamp(34px,3.6vw,48px)}
}
@media (max-width:600px){
  .app-hm-dims{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-hm-eje{grid-template-columns:1fr}
  .app-hm-eje .app-hm-caps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .app-hm-cap{min-height:40px}
  .app-hm-tablero{flex-direction:column;gap:2px}
}

/* Fichas: elegir el nivel sin editar la dirección. */
.app-niveles{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;font-size:13px;color:var(--ink2)}
.app-niveles span{margin-right:4px}
.app-niveles a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-family:"Courier New",monospace;font-weight:700;text-decoration:none}
.app-niveles a:hover{border-color:#222222}
.app-niveles a[aria-current="true"]{background:#222222;border-color:#222222;color:#F4F177}

/* Descargas: primera página de cada documento. */
.dl-list a.app-con-mini{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:16px;align-content:start}
.dl-list a.app-con-mini>*{grid-column:2}
.dl-list a.app-con-mini>.app-mini{grid-column:1;grid-row:1 / span 3;width:96px;height:128px;object-fit:contain;object-position:top center;background:var(--soft);border:1px solid var(--line);border-radius:6px}

/* Guía: índice fijo al costado en pantallas anchas. */
@media (min-width:1100px){
  .wrap:has(>.toc+.prose){display:grid;grid-template-columns:230px minmax(0,1fr);column-gap:44px;align-items:start}
  .wrap:has(>.toc+.prose)>*{grid-column:1 / -1}
  .wrap:has(>.toc+.prose)>.toc{grid-column:1;position:sticky;top:84px;max-height:calc(100vh - 104px);overflow:auto;margin-top:18px}
  .wrap:has(>.toc+.prose)>.prose{grid-column:2}
  .wrap:has(>.toc+.prose)>.toc a{display:block;margin:0;padding:5px 0 5px 10px;border-left:2px solid transparent;font-size:14px;line-height:1.3}
  .wrap:has(>.toc+.prose)>.toc a.app-activo{border-left-color:#222222;background:#FFFDE6;color:var(--ink)}
}
.prose h1[id]{scroll-margin-top:84px}

@media print{.app-niveles,.app-hero-mapa,.app-siguiente{display:none!important}}
