/* Forever Health Rx — /treatments/<drug>/ Google Shopping landing pages (v18, 2026-10-08).
   Loaded after site.css; every rule is scoped to .tx-* / body.tx-page so nothing on the certified pages changes.
   Look: brand palette (navy + steel/ice, accents teal · terra · lavender · gold · sage · rosewood from site.css :root)
   with the site's glass tokens (--glass-bg/--glass-border/--glass-shadow) pushed to "liquid glass": an ambient field of
   brand-colour orbs behind the page, frosted surfaces with specular rims, inner light and a sheen on hover.
   Built by tools/build_treatments.py. */

body.tx-page{
  background:#eef2f7;
  --lg-bg:linear-gradient(145deg,rgba(255,255,255,.74) 0%,rgba(255,255,255,.42) 48%,rgba(255,255,255,.58) 100%);
  --lg-rim:inset 0 1px 0 rgba(255,255,255,.95), inset 0 -1px 0 rgba(255,255,255,.35), inset 1px 0 0 rgba(255,255,255,.5), inset -1px 0 0 rgba(255,255,255,.25);
  --lg-depth:inset 0 -18px 36px -18px rgba(0,32,79,.10), inset 0 14px 28px -16px rgba(255,255,255,.9);
  --lg-drop:0 18px 44px -12px rgba(0,32,79,.18), 0 2px 6px rgba(0,32,79,.05);
  --lg-blur:blur(22px) saturate(180%);
  --navy-glass:linear-gradient(150deg,rgba(0,32,79,.90) 0%,rgba(13,58,122,.80) 55%,rgba(0,32,79,.88) 100%);
}
/* ambient field: soft brand orbs the glass refracts (fixed, behind everything) */
body.tx-page::before{
  content:""; position:fixed; inset:-10vmax; z-index:-1; pointer-events:none;
  background:
    radial-gradient(34vmax 30vmax at 88% 6%, rgba(111,147,184,.55), transparent 62%),
    radial-gradient(30vmax 26vmax at 6% 34%, rgba(168,143,195,.34), transparent 64%),
    radial-gradient(32vmax 28vmax at 96% 58%, rgba(47,90,83,.22), transparent 64%),
    radial-gradient(28vmax 24vmax at 12% 86%, rgba(168,108,81,.20), transparent 64%),
    radial-gradient(40vmax 30vmax at 50% 110%, rgba(0,32,79,.20), transparent 66%),
    linear-gradient(180deg,#f3f6fa 0%,#e9eff6 100%);
  animation:tx-drift 38s ease-in-out infinite alternate;
}
@keyframes tx-drift{ to{ transform:translate3d(2.5%,-2%,0) scale(1.04); } }

/* ---------------------------------------------------------------- liquid glass surface (shared) */
.tx-glass,
.tx-page .block--white,.tx-page .block--tint,.tx-page .block--ice,
.tx-stat,.tx-benefits li,.tx-step,.tx-notes,.tx-table,.tx-plan,.tx-tabs,.tx-sticky__in{
  position:relative; isolation:isolate;
  background:var(--lg-bg); border:1px solid rgba(255,255,255,.72);
  box-shadow:var(--lg-rim), var(--lg-depth), var(--lg-drop);
  backdrop-filter:var(--lg-blur); -webkit-backdrop-filter:var(--lg-blur);
}
/* specular highlight (top-left light source) */
.tx-page .block--white::before,.tx-page .block--tint::before,.tx-page .block--ice::before,
.tx-stat::before,.tx-benefits li::before,.tx-step::before,.tx-plan::before,.tx-sticky__in::before{
  content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 60% at 14% 0%, rgba(255,255,255,.75), transparent 52%),
             radial-gradient(80% 50% at 100% 100%, rgba(156,182,203,.18), transparent 60%);
}
/* sheen sweep on hover (same gesture as the site's buttons) */
.tx-stat::after,.tx-benefits li::after,.tx-step::after,.tx-vcard::after{
  content:""; position:absolute; top:-60%; left:-40%; width:40%; height:220%; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  transform:rotate(22deg) translateX(-180%); transition:transform 1.1s var(--ease);
}
.tx-stat:hover::after,.tx-benefits li:hover::after,.tx-step:hover::after,.tx-vcard:hover::after{ transform:rotate(22deg) translateX(420%); }
.tx-stat,.tx-benefits li,.tx-step,.tx-vcard{ overflow:hidden; }
.tx-page .block--tint{ background:linear-gradient(150deg,rgba(228,236,243,.78),rgba(255,255,255,.40) 60%,rgba(214,225,235,.62)); }
.tx-page .block--ice{ background:linear-gradient(150deg,rgba(238,243,248,.82),rgba(255,255,255,.48)); }

.tx-ico{ width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tx-page p a:not(.btn), .tx-page .faq a{ text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; color:var(--blue-700); }

/* brand accents (secondary palette) */
.tx-acc-1{ --acc:var(--teal);     --acc-g:var(--grad-green); }
.tx-acc-2{ --acc:var(--terra);    --acc-g:var(--grad-coral); }
.tx-acc-3{ --acc:var(--plum);     --acc-g:var(--grad-lilac); }
.tx-acc-4{ --acc:var(--gold);     --acc-g:var(--grad-gold); }
.tx-acc-5{ --acc:#5f6f3a;         --acc-g:linear-gradient(135deg,#6f7f45 0%,var(--sage) 50%,#d7deb8 100%); }
.tx-acc-6{ --acc:var(--rosewood); --acc-g:var(--grad-plum); }

/* ---------------------------------------------------------------- buy box */
.tx-buy{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4.5vw,72px); align-items:start; padding:clamp(16px,2.6vw,36px) !important; overflow:visible !important; }
.tx-gallery{ position:sticky; top:calc(var(--nav-h) + 24px); display:flex; flex-direction:column; gap:14px; }
.tx-fig{ position:relative; margin:0; aspect-ratio:4/5; border-radius:28px; overflow:hidden; background:linear-gradient(160deg,#e9f0f6,#cfdbe6); box-shadow:0 24px 60px -18px rgba(0,32,79,.32), inset 0 0 0 1px rgba(255,255,255,.6); }
.tx-fig img{ width:100%; height:100%; object-fit:cover; transition:transform 1.4s var(--ease); }
.tx-fig:hover img{ transform:scale(1.035); }
.tx-fig::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; box-shadow:inset 0 2px 0 rgba(255,255,255,.45), inset 0 -40px 60px rgba(0,32,79,.14); }
.tx-fig__chip,.tx-fig__glass{ position:absolute; z-index:1; color:var(--navy); background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.34)); border:1px solid rgba(255,255,255,.8); box-shadow:var(--lg-rim), 0 10px 24px rgba(0,32,79,.14); backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%); }
.tx-fig__chip{ top:16px; left:16px; display:inline-flex; align-items:center; gap:8px; padding:8px 14px 8px 10px; border-radius:999px; font-size:13px; font-weight:500; }
.tx-fig__chip .tx-ico{ width:16px; height:16px; color:var(--teal); }
.tx-fig__glass{ left:16px; right:16px; bottom:16px; display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:18px; font-size:13px; }
.tx-fig__glass b{ flex:none; font-size:11px; letter-spacing:.14em; text-transform:uppercase; padding:5px 9px; border-radius:8px; background:var(--navy); color:#fff; }
.tx-notes{ list-style:none; margin:0; padding:16px 18px; display:flex; flex-direction:column; gap:10px; border-radius:20px; }
.tx-notes li{ display:flex; gap:10px; font-size:13px; line-height:1.5; color:var(--muted); }
.tx-notes .tx-ico{ width:16px; height:16px; margin-top:2px; color:var(--steel-deep); }
.tx-notes b{ color:var(--navy); font-weight:600; }

.tx-panel{ display:flex; flex-direction:column; gap:14px; padding-top:2px; }
.tx-tabs{ display:inline-flex; align-self:flex-start; padding:4px; border-radius:999px; margin-bottom:6px; }
.tx-tabs a{ position:relative; padding:8px 18px; border-radius:999px; font-size:14px; font-weight:500; color:var(--muted); transition:background .3s, color .3s, box-shadow .3s; }
.tx-tabs a[aria-current]{ background:var(--navy); color:#fff; box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 6px 16px rgba(0,32,79,.25); }
.tx-tabs a:not([aria-current]):hover{ color:var(--navy); background:rgba(255,255,255,.6); }
.tx-panel h1{ font-size:clamp(38px,4vw,58px); line-height:.98; letter-spacing:-.03em; }
.tx-panel h1 em{ font-style:normal; background:linear-gradient(110deg,var(--navy) 10%,var(--blue-500) 55%,var(--steel-deep) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tx-tagline{ font-size:clamp(19px,1.6vw,23px); color:var(--navy); font-weight:400; margin-top:-4px; }
.tx-lead{ color:var(--muted); font-size:16px; line-height:1.6; max-width:58ch; }

.tx-price{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; padding-top:18px; margin-top:4px; border-top:1px solid rgba(0,32,79,.10); }
.tx-price__k{ font-size:11.5px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.tx-price__v{ display:flex; align-items:baseline; gap:6px; margin-top:4px; }
.tx-price__v b{ font-size:clamp(52px,5.4vw,72px); font-weight:300; letter-spacing:-.04em; line-height:1; font-variant-numeric:tabular-nums; background:linear-gradient(120deg,var(--navy) 0%,var(--blue-500) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tx-price__v small{ font-size:15px; color:var(--muted); }
.tx-price__same{ display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:500; color:var(--teal); background:linear-gradient(135deg,rgba(230,239,230,.95),rgba(230,239,230,.6)); border:1px solid rgba(255,255,255,.8); box-shadow:inset 0 1px 0 #fff; padding:7px 12px; border-radius:999px; white-space:nowrap; }
.tx-price__same .tx-ico{ width:15px; height:15px; }

.tx-label{ font-size:14px; font-weight:600; color:var(--navy); margin-top:4px; }
.tx-plans{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; }
.tx-plan{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:16px; text-align:left; border-radius:18px; transition:border-color .25s, box-shadow .3s, transform .3s var(--ease), background .3s; }
.tx-plan:hover{ transform:translateY(-2px); }
.tx-plan:focus-visible{ outline:3px solid var(--blue-300); outline-offset:2px; }
.tx-plan[aria-checked="true"]{ border-color:rgba(0,32,79,.85); background:linear-gradient(150deg,rgba(255,255,255,.92),rgba(228,236,243,.78)); box-shadow:var(--lg-rim), 0 0 0 1px var(--navy), 0 16px 34px -10px rgba(0,32,79,.30); }
.tx-plan__top{ display:flex; align-items:center; gap:8px; width:100%; }
.tx-plan__dot{ width:18px; height:18px; border-radius:50%; border:1.5px solid rgba(0,32,79,.35); flex:none; display:grid; place-items:center; background:rgba(255,255,255,.7); transition:border-color .25s; }
.tx-plan[aria-checked="true"] .tx-plan__dot{ border-color:var(--navy); }
.tx-plan[aria-checked="true"] .tx-plan__dot::after{ content:""; width:9px; height:9px; border-radius:50%; background:var(--navy); }
.tx-plan__len{ font-size:14.5px; font-weight:600; color:var(--navy); }
.tx-plan__chip{ margin-left:auto; font-size:10.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--grad-green); padding:4px 9px; border-radius:999px; white-space:nowrap; box-shadow:inset 0 1px 0 rgba(255,255,255,.35); }
.tx-plan__price{ display:flex; align-items:baseline; gap:3px; }
.tx-plan__price b{ font-size:26px; font-weight:400; letter-spacing:-.02em; color:var(--navy); }
.tx-plan__price small{ font-size:13px; color:var(--muted); }
.tx-plan__bill{ font-size:12.5px; color:var(--muted); }
.tx-summary{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:14px; color:var(--muted); }
.tx-summary b{ color:var(--navy); font-weight:600; }
.tx-cta{ width:100%; min-height:60px; font-size:17px; margin-top:4px; background:linear-gradient(135deg,#00204f 0%,#0d3a7a 60%,#2f5f9e 120%) !important; box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -10px 20px rgba(0,22,56,.35), 0 14px 30px -8px rgba(0,32,79,.45) !important; }
.tx-assure{ display:flex; justify-content:center; align-items:center; gap:8px; font-size:13.5px; color:var(--navy); }
.tx-assure .tx-ico{ width:16px; height:16px; fill:none; stroke:var(--teal); }
.tx-pay{ font-size:12.5px; line-height:1.55; color:var(--muted); text-align:center; max-width:56ch; margin:0 auto; }
.tx-trust{ list-style:none; margin:8px 0 0; padding:14px 0 0; border-top:1px solid rgba(0,32,79,.10); display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.tx-trust li{ display:flex; align-items:center; gap:8px; font-size:12px; line-height:1.25; color:var(--muted); }
.tx-trust li b{ display:block; font-size:13px; color:var(--navy); font-weight:600; }
.tx-trust .tx-ico{ width:28px; height:28px; padding:6px; border-radius:10px; color:var(--navy); background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(228,236,243,.7)); border:1px solid rgba(255,255,255,.8); box-shadow:var(--lg-rim), 0 4px 10px rgba(0,32,79,.08); }
.tx-trust li:first-child .tx-ico{ padding:4px; }

/* ---------------------------------------------------------------- validator ticker (Cora-style marquee, navy liquid glass) */
.tx-ticker{ position:relative; overflow:hidden; border-radius:var(--r-xl); color:#fff; padding:18px 0; background:var(--navy-glass); border:1px solid rgba(255,255,255,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.28), inset 0 -14px 28px rgba(0,16,40,.35), 0 18px 40px -14px rgba(0,32,79,.45); backdrop-filter:var(--lg-blur); -webkit-backdrop-filter:var(--lg-blur); }
.tx-ticker::before{ content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(60% 140% at 12% 0%, rgba(156,182,203,.35), transparent 60%), radial-gradient(50% 120% at 92% 100%, rgba(168,143,195,.25), transparent 60%); }
.tx-ticker__track{ position:relative; display:flex; width:max-content; animation:tx-marquee 46s linear infinite; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent); }
.tx-ticker:hover .tx-ticker__track{ animation-play-state:paused; }
.tx-ticker ul{ list-style:none; margin:0; padding:0; display:flex; }
.tx-ticker li{ display:flex; align-items:center; gap:10px; padding:0 28px; font-size:15px; white-space:nowrap; border-right:1px solid rgba(255,255,255,.16); }
.tx-ticker .tx-ico{ color:var(--steel-soft); }
@keyframes tx-marquee{ to{ transform:translateX(-50%); } }

/* ---------------------------------------------------------------- stats row */
.tx-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.tx-stat{ padding:26px 24px; border-radius:24px; display:flex; flex-direction:column; gap:6px; }
.tx-stat b{ font-size:clamp(30px,3vw,44px); font-weight:300; letter-spacing:-.03em; line-height:1.05; background:linear-gradient(120deg,var(--navy) 0%,var(--blue-500) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.tx-stat span{ font-size:14px; color:var(--muted); }
.tx-stat i{ position:absolute; right:-18px; top:-18px; width:84px; height:84px; border-radius:50%; background:var(--acc-g); opacity:.22; filter:blur(2px); z-index:-1; }

/* ---------------------------------------------------------------- bento: what's included */
.tx-bento{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr); gap:clamp(14px,2vw,24px); padding:clamp(14px,2vw,24px) !important; }
.tx-bento__hero{ position:relative; border-radius:24px; overflow:hidden; min-height:540px; background:var(--steel-soft); }
.tx-bento__hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% center; }
.tx-bento__hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,32,79,0) 32%,rgba(0,22,56,.55) 100%); }
.tx-bento__cap{ position:absolute; z-index:1; left:14px; right:14px; bottom:14px; padding:24px; display:flex; flex-direction:column; gap:10px; color:#fff; border-radius:20px; background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.35); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), inset 0 -12px 24px rgba(0,22,56,.25); backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%); }
.tx-bento__cap h2{ color:#fff; font-size:clamp(28px,2.8vw,40px); }
.tx-bento__cap .eyebrow{ color:#fff; }
.tx-bento__cap .eyebrow::before{ background:rgba(255,255,255,.7); }
.tx-bento__cap p{ color:rgba(255,255,255,.88); font-size:15px; }
.tx-benefits{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.tx-benefits li{ padding:24px 24px 26px; border-radius:22px; display:flex; flex-direction:column; gap:10px; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.tx-benefits li:hover{ transform:translateY(-3px); box-shadow:var(--lg-rim), var(--lg-depth), 0 26px 50px -16px rgba(0,32,79,.26); }
.tx-n{ align-self:flex-start; display:grid; place-items:center; min-width:44px; height:30px; padding:0 10px; border-radius:999px; font-size:13px; font-weight:600; letter-spacing:.08em; color:#fff; background:var(--acc-g); box-shadow:inset 0 1px 0 rgba(255,255,255,.4), inset 0 -6px 10px rgba(0,0,0,.12), 0 6px 14px -4px var(--acc); }
.tx-benefits h3{ font-size:20px; font-weight:500; }
.tx-benefits p{ font-size:14.5px; color:var(--muted); line-height:1.55; }

/* ---------------------------------------------------------------- validators (navy liquid glass) */
.tx-page .tx-valid{ background:var(--navy-glass); border:1px solid rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 30px 60px -20px rgba(0,32,79,.45); }
.tx-valid__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.tx-vcard{ position:relative; isolation:isolate; display:flex; flex-direction:column; gap:12px; padding:26px 24px; border-radius:22px; background:linear-gradient(150deg,rgba(255,255,255,.16),rgba(255,255,255,.04)); border:1px solid rgba(255,255,255,.22); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), inset 0 -16px 30px rgba(0,16,40,.25); backdrop-filter:blur(14px) saturate(160%); -webkit-backdrop-filter:blur(14px) saturate(160%); transition:transform .4s var(--ease), background .4s; }
.tx-vcard:hover{ transform:translateY(-3px); background:linear-gradient(150deg,rgba(255,255,255,.22),rgba(255,255,255,.07)); }
.tx-vcard h3{ font-size:20px; font-weight:500; color:#fff; }
.tx-vcard p{ font-size:14.5px; line-height:1.55; color:rgba(255,255,255,.78); flex:1; }
.tx-vico{ width:48px; height:48px; padding:12px; border-radius:15px; fill:none; stroke:#fff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; background:var(--acc-g); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 8px 18px -6px rgba(0,0,0,.35); }
.tx-seal{ display:inline-flex; align-self:flex-start; padding:8px; border-radius:15px; background:#fff; line-height:0; box-shadow:0 8px 18px -6px rgba(0,0,0,.35); }
.tx-vlink{ display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; color:#fff; }
.tx-vlink svg{ width:16px; height:16px; transition:transform .3s var(--ease); }
.tx-vlink:hover svg{ transform:translateX(4px); }

/* ---------------------------------------------------------------- steps */
.tx-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.tx-step{ display:flex; flex-direction:column; gap:10px; padding:12px 12px 26px; border-radius:26px; }
.tx-step__img{ position:relative; aspect-ratio:16/10; border-radius:18px; overflow:hidden; margin-bottom:8px; background:var(--steel-soft); }
.tx-step__img img{ width:100%; height:100%; object-fit:cover; }
.tx-badge{ position:absolute; left:12px; bottom:12px; display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border-radius:999px; font-size:12.5px; font-weight:500; color:var(--navy); background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.42)); border:1px solid rgba(255,255,255,.85); box-shadow:inset 0 1px 0 #fff, 0 8px 18px rgba(0,32,79,.16); backdrop-filter:blur(14px) saturate(180%); -webkit-backdrop-filter:blur(14px) saturate(180%); }
.tx-badge .tx-ico{ width:15px; height:15px; color:var(--acc); }
.tx-step .tx-n{ margin:0 12px; }
.tx-step h3{ padding:0 12px; font-size:22px; font-weight:400; }
.tx-step p{ padding:0 12px; font-size:15px; color:var(--muted); line-height:1.55; }

/* ---------------------------------------------------------------- plan table */
.tx-table{ overflow-x:auto; border-radius:22px; }
.tx-table table{ width:100%; min-width:560px; border-collapse:collapse; font-size:15px; }
.tx-table th,.tx-table td{ padding:16px 20px; text-align:left; border-bottom:1px solid rgba(0,32,79,.08); }
.tx-table thead th{ font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); background:rgba(228,236,243,.55); }
.tx-table tbody th{ font-weight:600; color:var(--navy); }
.tx-table tbody tr{ transition:background .25s; }
.tx-table tbody tr:hover{ background:rgba(255,255,255,.55); }
.tx-table tbody tr:last-child th,.tx-table tbody tr:last-child td{ border-bottom:0; }
.tx-table td b{ font-size:18px; font-weight:500; color:var(--navy); }
.tx-fine{ margin-top:16px; font-size:13px; line-height:1.6; color:var(--muted); max-width:90ch; }

/* ---------------------------------------------------------------- FAQ / safety inside glass blocks */
.tx-page .faq details{ background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,255,255,.55)); border:1px solid rgba(255,255,255,.85); box-shadow:inset 0 1px 0 #fff, 0 6px 16px rgba(0,32,79,.06); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.tx-page .card{ background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(255,255,255,.5)); border:1px solid rgba(255,255,255,.85); box-shadow:inset 0 1px 0 #fff, 0 8px 20px rgba(0,32,79,.06); }

/* ---------------------------------------------------------------- closing CTA */
.tx-page .tx-final{ background:var(--navy-glass); border:1px solid rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 30px 60px -20px rgba(0,32,79,.45); }
.tx-final__ctas{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.tx-final__fine{ text-align:center; margin:18px auto 0; max-width:70ch; font-size:13.5px; color:rgba(255,255,255,.74); }
.tx-final__fine a{ color:#fff !important; }

/* ---------------------------------------------------------------- sticky bar */
.tx-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:45; padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom)); transform:translateY(120%); transition:transform .5s var(--ease); pointer-events:none; }
.tx-sticky.on{ transform:none; pointer-events:auto; }
.tx-sticky__in{ max-width:760px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 10px 10px 22px; border-radius:999px; box-shadow:var(--lg-rim), 0 24px 50px -10px rgba(0,32,79,.35); }
.tx-sticky__txt{ display:flex; flex-direction:column; line-height:1.3; min-width:0; }
.tx-sticky__txt b{ font-size:15px; color:var(--navy); font-weight:600; }
.tx-sticky__txt span{ font-size:13px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.tx-page .sticky-cta{ display:none !important; }

/* ---------------------------------------------------------------- responsive */
@media (max-width:1100px){ .tx-valid__grid{ grid-template-columns:repeat(2,1fr); } .tx-trust{ grid-template-columns:repeat(2,1fr); row-gap:14px; } }
@media (max-width:900px){
  body.tx-page{ --lg-blur:blur(14px) saturate(160%); }
  body.tx-page::before{ animation:none; }
  .tx-buy{ grid-template-columns:1fr; }
  .tx-gallery{ display:contents; }
  .tx-fig{ order:0; aspect-ratio:5/4; }
  .tx-fig img{ object-position:center 42%; }
  .tx-panel{ order:1; }
  .tx-notes{ order:2; }
  .tx-stats{ grid-template-columns:repeat(2,1fr); }
  .tx-bento{ grid-template-columns:1fr; }
  .tx-bento__hero{ min-height:400px; }
  .tx-steps{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .tx-page .crumbs{ padding-right:150px; font-size:13px; }
  .tx-fig{ aspect-ratio:1/1; border-radius:22px; }
  .tx-fig__glass{ padding:10px 12px; font-size:12px; }
  .tx-benefits{ grid-template-columns:1fr; }
  .tx-valid__grid{ grid-template-columns:1fr; }
  .tx-price{ flex-direction:column; align-items:flex-start; }
  .tx-plans{ grid-template-columns:1fr; }
  .tx-plan{ display:grid; grid-template-columns:1fr auto; align-items:center; column-gap:12px; }
  .tx-plan__top{ grid-column:1; }
  .tx-plan__price{ grid-column:2; grid-row:1 / span 2; }
  .tx-plan__bill{ grid-column:1; }
  .tx-plan__chip{ margin-left:6px; }
  .tx-stat{ padding:20px 18px; }
  .tx-ticker li{ padding:0 20px; font-size:14px; }
  .tx-sticky__in{ padding-left:16px; }
}
@media (prefers-reduced-motion:reduce){ body.tx-page::before,.tx-ticker__track{ animation:none; } .tx-fig:hover img{ transform:none; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .tx-page .block--white,.tx-page .block--tint,.tx-page .block--ice,.tx-stat,.tx-benefits li,.tx-step,.tx-notes,.tx-table,.tx-plan,.tx-tabs,.tx-sticky__in{ background:rgba(255,255,255,.94); }
}

/* ---------------------------------------------------------------- BENEFITS v21.8 (2026-10-20): "The benefits of X" on every landing
   build_catalog.benefits_html. Category line colour (.cat--<slug> --c / --c-deep / --c-tint) on the icon disc and the eyebrow bar. */
.cx-ben .chead{ max-width:820px; }
.cx-ben .chead .eyebrow{ color:var(--c-deep,var(--blue-500)); }
.cx-ben .chead .eyebrow::before{ background:var(--c,var(--steel)); }
.cx-ben .chead .lead{ font-size:clamp(15.5px,1.15vw,17.5px); }
.cx-ben__grid{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.4vw,18px); }
.cx-ben__grid[data-n="4"]{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:980px; margin-inline:auto; }
.cx-ben__grid li{ position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; gap:10px; padding:24px 24px 26px; border-radius:22px;
  background:var(--lg-bg); border:1px solid rgba(255,255,255,.72); box-shadow:var(--lg-rim), var(--lg-depth), var(--lg-drop);
  backdrop-filter:var(--lg-blur); -webkit-backdrop-filter:var(--lg-blur); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.cx-ben__grid li::before{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:-1; pointer-events:none;
  background:radial-gradient(120% 60% at 14% 0%, rgba(255,255,255,.75), transparent 52%), radial-gradient(90% 60% at 100% 100%, var(--c-tint,rgba(156,182,203,.18)), transparent 62%); }
.cx-ben__grid li::after{ content:""; position:absolute; top:-60%; left:-40%; width:40%; height:220%; z-index:-1; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent); transform:rotate(22deg) translateX(-180%); transition:transform 1.1s var(--ease); }
.cx-ben__grid li:hover{ transform:translateY(-3px); box-shadow:var(--lg-rim), var(--lg-depth), 0 26px 50px -16px rgba(0,32,79,.26); }
.cx-ben__grid li:hover::after{ transform:rotate(22deg) translateX(420%); }
.cx-ben__ic{ width:50px; height:50px; border-radius:16px; display:grid; place-items:center; margin-bottom:4px; background:var(--c-tint,#e4ecf3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8), inset 0 0 0 1px rgba(0,32,79,.05); }
.cx-ben__ic svg{ width:24px; height:24px; fill:none; stroke:var(--c-deep,var(--navy)); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cx-ben__grid h3{ font-size:19px; font-weight:500; color:var(--navy); line-height:1.25; }
.cx-ben__grid p{ font-size:14.5px; color:var(--muted); line-height:1.55; }
.cx-ben__note{ margin:clamp(18px,2.4vw,28px) auto 0; max-width:70ch; text-align:center; font-size:12.5px; line-height:1.55; color:var(--muted); }
@media (max-width:1100px){ .cx-ben__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px){ .cx-ben__grid,.cx-ben__grid[data-n="4"]{ grid-template-columns:1fr; } .cx-ben__grid li{ padding:18px 18px 20px; gap:8px; } .cx-ben .chead .lead{ font-size:14.5px; } .cx-ben .chead{ gap:8px; } .cx-ben__ic{ width:44px; height:44px; } }
@media (prefers-reduced-motion:reduce){ .cx-ben__grid li,.cx-ben__grid li::after{ transition:none; } .cx-ben__grid li:hover{ transform:none; } }

/* ---------------------------------------------------------------- ADD-ON v21.8: ondansetron inside the GLP-1 plan box (build_treatments.addon_html) */
.tx-addon{ display:flex; align-items:center; gap:14px; margin:14px 0 2px; padding:12px 14px 12px 12px; border-radius:18px; color:var(--navy);
  border:1.5px dashed rgba(147,162,99,.75); background:linear-gradient(135deg,rgba(147,162,99,.12),rgba(255,255,255,.55)); transition:border-color .3s, background .3s, transform .35s var(--ease); }
.tx-addon:hover{ border-style:solid; border-color:var(--c-deep,#5F6F3A); background:linear-gradient(135deg,rgba(147,162,99,.18),rgba(255,255,255,.7)); transform:translateY(-1px); }
.tx-addon:focus-visible{ outline:3px solid var(--navy); outline-offset:3px; }
.tx-addon__ic{ flex:none; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:#fff; box-shadow:inset 0 0 0 1px rgba(0,32,79,.06), 0 6px 14px -8px rgba(0,32,79,.35); }
.tx-addon__ic svg{ width:22px; height:22px; fill:none; stroke:var(--c-deep,#5F6F3A); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.tx-addon__t{ display:flex; flex-direction:column; min-width:0; line-height:1.3; }
.tx-addon__t small{ font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--c-deep,#5F6F3A); }
.tx-addon__t b{ margin-top:2px; font-size:15px; font-weight:600; color:var(--navy); }
.tx-addon__t sup{ font-size:10px; margin-left:2px; color:var(--muted); }
.tx-addon__t em{ font-style:normal; font-size:13px; color:var(--muted); margin-top:2px; }
.tx-addon__arw{ margin-left:auto; flex:none; width:18px; height:18px; color:var(--navy); transition:transform .3s var(--ease); }
.tx-addon__arw svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tx-addon:hover .tx-addon__arw{ transform:translateX(3px); }
@media (max-width:640px){ .tx-addon{ gap:10px; padding:10px 12px 10px 10px; } .tx-addon__t small{ font-size:10px; letter-spacing:.08em; } .tx-addon__t b{ font-size:14px; } .tx-addon__t em{ font-size:12px; line-height:1.35; } .tx-addon__ic{ width:38px; height:38px; } }

/* ---------------------------------------------------------------- BENEFITS v21.12 (user: "tarjeticas con colores"): one brand accent per card
   (.tx-acc-1..6 = teal · terra · plum · gold · sage · rosewood), gradient icon tile with a white glyph, tinted top edge. */
.cx-ben__grid li{ padding-top:22px; }
.cx-ben__grid li::before{ background:radial-gradient(120% 60% at 14% 0%, rgba(255,255,255,.75), transparent 52%), linear-gradient(180deg, color-mix(in srgb, var(--acc) 16%, transparent) 0%, transparent 46%); }
.cx-ben__grid li{ border-top:3px solid var(--acc); border-top-left-radius:22px; border-top-right-radius:22px; }
.cx-ben__ic{ background:var(--acc-g); box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 10px 22px -8px var(--acc); transition:transform .4s var(--ease); }
.cx-ben__ic svg{ stroke:#fff; }
.cx-ben__grid li:hover .cx-ben__ic{ transform:rotate(-6deg) scale(1.06); }
.cx-ben__grid h3{ color:var(--navy); }
@media (prefers-reduced-motion:reduce){ .cx-ben__grid li:hover .cx-ben__ic{ transform:none; } }

/* ---------------------------------------------------------------- WHY IT MATTERS v21.12 (build_catalog.why_html) */
.cx-why .chead{ max-width:820px; }
.cx-why__groups{ display:grid; gap:clamp(12px,1.6vw,20px); max-width:1040px; margin:0 auto; }
.cx-why__groups[data-n="1"]{ max-width:680px; }
.cx-why__groups[data-n="2"]{ grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
.cx-why__g{ position:relative; isolation:isolate; padding:clamp(20px,2.4vw,28px); border-radius:22px; background:var(--lg-bg); border:1px solid rgba(255,255,255,.72); box-shadow:var(--lg-rim), var(--lg-depth), var(--lg-drop); backdrop-filter:var(--lg-blur); -webkit-backdrop-filter:var(--lg-blur); }
.cx-why__g--risk{ background:var(--navy-glass); color:#fff; border-color:rgba(255,255,255,.14); }
.cx-why__g h3{ font-size:18px; font-weight:500; color:var(--navy); margin:0 0 12px; }
.cx-why__g--risk h3{ color:#fff; }
.cx-why__g ul{ list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.cx-why__g li{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid rgba(0,32,79,.08); }
.cx-why__g--risk li{ border-color:rgba(255,255,255,.14); }
.cx-why__g li:last-child{ border-bottom:0; }
.cx-why__g b{ font-weight:500; font-size:15px; line-height:1.4; color:var(--navy); }
.cx-why__g--risk b{ color:#fff; }
.cx-why__ic{ flex:none; width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--c-tint,#e4ecf3); }
.cx-why__ic svg{ width:20px; height:20px; fill:none; stroke:var(--c-deep,var(--navy)); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.cx-why__g--risk .cx-why__ic{ background:rgba(255,255,255,.14); }
.cx-why__g--risk .cx-why__ic svg{ stroke:#fff; }
.cx-why__close{ margin:clamp(18px,2.4vw,28px) auto 0; max-width:66ch; text-align:center; font-size:14.5px; line-height:1.55; color:var(--muted); }
@media (max-width:820px){ .cx-why__groups[data-n="2"]{ grid-template-columns:1fr; } }

/* ---------- BNPL 2026-10-26: buy now, pay later (Affirm · Klarna · Afterpay) on plans of 3+ months — build_treatments.bnpl_html.
   Official provider marks (third-party, own colours) self-hosted in assets/pay/. ---------- */
.tx-plan__bnpl{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; color:var(--navy); }
.tx-plan__bnpl::before{ content:""; width:14px; height:10px; border-radius:3px; border:1.5px solid currentColor; box-shadow:inset 0 2.5px 0 -1px currentColor; flex:none; }
.tx-bnpl{ display:grid; gap:10px; padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.78); border:1px solid var(--line); }
.tx-bnpl p{ margin:0; }
.tx-bnpl__t{ display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; font-size:14px; color:var(--muted); }
.tx-bnpl__t b{ color:var(--navy); font-weight:600; }
.tx-bnpl__off{ display:none; }
.tx-bnpl.is-off .tx-bnpl__on{ display:none; }
.tx-bnpl.is-off .tx-bnpl__off{ display:inline; }
.tx-bnpl__logos{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; transition:opacity .3s, filter .3s; }
.tx-bnpl.is-off .tx-bnpl__logos{ opacity:.5; filter:grayscale(1); }
img.bnpl{ display:block; height:28px; width:auto; }   /* official Klarna / Afterpay badges (assets/pay/) */
.bnpl--affirm{ display:inline-flex; align-items:center; height:28px; padding:0 12px; border-radius:999px; background:#fff; border:1px solid rgba(0,32,79,.14); }
.bnpl--affirm img{ display:block; height:18px; width:auto; }
.tx-bnpl__fine{ font-size:11.5px; line-height:1.45; color:var(--muted); }
.tx-plan--once .tx-plan__chip{ background:var(--navy); }   /* 2026-10-27: single order (Bask one-time purchase) */
@media (max-width:640px){ .tx-plan__bnpl{ grid-column:1; } .tx-bnpl{ padding:12px 14px; } img.bnpl,.bnpl--affirm{ height:26px; } .bnpl--affirm img{ height:16px; } }

/* ---------- 2026-11-03 RESPONSIVE PASS: closing-band buttons stack full width on phones (the category button was cut off at
   360 px), and the plan picker uses two equal columns; with an odd number of plans the first one (Single order) takes the
   whole row, so no plan is left alone under an empty slot. ---------- */
@media (min-width:641px){
  .tx-plans{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tx-plans > .tx-plan:first-child:nth-last-child(odd){ grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:16px; row-gap:4px; }
  .tx-plans > .tx-plan:first-child:nth-last-child(odd) > *{ grid-column:1; }
  .tx-plans > .tx-plan:first-child:nth-last-child(odd) > .tx-plan__price{ grid-column:2; grid-row:1 / span 3; }
}
@media (max-width:640px){
  .tx-final__ctas{ flex-direction:column; align-items:stretch; }
  .tx-final__ctas .btn{ width:100%; white-space:normal; text-align:center; line-height:1.25; padding:12px 22px; }
}
/* benefits: odd counts close with a centred last row instead of a hole on the right */
@media (min-width:1101px){
  .cx-ben__grid:not([data-n="4"]){ grid-template-columns:repeat(6,minmax(0,1fr)); }
  .cx-ben__grid:not([data-n="4"]) > li{ grid-column:span 2; }
  .cx-ben__grid:not([data-n="4"]) > li:nth-child(3n+1):nth-last-child(2){ grid-column:2 / span 2; }
  .cx-ben__grid:not([data-n="4"]) > li:nth-child(3n+1):last-child{ grid-column:3 / span 2; }
}
@media (min-width:641px) and (max-width:1100px){
  .cx-ben__grid,.cx-ben__grid[data-n="4"]{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .cx-ben__grid > li{ grid-column:span 2; }
  .cx-ben__grid > li:nth-child(odd):last-child{ grid-column:2 / span 2; }
}
