/* sitio.css (v5 estatico, Bien-Estar): complementos del mockup v4.3. 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:10px;background:#fdecea;color:#b42318;border-radius:var(--r-ctl);padding:14px 16px;font-weight:700}
.form-error.show{display:flex;animation:fadeUp 300ms var(--ease-out)}
button[aria-busy="true"]{opacity:.7;cursor:progress}
.field textarea{width:100%;min-height:120px;resize:vertical;font:inherit;font-size:16px;color:var(--ink);background:var(--bg-2);border:1.5px solid transparent;border-radius:var(--r-ctl);padding:14px 16px;transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease}
.field textarea:focus{outline:none;background:#fff;border-color:var(--sky);box-shadow:0 0 0 4px rgba(46,159,212,.14)}
.field.invalid textarea{border-color:#b42318;background:#fff}

/* 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:1px solid var(--line);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:fadeUp 300ms 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:600;font-size:.88rem;border:0;border-radius:999px;padding:11px 20px;cursor:pointer;transition:transform 160ms var(--ease-out),background-color 220ms ease}
.aviso-botones button:active{transform:scale(0.97)}
.aviso-si{background:var(--green);color:#fff}
.aviso-no{background:var(--bg-2);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
@media (hover:hover) and (pointer:fine){.aviso-si:hover{background:var(--ink)}.aviso-no:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}}
.base button.enlace{background:none;border:0;padding:0;font:inherit;color:var(--blue);font-weight:600;cursor:pointer}
@media (hover:hover) and (pointer:fine){.base button.enlace:hover{color:var(--green)}}

/* Paginas internas */
.hero-pagina{padding-bottom:clamp(56px,7vw,96px)}
.hero-pagina .wrap{position:relative}
.hero-pagina h1{font-size:clamp(2.2rem,4.8vw,4.2rem);letter-spacing:-0.045em;line-height:1.04;font-weight:800;max-width:18ch}
.hero-pagina h1 span{color:var(--green)}
.hero-pagina .lead{color:var(--muted);font-size:clamp(1rem,1.3vw,1.12rem);max-width:58ch;margin-top:22px}
.hero-pagina .lead+.lead{margin-top:12px}
.hero-pagina .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.req-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.req-grid .why-card{min-height:0}
.req-grid .why-card .ic{margin-bottom:0}
.req-grid .why-card h3{margin-top:24px}
.req-grid ul{list-style:none;display:grid;gap:8px;margin-top:6px}
.req-grid li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.95rem}
.req-grid li i{color:var(--green);margin-top:5px;flex-shrink:0}
.cta h3.sub{font-size:1.15rem;margin-top:36px;letter-spacing:-0.02em}
.doc .wrap,.hero-doc .wrap{max-width:900px}
.doc h2{font-size:clamp(1.3rem,2.2vw,1.65rem);letter-spacing:-0.025em;margin:48px 0 14px}
.doc h3{font-size:1.12rem;margin:28px 0 10px}
.doc p,.doc li{color:var(--ink-2);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){
  .req-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .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 */
.cta .cobertura{margin-top:18px;color:var(--muted);font-size:.95rem}
.cod-404{font-size:clamp(4.5rem,13vw,8rem);font-weight:700;line-height:1;letter-spacing:-0.04em;color:var(--green);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}
