/* ventanillasocial.epsenlinea.com.co — Manrope vía Google Fonts CDN (ver base.html) */

:root{
  --teal:#0E6E6E; --teal-900:#0A4D4D; --teal-accion:#0E8080; --teal-hover:#0B5C5C;
  --teal-suave:#E6F4F3; --teal-borde:#BEE3E0;
  --ambar:#F2A93B; --ambar-suave:#FDF1DD;
  --coral:#E2574C; --coral-suave:#FBEAE8;
  --verde:#2E9E68; --verde-suave:#E9F7EF;
  --g-a:#E2574C; --g-b:#E87A3E; --g-c:#F2A93B; --g-d:#0E6E6E;
  --tinta:#132323; --texto:#3A4A4A; --gris:#5B6B6B; --gris-2:#7C8C8C;
  --linea:#DCE9E7; --linea-2:#EEF5F4;
  --fondo:#fff; --fondo-2:#F7F5F0; --fondo-3:#FBFAF6;
  --r:16px; --r-lg:22px; --r-sm:10px;
  --sombra:0 1px 2px rgba(10,40,40,.06),0 1px 3px rgba(10,40,40,.07);
  --sombra-md:0 6px 14px -4px rgba(10,40,40,.10),0 2px 6px -2px rgba(10,40,40,.06);
  --sombra-lg:0 16px 28px -8px rgba(10,40,40,.14),0 6px 12px -4px rgba(10,40,40,.08);
  --ancho:1140px; --ancho-texto:720px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.68;color:var(--texto);background:var(--fondo);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--teal-accion);text-decoration:none}
a:hover{color:var(--teal-hover);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--coral);outline-offset:2px;border-radius:4px}
hr{border:0;border-top:1px solid var(--linea);margin:2.5rem 0}
[hidden]{display:none!important}
code{font-family:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace;font-size:.885em;background:var(--fondo-2);
  border:1px solid var(--linea);border-radius:5px;padding:.09em .38em;color:var(--teal-900);word-break:break-word}
em{font-style:italic}

h1,h2,h3,h4{color:var(--tinta);line-height:1.2;letter-spacing:-.018em;font-weight:800;margin:0 0 .6em}
h1{font-size:clamp(1.85rem,1.25rem + 2.3vw,2.8rem);letter-spacing:-.024em}
h2{font-size:clamp(1.4rem,1.13rem + 1.05vw,1.82rem);margin-top:2.6em}
h3{font-size:clamp(1.13rem,1.03rem + .38vw,1.3rem);margin-top:1.9em;font-weight:750}
h4{font-size:1.03rem;margin-top:1.5em;font-weight:750}
h2:first-child,h3:first-child{margin-top:0}
p{margin:0 0 1.15em}
strong,b{font-weight:750;color:var(--tinta)}
small{font-size:.86rem;color:var(--gris-2)}

.contenedor{width:100%;max-width:var(--ancho);margin-inline:auto;padding-inline:20px}
.saltar{position:absolute;left:-9999px;top:0;background:var(--teal-900);color:#fff;padding:.8rem 1.2rem;z-index:200;border-radius:0 0 var(--r-sm) 0}
.saltar:focus{left:0}

/* ---------- Aviso de independencia ---------- */
.aviso-indep{background:var(--teal-900);color:#CDEAE7;font-size:.775rem;letter-spacing:.005em;padding:.45rem 0;text-align:center;line-height:1.45}
.aviso-indep strong{color:#fff;font-weight:700}
.aviso-indep a{color:#A9E6DE;text-decoration:underline;text-underline-offset:2px}
.aviso-indep .largo{display:inline}
@media(max-width:640px){
  .aviso-indep{font-size:.735rem;padding:.4rem 0}
  .aviso-indep .largo{display:none}
}

/* ---------- Header ---------- */
.cabecera{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.6)blur(12px);border-bottom:1px solid var(--linea)}
.cabecera-fila{display:flex;align-items:center;gap:1.1rem;height:64px}
.marca{display:flex;align-items:center;flex-shrink:0}
.marca img{height:34px;width:auto}
.marca:hover{text-decoration:none;opacity:.85}
@media(max-width:520px){.marca img{height:28px}}
.pie-marca img{height:32px;width:auto;filter:brightness(0) invert(1)}
.nav{margin-left:auto;display:flex;align-items:center;gap:.15rem}
.nav a{color:var(--texto);font-size:.895rem;font-weight:650;padding:.5rem .7rem;border-radius:99px;white-space:nowrap}
.nav a:hover{background:var(--teal-suave);color:var(--teal-accion);text-decoration:none}
.nav a[aria-current=page]{color:var(--teal-accion);background:var(--teal-suave)}
.btn-menu{display:none;margin-left:auto;background:none;border:1px solid var(--linea);border-radius:99px;width:40px;height:40px;cursor:pointer;align-items:center;justify-content:center;color:var(--tinta)}
@media(max-width:940px){
  .btn-menu{display:flex}
  .nav{position:fixed;inset:104px 0 auto;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 20px 1.1rem;border-bottom:1px solid var(--linea);box-shadow:var(--sombra-lg);display:none;max-height:calc(100vh - 104px);overflow-y:auto}
  .nav.abierto{display:flex}
  .nav a{padding:.8rem .6rem;border-bottom:1px solid var(--linea-2);font-size:1rem;border-radius:0}
}

/* ---------- Migas ---------- */
.migas{font-size:.815rem;color:var(--gris-2);padding:.9rem 0 0}
.migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.migas li:not(:last-child)::after{content:"›";margin-left:.35rem;color:#AEC2C0}
.migas a{color:var(--gris-2)}
.migas a:hover{color:var(--teal-accion)}
.migas [aria-current]{color:var(--tinta);font-weight:600}

/* ---------- Layout ---------- */
.disposicion{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.8rem;align-items:start;padding:1.6rem 0 4rem}
.lateral{position:sticky;top:84px;display:flex;flex-direction:column;gap:1.3rem}
@media(max-width:1000px){.disposicion{grid-template-columns:1fr;gap:2rem}.lateral{position:static}}
.articulo{min-width:0}
.articulo>section{scroll-margin-top:88px}

/* ---------- Badge navegacional 【2026】 ---------- */
.badge-nav{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.7rem}
.badge-anio{font-weight:800;color:var(--coral);font-size:.95rem;letter-spacing:.01em}
.badge-sub{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-accion);
  background:var(--teal-suave);padding:.22rem .6rem;border-radius:99px}

/* ---------- Caja de accesos directos ---------- */
.caja-accesos{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.5rem}
.acceso-item{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.83rem;font-weight:700;
  color:var(--teal-900);background:#fff;border:1.5px solid var(--teal-borde);border-radius:99px;transition:background .15s,box-shadow .15s,transform .12s}
.acceso-item svg{flex-shrink:0;color:var(--teal-accion)}
.acceso-item:hover{background:var(--teal-suave);box-shadow:var(--sombra);transform:translateY(-1px);text-decoration:none}
.acceso-portal{background:var(--teal-900);border-color:var(--teal-900);color:#fff}
.acceso-portal svg{color:#8FE0D6}
.acceso-portal:hover{background:var(--teal-hover);color:#fff}

/* ---------- Meta de página ---------- */
.meta-pagina{display:flex;flex-wrap:wrap;gap:.4rem .95rem;font-size:.815rem;color:var(--gris-2);margin:-.2em 0 1.4em;align-items:center}
@media(max-width:640px){
  body{font-size:16.5px}
  h1{line-height:1.18}
  .disposicion{padding-top:1rem}
  .meta-pagina{font-size:.775rem;margin-bottom:1.1rem;gap:.3rem .7rem}
  .respuesta-corta{padding:.95rem 1.1rem;margin-bottom:1.4rem}
  .respuesta-corta p{font-size:1rem}
  .widget{padding:1.25rem}
  .migas{padding-top:.7rem;font-size:.775rem}
}
.meta-pagina time{font-variant-numeric:tabular-nums}
.pildora{display:inline-flex;align-items:center;gap:.35rem;background:var(--teal-suave);color:var(--teal-900);font-size:.735rem;font-weight:700;padding:.24rem .62rem;border-radius:99px;letter-spacing:.015em;text-transform:uppercase}

/* ---------- Respuesta corta (chunk para LLM) ---------- */
.respuesta-corta{background:linear-gradient(180deg,var(--teal-suave),#F8FBFA);border:1px solid var(--teal-borde);
  border-left:4px solid var(--coral);border-radius:var(--r);padding:1.15rem 1.35rem;margin:0 0 2rem}
.respuesta-corta p{margin:0;font-size:1.055rem;color:var(--teal-900);line-height:1.6}
.respuesta-corta p+p{margin-top:.7em}
.respuesta-corta .et{display:block;font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--coral);margin-bottom:.45rem}

/* ---------- Widget de consulta ---------- */
.widget{background:linear-gradient(150deg,var(--teal-900) 0%,#0D6363 55%,#0E8080 175%);border-radius:var(--r-lg);
  padding:1.6rem;color:#fff;box-shadow:var(--sombra-lg);position:relative;overflow:hidden}
.widget::after{content:"";position:absolute;width:280px;height:280px;right:-90px;top:-120px;
  background:radial-gradient(circle,rgba(242,169,59,.28),transparent 68%);pointer-events:none}
.widget-cab{display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem;position:relative}
.widget-cab svg{flex-shrink:0;opacity:.95}
.widget h2,.widget .widget-t{font-size:1.16rem;color:#fff;margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.3}
.widget-sub{font-size:.845rem;color:#B9E4DC;margin:.15rem 0 0}
.campo{margin-bottom:.85rem;position:relative}
.campo label{display:block;font-size:.795rem;font-weight:700;color:#D6EFE9;margin-bottom:.35rem;letter-spacing:.005em}
.campo select,.campo input{width:100%;padding:.82rem .95rem;font-family:inherit;font-size:1rem;color:var(--tinta);
  background:#fff;border:1.5px solid transparent;border-radius:var(--r-sm);appearance:none;transition:border-color .15s,box-shadow .15s}
.campo select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B6B6B' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.6rem;cursor:pointer}
.campo input::placeholder{color:#93A6A6}
.campo select:focus,.campo input:focus{outline:none;border-color:var(--ambar);box-shadow:0 0 0 4px rgba(242,169,59,.3)}
.campo input:invalid:not(:placeholder-shown){border-color:var(--coral)}
.btn-consultar{width:100%;padding:.92rem 1rem;font-family:inherit;font-size:1.045rem;font-weight:800;letter-spacing:-.01em;
  color:var(--teal-900);background:#fff;border:0;border-radius:99px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .12s,box-shadow .15s;margin-top:.25rem}
.btn-consultar:hover{box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translateY(-1px)}
.btn-consultar:active{transform:translateY(0)}
.widget-nota{font-size:.735rem;color:#A9CFC7;margin:.85rem 0 0;line-height:1.5;position:relative;display:flex;gap:.4rem;align-items:flex-start}
.widget-nota svg{flex-shrink:0;margin-top:.15rem;opacity:.8}
.widget-error{background:#FBE4E1;color:#8A2E24;font-size:.83rem;padding:.55rem .8rem;border-radius:var(--r-sm);margin-bottom:.8rem;display:none}
.widget-error.visible{display:block}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.72rem 1.35rem;
  font-family:inherit;font-size:.965rem;font-weight:750;letter-spacing:-.008em;border-radius:99px;
  border:1.5px solid transparent;cursor:pointer;transition:background .15s,box-shadow .15s,transform .12s;text-align:center}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-1{background:var(--teal-accion);color:#fff;box-shadow:var(--sombra)}
.btn-1:hover{background:var(--teal-hover);color:#fff;box-shadow:var(--sombra-md)}
.btn-2{background:#fff;color:var(--teal-900);border-color:var(--linea);box-shadow:var(--sombra)}
.btn-2:hover{border-color:var(--teal-borde);background:var(--teal-suave);color:var(--teal-900)}
.btn-bloque{width:100%}

/* ---------- Tarjetas de grupo ---------- */
.grupos-rejilla{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1.8rem 0}
@media(max-width:1180px){.grupos-rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}}
@media(max-width:420px){.grupos-rejilla{grid-template-columns:1fr}}
.g-tarjeta{border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;background:#fff;
  box-shadow:var(--sombra);transition:box-shadow .18s,transform .18s;display:flex;flex-direction:column}
.g-tarjeta:hover{box-shadow:var(--sombra-lg);transform:translateY(-2px);text-decoration:none}
.g-barra{height:5px}
.g-cuerpo{padding:1.05rem 1.15rem 1.15rem;flex:1;display:flex;flex-direction:column}
.g-letra{font-size:1.75rem;font-weight:900;line-height:1;letter-spacing:-.03em;margin-bottom:.15rem}
.g-nombre{font-weight:800;color:var(--tinta);font-size:1.02rem;margin-bottom:.4rem;letter-spacing:-.01em}
.g-rango{font-size:.85rem;color:var(--gris);line-height:1.5;margin-bottom:.7rem;flex:1}
.g-sub{font-size:.735rem;font-weight:750;color:var(--gris-2);background:var(--fondo-2);
  border-radius:99px;padding:.24rem .6rem;align-self:flex-start;font-variant-numeric:tabular-nums}

/* ---------- Tablas ---------- */
.tabla-envoltorio{overflow-x:auto;margin:1.7rem 0;border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra)}
table{width:100%;border-collapse:collapse;font-size:.92rem;background:#fff}
caption{text-align:left;font-size:.83rem;color:var(--gris-2);padding:.85rem 1.1rem;border-bottom:1px solid var(--linea);background:var(--fondo-3);font-weight:600}
th{background:var(--fondo-2);color:var(--tinta);font-weight:750;text-align:left;padding:.72rem 1.05rem;
  border-bottom:1px solid var(--linea);font-size:.855rem;white-space:nowrap}
td{padding:.72rem 1.05rem;border-bottom:1px solid var(--linea-2);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--fondo-3)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.marca-g{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.15rem .45rem;
  border-radius:5px;font-weight:800;font-size:.79rem;color:#fff;font-variant-numeric:tabular-nums}

/* ---------- Pasos ---------- */
.pasos{list-style:none;counter-reset:p;margin:1.7rem 0;padding:0}
.pasos li{counter-increment:p;position:relative;padding:0 0 1.35rem 3.1rem;margin:0}
.pasos li::before{content:counter(p);position:absolute;left:0;top:-.1rem;width:2.05rem;height:2.05rem;
  background:var(--teal-accion);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.9rem;box-shadow:0 0 0 4px var(--teal-suave)}
.pasos li:not(:last-child)::after{content:"";position:absolute;left:1.02rem;top:2.35rem;bottom:.2rem;width:2px;background:var(--linea)}
.pasos li:last-child{padding-bottom:0}
.pasos>li>strong:first-child{display:block;color:var(--tinta);font-weight:750;margin-bottom:.15rem;font-size:1.02rem;letter-spacing:-.01em}
.pasos p{margin:0;font-size:.955rem}

/* ---------- Avisos ---------- */
.aviso{border-radius:var(--r);padding:1rem 1.2rem;margin:1.6rem 0;font-size:.94rem;
  border:1px solid;display:flex;gap:.75rem;align-items:flex-start;line-height:1.6}
.aviso svg{flex-shrink:0;margin-top:.16rem}
.aviso p:last-child{margin-bottom:0}
.aviso strong{display:block;margin-bottom:.1rem}
.aviso-info{background:var(--teal-suave);border-color:var(--teal-borde);color:#0A4D4D}
.aviso-info svg{color:var(--teal-accion)}
.aviso-ok{background:var(--verde-suave);border-color:#BFE7CE;color:#0E5C36}
.aviso-ok svg{color:var(--verde)}
.aviso-alerta{background:var(--ambar-suave);border-color:#F3D49B;color:#8A5A0A}
.aviso-alerta svg{color:var(--ambar)}
.aviso-riesgo{background:var(--coral-suave);border-color:#F1BEB8;color:#8F2E24}
.aviso-riesgo svg{color:var(--coral)}

/* ---------- Herramientas ---------- */
.herramienta{border:1px solid var(--teal-borde);border-radius:var(--r-lg);background:linear-gradient(180deg,var(--teal-suave),#fff 62%);
  padding:1.5rem;margin:2.2rem 0;box-shadow:var(--sombra-md)}
.herramienta-cab{display:flex;align-items:center;gap:.65rem;margin-bottom:.35rem}
.herramienta-cab svg{color:var(--teal-accion);flex-shrink:0}
.herramienta h3{margin:0;font-size:1.13rem;letter-spacing:-.015em}
.herramienta-desc{font-size:.895rem;color:var(--gris);margin:0 0 1.15rem}
.h-campos{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.9rem}
@media(max-width:560px){.h-campos{grid-template-columns:1fr}}
.h-campo label{display:block;font-size:.79rem;font-weight:700;color:var(--gris);margin-bottom:.32rem}
.h-campo input,.h-campo select{width:100%;padding:.68rem .85rem;font-family:inherit;font-size:.985rem;
  border:1.5px solid var(--linea);border-radius:var(--r-sm);background:#fff;color:var(--tinta);appearance:none}
.h-campo select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235B6B6B' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.4rem}
.h-campo input:focus,.h-campo select:focus{outline:none;border-color:var(--teal-accion);box-shadow:0 0 0 3px rgba(14,128,128,.16)}
.h-resultado{margin-top:1.1rem;padding:1.15rem 1.25rem;background:#fff;border:1px solid var(--linea);
  border-radius:var(--r);box-shadow:var(--sombra);display:none}
.h-resultado.visible{display:block;animation:aparecer .28s ease}
@keyframes aparecer{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.h-res-grupo{display:flex;align-items:center;gap:.9rem;margin-bottom:.75rem}
.h-res-letra{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:900;color:#fff;flex-shrink:0;letter-spacing:-.03em}
.h-res-txt strong{display:block;font-size:1.06rem;color:var(--tinta);line-height:1.3}
.h-res-txt span{font-size:.86rem;color:var(--gris)}
.h-resultado p{font-size:.925rem;margin:0}
.h-resultado p+p{margin-top:.6em}

/* ---------- Bloque de anuncio ---------- */
.anuncio{margin:2.1rem 0;text-align:center;min-height:280px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;background:var(--fondo-3);border-radius:var(--r);
  border:1px solid var(--linea-2);overflow:hidden}
.anuncio::before{content:"Publicidad";font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;
  color:#9BADAD;margin-bottom:.4rem;font-weight:650}
.anuncio ins{display:block;width:100%}
.anuncio-lateral{min-height:600px;margin:0}
/* Anuncio bajo el H1: separado del título y de la respuesta corta, nunca pegado a un botón. */
.anuncio-bajo-h1{margin:1.1rem 0 1.7rem;min-height:120px}
@media(max-width:640px){.anuncio-bajo-h1{min-height:100px;margin:.9rem 0 1.3rem}}
/* Bloque dentro de la herramienta: solo se muestra cuando ya hay resultado,
   y separado del botón por la tarjeta del resultado para no inducir clics accidentales. */
.anuncio-herramienta{display:none;margin:1.15rem 0 0;background:transparent;border:0;min-height:0}
.h-resultado.visible ~ .anuncio-herramienta{display:flex}
/* ---------- CTA de sección (después del 1er párrafo de cada H2) ---------- */
.cta-seccion{display:inline-flex;align-items:center;gap:.4rem;margin:.3rem 0 1.3rem;padding:.55rem 1.1rem;
  font-size:.885rem;font-weight:750;letter-spacing:-.004em;color:#fff;background:var(--coral);
  border:1px solid var(--coral);border-radius:99px;transition:background .15s,box-shadow .15s,transform .12s}
.cta-seccion:hover{background:#CB4238;box-shadow:var(--sombra);transform:translateY(-1px);text-decoration:none;color:#fff}

/* ---------- Siguiente paso ---------- */
.siguiente{margin:3rem 0 0;padding-top:2.2rem;border-top:2px solid var(--linea)}
.siguiente>h2{font-size:1.28rem;margin:0 0 1.15rem}
.sig-rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.9rem}
.sig-t{display:flex;flex-direction:column;gap:.4rem;padding:1.15rem 1.2rem;border:1px solid var(--linea);
  border-radius:var(--r);background:#fff;box-shadow:var(--sombra);transition:box-shadow .18s,transform .18s,border-color .18s}
.sig-t:hover{box-shadow:var(--sombra-lg);transform:translateY(-2px);border-color:var(--teal-borde);text-decoration:none}
.sig-t .et{font-size:.685rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--teal-accion)}
.sig-t strong{color:var(--tinta);font-size:1.005rem;font-weight:750;line-height:1.35;letter-spacing:-.01em}
.sig-t span{font-size:.86rem;color:var(--gris);line-height:1.5}
.sig-t .flecha{margin-top:.25rem;color:var(--teal-accion);font-weight:750;font-size:.86rem;display:flex;align-items:center;gap:.3rem}

/* ---------- Relacionados ---------- */
.relacionados{margin:2.6rem 0 0;padding:1.4rem 1.5rem;background:var(--fondo-2);border-radius:var(--r-lg)}
.relacionados h2{font-size:1.03rem;margin:0 0 .85rem;letter-spacing:-.01em}
.rel-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.15rem .9rem}
.rel-lista a{display:flex;gap:.5rem;align-items:baseline;padding:.42rem 0;font-size:.92rem;font-weight:600;border-bottom:1px solid var(--linea)}
.rel-lista a::before{content:"→";color:var(--coral);font-weight:700;flex-shrink:0}

/* ---------- FAQ ---------- */
.faq{margin:2.4rem 0 0}
.faq details{border:1px solid var(--linea);border-radius:var(--r);margin-bottom:.6rem;background:#fff;overflow:hidden;transition:box-shadow .18s}
.faq details[open]{box-shadow:var(--sombra-md);border-color:var(--teal-borde)}
.faq summary{padding:.95rem 2.7rem .95rem 1.15rem;font-weight:700;color:var(--tinta);cursor:pointer;
  list-style:none;position:relative;font-size:1rem;line-height:1.45;letter-spacing:-.008em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:1.15rem;top:1.25rem;width:10px;height:10px;
  border-right:2.2px solid var(--teal-accion);border-bottom:2.2px solid var(--teal-accion);
  transform:rotate(45deg);transition:transform .22s}
.faq details[open] summary::after{transform:rotate(-135deg);top:1.4rem}
.faq summary:hover{background:var(--fondo-3)}
.faq-cuerpo{padding:0 1.15rem 1.1rem;font-size:.955rem;color:var(--texto)}
.faq-cuerpo p:last-child{margin-bottom:0}

/* ---------- Listas de contenido ---------- */
.articulo ul:not([class]),.articulo ol:not([class]){margin:1.15rem 0;padding-left:1.35rem}
.articulo ul:not([class]) li,.articulo ol:not([class]) li{margin-bottom:.5rem;padding-left:.25rem}
.articulo ul:not([class]) li::marker{color:var(--teal-accion)}
.articulo ol:not([class]) li::marker{color:var(--teal-accion);font-weight:700}
blockquote{margin:1.7rem 0;padding:.4rem 0 .4rem 1.3rem;border-left:3px solid var(--teal-borde);
  color:var(--gris);font-size:1.02rem;font-style:italic}
blockquote p:last-child{margin-bottom:0}
figure{margin:1.9rem 0}
figure img{border-radius:var(--r);border:1px solid var(--linea)}
figcaption{font-size:.815rem;color:var(--gris-2);margin-top:.6rem;text-align:center;line-height:1.5}
.nota-imagen{font-size:.79rem;color:var(--gris-2);display:flex;gap:.4rem;align-items:flex-start;margin:-1.3rem 0 1.8rem}
.nota-imagen svg{flex-shrink:0;margin-top:.15rem;color:var(--teal-accion)}

/* ---------- Lateral ---------- */
.lat-caja{border:1px solid var(--linea);border-radius:var(--r);background:#fff;padding:1.15rem 1.25rem;box-shadow:var(--sombra)}
.lat-caja h2,.lat-caja .lat-t{font-size:.945rem;margin:0 0 .75rem;color:var(--tinta);font-weight:800;letter-spacing:-.008em}
.lat-lista{list-style:none;margin:0;padding:0}
.lat-lista li{border-bottom:1px solid var(--linea-2)}
.lat-lista li:last-child{border-bottom:0}
.lat-lista a{display:block;padding:.5rem 0;font-size:.895rem;font-weight:600;color:var(--texto)}
.lat-lista a:hover{color:var(--teal-accion);text-decoration:none}
.indice{font-size:.875rem}
.indice ol{list-style:none;counter-reset:i;margin:0;padding:0}
.indice li{counter-increment:i;border-bottom:1px solid var(--linea-2)}
.indice li:last-child{border-bottom:0}
.indice a{display:flex;gap:.55rem;padding:.5rem 0;color:var(--texto);font-weight:600;line-height:1.42}
.indice a::before{content:counter(i);color:var(--coral);font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0}
.indice a:hover{color:var(--teal-accion);text-decoration:none}

/* ---------- Contador de transición ---------- */
.contador{background:linear-gradient(135deg,var(--ambar-suave),#FFFCF6);border:1px solid #F3D49B;
  border-radius:var(--r);padding:1.05rem 1.2rem}
.contador .et{font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#9A6B0A;display:block;margin-bottom:.4rem}
.contador-num{font-size:2.15rem;font-weight:900;color:#8A5A0A;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.contador-num span{font-size:.92rem;font-weight:700;letter-spacing:0}
.contador p{font-size:.845rem;color:#8A5A0A;margin:.45rem 0 0;line-height:1.5}

/* ---------- Fuentes ---------- */
.fuentes{margin:2.6rem 0 0;padding:1.2rem 1.35rem;background:var(--fondo-2);border-radius:var(--r);font-size:.855rem}
.fuentes h2{font-size:.94rem;margin:0 0 .7rem;letter-spacing:-.008em}
.fuentes ol{margin:0;padding-left:1.2rem;color:var(--gris)}
.fuentes li{margin-bottom:.42rem;line-height:1.55}
.fuentes .verif{margin:.85rem 0 0;font-size:.79rem;color:var(--gris-2);display:flex;gap:.4rem;align-items:center}
.fuentes .verif svg{color:var(--verde);flex-shrink:0}

/* ---------- Tarjetas de noticia ---------- */
.noticias-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem;margin:2rem 0}
.n-tarjeta{border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;background:#fff;
  box-shadow:var(--sombra);transition:box-shadow .18s,transform .18s;display:flex;flex-direction:column}
.n-tarjeta:hover{box-shadow:var(--sombra-lg);transform:translateY(-3px);text-decoration:none}
.n-tarjeta img{aspect-ratio:16/9;object-fit:cover;width:100%;background:var(--fondo-2)}
.n-cuerpo{padding:1rem 1.15rem 1.15rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.n-cuerpo .et{font-size:.685rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--coral)}
.n-cuerpo strong{color:var(--tinta);font-size:1.03rem;line-height:1.36;font-weight:780;letter-spacing:-.014em}
.n-cuerpo span{font-size:.865rem;color:var(--gris);line-height:1.5;flex:1}
.n-cuerpo time{font-size:.775rem;color:var(--gris-2)}
.n-portada{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg);margin:0 0 .6rem;border:1px solid var(--linea)}

/* ---------- Ciudades ---------- */
.ciudades-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:.7rem;margin:1.8rem 0}
.c-tarjeta{display:flex;flex-direction:column;gap:.12rem;padding:.85rem 1rem;border:1px solid var(--linea);
  border-radius:var(--r-sm);background:#fff;transition:border-color .16s,box-shadow .16s,transform .16s}
.c-tarjeta:hover{border-color:var(--teal-borde);box-shadow:var(--sombra-md);transform:translateY(-1px);text-decoration:none}
.c-tarjeta strong{color:var(--tinta);font-size:.965rem;font-weight:750;letter-spacing:-.01em}
.c-tarjeta span{font-size:.79rem;color:var(--gris-2)}

/* ---------- Enlace al portal oficial ---------- */
.portal-caja{border:1px solid var(--teal-borde);background:linear-gradient(180deg,var(--teal-suave),#fff);
  border-radius:var(--r);padding:1.25rem 1.35rem;margin:1.9rem 0;display:flex;gap:1.05rem;align-items:center;flex-wrap:wrap}
.portal-caja .txt{flex:1;min-width:210px}
.portal-caja strong{display:block;color:var(--teal-900);font-size:1.045rem;margin-bottom:.15rem;letter-spacing:-.014em}
.portal-caja p{margin:0;font-size:.875rem;color:var(--gris)}
.portal-caja .btn{flex-shrink:0}

/* ---------- Marco del portal (intento de embed) ---------- */
.marco-portal{margin:1.9rem 0;border:1px solid var(--linea);border-radius:var(--r);overflow:hidden;background:var(--fondo-2)}
.marco-portal iframe{width:100%;height:620px;border:0;display:block}
.marco-alternativa{padding:1.4rem}

/* ---------- Pie ---------- */
.pie{background:var(--teal-900);color:#B9DAD5;padding:3rem 0 1.6rem;margin-top:3.5rem;font-size:.895rem}
.pie-rejilla{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:2.2rem;margin-bottom:2.2rem}
@media(max-width:840px){.pie-rejilla{grid-template-columns:1fr 1fr;gap:1.8rem}}
@media(max-width:520px){.pie-rejilla{grid-template-columns:1fr}}
.pie h2,.pie .pie-t{font-size:.775rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .9rem;font-weight:800}
.pie ul{list-style:none;margin:0;padding:0}
.pie li{margin-bottom:.48rem}
.pie a{color:#B9DAD5}
.pie a:hover{color:#fff}
.pie-marca{display:flex;align-items:center;margin-bottom:.9rem}
.pie-desc{font-size:.86rem;line-height:1.62;color:#8FC2BA;max-width:38ch}
.pie-base{border-top:1px solid rgba(255,255,255,.14);padding-top:1.4rem;font-size:.795rem;color:#84B8AF;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;line-height:1.6}
.pie-base a{color:#B9DAD5}

/* ---------- Buscador ---------- */
.buscador{position:relative;flex-shrink:0}
.buscador input{width:190px;padding:.48rem .8rem .48rem 2.15rem;font-family:inherit;font-size:.875rem;
  border:1px solid var(--linea);border-radius:99px;background:var(--fondo-2);color:var(--tinta);transition:width .2s,border-color .15s}
.buscador input:focus{outline:none;width:240px;border-color:var(--teal-accion);background:#fff;box-shadow:0 0 0 3px rgba(14,128,128,.13)}
.buscador svg{position:absolute;left:.72rem;top:50%;transform:translateY(-50%);color:var(--gris-2);pointer-events:none}
.buscador-res{position:absolute;top:calc(100% + .5rem);right:0;width:360px;max-height:380px;overflow-y:auto;
  background:#fff;border:1px solid var(--linea);border-radius:var(--r);box-shadow:var(--sombra-lg);padding:.4rem;display:none;z-index:110}
.buscador-res.visible{display:block}
.buscador-res a{display:block;padding:.55rem .7rem;border-radius:var(--r-sm);font-size:.895rem;color:var(--texto);font-weight:600}
.buscador-res a:hover{background:var(--teal-suave);color:var(--teal-accion);text-decoration:none}
.buscador-res .vacio{padding:.8rem .7rem;font-size:.875rem;color:var(--gris-2)}
@media(max-width:940px){.buscador{display:none}}

@media print{.cabecera,.pie,.anuncio,.lateral,.aviso-indep{display:none!important}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ---------- Blindaje de los bloques de anuncio ----------
   Tras el incidente del banner a pantalla completa en móvil (agosto 2026):
   un contenedor de anuncio NUNCA debe salir del flujo del documento. Si vuelve
   a colarse un `position:fixed` (propio o heredado de otra hoja), esta regla lo
   neutraliza. El editor no controla el alto del creativo que sirve Google, así
   que el bloque debe quedarse siempre dentro del documento, empujando el
   contenido, jamás tapándolo. */
.anuncio{position:static!important;inset:auto!important;max-width:100%;box-sizing:border-box}
.anuncio ins{max-width:100%}
