/* ============================================================
   ACTORES S.C.G — Estilos de BIENESTAR SOCIAL (bienestar.html)
   Plan General Asistencial · se carga junto a site.css
   ============================================================ */

/* ====== OBJETIVO ====== */
.wobj{background:var(--ink); color:#fff; overflow:hidden}
.wobj .spiral{right:-120px; top:-120px; width:420px; height:420px; opacity:.11}
.wobj .spiral path{stroke:var(--accent)}
.wobj .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.25fr .75fr; gap:50px; align-items:center}
.wobj .lab{color:rgba(255,255,255,.7)}
.wobj h2{font-family:var(--font-display); font-weight:500; font-size:clamp(28px,3.6vw,44px); line-height:1.1; margin:0 0 16px; color:#fff}
.wobj h2 em{font-style:italic; color:var(--accent)}
.wobj p{font-size:18px; line-height:1.6; color:#cfccc4; margin:0; max-width:46ch}
.wstats{display:flex; flex-direction:column; gap:22px; border-left:1px solid var(--line-light); padding-left:40px}
.wstat b{font-family:var(--font-display); font-weight:700; font-size:clamp(36px,4vw,52px); color:var(--accent); display:block; line-height:1}
.wstat span{display:block; margin-top:6px; font-size:14px; color:#9b9a94; font-weight:500}
@media(max-width:820px){.wobj .wrap{grid-template-columns:1fr; gap:36px} .wstats{flex-direction:row; flex-wrap:wrap; border-left:0; padding-left:0; gap:30px}}

/* ====== LÍNEAS DE ACCIÓN ====== */
.lineas{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:18px; margin-top:52px}
.linea{border:1px solid var(--line); border-radius:18px; padding:30px 26px; background:var(--white); transition:transform .5s var(--ease), box-shadow .5s, border-color .3s}
.linea:hover{transform:translateY(-6px); border-color:transparent; box-shadow:0 34px 60px -34px rgba(90,90,90,.45)}
.linea .lico{width:48px; height:48px; border-radius:13px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:20px}
.linea .lico svg{width:24px; height:24px; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.linea h3{font-family:var(--font-display); font-weight:500; font-size:20px; margin:0 0 8px; line-height:1.1}
.linea p{font-size:14.5px; color:#3a3a37; margin:0}

/* ====== EXPLORADOR DE PROGRAMAS ====== */
.explorer{background:var(--paper)}
.prog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.prog{position:relative; cursor:pointer; border:1px solid var(--line); border-radius:18px; padding:26px 26px 24px; background:#fff; display:flex; flex-direction:column; transition:transform .45s var(--ease), box-shadow .45s, border-color .3s}
.prog:hover{transform:translateY(-5px); border-color:transparent; box-shadow:0 30px 56px -34px rgba(0,0,0,.3)}
.prog::after{content:"→"; position:absolute; top:22px; right:22px; width:28px; height:28px; border-radius:50%; background:var(--orange-50); color:var(--accent); display:flex; align-items:center; justify-content:center; font-size:15px; opacity:0; transform:translateX(-4px); transition:opacity .3s, transform .3s var(--ease)}
.prog:hover::after{opacity:1; transform:none}
.prog:focus-visible{outline:2px solid var(--accent); outline-offset:3px}
.prog .pico{width:44px; height:44px; border-radius:12px; background:var(--orange-100); color:var(--orange-700); display:flex; align-items:center; justify-content:center; margin-bottom:18px}
.prog .pico svg{width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round}
.prog h4{font-family:var(--font-display); font-weight:500; font-size:19px; line-height:1.15; margin:0 0 8px}
.prog p{font-size:14.5px; color:#4a4a45; margin:0 0 16px; line-height:1.5}
.prog .ptag{margin-top:auto; align-self:flex-start; font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--orange-700); background:var(--orange-100); padding:4px 10px; border-radius:20px}
@media(max-width:900px){.prog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.prog-grid{grid-template-columns:1fr}}

/* ====== ACCESO / CATEGORIZACIÓN ====== */
.access{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:52px}
.acard{background:#fff; border:1px solid var(--line); border-radius:20px; padding:38px clamp(28px,3vw,40px)}
.acard h3{font-family:var(--font-display); font-weight:500; font-size:23px; margin:0 0 8px}
.acard > p{font-size:15px; color:#555; margin:0 0 24px; max-width:44ch}
.who-row{display:flex; gap:14px; align-items:flex-start; padding:16px 0; border-top:1px solid var(--line)}
.who-row:first-of-type{border-top:none}
.who-row .wr-ic{width:34px; height:34px; flex:0 0 auto; border-radius:50%; background:var(--orange-100); color:var(--orange-700); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:13px}
.who-row b{font-family:var(--font-display); font-weight:600; font-size:16px; display:block; line-height:1.2; margin-bottom:2px}
.who-row span{font-size:14px; color:#555}
.formula{background:var(--orange-50); border:1px solid var(--orange-100); border-radius:14px; padding:18px 20px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:24px; font-size:14px; font-weight:600; color:var(--ink)}
.formula .chipf{background:#fff; border:1px solid var(--line); border-radius:20px; padding:6px 13px; font-size:13px}
.formula .op{color:var(--accent); font-family:var(--font-display); font-weight:700}
.groups{display:flex; gap:10px; flex-wrap:wrap}
.grp{flex:1; min-width:90px; text-align:center; border-radius:14px; padding:16px 10px; color:#fff}
.grp b{font-family:var(--font-display); font-weight:600; font-size:16px; display:block}
.grp span{font-size:11px; letter-spacing:.08em; text-transform:uppercase; opacity:.85}
.grp.g1{background:var(--accent)} .grp.g2{background:#9A9A9A} .grp.g3{background:#C6C6C6}
@media(max-width:820px){.access{grid-template-columns:1fr}}

/* ====== CTA PGA ====== */
.pga-cta{background:var(--accent); color:var(--ink); text-align:center; overflow:hidden}
.pga-cta .spiral{left:-120px; bottom:-140px; width:360px; height:360px; opacity:.16}
.pga-cta .spiral path{stroke:#fff}
.pga-cta .wrap{position:relative; z-index:2}
.pga-cta h2{font-family:var(--font-display); font-weight:500; font-size:clamp(30px,4vw,50px); margin:0 0 14px; color:var(--ink)}
.pga-cta h2 em{font-style:italic; color:#fff}
.pga-cta p{color:rgba(18,17,15,.82); max-width:48ch; margin:0 auto 30px; font-size:18px; font-weight:500}
.pga-cta .cta-row{display:flex; gap:14px; justify-content:center; flex-wrap:wrap}
