/** Shopify CDN: Minification failed

Line 134:0 Unexpected "}"

**/
/* ── Boss Bidet Revolution V2 — patch layer 5 (2026-11-01): ChatGPT ads landing fixes ──
   Loaded last from templates/page.revolution-v2.liquid (after bb-rev2-pack.css), so it
   wins over bb-revolution.css, bb-rev2.css, bb-rev2-y.css and bb-rev2-pack.css by source
   order at equal specificity. Paired with bb-rev2-nov.js.

   1. Hero gallery: six slides, thumbs on desktop, dots + swipe on phones, arrows, video slide.
   2. Mobile buy box order: title, price, pack selector on the first screen at 390x844.
   3. Desktop buy box: stars, title, benefit rows, finish, price, packs, Add to Cart on screen at 1440x800.
   4. Benefit rows (replace the chips), cold water note, trust row + verified quote under the button, accordions.
   5. No text under 12px (the announcement banner is untouched on purpose).
   6. 44px tap targets.
   7. Retailer logo rows: full color, legible, wrap cleanly.
   8. Shopify Inbox "Help" bubble: hidden on phones, lifted above the desktop sticky bar.
   9. Revolution vs Revolution Plus comparison section. */

/* 1 ── Hero gallery ─────────────────────────────────────────────────────── */
.bb-hero-visual--gallery { position: relative; }
.bb-hero-frame { position: relative; width: 100%; height: 100%; overflow: hidden; background: #fff; outline: none; }
.bb-hero-frame:focus-visible { box-shadow: inset 0 0 0 2px var(--accent, #C8571A); }
.bb-hero-visual--gallery .bb-hero-slide {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  object-fit: cover; object-position: center; opacity: 0; transition: opacity .25s ease; pointer-events: none;
}
.bb-hero-visual--gallery .bb-hero-slide.is-active { opacity: 1; pointer-events: auto; }
.bb-hero-visual--gallery .bb-hero-slide--main { object-position: 50% 55%; }
.bb-hero-visual--gallery .bb-hero-slide--finish { object-position: 20% center; }
.bb-hero-visual--gallery .bb-hero-slide--contain { object-fit: contain; background: #fff; padding: 4%; }
.bb-hero-visual--gallery:hover img { transform: none; }
/* video slide */
.bb-hero-slide--video { background: #1A1A18; }
.bb-hero-slide--video > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .9; }
.bb-hero-slide--video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.bb-hero-slide--video.is-playing > img, .bb-hero-slide--video.is-playing .bb-hero-play { display: none; }
.bb-hero-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
  width: 72px; height: 72px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255, 255, 255, .95); color: var(--ink, #1A1A18);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 24px rgba(0, 0, 0, .25);
}
.bb-hero-play svg { margin-left: 3px; }
/* arrows */
.bb-hero-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255, 255, 255, .92); color: var(--ink, #1A1A18); font-size: 28px; line-height: 1;
  display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
  font-family: Georgia, serif; padding: 0 0 3px;
}
.bb-hero-arrow--prev { left: 12px; }
.bb-hero-arrow--next { right: 12px; }
.bb-hero-arrow:focus-visible { outline: 2px solid var(--accent, #C8571A); outline-offset: 2px; }
/* dots (phones) */
.bb-hero-dots { position: absolute; left: 14px; bottom: 18px; z-index: 3; display: none; gap: 6px; }
.bb-hero-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.bb-hero-dot.is-active { background: var(--ink, #1A1A18); }
/* thumbs (desktop) */
.bb-hero-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.bb-hero-thumb {
  position: relative; width: 56px; height: 56px; padding: 0; border-radius: 9px; overflow: hidden;
  border: 2px solid var(--bb-border, #D8D4CC); background: #fff; cursor: pointer;
  transition: border-color .15s, transform .15s; -webkit-tap-highlight-color: transparent;
}
.bb-hero-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bb-hero-thumb.is-active { border-color: var(--ink, #1A1A18); }
.bb-hero-thumb:hover { transform: translateY(-1px); }
.bb-hero-thumb:focus-visible { outline: 2px solid var(--accent, #C8571A); outline-offset: 2px; }
.bb-hero-thumb-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, .95); color: var(--ink, #1A1A18);
  display: flex; align-items: center; justify-content: center;
}
.bb-hero-thumb-play svg { margin-left: 1px; }
/* "Watch the 1 minute video" */
.bb-hero-watch {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px;
  border-radius: 999px; border: 1.5px solid var(--bb-border, #D8D4CC); background: #fff; color: var(--ink, #1A1A18);
  font: 500 13px/1 "DM Sans", sans-serif; cursor: pointer; letter-spacing: .01em;
}
.bb-hero-watch:hover { border-color: var(--ink, #1A1A18); }
.bb-hero-watch svg { color: var(--accent, #C8571A); }
/* The video chip sits in the bottom right corner of the photo on every screen size (owner, 2026-11-01). */
.bb-hero-watch--overlay { display: inline-flex; position: absolute; right: 12px; bottom: 12px; z-index: 3; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.bb-hero-watch--under { display: none; }

@media (min-width: 769px) {
  .bb-landing .bb-hero-visual--gallery {
    display: flex; flex-direction: column; justify-content: center; align-items: stretch;
    gap: 12px; padding: 24px 0 24px 28px; background: var(--cream, #F7F4EE);
  }
  .bb-hero-frame { height: auto; aspect-ratio: 3 / 2; border-radius: 14px; }
}
@media (max-width: 768px) {
  .bb-landing .bb-hero-visual, .bb-landing .bb-hero-visual--gallery { height: 200px; }
  .bb-hero-frame { height: 100%; }
  .bb-hero-thumbs { display: none; }
  .bb-hero-dots { display: flex; }
  .bb-hero-watch--overlay { font-size: 12px; padding: 0 12px; }
  .bb-hero-arrow { width: 44px; height: 44px; font-size: 26px; opacity: .9; background: rgba(255, 255, 255, .85); }
  .bb-hero-arrow--prev { left: 8px; }
  .bb-hero-arrow--next { right: 8px; }
  .bb-hero-play { width: 60px; height: 60px; }
}

/* 4 ── Benefit rows, water note, quote, accordions ─────────────────────── */
.bb-landing .bb-rev2-benefits { list-style: none; margin: 8px 0 10px; padding: 0; display: grid; gap: 5px; width: 100%; }
.bb-landing .bb-rev2-benefits li { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 0; font-size: 14px; line-height: 1.35; color: var(--charcoal, #2E2E2A); }
.bb-landing .bb-rev2-benefits svg { flex: 0 0 auto; width: 19px; height: 19px; margin-top: 1px; color: #2A6B4A; }
.bb-landing .bb-rev2-benefits strong { color: var(--ink, #1A1A18); font-weight: 600; }
.bb-landing .bb-rev2-benefits em { font-style: normal; color: var(--charcoal, #2E2E2A); }
.bb-landing .bb-rev2-benefits em::before { content: "·"; margin: 0 6px 0 4px; color: var(--warm-gray, #8A8880); }

.bb-landing .bb-rev2-water-note { font-size: 13px; line-height: 1.5; color: var(--charcoal, #2E2E2A); margin: 8px 0 0; }
.bb-landing .bb-rev2-water-note a {
  color: var(--ink, #1A1A18); font-weight: 600; text-decoration: underline; text-underline-offset: 2px;
  display: inline-block; padding: 12px 0; margin: -12px 0;
}

.bb-landing .bb-rev2-cta-quote { display: flex; align-items: flex-start; gap: 7px; margin: 10px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--charcoal, #2E2E2A); }
.bb-landing .bb-rev2-cta-quote svg { flex: 0 0 auto; color: var(--accent, #C8571A); margin-top: 2px; }
.bb-landing .bb-rev2-cta-quote q { font-family: 'DM Serif Display', Georgia, serif; font-style: italic; color: var(--ink, #1A1A18); }
.bb-landing .bb-rev2-cta-quote cite { font-style: normal; color: var(--warm-gray, #8A8880); }

.bb-landing .bb-trust { margin: 2px 0 10px; padding-top: 0; border-top: 0; gap: 10px 18px; }

/* Round 6: price block is price, "Free shipping available", then the one-liner. Installments sit under the button. */
.bb-landing .bb-price-note { display: block; margin: 2px 0 0; font-size: 14px; }
.bb-landing .bb-price-note::before { content: none; margin: 0; }
.bb-landing .bb-rev2-tagline { font-family: 'DM Serif Display', Georgia, serif; font-style: italic; font-size: 17px; line-height: 1.3; color: var(--ink, #1A1A18); margin: 4px 0 0; }
}
.bb-landing .bb-rev2-installments--under { display: block; margin: 8px 0 0; text-align: center; font-size: 13px; color: var(--charcoal, #2E2E2A); width: 100%; }
.bb-landing .bb-rev2-installments--under::before { content: none; display: none; height: 0; }
.bb-landing .bb-rev2-acc-details { margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: var(--charcoal, #2E2E2A); }
.bb-landing .bb-rev2-acc-details p { margin: 0 0 8px; }
.bb-landing .bb-rev2-acc-details .bb-rev2-acc-list { margin: 0; }

.bb-landing .bb-rev2-acc { width: 100%; margin-top: 14px; border-top: 1px solid var(--bb-border, #D8D4CC); }
.bb-landing .bb-rev2-acc-item { border-bottom: 1px solid var(--bb-border, #D8D4CC); }
.bb-landing .bb-rev2-acc-item summary {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 4px 0;
  cursor: pointer; list-style: none; font-size: 14.5px; font-weight: 600; color: var(--ink, #1A1A18);
}
.bb-landing .bb-rev2-acc-item summary::-webkit-details-marker { display: none; }
.bb-landing .bb-rev2-acc-icon { position: relative; width: 18px; height: 18px; flex: 0 0 auto; }
.bb-landing .bb-rev2-acc-icon::before, .bb-landing .bb-rev2-acc-icon::after {
  content: ""; position: absolute; left: 50%; top: 50%; background: var(--ink, #1A1A18); transform: translate(-50%, -50%);
}
.bb-landing .bb-rev2-acc-icon::before { width: 12px; height: 1.5px; }
.bb-landing .bb-rev2-acc-icon::after { width: 1.5px; height: 12px; transition: transform .15s; }
.bb-landing .bb-rev2-acc-item[open] .bb-rev2-acc-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.bb-landing .bb-rev2-acc-list { margin: 0 0 14px; padding: 0 0 0 18px; font-size: 14px; line-height: 1.7; color: var(--charcoal, #2E2E2A); }
.bb-landing .bb-rev2-acc-specs { margin: 0 0 14px; display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; font-size: 14px; line-height: 1.5; }
.bb-landing .bb-rev2-acc-specs dt { color: var(--warm-gray, #8A8880); }
.bb-landing .bb-rev2-acc-specs dd { margin: 0; color: var(--charcoal, #2E2E2A); }

/* 3 ── Desktop buy box: Add to Cart visible at 1440x800 ─────────────────── */
@media (min-width: 769px) {
  .bb-landing .bb-hero-content { display: flex; flex-direction: column; padding: 16px 48px 26px; }
  .bb-hero-content > .bb-star-row            { order: 1; margin-bottom: 6px; }
  .bb-hero-content > .bb-eyebrow             { order: 2; display: none; }
  .bb-hero-content > .bb-hero-title          { order: 3; }
  .bb-hero-content > .bb-mini-features       { order: 4; margin: 6px 0 12px; gap: 6px; }
  .bb-landing .bb-mini-feat { padding: 6px 11px; gap: 6px; }
  .bb-landing .bb-mini-feat-label { font-size: 12.5px; }
  .bb-hero-content > .bb-variant-label-row   { order: 5; }
  .bb-hero-content > .bb-variants            { order: 6; }
  .bb-hero-content > .bb-preorder-note       { order: 6; }
  .bb-hero-content > .bb-price-block         { order: 7; }
  .bb-hero-content > .bb-rev2-water-note     { order: 8; }
  .bb-hero-content > .bb-rev2-stock          { order: 9; }
  .bb-hero-content > .bb-pack-label-row      { order: 10; }
  .bb-hero-content > .bb-packs               { order: 11; }
  .bb-hero-content > .bb-trust               { order: 12; }   /* 60-day, 1-year, 7-day above the button (round 6) */
  .bb-hero-content > .bb-qty-cta-row         { order: 13; }
  .bb-hero-content > .bb-rev2-installments--under { order: 14; }
  .bb-hero-content > .bb-rev2-cta-quote      { order: 15; }
  .bb-hero-content > .bb-rev2-secure         { order: 16; }
  .bb-hero-content > .bb-rev2-acc            { order: 17; }
  .bb-hero .bb-hero-content h1 { margin-bottom: 6px !important; font-size: 36px !important; }
  .bb-landing .bb-rev2-hero-sub { font-size: 15px; line-height: 1.55; }
  /* compact finish swatches: the selected name is already in the label row */
  .bb-landing .bb-variant-label-row { margin-bottom: 8px; }
  .bb-landing .bb-variants { margin-bottom: 10px; gap: 8px; }
  .bb-landing .bb-variant-btn { width: 54px; padding: 4px; gap: 0; }
  .bb-landing .bb-variant-btn img { width: 42px; height: 42px; }
  .bb-landing .bb-variant-btn > span { display: none; }
  .bb-landing .bb-price-block { margin-bottom: 4px; }
  .bb-landing .bb-price-now { font-size: 34px; }
  .bb-landing .bb-rev2-stock { margin: 6px 0 0; }
  .bb-landing .bb-pack-label-row { margin: 10px 0 8px; }
  .bb-landing .bb-packs { margin-bottom: 10px; }
  .bb-landing .bb-pack-btn { padding: 10px 12px 9px; }
  .bb-landing .bb-pack-btn.active { padding: 9.5px 11.5px 8.5px; }
  .bb-landing .bb-rev2-secure { margin-top: 8px; }
}

/* 2 ── Mobile buy box order + capped hero photo ─────────────────────────── */
@media (max-width: 768px) {
  .bb-landing .bb-hero-content { display: flex; flex-direction: column; padding: 14px 20px 24px; }
  .bb-hero-content > .bb-star-row            { order: 1; margin-bottom: 6px; }
  .bb-hero-content > .bb-eyebrow             { order: 2; display: none; }
  .bb-hero .bb-hero-content h1.bb-hero-title { font-size: 30px !important; line-height: 1.15 !important; margin-bottom: 8px !important; }
  .bb-hero-content > .bb-hero-title          { order: 3; }
  .bb-hero-content > .bb-price-block         { order: 4; margin-bottom: 4px; }
  .bb-hero-content > .bb-rev2-water-note     { order: 5; margin-top: 6px; }
  .bb-hero-content > .bb-rev2-stock          { order: 6; margin: 6px 0 0; }
  /* Finish above pack on phones too (owner, round 6) */
  .bb-hero-content > .bb-variant-label-row   { order: 7; margin: 12px 0 8px; }
  .bb-hero-content > .bb-variants            { order: 8; margin-bottom: 8px; }
  .bb-hero-content > .bb-preorder-note       { order: 8; }
  .bb-hero-content > .bb-pack-label-row      { order: 9; margin: 6px 0 8px; }
  .bb-hero-content > .bb-packs               { order: 10; margin-bottom: 10px; }
  .bb-hero-content > .bb-trust               { order: 11; }
  .bb-hero-content > .bb-qty-cta-row         { order: 12; }
  .bb-hero-content > .bb-rev2-installments--under { order: 13; }
  .bb-hero-content > .bb-rev2-cta-quote      { order: 14; }
  .bb-hero-content > .bb-rev2-secure         { order: 15; }
  .bb-hero-content > .bb-mini-features       { order: 16; margin: 14px 0 0; }
  .bb-hero-content > .bb-rev2-acc            { order: 17; }

  .bb-landing .bb-price-now { font-size: 32px; }
  .bb-landing .bb-rev2-installments::before { height: 4px; }
  .bb-landing .bb-pack-btn { padding: 9px 14px; }
  .bb-landing .bb-pack-btn.active { padding: 8.5px 13.5px; }
  .bb-landing .bb-pack-price { font-size: 21px; }
  .bb-landing .bb-packs { gap: 7px; }
  /* five finish buttons in one row at 390px (5 x 64 + 4 x 6 = 344 of 350) */
  .bb-landing .bb-variants { gap: 6px; }
  .bb-landing .bb-variant-btn { width: 64px; padding: 5px 3px 4px; }
  .bb-landing .bb-variant-btn img { width: 46px; height: 46px; }
  .bb-landing .bb-rev2-benefits li { font-size: 14px; }
  .bb-landing .bb-rev2-benefits em::before { content: ""; margin: 0; }
  .bb-landing .bb-rev2-benefits em { display: block; }
}

/* 5 ── No text under 12px (bb-rev2.css / bb-revolution.css / bb-rev2-pack.css had 7 to 11.5px) */
.bb-landing .bb-nav-cart-count { font-size: 12px; min-width: 20px; height: 20px; border-radius: 10px; top: -7px; right: -8px; }
.bb-landing .bb-variant-btn span { font-size: 12px; letter-spacing: -0.01em; }
.bb-landing .bb-brand-label { font-size: 12px; }
.bb-landing .bb-cd-lab, .bb-landing .bb-cd-label { font-size: 12px; }
.bb-rev2-sticky-was, .bb-rev2-sticky-ship, .bb-rev2-sticky-pack { font-size: 12px; }
.bb-rev2-logostrip-label { font-size: 12px; }
.bb-rev2-sheet-variant span { font-size: 12px; }
/* Pack flags ("Most popular" / "Best value") keep their original 10px / 9px size: at 12px they read as too big (owner, 2026-11-01). */
.bb-rev2-sheet-pack .bb-pack-name, .bb-rev2-sheet-pack .bb-pack-each, .bb-rev2-sheet-pack .bb-pack-save { font-size: 12px; }
.bb-landing .bb-lifestyle-inner p { font-size: 12px !important; }
.bb-landing .bb-lifestyle-inner a { font-size: 12px !important; }
/* The Black Tokyo "Pre-order" swatch badge keeps its original size from bb-rev2-z.js (owner's call, 2026-11-01). */
.bb-cd__bag-count { font-size: 12px !important; }                /* cart drawer header count */
.bb-cd__info { font-size: 12px !important; }                     /* cart drawer "i" hint */
@media (max-width: 768px) {
  .bb-landing .bb-variant-btn span { font-size: 12px; }
  .bb-landing .bb-brand-label { font-size: 12px; }
  .bb-landing .bb-trust-item { font-size: 12px; }
  .bb-landing .bb-feat-desc { font-size: 12.5px; }
  .bb-landing .bb-lifestyle-inner p { font-size: 12px !important; letter-spacing: .06em !important; }
  .bb-landing .bb-lifestyle-inner a { font-size: 12px !important; }
  .bb-landing .bb-faq-a { font-size: 14px; }
  .bb-landing .bb-nav-cta { font-size: 12px; }
}

/* 6 ── 44px tap targets (hit areas grow with padding + negative margins where the layout must not move) */
.bb-landing .bb-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 4px; }
.bb-landing .bb-nav-cart { min-width: 44px; min-height: 44px; justify-content: center; padding: 4px; }
.bb-landing .bb-nav-logo-link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; padding: 0 6px; margin-left: -6px; }
.bb-landing .bb-star-row a { display: inline-block; padding: 12px 0; margin: -12px 0; }
.bb-landing .bb-faq-contact a { display: inline-flex; align-items: center; min-height: 44px; }
.bb-landing .bb-faq-q { min-height: 44px; }
.bb-landing .bb-rev2-sticky-btn { min-height: 44px; }
.bb-landing .bb-btn-watch, .bb-landing .bb-reviews-link { min-height: 44px; }
.bb-reviews-open, .bb-reviews-cta > a { display: inline-block !important; padding: 11px 0 !important; margin: -11px 0 !important; }
.bb-rev-prev, .bb-rev-next, .bb-carousel-btn { width: 44px !important; height: 44px !important; }
.bb-landing .bb-lifestyle-inner a.bb-btn-primary { display: inline-flex !important; align-items: center !important; min-height: 44px !important; }
/* Store footer (shared Turbo section) and cart drawer: same visual size, 44px hit areas */
#shopify-section-footer a { display: inline-block; min-width: 44px; padding: 15px 0; margin: -15px 0; }
#shopify-section-footer .icon-youtube, #shopify-section-footer .icon-instagram { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0; margin: -8px -7px; }
.bb-cd__upsell-add { min-height: 44px; }
.bb-cd__upsell-title { display: inline-block; padding: 14px 0; margin: -14px 0; }

/* 7 ── Retailer logos: full color and legible, rows wrap cleanly ─────────── */
.bb-rev2-logostrip-row img { filter: none; opacity: 1; height: 36px; max-width: 160px; }
.bb-rev2-logostrip-row { gap: 14px 34px; }
.bb-landing .bb-brands-wrap { overflow: visible; }
.bb-landing .bb-brands-row { display: flex; flex-wrap: wrap; justify-content: center; }
.bb-landing .bb-brand-cell { flex: 1 1 160px; min-width: 120px; border-right: none; }
.bb-landing .bb-brand-cell img { filter: none; opacity: 1; }
.bb-landing .bb-brand-rating { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--ink, #1A1A18); text-transform: none; letter-spacing: 0; }
.bb-landing .bb-customers-badge { flex-wrap: wrap; text-align: center; }
.bb-landing .bb-customers-badge span:last-child { font-size: 13.5px; font-weight: 500; }
@media (max-width: 768px) {
  .bb-rev2-logostrip { padding: 14px 14px; gap: 10px 16px; }
  .bb-rev2-logostrip-row { gap: 12px 24px; }
  .bb-rev2-logostrip-row img { height: 32px; max-width: 120px; }
  .bb-landing .bb-brand-cell { flex: 1 1 30%; min-width: 96px; padding: 12px 6px; }
  .bb-landing .bb-brand-cell img { max-width: 92px; height: 30px; }
}

/* 8 ── Shopify Inbox "Help" bubble ───────────────────────────────────────── */
/* The app embed renders <shopify-chat> (a fixed, full-viewport host with a shadow root; older
   builds used #ShopifyChat / <inbox-online-store-chat>). Phones: it sat on top of the sticky
   "Add 2-Pack to Cart" button, so it is hidden on this page. The component re-asserts visibility
   inside its shadow tree, so the host is clipped to nothing: a clip-path on the host cannot be
   undone from inside the shadow root. */
@media (max-width: 768px) {
  shopify-chat, #ShopifyChat, inbox-online-store-chat {
    visibility: hidden !important; clip-path: inset(100%) !important; opacity: 0 !important;
    pointer-events: none !important; width: 0 !important; height: 0 !important; overflow: hidden !important;
  }
}
/* Desktop: the floating buy bar is centered and at most 1000px wide, so the bubble (20px from the
   right edge) only meets it below about 1200px. There, lift the bubble while the bar is on screen
   (body class from bb-rev2-nov.js) through the app's own offset variable. */
@media (min-width: 769px) and (max-width: 1199px) {
  body.bb-rev2-sticky-on { --shopify-chat-activator-offset: 100px; }
}

/* Sticky bar: also shown by bb-rev2-nov.js as soon as the pack selector scrolls off */
.bb-rev2-sticky.bb-rev2-sticky-early { transform: translateY(0); }
@media (min-width: 769px) {
  .bb-rev2-sticky.bb-rev2-sticky-early { transform: translateX(-50%) translateY(0); }
}

/* 9 ── Revolution vs Revolution Plus ─────────────────────────────────────── */
.bb-landing .bb-rev2-compare { padding: 56px 24px; max-width: 980px; margin: 0 auto; text-align: center; }
.bb-landing .bb-rev2-compare-intro { max-width: 560px; margin: 0 auto 26px; font-size: 16px; line-height: 1.6; color: var(--charcoal, #2E2E2A); }
.bb-rev2-compare-table { border: 1px solid var(--bb-border, #D8D4CC); border-radius: 14px; overflow: hidden; background: #fff; text-align: left; }
.bb-rev2-compare-head, .bb-rev2-compare-row { display: grid; grid-template-columns: 1.1fr 1.3fr 1.3fr; }
.bb-rev2-compare-row { border-top: 1px solid var(--bb-border, #D8D4CC); }
.bb-rev2-compare-head > div, .bb-rev2-compare-row > div { padding: 14px 18px; font-size: 14.5px; line-height: 1.5; color: var(--charcoal, #2E2E2A); }
.bb-rev2-compare-label { color: var(--warm-gray, #8A8880); font-weight: 500; }
.bb-rev2-compare-col--this { background: var(--cream, #F7F4EE); }
.bb-rev2-compare-head .bb-rev2-compare-col { display: flex; flex-direction: column; gap: 4px; padding-top: 18px; }
.bb-rev2-compare-head strong { font-family: 'DM Serif Display', Georgia, serif; font-size: 22px; font-weight: 400; color: var(--ink, #1A1A18); line-height: 1.15; }
.bb-rev2-compare-price { font-size: 15px; font-weight: 600; color: var(--ink, #1A1A18); }
.bb-rev2-compare-tag { align-self: flex-start; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--accent, #C8571A); padding: 3px 9px; border-radius: 999px; }
.bb-rev2-compare-tag--alt { background: var(--ink, #1A1A18); }
.bb-rev2-compare-row--cta > div { padding: 16px 18px 18px; }
.bb-rev2-compare-row--cta .bb-btn-primary { width: 100%; min-height: 48px; }
.bb-rev2-compare .bb-btn-secondary {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px;
  border: 1.5px solid var(--ink, #1A1A18); border-radius: 999px; color: var(--ink, #1A1A18); background: #fff;
  font: 500 15px/1 "DM Sans", sans-serif; text-decoration: none;
}
.bb-rev2-compare .bb-btn-secondary:hover { background: var(--ink, #1A1A18); color: #fff; }
.bb-landing .bb-rev2-compare-note { margin: 14px 0 0; font-size: 13.5px; color: var(--warm-gray, #8A8880); }
@media (max-width: 768px) {
  .bb-landing .bb-rev2-compare { padding: 40px 16px; }
  .bb-rev2-compare-head, .bb-rev2-compare-row { grid-template-columns: 1fr 1fr; }
  .bb-rev2-compare-label { grid-column: 1 / -1; padding: 10px 14px 0 !important; font-size: 12px !important; letter-spacing: .06em; text-transform: uppercase; background: #fff; }
  .bb-rev2-compare-head .bb-rev2-compare-label { display: none; }
  .bb-rev2-compare-head > div, .bb-rev2-compare-row > div { padding: 10px 14px 12px; font-size: 13.5px; }
  .bb-rev2-compare-row .bb-rev2-compare-col--this { background: var(--cream, #F7F4EE); }
  .bb-rev2-compare-head strong { font-size: 19px; }
  .bb-rev2-compare-row--cta > div { padding: 12px 10px 14px; }
}

/* ── Round 6 desktop trim: must stay LAST so it wins over the desktop buy-box block above ── */
@media (min-width: 769px) {
  .bb-landing .bb-rev2-tagline { font-size: 16px; }
  .bb-landing .bb-trust { margin: 0 0 8px; }
  .bb-hero-content > .bb-star-row { margin-bottom: 4px; }
  .bb-hero .bb-hero-content h1 { margin-bottom: 4px !important; }
  .bb-hero-content > .bb-mini-features { margin: 4px 0 10px; }
  .bb-landing .bb-rev2-stock { margin: 2px 0 0; }
  .bb-landing .bb-pack-label-row { margin: 6px 0 5px; }
  .bb-landing .bb-packs { margin-bottom: 8px; }
  .bb-landing .bb-hero-content { padding-top: 14px; }
  .bb-landing .bb-variant-btn { width: 50px; padding: 3px; }
  .bb-landing .bb-variant-btn img { width: 38px; height: 38px; }
}

/* ── Round 7 (2026-11-01 owner feedback): keep AFTER the desktop trim block ─────────────── */
/* price in the body font, regular weight, "$89" */
.bb-landing .bb-price-now { font-family: inherit; font-weight: 400; font-size: 26px; line-height: 1.1; letter-spacing: -0.01em; }
/* "Free shipping available" quieter */
.bb-landing .bb-price-note { font-size: 12px; font-weight: 400; color: var(--warm-gray, #8A8880); margin: 3px 0 0; }
/* tagline as plain text */
.bb-landing .bb-rev2-tagline { font-family: inherit; font-style: normal; font-weight: 400; font-size: 15px; line-height: 1.45; color: var(--charcoal, #2E2E2A); margin: 6px 0 0; }
/* installments centered under the button (the pack stylesheet makes it inline) */
.bb-landing .bb-hero-content > .bb-rev2-installments--under { display: block; width: 100%; max-width: none; margin: 10px 0 0; text-align: center; font-size: 13px; }
/* cold water note moves below the Specs and fit accordion */
.bb-landing .bb-hero-content > .bb-rev2-water-note { order: 18; margin: 12px 0 0; font-size: 12.5px; color: var(--warm-gray, #8A8880); }
.bb-landing .bb-hero-content > .bb-rev2-water-note a { color: var(--charcoal, #2E2E2A); }
/* Watch button only on the first photo, so it never covers the other photos */
.bb-hero-visual--gallery:not([data-slide="main"]) .bb-hero-watch--overlay { display: none; }
/* photo 3 (box) is cropped to its content now; no inner padding */
.bb-hero-visual--gallery .bb-hero-slide--contain { padding: 0; }
@media (min-width: 769px) {
  .bb-landing .bb-price-now { font-size: 28px; }
}

/* ── Round 9 (2026-11-01 owner feedback): keep LAST ─────────────────────────────────────── */
/* pack flags ("MOST POPULAR", "BEST VALUE") smaller: 9px text, tighter padding */
.bb-landing .bb-pack-flag { font-size: 9px; padding: 2px 7px; letter-spacing: 0.6px; top: -8px; }
/* the six chips sit right under the tagline (after the price block) on every width */
@media (min-width: 769px) {
  .bb-hero-content > .bb-mini-features { order: 8; margin: 8px 0 6px; }
  /* finish buttons 20% larger: 50px -> 60px, image 38px -> 46px */
  .bb-landing .bb-variant-btn { width: 60px; padding: 4px; }
  .bb-landing .bb-variant-btn img { width: 46px; height: 46px; }
  .bb-landing .bb-variants { gap: 9px; }
}
@media (max-width: 768px) {
  .bb-hero-content > .bb-mini-features { order: 5; margin: 8px 0 2px; }
}
/* round 9, phones: chips under the tagline take four rows, not six (tighter padding, chips 4 and 5 swapped
   so "15 minute install" pairs with "Cool water wash"; the two long chips get their own rows) */
@media (max-width: 768px) {
  .bb-landing .bb-mini-features { gap: 6px; }
  .bb-landing .bb-mini-feat { padding: 6px 9px; gap: 5px; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(1) { order: 1; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(2) { order: 2; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(3) { order: 3; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(5) { order: 4; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(4) { order: 5; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(6) { order: 6; }
}

/* ── Round 10 (2026-11-01 owner feedback): keep LAST ────────────────────────────────────── */
@media (min-width: 769px) {
  /* order: price block 7, chips 8, finish label + finish + pre-order note 9, stock 10, pack label 10, packs 11 */
  .bb-hero-content > .bb-variant-label-row { order: 9; margin: 4px 0 8px; }
  .bb-hero-content > .bb-variants { order: 9; }
  .bb-hero-content > .bb-preorder-note { order: 9; }
  .bb-hero-content > .bb-rev2-stock { order: 10; margin: 4px 0 0; }
  /* finish buttons larger again: 72px, image 58px */
  .bb-landing .bb-variant-btn { width: 72px; padding: 5px; }
  .bb-landing .bb-variant-btn img { width: 58px; height: 58px; }
  .bb-landing .bb-variants { gap: 10px; margin-bottom: 8px; }
  /* chips: two rows */
  .bb-hero-content > .bb-mini-features { gap: 6px; margin: 8px 0 4px; }
  /* pack cards: name and per-unit line on the left, price and savings on the right, nothing empty at the sides */
  .bb-landing .bb-pack-btn { flex-direction: row; justify-content: space-between; align-items: center; text-align: left; gap: 8px; padding: 12px 14px; }
  .bb-landing .bb-pack-btn.active { padding: 11.5px 13.5px; }
  .bb-landing .bb-pack-main { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
  .bb-landing .bb-pack-side { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
  .bb-landing .bb-pack-price { font-size: 26px; line-height: 1; }
  .bb-landing .bb-pack-name { font-size: 14px; }
  /* gallery pinned to the top of its column, square frame (was 3:2 and vertically centered) */
  .bb-landing .bb-hero-visual--gallery { justify-content: flex-start; }
  .bb-hero-frame { aspect-ratio: 1 / 1; }
}
@media (max-width: 768px) {
  /* order: price block 4, chips 5, finish label + finish + pre-order note 6, stock 7, pack label 9 */
  .bb-hero-content > .bb-variant-label-row { order: 6; margin: 10px 0 8px; }
  .bb-hero-content > .bb-variants { order: 6; }
  .bb-hero-content > .bb-preorder-note { order: 6; }
  .bb-hero-content > .bb-rev2-stock { order: 7; margin: 8px 0 0; }
  /* chips: two columns, three rows (round 9's swap undone) */
  .bb-landing .bb-mini-features { gap: 6px; }
  .bb-landing .bb-mini-feat { width: calc(50% - 3px); justify-content: flex-start; }
  .bb-landing .bb-mini-features > .bb-mini-feat:nth-child(n) { order: 0; }
  /* finish buttons: 66px, five in one row (5 x 66 + 4 x 4 = 346 of 350) */
  .bb-landing .bb-variants { gap: 4px; }
  .bb-landing .bb-variant-btn { width: 66px; }
  .bb-landing .bb-variant-btn img { width: 50px; height: 50px; }
}

/* ── Round 11 (2026-11-01 owner feedback): keep LAST ────────────────────────────────────── */
/* secure checkout line centered under the installments line */
.bb-landing .bb-hero-content > .bb-rev2-secure { display: flex; justify-content: center; text-align: center; width: 100%; margin: 6px 0 0; }
@media (min-width: 769px) {
  /* finish image +30%: 58px -> 75px, button 90px */
  .bb-landing .bb-variant-btn { width: 90px; padding: 5px; }
  .bb-landing .bb-variant-btn img { width: 75px; height: 75px; }
}
@media (max-width: 768px) {
  /* phones: the image grows to 58px inside the same 66px button (padding 2px); five still fit in one row */
  .bb-landing .bb-variant-btn { width: 66px; padding: 3px 2px 3px; }
  .bb-landing .bb-variant-btn img { width: 58px; height: 58px; }
}

/* ── Round 13: native video player on the video slide (bare: play, volume, fullscreen) ───────── */
.bb-hero-slide--video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; background: #1A1A18; object-fit: contain; }
/* while the video slide is open: no dots over the progress bar, arrows tucked into the top corners */
.bb-hero-visual--gallery[data-slide="video"] .bb-hero-dots { display: none; }
.bb-hero-visual--gallery[data-slide="video"] .bb-hero-arrow { top: 12px; transform: none; width: 36px; height: 36px; font-size: 22px; opacity: .85; }

/* ── Round 14 (2026-11-02): Lighthouse mobile fixes, keep LAST ──────────────────────────── */
/* the "In stock" dot no longer pulses (an infinite box-shadow animation repainted every frame) */
.bb-rev2-stock-dot, .bb-landing .bb-rev2-stock-dot { animation: none !important; box-shadow: none !important; }
/* warm gray text darkened from #8A8880 (3.2:1 on cream) to #6B6B66 (4.9:1 on cream, 5.4:1 on white) */
.bb-landing { --warm-gray: #6B6B66; }
.bb-landing .bb-section-eyebrow, .bb-landing .bb-feat-desc, .bb-landing .bb-pack-each, .bb-landing .bb-policy-desc,
.bb-landing .bb-brand-label, .bb-landing .bb-variant-label, .bb-landing .bb-price-note, .bb-landing .bb-rev2-water-note,
.bb-landing .bb-pack-label, .bb-landing .bb-video-desc, .bb-landing .bb-reviews-meta, .bb-landing .bb-review-verified,
.bb-rev2-compare-note { color: #6B6B66; }
/* reviews band: only the light (soft) version uses gray text; the dark "Ready for the upgrade?" band keeps its light #B8B4A9 */
.bb-rev2-cta-band--soft .bb-rev2-cta-band-eyebrow, .bb-rev2-cta-band--soft .bb-rev2-cta-band-note { color: #6B6B66; }
/* white text on the orange pills: #C8571A (4.3:1) -> #B5501A (5.0:1) */
.bb-landing .bb-pack-flag:not(.bb-pack-flag--value), .bb-rev2-compare .bb-rev2-compare-tag:not(.bb-rev2-compare-tag--alt) { background: #B5501A; }
