/* VidaFlow Health -- treatment pages (/programas/*, /programs/*), rendered by scripts/programs.py.
   Loaded after site.css, v4-base.css and site-v4.css; everything is scoped to .prog / .prog-hero
   inside <main class="v4-main">. Mobile-first (390px), AA text contrast on white and on the tints
   used here (#1f63d0 links/buttons 5.6:1 with white; #56697a meta 5.4:1). */

.v4-main .prog-hero .prog-eyebrow{margin:0 0 12px;color:#aeecea;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.v4-main .prog-hero .prog-switch{margin:20px 0 0;font-size:14px}
.v4-main .prog-hero .prog-switch a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.v4-main .prog-hero a:focus-visible{outline:2px solid #fff;outline-offset:3px}

.prog{color:var(--v4-ink)}
.prog .wrap{max-width:880px}
.prog-section{padding:44px 0;border-top:1px solid var(--v4-line)}
.prog-section:first-child{border-top:0}
.prog-section--tint{background:#eef4fc}
.prog h2{margin:0 0 20px;color:var(--v4-navy);font-family:var(--v4-serif);font-size:clamp(1.65rem,4.6vw,2.2rem);font-weight:500;line-height:1.1;letter-spacing:-.035em}
.prog h3{margin:0;color:var(--v4-navy);font-family:var(--v4-serif);font-weight:600;letter-spacing:-.02em}
.prog p,.prog li{font-size:16px;line-height:1.6}
.prog a{color:var(--v4-link)}
.prog-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ---------- option selector: native radios, no JavaScript needed ----------
   Without :has() support (or without CSS) every option panel simply shows, one after another. */
.prog-picker{position:relative;display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 18px;padding:0;border:0;min-width:0}
.prog-radio{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.prog-choice{display:grid;gap:2px;min-height:44px;padding:14px 16px;border:1.5px solid rgba(14,46,91,.22);border-radius:14px;background:#fff;cursor:pointer}
.prog-choice__name{color:var(--v4-navy);font-family:var(--v4-serif);font-size:19px;font-weight:600;letter-spacing:-.02em}
.prog-choice__tag{color:#56697a;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.prog-choice__price{color:var(--v4-ink);font-size:15px;font-weight:700}
.prog-radio:checked+.prog-choice{border-color:#1f63d0;box-shadow:inset 0 0 0 1.5px #1f63d0;background:#f3f8ff}
.prog-radio:focus-visible+.prog-choice{outline:3px solid #1f63d0;outline-offset:3px}

.prog-variant{margin:0 0 14px;padding:22px 20px;border:1.5px solid rgba(120,181,239,.4);border-radius:18px;background:#fff;box-shadow:var(--v4-shadow-soft)}
.prog-variant__tag{margin:0 0 6px;color:#147273;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.prog-variant h3{font-size:26px;line-height:1.1}
.prog-variant__desc{margin:10px 0 0;color:#3b5165}
.prog-variant__price{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--v4-line);color:var(--v4-navy);font-size:20px !important;font-weight:700}
.prog-variant__billing,.prog-variant__avail{margin:4px 0 0;color:#56697a;font-size:14px !important}
.prog-variant__actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px}
.prog-variant__safety{font-size:14px;text-decoration:underline;text-underline-offset:3px}

@supports selector(:has(*)){
  .prog-panels .prog-variant{display:none}
  .prog:has(.prog-radio:nth-of-type(1):checked) .prog-variant[data-vi="1"],
  .prog:has(.prog-radio:nth-of-type(2):checked) .prog-variant[data-vi="2"],
  .prog:has(.prog-radio:nth-of-type(3):checked) .prog-variant[data-vi="3"],
  .prog:has(.prog-radio:nth-of-type(4):checked) .prog-variant[data-vi="4"],
  .prog:has(.prog-radio:nth-of-type(5):checked) .prog-variant[data-vi="5"],
  .prog:has(.prog-radio:nth-of-type(6):checked) .prog-variant[data-vi="6"]{display:block}
  .prog-final__item{display:none}
  .prog:has(.prog-radio:nth-of-type(1):checked) .prog-final__item[data-vi="1"],
  .prog:has(.prog-radio:nth-of-type(2):checked) .prog-final__item[data-vi="2"],
  .prog:has(.prog-radio:nth-of-type(3):checked) .prog-final__item[data-vi="3"],
  .prog:has(.prog-radio:nth-of-type(4):checked) .prog-final__item[data-vi="4"],
  .prog:has(.prog-radio:nth-of-type(5):checked) .prog-final__item[data-vi="5"],
  .prog:has(.prog-radio:nth-of-type(6):checked) .prog-final__item[data-vi="6"]{display:block}
}

.prog-cta{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:13px 22px;border-radius:100px;background:#1f63d0;color:#fff !important;font-size:15px;font-weight:700;text-decoration:none;transition:background 150ms var(--v4-ease)}
.prog-cta:hover{background:#174fa8}
.prog-cta:focus-visible{outline:3px solid #0b285d;outline-offset:3px}
.prog-cta--lg{font-size:16px;padding:15px 26px}
.prog-rx{margin:0;color:#56697a;font-size:13px !important;font-weight:600}

.prog-pay{margin:18px 0 0}
.prog-pay h3{font-size:18px}
.prog-pay ul{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.prog-pay li{padding:6px 12px;border:1px solid var(--v4-line);border-radius:100px;background:#fff;font-size:14px}

.prog-compare{margin:28px 0 0;padding:20px;border-left:3px solid #1f63d0;border-radius:14px;background:#fff;box-shadow:var(--v4-shadow-soft)}
.prog-compare h3{font-size:20px;line-height:1.2}
.prog-compare p{margin:10px 0 0;color:#3b5165}
.prog-compare__scroll{margin-top:16px;overflow-x:auto}
.prog-compare table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.45}
.prog-compare th,.prog-compare td{padding:9px 8px;border-top:1px solid var(--v4-line);text-align:left;vertical-align:top}
.prog-compare thead th{border-top:0;color:#56697a;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.prog-compare tbody th{color:var(--v4-navy);font-weight:700}
.prog-compare__here{color:#56697a;font-weight:500}
.prog-compare td:last-child{font-weight:700;color:var(--v4-navy)}

.prog-steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}
.prog-steps li{position:relative;padding:16px 16px 16px 58px;border:1px solid var(--v4-line);border-radius:14px;background:#fff;counter-increment:step}
.prog-steps li::before{content:counter(step);position:absolute;left:16px;top:16px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#d9e8ff;color:#0b285d;font-size:14px;font-weight:700}
.prog-steps h3{font-size:19px}
.prog-steps p{margin:4px 0 0;color:#3b5165}
.prog-note{margin:14px 0 0;color:#3b5165;font-size:15px !important}

.prog-checks,.prog-links{margin:0;padding:0;list-style:none}
.prog-checks li{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.prog-check{flex:0 0 auto;margin-top:3px;color:#147273}
.prog-bullets{margin:0;padding-left:20px}
.prog-bullets li{margin:0 0 10px}
.prog-disclosure{margin:0 0 14px;padding:14px 16px;border-left:3px solid #c77a1e;border-radius:10px;background:#fffaf2;color:#3b3220}
.prog-links li{margin:0 0 8px}
.prog-links a{display:inline-block;min-height:24px;text-decoration:underline;text-underline-offset:3px}

.prog-faq h3{margin:22px 0 6px;font-size:19px;line-height:1.3}
.prog-faq h3:first-of-type{margin-top:0}
.prog-faq p{margin:0;color:#3b5165}

.prog-final{background:#0b285d;color:#fff;border-top:0}
.prog-final .prog-role{margin:0 0 18px;color:#dbeaff;font-size:15px !important}
.prog-final__item{margin:0 0 12px}
.prog-final__pick{margin:0 0 10px;color:#fff;font-weight:700}
.prog-final .prog-cta{background:#fff;color:#0b285d !important}
.prog-final .prog-cta:hover{background:#dbeaff}
.prog-final .prog-cta:focus-visible{outline-color:#fff}
.prog-final .prog-rx{color:#dbeaff}

@media (min-width:600px){
  .prog-picker{grid-template-columns:repeat(2,1fr)}
  .prog-section{padding:56px 0}
  .prog-variant{padding:28px}
}
@media (prefers-reduced-motion:reduce){.prog-cta{transition:none}}
