/** Shopify CDN: Minification failed

Line 8504:0 Unexpected "}"

**/
/**
 * River Botanicals — Mobile experience layer
 * Viewport handoff:
 *   A: 1199 / 1200
 *   B: 1279 / 1280
 *   C: 1439 / 1440
 *   D: 719 / 720
 *   E: 839 / 840
 *   F (current): mobile ≤999px / desktop ≥1000px
 * All rules scoped to max-width media queries only. Desktop (1000px+) untouched.
 */

@property --rb-order-outline-angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}

@keyframes rb-order-outline-flow {
  to { --rb-order-outline-angle: 360deg; }
}

/* ?? Tablet + phone (≤999px) — phone stage twin (rb-phone-stage-identical-v1) */
@media (max-width: 999px) {
  /* Broad mobile type scale ? rem-based text across the site */
  html {
    font-size: 112.5%; /* 18px if browser default is 16px */
  }

  :root {
    --rb-pad-x: clamp(16px, 4vw, 28px);
    --rb-header-bar-height: 98px;
    --rb-home-section-heading-size: clamp(2.475rem, 9.9vw, 3.355rem); /* +10% */
    --rb-band-heading: clamp(2.15rem, 8vw, 3.45rem);
    --rb-band-lead: clamp(1.2rem, 4.3vw, 1.6rem);
    --rb-text-base: 1.2rem;
    --rb-text-lg: 1.4rem;
    --rb-trust-strip-height: 36px; /* shorter mobile tophat */
    --rb-text-sm: 1.05rem;
    /* Header/tophat are in document flow on mobile ? no fixed spacer */
    --rb-header-height: 0px;
    --rb-hero-top-offset: 0px;
    --rb-hero-header-gap: 15px;
    /* Mobile vibrancy ? canna/kratom punchy */
    --rb-teal: #246844;
    --rb-emerald-light: #3D9970;
    --rb-teal-rgb: 36, 104, 68;
    /* Shadow/glow colour — mobile Canna literals, matching the --rb-canna-gradient stops
       just below. Without these the glows would inherit the desktop blue while every other
       brand surface here runs the punchier ramp. */
    --rb-canna-shadow-rgb: 36, 104, 68; /* #246844 kratom green */
    --rb-canna-shadow-light-rgb: 61, 153, 112; /* #3D9970 */
    /* Brand flow follows the shared charcoal tokens. These four slots carried a punchier
       emerald ramp of their own (#246844/#3D9970/#1B4A35/#246844) rather than the desktop
       literals, which is why the charcoal pass matched nothing here and mobile kept
       rendering emerald. Point them at the tokens so the next brand change is one edit. */
    --rb-header-logo-gradient: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%));
    --rb-header-logo-gradient-static: var(--rb-charcoal-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    --rb-emerald-gradient: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%));
    --rb-emerald-gradient-static: var(--rb-charcoal-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    --rb-canna-gradient: linear-gradient(90deg, #246844 0%, #2F7A4E 25%, #3D9970 50%, #2F7A4E 75%, #246844 100%);
    --rb-canna-gradient-static: linear-gradient(90deg, #246844 0%, #3D9970 100%);
    --rb-kratom-dark: #145c3a;
    --rb-kratom-mid: #1f8a4e;
    --rb-kratom-light: #2db86a;
    --rb-kratom-bright: #3fd98a;
    --rb-kratom-gradient: linear-gradient(90deg, var(--rb-kratom-dark) 0%, var(--rb-kratom-mid) 25%, var(--rb-kratom-light) 50%, var(--rb-kratom-mid) 75%, var(--rb-kratom-dark) 100%);
    --rb-kratom-gradient-static: linear-gradient(90deg, var(--rb-kratom-dark) 0%, var(--rb-kratom-light) 100%);
    --rb-brand-band-gradient: linear-gradient(90deg, var(--rb-dark) 0%, var(--rb-teal) 55%, var(--rb-emerald-light) 100%);
  }

  /* Homepage chrome, quickshop open: stays in flow exactly as it always has. The
     quickshop panel measures this chrome, so pinning it there would move the panel. */
  body.template-index .rb-trust-strip {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transition: none !important;
    will-change: auto;
    min-height: var(--rb-trust-strip-height, 36px) !important;
    /* rb-tophat-charcoal-v1 - charcoal animated flow. The charcoal tokens have no mobile
       override, so both breakpoints run the same greys. */
    background-color: transparent !important;
    background-image: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-charcoal-gradient-size, 200% 100%) !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  body.template-index .rb-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100%;
    transform: none !important;
    transition: none !important;
    will-change: auto;
    pointer-events: auto !important;
  }

  /* rb-home-drawer-mobile-v1 — normal browsing: pin the tophat and nav so they can
     drawer out on scroll down and back in on scroll up, matching desktop. Two stacked
     fixed bars, so the nav sits at the tophat's height and hides by its own height plus
     that offset. Selectors carry :not(.rb-pdp-card-open) so the in-flow rules above still
     win while quickshop is open. */
  html:not(.rb-pdp-card-open) body.template-index .rb-trust-strip {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 461 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.55s cubic-bezier(0.32, 0.72, 0, 1) !important;
    will-change: transform;
  }
  html:not(.rb-pdp-card-open) body.template-index .rb-header {
    position: fixed !important;
    top: var(--rb-trust-strip-height, 36px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 460 !important;
    background: #fff !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1) !important;
    will-change: transform;
  }

  /* Hidden state — the whole stack leaves the viewport */
  html:not(.rb-pdp-card-open) body.template-index.rb-scrolled .rb-trust-strip {
    transform: translate3d(0, -100%, 0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  html:not(.rb-pdp-card-open) body.template-index.rb-scrolled .rb-header {
    transform: translate3d(0, calc(-100% - var(--rb-trust-strip-height, 36px)), 0) !important;
    pointer-events: none !important;
  }

  /* Quickshop open: chrome is in flow, so the shell must not reserve space */
  body.template-index .rb-header-shell,
  body.template-index.rb-scrolled .rb-header-shell {
    min-height: 0 !important;
    height: auto !important;
  }
  /* Pinned chrome is out of flow — the shell becomes the spacer. Height stays constant
     while hidden so the page never reflows mid-scroll. */
  html:not(.rb-pdp-card-open) body.template-index .rb-header-shell,
  html:not(.rb-pdp-card-open) body.template-index.rb-scrolled .rb-header-shell {
    min-height: var(--rb-home-chrome-height, calc(var(--rb-trust-strip-height, 36px) + var(--rb-header-bar-height, 98px))) !important;
    height: auto !important;
  }

  /* No tophat anywhere now — collapse the reserved height on every page, homepage
     included. Kept defined, not deleted; the calc() chain depends on it. */
  body {
    --rb-trust-strip-height: 0px;
    --rb-header-height: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-header-bar-height, 98px));
  }
  body:not(.template-index) .rb-header {
    position: fixed !important;
    top: var(--rb-digioh-tophat-height, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 460 !important;
    transform: none !important;
    transition: none !important;
    background: #fff !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  html.rb-pdp-digioh-stack body:not(.template-index) .rb-pdp-digioh-banner {
    display: block !important;
    visibility: visible !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 465 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  body:not(.template-index) .rb-header-shell,
  body:not(.template-index).rb-scrolled .rb-header-shell {
    min-height: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-header-bar-height, 98px)) !important;
    height: auto !important;
  }

  /* rb-chrome-drawer-v1 — the pin above is what these templates had: a header parked over
     the viewport at every scroll position. Give them the homepage drawer instead, which is
     what .rb-chrome-drawer marks. The transform has to be re-enabled explicitly because the
     pin rule sets transform and transition to none with !important.

     -100% clears the bar's own height and the tophat offset clears the Digioh bar above it,
     so the stack leaves the viewport exactly, the way the homepage nav clears the trust
     strip. */
  body.rb-chrome-drawer .rb-header {
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1) !important;
    will-change: transform;
  }
  body.rb-chrome-drawer.rb-scrolled .rb-header {
    transform: translate3d(0, calc(-100% - var(--rb-digioh-tophat-height, 0px)), 0) !important;
    pointer-events: none !important;
  }

  .rb-header-shell::before,
  body.template-index .rb-header-shell::before {
    display: none !important;
  }

  body {
    padding-bottom: env(safe-area-inset-bottom, 0);
  }

  /* The toolbar section renders empty while the toolbar is switched off */
  body:has(.t4s-toolbar-mobile .t4s-toolbar) .t4s-website-wrapper {
    padding-bottom: calc(56px + env(safe-area-inset-bottom, 0));
  }

  /* Header bar ? no hamburger; pills row below logo strip */
  .rb-mobile-menu-btn,
  .rb-mobile-drawer {
    display: none !important;
  }

  .rb-header__inner,
  body.template-index .rb-header__inner,
  body.template-product .rb-header__inner,
  body:not(.template-index) .rb-header__inner {
    display: grid !important;
    /* Account top-left, logo centred, search + bag top-right, all on one row; the pills own
       the row below. The two side columns split the leftover width equally so the logo
       centres on the viewport rather than on whatever the icons leave over. */
    grid-template-columns: 1fr auto 1fr !important;
    grid-template-areas:
      "account logo utils"
      "nav nav nav";
    align-items: center;
    gap: 0 !important;
    row-gap: 0 !important;
    /* Unlock side padding ? use full width; pull logo/utils up into open space */
    padding: 0 0 0 !important; /* −10px vertical vs prior 1/8 — shorter white nav bar */
    padding-inline: 0 !important;
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .rb-header,
  .rb-header-shell,
  #shopify-section-rb-header.shopify-section,
  .shopify-section:has(.rb-header-shell) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  .rb-header__logo {
    grid-area: logo;
    justify-self: center;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rb-header__utils {
    grid-area: utils;
    justify-self: end;
    gap: 0;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Account lives top-left on phones as its own element; the copy inside utils is hidden so
     the right cluster is search + bag only. */
  .rb-header__utils .rb-header__account {
    display: none !important;
  }

  .rb-header__account.rb-header__account--mobile {
    display: inline-flex;
    grid-area: account;
    justify-self: start;
    align-self: center;
    margin: 0 0 0 8px;
    padding: 0;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
  }

  .rb-header__account.rb-header__account--mobile i {
    font-size: calc(1.75rem - 3px);
    width: calc(1.75rem - 3px);
    height: calc(1.75rem - 3px);
  }

  .rb-header__utils .rb-header__search,
  .rb-header__utils .rb-header__cart {
    margin-inline: -5px;
  }

  /* Search: larger tap target ? was easy to miss / needed multiple presses */
  .rb-header__utils .rb-header__search {
    margin-left: 0;
    margin-right: -2px;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px;
    min-height: 52px;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
    z-index: 2;
  }

  .rb-header__utils .rb-header__search::before {
    content: '';
    position: absolute;
    inset: -10px -6px;
    z-index: -1;
  }

  .rb-header__utils .rb-header__search > i {
    pointer-events: none;
    font-size: calc(1.75rem - 3px) !important; /* −1px */
    width: calc(1.75rem - 3px) !important;
    height: calc(1.75rem - 3px) !important;
  }

  /* Search −5px; account −8px; bag stays */
  .rb-header__utils .rb-header__search {
    transform: translateX(-5px);
  }

  .rb-header__utils .rb-header__account {
    transform: translateX(-8px);
  }

  .rb-header__utils .rb-header__cart {
    transform: translateX(-3px);
  }

  .rb-header__utils .rb-header__cart {
    margin-right: 0;
  }

  .rb-header__logo-mark,
  .rb-header__logo-mark.rb-logo--gradient {
    height: 64.68px !important; /* 56px +5%, then +10% */
    width: calc(64.68px * (6018 / 1647)) !important;
    max-width: min(100%, 323.4px) !important;
    margin: 0 !important;
  }

  .rb-header__search,
  .rb-header__account,
  .rb-header__cart {
    width: 41.8px; /* ?5% from 44px */
    height: 41.8px;
    font-size: 1.30625rem; /* ?5% from 1.375rem */
    overflow: visible;
  }

  /* Cart qty badge ? match desktop inset (was right:-10px, clipped off-screen) */
  /* rb-cart-badge-blue-v1 — the bag stays on the grey icon gradient; only the count circle
     takes the Canna River blue so the number reads as a live signal against the grey chrome. */
  .rb-header__cart-count {
    top: 2px !important;
    right: 2px !important;
    background-image: var(--rb-canna-gradient);
    background-size: var(--rb-brand-gradient-size, 200% 100%);
    box-shadow: 0 2px 6px rgba(var(--rb-canna-shadow-rgb, 36, 104, 68), 0.32);
  }
  @media (prefers-reduced-motion: reduce) {
    .rb-header__cart-count {
      background-image: var(--rb-canna-gradient-static, linear-gradient(90deg, #246844 0%, #3D9970 100%));
      background-size: auto;
    }
  }

  .rb-header__utils {
    overflow: visible;
    padding-right: 2px;
    transform: translateX(-2px);
  }

  /* Pills under the main strip ? larger/wider, flush toward screen edges */
  .rb-header__nav--bar {
    grid-area: nav;
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 4px; /* was 5px; 1px closer */
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
    /* The pills own this row again (the icons sit beside the logo above), so they centre.
       Bottom padding stays for the open pill's animated ring. */
    padding: 0 6px 10px !important;
    margin-top: -5px !important;
    overflow: visible !important; /* was hidden — shaved pill bottoms */
    box-sizing: border-box !important;
  }

  .rb-header__nav--bar::-webkit-scrollbar {
    display: none;
  }

  /* Size to the label, not the row. flex: 1 1 0 + width: 100% stretched each pill to half
     the screen, which left ~77px of dead space inside a ~100px-wide label + arrow. Content
     width plus the padding below keeps the pair centred and tight together, with the
     leftover width falling outside the pills as margin. */
  .rb-header__nav--bar .rb-header__dropdown {
    position: static;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }

  .rb-header__nav--bar .rb-header__pill {
    width: auto;
    justify-content: center;
    min-height: 0;
    padding: 3px 13px 3px 15px; /* right is tighter: the arrow icon carries its own space */
    gap: 3px;
    font-size: clamp(1.02rem, 3.4vw, 1.22rem);
    font-weight: 600;
    letter-spacing: 0.04em;
    white-space: nowrap;
  }

  .rb-header__nav--bar .rb-header__pill-label {
    font-size: inherit;
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon {
    width: calc(1.58rem - 1px);
    height: calc(1.58rem - 1px);
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon-arrow {
    font-size: calc(1.58rem - 1px);
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon-plus {
    font-size: calc(1.58rem - 3px);
  }

  /* Open pill — Classic inverse (animated fill + white text/icons) */
  .rb-header__nav--bar .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__pill-icon i {
    transition: none !important;
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill,
  .rb-header__nav--bar .rb-header__dropdown.is-open:hover .rb-header__pill,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill:hover {
    background-image: var(--rb-emerald-gradient);
    background-origin: border-box;
    background-clip: border-box;
    background-size: var(--rb-emerald-gradient-size);
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__dropdown.is-open:hover .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill:hover .rb-header__pill-label {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff;
    color: #fff;
    animation: none;
    font-size: inherit;
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon {
    width: calc(1.58rem - 1px);
    height: calc(1.58rem - 1px);
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon i:not(.rb-header__pill-icon-plus),
  .rb-header__nav--bar .rb-header__dropdown.is-open:hover .rb-header__pill-icon i:not(.rb-header__pill-icon-plus),
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill:hover .rb-header__pill-icon i:not(.rb-header__pill-icon-plus) {
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff;
    color: #fff !important;
    animation: none;
    font-size: calc(1.58rem - 1px);
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon-arrow {
    opacity: 0;
    transform: rotate(90deg) scale(0.5);
    font-size: calc(1.58rem - 1px);
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon-plus,
  .rb-header__nav--bar .rb-header__dropdown.is-open:hover .rb-header__pill-icon-plus,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill:hover .rb-header__pill-icon-plus {
    opacity: 1;
    visibility: visible;
    transform: none;
    font-size: calc(1.58rem - 3px);
    background-image: none;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff;
    color: #fff !important;
    animation: rb-plus-spin 3.5s linear infinite !important;
  }

  /* Kill sticky :hover inverse fill on touch — keep Classic rest (gradient text + even ring) */
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:hover,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):hover .rb-header__pill,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:active,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):active .rb-header__pill {
    background-image:
      linear-gradient(var(--rb-header-pill-fill), var(--rb-header-pill-fill)),
      var(--rb-emerald-gradient);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    background-size: auto, var(--rb-emerald-gradient-size);
  }

  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:hover .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):hover .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:active .rb-header__pill-label,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):active .rb-header__pill-label {
    background-image: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:hover .rb-header__pill-icon i:not(.rb-header__pill-icon-plus),
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):hover .rb-header__pill-icon i:not(.rb-header__pill-icon-plus),
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:active .rb-header__pill-icon i:not(.rb-header__pill-icon-plus),
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):active .rb-header__pill-icon i:not(.rb-header__pill-icon-plus) {
    background-image: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:hover .rb-header__pill-icon-arrow,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):hover .rb-header__pill-icon-arrow {
    opacity: 1;
    transform: rotate(0deg) scale(1);
  }

  .rb-header__nav--bar .rb-header__dropdown:not(.is-open) .rb-header__pill:hover .rb-header__pill-icon-plus,
  .rb-header__nav--bar .rb-header__dropdown:not(.is-open):hover .rb-header__pill-icon-plus {
    opacity: 0;
    transform: rotate(0deg) scale(1);
    animation: none !important;
  }

  /* Dropdown panel ? fixed under header so pill-row overflow can't clip it */
  .rb-header,
  .rb-header__inner,
  .rb-header-shell {
    overflow: visible !important;
  }

  .rb-header__nav--bar:has(.rb-header__dropdown.is-open) {
    overflow: visible;
  }

  .rb-header__nav--bar .rb-header__menu {
    display: none !important;
    position: fixed;
    /* Fallback: center on stage; JS sets exact left/width from body (rb-mobile-menu-stage-center-v1) */
    left: 50%;
    right: auto;
    top: 0; /* set in JS to bottom of white nav + gap */
    z-index: 230;
    transform: translateX(-50%);
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    min-width: 0;
    width: calc(var(--rb-stage, 100vw) - 16px);
    max-width: calc(var(--rb-stage, 100vw) - 16px);
    max-height: min(75vh, 640px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 6px 14px; /* side pad so selection pills clear rounded clip */
    background: #fff;
    border-radius: 16px; /* full rounded box ? top corners were square / clipped */
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow:
      0 12px 36px rgba(14, 39, 68, 0.16),
      0 4px 12px rgba(0, 0, 0, 0.08);
  }

  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .rb-header__nav--bar .rb-header__menu::before {
    display: none !important;
  }

  .rb-header__nav--bar .rb-header__menu--hemp,
  .rb-header__nav--bar .rb-header__menu--kratom,
  .rb-header__nav--bar .rb-header__menu--explore {
    padding-top: 8px;
  }

  .rb-header__nav--bar .rb-header__menu-brand {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 4px 20px 8px;
  }

  .rb-header__nav--bar .rb-header__menu--kratom .rb-header__menu-brand {
    padding: 14px 20px 8px;
  }

  .rb-header__nav--bar .rb-header__menu-brand-logo {
    display: block;
    width: auto;
    max-width: min(231px, 73.5vw); /* +5% */
    height: auto;
    margin: 0 auto;
  }

  .rb-header__nav--bar .rb-header__menu--kratom .rb-header__menu-brand-logo {
    max-width: min(242.55px, 77.175vw); /* +5% */
    margin-bottom: 10px;
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-brand-logo {
    max-width: min(294px, 81.9vw); /* +5% */
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-brand-logo.rb-logo--gradient {
    height: 46.2px; /* +5% */
    width: calc(46.2px * (6018 / 1647));
    max-width: min(294px, 81.9vw);
    margin: 0 auto;
    background: #000;
    background-image: none;
    animation: none;
  }

  .rb-header__nav--bar .rb-header__menu-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 0 6px;
  }

  .rb-header__nav--bar .rb-header__menu--kratom .rb-header__menu-col {
    padding: 0 8px;
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-col {
    min-width: 0;
    padding: 0 2px;
  }

  .rb-header__nav--bar .rb-header__menu--hemp .rb-header__menu-col:first-child,
  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-col:first-child {
    border-right: 1px solid rgba(0, 0, 0, 0.12);
  }

  .rb-header__nav--bar .rb-header__menu-label {
    margin: 0;
    padding: 8px 16px 10px;
    color: #000 !important;
    -webkit-text-fill-color: #000;
    background: none !important;
    animation: none !important;
    font-size: clamp(1.2075rem, 4.5885vw, 1.509375rem); /* +5% again on By product / By effect */
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  }

  .rb-header__nav--bar .rb-header__menu--hemp .rb-header__menu-label,
  .rb-header__nav--bar .rb-header__menu--kratom .rb-header__menu-label {
    padding: 6px 16px 8px;
  }

  .rb-header__nav--bar .rb-header__menu a {
    display: block;
    padding: 10px 16px;
    margin: 0;
    border-radius: 0;
    text-decoration: none;
    font-size: clamp(1.338645rem, 5.04735vw, 1.733655rem); /* subcolumn options ?5% */
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-transform: none;
    white-space: nowrap;
    transition: background 0.15s ease, background-image 0.15s ease !important;
  }

  .rb-header__nav--bar .rb-header__menu-col a {
    position: relative;
    z-index: 0;
    isolation: isolate;
    background-color: transparent !important;
    background-image: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
    border-bottom: none;
    /* Avoid theme a{transition:all} grey flash on tap */
    transition: background 0.15s ease, background-image 0.15s ease !important;
  }

  .rb-header__nav--bar .rb-header__menu-col a::before {
    content: "";
    position: absolute;
    /* Inset from sides so 10px radius isn't squared off by menu overflow-x */
    inset: 0 4px;
    z-index: -1;
    background: transparent;
    border-radius: 10px;
    transition: background 0.15s ease, background-image 0.15s ease;
  }

  /* Brand inverse press/hover ? matches desktop (blue / green / emerald) */
  .rb-header__nav--bar .rb-header__menu-col a:hover::before,
  .rb-header__nav--bar .rb-header__menu-col a:active::before,
  .rb-header__nav--bar .rb-header__menu-col a:focus::before,
  .rb-header__nav--bar .rb-header__menu-col a:focus-visible::before,
  .rb-header__nav--bar .rb-header__menu-footer-link:hover::before,
  .rb-header__nav--bar .rb-header__menu-footer-link:active::before,
  .rb-header__nav--bar .rb-header__menu-footer-link:focus::before {
    background: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  .rb-header__nav--bar .rb-header__menu-col a:hover,
  .rb-header__nav--bar .rb-header__menu-col a:active,
  .rb-header__nav--bar .rb-header__menu-col a:focus,
  .rb-header__nav--bar .rb-header__menu-col a:focus-visible,
  .rb-header__nav--bar .rb-header__menu-col a:visited:hover,
  .rb-header__nav--bar .rb-header__menu-col a:visited:active {
    background-image: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
    opacity: 1 !important;
    animation: none !important;
  }

  /* Touch: sticky :hover from theme a:hover (#242424) ? keep inverse white, not grey */
  @media (hover: none) {
    .rb-header__nav--bar .rb-header__menu-col a:hover,
    .rb-header__nav--bar .rb-header__menu-col a:active,
    .rb-header__nav--bar .rb-header__menu-col a:focus {
      -webkit-text-fill-color: #fff !important;
      color: #fff !important;
    }

    .rb-header__nav--bar .rb-header__menu-col a:hover::before,
    .rb-header__nav--bar .rb-header__menu-col a:active::before,
    .rb-header__nav--bar .rb-header__menu-col a:focus::before {
      background: var(--rb-emerald-gradient);
      background-size: var(--rb-emerald-gradient-size);
    }
  }

  .rb-header__nav--bar .rb-header__menu-footer-link:hover .rb-header__menu-footer-label,
  .rb-header__nav--bar .rb-header__menu-footer-link:active .rb-header__menu-footer-label,
  .rb-header__nav--bar .rb-header__menu-footer-link:focus .rb-header__menu-footer-label {
    background-image: none !important;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
    animation: none;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link:hover .rb-band-pill-icon i,
  .rb-header__nav--bar .rb-header__menu-footer-link:active .rb-band-pill-icon i {
    background-image: none !important;
    background-clip: border-box;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
  }

  .rb-header__nav--bar .rb-header__menu--hemp .rb-header__menu-col a,
  .rb-header__nav--bar .rb-header__menu--kratom .rb-header__menu-col a {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  /* Explore ? wider hover/tap pills so Product COA's / Subscriptions fit */
  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-cols {
    padding: 0 2px;
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-label {
    padding-left: 10px;
    padding-right: 10px;
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-col a {
    box-sizing: border-box;
    max-width: none;
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    overflow: visible;
    text-overflow: clip;
    font-size: clamp(1.2717rem, 4.795vw, 1.647rem); /* subcolumn options ?5% */
  }

  .rb-header__nav--bar .rb-header__menu--explore .rb-header__menu-col a::before {
    /* Stretch pill into column gutters ? fills dropdown L/R */
    inset: 0 -2px;
  }

  .rb-header__nav--bar .rb-header__menu-footer {
    margin-top: 4px;
    padding: 4px 8px 10px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .rb-header__nav--bar .rb-header__menu-footer-link {
    position: relative;
    z-index: 0;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    padding: 10px 16px;
    font-size: clamp(1.4091rem, 5.313vw, 1.8249rem); /* +5% again match subcolumn */
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.25;
    text-decoration: none;
    background: none !important;
    animation: none !important;
    border-bottom: none;
    color: inherit !important;
    -webkit-text-fill-color: unset;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link::before {
    content: "";
    position: absolute;
    inset: 0 4px;
    z-index: -1;
    border-radius: 10px;
    background: transparent;
    transition: background 0.15s ease, background-image 0.15s ease;
  }

  .rb-header__nav--bar .rb-header__menu-footer-label {
    background-color: transparent !important;
    background-image: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link .rb-band-pill-icon {
    position: relative;
    width: 1.75rem;
    height: 1.75rem;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(8px); /* match desktop Shop All arrow baseline */
  }

  .rb-header__nav--bar .rb-header__menu-footer-link .rb-band-pill-icon i {
    position: absolute;
    font-weight: var(--rb-pill-icon-weight);
    transition: transform 0.25s ease, opacity 0.25s ease;
    background-image: var(--rb-emerald-gradient);
    background-size: var(--rb-emerald-gradient-size);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link .rb-band-pill-icon-arrow {
    opacity: 1;
    transform: translateX(0);
    font-size: 1.35rem;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link .rb-band-pill-icon-plus {
    opacity: 0;
    font-size: 1.25rem;
    animation: none !important;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link:hover .rb-band-pill-icon-arrow,
  .rb-header__nav--bar .rb-header__menu-footer-link:active .rb-band-pill-icon-arrow {
    opacity: 0;
  }

  .rb-header__nav--bar .rb-header__menu-footer-link:hover .rb-band-pill-icon-plus,
  .rb-header__nav--bar .rb-header__menu-footer-link:active .rb-band-pill-icon-plus {
    opacity: 1;
    animation: rb-plus-spin 3.5s linear infinite !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon-plus,
    .rb-header__nav--bar .rb-header__menu-footer-link:hover .rb-band-pill-icon-plus,
    .rb-header__nav--bar .rb-header__menu-footer-link:active .rb-band-pill-icon-plus {
      animation: none !important;
    }

    .rb-header__nav--bar .rb-header__menu-col a,
    .rb-header__nav--bar .rb-header__menu-footer-label,
    .rb-header__nav--bar .rb-header__menu-footer-link .rb-band-pill-icon i {
      animation: none;
      background-image: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
      background-size: auto;
    }
  }

  body.rb-mobile-nav-open {
    overflow: hidden;
    /* Do NOT set touch-action:none on body — if rb-mobile-nav-open sticks,
       the whole page becomes permanently unscrollable. Backdrop + overflow cover the menu case. */
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }

  .rb-mobile-nav-backdrop {
    display: none;
    position: fixed;
    top: 0; /* JS sets to bottom of pill row so pills stay tappable */
    right: 0;
    bottom: 0;
    left: 0;
    /* Below header (200) so pills + fixed menus win hits; above page content */
    z-index: 150;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation;
  }

  .rb-mobile-nav-backdrop:active,
  .rb-mobile-nav-backdrop:focus,
  .rb-mobile-nav-backdrop:focus-visible {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
  }

  .rb-mobile-nav-backdrop.is-visible {
    display: block;
  }

  /* Footer — no emerald band */
  .rb-footer {
    background: var(--rb-light, #f7f7f5) !important;
    background-image: none !important;
    color: var(--rb-dark, #0e2744) !important;
  }

  .rb-footer__legal-band,
  .rb-footer__legal-copy,
  .rb-footer__legal-copy p,
  .rb-footer__prop65,
  .rb-footer__bottom,
  .rb-footer__bottom span {
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.78) !important;
  }

  /* Disclaimer + bottom legal links — bold emerald animated gradient */
  .rb-footer__legal-copy a,
  .rb-footer__legal a,
  .rb-footer__prop65 a {
    font-weight: 700 !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: #246844;
  }

  .rb-footer__legal-copy a:hover,
  .rb-footer__legal a:hover,
  .rb-footer__prop65 a:hover {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
  }

  /* Stay Connected — dark grey email outline + animated emerald Subscribe */
  footer#t4s-footer .rb-footer .rb-footer__form input[type="email"],
  footer#t4s-footer .rb-footer form#rb-footer-newsletter .rb-footer__form input[type="email"],
  footer#t4s-footer .rb-footer #rb-footer-newsletter input[type="email"],
  .rb-footer .rb-footer__form input[type="email"] {
    border: 1.5px solid #4a4a4a !important;
  }

  footer#t4s-footer .rb-footer .rb-footer__form .rb-btn--xs,
  footer#t4s-footer .rb-footer form#rb-footer-newsletter .rb-footer__form .rb-btn--xs,
  footer#t4s-footer .rb-footer #rb-footer-newsletter .rb-btn.rb-btn--xs,
  .rb-footer .rb-footer__form .rb-btn--xs {
    background: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
    color: #fff !important;
    border: none !important;
  }

  footer#t4s-footer .rb-footer .rb-footer__form .rb-btn--xs:hover,
  .rb-footer .rb-footer__form .rb-btn--xs:hover {
    background: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    color: #fff !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-footer__legal-copy a,
    .rb-footer__legal a,
    .rb-footer__prop65 a {
      animation: none !important;
      background-image: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
      background-size: auto !important;
    }

    footer#t4s-footer .rb-footer .rb-footer__form .rb-btn--xs,
    footer#t4s-footer .rb-footer form#rb-footer-newsletter .rb-footer__form .rb-btn--xs,
    footer#t4s-footer .rb-footer #rb-footer-newsletter .rb-btn.rb-btn--xs,
    .rb-footer .rb-footer__form .rb-btn--xs {
      animation: none !important;
      background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
      background-size: auto !important;
    }
  }

  /* Footer ? 2-col tablet; Yotpo replaces logo (header hidden via .rb-desktop-only) */
  .rb-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px 12px;
  }

  .rb-footer__aside {
    grid-column: 1 / -1;
    display: contents;
  }

  .rb-footer__brand {
    grid-column: 1 / -1;
    order: -1;
    display: flex;
    justify-content: center;
    margin: 20px 0 8px;
  }

  .rb-footer__col--connect {
    grid-column: 1 / -1;
  }

  footer#t4s-footer .rb-footer .rb-container,
  body .rb-footer .rb-container {
    padding-inline: clamp(24px, 6vw, 36px) !important;
  }

  .rb-footer__col {
    border: 2px solid transparent;
    background-color: transparent;
    background-image: linear-gradient(#fff, #fff), var(--rb-canna-gradient);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    background-size: auto, var(--rb-brand-gradient-size, 200% 100%);
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
    border-radius: 16px;
    padding: 16px 16px 14px;
    box-sizing: border-box;
    box-shadow: var(--rb-emerald-glow-shadow, 0 12px 36px rgba(var(--rb-canna-shadow-rgb), 0.238), 0 4px 16px rgba(var(--rb-canna-shadow-light-rgb), 0.17));
  }

  .rb-footer__col .rb-footer__heading {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-charcoal-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  .rb-footer__col .rb-footer__links a,
  .rb-footer__col .rb-footer__links .rb-footer__a11y-trigger,
  .rb-footer__col .rb-footer__tagline {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  .rb-footer__legal-band {
    padding: 16px !important;
    border-radius: 16px;
    box-sizing: border-box;
  }

  .rb-footer__legal-copy {
    gap: 10px;
  }

  .rb-footer__legal-copy p,
  .rb-footer__prop65 {
    font-size: 0.9em !important;
    line-height: 1.5 !important;
  }

  .rb-footer__bottom {
    margin-top: 14px;
    padding-top: 14px;
    gap: 14px;
  }

  .rb-footer__brand {
    grid-column: 1 / -1;
  }

  /* Profile tabs */
  .rb-profile__layout {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .rb-profile__sidebar {
    position: static;
    width: 100%;
  }

  .rb-profile__nav {
    flex-wrap: wrap;
    gap: 8px;
  }

  .rb-profile__tab {
    flex: 1 1 calc(50% - 4px);
    min-width: 0;
    min-height: 48px;
    font-size: 0.9375rem;
  }

  .rb-profile__subtext {
    white-space: normal;
  }

  .rb-profile__recharge-frame {
    min-height: 520px;
  }

  /*
    Account page — full-width swipe deck (no pills).
    Rail + scrollbar match featured product cards; panels snap with a peek.
  */
  body.template-customers-account .rb-profile {
    padding: 24px 0 40px;
    zoom: 1;
  }

  body.template-customers-account .rb-profile__header {
    margin-bottom: 12px;
  }

  body.template-customers-account .rb-profile__title {
    font-size: clamp(1.5525rem, 6.325vw, 1.8975rem) !important; /* +15% */
    margin-bottom: 4px;
  }

  body.template-customers-account .rb-profile__subtext {
    font-size: 0.8125rem !important;
    line-height: 1.4 !important;
  }

  body.template-customers-account .rb-profile__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  body.template-customers-account .rb-profile__sidebar {
    display: contents;
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
  }

  body.template-customers-account .rb-profile__welcome {
    grid-column: 1 / -1;
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none !important;
  }

  body.template-customers-account .rb-profile__hello {
    font-size: clamp(1.265rem, 4.95vw, 1.485rem) !important; /* +10% */
    margin-bottom: 2px !important;
  }

  body.template-customers-account .rb-profile__email {
    margin: 0 0 4px !important;
    font-size: 0.853125rem !important; /* +5% */
  }

  /* Remove the 4 account pills on mobile — swipe deck only */
  body.template-customers-account .rb-profile__nav {
    display: none !important;
  }

  body.template-customers-account .rb-profile__deck {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    width: 100%;
  }

  body.template-customers-account .rb-profile__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding-inline: 0;
  }

  body.template-customers-account .rb-profile__rail[hidden] {
    display: none !important;
  }

  body.template-customers-account .rb-profile__swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  body.template-customers-account .rb-profile__swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  body.template-customers-account .rb-profile__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  body.template-customers-account .rb-profile__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  body.template-customers-account .rb-profile__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  @media (prefers-reduced-motion: reduce) {
    body.template-customers-account .rb-profile__swipe-chevron {
      animation: none;
      opacity: 1;
    }
  }

  body.template-customers-account .rb-profile__main {
    grid-column: auto;
    grid-row: auto;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 2px 0 6px;
    min-width: 0;
    width: 100%;
  }

  body.template-customers-account .rb-profile__main::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  body.template-customers-account .rb-profile__panel,
  body.template-customers-account .rb-profile__panel[hidden] {
    display: flex !important;
    flex-direction: column;
    flex: 0 0 calc(100% - 22px);
    width: calc(100% - 22px);
    max-width: calc(100% - 22px);
    min-width: 0;
    height: auto;
    min-height: 0;
    max-height: none;
    align-self: flex-start;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid rgba(var(--rb-dark-rgb, 14, 39, 68), 0.08);
    border-radius: 16px;
    padding: 12px 12px 14px;
    box-shadow: 0 8px 28px rgba(var(--rb-deep-rgb, 14, 39, 68), 0.06);
  }

  /* Short panels — fit content; never stretch to Order History height */
  body.template-customers-account .rb-profile__panel[data-profile-panel="community-discounts"],
  body.template-customers-account .rb-profile__panel[data-profile-panel="loyalty"],
  body.template-customers-account .rb-profile__panel[data-profile-panel="subscriptions"],
  body.template-customers-account .rb-profile__panel[data-profile-panel="community-discounts"][hidden],
  body.template-customers-account .rb-profile__panel[data-profile-panel="loyalty"][hidden],
  body.template-customers-account .rb-profile__panel[data-profile-panel="subscriptions"][hidden] {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-self: flex-start !important;
  }

  /*
    Collapse Order History when it is not the active swipe card so it cannot
    force page height / vertical scroll while viewing the short panels.
  */
  body.template-customers-account .rb-profile__panel[data-profile-panel="orders"]:not(.is-active) {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    overflow: hidden !important;
    pointer-events: none;
  }

  body.template-customers-account .rb-profile .rb-profile__panel-title {
    margin: 0 0 6px !important;
    font-size: 1.40625rem !important; /* 1.125rem +25% */
    line-height: 1.25 !important;
  }

  body.template-customers-account .rb-profile .rb-profile__panel-lead,
  body.template-customers-account .rb-profile .rb-profile__panel[data-profile-panel="subscriptions"] .rb-profile__panel-lead,
  body.template-customers-account .rb-profile .rb-profile__panel[data-profile-panel="loyalty"] .rb-profile__panel-lead,
  body.template-customers-account .rb-profile .rb-profile__panel[data-profile-panel="community-discounts"] .rb-profile__panel-lead {
    margin: 0 0 12px !important;
    font-size: 0.934375rem !important; /* 0.8125rem +15% */
    line-height: 1.4 !important;
  }

  body.template-customers-account .rb-profile .rb-profile__embed-note,
  body.template-customers-account .rb-profile .rb-profile__embed-fallback {
    font-size: 0.8625rem !important; /* 0.75rem +15% */
    line-height: 1.4 !important;
    margin-top: 8px !important;
  }

  body.template-customers-account .rb-profile .rb-profile__orders {
    font-size: 0.934375rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__orders thead th,
  body.template-customers-account .rb-profile .rb-profile__orders th,
  body.template-customers-account .rb-profile .rb-profile__orders td::before {
    font-size: 0.8625rem !important; /* +15% */
    letter-spacing: 0.04em !important;
  }

  body.template-customers-account .rb-profile .rb-profile__orders tbody tr.rb-profile__order-row > td,
  body.template-customers-account .rb-profile .rb-profile__orders tbody tr.rb-profile__order-row .rb-profile__order-name {
    font-size: 0.934375rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__embed--subscriptions .rb-quiz-cta--profile-subscriptions {
    min-height: 46px !important; /* 40px +15% */
    padding: 9.2px 16.1px !important; /* +15% */
    font-size: 0.934375rem !important; /* +15% */
    gap: 13.8px !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__embed--subscriptions .rb-quiz-cta--profile-subscriptions .rb-quiz-cta__label {
    font-size: 0.934375rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__embed--subscriptions .rb-quiz-cta--profile-subscriptions .rb-band-pill-icon {
    width: 1.86875rem !important; /* +15% */
    height: 1.86875rem !important;
  }

  body.template-customers-account .rb-profile .rb-profile__embed--subscriptions .rb-quiz-cta--profile-subscriptions .rb-band-pill-icon-arrow {
    font-size: 1.58125rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__embed--subscriptions .rb-quiz-cta--profile-subscriptions .rb-band-pill-icon-plus {
    font-size: 1.509375rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile .rb-profile__empty,
  body.template-customers-account .rb-profile .rb-profile__cta,
  body.template-customers-account .rb-profile .rb-profile__cta span {
    font-size: 0.934375rem !important; /* +15% */
  }

  body.template-customers-account .rb-profile__links {
    grid-column: 1 / -1;
    grid-row: auto;
    margin-top: 4px;
    padding-top: 0;
    border-top: none !important;
  }

  body.template-customers-account .rb-profile__help,
  body.template-customers-account .rb-profile__help a,
  body.template-customers-account .rb-profile__link {
    font-size: 0.853125rem !important; /* +5% */
  }

  /* Order History — one card per order + emerald shadow / scroll outline */
  body.template-customers-account .rb-profile__panel[data-profile-panel="orders"].is-active,
  body.template-customers-account .rb-profile__panel[data-profile-panel="orders"].is-active[hidden] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 4px 2px 8px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto;
  }

  body.template-customers-account .rb-profile__panel[data-profile-panel="orders"] .rb-profile__panel-title {
    margin: 0 0 12px !important;
    padding-inline: 4px;
  }

  body.template-customers-account .rb-profile__orders-cards {
    display: flex !important;
    flex-direction: column;
    gap: 14px;
    width: 100%;
  }

  body.template-customers-account .rb-profile__order-card {
    --rb-snake-dark: #246844;
    --rb-snake-mid: #2F7A4E;
    --rb-snake-light: #3D9970;
    --rb-snake-bright: #4CB080;
    --rb-outline-flow-duration: 3s;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 14px 14px 12px;
    border: 3px solid transparent;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(var(--rb-canna-shadow-rgb), 0.1), 0 2px 10px rgba(var(--rb-canna-shadow-light-rgb), 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease, background 0.3s ease;
    outline: none;
    -webkit-tap-highlight-color: transparent;
  }

  body.template-customers-account .rb-profile__order-card.is-carousel-active {
    transform: translateY(-4px);
    border-color: transparent;
    box-shadow: 0 12px 28px rgba(var(--rb-canna-shadow-rgb), 0.18);
    background-image:
      linear-gradient(#fff, #fff),
      conic-gradient(
        from var(--rb-order-outline-angle, 0deg),
        var(--rb-snake-bright) 0deg,
        var(--rb-snake-light) 10deg,
        var(--rb-snake-light) 28deg,
        var(--rb-snake-mid) 44deg,
        var(--rb-snake-dark) 56deg,
        var(--rb-snake-dark) 64deg,
        var(--rb-snake-mid) 76deg,
        var(--rb-snake-light) 92deg,
        var(--rb-snake-light) 108deg,
        var(--rb-snake-bright) 120deg,
        var(--rb-snake-light) 130deg,
        var(--rb-snake-light) 148deg,
        var(--rb-snake-mid) 164deg,
        var(--rb-snake-dark) 176deg,
        var(--rb-snake-dark) 184deg,
        var(--rb-snake-mid) 196deg,
        var(--rb-snake-light) 212deg,
        var(--rb-snake-light) 228deg,
        var(--rb-snake-bright) 240deg,
        var(--rb-snake-light) 250deg,
        var(--rb-snake-light) 268deg,
        var(--rb-snake-mid) 284deg,
        var(--rb-snake-dark) 296deg,
        var(--rb-snake-dark) 304deg,
        var(--rb-snake-mid) 316deg,
        var(--rb-snake-light) 332deg,
        var(--rb-snake-light) 348deg,
        var(--rb-snake-bright) 360deg
      );
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    animation: rb-order-outline-flow var(--rb-outline-flow-duration, 3s) linear infinite;
  }

  body.template-customers-account .rb-profile__order-card-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    font-size: 0.934375rem; /* 0.8125rem +15% */
    line-height: 1.35;
  }

  body.template-customers-account .rb-profile__order-card-label {
    font-weight: 700;
    letter-spacing: 0.04em;
    background-image: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%));
    background-size: var(--rb-charcoal-gradient-size, 200% 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  body.template-customers-account .rb-profile__order-card .rb-profile__order-name {
    font-weight: 700;
    color: #000;
    -webkit-text-fill-color: #000;
  }

  body.template-customers-account .rb-profile__order-card-invoice {
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid rgba(var(--rb-dark-rgb, 14, 39, 68), 0.08);
  }

  body.template-customers-account .rb-profile__order-card-invoice[hidden] {
    display: none !important;
  }

  /* Compact order lines — item / qty / cost only */
  body.template-customers-account .rb-profile__invoice--compact {
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
  }

  body.template-customers-account .rb-profile__invoice-lines {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  body.template-customers-account .rb-profile__invoice-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: baseline;
    gap: 8px 10px;
    font-size: 0.8125rem;
    line-height: 1.3;
  }

  body.template-customers-account .rb-profile__invoice-line-title {
    min-width: 0;
    font-weight: 600;
    color: #111;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.template-customers-account .rb-profile__invoice-line-variant {
    display: block;
    margin-top: 1px;
    font-size: 0.75rem;
    font-weight: 500;
    color: #6b7280;
  }

  body.template-customers-account .rb-profile__invoice-line-qty {
    font-weight: 600;
    color: #4b5563;
    white-space: nowrap;
  }

  body.template-customers-account .rb-profile__invoice-line-cost {
    font-weight: 700;
    color: #111;
    white-space: nowrap;
    text-align: right;
  }

  @media (prefers-reduced-motion: reduce) {
    body.template-customers-account .rb-profile__order-card.is-carousel-active {
      animation: none;
      border-color: #3D9970;
      background-image: none;
      background: #fff;
    }

    body.template-customers-account .rb-profile__order-card-label {
      animation: none;
      background-image: none;
      color: #2a2a2a;
      -webkit-text-fill-color: #2a2a2a;
    }
  }

  /* Rebrand pyramid ? centered; copy stays left-aligned */
  .rb-rebrand__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .rb-rebrand__copy {
    width: 100%;
    text-align: left;
  }

  .rb-rebrand__pyramid {
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
    overflow: visible;
  }

  .rb-rebrand__pyramid-level--bottom {
    gap: 8px;
    align-items: flex-start;
    overflow: visible;
    padding-top: 12px;
  }

  .rb-rebrand__pyramid-node {
    overflow: visible;
    min-height: 0;
    align-items: flex-start;
  }

  .rb-rebrand__pyramid-logo--rb {
    height: clamp(48px, 12vw, 64px) !important;
    width: calc(clamp(48px, 12vw, 64px) * (6018 / 1647)) !important;
    max-width: min(100%, 280px) !important;
  }

  .rb-rebrand__pyramid-logo--canna {
    width: min(37.4vw, 145.2px) !important; /* +10% */
    height: auto !important;
    max-width: none !important;
    transform: translate(-20px, 8px) !important;
  }

  .rb-rebrand__pyramid-logo--kratom {
    width: min(44.1vw, 172.2px) !important; /* +5% */
    height: auto !important;
    max-width: none !important;
    transform: translate(20px, 5px) !important; /* ?5px left; up 3px from 8px */
  }

  /* Trust strip ? left-aligned; motion starts after 3s via .is-marquee-playing */
  .rb-trust-strip__inner {
    padding: 0;
    justify-content: flex-start;
    overflow: hidden;
    height: var(--rb-trust-strip-height, 36px) !important;
  }

  .rb-trust-strip__track {
    display: flex;
    align-items: center;
    width: max-content;
    animation: rb-trust-marquee 48s linear infinite;
    animation-play-state: paused;
    will-change: transform;
  }

  .rb-trust-strip.is-marquee-playing .rb-trust-strip__track {
    animation-play-state: running;
  }

  .rb-trust-strip__list {
    gap: 28px;
    justify-content: flex-start;
    flex-shrink: 0;
    padding-inline-end: 28px;
  }

  .rb-trust-strip__list--marquee-clone {
    display: flex !important;
  }

  .rb-trust-strip__item {
    font-size: clamp(0.8728125rem, 1.246875vw, 1.1221875rem); /* ?5% (critical CSS synced) */
  }

  .rb-trust-strip__icon {
    width: 1.3715625rem; /* ?5% (critical CSS synced) */
    height: 1.3715625rem;
    font-size: 1.3715625rem;
  }

  @keyframes rb-trust-marquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
  }

  /* Favorites + YMAL ? horizontal snap carousel (peek + progress rail) */
  .rb-featured__scroller,
  .rb-ymal .rb-featured__scroller {
    position: relative;
    overflow: visible;
  }

  .rb-featured .rb-products.rb-product-cards,
  .rb-ymal .rb-products.rb-product-cards,
  body.template-product .rb-ymal .rb-products.rb-product-cards {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--rb-pad-x, 16px);
    padding-inline: var(--rb-pad-x, 16px);
    /* Shadow room without changing layout spacing (pad canceled by equal negative margin) */
    padding-block: 36px;
    margin-inline: calc(-1 * var(--rb-pad-x, 16px));
    margin-block: -36px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y; /* vertical page scroll still works over cards */
    align-items: stretch !important; /* equal height = tallest card */
  }

  .rb-featured .rb-products.rb-product-cards::-webkit-scrollbar,
  .rb-ymal .rb-products.rb-product-cards::-webkit-scrollbar,
  body.template-product .rb-ymal .rb-products.rb-product-cards::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .rb-featured .rb-products.rb-product-cards > .rb-product,
  .rb-ymal .rb-products.rb-product-cards > .rb-product,
  body.template-product .rb-ymal .rb-products.rb-product-cards > .rb-product {
    flex: 0 0 calc((100% - 40px) * 1.05) !important; /* +5% card size */
    width: calc((100% - 40px) * 1.05) !important;
    max-width: calc((100% - 40px) * 1.05) !important;
    min-width: 0 !important;
    height: auto !important;
    align-self: stretch;
    scroll-snap-align: start;
    scroll-snap-stop: always; /* one swipe = one product */
  }

  .rb-featured__header .rb-featured__rail {
    display: none;
  }

  .rb-featured__group .rb-featured__rail,
  .rb-ymal > .rb-featured__rail,
  body.template-product .rb-ymal > .rb-featured__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin-top: 0;
    margin-bottom: 20px; /* +5px more space above cards */
    padding-inline: 0;
  }

  .rb-featured__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
    padding-inline: var(--rb-pad-x, 16px);
  }

  .rb-featured__rail[hidden] {
    display: none !important;
  }

  .rb-featured__swipe-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-featured__swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  @keyframes rb-featured-swipe-nudge {
    0%, 100% { transform: translateX(0); opacity: 0.7; }
    50% { transform: translateX(5px); opacity: 1; }
  }

  .rb-featured__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-featured__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-featured__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  /* Prev/next flanking the swipe scrollbar (mouse users on narrowed desktop) */
  .rb-carousel-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
  }

  .rb-carousel-controls .rb-featured__scrollbar,
  .rb-carousel-controls .rb-perks__scrollbar,
  .rb-carousel-controls .rb-hero__scrollbar,
  .rb-carousel-controls .rb-rewards__tiers-scrollbar,
  .rb-carousel-controls .rb-rewards__earn-scrollbar,
  .rb-carousel-controls .rb-rewards__redeem-scrollbar,
  .rb-carousel-controls .rb-profile__scrollbar {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    max-width: none;
  }

  .rb-carousel-arrow {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(var(--rb-dark-rgb, 14, 39, 68), 0.18);
    border-radius: 999px;
    background: #fff;
    color: #0e2744;
    box-shadow: 0 1px 4px rgba(14, 39, 68, 0.12);
    cursor: pointer;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
  }

  .rb-carousel-arrow i {
    font-size: 1.35rem;
    line-height: 1;
  }

  .rb-carousel-arrow:hover:not(:disabled),
  .rb-carousel-arrow:focus-visible:not(:disabled) {
    border-color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.35);
    outline: none;
  }

  .rb-carousel-arrow:disabled {
    opacity: 0.32;
    cursor: default;
    box-shadow: none;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-featured__swipe-chevron {
      animation: none;
      opacity: 1;
    }

    .rb-featured__scrollbar-thumb {
      background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
      background-size: auto;
    }
  }

  /* Favorites + collection + YMAL ? kill sticky :hover; only .is-carousel-active keeps the view effect */
  .template-index .rb-featured .rb-product:hover:not(.is-carousel-active),
  .template-index .rb-featured .rb-product--canna-effect:hover:not(.is-carousel-active),
  .template-index .rb-featured .rb-product--kratom-effect:hover:not(.is-carousel-active),
  .template-collection .rb-product-cards .rb-product:hover:not(.is-carousel-active),
  .template-collection .rb-product-cards .rb-product--canna-effect:hover:not(.is-carousel-active),
  .template-collection .rb-product-cards .rb-product--kratom-effect:hover:not(.is-carousel-active),
  .template-product .rb-ymal .rb-product:hover:not(.is-carousel-active),
  .template-product .rb-ymal .rb-product--canna-effect:hover:not(.is-carousel-active),
  .template-product .rb-ymal .rb-product--kratom-effect:hover:not(.is-carousel-active) {
    transform: none;
    border-color: transparent;
    box-shadow: 0 0 0 0 transparent;
    background-image: none;
    animation: none;
  }

  /* Product cards ? tighter footer, larger image; smaller price / pills */
  .rb-product-cards .rb-product__img-wrap {
    height: clamp(280px, 72vw, 360px);
    padding: 10px;
  }

  /* Favorites + YMAL flippers only ? +5% image chrome (text/Yotpo unchanged) */
  .rb-featured .rb-product-cards .rb-product__img-wrap,
  .rb-ymal .rb-product-cards .rb-product__img-wrap {
    height: clamp(294px, 75.6vw, 378px);
  }

  .rb-product-cards .rb-product__img-brand {
    top: 10px;
    left: 10px;
  }

  .rb-product-cards .rb-product__brand-logo-mark--kratom {
    height: 66.70125px !important; /* prior 60.6375px +10% */
    width: calc(66.70125px * 90 / 109) !important;
  }

  .rb-product-cards .rb-product__img-brand .rb-product__brand-logo-img,
  .rb-product-cards .rb-product__img-brand .rb-product__brand-logo-img--kratom,
  .rb-product-cards .rb-product__img-brand--kratom .rb-product__brand-logo-img,
  .rb-product-cards .rb-product--kratom-effect .rb-product__img-brand .rb-product__brand-logo-img {
    height: 50.82px !important; /* prior 46.2px +10% */
    max-width: 50.82px !important;
    max-height: 50.82px !important;
  }

  .rb-product-cards .rb-product__img-brand--kratom .rb-product__brand-logo-img,
  .rb-product-cards .rb-product--kratom-effect .rb-product__img-brand .rb-product__brand-logo-img {
    height: 66.70125px !important; /* prior 60.6375px +10% */
    max-width: 58.6971px !important; /* prior 53.361px +10% */
    max-height: 66.70125px !important;
  }

  .rb-product-cards .rb-product {
    display: flex;
    flex-direction: column;
  }

  .rb-product-cards .rb-product__body {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 8px 16px 10px;
    min-height: 0;
  }

  .rb-product-cards .rb-product__title-group {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  /* heading is display:block in base CSS ? make it fill so price can pin to bottom */
  .rb-product-cards .rb-product__heading {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
  }

  .rb-product-cards .rb-product__title-stack {
    gap: 2px;
    min-height: 0;
    flex: 1 1 auto;
  }

  .rb-product-cards .rb-product__footer {
    margin-bottom: 0;
    padding-top: 0;
    transform: none;
  }

  .rb-product-cards .rb-product__price {
    font-size: 1.2794rem !important; /* ?10% from prior mobile 1.42155 */
  }

  .rb-product-cards .rb-product__compare {
    font-size: 0.73125rem;
  }

  .rb-product-cards .rb-product__effect-pill {
    /* ?10% from prior mobile pill + type */
    padding: 8.1px 21.6px !important;
    font-family: var(--font-body-family, "Roboto Condensed", "Arial Narrow", Arial, sans-serif) !important;
    font-size: 1.1115rem !important; /* 1.235 ? 0.9 */
    font-weight: 700 !important;
    font-synthesis: none !important;
    min-height: 34.2px !important;
    line-height: 1 !important;
    letter-spacing: 0.04em !important;
    top: 0 !important;
    margin-bottom: 0 !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .rb-product-cards .rb-product__stars {
    min-height: 24px;
  }

  .rb-product-cards .rb-product__stars .yotpo.bottomLine {
    min-height: 0;
  }

  /* Yotpo leaves visibility:hidden until ready ? force visible so stars aren't blank */
  .rb-product-cards .rb-product__stars .yotpo-display-wrapper,
  .rb-product-cards .rb-product__stars .yotpo.bottomLine .yotpo-display-wrapper {
    visibility: visible !important;
  }

  .rb-product-cards .rb-product__stars .yotpo .standalone-bottomline,
  .rb-product-cards .rb-product__stars .yotpo .standalone-bottomline.star-clickable,
  .rb-product-cards .rb-product__stars .yotpo .yotpo-bottomline,
  .rb-product-cards .rb-product__stars .yotpo .yotpo-stars {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px;
  }

  :root {
    --rb-card-review-text-size: 0.88765625rem; /* mobile card review count */
    --rb-card-star-icon-size: 0.947625rem;
    --rb-card-star-svg-size: 0.947625rem;
  }

  .rb-product-cards .rb-product__stars .yotpo .yotpo-bottomline .yotpo-icon-star,
  .rb-product-cards .rb-product__stars .yotpo .yotpo-bottomline .yotpo-icon-half-star,
  .rb-product-cards .rb-product__stars .yotpo .yotpo-bottomline .yotpo-icon-empty-star {
    font-size: var(--rb-card-star-icon-size) !important;
    line-height: 1 !important;
  }

  .rb-product-cards .rb-product__stars .yotpo .text-m,
  .rb-product-cards .rb-product-stars-fallback .text-m {
    font-size: var(--rb-card-review-text-size) !important;
    white-space: nowrap;
  }

  .rb-product-cards .rb-product__meta-row {
    min-height: 20px;
  }

  /* Pin price+pill to card bottom (equal-height stretch) ? no empty band under them */
  .rb-product-cards .rb-product__price-row {
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 4px;
    padding-bottom: 0;
  }

  .rb-product-cards .rb-product__price-wrap {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* Homepage floating bands ? match hero/footer frame inset (not product cards) */
  body.template-index .rb-hero--slider {
    padding-left: var(--rb-home-frame-inset, 8px);
    padding-right: var(--rb-home-frame-inset, 8px);
  }

  body.template-index .shopify-section:has(.rb-rebrand),
  body.template-index .shopify-section:has(.rb-eco) {
    padding-inline: var(--rb-home-frame-inset, 8px);
  }

  body.template-index .rb-perks .rb-container,
  body.template-index .rb-reviews {
    padding-inline: var(--rb-home-frame-inset, 8px);
  }

  /* Favorites product cards keep the wider content pad */
  body.template-index .rb-featured .rb-container {
    padding-inline: var(--rb-pad-x);
  }

  /* Product pages ? tighter than homepage banner inset; reclaim side space */
  body.template-product {
    --rb-home-frame-inset: 4px;
    --rb-pad-x: var(--rb-home-frame-inset);
    --ts-gutter-x: calc(var(--rb-home-frame-inset) * 2);
  }

  /* PDP stack whenever mobile chrome is on — kill tablet side-by-side (t4s-col-md-6 @ 768) */
  body.template-product .t4s-main-product__content .t4s-row:has(> .t4s-product__media-wrapper),
  body.template-product .t4s-container.t4s-main-product__content > .t4s-row,
  body.template-product .t4s-main-product__content > .t4s-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
  }

  /* Kill desktop isotope/combined-grid on phone stage (theme used to enable at ≥768) */
  body.template-product .isotopet4s.isotopet4s-later[data-main-media] {
    display: block !important;
  }
  body.template-product .isotopet4s.isotopet4s-later[data-main-media] > .t4s-product__media-item {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes] > [data-index],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="normal"] > [data-index="0"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="normal"] > [data-index="1"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="normal"] > [data-index="2"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="5"] > [data-index="0"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="5"] > [data-index="1"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="5"] > [data-index="2"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="3"] > [data-index="1"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="3"] > [data-index="2"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="normal"] > [data-index="4"],
  body.template-product .t4s-product-media__combined_grid .t4s-product__media-wrapper [data-media-sizes="normal"] > [data-index="5"] {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  body.template-product .t4s-product__media-wrapper,
  body.template-product .t4s-product__media-wrapper.t4s-col-md-6,
  body.template-product .t4s-product__media-wrapper.t4s-col-12,
  body.template-product .t4s-product__info-wrapper,
  body.template-product .t4s-product__info-wrapper.t4s-pr,
  body.template-product .t4s-col-md-6.t4s-col-12.t4s-col-item.t4s-product__media-wrapper,
  body.template-product .t4s-col-md-6.t4s-col-12.t4s-col-item.t4s-product__info-wrapper,
  body.template-product .t4s-col-md-6.t4s-col-12.t4s-col-item.t4s-product__info-wrapper.t4s-pr {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Main content only ? do NOT squeeze footer .rb-container (that killed side inset) */
  body.template-product #MainContent .t4s-container,
  body.template-product #MainContent .t4s-container.t4s-main-product__content,
  body.template-product #MainContent .rb-container {
    padding-left: var(--rb-home-frame-inset) !important;
    padding-right: var(--rb-home-frame-inset) !important;
    padding-inline: var(--rb-home-frame-inset) !important;
    max-width: none !important;
  }

  body.template-product .rb-reviews--product,
  body.template-product .related_products,
  body.template-product .rb-ymal,
  body.template-product .shopify-section:has(.t4s-main-product__content),
  body.template-product .shopify-section:has(.rb-reviews--product),
  body.template-product .shopify-section:has(.related_products) {
    padding-left: var(--rb-home-frame-inset);
    padding-right: var(--rb-home-frame-inset);
    padding-inline: var(--rb-home-frame-inset);
  }

  body.template-product .rb-reviews--product .rb-container,
  body.template-product .related_products .rb-container {
    padding-inline: 0 !important;
  }

  /* Reviews page — center Write A Review pill (undo desktop left nudge) */
  body.template-page .rb-reviews-page .yotpo-new-review-btn-wrapper {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /*
    rb-reviews-page-bottomline-stack-v1
    Phone stage was Yotpo desktop row (stars | Write A Review) → button off-screen.
    Match true mobile: stack + center.
  */
  body.template-page .rb-reviews-page .yotpo-bottomline-container,
  body.template-page .rb-reviews-page .yotpo-bottom-line-container,
  body.template-page .rb-reviews-page .yotpo-display-wrapper .yotpo-bottomline-container {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  body.template-page .rb-reviews-page .yotpo-bottomline-container > *,
  body.template-page .rb-reviews-page .yotpo-bottom-line,
  body.template-page .rb-reviews-page .yotpo-new-review-btn-wrapper {
    width: auto !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
    align-items: center !important;
  }

  body.template-page .rb-reviews-page .yotpo-bottom-line {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  body.template-page .rb-reviews-page #yotpo-main-widget-btn,
  body.template-page .rb-reviews-page .yotpo-new-review-btn,
  body.template-page .rb-reviews-page .yotpo .write-review-button,
  body.template-page .rb-reviews-page .yotpo .yotpo-default-button.write-review-button,
  body.template-page .rb-reviews-page .yotpo-display-wrapper .yotpo-default-button.write-review-button {
    transform: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-flex !important;
    justify-content: center !important;
  }

  body.template-page .rb-reviews-page #yotpo-main-widget-btn:hover,
  body.template-page .rb-reviews-page #yotpo-main-widget-btn:focus-visible,
  body.template-page .rb-reviews-page .yotpo-new-review-btn:hover,
  body.template-page .rb-reviews-page .yotpo-new-review-btn:focus-visible,
  body.template-page .rb-reviews-page .yotpo .write-review-button:hover,
  body.template-page .rb-reviews-page .yotpo .write-review-button:focus-visible,
  body.template-page .rb-reviews-page .yotpo .yotpo-default-button.write-review-button:hover,
  body.template-page .rb-reviews-page .yotpo .yotpo-default-button.write-review-button:focus-visible,
  body.template-page .rb-reviews-page .yotpo-display-wrapper .yotpo-default-button.write-review-button:hover,
  body.template-page .rb-reviews-page .yotpo-display-wrapper .yotpo-default-button.write-review-button:focus-visible {
    transform: translateY(-1px) !important;
  }

  /*
    rb-reviews-page-title-under-stars-v1
    Phone stage used Yotpo desktop row (stars | title) → title ~45px wide / stacked.
    Match true mobile: stars on top, title full-width below.
  */
  body.template-page .rb-reviews-page .yotpo-review-rating-title {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.template-page .rb-reviews-page .yotpo-review-center-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    box-sizing: border-box !important;
  }

  body.template-page .rb-reviews-page .yotpo-review-rating-title .yotpo-star-rating,
  body.template-page .rb-reviews-page .yotpo-review-rating-title .yotpo-review-star-rating {
    width: auto !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  body.template-page .rb-reviews-page .yotpo-review-rating-title .yotpo-review-title,
  body.template-page .rb-reviews-page .yotpo-review-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    box-sizing: border-box !important;
  }

  /* Canna collections — quiz under product count */
  body.template-collection .t4s-collection-header > .ctitl:not(.ctitl--kratom) {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0;
  }

  body.template-collection .ctitl:not(.ctitl--kratom) .rb-collection-text-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px; /* rb-collection-count-quiz-gap-5-v1 */
    min-width: 0;
  }

  /* Collection <h1> + intro lead — mobile (rb-collection-heading-v1)
     Held down to 22px so the heading does not outweigh the product grid on a phone, where the
     grid is the thing people came for. The intro is capped at three lines with the rest still
     in the DOM, so crawlers get the full lead while the grid stays near the top of the screen. */
  body.template-collection .rb-collection-title {
    font-size: 25.3px !important;
    line-height: 1.15 !important;
  }

  /* Collection brand logos — mobile +15% (rb-collection-brand-logo-m15-v3) */
  body.template-collection .rb-collection-brand-logo.rb-logo--gradient,
  body.template-collection .rb-collection-brand-logo {
    height: 40.48px !important; /* 36.8px +10% (rb-collection-logo-110-v1) */
    width: calc(40.48px * 220 / 48) !important;
    max-width: min(253px, 82.8vw) !important;
    margin: 0 0 8px !important;
    margin-left: 0 !important;
    filter: none !important;
  }

  /* Kratom River collection logo — width matched to Canna sibling +10% (aspect 2609/385) */
  body.template-collection .rb-collection-brand-logo.rb-logo--gradient.rb-collection-brand-logo--kratom,
  body.template-collection .rb-collection-brand-logo--kratom {
    height: 36.36px !important; /* 33.05px +10% (rb-collection-logo-110-v1) */
    width: calc(36.36px * 2609 / 385) !important;
    max-width: min(calc(36.36px * 2609 / 385), 92vw) !important;
    margin-left: -4px !important;
    background-image: var(--rb-kratom-gradient, linear-gradient(90deg, #1B4A35 0%, #246844 25%, #2F7A4E 50%, #246844 75%, #1B4A35 100%)) !important;
  }

  body.template-collection .rb-collection-brand-logo.rb-logo--gradient.rb-collection-brand-logo--rb,
  body.template-collection .rb-collection-brand-logo--rb {
    height: 44.436px !important; /* 38.64px +15% */
    width: calc(44.436px * 6018 / 1647) !important;
    max-width: min(277.725px, 99.98vw) !important;
    margin-left: -4px !important;
    background-image: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
  }

  body.template-collection .ctitl:not(.ctitl--kratom) .rb-collection-quiz {
    margin: 0;
    padding: 0;
  }

  /* Forbes badges — mobile: horizontal above count, left-aligned; block −10px (rb-forbes-mobile-block-left10-v1) */
  body.template-collection .t4s-collection-header > .ctitl.ctitl--forbes:not(.ctitl--kratom) {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px;
    width: 100%;
    justify-content: flex-start !important;
    transform: translateX(-10px); /* badge + text together */
  }

  body.template-collection .ctitl--forbes .rb-collection-text-stack {
    order: 2;
    flex: 0 1 auto;
    min-width: 0;
    width: 100%;
  }

  body.template-collection .ctitl--forbes .rb-forbes-health-badge {
    position: static;
    transform: translateX(-10px); /* badge only −10px (rb-forbes-mobile-badge-left10-v1) */
    order: 1;
    margin-left: 0;
    margin-right: 0;
    align-self: flex-start !important;
  }

  body.template-collection .ctitl--forbes .rb-forbes-health-badge--horizontal {
    display: block !important;
    height: 116.28px;
    max-width: min(478.038px, 100%);
    width: auto;
    object-position: left center;
  }

  /* The badge anchor caps its own width, so the image has to be allowed to shrink inside it
     rather than keeping its intrinsic width and overflowing at 390px. */
  body.template-collection .ctitl--forbes .rb-forbes-health-badge__img {
    height: 100%;
    width: auto;
    max-width: 100%;
    object-position: left center;
  }

  body.template-collection .rb-collection-quiz {
    display: block;
    white-space: nowrap;
  }

  body.template-collection .rb-collection-quiz {
    margin: 0;
    padding: 0;
    font-size: 0.665em;
    font-weight: 400;
    line-height: 1.3;
    color: #000;
  }

  body.template-collection .rb-collection-quiz__link {
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #2F7A4E;
    background-image: var(--rb-canna-gradient) !important; /* rb-collection-quiz-canna-blue-v1 */
    background-size: var(--rb-brand-gradient-size, 200% 100%) !important;
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
  }

  body.template-collection .rb-collection-quiz__link:hover,
  body.template-collection .rb-collection-quiz__link:focus-visible {
    text-decoration: underline;
    text-decoration-color: #2F7A4E;
  }

  @media (prefers-reduced-motion: reduce) {
    body.template-collection .rb-collection-quiz__link {
      animation: none;
      background-image: var(--rb-canna-gradient-static) !important;
      background-size: auto !important;
    }
  }

  /* Hero swipe + rail through full mobile chrome band (was phone-only @ ≤767) */
  .rb-hero--slider .rb-hero__viewport {
    position: absolute !important;
    inset: 0 !important;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    cursor: grab;
  }

  .rb-hero--slider .rb-hero__viewport::-webkit-scrollbar {
    display: none;
  }

  .rb-hero--slider .rb-hero__slide {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: none !important;
    z-index: auto !important;
  }

  .rb-hero--slider .rb-hero__controls {
    display: none !important;
  }

  .rb-hero__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 14px;
    padding-inline: 2px;
  }

  .rb-hero__rail[hidden] {
    display: none !important;
  }

  .rb-hero__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-hero__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-hero__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  /* Perks horizontal snap through full mobile chrome band (was phone-only @ ≤767) */
  .rb-perks__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 0 16px;
    padding-inline: 0;
  }

  .rb-perks__rail[hidden] {
    display: none !important;
  }

  .rb-perks__swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-perks__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-perks__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-perks__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  .rb-perks__stack {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--rb-pad-x, 16px);
    padding-inline: var(--rb-pad-x, 16px);
    padding-block: 28px 36px;
    margin-inline: calc(-1 * var(--rb-pad-x, 16px));
    margin-block: -12px -24px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    align-items: stretch;
  }

  .rb-perks__stack::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .rb-perk-row {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 calc(100% - 40px);
    width: calc(100% - 40px);
    max-width: calc(100% - 40px);
    height: auto;
    align-self: stretch;
    gap: 0;
    margin-bottom: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* ?? Phone layout (full mobile handoff ≤999) ????????????????????? */
@media (max-width: 999px) {
  :root {
    /* Use stage vw (≤430), not window vw — resized desktop must match real phones */
    --rb-pad-x: clamp(16px, calc(4.5 * var(--rb-layout-vw, 1vw)), 24px);
    --rb-header-bar-height: 92px;
    --rb-home-glow-pad: 16px;
    --rb-band-gap: 16px;
    --rb-band-section-gap: 24px;
    --rb-text-base: 1.25rem;
    --rb-text-lg: 1.45rem;
    --rb-band-lead: clamp(1.25rem, calc(4.6 * var(--rb-layout-vw, 1vw)), 1.7rem);
  }

  /* Trust strip — phone type size (marquee lives in ≤999) */
  .rb-trust-strip__item {
    font-size: 0.8728125rem; /* ?5% from prior visible (critical CSS synced) */
    gap: 8px;
  }

  .rb-trust-strip__icon {
    width: 1.3715625rem; /* ?5% from prior visible (critical CSS synced) */
    height: 1.3715625rem;
    font-size: 1.3715625rem;
  }

  /* Hero slider ? card swipe + rail below; emerald shadow matches desktop */
  body.template-index .rb-hero--slider {
    padding: var(--rb-hero-header-gap, 15px) var(--rb-home-frame-inset, 8px) 8px;
    overflow-x: clip;
  }

  .rb-hero--slider .rb-hero__frame {
    /* Drop forced 4/5 + min-height ? let sizer / 3:4 art drive the frame */
    aspect-ratio: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    width: 100%;
    margin-inline: 0;
    border-radius: 14px;
    overflow: visible !important;
    isolation: isolate;
    box-shadow: var(--rb-emerald-glow-shadow) !important;
  }

  .rb-hero--slider .rb-hero__sizer {
    width: 100%;
  }

  .rb-hero--slider .rb-hero__sizer img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: inherit;
  }

  .rb-hero--slider .rb-hero__viewport {
    position: absolute !important;
    inset: 0 !important;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    border-radius: inherit;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y; /* vertical page scroll still works over banners */
    cursor: grab;
  }

  .rb-hero--slider .rb-hero__viewport::-webkit-scrollbar {
    display: none;
  }

  .rb-hero--slider .rb-hero__slide {
    position: relative !important;
    inset: auto !important;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 100%;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: none !important;
    z-index: auto !important;
  }

  .rb-hero--slider .rb-hero__media,
  .rb-hero--slider .rb-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
  }

  .rb-hero--slider .rb-hero__media img {
    object-fit: cover;
    object-position: center;
  }

  /* Hide pager dots on mobile ? rail + swipe instead */
  .rb-hero--slider .rb-hero__controls {
    display: none !important;
  }

  .rb-hero__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin-top: 14px;
    padding-inline: 2px;
  }

  .rb-hero__rail[hidden] {
    display: none !important;
  }

  .rb-hero__swipe-hint {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-hero__swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  .rb-hero__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-hero__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-hero__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-hero__swipe-chevron {
      animation: none;
      opacity: 1;
    }

    .rb-hero__scrollbar-thumb {
      background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
      background-size: auto;
    }

    .rb-hero--slider .rb-hero__viewport {
      scroll-behavior: auto;
    }
  }

  .rb-hero--slider .rb-hero__slide-content {
    padding: 20px 20px 28px;
    max-width: 100%;
  }

  .rb-hero--slider .rb-hero__slide-content--impact .rb-hero__title {
    font-size: clamp(1.75rem, calc(8 * var(--rb-layout-vw, 1vw)), 2.5rem);
  }

  /* Eco banner partner logos ? wider pill + larger tap targets (mobile only) */
  .rb-hero--slider .rb-hero__eco-logos {
    --rb-eco-logo-scale: 1;
    --rb-eco-logo-base: 38px; /* ?5% from 40px */
    bottom: 12px;
    gap: 9px;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    width: calc((100% - 16px) * 0.9); /* pill ?10% */
    max-width: none;
    padding: 4px 14.4px; /* shorter vertically */
    box-sizing: border-box;
  }

  .rb-hero--slider .rb-hero__eco-logo-link {
    min-width: 45.6px; /* ?5% */
    min-height: 0;
    padding: 2px 7.2px;
  }

  /* Hero bubbles */
  .rb-hero__bubble--canna,
  .rb-hero__bubble--kratom {
    min-height: clamp(380px, 95vw, 480px) !important;
    border-radius: 16px;
  }

  .rb-hero__bubble-content {
    padding: 18px 20px 24px;
  }

  .rb-hero__bubble-title {
    font-size: clamp(1.5rem, 6.5vw, 2rem);
  }

  /* Rebrand */
  .rb-rebrand {
    padding: 48px 0;
  }

  .rb-rebrand__eyebrow {
    font-size: clamp(1.52rem, 5.76vw, 1.8rem); /* +60% */
    letter-spacing: 0.1em;
    margin-bottom: 14px;
  }

  .rb-rebrand__eyebrow-br {
    display: inline; /* EVOLUTION, / NOT DEPARTURE */
  }

  .rb-rebrand__eyebrow-gap {
    display: none;
  }

  .rb-rebrand__heading {
    font-size: clamp(2.1rem, 8.4vw, 2.87rem); /* +40% */
    margin-bottom: 16px;
  }

  .rb-rebrand__heading-br {
    display: inline; /* Canna River is now / River Botanicals */
  }

  .rb-rebrand__heading-gap {
    display: none;
  }

  .rb-rebrand__lead {
    font-size: 0.984375rem; /* +5% from 0.9375rem */
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 22px;
  }

  .rb-rebrand__bubble {
    display: flex;
    width: 100%;
    max-width: 320px; /* match Learn More ? longer white pill */
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    box-sizing: border-box;
    font-size: calc(clamp(1.215rem, 2.268vw, 1.721rem) * 0.9); /* match perk mobile */
    padding: 12.6px 18.9px; /* +5% */
    gap: 10.5px; /* +5% */
  }

  .rb-rebrand__bubble .rb-band-pill-icon {
    width: clamp(1.625rem, 1.2rem + 0.65vw, 2rem);
    height: clamp(1.625rem, 1.2rem + 0.65vw, 2rem);
  }

  .rb-rebrand__bubble .rb-band-pill-icon-arrow {
    font-size: clamp(1.375rem, 1.1rem + 0.75vw, 1.875rem);
  }

  .rb-rebrand__bubble .rb-band-pill-icon-plus {
    font-size: clamp(1.3125rem, 1.05rem + 0.7vw, 1.75rem);
  }

  .rb-eco__learn-more {
    font-size: calc(clamp(1.215rem, 2.268vw, 1.721rem) * 0.9); /* match Our Story / perk mobile */
    padding: 12.6px 18.9px; /* match Our Story mobile */
    gap: 10.5px;
  }

  .rb-eco__learn-more .rb-band-pill-icon {
    width: clamp(1.625rem, 1.2rem + 0.65vw, 2rem);
    height: clamp(1.625rem, 1.2rem + 0.65vw, 2rem);
  }

  .rb-eco__learn-more .rb-band-pill-icon-arrow {
    font-size: clamp(1.375rem, 1.1rem + 0.75vw, 1.875rem);
  }

  .rb-eco__learn-more .rb-band-pill-icon-plus {
    font-size: clamp(1.3125rem, 1.05rem + 0.7vw, 1.75rem);
  }

  /* Evolution ? Mission ? Perks ? Eco: each above the next so glow can overlay */
  body.template-index .shopify-section:has(.rb-rebrand),
  body.template-index .rb-rebrand {
    overflow: visible !important;
  }

  body.template-index .shopify-section:has(.rb-rebrand) {
    position: relative;
    z-index: 4;
  }

  /* Mobile used to reorder the page so the film sat above The Favorites while
     desktop kept it below. Both breakpoints now follow the order saved in
     templates/index.json, so there is nothing to reorder — and hardcoding one
     here would override whatever a merchandiser sets in the theme editor.
     The same list also lived in rb-head-critical.liquid, which outranks this
     file, so the two copies could disagree and the inline one silently won. */
  body.template-index #MainContent {
    display: flex;
    flex-direction: column;
  }

  /* rb-trust-band-v1 — trust stats under the hero. Six items never fit the phone stage
     in one row, so the band scrolls as a marquee instead of stacking into three rows and
     pushing The Favorites down. Type matches the old mobile tophat. */
  .rb-trust-band__bar {
    border-radius: 14px;
  }
  .rb-trust-band__track {
    width: max-content;
    justify-content: flex-start;
    animation: rb-trust-band-marquee 96s linear 3s infinite; /* half the track is two lists now */
    will-change: transform;
  }
  .rb-trust-band__list {
    height: 36px; /* + 2px border each side = 40px */
    justify-content: flex-start;
    flex-shrink: 0;
    gap: 28px;
    padding-inline-end: 28px;
  }
  .rb-trust-band__list--clone {
    display: flex;
  }
  .rb-trust-band .rb-trust-band__item {
    font-size: 0.8728125rem;
    gap: 8px;
  }
  @keyframes rb-trust-band-marquee {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
  }
  @media (prefers-reduced-motion: reduce) {
    .rb-trust-band__track {
      animation: none;
    }
  }

  body.template-index .shopify-section:has(.rb-home-film) {
    padding-inline: var(--rb-home-frame-inset, 8px);
    position: relative;
    z-index: 1;
  }

  body.template-index .shopify-section:has(.rb-perks),
  body.template-index .rb-perks {
    overflow: visible !important;
  }

  body.template-index .shopify-section:has(.rb-perks) {
    position: relative;
    z-index: 2; /* above eco so perk card shadows overlay the banner */
    padding-block: 0 !important;
  }

  /* Eco sits under Perks ? glow blends onto the banner (no extra gap) */
  body.template-index .shopify-section:has(.rb-eco),
  body.template-index .rb-eco {
    overflow: visible !important;
  }

  body.template-index .shopify-section:has(.rb-eco) {
    position: relative;
    z-index: 1;
  }

  /* Eco blue glow paints over footer RB logo (footer is a later sibling of #MainContent) */
  body.template-index #MainContent {
    position: relative;
    z-index: 2;
  }

  body.template-index footer#t4s-footer {
    position: relative;
    z-index: 1;
  }

  body.template-index .rb-eco {
    box-shadow: var(--rb-eco-glow-shadow) !important;
  }

  /* Let Evolution / Favorites glow overlay neighbors (no extra gap) */
  body.template-index .shopify-section:has(.rb-rebrand),
  body.template-index .shopify-section:has(.rb-featured),
  body.template-index .rb-featured,
  body.template-index .rb-featured__groups,
  body.template-index .rb-featured__group {
    overflow: visible !important;
  }

  body.template-index .shopify-section:has(.rb-featured) {
    position: relative;
    z-index: 1;
  }

  body.template-index .rb-featured .rb-products.rb-product-cards > .rb-product {
    position: relative;
    z-index: 1;
  }

  /* Featured products */
  .rb-featured {
    padding: 48px 0 56px;
  }

  .rb-featured__header {
    margin-bottom: 32px;
  }

  .rb-perks__subtext {
    white-space: normal;
    font-size: 1.089rem; /* +10% */
    line-height: 1.5;
    padding: 0 4px;
  }

  .rb-featured__subtext {
    white-space: normal;
    font-size: 1.21rem; /* +10% */
    line-height: 1.5;
    padding: 0 4px;
  }

  .rb-featured__subtext,
  .rb-perks__subtext {
    color: #4b5563;
    font-weight: 440; /* match Mission mobile */
  }

  .rb-featured__group-title {
    font-size: clamp(1.25rem, 5vw, 1.5rem);
  }

  .rb-featured__groups {
    gap: 0;
  }

  .rb-products {
    gap: 16px;
  }

  /* Perks ? horizontal snap carousel + top swipe rail */
  .rb-perks {
    padding: 56px 0;
  }

  .rb-perks__header {
    margin-bottom: 16px;
  }

  .rb-perks__rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 0 16px;
    padding-inline: 0;
  }

  .rb-perks__rail[hidden] {
    display: none !important;
  }

  .rb-perks__swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-perks__swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  .rb-perks__scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-perks__scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-perks__scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-perks__swipe-chevron {
      animation: none;
      opacity: 1;
    }

    .rb-perks__scrollbar-thumb {
      background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
      background-size: auto;
    }
  }

  .rb-perks__stack {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap;
    gap: 12px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: var(--rb-pad-x, 16px);
    padding-inline: var(--rb-pad-x, 16px);
    /* Room for emerald glow; negative margin keeps layout tight */
    padding-block: 28px 36px;
    margin-inline: calc(-1 * var(--rb-pad-x, 16px));
    margin-block: -12px -24px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    align-items: stretch;
  }

  .rb-perks__stack::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .rb-perk-row {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 calc(100% - 40px);
    width: calc(100% - 40px);
    max-width: calc(100% - 40px);
    height: auto;
    align-self: stretch;
    gap: 0;
    margin-bottom: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  /* Same banner box on every card so titles start on one line */
  .rb-perk-row__visual,
  .rb-perk-row__visual--banner {
    flex: 0 0 auto;
    width: 100%;
    min-height: 0 !important;
    height: auto !important;
    aspect-ratio: 3 / 2;
    border-radius: 16px 16px 0 0;
  }

  .rb-perk-row__visual--banner .rb-perk-banner__img {
    min-height: 0 !important;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Pack title / bullets up; spare room sits under the CTA */
  .rb-perk-row__content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 14px 18px 18px;
    min-height: 0;
  }

  /* Reserve 2 lines (Community Discounts) so every title shares the same band */
  .rb-perk-row__title {
    margin: 0 0 8px;
    min-height: calc(1.12em * 2);
    line-height: 1.12;
  }

  /* Drop perk body copy on mobile ? title + CTA + image only */
  .rb-perk-row__text {
    display: none !important;
  }

  .rb-perk-row__list {
    margin: 0 0 12px;
    gap: 8px;
  }

  .rb-perk-row__copy {
    padding: 0 4px;
  }

  .rb-perk-row__heading {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .rb-perk-row__list li {
    font-size: calc(var(--rb-band-lead) * 0.9);
  }

  .rb-perk-row__link {
    margin-top: auto; /* empty space above pill so cards stay even */
    font-size: calc(var(--rb-band-lead) * 0.9);
    border-width: 1.8px;
    padding: 10px 22px;
  }

  .rb-perk-row__link::before {
    inset: -1.8px;
    padding: 1.8px;
  }

  /* Eco / brand story ? pad inner only (padding on .rb-eco left blank shade strips) */
  .rb-eco {
    padding: 0;
    min-height: 0;
  }

  .rb-eco__inner {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .rb-eco__top {
    display: contents; /* intro + Learn More become siblings of pillars */
  }

  .rb-eco__intro {
    order: 1;
  }

  .rb-eco__pillars {
    order: 2;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .rb-eco__learn-more {
    order: 3;
    width: 100%;
    max-width: 320px;
    justify-content: center;
    align-self: center;
    margin-top: 8px;
  }

  .rb-eco__heading {
    font-size: clamp(2.0125rem, 8.05vw, 2.875rem); /* +15% */
  }

  .rb-eco__pillar-title {
    font-size: clamp(1.215rem, 1.782vw, 1.51875rem); /* ?10% from prior mobile */
  }

  .rb-eco__pillar-stat {
    font-size: clamp(1.0125rem, 1.4175vw, 1.215rem); /* ?10% from prior mobile */
  }

  /* Reviews — beat homepage pe/touch:none so swipe + vertical scroll both work */
  .rb-reviews .rb-reviews__yotpo-wrap,
  .rb-reviews .rb-reviews__yotpo,
  .rb-reviews .rb-reviews__yotpo .glide,
  .rb-reviews .rb-reviews__yotpo .glide__track,
  .rb-reviews .rb-reviews__yotpo .glide__slides,
  .rb-reviews .rb-reviews__yotpo .glide__slide,
  .rb-reviews [data-rb-reviews-shell],
  .rb-reviews [data-rb-reviews-shell] .glide,
  .rb-reviews [data-rb-reviews-shell] .glide__track,
  .rb-reviews [data-rb-reviews-shell] .glide__slides,
  .rb-reviews [data-rb-reviews-shell] .glide__slide {
    pointer-events: auto !important;
    touch-action: pan-y !important; /* browser: vertical; JS: horizontal flip */
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  /* Ensure the swipe surface itself is always hittable above pe:none ancestors */
  .rb-reviews .rb-reviews__yotpo-wrap {
    pointer-events: auto !important;
    touch-action: pan-y !important;
  }

  .rb-reviews .glide__track,
  .rb-reviews .rb-reviews__yotpo .glide__track,
  .rb-reviews [data-rb-reviews-shell] .glide__track {
    cursor: grab;
    -webkit-user-drag: none;
  }

  .rb-reviews .glide__track:active,
  .rb-reviews .rb-reviews__yotpo .glide__track:active,
  .rb-reviews [data-rb-reviews-shell] .glide__track:active {
    cursor: grabbing;
  }

  /* Cards stay non-interactive so swipe hits the track; text still visible */
  .rb-reviews .reviews-carousel-card-container,
  .rb-reviews .reviews-carousel-card-container * {
    pointer-events: none !important;
    touch-action: pan-y !important;
  }

  .rb-reviews__swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    gap: 0.25em;
    margin: 0 auto;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-align: center;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-reviews__swipe-hint[hidden] {
    display: none !important;
  }

  .rb-reviews__swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  .rb-reviews {
    padding: 48px 0 56px; /* extra bottom so tab shadow can overlay */
    overflow: visible !important;
  }

  body.template-index .shopify-section:has(.rb-reviews),
  body.template-product .shopify-section:has(.rb-reviews--product),
  body.template-product .shopify-section:has(.rb-reviews) {
    overflow: visible !important;
  }

  .rb-reviews .rb-container {
    overflow: visible !important;
  }

  .rb-reviews__header-summary[hidden] {
    display: none !important;
  }

  /* Header stars +10%; review count −10% + nudge up 2px (homepage + product) */
  body.template-index .rb-reviews .rb-reviews__header-stars .rb-reviews__header-star svg,
  body.template-product .rb-reviews .rb-reviews__header-stars .rb-reviews__header-star svg,
  body.template-product .rb-reviews--product .rb-reviews__header-stars .rb-reviews__header-star svg,
  body.template-index .rb-reviews .rb-reviews__header-star svg,
  body.template-product .rb-reviews .rb-reviews__header-star svg,
  body.template-product .rb-reviews--product .rb-reviews__header-star svg {
    width: 19.8px !important; /* 18px + 10% */
    height: 19.8px !important;
    min-width: 19.8px !important;
    min-height: 19.8px !important;
  }

  body.template-index .rb-reviews .rb-reviews__header-summary .rb-reviews__header-count,
  body.template-product .rb-reviews .rb-reviews__header-summary .rb-reviews__header-count,
  body.template-product .rb-reviews--product .rb-reviews__header-summary .rb-reviews__header-count,
  body.template-index .rb-reviews .rb-reviews__header-count,
  body.template-product .rb-reviews .rb-reviews__header-count,
  body.template-product .rb-reviews--product .rb-reviews__header-count {
    font-size: 1.296rem !important; /* 1.44rem − 10% */
    transform: translateY(1px) !important; /* was 3px; up 2px */
  }

  .rb-reviews__yotpo-wrap,
  .rb-reviews__yotpo,
  .rb-reviews [data-rb-reviews-shell],
  .rb-reviews .rb-reviews__native-host,
  .rb-reviews .yotpo-reviews-carousel-widget-container,
  .rb-reviews .carousel-display-wrapper,
  .rb-reviews .yotpo-carousel,
  .rb-reviews .glide,
  .rb-reviews .glide__track {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0;
    overflow: hidden !important;
  }

  /* Empty Yotpo host ? stay hidden; our API carousel owns the UI */
  .rb-reviews .yotpo-widget-instance,
  .rb-reviews [data-yotpo-instance-id]:not([data-rb-reviews-shell]) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .rb-reviews .glide__slides {
    display: flex !important;
    flex-direction: row !important;
    width: max-content !important;
    visibility: visible !important;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }

  .rb-reviews .glide__slide {
    min-height: 0;
    flex-shrink: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Match desktop card format: name + verified | date top-right → big orange stars → title/body */
  .rb-reviews .reviews-carousel-card-container {
    display: flex !important;
    flex-direction: column !important;
    min-height: 280px !important; /* taller so long copy + product row don’t collide */
    height: auto !important;
    max-height: none !important;
    padding: 16px 18px 18px !important;
    overflow: hidden !important;
    visibility: visible !important;
  }

  .rb-reviews .reviews-carousel-card-container > .yotpo-review,
  .rb-reviews .reviews-carousel-card-container .yotpo-main {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
  }

  .rb-reviews .rb-review-card__header,
  .rb-reviews .yotpo-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    margin-bottom: 10px !important;
    flex: 0 0 auto !important;
  }

  .rb-reviews .rb-review-card__meta-row,
  .rb-reviews .reviews-carousel-card-reviewer-info-container,
  .rb-reviews .rb-review-card__meta,
  .rb-reviews .reviewer-details {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px 12px !important;
    width: 100% !important;
    order: 1 !important;
  }

  .rb-reviews .reviewer-info {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 4px 10px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .rb-reviews .reviewer-display-name {
    display: inline !important;
    font-size: 1.125rem !important; /* larger */
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: var(--rb-dark, #0e2744) !important;
  }

  .rb-reviews .reviewer-status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 1rem !important; /* larger */
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.72) !important;
  }

  .rb-reviews .review-date {
    display: block !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    order: 2 !important;
    font-size: 0.9375rem !important; /* larger */
    font-weight: 500 !important;
    line-height: 1.3 !important;
    text-align: right !important;
    white-space: nowrap !important;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.55) !important;
  }

  /* Flat legacy meta (name/status/date siblings): keep date top-right */
  .rb-reviews .rb-review-card__meta > .reviewer-display-name,
  .rb-reviews .reviewer-details > .reviewer-display-name {
    order: 0 !important;
  }

  .rb-reviews .rb-review-card__meta > .reviewer-status,
  .rb-reviews .reviewer-details > .reviewer-status {
    order: 1 !important;
  }

  .rb-reviews .rb-review-card__meta > .review-date,
  .rb-reviews .reviewer-details > .review-date {
    order: 3 !important;
    margin-left: auto !important;
  }

  .rb-reviews .rb-review-card__stars,
  .rb-reviews .yotpo-review-stars {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    margin: 0 !important;
  }

  .rb-reviews .rb-review-card__stars .yotpo-star-container svg,
  .rb-reviews .yotpo-review-stars .yotpo-star-container svg,
  .rb-reviews .rb-review-card__stars svg,
  .rb-reviews .yotpo-review-stars svg {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
  }

  .rb-reviews .rb-review-card__stars .yotpo-star-container svg path,
  .rb-reviews .yotpo-review-stars .yotpo-star-container svg path,
  .rb-reviews .rb-review-card__stars svg path,
  .rb-reviews .yotpo-review-stars svg path {
    fill: #e7721b !important;
    stroke: #e7721b !important;
  }

  .rb-reviews .rb-review-card__body,
  .rb-reviews .content-review {
    flex: 1 1 auto !important;
    min-height: 0 !important;
  }

  .rb-reviews .review-title,
  .rb-reviews .rb-review-card__body .review-title {
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    font-size: 1.1875rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 6px !important;
    color: var(--rb-dark, #0e2744) !important;
  }

  .rb-reviews .rb-review-card__body .review-content,
  .rb-reviews .review-content {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 4 !important;
    line-clamp: 4 !important;
    overflow: hidden !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
  }

  /* Product row — pushed down so long review text never kisses the image */
  .rb-reviews .rb-review-card__product,
  .rb-reviews .reviews-carousel-card-review-product-container {
    flex: 0 0 auto !important;
    margin-top: 18px !important;
    padding-top: 4px !important;
  }

  .rb-reviews .rb-review-card__product .review-product,
  .rb-reviews .reviews-carousel-card-review-product-container .review-product {
    gap: 8px;
  }

  .rb-reviews .rb-review-card__product .review-product-image,
  .rb-reviews .reviews-carousel-card-review-product-container .review-product-image {
    width: 44px;
    height: 44px;
    border-radius: 8px;
  }

  .rb-reviews .rb-review-card__product .review-product-name,
  .rb-reviews .reviews-carousel-card-review-product-container .review-product-name {
    font-size: 0.9rem;
  }

  .rb-reviews__carousel-footer {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    overflow: visible !important;
    padding-bottom: 12px;
    position: relative;
    z-index: 3;
  }

  .rb-reviews__scrollbar {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 18px; /* room for charcoal tab shadow to overlay */
    overflow: visible !important;
    position: relative;
    z-index: 4;
  }

  .rb-reviews__scrollbar-track {
    overflow: visible !important;
    height: 5px !important;
  }

  /* Tab: flush on bar; shadow overlays content below (not clipped) */
  .rb-reviews__scrollbar-thumb {
    top: 0 !important;
    z-index: 5 !important;
    overflow: visible !important;
    box-shadow:
      0 1px 4px rgba(60, 60, 60, 0.4),
      0 2px 10px rgba(60, 60, 60, 0.28),
      0 4px 14px rgba(42, 42, 42, 0.18) !important;
    /* drop-shadow paints outside overflow boxes more reliably on iOS */
    filter: drop-shadow(0 3px 6px rgba(42, 42, 42, 0.28)) !important;
  }

  .rb-reviews__header-count:empty {
    display: none;
  }

  /* YMAL */
  .rb-ymal {
    padding: 40px 0 48px;
  }

  .rb-ymal__heading {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .rb-ymal__grid {
    gap: 16px;
  }

  /* Footer ? single column; Yotpo in former logo spot */
  .rb-footer {
    padding: 48px 0 20px;
    border-radius: 16px 16px 0 0;
    background: var(--rb-light, #f7f7f5) !important;
    background-image: none !important;
    color: var(--rb-dark, #0e2744) !important;
  }

  footer#t4s-footer .rb-footer .rb-container,
  body.template-product .rb-footer .rb-container,
  body.template-index .rb-footer .rb-container,
  body .rb-footer .rb-container {
    padding-inline: clamp(28px, 7vw, 40px) !important;
  }

  .rb-footer__grid {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 28px;
  }

  .rb-footer__aside {
    display: contents;
  }

  /* Reviews badge — top of footer where logo was */
  .rb-footer__brand {
    order: -1;
    display: flex;
    justify-content: center;
    margin: 20px 0 8px;
  }

  .rb-footer__yotpo {
    width: 100%;
  }

  .rb-footer__yotpo #y-badges .y-badge {
    transform: scale(0.928); /* 1.16 ? 0.8 */
    transform-origin: center center;
  }

  .rb-footer-reviews-fallback {
    width: 100%;
    max-width: 300px; /* wider so ?Certified Reviews? stays one line */
    box-sizing: border-box;
    gap: 9.6px;
    padding: 25.6px 28.8px;
    border-width: 2px; /* matches .rb-footer__col */
    border-radius: 19.2px;
    min-width: 0;
  }

  .rb-footer-reviews-fallback__count {
    font-size: clamp(2.527rem, 5.776vw, 3.249rem); /* ?5% again */
  }

  .rb-footer-reviews-fallback__label {
    font-size: 1.2rem;
    white-space: nowrap;
  }

  .rb-footer-reviews-fallback__stars {
    gap: 3.2px;
  }

  .rb-footer-reviews-fallback__stars svg {
    width: 22.4px;
    height: 22.4px;
  }

  .rb-footer__heading,
  .rb-footer__grid > div .rb-footer__heading {
    font-size: 1.84rem !important; /* 2.3rem ?20% ? spacing unchanged */
    margin-bottom: 14px;
  }

  .rb-footer__links a,
  .rb-footer__links .rb-footer__a11y-trigger,
  .rb-footer__grid > div .rb-footer__links a,
  .rb-footer__grid > div .rb-footer__links .rb-footer__a11y-trigger {
    font-size: 1.275rem !important; /* 1.5rem ?15% ? spacing unchanged */
    font-weight: 700 !important;
    display: inline-block;
    padding: 1px 0;
    min-height: 0;
    line-height: 1.35;
  }

  .rb-footer__links li {
    margin-bottom: 4px;
  }

  .rb-footer__tagline,
  .rb-footer__grid > div .rb-footer__tagline {
    font-size: 1.275rem !important; /* match column subtext ?15% */
    font-weight: 700 !important;
  }

  /* Footer link columns — white cards, blue glow, animated Canna blue ring */
  .rb-footer__col {
    border: 2px solid transparent;
    background-color: transparent;
    background-image: linear-gradient(#fff, #fff), var(--rb-canna-gradient);
    background-origin: padding-box, border-box;
    background-clip: padding-box, border-box;
    background-size: auto, var(--rb-brand-gradient-size, 200% 100%);
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite;
    border-radius: 16px;
    padding: 16px 16px 14px;
    box-sizing: border-box;
    box-shadow: var(--rb-emerald-glow-shadow, 0 12px 36px rgba(var(--rb-canna-shadow-rgb), 0.238), 0 4px 16px rgba(var(--rb-canna-shadow-light-rgb), 0.17));
  }

  /* Column headers — dark grey → grey animated gradient */
  .rb-footer__col .rb-footer__heading {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-charcoal-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  /* Sub-links — emerald animated gradient */
  .rb-footer__col .rb-footer__links a,
  .rb-footer__col .rb-footer__links .rb-footer__a11y-trigger {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  .rb-footer__col .rb-footer__tagline {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-emerald-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-emerald-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-footer__col .rb-footer__heading {
      animation: none !important;
      background-image: var(--rb-charcoal-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
      background-size: auto !important;
    }

    .rb-footer__col .rb-footer__links a,
    .rb-footer__col .rb-footer__links .rb-footer__a11y-trigger,
    .rb-footer__col .rb-footer__tagline {
      animation: none !important;
      background-image: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
      background-size: auto !important;
    }
  }

  .rb-footer__newsletter-form {
    flex-direction: column;
    gap: 12px;
  }

  /* Disclaimer — own rounded bubble; no background change */
  .rb-footer__legal-band {
    padding: 16px !important;
    border-radius: 16px;
    box-sizing: border-box;
  }

  .rb-footer__legal-copy {
    gap: 10px;
  }

  .rb-footer__legal-copy p,
  .rb-footer__prop65 {
    font-size: 0.9em !important; /* ?10% */
    line-height: 1.5 !important;
  }

  .rb-footer__bottom {
    margin-top: 12px;
    padding-top: 12px;
    gap: 12px;
  }

  /* FAQs */
  .rb-faqs {
    padding: 48px 0 56px;
  }

  .rb-faqs__tabs {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 10px;
    padding-bottom: 4px;
    overflow-x: visible;
  }

  .rb-faqs__tab {
    flex: 0 0 auto;
    width: fit-content;
    max-width: 100%;
    min-height: 44px;
    padding: 10px 16px;
    font-size: 0.9375rem;
  }

  .rb-faqs__accordion {
    gap: 12px;
  }

  .rb-faqs__item {
    border-radius: 16px;
  }

  .rb-faqs__question {
    font-size: clamp(1rem, 4vw, 1.125rem);
    gap: 12px;
    padding: 14px 16px;
    min-height: 0;
    align-items: flex-start;
    line-height: 1.35;
  }

  .rb-faqs__icon {
    width: 22px;
    height: 22px;
    margin-top: 0.12em;
  }

  .rb-faqs__icon::before,
  .rb-faqs__icon::after {
    width: 14px;
    height: 2px;
  }

  .rb-faqs__answer {
    padding: 0 16px 14px;
    font-size: clamp(1rem, 4vw, 1.125rem);
    line-height: 1.55;
  }

  /* About ? mobile intro banner */
  body.template-page .rb-about {
    padding: 0 0 48px;
  }

  .rb-about__intro-banner {
    border-radius: 16px;
    min-height: auto;
    padding: 32px var(--rb-pad-x);
    background: var(--rb-brand-band-gradient) !important; /* same static emerald as footer */
    box-shadow: none;
  }

  .rb-about__intro-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    justify-items: stretch;
  }

  .rb-about__intro-content {
    max-width: 100%;
    transform: none !important;
    text-align: left;
  }

  .rb-about__intro-content .rb-heading,
  .rb-about__intro-heading {
    font-size: clamp(2.475rem, 4.95vw, 4.05rem) !important; /* ?10% */
    text-align: left !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: none !important;
    background-image: none !important;
  }

  .rb-about__intro-heading-prefix,
  .rb-about__intro-heading-tail,
  .rb-about__intro-heading .rb-text-gradient {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: none !important;
    background-image: none !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    animation: none !important;
  }

  .rb-about__intro-heading-tail {
    white-space: normal;
  }

  .rb-about__subtext {
    font-size: 1rem;
    line-height: 1.55;
    color: #fff !important;
    font-weight: 520; /* slightly bolder than body */
    text-align: left;
  }

  .rb-about__intro-pyramid-wrap {
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
    justify-content: center !important;
    padding-right: 0 !important;
  }

  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid {
    max-width: 280px;
    width: 100%;
    margin: 0 auto;
    transform: none !important; /* undo desktop -40px shift */
    overflow: visible;
  }

  /* Match Evolution / rebrand pyramid logo sizing on mobile */
  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid-level--bottom {
    gap: 8px;
    align-items: flex-start;
    overflow: visible;
    padding-top: 12px;
  }

  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid-node {
    overflow: visible;
    min-height: 0;
    align-items: flex-start;
  }

  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid-logo--rb {
    height: clamp(48px, 12vw, 64px) !important;
    width: calc(clamp(48px, 12vw, 64px) * (6018 / 1647)) !important;
    max-width: min(100%, 280px) !important;
  }

  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid-logo--canna {
    width: min(37.4vw, 145.2px) !important;
    height: auto !important;
    max-width: none !important;
    transform: translate(-20px, 8px) !important;
  }

  .rb-about__intro-pyramid-wrap .rb-rebrand__pyramid-logo--kratom {
    width: min(44.1vw, 172.2px) !important;
    height: auto !important;
    max-width: none !important;
    transform: translate(20px, 5px) !important;
  }

  /* FAQs */
  .rb-profile {
    padding: 32px 0 48px;
  }

  .rb-profile__hello {
    font-size: clamp(1.5rem, 6vw, 2rem);
  }

  .rb-profile__tab {
    flex: 1 1 100%;
  }

  body.template-customers-account .rb-profile__layout {
    gap: 10px;
  }

  body.template-customers-account .rb-profile__panel,
  body.template-customers-account .rb-profile__panel[hidden] {
    flex: 0 0 calc(100% - 18px);
    width: calc(100% - 18px);
    max-width: calc(100% - 18px);
    padding: 10px 10px 12px;
    border-radius: 14px;
  }

  .rb-profile__loyalty-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .rb-profile__redeem-options {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .rb-profile__community-note {
    white-space: normal;
  }

  /* Subscriptions page */
  .p-subscription {
    margin: 0 var(--rb-pad-x) !important;
    padding-top: 32px !important;
    padding-bottom: 40px !important;
  }

  .p-subscription .subscribe-title h2.rb-subscriptions-hero-heading {
    font-size: clamp(2.2rem, 8.8vw, 2.75rem) !important;
    line-height: 1.15 !important;
  }

  .p-subscription .subscribe-title p,
  .p-subscription .psub1b p {
    font-size: calc(1.0625rem * 1.1) !important;
    line-height: 1.55 !important;
    max-width: 100%;
  }

  .p-subscription .psub2 {
    grid-template-columns: 1fr !important;
    grid-gap: 20px !important;
    max-width: 100% !important;
    margin-top: 32px !important;
    margin-bottom: 32px !important;
  }

  .p-subscription .psub2l h4.rb-subscriptions-already-heading {
    font-size: clamp(1.5rem, 5.5vw, 1.875rem) !important;
  }

  .p-subscription .psub2r:before {
    display: none !important;
  }

  .p-subscription .rb-subscriptions-manage-cta {
    margin-left: 0 !important;
    width: 100%;
    max-width: 320px;
    justify-content: center;
  }

  .p-subscription .psub3 {
    grid-template-columns: 1fr !important;
    grid-gap: 20px !important;
    margin-top: 32px !important;
  }

  .p-subscription .sub3item {
    padding: 32px 16px;
    border-radius: 16px;
  }

  .p-subscription .b_itemtop h3 {
    font-size: calc(1.25rem * 1.1) !important;
    line-height: 1.25;
  }

  .p-subscription .b_itemtop img {
    max-height: 100px;
    margin: 20px auto;
  }

  .p-subscription .b_itembot {
    font-size: calc(0.9375rem * 1.1) !important;
    line-height: 1.5;
    margin-top: 24px;
  }

  .p-subscription .psub1 {
    padding-bottom: 32px;
  }

  .p-subscription .psub1b {
    padding-top: 32px;
  }

  /* Rewards / loyalty — mobile mirrors desktop hierarchy; do not force display:block on Yotpo roots (breaks their flex/grid) */
  .rb-rewards {
    padding: 0 var(--rb-pad-x, 16px);
  }

  .rb-rewards .rewsec1,
  .rb-rewards .rewsec2,
  .rb-rewards .rewsec3,
  .rb-rewards .rewsec5 {
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 1px;
    display: block !important;
    overflow: visible !important;
  }

  .rb-rewards .rewsec5 {
    margin-top: 24px !important;
    padding-top: 8px !important;
  }

  .rb-rewards .yotpo-widget-instance,
  .rb-rewards .yotpo-widget-hero-section,
  .rb-rewards .yotpo-widget-my-rewards-widget,
  .rb-rewards .yotpo-widget-campaign-widget,
  .rb-rewards .yotpo-coupons-redemption-widget,
  .rb-rewards .yotpo-rewards-guide-tile-wrapper {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    max-width: 100% !important;
  }

  /* Hero — centered like desktop */
  .rb-rewards .rewsec1 .yotpo-widget-hero-section .yotpo-text-container,
  .rb-rewards .rewsec1 .yotpo-widget-hero-section .yotpo-text-on-background {
    text-align: center !important;
  }

  /*
    rb-loyalty-cta-center-twin-v1
    Phone stage (768–999) was getting Yotpo desktop button chrome (display:block).
    Force true-mobile stack + center for Join/Login + Redeem/History.
  */
  body .rb-rewards .yotpo-widget-hero-section .yotpo-customer-logged-out-buttons,
  body .rb-rewards .yotpo-customer-logged-out-buttons,
  body .rb-rewards .yotpo-widget-my-rewards-widget .yotpo-action-buttons-tile,
  body .rb-rewards .yotpo-action-buttons-tile,
  body .rb-rewards .yotpo-customer-logged-in-buttons,
  body .rb-rewards .yotpo-widget-hero-section .yotpo-customer-logged-in-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: center !important;
    align-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  body .rb-rewards .yotpo-widget-hero-section .yotpo-customer-logged-out-buttons > *,
  body .rb-rewards .yotpo-customer-logged-out-buttons > *,
  body .rb-rewards .yotpo-widget-my-rewards-widget .yotpo-action-buttons-tile > *,
  body .rb-rewards .yotpo-action-buttons-tile > *,
  body .rb-rewards .yotpo-customer-logged-in-buttons > * {
    display: flex !important;
    justify-content: center !important;
    width: auto !important;
    max-width: min(320px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* My rewards / logged-in block — full width stack */
  .rb-rewards .yotpo-widget-my-rewards-widget .yotpo-logged-in-view,
  .rb-rewards .yotpo-widget-my-rewards-widget .yotpo-action-buttons-tile {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Logged-out Join / Login — keep natural pill width, centered */
  body .rb-rewards .yotpo-widget-hero-section .yotpo-customer-logged-out-buttons .yotpo-button-style,
  body .rb-rewards .yotpo-customer-logged-out-buttons .yotpo-button-style {
    width: auto !important;
    max-width: min(320px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }

  /* Logged-in Redeem / History — same centered stack as true mobile */
  body .rb-rewards .yotpo-widget-my-rewards-widget .yotpo-action-buttons-tile .yotpo-button-style,
  body .rb-rewards .yotpo-action-buttons-tile .yotpo-button-style,
  body .rb-rewards .yotpo-customer-logged-in-buttons .yotpo-button-style {
    max-width: 100% !important;
    width: min(320px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }

  /* Ways to earn — +40px under How It Works (undo liquid -20px, then +20 more); header centered */
  body .rb-rewards .rewsec3 {
    margin-top: 20px !important;
  }

  body .rb-rewards .yotpo-widget-campaign-widget {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-container-headline {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  .rb-rewards .yotpo-widget-campaign-widget .yotpo-container-headline,
  .rb-rewards .yotpo-widget-campaign-widget .yotpo-customized-text.yotpo-headline,
  .rb-rewards .yotpo-widget-campaign-widget .yotpo-container-headline .yotpo-inner-text,
  .rb-rewards .yotpo-widget-campaign-widget .yotpo-headline .yotpo-inner-text {
    text-align: center !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }

  .rb-rewards .rb-rewards__earn-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    padding: 0 2px 8px;
  }

  .rb-rewards .rb-rewards__earn-rail[hidden] {
    display: none !important;
  }

  .rb-rewards .rb-rewards__earn-swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-rewards .rb-rewards__earn-swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  .rb-rewards .rb-rewards__earn-scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-rewards .rb-rewards__earn-scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-rewards .rb-rewards__earn-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  /* Host stays a normal block; flexified-wrapper becomes the swipe track */
  .rb-rewards .yotpo-widget-campaign-widget .yotpo-widget-campaign-widget-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    grid-template-columns: none !important;
  }

  .rb-rewards .rb-rewards__earn-track,
  .rb-rewards .yotpo-widget-campaign-widget .flexified-wrapper.rb-rewards__earn-track {
    display: flex !important;
    flex-flow: row nowrap !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    padding: 4px var(--rb-pad-x, 16px) 12px !important;
    margin: 0 calc(-1 * var(--rb-pad-x, 16px)) !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
  }

  .rb-rewards .rb-rewards__earn-track::-webkit-scrollbar {
    display: none;
  }

  /* Kill Yotpo square aspect-ratio spacer (:before padding-top: 100%) */
  .rb-rewards .rb-rewards__earn-track > .flexified-child:before,
  .rb-rewards .rb-rewards__earn-track > .yotpo-outer-tile:before {
    content: none !important;
    display: none !important;
    float: none !important;
    padding: 0 !important;
  }

  .rb-rewards .rb-rewards__earn-track > .yotpo-tile-wrapper,
  .rb-rewards .rb-rewards__earn-track > .yotpo-outer-tile,
  .rb-rewards .rb-rewards__earn-track > .flexified-child,
  .rb-rewards .rb-rewards__earn-track > .rb-rewards__earn-card {
    flex: 0 0 min(72vw, 240px) !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    width: min(72vw, 240px) !important;
    max-width: min(72vw, 240px) !important;
    min-width: min(72vw, 240px) !important;
    height: auto !important;
    min-height: 168px !important;
    margin: 0 !important;
    scroll-snap-align: start;
    box-sizing: border-box !important;
    position: relative !important;
    float: none !important;
  }

  .rb-rewards .rb-rewards__earn-track .yotpo-outer-tile,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile-wrapper,
  .rb-rewards .rb-rewards__earn-track .yotpo-campaign-switcher-wrapper {
    background: #fff !important;
    background-color: #fff !important;
    overflow: visible !important;
  }

  /* Yotpo defaults tile/wrapper to position:absolute — that collapses when we swipe */
  .rb-rewards .rb-rewards__earn-track .yotpo-campaign-switcher-wrapper,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile-wrapper,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile,
  .rb-rewards .rb-rewards__earn-track .yotpo-logged-out-tile {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .rb-rewards .rb-rewards__earn-track .yotpo-outer-tile,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 168px !important;
    padding: 18px 14px !important;
    box-sizing: border-box !important;
  }

  .rb-rewards .rb-rewards__earn-track .yotpo-tile-wrapper .yotpo-outer-tile,
  .rb-rewards .rb-rewards__earn-track .yotpo-tile-wrapper .yotpo-tile {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Loyalty Discounts — card blocks + swipe + Swipe tracker; hide Yotpo dots */
  body .rb-rewards .yotpo-coupons-redemption-widget .swiper-pagination,
  body .rb-rewards .yotpo-coupons-redemption-widget .swiper-pagination-bullet,
  body .rb-rewards .yotpo-coupons-redemption-widget .swiper-horizontal > .swiper-pagination-bullets,
  body .rb-rewards .yotpo-coupons-redemption-widget .swiper-pagination-bullets {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  body .rb-rewards .rb-rewards__redeem-rail,
  body .rb-rewards .yotpo-coupons-redemption-widget .rb-rewards__redeem-rail {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 8px !important; /* rb-redeem-swipe-tight — closer under cards */
    padding: 0 2px 4px !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body .rb-rewards .rb-rewards__redeem-rail[hidden] {
    display: none !important;
  }

  body .rb-rewards .rb-rewards__redeem-swipe-hint {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25em !important;
    margin: 0 !important;
    font-size: 0.8125rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.55) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body .rb-rewards .rb-rewards__redeem-swipe-chevron {
    display: inline-block !important;
    font-size: 0.95em !important;
    line-height: 1 !important;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  body .rb-rewards .rb-rewards__redeem-scrollbar {
    width: 100% !important;
    max-width: 100% !important;
    visibility: visible !important;
  }

  body .rb-rewards .rb-rewards__redeem-scrollbar-track {
    position: relative !important;
    width: 100% !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14) !important;
    overflow: visible !important;
  }

  body .rb-rewards .rb-rewards__redeem-scrollbar-thumb {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 5px !important;
    min-width: 48px !important;
    width: 48px;
    border-radius: 999px !important;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
    background-size: auto !important;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35)) !important;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  /* Beat page.loyaltynew flex-wrap — Swiper owns horizontal motion on mobile */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-list,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-list.rb-rewards__redeem-track,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-list.yotpo-is-mobile,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-list.three-in-row {
    display: block !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
    padding: 8px 0 4px !important;
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .swiper-container.yotpo-redemption-options-carousel,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-carousel {
    width: 100% !important;
    overflow: visible !important; /* rb-redeem-clicks-v2 — do not clip Redeem confirmation */
  }

  /* White rounded card blocks — Swiper slides (Yotpo mobile) + legacy items */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item {
    box-sizing: border-box !important;
    height: auto !important;
    padding: 6px 14px 10px !important;
  }

  /* NOTE: container also has .yotpo-redemption-no-background — never clear that class to transparent */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option-container,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option-container.yotpo-redemption-no-background,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-options-list > .yotpo-redemption-item,
  body .rb-rewards.rb-rewards--logged-out .yotpo-coupons-redemption-widget .yotpo-redemption-options-list > .yotpo-redemption-item,
  body .rb-rewards.rb-rewards--logged-in .yotpo-coupons-redemption-widget .yotpo-redemption-options-list > .yotpo-redemption-item,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-item.rb-rewards__redeem-card {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 148px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid rgba(14, 39, 68, 0.12) !important;
    border-radius: 28px !important; /* rb-redeem-card-radius */
    box-shadow: 0 10px 28px rgba(var(--rb-canna-shadow-rgb), 0.1) !important;
    padding: 28px 22px !important;
    overflow: visible !important; /* rb-redeem-clicks-v2 — in-card confirmation */
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option-details,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-details {
    width: 100% !important;
    max-width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Inner chrome only — not .yotpo-redemption-no-background (that class is on the card shell) */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option,
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-slide-item .yotpo-redemption-option-details {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }

  /* $ Off / points — +15% vs prior mobile logged-out sizes */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward,
  body .rb-rewards.rb-rewards--logged-out .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward,
  body .rb-rewards .yotpo-coupons-redemption-widget-container.yotpo-logged-out .yotpo-redemption-option-reward {
    font-size: 31.878px !important; /* 27.72 × 1.15 */
    line-height: 1.2 !important;
    font-weight: 700 !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-align: center !important;
    position: relative !important;
    min-height: 1.2em !important;
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-cost,
  body .rb-rewards.rb-rewards--logged-out .yotpo-coupons-redemption-widget .yotpo-redemption-option-cost,
  body .rb-rewards .yotpo-coupons-redemption-widget-container.yotpo-logged-out .yotpo-redemption-option-cost {
    font-size: 25.502px !important; /* 22.176 × 1.15 */
    line-height: 1.3 !important;
    visibility: visible !important;
    opacity: 1 !important;
    text-align: center !important;
    color: var(--rb-dark, #0e2744) !important;
    -webkit-text-fill-color: var(--rb-dark, #0e2744) !important;
  }

  /* $20 = Chill Seekers blue flow; $40 = Serenity Sailors purple flow */
  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--chill,
  body .rb-rewards .rb-redeem-tier--chill .yotpo-redemption-option-reward {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: none !important;
    animation: none !important;
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--chill::after,
  body .rb-rewards .rb-redeem-tier--chill .yotpo-redemption-option-reward::after {
    content: attr(data-rb-label) !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font: inherit !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    background-image: var(--rb-tier-chill-grad, linear-gradient(90deg, #2E6EB4 0%, #4492DC 35%, #62B0F8 50%, #4492DC 65%, #2E6EB4 100%)) !important;
    background-size: 200% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    animation: rb-rewards-tier-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--serenity,
  body .rb-rewards .rb-redeem-tier--serenity .yotpo-redemption-option-reward {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: none !important;
    animation: none !important;
  }

  body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--serenity::after,
  body .rb-rewards .rb-redeem-tier--serenity .yotpo-redemption-option-reward::after {
    content: attr(data-rb-label) !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font: inherit !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    pointer-events: none !important;
    background-image: var(--rb-tier-serenity-grad, linear-gradient(90deg, #6638A4 0%, #9468C8 35%, #CCB0EC 50%, #9468C8 65%, #6638A4 100%)) !important;
    background-size: 200% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    animation: rb-rewards-tier-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  @media (prefers-reduced-motion: reduce) {
    body .rb-rewards .rb-rewards__redeem-swipe-chevron {
      animation: none;
      opacity: 1;
    }

    body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--chill::after,
    body .rb-rewards .rb-redeem-tier--chill .yotpo-redemption-option-reward::after,
    body .rb-rewards .yotpo-coupons-redemption-widget .yotpo-redemption-option-reward.rb-redeem-reward-tier--serenity::after,
    body .rb-rewards .rb-redeem-tier--serenity .yotpo-redemption-option-reward::after {
      animation: none !important;
      background-size: auto !important;
    }
  }

  .rb-rewards .rewsec3t h2.rb-rewards__heading {
    font-size: clamp(2rem, 8vw, 2.75rem) !important;
  }

  .rb-rewards .rewmob {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .rb-rewards .rewdesk {
    display: none !important;
  }

  .rb-rewards .rewsec3c {
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 16px;
    margin-top: 32px;
  }

  .rb-rewards .rewsec3t h2 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  /* Tiers — 5-card swipe (REWARDS first / main on left) + Swipe tracker */
  .rb-rewards .rb-rewards__tiers-rail {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    padding: 0 2px;
  }

  .rb-rewards .rb-rewards__tiers-rail[hidden] {
    display: none !important;
  }

  .rb-rewards .rb-rewards__tiers-swipe-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25em;
    margin: 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.45);
  }

  .rb-rewards .rb-rewards__tiers-swipe-chevron {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
    animation: rb-featured-swipe-nudge 1.8s ease-in-out infinite;
  }

  .rb-rewards .rb-rewards__tiers-scrollbar {
    width: 100%;
    max-width: 100%;
  }

  .rb-rewards .rb-rewards__tiers-scrollbar-track {
    position: relative;
    width: 100%;
    height: 5px;
    border-radius: 999px;
    background: rgba(var(--rb-dark-rgb, 14, 39, 68), 0.14);
    overflow: visible;
  }

  .rb-rewards .rb-rewards__tiers-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    height: 5px;
    min-width: 48px;
    border-radius: 999px;
    background: var(--rb-emerald-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%));
    background-size: auto;
    box-shadow: var(--rb-emerald-slider-glow-shadow, 0 0 12px rgba(var(--rb-canna-shadow-rgb), 0.35));
    will-change: transform;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
  }

  .rb-rewards .rw4ctwo {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory;
    gap: 14px;
    padding: 4px var(--rb-pad-x, 16px) 12px;
    margin: 0 calc(-1 * var(--rb-pad-x, 16px));
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y; /* vertical page scroll still works over cards */
    scrollbar-width: none;
  }

  .rb-rewards .rw4ctwo::-webkit-scrollbar {
    display: none;
  }

  .rb-rewards .rw4ctwo .re4it {
    flex: 0 0 min(78vw, 300px) !important;
    width: min(78vw, 300px) !important;
    max-width: min(78vw, 300px) !important;
    scroll-snap-align: start;
    min-width: 0;
    box-sizing: border-box;
  }

  .rb-rewards .rw4ctwo .re4it.rb-rewards__tier-card--labels {
    /* Main / first card — REWARDS labels lead on the left */
    flex-basis: min(72vw, 280px) !important;
    width: min(72vw, 280px) !important;
    max-width: min(72vw, 280px) !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-rewards .rb-rewards__tiers-swipe-chevron {
      animation: none;
      opacity: 1;
    }
  }

  .rb-rewards .rb-redeem-disclaimer-line {
    white-space: normal;
    text-align: center;
    font-size: clamp(1.512rem, 2.304vw, 1.8rem) !important; /* −20% from redeem intro */
    line-height: 1.45 !important;
    font-weight: 700 !important;
  }

  .rb-rewards .rb-quiz-cta,
  .rb-rewards .rb-rewards-login-cta,
  .rb-rewards .rb-rewards-join-cta {
    min-width: 0;
    width: 100%;
    max-width: 320px;
  }

  /* Logged-out loyalty — type / tile scale (mobile only) */
  body .rb-rewards.rb-rewards--logged-out .rewsec1 .yotpo-widget-hero-section .yotpo-description,
  body .rb-rewards.rb-rewards--logged-out .rewsec1 .yotpo-widget-hero-section .yotpo-description .yotpo-inner-text {
    font-size: clamp(1.44585rem, 2.2032vw, 1.72125rem) !important; /* −15% then −10% */
  }

  /* Logged-in thank-you — same size as logged-out member subtext */
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-my-rewards-widget .yotpo-logged-in-view .yotpo-description[data-rb-thank-you="1"],
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-my-rewards-widget .yotpo-logged-in-view .yotpo-description[data-rb-thank-you="1"] .yotpo-inner-text,
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-hero-section .yotpo-logged-in-view .yotpo-description[data-rb-thank-you="1"],
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-hero-section .yotpo-description[data-rb-thank-you="1"],
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-my-rewards-widget .yotpo-logged-in-view .yotpo-description:not(:has(.rb-points-num)),
  body .rb-rewards.rb-rewards--logged-in .yotpo-widget-my-rewards-widget .yotpo-logged-in-view .yotpo-description:not(:has(.rb-points-num)) .yotpo-inner-text {
    font-size: clamp(1.44585rem, 2.2032vw, 1.72125rem) !important;
    line-height: 1.45 !important;
  }

  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-headline,
  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-headline .yotpo-inner-text,
  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-customized-text.yotpo-headline {
    font-size: 41.4px !important; /* 36 × 1.15 */
  }

  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-reward-steps-title,
  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-reward-steps-title .yotpo-inner-text {
    font-size: 28.8px !important; /* 24 × 1.2 — leave 01/02/03 icons alone */
  }

  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-reward-steps-description,
  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-reward-steps-description .yotpo-inner-text,
  body .rb-rewards.rb-rewards--logged-out .yotpo-rewards-guide-tile-wrapper .yotpo-reward-steps-description .yotpo-description-text {
    font-size: 24px !important; /* 20 × 1.2 */
  }

  /* Ways to earn — compact icon + copy; keep text fill visible */
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-widget-campaign-widget-icon-container {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    margin-bottom: 10px !important;
  }

  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-widget-campaign-widget-icon-container .yotpo-widget-campaign-widget-icon,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-widget-campaign-widget-icon-container svg,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-widget-campaign-widget-icon-container .yotpo-widget-campaign-widget-custom-icon {
    width: 26px !important;
    height: 26px !important;
    max-width: 26px !important;
    max-height: 26px !important;
  }

  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-title-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-title-text .yotpo-inner-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-title-text-container {
    color: var(--rb-dark, #0e2744) !important;
    -webkit-text-fill-color: var(--rb-dark, #0e2744) !important;
    background: none !important;
    background-image: none !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }

  /* Ways to Earn tile subtext — on card face, +10% vs prior 14px */
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-headline-center-element .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-headline-center-element .yotpo-description-text .yotpo-inner-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-tile .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-tile .yotpo-description-text .yotpo-inner-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-outer-tile .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-outer-tile .yotpo-description-text .yotpo-inner-text {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    font-size: 15.4px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    color: var(--rb-dark, #0e2744) !important;
    -webkit-text-fill-color: var(--rb-dark, #0e2744) !important;
    opacity: 1 !important;
    text-align: center !important;
    background: none !important;
    background-image: none !important;
  }

  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-logged-out-tile .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-action-tile .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-message-tile .yotpo-description-text,
  body .rb-rewards .yotpo-widget-campaign-widget .yotpo-view-tile .yotpo-description-text {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    opacity: 0 !important;
    font-size: 0 !important;
  }

  /* Logged-in date earn form — large centered card */
  /* Birthday / anniversary — park Yotpo form; RB sheet is the UI */
  body.rb-rewards-bday-open::before {
    display: none !important;
  }

  body.rb-rewards-bday-open .rb-rewards .rb-rewards__earn-track,
  body.rb-rewards-bday-open .rb-rewards .yotpo-widget-campaign-widget .flexified-wrapper,
  body.rb-rewards-bday-open .rb-rewards .yotpo-widget-campaign-widget .yotpo-outer-tile,
  body.rb-rewards-bday-open .rb-rewards .yotpo-widget-campaign-widget .yotpo-tile-wrapper,
  body.rb-rewards-bday-open .rb-rewards .yotpo-widget-campaign-widget .yotpo-tile {
    transform: none !important;
    -webkit-transform: none !important;
    filter: none !important;
    will-change: auto !important;
  }

  body.rb-rewards-bday-open .rb-rewards.rb-rewards--logged-in .yotpo-widget-campaign-widget .yotpo-container-birthday-action-tile,
  body.rb-rewards-bday-open .rb-rewards.rb-rewards--logged-in .yotpo-widget-campaign-widget .yotpo-container-date-input-action-tile,
  body.rb-rewards-bday-open .rb-rewards.rb-rewards--logged-in .yotpo-widget-campaign-widget .yotpo-container-campaign-action-with-input-tile {
    position: fixed !important;
    left: -9999px !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
  }

  .rb-bday-sheet {
    position: fixed;
    inset: 0;
    z-index: 2147483640;
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .rb-bday-sheet[hidden] {
    display: none !important;
  }
  .rb-bday-sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(14, 39, 68, 0.4);
  }
  .rb-bday-sheet__card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    background: #f2f2f7;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.18);
    padding: 10px 16px calc(18px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
  }
  .rb-bday-sheet__grab {
    width: 36px;
    height: 5px;
    border-radius: 999px;
    background: rgba(60, 60, 67, 0.28);
    margin: 4px auto 14px;
  }
  .rb-bday-sheet__title {
    margin: 0 0 4px;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #000;
  }
  .rb-bday-sheet__lead {
    margin: 0 0 16px;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgba(60, 60, 67, 0.7);
  }
  .rb-bday-sheet__group {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 14px;
  }
  .rb-bday-sheet__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
  }
  .rb-bday-sheet__row:last-child {
    border-bottom: none;
  }
  .rb-bday-sheet__row label {
    font-size: 1rem;
    font-weight: 600;
    color: #000;
  }
  .rb-bday-sheet__row select {
    flex: 1 1 auto;
    max-width: 62%;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    background: transparent;
    padding: 8px 8px;
    font-size: 1.0625rem;
    font-weight: 500;
    color: #007aff;
    text-align: right;
    text-align-last: right;
    min-height: 44px;
  }
  .rb-bday-sheet__submit {
    display: block;
    width: 100%;
    border: none;
    border-radius: 12px;
    background: #007aff;
    color: #fff;
    font-size: 1.0625rem;
    font-weight: 700;
    padding: 14px 16px;
    min-height: 50px;
    cursor: pointer;
    margin-bottom: 8px;
  }
  .rb-bday-sheet__cancel {
    display: block;
    width: 100%;
    border: none;
    background: transparent;
    color: #007aff;
    font-size: 1.0625rem;
    font-weight: 600;
    padding: 12px 16px;
    min-height: 44px;
    cursor: pointer;
  }
  .rb-bday-sheet__error {
    display: none;
    margin: 0 0 10px;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #c0392b;
  }
  .rb-bday-sheet__error.is-visible {
    display: block;
  }

  /* Hide birthday thank-you flash after submit */
  body .rb-rewards .yotpo-widget-campaign-widget [data-rb-bday-thanks-hidden="1"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  /* Rewards History — mobile type / width */
  body .rb-rewards .yotpo-rewards-history-wrapper .yotpo-rewards-history,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history-wrapper .yotpo-rewards-history {
    width: min(94vw, 440px) !important;
    max-width: min(94vw, 440px) !important;
    padding: 28px 22px 24px !important;
    box-sizing: border-box !important;
  }

  body .rb-rewards .yotpo-rewards-history-title,
  body .rb-rewards .yotpo-rewards-history-title .yotpo-inner-text,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history-title,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history-title .yotpo-inner-text {
    font-size: clamp(1.8375rem, 2.52vw, 2.3625rem) !important;
  }

  body .rb-rewards .yotpo-rewards-history .yotpo-grid-row-headers,
  body .rb-rewards .yotpo-rewards-history .yotpo-grid-row-headers .yotpo-row-desktop-text,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history .yotpo-grid-row-headers .yotpo-row-desktop-text {
    font-size: 1.1025rem !important;
    font-weight: 700 !important;
  }

  body .rb-rewards .yotpo-rewards-history .yotpo-row-display,
  body .rb-rewards .yotpo-rewards-history .yotpo-row-desktop-text,
  body .rb-rewards .yotpo-rewards-history .yotpo-row-mobile-text,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history .yotpo-row-display,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history .yotpo-row-desktop-text,
  body .yotpo-widget-my-rewards-widget .yotpo-rewards-history .yotpo-row-mobile-text {
    font-size: 1.18125rem !important;
    font-weight: 700 !important;
  }

  @media (prefers-reduced-motion: reduce) {
    .rb-rewards .rb-rewards__earn-swipe-chevron {
      animation: none;
      opacity: 1;
    }
  }

  /* Wholesale */
  body.template-page:has(.rb-wholesale-form) .Container.wh1 {
    padding: 32px var(--rb-pad-x);
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.template-page:has(.rb-wholesale-form) .wh1__lead,
  body.template-page:has(.rb-wholesale-form) .wh1__cta {
    font-size: calc(var(--rb-text-xl, 1.75rem) * 0.85 * 0.9) !important; /* −10% from prior mobile */
  }

  /* rb-wholesale-lead-wrap-stage-v1 — wrap lead inside phone stage */
  body.template-page:has(.rb-wholesale-form) .wh1__lead {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .rb-wholesale-form__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Easier field focus — entire card is the tap target; 16px stops iOS zoom */
  .rb-wholesale-form p:has(input:not([type=submit])),
  .rb-wholesale-form p:has(select) {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    min-height: 76px;
    padding: 12px 14px 14px !important;
    cursor: text;
    -webkit-tap-highlight-color: rgba(36, 104, 68, 0.12);
    touch-action: manipulation;
  }

  .rb-wholesale-form p:has(input:not([type=submit])) label,
  .rb-wholesale-form p:has(select) label {
    pointer-events: none; /* taps pass to the card handler / field */
    margin-bottom: 0 !important;
    font-size: 1.2em !important; /* +20% headers */
    font-weight: 700 !important;
  }

  .rb-wholesale-form input[type=email],
  .rb-wholesale-form input[type=tel],
  .rb-wholesale-form input[type=text],
  .rb-wholesale-form select {
    flex: 1 1 auto;
    width: 100% !important;
    min-height: 52px !important;
    padding: 12px 4px !important;
    font-size: max(16px, 1.15em) !important; /* +15% entry; floor 16px for iOS focus */
    line-height: 1.4 !important;
    touch-action: manipulation;
    -webkit-user-select: text !important;
    user-select: text !important;
    pointer-events: auto !important;
  }

  .rb-wholesale-form p:has(select) select {
    min-height: 52px !important;
  }

  .rb-wholesale-form__submit {
    width: 100%;
    min-height: 52px;
  }

  /* Cart — Add Order Note: entire block tappable, 16px for iOS */
  body.template-cart .t4s-main-cart .rb-cart-note-field,
  #t4s-mini_cart .rb-cart-note-field,
  #t4s-mini_cart .t4s-mini_cart-tool__content.is--note.is--opend {
    cursor: text;
    -webkit-tap-highlight-color: rgba(36, 104, 68, 0.12);
    touch-action: manipulation;
    pointer-events: auto !important;
  }

  body.template-cart .t4s-main-cart .rb-cart-note-field .t4s-cart-note__label,
  #t4s-mini_cart .rb-cart-note-field label,
  #t4s-mini_cart .t4s-mini_cart-tool__content.is--note label {
    pointer-events: none;
  }

  body.template-cart .t4s-main-cart .t4s-cart-note__input,
  body.template-cart .t4s-main-cart #CartSpecialInstructions,
  #t4s-mini_cart .t4s-mini_cart-tool__content.is--note textarea,
  #t4s-mini_cart #CartSpecialInstructions {
    font-size: 16px !important; /* was ~14px — under 16 causes iOS zoom/missed focus */
    min-height: 120px !important;
    padding: 14px 16px !important;
    touch-action: manipulation;
    -webkit-user-select: text !important;
    user-select: text !important;
    pointer-events: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Discount / VerifyPass — 1-col within phone stage (not window) */
  .dis_sec {
    margin-top: 100px !important;
    padding-left: var(--rb-pad-x) !important;
    padding-right: var(--rb-pad-x) !important;
    padding-bottom: 64px !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: clip !important;
  }

  .dis_sec .disc_con {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .dis_sec .disc_itm {
    padding: 24px 18px 72px;
    min-height: 0;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* rb-discount-desc-wrap-stage-v1 — descriptions wrap inside phone stage */
  .dis_sec .disc_itm h3 {
    max-width: 100% !important;
    white-space: normal !important;
    font-size: clamp(1.875rem, calc(2.4 * var(--rb-layout-vw, 1vw)), 2.25rem) !important;
  }

  .dis_sec .disc_itm p {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: clamp(1.47rem, calc(1.725 * var(--rb-layout-vw, 1vw)), 1.65rem) !important;
  }

  .dis_sec .disc_itm button::before,
  .dis_sec .disc_itm button::after {
    left: 18px !important;
    right: 18px !important;
    bottom: 12px !important;
    height: 3.341625rem !important;
    box-sizing: border-box !important;
  }

  .dis_sec > h3.rb-discount-heading {
    font-size: clamp(2rem, calc(8 * var(--rb-layout-vw, 1vw)), 2.5rem) !important;
  }

  /* Discount / content pages */
  body.template-page .main-page,
  body.template-page .t4s-main-page {
    padding-left: var(--rb-pad-x);
    padding-right: var(--rb-pad-x);
  }

  /* Collection / T4S product grid */
  .t4s-collection-page .t4s-row,
  .t4s-search-page .t4s-row {
    margin-left: -8px;
    margin-right: -8px;
  }

  .t4s-product-item {
    padding: 8px;
  }

  /* PDP */
  .t4s-product-main .t4s-product__title {
    font-size: clamp(1.375rem, 5.5vw, 1.75rem);
  }

  /* PDP option labels (Type / Formula / Strength & quantity) + variant pills */
  body.template-product .t4s-swatch__title {
    font-size: 20.52px; /* rb-variant-mobile-text-95-v1 — was 21.6px */
  }

  body.template-product .t4s-swatch__item {
    font-size: 19.475px; /* rb-variant-mobile-text-95-v1 — was 20.5px */
    padding: 7px 16px !important;
    line-height: calc(1em + 5px) !important; /* wrapped strength/volume lines — 5px between rows */
  }

  /* rb-variant-mobile-text-95-v1 — variant panel copy −5% (mobile PDP; title excluded — uses clamp above) */
  body.template-product .t4s-product__info-wrapper .t4s-product-price,
  body.template-product .t4s-product__info-wrapper .t4s-product-price ins,
  body.template-product .t4s-product__info-wrapper .t4s-product-price del {
    font-size: calc(var(--price-size, 22px) * 0.95) !important;
    line-height: calc(var(--price-size, 22px) * 0.95) !important;
  }

  body.template-product .t4s-product__info-wrapper .t4s-product-price .t4s-labrl-sale span {
    font-size: 13.3px !important;
  }

  body.template-product .t4s-product__info-wrapper .t4s-product-price span.t4s-txt-sale:not(.t4s-dn) {
    font-size: 11.4px !important;
  }

  body.template-product .t4s-product__info-wrapper .yotpo .yotpo-bottomline .yotpo-icon-star,
  body.template-product .t4s-product__info-wrapper .yotpo .yotpo-bottomline .yotpo-icon-half-star,
  body.template-product .t4s-product__info-wrapper .yotpo .yotpo-bottomline .yotpo-icon-empty-star,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-icon-star,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-icon-half-star,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-icon-empty-star,
  body.template-product .t4s-product__info-wrapper .yotpo .yotpo-stars,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-sr-bottom-line-stars {
    font-size: 19px !important;
  }

  body.template-product .t4s-product__info-wrapper svg.yotpo-sr-star-full,
  body.template-product .t4s-product__info-wrapper svg.yotpo-sr-star-half,
  body.template-product .t4s-product__info-wrapper svg.yotpo-sr-star-empty,
  body.template-product .t4s-product__info-wrapper svg.star-container,
  body.template-product .t4s-product__info-container svg.yotpo-sr-star-full,
  body.template-product .t4s-product__info-container svg.yotpo-sr-star-half,
  body.template-product .t4s-product__info-container svg.yotpo-sr-star-empty,
  body.template-product .t4s-product__info-container svg.star-container {
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
    max-width: 19px !important;
    max-height: 19px !important;
  }

  body.template-product .t4s-product__info-wrapper .yotpo .text-m,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .text-m,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-sr-bottom-line-text,
  body.template-product .t4s-product__info-wrapper .yotpo-widget-instance .yotpo-sr-bottom-line-right-panel,
  body.template-product .t4s-product__info-container .yotpo-sr-bottom-line-text,
  body.template-product .t4s-product__info-container .yotpo-sr-bottom-line-right-panel,
  body.template-product .t4s-product__info-container .yotpo-sr-bottom-line-text span,
  body.template-product .t4s-product__info-container .yotpo-sr-bottom-line-right-panel span,
  body.template-product .t4s-product__info-container .yotpo-sr-bottom-line-summary,
  body.template-product .t4s-product__info-container .yotpo-reviews-star-ratings-widget {
    font-size: 15.675px !important;
  }

  body.template-product .t4s-product__info-wrapper .rc-widget .rc-template__button-group .rc-button-group__options .rc-radio,
  body.template-product .t4s-product__info-wrapper .recharge-subscription-widget .rc-template__button-group .rc-button-group__options .rc-radio,
  body.template-product .t4s-product__info-wrapper label.rc-radio {
    font-size: 1.09725em !important;
  }

  body.template-product .t4s-product__info-wrapper .rc-widget .rc-template__button-group .price-label,
  body.template-product .t4s-product__info-wrapper .recharge-subscription-widget .rc-template__button-group .price-label {
    font-size: 1.2825em !important;
  }

  body.template-product .t4s-product__info-wrapper .sbs_message h5 {
    font-size: 13.3px !important;
  }

  body.template-product .t4s-product__info-wrapper .rc-selling-plans-dropdown__select {
    font-size: 14.63px !important;
  }

  body.template-product .t4s-product__info-wrapper span.rc-selling-plans-dropdown__label,
  body.template-product .t4s-product__info-wrapper .rc-selling-plans-dropdown__label {
    font-size: 19.665px !important;
  }

  body.template-product .t4s-product__info-wrapper .t4s-product-form__buttons .t4s-quantity-wrapper input.t4s-quantity-input {
    font-size: 18.392px !important;
  }

  body.template-product .t4s-product__info-wrapper .t4s-product-form__buttons .t4s-product-form__submit,
  body.template-product .t4s-product__info-wrapper .t4s-product-form__buttons .t4s-btn {
    font-size: 1.045rem !important;
  }

  body.template-product .t4s-product__info-wrapper .t4s-product-form__submit .t4s-btn-atc_text {
    font-size: 1.045em !important;
  }

  body.template-product .t4s-product__info-wrapper .psd h4 {
    font-size: 0.9975em !important;
  }

  body.template-product .t4s-product__info-wrapper .psd p {
    font-size: 10.9725px !important;
    line-height: 12.9675px !important;
  }

  /*
    Grey variant panel ? qty/ATC bottoms were clipped by:
    1) border-radius + ancestor overflow (html.js overflow-x:hidden ? overflow-y auto)
    2) Formula glow box-shadow painting past the panel edge
    3) insufficient bottom padding vs 2px ATC/qty borders
  */
  body.template-product .shopify-section:has(.t4s-main-product__content),
  body.template-product .t4s-section-main-product,
  body.template-product .t4s-main-product__content,
  body.template-product .t4s-container.t4s-main-product__content,
  body.template-product .t4s-main-product__content .t4s-row,
  body.template-product .t4s-product__info-container,
  body.template-product .t4s-product__info-wrapper,
  body.template-product .t4s-product__info-wrapper.t4s-pr,
  body.template-product .t4s-col-md-6.t4s-col-12.t4s-col-item.t4s-product__info-wrapper.t4s-pr {
    overflow: visible !important;
  }

  body.template-product .t4s-product__info-wrapper.t4s-pr,
  body.template-product .t4s-col-md-6.t4s-col-12.t4s-col-item.t4s-product__info-wrapper.t4s-pr {
    padding: 16px 16px 39px !important; /* was 44px; ?5px open space below ATC */
    overflow: visible !important;
  }

  body.template-product .t4s-swatch__option {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  body.template-product .t4s-swatch__list {
    margin: 4px 0 0;
  }

  body.template-product .t4s-product-form__buttons,
  body.template-product .t4s-d-flex.t4s-flex-wrap.qtywrp,
  body.template-product .custompd,
  body.template-product .t4s-quantity-wrapper.t4s-product-form__qty,
  body.template-product .t4s-product-form__buttons .t4s-quantity-wrapper,
  body.template-product .t4s-product-form__buttons .t4s-product-form__submit {
    overflow: visible !important;
  }

  body.template-product .t4s-product-form__buttons {
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
  }

  body.template-product .t4s-product-form__buttons .t4s-quantity-wrapper {
    margin-bottom: 14px !important;
  }

  .t4s-product-form__buttons .t4s-product-form__submit,
  .t4s-product-form__buttons .t4s-btn {
    min-height: 57.2px; /* 52px +10% */
    font-size: 1.045rem; /* rb-variant-mobile-text-95-v1 — was 1.1rem */
    margin-bottom: 12px !important;
    text-transform: none !important;
    padding-top: 16.5px !important;
    padding-bottom: 16.5px !important;
  }

  /* ATC — even 2px ring; CSS border bottom was clipping thinner (rb-pdp-atc-border-even-v1) */
  body.template-product .t4s-product-form__submit:not([disabled]):not([aria-disabled="true"]),
  body.template-product .t4s-product-form__submit.rb-atc--added {
    border: 0 !important;
    box-shadow: inset 0 0 0 2px var(--rb-variant-glow, #246844) !important;
    background-clip: padding-box !important;
    -webkit-appearance: none;
    appearance: none;
  }

  body.template-product .t4s-product-form__buttons .t4s-quantity-wrapper {
    min-height: 48.4px;
  }

  body.template-product .t4s-product-form__buttons .t4s-quantity-wrapper button.t4s-quantity-selector svg {
    width: 13.86px !important;
    height: 13.86px !important;
  }

  body.template-product .t4s-product-form__submit .t4s-btn-atc_text {
    text-transform: none !important;
  }

  /* Cart */
  .t4s-cartPage .t4s-cart__item {
    flex-wrap: wrap;
    gap: 12px;
  }

  /* Classic inverse pills ? touch-friendly */
  .rb-quiz-cta,
  .rb-band-pill,
  .rb-header__menu-footer-link,
  .rb-perk-row__cta {
    min-height: 48px;
  }

  /* Quiz CTAs full width on narrow screens */
  .rb-quiz-cta {
    max-width: 100%;
  }

  /* Newsletter */
  .rb-newsletter {
    padding: 56px var(--rb-pad-x);
  }

  .rb-newsletter__form {
    margin-top: 32px;
  }

  .rb-newsletter__input {
    min-height: 52px;
    font-size: 1rem;
  }
}

/* ?? Small phone (?390px) ??????????????????????????????????????????????? */
@media (max-width: 390px) {
  .rb-header__utils {
    gap: 0;
    margin-right: 0;
  }

  .rb-header__utils .rb-header__search,
  .rb-header__utils .rb-header__account,
  .rb-header__utils .rb-header__cart {
    margin-inline: -5px;
  }

  .rb-header__utils .rb-header__search {
    margin-inline: 0 -2px;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px;
    min-height: 50px;
  }

  .rb-header__utils .rb-header__search > i {
    font-size: calc(1.65rem - 3px) !important; /* −1px */
    width: calc(1.65rem - 3px) !important;
    height: calc(1.65rem - 3px) !important;
  }

  .rb-header__utils .rb-header__search {
    transform: translateX(-5px);
  }

  .rb-header__utils .rb-header__account {
    transform: translateX(-7px);
  }

  .rb-header__utils .rb-header__cart {
    transform: translateX(-3px);
  }

  .rb-header__search,
  .rb-header__account,
  .rb-header__cart {
    width: 38px; /* ?5% from 40px */
    height: 38px;
    font-size: 1.1875rem; /* ?5% from 1.25rem */
  }

  .rb-header__logo-mark,
  .rb-header__logo-mark.rb-logo--gradient {
    height: clamp(67.08px, 19.57vw, 81.06px); /* prior +10% block, +5%, then +10% */
    width: calc(clamp(67.08px, 19.57vw, 81.06px) * (6018 / 1647));
    max-width: min(100%, 335.41px);
  }

  .rb-header__nav--bar {
    gap: 3px; /* was 4px; 1px closer */
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .rb-header__nav--bar .rb-header__pill {
    padding: 2.5px 12px 2.5px 14px; /* right is tighter: the arrow icon carries its own space */
    gap: 2.5px;
    font-size: clamp(0.95rem, 3.2vw, 1.12rem);
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon {
    width: calc(1.45rem - 1px);
    height: calc(1.45rem - 1px);
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon-arrow,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon-arrow,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon i:not(.rb-header__pill-icon-plus) {
    font-size: calc(1.45rem - 1px);
  }

  .rb-header__nav--bar .rb-header__pill .rb-header__pill-icon-plus,
  .rb-header__nav--bar .rb-header__dropdown.is-open .rb-header__pill-icon-plus {
    font-size: calc(1.45rem - 3px);
  }
}

/* Desktop-only: hide mobile chrome */
@media (min-width: 1000px) {
  .rb-mobile-menu-btn,
  .rb-mobile-drawer {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rb-mobile-drawer__panel,
  .rb-mobile-drawer__backdrop {
    transition: none;
  }
}

/* Accessibly — desktop: left of Tidio (~20px); mobile stack via media + JS (rb-accessibly-desktop-beside-mobile-stack-v1) */
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.middle-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.top-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-middle,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-right {
  position: fixed !important;
  top: auto !important;
  left: auto !important;
  right: 79px !important; /* desktop beside: 20 - 29 + 68 + 20 */
  bottom: 20px !important;
  transform: translateY(7px) !important;
  -webkit-transform: translateY(7px) !important;
  margin: 0 !important;
  inset: auto 79px 20px auto !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 999998 !important;
}

/* Hide Accessibly floating launcher — open via footer (rb-accessibly-footer-trigger-v1) */
body #accessiblyAppWidgetButton,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.middle-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.top-left,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-middle,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-right {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Accessibly launcher — kill hover enlarge + blue focus ring; click/tap still opens (rb-accessibly-no-hover-scale-outline-v1) */
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container #accessiblyAppDialogButton.accessibly-app-widget-button,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container #accessiblyAppDialogButton.accessibly-app-widget-button:hover,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container #accessiblyAppDialogButton.accessibly-app-widget-button:focus,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container #accessiblyAppDialogButton.accessibly-app-widget-button:focus-visible,
body #accessiblyAppWidgetButton.accessibly-app-widget-button-container #accessiblyAppDialogButton.accessibly-app-widget-button:active {
  transform: none !important;
  -webkit-transform: none !important;
  outline: 0 !important;
  outline-style: none !important;
  outline-width: 0 !important;
  outline-color: transparent !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Mobile: stack above Tidio (~5px gap); JS sets exact coords */
@media (max-width: 1023px) {
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container,
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-left,
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.middle-left,
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.top-left,
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-middle,
  body #accessiblyAppWidgetButton.accessibly-app-widget-button-container.bottom-right {
    right: 2px !important;
    bottom: 93px !important;
    inset: auto 2px 93px auto !important;
    transform: scale(0.8469) !important;
    -webkit-transform: scale(0.8469) !important;
    transform-origin: bottom right !important;
    -webkit-transform-origin: bottom right !important;
  }
}

@media (max-width: 999px) and (prefers-reduced-motion: reduce) {
  /* rb-tophat-charcoal-v1 - hold the charcoal, drop the sweep */
  .rb-trust-strip {
    animation: none !important;
    background-image: var(--rb-charcoal-gradient-static, linear-gradient(90deg, #222222 0%, #303030 52%, #5a5a5a 100%)) !important;
    background-size: auto !important;
  }

  .rb-trust-strip__track {
    animation: none;
    width: auto;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .rb-trust-strip__list--marquee-clone {
    display: none !important;
  }

  .rb-trust-strip__inner {
    padding: 0 12px;
    overflow-x: auto;
  }
}

/* Product feature panels ? mobile +15% text */
@media (max-width: 999px) {
  .template-product .prod_des .pfcon h2 {
    font-size: 23px; /* 20px + 15% */
  }

  .template-product .prod_des .pfcon .con {
    font-size: 1.15em;
  }

  .template-product .prod_des .anadoc a.viewr,
  .template-product .anadoc a.viewr {
    font-size: 21.735px; /* match desktop +15% over prior 18.9px */
  }

  .template-product .prod_des .anadoc a.adl,
  .template-product .prod_des a.adl {
    font-size: 1.1385em; /* 1.265em - 10% */
  }

  /* Batch report carousel. The panel is a full-width single-column card here rather than a grid
     cell, so its height follows this content instead of the text panels beside it. */
  .template-product .prod_des .anadoc .rb-coax__batch {
    font-size: 17.25px; /* 15px + 15% */
  }

  .template-product .prod_des .anadoc .rb-coax__row {
    gap: 8px;
  }

  /* No reserved line count here any more — the slides share one grid cell, so the stage sizes
     itself to the tallest report at whatever width the phone gives it. */
}

/* How to use ? step subtext +15% mobile; tighten vertical gaps */
@media (max-width: 999px) {
  body.template-product .hwtuse .steps p,
  body.template-product .hwtuse .st p {
    font-size: 18.4px; /* 16px +15% */
    line-height: 23px; /* 20px +15% */
    color: #000 !important;
  }

  body.template-product .hwto {
    padding-inline: var(--rb-pad-x, 16px);
    margin-top: 20px;
    margin-bottom: 24px;
  }

  body.template-product .hwtusecon {
    margin: 0 !important;
    padding: 20px 16px !important;
  }

  /* Steps 1?3: was 30px; keep readable, less empty air */
  body.template-product .hwtuse .steps {
    grid-gap: 16px !important;
    row-gap: 16px !important;
  }

  /* Steps block ? image: was 40px */
  body.template-product .hwtuse {
    grid-gap: 22px !important;
    row-gap: 22px !important;
  }

  body.template-product .hwone h4,
  body.template-product .hwtuse .steps h2 {
    color: #000 !important;
  }

  body.template-product .hwtuse .steps h2 {
    border-bottom-color: #000 !important;
  }
}

/* Mobile scroll performance ? freer finger scrolling */
@media (max-width: 999px) {
  html {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: auto;
  }

  /* Permanent will-change layers fight scrolling on iOS/Android */
  .rb-trust-strip__track,
  .rb-featured__rail-thumb,
  .rb-featured__rail-thumb-fill,
  .rb-perks__rail-thumb,
  .rb-perks__rail-thumb-fill,
  [class*="__rail-thumb"] {
    will-change: auto;
  }

  /* Programmatic smooth scroll feels sticky when mixed with touch */
  .rb-featured__rail,
  .rb-perks__rail,
  [data-rb-featured-rail],
  [data-rb-perks-rail],
  [data-rb-ymal-rail] {
    scroll-behavior: auto;
  }

  /* backdrop-filter is a common mobile scroll tax */
  .rb-header__pill,
  .rb-header__nav--bar,
  .rb-product__badge,
  .rb-announcement,
  .template-product .prod_des .anadoc a.viewr {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  /* Cart page ? order note / subtotal / tax type (mobile) */
  body.template-cart .t4s-main-cart .t4s-cart-note__label,
  body.template-cart .t4s-main-cart .t4s-txt_add_note,
  body.template-cart .t4s-main-cart .t4s-txt_edit_note {
    font-size: 1.2em !important; /* +20% */
  }

  body.template-cart .t4s-main-cart .t4s-cart-note__input,
  body.template-cart .t4s-main-cart #CartSpecialInstructions,
  #t4s-mini_cart .t4s-mini_cart-tool__content.is--note textarea,
  #t4s-mini_cart #CartSpecialInstructions {
    font-size: 16px !important; /* iOS focus — must be ≥16px */
    min-height: 120px !important;
    padding: 14px 16px !important;
    touch-action: manipulation;
    -webkit-user-select: text !important;
    user-select: text !important;
    pointer-events: auto !important;
  }

  body.template-cart .t4s-main-cart .t4s-cart__tax {
    font-size: 1.1em !important; /* +10% */
  }

  body.template-cart .t4s-main-cart .t4s-cart-total {
    font-size: 20.7px !important; /* 18px + 15% */
  }

  body.template-cart .t4s-main-cart .t4s-cart__ttprice,
  body.template-cart .t4s-main-cart .t4s-cart__totalPrice {
    font-size: 23px !important; /* 20px + 15% */
  }

  /* Mobile side cart (shopping bag drawer) */
  body.template-cart .t4s-main-cart {
    opacity: 0;
    pointer-events: none;
  }

  #t4s-mini_cart.t4s-drawer {
    width: min(var(--rb-stage, 100vw), 400px);
    max-width: 100%;
    background: #fff;
  }

  #t4s-mini_cart .rb-side-cart__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    /* Close is absolute — only pad the right for the X. Left stays tight so the logo can grow. */
    padding: 12px 52px; /* symmetric so the logo centres on the drawer */
    border-bottom: 1px solid rgba(36, 104, 68, 0.12);
    overflow: visible;
  }

  #t4s-mini_cart .rb-side-cart__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  #t4s-mini_cart .rb-side-cart__logo-mark,
  #t4s-mini_cart .rb-side-cart__logo-mark.rb-logo--gradient,
  #t4s-mini_cart .rb-side-cart__logo .rb-side-cart__logo-mark.rb-logo--gradient {
    /* 49.68px +10% — width must be free or mask-size:contain keeps the glyph stuck small */
    height: 54.648px !important;
    width: calc(54.648px * (6018 / 1647)) !important;
    min-width: calc(54.648px * (6018 / 1647)) !important;
    max-width: none !important;
    flex: none !important;
    flex-shrink: 0 !important;
    margin: 0 auto;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  #t4s-mini_cart .rb-side-cart__logo {
    position: relative;
    z-index: 1;
    /* Header padding already clears the X — do NOT subtract 96px again (that capped width ~198px). */
    max-width: 100%;
    width: auto;
    flex: 0 0 auto;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #0e2744;
    z-index: 30 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: transparent;
    border: 0;
    -webkit-tap-highlight-color: transparent;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close svg {
    width: 18px;
    height: 16px;
    overflow: visible;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close svg path {
    stroke-width: 1.75;
    stroke: currentColor;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close:hover,
  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close:active {
    background: rgba(36, 104, 68, 0.08);
    transform: translateY(-50%);
  }

  /* Empty side cart: icon + “Your cart is empty” +20%; text bold */
  #t4s-mini_cart .t4s-mini_cart__emty svg#icon-cart-emty {
    width: 66px !important; /* 55px + 20% */
    height: auto !important;
  }

  #t4s-mini_cart .t4s-mini_cart__emty > p:not(.t4s-return-to-shop),
  #t4s-mini_cart .t4s-mini_cart__emty > h4 {
    font-size: 1.2em !important;
    font-weight: 700 !important;
  }

  /* Search drawer — logo centred on the drawer; X pinned right so it cannot push the logo */
  #t4s-search-hidden .t4s-search-drawer__top {
    position: relative;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding: 0 52px;
  }

  #t4s-search-hidden .t4s-search-drawer__logo,
  #t4s-search-hidden .t4s-search-drawer__logo.rb-logo--gradient {
    height: 51.642px !important; /* 49.183px +5% */
    width: calc(51.642px * (6018 / 1647)) !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    margin: 2px auto 0 !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  #t4s-search-hidden .t4s-drawer__close {
    width: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px !important;
    position: absolute !important;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 2;
  }

  #t4s-search-hidden .t4s-drawer__close svg {
    width: 18px !important;
    height: 16px !important;
    overflow: visible;
  }

  #t4s-search-hidden .t4s-drawer__close svg path {
    stroke-width: 2.35 !important;
    stroke: currentColor;
  }

  #t4s-mini_cart .t4s-btn__cart {
    display: none !important;
  }

  /*
    Mobile side cart — keep it simple.
    Theme drawer uses transform/opacity/visibility; our old layout overrides
    left the overlay on while the panel stayed off-screen (grey screen).
  */
  #t4s-mini_cart.t4s-drawer {
    width: min(var(--rb-stage, 100vw), 400px) !important;
    max-width: 100% !important;
    background: #fff !important;
    z-index: 10000050 !important;
  }

  #t4s-mini_cart.t4s-drawer.t4s-dn {
    display: none !important;
  }

  html.is--opend-drawer #t4s-mini_cart.t4s-drawer,
  #t4s-mini_cart.t4s-drawer[aria-hidden="false"],
  #t4s-mini_cart.t4s-drawer.is--opend {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    height: 100% !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    touch-action: pan-y !important;
    overflow: hidden !important;
  }

  /* If section HTML was nested inside the drawer, stretch it full height */
  #t4s-mini_cart > .shopify-section,
  #t4s-mini_cart > [id^="shopify-section-"] {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden !important;
  }

  /* Dim page overlay must sit under the cart panel */
  html.is--opend-drawer .t4s-close-overlay.is--visible {
    z-index: 10000040 !important;
  }

  /* Never trap taps behind the theme "updating" veil */
  #t4s-mini_cart.is--contentUpdate:before {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #t4s-mini_cart,
  #t4s-mini_cart form.t4s-drawer__wrap,
  #t4s-mini_cart .t4s-drawer__main,
  #t4s-mini_cart .t4s-drawer__scroll,
  #t4s-mini_cart .t4s-drawer__bottom,
  #t4s-mini_cart [data-cart-items],
  #t4s-mini_cart .t4s-mini_cart__item,
  #t4s-mini_cart button,
  #t4s-mini_cart a,
  #t4s-mini_cart input {
    pointer-events: auto !important;
  }

  #t4s-mini_cart .rb-side-cart__header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 80px;
    padding: 12px 52px; /* symmetric so the logo centres on the drawer */
    border-bottom: 1px solid rgba(36, 104, 68, 0.12);
    flex: 0 0 auto !important;
    overflow: visible;
  }

  #t4s-mini_cart .rb-side-cart__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
  }

  #t4s-mini_cart .rb-side-cart__logo-mark,
  #t4s-mini_cart .rb-side-cart__logo-mark.rb-logo--gradient,
  #t4s-mini_cart .rb-side-cart__logo .rb-side-cart__logo-mark.rb-logo--gradient {
    height: 54.648px !important; /* 49.68px +10% */
    width: calc(54.648px * (6018 / 1647)) !important;
    min-width: calc(54.648px * (6018 / 1647)) !important;
    max-width: none !important;
    flex: none !important;
    flex-shrink: 0 !important;
    margin: 0 auto;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
  }

  #t4s-mini_cart .rb-side-cart__logo {
    position: relative;
    z-index: 1;
    max-width: 100%;
    width: auto;
    flex: 0 0 auto;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #0e2744;
    z-index: 30 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    background: transparent;
    border: 0;
    -webkit-tap-highlight-color: transparent;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close svg {
    width: 18px;
    height: 16px;
    overflow: visible;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close svg path {
    stroke-width: 1.75;
    stroke: currentColor;
  }

  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close:hover,
  #t4s-mini_cart .rb-side-cart__header .t4s-drawer__close:active {
    background: rgba(36, 104, 68, 0.08);
    transform: translateY(-50%);
  }

  #t4s-mini_cart .t4s-btn__cart {
    display: none !important;
  }

  #t4s-mini_cart .t4s-drawer__header,
  #t4s-mini_cart .rb-side-cart__header,
  #t4s-mini_cart .t4s-cart__threshold {
    flex: 0 0 auto !important;
  }

  /*
    Header is a sibling of the form. Form must NOT be height:100% or it
    won't fill remaining viewport and the checkout block floats mid-screen.
  */
  #t4s-mini_cart form.t4s-drawer__wrap {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Theme scrolls [data-t4s-scroll-me]; body-scroll-lock only allows that node */
  #t4s-mini_cart .t4s-drawer__main {
    position: relative !important;
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    pointer-events: auto !important;
  }

  #t4s-mini_cart .t4s-drawer__scroll,
  #t4s-mini_cart .t4s-drawer__scroll[data-t4s-scroll-me] {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    height: auto !important;
    max-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
    overscroll-behavior: contain;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /* Qty: +10% size; dark grey chrome (not emerald) */
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item {
    width: 132px !important; /* 120 + 10% */
    min-width: 132px !important;
    height: 44px !important; /* 40 + 10% */
    border-color: #3c3c3c !important;
    color: #3c3c3c !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item input[type="number"],
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .t4s-quantity-input {
    font-size: 17.6px !important; /* 16 + 10% */
    height: 42px !important;
    color: #3c3c3c !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button {
    width: 33px !important;
    height: 44px !important;
    line-height: 44px !important;
    color: #3c3c3c !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg {
    width: 13.2px !important; /* 12 + 10% */
    height: 13.2px !important;
  }

  /* +/- original weight — color only, no stroke thickening */
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg.icon--minus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg.icon--plus {
    color: #3c3c3c !important;
    fill: currentColor !important;
    stroke: none !important;
  }
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg.icon--minus path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg.icon--plus path {
    fill: currentColor !important;
    stroke: none !important;
  }
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus svg:not(.icon--minus) {
    color: #3c3c3c !important;
    stroke: currentColor !important;
    fill: none !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus svg:not(.icon--minus) {
    width: 18.7px !important; /* 17 + 10% */
    height: 18.7px !important;
    transform: translateY(3px) !important; /* bin down 3px */
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:hover,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus-visible,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:active {
    color: #e53935 !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:hover svg.icon--minus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus svg.icon--minus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus-visible svg.icon--minus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:active svg.icon--minus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:hover svg.icon--minus path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus svg.icon--minus path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus-visible svg.icon--minus path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:active svg.icon--minus path {
    fill: #e53935 !important;
    color: #e53935 !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:hover svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus-visible svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:active svg.icon--trash,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:hover svg:not(.icon--minus),
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus svg:not(.icon--minus),
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:focus-visible svg:not(.icon--minus),
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--minus:active svg:not(.icon--minus) {
    color: #e53935 !important;
    stroke: #e53935 !important;
  }

  /* + green on tap — button.is--plus + .is-pressing (touch) so iOS shows feedback */
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:hover,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus-visible,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:active,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus.is-pressing,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:hover,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus-visible,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:active,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus.is-pressing {
    color: #246844 !important;
  }

  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:hover svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus-visible svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:active svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus.is-pressing svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:hover svg.icon--plus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:active svg.icon--plus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus.is-pressing svg.icon--plus,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:hover svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:focus-visible svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus:active svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item button.is--plus.is-pressing svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:hover svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus-visible svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:active svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus.is-pressing svg,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:hover svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:focus-visible svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus:active svg path,
  #t4s-mini_cart .t4s-mini_cart__actions .t4s-quantity-cart-item .is--plus.is-pressing svg path {
    fill: #246844 !important;
    color: #246844 !important;
  }

  /* Mobile side cart — product row copy bold; title/meta +10% more; $ +15% more */
  #t4s-mini_cart .t4s-mini_cart__title,
  #t4s-mini_cart .t4s-mini_cart__meta,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_variant,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_selling_plan,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_propertyList,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_propertyList li,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_price,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_price,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_price ins,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_price del {
    font-weight: 700 !important;
  }

  #t4s-mini_cart .t4s-mini_cart__title {
    font-size: 17.71px !important; /* 16.1px +10% */
    line-height: 1.35 !important;
  }

  /* Sidecart titles — solid brand colors (no gradient) */
  #t4s-mini_cart .t4s-mini_cart__title.rb-cart-title--canna {
    color: #2F7A4E !important;
    -webkit-text-fill-color: #2F7A4E !important;
    background: none !important;
    background-image: none !important;
    animation: none !important;
  }
  #t4s-mini_cart .t4s-mini_cart__title.rb-cart-title--kratom {
    color: #2F7A4E !important;
    -webkit-text-fill-color: #2F7A4E !important;
    background: none !important;
    background-image: none !important;
    animation: none !important;
  }

  #t4s-mini_cart .t4s-mini_cart__meta,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_variant,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_selling_plan,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_propertyList {
    font-size: 15.18px !important; /* 13.8px +10% */
    line-height: 1.4 !important;
  }

  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_price,
  #t4s-mini_cart .t4s-mini_cart__meta .t4s-cart_meta_price {
    font-size: 18.515px !important; /* 16.1px +15% */
  }

  #t4s-mini_cart .t4s-mini_cart__items,
  #t4s-mini_cart [data-cart-items],
  #t4s-mini_cart .t4s-mini_cart__items .t4s-mini_cart__item {
    visibility: visible !important;
    opacity: 1 !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom {
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 6 !important;
    background: #fff !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-transform: none !important;
    margin: 0 !important;
    margin-top: auto !important; /* pin footer to bottom of form / screen */
    padding: 8px 12px 15px !important;
    padding-bottom: 15px !important; /* 15px from checkout to screen bottom */
    box-shadow: 0 -4px 14px rgba(14, 39, 68, 0.08) !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart-total,
  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart-total strong,
  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart__totalPrice,
  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart__originalPrice,
  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart__discountPrice {
    font-size: 1rem !important;
    line-height: 1.3 !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom .t4s-cart__tax {
    font-size: 0.8125rem !important;
    line-height: 1.3 !important;
    margin: 4px 0 6px !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom button.rb-cart-checkout,
  #t4s-mini_cart .t4s-drawer__bottom .t4s-btn__checkout {
    font-size: 0.9375rem !important;
    min-height: 44px !important;
    padding: 10px 16px !important;
    margin: 4px 10px 0 !important; /* −10px each side */
    margin-bottom: 0 !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    box-sizing: border-box !important;
    letter-spacing: 0.04em !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom button.rb-cart-checkout .rb-cart-checkout__label {
    font-size: inherit !important;
  }

  #t4s-mini_cart .t4s-drawer__bottom .t4s-btn__checkout {
    border-radius: 999px;
    font-weight: 600;
  }

  /* Pause decorative infinite motion while the finger is moving */
  html.rb-scroll-active *,
  html.rb-scroll-active *::before,
  html.rb-scroll-active *::after {
    animation-play-state: paused !important;
  }

  /* Trust band and tophat marquees keep moving during scroll (and while off-screen) */
  html.rb-scroll-active .rb-trust-band__bar,
  html.rb-scroll-active .rb-trust-band__track,
  html.rb-scroll-active .rb-trust-band__track *,
  html.rb-scroll-active .rb-press__track,
  html.rb-scroll-active .rb-press__viewport,
  html.rb-scroll-active .rb-trust-strip.is-marquee-playing .rb-trust-strip__track,
  html.rb-scroll-active .rb-trust-strip.is-marquee-playing .rb-trust-strip__track *,
  html.rb-scroll-active .rb-trust-strip.is-marquee-playing .rb-trust-strip__track *::before,
  html.rb-scroll-active .rb-trust-strip.is-marquee-playing .rb-trust-strip__track *::after {
    animation-play-state: running !important;
  }

  /* Reviews swipe — don't let page scroll-pause thrash the track mid-flip */
  html.rb-reviews-swiping .rb-reviews .glide__slides,
  html.rb-scroll-active .rb-reviews .glide__slides {
    animation-play-state: running !important;
  }
}

/* YMAL mobile carousel ? final override (beats homepage grid !important) */
@media (max-width: 999px) {
  body.template-product .rb-ymal .rb-products.rb-product-cards.rb-ymal__grid,
  body.template-product .related_products .rb-ymal .rb-products.rb-product-cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  body.template-product .rb-ymal .rb-products.rb-product-cards > .rb-product,
  body.template-product .related_products .rb-ymal .rb-products.rb-product-cards > .rb-product {
    flex: 0 0 calc((100% - 40px) * 1.05) !important;
    width: calc((100% - 40px) * 1.05) !important;
    max-width: calc((100% - 40px) * 1.05) !important;
    min-width: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  body.template-product .rb-ymal > .rb-featured__rail:not([hidden]) {
    display: flex !important;
  }
}

/* Collection mobile ? 60px between last product and footer (+30px) */
@media (max-width: 999px) {
  body.template-collection .cprod .t4s-container,
  body.template-collection .t4s-main-collection-page .t4s-container {
    padding-bottom: 60px !important;
  }
}

/* Homepage footer width ? all mobile pages (don't inherit product 4px frame inset) */
@media (max-width: 999px) {
  footer#t4s-footer:has(.rb-footer) {
    --rb-home-frame-inset: clamp(8px, 1.5vw, 16px);
    padding-inline: clamp(8px, 1.5vw, 16px) !important;
  }

  footer#t4s-footer:has(.rb-footer) .rb-footer .rb-container,
  footer#t4s-footer .rb-footer .rb-container,
  body.template-product footer#t4s-footer .rb-footer .rb-container,
  body.template-collection footer#t4s-footer .rb-footer .rb-container,
  body.template-page footer#t4s-footer .rb-footer .rb-container,
  body.template-cart footer#t4s-footer .rb-footer .rb-container,
  body.template-customers-account footer#t4s-footer .rb-footer .rb-container,
  body.template-index footer#t4s-footer .rb-footer .rb-container,
  body .rb-footer .rb-container {
    padding-inline: clamp(28px, 7vw, 40px) !important;
  }
}

/* BYOB mobile — View Bundle toggle + compact dock above ATC */
@media (max-width: 999px) {
  /* rb-byob-banner-mobile-twin-v1: phone stage uses mobile banner (not desktop) */
  #gbbBundle .gbbDesktopImageBanner,
  #gbbBundle img.gbbDesktopImageBanner,
  #gbbBundle [class*="gbbDesktopImageBanner" i],
  #gbbBundle [class*="DesktopImageBanner" i] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  #gbbBundle .gbbMobileImageBanner,
  #gbbBundle img.gbbMobileImageBanner,
  #gbbBundle [class*="gbbMobileImageBanner" i],
  #gbbBundle [class*="MobileImageBanner" i] {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  #gbbBundle .gbbBundleBanners,
  #gbbBundle [class*="gbbBundleBanner" i] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }

  /* If app only paints one banner node, still force mobile sizing in stage */
  #gbbBundle .gbbBundleBanners img,
  #gbbBundle img[class*="banner" i],
  #gbbBundle img[class*="Banner"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
  }

  /* rb-byob-mobile-coll-stack-v1: one large card + vertical stack (collection feel; ÷1.2 beats #gbbBundle zoom) */
  #gbbBundle .gbbCategoryProductsContainer,
  #gbbBundle .gbbAddProductsContainerHTML,
  #gbbBundle .gbbProductsContainer {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #gbbBundle .gbbProductsItemsContainer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13.333px !important; /* 16px collection gap / 1.2 zoom */
    width: 100% !important;
    max-width: 100% !important;
  }

  #gbbBundle .gbbProductItem,
  #gbbBundle .gbbProductsItemsContainer > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: unset !important;
    flex-basis: auto !important;
  }

  /* rb-byob-mob-card-highlight-v1 — kill sticky :hover; only .is-carousel-active keeps ring */
  #gbbBundle .gbbProductItem:hover:not(.is-carousel-active),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:hover:not(.is-carousel-active),
  #gbbBundle .gbbProductItem.rb-product--kratom-effect:hover:not(.is-carousel-active) {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 0 transparent !important;
    background-image: none !important;
    animation: none !important;
  }

  /* rb-byob-mob-no-green-flash-v1 — block emerald fallback until effect classes paint */
  #gbbBundle .gbbProductItem:hover,
  #gbbBundle .gbbProductItem.is-carousel-active,
  #gbbBundle .gbbProductItem[data-rb-byob-coll="pending"]:hover,
  #gbbBundle .gbbProductItem[data-rb-byob-coll="pending"].is-carousel-active {
    border-color: transparent !important;
    box-shadow: 0 0 0 0 transparent !important;
  }

  #gbbBundle .gbbProductImageContainer {
    aspect-ratio: auto !important;
    height: clamp(233.33px, 60vw, 300px) !important; /* visual clamp(280px, 72vw, 360px) */
    max-height: none !important;
    padding: 8.333px !important;
  }

  #gbbBundle .gbbProductTextContainer,
  #gbbBundle .gbbProductItem .gbbProductDynamicContentContainer {
    padding: 6.667px 13.333px 0 !important;
  }

  #gbbBundle .gbbProductTitle,
  #gbbBundle .gbbProductTitleOnly {
    font-size: 1.3125rem !important; /* collection 1.575rem / 1.2 */
    line-height: 1.2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
  }

  #gbbBundle .gbbProductActionContainer {
    padding: 0 13.333px 8.333px !important;
  }

  #gbbBundle .gbbProductItemPrice,
  #gbbBundle .gbbProductPrice {
    transform: none !important;
    font-size: 1.066rem !important; /* collection mobile 1.2794rem / 1.2 */
  }

  /* rb-byob-mobile-coll-match-v1 — KR+ = collection mark (zoom 1/1.2 so mask + size match) */
  #gbbBundle .gbbProductImageContainer {
    position: relative !important;
    overflow: hidden !important;
  }
  #gbbBundle .rb-byob-card-mark,
  #gbbBundle .rb-byob-card-mark img,
  #gbbBundle .rb-byob-card-mark svg,
  #gbbBundle .gbbProductItem .rb-product__img-brand ~ .rb-product__img-brand {
    display: none !important;
  }
  #gbbBundle .rb-product__img-brand {
    position: absolute !important;
    top: 8.333px !important; /* 10px collection / 1.2 */
    left: 8.333px !important;
    z-index: 99 !important;
    line-height: 0 !important;
    pointer-events: none !important;
    zoom: 0.833333; /* cancel #gbbBundle 1.2 so mask paints like collection */
  }
  #gbbBundle .rb-product__brand-logo-mark {
    display: block !important;
    background-size: var(--rb-brand-gradient-size, 200% 100%) !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: left top !important;
    mask-position: left top !important;
  }
  #gbbBundle .rb-product__brand-logo-mark--kratom {
    height: 66.70125px !important;
    width: calc(66.70125px * 90 / 109) !important;
    background-image: var(--rb-kratom-gradient) !important;
    -webkit-mask-image: url("rb-kr-sub-logo.png") !important;
    mask-image: url("rb-kr-sub-logo.png") !important;
  }

  #gbbBundle .rb-product__meta-row {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 20px !important;
    margin: 2px 0 0 !important;
    padding: 0 13.333px !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }
  #gbbBundle .rb-product__stars .yotpo,
  #gbbBundle .rb-product__stars .yotpo-display-wrapper {
    margin-left: 0 !important;
    padding-left: 0 !important;
    visibility: visible !important;
  }
  #gbbBundle .rb-product__stars,
  #gbbBundle .rb-product__stars .yotpo.bottomLine,
  #gbbBundle .rb-product__stars .yotpo,
  #gbbBundle .rb-product__stars .yotpo .yotpo-bottomline,
  #gbbBundle .rb-product__stars .yotpo .standalone-bottomline,
  #gbbBundle .rb-product__stars .yotpo .yotpo-bottomline-pull-left,
  #gbbBundle .rb-product-stars-fallback,
  #gbbBundle .rb-product-stars-fallback__row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    text-align: left !important;
  }
  #gbbBundle .rb-product__stars {
    margin-left: -12px !important; /* rb-byob-mob-stars-l12-v1 — 2px left of prior -10 */
  }
  #gbbBundle .rb-product__stars .yotpo .text-m,
  #gbbBundle .rb-product-stars-fallback .text-m {
    display: inline !important;
    white-space: nowrap !important;
    text-align: left !important;
  }
  #gbbBundle .rb-product__effect-pill {
    position: relative !important;
    top: 0 !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    padding: 6.75px 18px !important; /* collection 8.1/21.6 / 1.2 */
    font-size: 0.92625rem !important; /* 1.1115 / 1.2 */
    min-height: 28.5px !important;
  }

  /* rb-byob-mob-stars-hover-v1 — effect-pill snake on hover / tap (same colors as desktop) */
  #gbbBundle .gbbProductItem.rb-product--canna-effect {
    --rb-snake-dark: #943030;
    --rb-snake-mid: #A93737;
    --rb-snake-light: #B54848;
    --rb-snake-bright: #D06060;
    --rb-outline-flow-duration: 3s;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='relieve']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='relieve']) {
    --rb-snake-dark: #943030;
    --rb-snake-mid: #A93737;
    --rb-snake-light: #B54848;
    --rb-snake-bright: #D06060;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='relax']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='relax']) {
    --rb-snake-dark: #C06630;
    --rb-snake-mid: #D36F3A;
    --rb-snake-light: #DC8450;
    --rb-snake-bright: #F0A070;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='sleep']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='sleep']) {
    --rb-snake-dark: #2D609F;
    --rb-snake-mid: #326CB2;
    --rb-snake-light: #457CB8;
    --rb-snake-bright: #6A9AD0;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='euphoric']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='euphoric']) {
    --rb-snake-dark: #7F4DB3;
    --rb-snake-mid: #8C56C5;
    --rb-snake-light: #9A68CC;
    --rb-snake-bright: #B888E0;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='wellness']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='wellness']) {
    --rb-snake-dark: #459650;
    --rb-snake-mid: #4DA457;
    --rb-snake-light: #58AE63;
    --rb-snake-bright: #78C882;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect='pet']),
  #gbbBundle .gbbProductItem.rb-product--canna-effect:has(.rb-product__effect-pill[data-effect*='pet']) {
    --rb-snake-dark: #8F5555;
    --rb-snake-mid: #9A5D5D;
    --rb-snake-light: #A66A6A;
    --rb-snake-bright: #C08080;
  }
  #gbbBundle .gbbProductItem.rb-product--kratom-effect {
    --rb-kratom-dark: #1B4A35;
    --rb-kratom-mid: #246844;
    --rb-kratom-light: #2F7A4E;
    --rb-kratom-bright: #3D9970;
    --rb-outline-flow-duration: 3s;
  }
  #gbbBundle .gbbProductItem.rb-product--canna-effect:hover,
  #gbbBundle .gbbProductItem.rb-product--canna-effect.is-carousel-active {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: 0 12px 28px rgba(var(--rb-canna-shadow-rgb), 0.18) !important;
    background-image:
      linear-gradient(#fff, #fff),
      conic-gradient(
        from var(--rb-outline-angle, 0deg),
        var(--rb-snake-bright) 0deg,
        var(--rb-snake-light) 10deg,
        var(--rb-snake-light) 28deg,
        var(--rb-snake-mid) 44deg,
        var(--rb-snake-dark) 56deg,
        var(--rb-snake-dark) 64deg,
        var(--rb-snake-mid) 76deg,
        var(--rb-snake-light) 92deg,
        var(--rb-snake-light) 108deg,
        var(--rb-snake-bright) 120deg,
        var(--rb-snake-light) 130deg,
        var(--rb-snake-light) 148deg,
        var(--rb-snake-mid) 164deg,
        var(--rb-snake-dark) 176deg,
        var(--rb-snake-dark) 184deg,
        var(--rb-snake-mid) 196deg,
        var(--rb-snake-light) 212deg,
        var(--rb-snake-light) 228deg,
        var(--rb-snake-bright) 240deg,
        var(--rb-snake-light) 250deg,
        var(--rb-snake-light) 268deg,
        var(--rb-snake-mid) 284deg,
        var(--rb-snake-dark) 296deg,
        var(--rb-snake-dark) 304deg,
        var(--rb-snake-mid) 316deg,
        var(--rb-snake-light) 332deg,
        var(--rb-snake-light) 348deg,
        var(--rb-snake-bright) 360deg
      ) !important;
    background-origin: padding-box, border-box !important;
    background-clip: padding-box, border-box !important;
    animation: rb-product-outline-flow var(--rb-outline-flow-duration, 3s) linear infinite !important;
  }
  #gbbBundle .gbbProductItem.rb-product--kratom-effect:hover,
  #gbbBundle .gbbProductItem.rb-product--kratom-effect.is-carousel-active {
    transform: none !important;
    border-color: transparent !important;
    box-shadow: 0 12px 28px rgba(17, 59, 106, 0.28) !important;
    background-image:
      linear-gradient(#fff, #fff),
      conic-gradient(
        from var(--rb-outline-angle, 0deg),
        var(--rb-kratom-bright) 0deg,
        var(--rb-kratom-light) 10deg,
        var(--rb-kratom-light) 28deg,
        var(--rb-kratom-mid) 44deg,
        var(--rb-kratom-dark) 56deg,
        var(--rb-kratom-dark) 64deg,
        var(--rb-kratom-mid) 76deg,
        var(--rb-kratom-light) 92deg,
        var(--rb-kratom-light) 108deg,
        var(--rb-kratom-bright) 120deg,
        var(--rb-kratom-light) 130deg,
        var(--rb-kratom-light) 148deg,
        var(--rb-kratom-mid) 164deg,
        var(--rb-kratom-dark) 176deg,
        var(--rb-kratom-dark) 184deg,
        var(--rb-kratom-mid) 196deg,
        var(--rb-kratom-light) 212deg,
        var(--rb-kratom-light) 228deg,
        var(--rb-kratom-bright) 240deg,
        var(--rb-kratom-light) 250deg,
        var(--rb-kratom-light) 268deg,
        var(--rb-kratom-mid) 284deg,
        var(--rb-kratom-dark) 296deg,
        var(--rb-kratom-dark) 304deg,
        var(--rb-kratom-mid) 316deg,
        var(--rb-kratom-light) 332deg,
        var(--rb-kratom-light) 348deg,
        var(--rb-kratom-bright) 360deg
      ) !important;
    background-origin: padding-box, border-box !important;
    background-clip: padding-box, border-box !important;
    animation: rb-product-outline-flow var(--rb-outline-flow-duration, 3s) linear infinite !important;
  }

  /* rb-byob-price-charcoal-grad-v1 — beat remask / late color on card $ */
  #gbbBundle .gbbProductItemPrice,
  #gbbBundle .gbbProductPrice,
  #gbbBundle .gbbProductItemPrice.rb-byob-emerald-text,
  #gbbBundle .gbbProductPrice.rb-byob-emerald-text {
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    background-image: var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) !important;
    background-size: var(--rb-charcoal-gradient-size, 200% 100%) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }

  #gbbBundle .gbbCartIconWithQuantityContainer {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* rb-byob-side-footer-mobile-dock-v1: phone stage gets Easy Bundle desktop side footer — force full-width products + bottom dock */
  #gbbBundle .gbbMultipleCategoryBodyContainer {
    display: block !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  #gbbBundle .gbbMultipleCategoryBody {
    width: 100% !important;
    max-width: 100% !important;
  }

  #gbbBundle .gbbAddProductsPageFooterHTML,
  #gbbBundle .gbbPageFooterHTML.gbbSideFooterHTML {
    /* rb-byob-dock-stage-width-zoom-v1: match phone-screen width (÷1.2 beats #gbbBundle zoom); left set by JS */
    position: fixed !important;
    top: auto !important; /* beat Easy Bundle side-footer top:75px stretch */
    left: 0 !important;
    right: auto !important;
    bottom: 0 !important;
    inset: auto auto 0 auto !important;
    width: calc(var(--rb-stage, 100vw) / 1.2) !important;
    max-width: calc(var(--rb-stage, 100vw) / 1.2) !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
    max-height: none !important;
    overflow: visible !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-content: end !important;
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.14) !important;
    /* rb-byob-dock-drawer-v1 — beat homepage transition:none on this footer */
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1) !important;
    will-change: transform;
    background: #fff !important;
    padding: 6px 16px 10px !important;
  }

  /* rb-byob-view-bundle-drawer-pad-v1 — inset bundle list rows when drawer open */
  #gbbBundle.rb-byob-bundle-open .gbbFooterBundleItemsContainer > * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Scroll down → drawer slides down; scroll up → slides up */
  #gbbBundle .gbbAddProductsPageFooterHTML.rb-byob-dock-hidden,
  #gbbBundle .gbbPageFooterHTML.gbbSideFooterHTML.rb-byob-dock-hidden {
    transform: translate3d(0, calc(100% + 16px), 0) !important;
    pointer-events: none;
  }

  @media (prefers-reduced-motion: reduce) {
    #gbbBundle .gbbAddProductsPageFooterHTML,
    #gbbBundle .gbbPageFooterHTML.gbbSideFooterHTML {
      transition: none;
    }
  }

  /* Discount nudge only when View Bundle is open */
  #gbbBundle .gbbDiscountFooterHTML {
    display: none !important;
  }

  #gbbBundle.rb-byob-bundle-open .gbbDiscountFooterHTML {
    display: block !important;
    padding: 0 0 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Collapsed by default; open via .rb-byob-bundle-open */
  #gbbBundle .gbbFooterBundleItemsContainer {
    display: none !important;
  }

  #gbbBundle.rb-byob-bundle-open .gbbFooterBundleItemsContainer {
    display: grid !important;
    max-height: min(28vh, 240px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch;
    padding: 4px 2px 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Title / Clear / Review — only when View Bundle open */
  #gbbBundle .gbbFooterBundleInfoContainer {
    display: none !important;
  }

  #gbbBundle.rb-byob-bundle-open .gbbFooterBundleInfoContainer {
    display: grid !important;
    padding: 0 0 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Match true-mobile ATC row (not tall vertical sidebar button) */
  #gbbBundle .gbbSideFooterHTML .gbbFooterActionContainer {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #gbbBundle .gbbSideFooterHTML .gbbFooterButtonsWrapper {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  #gbbBundle .gbbSideFooterHTML .gbbFooterTotalContainer {
    display: none !important; /* price mirrored into ATC via JS */
  }

  #gbbBundle .gbbSideFooterHTML .gbbFooterTotalLabel {
    display: none !important;
  }

  #gbbBundle .gbbSideFooterHTML .gbbFooterNextButton {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 46px !important;
    height: auto !important;
    max-height: none !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }

  #gbbBundle .gbbProductsFooterHTMLForMobile {
    grid-template-columns: 1fr !important;
  }

  #gbbBundle .rb-byob-view-bundle {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 8px 0 6px;
    padding: 10px 16px;
    border-radius: 999px;
    border: 2px solid transparent;
    background:
      linear-gradient(#fff, #fff) padding-box,
      linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%) border-box;
    background-size: auto, 200% 100%;
    color: #246844;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  #gbbBundle .rb-byob-view-bundle[aria-expanded="true"] {
    background:
      linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%) padding-box,
      linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%) border-box;
    color: #fff;
  }

  /* Space so product cards clear the fixed dock — pad ONE wrapper only (no nested stack) */
  #gbbBundle.gbbPageBody,
  #gbbBundle .gbbHTMLWrapper,
  #gbbBundle .gbbBodyWrapper {
    padding-bottom: 0 !important;
  }

  #gbbBundle .gbbAddGiftBoxPageWrapper {
    padding-bottom: var(--rb-byob-dock-h, 220px) !important;
    box-sizing: border-box !important;
  }

  /* Add Bundle To Cart • $amount +15%; dock padding handles horizontal inset */
  #gbbBundle .gbbFooterActionContainer,
  #gbbBundle .gbbFooterButtonsWrapper,
  #gbbBundle .gbbFooterNextButton {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  #gbbBundle .gbbFooterNextButton,
  #gbbBundle .gbbNextButtonContent,
  #gbbBundle .gbbFooterPriceSeperator,
  #gbbBundle .gbbFooterTotalContainer,
  #gbbBundle .gbbFooterTotalValueContainer,
  #gbbBundle .gbbFooterDiscountedTotalValue {
    font-size: 16.1px !important; /* 14px +15% */
  }

  /* Account page — compact type (no global zoom) */
  body.template-customers-account .rb-profile {
    zoom: 1;
  }

  /* rb-pdp-card-fullpage-v1 — full-page under pinned nav; drawers with header */
  html.rb-pdp-card-open .rb-pdp-card {
    overflow: hidden !important;
  }
  /* rb-pdp-digioh-stack-mobile-v3 — Digioh at top; main nav stuck cleanly below.
     Only pins once JS has measured the banner — never clamp its height, or the
     measurement reads a collapsed banner and the nav slides back underneath. */
  html.rb-pdp-card-open.rb-pdp-digioh-stack .rb-pdp-digioh-banner,
  html.rb-pdp-digioh-stack body:not(.template-index) .rb-pdp-digioh-banner {
    display: block !important;
    visibility: visible !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 465 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
  /* rb-pdp-nav-keep-v3 — pin nav; calm drawer (no panel resize = no scroll jank) */
  html.rb-pdp-card-open .rb-trust-strip,
  html.rb-pdp-card-open .rb-header {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    visibility: visible !important;
    z-index: 460 !important;
    will-change: auto;
  }
  /* rb-pdp-chrome-veil-v1 — opaque white above nav (blocks collection bleed-through) */
  html.rb-pdp-card-open .rb-pdp-card::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-trust-strip-height, 36px) + var(--rb-header-bar-height, 98px));
    background: #fff;
    z-index: 455;
    pointer-events: none;
  }
  html.rb-pdp-card-open .rb-header {
    background: #fff !important;
  }
  /* Collection / non-home: no trust strip in DOM — drop phantom 36px gap.
     Must not apply while drawered, or it cancels the nav's slide-away.
     rb-nav-menu-fixed-viewport-v1 — `none`, never an identity translate: any transform here
     makes .rb-header the containing block for the nav dropdown's position:fixed, so the top
     JS measures in viewport coords lands a Digioh-height lower. */
  html.rb-pdp-card-open:not(:has(.rb-trust-strip)) .rb-header {
    transform: none !important;
  }
  html.rb-pdp-card-open:not(:has(.rb-trust-strip)) .rb-pdp-card::after {
    height: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-header-bar-height, 98px));
  }
  html.rb-pdp-card-open:not(:has(.rb-trust-strip)) .rb-pdp-card__scroll {
    padding-top: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-header-bar-height, 98px)) !important;
  }
  /* rb-chrome-pin-v1 — no drawer transition on pinned chrome */
  html.rb-pdp-card-open .rb-pdp-card::after,
  html.rb-pdp-card-open .rb-pdp-digioh-banner,
  html.rb-pdp-card-open .rb-trust-strip,
  html.rb-pdp-card-open .rb-header {
    transition: none !important;
  }
  html.rb-pdp-card-open .rb-trust-strip {
    top: var(--rb-digioh-tophat-height, 0px) !important;
    opacity: 1 !important;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) !important;
  }
  html.rb-pdp-card-open .rb-header {
    top: var(--rb-digioh-tophat-height, 0px) !important;
    opacity: 1 !important;
    pointer-events: auto;
    transform: translate3d(0, var(--rb-trust-strip-height, 36px), 0) !important;
  }
  /* rb-chrome-pin-v1 — leftover hide class must not drawer chrome */
  html.rb-pdp-card-open.rb-pdp-digioh-stack.rb-pdp-nav-hidden .rb-pdp-digioh-banner {
    transform: none !important;
    pointer-events: auto !important;
  }
  html.rb-pdp-card-open.rb-pdp-nav-hidden .rb-trust-strip {
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
  }
  html.rb-pdp-card-open.rb-pdp-nav-hidden .rb-header {
    transform: translate3d(0, var(--rb-trust-strip-height, 0px), 0) !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* rb-chrome-drawer-v3 — hand the native PDP back to the drawer. Every pin above is keyed
     on rb-pdp-card-open, which a product page loaded directly also carries, so they held the
     nav still on PDPs; the tightest of them lands on exactly the same specificity as
     .rb-chrome-drawer.rb-scrolled and simply comes later in the file, so it won.

     Naming body.template-product outranks all of them instead of relying on where this
     block sits, which matters because the same pins are duplicated in the critical CSS and
     the two sheets' relative order is not something this file controls. The quickshop card
     keeps the pins — it floats over a listing that is still scrolled behind it, so drawering
     its chrome would follow the wrong scroller. */
  html.rb-pdp-card-open body.template-product.rb-chrome-drawer .rb-header {
    transform: translate3d(0, var(--rb-trust-strip-height, 0px), 0) !important;
    transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1) !important;
    will-change: transform;
  }
  html.rb-pdp-card-open body.template-product.rb-chrome-drawer.rb-scrolled .rb-header {
    transform: translate3d(0, calc(-100% - var(--rb-digioh-tophat-height, 0px)), 0) !important;
    pointer-events: none !important;
  }
  /* Panel always full-bleed; spacer keeps content clear of nav — never retops on rb-scrolled */
  .rb-pdp-card__panel,
  html.rb-pdp-card-open .rb-pdp-card__panel {
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__scroll {
    padding-top: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-trust-strip-height, 36px) + var(--rb-header-bar-height, 98px)) !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    overflow-anchor: none !important;
  }
  /* rb-pdp-mast-in-scroll-v1 — first thing in the scroller; not sticky; leaves when you scroll */
  html.rb-pdp-card-open .rb-pdp-card__panel {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .rb-pdp-card__mast,
  html.rb-pdp-card-open .rb-pdp-card__mast,
  html.rb-pdp-card-open .rb-pdp-card__brand {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    inset: auto !important;
  }
  .rb-pdp-card__mast,
  html.rb-pdp-card-open .rb-pdp-card__mast {
    flex: none !important;
    min-height: 74px;
    /* rb-pdp-close-mob-down-v1 — shift mast/back arrow clear of clip edge */
    padding: 18px 58px 8px;
    background: #f9f9f9 !important;
    z-index: 1 !important;
  }
  /* rb-pdp-mast-compact-v1 — Canna/Kratom: no logo row, pull content up */
  .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]),
  .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]),
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]),
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) {
    min-height: 0 !important;
    height: auto !important;
    /* rb-pdp-close-mob-down-v1 — more top pad so back arrow isn't clipped */
    padding: 18px 10px 6px !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]) .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) .rb-pdp-card__close {
    position: relative !important;
    top: auto !important;
    left: auto !important;
  }
  .rb-pdp-card__brand {
    max-width: min(96%, 431px);
    transform: translateY(-5px); /* rb-pdp-brand-logo-up5-v1 */
  }
  .rb-pdp-card__brand-logo {
    max-width: 100% !important;
    filter: none !important;
    -webkit-mask-position: center center !important;
    mask-position: center center !important;
  }
  .rb-pdp-card__brand-logo--rb {
    height: 50.96px !important;
    width: calc(50.96px * (6018 / 1647)) !important;
  }
  .rb-pdp-card__brand-logo--canna {
    height: 53.508px !important; /* rb-pdp-brand-logo-canna-105-v1 — prior 50.96px +5% */
    width: calc(53.508px * (400 / 109)) !important;
    background: none !important;
    background-color: transparent !important;
    background-image: var(--rb-canna-gradient, linear-gradient(90deg, #246844 0%, #2F7A4E 25%, #3D9970 50%, #2F7A4E 75%, #246844 100%)) !important;
    background-size: var(--rb-brand-gradient-size, 200% 100%) !important;
    animation: rb-logo-gradient-flow var(--rb-gradient-flow-duration, 7s) linear infinite !important;
  }
  .rb-pdp-card__brand-logo--kratom {
    height: 31.88px !important; /* rb-kratom-logo-width-110-v1 — quickshop Canna width +10% */
    width: calc(31.88px * (2609 / 385)) !important;
  }
  .rb-pdp-card__close {
    top: 18px !important; /* rb-pdp-close-mob-down-v1 */
    left: 10px !important;
    margin: 0 !important;
    width: 44.1px !important; /* rb-pdp-close-mob-105-v1 — prior 42px circle +5% */
    height: 44.1px !important;
    font-size: 1.86875rem !important; /* arrow unchanged */
    border-color: transparent !important;
  }
  .rb-pdp-card__close:hover,
  .rb-pdp-card__close:focus,
  .rb-pdp-card__close:focus-visible,
  .rb-pdp-card__close:active {
    border-color: transparent !important;
    background: linear-gradient(#fff, #fff) padding-box, var(--rb-charcoal-gradient, linear-gradient(90deg, #303030 0%, #5a5a5a 50%, #303030 100%)) border-box !important;
    background-size: auto, var(--rb-charcoal-gradient-size, 200% 100%) !important;
    color: #303030 !important;
    outline: none !important;
  }
  /* rb-pdp-arrow-below-nav-v1 — back arrow parks under pinned Digioh + nav.
     Do not use --rb-header-bar-height here — :root is 56px and the real bar is ~98px. */
  html.rb-pdp-card-open .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]) .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]) .rb-pdp-card__close,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) .rb-pdp-card__close {
    position: fixed !important;
    top: calc(var(--rb-digioh-tophat-height, 0px) + 98px + 18px) !important;
    left: 10px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 462 !important;
    pointer-events: auto !important;
    /* rb-pdp-arrow-scroll-v1 — was `none` to stop `top` animating while JS moved the arrow
       every scroll frame. JS no longer does that, and the fade needs opacity to animate.
       Listing opacity alone still leaves top/left instant, so the two resting spots swap
       with no slide. Beats the unscoped copy in rb-homepage.css, which loads earlier. */
    transition: opacity 0.26s ease !important;
  }
  /* rb-pdp-arrow-tuck-v2 — JS sets top per scroll; parked class is the floor */
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]) .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]) .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-tuck .rb-pdp-card .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) .rb-pdp-card__close {
    top: 10px !important;
    left: 10px !important;
  }
  /* rb-pdp-arrow-hit-v1 — the mast carries z-index:1, which makes it a stacking context and
     traps the arrow's 462 inside it. The featured product links sit at z-index:5 in the card
     above it, so the arrow still painted (those links are transparent) but taps landed on the
     product card instead of going back. Dropping the mast to `auto` lets the arrow's own
     z-index count against page content again. */
  html.rb-pdp-card-open .rb-pdp-card__mast {
    z-index: auto !important;
  }
  /* rb-pdp-arrow-flow-v1 — before it reaches the top the arrow stays in normal flow inside
     the mast, which scrolls in step with the header, so it holds 18px below the header the
     whole way up without JS touching it. `top` here is measured from the mast, whose top
     edge meets the header's bottom edge; FLOW_TOP in rb-pdp-card.js must match. Once this
     spot reaches the tuck position the arrow pins there instead, at the same coordinates. */
  html.rb-pdp-card-open.rb-pdp-arrow-flow .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-flow .rb-pdp-card .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-flow
    .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"])
    .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-flow
    .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"])
    .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-flow
    .rb-pdp-card
    .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"])
    .rb-pdp-card__close,
  html.rb-pdp-card-open.rb-pdp-arrow-flow
    .rb-pdp-card
    .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"])
    .rb-pdp-card__close {
    position: absolute !important;
    top: 18px !important;
    left: 10px !important;
  }
  /* Compact Canna/Kratom mast loses the arrow from flow — hold its height so content doesn't jump */
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="canna"]),
  html.rb-pdp-card-open .rb-pdp-card__mast:has(.rb-pdp-card__brand[data-rb-pdp-brand="kratom"]) {
    min-height: 68.1px !important;
  }
  /* rb-pdp-native-gallery-gap-v1 — native PDP includes the product section's 30px top pad
     (AJAX quickshop does not). That empty band sits above the gallery on email/reload. */
  html.rb-pdp-card-open .rb-pdp-card .t4s-section-main-product {
    padding-top: 0 !important;
  }
  html.rb-pdp-card-open a.backlink.rb-pdp-back,
  html.rb-pdp-card-open a.rb-pdp-back.backlink,
  body.template-product a.backlink.rb-pdp-back,
  body.template-product a.rb-pdp-back.backlink {
    display: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .t4s-product-form__submit,
  html.rb-pdp-card-open .rb-pdp-card .t4s-product-form__submit.rb-atc--added {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .t4s-product-form__submit .t4s-btn-atc_text {
    justify-content: center !important;
    text-align: center !important;
    width: 100%;
  }
  html.rb-pdp-card-open .rb-pdp-card .rc-button-group__options {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px;
  }
  html.rb-pdp-card-open .rb-pdp-card .rc-button-group__options .rc-radio,
  html.rb-pdp-card-open .rb-pdp-card label.rc-radio.subscription-radio {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
  }

  /* rb-pdp-settle-v1 — hide body until settle; do not force product visible while loading */
  html.rb-pdp-card-open .rb-pdp-card.is-loading .rb-pdp-card__scroll,
  html.rb-pdp-card-open body .rb-pdp-card.is-loading .rb-pdp-card__scroll,
  .rb-pdp-card.is-loading .rb-pdp-card__scroll {
    opacity: 1 !important;
  }
  html.rb-pdp-card-open .rb-pdp-card.is-loading .rb-pdp-card__body,
  html.rb-pdp-card-open body .rb-pdp-card.is-loading .rb-pdp-card__body,
  .rb-pdp-card.is-loading .rb-pdp-card__body {
    opacity: 0 !important;
    pointer-events: none !important;
    min-height: min(62vh, 640px);
  }
  html.rb-pdp-card-open .rb-pdp-card .t4s-row.t4s-row__product:not([data-rb-pdp-ready="1"]),
  html.rb-pdp-card-open body .rb-pdp-card .t4s-row.t4s-row__product:not([data-rb-pdp-ready="1"]) {
    opacity: 0 !important;
    pointer-events: none !important;
    animation: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card:has(.rb-pdp-purchase) .recharge-subscription-widget,
  html.rb-pdp-card-open .rb-pdp-card:has(.rb-pdp-purchase) .rc-widget,
  html.rb-pdp-card-open .rb-pdp-card:has(.rb-pdp-purchase) [id^="RechargeWidget"],
  body.template-product:has(.rb-pdp-purchase) .recharge-subscription-widget,
  body.template-product:has(.rb-pdp-purchase) .rc-widget,
  body.template-product:has(.rb-pdp-purchase) [id^="RechargeWidget"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase,
  body.template-product .rb-pdp-purchase {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 8px 0 14px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__options,
  body.template-product .rb-pdp-purchase__options {
    display: grid !important;
    grid-template-columns: 1fr !important; /* rb-pdp-purchase-stack-v1 */
    gap: 8px !important;
    width: 100% !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__option,
  body.template-product .rb-pdp-purchase__option {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    min-width: 0 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__input,
  body.template-product .rb-pdp-purchase__input {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    opacity: 0.01 !important;
    pointer-events: none !important; /* rb-pdp-purchase-tap-v2 — taps hit the label, not a ghost radio */
    z-index: 0 !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__copy,
  body.template-product .rb-pdp-purchase__copy {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-height: 76px !important;
    padding: 10px 8px !important;
    border: 1px solid var(--primary-sw-color, #333) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--primary-sw-color, #333) !important;
    text-align: center !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1 !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__option.is-active .rb-pdp-purchase__copy,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__option:has(.rb-pdp-purchase__input:checked) .rb-pdp-purchase__copy,
  body.template-product .rb-pdp-purchase__option.is-active .rb-pdp-purchase__copy,
  body.template-product .rb-pdp-purchase__option:has(.rb-pdp-purchase__input:checked) .rb-pdp-purchase__copy {
    background: var(--primary-sw-color, #333) !important; /* rb-pdp-purchase-grey-v1 — match variant pills */
    border-color: var(--primary-sw-color, #333) !important;
    color: #fff !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase .rb-pdp-purchase__label,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase .rb-pdp-purchase__price,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase .rb-pdp-purchase__label *,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase .rb-pdp-purchase__price *,
  body.template-product .rb-pdp-purchase .rb-pdp-purchase__label,
  body.template-product .rb-pdp-purchase .rb-pdp-purchase__price,
  body.template-product .rb-pdp-purchase .rb-pdp-purchase__label *,
  body.template-product .rb-pdp-purchase .rb-pdp-purchase__price * {
    display: block !important;
    visibility: visible !important;
    font-size: 22px !important; /* rb-pdp-purchase-stack-v1 — full-width stack */
    line-height: 1.25 !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__label,
  body.template-product .rb-pdp-purchase__label {
    font-weight: 700 !important;
  }

  /* rb-pdp-purchase-freq-v1 — Frequency dropdown after Subscribe */
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__freq,
  body.template-product .rb-pdp-purchase__freq {
    display: none !important;
    margin: 20px 0 12px !important; /* rb-pdp-purchase-freq-gap-v1 */
    width: 100% !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase.is-subscribe .rb-pdp-purchase__freq,
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase:has(.rb-pdp-purchase__input[value="subscribe"]:checked) .rb-pdp-purchase__freq,
  body.template-product .rb-pdp-purchase.is-subscribe .rb-pdp-purchase__freq,
  body.template-product .rb-pdp-purchase:has(.rb-pdp-purchase__input[value="subscribe"]:checked) .rb-pdp-purchase__freq {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    pointer-events: auto !important;
    margin-top: 20px !important; /* rb-pdp-purchase-freq-gap-v1 */
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__freq-label,
  body.template-product .rb-pdp-purchase__freq-label {
    display: block !important;
    font-size: 21.6px !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin: 0.65em 0 0.5em !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    line-height: inherit !important;
    color: var(--heading-color) !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .rb-pdp-purchase__freq-select,
  body.template-product .rb-pdp-purchase__freq-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    margin: 0 !important;
    padding: 12px 54px 12px 16px !important;
    min-height: 48px !important;
    border: 1px solid var(--primary-sw-color, #333) !important;
    border-radius: 12px !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'%3E%3Cpath fill='none' stroke='%23333' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round' d='M3 3.5 L12 13 L21 3.5'/%3E%3C/svg%3E") !important; /* rb-pdp-purchase-freq-arrow-v2 */
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 24px 16px !important; /* rb-pdp-purchase-freq-arrow-v3 */
    color: var(--primary-sw-color, #333) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  /* rb-pdp-scroll-y-only-v1 — quickshop window: vertical scroll only */
  html.rb-pdp-card-open,
  html.rb-pdp-card-open body {
    overflow-x: hidden !important;
    overscroll-behavior-x: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card,
  html.rb-pdp-card-open .rb-pdp-card__panel {
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
    max-width: 100% !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__body,
  html.rb-pdp-card-open .rb-pdp-card__scroll #MainContent {
    overflow-x: hidden !important;
    overflow-y: visible !important;
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
    max-width: 100% !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__scroll {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: calc(var(--rb-digioh-tophat-height, 0px) + var(--rb-trust-strip-height, 36px) + var(--rb-header-bar-height, 98px)) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
    overscroll-behavior-y: contain !important;
    overflow-anchor: none !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
  }

  /* rb-pdp-ymal-swipe-v1 — YMAL carousel keeps native horizontal swipe inside quickshop */
  html.rb-pdp-card-open .rb-pdp-card .rb-featured__scroller {
    overflow: visible !important;
    touch-action: auto !important;
  }
  html.rb-pdp-card-open .rb-pdp-card [data-rb-featured-track],
  html.rb-pdp-card-open .rb-pdp-card .rb-ymal .rb-products.rb-product-cards {
    touch-action: pan-x pan-y !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }
  html.rb-pdp-card-open .rb-pdp-card [data-rb-featured-track] > .rb-product {
    scroll-snap-stop: normal !important;
  }
  html.rb-pdp-card-open .rb-pdp-card .flickityt4s,
  html.rb-pdp-card-open .rb-pdp-card .flickityt4s-viewport,
  html.rb-pdp-card-open .rb-pdp-card .flickityt4s-slider {
    touch-action: pan-y !important;
    overscroll-behavior-x: none !important;
  }
}

/* rb-chrome-page-top-v1 — every product card (PDP and quickshop overlay) keeps its chrome
   in document flow rather than pinned to the viewport; see the matching block in
   rb-homepage.css. */
@media (max-width: 999px) and (hover: none), (max-width: 999px) and (pointer: coarse) {
  html.rb-pdp-card-open body {
    --rb-header-height: 0px;
  }
  html.rb-pdp-card-open body .rb-header {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    transform: none !important;
    z-index: 200 !important;
  }
  body.template-collection [id^="banner-spacer-"],
  body.template-product [id^="banner-spacer-"],
  html.rb-pdp-card-open [id^="banner-spacer-"] {
    display: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html.rb-pdp-card-open body .rb-trust-strip {
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }
  html.rb-pdp-card-open body .rb-header-shell {
    min-height: 0 !important;
    height: auto !important;
  }
  html.rb-pdp-card-open body .rb-digioh-tophat,
  html.rb-pdp-card-open body .rb-pdp-digioh-banner,
  html.rb-pdp-card-open.rb-pdp-digioh-stack .rb-pdp-digioh-banner,
  /* rb-digioh-mobile-stable-v1 — in-shell banner stays above nav, not over it */
  html.rb-pdp-digioh-stack body:not(.template-index) .rb-header-shell .rb-pdp-digioh-banner,
  html.rb-pdp-digioh-stack body:not(.template-index) .rb-header-shell .preloaded_lightbox,
  html.rb-pdp-card-open .rb-header-shell .preloaded_lightbox {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    /* rb-digioh-mobile-definite-height-v1 — the vendor iframe is height:100%. A percentage
       height needs a definite parent height: WebKit leaves it unresolved against
       height:auto + min-height and the frame collapses, leaving an empty strip above the
       nav. Chrome resolves it, which is why this only shows on iOS. Give both a definite
       height, and paint the box navy so any residual space reads as banner, not as a gap. */
    height: var(--rb-digioh-tophat-height, 110px) !important;
    min-height: var(--rb-digioh-tophat-height, 110px) !important;
    max-height: var(--rb-digioh-tophat-height, 110px) !important;
    overflow: hidden !important;
    background: #071f45 !important;
  }
  html.rb-pdp-card-open .rb-header-shell .preloaded_lightbox iframe {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: block !important;
    width: 100% !important;
    height: var(--rb-digioh-tophat-height, 110px) !important;
    min-height: var(--rb-digioh-tophat-height, 110px) !important;
    max-height: var(--rb-digioh-tophat-height, 110px) !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
  }

  /* rb-chrome-drawer-v2 — the in-flow banner above is right only where the header is in
     flow, which is now just the quickshop overlay: banner and nav scroll off together.
     Everywhere else the header is fixed, so an in-flow banner scrolls out from under it and
     leaves the header stranded over a strip of bare page — the gap originally reported on
     /pages/*-catalogs. Collection, product and the catalog pages take this branch now that
     they drawer. Pin the banner to the chrome the header belongs to and move the two
     together. */
  html.rb-pdp-digioh-stack body.rb-chrome-drawer .rb-header-shell .rb-pdp-digioh-banner,
  html.rb-pdp-digioh-stack body.rb-chrome-drawer .rb-header-shell .preloaded_lightbox {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    z-index: 461 !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform 0.55s cubic-bezier(0.32, 0.72, 0, 1) !important;
  }
  html.rb-pdp-digioh-stack body.rb-chrome-drawer.rb-scrolled .rb-header-shell .rb-pdp-digioh-banner,
  html.rb-pdp-digioh-stack body.rb-chrome-drawer.rb-scrolled .rb-header-shell .preloaded_lightbox {
    transform: translate3d(0, -100%, 0) !important;
    pointer-events: none !important;
  }

  /* rb-digioh-mobile-reserve-v3 — match desktop: show nothing at all until the banner is
     painted, then bring in the banner and the slot it occupies in one step. Holding an
     empty slot (navy placeholder or otherwise) is what made mobile read as a two-stage
     load — an empty bar, then a swap. The vendor box still parks out of flow and
     invisible while it loads, at a definite height so its 100%-height iframe can resolve
     and report as painted. .rb-digioh-inflow is set by JS the moment that happens. */
  html.rb-digioh-reserve.rb-digioh-inflow:not(.rb-digioh-noreserve) {
    --rb-digioh-tophat-height: 110px;
  }
  /* rb-digioh-failopen-v1 — .rb-digioh-js as well as .rb-digioh-inflow, both set by
     rb-digioh-tophat.js. Without the first, a script that never runs leaves this staging
     rule latched on for good, and since an unclassified popup has no .rb-digioh-modal it
     would be staged to opacity 0 / z-index -1 with its dimmer still over the page. */
  html.rb-digioh-js.rb-digioh-reserve:not(.rb-digioh-inflow)
    body:not(.template-index)
    .preloaded_lightbox:not(.rb-digioh-modal) {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
  }
  html.rb-digioh-js.rb-digioh-reserve:not(.rb-digioh-inflow)
    body:not(.template-index)
    .preloaded_lightbox:not(.rb-digioh-modal) iframe {
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
  }

  /* rb-digioh-pdp-modal-v2 — the Digioh popup runs on mobile product pages again, on the
     vendor's own geometry. v1 hid it with `display: none`, keyed to the boxes "Digioh
     itself labels Modal/Sidebar" — but Digioh labels every box "Modal Overlay Box", the
     campaign bar included, so that rule hid the promo bar on every mobile PDP too.

     There is deliberately no geometry CSS here. Digioh already fits its own popup to the
     window: at 360x560 it ships the box at `transform: scale(0.947); top: 20px`, landing
     527px into a 560px viewport. The clipping v1 was working around came from the theme
     measuring the popup's dimmer as the tophat, which the dimmer-and-height classifier in
     rb-digioh-tophat.js now rules out at the source. Overriding the vendor's `transform`
     or `top` from here throws away that scaling and breaks any future popup shaped
     differently — a bottom sheet or a full-screen takeover. Don't. */

  /* Digioh's scroll lock is inline `position: fixed; top: 0; left: 0; width: 100%` on <body>,
     not an overflow rule — it collapses the document to viewport height, and a product page
     lays its chrome out in document flow, so the collapse moves the nav and the back arrow
     for as long as the popup is up. The popup and its dimmer are both fixed to the viewport
     and keep working without the lock. Keyed to Digioh's own lock class so the theme's
     drawer and quickshop locks are untouched. Inline styles here carry no !important, so
     these win. */
  html.box_active_disable_scrolling.rb-pdp-card-open body,
  html.box_active_disable_scrolling body.template-product {
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
  }
  html.box_active_disable_scrolling.rb-pdp-card-open,
  html.box_active_disable_scrolling:has(body.template-product) {
    overflow: visible !important;
    height: auto !important;
  }

  html.rb-pdp-card-open,
  html.rb-pdp-card-open body {
    overflow: visible !important;
    height: auto !important;
  }
  html.rb-pdp-card-open #MainContent {
    display: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card #MainContent {
    display: block !important;
  }
  html.rb-pdp-card-open .rb-pdp-card,
  html.rb-pdp-card-open .rb-pdp-card.is-open {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__panel,
  html.rb-pdp-card-open .rb-pdp-card.is-open .rb-pdp-card__panel {
    position: relative !important;
    top: auto !important;
    inset: auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  html.rb-pdp-card-open .rb-pdp-card__scroll,
  html.rb-pdp-card-open .rb-pdp-card.is-open .rb-pdp-card__scroll {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding-top: 0 !important;
    flex: none !important;
  }
  html.rb-pdp-card-open .rb-pdp-card::after {
    display: none !important;
  }
}

/* ===== rb-home-rhythm-v2 (mobile) — the only place homepage band spacing is set =====
   Phone spacing had drifted into seven different gaps reading down the page
   (56 / 72 / 64 / 56 / 28 / 52 / 56px), built from a mix of base section
   padding, homepage overrides and !important resets on the .shopify-section
   wrappers. One token now drives all of them, applied in the same places the
   desktop sheet uses so the two breakpoints stay comparable. */
@media (max-width: 999px) {
  body.template-index {
    --rb-home-band-space: clamp(20px, 5.5vw, 28px);
  }

  body.template-index .rb-hero--slider {
    padding-bottom: var(--rb-home-band-space);
  }

  body.template-index .rb-reviews,
  body.template-index .rb-featured,
  body.template-index .rb-perks,
  body.template-index .shopify-section:has(.rb-home-film),
  body.template-index .shopify-section:has(.rb-rebrand),
  body.template-index .shopify-section:has(.rb-eco) {
    padding-top: var(--rb-home-band-space) !important;
    padding-bottom: var(--rb-home-band-space) !important;
  }

  /* The eco banner's glow is meant to spill onto the footer logo. */
  body.template-index .shopify-section:has(.rb-eco) {
    padding-bottom: 0 !important;
  }

  /* Product lab results / COA table — mobile (rb-product-coa-v1)
     The batch column holds a fixed-width ID that must not wrap mid-string, so the table is
     allowed to keep its two columns and the type steps down instead. */
  body.template-product .rb-coa {
    padding: 28px 0 4px;
  }
  body.template-product .rb-coa__inner {
    padding: 0 16px;
  }
  body.template-product .rb-coa__heading {
    font-size: 21px !important;
  }
  body.template-product .rb-coa__summary {
    padding: 11px 13px;
    font-size: 13.5px;
    align-items: flex-start;
  }
  body.template-product .rb-coa__count {
    font-size: 12px;
  }
  body.template-product .rb-coa__table {
    font-size: 13px;
  }
  body.template-product .rb-coa__table th,
  body.template-product .rb-coa__table td {
    padding: 9px 13px;
  }
  body.template-product .rb-coa__batch {
    font-size: 12.5px;
  }

  /* Product "More Information" — mobile */
  body.template-product .rb-seo-more-info__inner { padding: 0 16px; }
  body.template-product .rb-seo-more-info__summary { padding: 12px 13px; }
  body.template-product .rb-seo-more-info__heading { font-size: 16px !important; }
  body.template-product .rb-seo-more-info__body {
    padding: 2px 13px 16px;
    font-size: 13.5px;
    max-width: none;
  }
  body.template-product .rb-seo-more-info__body p,
  body.template-product .rb-seo-more-info__body li { font-size: 13.5px; }

  /* Answer-first + collection body — mobile */
  body.template-product .rb-answer-first { font-size: 14px; max-width: none; margin: 0 0 14px; }
  body.template-collection .rb-collection-body { padding: 28px 0 12px; }
  body.template-collection .rb-collection-body__inner { padding: 0 16px; font-size: 14px; }
  body.template-collection .rb-collection-body__inner h2 { font-size: 21px; }
  body.template-collection .rb-collection-body__inner h3 { font-size: 16px; }
}

/* PDP specification table — rb-spec-table-v1, inside the "More About" disclosure */
@media (max-width: 999px) {
  body.template-product .rb-seo-more-info__body .rb-specs {
    margin-top: 18px;
  }

  body.template-product .rb-seo-more-info__body .rb-specs__heading {
    font-size: 15px !important;
  }

  body.template-product .rb-seo-more-info__body .rb-specs__table {
    font-size: 13.5px;
  }

  /* Two columns get unreadable at 390px once Ingredients lands in one of them. */
  body.template-product .rb-seo-more-info__body .rb-specs__table th[scope="row"],
  body.template-product .rb-seo-more-info__body .rb-specs__table td {
    display: block;
    width: auto;
    padding: 10px 14px;
    font-size: 13.5px;
  }

  body.template-product .rb-seo-more-info__body .rb-specs__table th[scope="row"] {
    padding-bottom: 2px;
    background: transparent;
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #6b7280;
  }

  body.template-product .rb-seo-more-info__body .rb-specs__table tr + tr {
    border-top: 1px solid #eef0f3;
  }

  /* The comparison table keeps its three columns on mobile. Unlike the spec table it is read
     across rather than down — a stacked version would put each product's strength and price on
     separate lines and destroy the only thing the table is for. Type shrinks instead. */
  body.template-product .rb-seo-more-info__body .rb-compare__table,
  body.template-product .rb-seo-more-info__body .rb-compare__table th[scope="row"],
  body.template-product .rb-seo-more-info__body .rb-compare__table td {
    font-size: 12.5px;
  }

  body.template-product .rb-seo-more-info__body .rb-compare__table thead th,
  body.template-product .rb-seo-more-info__body .rb-compare__table th[scope="row"],
  body.template-product .rb-seo-more-info__body .rb-compare__table td {
    padding: 9px 10px;
  }
}

/* Catalog cards — rb-catalog-table-v2. One column; the photo sits beside the name and the
   pricing table spans the card. */
@media (max-width: 999px) {
  body.template-page .rb-catalog {
    padding: 20px 0 56px;
  }
  body.template-page .rb-catalog__inner {
    padding: 0 16px;
  }
  body.template-page .rb-catalog__head {
    margin-bottom: 26px;
  }
  body.template-page .rb-catalog__heading {
    font-size: 30px !important;
  }
  body.template-page .rb-catalog__intro {
    font-size: 15px;
  }
  body.template-page .rb-catalog__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
  body.template-page .rb-catalog__card {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
  }
  body.template-page .rb-catalog__body {
    display: contents;
  }
  body.template-page .rb-catalog__name {
    align-self: center;
    margin: 0;
    font-size: 20px;
  }
  /* the theme wraps every table in .t4s-table-res-df, which becomes the grid item */
  body.template-page .rb-catalog__label,
  body.template-page .rb-catalog__chips,
  body.template-page .rb-catalog__prices,
  body.template-page .rb-catalog__body > .t4s-table-res-df,
  body.template-page .rb-catalog__more {
    grid-column: 1 / -1;
  }
  body.template-page .rb-catalog__label {
    margin: 2px 0 -8px;
  }
  body.template-page .rb-catalog__chips {
    margin: 0;
  }
  body.template-page .rb-catalog__prices {
    margin: 0;
    font-size: 13px;
  }
}

@media (max-width: 999px) {
  /* rb-press-v1 — bare logos on the marquee (rb-press-marquee-v1), a touch smaller than
     desktop so two to three share the screen. */
  .rb-press {
    --rb-press-duration: 51s;
    --rb-press-gap: 44px;
    --rb-press-card-h: 56px;
    --rb-press-logo-scale: 0.84; /* 0.8 +5% */
    padding: 40px 0 20px;
  }

  body.template-index .rb-press {
    padding-inline: var(--rb-home-frame-inset, 8px);
  }

  .rb-press__header {
    margin-bottom: 18px;
  }

  .rb-press__subtext {
    white-space: normal;
    font-size: 1.089rem;
    line-height: 1.5;
    padding: 0 4px;
    font-weight: 440;
  }

}

/* rb-mobile-shadow-bleed-v1 — card glows fade all the way into the page. These sections painted
   the page colour as their own background, which covered the glow of the section above; the page
   behind them is the same colour, so transparent looks identical and lets the glow overlap.
   The horizontal scrollers clip vertically too, so they get room below the cards for the glow. */
@media (max-width: 999px) {
  .rb-press.rb-press,
  .rb-reviews.rb-reviews,
  .shopify-section:has(> .rb-reviews),
  .rb-featured.rb-featured,
  .rb-perks.rb-perks {
    background: transparent !important;
  }

  /* Cards sit 16px from the screen edge, so a glow that spreads further sideways reaches the
     edge still tinted and is cut there in a hard line. Negative spread pools the colour under
     the card instead: at most 16px sideways (blur minus spread), ~34px below. */
  :root {
    --rb-emerald-glow-shadow: 0 18px 30px -14px rgba(var(--rb-canna-shadow-rgb), 0.5), 0 6px 18px -4px rgba(var(--rb-canna-shadow-light-rgb), 0.24);
  }

  .rb-give .rb-give__stat {
    box-shadow: 0 18px 28px -16px rgba(var(--rb-give-glow), 0.6), 0 6px 14px -3px rgba(var(--rb-give-glow), 0.22);
  }

  .rb-perks .rb-perk-row {
    box-shadow: 0 18px 28px -16px rgba(36, 104, 68, 0.6), 0 6px 14px -3px rgba(61, 153, 112, 0.24);
  }

  /* The hero frame is only 8px from the screen edge. */
  .rb-hero .rb-hero__frame {
    box-shadow: 0 20px 24px -16px rgba(var(--rb-canna-shadow-rgb), 0.55), 0 8px 12px -4px rgba(var(--rb-canna-shadow-light-rgb), 0.24) !important;
  }

  .rb-featured .rb-products {
    padding-bottom: 64px !important;
    margin-bottom: -64px !important;
  }

  .rb-perks__stack {
    padding-bottom: 72px !important;
    margin-bottom: -60px !important;
  }
}
}

/* rb-updated-daily-v1 — mobile: generic paragraph rules otherwise blow the line up and drop
   the dot onto its own row. */
@media (max-width: 999px) {
  .rb-updated-daily {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 16px 0 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    letter-spacing: 0.08em !important;
    text-align: center !important;
  }
}
