/* Native horizontal scrolling keeps touch movement under the browser's control. */
.project-bloooom .membership-layout{--membership-glass:var(--glass-surface);--membership-selected:var(--glass-solid);--membership-border:var(--line);--membership-shadow:var(--glass-shadow)}
.project-bloooom .membership-layout [hidden]{display:none!important}
.project-bloooom .membership-panel{min-width:0}
.project-bloooom .membership-panel+.membership-panel{margin-top:30px}
.project-bloooom .membership-fallback-heading{font-size:20px;margin:0 0 18px}
.project-bloooom .membership-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.project-bloooom .membership-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.project-bloooom .membership-tabs{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;padding:5px;border:1px solid var(--membership-border);border-radius:999px;background:var(--membership-glass);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:inset 0 1px 0 #ffffff73,0 5px 18px var(--membership-shadow)}
.project-bloooom .membership-tabs button{min-width:122px;min-height:44px;padding:11px 24px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .15s,color .15s,box-shadow .15s}
.project-bloooom .membership-tabs button[aria-selected=true]{background:var(--membership-selected);border-color:var(--membership-border);color:var(--ink);box-shadow:0 2px 7px var(--membership-shadow),inset 0 1px 0 #ffffff26}
.project-bloooom .membership-tabs button:active{background:var(--soft)}
.project-bloooom .membership-swipe-hint{display:none;margin:0;font-size:11px;color:var(--muted)}
.project-bloooom .membership-layout[data-enhanced=true] .membership-stage{display:grid}
.project-bloooom .membership-layout[data-enhanced=true] .membership-panel{grid-area:1/1;display:flex;flex-direction:column;margin:0}
.project-bloooom .membership-layout[data-enhanced=true] .membership-panel[aria-hidden=true]{visibility:hidden;pointer-events:none}
.project-bloooom .membership-layout[data-enhanced=true] .membership-track{flex:1}
.project-bloooom .membership-layout[data-enhanced=true] .membership-fallback-heading{display:none}
.project-bloooom .membership-layout .membership-carousel-controls{display:none}
.project-bloooom .membership-layout .membership-custom-price strong{font-size:clamp(36px,4vw,48px)}
.project-bloooom .membership-layout .membership-local-detail{font-size:14px;max-width:270px;margin-top:32px;line-height:1.8}
.project-bloooom .membership-layout .bloooom-plan-cta{margin-top:auto}
.project-bloooom .membership-arrow{width:17px;height:17px;flex-shrink:0}
.project-bloooom .membership-layout :is(button,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.project-bloooom .membership-track:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
:root[data-theme=dark] .project-bloooom .membership-layout{--membership-glass:var(--glass-surface);--membership-selected:var(--glass-solid);--membership-border:var(--line);--membership-shadow:var(--glass-shadow)}
@media(max-width:599px),(max-width:1100px) and (orientation:portrait){
  .project-bloooom .membership-track{grid-template-columns:1fr}
  .project-bloooom .membership-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px}
  .project-bloooom .membership-tabs{width:100%}
  .project-bloooom .membership-tabs button{min-width:0;font-size:13px}
  .project-bloooom .membership-swipe-hint{display:block}
  .project-bloooom .membership-layout[data-enhanced=true] .membership-track{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:100%;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .project-bloooom .membership-track::-webkit-scrollbar{display:none}
  .project-bloooom .membership-layout[data-enhanced=true] .bloooom-plan{scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box;min-width:0}
  .project-bloooom .membership-layout .membership-carousel-controls{display:flex;align-items:center;justify-content:center;gap:22px;min-height:74px;padding-top:18px}
  .project-bloooom .membership-step{display:none}
  .project-bloooom .membership-step:active{background:var(--membership-selected)}
  .project-bloooom .membership-step:disabled{opacity:.3;cursor:default}
  .project-bloooom .membership-step svg{width:20px;height:20px}
  .project-bloooom .membership-pagination{display:grid;justify-items:center;min-width:135px}
  .project-bloooom .membership-current{font-size:11px;line-height:1.4;color:var(--muted);margin:0}
  .project-bloooom .membership-dots{display:flex;justify-content:center}
  .project-bloooom .membership-dots button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .project-bloooom .membership-dots span{display:block;width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.4}
  .project-bloooom .membership-dots button[aria-current=true] span{width:18px;border-radius:8px;background:var(--accent);opacity:1}
}
@media(prefers-reduced-motion:reduce){.project-bloooom .membership-tabs button{transition:none}}
@media(prefers-reduced-transparency:reduce){.project-bloooom .membership-tabs{background:var(--soft);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){
  .project-bloooom .membership-tabs,.project-bloooom .membership-step{background:Canvas;border-color:ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
  .project-bloooom .membership-tabs button{color:ButtonText}
  .project-bloooom .membership-tabs button[aria-selected=true]{background:Highlight;color:HighlightText;border-color:Highlight;box-shadow:none}
  .project-bloooom .membership-dots span{background:ButtonText;opacity:1}
  .project-bloooom .membership-dots button[aria-current=true] span{background:Highlight}
}

/* Pricing uses the established brand tokens and existing responsive controls. */
:root .project-bloooom.bb-conversion #memberships .membership-country-slot:has(> [hidden]){display:none}
:root .project-bloooom.bb-conversion #memberships .bloooom-section-heading{margin-bottom:20px}
:root .project-bloooom.bb-conversion #memberships .bb-paid-intro{margin-bottom:22px;max-width:760px}
:root .project-bloooom.bb-conversion #memberships .bb-paid-intro h3{font-size:24px;margin-bottom:8px}
:root .project-bloooom.bb-conversion #memberships .bb-paid-intro p{font-size:13px;line-height:1.65}
:root .project-bloooom.bb-conversion #memberships .membership-toolbar{margin-bottom:20px}
:root .project-bloooom.bb-conversion #memberships .membership-layout[data-enhanced=true] .membership-stage{display:block}
:root .project-bloooom.bb-conversion #memberships .membership-layout[data-enhanced=true] .membership-panel[aria-hidden=true]{display:none}
:root .project-bloooom.bb-conversion #memberships .membership-track{align-items:start;gap:16px;flex:none}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;min-height:0;height:auto;padding:24px;border-radius:12px;border:1px solid var(--line)}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan:has(#individual-title){border:1px solid var(--line)}
:root .project-bloooom.bb-conversion #memberships :is(.bb-plan-identity,.bb-plan-features,.bb-plan-action){min-width:0}
:root .project-bloooom.bb-conversion #memberships .bb-plan-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px;align-items:center}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-top{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px 12px;min-height:0;margin:0 0 14px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-top .eyebrow{font-size:9px;line-height:1.5}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-status{font-size:9px;line-height:1.4;padding:3px 6px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan h3{font-size:25px;line-height:1.2;margin:0;letter-spacing:-.04em}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price{min-height:0;margin:0;gap:4px;justify-content:flex-end;max-width:160px}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price strong{font:500 34px/1.1 var(--brand-font);letter-spacing:-.05em}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price span{font-size:11px;line-height:1.4}
:root .project-bloooom.bb-conversion #memberships .membership-custom-price strong{font-size:28px}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding-top:16px;border-top:1px solid var(--line)}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowances>div{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;gap:5px;padding:0;border:0;min-width:0}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowances dt{font-size:12px;line-height:1.45}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowances dd{font-size:29px;font-weight:500;line-height:1.1;letter-spacing:-.04em}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-detail{font-size:12px;line-height:1.65;margin:14px 0 0;max-width:none}
:root .project-bloooom.bb-conversion #memberships .bb-paid-plan-note{font-size:12px;line-height:1.55;margin:0 0 12px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan .bloooom-plan-cta{min-height:46px;width:100%;margin:0;padding:12px 15px;font-size:13px;line-height:1.4;border-radius:8px;box-sizing:border-box}
:root .project-bloooom.bb-conversion #memberships .membership-local-summary{font-size:14px;line-height:1.5;margin:0 0 12px}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding-top:14px;border-top:1px solid var(--line)}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:0;border:0;min-width:0}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs dt{font-size:11px;line-height:1.45}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs dd{font-size:12px;line-height:1.5;margin:0;text-align:left;max-width:none}
:root .project-bloooom.bb-conversion #memberships :is(.membership-local-detail,.membership-local-scope){font-size:12px;line-height:1.65;max-width:none;margin:14px 0 0}
:root .project-bloooom.bb-conversion #memberships .membership-carousel-controls{min-height:62px;padding-top:12px}
@media(min-width:1440px){
  :root .project-bloooom.bb-conversion #memberships .membership-track{grid-template-columns:minmax(0,1fr);gap:12px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan{grid-template-columns:210px minmax(0,1fr) 210px;align-items:center;gap:32px;padding:24px 28px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-identity{display:block}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan-top{gap:7px 10px;margin-bottom:10px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan h3{font-size:25px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-price{justify-content:flex-start;max-width:none;margin-top:10px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-features{border-left:1px solid var(--line);padding-left:32px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-allowances{border:0;padding:0;max-width:440px}
  :root .project-bloooom.bb-conversion #memberships .membership-local-specs{padding:0;border:0}
}
@media(max-width:599px){
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan{padding:22px 20px;gap:20px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-identity{gap:0 12px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan-top{margin-bottom:14px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan h3{font-size:24px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-price strong{font-size:32px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-price{max-width:140px}
  :root .project-bloooom.bb-conversion #memberships .membership-custom-price strong{font-size:26px}
  :root .project-bloooom.bb-conversion #memberships .membership-local-specs{grid-template-columns:1fr;gap:9px}
  :root .project-bloooom.bb-conversion #memberships .membership-local-specs>div{display:grid;grid-template-columns:1fr 1.15fr;gap:12px}
}
@media(forced-colors:active){
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan,:root .project-bloooom.bb-conversion #memberships .bloooom-plan:has(#individual-title){border-color:CanvasText;box-shadow:none}
}

/* Familiar vertical pricing cards. Colours come from the existing brand tokens. */
:root .project-bloooom.bb-conversion #memberships .bloooom-section-heading{display:block;text-align:center;margin-bottom:14px}
:root .project-bloooom.bb-conversion #memberships .membership-country-slot{margin:14px auto 0;max-width:580px;min-height:0}
:root .project-bloooom.bb-conversion #memberships .bb-paid-intro{max-width:610px;margin:0 auto 24px;text-align:center}
:root .project-bloooom.bb-conversion #memberships .bb-paid-intro h3{font-size:21px;margin-bottom:8px}
:root .project-bloooom.bb-conversion #memberships .membership-layout{max-width:840px;margin-inline:auto}
:root .project-bloooom.bb-conversion #memberships .membership-toolbar{justify-content:center;margin-bottom:24px}
:root .project-bloooom.bb-conversion #memberships .membership-tabs{background:var(--soft);border-color:var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
:root .project-bloooom.bb-conversion #memberships .membership-tabs button[aria-selected=true]{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none}
:root .project-bloooom.bb-conversion #memberships .membership-track{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:stretch;gap:22px;min-height:0;height:auto;padding:28px;border-radius:16px;background:var(--glass-solid);border:1px solid var(--line);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan:has(#individual-title){border:1px solid var(--line);box-shadow:none}
:root .project-bloooom.bb-conversion #memberships .bb-plan-identity{display:block}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-top{min-height:22px;gap:8px 10px;margin:0 0 16px;align-items:center}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan h3{font-size:27px;line-height:1.2;margin:0 0 12px}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price{justify-content:flex-start;max-width:none;margin:0;gap:5px}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price strong{font-size:40px;line-height:1.1}
:root .project-bloooom.bb-conversion #memberships .bb-plan-price span{font-size:12px}
:root .project-bloooom.bb-conversion #memberships .membership-custom-price strong{font-size:34px}
:root .project-bloooom.bb-conversion #memberships .bb-plan-features{border:0;padding:0}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowances{border-top:1px solid var(--line);padding-top:18px;max-width:none;gap:18px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan-detail{font-size:13px;line-height:1.6;margin-top:18px}
:root .project-bloooom.bb-conversion #memberships .bb-plan-action{align-self:end}
:root .project-bloooom.bb-conversion #memberships .bb-paid-plan-note{font-size:12px;line-height:1.55;margin-bottom:12px}
:root .project-bloooom.bb-conversion #memberships .bloooom-plan .bloooom-plan-cta{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin:0;padding:13px 16px;font-size:14px;border-radius:9px}
:root .project-bloooom.bb-conversion #memberships .membership-local-summary{font-size:14px;margin:0 0 14px}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:16px;border-top:1px solid var(--line)}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs>div{display:grid;grid-template-columns:1fr 1.2fr;gap:14px}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs dt{font-size:12px}
:root .project-bloooom.bb-conversion #memberships .membership-local-specs dd{font-size:12px;max-width:none}
:root .project-bloooom.bb-conversion #memberships :is(.membership-local-detail,.membership-local-scope){font-size:12px;line-height:1.6;margin-top:14px}
:root .project-bloooom.bb-conversion #memberships .bloooom-allowance-note{max-width:840px;margin:20px auto 0;text-align:center}
@media(max-width:599px),(max-width:1100px) and (orientation:portrait){
  :root .project-bloooom.bb-conversion #memberships .membership-track{grid-template-columns:1fr;gap:16px}
  :root .project-bloooom.bb-conversion #memberships .membership-layout[data-enhanced=true] .membership-track{grid-template-columns:none}
  :root .project-bloooom.bb-conversion #memberships .membership-toolbar{gap:12px}
  :root .project-bloooom.bb-conversion #memberships .membership-swipe-hint{width:100%;text-align:center}
}
@media(max-width:599px){
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan{padding:24px 22px;gap:20px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan-top{margin-bottom:14px}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan h3{font-size:26px}
  :root .project-bloooom.bb-conversion #memberships .bb-plan-price strong{font-size:38px}
  :root .project-bloooom.bb-conversion #memberships .membership-custom-price strong{font-size:32px}
}
@media(forced-colors:active){
  :root .project-bloooom.bb-conversion #memberships .membership-tabs button[aria-selected=true]{background:Highlight;color:HighlightText;border-color:Highlight}
  :root .project-bloooom.bb-conversion #memberships .bloooom-plan{background:Canvas;color:CanvasText;border-color:CanvasText}
}

:root .project-bloooom.bb-conversion #memberships{padding-block:48px 56px}
:root .project-bloooom.bb-conversion #memberships .bloooom-section-heading h2{max-width:none;width:auto;margin-inline:auto;font-size:44px;line-height:1.15}
@media(max-width:599px){:root .project-bloooom.bb-conversion #memberships .bloooom-section-heading h2{font-size:34px}}
