/* bariatric-hub.css: hub + 6 procedure pages (Oct 23, 2026). Mobile-first. */
.hb{overflow-wrap:break-word}
.hb main{overflow-x:clip}
.hb a:focus-visible,.hb summary:focus-visible,.hb .btn:focus-visible{outline:3px solid #1479AE;outline-offset:2px;border-radius:6px}
/* breadcrumbs */
.hb-crumbs{background:var(--rf-sky2,#F1F9FD);border-bottom:1px solid var(--line,#e2e8ec);font-size:.92rem}
.hb-crumbs ol{list-style:none;margin:0;padding:4px 0;display:flex;flex-wrap:wrap;align-items:center}
.hb-crumbs li{display:flex;align-items:center;color:var(--ink-soft,#4a5c68)}
/* Brand 4:54 AM: separator drawn after each non-last item so a wrapped line never starts with "/" (replaces li+li::before + nowrap) */
.hb-crumbs li:not(:last-child)::after{content:"/";margin:0 6px;color:#6b7c87}
.hb-crumbs a{display:inline-flex;align-items:center;min-height:44px;padding:0 2px;color:#106a96}
.hb-crumbs [aria-current]{color:var(--ink,#152530);font-weight:600}
/* hero */
.hb-hero h1{font-size:clamp(1.75rem,6.4vw,2.6rem);line-height:1.15}
.hb-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;padding:0}
.hb-chip{display:inline-block;background:#fff;border:1px solid #bfe3f3;border-radius:999px;padding:6px 12px;font-size:.92rem;color:var(--ink,#152530)}
.hb-chip strong{color:#0A2A45}
.hb .btn-row{display:flex;flex-wrap:wrap;gap:10px}
.hb .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.hb-ghost{background:#fff}
.hb-diagram{margin:0 auto;max-width:360px}
.hb-diagram img{display:block;width:100%;height:auto;border-radius:var(--rf-r-lg,24px);background:#fff;border:1px solid var(--line,#e2e8ec)}
.hb-diagram figcaption{font-size:.9rem;color:var(--ink-soft,#4a5c68);margin-top:8px;line-height:1.45}
.hb-hero-art img{aspect-ratio:auto}
/* section heads */
.hb-sec-h{margin-top:0}
.hb-lead{max-width:760px}
/* lists, steps, timeline */
.hb-list{padding-left:1.2em;margin:0 0 16px}
.hb-list li{margin:0 0 10px;line-height:1.55}
.hb-steps{list-style:none;margin:0 0 16px;padding:0;counter-reset:none}
.hb-steps li{display:flex;gap:14px;align-items:flex-start;margin:0 0 14px;line-height:1.55}
.hb-n{flex:0 0 34px;height:34px;border-radius:50%;background:#1479AE;color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.hb-timeline{list-style:none;padding:0 0 0 22px;border-left:3px solid #bfe3f3;margin-left:8px}
.hb-timeline li{position:relative;padding-left:4px}
.hb-timeline li::before{content:"";position:absolute;left:-31px;top:.45em;width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid #1479AE}
.hb-note{font-size:1rem;color:var(--ink-soft,#4a5c68);background:var(--rf-sky2,#F1F9FD);border-left:4px solid #1479AE;padding:10px 14px;border-radius:0 10px 10px 0}
.hb a{text-underline-offset:2px}
.hb .qa-a a,.hb-list a,.hb-note a,.hb-table a,.hb-src a{color:#106a96;text-decoration:underline}
/* tables: no horizontal scroll needed at 360 */
.hb-tablewrap{margin:0 0 14px}
.hb-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:fixed;background:#fff}
.hb-table th,.hb-table td{border:1px solid var(--line,#e2e8ec);padding:8px 6px;text-align:left;vertical-align:top;overflow-wrap:anywhere;hyphens:auto}
.hb-table thead th{background:#0A2A45;color:#fff;font-weight:600}
.hb-table tbody th{background:var(--rf-sky2,#F1F9FD);font-weight:600}
.hb-table a{display:inline-block;min-height:24px}
@media (min-width:600px){.hb-table{font-size:.97rem}.hb-table th,.hb-table td{padding:10px 12px}}
/* hospitals */
.hb-hosp{display:grid;gap:18px;grid-template-columns:1fr}
.hb-hcard{margin:0;background:#fff;border:1px solid var(--line,#e2e8ec);border-radius:var(--rf-r,16px);overflow:hidden}
.hb-hcard img{display:block;width:100%;height:220px;object-fit:cover}
.hb-hcard figcaption{padding:14px 16px}
.hb-hcard h3{margin:0 0 6px}
.hb-hcard p{margin:0;color:var(--ink-soft,#4a5c68);line-height:1.5}
@media (min-width:700px){.hb-hosp{grid-template-columns:1fr 1fr}.hb-hcard img{height:280px}}
/* hub cards */
.hb-cards{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:16px;grid-template-columns:1fr}
.hb-card{display:flex;gap:14px;background:#fff;border:1px solid var(--line,#e2e8ec);border-radius:var(--rf-r,16px);padding:14px;position:relative}
.hb-cimg{flex:0 0 80px;width:80px;height:100px;object-fit:cover;border-radius:10px;background:var(--rf-sky,#E3F4FB)}
.hb-cbody{min-width:0}
.hb-cname{margin:0 0 6px;font-size:1.12rem}
.hb-cname a{color:#0A2A45;text-decoration:none;display:inline-block;min-height:44px;padding:10px 0;box-sizing:border-box}
.hb-cname a::after{content:"";position:absolute;inset:0;border-radius:var(--rf-r,16px)}
.hb-cname a:hover{text-decoration:underline}
.hb-card:focus-within{outline:3px solid #1479AE;outline-offset:2px}
.hb-cname a:focus-visible{outline:none}
.hb-cblurb{margin:0 0 8px;color:var(--ink-soft,#4a5c68);line-height:1.5}
.hb-cprice{margin:0 0 6px;display:flex;flex-wrap:wrap;gap:4px 16px}
.hb-cprice div{margin:0}
.hb-cprice dt{font-size:.875rem;color:var(--ink-soft,#4a5c68)}
.hb-cprice dd{margin:0;font-weight:700;color:#0A2A45}
.hb-cstay{margin:0;font-size:.88rem;color:var(--ink-soft,#4a5c68)}
.hb-cpq{margin:0 0 6px}
@media (min-width:760px){.hb-cards{grid-template-columns:1fr 1fr}}
@media (min-width:1100px){.hb-cards{grid-template-columns:1fr 1fr 1fr}.hb-card{flex-direction:column}.hb-cimg{width:100%;height:auto;aspect-ratio:4/5;flex:none;max-height:220px;object-fit:contain}}
/* related */
.hb-relgrid{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px;grid-template-columns:1fr}
.hb-rel{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:10px 14px;background:#fff;border:1px solid var(--line,#e2e8ec);border-radius:12px;color:#0A2A45;font-weight:600;text-decoration:none}
.hb-rel:hover{border-color:#1479AE}
.hb-rel .bp-ic{width:20px;height:20px;flex:0 0 20px;color:#1479AE}
@media (min-width:600px){.hb-relgrid{grid-template-columns:1fr 1fr}}
.hb .text-link{display:inline-flex;align-items:center;gap:6px;min-height:44px}
/* pay / insurance block */
.hb-pay{margin:18px 0;padding:16px 18px;background:#fff;border:1px solid var(--line,#e2e8ec);border-radius:var(--rf-r,16px)}
.hb-pay .qa-kicker{margin:0 0 4px;font-size:.92rem;font-weight:600;color:#106a96}
.hb-pay h3{margin:0 0 8px}
.hb-pay p{margin:0 0 8px;line-height:1.55}
.hb-pay .pay-line{margin:0;font-weight:600;color:var(--ink,#152530)}
/* about / sources */
.hb-src{padding-left:1.2em;margin:0 0 12px}
.hb-src li{margin:0 0 4px}
.hb-src a{display:block;min-height:44px;line-height:1.4;padding:11px 0}   /* Brand 8:28: block so the bullet aligns with the first line; 44px tap target kept */
.hb .last-updated{font-size:.875rem}   /* Brand 8:28 */
.hb-src-h{margin:18px 0 8px}
.hb-up{margin:0}
@media (min-width:960px){.hb-diagram{max-width:400px}}
/* price table row links: AA contrast + 44px tap height */
.hb #prices .bpc-name a{color:#0A2A45;text-decoration:underline;text-decoration-color:#1479AE;text-underline-offset:3px;display:inline;padding:13px 0;margin:-13px 0}
.hb #prices .bpc-name a:hover{color:#106a96}
/* included list: Legal/Brand FINAL text verbatim; 1 column on phones, 2-column grid on desktop */
.hb .hb-incl-wrap{margin-top:12px}
.hb .hb-incl,.hb .hb-excl{display:grid;grid-template-columns:minmax(0,1fr);gap:10px 20px;margin:0 0 16px;padding:0;list-style:none}
.hb .hb-incl .rf-li,.hb .hb-excl .rf-li{display:flex;align-items:flex-start;gap:12px;min-width:0;overflow-wrap:anywhere}
.hb .hb-incl .rf-li{background:#fff;border:1px solid #d5e3ec;border-radius:12px;padding:12px 14px}
.hb .hb-incl-note{font-size:1rem;color:#33475b;margin:0 0 16px}
@media (min-width:768px){.hb .hb-incl,.hb .hb-excl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hb ul.incl.hb-incl li.rf-li{padding:12px 16px 12px 12px;align-items:center}
footer.site h2.ft-h{color:#fff;font-size:.92rem;margin:0 0 14px;font-weight:700;line-height:1.3}
.hb .hb-value{margin:4px 0 20px;padding:12px 16px;border-left:4px solid #0a2a45;background:#f3f8fb;color:#0a2a45;font-weight:700;border-radius:0 10px 10px 0}
.cta-band .hb-form-disclosure{color:#fff;font-size:.9rem;line-height:1.5;margin:14px auto 0;max-width:46ch}

/* BM S5: comparison table stacks as cards on phones */
@media (max-width:480px){.hb-table,.hb-table tbody,.hb-table tr,.hb-table th,.hb-table td{display:block;width:100%;box-sizing:border-box}
.hb-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hb-table{border:0;background:none}.hb-table tr{background:#fff;border:1px solid var(--line,#e2e8ec);border-radius:12px;margin:0 0 10px;overflow:hidden}
.hb-table tbody th{border:0;padding:10px 12px;font-size:1rem}.hb-table td{border:0;border-top:1px solid var(--line,#e2e8ec);padding:8px 12px}
.hb-table td::before{content:attr(data-label);display:block;font-weight:600;color:#0A2A45;font-size:.875rem}}

/* hospital card without photo (SHOW_HOSPITAL_PHOTOS=False) */
.hb-hcard-icon{display:flex;align-items:center;gap:14px;padding:16px}
.hb-hcard-icon img{width:56px;height:56px;object-fit:contain}
.hb-hcard-icon figcaption{padding:0}

/* Brand 4:18 AM: revision price-block eyebrow in sentence case (this modifier only; shared .bpc-eyebrow unchanged) */
.bpc-eyebrow.bpc-eyebrow--quote{text-transform:none}
/* AA fix 4:25 AM: FAQ answer links on .section-soft (#f5f8fa) were #1479ae = 4.49:1 (Lighthouse gastric-sleeve); same color as other .hb links */
.hb main .section-soft p a:not(.btn){color:#106a96}
/* CoS 7:08 AM (v7): hero "Get free guidance" + "See prices" are the same width and height. Stacked (<=600px): both full width. Side by side: two equal columns sized to the wider label. */
.hb .rf-hero-copy .btn-row{display:grid;grid-template-columns:1fr;gap:10px}
.hb .rf-hero-copy .btn-row .btn{width:100%;min-width:0;margin:0;box-sizing:border-box;padding:12px 26px;min-height:52px;border:2px solid transparent;line-height:1.25}
.hb .rf-hero-copy .btn-row .hb-ghost{border-color:var(--navy-900,#0A2A45)}
@media (min-width:601px){.hb .rf-hero-copy .btn-row{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:1fr;width:max-content;max-width:100%}}
