/* sitio.css (v5 estatico, ROHEN): complementos del mockup v4.0. Usa sus mismas variables y componentes. */

/* Envio de formularios */
.trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-error{display:none;align-items:center;gap:12px;background:#fdecea;color:#b42318;border-radius:var(--r-ctl);padding:16px 18px;font-weight:700;margin-top:18px}
.form-error.show{display:flex;animation:fadeIn 240ms var(--ease-out)}
button[aria-busy="true"]{opacity:.7;cursor:progress}
.field textarea{font-family:inherit}

/* Aviso de cookies */
.aviso-cookies{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:120;max-width:520px;margin-right:16px;background:#fff;color:var(--ink);border-radius:var(--r-card);box-shadow:var(--shadow-lift);padding:20px 22px;display:grid;gap:14px;font-size:.88rem;line-height:1.55;animation:fadeIn 240ms var(--ease-out)}
.aviso-cookies[hidden]{display:none}
.aviso-cookies a{color:var(--blue);font-weight:700}
.aviso-botones{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.aviso-botones button{font:inherit;font-weight:700;font-size:.88rem;border:0;border-radius:var(--r-ctl);padding:10px 18px;cursor:pointer;transition:transform 160ms var(--ease-out),background-color 200ms ease}
.aviso-botones button:active{transform:scale(0.97)}
.aviso-si{background:var(--blue);color:#fff}
.aviso-no{background:var(--tint);color:var(--navy)}
@media (hover:hover) and (pointer:fine){.aviso-si:hover{background:#2868a3}.aviso-no:hover{background:#dce9f6}}
.base button.enlace{background:none;border:0;padding:0;font:inherit;color:#b9d4ee;cursor:pointer}
@media (hover:hover) and (pointer:fine){.base button.enlace:hover{color:#fff}}

/* Paginas internas */
.hero-pagina{min-height:auto}
.hero-pagina .wrap{padding-top:calc(var(--header-h) + 88px);padding-bottom:150px}
.hero-pagina h1{max-width:24ch}
.hero-pagina p{margin-bottom:0}
.hero-pagina .ctas{margin-top:34px}
.pagina-form{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:start}
.pagina-form .intro-col{position:sticky;top:calc(var(--header-h) + 48px)}
.doc{background:var(--surface)}
.doc .wrap,.hero-doc .wrap{max-width:860px}
.doc h2{font-size:clamp(1.25rem,2.2vw,1.55rem);color:var(--ink);margin:44px 0 14px}
.doc h3{font-size:1.1rem;color:var(--ink);margin:28px 0 10px}
.doc p,.doc li{color:var(--muted);font-size:1rem;line-height:1.75}
.doc p{margin:0 0 14px}
.doc ul{margin:0 0 16px 1.2em;display:grid;gap:6px}
.doc strong{color:var(--ink)}
@media (max-width:920px){
  .pagina-form{grid-template-columns:1fr}
  .pagina-form .intro-col{position:static}
}
@media (max-width:640px){
  .hero-pagina .wrap{padding-bottom:110px}
  .aviso-cookies{left:12px;right:12px;margin-right:0;max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .aviso-cookies,.form-error.show{animation:none}
}

/* v5.1 (08-oct-2026): linea de cobertura, 404 grande y enlaces del aviso de postulacion */
.locs .cobertura{color:var(--muted);font-size:.95rem;padding:2px 4px 0}
.cod-404{font-size:clamp(4.5rem,13vw,8rem);font-weight:800;line-height:1;letter-spacing:-0.04em;color:var(--blue-light);margin-bottom:14px}
.form-ok a{color:inherit;font-weight:700;white-space:nowrap}
/* v5.1b: mensaje largo de postulacion (icono arriba, texto legible) */
.form-ok:has(> span){align-items:flex-start}
.form-ok:has(> span) > i{margin-top:3px}
.form-ok > span{font-weight:600;line-height:1.55}

/* v5.2 (candidata): articulos, indice de recursos y paginas de servicio */
.migas{font-size:.85rem;color:#9fc6ec;margin-bottom:18px}
.migas a{color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.migas a:hover{color:#fff;text-decoration:underline}}
.hero-pagina .lead{color:#d3dce6;font-size:clamp(1.02rem,1.4vw,1.15rem);max-width:60ch;margin-top:18px}
.doc ol{margin:0 0 16px 1.4em;display:grid;gap:6px}
.doc li>ul,.doc li>ol{margin-top:6px;margin-bottom:0}
.doc a{color:var(--blue);font-weight:600;text-underline-offset:2px}
.doc blockquote{border-left:4px solid var(--blue);background:var(--tint);padding:14px 18px;margin:0 0 18px;border-radius:0 var(--r-ctl) var(--r-ctl) 0}
.doc blockquote p:last-child{margin-bottom:0}
.doc .tabla{overflow-x:auto;margin:0 0 20px;-webkit-overflow-scrolling:touch}
.doc table{border-collapse:collapse;width:100%;min-width:520px;font-size:.94rem}
.doc th,.doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;color:var(--muted);line-height:1.55}
.doc th{background:var(--tint);color:var(--ink)}
.doc .revisado{font-size:.88rem;margin-top:28px}
.doc .fuentes{margin-top:40px;padding-top:4px;border-top:1px solid var(--line)}
.doc .fuentes h2{font-size:1.15rem;margin-top:28px}
.doc .fuentes li,.doc .fuentes p{font-size:.88rem;line-height:1.6;overflow-wrap:anywhere}
.doc .relacionados{margin-top:40px;background:var(--tint);border-radius:var(--r-card);padding:24px 28px}
.doc .relacionados h2{font-size:1.15rem;margin:0 0 12px}
.doc .relacionados p{margin:16px 0 0}
.doc .relacionados .btn{color:#fff;text-decoration:none}
.recursos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.tarjeta{position:relative}
.tarjeta h2{font-size:1.12rem;margin:0;line-height:1.3}
.tarjeta h2 a,.post h3 a,.svc h3 a{color:inherit;text-decoration:none}
.tarjeta h2 a::after,.post h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.post{position:relative}
.tarjeta p{margin:0}
@media (hover:hover) and (pointer:fine){.tarjeta:hover,.post:has(h3 a):hover{box-shadow:var(--shadow-lift)}.svc h3 a:hover{color:var(--blue)}}
.post:has(h3 a:focus-visible){outline:3px solid var(--blue-light);outline-offset:3px}
.mas-recursos{margin-top:28px}.hero-articulo h1{font-size:clamp(1.8rem,3.6vw,2.8rem);max-width:28ch}
.doc p>strong:only-child{display:block;margin-top:6px}
.doc.indice .wrap{max-width:var(--wrap)}
.doc .destacado{background:var(--tint);border:2px solid var(--blue);border-radius:var(--r-card);padding:22px 24px;margin:26px 0}
.doc .destacado p{color:var(--ink);margin:0 0 12px}
.doc .destacado p:last-child{margin-bottom:0}
.doc .destacado a{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:var(--r-ctl);margin-top:4px}
@media (hover:hover) and (pointer:fine){.doc .destacado a:hover{background:#2868a3}}
.doc .relacionados a:not(.btn),.doc blockquote a{color:var(--navy)}
