/* bariatric-prices.css: bariatric price section, Option C (classic table), production.
   Base: Option C with Brand fixes (Oct 22). Layout guided by the structure of a published pricing
   table (eyebrow > heading > table > note > CTAs); wording, icons and code are our own.
   Loaded after styles.css and refresh.css on bariatric-surgery.html only. */
.bp-vh{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.bp-ic{width:1em; height:1em; flex:none; vertical-align:-.14em}
.bp-cur{font-size:.875rem; font-weight:700; letter-spacing:.06em; color:var(--ink-soft); margin-left:.15em; vertical-align:.15em}
.bp-amt{font-variant-numeric:tabular-nums lining-nums}
.bp-nw{white-space:nowrap}

/* section panel: soft cyan glow, full-bleed on phones */
.bpc{margin:36px -18px 0; padding:30px 12px 30px; max-width:none;
  background:radial-gradient(circle at 8% 6%, rgba(95,205,240,.16), rgba(95,205,240,0) 42%), linear-gradient(180deg,#F8FBFD 0%,#EDF4F8 100%)}
.rf-bar .serrano-sec .bpc{grid-column:1 / -1}
.bpc-head{text-align:center; max-width:640px; margin:0 auto 18px}
.bpc-eyebrow{display:inline-block; margin:0 0 10px; padding:7px 14px; border-radius:999px; background:#fff; border:1px solid #cfe6f2;
  color:#0A2A45; font-size:.875rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; box-shadow:0 2px 10px rgba(20,121,174,.10)}
#prices .bpc .pt-title{font-size:clamp(1.55rem,6vw,2.3rem); line-height:1.15; margin:0; color:#0A2A45; letter-spacing:-.01em}

/* table card: overflow:clip keeps rounded corners without breaking the sticky header */
.bpc-card{max-width:900px; margin:0 auto; background:#fff; border:1px solid #d9e6ee; border-radius:18px; overflow:clip;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset, 0 18px 44px -26px rgba(6,34,60,.45), 0 10px 24px -20px rgba(39,178,232,.35)}
.bpc-table{width:100%; border-collapse:separate; border-spacing:0}
.bpc-table thead th{position:sticky; top:76px; z-index:5; color:#fff; font-size:.875rem; line-height:1.25; font-weight:700; letter-spacing:.02em;
  padding:12px 8px; text-align:center; vertical-align:middle;
  background:#0A2A45}
.bpc-table thead th:first-child{text-align:left; padding-left:14px}
.bpc-table thead .bp-ic{display:block; margin:0 auto 4px; font-size:1.15rem; color:#5FCDF0}
.bpc-table thead .bpc-hp{color:#c7d8e6; text-transform:uppercase; letter-spacing:.08em}
.bpc-hn{display:block}
.bpc-table tbody th,.bpc-table tbody td{padding:14px 8px; border-top:1px solid #e3e9ef; vertical-align:middle}
.bpc-table tbody tr:first-child th,.bpc-table tbody tr:first-child td{border-top:0}
.bpc-table tbody th{text-align:left; padding-left:14px; width:46%; font-weight:400}
.bpc-table tbody td{text-align:center; width:27%}
.bpc-table tbody tr:nth-child(even) th,.bpc-table tbody tr:nth-child(even) td{background:#f8fbfc}

/* hierarchy: procedure (serif, navy) > hospital (column head) > price (bold, AA cyan-blue) */
.bpc-name{display:inline-flex; align-items:center; gap:6px; min-height:44px; font-family:Georgia,"Times New Roman",serif; font-style:italic;
  font-size:1.08rem; line-height:1.2; font-weight:700; color:#0A2A45}
.bpc-stay{display:flex; align-items:center; gap:5px; margin-top:2px; font-size:.875rem; font-weight:500; line-height:1.35; color:var(--ink-soft)}
.bpc-stay .bp-ic{color:#106a96; display:none}
.bpc-table tbody td .bp-amt{display:inline-block; font-size:1.25rem; font-weight:800; line-height:1.05; color:#106a96; white-space:nowrap}
.bpc-table tbody td .bp-cur{display:block; margin:4px 0 0; font-size:.875rem; vertical-align:0}
.bpc-oneport th{box-shadow:inset 5px 0 0 #27B2E8}
.bpc-oneport th,.bpc-oneport td{background:#F1F9FD!important}
.bpc-mark{color:#1479AE; font-size:.95rem}
.bpc-pill{display:inline-block; padding:9px 16px; border-radius:999px; background:#E3F4FB; border:1px solid #bfe3f3; color:#0A2A45; font-weight:700; font-size:.95rem}

/* notes */
.bp-notes{max-width:900px; margin:16px auto 0; padding:16px 18px; border-radius:14px; background:#f8fafb; border:1px solid var(--line)}
.bp-notes .ptable-caption{margin:0}
.bp-notes .ptable-fee{margin:8px 0 0; color:var(--navy-900)}
.bp-notes .ptable-source{margin:8px 0 0}
.bp-notes .ptable-caption,.bp-notes .ptable-fee{font-size:1rem} .bp-notes .ptable-source{font-size:.875rem}
.bp-notes a{color:#1479AE; text-decoration:underline}

/* CTAs: big pills, stacked on phones */
.bpc-cta{display:flex; flex-direction:column; gap:12px; max-width:900px; margin:18px auto 0}
.bpc-cta .btn{display:flex; align-items:center; justify-content:center; gap:12px; min-height:56px; border-radius:999px; font-size:1.06rem; font-weight:700; text-decoration:none}
.bp-cta.btn-primary{background:#106a96; border:2px solid #106a96; color:#fff; padding:8px 10px 8px 26px; box-shadow:0 10px 24px -10px rgba(16,106,150,.65)}
.bp-cta.btn-primary:hover,.bp-cta.btn-primary:focus-visible{background:#0f5f88; border-color:#0f5f88; color:#fff}
.bp-go{display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#fff; color:#106a96; flex:none}
.bp-go .bp-ic{font-size:1.1rem}
.bp-callline{margin:0; text-align:center; font-size:1rem}
.bp-callline a{display:inline-flex; align-items:center; min-height:44px; font-weight:700}
.rf .bpc .bp-callline a{color:#106a96}
#prices .bpc a:focus-visible,#prices .bpc .btn:focus-visible{outline:3px solid #1479AE; outline-offset:2px}

@media (min-width:600px){
  .bpc{margin:44px 0 0; padding:40px 24px; border-radius:24px}
}
@media (min-width:700px){
  .bpc-table thead th{font-size:.9rem; padding:16px 14px}
  .bpc-table thead .bp-ic{display:inline-block; margin:0 6px 0 0; vertical-align:-.18em}
  .bpc-hn{display:inline}
  .bpc-stay .bp-ic{display:inline-block}
  .bpc-table tbody th{padding:16px 22px}
  .bpc-table tbody td{padding:16px 14px}
  .bpc-name{font-size:1.2rem}
  .bpc-table tbody td .bp-amt{font-size:1.6rem}
  .bpc-table tbody td .bp-cur{display:inline; margin-left:.2em; vertical-align:.2em}
  .bpc-cta{flex-direction:row; justify-content:center; align-items:center}
  .bpc-cta .btn{min-width:260px}
}
@media (max-width:370px){
  .bpc{padding-left:8px; padding-right:8px}
  .bpc-table tbody th{padding-left:10px}
  .bpc-table tbody td{padding:12px 4px}
  .bpc-table tbody td .bp-amt{font-size:1.1rem}
  .bpc-name{font-size:1rem}
  .bpc-pill{padding:7px 10px; font-size:.875rem}
}
@media (prefers-reduced-motion:reduce){.bpc *{transition:none!important}}

/* FAQ accordion (mobile-first, native details/summary) */
.rf .bpc-faq .faq-item{background:#fff; border:1px solid var(--line); border-radius:14px; margin:0 0 10px; box-shadow:var(--rf-sh)}
.rf .bpc-faq summary{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:12px 16px; cursor:pointer; list-style:none; border-radius:14px}
.rf .bpc-faq summary::-webkit-details-marker{display:none}
.rf .bpc-faq summary .faq-q{margin:0; font-size:1.0625rem; line-height:1.35; color:#0A2A45}
.rf .bpc-faq .faq-tog{flex:0 0 32px; width:32px; height:32px; border-radius:50%; background:#E3F4FB; position:relative}
.rf .bpc-faq .faq-tog::before,.rf .bpc-faq .faq-tog::after{content:""; position:absolute; left:50%; top:50%; width:14px; height:2px; margin:-1px 0 0 -7px; background:#0A2A45; border-radius:2px; transition:transform .2s}
.rf .bpc-faq .faq-tog::after{transform:rotate(90deg)}
.rf .bpc-faq details[open] .faq-tog::after{transform:rotate(0)}
.rf .bpc-faq summary:hover .faq-q{color:#106a96}
.rf .bpc-faq summary:focus-visible{outline:3px solid #1479AE; outline-offset:2px}
.rf .bpc-faq .faq-a{padding:0 16px 16px}
.rf .bpc-faq .faq-a p{margin:0; font-size:1rem; line-height:1.6}
@media (prefers-reduced-motion:reduce){.rf .bpc-faq .faq-tog::after{transition:none}}
