/* BestDOC — IV drip v2 additions on top of service-detail-v2.css */

/* Blend (Ingredients) — desktop 5-col grid, mobile accordion stack */
.bd-iv2-blend{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.bd-iv2-blend-htext{display:flex;flex-direction:column;gap:4px;flex:1}
.bd-iv2-blend-htext h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:17px;line-height:1.25;color:var(--bd-ink);margin:0}
.bd-iv2-blend-amt{font-family:ui-monospace,monospace;font-size:11px;letter-spacing:.06em;color:var(--bd-stone);text-transform:none}
@media(max-width:1080px){.bd-iv2-blend{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.bd-iv2-blend{display:flex;flex-direction:column;gap:8px}}

/* Helps (Symptoms) — 3-col desktop, 2-col mobile, mini cards */
.bd-iv2-helps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.bd-iv2-help{background:#fff;border:.5px solid var(--bd-hairline);border-radius:12px;padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;position:relative}
.bd-iv2-help-dot{width:8px;height:8px;border-radius:50%;background:var(--svc-accent, var(--bd-teal));margin-bottom:2px}
.bd-iv2-help h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:18px;line-height:1.25;color:var(--bd-ink);margin:0}
.bd-iv2-help p{font-size:13.5px;line-height:1.55;color:var(--bd-ink-soft);margin:0}
@media(max-width:1080px){.bd-iv2-helps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.bd-iv2-help{padding:16px 16px 18px}.bd-iv2-help h3{font-size:16px}}

/* Other drips — desktop 3-col grid, mobile horizontal scroll-snap */
.bd-iv2-others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.bd-iv2-other{background:#fff;border:.5px solid var(--bd-hairline);border-top:3px solid var(--drip-accent,var(--svc-accent,var(--bd-teal)));border-radius:12px;padding:22px;text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:10px;transition:transform .2s,border-color .2s,box-shadow .2s}
.bd-iv2-other:hover{transform:translateY(-3px);box-shadow:0 22px 50px -34px #08384666}
.bd-iv2-other-cat{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--bd-stone)}
.bd-iv2-other h3{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:21px;line-height:1.2;color:var(--bd-ink);margin:0}
.bd-iv2-other p{font-size:14px;line-height:1.55;color:var(--bd-ink-soft);margin:0;flex:1}
.bd-iv2-other-foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px;border-top:.5px solid var(--bd-hairline);padding-top:14px;margin-top:6px}
.bd-iv2-other-price{font-family:Fraunces,Georgia,serif;font-size:24px;color:var(--bd-ink)}
.bd-iv2-other-price .ccy{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.06em;color:var(--bd-stone);margin-right:4px;text-transform:uppercase}
.bd-iv2-other-dur{font-size:13px;color:var(--bd-stone)}
.bd-iv2-other-arrow{font-size:13px;color:var(--drip-accent,var(--svc-accent,var(--bd-teal)));font-weight:500}
@media(max-width:1080px){
  .bd-iv2-others{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:none}
  .bd-iv2-others::-webkit-scrollbar{display:none}
  .bd-iv2-other{scroll-snap-align:start;flex:0 0 78%;min-width:260px}
}

/* Sticky anchor nav: tighter labels for IV (5 chips fit on mobile) */
.bd-sd2-root .bd-section-anchor-nav{padding:10px 0}

/* Pad page above fixed sticky CTA bar on mobile */
@media(max-width:720px){
  .bd-sd2-root main{padding-bottom:84px}
}

/* Size toggle in book-card */
.bd-sd2-bookcard-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin:14px 0 6px;padding:4px;background:#f5f0e3;border-radius:10px}
.bd-sd2-size-tab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border:none;border-radius:8px;background:transparent;cursor:pointer;font:inherit;color:var(--bd-ink-soft);text-align:left;transition:background .15s,color .15s}
.bd-sd2-size-tab.on{background:#fff;color:var(--bd-ink);box-shadow:0 1px 2px #08384614}
.bd-sd2-size-label{font-size:12px;letter-spacing:.04em;font-weight:500}
.bd-sd2-size-price{font-family:Fraunces,Georgia,serif;font-size:14px;color:var(--bd-stone)}
.bd-sd2-size-tab.on .bd-sd2-size-price{color:var(--bd-ink)}

/* Pack tiles below CTA */
.bd-sd2-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.bd-sd2-pack-tile{display:flex;flex-direction:column;gap:4px;padding:12px;border:.5px solid var(--bd-hairline);border-radius:10px;text-decoration:none;color:var(--bd-ink);background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s}
.bd-sd2-pack-tile:hover{border-color:var(--svc-accent,var(--bd-teal));transform:translateY(-1px);box-shadow:0 12px 30px -22px #08384640}
.bd-sd2-pack-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bd-stone)}
.bd-sd2-pack-total{font-family:Fraunces,Georgia,serif;font-size:20px;color:var(--bd-ink)}
.bd-sd2-pack-total .ccy{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.06em;color:var(--bd-stone);margin-right:4px;text-transform:uppercase}
.bd-sd2-pack-per{font-size:11.5px;color:var(--svc-accent,var(--bd-teal));font-weight:500}

/* Blend Diagram (visual-led variant) — supports any number of ingredients (4 / 5 / 6 / 7…) */
.bd-sd2-bdg{position:relative;max-width:1180px;margin:48px auto 0;padding:24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.bd-sd2-bdg-bag{grid-column:2;width:300px;max-width:36vw;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 18px 40px rgba(8,56,70,.06))}
.bd-sd2-bdg-col{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;gap:36px;height:100%}
.bd-sd2-bdg-col-l{grid-column:1;align-items:flex-end}
.bd-sd2-bdg-col-r{grid-column:3;align-items:flex-start}
.bd-sd2-bdg-item{position:relative;display:flex;align-items:center;gap:14px;padding:6px 0;max-width:320px}
.bd-sd2-bdg-left{flex-direction:row-reverse;text-align:right}
.bd-sd2-bdg-right{flex-direction:row;text-align:left}
.bd-sd2-bdg-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;border:1px solid var(--bd-gold,#C9A96E);color:var(--bd-gold,#C9A96E);font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;flex:0 0 auto;background:var(--bd-bone,#F6F1E8)}
.bd-sd2-bdg-text{min-width:0;flex:1}
.bd-sd2-bdg-h{font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:400;color:var(--bd-ink);margin:0 0 4px;line-height:1.2}
.bd-sd2-bdg-amt{display:block;font-family:Inter,sans-serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--svc-accent,var(--bd-gold));margin-bottom:6px}
.bd-sd2-bdg-s{font-size:13.5px;color:var(--bd-stone);line-height:1.5;margin:0}
.bd-sd2-bdg-item::before{content:"";position:absolute;top:21px;width:48px;height:1px;background:var(--bd-sage,#6B8E71);opacity:.55}
.bd-sd2-bdg-left::before{left:calc(100% + 6px)}
.bd-sd2-bdg-right::before{right:calc(100% + 6px)}
.bd-sd2-bdg-item::after{content:"";position:absolute;top:18px;width:7px;height:7px;border-radius:999px;background:var(--bd-sage,#6B8E71)}
.bd-sd2-bdg-left::after{left:calc(100% + 48px)}
.bd-sd2-bdg-right::after{right:calc(100% + 48px)}

.bd-sd2-bdg-mlist{display:none}

@media (max-width:860px){
  .bd-sd2-bdg{grid-template-columns:1fr auto 1fr;gap:18px 4px;margin-top:24px;padding:8px 4px;align-items:center}
  .bd-sd2-bdg-bag{grid-column:2;width:150px;max-width:40vw;margin:0 auto;transform:translateX(-6px)}
  .bd-sd2-bdg-col{gap:20px;height:100%;justify-content:center}
  .bd-sd2-bdg-col-l{grid-column:1;align-items:flex-end}
  .bd-sd2-bdg-col-r{grid-column:3;align-items:flex-start}
  .bd-sd2-bdg-item{position:relative;padding:0;max-width:none;gap:6px;align-items:flex-start}
  .bd-sd2-bdg-text{flex:0 1 auto;min-width:0}
  .bd-sd2-bdg-text .bd-sd2-bdg-amt,.bd-sd2-bdg-text .bd-sd2-bdg-s{display:none}
  .bd-sd2-bdg-num{width:22px;height:22px;font-size:9.5px;margin-top:1px}
  .bd-sd2-bdg-h{font-size:12.5px;margin:0;line-height:1.2;max-width:14ch;word-wrap:break-word}
  .bd-sd2-bdg-item::before{content:"";display:block;position:absolute;top:11px;width:14px;height:1px;background:var(--svc-accent,var(--bd-gold,#C9A96E));opacity:.55}
  .bd-sd2-bdg-item::after{content:"";display:block;position:absolute;top:8px;width:6px;height:6px;border-radius:999px;background:var(--svc-accent,var(--bd-gold,#C9A96E))}
  .bd-sd2-bdg-left::before{left:calc(100% + 4px)}
  .bd-sd2-bdg-left::after{left:calc(100% + 14px)}
  .bd-sd2-bdg-right::before{right:calc(100% + 4px)}
  .bd-sd2-bdg-right::after{right:calc(100% + 14px)}

  .bd-sd2-bdg-mlist{display:flex;flex-direction:column;list-style:none;padding:0;margin:32px 0 0;gap:0}
  .bd-sd2-bdg-mrow{display:flex;gap:12px;align-items:flex-start;padding:14px 4px;border-top:1px solid var(--bd-hairline,#D6CBB6)}
  .bd-sd2-bdg-mrow:first-child{border-top:none}
  .bd-sd2-bdg-mnum{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid var(--svc-accent,var(--bd-gold,#C9A96E));color:var(--svc-accent,var(--bd-gold,#C9A96E));font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;flex:0 0 auto;background:var(--bd-bone,#F6F1E8)}
  .bd-sd2-bdg-mtext{flex:1;min-width:0}
  .bd-sd2-bdg-mhead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 4px;flex-wrap:wrap}
  .bd-sd2-bdg-mh{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:400;color:var(--bd-ink);margin:0;line-height:1.2}
  .bd-sd2-bdg-mamt{font-family:Inter,sans-serif;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--svc-accent,var(--bd-gold));text-align:right}
  .bd-sd2-bdg-ms{font-size:13px;color:var(--bd-stone);line-height:1.5;margin:0}
}
@media (max-width:380px){
  .bd-sd2-bdg{gap:14px 2px;padding:4px 2px}
  .bd-sd2-bdg-bag{width:122px;max-width:36vw;transform:translateX(-4px)}
  .bd-sd2-bdg-col{gap:16px}
  .bd-sd2-bdg-num{width:20px;height:20px;font-size:9px}
  .bd-sd2-bdg-h{font-size:11.5px;max-width:12ch}
  .bd-sd2-bdg-item::before{width:10px}
  .bd-sd2-bdg-left::after{left:calc(100% + 10px)}
  .bd-sd2-bdg-right::after{right:calc(100% + 10px)}
}

/* Add-to-cart full-width button + stepper inside the BookCard (uses BDCart) */
.bd-sd2-bookcard-cta .bd-btn-block{display:flex;width:100%;justify-content:center;align-items:center;text-align:center}
.bd-sd2-bookcard-stepper{display:flex;width:100%;align-items:center;justify-content:space-between;background:#fff;border:.5px solid var(--bd-hairline,#D6CBB6);border-radius:999px;padding:6px;font-feature-settings:"tnum" 1}
.bd-sd2-bookcard-stepper button{width:40px;height:40px;border-radius:999px;background:transparent;border:0;color:var(--bd-ink,#1A2A2F);font:500 18px/1 Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.bd-sd2-bookcard-stepper button:hover{background:var(--svc-accent,var(--bd-teal));color:var(--bd-bone,#F6F1E8)}
.bd-sd2-bookcard-stepper b{flex:1;text-align:center;font-family:Fraunces,Georgia,serif;font-weight:400;font-size:18px;color:var(--bd-ink,#1A2A2F);font-feature-settings:"tnum" 1}

/* ── RTL overrides for blend diagram ─────────────────────────────────────
 * Under RTL, CSS grid auto-flips column order: bd-sd2-bdg-col-l (grid-col 1)
 * ends up physically RIGHT of the bag, bd-sd2-bdg-col-r physically LEFT.
 * JSX still tags items with bdg-left/bdg-right based on column origin, so
 * we swap the absolutely-positioned line/dot offsets here. align-items and
 * flex-direction already resolve correctly under RTL — no override needed. */
[dir="rtl"] .bd-sd2-bdg-left::before{left:auto;right:calc(100% + 6px)}
[dir="rtl"] .bd-sd2-bdg-left::after{left:auto;right:calc(100% + 48px)}
[dir="rtl"] .bd-sd2-bdg-right::before{right:auto;left:calc(100% + 6px)}
[dir="rtl"] .bd-sd2-bdg-right::after{right:auto;left:calc(100% + 48px)}

@media(max-width:768px){
  [dir="rtl"] .bd-sd2-bdg-left::before{left:auto;right:calc(100% + 4px)}
  [dir="rtl"] .bd-sd2-bdg-left::after{left:auto;right:calc(100% + 14px)}
  [dir="rtl"] .bd-sd2-bdg-right::before{right:auto;left:calc(100% + 4px)}
  [dir="rtl"] .bd-sd2-bdg-right::after{right:auto;left:calc(100% + 14px)}
}
@media(max-width:480px){
  [dir="rtl"] .bd-sd2-bdg-left::before{left:auto;right:calc(100% + 4px);width:10px}
  [dir="rtl"] .bd-sd2-bdg-left::after{left:auto;right:calc(100% + 10px)}
  [dir="rtl"] .bd-sd2-bdg-right::before{right:auto;left:calc(100% + 4px);width:10px}
  [dir="rtl"] .bd-sd2-bdg-right::after{right:auto;left:calc(100% + 10px)}
}
