/* OncoAliado RD · Flyers de PsicoDominicana (todas las clases empiezan por op- para no chocar con la app) */
.op-promo{--op-teal:#0f4c5c;--op-teal2:#1b7083;--op-rosa:#c2477a;--op-rosa-s:#fbe9f0;--op-vio:#5b3fd6;--op-vio-s:#efebff;--op-oro:#e89a12;--op-oro-s:#fff4df;--op-tinta:#1d2430;--op-gris:#5c6573;
  margin:40px auto 24px;max-width:1120px;padding:0 16px;font-family:inherit;color:var(--op-tinta);box-sizing:border-box}
.op-promo *,.op-franja *{box-sizing:border-box}
.op-cab{text-align:center;max-width:720px;margin:0 auto 22px}
.op-kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--op-rosa);background:var(--op-rosa-s);padding:5px 12px;border-radius:99px}
.op-cab h2{margin:12px 0 6px;font-size:clamp(1.55rem,3.4vw,2.3rem);line-height:1.15;color:var(--op-teal)}
.op-frase{margin:0;font-size:1.08rem;color:var(--op-gris);font-style:italic;min-height:1.6em;transition:opacity .45s ease}
.op-frase.op-fuera{opacity:0}
.op-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px;align-items:stretch}
.op-flyer{position:relative;display:flex;flex-direction:column;border-radius:20px;padding:24px 22px 20px;overflow:hidden;isolation:isolate;box-shadow:0 18px 40px -26px rgba(15,40,60,.55),0 1px 3px rgba(15,40,60,.08)}
.op-flyer::before{content:'';position:absolute;z-index:-1;width:240px;height:240px;border-radius:50%;right:-80px;top:-90px;opacity:.16;background:#fff}
.op-flyer::after{content:'';position:absolute;z-index:-1;width:140px;height:140px;border-radius:50%;left:-50px;bottom:-60px;opacity:.10;background:#fff}
.op-terapia{background:linear-gradient(150deg,var(--op-teal) 0%,var(--op-teal2) 60%,#2b8c8f 100%);color:#fff}
.op-club{background:linear-gradient(150deg,#4a2fc4 0%,var(--op-vio) 55%,#7c5cf0 100%);color:#fff}
.op-revista{background:var(--op-oro-s);color:var(--op-tinta);border:1.5px solid #f3d9a8}
.op-revista::before,.op-revista::after{background:var(--op-oro)}
.op-top{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.op-ico{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.18)}
.op-ico svg{width:24px;height:24px}
.op-revista .op-ico{background:#fff;color:var(--op-oro)}
.op-terapia .op-ico{color:#ffc9dc}
.op-sello{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.92}
.op-flyer h3{margin:0 0 8px;font-size:1.45rem;line-height:1.2;color:inherit}
.op-terapia h3{font-size:1.65rem}
.op-flyer p{margin:0 0 12px;font-size:1rem;line-height:1.55;opacity:.95}
.op-flyer ul{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:6px}
.op-flyer li{position:relative;padding-left:24px;font-size:.97rem}
.op-flyer li::before{content:'✓';position:absolute;left:0;top:0;font-weight:800;color:#ffd166}
.op-club li::before{color:#ffd166}
.op-flyer b{font-weight:800}
.op-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:800;font-size:1rem;border-radius:99px;padding:13px 20px;min-height:48px;transition:transform .15s ease,box-shadow .15s ease}
.op-cta:hover{transform:translateY(-1px)}
.op-cta:focus-visible{outline:3px solid #ffd166;outline-offset:3px}
.op-terapia .op-cta{background:#fff;color:var(--op-teal);box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.op-club .op-cta{background:#ffd166;color:#2a1a6b}
.op-revista .op-cta{background:var(--op-teal);color:#fff}
.op-nota{display:block;margin-top:10px;font-size:.8rem;opacity:.85;line-height:1.4}
.op-pie{text-align:center;font-size:.8rem;color:var(--op-gris);margin:18px auto 0;max-width:760px;line-height:1.5}
.op-wa{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;min-height:46px;padding:11px 18px;border-radius:99px;text-decoration:none;font-weight:700;font-size:.97rem;color:#fff;border:1.5px solid rgba(255,255,255,.7);transition:background .15s ease}
.op-wa svg{width:20px;height:20px;flex:none}
.op-wa:hover{background:rgba(255,255,255,.12)}
.op-wa:focus-visible{outline:3px solid #ffd166;outline-offset:3px}
/* franja discreta en el resto de páginas públicas */
.op-franja{display:flex;align-items:center;gap:14px;max-width:880px;margin:28px auto 18px;padding:14px 16px;border-radius:16px;background:#eef6f7;border:1px solid #cfe5e8;color:#1d2430;font-family:inherit}
.op-franja .op-ico{background:#0f4c5c;color:#ffc9dc;width:40px;height:40px}
.op-franja p{flex:1;margin:0;font-size:.95rem;line-height:1.45}
.op-franja .op-cta{margin:0;background:#0f4c5c;color:#fff;padding:10px 18px;min-height:44px;font-size:.95rem}
.op-franja .op-wa-sm{margin:0;min-height:44px;padding:10px 14px;color:#0f4c5c;border-color:#0f4c5c;background:#fff;font-size:.92rem}
.op-franja .op-wa-sm:hover{background:#dbeaec}
.op-cerrar{flex:none;border:0;background:none;font-size:1.5rem;line-height:1;color:#5c6573;cursor:pointer;width:36px;height:36px;border-radius:50%}
.op-cerrar:hover,.op-cerrar:focus-visible{background:#dbeaec}
@media (max-width:900px){.op-grid{grid-template-columns:1fr 1fr}.op-terapia{grid-column:1/-1}}
@media (max-width:600px){
  .op-promo{margin-top:28px}
  .op-grid{grid-template-columns:1fr}
  .op-flyer{padding:22px 18px 18px}
  .op-cta,.op-flyer .op-wa{width:100%}
  .op-franja .op-wa-sm span{display:none}
  .op-franja{flex-wrap:wrap;margin:22px 12px 14px}
  .op-franja p{flex-basis:calc(100% - 100px)}
  .op-franja .op-cta{flex:1}
}
@media (prefers-reduced-motion:reduce){.op-frase,.op-cta{transition:none}}
@media print{.op-promo,.op-franja{display:none!important}}
