/* /pricing — "Plans and features". Builds on home/home.css tokens (.bc-home); page classes are .bcp-*. */
.bcp [hidden]{ display:none !important; }

/* hero */
.bc-home .bcp-hero{ padding:72px 0 40px; text-align:center; }
.bcp-hero .bch-lead{ margin:18px auto 0; max-width:640px; }
.bcp-period .bch-seg{ margin:32px 0 0; }
.bcp-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:28px; }
.bcp-chip{ display:inline-flex; align-items:center; min-height:40px; padding:0 16px; border-radius:999px; border:1px solid var(--border-subtle); background:#fff; font-size:14.5px; font-weight:500; color:var(--text-body); transition:border-color .15s,color .15s; }
.bcp-chip:hover{ border-color:#9DB9F2; color:var(--brand); }
.bcp-chip:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }

/* comparison table */
.bc-home .bcp-compare{ padding:0 0 88px; }
.bcp-table{ background:#fff; border:1px solid var(--border-subtle); border-radius:20px; padding-bottom:8px; }
.bcp-row{ display:grid; grid-template-columns:minmax(0,1.5fr) repeat(var(--bcp-cols,4),minmax(0,1fr)); }
.bcp-row + .bcp-row{ border-top:1px solid var(--hair); }
.bcp-head{ position:sticky; top:72px; z-index:5; background:rgba(255,255,255,.96); backdrop-filter:blur(10px); border-bottom:1px solid var(--border-subtle); border-radius:20px 20px 0 0; }
.bcp-head-caption{ padding:24px; align-self:end; font-size:14px; color:var(--text-muted); }
.bcp-hc{ padding:22px 18px; display:flex; flex-direction:column; gap:4px; }
.bcp-hc.is-pop{ background:#F3F7FF; }
.bcp-hc.is-last{ border-radius:0 20px 0 0; }
.bcp-hc-name{ display:flex; align-items:center; gap:8px; font-size:15px; font-weight:800; letter-spacing:.02em; color:var(--text-strong); }
.bcp-pop{ font-size:11.5px; font-weight:700; letter-spacing:0; color:var(--brand); background:#E3EEFF; padding:3px 8px; border-radius:999px; }
.bcp-hc-price{ display:flex; align-items:baseline; gap:6px; margin-top:6px; }
.bcp-hc-num{ font-size:34px; font-weight:800; letter-spacing:-.035em; color:var(--text-strong); line-height:1; }
.bcp-hc-per{ font-size:14px; color:var(--text-muted); }
.bcp-hc-note{ font-size:12.5px; line-height:1.4; color:var(--text-muted); min-height:36px; }
.bcp-hc-note b{ color:var(--text-body); font-weight:600; }
.bcp-hc .bch-pr-btn{ margin-top:8px; min-height:44px; border-radius:10px; font-size:14.5px; }
.bcp-group{ padding:28px 24px 12px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); }
.bcp-group{ position:relative; display:flex; align-items:center; gap:8px; }
/* The tip anchors to the group row (not the icon) so it never runs off the left edge on phones. */
.bcp-hint{ display:inline-flex; }
.bcp-hint-btn{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; padding:0; border:0; border-radius:999px; background:none; color:var(--text-muted); cursor:help; transition:color .15s; }
.bcp-hint-btn:hover, .bcp-hint-btn:focus-visible{ color:var(--brand); }
.bcp-hint-btn:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.bcp-hint-tip{ position:absolute; left:16px; bottom:calc(100% - 4px); z-index:5; width:max-content; max-width:min(300px, 80vw); padding:10px 12px; border-radius:10px; background:var(--text-strong); color:#fff; font-size:13.5px; font-weight:500; line-height:1.45; letter-spacing:0; text-transform:none; box-shadow:0 8px 24px rgba(15,23,42,.18); opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .15s, transform .15s, visibility .15s; pointer-events:none; }
.bcp-hint:hover .bcp-hint-tip, .bcp-hint-btn:focus + .bcp-hint-tip{ opacity:1; visibility:visible; transform:none; }
.bcp-label{ padding:16px 24px; min-width:0; }
.bcp-label-main{ display:flex; align-items:center; gap:10px; font-size:15.5px; font-weight:500; color:var(--text-strong); }
.bcp-label-note{ font-size:13px; line-height:1.45; color:var(--text-muted); margin-top:3px; }
.bcp-ch-ico{ display:flex; }
.bcp-cell{ padding:16px 18px; display:flex; align-items:center; font-size:15px; color:var(--text-body); }
.bcp-cell.is-pop{ background:#F8FAFF; }
.bcp-yes{ display:flex; color:var(--brand); }
.bcp-no{ color:#B8C3D6; }
.bcp-after{ font-size:14px; color:var(--text-muted); margin:18px 0 0; text-align:center; }
.bcp-after .bch-link{ font-size:14px; }
.bcp-tabs{ display:none; gap:4px; padding:4px; border-radius:12px; background:#EEF1F6; margin-bottom:14px; }
.bcp-tabs button{ flex:1; min-height:44px; border:none; border-radius:10px; cursor:pointer; font:700 13.5px var(--font-sans); letter-spacing:.02em; background:transparent; color:var(--text-muted); }
.bcp-tabs button[aria-selected="true"]{ background:#fff; color:var(--text-strong); box-shadow:var(--shadow-xs); }
.bcp-tabs button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }

/* section heads & content blocks */
.bcp-sec-head{ max-width:720px; margin-bottom:44px; }
.bcp-sec-head .bch-h2{ margin-top:16px; }
.bcp-sec-head .bch-lead{ margin:16px 0 0; }
.bcp-info{ display:flex; gap:14px; align-items:flex-start; background:#EEF4FF; border-radius:16px; padding:18px 22px; margin-bottom:12px; font-size:15.5px; line-height:1.55; color:var(--text-body); }
.bcp-info .bch-ico{ color:var(--brand); margin-top:2px; }
.bcp-info b{ font-weight:600; color:var(--text-strong); }
.bcp-kv{ display:grid; grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); gap:32px; border-bottom:1px solid var(--border-subtle); padding:26px 0; }
.bcp-kv-title{ font-size:19px; font-weight:700; color:var(--text-strong); letter-spacing:-.01em; }
.bcp-kv p{ margin:0; font-size:16.5px; line-height:1.6; color:var(--text-muted); max-width:720px; text-wrap:pretty; }
.bc-home .bcp-limits{ padding-top:0; }
.bcp-grid-2{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:stretch; }
.bcp-card{ background:#fff; border:1px solid var(--border-subtle); border-radius:20px; padding:28px; }
.bcp-card.is-accent{ border-color:#9DB9F2; }
.bcp-card-title{ display:flex; align-items:center; gap:10px; font-size:19px; font-weight:700; color:var(--text-strong); }
.bcp-card p{ margin:12px 0 0; font-size:15.5px; line-height:1.6; color:var(--text-muted); }

/* add-ons & calculator */
.bcp-addon-line{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--hair); font-size:19px; font-weight:700; color:var(--text-strong); }
.bcp-addon-line b{ color:var(--brand); }
.bcp-addon-note{ margin:0; }
.bcp-calc{ display:flex; flex-direction:column; gap:22px; }
.bcp-calc-label{ font-size:14px; font-weight:600; color:var(--text-muted); margin-bottom:10px; }
.bcp-calc-plans{ display:flex; gap:4px; padding:4px; border-radius:12px; background:#F3F5F9; }
.bcp-calc-plans button{ flex:1; min-height:44px; border:none; border-radius:9px; cursor:pointer; font:600 15px var(--font-sans); background:transparent; color:var(--text-muted); }
.bcp-calc-plans button.is-on{ background:#fff; color:var(--text-strong); box-shadow:var(--shadow-xs); }
.bcp-calc-plans button:focus-visible,.bcp-stepper-ctl button:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; }
.bcp-stepper{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.bcp-stepper > div:first-child{ min-width:0; flex:1; }
.bcp-stepper-label{ font-size:16px; font-weight:600; color:var(--text-strong); }
.bcp-stepper-sub{ font-size:13.5px; color:var(--text-muted); margin-top:2px; }
.bcp-stepper-ctl{ display:flex; align-items:center; gap:8px; flex:none; }
.bcp-stepper-ctl button{ width:44px; height:44px; border-radius:10px; border:1px solid #D5E0F0; background:#fff; color:var(--text-strong); font-size:20px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.bcp-stepper-ctl button:disabled{ color:#B8C3D6; cursor:default; }
.bcp-stepper-ctl span{ width:44px; text-align:center; font-size:17px; font-weight:700; color:var(--text-strong); font-variant-numeric:tabular-nums; }
.bcp-calc-result{ margin-top:auto; border-top:1px solid var(--hair); padding-top:20px; display:flex; flex-direction:column; gap:10px; }
.bcp-calc-line{ display:flex; justify-content:space-between; gap:12px; font-size:16px; color:var(--text-body); }
.bcp-calc-line b{ font-variant-numeric:tabular-nums; white-space:nowrap; }
.bcp-calc-verdict{ margin-top:6px; border-radius:12px; padding:14px 16px; font-size:15px; line-height:1.5; font-weight:500; background:#EDF8F1; color:#17603A; }
.bcp-calc-verdict.is-better{ background:#EEF4FF; color:#0B3FA8; }
.bcp-calc-verdict.is-empty{ background:#F3F5F9; color:var(--text-muted); }

@media (max-width:860px){
  .bcp-row{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); }
  .bcp-row.bcp-head{ grid-template-columns:1fr; }
  .bcp-hide-m,.bcp-hc.is-off,.bcp-cell.is-off{ display:none !important; }
  .bcp-tabs{ display:flex; }
  .bcp-hc{ border-radius:20px 20px 0 0 !important; }
  .bcp-grid-2,.bcp-kv{ grid-template-columns:1fr; }
  .bcp-kv{ gap:10px; }
}
@media (max-width:560px){
  .bc-home .bcp-hero{ padding:48px 0 32px; }
  .bcp-label{ padding:14px 16px; }
  .bcp-cell{ padding:14px 12px; }
  .bcp-card{ padding:22px; }
}
