/** Shopify CDN: Minification failed

Line 2082:22 Unexpected "{"
Line 2082:31 Expected ":"
Line 2086:22 Unexpected "{"
Line 2086:31 Expected ":"
Line 2092:22 Unexpected "{"
Line 2092:31 Expected ":"
Line 2098:22 Unexpected "{"
Line 2098:31 Expected ":"
Line 2103:22 Unexpected "{"
Line 2103:31 Expected ":"
... and 29 more hidden warnings

**/
/* SHOPIFY_STYLESHEETS_VERSION: 1.0 */


/* CSS from section stylesheet tags */
/* START_SECTION:aa-box__hero (INDEX:3) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .aa-box-hero {
    width: 100%;
    box-sizing: border-box;
    --aa-review-stars-row-gap-after: 0;
    background: var(--aa-hero-bg-mobile, #f9f7e0);
  }

  .aa-box-hero__split {
    width: 100%;
    box-sizing: border-box;
  }

  .aa-box-hero__inner {
    max-width: 1080px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding: 32px 20px 40px;
  }

  @media screen and (min-width: 750px) {
    .aa-box-hero {
      background: var(--aa-hero-bg-desktop, var(--aa-hero-bg-mobile, #f9f7e0));
    }

    .aa-box-hero.aa-box-hero--desktop-min-h {
      min-height: var(--aa-hero-desktop-min-h);
      display: flex;
      flex-direction: column;
    }

    .aa-box-hero.aa-box-hero--desktop-min-h .aa-box-hero__split {
      flex: 1 1 auto;
      min-height: 0;
      height: 100%;
    }

    .aa-box-hero--desktop-min-h .aa-box-hero__split:not(.aa-box-hero__split--no-photo) {
      grid-template-rows: 1fr;
    }

    .aa-box-hero__inner {
      padding-top: 48px;
      padding-bottom: 56px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    /* Copy left, image right — column ratio set in range-specific rules below */

    .aa-box-hero__split:not(.aa-box-hero__split--no-photo) .aa-box-hero__inner {
      max-width: none;
      width: fit-content;
      margin-inline: auto;
    }

    .aa-box-hero__split:not(.aa-box-hero__split--no-photo) .aa-box-hero__photo-wrap {
      position: relative;
      min-height: 0;
      align-self: stretch;
      overflow: hidden;
    }

    .aa-box-hero__split:not(.aa-box-hero__split--no-photo) .aa-box-hero__photo {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }

  /* Small desktop (750–989px): favor copy width; 990px+ = even 50/50 */
  @media screen and (min-width: 750px) and (max-width: 989px) {
    .aa-box-hero__split:not(.aa-box-hero__split--no-photo) {
      display: grid;
      grid-template-columns: 70% 30%;
      align-items: stretch;
    }
  }

  @media screen and (min-width: 990px) {
    .aa-box-hero__split:not(.aa-box-hero__split--no-photo) {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: stretch;
    }
  }

  /* Large desktop: cap copy column width (heading, lede, progress) — value from theme editor */
  @media screen and (min-width: 1200px) {
    .aa-box-hero__text {
      max-width: var(--aa-box-hero-lg-text-max, 500px);
    }
  }

  /* Thin body copy — Arboria-Book per docs/aa-box-bundle-builder-typography.md */
  .aa-box-hero__lede {
    margin: 0;
    max-width: 48rem;
    color: #4a2c2a;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .aa-review-stars-row + .aa-box-hero__lede {
    margin-top: 16px;
  }

  .aa-hero-display-heading + .aa-box-hero__lede {
    margin-top: 12px;
  }

  @media screen and (min-width: 750px) {
    .aa-box-hero__lede {
      font-size: 20px;
    }

    /* Extra space below heading on desktop; collapses with adjacent lede margin-top (12px) → 16px gap */
    .aa-box-hero .aa-hero-display-heading {
      margin-bottom: 16px;
    }
  }

  .aa-box-hero__progress-block {
    margin-top: 24px;
  }

  .aa-box-hero__progress-cta {
    margin-top: 24px;
    max-width: 48rem;
  }

  .aa-box-hero__progress-track {
    max-width: 48rem;
    height: 10px;
    border-radius: 999px;
    background-color: #d0d0d0;
    overflow: hidden;
    box-sizing: border-box;
  }

  /* !important + var width: theme globals often set div { background: transparent !important } which kills the pink */
  .aa-box-hero .aa-box-hero__progress-track .aa-box-hero__progress-fill {
    display: block !important;
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 10px !important;
    border-radius: 999px !important;
    background-color: #e63f82 !important;
    background-image: none !important;
    width: var(--aa-progress-pct, 0%) !important;
    max-width: 100% !important;
  }

  /* Hook + p tag: wins over global .rte / theme paragraph !important rules */
  .aa-box-hero p.aa-font-hero-progress {
    margin: 6px 0 0 !important;
    max-width: 48rem;
    color: #4a2c2a !important;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    font-synthesis: none;
  }

  .aa-box-hero__progress-num--raised {
    color: #e63f82;
  }

  .aa-box-hero__progress-num--goal {
    color: #65b5e8;
  }

  @media screen and (min-width: 750px) {
    .aa-box-hero__progress-block {
      margin-top: 48px;
    }

    .aa-box-hero p.aa-font-hero-progress {
      font-size: 18px !important;
    }

    .aa-box-hero__progress-cta {
      margin-top: 48px;
    }
  }

  /* Full-bleed photo under inner; optional SVG clip when asset is a flat rectangle */
  .aa-box-hero__photo-wrap {
    width: 100%;
    margin: 0;
    line-height: 0;
  }

  .aa-box-hero__photo {
    display: block;
    width: 100%;
    height: auto;
  }

  .aa-box-hero__clip-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
  }
/* END_SECTION:aa-box__hero */

/* START_SECTION:build-your-box-byob-ab (INDEX:9) */
@font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  /* Arboria-Bold: single file of bold-shaped glyphs — use font-weight 400 only (matches `pb-pack-size-selector`, `pb-faq-accordion`). */
  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  /*
   * ─── Mobile-only hero band (≤749px) ────────────────────────────────────────
   * Figma node 57:26 — 375×205px frame, background #CDA8EF (lilac).
   * Hero height = 205px image area + 40px wave overlap = 245px total.
   * margin-bottom: -40px pulls the content below up by the wave height,
   * so the wave visually overlaps the cream background seamlessly.
   * Hidden on desktop (≥750px). Uploads use object-fit so they stay proportional.
   */
  .build-your-box__intro-hero {
    position: relative;
    width: 100%;
    /* 245px total = 205px image + 40px wave. Scaled: 245/375 = 65.333vw */
    height: 65.333vw;
    max-height: 245px;
    /* Negative margin pulls the content below up by the wave height (40px),
       so the cream wave visually merges with the section background */
    margin-bottom: -10.667vw;
    /* Wave sits bottom: -2px; overflow: hidden would clip the overlap that closes the seam. */
    overflow: visible;
    background-color: #cda8ef;
    box-sizing: border-box;
    isolation: isolate;
  }

  /*
   * Fills the band without stretching (crops evenly via object-fit: cover).
   */
  .build-your-box__intro-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    display: block;
    pointer-events: none;
    z-index: 1;
  }

  /*
   * Wave SVG — full-width cream shape.
   * Sits at bottom of the 245px hero (205px image + 40px wave area).
   * z-index 2 so it renders above the image.
   */
  .build-your-box__intro-hero-wave {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 10.667vw;
    max-height: 40px;
    z-index: 2;
    display: block;
    pointer-events: none;
  }

  @media screen and (min-width: 375px) {
    .build-your-box__intro-hero {
      height: 245px;
      margin-bottom: -40px;
    }
    .build-your-box__intro-hero-wave {
      height: 40px;
    }
  }

  @media screen and (min-width: 750px) {
    .build-your-box__intro-hero {
      display: none;
    }
  }

  /* ── Intro copy block (heading + body paragraph) ─────────────────────────── */
  .build-your-box__intro {
    display: block;
    text-align: center;
    margin: 0 0 2rem;
    padding: 0 0.5rem;
    box-sizing: border-box;
  }

  .build-your-box__intro-heading {
    margin: 0 0 0.75rem;
    font-family: 'Funkydori', 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 54px;
    font-weight: 700 !important;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.05;
    letter-spacing: 0;
    color: #3a0e11;
    text-transform: lowercase;
  }

  .build-your-box__intro-body {
    margin: 0 auto;
    max-width: 36rem;
    font-family: var(--font-body-family);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(58, 14, 17, 0.92);
  }

  @media screen and (max-width: 749px) {
    /*
     * Hero `.build-your-box__intro-hero` uses negative bottom margin (~10.667vw / 40px) so the
     * wave overlaps the cream section—that pulls `.page-width` upward into the hero band unless
     * we offset intro text (z-index alone does not fix layout overlap).
     */
    .build-your-box__intro {
      position: relative;
      z-index: 2;
      padding-top: calc(10.667vw + 4px);
      margin-bottom: 0.6rem;
      max-width: 100%;
    }

    .build-your-box__intro-heading {
      font-size: clamp(28px, 8.2vw, 40px);
      margin-bottom: 0.5rem;
    }

    .build-your-box__intro-body {
      font-size: 16px;
    }
  }

  /*
   * From 375px up the hero uses a fixed −40px bottom margin — cap intro offset so ultra-wide phones
   * do not accumulate excess padding vs. vw math (which blows up approaching 749px wide).
   */
  @media screen and (min-width: 375px) and (max-width: 749px) {
    .build-your-box__intro {
      padding-top: 44px;
    }
  }

  /* Tighter stack: intro → Step 1 on narrow layouts (single-column builder). */
  @media screen and (max-width: 989px) {
    .build-your-box__controls-rail-top > .pb-byob-step-heading {
      margin-top: 0.45rem;
    }
  }

  .build-your-box__container {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__container {
      max-width: min(1200px, 100%);
      padding-inline: 0;
    }
  }

  /* PB-22 — large desktop breakpoints. Container grows so the picker can stretch. */
  @media screen and (min-width: 1200px) {
    .build-your-box__container {
      max-width: min(1280px, 100%);
    }
  }

  @media screen and (min-width: 1440px) {
    .build-your-box__container {
      max-width: min(1380px, 100%);
    }
  }

  /*
   * Mobile (<990px): column flow — step 1–2 + category filters, then product grid,
   * then selected summary + step 3 (frequency) + CTA (DOM order).
   * Desktop: two columns — picker (left, spans two rows) | rail-top (row1) + rail-bottom (row2).
   */
  .build-your-box__layout {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  .build-your-box__controls-rail-top,
  .build-your-box__controls-rail-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
  }

  /*
   * Mobile / tablet: hide headline price rail only (BYOB Q2 — duplicate of Step 3 totals on small screens).
   * Step 3 Subscribe / One-Time row prices remain visible; JS still updates rail nodes if layout changes.
   */
  .build-your-box__rail-price-summary {
    display: none !important;
  }

  /*
   * `.build-your-box--onetime` stacks inner rails + picker vertically — exclude from subscribe AB grid.
   */
  @media screen and (min-width: 990px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      display: grid;
      grid-template-columns: minmax(0, 500px) minmax(0, 500px);
      grid-template-rows: auto auto;
      gap: 1.25rem 3rem;
      justify-content: center;
      align-items: stretch;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__picker-panel {
      grid-column: 1;
      grid-row: 1 / span 2;
      max-height: min(75vh, 780px);
      min-height: 0;
      border-radius: 20px;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__controls-rail-top {
      grid-column: 2;
      grid-row: 1;
      align-self: start;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__controls-rail-bottom {
      grid-column: 2;
      grid-row: 2;
      align-self: start;
    }
  }

  /*
   * PB-22 — large desktop layout. From 1200px the picker takes more horizontal space
   * than the controls rail (frequency / summary / CTA), giving the product grid room
   * to breathe without changing the rail's compact rhythm. Above 1440px both columns
   * grow proportionally inside the wider container.
   */
  @media screen and (min-width: 1200px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      grid-template-columns: minmax(0, 620px) minmax(0, 460px);
      gap: 1.25rem 80px;
    }
  }

  @media screen and (min-width: 1440px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      grid-template-columns: minmax(0, 720px) minmax(0, 500px);
      gap: 1.25rem 100px;
    }
  }

  /* Step 2 heading + category pills: desktop unchanged (full width, left-aligned). */
  .build-your-box__products-step-block {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 0;
  }

  /* Category filter pills — outer host for horizontal scroll + edge gradients on narrow viewports. */
  .build-your-box__product-category-filters-outer {
    width: 100%;
    min-width: 0;
    position: relative;
    z-index: 0;
    --pb-byob-category-fade-w: min(40px, 12vw);
    /* Keeps edge fades above the horizontal scrollbar gutter (set again on mobile). */
    --pb-byob-category-scroll-gutter: 0;
  }

  .build-your-box__product-category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 10px 12px;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__products-step-block {
      align-items: stretch;
    }

    .build-your-box__products-step-block .pb-byob-step-heading {
      justify-content: flex-start;
      text-align: left;
    }

    .build-your-box__products-step-block .pb-byob-step-heading__title {
      flex: 1 1 auto;
      text-align: left;
    }

    .build-your-box__product-category-filters-outer {
      min-width: 0;
      /* Space reserved below pills for the native horizontal scrollbar so it doesn’t overlap tabs. */
      --pb-byob-category-scroll-gutter: 14px;
    }

    /*
     * Scroll affordance: JS toggles `--hint-left` / `--hint-right` modifier classes on the outer.
     * Fades use section color `--pb-byob-category-fade` set inline on the outer.
     */
    .build-your-box__product-category-filters-outer::before,
    .build-your-box__product-category-filters-outer::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: var(--pb-byob-category-scroll-gutter);
      width: var(--pb-byob-category-fade-w);
      z-index: 2;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .build-your-box__product-category-filters-outer::before {
      left: 0;
      background: linear-gradient(
        to right,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer::after {
      right: 0;
      background: linear-gradient(
        to left,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer--hint-left::before {
      opacity: 1;
    }

    .build-your-box__product-category-filters-outer--hint-right::after {
      opacity: 1;
    }

    @media (prefers-reduced-motion: reduce) {
      .build-your-box__product-category-filters-outer::before,
      .build-your-box__product-category-filters-outer::after {
        transition: none;
      }
    }

    .build-your-box__product-category-filters {
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scrollbar-width: thin;
      scrollbar-color: rgba(58, 14, 17, 0.45) rgba(58, 14, 17, 0.1);
      /* Match outer --pb-byob-category-scroll-gutter: room for ~6px bar + clearance from pills */
      padding-bottom: var(--pb-byob-category-scroll-gutter, 14px);
      padding-inline-end: 12px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar {
      height: 5px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-track {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.08);
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.38);
    }

    .build-your-box__product-category-filters .pb-product-selector-tab {
      flex: 0 0 auto;
    }
  }

  /* Picker panel: light pink body. Mobile: full radius (grid sits between rails). Desktop: full radius in grid. */
  .build-your-box__picker-panel {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    background-color: #fdeef4;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    /* Scroll lives on `.build-your-box__picker-grid` so eyebrow + title row stay visible. */
  }

  /*
   * Mobile / tablet (<990px): cap picker height so `.build-your-box__picker-grid` can
   * shrink (`min-height: 0` + `flex: 1`) and scroll internally. Without a bounded parent,
   * the grid grows to full product list and the page scrolls instead.
   */
  @media screen and (max-width: 989px) {
    .build-your-box__picker-panel {
      max-height: min(52dvh, 560px);
    }
  }

  /* Tier-B style strip from `aa-bundle__heading-bar` / `.aa-bundle__heading-title`. */
  .build-your-box__picker-eyebrow {
    flex-shrink: 0;
    margin: 0;
    padding: 0.75rem 1rem;
    box-sizing: border-box;
    border-radius: 20px 20px 0 0;
    background-color: #4a2c2a;
    color: #ffffff;
    text-align: center;
    font-family: var(--font-heading-family);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .build-your-box__picker-title-row {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    box-sizing: border-box;
    min-width: 0;
    /* Opaque bar so grid content does not show through; matches panel pink. */
    background-color: #fdeef4;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  /* Shown only after user scrolls the picker grid (see `pb-byob-bundle.js`). */
  .build-your-box__picker-title-row.build-your-box__picker-title-row--scrolled {
    border-bottom-color: rgba(58, 14, 17, 0.12);
    box-shadow: 0 6px 14px -6px rgba(58, 14, 17, 0.08);
  }

  .build-your-box__picker-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #3a0e11;
  }

  /* Counter pill — same idea as `.aa-bundle__counter-pill`. */
  .build-your-box__picker-count-pill {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: 0.45rem 1rem;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid #4a2c2a;
    border-radius: 9999px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__picker-count-pill-current {
    color: #4a2c2a;
  }

  .build-your-box__picker-count-pill-max {
    color: #e63f82;
  }

  .build-your-box__picker-grid {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 10px 14px;
    box-sizing: border-box;
  }

  /* Product grid: 2 cols narrow; 3 cols when desktop two-column layout has room. */
  .build-your-box .pb-byob-product-grid__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
  }

  @media screen and (min-width: 990px) {
    .build-your-box .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  .build-your-box .pb-byob-product-grid__cell {
    max-width: none;
    width: 100%;
  }

  /* Ensure category filter `hidden` wins over flex/grid author rules on the cell. */
  .build-your-box .pb-byob-product-grid__cell[hidden] {
    display: none !important;
  }

  /* Selected strip sits on the section background (no inner pink card). */
  .build-your-box__bundle-surface {
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }

  /* Progress strip (mirrors `pb-byob-selected-summary`): track filled via JS linear-gradient. */
  .build-your-box__bundle-surface .pb-byob__selected-progress {
    display: block;
    margin: 0 0 14px;
    width: 100%;
    box-sizing: border-box;
  }

  .build-your-box__bundle-surface .pb-byob__selected-progress-track {
    display: block;
    position: relative;
    width: 100%;
    height: 12px;
    min-height: 12px;
    border-radius: 9999px;
    background-color: #d0d0d0;
    border: none;
    box-shadow: none;
    overflow: hidden;
    box-sizing: border-box;
    isolation: isolate;
  }

  .build-your-box__step-heading-step3--desktop {
    display: none;
  }

  .build-your-box__step-heading-step3--mobile {
    display: block;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__step-heading-step3--desktop {
      display: block;
    }

    .build-your-box__step-heading-step3--mobile {
      display: none;
    }
  }

  /* Step 3 only: tighter title scale than default pb-byob-step-heading (20 / 24). */
  .build-your-box__step-heading-frequency .pb-byob-step-heading {
    --pb-byob-step-title-fs: 20px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__step-heading-frequency .pb-byob-step-heading {
      --pb-byob-step-title-fs: 24px;
    }
  }

  .build-your-box__frequency {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .build-your-box__frequency-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .build-your-box__frequency-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed transparent;
    background-color: transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }

  /*
   * Same language as selected product tiles (`pb-byob-selected-summary`): light blue fill +
   * dashed brown edge — **only** on the option whose radio is checked.
   */
  .build-your-box__frequency-option:has(.build-your-box__frequency-option-input:checked) {
    background-color: #d6eefa;
    border-color: #3a0e11;
  }

  .build-your-box__frequency-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__frequency-option-copy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .build-your-box__frequency-option-main > .build-your-box__frequency-option-copy {
    flex: 0 0 auto;
  }

  .build-your-box__frequency-option-text-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-label-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
  }

  .build-your-box__frequency-subscribe-pack-savings,
  .build-your-box__frequency-onetime-pack-savings {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    color: #e63f82;
    white-space: nowrap;
  }

  .build-your-box__frequency-subscribe-pack-savings:empty,
  .build-your-box__frequency-onetime-pack-savings:empty {
    display: none;
  }

  .build-your-box__frequency-subscribe-benefits {
    margin: 0;
    padding: 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.92);
  }

  .build-your-box__frequency-subscribe-benefits.rte ul {
    margin: 0;
    padding: 0;
    padding-left: 0;
    list-style: none;
    list-style-position: outside;
  }

  .build-your-box__frequency-subscribe-benefits li {
    position: relative;
    margin: 0.4em 0 0;
    padding-left: 1.35em;
  }

  .build-your-box__frequency-subscribe-benefits li:first-child {
    margin-top: 0;
  }

  .build-your-box__frequency-subscribe-benefits li::before {
    content: '';
    position: absolute;
    left: 0.1em;
    top: 0.4em;
    width: 0.45em;
    height: 0.22em;
    border-left: 2px solid #e63f82;
    border-bottom: 2px solid #e63f82;
    transform: rotate(-52deg);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-benefits {
      font-size: 15px;
    }
  }

  .build-your-box__frequency-subscribe-note {
    margin: 0.65em 0 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.7);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-note {
      font-size: 13px;
    }
  }

  .build-your-box__frequency-option-dot {
    width: 22px;
    height: 22px;
    border: 2px solid #3a0e11;
    border-radius: 9999px;
    background: #f9f7e0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-dot::after {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background: #e63f82;
    transform: scale(0);
    transition: transform 0.2s ease;
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    border-color: #e63f82;
  }

  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after {
    transform: scale(1);
  }

  .build-your-box__frequency-option-input:focus-visible + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:focus-visible
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }

  .build-your-box__frequency-option-label {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    line-height: 1.1;
    color: #3a0e11;
    letter-spacing: 0;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-label {
      font-size: 18px;
    }
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-label,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-label {
    color: #e63f82;
  }

  .build-your-box__frequency-option-price {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
    color: #3a0e11;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-price--onetime-split,
  .build-your-box__frequency-option-price--subscribe-split {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
    max-width: 100%;
    white-space: normal;
  }

  .build-your-box__frequency-onetime-price-compare:not(:empty),
  .build-your-box__frequency-subscribe-price-compare:not(:empty) {
    font-family: inherit;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    color: rgba(58, 14, 17, 0.55);
    font-size: 0.92em;
  }

  .build-your-box__frequency-onetime-price-compare:empty,
  .build-your-box__frequency-subscribe-price-compare:empty {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-price {
      font-size: 18px;
    }
  }

  /*
   * Delivery cadence (`--cadence-ab`): native select + disclaimer inside dashed subscription cluster.
   */
  .build-your-box__frequency-delivery-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
  }

  .build-your-box__frequency-delivery-wrap[hidden] {
    display: none !important;
  }

  .build-your-box__frequency-delivery-card {
    margin: 0;
    border: 2px solid #d8ccba;
    border-radius: 9999px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 7px 16px 8px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    cursor: default;
    user-select: none;
  }

  .build-your-box__frequency-delivery-primary {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 400;
    color: #3a0e11;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-primary {
      font-size: 16px;
    }
  }

  .build-your-box__frequency-delivery-micro {
    margin: 0;
    padding: 0 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.2em 0.35em;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: rgba(58, 14, 17, 0.7);
    text-align: center;
    max-width: 100%;
  }

  .build-your-box__frequency-delivery-micro-star {
    font-weight: 700;
    color: rgba(58, 14, 17, 0.85);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-micro {
      font-size: 12px;
    }
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-card {
    padding: 9px 16px 10px;
    border-color: #3a0e11;
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-primary {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
  }

  .build-your-box__build-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 13px 18px;
    border: none;
    border-radius: 9999px;
    background-color: #e63f82;
    color: #ffffff;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity 0.15s ease, background-color 0.15s ease;
  }

  .build-your-box__build-cta:hover:not(:disabled) {
    opacity: 0.94;
  }

  .build-your-box__build-cta:focus {
    outline: none;
  }

  .build-your-box__build-cta:focus-visible {
    outline: 2px solid #3a0e11;
    outline-offset: 3px;
  }

  .build-your-box__build-cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }

  .build-your-box__build-cta-label {
    display: block;
  }

  /* Breathing room between the delivery-note pill (inside the rail fieldset) and the CTA. */
  .build-your-box__plan-and-cta--rail > .build-your-box__build-cta {
    margin-top: 14px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__build-cta {
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 24px;
    }
  }

  .build-your-box__sticky-build {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 40;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: none;
  }

  /*
   * Mobile only: bottom sticky uses `padding-bottom: env(safe-area-inset-bottom)` (see rule below).
   * The wrapper is transparent — on Mobile Chrome, scrolling content reads through whenever the
   * visual inset doesn’t match collapsing toolbars; extend a solid bleed below the gradient bar.
   */
  @media screen and (max-width: 989px) {
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      pointer-events: none;
      height: calc(env(safe-area-inset-bottom, 0px) + 20px);
      background: #f4bad4;
    }

    /* One continuous band with `::after` fill — hide the seam above the bleed / home gutter. */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-inner {
      border-bottom: none;
    }
  }

  .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build {
    top: 0;
  }

  .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build {
    bottom: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .build-your-box__sticky-build.is-anim-ready {
    transition: transform 0.24s ease, opacity 0.2s ease;
  }

  .build-your-box__sticky-build.is-hidden-top {
    transform: translateY(calc(-100% - 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build.is-hidden-bottom {
    transform: translateY(calc(100% + 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build[hidden] {
    display: none !important;
  }

  .build-your-box__sticky-build-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    cursor: pointer;
    box-sizing: border-box;
    padding: 14px 12px;
    background: linear-gradient(180deg, #bfa5e8 0%, #f4bad4 100%);
    border-top: 1px solid rgba(58, 14, 17, 0.08);
    border-bottom: 1px solid rgba(58, 14, 17, 0.08);
  }

  .build-your-box__sticky-build-count {
    margin: 0;
    margin-right: auto;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #3a0e11;
    text-transform: uppercase;
  }

  .build-your-box__sticky-build-count-current,
  .build-your-box__sticky-build-count-max {
    color: #3a0e11;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__sticky-build-cta {
    min-width: 148px;
    width: auto;
    padding: 13px 24px;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    cursor: pointer;
  }

  .build-your-box__sticky-build-chevron {
    width: 23px;
    min-width: 23px;
    height: 14px;
    line-height: 0;
    color: #3a0e11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: rotate(0deg);
    transition: transform 0.22s ease;
  }

  .build-your-box__sticky-build-chevron svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-chevron {
    transform: rotate(180deg);
  }

  .build-your-box__sticky-build-panel {
    width: 100%;
    margin: 0;
    border-radius: 0;
    border: none;
    background-color: #f9f7e0;
    box-sizing: border-box;
  }

  /* Desktop sheet: discrete show/hide. */
  @media screen and (min-width: 990px) {
    .build-your-box__sticky-build-panel {
      padding: 14px 14px;
    }

    .build-your-box__sticky-build-panel[hidden] {
      display: none !important;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  /*
   * Mobile (<990px): simple slide drawer — sheet is absolute (no layout jump), translateY only.
   * Bottom sticky: anchored above the chrome, slides down when closed (`translateY(100%)`).
   * Top sticky: anchored below the chrome, slides up when closed (`translateY(-100%)`).
   */
  @media screen and (max-width: 989px) {
    .build-your-box__sticky-build-inner {
      position: relative;
      z-index: 2;
    }

    .build-your-box__sticky-build-panel {
      position: absolute;
      left: 0;
      right: 0;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding: 12px 10px;
      max-height: min(82vh, 720px);
      overflow-x: visible;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      background-color: #f9f7e0;
      border-radius: 0;
      border: none;
      pointer-events: none;
      transition: transform 0.33s cubic-bezier(0.32, 0.72, 0, 1);
      z-index: 1;
    }

    /* Bottom-aligned sticky chrome (Magic Spoon layout). */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-panel {
      bottom: 100%;
      top: auto;
      transform: translate3d(0, 100%, 0);
    }

    /* Top-aligned sticky chrome. */
    .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build-panel {
      top: 100%;
      bottom: auto;
      transform: translate3d(0, -100%, 0);
    }
    /* Let JS animate close before `hidden` is reapplied — keep `[hidden]` from blocking transitions mid-flight. */
    .build-your-box__sticky-build-panel[hidden] {
      display: block !important;
      pointer-events: none;
      visibility: hidden;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      transform: translate3d(0, 0, 0);
      pointer-events: auto;
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  @media screen and (max-width: 989px) and (prefers-reduced-motion: reduce) {
    .build-your-box__sticky-build-panel {
      transition: none;
    }
  }

  .build-your-box__sticky-build-panel-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 0;
  }

  .build-your-box__sticky-build-panel-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: max-content;
    min-width: 100%;
    align-items: stretch;
  }

  .build-your-box__sticky-build-panel-item {
    width: 72px;
    min-width: 72px;
    margin: 0;
    display: block;
    position: relative;
  }

  .build-your-box__sticky-build-panel-tile {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    border: 1px dashed #3a0e11;
    box-sizing: border-box;
    overflow: hidden;
    background-color: transparent;
    position: relative;
  }

  .build-your-box__sticky-build-panel-thumb {
    position: absolute;
    inset: 0;
    border-radius: 9px;
    overflow: hidden;
    background-color: #d6eefa;
  }

  .build-your-box__sticky-build-panel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .build-your-box__sticky-build-panel-tile--empty {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .build-your-box__sticky-build-panel-plus {
    line-height: 0;
  }

  .build-your-box__sticky-build-remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 27px;
    height: 27px;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    transform: translate(25%, -25%);
    cursor: pointer;
    border-radius: 9999px;
    z-index: 2;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon {
    width: 27px;
    height: 27px;
    display: block;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .build-your-box__sticky-build-panel-empty {
    margin: 0;
    padding: 6px 8px;
    font-family: var(--font-body-family);
    font-size: 13px;
    line-height: 1.35;
    color: #3a0e11;
  }

  /* Mobile (<990px): Magic Spoon–style sheet — plan + full-width ATC live in the sticky panel (PB-22). */
  .build-your-box__sticky-plan-stack {
    display: none;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 4px 8px;
    margin-top: 8px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-plan-stack {
      display: flex;
    }

    .build-your-box__sticky-build-cta {
      display: none !important;
    }

    .build-your-box__sticky-plan-stack .build-your-box__step-heading-frequency {
      margin: 0;
    }

    .build-your-box__build-cta--mobile-full {
      width: 100%;
      margin-top: 4px;
      box-sizing: border-box;
    }
  }

  @media screen and (min-width: 990px) {
    .build-your-box__sticky-plan-stack {
      display: none !important;
    }
  }

  .build-your-box__sticky-modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 39;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(58, 14, 17, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-modal-backdrop:not([hidden]) {
      display: block;
    }
  }

  @media screen and (min-width: 750px) {
    .build-your-box__sticky-build-inner {
      padding: 18px 32px;
    }

    .build-your-box__sticky-build-count {
      font-size: 16px;
    }

    .build-your-box__sticky-build-panel-item {
      width: 86px;
      min-width: 86px;
    }
  }



  /* BYOB A/B: mobile intro line + cadence UI (see `pb-byob-bundle-byob-ab.js`). */
  .build-your-box--byob-ab .build-your-box__intro-heading--desktop {
    display: block;
  }
  .build-your-box--byob-ab .build-your-box__intro-heading--mobile {
    display: none;
  }
  @media screen and (max-width: 749px) {
    .build-your-box--byob-ab .build-your-box__intro-heading--desktop {
      display: none;
    }
    .build-your-box--byob-ab .build-your-box__intro-heading--mobile {
      display: block;
    }
    .build-your-box--byob-ab .build-your-box__intro-body {
      font-size: max(13px, 3.4vw);
      line-height: 1.35;
      max-width: 100%;
    }
  }

  /* One dashed blue panel: subscribe copy + cadence dropdown (BYOB A/B). */
  .build-your-box__frequency-ab-cluster {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed #3a0e11;
    background-color: #d6eefa;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-ab-cluster .build-your-box__frequency-options {
    gap: 0;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-radius: 0;
    border: none;
    background-color: transparent;
    cursor: default;
  }

  /* Subscribe-only row has no radio: show the pink inner dot like a selected option. */
  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-dot {
    border-color: #e63f82;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-dot::after {
    transform: scale(1);
  }

  /* No separate radio row — treat title like the selected subscribe option. */
  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-label {
    color: #e63f82;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-delivery-wrap {
    margin: 0;
  }

  /* One outline only: cadence variants override base `.frequency-delivery-card` (2px pill) explicitly. */
  .build-your-box__frequency-delivery-card.build-your-box__frequency-delivery-card--cadence-ab {
    align-items: stretch;
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(58, 14, 17, 0.22);
    background: rgba(255, 255, 255, 0.55);
    padding: 10px 12px;
    gap: 6px;
    cursor: default;
  }

  /* Mobile descendant rule beats single-class modifiers — keep cadence AB to a single 1px frame. */
  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-card.build-your-box__frequency-delivery-card--cadence-ab {
    border: 1px solid rgba(58, 14, 17, 0.22);
  }

  .build-your-box__cadence-select-label {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__cadence-select-label {
      font-size: 14px;
    }
  }

  .build-your-box__cadence-select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 9px 32px 9px 12px;
    border-radius: 8px;
    border: 1px solid rgba(58, 14, 17, 0.35);
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233a0e11' d='M1.4 0L6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
    appearance: none;
    -webkit-appearance: none;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #3a0e11;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .build-your-box__cadence-select:focus {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }

  .build-your-box__frequency-delivery-card--cadence-ab .build-your-box__frequency-delivery-micro {
    justify-content: flex-start;
    text-align: left;
    padding: 4px 0 0;
  }
/* END_SECTION:build-your-box-byob-ab */

/* START_SECTION:build-your-box-onetime (INDEX:10) */
@font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  /* Arboria-Bold: single file of bold-shaped glyphs — use font-weight 400 only (matches `pb-pack-size-selector`, `pb-faq-accordion`). */
  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  /* Intro title column (rail top on desktop PDP; reorderable vs carousel below 989px via flex vars). */
  .build-your-box__intro-title-wrap {
    display: block;
    text-align: center;
    margin: 0;
    padding: 0 0.5rem;
    box-sizing: border-box;
  }

  .build-your-box__intro-heading {
    margin: 0 0 0.75rem;
    font-family: 'Funkydori', 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 54px;
    font-weight: 700 !important;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.05;
    letter-spacing: 0;
    color: #3a0e11;
    text-transform: lowercase;
  }

  .build-your-box__intro-body {
    margin: 0 auto;
    max-width: 36rem;
    font-family: var(--font-body-family);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(58, 14, 17, 0.92);
  }

  /* Static social proof row: five stars + caption — extra space under H1 (tighter on desktop than stacked). */
  .build-your-box__intro-title-wrap:has(.build-your-box__intro-review) .build-your-box__intro-heading {
    margin-bottom: 0;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__intro-title-wrap:has(.build-your-box__intro-review) .build-your-box__intro-heading {
      margin-bottom: 0.5rem;
    }

    /* Small extra cushion between title row and stars on two-column desktop. */
    .build-your-box__intro-title-wrap .build-your-box__intro-review {
      margin-top: 0.3rem;
    }
  }

  /* Two-column desktop (990px+): left-aligned with rail. Stacked layout (≤989px): centered (same breakpoint as BYOB carousel stack). */
  .build-your-box__intro-review {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.45rem 0.65rem;
    margin: 0 0 0.75rem;
    padding: 0;
    font-family: var(--font-body-family);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: #3a0e11;
    text-wrap: balance;
    text-transform: none;
    text-align: left;
  }

  .build-your-box__intro-review-stars {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 3px;
    line-height: 0;
    color: var(--byob-intro-review-star, #f191b1);
  }

  .build-your-box__intro-review-star {
    display: flex;
    flex-shrink: 0;
    line-height: 0;
  }

  .build-your-box__intro-review-star svg {
    width: 18px;
    height: 18px;
    display: block;
  }

  .build-your-box__intro-review-text {
    white-space: normal;
    text-align: left;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__intro-review {
      font-size: 16px;
    }

    .build-your-box__intro-review-star svg {
      width: 20px;
      height: 20px;
    }
  }

  @media screen and (max-width: 749px) {
    .build-your-box__intro-title-wrap {
      max-width: 100%;
      margin-bottom: 0;
      padding-inline: 0.5rem;
    }

    .build-your-box__intro-heading {
      font-size: clamp(28px, 8.2vw, 40px);
      margin-bottom: 0.5rem;
    }

    .build-your-box__intro-body {
      font-size: 16px;
    }
  }


  /* Tighter stack: intro → Step 1 on narrow layouts (single-column builder). */
  @media screen and (max-width: 989px) {
    .build-your-box__intro-title-wrap:has(.build-your-box__intro-review) .build-your-box__intro-heading {
      margin-bottom: 1rem;
    }

    /* ~2–3× the old tight desktop gap above stars when layout is stacked. */
    .build-your-box__intro-review {
      justify-content: center;
      text-align: center;
      margin-inline: auto;
      margin-top: 1.375rem;
    }

    .build-your-box__intro-review-text {
      text-align: center;
    }

    .build-your-box__controls-rail-top .pb-bundle-tier-selector {
      margin-bottom: 1.25rem;
    }

    .build-your-box__plan-and-cta--onetime .build-your-box__build-cta {
      margin-top: 14px;
    }

    .build-your-box__controls-rail-top > .pb-byob-step-heading {
      margin-top: 0.45rem;
    }

    /* Paragraph hidden on mobile/tablet stacking only — always visible from 990px up. */
    .build-your-box__intro-body.build-your-box__intro-body--hide-mobile-only {
      display: none !important;
    }
  }

  .build-your-box__container {
    width: 100%;
    max-width: 620px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  /*
   * Wraps carousel + intro + builder: mobile flex puts carousel above intro; desktop grid aligns
   * aside | stack with sticky full width beneath.
   */
  .build-your-box__page-shell {
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__page-shell {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      align-items: stretch;
    }

    /* Unwrap on small screens — title, promo, and `.container` become flex items of `.page-shell`. */
    #shopify-section-{{ section.id }} .build-your-box__rail-column {
      display: contents;
    }

    #shopify-section-{{ section.id }} .build-your-box__page-shell > .build-your-box__desktop-slider-slot {
      order: var(--pb-byob-m-order-carousel);
      margin-inline: 0;
      max-width: none;
    }

    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__intro-title-wrap {
      order: var(--pb-byob-m-order-title);
      margin-top: -0.5rem;
    }

    /* Pull promo line up toward carousel/flex gaps when headline stacks after images (below carousel). */
    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__intro-body {
      order: var(--pb-byob-m-order-body);
      margin-top: -1.5rem;
    }

    #shopify-section-{{ section.id }}
      .build-your-box__page-shell--mobile-intro-title-above
      .build-your-box__rail-column
      > .build-your-box__intro-body {
      margin-top: 0;
    }

    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__container {
      order: var(--pb-byob-m-order-builder);
      margin-top: 0;
    }

    #shopify-section-{{ section.id }} .build-your-box__page-shell > .build-your-box__sticky-build {
      order: var(--pb-byob-m-order-sticky);
    }
  }

  @media screen and (min-width: 990px) {
    /*
     * Desktop: allow this section to extend past theme `--page-width` so carousel + builder breathe.
     * (`.desktop-builder-stack` is width:100%; caps live on `page-width` + grid track maxes below.)
     */
    #shopify-section-{{ section.id }} {
      margin-inline: 0;
    }

    /*
     * Inner width cap goes on `.page-shell` only so `#byob-builder` stays full viewport width — the tan
     * `gradient` paint on `.build-your-box` is not clipped (avoids pink `main`/body gutters on desktop).
     */
    #shopify-section-{{ section.id }} #byob-builder.build-your-box.gradient {
      width: 100%;
      max-width: none;
      margin-inline: 0;
      box-sizing: border-box;
    }

    #shopify-section-{{ section.id }} .build-your-box__page-shell.page-width {
      max-width: min(var(--byob-shell-desktop-max, 1240px), 100%);
      width: 100%;
      margin-inline: auto;
      padding-inline: clamp(1rem, 2.75vw, 2.35rem);
      box-sizing: border-box;
    }

    /*
     * Carousel | builder: column 1 is only as wide as media + badges needs, capped by
     * `--byob-carousel-col-max`; column 2 is all remaining shell width (`1fr`).
     */
    .build-your-box__page-shell {
      display: grid;
      grid-template-columns:
        min(max-content, min(100%, var(--byob-carousel-col-max, 440px)))
        minmax(0, 1fr);
      gap: 1.25rem clamp(1.05rem, 2.35vw, 2.65rem);
      align-items: start;
      justify-items: stretch;
      width: 100%;
      justify-content: stretch;
      box-sizing: border-box;
    }

    /*
     * Right rail: PDP-style title + promo copy stacked above tiers / picker (.container stays inside rail).
     */
    #shopify-section-{{ section.id }} .build-your-box__rail-column {
      grid-column: 2;
      grid-row: 2;
      width: 100%;
      max-width: 100%;
      min-width: 0;
      justify-self: stretch;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: 0.75rem;
    }

    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__intro-title-wrap {
      text-align: left;
      padding-inline: 0;
      margin-bottom: 0;
    }

    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__intro-body {
      margin: 0;
      max-width: min(48rem, 100%);
      text-align: left;
    }

    .build-your-box__desktop-slider-slot {
      grid-column: 1;
      grid-row: 2;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
      position: sticky;
      top: 1.25rem;
      align-self: start;
      justify-self: start;
      width: fit-content;
      max-width: min(var(--byob-carousel-col-max, 440px), 100%);
      box-sizing: border-box;
    }

    #shopify-section-{{ section.id }} .build-your-box__rail-column > .build-your-box__container {
      margin-inline: 0;
      max-width: none;
      width: 100%;
      min-width: 0;
      padding-inline: 0;
    }

    .build-your-box__sticky-build {
      grid-column: 1 / -1;
      grid-row: 3;
      width: 100%;
    }

    .build-your-box__desktop-builder-stack > .build-your-box__picker-panel {
      max-height: min(75vh, 780px);
      min-height: 0;
      border-radius: 20px;
    }

  }

  @media screen and (min-width: 1200px) {
    .build-your-box__page-shell {
      gap: 1.25rem clamp(1.5rem, 2.85vw, 3.35rem);
    }
  }

  @media screen and (min-width: 1440px) {
    .build-your-box__page-shell {
      gap: 1.35rem clamp(1.6rem, 3vw, 4rem);
    }
  }

  /*
   * At very large breakpoints, loosen horizontal padding slightly; `--byob-shell-desktop-max` stays the width cap.
   */
  @media screen and (min-width: 1600px) {
    #shopify-section-{{ section.id }} .build-your-box__page-shell.page-width {
      padding-inline: clamp(1.25rem, 3.35vw, 3rem);
    }
  }

  /*
   * Small / mid desktop: tighter gap only (column math matches base ≥990 grid).
   */
  @media screen and (min-width: 990px) and (max-width: 1199px) {
    .build-your-box__page-shell {
      gap: 1.05rem clamp(0.75rem, 2vw, 2rem);
    }
  }

  /*
   * Builder column (`build-your-box__layout`): rail-top → picker panel → rail-bottom.
   * Two-column chrome is defined on `.build-your-box__page-shell` at 990px+.
   */
  .build-your-box__layout {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  .build-your-box__controls-rail-top,
  .build-your-box__controls-rail-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
  }

  /*
   * Mobile / tablet: hide headline price rail only (BYOB Q2 — duplicate of Step 3 totals on small screens).
   * JS still updates rail nodes if layout changes.
   */
  .build-your-box__rail-price-summary {
    display: none !important;
  }

  /* Product carousel / fallback imagery (full width inside page shell on mobile) */

  .build-your-box__desktop-builder-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
  }

  .build-your-box__desktop-slider-slot__visual {
    width: 100%;
    box-sizing: border-box;
    border-radius: 20px;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border: 2px dashed rgba(58, 14, 17, 0.22);
    background: rgba(255, 255, 255, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .build-your-box__desktop-slider-slot__visual--filled {
    border: none;
    background: transparent;
    align-items: stretch;
    justify-content: stretch;
  }

  .build-your-box__desktop-slider-slot__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .build-your-box__desktop-slider-slot__placeholder-msg {
    margin: 0;
    padding: 2rem 1.25rem;
    text-align: center;
    font-family: var(--font-body-family);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.72);
    max-width: 16rem;
  }

  .build-your-box__desktop-slider-slot__caption {
    margin: 0;
    font-family: var(--font-body-family);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 600;
    color: rgba(58, 14, 17, 0.82);
    text-align: center;
    padding-inline: 0.25rem;
  }

  /* AA bundle carousel (snippet `aa-bundle-media-slider`) */
  .build-your-box__desktop-slider-slot__carousel.build-your-box__desktop-slider-slot__visual {
    aspect-ratio: auto;
    border: none;
    background: transparent;
    overflow: visible;
    align-items: stretch;
    justify-content: stretch;
  }

  /*
   * Carousel + optional brand badges row below media (scoped to BYOB onetime aside only —
   * does not affect `aa-bundle-media-slider` in other sections).
   */
  .build-your-box__carousel-with-brand-icons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  /* When no icons configured, behave like the previous single-column layout. */
  .build-your-box__carousel-with-brand-icons.build-your-box__carousel-with-brand-icons--no-icons {
    gap: 0;
  }

  .build-your-box__carousel-with-brand-icons__main {
    width: 100%;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__carousel-brand-icons {
    flex: 0 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: clamp(6px, 2vw, 12px);
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .build-your-box__carousel-brand-icons__img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 80px;
    max-width: 88px;
    object-fit: contain;
  }

  .build-your-box__carousel-brand-icons__item {
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    max-width: 92px;
  }

  /* Mobile/tablet (<990): one row, four equal tracks — size comes from max-height (10vw was far too small). */
  @media screen and (max-width: 989px) {
    .build-your-box__carousel-brand-icons {
      justify-content: space-between;
      gap: clamp(8px, 2vw, 16px);
      padding-inline: 0;
    }

    .build-your-box__carousel-brand-icons__item {
      flex: 1 1 0;
      min-width: 0;
      max-width: none;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .build-your-box__carousel-brand-icons__img {
      width: 100%;
      max-width: 100%;
      height: auto;
      max-height: clamp(56px, 21vw, 96px);
      object-fit: contain;
    }
  }

  /*
   * `component-aa-bundle-media-slider.css` caps slideshow + frame at 560px; BYOB carousel must span the
   * full sticky column (asset often loads later — use `#shopify-section` + !important scoped to this slot).
   */
  #shopify-section-{{ section.id }} .build-your-box__desktop-slider-slot slideshow-component.aa-bundle__media-slider {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    box-sizing: border-box;
  }

  #shopify-section-{{ section.id }} .build-your-box__desktop-slider-slot .aa-bundle__media-slider__frame {
    max-width: none !important;
    width: 100%;
    box-sizing: border-box;
  }

  /* Mobile/tablet (<750px): carousel lives in BYOB aside — undo PDP full-bleed `100vw` + negative margins. */
  @media screen and (max-width: 749px) {
    #shopify-section-{{ section.id }}
      .build-your-box__desktop-slider-slot
      slideshow-component.aa-bundle__media-slider {
      width: 100% !important;
      max-width: 100% !important;
      margin-inline: 0 !important;
      margin-left: 0 !important;
      margin-right: 0 !important;
    }
  }

  /* Desktop+: never inherit slideshow horizontal inset from AA bundle CSS here. */
  @media screen and (min-width: 750px) {
    #shopify-section-{{ section.id }} .build-your-box__desktop-slider-slot slideshow-component.aa-bundle__media-slider {
      margin-inline: 0 !important;
    }
  }

  /*
   * BYOB: snippet defaults to object-fit: contain (Autism PDP / transparent PNGs). Here we want slides
   * to fully cover the square frame so the gradient/matte does not peek above/below.
   */
  .build-your-box__desktop-slider-slot
    .aa-bundle__media-slider__media:not(.aa-bundle__media-slider__media--placeholder)
    .aa-bundle__media-slider__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  /* Step 2 heading + category pills: desktop unchanged (full width, left-aligned). */
  .build-your-box__products-step-block {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 0;
  }

  /* Category filter pills — outer host for horizontal scroll + edge gradients on narrow viewports. */
  .build-your-box__product-category-filters-outer {
    width: 100%;
    min-width: 0;
    position: relative;
    z-index: 0;
    --pb-byob-category-fade-w: min(40px, 12vw);
    /* Keeps edge fades above the horizontal scrollbar gutter (set again on mobile). */
    --pb-byob-category-scroll-gutter: 0;
  }

  .build-your-box__product-category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 10px 12px;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__products-step-block {
      align-items: stretch;
    }

    .build-your-box__products-step-block .pb-byob-step-heading {
      justify-content: flex-start;
      text-align: left;
    }

    .build-your-box__products-step-block .pb-byob-step-heading__title {
      flex: 1 1 auto;
      text-align: left;
    }

    .build-your-box__product-category-filters-outer {
      min-width: 0;
      /* Space reserved below pills for the native horizontal scrollbar so it doesn’t overlap tabs. */
      --pb-byob-category-scroll-gutter: 14px;
    }

    /*
     * Scroll affordance: JS toggles `--hint-left` / `--hint-right` modifier classes on the outer.
     * Fades use section color `--pb-byob-category-fade` set inline on the outer.
     */
    .build-your-box__product-category-filters-outer::before,
    .build-your-box__product-category-filters-outer::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: var(--pb-byob-category-scroll-gutter);
      width: var(--pb-byob-category-fade-w);
      z-index: 2;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .build-your-box__product-category-filters-outer::before {
      left: 0;
      background: linear-gradient(
        to right,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer::after {
      right: 0;
      background: linear-gradient(
        to left,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer--hint-left::before {
      opacity: 1;
    }

    .build-your-box__product-category-filters-outer--hint-right::after {
      opacity: 1;
    }

    @media (prefers-reduced-motion: reduce) {
      .build-your-box__product-category-filters-outer::before,
      .build-your-box__product-category-filters-outer::after {
        transition: none;
      }
    }

    .build-your-box__product-category-filters {
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scrollbar-width: thin;
      scrollbar-color: rgba(58, 14, 17, 0.45) rgba(58, 14, 17, 0.1);
      /* Match outer --pb-byob-category-scroll-gutter: room for ~6px bar + clearance from pills */
      padding-bottom: var(--pb-byob-category-scroll-gutter, 14px);
      padding-inline-end: 12px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar {
      height: 5px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-track {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.08);
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.38);
    }

    .build-your-box__product-category-filters .pb-product-selector-tab {
      flex: 0 0 auto;
    }
  }

  /* Picker panel: light pink body. Mobile: full radius (grid sits between rails). Desktop: full radius in grid. */
  .build-your-box__picker-panel {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    background-color: #fdeef4;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    /* Scroll lives on `.build-your-box__picker-grid` so eyebrow + title row stay visible. */
  }

  /*
   * Mobile / tablet (<990px): cap picker height so `.build-your-box__picker-grid` can
   * shrink (`min-height: 0` + `flex: 1`) and scroll internally. Without a bounded parent,
   * the grid grows to full product list and the page scrolls instead.
   */
  @media screen and (max-width: 989px) {
    .build-your-box__picker-panel {
      max-height: min(52dvh, 560px);
    }
  }

  /* Tier-B style strip from `aa-bundle__heading-bar` / `.aa-bundle__heading-title`. */
  .build-your-box__picker-eyebrow {
    flex-shrink: 0;
    margin: 0;
    padding: 0.75rem 1rem;
    box-sizing: border-box;
    border-radius: 20px 20px 0 0;
    background-color: #4a2c2a;
    color: #ffffff;
    text-align: center;
    font-family: var(--font-heading-family);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .build-your-box__picker-title-row {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    box-sizing: border-box;
    min-width: 0;
    /* Opaque bar so grid content does not show through; matches panel pink. */
    background-color: #fdeef4;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  /* Shown only after user scrolls the picker grid (see `pb-byob-bundle.js`). */
  .build-your-box__picker-title-row.build-your-box__picker-title-row--scrolled {
    border-bottom-color: rgba(58, 14, 17, 0.12);
    box-shadow: 0 6px 14px -6px rgba(58, 14, 17, 0.08);
  }

  .build-your-box__picker-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #3a0e11;
  }

  /* Counter pill — same idea as `.aa-bundle__counter-pill`. */
  .build-your-box__picker-count-pill {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: 0.45rem 1rem;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid #4a2c2a;
    border-radius: 9999px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__picker-count-pill-current {
    color: #4a2c2a;
  }

  .build-your-box__picker-count-pill-max {
    color: #e63f82;
  }

  .build-your-box__picker-grid {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 10px 14px;
    box-sizing: border-box;
  }

  /*
   * Desktop only: Add to cart floats over the grid (zero-height sticky shim + absolutely positioned
   * button — no vertical layout shift). Hidden below 990px.
   */
  @media screen and (max-width: 989px) {
    .build-your-box__picker-grid-floating-cta-wrap {
      display: none !important;
    }
  }

  @media screen and (min-width: 990px) {
    .build-your-box__picker-grid {
      position: relative;
    }

    /*
     * Zero-height sticky shim: stays pinned to top of picker scrollport; button is absolute inside
     * so product rows are not shifted. (Plain absolute would scroll away with content.)
     */
    .build-your-box__picker-grid-floating-cta-wrap {
      display: none;
      position: sticky;
      top: 0;
      z-index: 6;
      height: 0;
      margin: 0;
      padding: 0;
      overflow: visible;
      pointer-events: none;
    }

    .build-your-box__picker-grid-floating-cta-wrap:not([hidden]) {
      display: block;
    }

    .build-your-box__picker-grid-floating-cta-wrap .build-your-box__picker-grid-floating-cta__btn {
      position: absolute;
      top: 8px;
      left: 0;
      right: 0;
      pointer-events: auto;
      width: 100%;
      max-width: 100%;
      box-sizing: border-box;
      box-shadow:
        0 4px 14px rgba(58, 14, 17, 0.12),
        0 10px 28px rgba(58, 14, 17, 0.14),
        0 1px 3px rgba(58, 14, 17, 0.08);
    }
  }

  /* Product grid: 2 cols narrow; 3 cols when desktop two-column layout has room. */
  .build-your-box .pb-byob-product-grid__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
  }

  @media screen and (min-width: 990px) {
    .build-your-box .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  .build-your-box .pb-byob-product-grid__cell {
    max-width: none;
    width: 100%;
  }

  /* Ensure category filter `hidden` wins over flex/grid author rules on the cell. */
  .build-your-box .pb-byob-product-grid__cell[hidden] {
    display: none !important;
  }

  /* Selected strip sits on the section background (no inner pink card). */
  .build-your-box__bundle-surface {
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }

  /* Progress strip (mirrors `pb-byob-selected-summary`): track filled via JS linear-gradient. */
  .build-your-box__bundle-surface .pb-byob__selected-progress {
    display: block;
    margin: 0 0 14px;
    width: 100%;
    box-sizing: border-box;
  }

  .build-your-box__bundle-surface .pb-byob__selected-progress-track {
    display: block;
    position: relative;
    width: 100%;
    height: 12px;
    min-height: 12px;
    border-radius: 9999px;
    background-color: #d0d0d0;
    border: none;
    box-shadow: none;
    overflow: hidden;
    box-sizing: border-box;
    isolation: isolate;
  }

  .build-your-box__step-heading-step3--desktop {
    display: none;
  }

  .build-your-box__step-heading-step3--mobile {
    display: block;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__step-heading-step3--desktop {
      display: block;
    }

    .build-your-box__step-heading-step3--mobile {
      display: none;
    }
  }

  /* Step 3 only: tighter title scale than default pb-byob-step-heading (20 / 24). */
  .build-your-box__step-heading-frequency .pb-byob-step-heading {
    --pb-byob-step-title-fs: 20px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__step-heading-frequency .pb-byob-step-heading {
      --pb-byob-step-title-fs: 24px;
    }
  }

  .build-your-box__frequency {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .build-your-box__frequency-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .build-your-box__frequency-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed transparent;
    background-color: transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }

  /*
   * Same language as selected product tiles (`pb-byob-selected-summary`): light blue fill +
   * dashed brown edge — **only** on the option whose radio is checked.
   */
  .build-your-box__frequency-option:has(.build-your-box__frequency-option-input:checked) {
    background-color: #d6eefa;
    border-color: #3a0e11;
  }

  .build-your-box__frequency-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__frequency-option-copy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .build-your-box__frequency-option-main > .build-your-box__frequency-option-copy {
    flex: 0 0 auto;
  }

  .build-your-box__frequency-option-text-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-label-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
  }

  .build-your-box__frequency-subscribe-pack-savings,
  .build-your-box__frequency-onetime-pack-savings {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    color: #e63f82;
    white-space: nowrap;
  }

  .build-your-box__frequency-subscribe-pack-savings:empty,
  .build-your-box__frequency-onetime-pack-savings:empty {
    display: none;
  }

  .build-your-box__frequency-subscribe-benefits {
    margin: 0;
    padding: 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.92);
  }

  .build-your-box__frequency-subscribe-benefits.rte ul {
    margin: 0;
    padding: 0;
    padding-left: 0;
    list-style: none;
    list-style-position: outside;
  }

  .build-your-box__frequency-subscribe-benefits li {
    position: relative;
    margin: 0.4em 0 0;
    padding-left: 1.35em;
  }

  .build-your-box__frequency-subscribe-benefits li:first-child {
    margin-top: 0;
  }

  .build-your-box__frequency-subscribe-benefits li::before {
    content: '';
    position: absolute;
    left: 0.1em;
    top: 0.4em;
    width: 0.45em;
    height: 0.22em;
    border-left: 2px solid #e63f82;
    border-bottom: 2px solid #e63f82;
    transform: rotate(-52deg);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-benefits {
      font-size: 15px;
    }
  }

  .build-your-box__frequency-subscribe-note {
    margin: 0.65em 0 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.7);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-note {
      font-size: 13px;
    }
  }

  .build-your-box__frequency-option-dot {
    width: 22px;
    height: 22px;
    border: 2px solid #3a0e11;
    border-radius: 9999px;
    background: #f9f7e0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-dot::after {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background: #e63f82;
    transform: scale(0);
    transition: transform 0.2s ease;
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    border-color: #e63f82;
  }

  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after {
    transform: scale(1);
  }

  .build-your-box__frequency-option-input:focus-visible + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:focus-visible
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }

  .build-your-box__frequency-option-label {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    line-height: 1.1;
    color: #3a0e11;
    letter-spacing: 0;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-label {
      font-size: 18px;
    }
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-label,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-label {
    color: #e63f82;
  }

  .build-your-box__frequency-option-price {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
    color: #3a0e11;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-price--onetime-split,
  .build-your-box__frequency-option-price--subscribe-split {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
    max-width: 100%;
    white-space: normal;
  }

  .build-your-box__frequency-onetime-price-compare:not(:empty),
  .build-your-box__frequency-subscribe-price-compare:not(:empty) {
    font-family: inherit;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    color: rgba(58, 14, 17, 0.55);
    font-size: 0.92em;
  }

  .build-your-box__frequency-onetime-price-compare:empty,
  .build-your-box__frequency-subscribe-price-compare:empty {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-price {
      font-size: 18px;
    }
  }

  /*
   * Delivery cadence (`--cadence-ab`): native select + disclaimer inside dashed subscription cluster.
   */
  .build-your-box__frequency-delivery-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
  }

  .build-your-box__frequency-delivery-wrap[hidden] {
    display: none !important;
  }

  .build-your-box__frequency-delivery-card {
    margin: 0;
    border: 2px solid #d8ccba;
    border-radius: 9999px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 7px 16px 8px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    cursor: default;
    user-select: none;
  }

  .build-your-box__frequency-delivery-primary {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 400;
    color: #3a0e11;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-primary {
      font-size: 16px;
    }
  }

  .build-your-box__frequency-delivery-micro {
    margin: 0;
    padding: 0 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.2em 0.35em;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: rgba(58, 14, 17, 0.7);
    text-align: center;
    max-width: 100%;
  }

  .build-your-box__frequency-delivery-micro-star {
    font-weight: 700;
    color: rgba(58, 14, 17, 0.85);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-micro {
      font-size: 12px;
    }
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-card {
    padding: 9px 16px 10px;
    border-color: #3a0e11;
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-primary {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
  }

  .build-your-box__build-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 13px 18px;
    border: none;
    border-radius: 9999px;
    background-color: #e63f82;
    color: #ffffff;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity 0.15s ease, background-color 0.15s ease;
  }

  .build-your-box__build-cta:hover:not(:disabled) {
    opacity: 0.94;
  }

  .build-your-box__build-cta:focus {
    outline: none;
  }

  .build-your-box__build-cta:focus-visible {
    outline: 2px solid #3a0e11;
    outline-offset: 3px;
  }

  .build-your-box__build-cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }

  .build-your-box__build-cta-label {
    display: block;
  }

  /* Breathing room between the delivery-note pill (inside the rail fieldset) and the CTA. */
  .build-your-box__plan-and-cta--rail > .build-your-box__build-cta {
    margin-top: 14px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__build-cta {
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 24px;
    }
  }

  .build-your-box__sticky-build {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 40;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: none;
  }

  /*
   * Mobile only: bottom sticky uses `padding-bottom: env(safe-area-inset-bottom)` (see rule below).
   * The wrapper is transparent — on Mobile Chrome, scrolling content reads through whenever the
   * visual inset doesn’t match collapsing toolbars; extend a solid bleed below the gradient bar.
   */
  @media screen and (max-width: 989px) {
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      pointer-events: none;
      height: calc(env(safe-area-inset-bottom, 0px) + 20px);
      background: #f4bad4;
    }

    /* One continuous band with `::after` fill — hide the seam above the bleed / home gutter. */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-inner {
      border-bottom: none;
    }
  }

  .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build {
    top: 0;
  }

  .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build {
    bottom: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .build-your-box__sticky-build.is-anim-ready {
    transition: transform 0.24s ease, opacity 0.2s ease;
  }

  .build-your-box__sticky-build.is-hidden-top {
    transform: translateY(calc(-100% - 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build.is-hidden-bottom {
    transform: translateY(calc(100% + 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build[hidden] {
    display: none !important;
  }

  .build-your-box__sticky-build-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    cursor: pointer;
    box-sizing: border-box;
    padding: 14px 12px;
    background: linear-gradient(180deg, #bfa5e8 0%, #f4bad4 100%);
    border-top: 1px solid rgba(58, 14, 17, 0.08);
    border-bottom: 1px solid rgba(58, 14, 17, 0.08);
  }

  .build-your-box__sticky-build-count {
    margin: 0;
    margin-right: auto;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #3a0e11;
    text-transform: uppercase;
  }

  .build-your-box__sticky-build-count-current,
  .build-your-box__sticky-build-count-max {
    color: #3a0e11;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__sticky-build-cta {
    min-width: 148px;
    width: auto;
    padding: 13px 24px;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    cursor: pointer;
  }

  .build-your-box__sticky-build-chevron {
    width: 23px;
    min-width: 23px;
    height: 14px;
    line-height: 0;
    color: #3a0e11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: rotate(0deg);
    transition: transform 0.22s ease;
  }

  .build-your-box__sticky-build-chevron svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-chevron {
    transform: rotate(180deg);
  }

  .build-your-box__sticky-build-panel {
    width: 100%;
    margin: 0;
    border-radius: 0;
    border: none;
    background-color: #f9f7e0;
    box-sizing: border-box;
  }

  /* Desktop sheet: discrete show/hide. */
  @media screen and (min-width: 990px) {
    .build-your-box__sticky-build-panel {
      padding: 14px 14px;
    }

    .build-your-box__sticky-build-panel[hidden] {
      display: none !important;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  /*
   * Mobile (<990px): simple slide drawer — sheet is absolute (no layout jump), translateY only.
   * Bottom sticky: anchored above the chrome, slides down when closed (`translateY(100%)`).
   * Top sticky: anchored below the chrome, slides up when closed (`translateY(-100%)`).
   */
  @media screen and (max-width: 989px) {
    .build-your-box__sticky-build-inner {
      position: relative;
      z-index: 2;
    }

    .build-your-box__sticky-build-panel {
      position: absolute;
      left: 0;
      right: 0;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding: 12px 10px;
      max-height: min(82vh, 720px);
      overflow-x: visible;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      background-color: #f9f7e0;
      border-radius: 0;
      border: none;
      pointer-events: none;
      transition: transform 0.33s cubic-bezier(0.32, 0.72, 0, 1);
      z-index: 1;
    }

    /* Bottom-aligned sticky chrome (Magic Spoon layout). */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-panel {
      bottom: 100%;
      top: auto;
      transform: translate3d(0, 100%, 0);
    }

    /* Top-aligned sticky chrome. */
    .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build-panel {
      top: 100%;
      bottom: auto;
      transform: translate3d(0, -100%, 0);
    }
    /* Let JS animate close before `hidden` is reapplied — keep `[hidden]` from blocking transitions mid-flight. */
    .build-your-box__sticky-build-panel[hidden] {
      display: block !important;
      pointer-events: none;
      visibility: hidden;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      transform: translate3d(0, 0, 0);
      pointer-events: auto;
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  @media screen and (max-width: 989px) and (prefers-reduced-motion: reduce) {
    .build-your-box__sticky-build-panel {
      transition: none;
    }
  }

  .build-your-box__sticky-build-panel-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 0;
  }

  .build-your-box__sticky-build-panel-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: max-content;
    min-width: 100%;
    align-items: stretch;
  }

  .build-your-box__sticky-build-panel-item {
    width: 72px;
    min-width: 72px;
    margin: 0;
    display: block;
    position: relative;
  }

  .build-your-box__sticky-build-panel-tile {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    border: 1px dashed #3a0e11;
    box-sizing: border-box;
    overflow: hidden;
    background-color: transparent;
    position: relative;
  }

  .build-your-box__sticky-build-panel-thumb {
    position: absolute;
    inset: 0;
    border-radius: 9px;
    overflow: hidden;
    background-color: #d6eefa;
  }

  .build-your-box__sticky-build-panel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .build-your-box__sticky-build-panel-tile--empty {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .build-your-box__sticky-build-panel-plus {
    line-height: 0;
  }

  .build-your-box__sticky-build-remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 27px;
    height: 27px;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    transform: translate(25%, -25%);
    cursor: pointer;
    border-radius: 9999px;
    z-index: 2;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon {
    width: 27px;
    height: 27px;
    display: block;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .build-your-box__sticky-build-panel-empty {
    margin: 0;
    padding: 6px 8px;
    font-family: var(--font-body-family);
    font-size: 13px;
    line-height: 1.35;
    color: #3a0e11;
  }

  /* Mobile (<990px): Magic Spoon–style sheet — plan + full-width ATC live in the sticky panel (PB-22). */
  .build-your-box__sticky-plan-stack {
    display: none;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 4px 8px;
    margin-top: 8px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-plan-stack {
      display: flex;
    }

    .build-your-box__sticky-build-cta {
      display: none !important;
    }

    .build-your-box__sticky-plan-stack .build-your-box__step-heading-frequency {
      margin: 0;
    }

    .build-your-box__build-cta--mobile-full {
      width: 100%;
      margin-top: 4px;
      box-sizing: border-box;
    }
  }

  @media screen and (min-width: 990px) {
    .build-your-box__sticky-plan-stack {
      display: none !important;
    }
  }

  .build-your-box__sticky-modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 39;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(58, 14, 17, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-modal-backdrop:not([hidden]) {
      display: block;
    }
  }

  @media screen and (min-width: 750px) {
    .build-your-box__sticky-build-inner {
      padding: 18px 32px;
    }

    .build-your-box__sticky-build-count {
      font-size: 16px;
    }

    .build-your-box__sticky-build-panel-item {
      width: 86px;
      min-width: 86px;
    }
  }



  /* BYOB A/B: mobile intro line + cadence UI (see `pb-byob-bundle-onetime.js`). */
  .build-your-box--byob-ab .build-your-box__intro-heading--desktop {
    display: block;
  }
  .build-your-box--byob-ab .build-your-box__intro-heading--mobile {
    display: none;
  }
  @media screen and (max-width: 749px) {
    .build-your-box--byob-ab .build-your-box__intro-heading--desktop {
      display: none;
    }
    .build-your-box--byob-ab .build-your-box__intro-heading--mobile {
      display: block;
      line-height: 1rem;
      margin-top: 1rem;
    }
    .build-your-box--byob-ab .build-your-box__intro-body {
      font-size: max(13px, 3.4vw);
      line-height: 1.35;
      max-width: 100%;
    }
  }

  /* One dashed blue panel: subscribe copy + cadence dropdown (BYOB A/B). */
  .build-your-box__frequency-ab-cluster {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed #3a0e11;
    background-color: #d6eefa;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-ab-cluster .build-your-box__frequency-options {
    gap: 0;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border-radius: 0;
    border: none;
    background-color: transparent;
    cursor: default;
  }

  /* Subscribe-only row has no radio: show the pink inner dot like a selected option. */
  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-dot {
    border-color: #e63f82;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-dot::after {
    transform: scale(1);
  }

  /* No separate radio row — treat title like the selected subscribe option. */
  .build-your-box__frequency--ab-only .build-your-box__frequency-option--static .build-your-box__frequency-option-label {
    color: #e63f82;
  }

  .build-your-box__frequency--ab-only .build-your-box__frequency-delivery-wrap {
    margin: 0;
  }

  /* One outline only: cadence variants override base `.frequency-delivery-card` (2px pill) explicitly. */
  .build-your-box__frequency-delivery-card.build-your-box__frequency-delivery-card--cadence-ab {
    align-items: stretch;
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(58, 14, 17, 0.22);
    background: rgba(255, 255, 255, 0.55);
    padding: 10px 12px;
    gap: 6px;
    cursor: default;
  }

  /* Mobile descendant rule beats single-class modifiers — keep cadence AB to a single 1px frame. */
  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-card.build-your-box__frequency-delivery-card--cadence-ab {
    border: 1px solid rgba(58, 14, 17, 0.22);
  }

  .build-your-box__cadence-select-label {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__cadence-select-label {
      font-size: 14px;
    }
  }

  .build-your-box__cadence-select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 9px 32px 9px 12px;
    border-radius: 8px;
    border: 1px solid rgba(58, 14, 17, 0.35);
    background-color: #ffffff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233a0e11' d='M1.4 0L6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 8px;
    appearance: none;
    -webkit-appearance: none;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #3a0e11;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .build-your-box__cadence-select:focus {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }

  .build-your-box__frequency-delivery-card--cadence-ab .build-your-box__frequency-delivery-micro {
    justify-content: flex-start;
    text-align: left;
    padding: 4px 0 0;
  }
/* END_SECTION:build-your-box-onetime */

/* START_SECTION:build-your-box-v2 (INDEX:11) */
.build-your-box-v2 {
    background: #f9f7e0;
    padding: 24px 12px;
  }

  .build-your-box-v2__inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 16px;
  }

  .build-your-box-v2__intro {
    text-align: center;
  }

  .build-your-box-v2__intro h2 {
    margin: 0 0 6px;
  }

  .build-your-box-v2__intro p {
    margin: 0;
  }

  .build-your-box-v2__picker-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  .build-your-box-v2__picker-count {
    margin: 0;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__picker-count-pill-current,
  .build-your-box__picker-count-pill-max {
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__build-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 14px 18px;
    border: none;
    border-radius: 9999px;
    background-color: #e63f82;
    color: #ffffff;
    cursor: pointer;
  }

  .build-your-box__build-cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }

  .build-your-box__build-cta-label {
    display: block;
  }
/* END_SECTION:build-your-box-v2 */

/* START_SECTION:build-your-box (INDEX:12) */
@font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: block;
  }

  /* Arboria-Bold: single file of bold-shaped glyphs — use font-weight 400 only (matches `pb-pack-size-selector`, `pb-faq-accordion`). */
  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  /*
   * ─── Mobile-only hero band (≤749px) ────────────────────────────────────────
   * Figma node 57:26 — 375×205px frame, background #CDA8EF (lilac).
   * Hero height = 205px image area + 40px wave overlap = 245px total.
   * margin-bottom: -40px pulls the content below up by the wave height,
   * so the wave visually overlaps the cream background seamlessly.
   * Hidden on desktop (≥750px). Uploads use object-fit so they stay proportional.
   */
  .build-your-box__intro-hero {
    position: relative;
    width: 100%;
    /* 245px total = 205px image + 40px wave. Scaled: 245/375 = 65.333vw */
    height: 65.333vw;
    max-height: 245px;
    /* Negative margin pulls the content below up by the wave height (40px),
       so the cream wave visually merges with the section background */
    margin-bottom: -10.667vw;
    /* Wave sits bottom: -2px; overflow: hidden would clip the overlap that closes the seam. */
    overflow: visible;
    background-color: #cda8ef;
    box-sizing: border-box;
    isolation: isolate;
  }

  /*
   * Fills the band without stretching (crops evenly via object-fit: cover).
   */
  .build-your-box__intro-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
    display: block;
    pointer-events: none;
    z-index: 1;
  }

  /*
   * Wave SVG — full-width cream shape.
   * Sits at bottom of the 245px hero (205px image + 40px wave area).
   * z-index 2 so it renders above the image.
   */
  .build-your-box__intro-hero-wave {
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 10.667vw;
    max-height: 40px;
    z-index: 2;
    display: block;
    pointer-events: none;
  }

  @media screen and (min-width: 375px) {
    .build-your-box__intro-hero {
      height: 245px;
      margin-bottom: -40px;
    }
    .build-your-box__intro-hero-wave {
      height: 40px;
    }
  }

  @media screen and (min-width: 750px) {
    .build-your-box__intro-hero {
      display: none;
    }
  }

  /* ── Intro copy block (heading + body paragraph) ─────────────────────────── */
  .build-your-box__intro {
    display: block;
    text-align: center;
    margin: 0 0 2rem;
    padding: 0 0.5rem;
    box-sizing: border-box;
  }

  .build-your-box__intro-heading {
    margin: 0 0 0.75rem;
    font-family: 'Funkydori', 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 54px;
    font-weight: 700 !important;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.05;
    letter-spacing: 0;
    color: #3a0e11;
    text-transform: lowercase;
  }

  .build-your-box__intro-body {
    margin: 0 auto;
    max-width: 36rem;
    font-family: var(--font-body-family);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(58, 14, 17, 0.92);
  }

  @media screen and (max-width: 749px) {
    /*
     * Hero `.build-your-box__intro-hero` uses negative bottom margin (~10.667vw / 40px) so the
     * wave overlaps the cream section—that pulls `.page-width` upward into the hero band unless
     * we offset intro text (z-index alone does not fix layout overlap).
     */
    .build-your-box__intro {
      position: relative;
      z-index: 2;
      padding-top: calc(10.667vw + 4px);
      margin-bottom: 0.6rem;
      max-width: 100%;
    }

    .build-your-box__intro-heading {
      font-size: clamp(28px, 8.2vw, 40px);
      margin-bottom: 0.5rem;
    }

    .build-your-box__intro-body {
      font-size: 16px;
    }
  }

  /*
   * From 375px up the hero uses a fixed −40px bottom margin — cap intro offset so ultra-wide phones
   * do not accumulate excess padding vs. vw math (which blows up approaching 749px wide).
   */
  @media screen and (min-width: 375px) and (max-width: 749px) {
    .build-your-box__intro {
      padding-top: 44px;
    }
  }

  /* Tighter stack: intro → Step 1 on narrow layouts (single-column builder). */
  @media screen and (max-width: 989px) {
    .build-your-box__controls-rail-top > .pb-byob-step-heading {
      margin-top: 0.45rem;
    }
  }

  .build-your-box__container {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__container {
      max-width: min(1200px, 100%);
      padding-inline: 0;
    }
  }

  /* PB-22 — large desktop breakpoints. Container grows so the picker can stretch. */
  @media screen and (min-width: 1200px) {
    .build-your-box__container {
      max-width: min(1280px, 100%);
    }
  }

  @media screen and (min-width: 1440px) {
    .build-your-box__container {
      max-width: min(1380px, 100%);
    }
  }

  /*
   * Mobile (<990px): column flow — step 1–2 + category filters, then product grid,
   * then selected summary + step 3 (frequency) + CTA (DOM order).
   * Desktop: two columns — picker (left, spans two rows) | rail-top (row1) + rail-bottom (row2).
   */
  .build-your-box__layout {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
    align-items: stretch;
  }

  .build-your-box__controls-rail-top,
  .build-your-box__controls-rail-bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    width: 100%;
    min-width: 0;
  }

  /*
   * Mobile / tablet: hide headline price rail only (BYOB Q2 — duplicate of Step 3 totals on small screens).
   * Step 3 Subscribe / One-Time row prices remain visible; JS still updates rail nodes if layout changes.
   */
  .build-your-box__rail-price-summary {
    display: none !important;
  }

  /*
   * `.build-your-box--onetime` uses a stacked inner layout (`build-your-box-onetime`): do not inherit
   * this picker | rails grid (bundled stylesheet is global across sections).
   */
  @media screen and (min-width: 990px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      display: grid;
      grid-template-columns: minmax(0, 500px) minmax(0, 500px);
      grid-template-rows: auto auto;
      gap: 1.25rem 3rem;
      justify-content: center;
      align-items: stretch;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__picker-panel {
      grid-column: 1;
      grid-row: 1 / span 2;
      max-height: min(75vh, 780px);
      min-height: 0;
      border-radius: 20px;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__controls-rail-top {
      grid-column: 2;
      grid-row: 1;
      align-self: start;
    }

    .build-your-box:not(.build-your-box--onetime) .build-your-box__controls-rail-bottom {
      grid-column: 2;
      grid-row: 2;
      align-self: start;
    }
  }

  /*
   * PB-22 — large desktop layout. From 1200px the picker takes more horizontal space
   * than the controls rail (frequency / summary / CTA), giving the product grid room
   * to breathe without changing the rail's compact rhythm. Above 1440px both columns
   * grow proportionally inside the wider container.
   */
  @media screen and (min-width: 1200px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      grid-template-columns: minmax(0, 620px) minmax(0, 460px);
      gap: 1.25rem 80px;
    }
  }

  @media screen and (min-width: 1440px) {
    .build-your-box:not(.build-your-box--onetime) .build-your-box__layout {
      grid-template-columns: minmax(0, 720px) minmax(0, 500px);
      gap: 1.25rem 100px;
    }
  }

  /* Step 2 heading + category pills: desktop unchanged (full width, left-aligned). */
  .build-your-box__products-step-block {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    gap: 0;
  }

  /* Category filter pills — outer host for horizontal scroll + edge gradients on narrow viewports. */
  .build-your-box__product-category-filters-outer {
    width: 100%;
    min-width: 0;
    position: relative;
    z-index: 0;
    --pb-byob-category-fade-w: min(40px, 12vw);
    /* Keeps edge fades above the horizontal scrollbar gutter (set again on mobile). */
    --pb-byob-category-scroll-gutter: 0;
  }

  .build-your-box__product-category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 10px 12px;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__products-step-block {
      align-items: stretch;
    }

    .build-your-box__products-step-block .pb-byob-step-heading {
      justify-content: flex-start;
      text-align: left;
    }

    .build-your-box__products-step-block .pb-byob-step-heading__title {
      flex: 1 1 auto;
      text-align: left;
    }

    .build-your-box__product-category-filters-outer {
      min-width: 0;
      /* Space reserved below pills for the native horizontal scrollbar so it doesn’t overlap tabs. */
      --pb-byob-category-scroll-gutter: 14px;
    }

    /*
     * Scroll affordance: JS toggles `--hint-left` / `--hint-right` modifier classes on the outer.
     * Fades use section color `--pb-byob-category-fade` set inline on the outer.
     */
    .build-your-box__product-category-filters-outer::before,
    .build-your-box__product-category-filters-outer::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: var(--pb-byob-category-scroll-gutter);
      width: var(--pb-byob-category-fade-w);
      z-index: 2;
      pointer-events: none;
      opacity: 0;
      transition: opacity 0.2s ease;
    }

    .build-your-box__product-category-filters-outer::before {
      left: 0;
      background: linear-gradient(
        to right,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer::after {
      right: 0;
      background: linear-gradient(
        to left,
        var(--pb-byob-category-fade, #f9f7e0) 0%,
        rgba(249, 247, 224, 0) 100%
      );
    }

    .build-your-box__product-category-filters-outer--hint-left::before {
      opacity: 1;
    }

    .build-your-box__product-category-filters-outer--hint-right::after {
      opacity: 1;
    }

    @media (prefers-reduced-motion: reduce) {
      .build-your-box__product-category-filters-outer::before,
      .build-your-box__product-category-filters-outer::after {
        transition: none;
      }
    }

    .build-your-box__product-category-filters {
      flex-wrap: nowrap;
      justify-content: flex-start;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
      scrollbar-width: thin;
      scrollbar-color: rgba(58, 14, 17, 0.45) rgba(58, 14, 17, 0.1);
      /* Match outer --pb-byob-category-scroll-gutter: room for ~6px bar + clearance from pills */
      padding-bottom: var(--pb-byob-category-scroll-gutter, 14px);
      padding-inline-end: 12px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar {
      height: 5px;
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-track {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.08);
    }

    .build-your-box__product-category-filters::-webkit-scrollbar-thumb {
      border-radius: 999px;
      background: rgba(58, 14, 17, 0.38);
    }

    .build-your-box__product-category-filters .pb-product-selector-tab {
      flex: 0 0 auto;
    }
  }

  /* Picker panel: light pink body. Mobile: full radius (grid sits between rails). Desktop: full radius in grid. */
  .build-your-box__picker-panel {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
    background-color: #fdeef4;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    /* Scroll lives on `.build-your-box__picker-grid` so eyebrow + title row stay visible. */
  }

  /*
   * Mobile / tablet (<990px): cap picker height so `.build-your-box__picker-grid` can
   * shrink (`min-height: 0` + `flex: 1`) and scroll internally. Without a bounded parent,
   * the grid grows to full product list and the page scrolls instead.
   */
  @media screen and (max-width: 989px) {
    .build-your-box__picker-panel {
      max-height: min(52dvh, 560px);
    }
  }

  /* Tier-B style strip from `aa-bundle__heading-bar` / `.aa-bundle__heading-title`. */
  .build-your-box__picker-eyebrow {
    flex-shrink: 0;
    margin: 0;
    padding: 0.75rem 1rem;
    box-sizing: border-box;
    border-radius: 20px 20px 0 0;
    background-color: #4a2c2a;
    color: #ffffff;
    text-align: center;
    font-family: var(--font-heading-family);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .build-your-box__picker-title-row {
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px 10px;
    box-sizing: border-box;
    min-width: 0;
    /* Opaque bar so grid content does not show through; matches panel pink. */
    background-color: #fdeef4;
    border-bottom: 1px solid transparent;
    box-shadow: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  /* Shown only after user scrolls the picker grid (see `pb-byob-bundle.js`). */
  .build-your-box__picker-title-row.build-your-box__picker-title-row--scrolled {
    border-bottom-color: rgba(58, 14, 17, 0.12);
    box-shadow: 0 6px 14px -6px rgba(58, 14, 17, 0.08);
  }

  .build-your-box__picker-title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: #3a0e11;
  }

  /* Counter pill — same idea as `.aa-bundle__counter-pill`. */
  .build-your-box__picker-count-pill {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: 0.45rem 1rem;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid #4a2c2a;
    border-radius: 9999px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__picker-count-pill-current {
    color: #4a2c2a;
  }

  .build-your-box__picker-count-pill-max {
    color: #e63f82;
  }

  .build-your-box__picker-grid {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 0 10px 14px;
    box-sizing: border-box;
  }

  /* Product grid: 2 cols narrow; 3 cols when desktop two-column layout has room. */
  .build-your-box .pb-byob-product-grid__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-width: none;
  }

  @media screen and (min-width: 990px) {
    .build-your-box .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  .build-your-box .pb-byob-product-grid__cell {
    max-width: none;
    width: 100%;
  }

  /* Ensure category filter `hidden` wins over flex/grid author rules on the cell. */
  .build-your-box .pb-byob-product-grid__cell[hidden] {
    display: none !important;
  }

  /* Selected strip sits on the section background (no inner pink card). */
  .build-your-box__bundle-surface {
    background-color: transparent;
    border-radius: 0;
    overflow: visible;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
  }

  /* Progress strip (mirrors `pb-byob-selected-summary`): track filled via JS linear-gradient. */
  .build-your-box__bundle-surface .pb-byob__selected-progress {
    display: block;
    margin: 0 0 14px;
    width: 100%;
    box-sizing: border-box;
  }

  .build-your-box__bundle-surface .pb-byob__selected-progress-track {
    display: block;
    position: relative;
    width: 100%;
    height: 12px;
    min-height: 12px;
    border-radius: 9999px;
    background-color: #d0d0d0;
    border: none;
    box-shadow: none;
    overflow: hidden;
    box-sizing: border-box;
    isolation: isolate;
  }

  .build-your-box__step-heading-step3--desktop {
    display: none;
  }

  .build-your-box__step-heading-step3--mobile {
    display: block;
  }

  @media screen and (min-width: 990px) {
    .build-your-box__step-heading-step3--desktop {
      display: block;
    }

    .build-your-box__step-heading-step3--mobile {
      display: none;
    }
  }

  /* Step 3 only: tighter title scale than default pb-byob-step-heading (20 / 24). */
  .build-your-box__step-heading-frequency .pb-byob-step-heading {
    --pb-byob-step-title-fs: 20px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__step-heading-frequency .pb-byob-step-heading {
      --pb-byob-step-title-fs: 24px;
    }
  }

  .build-your-box__frequency {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .build-your-box__frequency-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .build-your-box__frequency-option {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px dashed transparent;
    background-color: transparent;
    transition: background-color 0.15s ease, border-color 0.15s ease;
  }

  /*
   * Same language as selected product tiles (`pb-byob-selected-summary`): light blue fill +
   * dashed brown edge — **only** on the option whose radio is checked.
   */
  .build-your-box__frequency-option:has(.build-your-box__frequency-option-input:checked) {
    background-color: #d6eefa;
    border-color: #3a0e11;
  }

  .build-your-box__frequency-option-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__frequency-option-copy {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
  }

  .build-your-box__frequency-option-main > .build-your-box__frequency-option-copy {
    flex: 0 0 auto;
  }

  .build-your-box__frequency-option-text-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .build-your-box__frequency-option-label-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
  }

  .build-your-box__frequency-subscribe-pack-savings,
  .build-your-box__frequency-onetime-pack-savings {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.1;
    color: #e63f82;
    white-space: nowrap;
  }

  .build-your-box__frequency-subscribe-pack-savings:empty,
  .build-your-box__frequency-onetime-pack-savings:empty {
    display: none;
  }

  .build-your-box__frequency-subscribe-benefits {
    margin: 0;
    padding: 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.92);
  }

  .build-your-box__frequency-subscribe-benefits.rte ul {
    margin: 0;
    padding: 0;
    padding-left: 0;
    list-style: none;
    list-style-position: outside;
  }

  .build-your-box__frequency-subscribe-benefits li {
    position: relative;
    margin: 0.4em 0 0;
    padding-left: 1.35em;
  }

  .build-your-box__frequency-subscribe-benefits li:first-child {
    margin-top: 0;
  }

  .build-your-box__frequency-subscribe-benefits li::before {
    content: '';
    position: absolute;
    left: 0.1em;
    top: 0.4em;
    width: 0.45em;
    height: 0.22em;
    border-left: 2px solid #e63f82;
    border-bottom: 2px solid #e63f82;
    transform: rotate(-52deg);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-benefits {
      font-size: 15px;
    }
  }

  .build-your-box__frequency-subscribe-note {
    margin: 0.65em 0 0;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.7);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-subscribe-note {
      font-size: 13px;
    }
  }

  .build-your-box__frequency-option-dot {
    width: 22px;
    height: 22px;
    border: 2px solid #3a0e11;
    border-radius: 9999px;
    background: #f9f7e0;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color 0.2s ease;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-dot::after {
    content: '';
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background: #e63f82;
    transform: scale(0);
    transition: transform 0.2s ease;
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    border-color: #e63f82;
  }

  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot::after {
    transform: scale(1);
  }

  .build-your-box__frequency-option-input:focus-visible + .build-your-box__frequency-option-copy .build-your-box__frequency-option-dot,
  .build-your-box__frequency-option-input:focus-visible
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-dot {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }

  .build-your-box__frequency-option-label {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    line-height: 1.1;
    color: #3a0e11;
    letter-spacing: 0;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-label {
      font-size: 18px;
    }
  }

  .build-your-box__frequency-option-input:checked + .build-your-box__frequency-option-copy .build-your-box__frequency-option-label,
  .build-your-box__frequency-option-input:checked
    + .build-your-box__frequency-option-main
    .build-your-box__frequency-option-copy
    .build-your-box__frequency-option-label {
    color: #e63f82;
  }

  .build-your-box__frequency-option-price {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
    color: #3a0e11;
    white-space: nowrap;
    flex-shrink: 0;
  }

  .build-your-box__frequency-option-price--onetime-split,
  .build-your-box__frequency-option-price--subscribe-split {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 0.25rem 0.4rem;
    max-width: 100%;
    white-space: normal;
  }

  .build-your-box__frequency-onetime-price-compare:not(:empty),
  .build-your-box__frequency-subscribe-price-compare:not(:empty) {
    font-family: inherit;
    font-weight: 400;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
    color: rgba(58, 14, 17, 0.55);
    font-size: 0.92em;
  }

  .build-your-box__frequency-onetime-price-compare:empty,
  .build-your-box__frequency-subscribe-price-compare:empty {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-option-price {
      font-size: 18px;
    }
  }

  /*
   * Static copy — single 30-day cadence. One pill (`delivery-card`) holds the primary line +
   * optional micro disclaimer (leading * added in markup).
   */
  .build-your-box__frequency-delivery-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    margin: 0;
  }

  .build-your-box__frequency-delivery-wrap[hidden] {
    display: none !important;
  }

  .build-your-box__frequency-delivery-card {
    margin: 0;
    border: 2px solid #d8ccba;
    border-radius: 9999px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 7px 16px 8px;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
    cursor: default;
    user-select: none;
  }

  .build-your-box__frequency-delivery-primary {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 400;
    color: #3a0e11;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-primary {
      font-size: 16px;
    }
  }

  .build-your-box__frequency-delivery-micro {
    margin: 0;
    padding: 0 4px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.2em 0.35em;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 11px;
    line-height: 1.35;
    font-weight: 400;
    letter-spacing: 0.01em;
    color: rgba(58, 14, 17, 0.7);
    text-align: center;
    max-width: 100%;
  }

  .build-your-box__frequency-delivery-micro-star {
    font-weight: 700;
    color: rgba(58, 14, 17, 0.85);
  }

  @media screen and (min-width: 750px) {
    .build-your-box__frequency-delivery-micro {
      font-size: 12px;
    }
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-card {
    padding: 9px 16px 10px;
    border-color: #3a0e11;
  }

  .build-your-box__frequency--mobile .build-your-box__frequency-delivery-primary {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
  }

  .build-your-box__build-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 13px 18px;
    border: none;
    border-radius: 9999px;
    background-color: #e63f82;
    color: #ffffff;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-align: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: opacity 0.15s ease, background-color 0.15s ease;
  }

  .build-your-box__build-cta:hover:not(:disabled) {
    opacity: 0.94;
  }

  .build-your-box__build-cta:focus {
    outline: none;
  }

  .build-your-box__build-cta:focus-visible {
    outline: 2px solid #3a0e11;
    outline-offset: 3px;
  }

  .build-your-box__build-cta:disabled {
    opacity: 0.55;
    cursor: not-allowed;
  }

  .build-your-box__build-cta-label {
    display: block;
  }

  /* Breathing room between the delivery-note pill (inside the rail fieldset) and the CTA. */
  .build-your-box__plan-and-cta--rail > .build-your-box__build-cta {
    margin-top: 14px;
  }

  @media screen and (min-width: 750px) {
    .build-your-box__build-cta {
      padding-top: 20px;
      padding-bottom: 20px;
      font-size: 24px;
    }
  }

  .build-your-box__sticky-build {
    position: fixed;
    left: 0;
    right: 0;
    z-index: 40;
    box-sizing: border-box;
    padding: 0;
    background: transparent;
    border: none;
  }

  /*
   * Mobile only: bottom sticky uses `padding-bottom: env(safe-area-inset-bottom)` (see rule below).
   * The wrapper is transparent — on Mobile Chrome, scrolling content reads through whenever the
   * visual inset doesn’t match collapsing toolbars; extend a solid bleed below the gradient bar.
   */
  @media screen and (max-width: 989px) {
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build::after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 0;
      pointer-events: none;
      height: calc(env(safe-area-inset-bottom, 0px) + 20px);
      background: #f4bad4;
    }

    /* One continuous band with `::after` fill — hide the seam above the bleed / home gutter. */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-inner {
      border-bottom: none;
    }
  }

  .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build {
    top: 0;
  }

  .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build {
    bottom: 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .build-your-box__sticky-build.is-anim-ready {
    transition: transform 0.24s ease, opacity 0.2s ease;
  }

  .build-your-box__sticky-build.is-hidden-top {
    transform: translateY(calc(-100% - 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build.is-hidden-bottom {
    transform: translateY(calc(100% + 8px));
    opacity: 0;
    pointer-events: none;
  }

  .build-your-box__sticky-build[hidden] {
    display: none !important;
  }

  .build-your-box__sticky-build-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    cursor: pointer;
    box-sizing: border-box;
    padding: 14px 12px;
    background: linear-gradient(180deg, #bfa5e8 0%, #f4bad4 100%);
    border-top: 1px solid rgba(58, 14, 17, 0.08);
    border-bottom: 1px solid rgba(58, 14, 17, 0.08);
  }

  .build-your-box__sticky-build-count {
    margin: 0;
    margin-right: auto;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif !important;
    font-size: 13px;
    font-weight: 700;
    font-style: normal;
    font-synthesis: none;
    line-height: 1.15;
    letter-spacing: 0.02em;
    color: #3a0e11;
    text-transform: uppercase;
  }

  .build-your-box__sticky-build-count-current,
  .build-your-box__sticky-build-count-max {
    color: #3a0e11;
    font-variant-numeric: tabular-nums;
  }

  .build-your-box__sticky-build-cta {
    min-width: 148px;
    width: auto;
    padding: 13px 24px;
    font-size: 18px;
    line-height: 1;
    flex-shrink: 0;
    cursor: pointer;
  }

  .build-your-box__sticky-build-chevron {
    width: 23px;
    min-width: 23px;
    height: 14px;
    line-height: 0;
    color: #3a0e11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: rotate(0deg);
    transition: transform 0.22s ease;
  }

  .build-your-box__sticky-build-chevron svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-chevron {
    transform: rotate(180deg);
  }

  .build-your-box__sticky-build-panel {
    width: 100%;
    margin: 0;
    border-radius: 0;
    border: none;
    background-color: #f9f7e0;
    box-sizing: border-box;
  }

  /* Desktop sheet: discrete show/hide. */
  @media screen and (min-width: 990px) {
    .build-your-box__sticky-build-panel {
      padding: 14px 14px;
    }

    .build-your-box__sticky-build-panel[hidden] {
      display: none !important;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  /*
   * Mobile (<990px): simple slide drawer — sheet is absolute (no layout jump), translateY only.
   * Bottom sticky: anchored above the chrome, slides down when closed (`translateY(100%)`).
   * Top sticky: anchored below the chrome, slides up when closed (`translateY(-100%)`).
   */
  @media screen and (max-width: 989px) {
    .build-your-box__sticky-build-inner {
      position: relative;
      z-index: 2;
    }

    .build-your-box__sticky-build-panel {
      position: absolute;
      left: 0;
      right: 0;
      box-sizing: border-box;
      display: flex;
      flex-direction: column;
      padding: 12px 10px;
      max-height: min(82vh, 720px);
      overflow-x: visible;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      background-color: #f9f7e0;
      border-radius: 0;
      border: none;
      pointer-events: none;
      transition: transform 0.33s cubic-bezier(0.32, 0.72, 0, 1);
      z-index: 1;
    }

    /* Bottom-aligned sticky chrome (Magic Spoon layout). */
    .build-your-box[data-pb-byob-sticky-cta-position='bottom'] .build-your-box__sticky-build-panel {
      bottom: 100%;
      top: auto;
      transform: translate3d(0, 100%, 0);
    }

    /* Top-aligned sticky chrome. */
    .build-your-box[data-pb-byob-sticky-cta-position='top'] .build-your-box__sticky-build-panel {
      top: 100%;
      bottom: auto;
      transform: translate3d(0, -100%, 0);
    }
    /* Let JS animate close before `hidden` is reapplied — keep `[hidden]` from blocking transitions mid-flight. */
    .build-your-box__sticky-build-panel[hidden] {
      display: block !important;
      pointer-events: none;
      visibility: hidden;
    }

    .build-your-box__sticky-build.is-panel-open .build-your-box__sticky-build-panel:not([hidden]) {
      transform: translate3d(0, 0, 0);
      pointer-events: auto;
      border-bottom: 1px solid rgba(58, 14, 17, 0.14);
      box-shadow: 0 8px 20px rgba(58, 14, 17, 0.12);
    }
  }

  @media screen and (max-width: 989px) and (prefers-reduced-motion: reduce) {
    .build-your-box__sticky-build-panel {
      transition: none;
    }
  }

  .build-your-box__sticky-build-panel-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 0;
    padding: 0;
  }

  .build-your-box__sticky-build-panel-grid {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: max-content;
    min-width: 100%;
    align-items: stretch;
  }

  .build-your-box__sticky-build-panel-item {
    width: 72px;
    min-width: 72px;
    margin: 0;
    display: block;
    position: relative;
  }

  .build-your-box__sticky-build-panel-tile {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    border: 1px dashed #3a0e11;
    box-sizing: border-box;
    overflow: hidden;
    background-color: transparent;
    position: relative;
  }

  .build-your-box__sticky-build-panel-thumb {
    position: absolute;
    inset: 0;
    border-radius: 9px;
    overflow: hidden;
    background-color: #d6eefa;
  }

  .build-your-box__sticky-build-panel-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .build-your-box__sticky-build-panel-tile--empty {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .build-your-box__sticky-build-panel-plus {
    line-height: 0;
  }

  .build-your-box__sticky-build-remove {
    position: absolute;
    top: 0;
    right: 0;
    width: 27px;
    height: 27px;
    padding: 0;
    border: 0;
    background: transparent;
    line-height: 0;
    transform: translate(25%, -25%);
    cursor: pointer;
    border-radius: 9999px;
    z-index: 2;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon {
    width: 27px;
    height: 27px;
    display: block;
  }

  .build-your-box__sticky-build-remove .pb-byob__selected-remove-icon svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .build-your-box__sticky-build-panel-empty {
    margin: 0;
    padding: 6px 8px;
    font-family: var(--font-body-family);
    font-size: 13px;
    line-height: 1.35;
    color: #3a0e11;
  }

  /* Mobile (<990px): Magic Spoon–style sheet — plan + full-width ATC live in the sticky panel (PB-22). */
  .build-your-box__sticky-plan-stack {
    display: none;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
    padding: 16px 4px 8px;
    margin-top: 8px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-plan-stack {
      display: flex;
    }

    .build-your-box__sticky-build-cta {
      display: none !important;
    }

    .build-your-box__sticky-plan-stack .build-your-box__step-heading-frequency {
      margin: 0;
    }

    .build-your-box__build-cta--mobile-full {
      width: 100%;
      margin-top: 4px;
      box-sizing: border-box;
    }
  }

  @media screen and (min-width: 990px) {
    .build-your-box__sticky-plan-stack {
      display: none !important;
    }
  }

  .build-your-box__sticky-modal-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 39;
    margin: 0;
    padding: 0;
    border: none;
    background: rgba(58, 14, 17, 0.48);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  @media screen and (max-width: 989px) {
    .build-your-box__sticky-modal-backdrop:not([hidden]) {
      display: block;
    }
  }

  @media screen and (min-width: 750px) {
    .build-your-box__sticky-build-inner {
      padding: 18px 32px;
    }

    .build-your-box__sticky-build-count {
      font-size: 16px;
    }

    .build-your-box__sticky-build-panel-item {
      width: 86px;
      min-width: 86px;
    }
  }
/* END_SECTION:build-your-box */

/* START_SECTION:event-highlight (INDEX:32) */
.event-highlight {
    background-color: #F9F7E0;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  
  .event-highlight-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 40px 30px;
    border-radius: 20px;
    border: 2px solid var(--event-border-color);
    box-shadow: -7.7px 7.7px 0px 0px var(--event-border-color);
    background-color: var(--event-bg-color);
  }
  
  .event-highlight-content p {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1;
    text-align: left;
  }

  .event-text, .event-text p {
    font-family: 'BubbleboddyNeue', sans-serif !important;
    font-size: var(--event-text-size);
    color: var(--event-text-color);
    margin: 0;
    flex: 1;
    font-weight: 700;
  }
  
  .event-link {
    font-family: 'BubbleboddyNeue', sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: var(--event-link-color);
    font-size: var(--event-link-size);
    font-weight: 700;
  }
  
  .event-link:hover {
    opacity: 0.8;
  }
  
  .event-link svg {
    flex-shrink: 0;
  }
  
  @media screen and (max-width: 749px) {
    .event-highlight {
      padding: 30px 0;
    }

    .event-text p {
      font-size: 28px;
    }
    
    .event-highlight-content {
      flex-direction: column;
      gap: 15px;
      text-align: center;
    }
    
    .event-text {
      font-size: var(--event-text-size-mobile);
    }
    
    .event-link {
      display: block;
      width: 100%;
      text-align: left;
      font-size: var(--event-link-size-mobile);
    }
  }
/* END_SECTION:event-highlight */

/* START_SECTION:featured-blocks (INDEX:34) */
.featured-blocks-section {
    padding-top: var(--padding-top);
    padding-bottom: var(--padding-bottom);
    background: var(--background-color);
  }

  .featured-blocks__title {
    font-size: var(--heading-font-size);
    color: var(--heading-color);
    text-align: var(--heading-alignment);
    margin-bottom: 0;
  }

  .featured-blocks__title strong,
  .featured-blocks__title b {
    font-family: 'Funkydori', sans-serif;
    font-size: calc(var(--heading-font-size) * 1.44);
  }

  .product-card {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 8px;
    padding: 16px;
    transition: all 0.3s ease;
    max-width: 231px;
    flex-shrink: 0;
    padding-top: 0;
  }

  .product-card a {
    display: flex;
    flex-direction: column;
  }

  .featured-blocks-wrapper .product-title {
    font-family: 'BubbleboddyNeue' !important;
    font-weight: 700;
    font-size: 15.4px;
    margin: 0 auto 0;
    color: var(--product-title-color);
    text-align: center;
  }

  .featured-blocks-section .button--dev {
    background-color: var(--button-bg);
    color: var(--button-color);
  }

  .featured-blocks-section .button--dev.hover_bite-button {
    background-color: var(--button-bg);
    color: var(--button-color);
  }

  .featured-blocks-section .outlined_button {
    background-color: var(--button2-bg);
    color: var(--button2-color);
    border: 1px solid transparent;
  }

  .featured-blocks-container {
    position: relative;
    overflow: hidden;
  }

  /* Enable manual scrolling when auto-scroll is disabled */
  .featured-blocks-container:has(.featured-blocks-wrapper:not(.scrolling)) {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
  }

  .featured-blocks-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }

  .featured-blocks-wrapper {
    display: flex;
    gap: 20px;
    transition: transform 0.3s ease;
    scroll-behavior: smooth;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .featured-blocks__slides {
    display: flex;
    gap: 20px;
    flex-shrink: 0;
    position: relative;
    align-items: flex-start;
  }

  .featured-blocks-wrapper.scrolling[data-scroll-direction="right"] .featured-blocks__slides {
    display: flex;
    flex-direction: row-reverse;
    animation: moveLeft var(--scroll-speed) linear infinite;
    align-items: flex-start;
  }
  .featured-blocks-wrapper.scrolling[data-scroll-direction="left"] .featured-blocks__slides {
    display: flex;
    animation: moveRight var(--scroll-speed) linear infinite;
    align-items: flex-start;
  }
  
  .featured-blocks-wrapper:not(.scrolling) .featured-blocks__slides {
    display: flex;
    align-items: flex-start;
  }

  @keyframes moveLeft {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
  @keyframes moveRight {
    from {
      transform: translatex(-100%);
    }
    to {
      transform: translatex(0);
    }
  }

  .featured-blocks-wrapper::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }

  .featured-blocks-wrapper[data-scroll-direction="left"] div {
    flex-direction: row-reverse;
  }

  /* Pause animation on hover */
  .featured-blocks-container:hover .scrolling .featured-blocks__slides {
    animation-play-state: paused;
  }

  .product-card:hover {
    background: var(--bg-color) !important;
    border-color: var(--border-color) !important;
    border-width: 1.5px !important;
    box-shadow: -7.7px 7.7px 0px 0px var(--border-color);
  }

  .product-card img {
    width: 190px;
    height: 140px;
    object-fit: contain;
  }

  /* Clean slate - ready for new animation implementation */

  @media screen and (max-width: 768px) {
    .featured-blocks__title {
      font-size: var(--heading-font-size-mobile);
    }

    .featured-blocks-wrapper {
      padding-top: 0;
    }
    .featured-blocks-section .button--dev, .featured-blocks-section .button--dev.hover_bite-button {
      margin-bottom: 18px;
    }

    .featured-blocks__title strong,
    .featured-blocks__title b {
      font-size: calc(var(--heading-font-size-mobile) * 1.44);
      line-height: 1;
    }
    
    .featured-blocks-wrapper .product-title {
      font-size: 12px;
    }
    
    .featured-blocks-wrapper {
      gap: 15px;
      padding-bottom: 0;
    }
    
    .product-card {
      min-width: 150px !important;
      padding: 12px !important;
    }
  }
/* END_SECTION:featured-blocks */

/* START_SECTION:featured-cards (INDEX:36) */
.featured-cards-section {
    padding-top: var(--padding-top-desktop);
    padding-bottom: var(--padding-bottom-desktop);
    background: var(--background-color);
  }

  .featured-cards__title {
    font-size: var(--heading-font-size);
    color: var(--heading-color);
    text-align: var(--heading-alignment);
    margin-bottom: 0;
    margin-top: 0;
  }

  .featured-cards__title strong,
  .featured-cards__title b {
    display: inline-block;
    font-family: 'Funkydori', sans-serif;
    font-size: calc(var(--heading-font-size) * 1.44);
    height: 55px;
    max-height: 55px;
  }

  .featured-cards-section .button--dev {
    background-color: var(--button-bg);
    color: var(--button-color);
  }

  .featured-cards-section .button--dev.hover_bite-button {
    background-color: var(--button-bg);
    color: var(--button-color);
  }

  .featured-cards-section .outlined_button {
    background-color: var(--button2-bg);
    color: var(--button2-color);
    border: 1px solid transparent;
  }

  .featured-cards-container {
    overflow: visible;
    overflow-y: visible;
    padding: 80px 40px 60px;
    margin-top: -15px;
    margin-left: -40px;
    margin-right: -40px;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
  }

  .featured-cards-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
  }

  .featured-cards-wrapper {
    display: flex;
    gap: 20px;
    padding: 0 40px;
    margin: 0 -40px;
    min-width: 100%;
  }

  .featured-card__wrapper {
    position: relative;
    flex: 0 0 calc(33.333% - 14px);
    flex-shrink: 0;
    flex-grow: 0;
  }

  .featured-card {
    border: 2px solid var(--card-border-color);
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
  }

  .featured-card__upper-right-image {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(30%, -50%);
    z-index: 10;
    overflow: hidden;
  }

  .featured-card__upper-right-image .upper-right-img {
    /* width: 100%;
    height: 100%;
    object-fit: cover; */
    width: 180px;
  }

  .featured-card:hover {
    transform: translateY(-2px);
  }

  .featured-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: 40px;
    background: var(--card-bg-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid var(--card-border-color);
  }

  .featured-card__image .card-image {
    aspect-ratio: 1 /1;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .featured-card__content {
    padding: 40px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .featured-card__title {
    font-family: 'BubbleboddyNeue', sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #3A0E11;
    margin: 0 0 20px 0;
    line-height: 1.2;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }

  .featured-card__description {
    font-family: 'Arboria', sans-serif;
    font-size: 20px;
    color: #3A0E11;
    line-height: 1.5;
    margin-bottom: 30px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    flex: 1;
  }

  .featured-card__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #3A0E11;
    text-decoration: none;
    font-family: 'BubbleboddyNeue', sans-serif;
    font-weight: 700;
    font-size: 20px;
    transition: color 0.3s ease;
  }

  .featured-card__link:hover {
    opacity: 0.8;
  }

  .featured-card__link svg {
    flex-shrink: 0;
  }

  @media screen and (max-width: 768px) {
    .featured-cards-section {
      padding-top: var(--padding-top-mobile);
      padding-bottom: var(--padding-bottom-mobile);
    }

    .featured-cards-container {
      padding-bottom: 10px;
      padding-left: 0;
    }
    
    .featured-cards__title {
      font-size: var(--heading-font-size-mobile);
      padding: 0 20px;
      line-height: 1;
      max-width: 300px;
      margin: auto;
    }

    .featured-cards-section .page-width {
      padding-left: 0;
      padding-right: 0;
    }
    
    .featured-cards__title strong,
    .featured-cards__title b {
      font-size: calc(var(--heading-font-size-mobile) * 1.44);
      line-height: 1;
      display: inline-block;
      height: 20px;
      margin-right: 6px;
    }
    
    .featured-cards-container {
      margin: 0;
      margin-top: -40px;
    }
    
    .featured-cards-wrapper {
      gap: 15px;
      padding: 0 18px;
      margin: 0;
    }
    
    .featured-card__wrapper {
      flex: 0 0 70%;
      min-width: 261px;
    }
    
    .featured-card {
      width: 100%;
      height: 100%;
    }
    
    .featured-card__image {
      padding: 20px;
    }
    
    .featured-card__content {
      padding: 16px;
    }
    
    .featured-card__title {
      font-size: 28px;
    }
    
    .featured-card__description {
      font-size: 13px;
    }
    
    .featured-card__upper-right-image .upper-right-img {
      width: 90px;
    }
  }
/* END_SECTION:featured-cards */

/* START_SECTION:pb-aa-centered-heading (INDEX:87) */
.pb-aa-centered-heading {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-aa-centered-bg, #f9f7e0);
  }

  .pb-aa-centered-heading__inner {
    width: 100%;
    max-width: var(--pb-aa-centered-max, 1080px);
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-aa-centered-heading__inner {
      padding-inline: 40px;
    }
  }

  .pb-aa-centered-heading .aa-hero-display-heading {
    margin-inline: auto;
    text-align: center;
  }

  .pb-aa-centered-heading__blocks {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
  }
/* END_SECTION:pb-aa-centered-heading */

/* START_SECTION:pb-aa-collection-grid (INDEX:88) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-aa-collection-grid {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-aa-grid-bg, #f9f7e0);
  }

  .pb-aa-collection-grid__inner {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-aa-collection-grid__inner {
      padding-inline: 40px;
    }
  }

  .pb-aa-collection-grid__header {
    text-align: center;
    margin-bottom: 32px;
  }

  .pb-aa-collection-grid__header .aa-hero-display-heading {
    margin: 0 auto;
    text-align: center;
  }

  .pb-aa-collection-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  @media screen and (min-width: 750px) {
    .pb-aa-collection-grid__list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 24px;
    }
  }

  .pb-aa-product-card {
    height: 100%;
  }

  .pb-aa-product-card__link {
    display: block;
    height: 100%;
    text-decoration: none;
    color: inherit;
  }

  .pb-aa-product-card__media {
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 12px;
  }

  .pb-aa-product-card__image,
  .pb-aa-product-card__placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .pb-aa-product-card__content {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .pb-aa-product-card__title {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .pb-aa-product-card__title {
      font-size: 18px;
    }
  }

  .pb-aa-product-card__price {
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: #4a2c2a;
  }

  @media screen and (min-width: 750px) {
    .pb-aa-product-card__price {
      font-size: 16px;
    }
  }

  .pb-aa-product-card__price-compare {
    text-decoration: line-through;
    opacity: 0.7;
  }
/* END_SECTION:pb-aa-collection-grid */

/* START_SECTION:pb-brand-style-guide-preview (INDEX:89) */
@font-face {
    font-family: 'BubbleboddyNeue-Bold';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
  }

  .pb-brand-sgp {
    --pb-sgp-bg: #ffc1da;
    --pb-sgp-ink: #3a0e11;
    --pb-sgp-card: rgba(249, 247, 224, 0.95);
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-brand-sgp-bg, var(--pb-sgp-bg));
    color: var(--pb-sgp-ink);
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 15px;
    line-height: 1.5;
    border-block-end: 3px dashed rgba(58, 14, 17, 0.35);
  }

  .pb-brand-sgp * {
    box-sizing: border-box;
  }

  .pb-brand-sgp__ribbon {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 20px;
    background: #e63f82;
    color: #fffef8;
    font-family: 'Arboria-Bold', 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .pb-brand-sgp__ribbon a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .pb-brand-sgp__nav {
    position: sticky;
    top: 0;
    z-index: 50;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
    padding: 12px 16px;
    margin: 0;
    background: rgba(249, 247, 224, 0.92);
    backdrop-filter: blur(6px);
    border-block-end: 1px solid rgba(58, 14, 17, 0.15);
  }

  .pb-brand-sgp__nav a {
    font-family: 'BubbleboddyNeue-Bold', 'BubbleboddyNeue', sans-serif;
    font-size: 13px;
    color: #3a0e11;
    text-decoration: none;
    padding: 6px 10px;
    border-radius: 999px;
    border: 2px solid rgba(58, 14, 17, 0.2);
    background: #fffef8;
  }

  .pb-brand-sgp__nav a:hover {
    border-color: #e63f82;
    color: #e63f82;
  }

  .pb-brand-sgp__inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 24px 20px 40px;
  }

  @media screen and (min-width: 750px) {
    .pb-brand-sgp__inner {
      padding-inline: 40px;
      padding-bottom: 56px;
    }
  }

  .pb-brand-sgp__hero {
    text-align: center;
    margin-bottom: 32px;
  }

  .pb-brand-sgp__eyebrow {
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #7029b2;
    margin: 0 0 8px;
  }

  .pb-brand-sgp__title {
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: clamp(1.75rem, 4vw, 2.75rem);
    line-height: 1.1;
    margin: 0 0 10px;
    text-transform: lowercase;
  }

  .pb-brand-sgp__subtitle {
    font-size: 1.15rem;
    margin: 0 0 16px;
  }

  .pb-brand-sgp__logo-row {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 56px;
    margin-bottom: 12px;
  }

  .pb-brand-sgp__logo-row img {
    max-width: min(280px, 90vw);
    height: auto;
  }

  .pb-brand-sgp__cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 12px 22px;
    border-radius: 999px;
    background: #3a0e11;
    color: #f9f7e0;
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    text-decoration: none;
    font-size: 15px;
  }

  .pb-brand-sgp__cta:hover {
    background: #7029b2;
  }

  .pb-brand-sgp__card {
    background: var(--pb-sgp-card);
    border-radius: 20px;
    border: 2px solid rgba(58, 14, 17, 0.12);
    padding: 20px;
    margin-bottom: 18px;
  }

  .pb-brand-sgp__card h3 {
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    margin: 0 0 10px;
    font-size: 1.35rem;
    text-transform: lowercase;
  }

  .pb-brand-sgp__details {
    border-radius: 16px;
    border: 1px solid rgba(58, 14, 17, 0.15);
    background: rgba(255, 254, 248, 0.75);
    margin-bottom: 12px;
    overflow: hidden;
  }

  .pb-brand-sgp__details summary {
    cursor: pointer;
    padding: 14px 16px;
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: 17px;
    list-style-position: outside;
    text-transform: lowercase;
  }

  .pb-brand-sgp__details[open] summary {
    border-bottom: 1px solid rgba(58, 14, 17, 0.1);
    background: rgba(156, 221, 239, 0.25);
  }

  .pb-brand-sgp__details-body {
    padding: 14px 16px 18px;
  }

  .pb-brand-sgp__grid-3 {
    display: grid;
    gap: 16px;
  }

  @media screen and (min-width: 750px) {
    .pb-brand-sgp__grid-3 {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .pb-brand-sgp__voice-col h4 {
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    margin: 0 0 6px;
    font-size: 1.1rem;
    color: #e63f82;
    text-transform: lowercase;
  }

  .pb-brand-sgp__voice-col ul {
    margin: 0;
    padding-left: 18px;
  }

  .pb-brand-sgp__lines {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    padding: 0;
    margin: 0;
    list-style: none;
  }

  .pb-brand-sgp__lines li {
    padding: 6px 14px;
    border-radius: 999px;
    background: #f9f7e0;
    border: 1px solid rgba(58, 14, 17, 0.2);
    font-size: 13px;
  }

  .pb-brand-sgp__dont {
    display: grid;
    gap: 12px;
  }

  @media screen and (min-width: 750px) {
    .pb-brand-sgp__dont {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .pb-brand-sgp__dont-item {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 10px 12px;
    border-radius: 14px;
    background: rgba(230, 63, 130, 0.12);
    border: 1px solid rgba(230, 63, 130, 0.35);
    font-size: 14px;
  }

  .pb-brand-sgp__dont-item span:first-child {
    font-weight: bold;
    flex-shrink: 0;
  }

  .pb-brand-sgp__sw-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  }

  .pb-brand-sgp__swatch {
    border-radius: 14px;
    overflow: hidden;
    border: 1px solid rgba(58, 14, 17, 0.15);
    background: #fffef8;
  }

  .pb-brand-sgp__sw-h {
    height: 72px;
  }

  .pb-brand-sgp__sw-meta {
    padding: 10px;
    font-size: 11px;
    line-height: 1.35;
  }

  .pb-brand-sgp__sw-meta strong {
    display: block;
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: 13px;
    margin-bottom: 4px;
    text-transform: lowercase;
  }

  .pb-brand-sgp__flavors {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }

  .pb-brand-sgp__flavor {
    border-radius: 14px;
    padding: 12px;
    border: 1px solid rgba(58, 14, 17, 0.12);
    background: #fffef8;
  }

  .pb-brand-sgp__flavor-bar {
    height: 40px;
    border-radius: 10px;
    margin-bottom: 8px;
  }

  .pb-brand-sgp__flavor h5 {
    margin: 0;
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: 14px;
    text-transform: lowercase;
  }

  .pb-brand-sgp__flavor p {
    margin: 6px 0 0;
    font-size: 12px;
    color: rgba(58, 14, 17, 0.85);
  }

  .pb-brand-sgp__type-row {
    display: grid;
    gap: 16px;
  }

  @media screen and (min-width: 750px) {
    .pb-brand-sgp__type-row {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .pb-brand-sgp__type-sample {
    padding: 16px;
    border-radius: 16px;
    background: rgba(249, 247, 224, 0.5);
    border: 2px dashed rgba(58, 14, 17, 0.2);
  }

  .pb-brand-sgp__type-sample h5 {
    margin: 0 0 12px;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.75;
    font-family: 'Arboria-Book', sans-serif;
  }

  .pb-brand-sgp__bubble {
    font-family: 'BubbleboddyNeue-Bold', sans-serif;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1.05;
    text-transform: lowercase;
  }

  .pb-brand-sgp__accent-font {
    font-family: 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1.1;
    text-transform: lowercase;
    font-synthesis: none;
  }

  .pb-brand-sgp__hex {
    font-family: ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    font-weight: 600;
    letter-spacing: 0.02em;
  }

  .pb-brand-sgp__color-label {
    font-weight: 600;
  }

  .pb-brand-sgp__chip {
    display: inline-block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: var(--pb-chip, #ccc);
    border: 1px solid rgba(58, 14, 17, 0.18);
    vertical-align: -3px;
  }

  .pb-brand-sgp__flavor-colors {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 8px 0 0;
    padding: 0;
    list-style: none;
  }

  .pb-brand-sgp__flavor-color {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    line-height: 1.3;
  }

  .pb-brand-sgp__sw-meta .pb-brand-sgp__hex {
    font-size: inherit;
  }

  .pb-brand-sgp__muted {
    font-size: 12px;
    margin-top: 8px;
    opacity: 0.85;
  }

  .pb-brand-sgp__list-two {
    column-count: 1;
    margin: 0;
    padding-left: 18px;
  }

  @media screen and (min-width: 750px) {
    .pb-brand-sgp__list-two {
      column-count: 2;
      column-gap: 28px;
    }
  }

  .pb-brand-sgp footer {
    margin-top: 28px;
    padding-top: 16px;
    border-top: 1px dashed rgba(58, 14, 17, 0.25);
    font-size: 12px;
    text-align: center;
    opacity: 0.8;
  }
/* END_SECTION:pb-brand-style-guide-preview */

/* START_SECTION:pb-carousel-reviews (INDEX:91) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-carousel-reviews {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-cr-bg, #f9f7e0);
  }

  .pb-carousel-reviews__inner {
    max-width: 1192px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  /* Mobile: no horizontal padding on the section shell — carousel is full-bleed; intro uses its own inset. */
  @media screen and (max-width: 749px) {
    .pb-carousel-reviews__inner {
      padding-inline: 0;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-reviews__inner {
      padding-inline: 40px;
      gap: 32px;
    }
  }

  .pb-carousel-reviews__card-stack {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-carousel-reviews__slider {
    display: block;
    width: 100%;
  }

  .pb-carousel-reviews__track {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  /* Mobile: ~85% slide + peek; row `align-items: stretch` = all slides match tallest; column flex on slide fills card. */
  @media screen and (max-width: 749px) {
    .pb-carousel-reviews__track {
      display: flex;
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: stretch;
      gap: 12px;
      scroll-padding-left: 20px;
      padding-left: 20px;
      padding-right: 0;
      box-sizing: border-box;
    }

    .pb-carousel-reviews__slide {
      flex: 0 0 85%;
      width: 85%;
      max-width: 85%;
      min-width: 85%;
      box-sizing: border-box;
      scroll-snap-align: start;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      align-self: stretch;
      min-height: 0;
    }

    .pb-carousel-reviews__track--single .pb-carousel-reviews__slide {
      flex: 0 0 100%;
      width: 100%;
      max-width: 100%;
      min-width: 100%;
    }
  }

  /* Desktop: 4 columns; grid row stretch = equal card heights without fixed min-heights */
  @media screen and (min-width: 750px) {
    .pb-carousel-reviews__track {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      align-items: stretch;
      gap: 16px;
      overflow: visible;
      scroll-snap-type: none;
      padding-left: 0;
      padding-right: 0;
    }

    /* Column flex so the nested `article` can grow to full cell height */
    .pb-carousel-reviews__slide {
      display: flex;
      flex-direction: column;
      align-items: stretch;
      min-width: 0;
      min-height: 0;
      width: 100%;
      max-width: none;
    }
  }

  /* Prev/next: Dawn’s `.slider--mobile` margin-bottom removed here; spacing lives on controls */
  .pb-carousel-reviews .slider.slider--mobile {
    margin-bottom: 0;
  }

  /* Prev/next: custom 48px circles (Dawn hides `.slider--mobile + .slider-buttons` from 750px up) */
  .pb-carousel-reviews__controls {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-top: 24px;
  }

  .pb-carousel-reviews__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    line-height: 0;
    border-radius: 50%;
  }

  .pb-carousel-reviews__nav-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
  }

  .pb-carousel-reviews__nav-btn:not(:disabled):active {
    transform: scale(0.96);
  }

  .pb-carousel-reviews__nav-btn svg {
    display: block;
  }

  .pb-carousel-reviews__cta-wrap {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (max-width: 749px) {
    .pb-carousel-reviews__cta-wrap {
      padding-inline: 20px;
      /* inner column gap is 24px; +16px = 40px from carousel (arrows) to button */
      margin-top: 16px;
    }
  }

  /* Centered stack: stars, heading, paragraph — mobile side inset only here (not on the card strip). */
  .pb-carousel-reviews__text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    gap: 10px;
  }

  @media screen and (max-width: 749px) {
    .pb-carousel-reviews__text-wrapper {
      padding-inline: 20px;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-reviews__text-wrapper {
      gap: 14px;
      padding-inline: 0;
    }
  }

  .pb-carousel-reviews__text-wrapper .aa-review-stars-row {
    justify-content: center;
    margin-bottom: 0;
    --aa-review-stars-row-gap-after: 0;
  }

  .pb-carousel-reviews__text-wrapper .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 56rem;
    text-align: center;
  }

  .pb-carousel-reviews__subtext {
    margin: 0;
    max-width: 40rem;
    color: #4a2c2a;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-reviews__subtext {
      font-size: 20px;
      max-width: none;
    }

    .pb-carousel-reviews__subtext--limit-desktop {
      max-width: 40rem;
    }
  }
/* END_SECTION:pb-carousel-reviews */

/* START_SECTION:pb-channings-joy-image-slider (INDEX:92) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-cj-slider {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-cj-bg, #e63f82);
    overflow-x: visible;
    /* Caps side gutters for scroll-snap (avoids huge calc(50% − half slide) on wide viewports) */
    --pb-cj-track-edge-pad-max: 50px;
  }

  .pb-cj-slider__inner {
    max-width: 1192px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
  }

  /* Foundation intro: maroon band; wave + pink slider sit below */
  .pb-cj-slider__intro {
    width: 100%;
    box-sizing: border-box;
    background-color: #3a0e11;
    color: #f9f7e0;
  }

  .pb-cj-slider__intro-inner {
    max-width: 1192px;
    margin-inline: auto;
    padding: 36px 20px 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
  }

  .pb-cj-slider__intro-text {
    width: 100%;
    max-width: 40rem;
    text-align: center;
  }

  /* Eyebrow: same bold / responsive-break pattern as hero, smaller scale */
  .pb-cj-slider__intro-eyebrow {
    margin: 0;
    max-width: 48rem;
    margin-inline: auto;
    color: #f9f7e0;
    font-family: var(--font-heading-family);
    font-style: normal;
    font-weight: 700;
    letter-spacing: normal;
    font-size: 18px;
    line-height: 1.2;
  }

  .pb-cj-slider__intro-eyebrow strong,
  .pb-cj-slider__intro-eyebrow b {
    font-family: 'Funkydori-Bold-Fixed', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 22px;
    line-height: inherit;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__intro-eyebrow {
      font-size: 20px;
    }

    .pb-cj-slider__intro-eyebrow strong,
    .pb-cj-slider__intro-eyebrow b {
      font-size: 26px;
    }
  }

  .pb-cj-slider__intro-text .aa-hero-display-heading {
    margin-top: 8px;
    margin-bottom: 0;
    color: #f9f7e0;
    margin-inline: auto;
  }

  .pb-cj-slider__intro-text .aa-hero-display-heading:first-child {
    margin-top: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__intro-text .aa-hero-display-heading {
      margin-top: 10px;
      margin-bottom: 12px;
    }

    .pb-cj-slider__intro-text .aa-hero-display-heading:first-child {
      margin-top: 0;
    }
  }

  .pb-cj-slider__intro-body {
    margin: 12px 0 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 15px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.55;
    letter-spacing: normal;
    font-synthesis: none;
    color: #f9f7e0;
  }

  .pb-cj-slider__intro-body strong,
  .pb-cj-slider__intro-body b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  /* RTE blocks may set theme body font on p/li; keep Arboria-Book for all copy */
  .pb-cj-slider__intro-body.rte :is(p, li, ul, ol) {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
  }

  .pb-cj-slider__intro-text > .pb-cj-slider__intro-body:first-child {
    margin-top: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__intro-body {
      margin-top: 16px;
      font-size: 16px;
    }

    .pb-cj-slider__intro-text > .pb-cj-slider__intro-body:first-child {
      margin-top: 0;
    }
  }

  .pb-cj-slider__intro-body p {
    margin: 0;
  }

  .pb-cj-slider__intro-body p + p {
    margin-top: 12px;
  }

  .pb-cj-slider__intro-body a {
    color: #f9f7e0;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .pb-cj-slider__intro-body a:focus-visible {
    outline: 2px solid #f9f7e0;
    outline-offset: 3px;
  }

  .pb-cj-slider__intro-media {
    width: 100%;
    max-width: 320px;
    margin-inline: auto;
    flex-shrink: 0;
  }

  .pb-cj-slider__intro-img {
    display: block;
    width: 100%;
    height: auto;
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__intro-inner {
      flex-direction: row;
      flex-wrap: nowrap;
      align-items: center;
      justify-content: space-between;
      gap: 40px;
      padding: 48px 40px 0;
    }

    .pb-cj-slider__intro-text {
      flex: 1 1 0;
      min-width: 0;
      max-width: none;
      text-align: center;
    }

    .pb-cj-slider__intro-media {
      flex: 0 1 45%;
      max-width: 420px;
      width: auto;
      margin-inline: 0;
    }

    .pb-cj-slider__intro-inner--logo-only {
      justify-content: center;
    }

    .pb-cj-slider__intro-inner--logo-only .pb-cj-slider__intro-media {
      flex: 0 1 auto;
      max-width: 420px;
    }

    .pb-cj-slider__intro-inner--text-only {
      justify-content: center;
    }

    .pb-cj-slider__intro-inner--text-only .pb-cj-slider__intro-text {
      flex: 0 1 42rem;
      max-width: 42rem;
    }
  }

  .pb-cj-slider__slider-wrap {
    margin-bottom: 24px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (max-width: 749px) {
    .pb-cj-slider__inner {
      padding-inline: 0;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__inner {
      padding-inline: 40px;
      overflow-x: visible;
    }

    /* Full-viewport image strip: breakout from padded inner */
    .pb-cj-slider__slider-wrap {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw);
    }
  }

  .pb-cj-slider__track {
    list-style: none;
    margin: 0;
    padding: 0;
    /* Space between image row and horizontal scrollbar */
    padding-bottom: 20px;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    overscroll-behavior-x: none;
    box-sizing: border-box;
  }

  .pb-cj-slider__track:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }

  /* Mobile: vw-based slide width so % flex basis cannot collapse; center snap.
     Use 50% of the track (not 50vw). Cap edge padding with --pb-cj-track-edge-pad-max so sides stay tight. */
  @media screen and (max-width: 749px) {
    .pb-cj-slider__track:not(.pb-cj-slider__track--single):not(.pb-cj-slider__track--fits) {
      --pb-cj-slide-w: clamp(200px, 62vw, 85vw);
      padding-inline: max(
        0px,
        min(var(--pb-cj-track-edge-pad-max), calc(50% - var(--pb-cj-slide-w) / 2))
      );
      scroll-padding-inline: max(
        0px,
        min(var(--pb-cj-track-edge-pad-max), calc(50% - var(--pb-cj-slide-w) / 2))
      );
    }

    .pb-cj-slider__track:not(.pb-cj-slider__track--single) .pb-cj-slider__slide {
      flex: 0 0 var(--pb-cj-slide-w);
      width: var(--pb-cj-slide-w);
      max-width: var(--pb-cj-slide-w);
      min-width: var(--pb-cj-slide-w);
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }

    .pb-cj-slider__track:not(.pb-cj-slider__track--single).pb-cj-slider__track--fits {
      --pb-cj-slide-w: clamp(200px, 62vw, 85vw);
      gap: 12px;
      padding-inline: 20px;
      scroll-padding-inline: 20px;
      justify-content: center;
      overflow-x: hidden;
    }

    .pb-cj-slider__track--single {
      overflow-x: hidden;
      justify-content: center;
      padding-inline: 20px;
      scroll-snap-type: none;
    }

    .pb-cj-slider__track--single .pb-cj-slider__slide {
      flex: 0 0 auto;
      width: min(90vw, 420px);
      max-width: 100%;
      scroll-snap-align: none;
    }
  }

  /* Desktop: 291px slides; 50% minus half slide, capped by --pb-cj-track-edge-pad-max. */
  @media screen and (min-width: 750px) {
    .pb-cj-slider__track:not(.pb-cj-slider__track--single):not(.pb-cj-slider__track--fits) {
      --pb-cj-slide-w: 291px;
      gap: 16px;
      padding-inline: max(
        0px,
        min(var(--pb-cj-track-edge-pad-max), calc(50% - var(--pb-cj-slide-w) / 2))
      );
      scroll-padding-inline: max(
        0px,
        min(var(--pb-cj-track-edge-pad-max), calc(50% - var(--pb-cj-slide-w) / 2))
      );
    }

    /* All slides fit: center row, no infinite loop, no side padding trick */
    .pb-cj-slider__track:not(.pb-cj-slider__track--single).pb-cj-slider__track--fits {
      --pb-cj-slide-w: 291px;
      gap: 16px;
      padding-inline: 40px;
      scroll-padding-inline: 40px;
      justify-content: center;
      overflow-x: hidden;
    }

    .pb-cj-slider__track:not(.pb-cj-slider__track--single) .pb-cj-slider__slide {
      flex: 0 0 var(--pb-cj-slide-w);
      width: var(--pb-cj-slide-w);
      max-width: var(--pb-cj-slide-w);
      min-width: var(--pb-cj-slide-w);
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }

    .pb-cj-slider__track--single {
      overflow-x: hidden;
      justify-content: center;
      scroll-snap-type: none;
    }

    .pb-cj-slider__track--single .pb-cj-slider__slide {
      flex: 0 0 auto;
      width: auto;
      max-width: 100%;
      scroll-snap-align: none;
    }
  }

  .pb-cj-slider__slide {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .pb-cj-slider__figure {
    margin: 0;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    background: rgba(255, 255, 255, 0.15);
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__figure {
      width: 291px;
      height: 260px;
      max-width: 291px;
      aspect-ratio: auto;
      box-sizing: border-box;
    }
  }

  .pb-cj-slider__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .pb-cj-slider__content {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  @media screen and (max-width: 749px) {
    .pb-cj-slider__content {
      padding-inline: 20px;
    }
  }

  .pb-cj-slider__box {
    width: 100%;
    max-width: 42rem;
    box-sizing: border-box;
    margin: 0 0 24px;
    padding: 20px;
    border-radius: 16px;
    background-color: #fff1f7;
    border: 1px dashed #3a0e11;
    color: #3a0e11;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
    text-align: center;
    white-space: pre-line;
  }

  @media screen and (min-width: 750px) {
    .pb-cj-slider__box {
      font-size: 18px;
    }
  }

  .pb-cj-slider__link {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 18px;
    line-height: 1.3;
    letter-spacing: normal;
    color: #3a0e11;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-synthesis: none;
  }

  .pb-cj-slider__link-arrow {
    display: inline-flex;
    align-items: center;
    margin-inline-start: 0.35em;
    line-height: 0;
    vertical-align: middle;
    color: inherit;
  }

  .pb-cj-slider__link-arrow svg {
    display: block;
    width: 18px;
    height: auto;
  }

  .pb-cj-slider__link:hover {
    color: #2a0a0d;
  }

  .pb-cj-slider__link:focus-visible {
    outline: 2px solid #3a0e11;
    outline-offset: 3px;
  }

  .pb-cj-slider__cta-wrap {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  /* Box already has margin-bottom 24px; add gap only after the text link */
  .pb-cj-slider__link + .pb-cj-slider__cta-wrap {
    margin-top: 24px;
  }
/* END_SECTION:pb-channings-joy-image-slider */

/* START_SECTION:pb-element-playground (INDEX:93) */
.pb-element-playground {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-element-playground__inner {
    box-sizing: border-box;
    border: 1px dashed rgba(49, 17, 17, 0.2);
    border-radius: 8px;
    background: rgba(249, 247, 232, 0.35);
  }

  .pb-element-playground__label {
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(49, 17, 17, 0.55);
    margin: 0 0 1rem;
  }

  .pb-element-playground__stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
  }

  .pb-element-playground__merch-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 1.25rem;
    margin: 0;
    padding: 1.25rem 0 0;
  }

  .pb-element-playground__merch-badges-caption {
    width: 100%;
    flex-basis: 100%;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(49, 17, 17, 0.55);
    margin: 0;
  }

  /* Product category filter pills (BYOB-style row; not navigation tabs). */
  .pb-element-playground__product-category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px 12px;
    max-width: 28rem;
    margin: 0;
    padding: 1.25rem 0 0;
  }

  /* Match AA bundle builder pink surface so selected-summary slots read correctly. */
  .pb-element-playground__selected-summary-demo {
    width: 100%;
    max-width: 28rem;
    margin: 0;
    padding: 1.25rem 0 0;
  }

  .pb-element-playground__bundle-surface {
    background-color: #ffebf4;
    border-radius: 20px;
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-element-playground__product-grid-demo {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 1.25rem 0 0;
    box-sizing: border-box;
  }

  /* Flavor info tooltip (playground): pink ? circle, panel on hover/focus. */
  .pb-element-playground__info-tooltip-demo {
    width: 100%;
    max-width: 28rem;
    margin: 0;
    padding: 1.25rem 0 0;
    box-sizing: border-box;
  }

  .pb-element-playground__info-tooltip-row {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: wrap;
  }

  .pb-element-playground__info-tooltip-title {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: #4a1f24;
    letter-spacing: -0.02em;
    line-height: 1.2;
  }

  .pb-info-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }

  .pb-info-tooltip__trigger {
    width: 1.375rem;
    height: 1.375rem;
    border-radius: 50%;
    border: 0;
    padding: 0;
    margin: 0;
    background: #e94080;
    cursor: help;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .pb-info-tooltip__trigger svg {
    display: block;
    width: 6px;
    height: 9px;
    flex-shrink: 0;
  }

  .pb-info-tooltip__panel {
    position: absolute;
    left: 50%;
    top: calc(100% + 0.5rem);
    transform: translateX(-50%) translateY(2px);
    width: max-content;
    max-width: min(20rem, calc(100vw - 2rem));
    padding: 1rem 1.125rem 1.0625rem;
    box-sizing: border-box;
    background: #e94080;
    color: #fff;
    border-radius: 12px;
    font-size: 0.8125rem;
    line-height: 1.45;
    text-align: left;
    box-shadow: 0 8px 24px rgba(74, 31, 36, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    z-index: 5;
  }

  .pb-info-tooltip__panel::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 7px 8px 7px;
    border-style: solid;
    border-color: transparent transparent #e94080 transparent;
  }

  .pb-info-tooltip:hover .pb-info-tooltip__panel,
  .pb-info-tooltip:focus-within .pb-info-tooltip__panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .pb-info-tooltip__nutrients {
    display: block;
    margin-top: 0.5rem;
    font-weight: 700;
  }
/* END_SECTION:pb-element-playground */

/* START_SECTION:pb-faq-accordion (INDEX:94) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-faq-accordion {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-faq-bg, #3a0e11);
  }

  /*
    Top scallop: 1440×65 pattern tiles on wide screens.
    Below 750px: uniform scale (same factor X+Y) so scallops keep shape; wider pre-scale width
    compensates so the strip still reads full-bleed after scale.
  */
  .pb-faq-accordion__top-divider {
    width: 100%;
    line-height: 0;
    position: relative;
    height: 40px;
    overflow: hidden;
  }

  .pb-faq-accordion__top-divider-svg {
    display: block;
    /* 100% × (65/40): after scale(40/65) the painted width matches the container */
    width: calc(100% * 65 / 40);
    max-width: none;
    height: 65px;
    transform: scale(calc(40 / 65));
    transform-origin: top left;
    position: absolute;
    top: 0;
    left: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__top-divider {
      height: auto;
      overflow: visible;
    }

    .pb-faq-accordion__top-divider-svg {
      position: static;
      transform: none;
      width: 100%;
      height: 65px;
    }
  }

  .pb-faq-accordion__inner {
    max-width: 1080px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__inner {
      max-width: 600px;
      margin-inline: auto;
      padding-inline: 40px;
    }
  }

  .pb-faq-accordion__header {
    margin-bottom: 40px;
    text-align: center;
  }

  /* Hero-style display heading (Funkydori on strong/b, theme heading on rest) — cream on dark FAQ bg */
  .pb-faq-accordion__header .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 56rem;
    text-align: center;
    color: var(--pb-faq-heading-color, #ffffff);
  }

  .pb-faq-accordion__header .aa-hero-display-heading strong,
  .pb-faq-accordion__header .aa-hero-display-heading b {
    color: var(--pb-faq-heading-color, #ffffff);
  }

  .pb-faq-accordion__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__list {
      gap: 16px;
    }
  }

  .pb-faq-accordion__details {
    margin: 0;
    border-radius: 20px;
    background: var(--pb-faq-item-bg, #895342);
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-faq-accordion__summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    box-sizing: border-box;
    text-align: left;
  }

  .pb-faq-accordion__summary::-webkit-details-marker {
    display: none;
  }

  .pb-faq-accordion__summary:focus {
    outline: none;
  }

  .pb-faq-accordion__summary:focus-visible {
    outline: 2px solid #f9f7e0;
    outline-offset: 2px;
  }

  .pb-faq-accordion__question {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--pb-faq-question-color, #ffffff);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: normal;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__question {
      font-size: 18px;
    }
  }

  .pb-faq-accordion__toggle {
    flex: 0 0 auto;
    line-height: 0;
  }

  .pb-faq-accordion__toggle-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
  }

  /* Plus → minus: horizontal bar stays; vertical arm scales down (morph, not a swap) */
  .pb-faq-accordion__toggle-svg {
    display: block;
    flex-shrink: 0;
    overflow: visible;
  }

  .pb-faq-accordion__toggle-svg__v-arm {
    transform-origin: center;
    transform-box: fill-box;
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .pb-faq-accordion__details[open] .pb-faq-accordion__toggle-svg__v-arm {
    transform: scaleY(0);
  }

  .pb-faq-accordion__panel {
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-faq-accordion--enhanced .pb-faq-accordion__panel {
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  @media (prefers-reduced-motion: reduce) {
    .pb-faq-accordion--enhanced .pb-faq-accordion__panel {
      transition: none;
    }

    .pb-faq-accordion__toggle-svg__v-arm {
      transition: none;
    }
  }

  .pb-faq-accordion__panel-inner {
    padding: 0 18px 18px;
    color: #f9f7e0;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .pb-faq-accordion__panel-inner,
  .pb-faq-accordion__panel-inner * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
  }

  .pb-faq-accordion__panel-inner strong,
  .pb-faq-accordion__panel-inner b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__panel-inner {
      font-size: 16px;
    }
  }

  .pb-faq-accordion__panel-inner p {
    margin: 0 0 0.75em;
  }

  .pb-faq-accordion__panel-inner p:last-child {
    margin-bottom: 0;
  }

  .pb-faq-accordion__panel-inner a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .pb-faq-accordion__panel-inner ul,
  .pb-faq-accordion__panel-inner ol {
    margin: 0 0 0.75em 1.2em;
    padding: 0;
  }
/* END_SECTION:pb-faq-accordion */

/* START_SECTION:pb-image-icon-grid (INDEX:95) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-display: swap;
  }

  /* Figma export name — same file as Bold-Fixed so `font-family: Funkydori` resolves. */
  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* Bubbleboddy Neue — same family name / CDN as `docs/theme-fonts.md` (Figma: Build Your Own Experience) */
  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* Figma export spelling — same files as BubbleboddyNeue. */
  @font-face {
    font-family: 'Bubbleboddy Neue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Bubbleboddy Neue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-image-icon-grid {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding-top: var(--pb-iig-pad-y-m, 48px);
    /*
     * Reserve room at the bottom for the drip divider so the CTA never
     * overlaps it. When the divider is hidden the height variable falls
     * back to 0 and the section uses normal symmetric padding.
     */
    padding-bottom: calc(var(--pb-iig-pad-y-m, 48px) + var(--pb-iig-drip-height-m, 0px));
    padding-left: 16px;
    padding-right: 16px;
    background: var(--pb-iig-bg, #cda8ef);
    isolation: isolate;
    overflow: hidden;
  }

  /* Decorative overlay image. Sits above the solid background but
     under all content so the layout still works without an image. */
  .pb-image-icon-grid__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    pointer-events: none;
  }

  .pb-image-icon-grid__inner {
    position: relative;
    z-index: 1;
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    gap: 32px;
    justify-items: center;
  }

  /* Neutralize Dawn h1/h2 typography so accent + main spans fully control fonts (Figma BYOB). */
  h1.pb-image-icon-grid__heading,
  h2.pb-image-icon-grid__heading {
    margin: 0;
    font-family: inherit;
    font-style: normal;
    font-weight: 400;
    letter-spacing: normal;
    line-height: normal;
    font-size: inherit;
    word-break: normal;
  }

  .pb-image-icon-grid__heading {
    margin: 0;
    text-align: center;
    color: var(--pb-iig-heading-color, #3a0e11);
    text-transform: lowercase;
    line-height: normal;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  /* “every bite” — Figma: Funkydori 700, 54px desktop, 85% line-height, #3A0E11, lowercase */
  .pb-image-icon-grid__heading-accent {
    display: inline;
    font-family: 'Funkydori', 'Funkydori-Bold-Fixed', ui-serif, Georgia, 'Times New Roman', serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: 85%;
    letter-spacing: normal;
    text-transform: lowercase;
    color: var(--pb-iig-heading-color, #3a0e11);
    font-synthesis: none;
    leading-trim: both;
    text-edge: cap;
  }

  /* “works as hard as you do” — Figma: Bubbleboddy Neue 700, 40px, 85% line-height, #3A0E11 */
  .pb-image-icon-grid__heading-main {
    display: inline;
    font-family: 'Bubbleboddy Neue', 'BubbleboddyNeue', ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: 85%;
    letter-spacing: normal;
    text-transform: lowercase;
    color: var(--pb-iig-heading-color, #3a0e11);
    font-synthesis: none;
    leading-trim: both;
    text-edge: cap;
    margin-left: 0.25em;
  }

  /*
   * Mobile: items stacked. Desktop: flex row centred as a unit, matching
   * the Figma layout where the media card and feature grid are placed
   * side-by-side with a 40px gap and never stretch to fill the page.
   */
  .pb-image-icon-grid__layout {
    width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    justify-content: center;
  }

  /* Left: product image card — frame width + zoom/object-position from section CSS vars (tighter than full column width) */
  .pb-image-icon-grid__media {
    width: 100%;
    max-width: var(--pb-iig-media-max-m, 304px);
    aspect-ratio: 360 / 320;
    border-radius: 24px;
    border: 3px solid var(--pb-iig-card-border, #3a0e11);
    box-shadow: 8px 8px 0 0 var(--pb-iig-card-border, #3a0e11);
    background: var(--pb-iig-media-bg, transparent);
    overflow: hidden;
    position: relative;
  }

  .pb-image-icon-grid__media-image,
  .pb-image-icon-grid__media-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .pb-image-icon-grid__media-image {
    object-position: var(--pb-iig-media-object-pos, center 38%);
    transform: scale(calc(var(--pb-iig-media-zoom-pct, 118) / 100));
    transform-origin: center center;
  }

  .pb-image-icon-grid__media-placeholder {
    background: var(--pb-iig-media-bg, #f0e3fa);
    color: var(--pb-iig-card-border, #3a0e11);
  }

  /* Right: icon cards grid */
  .pb-image-icon-grid__features {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .pb-image-icon-grid__feature {
    background: var(--pb-iig-feature-bg, #f9f7e0);
    border: 1px dashed var(--pb-iig-card-border, #3a0e11);
    border-radius: 16px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    box-sizing: border-box;
    min-height: 124px;
  }

  .pb-image-icon-grid__feature-icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }

  .pb-image-icon-grid__feature-icon img,
  .pb-image-icon-grid__feature-icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  .pb-image-icon-grid__feature-text {
    margin: 0;
    width: 100%;
    color: var(--pb-iig-card-border, #3a0e11);
    /*
     * Arboria-Bold is the project bold display body font; it ships with
     * its weight baked in (file is normal/400) so we set weight 400 here.
     * Editors can add explicit <br> tags from the theme editor to control
     * line wrapping per card.
     */
    font-family: 'Arboria-Bold', var(--pb-font-body), var(--font-body-family), sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -0.005em;
  }

  /*
   * Drip divider — bleeds the section background colour into the next
   * section through a melted/dripping edge. Sits flush against the
   * section's bottom edge as an absolute layer so it can fully bleed to
   * the viewport edges regardless of the inner content's max-width.
   */
  .pb-image-icon-grid__divider {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--pb-iig-drip-height-m, 48px);
    line-height: 0;
    color: var(--pb-iig-drip-color, #cda8ef);
    background: var(--pb-iig-drip-bg, #f9f7e0);
    pointer-events: none;
    z-index: 2;
  }

  .pb-image-icon-grid__divider-svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pb-image-icon-grid__divider-svg .pb-image-icon-grid__divider-fill {
    fill: currentColor;
  }

  .pb-image-icon-grid__divider-svg .pb-image-icon-grid__divider-stroke {
    stroke: var(--pb-iig-drip-highlight, rgba(255, 255, 255, 0.85));
    fill: none;
  }

  /* CTA — Figma Build Your Own Experience, node 57:2164 (Bubbleboddy Neue Bold, 24px, uppercase, centered) */
  .pb-image-icon-grid__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 500px;
    min-height: 76px;
    padding: 18px 24px;
    border-radius: 9999px;
    background: var(--pb-iig-cta-bg, #3a0e11);
    color: var(--pb-iig-cta-color, #ffffff);
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 24px;
    letter-spacing: normal;
    line-height: normal;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    border: 1px solid transparent;
    transition: transform 120ms ease, box-shadow 120ms ease;
  }

  .pb-image-icon-grid__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.2);
  }

  /* Desktop layout */
  @media screen and (min-width: 750px) {
    .pb-image-icon-grid {
      padding-top: var(--pb-iig-pad-y-d, 60px);
      padding-bottom: calc(var(--pb-iig-pad-y-d, 60px) + var(--pb-iig-drip-height-d, 0px));
      padding-left: 40px;
      padding-right: 40px;
    }

    .pb-image-icon-grid__inner {
      gap: 60px;
    }

    .pb-image-icon-grid__heading-accent {
      font-size: 54px;
      line-height: 85%;
    }

    .pb-image-icon-grid__heading-main {
      font-size: 40px;
      line-height: 85%;
    }

    .pb-image-icon-grid__layout {
      flex-direction: row;
      flex-wrap: wrap;
      gap: 40px;
      align-items: flex-start;
      justify-content: center;
    }

    .pb-image-icon-grid__media {
      flex: 0 0 auto;
      width: var(--pb-iig-media-w-d, 400px);
      max-width: 100%;
      aspect-ratio: 447 / 385;
      border-radius: 24px;
      box-shadow: 10px 10px 0 0 var(--pb-iig-card-border, #3a0e11);
    }

    .pb-image-icon-grid__features {
      flex: 0 0 auto;
      width: 474px;
      max-width: 100%;
      grid-template-columns: repeat(2, 231px);
      gap: 12px;
    }

    .pb-image-icon-grid__feature {
      width: 231px;
      min-height: 124px;
    }

    .pb-image-icon-grid__feature-text {
      font-size: 18px;
    }

    .pb-image-icon-grid__cta {
      padding: 25px 17px;
    }

    .pb-image-icon-grid__divider {
      height: var(--pb-iig-drip-height-d, 96px);
    }
  }
/* END_SECTION:pb-image-icon-grid */

/* START_SECTION:pb-image-with-text-columns (INDEX:96) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-image-with-text-columns {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-iwtc-bg, #f9f7e0);
  }

  .pb-image-with-text-columns__wrapper {
    max-width: 1080px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__wrapper {
      padding-inline: 40px;
    }
  }

  .pb-image-with-text-columns__layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 40px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__layout {
      flex-direction: row;
      align-items: flex-start;
      gap: 60px;
    }
  }

  .pb-image-with-text-columns__primary {
    width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__primary {
      flex: 1 1 0;
      min-width: 0;
    }
  }

  .pb-image-with-text-columns__cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__cards {
      flex: 1 1 0;
      min-width: 0;
      gap: 24px;
    }
  }

  .pb-image-with-text-columns__card {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 24px 26px 24px 28px;
    text-align: left;
    border-radius: 36px;
    border: 2px solid rgba(230, 63, 130, 0.35);
    background-color: #fff8f7;
    position: relative;
    overflow: visible;
  }

  .pb-image-with-text-columns__card-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
  }

  /* Header + graphic only; paragraph sits below at full width */
  .pb-image-with-text-columns__card-heading-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .pb-image-with-text-columns__card-heading-row--graphic-only {
    justify-content: flex-end;
  }

  /* Graphic column + positioning box: fixed 90px. Image scale = --pb-iwtc-card-img-w on the card (block %). */
  .pb-image-with-text-columns__card-graphic-slot {
    width: 90px;
    min-width: 90px;
    min-height: 0;
    position: relative;
    box-sizing: border-box;
    pointer-events: none;
  }

  .pb-image-with-text-columns__card-graphic {
    position: absolute;
    top: unset;
    bottom: -36px;
    right: var(--pb-iwtc-card-graphic-right, -38px);
    width: 90px;
    aspect-ratio: 1;
    height: auto;
    line-height: 0;
  }

  .pb-image-with-text-columns__card-graphic-img {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: var(--pb-iwtc-card-img-w, 100%);
    max-width: none;
    height: auto;
  }

  /* !important: Dawn h3 / .h3 use --font-heading-family and win without it (same pattern as __card-body). */
  .pb-image-with-text-columns__card-title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: #4a2c2a;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.35;
    letter-spacing: normal !important;
    font-synthesis: none;
  }

  .pb-image-with-text-columns__card-body {
    margin: 0;
    color: #4a2c2a;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.68;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .pb-image-with-text-columns__card-heading-row + .pb-image-with-text-columns__card-body {
    margin-top: 10px;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__card {
      border-radius: 48px;
    }

    .pb-image-with-text-columns__card-title {
      font-size: 18px;
    }

    .pb-image-with-text-columns__card-body {
      font-size: 16px;
    }
  }

  .pb-image-with-text-columns__stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__stack {
      flex-direction: column-reverse;
      gap: 48px;
    }
  }

  .pb-image-with-text-columns__image-wrap {
    width: 100%;
    margin: 0;
    line-height: 0;
    text-align: center;
    box-sizing: border-box;
  }

  .pb-image-with-text-columns__image {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: top;
  }

  .pb-image-with-text-columns__text {
    width: 100%;
    box-sizing: border-box;
    text-align: left;
  }

  .pb-image-with-text-columns__text .aa-hero-display-heading {
    margin-top: 0;
  }

  .pb-image-with-text-columns__lede {
    margin: 0;
    max-width: 48rem;
    color: #4a2c2a;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .aa-hero-display-heading + .pb-image-with-text-columns__lede {
    margin-top: 12px;
  }

  @media screen and (min-width: 750px) {
    .pb-image-with-text-columns__lede {
      font-size: 20px;
    }
  }
/* END_SECTION:pb-image-with-text-columns */

/* START_SECTION:pb-info-cards-grid (INDEX:97) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-info-cards-grid {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-info-cards-grid__main {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-info-cards-grid__main {
      padding-inline: 40px;
    }
  }

  /* Donation counter (was pb-donation-counter; no page-width — width comes from __main). */
  .pb-donation-counter {
    box-sizing: border-box;
    width: 100%;
    padding-top: 60px;
    margin-bottom: 32px;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter {
      padding-top: 80px;
      margin-bottom: 48px;
    }
  }

  .pb-donation-counter__live-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
    margin-top: 24px;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__live-row {
      flex-direction: row;
      align-items: center;
      justify-content: flex-start;
      gap: 48px;
      margin-top: 32px;
    }
  }

  .pb-donation-counter__live-col {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    /* Equal half-tracks: each flexes to (100% − 48px gap) / 2 */
    .pb-donation-counter__live-col {
      flex: 1 1 0;
      min-width: 0;
      width: auto;
      max-width: none;
    }
  }

  /* Book cut + explicit normal weight; !important beats global p / .rte bolding */
  .pb-donation-counter__live-desc {
    margin: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 18px;
    font-weight: 400 !important;
    font-style: normal;
    line-height: 1.45;
    letter-spacing: normal;
    color: #4a2c2a;
    text-align: center;
    font-synthesis: none;
  }

  .pb-donation-counter__live-desc strong,
  .pb-donation-counter__live-desc b {
    font-family: inherit !important;
    font-weight: 400 !important;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__live-desc {
      flex: 1 1 0;
      min-width: 0;
      width: auto;
      max-width: none;
      font-size: 20px;
      text-align: left;
    }
  }

  .pb-donation-counter__live {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-donation-counter__live-label {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    text-transform: uppercase;
    color: #3a0e11;
    margin-bottom: 12px;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__live-label {
      font-size: 20px;
      margin-bottom: 8px;
    }
  }

  .pb-donation-counter__live-panel {
    width: 100%;
    box-sizing: border-box;
    border-radius: 16px;
    background-color: #fff461;
    border: 1px dashed #3a0e11;
    padding: 12px 16px 16px;
  }

  .pb-donation-counter__panel-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    text-align: center;
  }

  .pb-donation-counter__panel-row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 4px;
  }

  .pb-donation-counter__panel-icon {
    flex-shrink: 0;
    line-height: 0;
  }

  .pb-donation-counter__panel-icon-img {
    display: block;
    width: 43px;
    height: auto;
    object-fit: contain;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__panel-icon-img {
      width: 56px;
    }
  }

  .pb-donation-counter__panel-headline {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 40px;
    font-weight: 700;
    font-style: normal;
    line-height: 0.7;
    letter-spacing: normal;
    color: #e63f82;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__panel-headline {
      font-size: 48px;
    }
  }

  .pb-donation-counter__panel-sub {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-donation-counter__panel-sub {
      font-size: 22px;
    }
  }

  .pb-donation-counter__message {
    width: 100%;
    margin-top: 0;
    box-sizing: border-box;
    text-align: center;
  }

  .pb-info-cards-grid .pb-donation-counter .aa-hero-display-heading {
    margin: 0 auto;
  }

  .pb-info-cards-grid__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: stretch;
  }

  @media screen and (min-width: 750px) {
    .pb-info-cards-grid__inner {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }
  }

  .pb-info-cards-grid__cta--after-grid {
    margin-top: 32px;
  }

  @media screen and (min-width: 750px) {
    .pb-info-cards-grid__cta--after-grid {
      margin-top: 48px;
    }
  }

  /* Matches `.aa-bundle__limited-edition` + text (bundle builder footer). */
  .pb-info-cards-grid__footnote {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    text-align: center;
    margin-top: 16px;
  }

  .pb-info-cards-grid__footnote--after-grid {
    margin-top: 32px;
  }

  @media screen and (min-width: 750px) {
    .pb-info-cards-grid__footnote--after-grid {
      margin-top: 48px;
    }
  }

  .pb-info-cards-grid__footnote-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  .pb-info-cards-grid__footnote-icon-img {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
  }

  .pb-info-cards-grid__footnote-text {
    margin: 0;
    max-width: 100%;
    min-width: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: normal;
    color: #4a2c2a;
    font-synthesis: none;
  }

  @media screen and (max-width: 360px) {
    .pb-info-cards-grid__footnote-text {
      font-size: 12px;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-info-cards-grid__footnote-text {
      font-size: 16px;
    }
  }
/* END_SECTION:pb-info-cards-grid */

/* START_SECTION:pb-junip-reviews-product (INDEX:98) */
.pb-junip-reviews-product__shell {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-junip-reviews-product__shell--drip {
    position: relative;
    overflow-x: clip;
  }

  .pb-junip-reviews-product__heading {
    margin: 0 0 0.75rem;
    font-family: var(--font-heading-family), sans-serif;
  }

  .pb-junip-reviews-product__rte {
    margin-bottom: 1.25rem;
  }

  .pb-junip-reviews-product__rte p:last-child {
    margin-bottom: 0;
  }

  .pb-junip-reviews-product__empty {
    outline: 1px dashed rgb(58 14 17 / 0.25);
    padding: 1rem;
    border-radius: 8px;
    color: rgb(58 14 17 / 0.65);
  }
/* END_SECTION:pb-junip-reviews-product */

/* START_SECTION:pb-limited-box-story (INDEX:99) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-limited-box-story {
    width: 100%;
    box-sizing: border-box;
    --pb-lbs-text: #311111;
    --pb-limited-note-text: #311111;
    color: var(--pb-lbs-text);
  }

  /* Desktop: edge-to-edge section (undo theme main column side padding so cream/pink fill the viewport) */
  @media screen and (min-width: 750px) {
    .pb-limited-box-story {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: 0;
    }
  }

  .pb-limited-box-story__split {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__split {
      flex-direction: row;
      align-items: stretch;
      max-width: none;
      margin-inline: 0;
    }
  }

  /*
    Mobile: full-bleed image band (break out of page inset).
    Desktop: right column in the split — no horizontal breakout.
  */
  .pb-limited-box-story__media {
    position: relative;
    z-index: 0;
    box-sizing: border-box;
    background-color: var(--pb-lbs-band-bg, #f12f7f);
    display: block;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 0;
  }

  @media screen and (max-width: 749px) {
    .pb-limited-box-story__media {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: 0;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__media {
      flex: 1 1 56%;
      min-width: 0;
      width: auto;
      display: flex;
      flex-direction: column;
    }
  }

  .pb-limited-box-story__media--no-image {
    min-height: 120px;
  }

  .pb-limited-box-story__photo-wrap {
    width: 100%;
    margin: 0;
    line-height: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__photo-wrap {
      flex: 1 1 auto;
      min-height: 22rem;
      display: flex;
      align-items: stretch;
    }
  }

  .pb-limited-box-story__media img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__media img {
      height: 100%;
      min-height: 22rem;
      object-fit: cover;
    }
  }

  /* Mobile: horizontal wave under the photo */
  .pb-limited-box-story__wave-overlay--bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 1;
    pointer-events: none;
    line-height: 0;
  }

  .pb-limited-box-story__wave-overlay--bottom svg {
    display: block;
    width: 100%;
    height: auto;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__wave-overlay--bottom {
      display: none;
    }
  }

  /* Desktop: vertical cream strip on the seam (bulge toward the image) — narrow so the “hump” hugs the photo */
  .pb-limited-box-story__wave-overlay--edge {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__wave-overlay--edge {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: clamp(22px, 5.25%, 48px);
      z-index: 1;
      pointer-events: none;
      line-height: 0;
    }

    .pb-limited-box-story__wave-overlay--edge svg {
      display: block;
      width: 100%;
      height: 100%;
    }
  }

  .pb-limited-box-story__inner {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding: 36px 20px 48px;
    background-color: var(--pb-lbs-content-bg, #f9f7e8);
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__inner {
      flex: 0 1 44%;
      min-width: 0;
      max-width: none;
      margin-inline: 0;
      padding: 48px 32px 56px 40px;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-limited-box-story__inner {
      padding: 56px 48px 64px 56px;
    }
  }

  /* Wave divider already meets the cream block; drop extra top gap on small screens */
  @media screen and (max-width: 749px) {
    .pb-limited-box-story__inner--after-wave {
      padding-top: 0;
    }
  }

  /* Same heading system as AA hero: inline_richtext + |m|/|d|/|b| via aa-inline-richtext-responsive-br */
  .pb-limited-box-story__heading-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-wrap {
      justify-content: center;
    }
  }

  /* Pull block up so the accent can sit on the wave seam; .inner has z-index above .media so overlap paints correctly */
  .pb-limited-box-story__heading-wrap--has-accent {
    position: relative;
    z-index: 2;
    margin-top: -1.25rem;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-wrap--has-accent {
      margin-top: -1.5rem;
    }
  }

  .pb-limited-box-story__heading-stack {
    position: relative;
    width: fit-content;
    max-width: 36rem;
    margin-inline: auto;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-stack {
      margin-inline: auto;
    }
  }

  .pb-limited-box-story__heading-accent {
    position: absolute;
    right: 83%;
    top: 0;
    z-index: 3;
    width: 115px;
    height: auto;
    display: block;
    pointer-events: none;
    user-select: none;
    transform: translateY(-60%);
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-accent {
      right: auto;
      left: 0;
      transform: translate(-38%, -58%);
    }
  }

  .pb-limited-box-story__heading-wrap .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 36rem;
    text-align: center;
    color: var(--pb-lbs-text);
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-wrap .aa-hero-display-heading {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }
  }

  .pb-limited-box-story__heading-wrap .aa-hero-display-heading strong,
  .pb-limited-box-story__heading-wrap .aa-hero-display-heading b {
    color: inherit;
  }

  .pb-limited-box-story__body {
    margin: 24px auto 0;
    max-width: 36rem;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--pb-lbs-text);
  }

  /*
    Thin reading text = Arboria-Book everywhere in the richtext tree (same trick as pb-faq-accordion).
    Theme body font on `p` / nested spans otherwise wins. Bold in editor = Arboria-Bold file, weight 400.
  */
  .pb-limited-box-story__body,
  .pb-limited-box-story__body * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  .pb-limited-box-story__body strong,
  .pb-limited-box-story__body b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  .pb-limited-box-story__body p {
    margin: 0 0 1em;
  }

  .pb-limited-box-story__body p:last-child {
    margin-bottom: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__body {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      font-size: 18px;
    }
  }

  .pb-limited-box-story__cta {
    margin-top: 28px;
    margin-inline: auto;
    max-width: 36rem;
    --aa-capsule-cta-bg: #3a0e11;
    --aa-capsule-cta-focus: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__cta {
      margin-top: 32px;
      margin-left: auto;
      margin-right: auto;
    }
  }

  .pb-limited-box-story__note {
    margin-top: 16px;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__note {
      width: 100%;
      max-width: 36rem;
    }

    .pb-limited-box-story__note .pb-limited-edition-note {
      justify-content: center;
      text-align: center;
    }
  }
/* END_SECTION:pb-limited-box-story */

/* START_SECTION:pb-lp-product-section (INDEX:111) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  .pb-lp-product {
    background: linear-gradient(180deg, var(--bg) 0%, var(--bg) 83%, var(--accent) 100%);
    display: flex;
    justify-content: center;

    @media screen and (min-width: 820px) {
      background: linear-gradient(230deg, var(--bg) 0%, var(--bg) 74%, var(--accent) 100%);
    }
  }

  .pb-lp-product__content {
    width: 100%;
    max-width: 1440px;
    padding: 0 0 3em;

    display: flex;
    flex-direction: column;
    gap: 24px;

    @media screen and (min-width: 560px) {
      padding: 3em;
    }

    @media screen and (min-width: 820px) {
      flex-direction: row;
    }

    @media screen and (min-width: 1024px) {
      padding: 5em;
    }
  }

  .pb-lp-product__left {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .pb-lp-product__right {
    width: 100%;
    min-width: 0;
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product__left,
    .pb-lp-product__right {
      flex: 1 1 0;
    }
  }

  .pb-lp-product__gallery {
    width: 100%;
    position: relative;
    top: -1px;

    display: flex;
    justify-content: center;

    & .pb-common-image-gallery__thumbs {
      padding: 0.5em;

      @media screen and (min-width: 820px) {
        padding: 0;
      }
    }
  }
  

  .pb-lp-product__gallery
    :is(
      .pb-common-image-gallery__frame,
      .pb-common-image-gallery__bg,
      .pb-common-image-gallery__bg-base
    ) {
    border-radius: 0 0 24px 24px;

    @media screen and (min-width: 560px) {
      border-radius: 24px;
    }
  }


  .pb-lp-product__accordion-list {
    width: 100%;
    padding: 1em 0.8em;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-sizing: border-box;

    @media screen and (min-width: 820px) {
      padding: 1em 0;
    }
  }

  .pb-lp-product__faq {
    width: 100%;
    box-sizing: border-box;
  }

  .pb-lp-product__faq--mobile {
    display: block;
    max-width: none;

    @media screen and (min-width: 820px) {
      display: none;
    }
  }

  .pb-lp-product__faq--desktop {
    display: none;

    @media screen and (min-width: 820px) {
      display: block;
      max-width: 560px;
    }
  }

  .pb-lp-product-icon-accordion,
  .pb-lp-product-icon-accordion .pb-common-accordion-item {
    width: 100%;
  }
/* END_SECTION:pb-lp-product-section */

/* START_SECTION:pb-pdp-faq-accordion (INDEX:116) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  .pb-faq-accordion {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-faq-bg, #3a0e11);
  }

  /*
    Top scallop: 1440×65 pattern tiles on wide screens.
    Below 750px: uniform scale (same factor X+Y) so scallops keep shape; wider pre-scale width
    compensates so the strip still reads full-bleed after scale.
  */
  .pb-faq-accordion__top-divider {
    width: 100%;
    line-height: 0;
    position: relative;
    height: 40px;
    overflow: hidden;
  }

  .pb-faq-accordion__top-divider-svg {
    display: block;
    /* 100% × (65/40): after scale(40/65) the painted width matches the container */
    width: calc(100% * 65 / 40);
    max-width: none;
    height: 65px;
    transform: scale(calc(40 / 65));
    transform-origin: top left;
    position: absolute;
    top: 0;
    left: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__top-divider {
      height: auto;
      overflow: visible;
    }

    .pb-faq-accordion__top-divider-svg {
      position: static;
      transform: none;
      width: 100%;
      height: 65px;
    }
  }

  /* Figma 1:2871: 1080px content area with 180px padding at 1440; FAQ list 600px centered */
  .pb-faq-accordion__inner {
    max-width: 1080px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 990px) {
    .pb-faq-accordion__inner {
      padding-inline: max(20px, calc((min(100vw, 1440px) - 1080px) / 2));
    }
  }

  .pb-faq-accordion__header {
    margin-bottom: 40px;
    text-align: center;
  }

  /* Figma 1:2872: Bubbleboddy 40 / Funkydori 54, cream #f9f7e0, lowercase, leading compacto */
  .pb-faq-accordion__header .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 100%;
    text-align: center;
    color: var(--pb-faq-heading-color, #f9f7e0);
    text-transform: lowercase;
    font-family: BubbleboddyNeue, var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-synthesis: none;
  }

  .pb-faq-accordion__header .aa-hero-display-heading strong,
  .pb-faq-accordion__header .aa-hero-display-heading b {
    color: var(--pb-faq-heading-color, #f9f7e0);
  }

  /* Figma 1:912 (mobile): full title Bubbleboddy 30px, leading 0.85, left-aligned */
  @media screen and (max-width: 749px) {
    .pb-faq-accordion__header {
      text-align: left;
    }

    .pb-faq-accordion__header .aa-hero-display-heading {
      margin: 0;
      margin-inline: 0;
      max-width: none;
      width: 100%;
      text-align: left;
      font-size: 30px;
      line-height: 0.85;
      letter-spacing: normal;
    }

    .pb-faq-accordion__header .aa-hero-display-heading strong,
    .pb-faq-accordion__header .aa-hero-display-heading b {
      font-family: BubbleboddyNeue, var(--font-heading-family), sans-serif;
      font-size: 30px;
      line-height: inherit;
      font-weight: 700;
      font-synthesis: none;
    }
  }

  .pb-faq-accordion__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  .pb-faq-accordion__details {
    margin: 0;
    border-radius: 28px;
    background: var(--pb-faq-item-bg, #895342);
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-faq-accordion__summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 20px 16px 32px;
    cursor: pointer;
    list-style: none;
    box-sizing: border-box;
    text-align: left;
  }

  .pb-faq-accordion__details[open] .pb-faq-accordion__summary {
    padding-right: 16px;
    padding-bottom: 0;
  }

  .pb-faq-accordion__summary::-webkit-details-marker {
    display: none;
  }

  .pb-faq-accordion__summary:focus {
    outline: none;
  }

  .pb-faq-accordion__summary:focus-visible {
    outline: 2px solid #f9f7e0;
    outline-offset: 2px;
  }

  /* Figma 1:2876 — Arboria-Bold 18 / lh 20 / tracking 0.72px, branco */
  .pb-faq-accordion__question {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--pb-faq-question-color, #ffffff);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    letter-spacing: 0.72px;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-faq-accordion__question {
      font-size: 18px;
    }
  }

  .pb-faq-accordion__toggle {
    flex: 0 0 auto;
    line-height: 0;
  }

  .pb-faq-accordion__toggle-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
  }

  /* Plus → minus: horizontal bar stays; vertical arm scales down (morph, not a swap) */
  .pb-faq-accordion__toggle-svg {
    display: block;
    flex-shrink: 0;
    overflow: visible;
  }

  .pb-faq-accordion__toggle-svg__v-arm {
    transform-origin: center;
    transform-box: fill-box;
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .pb-faq-accordion__details[open] .pb-faq-accordion__toggle-svg__v-arm {
    transform: scaleY(0);
  }

  .pb-faq-accordion__panel {
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-faq-accordion--enhanced .pb-faq-accordion__panel {
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  @media (prefers-reduced-motion: reduce) {
    .pb-faq-accordion--enhanced .pb-faq-accordion__panel {
      transition: none;
    }

    .pb-faq-accordion__toggle-svg__v-arm {
      transition: none;
    }
  }

  /* Figma 1:2880 — Arboria-Book 16 / lh 20 / tracking 0.72px; 15px gap after question */
  .pb-faq-accordion__panel-inner {
    padding: 15px 16px 24px 32px;
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    letter-spacing: 0.72px;
    font-synthesis: none;
  }

  .pb-faq-accordion__panel-inner,
  .pb-faq-accordion__panel-inner * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
  }

  .pb-faq-accordion__panel-inner strong,
  .pb-faq-accordion__panel-inner b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
  }

  .pb-faq-accordion__panel-inner p {
    margin: 0 0 0.75em;
  }

  .pb-faq-accordion__panel-inner p:last-child {
    margin-bottom: 0;
  }

  .pb-faq-accordion__panel-inner a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .pb-faq-accordion__panel-inner ul,
  .pb-faq-accordion__panel-inner ol {
    margin: 0 0 0.75em 1.2em;
    padding: 0;
  }
/* END_SECTION:pb-pdp-faq-accordion */

/* START_SECTION:pb-pdp-option-two (INDEX:117) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  /* Figma 1:2452 — title */
  .pb-pdp-option-two__feature-inner .pb-pdp-option-two__feature-title {
    font-family: 'Arboria-Bold', sans-serif;
    font-size: 20px;
    font-weight: 400;
    font-style: normal;
    line-height: 20px;
    letter-spacing: 0.72px;
    color: #3a0e11;
  }

  /* Figma 1:2453 — body */
  .pb-pdp-option-two__feature-inner .pb-pdp-option-two__feature-text {
    color: #3a0e11;
    font-family: 'Arboria-Book', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.72px;
  }

  /* Figma 1:2439 — intro subtitle */
  .pb-pdp-option-two__subtitle {
    color: #3a0e11;
    font-family: 'Arboria-Book', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-pdp-option-two__subtitle {
      font-size: 20px;
    }
  }

  /* Figma 1:2446 — built column body */
  .pb-pdp-option-two__built-text {
    color: #3a0e11;
    font-family: 'Arboria-Book', sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-pdp-option-two__built-text {
      font-size: 20px;
    }
  }

  /* Figma 1:460 mobile — body 16px; cards 16/14, lh 20px */
  @media screen and (max-width: 749px) {
    .pb-pdp-option-two__subtitle {
      font-size: 16px;
      line-height: 1.5;
    }

    .pb-pdp-option-two__built-text {
      font-size: 16px;
      line-height: 1.5;
    }

    .pb-pdp-option-two__feature-inner .pb-pdp-option-two__feature-title {
      font-size: 16px;
      line-height: 20px;
    }

    .pb-pdp-option-two__feature-inner .pb-pdp-option-two__feature-text {
      font-size: 14px;
      line-height: 20px;
    }
  }
/* END_SECTION:pb-pdp-option-two */

/* START_SECTION:pb-pdp-stick-with-it (INDEX:119) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
/* END_SECTION:pb-pdp-stick-with-it */

/* START_SECTION:pb-pdp-talking-brownies (INDEX:121) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
/* END_SECTION:pb-pdp-talking-brownies */

/* START_SECTION:pb-pdp-try-love-it (INDEX:122) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
/* END_SECTION:pb-pdp-try-love-it */

/* START_SECTION:pb-pdp-vs-three-col (INDEX:123) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }
/* END_SECTION:pb-pdp-vs-three-col */

/* START_SECTION:pb-pdp-whats-inside (INDEX:124) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-display: swap;
  }

  @font-face {
    font-family: 'Funkydori';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
/* END_SECTION:pb-pdp-whats-inside */

/* START_SECTION:pb-playground-starter (INDEX:125) */
/*
    Top edge strip: 65px art height.
    Below 750px: uniform scale; wider pre-scale width for scallop tile bleed.
  */
  .pb-playground__scallop {
    width: 100%;
    line-height: 0;
    position: relative;
    height: 40px;
    overflow: hidden;
  }

  .pb-playground__scallop-svg {
    display: block;
    width: calc(100% * 65 / 40);
    max-width: none;
    height: 65px;
    transform: scale(calc(40 / 65));
    transform-origin: top left;
    position: absolute;
    top: 0;
    left: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-playground__scallop {
      height: auto;
      overflow: visible;
    }

    .pb-playground__scallop-svg {
      position: static;
      transform: none;
      width: 100%;
      height: 65px;
    }
  }

  .pb-playground {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-playground-bg, #3a0e11);
  }

  .pb-playground__inner {
    max-width: 720px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-playground__inner {
      padding-inline: 40px;
    }
  }

  .pb-playground__title {
    margin: 0 0 12px;
    text-align: center;
    color: #f9f7e0;
  }

  .pb-playground__body {
    text-align: center;
    color: #f9f7e0;
    font-size: 1rem;
    line-height: 1.5;
  }

  .pb-playground__body p:first-child {
    margin-top: 0;
  }

  .pb-playground__body p:last-child {
    margin-bottom: 0;
  }
/* END_SECTION:pb-playground-starter */

/* START_SECTION:pb-product-card (INDEX:126) */
.pb-product-card-section {
    background: var(--pb-product-card-section-bg, #ffffff);
    padding: 24px 16px;
    display: flex;
    justify-content: center;
  }

  .pb-product-card {
    width: 100%;
    max-width: 340px;
    background: var(--pb-product-card-bg, #f1f2f4);
    border-radius: 24px;
    padding: 28px 24px;
    box-sizing: border-box;
    font-family: var(--pb-font-body), sans-serif;
    color: var(--pb-product-card-fg, #1e2250);
    display: grid;
    gap: 20px;
  }

  .pb-product-card__header {
    text-align: center;
    display: grid;
    gap: 4px;
  }

  .pb-product-card__title {
    margin: 0;
    font-family: var(--pb-font-display), var(--pb-font-body), sans-serif;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 800;
    color: inherit;
  }

  .pb-product-card__subtitle {
    margin: 0;
    font-family: var(--pb-font-display), var(--pb-font-body), sans-serif;
    font-size: 16px;
    line-height: 1.3;
    font-weight: 600;
    color: inherit;
  }

  .pb-product-card__media {
    border-radius: 18px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pb-product-card__image {
    display: block;
    width: 85%;
    height: 85%;
    object-fit: contain;
  }

  .pb-product-card__image--placeholder {
    width: 70%;
    height: 70%;
    opacity: 0.6;
  }

  .pb-product-card__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
  }

  .pb-product-card__feature {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    color: inherit;
  }

  .pb-product-card__feature-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pb-product-card-feature-icon-bg, var(--pb-product-card-fg, #1e2250));
    border-radius: 999px;
    position: relative;
  }

  .pb-product-card__feature-icon::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 9px;
    border: solid var(--pb-product-card-feature-check-fg, #ffffff);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -3px;
  }

  .pb-product-card__feature-text {
    flex: 1 1 auto;
  }

  .pb-product-card__rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 16px;
    border-top: 1px solid rgba(30, 34, 80, 0.12);
    font-size: 14px;
    font-weight: 700;
    color: inherit;
  }

  .pb-product-card__stars {
    display: inline-block;
    width: auto;
    height: auto;
    line-height: 1;
    letter-spacing: 2px;
    color: #c9a227;
    font-size: 17px;
  }

  .pb-product-card__rating-count {
    font-variant-numeric: tabular-nums;
  }

  .pb-product-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 16px 20px;
    border-radius: 999px;
    background: var(--pb-product-card-cta-bg, #1e2250);
    color: var(--pb-product-card-cta-fg, #ffffff);
    font-family: var(--pb-font-display), var(--pb-font-body), sans-serif;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    text-align: center;
    transition: opacity 120ms ease;
  }

  .pb-product-card__cta:hover,
  .pb-product-card__cta:focus-visible {
    opacity: 0.9;
  }

  .pb-recipe-instructions {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    padding: 40px 16px;
    color: #111111;
    font-family: var(--pb-font-body), sans-serif;
  }

  .pb-recipe-instructions__inner {
    max-width: 1024px;
    margin: 0 auto;
    display: grid;
    gap: 32px;
    grid-template-columns: 1fr;
  }

  .pb-recipe-instructions__heading {
    margin: 0 0 16px;
    font-family: var(--pb-font-display), var(--pb-font-body), serif;
    font-size: 28px;
    line-height: 1.1;
    font-weight: 800;
  }

  .pb-recipe-instructions__list {
    margin: 0;
    padding-left: 20px;
    display: grid;
    gap: 12px;
    font-size: 15px;
    line-height: 1.45;
  }

  .pb-recipe-instructions__list--bulleted {
    list-style: disc;
  }

  .pb-recipe-instructions__list--numbered {
    list-style: decimal;
  }

  .pb-recipe-instructions__list--numbered li {
    padding-left: 6px;
  }

  @media (min-width: 750px) {
    .pb-recipe-instructions {
      padding: 56px 24px;
    }

    .pb-recipe-instructions__inner {
      grid-template-columns: 1fr 1fr;
      gap: 64px;
    }
  }

  .pb-recipe-details {
    max-width: 760px;
    margin: 0 auto;
    padding: 24px 16px 32px;
    display: grid;
    gap: 20px;
    color: #1e2250;
    font-family: var(--pb-font-body), sans-serif;
  }

  .pb-recipe-details__breadcrumb {
    margin: 0;
  }

  .pb-recipe-details__breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
  }

  .pb-recipe-details__breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .pb-recipe-details__breadcrumb-link {
    color: inherit;
    text-decoration: none;
  }

  .pb-recipe-details__breadcrumb-separator {
    color: #9a9aa8;
  }

  .pb-recipe-details__breadcrumb-item--current {
    color: #5a2fe0;
  }

  .pb-recipe-details__hero {
    position: relative;
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #eaeaea;
  }

  .pb-recipe-details__hero-media {
    width: 100%;
    height: 100%;
    background:
      repeating-linear-gradient(
        45deg,
        #e4e4ea 0 12px,
        #f1f1f5 12px 24px
      );
  }

  .pb-recipe-details__badge {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ffffff;
    color: #1e2250;
    font-family: var(--pb-font-display), var(--pb-font-body), sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .pb-recipe-details__badge-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 4px;
    background: #76e2c1;
  }

  .pb-recipe-details__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }

  .pb-recipe-details__action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 20px;
    border: 0;
    border-radius: 10px;
    background: #f0f0f4;
    color: inherit;
    font-family: var(--pb-font-body), sans-serif;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: background 120ms ease;
  }

  .pb-recipe-details__action:hover,
  .pb-recipe-details__action:focus-visible {
    background: #e6e6ec;
  }

  .pb-recipe-details__action-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: rgba(30, 34, 80, 0.2);
  }

  .pb-recipe-details__header {
    display: grid;
    gap: 12px;
  }

  .pb-recipe-details__title {
    margin: 0;
    font-family: var(--pb-font-display), var(--pb-font-body), sans-serif;
    font-size: 36px;
    line-height: 1.05;
    font-weight: 800;
    color: #2b0f6a;
  }

  .pb-recipe-details__description {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #2a2a3a;
  }

  .pb-recipe-details__meta {
    margin: 0;
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .pb-recipe-details__meta-item {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .pb-recipe-details__meta-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #e4f4ec;
  }

  .pb-recipe-details__meta-text {
    display: grid;
    gap: 2px;
  }

  .pb-recipe-details__meta-label {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #1e2250;
  }

  .pb-recipe-details__meta-value {
    margin: 0;
    font-size: 13px;
    color: #4a4a5c;
  }
/* END_SECTION:pb-product-card */

/* START_SECTION:pb-recipe-article (INDEX:127) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-recipe-article {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-recipe-article-bg, #f9f7e0);
    color: #3a0e11;
  }

  .pb-recipe-article__inner {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__inner {
      padding-inline: 40px;
    }
  }

  .pb-recipe-article__grid {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 16px;
  }

  .pb-recipe-article__content-grid {
    display: grid;
    row-gap: 16px;
    column-gap: 28px;
    align-items: start;
  }

  /* Two columns from 750px — main | sidebar for rows 1–3; back sits outside this wrapper */
  @media screen and (min-width: 750px) {
    .pb-recipe-article__grid {
      row-gap: 20px;
    }

    .pb-recipe-article__content-grid {
      grid-template-columns: minmax(0, 1.65fr) minmax(260px, min(38vw, 340px));
      row-gap: 20px;
      column-gap: 40px;
    }

    .pb-recipe-article__main {
      grid-column: 1;
      grid-row: 1;
    }

    .pb-recipe-article__sidebar {
      grid-column: 2;
      grid-row: 1 / 4;
      position: sticky;
      top: var(--pb-nav-sticky-top-sm);
      align-self: start;
    }

    .pb-recipe-article__recipe-body {
      grid-column: 1;
      grid-row: 2;
    }

    .pb-recipe-article__related {
      grid-column: 1;
      grid-row: 3;
    }

    .pb-recipe-article__content-grid:not(:has(.pb-recipe-article__sidebar)) .pb-recipe-article__main,
    .pb-recipe-article__content-grid:not(:has(.pb-recipe-article__sidebar)) .pb-recipe-article__recipe-body,
    .pb-recipe-article__content-grid:not(:has(.pb-recipe-article__sidebar)) .pb-recipe-article__related {
      grid-column: 1 / -1;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-recipe-article__grid {
      row-gap: 24px;
    }

    .pb-recipe-article__content-grid {
      row-gap: 24px;
      column-gap: 48px;
    }

    .pb-recipe-article__sidebar {
      top: var(--pb-nav-sticky-top);
    }
  }

  .pb-recipe-article__main {
    min-width: 0;
  }

  .pb-recipe-article__crumbs {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px 10px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #4a2c2a;
  }

  .pb-recipe-article__crumb-sep {
    opacity: 0.45;
    user-select: none;
  }

  .pb-recipe-article__crumb-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .pb-recipe-article__crumb-link:hover {
    color: #e63f82;
  }

  .pb-recipe-article__crumb-current {
    color: #3a0e11;
    font-weight: 600;
    max-width: 100%;
    text-align: left;
    word-break: break-word;
  }

  .pb-recipe-article__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    margin: 0 0 16px;
    padding: 0;
    list-style: none;
  }

  .pb-recipe-article__tag {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    background: rgba(255, 254, 248, 0.95);
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid rgba(58, 14, 17, 0.18);
  }

  .pb-recipe-article__title-wrap {
    text-align: left;
    margin-bottom: 12px;
  }

  .pb-recipe-article__title-wrap .aa-hero-display-heading {
    margin: 0;
    text-align: left;
    max-width: 42rem;
    color: #3a0e11;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-synthesis: none;
  }

  .pb-recipe-article__title-wrap .aa-hero-display-heading strong,
  .pb-recipe-article__title-wrap .aa-hero-display-heading b {
    font-family: 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-synthesis: none;
  }

  .pb-recipe-article__excerpt {
    margin: 0 0 20px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 17px;
    line-height: 1.55;
    color: rgba(58, 14, 17, 0.88);
    max-width: 42rem;
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__excerpt {
      font-size: 18px;
    }
  }

  .pb-recipe-article__meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px 16px;
    margin-bottom: 24px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(74, 44, 42, 0.8);
  }

  .pb-recipe-article__meta-sep {
    opacity: 0.35;
    user-select: none;
  }

  .pb-recipe-article__recipe-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px 20px;
    margin: 0 0 8px;
    padding: 0;
    list-style: none;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: rgba(74, 44, 42, 0.85);
  }

  .pb-recipe-article__recipe-meta-item {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
  }

  .pb-recipe-article__recipe-meta-label {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 11px;
    letter-spacing: 0.08em;
    opacity: 0.75;
  }

  .pb-recipe-article__intro.rte {
    margin-bottom: 1.25rem;
  }

  .pb-recipe-article__related {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
  }

  .pb-recipe-article__related-title {
    margin: 0 0 1rem;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: clamp(1.15rem, 2.2vw, 1.35rem);
    color: #3a0e11;
  }

  .pb-recipe-article__related-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__related-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px 32px;
    }
  }

  .pb-recipe-article__related-link {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #3a0e11;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    text-decoration: none;
  }

  .pb-recipe-article__related-thumb {
    flex: 0 0 auto;
    width: 64px;
    height: 64px;
    padding: 6px;
    box-sizing: border-box;
    border-radius: 16px;
    overflow: hidden;
    background: var(--pb-product-card-bg, #e2f9ff);
    border: 1px solid rgba(58, 14, 17, 0.08);
  }

  .pb-recipe-article__related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
  }

  .pb-recipe-article__related-name {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .pb-recipe-article__related-link:hover .pb-recipe-article__related-name {
    color: #e63f82;
  }

  .pb-recipe-article__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    position: relative;
    z-index: 2;
  }

  .pb-recipe-article__actions:has(.pb-recipes-share-control details[open]) {
    z-index: 30;
  }

  .pb-recipe-article__print {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 2px solid rgba(58, 14, 17, 0.25);
    background: #fffef8;
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    margin: 0;
  }

  .pb-recipe-article__print:hover,
  .pb-recipe-article__print:focus-visible {
    border-color: #e63f82;
    color: #e63f82;
    outline: none;
  }

  .pb-recipe-article__print-icon {
    display: block;
    flex-shrink: 0;
  }

  .pb-recipe-article__share-wrap {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 0;
    position: relative;
    z-index: 2;
  }

  .pb-recipe-article__share-wrap .share-button {
    position: relative;
  }

  .pb-recipe-article__share-wrap .pb-recipes-share-control__text {
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
  }

  .pb-recipe-article__share-wrap .pb-recipes-share-control__summary,
  .pb-recipe-article__share-wrap .share-button__button:not(.hidden) {
    padding: 10px 18px;
    border-radius: 999px;
    border: 2px solid rgba(58, 14, 17, 0.25);
    background: #fffef8;
    list-style: none;
    cursor: pointer;
    color: #3a0e11;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 13px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    min-height: 0;
  }

  .pb-recipe-article__share-wrap .pb-recipes-share-control__summary::-webkit-details-marker {
    display: none;
  }

  .pb-recipe-article__share-wrap .share-button__fallback {
    top: auto;
    bottom: calc(100% + 10px);
    left: 0;
    right: auto;
    transform: none;
    width: min(320px, calc(100vw - 40px));
    max-width: min(320px, calc(100vw - 40px));
    min-width: 0;
    border-radius: 14px;
    padding: 2px;
    box-sizing: border-box;
    filter: drop-shadow(0 6px 20px rgba(58, 14, 17, 0.18));
  }

  .pb-recipe-article__share-wrap .share-button__fallback::before {
    background: #fffef8;
    border-radius: 14px;
    box-shadow: inset 0 0 0 1px rgba(58, 14, 17, 0.12);
  }

  .pb-recipe-article__share-wrap .share-button__fallback::after {
    border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(58, 14, 17, 0.1);
  }

  .pb-recipe-article__share-wrap .share-button__fallback .field {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
  }

  .pb-recipe-article__share-wrap .share-button__fallback .field__input {
    color: #3a0e11;
    background: #fffef8;
    font-size: 1.2rem;
    padding: 0.8rem 1rem;
    border-radius: 10px;
  }

  .pb-recipe-article__share-wrap .share-button__fallback button {
    color: #3a0e11;
    right: 0;
  }

  .pb-recipe-article__share-wrap .share-button__fallback button:hover {
    color: #e63f82;
  }

  .pb-recipe-article__hero {
    position: relative;
    margin: 0 0 16px;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(58, 14, 17, 0.06);
    max-width: 100%;
  }

  .pb-recipe-article__hero-badge {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 999px;
    background: #fffef8;
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    border: 1px solid rgba(58, 14, 17, 0.12);
    box-shadow: 0 4px 14px rgba(58, 14, 17, 0.08);
    max-width: calc(100% - 28px);
    word-break: break-word;
  }

  .pb-recipe-article__hero-badge-icon {
    flex-shrink: 0;
    color: #e63f82;
  }

  .pb-recipe-article__hero img {
    width: 100%;
    height: auto;
    display: block;
  }

  .pb-recipe-article__content {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #3a0e11;
    max-width: 42rem;
    margin-inline: 0;
  }

  .pb-recipe-article__content--recipe {
    max-width: none;
    width: 100%;
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__content {
      font-size: 17px;
    }
  }

  .pb-recipe-article__recipe-body {
    margin-top: 0;
    padding-top: 12px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__recipe-body {
      padding-top: 14px;
    }
  }

  .pb-recipe-article__instructions {
    margin: 0;
    width: 100%;
  }

  .pb-recipe-article__instructions-inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    align-items: start;
  }

  @media screen and (min-width: 1000px) {
    .pb-recipe-article__instructions-inner {
      grid-template-columns: 1fr 1fr;
      gap: 64px;
    }
  }

  .pb-recipe-article__instructions-col {
    min-width: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    color: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .pb-recipe-article__instructions-col {
      font-size: 17px;
    }
  }

  .pb-recipe-article__instructions-col h2 {
    font-weight: normal;
    margin: 0 0 0.75rem;
  }

  .pb-recipe-article__instructions-col h2,
  .pb-recipe-article__instructions-col h3 {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
  }

  .pb-recipe-article__instructions-col ul,
  .pb-recipe-article__instructions-col ol {
    margin: 0;
  }

  /* Section headings (ingredients / directions style) */
  .pb-recipe-article__content h2,
  .pb-recipe-article__content h3,
  .pb-recipe-article__content h4 {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    color: #3a0e11;
    line-height: 1.2;
  }

  .pb-recipe-article__content h2 {
    font-size: clamp(1.25rem, 2.5vw, 1.5rem);
    margin: 2rem 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid rgba(58, 14, 17, 0.12);
    letter-spacing: 0.02em;
  }

  .pb-recipe-article__content h2:first-child {
    margin-top: 0;
  }

  .pb-recipe-article__content h3 {
    font-size: 1.2rem;
    margin: 1.5rem 0 0.5rem;
  }

  .pb-recipe-article__content h4 {
    font-size: 1.05rem;
    margin: 1.25rem 0 0.45rem;
  }

  .pb-recipe-article__content p {
    margin: 0 0 0.85em;
  }

  .pb-recipe-article__content a {
    color: #e63f82;
    text-underline-offset: 3px;
  }

  .pb-recipe-article__content a:hover {
    text-decoration-thickness: 2px;
  }

  .pb-recipe-article__content ul,
  .pb-recipe-article__content ol {
    margin: 0 0 1rem;
    padding-left: 1.2em;
  }

  .pb-recipe-article__content ul {
    list-style-type: disc;
  }

  .pb-recipe-article__content ol {
    padding-left: 1.35em;
  }

  .pb-recipe-article__content li {
    margin: 0 0 0.35em;
    padding-inline-start: 0.15em;
  }

  .pb-recipe-article__content li:last-child {
    margin-bottom: 0;
  }

  /* RTE: paragraphs inside <li> add huge vertical gaps */
  .pb-recipe-article__content li > p {
    margin: 0;
  }

  .pb-recipe-article__content li > p + p {
    margin-top: 0.45em;
  }

  .pb-recipe-article__content li > ul,
  .pb-recipe-article__content li > ol {
    margin-top: 0.35em;
    margin-bottom: 0.35em;
  }

  .pb-recipe-article__content ol > li::marker {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-weight: 700;
    color: #3a0e11;
  }

  .pb-recipe-article__content li:empty {
    display: none;
  }

  .pb-recipe-article__content p:empty {
    display: none;
    margin: 0;
  }

  .pb-recipe-article__content h2 + ul,
  .pb-recipe-article__content h2 + ol,
  .pb-recipe-article__content h3 + ul,
  .pb-recipe-article__content h3 + ol {
    margin-top: 0.35em;
  }

  .pb-recipe-article__content blockquote {
    margin: 1.25em 0;
    padding: 16px 20px;
    border-left: 4px solid #e63f82;
    background: rgba(230, 63, 130, 0.06);
    border-radius: 0 12px 12px 0;
  }
  /* Long-guide body: collapsible blocks split at H2/H3/H4 */
  .pb-recipe-article__accordion-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    max-width: 42rem;
  }

  .pb-recipe-article__accordion-toolbar[hidden] {
    display: none !important;
  }

  .pb-recipe-article__accordion-toolbar-label {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(58, 14, 17, 0.65);
    margin-right: 4px;
  }

  .pb-recipe-article__accordion-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: 999px;
    border: 2px solid rgba(58, 14, 17, 0.22);
    background: #fffef8;
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    margin: 0;
  }

  .pb-recipe-article__accordion-btn:hover,
  .pb-recipe-article__accordion-btn:focus-visible {
    border-color: #e63f82;
    color: #e63f82;
    outline: none;
  }

  .pb-recipe-article__lead {
    margin-bottom: 1.25rem;
  }

  .pb-recipe-article__content--accordion > .pb-recipe-article__section {
    margin: 0 0 10px;
    border-radius: 14px;
    background: rgba(255, 254, 248, 0.65);
    border: 1px solid rgba(58, 14, 17, 0.1);
    overflow: hidden;
  }

  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    cursor: pointer;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    background: rgba(255, 254, 248, 0.95);
  }

  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary::-webkit-details-marker {
    display: none;
  }

  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary h2,
  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary h3,
  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary h4 {
    margin: 0;
    padding: 0;
    border: none;
    font-size: clamp(1.05rem, 2.2vw, 1.28rem);
    line-height: 1.25;
    flex: 1 1 auto;
    text-align: left;
  }

  .pb-recipe-article__section-chevron {
    flex-shrink: 0;
    width: 11px;
    height: 11px;
    margin-top: 2px;
    border-right: 2px solid #3a0e11;
    border-bottom: 2px solid #3a0e11;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    opacity: 0.85;
  }

  .pb-recipe-article__section[open] > summary .pb-recipe-article__section-chevron {
    transform: rotate(-135deg);
    margin-top: 6px;
  }

  .pb-recipe-article__section-body {
    padding: 4px 18px 20px 20px;
    border-top: 1px solid rgba(58, 14, 17, 0.08);
  }

  .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary:hover .pb-recipe-article__section-chevron {
    border-color: #e63f82;
  }

  /* Product card snippet: styles loaded here because the standalone section CSS is not present */
  .pb-recipe-article__sidebar-card-host {
    --pb-font-body: 'Arboria-Book', var(--font-body-family), sans-serif;
    --pb-font-display: 'Arboria-Bold', var(--font-body-family), sans-serif;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card {
    width: 100%;
    max-width: 340px;
    margin-inline: auto;
    background: var(--pb-product-card-bg, #ede9dc);
    border-radius: 20px;
    padding: 26px 22px;
    box-sizing: border-box;
    font-family: var(--pb-font-body), sans-serif;
    color: var(--pb-product-card-fg, #3a0e11);
    display: grid;
    gap: 18px;
    border: 1px solid rgba(58, 14, 17, 0.08);
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__header {
    text-align: center;
    display: grid;
    gap: 6px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__title {
    margin: 0;
    font-family: var(--pb-font-display), sans-serif;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 700;
    color: inherit;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__subtitle {
    margin: 0;
    font-family: var(--pb-font-body), sans-serif;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: inherit;
    opacity: 0.92;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__media {
    border-radius: 16px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__image {
    display: block;
    width: 85%;
    height: 85%;
    object-fit: contain;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__image--placeholder {
    width: 70%;
    height: 70%;
    opacity: 0.6;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 10px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__feature {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: inherit;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__feature-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e63f82;
    border-radius: 999px;
    position: relative;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__feature-icon::after {
    content: '';
    position: absolute;
    width: 5px;
    height: 9px;
    border: solid #fffef8;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    margin-top: -3px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__feature-text {
    flex: 1 1 auto;
  }

  /* Rich-text featured product text (from the recipe metaobject). */
  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich {
    display: grid;
    gap: 12px;
    font-size: 14px;
    line-height: 1.4;
    color: inherit;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich p {
    margin: 0;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich ul,
  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich ol {
    list-style: none;
    margin: 6px 0;
    padding: 0;
    display: grid;
    gap: 8px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich li {
    position: relative;
    padding-left: 30px;
    min-height: 20px;
    font-weight: 600;
    line-height: 1.3;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 20px;
    height: 20px;
    margin-top: -12px;
    background: #e63f82;
    border-radius: 999px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__features--rich li::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 50%;
    width: 5px;
    height: 9px;
    margin-top: -8px;
    border: solid #fffef8;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding-top: 14px;
    margin-bottom: -6px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
    font-size: 14px;
    font-weight: 700;
    color: inherit;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__stars {
    display: inline-block;
    width: auto;
    height: auto;
    background: none;
    color: #ffc107;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 2px;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__rating-count {
    font-variant-numeric: tabular-nums;
    opacity: 0.85;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 14px 20px;
    border-radius: 999px;
    background: var(--pb-product-card-cta-bg, #3a0e11);
    color: var(--pb-product-card-cta-fg, #fffef8);
    font-family: var(--pb-font-display), sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    text-align: center;
    transition: opacity 120ms ease, transform 120ms ease;
  }

  .pb-recipe-article__sidebar-card-host .pb-product-card__cta:hover,
  .pb-recipe-article__sidebar-card-host .pb-product-card__cta:focus-visible {
    opacity: 0.92;
    outline: none;
  }

  .pb-recipe-article__back {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid rgba(58, 14, 17, 0.12);
    text-align: center;
  }

  .pb-recipe-article__back-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 15px;
    color: #3a0e11;
    text-decoration: none;
    letter-spacing: 0.02em;
  }

  .pb-recipe-article__back-link:hover {
    color: #e63f82;
  }

  .pb-recipe-article__back-link .svg-wrapper {
    width: 18px;
    height: 18px;
    transform: rotate(180deg);
  }

  @media print {
    .pb-recipe-article__sidebar,
    .pb-recipe-article__actions,
    .pb-recipe-article__back,
    .pb-recipe-article__accordion-toolbar {
      display: none !important;
    }

    .pb-recipe-article__grid {
      display: block;
    }

    .pb-recipe-article__hero-badge {
      print-color-adjust: exact;
      -webkit-print-color-adjust: exact;
    }

    .pb-recipe-article__content--accordion > .pb-recipe-article__section {
      border: none;
      background: transparent;
    }

    .pb-recipe-article__content--accordion > .pb-recipe-article__section > summary {
      display: block;
      padding: 0 0 8px;
      cursor: default;
    }

    .pb-recipe-article__section-chevron {
      display: none !important;
    }

    .pb-recipe-article__section-body {
      display: block !important;
      padding: 0;
      border: none;
    }
  }
/* END_SECTION:pb-recipe-article */

/* START_SECTION:pb-recipes-article-grid (INDEX:128) */
.pb-recipes-grid {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-recipes-grid-bg, #f9f7e0);
  }

  .pb-recipes-grid__inner {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-grid__inner {
      padding-inline: 40px;
    }
  }

  .pb-recipes-grid__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .pb-recipes-grid__list > li {
    overflow: visible;
    min-width: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-grid__list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 32px;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-recipes-grid__list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  .pb-recipes-grid__empty {
    margin: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    color: #3a0e11;
    text-align: center;
  }

  .pb-recipes-grid__pagination {
    margin-top: 40px;
  }
/* END_SECTION:pb-recipes-article-grid */

/* START_SECTION:pb-recipes-filter-bar (INDEX:129) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-recipes-filters {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-recipes-filters-bg, #f9f7e0);
  }

  .pb-recipes-filters__inner {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-filters__inner {
      padding-inline: 40px;
    }
  }

  .pb-recipes-filters__title {
    margin: 0 0 14px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 15px;
    line-height: 1.4;
    color: rgba(58, 14, 17, 0.75);
    text-align: center;
    text-transform: lowercase;
  }

  .pb-recipes-filters__group + .pb-recipes-filters__group {
    margin-top: 12px;
  }

  .pb-recipes-filters__group-label {
    margin: 0 0 8px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    letter-spacing: 0.08em;
    line-height: 1;
    color: rgba(58, 14, 17, 0.55);
    text-align: center;
    text-transform: uppercase;
  }

  .pb-recipes-filters__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }

  .pb-recipes-filters__pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 10px 18px;
    margin: 0;
    border-radius: 999px;
    border: 1.5px solid rgba(58, 14, 17, 0.28);
    background: #fffef8;
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: lowercase;
    cursor: pointer;
    user-select: none;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: 0 2px 0 rgba(58, 14, 17, 0.06);
    transition:
      background-color 140ms ease,
      border-color 140ms ease,
      color 140ms ease,
      box-shadow 140ms ease;
  }

  .pb-recipes-filters__pill:focus-visible {
    outline: 2px solid #e63f82;
    outline-offset: 2px;
  }

  .pb-recipes-filters__pill--active {
    background: #e63f82;
    border-color: #e63f82;
    color: #fffef8;
    box-shadow: 0 2px 8px rgba(230, 63, 130, 0.35);
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-filters__pill {
      font-size: 15px;
      padding: 11px 20px;
      min-height: 42px;
    }
  }
/* END_SECTION:pb-recipes-filter-bar */

/* START_SECTION:pb-recipes-page-heading (INDEX:130) */
@font-face {
    font-family: 'BubbleboddyNeue-Bold';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-recipes-heading {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-recipes-heading-bg, #f9f7e0);
  }

  .pb-recipes-heading__inner {
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    box-sizing: border-box;
    padding-inline: 20px;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-heading__inner {
      padding-inline: 40px;
    }
  }

  .pb-recipes-heading__crumbs {
    margin: 0 auto 20px;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 10px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 14px;
    line-height: 1.4;
    color: #4a2c2a;
    max-width: 100%;
  }

  .pb-recipes-heading__crumb-sep {
    opacity: 0.45;
    user-select: none;
  }

  .pb-recipes-heading__crumb-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  .pb-recipes-heading__crumb-link:hover {
    text-decoration-thickness: 2px;
  }

  .pb-recipes-heading__crumb-current {
    color: #3a0e11;
    font-weight: 600;
  }

  .pb-recipes-heading__hero {
    width: 100%;
  }

  /* Hero title: centered, can use full inner width (override snippet max-width). */
  .pb-recipes-heading__inner .aa-hero-display-heading {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    text-align: center;
    max-width: 100%;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-synthesis: none;
  }

  .pb-recipes-heading__inner .aa-hero-display-heading strong,
  .pb-recipes-heading__inner .aa-hero-display-heading b {
    font-family: 'Funkydori-Bold-Fixed', 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-synthesis: none;
  }

  .pb-recipes-heading__intro {
    margin: 24px auto 0;
    width: 100%;
    max-width: 100%;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 1.55;
    color: #3a0e11;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-recipes-heading__intro {
      font-size: 18px;
      line-height: 1.5;
    }
  }

  .pb-recipes-heading__intro p {
    margin: 0 0 0.65em;
    max-width: 100%;
  }

  .pb-recipes-heading__intro p:last-child {
    margin-bottom: 0;
  }
/* END_SECTION:pb-recipes-page-heading */

/* START_SECTION:pb-single-review-cta (INDEX:131) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  .pb-single-review-cta {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-src-bg, #dfd6ef);
  }

  /* Desktop: classic hero-style cover; replaces color/gradient from theme settings */
  @media screen and (min-width: 750px) {
    .pb-single-review-cta--desktop-hero-bg {
      background-color: transparent;
      background-image: var(--pb-desktop-hero-bg-url);
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
    }
  }

  /* Mobile-only: full section height; solid/gradient still on section for fallback / blend */
  .pb-single-review-cta--mobile-top-bg::before {
    content: none;
  }

  @media screen and (max-width: 749px) {
    .pb-single-review-cta--mobile-top-bg::before {
      content: '';
      position: absolute;
      z-index: 0;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-image: var(--pb-mobile-top-bg-url);
      background-size: cover;
      background-position: top center;
      background-repeat: no-repeat;
      pointer-events: none;
    }
  }

  .pb-single-review-cta__inner {
    /* 1080px content width: border-box max-width includes padding, so add horizontal padding twice */
    --pb-single-review-cta-pad-x: 20px;
    max-width: calc(1080px + 2 * var(--pb-single-review-cta-pad-x));
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: var(--pb-single-review-cta-pad-x);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    position: relative;
    z-index: 1;
  }

  .pb-single-review-cta__content {
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-single-review-cta {
      display: flex;
      flex-direction: column;
      min-height: min(560px, 85vh);
    }

    .pb-single-review-cta__inner {
      --pb-single-review-cta-pad-x: 40px;
      flex: 1 0 auto;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: flex-start;
      gap: 60px;
    }

    .pb-single-review-cta__content {
      max-width: 500px;
    }
  }

  /* Same scale as `aa-hero-display-heading`: 30/40 regular, 40/54 bold; regular stays Bubbleboddy, bold Funkydori */
  .pb-single-review-cta__heading {
    margin: 0 auto;
    max-width: 56rem;
    text-align: center;
    color: #3a0e11;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 30px;
    font-weight: 700;
    font-style: normal;
    letter-spacing: normal;
    line-height: 1.05;
    font-synthesis: none;
  }

  .pb-single-review-cta__heading strong,
  .pb-single-review-cta__heading b {
    font-family: 'Funkydori-Bold-Fixed', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: inherit;
    font-synthesis: none;
  }

  /* Section title sits above the 500px column; hidden on small screens */
  @media screen and (max-width: 749px) {
    .pb-single-review-cta__section-title {
      display: none;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-single-review-cta__section-title {
      width: 100%;
      align-self: stretch;
      max-width: none;
      margin: 0;
      text-align: center;
      font-size: 40px;
      line-height: 0.8;
    }

    .pb-single-review-cta__section-title strong,
    .pb-single-review-cta__section-title b {
      font-size: 54px;
    }
  }

  .pb-single-review-cta__stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-single-review-cta__stack {
      gap: 32px;
      max-width: 100%;
      margin-inline: 0;
    }
  }

  .pb-single-review-cta__cta-wrap {
    width: 100%;
    box-sizing: border-box;
  }
/* END_SECTION:pb-single-review-cta */

/* START_SECTION:pb-social-feed (INDEX:132) */
@font-face {
    font-family: 'Bubbleboddy Neue';
    src: url('https://assets.instant.so/sites/eNHAx7IemskmgC9m/assets/sgvvrrpqdbOIzTY3/bubbleboddy-neue.woff2')
      format('woff2');
    font-weight: 400;
    font-display: swap;
  }

  @font-face {
    font-family: 'Bubbleboddy Neue'; 
    src: url('https://assets.instant.so/sites/eNHAx7IemskmgC9m/assets/abWRzZyI6Qx7COon/bubbleboddy-neue-bold.woff2')
      format('woff2');
    font-weight: 700;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria';
    src: url('https://assets.instant.so/sites/eNHAx7IemskmgC9m/assets/wM27DxDayGjOCwOg/fonntscom-arboriabold.woff2')
      format('woff2');
    font-weight: 700;
    font-display: swap;
  }

  .pb-social-feed {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    background: var(--pb-social-feed-bg, #f2c3da);
  }

  .pb-social-feed__top {
    padding-top: var(--pb-social-feed-pad-top-m, 40px);
    padding-bottom: 0;
  }

  .pb-social-feed__scallop {
    width: 100%;
    line-height: 0;
    position: relative;
    height: 38px;
    overflow: hidden;
  }

  .pb-social-feed__scallop-svg {
    display: block;
    width: calc(100% * 65 / 38);
    max-width: none;
    height: 65px;
    transform: scale(calc(38 / 65));
    transform-origin: top left;
    position: absolute;
    top: 0;
    left: 0;
  }

  .pb-social-feed__inner {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
  }

  .pb-social-feed__heading-wrap {
    text-align: center;
    margin-bottom: 24px;
  }

  .pb-social-feed__heading {
    margin: 0;
    color: var(--pb-social-feed-heading-color, #2b0d18);
    font-family: 'Bubbleboddy Neue', var(--font-heading-family), sans-serif;
    font-style: normal;
    font-weight: 700;
    text-transform: lowercase;
    line-height: 0.96;
    font-size: 36px;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .pb-social-feed__handle {
    display: inline-flex;
    margin-top: 12px;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border-radius: 999px;
    padding: 8px 18px;
    font-size: 14px;
    line-height: 1.05;
    background: var(--pb-social-feed-handle-bg, #ce3f8f);
    color: var(--pb-social-feed-handle-color, #ffffff);
    font-family: 'Arboria', var(--font-body-family), sans-serif;
    font-weight: 700;
    letter-spacing: 0;
  }

  .pb-social-feed__marquee-stack {
    display: grid;
    gap: 8px;
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .pb-social-feed__marquee {
    width: 100%;
    overflow: hidden;
  }

  .pb-social-feed__ticker-container {
    --gap: 8px;
    --duration: 18.56s;
    --direction: normal;
    overflow: hidden;
  }

  .pb-social-feed__ticker {
    display: flex;
    width: max-content;
    gap: var(--gap);
    animation: pb-social-feed-scroll-left var(--duration) linear infinite;
    animation-direction: var(--direction);
    will-change: transform;
  }

  .pb-social-feed__ticker--reverse {
    --direction: reverse;
  }

  .pb-social-feed__track {
    display: flex;
    width: max-content;
    gap: var(--gap, 8px);
  }

  /*
   * Use the same `--gap` value for the inner slide spacing and the
   * spacing between the duplicated groups so the seam between them is
   * indistinguishable from any other slide-to-slide gap.
   */
  .pb-social-feed__group {
    display: flex;
    gap: var(--gap, 8px);
  }

  .pb-social-feed__slide {
    width: 88px;
    flex: 0 0 88px;
    border-radius: 10px;
    overflow: hidden;
    background: transparent;
  }

  .pb-social-feed__image {
    display: block;
    width: 100%;
    height: 124px;
    object-fit: contain;
  }

  .pb-social-feed__image--placeholder {
    background: #ead7e4;
  }

  .pb-social-feed__badge {
    bottom: auto;
    height: auto;
    left: auto;
    max-width: 100%;
    object-fit: cover;
    position: absolute;
    right: 21%;
    top: 0;
    width: auto;
    z-index: 4;
    pointer-events: none;
  }

  .pb-social-feed__badge-image {
    width: auto;
    height: auto;
    max-width: 100%;
    object-fit: cover;
    display: block;
  }

  .pb-social-feed__bottom {
    padding: 34px 0 var(--pb-social-feed-pad-bottom-m, 24px);
    text-align: center;
  }

  .pb-social-feed__cta-stack {
    display: grid;
    gap: 14px;
    justify-items: center;
    margin-bottom: 28px;
  }

  .pb-social-feed__btn-primary {
    border: 1px solid #000000;
    display: flex;
    position: relative;
    --instant-border-right: 1px;
    align-items: center;
    background: #3a0e11;
    border-radius: 30px;
    column-gap: 12px;
    flex-direction: row;
    flex-wrap: nowrap;
    height: 68px;
    justify-content: center;
    max-width: 500px;
    opacity: 1;
    padding: 24px 0;
    row-gap: 12px;
    width: 100%;
    gap: 9px;
    min-height: 52px;
    background: var(--pb-social-feed-primary-bg, #3a0e11);
    color: var(--pb-social-feed-primary-color, #ffffff);
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Arboria', var(--font-body-family), sans-serif;
    font-size: 24px;
    line-height: 0.98;
    font-weight: 700;
    letter-spacing: 0;
    padding-inline: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .pb-social-feed__btn-primary:hover,
  .pb-social-feed__btn-primary:focus-visible {
    opacity: 0.92;
  }

  .pb-social-feed__btn-secondary {
    align-items: flex-end;
    border: solid #3a0e11;
    border-radius: 0;
    border-width: 0 0 1px;
    column-gap: 12px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    height: auto;
    justify-content: flex-start;
    opacity: 1;
    padding: 0 0 6px;
    position: relative;
    row-gap: 12px;
    width: auto;
    gap: 6px;
    color: var(--pb-social-feed-secondary-color, #2b0d18);
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Arboria', var(--font-body-family), sans-serif;
    font-size: 24px;
    line-height: 0.98;
    font-weight: 700;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .pb-social-feed__icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    flex: 0 0 auto;
  }

  .pb-social-feed__icon--tiktok {
    width: 28px;
    height: 32px;
  }

  .pb-social-feed__icon--instagram {
    width: 32px;
    height: 32px;
  }

  .pb-social-feed__btn-primary h6,
  .pb-social-feed__btn-secondary h6 {
    margin: 0;
    display: block;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    color: inherit;
    white-space: nowrap;
  }

  .pb-social-feed__footer-media {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    display: block;
  }

  .pb-social-feed__footer-image {
    display: block;
    width: 100vw;
    max-width: none;
    height: 220px;
    object-fit: cover;
    object-position: center;
  }

  .pb-social-feed__footer-image--desktop {
    display: none;
  }

  .pb-social-feed__editor-note {
    margin-top: 12px;
    font-size: 12px;
    color: #6f5964;
  }

  @keyframes pb-social-feed-scroll-left {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(calc(-50% - 6px), 0, 0);
    }
  }

  @keyframes pb-social-feed-scroll-right {
    0% {
      transform: translate3d(calc(-50% - 6px), 0, 0);
    }
    100% {
      transform: translate3d(0, 0, 0);
    }
  }

  @media screen and (min-width: 750px) {
    .pb-social-feed__scallop {
      height: auto;
      overflow: visible;
    }

    .pb-social-feed__scallop-svg {
      width: 100%;
      height: 65px;
      transform: none;
      position: static;
    }

    .pb-social-feed__inner {
      padding: 0 30px;
    }

    .pb-social-feed__top {
      padding-top: var(--pb-social-feed-pad-top-d, 56px);
      padding-bottom: 0;
    }

    .pb-social-feed__heading-wrap {
      margin-bottom: 30px;
    }

    .pb-social-feed__heading {
      font-size: 52px;
    }

    .pb-social-feed__handle {
      font-size: 16px;
    }

    .pb-social-feed__marquee-stack {
      gap: 0;
    }

    .pb-social-feed__ticker-container {
      --gap: 16px;
      --duration: 28s;
    }

    .pb-social-feed__slide {
      width: 206px;
      flex-basis: 206px;
      border-radius: 14px;
    }

    .pb-social-feed__image {
      height: 274px;
      object-fit: cover;
    }

    .pb-social-feed__badge {
      right: 25%;
      top: 0;
      width: auto;
      height: auto;
      transform: none;
    }

    .pb-social-feed__bottom {
      padding-top: 40px;
      padding-bottom: var(--pb-social-feed-pad-bottom-d, 38px);
    }

    .pb-social-feed__cta-stack {
      gap: 16px;
      margin-bottom: 34px;
    }

    .pb-social-feed__btn-primary {
      min-height: 68px;
      width: 100%;
      max-width: 500px;
      border-radius: 30px;
      padding: 24px 0;
    }

    .pb-social-feed__btn-secondary {
      font-size: 24px;
      gap: 8px;
      padding: 0 0 6px;
    }

    .pb-social-feed__icon--tiktok {
      width: 28px;
      height: 32px;
    }

    .pb-social-feed__icon--instagram {
      width: 32px;
      height: 32px;
    }

    .pb-social-feed__footer-media {
      width: 100%;
      margin-left: 0;
      max-width: 1200px;
      margin: 0 auto;
    }

    .pb-social-feed__footer-image {
      width: 100%;
      max-width: 100%;
      height: auto;
      object-fit: initial;
    }

    .pb-social-feed__footer-image--mobile {
      display: none;
    }

    .pb-social-feed__footer-image--desktop {
      display: block;
    }
  }

  .pb-social-feed__marquee-secondary {
    display: none;
  }

  .pb-social-feed--mobile-dual .pb-social-feed__marquee-secondary {
    display: block;
  }

  @media screen and (min-width: 750px) {
    .pb-social-feed--mobile-dual .pb-social-feed__marquee-secondary {
      display: none;
    }
  }
/* END_SECTION:pb-social-feed */

/* START_SECTION:pb-tanner (INDEX:133) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-tanner {
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-tanner-bg, #d6eefa);
  }

  .pb-tanner__top-divider {
    width: 100%;
    height: 144px;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-x: clip;
    background-repeat: repeat-x;
    background-size: 2843px 144px;
    background-position: center top;
  }

  @media screen and (max-width: 749px) {
    .pb-tanner__top-divider {
      background-position: 54%;
    }
  }

  .pb-tanner__inner {
    max-width: 1080px;
    margin-inline: auto;
    width: 100%;
    box-sizing: border-box;
    padding-inline: 20px;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__inner {
      padding-inline: 40px;
    }
  }

  .pb-tanner__header {
    margin-bottom: 24px;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__header {
      margin-bottom: 48px;
    }
  }

  .pb-tanner__header .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 56rem;
    text-align: center;
    color: #4a2c2a;
  }

  .pb-tanner__header .aa-hero-display-heading strong,
  .pb-tanner__header .aa-hero-display-heading b {
    color: #4a2c2a;
  }

  /* Below heading: narrow column on mobile; centered 800px cap on desktop */
  .pb-tanner__main {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__main {
      max-width: 800px;
      margin-inline: auto;
      gap: 48px;
    }
  }

  .pb-tanner__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__row {
      flex-direction: row;
      align-items: flex-start;
      gap: 40px;
    }
  }

  .pb-tanner__col--media {
    width: 100%;
    flex-shrink: 0;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__col--media {
      flex: 0 1 45%;
      max-width: 520px;
      min-width: 0;
    }
  }

  .pb-tanner__col--content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__col--content {
      flex: 1 1 0;
      align-self: center;
    }
  }

  .pb-tanner__figure {
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-tanner__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .pb-tanner__body {
    margin: 0;
    text-align: center;
    color: #4a2c2a;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .pb-tanner__body.inline-richtext {
    text-wrap: balance;
  }

  .pb-tanner__body strong,
  .pb-tanner__body b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__body {
      font-size: 20px;
      text-align: left;
    }
  }

  .pb-tanner__cta-wrap {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
    box-sizing: border-box;
  }

  /* Full-width row under the split layout; CTA centered (same width as main) */
  .pb-tanner__cta-foot {
    display: none;
    width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-tanner__cta-wrap--mobile-only {
      display: none;
    }

    .pb-tanner__cta-foot {
      display: block;
    }
  }
/* END_SECTION:pb-tanner */

/* START_SECTION:pb-video-grid (INDEX:134) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* Bubbleboddy — Shopify CDN (`docs/theme-fonts.md`); Figma name “Bubbleboddy Neue”. */
  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Bubbleboddy Neue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Bubbleboddy Neue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-video-grid {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding: var(--pb-vg-pad-y-m, 60px) 16px;
    background: var(--pb-vg-bg, #f9f7e0);
    color: var(--pb-vg-text-color, #3a0e11);
    isolation: isolate;
    overflow: hidden;
  }

  .pb-video-grid__inner {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }

  .pb-video-grid__head {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .pb-video-grid__rating {
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  .pb-video-grid__stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
  }

  .pb-video-grid__star {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
  }

  .pb-video-grid__rating-text {
    margin: 0;
    font-family: 'Arboria-Book', var(--pb-font-body), var(--font-body-family), sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: var(--pb-vg-text-color, #3a0e11);
  }

  /*
   * Dual-typeface heading. Uses font-size: 0 on the wrapper to swallow the
   * literal whitespace between spans so the cursive accent visually hugs
   * the Bubbleboddy main copy with a controlled inline space (Figma 57:2182).
   */
  .pb-video-grid__heading {
    margin: 0;
    text-align: center;
    color: var(--pb-vg-text-color, #3a0e11);
    text-transform: lowercase;
    line-height: 0.85;
    font-size: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .pb-video-grid__heading-main {
    display: inline;
    font-family: 'Bubbleboddy Neue', 'BubbleboddyNeue', ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 0.85;
  }

  .pb-video-grid__heading-space {
    display: inline;
    font-size: 22px;
    line-height: 0.85;
  }

  .pb-video-grid__heading-accent {
    display: inline;
    font-family: 'Funkydori-Bold-Fixed', cursive;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: 0.85;
    font-synthesis: none;
  }

  /* Subtitle — Figma: Arboria-Book 20px / 150% / 400 / #3A0E11 */
  .pb-video-grid__subtitle {
    margin: 0;
    text-align: center;
    color: var(--pb-vg-text-color, #3a0e11);
    font-family: 'Arboria-Book', ui-sans-serif, system-ui, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    font-synthesis: none;
  }

  /*
   * Video cards: horizontal flex with scroll-snap on mobile, equal-width
   * grid columns on desktop. The cards keep a consistent 250:400 vertical
   * aspect ratio across breakpoints.
   */
  .pb-video-grid__track {
    width: 100%;
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    display: flex;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .pb-video-grid__track::-webkit-scrollbar {
    display: none;
  }

  .pb-video-grid__slide {
    flex: 0 0 auto;
    width: clamp(220px, 70vw, 280px);
    aspect-ratio: 250 / 400;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: var(--pb-vg-card-bg, #2a2a2a);
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }

  .pb-video-grid__poster,
  .pb-video-grid__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .pb-video-grid__poster {
    z-index: 0;
  }

  .pb-video-grid__video {
    z-index: 1;
    opacity: 0;
    transition: opacity 220ms ease;
    background: #000;
    /* Idle: full-bleed play layer sits above; avoid invisible video stealing taps. */
    pointer-events: none;
  }

  .pb-video-grid__slide.is-playing .pb-video-grid__video {
    opacity: 1;
    pointer-events: auto;
  }

  .pb-video-grid__slide.is-playing .pb-video-grid__poster,
  .pb-video-grid__slide.is-playing .pb-video-grid__play {
    opacity: 0;
    pointer-events: none;
  }

  /*
   * Full-bleed hit target (entire card) with centered 56px icon (Figma play).
   * When playing, opacity 0 + pointer-events none so the video receives taps.
   */
  .pb-video-grid__play {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    color: var(--pb-vg-play-color, rgba(255, 255, 255, 0.95));
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 220ms ease;
  }

  .pb-video-grid__play-icon {
    display: flex;
    width: 56px;
    height: 56px;
    align-items: center;
    justify-content: center;
    transition: transform 120ms ease;
  }

  .pb-video-grid__play:hover .pb-video-grid__play-icon {
    transform: scale(1.05);
  }

  .pb-video-grid__play:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 4px;
    border-radius: 16px;
  }

  .pb-video-grid__play-svg {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0.7;
  }

  .pb-video-grid__caption {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 3;
    margin: 0;
    color: #ffffff;
    font-family: 'Arboria-Book', var(--pb-font-body), var(--font-body-family), sans-serif;
    font-size: 12px;
    line-height: 1.2;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    pointer-events: none;
  }

  /*
   * Cards wrapper acts as the positioning context for the rotated brand
   * badge so it can hover over the slides exactly like Figma 57:2201.
   */
  .pb-video-grid__track-wrap {
    position: relative;
    width: 100%;
  }

  .pb-video-grid__badge {
    position: absolute;
    top: var(--pb-vg-badge-top, -16px);
    right: var(--pb-vg-badge-right, 14%);
    width: var(--pb-vg-badge-size, 112px);
    height: auto;
    transform: rotate(var(--pb-vg-badge-rotate, -18deg));
    transform-origin: center center;
    pointer-events: none;
    z-index: 3;
    filter: drop-shadow(0 6px 12px rgba(58, 14, 17, 0.12));
  }

  /* CTA — Figma: Bubbleboddy Neue 700, 24px, #FFF, uppercase, line-height normal */
  .pb-video-grid__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    min-height: 64px;
    padding: 18px 24px;
    border-radius: 9999px;
    background: var(--pb-vg-cta-bg, #e63f82);
    color: var(--pb-vg-cta-color, #fff);
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    font-family: 'Bubbleboddy Neue', 'BubbleboddyNeue', ui-sans-serif, system-ui, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: normal;
    font-synthesis: none;
    leading-trim: both;
    text-edge: cap;
    border: 1px solid transparent;
    transition: transform 120ms ease, box-shadow 120ms ease;
    margin-top: 12px;
  }

  .pb-video-grid__cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.2);
  }

  /* Desktop layout */
  @media screen and (min-width: 750px) {
    .pb-video-grid {
      padding: var(--pb-vg-pad-y-d, 72px) 40px;
    }

    .pb-video-grid__inner {
      gap: 44px;
    }

    .pb-video-grid__head {
      gap: 8px;
    }

    .pb-video-grid__rating-text {
      font-size: 16px;
      line-height: 1.35;
    }

    .pb-video-grid__heading-main {
      font-size: 40px;
    }

    .pb-video-grid__heading-space {
      font-size: 30px;
    }

    .pb-video-grid__heading-accent {
      font-size: 54px;
    }

    .pb-video-grid__track {
      gap: 16px;
      overflow: visible;
      scroll-snap-type: none;
      justify-content: center;
    }

    .pb-video-grid__slide {
      flex: 1 1 0;
      min-width: 0;
      width: auto;
      max-width: 250px;
    }

    .pb-video-grid__cta {
      font-size: 24px;
      line-height: normal;
      min-height: 76px;
      padding: 25px 17px;
      margin-top: 0;
    }

    .pb-video-grid__badge {
      width: var(--pb-vg-badge-size-d, 143px);
      top: var(--pb-vg-badge-top-d, -8px);
      right: var(--pb-vg-badge-right-d, 16%);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .pb-video-grid__video,
    .pb-video-grid__cta,
    .pb-video-grid__play {
      transition: none;
    }
  }
/* END_SECTION:pb-video-grid */

/* START_SECTION:pb-vs-comparison (INDEX:135) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  /* Bubbleboddy Neue — same family name / CDN as PB-19 (`docs/theme-fonts.md`) */
  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  /* Arboria-Bold: separate file with bold-shaped glyphs — use font-weight 400 only (`docs/theme-fonts.md`). */
  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-vs {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    background: var(--pb-vs-bg, #3a0e11);
    color: var(--pb-vs-text, #f9f7e0);
    /* Reserve top room for the drip so heading never overlaps it. */
    padding-top: calc(var(--pb-vs-pad-y-m, 60px) + var(--pb-vs-drip-h-m, 0px));
    padding-bottom: var(--pb-vs-pad-y-m, 60px);
    padding-left: 16px;
    padding-right: 16px;
    isolation: isolate;
    overflow: hidden;
  }

  /*
   * Top drip: cream `#f9f7e0` mass dripping down into the dark surface,
   * mirroring the bottom drip used in PB-19 to hand off the section.
   */
  .pb-vs__drip {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: var(--pb-vs-drip-h-m, 0px);
    line-height: 0;
    color: var(--pb-vs-drip-color, #f9f7e0);
    pointer-events: none;
    z-index: 1;
  }

  .pb-vs__drip-svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pb-vs__drip-svg .pb-vs__drip-fill {
    fill: currentColor;
  }

  /* Hidden radios drive panel visibility + active label state via JS. */
  .pb-vs__radio {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
  }

  /*
   * Layout matches Figma node 57:2213:
   *   inner = 60px mobile / 100px desktop between the two big groups
   *   group-head: 32/36px between heading block and tabs row
   *     head: 20px between title and subtitle (Figma 57:2215)
   *   group-table: 24px between table+footnote and the CTA
   *     group-panels: 16/20px between table panels and the footnote line
   */
  .pb-vs__inner {
    position: relative;
    z-index: 2;
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
    width: 100%;
  }

  .pb-vs__group-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 100%;
  }

  .pb-vs__group-table {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 100%;
  }

  .pb-vs__group-panels {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
  }

  .pb-vs__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
    flex-shrink: 0;
    text-align: center;
  }

  /*
   * Dual-typeface heading — Figma 57:2215–57:2216. Use inline-flex (not
   * font-size: 0) so line boxes always paint; gap + accent padding stand
   * in for the “US ” trailing space in the design file.
   */
  .pb-vs__heading {
    margin: 0;
    text-transform: lowercase;
    display: inline-flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    column-gap: 0.22em;
    row-gap: 0;
    max-width: 100%;
    line-height: 1;
    color: var(--pb-vs-text, #f9f7e0);
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .pb-vs__heading-accent {
    flex: 0 0 auto;
    font-family: 'Funkydori-Bold-Fixed', cursive;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: 1;
    font-synthesis: none;
    color: inherit;
  }

  .pb-vs__heading-main {
    flex: 0 0 auto;
    font-family: 'BubbleboddyNeue', var(--pb-font-display), var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-size: 30px;
    line-height: 1;
    color: inherit;
  }

  .pb-vs__subtitle {
    margin: 0;
    max-width: 36em;
    font-family: 'Arboria-Book', var(--pb-font-body), var(--font-body-family), sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--pb-vs-text, #f9f7e0);
  }

  /* Tab pills row: scroll-snaps on narrow phones to keep them on one line. */
  .pb-vs__tabs {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    padding: 4px 4px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
  }

  .pb-vs__tabs::-webkit-scrollbar {
    display: none;
  }

  /* Figma 57:2218 — pills: Arboria-Bold 18px / line 15px / tracking 0.18px (mobile base 16px below). */
  .pb-vs__tab {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    padding: 14px 16px;
    border-radius: 999px;
    background: var(--pb-vs-pill-bg, #e63f82);
    color: var(--pb-vs-pill-color, #f9f7e0);
    border: 2px solid transparent;
    font-family: 'Arboria-Bold', ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-synthesis: none;
    font-size: 16px;
    line-height: 15px;
    letter-spacing: 0.18px;
    text-transform: capitalize;
    cursor: pointer;
    user-select: none;
    scroll-snap-align: start;
    transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
  }

  .pb-vs__tab.is-active {
    background: var(--pb-vs-pill-active-bg, #f9f7e0);
    color: var(--pb-vs-pill-active-color, #3a0e11);
    border-color: rgba(58, 14, 17, 0.4);
  }

  .pb-vs__tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 22px;
    line-height: 0;
    flex-shrink: 0;
  }

  .pb-vs__tab-icon svg {
    display: block;
    height: 100%;
    width: auto;
  }

  /*
   * The product icons reuse the snippet variable `--pb-pst-icon-accent-fill`
   * so the cookie/dough fills land on the same hook. Per Figma node 57:2213
   * every pill — active or idle — keeps the same light-blue (#C5F5FF) icon
   * highlight, so we don't swap the variable on `.is-active`.
   */
  .pb-vs__tab {
    --pb-pst-icon-accent-fill: var(--pb-vs-pill-icon-accent, #c5f5ff);
  }

  .pb-vs__tab-label {
    flex: 0 1 auto;
    min-width: 0;
    white-space: nowrap;
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
    line-height: inherit;
    letter-spacing: inherit;
  }

  /*
   * Comparison panels stack in DOM; JS toggles `.is-visible` on the
   * active one. A short fade keeps the swap from feeling abrupt.
   */
  .pb-vs__panels {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .pb-vs__panel {
    width: 100%;
    display: none;
    flex-direction: column;
    align-items: center;
    animation: pb-vs-fade 220ms ease both;
  }

  .pb-vs__panel.is-visible {
    display: flex;
  }

  @keyframes pb-vs-fade {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /*
   * Figma node 57:2240 — comparison card (607px). Header row 57:2242 sits
   * above the body stack 57:2253; product shots bleed past the top edge.
   */
  /*
   * dir="ltr" on the wrap (Liquid) + CSS here keeps the spec column
   * (Protein, Fiber, …) on the physical left even when the theme/html
   * uses RTL — otherwise the three grid tracks mirror and labels jump
   * to the right (wrong vs Figma 57:2240).
   */
  .pb-vs__table-wrap {
    width: 100%;
    max-width: 607px;
    position: relative;
    direction: ltr;
    unicode-bidi: isolate;
  }

  /*
   * One grid for the whole table — not a grid per row — so the three
   * columns stay aligned. Explicit grid-column on each cell avoids edge
   * cases with `display: contents` + RTL inheritance in some browsers.
   */
  .pb-vs__table {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    direction: ltr;
    unicode-bidi: isolate;
    background: var(--pb-vs-table-bg, #f9f7e0);
    overflow: visible;
    color: #3a0e11;
    width: 100%;
    border-radius: 16px;
    /* No `var(--font-body-family)` here — theme heading/body is often serif; weight must stay 400 for Arboria-Bold. */
    font-family: 'Arboria-Bold', ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-synthesis: none;
  }

  /* Column order: 1 = row labels, 2 = Prime Bites, 3 = Regular (always LTR). */
  .pb-vs__table > .pb-vs__cell:nth-child(3n + 1) {
    grid-column: 1;
  }

  .pb-vs__table > .pb-vs__cell:nth-child(3n + 2) {
    grid-column: 2;
  }

  .pb-vs__table > .pb-vs__cell:nth-child(3n + 3) {
    grid-column: 3;
  }

  /* Rounded corners per Figma: only the four corner cells (57:2243, 57:2250, bottom row). */
  .pb-vs__table > .pb-vs__cell:first-child {
    border-top-left-radius: 16px;
  }

  .pb-vs__table > .pb-vs__cell:nth-child(3) {
    border-top-right-radius: 16px;
  }

  .pb-vs__table > .pb-vs__cell:nth-last-child(3) {
    border-bottom-left-radius: 16px;
  }

  .pb-vs__table > .pb-vs__cell:nth-last-child(1) {
    border-bottom-right-radius: 16px;
  }

  /*
   * Table cells — shared box model; typography split by column (Figma 57:2256 labels vs 57:2258 values).
   */
  .pb-vs__cell {
    padding: 12px;
    min-height: 52px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Arboria-Bold', ui-sans-serif, system-ui, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
    border-top: 1px solid var(--pb-vs-table-border, #e7e0cc);
    background: var(--pb-vs-table-bg, #f9f7e0);
    color: #3a0e11;
    -webkit-font-smoothing: antialiased;
  }

  /* Figma 57:2256 — spec column (Protein, Fiber, …): exact type ramp */
  .pb-vs__table .pb-vs__cell--label:not(.pb-vs__cell--head) {
    color: #3a0e11;
    text-align: center;
    font-family: 'Arboria-Bold', ui-sans-serif, system-ui, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.2px;
    letter-spacing: 0.72px;
    text-transform: uppercase;
    font-synthesis: none;
  }

  .pb-vs__cell span {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    line-height: inherit;
    font-size: inherit;
    color: inherit;
  }

  .pb-vs__cell--label {
    padding: 12px 16px;
  }

  .pb-vs__cell--value {
    border-left: 1px solid var(--pb-vs-table-border, #e7e0cc);
    color: #3a0e11;
    text-align: center;
    font-family: 'Arboria-Bold', ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.2px;
    letter-spacing: 0.72px;
    text-transform: lowercase;
    font-synthesis: none;
    gap: 6px;
  }

  /*
   * Header row 57:2242: h-[60px], p-[10px], items-end. Top-left cell is
   * visually empty in Figma (placeholder text uses cream-on-cream).
   * Markup: all header cells are direct children of `.pb-vs__table` (no
   * row wrapper) so `grid-column` / `nth-child` rules apply reliably.
   */
  .pb-vs__cell--head {
    border-top: 0;
    height: 60px;
    min-height: 60px;
    align-items: flex-end;
    padding: 10px;
    position: relative;
    overflow: visible;
  }

  .pb-vs__cell--head.pb-vs__cell--brand,
  .pb-vs__cell--head.pb-vs__cell--regular {
    border-left: 0;
    text-transform: uppercase;
    letter-spacing: 0.72px;
    font-size: 14px;
    line-height: 19.2px;
    font-weight: 400;
    font-synthesis: none;
  }

  .pb-vs__cell--head.pb-vs__cell--brand span,
  .pb-vs__cell--head.pb-vs__cell--regular span {
    font-size: 14px;
    line-height: 19.2px;
    font-family: inherit;
    font-weight: inherit;
  }

  .pb-vs__cell--head-corner {
    justify-content: center;
    font-size: 14px;
    line-height: 19.2px;
  }

  /*
   * Brand shot 57:2246: left offset ~55px in a ~202px-wide column → shift
   * ~14px right of cell centre. Regular shot 57:2252: centred (50% − 0.33px).
   */
  .pb-vs__head-img {
    position: absolute;
    pointer-events: none;
    object-fit: contain;
  }

  .pb-vs__head-img--brand {
    left: 50%;
    width: 122px;
    height: auto;
    top: -60px;
    transform: translateX(calc(-50% + 14px));
  }

  .pb-vs__head-img--regular {
    left: calc(50% - 0.33px);
    width: 96px;
    height: 96px;
    top: -61px;
    transform: translateX(-50%);
    object-fit: cover;
  }

  /* Muffins table header — Figma 57:2818 / 57:2824 */
  [data-pb-vs-product='muffins'] .pb-vs__head-img--brand {
    width: 133px;
    height: auto;
    top: -96px;
    transform: translateX(calc(-50% + 6px));
  }

  [data-pb-vs-product='muffins'] .pb-vs__head-img--regular {
    width: 99px;
    height: 98px;
    top: -56px;
  }

  [data-pb-vs-product='muffins'] .pb-vs__brand-seal {
    top: -22px;
  }

  /* Rice treats header — Figma 57:2943 / 57:2948 */
  [data-pb-vs-product='rice_treats'] .pb-vs__head-img--brand {
    width: 158px;
    height: 93px;
    top: -68px;
    object-fit: cover;
    transform: translateX(calc(-50% + 4px));
  }

  [data-pb-vs-product='rice_treats'] .pb-vs__head-img--regular {
    width: 130px;
    height: 76px;
    top: -60px;
    object-fit: cover;
  }

  [data-pb-vs-product='rice_treats'] .pb-vs__brand-seal {
    top: -26px;
  }

  /* Seal 57:2247–57:2248: top −28.12px, slightly right of image centre. */
  .pb-vs__brand-seal {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(calc(-50% + 7px)) rotate(-6deg);
    width: 74px;
    height: auto;
    pointer-events: none;
    z-index: 2;
    filter: drop-shadow(0 4px 8px rgba(58, 14, 17, 0.25));
  }

  .pb-vs__icon-status {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: inline-block;
  }

  .pb-vs__icon-status--check {
    color: var(--pb-vs-check-bg, #e63f82);
  }

  .pb-vs__icon-status--cross {
    color: var(--pb-vs-cross-bg, #3a0e11);
  }

  .pb-vs__footnote {
    margin: 0;
    font-family: 'Arboria-Book', var(--pb-font-body), var(--font-body-family), sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.4;
    color: var(--pb-vs-text, #f9f7e0);
    text-align: center;
  }

  /* CTA — Figma 57:2330 "Link → Button": 500×66, py 25px px ~21px, r 30, Bubbleboddy Bold 24px (#57:2331). */
  .pb-vs__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    min-height: 60px;
    padding: 22px 20px;
    background: var(--pb-vs-cta-bg, #e63f82);
    color: var(--pb-vs-cta-color, #ffffff);
    border-radius: 9999px;
    font-family: 'BubbleboddyNeue', ui-sans-serif, system-ui, sans-serif;
    font-weight: 700;
    font-synthesis: none;
    font-size: 18px;
    line-height: normal;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    text-align: center;
    transition: transform 120ms ease, opacity 120ms ease;
  }

  .pb-vs__cta:hover {
    opacity: 0.92;
    transform: translateY(-1px);
  }

  /* Mobile — Figma 57:417: 2×1 tab grid + Rice Treats centered on row 2; denser table */
  @media screen and (max-width: 749px) {
    .pb-vs__tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      justify-items: stretch;
      overflow-x: visible;
      padding: 0;
      width: 100%;
      max-width: 100%;
      scroll-snap-type: none;
    }

    .pb-vs__tabs .pb-vs__tab:nth-child(1) {
      grid-column: 1;
    }

    .pb-vs__tabs .pb-vs__tab:nth-child(2) {
      grid-column: 2;
    }

    .pb-vs__tabs .pb-vs__tab:nth-child(3) {
      grid-column: 1 / -1;
      justify-self: center;
    }

    .pb-vs__tab {
      border-radius: 24px;
      font-size: 16px;
      line-height: 15px;
      letter-spacing: 0.18px;
    }

    .pb-vs__tab-icon {
      height: 20px;
    }

    .pb-vs__heading-accent {
      font-size: 44px;
    }

    .pb-vs__heading-main {
      font-size: 32px;
    }

    .pb-vs__subtitle {
      font-size: 18px;
    }

    .pb-vs__table-wrap {
      max-width: 335px;
    }

    .pb-vs__cell {
      padding: 10px 8px;
    }

    .pb-vs__cell--label {
      padding: 10px 8px;
    }

    /* Keep label column at Figma 14px on mobile; do not shrink with generic .pb-vs__cell */
    .pb-vs__table .pb-vs__cell--label:not(.pb-vs__cell--head) {
      font-size: 14px;
      line-height: 19.2px;
      letter-spacing: 0.72px;
    }

    .pb-vs__cell--value {
      font-size: 11px;
      line-height: 14px;
      letter-spacing: 0.55px;
      gap: 4px;
    }

    .pb-vs__cell--head.pb-vs__cell--brand span,
    .pb-vs__cell--head.pb-vs__cell--regular span {
      font-size: 10px;
      line-height: 1.1;
    }

    .pb-vs__icon-status {
      width: 12px;
      height: 12px;
    }

    .pb-vs__footnote {
      font-size: 14px;
    }

    .pb-vs__cta {
      font-size: 20px;
      line-height: normal;
      max-width: none;
      min-height: 58px;
      padding: 22px 20px;
    }

    [data-pb-vs-product='brownies'] .pb-vs__head-img--brand {
      width: 101px;
      top: -48px;
      transform: translateX(calc(-50% + 6px));
    }

    [data-pb-vs-product='brownies'] .pb-vs__head-img--regular {
      width: 75px;
      height: 75px;
      top: -44px;
    }

    [data-pb-vs-product='brownies'] .pb-vs__brand-seal {
      width: 65px;
      top: -18px;
    }

    [data-pb-vs-product='muffins'] .pb-vs__head-img--brand {
      width: 101px;
      top: -72px;
    }

    [data-pb-vs-product='muffins'] .pb-vs__head-img--regular {
      width: 75px;
      height: 75px;
      top: -44px;
    }

    [data-pb-vs-product='rice_treats'] .pb-vs__head-img--brand {
      width: 120px;
      height: 70px;
      top: -52px;
    }

    [data-pb-vs-product='rice_treats'] .pb-vs__head-img--regular {
      width: 100px;
      height: 58px;
      top: -48px;
    }
  }

  /* Desktop layout */
  @media screen and (min-width: 750px) {
    .pb-vs {
      padding-top: calc(var(--pb-vs-pad-y-d, 100px) + var(--pb-vs-drip-h-d, 0px));
      padding-bottom: var(--pb-vs-pad-y-d, 60px);
      padding-left: 40px;
      padding-right: 40px;
    }

    .pb-vs__drip {
      height: var(--pb-vs-drip-h-d, 0px);
    }

    .pb-vs__inner {
      gap: 120px;
    }

    .pb-vs__group-head {
      gap: 36px;
    }

    .pb-vs__group-table {
      gap: 36px;
    }

    .pb-vs__group-panels {
      gap: 28px;
    }

    .pb-vs__head {
      gap: 20px;
    }

    .pb-vs__heading-accent {
      font-size: 54px;
    }

    .pb-vs__heading-main {
      font-size: 40px;
    }

    .pb-vs__subtitle {
      font-size: 20px;
    }

    .pb-vs__tabs {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      overflow-x: visible;
      padding: 0;
      gap: 10px;
    }

    .pb-vs__tab {
      font-size: 18px;
      line-height: 15px;
      letter-spacing: 0.18px;
      padding: 14px 16px;
    }

    .pb-vs__tab-icon {
      height: 28px;
    }

    .pb-vs__cell--value {
      font-size: 15px;
      line-height: 19.2px;
      letter-spacing: 0.72px;
      gap: 6px;
    }

    .pb-vs__cell--head {
      height: 60px;
    }

    .pb-vs__cta {
      font-size: 24px;
      line-height: normal;
      min-height: 66px;
      padding: 25px 21px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .pb-vs__panel,
    .pb-vs__cta,
    .pb-vs__tab {
      animation: none;
      transition: none;
    }
  }
/* END_SECTION:pb-vs-comparison */

/* START_SECTION:text-with-image (INDEX:154) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-limited-box-story {
    width: 100%;
    box-sizing: border-box;
    --pb-lbs-text: #311111;
    --pb-limited-note-text: #311111;
    color: var(--pb-lbs-text);
  }

  /* Desktop: edge-to-edge section (undo theme main column side padding so cream/pink fill the viewport) */
  @media screen and (min-width: 750px) {
    .pb-limited-box-story {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: 0;
    }
  }

  .pb-limited-box-story__split {
    display: flex;
    flex-direction: column-reverse;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    z-index: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__split {
      flex-direction: row;
      align-items: stretch;
      max-width: none;
      margin-inline: 0;
    }
  }

  /*
    Mobile: full-bleed image band (break out of page inset).
    Desktop: right column in the split — no horizontal breakout.
  */
  .pb-limited-box-story__media {
    position: relative;
    z-index: 0;
    box-sizing: border-box;
    background-color: var(--pb-lbs-band-bg, #f12f7f);
    display: block;
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 0;
  }

  @media screen and (max-width: 749px) {
    .pb-limited-box-story__media {
      width: 100vw;
      max-width: 100vw;
      margin-left: calc(50% - 50vw);
      margin-right: 0;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__media {
      flex: 1 1 56%;
      min-width: 0;
      width: auto;
      display: flex;
      flex-direction: column;
    }
  }

  .pb-limited-box-story__media--no-image {
    min-height: 120px;
  }

  .pb-limited-box-story__photo-wrap {
    width: 100%;
    margin: 0;
    line-height: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__photo-wrap {
      flex: 1 1 auto;
      min-height: 22rem;
      display: flex;
      align-items: stretch;
    }
  }

  .pb-limited-box-story__placeholder {
    display: block;
    width: 100%;
    min-height: 22rem;
  }

  .pb-limited-box-story__placeholder svg,
  .pb-limited-box-story__placeholder .placeholder-svg {
    display: block;
    width: 100%;
    height: 100%;
  }

  .pb-limited-box-story__media img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__media img {
      height: 100%;
      min-height: 22rem;
      object-fit: cover;
    }
  }

  /* Mobile: horizontal wave under the photo */
  .pb-limited-box-story__wave-overlay--bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    z-index: 1;
    pointer-events: none;
    line-height: 0;
  }

  .pb-limited-box-story__wave-overlay--bottom svg {
    display: block;
    width: 100%;
    height: auto;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__wave-overlay--bottom {
      display: none;
    }
  }

  /* Desktop: vertical cream strip on the seam (bulge toward the image) — narrow so the “hump” hugs the photo */
  .pb-limited-box-story__wave-overlay--edge {
    display: none;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__wave-overlay--edge {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: clamp(22px, 5.25%, 48px);
      z-index: 1;
      pointer-events: none;
      line-height: 0;
    }

    .pb-limited-box-story__wave-overlay--edge svg {
      display: block;
      width: 100%;
      height: 100%;
    }
  }

  .pb-limited-box-story__inner {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 100%;
    max-width: 1080px;
    margin-inline: auto;
    padding: 36px 20px 48px;
    background-color: var(--pb-lbs-content-bg, #f9f7e8);
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__inner {
      flex: 0 1 44%;
      min-width: 0;
      max-width: none;
      margin-inline: 0;
      padding: 48px 32px 56px 40px;
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-limited-box-story__inner {
      padding: 56px 48px 64px 56px;
    }
  }

  /* Wave divider already meets the cream block; drop extra top gap on small screens */
  @media screen and (max-width: 749px) {
    .pb-limited-box-story__inner--after-wave {
      padding-top: 0;
    }
  }

  /* Same heading system as AA hero: inline_richtext + |m|/|d|/|b| via aa-inline-richtext-responsive-br */
  .pb-limited-box-story__heading-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-wrap {
      justify-content: center;
    }
  }

  .pb-limited-box-story__heading-wrap .aa-hero-display-heading {
    margin: 0 auto;
    max-width: 36rem;
    text-align: center;
    color: var(--pb-lbs-text);
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__heading-wrap .aa-hero-display-heading {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }
  }

  .pb-limited-box-story__heading-wrap .aa-hero-display-heading strong,
  .pb-limited-box-story__heading-wrap .aa-hero-display-heading b {
    color: inherit;
  }

  .pb-limited-box-story__body {
    margin: 24px auto 0;
    max-width: 36rem;
    text-align: center;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: normal;
    color: var(--pb-lbs-text);
  }

  /*
    Thin reading text = Arboria-Book everywhere in the richtext tree (same trick as pb-faq-accordion).
    Theme body font on `p` / nested spans otherwise wins. Bold in editor = Arboria-Bold file, weight 400.
  */
  .pb-limited-box-story__body,
  .pb-limited-box-story__body * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  .pb-limited-box-story__body strong,
  .pb-limited-box-story__body b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
  }

  .pb-limited-box-story__body p {
    margin: 0 0 1em;
  }

  .pb-limited-box-story__body p:last-child {
    margin-bottom: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__body {
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      font-size: 18px;
    }
  }

  .pb-limited-box-story__cta {
    margin-top: 28px;
    margin-inline: auto;
    max-width: 36rem;
    --aa-capsule-cta-bg: #3a0e11;
    --aa-capsule-cta-focus: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__cta {
      margin-top: 32px;
      margin-left: auto;
      margin-right: auto;
    }
  }

  .pb-limited-box-story__note {
    margin-top: 16px;
  }

  @media screen and (min-width: 750px) {
    .pb-limited-box-story__note {
      width: 100%;
      max-width: 36rem;
    }

    .pb-limited-box-story__note .pb-limited-edition-note {
      justify-content: center;
      text-align: center;
    }
  }
/* END_SECTION:text-with-image */

/* CSS from snippet stylesheet tags */
/* START_SNIPPET:aa-capsule-cta-button (INDEX:164) */
.aa-capsule-cta-btn {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 22px 19px;
    border: none;
    border-radius: 9999px;
    background-color: var(--aa-capsule-cta-bg);
    color: #ffffff;
    font-family: var(--font-heading-family);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  a.aa-capsule-cta-btn {
    text-decoration: none;
  }

  button.aa-capsule-cta-btn {
    appearance: none;
  }

  .aa-capsule-cta-btn:focus-visible {
    outline: 2px solid var(--aa-capsule-cta-focus, var(--aa-capsule-cta-bg));
    outline-offset: 3px;
  }

  @media screen and (min-width: 750px) {
    .aa-capsule-cta-btn {
      font-size: 18px;
    }
  }
/* END_SNIPPET:aa-capsule-cta-button */

/* START_SNIPPET:aa-hero-display-heading (INDEX:165) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  .aa-hero-display-heading {
    margin: 11px 0 0;
    max-width: 48rem;
    color: #4a2c2a;
    font-family: var(--font-heading-family);
    font-style: normal;
    font-weight: 700;
    letter-spacing: normal;
    font-size: 30px;
    line-height: var(--aa-hero-heading-lh-mobile, 1.05);
  }

  .aa-hero-display-heading strong,
  .aa-hero-display-heading b {
    font-family: 'Funkydori-Bold-Fixed', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 40px;
    line-height: inherit;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .aa-hero-display-heading {
      font-size: 40px;
      line-height: var(--aa-hero-heading-lh-desktop, 0.8);
    }

    .aa-hero-display-heading strong,
    .aa-hero-display-heading b {
      font-size: 54px;
    }
  }
/* END_SNIPPET:aa-hero-display-heading */

/* START_SNIPPET:aa-inline-richtext-responsive-br (INDEX:166) */
/* 750px = Dawn-style `screen and (min-width: 750px)` breakpoint */
  @media screen and (min-width: 750px) {
    .aa-br--mobile-only {
      display: none !important;
    }
  }

  .aa-br--desktop-only {
    display: none !important;
  }

  @media screen and (min-width: 750px) {
    .aa-br--desktop-only {
      display: inline !important;
    }
  }
/* END_SNIPPET:aa-inline-richtext-responsive-br */

/* START_SNIPPET:aa-review-stars-row (INDEX:167) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .aa-review-stars-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    margin-bottom: var(--aa-review-stars-row-gap-after, 10px);
  }

  .aa-review-stars-row__stars {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    gap: 3px;
  }

  .aa-review-stars-row__star {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
  }

  /* Fixed box so flex/baseline does not scale stars unevenly */
  .aa-review-stars-row__star svg {
    width: 13px;
    height: 13px;
    display: block;
    flex-shrink: 0;
  }

  .aa-review-stars-row__text {
    margin: 0;
    flex: 1;
    min-width: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: normal;
    color: var(--aa-review-stars-text, var(--aa-bundle-heading-bg, #4a2c2a));
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .aa-review-stars-row__text {
      font-size: 16px;
    }

    .aa-review-stars-row__star svg {
      width: 16px;
      height: 16px;
    }
  }
/* END_SNIPPET:aa-review-stars-row */

/* START_SNIPPET:pb-bundle-flavor-card (INDEX:214) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-bundle-flavor-card {
    --pbf-card-active-bg: #d6eefa;
    --pbf-card-active-border: rgba(72, 154, 198, 0.48);
    --pbf-title-color: #3a0e11;
    --pbf-card-radius: 12px;
    --pbf-stepper-bg: #ffffff;
    --pbf-stepper-border: #c9b8a8;
    --pbf-stepper-accent: #e63f82;
    --pbf-stepper-value: #3a0e11;
    --pbf-help-bg: #e63f82;
    --pbf-help-fg: #ffffff;

    box-sizing: border-box;
    width: 100%;
    max-width: 200px;
    height: 100%;
    min-height: 0;
    padding: 10px 10px 12px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    background-color: transparent;
    border: 2px solid transparent;
    border-radius: var(--pbf-card-radius);
    transition: background-color 0.18s ease, border-color 0.18s ease;
  }

  .pb-bundle-flavor-card--active {
    background-color: var(--pbf-card-active-bg);
    border: 2px solid var(--pbf-card-active-border);
  }

  @media screen and (min-width: 750px) {
    .pb-bundle-flavor-card {
      max-width: 232px;
    }
  }

  .pb-bundle-flavor-card__media {
    position: relative;
    align-self: stretch;
  }

  .pb-bundle-flavor-card__media-frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: calc(var(--pbf-card-radius) - 4px);
    overflow: hidden;
    background-color: transparent;
  }

  .pb-bundle-flavor-card__media-frame--placeholder {
    min-height: 0;
  }

  .pb-bundle-flavor-card__img {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    /* Inset photo only (not the card chrome, title, or stepper). */
    padding-inline: 12px;
    padding-block: 6px;
    background-color: transparent;
    object-fit: cover;
    object-position: center;
  }

  .pb-bundle-flavor-card--active .pb-bundle-flavor-card__img {
    background-color: var(--pbf-card-active-bg);
  }

  .pb-bundle-flavor-card__badge {
    position: absolute;
    top: 4px;
    right: 2px;
    z-index: 1;
    line-height: 0;
    pointer-events: none;
  }

  .pb-bundle-flavor-card__title-row {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    width: 100%;
    margin-top: auto;
  }

  .pb-bundle-flavor-card__title {
    margin: 0;
    flex: 1 1 auto;
    min-width: 0;
    text-align: center;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--pbf-title-color);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    overflow-wrap: break-word;
  }

  @media screen and (min-width: 750px) {
    .pb-bundle-flavor-card__title {
      font-size: 16px;
    }
  }

  .pb-bundle-flavor-card__help {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background-color: var(--pbf-help-bg);
    color: var(--pbf-help-fg);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    cursor: pointer;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }

  .pb-bundle-flavor-card__help:focus-visible {
    outline: 2px solid var(--pbf-stepper-accent);
    outline-offset: 2px;
  }

  .pb-bundle-flavor-card__help-icon {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pb-bundle-flavor-card__help-icon svg {
    display: block;
  }

  .pb-bundle-flavor-card__info-tooltip {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
  }

  .pb-bundle-flavor-card__info-tooltip-trigger {
    cursor: help;
  }

  .pb-bundle-flavor-card__info-tooltip-panel {
    position: absolute;
    left: 50%;
    top: calc(100% + 0.5rem);
    transform: translateX(-50%) translateY(2px);
    width: max-content;
    max-width: min(20rem, calc(100vw - 2rem));
    padding: 1rem 1.125rem 1.0625rem;
    box-sizing: border-box;
    background: var(--pbf-help-bg);
    color: #fff;
    border-radius: 12px;
    font-size: 0.8125rem;
    line-height: 1.45;
    text-align: left;
    box-shadow: 0 8px 24px rgba(74, 31, 36, 0.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
    z-index: 5;
  }

  .pb-bundle-flavor-card__info-tooltip-panel::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 0 7px 8px 7px;
    border-style: solid;
    border-color: transparent transparent var(--pbf-help-bg) transparent;
  }

  .pb-bundle-flavor-card__info-tooltip:hover .pb-bundle-flavor-card__info-tooltip-panel,
  .pb-bundle-flavor-card__info-tooltip:focus-within .pb-bundle-flavor-card__info-tooltip-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  /* Escape overflow/scroll from BYOB picker and other ancestors: anchor + fixed keeps the panel in view. */
  @supports (anchor-name: --pbf-tip-anchor-probe) {
    .pb-bundle-flavor-card__info-tooltip-panel {
      position: fixed;
      left: anchor(center);
      top: anchor(bottom);
      margin-top: 0.5rem;
      z-index: 9999;
    }
  }

  .pb-bundle-flavor-card__tip-desc,
  .pb-bundle-flavor-card__tip-desc * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    color: #fff;
  }

  .pb-bundle-flavor-card__tip-macros,
  .pb-bundle-flavor-card__tip-macros * {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.45;
    color: #fff;
  }

  .pb-bundle-flavor-card__tip-desc + .pb-bundle-flavor-card__tip-macros {
    margin-top: 0.5rem;
  }

  .pb-bundle-flavor-card__tip-desc > *:first-child,
  .pb-bundle-flavor-card__tip-macros > *:first-child {
    margin-top: 0;
  }

  .pb-bundle-flavor-card__tip-desc > *:last-child,
  .pb-bundle-flavor-card__tip-macros > *:last-child {
    margin-bottom: 0;
  }

  .pb-bundle-flavor-card__stepper {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    min-height: 44px;
    margin-top: auto;
    padding: 0;
    box-sizing: border-box;
    background-color: var(--pbf-stepper-bg);
    border: 1px solid var(--pbf-stepper-border);
    border-radius: 9999px;
    gap: 0;
    overflow: hidden;
  }

  .pb-bundle-flavor-card__stepper-btn {
    flex: 0 1 28%;
    max-width: 4.5rem;
    min-width: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 8px 4px;
    border: none;
    background: transparent;
    line-height: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  .pb-bundle-flavor-card__stepper-btn--dec:not(:disabled),
  .pb-bundle-flavor-card__stepper-btn--inc:not(:disabled) {
    color: var(--pbf-stepper-accent);
  }

  .pb-bundle-flavor-card__stepper-btn:not(:disabled):hover {
    background-color: var(--pbf-stepper-accent);
    color: #ffffff;
  }

  .pb-bundle-flavor-card__stepper-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    background: transparent !important;
  }

  .pb-bundle-flavor-card__stepper-icon {
    display: block;
    flex-shrink: 0;
    pointer-events: none;
  }

  .pb-bundle-flavor-card__stepper-value {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--pbf-stepper-value);
    font-variant-numeric: tabular-nums;
    min-width: 2ch;
    user-select: none;
    opacity: 1;
    transition: opacity 0.15s ease;
  }

  /* Qty 0: card has no --active; soften count only (1+ stays full strength). */
  .pb-bundle-flavor-card:not(.pb-bundle-flavor-card--active) .pb-bundle-flavor-card__stepper-value {
    opacity: 0.55;
  }

  @media screen and (min-width: 750px) {
    .pb-bundle-flavor-card__stepper-value {
      font-size: 18px;
    }
  }
/* END_SNIPPET:pb-bundle-flavor-card */

/* START_SNIPPET:pb-bundle-tier-selector-onetime (INDEX:216) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue_6c76a622-3907-4498-b09e-e739d10ef9c1.woff?v=1731611556')
      format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'BubbleboddyNeue';
    src: url('/cdn/shop/files/Bubbleboddy-Neue-Bold_cea4e365-7081-4fae-a951-703c8aac1550.woff?v=1731611556')
      format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  .pb-bundle-tier-selector {
    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    width: 100%;
  }

  .pb-bundle-tier-selector__legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pb-bundle-tier-selector__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding-top: 4px;
  }

  /* Unselected: soft hairline so every option reads as a card; selected: cream fill + strong border. */
  .pb-bundle-tier-card {
    position: relative;
    box-sizing: border-box;
    border-radius: 14px;
    border: 2px solid rgba(58, 14, 17, 0.22);
    background: rgba(255, 255, 255, 0.38);
    overflow: visible;
    transition:
      border-color 0.15s ease,
      background-color 0.15s ease;
  }

  .pb-bundle-tier-card:not(.pb-bundle-tier-card--selected):hover {
    border-color: rgba(58, 14, 17, 0.38);
    background: rgba(255, 255, 255, 0.55);
  }

  .pb-bundle-tier-card--selected {
    background: #f9f7e0;
    border-color: #3a0e11;
  }

  .pb-bundle-tier-card--hero {
    margin-top: 14px;
    padding-top: 2px;
  }

  .pb-bundle-tier-card__hero-tag {
    position: absolute;
    top: 0;
    right: 14px;
    z-index: 3;
    transform: translateY(-50%);
    padding: 5px 12px 4px;
    border-radius: 6px 6px 0 0;
    /* PB accent — matches pack-size pill (`--hot-pink` / subscribe highlight), not evergreen. */
    background: var(--hot-pink-color, #e63f82);
    color: #ffffff;
    font-family: 'Arboria-Bold', var(--font-body-family), Arial, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.15;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    pointer-events: none;
    white-space: nowrap;
    font-synthesis: none;
  }

  .pb-bundle-tier-card__body {
    position: relative;
  }

  .pb-bundle-tier-card__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
  }

  .pb-bundle-tier-card__label {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 16px 16px 14px;
    cursor: pointer;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
  }

  .pb-bundle-tier-card--selected .pb-bundle-tier-card__label {
    padding: 15px 15px 13px;
  }

  .pb-bundle-tier-card__radio {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid rgba(58, 14, 17, 0.28);
    background: #ffffff;
    box-sizing: border-box;
  }

  .pb-bundle-tier-card__input:checked + .pb-bundle-tier-card__label .pb-bundle-tier-card__radio {
    border-color: #3a0e11;
    background: #3a0e11;
    box-shadow: inset 0 0 0 5px #ffffff;
  }

  .pb-bundle-tier-card--selected .pb-bundle-tier-card__input:checked + .pb-bundle-tier-card__label .pb-bundle-tier-card__radio {
    box-shadow: inset 0 0 0 5px #f9f7e0;
  }

  .pb-bundle-tier-card__main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
  }

  .pb-bundle-tier-card__title-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  /* Row titles: same stack + weight as `pb-byob-step-heading__title`; prices Bold for emphasis. */
  .pb-bundle-tier-card__title {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
    color: #3a0e11;
    font-synthesis: none;
  }

  .pb-bundle-tier-card__badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    /* High contrast on cream section bg: crisp chip vs low-contrast tan-on-tan. */
    background: #ffffff;
    border: 1px solid rgba(58, 14, 17, 0.22);
    color: #3a0e11;
    font-family: 'Arboria-Bold', var(--font-body-family), Arial, sans-serif;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    font-synthesis: none;
  }

  .pb-bundle-tier-card__detail {
    display: block;
    margin-top: 2px;
    font-family: 'Arboria-Book', var(--font-body-family), Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.82);
    font-synthesis: none;
  }

  .pb-bundle-tier-card__pricing {
    flex-shrink: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 8px;
    text-align: right;
    min-width: 0;
    max-width: 100%;
    margin-left: auto;
    white-space: nowrap;
  }

  .pb-bundle-tier-card__price {
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.1;
    color: #3a0e11;
    font-synthesis: none;
  }

  .pb-bundle-tier-card__compare {
    font-family: 'Arboria-Book', var(--font-body-family), Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: rgba(58, 14, 17, 0.58);
    text-decoration: line-through;
    font-synthesis: none;
  }

  .pb-bundle-tier-card__bonus {
    margin: 0;
    padding: 12px 16px;
    border-radius: 0 0 12px 12px;
    background: #3a0e11;
    color: #ffffff;
    font-family: 'Arboria-Bold', var(--font-body-family), Arial, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    font-synthesis: none;
  }

  .pb-bundle-tier-card--selected:has(.pb-bundle-tier-card__bonus):not(.pb-bundle-tier-card--hero) {
    overflow: hidden;
  }

  .pb-bundle-tier-card__input:focus-visible + .pb-bundle-tier-card__label {
    outline: 2px solid #3a0e11;
    outline-offset: 2px;
  }
/* END_SNIPPET:pb-bundle-tier-selector-onetime */

/* START_SNIPPET:pb-byob-post-cta-stack (INDEX:217) */
.pb-byob-post-cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    width: 100%;
    box-sizing: border-box;
  }

  .pb-byob-post-cta__social {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    margin: 0;
    padding: 0;
    text-align: center;
  }

  .pb-byob-post-cta__stars {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    line-height: 0;
    color: #f8b720;
  }

  .pb-byob-post-cta__stars svg {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-post-cta__stars svg {
      width: 20px;
      height: 20px;
    }
  }

  .pb-byob-post-cta__rating-text {
    margin: 0;
    padding: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    color: #3a0e11;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-post-cta__rating-text {
      font-size: 16px;
    }
  }

  .pb-byob-post-cta__mix-card {
    margin: 0;
    padding: 14px 12px 16px;
    box-sizing: border-box;
    border-radius: 14px;
    border: 2px dashed #7eb8e0;
    background-color: #e8f4fc;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-post-cta__mix-card {
      padding: 16px 16px 18px;
    }
  }

  .pb-byob-post-cta__grid {
    list-style: none;
    margin: 0;
    margin-inline: auto;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 14px;
    width: fit-content;
    box-sizing: border-box;
  }

  .pb-byob-post-cta__cell {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
  }

  .pb-byob-post-cta__cell-icon {
    flex-shrink: 0;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    /* Strict token swap for summary icons: dark -> pink, accent -> tan. */
    --pb-pst-icon-dark: #e63f82;
    --pb-pst-icon-accent-fill: #f9f7e0;
  }

  .pb-byob-post-cta__cell-icon svg {
    display: block;
    width: 100%;
    height: auto;
    max-width: 20px;
    max-height: 20px;
  }

  .pb-byob-post-cta__cell-label {
    margin: 0;
    padding: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    color: #3a0e11;
    min-width: 0;
  }

  .pb-byob-post-cta__cell-label strong {
    font-weight: 700;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-post-cta__cell-label {
      font-size: 16px;
    }
  }

  .pb-byob-post-cta__hint {
    margin: 0;
    padding: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 14px;
    font-weight: 300;
    font-synthesis: none;
    line-height: 1.35;
    color: #3a0e11;
    text-align: center;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-post-cta__hint {
      font-size: 16px;
    }
  }

  .pb-byob-post-cta__mix-card [data-pb-byob-mix-category][hidden] {
    display: none !important;
  }

  .pb-byob-post-cta__cell-icon--other {
    width: 20px;
    height: 20px;
    border-radius: 9999px;
    border: 2px dashed rgba(58, 14, 17, 0.35);
    box-sizing: border-box;
  }
/* END_SNIPPET:pb-byob-post-cta-stack */

/* START_SNIPPET:pb-byob-product-grid-byob-ab (INDEX:218) */
.pb-byob-product-grid__empty {
    margin: 0;
    padding: 16px 14px;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.4;
    color: rgba(58, 14, 17, 0.72);
    border: 1px dashed rgba(58, 14, 17, 0.3);
    border-radius: 10px;
    background: rgba(249, 247, 224, 0.6);
    max-width: 36rem;
    box-sizing: border-box;
  }

  .pb-byob-product-grid__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-items: center;
    width: 100%;
    max-width: 72rem;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .pb-byob-product-grid__cell {
    width: 100%;
    max-width: 232px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    min-height: 0;
  }

  /* Let flavor cards fill row height (grid stretches cells; flex needs grow for % height). */
  .pb-byob-product-grid__cell > .pb-bundle-flavor-card {
    flex: 1 1 auto;
    align-self: center;
    min-height: 0;
  }

  .pb-byob-product-grid__selling-plan-debug {
    align-self: stretch;
    margin: 0;
    padding: 0 2px;
    font-family: var(--font-body-family), ui-monospace, monospace;
    font-size: 10px;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.62);
    word-break: break-word;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__selling-plan-debug {
      font-size: 11px;
    }
  }

  .pb-byob-product-grid__selling-plan-debug-line {
    margin: 0;
    padding: 0;
  }
/* END_SNIPPET:pb-byob-product-grid-byob-ab */

/* START_SNIPPET:pb-byob-product-grid-onetime (INDEX:219) */
.pb-byob-product-grid__empty {
    margin: 0;
    padding: 16px 14px;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.4;
    color: rgba(58, 14, 17, 0.72);
    border: 1px dashed rgba(58, 14, 17, 0.3);
    border-radius: 10px;
    background: rgba(249, 247, 224, 0.6);
    max-width: 36rem;
    box-sizing: border-box;
  }

  .pb-byob-product-grid__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-items: center;
    width: 100%;
    max-width: 72rem;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .pb-byob-product-grid__cell {
    width: 100%;
    max-width: 232px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    min-height: 0;
  }

  /* Let flavor cards fill row height (grid stretches cells; flex needs grow for % height). */
  .pb-byob-product-grid__cell > .pb-bundle-flavor-card {
    flex: 1 1 auto;
    align-self: center;
    min-height: 0;
  }

  .pb-byob-product-grid__selling-plan-debug {
    align-self: stretch;
    margin: 0;
    padding: 0 2px;
    font-family: var(--font-body-family), ui-monospace, monospace;
    font-size: 10px;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.62);
    word-break: break-word;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__selling-plan-debug {
      font-size: 11px;
    }
  }

  .pb-byob-product-grid__selling-plan-debug-line {
    margin: 0;
    padding: 0;
  }
/* END_SNIPPET:pb-byob-product-grid-onetime */

/* START_SNIPPET:pb-byob-product-grid (INDEX:220) */
.pb-byob-product-grid__empty {
    margin: 0;
    padding: 16px 14px;
    text-align: center;
    font-size: 0.9rem;
    line-height: 1.4;
    color: rgba(58, 14, 17, 0.72);
    border: 1px dashed rgba(58, 14, 17, 0.3);
    border-radius: 10px;
    background: rgba(249, 247, 224, 0.6);
    max-width: 36rem;
    box-sizing: border-box;
  }

  .pb-byob-product-grid__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    justify-items: center;
    width: 100%;
    max-width: 72rem;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
  }

  @media screen and (min-width: 990px) {
    .pb-byob-product-grid__grid {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  .pb-byob-product-grid__cell {
    width: 100%;
    max-width: 232px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    min-height: 0;
  }

  /* Let flavor cards fill row height (grid stretches cells; flex needs grow for % height). */
  .pb-byob-product-grid__cell > .pb-bundle-flavor-card {
    flex: 1 1 auto;
    align-self: center;
    min-height: 0;
  }

  .pb-byob-product-grid__selling-plan-debug {
    align-self: stretch;
    margin: 0;
    padding: 0 2px;
    font-family: var(--font-body-family), ui-monospace, monospace;
    font-size: 10px;
    line-height: 1.35;
    color: rgba(58, 14, 17, 0.62);
    word-break: break-word;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
  }

  @media screen and (min-width: 750px) {
    .pb-byob-product-grid__selling-plan-debug {
      font-size: 11px;
    }
  }

  .pb-byob-product-grid__selling-plan-debug-line {
    margin: 0;
    padding: 0;
  }
/* END_SNIPPET:pb-byob-product-grid */

/* START_SNIPPET:pb-byob-selected-summary (INDEX:221) */
.pb-byob__selected-summary {
    --pb-byob-selected-slot-border: #3a0e11;
    --pb-byob-selected-slot-radius: 12px;
    /* Inset radius so media matches the dashed border corner (1px border on slot). */
    --pb-byob-selected-slot-inner-radius: calc(var(--pb-byob-selected-slot-radius) - 1px);
    --pb-byob-selected-slot-gap: 12px;
    /* Fixed tile size (1:1 via aspect-ratio on slot); scroll row when it overflows. */
    --pb-byob-selected-slot-size: 77px;
    --pb-byob-selected-fill-bg: #d6eefa;
    --pb-byob-selected-heading-brown: #3a0e11;
    --pb-byob-selected-accent: #e63f82;
    --pb-byob-selected-progress-track: #d0d0d0;
    --pb-byob-selected-progress-fill: #e63f82;
    --pb-byob-selected-progress-pct: 0%;
    --pb-byob-selected-progress-f: 0;

    position: relative;
    padding-block: 16px 0;
    padding-inline: 0;
    box-sizing: border-box;
  }

  .pb-byob__selected-progress {
    margin: 0 0 14px;
    width: 100%;
    box-sizing: border-box;
  }

  .pb-byob__selected-progress-track {
    position: relative;
    width: 100%;
    height: 10px;
    border-radius: 9999px;
    background-color: var(--pb-byob-selected-progress-track);
    border: none;
    box-shadow: none;
    overflow: hidden;
    box-sizing: border-box;
    isolation: isolate;
  }

  @media screen and (min-width: 750px) {
    .pb-byob__selected-summary {
      --pb-byob-selected-slot-size: 116px;
    }
  }

  .pb-byob__selected-summary-title {
    margin: 0 0 10px;
    text-align: left;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--pb-byob-selected-heading-brown);
  }

  .pb-byob__selected-heading {
    margin: 0 0 14px;
    text-align: left;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--pb-byob-selected-heading-brown);
  }

  /* Opt-in (e.g. playground): center count when there is no strip title. */
  .pb-byob__selected-summary--heading-center:not(:has(.pb-byob__selected-summary-title)) .pb-byob__selected-heading {
    text-align: center;
  }

  .pb-byob__selected-count {
    color: var(--pb-byob-selected-accent);
    font-variant-numeric: tabular-nums;
  }

  .pb-byob__selected-heading-label {
    font-weight: 700;
    color: var(--pb-byob-selected-heading-brown);
  }

  .pb-byob__selected-slots-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-inline: 0;
    /* Extra top/side room so remove chip (translate 25% / -25%) is not clipped by the scrollport. */
    padding: 20px 22px 8px 0;
    box-sizing: border-box;
  }

  .pb-byob__selected-slots {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(var(--pb-byob-selected-slot-count, 4), var(--pb-byob-selected-slot-size));
    gap: var(--pb-byob-selected-slot-gap);
    align-items: start;
    width: max-content;
    min-width: calc(
      var(--pb-byob-selected-slot-count, 4) * var(--pb-byob-selected-slot-size)
      + (var(--pb-byob-selected-slot-count, 4) - 1) * var(--pb-byob-selected-slot-gap)
    );
  }

  .pb-byob__selected-slot {
    margin: 0;
    padding: 0;
    width: var(--pb-byob-selected-slot-size);
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1 / 1;
    border: 1px dashed var(--pb-byob-selected-slot-border);
    border-radius: var(--pb-byob-selected-slot-radius);
    box-sizing: border-box;
    position: relative;
    /* Remove sits on the li so it can extend past the dashed corner; image clips inside .pb-byob__selected-slot-clip. */
    overflow: visible;
    background-color: transparent;
    isolation: isolate;
  }

  /*
   * Desktop (≥990px): fluid grid — after base `.pb-byob__selected-slots`. 3- and 4-pack use
   * equal `fr` columns (one row). 2-pack uses two cells each as wide as a 3-pack cell (no stretch).
   * 6-pack: three cols of quarter-track width × 2 rows (`pb-byob-bundle.js` cols = 3).
   */
  @media screen and (min-width: 990px) {
    .pb-byob__selected-slots-scroll {
      overflow-x: visible;
      padding: 20px 0 8px;
    }

    .pb-byob__selected-slots {
      grid-template-columns: repeat(var(--pb-byob-selected-cols-desktop, 4), minmax(0, 1fr));
      width: 100%;
      min-width: 0;
    }

    .pb-byob__selected-slot {
      width: 100%;
    }

    /* 2-pack: same cell width as 3-pack (⅓ track minus gaps), left-aligned — no 50% stretch. */
    .pb-byob__selected-summary[data-pb-byob-pack-size="2"] .pb-byob__selected-slots {
      grid-template-columns: repeat(2, calc((100% - 2 * var(--pb-byob-selected-slot-gap)) / 3));
      justify-content: start;
    }

    /* 6-pack 3×2: same per-tile width as 4-pack (¼ track minus gap math), not full-width thirds. */
    .pb-byob__selected-summary[data-pb-byob-pack-size="6"] .pb-byob__selected-slots {
      grid-template-columns: repeat(3, calc((100% - 3 * var(--pb-byob-selected-slot-gap)) / 4));
      justify-content: start;
    }
  }

  /* Filled tile: blue fill + image only (clipped); does not include remove button. */
  .pb-byob__selected-slot-clip {
    position: absolute;
    inset: 0;
    z-index: 0;
    box-sizing: border-box;
    border-radius: var(--pb-byob-selected-slot-inner-radius);
    overflow: hidden;
    background-color: var(--pb-byob-selected-fill-bg);
    min-height: 0;
  }

  .pb-byob__selected-slot--beyond-pack {
    display: none !important;
  }

  .pb-byob__selected-slot-fill {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    background-color: var(--pb-byob-selected-fill-bg);
    border-radius: var(--pb-byob-selected-slot-inner-radius);
    overflow: hidden;
  }

  .pb-byob__selected-slot-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    min-height: 0;
    overflow: hidden;
    border-radius: var(--pb-byob-selected-slot-inner-radius);
  }

  .pb-byob__selected-slot-fill--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
  }

  .pb-byob__selected-slot-img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    box-sizing: border-box;
    /* Equal inset on the photo; mat matches fill so the tile stays one blue field. */
    padding: 8px;
    background-color: var(--pb-byob-selected-fill-bg);
    object-fit: cover;
    object-position: center;
  }

  .pb-byob__selected-remove {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    transform: translate(25%, -25%);
    width: 27px;
    height: 27px;
    padding: 0;
    border: none;
    border-radius: 9999px;
    background-color: #3a0e11;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    line-height: 0;
  }

  .pb-byob__selected-remove-icon svg {
    display: block;
    width: 27px;
    height: 27px;
    flex-shrink: 0;
  }

  .pb-byob__selected-remove:focus-visible {
    outline: 2px solid var(--pb-byob-selected-accent);
    outline-offset: 2px;
  }

  .pb-byob__selected-empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  @media screen and (max-width: 989px) {
    .pb-byob__selected-summary {
      padding-bottom: 0;
      padding-inline: 0;
    }
  }
/* END_SNIPPET:pb-byob-selected-summary */

/* START_SNIPPET:pb-byob-step-heading (INDEX:222) */
.pb-byob-step-heading {
    --pb-byob-step-title-fs: 20px;
    --pb-byob-step-title-lh: 1.2;
    /* Badge box: min width and height (defaults 19px × 19px). */
    --pb-byob-step-badge-min-width: 19px;
    --pb-byob-step-badge-height: 19px;
    /* Tweak if the step digit looks high/low in the badge (try 0 or the opposite sign). */
    --pb-byob-step-badge-num-nudge: -0.2em;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 1.25rem 0 20px;
    text-align: left;
  }

  .pb-byob-step-heading--compact-bottom {
    margin-bottom: 5px;
  }

  /* Grid + inner span: display font digit metrics sit off-center in the em box; line-height: 0 removes the strut gap around text. */
  .pb-byob-step-heading__badge {
    flex-shrink: 0;
    display: inline-grid;
    grid-auto-flow: column;
    place-items: center;
    box-sizing: border-box;
    width: var(--pb-byob-step-badge-min-width);
    min-width: var(--pb-byob-step-badge-min-width);
    height: var(--pb-byob-step-badge-height);
    padding: 0;
    border-radius: 5px;
    background-color: var(--pb-byob-step-badge-bg, #311111);
    color: #ffffff;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-weight: 700;
    font-style: normal;
    line-height: 0;
    font-synthesis: none;
  }

  .pb-byob-step-heading__badge-num {
    display: block;
    font-size: 16px;
    line-height: 0;
    font-variant-numeric: tabular-nums;
    transform: translateY(var(--pb-byob-step-badge-num-nudge));
  }

  .pb-byob-step-heading__title {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: var(--pb-byob-step-title-fs);
    font-weight: 400;
    font-style: normal;
    line-height: var(--pb-byob-step-title-lh);
    letter-spacing: normal;
    color: var(--pb-byob-step-title-color, #311111);
    text-align: left;
    text-transform: capitalize;
    font-synthesis: none;
  }
/* END_SNIPPET:pb-byob-step-heading */

/* START_SNIPPET:pb-carousel-review-card (INDEX:223) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-carousel-review-card {
    --pb-crc-outline: #e63f8f;
    --pb-crc-shadow-offset: 6px;
    box-sizing: border-box;
    width: 100%;
    background-color: #fff1f7;
    border-radius: 28px;
    border: 3px solid var(--pb-crc-outline);
    box-shadow: var(--pb-crc-shadow-offset) var(--pb-crc-shadow-offset) 0 0 var(--pb-crc-outline);
    margin-bottom: var(--pb-crc-shadow-offset);
    padding-block: 16px;
    padding-inline: 20px;
    text-align: left;
    /* Fill stretched slide (mobile carousel + desktop grid); footer uses margin-top: auto */
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
  }

  .pb-carousel-review-card__stars {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    gap: 3px;
    margin-bottom: 12px;
  }

  .pb-carousel-review-card__star {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
  }

  .pb-carousel-review-card__star svg {
    width: 13px;
    height: 13px;
    display: block;
    flex-shrink: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-review-card__star svg {
      width: 16px;
      height: 16px;
    }
  }

  .pb-carousel-review-card__title {
    margin: 0 0 10px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.3;
    letter-spacing: normal !important;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-review-card__title {
      font-size: 18px;
      margin-bottom: 12px;
    }
  }

  .pb-carousel-review-card__quote {
    margin: 0 0 16px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  .pb-carousel-review-card__quote::before {
    content: '\201C';
  }

  .pb-carousel-review-card__quote::after {
    content: '\201D';
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-review-card__quote {
      font-size: 18px;
      margin-bottom: 18px;
    }
  }

  .pb-carousel-review-card__footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
    flex-shrink: 0;
    margin-top: auto;
  }

  .pb-carousel-review-card__footer-start {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .pb-carousel-review-card__avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    display: block;
  }

  .pb-carousel-review-card__name {
    margin: 0;
    min-width: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-review-card__name {
      font-size: 18px;
    }
  }

  .pb-carousel-review-card__verified {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;
  }

  .pb-carousel-review-card__badge-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  .pb-carousel-review-card__verified-text {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-carousel-review-card__verified-text {
      font-size: 15px;
    }
  }
/* END_SNIPPET:pb-carousel-review-card */

/* START_SNIPPET:pb-common-accordion-item (INDEX:224) */
.pb-common-accordion-item {
    --_item-bg: var(--pb-faq-item-bg, #895342);
    --_question-color: var(--pb-faq-question-color, #ffffff);
    --_answer-color: var(--pb-faq-answer-color, #f9f7e0);
    --_focus-outline: var(--pb-faq-focus-outline, #f9f7e0);
    --_toggle-bg: var(--pb-faq-toggle-bg, #ffffff);

    margin: 0;
    border-radius: 20px;
    background: var(--_item-bg);
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-common-accordion-item__summary {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    box-sizing: border-box;
    text-align: left;
    color: var(--_question-color);
  }

  .pb-common-accordion-item__summary::-webkit-details-marker {
    display: none;
  }

  .pb-common-accordion-item__summary:focus {
    outline: none;
  }

  .pb-common-accordion-item__summary:focus-visible {
    outline: 2px solid var(--_focus-outline);
    outline-offset: 2px;
  }

  .pb-common-accordion-item__question {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--_question-color);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .pb-common-accordion-item__icon {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    line-height: 0;
  }

  .pb-common-accordion-item__icon-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  @media screen and (min-width: 750px) {
    .pb-common-accordion-item__question {
      font-size: 18px;
    }
  }

  .pb-common-accordion-item__toggle {
    flex: 0 0 auto;
    line-height: 0;
  }

  .pb-common-accordion-item__toggle-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--_toggle-bg);
    box-sizing: border-box;
  }

  .pb-common-accordion-item__toggle-svg {
    display: block;
    flex-shrink: 0;
    overflow: visible;
  }

  .pb-common-accordion-item__toggle-svg-v-arm {
    transform-origin: center;
    transform-box: fill-box;
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .pb-common-accordion-item[open] .pb-common-accordion-item__toggle-svg-v-arm {
    transform: scaleY(0);
  }

  .pb-common-accordion-item__panel {
    overflow: hidden;
    box-sizing: border-box;
  }

  .pb-common-accordion-item.pb-common-accordion-item--enhanced .pb-common-accordion-item__panel {
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  }

  @media (prefers-reduced-motion: reduce) {
    .pb-common-accordion-item.pb-common-accordion-item--enhanced .pb-common-accordion-item__panel {
      transition: none;
    }

    .pb-common-accordion-item__toggle-svg-v-arm {
      transition: none;
    }
  }

  .pb-common-accordion-item__panel-inner {
    padding: 0 18px 18px;
    color: var(--_answer-color);
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    letter-spacing: normal;
    font-synthesis: none;
  }

  .pb-common-accordion-item__panel-inner,
  .pb-common-accordion-item__panel-inner * {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
  }

  .pb-common-accordion-item__panel-inner strong,
  .pb-common-accordion-item__panel-inner b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
  }

  @media screen and (min-width: 750px) {
    .pb-common-accordion-item__panel-inner {
      font-size: 16px;
    }
  }

  .pb-common-accordion-item__panel-inner p {
    margin: 0 0 0.75em;
  }

  .pb-common-accordion-item__panel-inner p:last-child {
    margin-bottom: 0;
  }

  .pb-common-accordion-item__panel-inner a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .pb-common-accordion-item__panel-inner ul,
  .pb-common-accordion-item__panel-inner ol {
    margin: 0 0 0.75em 1.2em;
    padding: 0;
  }
/* END_SNIPPET:pb-common-accordion-item */

/* START_SNIPPET:pb-common-columns-benefit (INDEX:225) */
.pb-common-columns-benefit {
    --pb-columns-benefit-count: 2;
    --pb-columns-benefit-gap: 12px;

    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--pb-columns-benefit-gap);
    width: 100%;
    margin-top: 1em;
  }

  .pb-common-columns-benefit__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    flex: 1 1
      calc(
        (100% - (var(--pb-columns-benefit-gap) * (var(--pb-columns-benefit-count) - 1))) /
          var(--pb-columns-benefit-count)
      );
    min-width: 0;
  }

  .pb-common-columns-benefit__benefit {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
    border-radius: 4px;
    width: 100%;
  }

  .pb-common-columns-benefit__icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
  }

  .pb-common-columns-benefit__text {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    color: var(--text, #3a0e11);
    white-space: normal;
    font-synthesis: none;
    letter-spacing: -0.01em;
  }

  @media screen and (min-width: 750px) {
    .pb-common-columns-benefit:not([data-columns='2']) {
      flex-wrap: nowrap;
    }

    .pb-common-columns-benefit[data-columns='2'] {
      flex-wrap: nowrap;
    }

    .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:first-child {
      flex: 0 1 161px;
    }

    .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:last-child {
      flex: 0 1 137px;
    }

    .pb-common-columns-benefit__text {
      font-size: 20px;
      white-space: nowrap;
    }
  }
/* END_SNIPPET:pb-common-columns-benefit */

/* START_SNIPPET:pb-common-image-gallery (INDEX:226) */
/* Self-contained gallery — styles extracted from section-pb-pdp-brownies-main.css */
  .pb-common-image-gallery {
    --bg: #f9f7e0;
    --text: #3a0e11;
    --accent: #e63f82;
    --content-pr: 16px;
    position: relative;
    width: 100%;
    max-width: 560px;
    margin: 0;
  }

  @media screen and (max-width: 989px) {
    .pb-common-image-gallery {
      margin-inline: auto;
    }
  }

  .pb-common-image-gallery__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    max-height: 560px;
    border-radius: 24px;
    overflow: hidden;
    isolation: isolate;
  }

  .pb-common-image-gallery__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 24px;
    overflow: hidden;
  }

  .pb-common-image-gallery__bg-base {
    position: absolute;
    inset: 0;
    border-radius: 24px;
  }

  /* Horizontal slide carousel — Figma 1:1988 (no thumbnails below) */
  .pb-common-image-gallery__viewport {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
  }

  .pb-common-image-gallery__track {
    display: flex;
    height: 100%;
    width: 100%;
    transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
  }

  .pb-common-image-gallery__slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
    position: relative;
    box-sizing: border-box;
  }

  /* Product hero — fills the whole slide edge-to-edge (badges removed) */
  .pb-common-image-gallery__product-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    user-select: none;
  }

  .pb-common-image-gallery__badges {
    position: absolute;
    right: 41px;
    top: 0;
    bottom: 0;
    width: 144px;
    z-index: 4;
    pointer-events: none;
  }

  .pb-common-image-gallery__badge {
    position: absolute;
    right: 0;
    width: clamp(88px, 26%, 144px);
    height: auto;
    display: block;
  }

  .pb-common-image-gallery__badge--protein {
    top: calc(50% - 150px);
    transform: translateY(-50%);
  }

  .pb-common-image-gallery__badge--collagen {
    top: calc(50% - 3px);
    transform: translateY(-50%);
  }

  /* Arrows — Figma 1:2046: above nutrition badges for click/hit area */
  .pb-common-image-gallery__controls {
    position: absolute;
    inset: 0;
    z-index: 7;
    pointer-events: none;
  }

  .pb-common-image-gallery__frame > .pb-common-image-gallery__controls .pb-common-image-gallery__arrow {
    position: absolute;
    top: 50%;
    width: 64px;
    height: 64px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none;
  }

  .pb-common-image-gallery__frame > .pb-common-image-gallery__controls .pb-common-image-gallery__arrow--prev {
    left: 16px;
    right: auto;
  }

  .pb-common-image-gallery__frame > .pb-common-image-gallery__controls .pb-common-image-gallery__arrow--next {
    right: 16px;
    left: auto;
  }

  .pb-common-image-gallery__arrow .pb-common-image-gallery__arrow-icon,
  .pb-common-image-gallery__arrow-icon {
    width: 64px;
    height: 64px;
    display: block;
    flex-shrink: 0;
    pointer-events: none;
  }

  .pb-common-image-gallery__arrow:focus {
    outline: none;
  }

  .pb-common-image-gallery__arrow:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 2px;
  }

  .pb-common-image-gallery__dots {
    position: absolute;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    z-index: 3;
    min-height: 14px;
  }

  .pb-common-image-gallery__dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    border: none;
    padding: 0;
    background: rgba(249, 247, 224, 0.55);
    cursor: pointer;
    transition: width 0.2s ease, background 0.2s ease;
  }

  .pb-common-image-gallery__dot.is-active {
    width: 28px;
    background: var(--bg);
  }

  /* Thumbnail strip under the slider */
  .pb-common-image-gallery__thumbs {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    margin-top: 12px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .pb-common-image-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .pb-common-image-gallery__thumb {
    flex: 0 0 72px;
    width: 72px;
    aspect-ratio: 1;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, opacity 0.2s ease;
    opacity: 0.7;
    -webkit-appearance: none;
    appearance: none;
  }

  .pb-common-image-gallery__thumb:hover {
    opacity: 1;
  }

  .pb-common-image-gallery__thumb.is-active {
    border-color: var(--accent);
    opacity: 1;
  }

  .pb-common-image-gallery__thumb:focus-visible {
    outline: 2px solid var(--text);
    outline-offset: 2px;
  }

  .pb-common-image-gallery__thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  @media screen and (max-width: 749px) {
    .pb-common-image-gallery__badges {
      right: 12px;
      width: 100px;
    }

    .pb-common-image-gallery__badge:first-child {
      top: calc(50% - 110px);
    }

    /* Thumbnail strip bleeds to the RIGHT viewport edge (edge-to-edge) while the first
     thumb stays aligned with the gallery's left — same technique as the carousels.
     Extends by the content right padding so it lands on the edge with no overflow. */
    .pb-common-image-gallery__thumbs {
      width: calc(100% + var(--content-pr));
      margin-right: calc(-1 * var(--content-pr));
    }

    .pb-common-image-gallery__dots {
      bottom: 24px;
    }

    .pb-common-image-gallery__frame > .pb-common-image-gallery__controls .pb-common-image-gallery__arrow {
      width: 48px;
      height: 48px;
    }

    .pb-common-image-gallery__arrow .pb-common-image-gallery__arrow-icon,
    .pb-common-image-gallery__arrow-icon {
      width: 48px;
      height: 48px;
    }
  }
/* END_SNIPPET:pb-common-image-gallery */

/* START_SNIPPET:pb-common-product-dropdown (INDEX:227) */
.pb-common-product-dropdown {
    --pb-common-product-dropdown-bg: var(--tertiary, #ffdcec);
    --pb-common-product-dropdown-border: var(--primary, #e63f82);
    --pb-common-product-dropdown-color: var(--text, #3a0e11);
    --pb-common-product-dropdown-panel-bg: #fff;
    --pb-common-product-dropdown-option-hover: var(--tertiary, #ffebf4);

    position: relative;
    width: 100%;
  }

  .pb-common-product-dropdown__native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pb-common-product-dropdown__trigger {
    display: flex;
    align-items: stretch;
    width: 100%;
    height: 65px;
    padding: 0;
    border: 2px solid var(--pb-common-product-dropdown-border);
    border-radius: 16px;
    background: var(--pb-common-product-dropdown-bg);
    box-sizing: border-box;
    overflow: hidden;
    cursor: pointer;
    text-align: left;
    font: inherit;
    line-height: 1;
    color: inherit;
    appearance: none;
    -webkit-appearance: none;

    @media screen and (min-width: 750px) {
      height: 60px;
    }
  }

  .pb-common-product-dropdown__trigger:hover {
    border-color: var(--pb-common-product-dropdown-border);
  }

  .pb-common-product-dropdown__trigger:focus-visible {
    outline: 2px solid var(--pb-common-product-dropdown-border);
    outline-offset: 2px;
  }

  .pb-common-product-dropdown__trigger[aria-expanded='true'] .pb-common-product-dropdown__chevron {
    transform: rotate(180deg);
  }

  .pb-common-product-dropdown__thumb-wrap {
    position: relative;
    flex-shrink: 0;
    width: 130px;
    height: 100%;
    overflow: hidden;
    display: flex;
  }

  .pb-common-product-dropdown__thumb-bg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .pb-common-product-dropdown__thumb {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 80%;
  }

  .pb-common-product-dropdown__content {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.75em;
    padding: 0.75em;

    @media screen and (min-width: 750px) {
      padding: 1em;
    }
  }

  .pb-common-product-dropdown__label {
    flex: 1;
    min-width: 0;
    margin-top: 5px;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 13px;
    line-height: 1;
    color: var(--pb-common-product-dropdown-color);
    font-synthesis: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    @media screen and (min-width: 750px) {
      font-size: 18px;
    }
  }

  .pb-common-product-dropdown__chevron {
    display: inline-flex;
    flex-shrink: 0;
    width: 16px;
    transition: transform 0.2s ease;

    svg {
      width: 16px;
      height: auto;
    }
  }

  .pb-common-product-dropdown__panel {
    position: absolute;
    z-index: 20;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    border: 2px solid var(--pb-common-product-dropdown-border);
    border-radius: 16px;
    background: var(--pb-common-product-dropdown-panel-bg);
    box-shadow: 0 8px 24px rgba(58, 14, 17, 0.12);
    overflow: hidden;
  }

  .pb-common-product-dropdown__panel[hidden] {
    display: none !important;
  }

  .pb-common-product-dropdown__listbox {
    list-style: none;
    margin: 0;
    padding: 0.35rem 0;
    max-height: min(280px, 50vh);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .pb-common-product-dropdown__option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    cursor: pointer;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 13px;
    line-height: 1.2;
    color: var(--pb-common-product-dropdown-color);
    font-synthesis: none;

    @media screen and (min-width: 750px) {
      font-size: 16px;
      padding: 0.6rem 1rem;
    }
  }

  .pb-common-product-dropdown__option:hover,
  .pb-common-product-dropdown__option.is-active {
    background: var(--pb-common-product-dropdown-option-hover);
  }

  .pb-common-product-dropdown__option[aria-selected='true'] {
    background: var(--pb-common-product-dropdown-bg);
    font-weight: 700;
  }

  .pb-common-product-dropdown__option:focus-visible {
    outline: 2px solid var(--pb-common-product-dropdown-border);
    outline-offset: -2px;
  }

  .pb-common-product-dropdown__option-thumb-wrap {
    position: relative;
    flex-shrink: 0;
    width: 56px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
  }

  .pb-common-product-dropdown__option-thumb-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .pb-common-product-dropdown__option-thumb {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 80%;
  }

  .pb-common-product-dropdown__option-label {
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
/* END_SNIPPET:pb-common-product-dropdown */

/* START_SNIPPET:pb-common-scallop-border (INDEX:228) */
.pb-common-scallop-border {
    display: block;
    flex-shrink: 0;
    width: 100%;
    min-width: 654px;
  }

  @media screen and (min-width: 750px) {
    .pb-common-scallop-border {
      min-width: 0;
    }
  }
/* END_SNIPPET:pb-common-scallop-border */

/* START_SNIPPET:pb-common-shadow-card (INDEX:229) */
.pb-common-shadow-card {
    --bg: #f9f7e0;
    --accent: #e63f82;
    --text: #3a0e11;

    width: 100%;
    padding: 1.5em;
    background-color: var(--bg);
    border: 2px solid var(--accent);
    border-radius: 2em;
    box-shadow: 6px 6px 0 var(--accent);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5em;

    @media screen and (min-width: 1000px) {
      padding: 1.5em 3em;
    }
  }

  .pb-common-shadow-card__icon {
    line-height: 0;

    & img {
      display: block;
      width: auto;
      height: auto;
      margin-bottom: 0.5em;
    }
  }

  .pb-common-shadow-card__text {
    margin: 0;
    font-family: 'Arboria-Bold';
    font-weight: 500;
    font-size: 1.5rem;
    color: var(--text);
    line-height: 120%;
    text-align: center;
  }
/* END_SNIPPET:pb-common-shadow-card */

/* START_SNIPPET:pb-common-size-picker (INDEX:230) */
.pb-common-size-picker {
    --pb-common-size-picker-gap: 10px;
    --pb-common-size-picker-pill-gap: 6px;
    --pb-common-size-picker-label-color: #3a0e11;
    --pb-common-size-picker-pill-border: #3a0e11;
    --pb-common-size-picker-pill-color: #e63f82;
    --pb-common-size-picker-pill-bg: #fff;
    --pb-common-size-picker-pill-active-bg: #ffebf4;
    --pb-common-size-picker-pill-active-border: #e63f82;
    --pb-common-size-picker-badge-bg: #76CDE9;
    --pb-common-size-picker-badge-color: #3a0e11;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--pb-common-size-picker-gap);
    width: 100%;
  }

  .pb-common-size-picker__label {
    margin: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    color: var(--pb-common-size-picker-label-color);
    font-synthesis: none;
  }

  .pb-common-size-picker__options {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: var(--pb-common-size-picker-pill-gap);
    width: 100%;
  }

  .pb-common-size-picker__options:has(.pb-common-size-picker__option--has-badge) {
    padding-top: 15px;
  }

  .pb-common-size-picker__option {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
  }

  .pb-common-size-picker__badge {
    position: absolute;
    top: 0;
    right: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 12px 4px;
    border-radius: 999px;
    background: var(--pb-common-size-picker-badge-bg);
    pointer-events: none;
    transform: translateY(-50%);
    line-height: 0;
  }

  .pb-common-size-picker__badge-text {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 12px;
    letter-spacing: 0.02em;
    color: var(--pb-common-size-picker-badge-color);
    white-space: nowrap;
    font-synthesis: none;
  }

  .pb-common-size-picker__badge-mark {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 0;
    pointer-events: none;
    transform: translate(27%, -20%);
  }

  .pb-common-size-picker__badge-mark img {
    display: block;
    width: 12px;
    height: 14px;
  }

  .pb-common-size-picker__pill {
    height: 100%;
    display: block;
    margin: 0;
    cursor: pointer;
  }

  .pb-common-size-picker__pill-text {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 52px;
    padding: 16px 6px;
    border-radius: 12px;
    border: 1px dashed var(--pb-common-size-picker-pill-border);
    background: var(--pb-common-size-picker-pill-bg);
    color: var(--pb-common-size-picker-pill-color);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
    line-height: 19.6px;
    text-align: center;
    white-space: nowrap;
    font-synthesis: none;
    transition: background 0.2s, border-color 0.2s, border-style 0.2s;
  }

  .pb-common-size-picker__pill:has(.pb-common-size-picker__input:checked) .pb-common-size-picker__pill-text {
    padding: 16px 26px;
    background: var(--pb-common-size-picker-pill-active-bg);
    border: 1.5px solid var(--pb-common-size-picker-pill-active-border);
    color: var(--pb-common-size-picker-pill-color);
  }

  @media screen and (max-width: 749px) {
    .pb-common-size-picker__label {
      font-size: 16px;
    }

    .pb-common-size-picker__options {
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }

    .pb-common-size-picker__pill-text {
      min-height: 44px;
      padding: 10px 6px;
      font-size: 14px;
      line-height: 19.6px;
    }

    .pb-common-size-picker__pill:has(.pb-common-size-picker__input:checked) .pb-common-size-picker__pill-text {
      padding: 10px 12px;
    }
  }
/* END_SNIPPET:pb-common-size-picker */

/* START_SNIPPET:pb-common-trust-badge (INDEX:231) */
.pb-common-trust-badge {
    --pb-common-trust-badge-icon-size: 92px;
    --pb-common-trust-badge-gap: 12px;
    --pb-common-trust-badge-width: 148px;
    --pb-common-trust-badge-text-color: #3a0e11;
    --pb-common-trust-badge-text-max-width: 164px;

    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--pb-common-trust-badge-gap);
    width: var(--pb-common-trust-badge-width);
    max-width: 100%;
    box-sizing: border-box;
  }

  .pb-common-trust-badge__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: var(--pb-common-trust-badge-icon-size);
    height: var(--pb-common-trust-badge-icon-size);
  }

  .pb-common-trust-badge__icon-img {
    display: block;
    width: var(--pb-common-trust-badge-icon-size);
    height: var(--pb-common-trust-badge-icon-size);
    object-fit: contain;
  }

  .pb-common-trust-badge__text {
    margin: 0;
    max-width: var(--pb-common-trust-badge-text-max-width);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: var(--pb-common-trust-badge-text-color);
    text-align: center;
    font-synthesis: none;

    @media screen and (min-width: 750px) {
      font-size: 18px;
    }
  }
/* END_SNIPPET:pb-common-trust-badge */

/* START_SNIPPET:pb-cta-yellow-callout (INDEX:232) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-cta-yellow-callout {
    position: relative;
    width: 100%;
    box-sizing: border-box;
  }

  .pb-cta-yellow-callout--has-badge {
    /*
      Mobile: 90px badge; padding-top tracks overlap with yellow after translateY offset.
    */
    padding-top: 28px;
  }

  .pb-cta-yellow-callout__badge {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    width: 90px;
    height: 90px;
    transform: translate(-50%, calc(-50% + 18px));
    line-height: 0;
    pointer-events: none;
  }

  .pb-cta-yellow-callout__badge-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .pb-cta-yellow-callout__panel {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    text-align: center;
    background-color: #fff461;
    border: 2px solid #fff461;
    border-radius: 48px;
    padding: 32px;
  }

  @media screen and (min-width: 750px) {
    .pb-cta-yellow-callout--has-badge {
      padding-top: 34px;
    }

    .pb-cta-yellow-callout__badge {
      width: 96px;
      height: 96px;
      transform: translate(-50%, calc(-50% + 22px));
    }

    .pb-cta-yellow-callout__panel {
      border-color: #88dff2;
      border-radius: 42px;
      padding: 36px 24px;
    }
  }

  .pb-cta-yellow-callout__text {
    margin: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400 !important;
    font-style: normal;
    line-height: 1.45;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  .pb-cta-yellow-callout__text strong,
  .pb-cta-yellow-callout__text b {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400 !important;
    font-style: normal;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-cta-yellow-callout__text {
      font-size: 18px;
    }
  }
/* END_SNIPPET:pb-cta-yellow-callout */

/* START_SNIPPET:pb-fancy-star-badge (INDEX:233) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-fancy-star-badge {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    aspect-ratio: 1 / 1;
    padding: 0.54em;
    text-align: center;
  }

  .pb-fancy-star-badge__svg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pb-fancy-star-badge__svg svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    flex-shrink: 0;
  }

  .pb-fancy-star-badge__text {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    text-align: center;
  }

  .pb-fancy-star-badge__save,
  .pb-fancy-star-badge__price {
    display: block;
    margin: 0;
    padding: 0;
  }

  .pb-fancy-star-badge__save {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 11px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    color: var(--pb-fancy-star-badge-color, currentColor);
    font-synthesis: none;
  }

  .pb-fancy-star-badge__price {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    color: var(--pb-fancy-star-badge-color, currentColor);
    font-synthesis: none;
  }
/* END_SNIPPET:pb-fancy-star-badge */

/* START_SNIPPET:pb-funkydori-bold-fixed-font (INDEX:235) */
@font-face {
    font-family: 'Funkydori-Bold-Fixed';
    src: url('/cdn/shop/files/Funkydori-Fixed-Bold.woff2?v=1775313240')
      format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
/* END_SNIPPET:pb-funkydori-bold-fixed-font */

/* START_SNIPPET:pb-info-card (INDEX:236) */
@font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-info-card {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    padding: 12px;
    text-align: left;
    border-radius: 24px;
    background-color: #f9f7e0;
    border: 1px dotted #3a0e11;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  @media screen and (min-width: 750px) {
    .pb-info-card {
      padding: 20px;
      gap: 10px;
    }
  }

  .pb-info-card__media {
    flex-shrink: 0;
    line-height: 0;
  }

  .pb-info-card__icon-img {
    display: block;
    width: 36px;
    height: 36px;
    object-fit: contain;
  }

  @media screen and (min-width: 750px) {
    .pb-info-card__icon-img {
      width: 56px;
      height: 56px;
    }
  }

  .pb-info-card__text {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.35;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-info-card__text {
      font-size: 18px;
    }
  }
/* END_SNIPPET:pb-info-card */

/* START_SNIPPET:pb-limited-edition-note (INDEX:237) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-limited-edition-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-wrap: nowrap;
    text-align: center;
    box-sizing: border-box;
  }

  .pb-limited-edition-note__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  .pb-limited-edition-note__icon svg {
    display: block;
    width: 20px;
    height: 20px;
  }

  .pb-limited-edition-note__text {
    margin: 0;
    max-width: 100%;
    min-width: 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 13px;
    font-weight: 400;
    font-style: normal;
    font-synthesis: none;
    letter-spacing: normal;
    line-height: 1.35;
    color: var(--pb-limited-note-text, #311111);
  }

  .pb-limited-edition-note__text--bold {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif !important;
    font-weight: 400;
    font-synthesis: none;
  }

  @media screen and (max-width: 360px) {
    .pb-limited-edition-note__text {
      font-size: 12px;
    }
  }

  @media screen and (min-width: 750px) {
    .pb-limited-edition-note__text {
      font-size: 16px;
    }
  }
/* END_SNIPPET:pb-limited-edition-note */

/* START_SNIPPET:pb-lp-product-buybox (INDEX:256) */
/* UI · Buybox shell */
  .pb-lp-product-buybox {
    padding: 0 0.8em;
    display: flex;
    flex-direction: column;
    gap: 0.3em;
    --aa-review-stars-row-gap-after: 0em;
  }

  /* UI · Title + subtitle */
  .pb-lp-product-buybox__title {
    margin: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 32px;
    line-height: 1;
    text-transform: lowercase;
    color: var(--text);
    font-synthesis: none;
  }

  .pb-lp-product-buybox__title--stacked {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .pb-lp-product-buybox__title-line {
    display: block;
  }

  .pb-lp-product-buybox__title strong,
  .pb-lp-product-buybox__title b {
    font-family: 'Funkydori-Bold-Fixed', var(--font-heading-family), sans-serif;
    font-size: 48px;
    font-weight: 700;
    font-synthesis: none;
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product-buybox__title {
      font-size: 36px;
    }

    .pb-lp-product-buybox__title strong,
    .pb-lp-product-buybox__title b {
      font-size: 50px;
    }
  }

  .pb-lp-product-buybox__subtitle {
    margin: 0;
    font-family: 'Arboria-Book';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 140%;
    color: var(--text);
    letter-spacing: -0.01em;
  }

  /* UI · Benefits — 820px desktop (common defaults 750px) */
  @media screen and (min-width: 750px) and (max-width: 819px) {
    .pb-lp-product-buybox .pb-common-columns-benefit:not([data-columns='2']),
    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] {
      flex-wrap: wrap;
    }

    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:first-child,
    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:last-child {
      flex: 1 1
        calc(
          (100% - (var(--pb-columns-benefit-gap) * (var(--pb-columns-benefit-count) - 1))) /
            var(--pb-columns-benefit-count)
        );
    }

    .pb-lp-product-buybox .pb-common-columns-benefit__text {
      font-size: 16px;
      white-space: normal;
    }
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product-buybox .pb-common-columns-benefit:not([data-columns='2']) {
      flex-wrap: nowrap;
    }

    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] {
      flex-wrap: nowrap;
    }

    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:first-child {
      flex: 0 1 161px;
    }

    .pb-lp-product-buybox .pb-common-columns-benefit[data-columns='2'] .pb-common-columns-benefit__col:last-child {
      flex: 0 1 137px;
    }

    .pb-lp-product-buybox .pb-common-columns-benefit__text {
      font-size: 20px;
      white-space: nowrap;
    }
  }

  /* UI · Quantity pills */
  .pb-lp-product-buybox__quantity-selector .pb-common-size-picker {
    margin-top: 1em;
    gap: 0.3em;
    --pb-common-size-picker-label-color: var(--text);
    --pb-common-size-picker-pill-border: var(--text);
    --pb-common-size-picker-pill-color: var(--primary);
    --pb-common-size-picker-pill-active-bg: var(--tertiary);
    --pb-common-size-picker-pill-active-border: var(--primary);
    --pb-common-size-picker-badge-color: var(--text);
  }

  .pb-lp-product-buybox__quantity-selector .pb-common-size-picker__label {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 27px;
    text-transform: uppercase;
    font-synthesis: none;
  }

  .pb-lp-product-buybox__quantity-selector .pb-common-size-picker__pill-text {
    justify-content: stretch;
    padding: 10px 8px;
    white-space: normal;
    text-align: left;
  }

  .pb-lp-product-buybox__quantity-selector
    .pb-common-size-picker__pill:has(.pb-common-size-picker__input:checked)
    .pb-common-size-picker__pill-text {
    padding: 9px 7px;
    border-width: 2px;
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product-buybox__quantity-selector .pb-common-size-picker__pill-text {
      padding: 14px 12px;
    }

    .pb-lp-product-buybox__quantity-selector
      .pb-common-size-picker__pill:has(.pb-common-size-picker__input:checked)
      .pb-common-size-picker__pill-text {
      padding: 13px 11px;
    }
  }

  @media screen and (max-width: 819px) {
    .pb-lp-product-buybox__quantity-selector .pb-common-size-picker__options {
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      overscroll-behavior-x: contain;
    }
  }

  /* UI · Bundle dropdowns */
  .pb-lp-product-buybox__box-picker {
    display: flex;
    flex-direction: column;
    gap: 0.75em;
    margin-top: 1em;
  }

  .pb-lp-product-buybox__box-picker-heading {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 27px;
    text-transform: uppercase;
    color: var(--text);
    font-synthesis: none;

    @media screen and (min-width: 820px) {
      font-size: 18px;
    }
  }

  .pb-lp-product-buybox__customizer-oos-notice {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #c9a227;
    border-radius: 12px;
    background: #fff8e6;
    color: #3a0e11;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    line-height: 1.45;
    font-synthesis: none;
  }

  .pb-lp-product-buybox__customizer-oos-notice-lead {
    margin: 0 0 8px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-synthesis: none;
  }

  .pb-lp-product-buybox__customizer-oos-notice-list {
    margin: 0;
    padding-left: 1.1em;
  }

  .pb-lp-product-buybox__customizer-oos-notice-item {
    margin: 0 0 4px;
  }

  .pb-lp-product-buybox__customizer-oos-notice-item:last-child {
    margin-bottom: 0;
  }

  .pb-lp-product-buybox__customizer-oos-notice-handle {
    opacity: 0.75;
  }

  .pb-lp-product-buybox__customizer-oos-notice-disclaimer {
    margin: 8px 0 0;
    font-size: 11px;
    line-height: 1.35;
    opacity: 0.8;
    font-synthesis: none;
  }

  .pb-lp-product-buybox__box-picker-rows {
    display: flex;
    flex-direction: column;
    gap: 0.75em;

    @media screen and (min-width: 820px) {
      gap: 1em;
    }
  }

  .pb-lp-product-buybox__bundle-box {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
  }

  .pb-lp-product-buybox__bundle-box[hidden] {
    display: none !important;
  }

  .pb-lp-product-buybox__bundle-box-label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--text);
    font-synthesis: none;
    cursor: pointer;

    @media screen and (min-width: 820px) {
      font-size: 18px;
    }
  }

  .pb-lp-product-buybox__bundle-box-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--text);
    color: #fff;
    font-size: 14px;
    line-height: 1;
  }

  @media screen and (min-width: 750px) and (max-width: 819px) {
    .pb-lp-product-buybox .pb-common-product-dropdown__trigger {
      min-height: auto;
      height: 65px;
    }

    .pb-lp-product-buybox .pb-common-product-dropdown__thumb-wrap {
      min-height: auto;
    }

    .pb-lp-product-buybox .pb-common-product-dropdown__content {
      padding: 0.75em;
    }

    .pb-lp-product-buybox .pb-common-product-dropdown__label {
      font-size: 13px;
    }
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product-buybox .pb-common-product-dropdown__trigger {
      height: 60px;
    }

    .pb-lp-product-buybox .pb-common-product-dropdown__content {
      padding: 1em;
    }

    .pb-lp-product-buybox .pb-common-product-dropdown__label {
      font-size: 18px;
    }
  }

  /* UI · Subscribe / one-time — spacing only (styles in purchase-option snippet) */
  .pb-lp-product-buybox__purchase-option {
    margin-top: 1em;
  }

  /* UI · Welcome banner + recurring note */
  .pb-lp-product-buybox__offer-notes {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin-top: 0.75em;
  }

  .pb-lp-product-buybox__welcome-offer {
    box-sizing: border-box;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 3px;
    width: 100%;
    min-height: 1px;
    padding: 8px 12px;
    border: 1px dashed #3a0e11;
    border-radius: 99px;
    background: #ffd700;
    color: #3a0e11;
    font-synthesis: none;

    @media screen and (min-width: 820px) {
      gap: 8px;
      padding: 11px 16px 10px;
      border-radius: 50px;
    }
  }

  .pb-lp-product-buybox__welcome-offer-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    object-fit: contain;

    @media screen and (min-width: 820px) {
      width: 24px;
      height: 24px;
    }
  }

  .pb-lp-product-buybox__welcome-offer-text {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.4px;
    color: #3a0e11;
    text-transform: none;
    font-synthesis: none;

    @media screen and (min-width: 820px) {
      font-size: 18px;
      line-height: 1.4;
      letter-spacing: normal;
    }
  }

  .pb-lp-product-buybox__welcome-offer-text :is(strong, b) {
    font-family: inherit;
    font-weight: 400;
    color: inherit;
    font-synthesis: none;
  }

  .pb-lp-product-buybox__recurring-note {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin: 0;
    width: 100%;
    min-height: 1px;
    padding: 8px 12px;
    border: 1px solid rgba(58, 14, 17, 0.3);
    border-radius: 8px;
    background: #fffeed;
    text-align: center;

    @media screen and (min-width: 820px) {
      padding: 8px 16px;
    }
  }

  .pb-lp-product-buybox__recurring-note-line {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
    letter-spacing: 0.8px;
    color: #3a0e11;
    text-align: center;
    font-synthesis: none;

    @media screen and (min-width: 820px) {
      font-size: 18px;
      line-height: 22px;
    }
  }

  /* UI · ATC button */
  .pb-lp-product-buybox__atc {
    width: 100%;
    margin: 1em 0 0;
    padding: 25px 17px;
    border: 1px solid transparent;
    border-radius: 30px;
    background: var(--text, #3a0e11);
    color: #fff;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 20px;
    font-weight: 700;
    font-style: normal;
    line-height: normal;
    text-transform: uppercase;
    letter-spacing: 0;
    cursor: pointer;
    font-synthesis: none;
    box-shadow: none;
  }

  .pb-lp-product-buybox__atc:hover,
  .pb-lp-product-buybox__atc:focus-visible {
    background: var(--text, #3a0e11);
    color: #fff;
  }

  .pb-lp-product-buybox__atc:disabled,
  .pb-lp-product-buybox__atc.is-loading {
    opacity: 0.65;
    cursor: wait;
  }

  .pb-lp-product-buybox__atc-error {
    margin: 0.5em 0 0;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    line-height: 1.35;
    color: #b42318;
    text-align: center;
  }

  .pb-lp-product-buybox__atc-error[hidden] {
    display: none !important;
  }

  @media screen and (min-width: 820px) {
    .pb-lp-product-buybox__atc {
      font-size: 24px;
    }
  }

  /* UI · Trust badges */
  .pb-lp-product-buybox__trust-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    margin-top: 1em;
  }

  .pb-lp-product-buybox__trust-badge {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
  }

  .pb-lp-product-buybox__trust-badge:first-child {
    max-width: 114px;
  }

  .pb-lp-product-buybox__trust-badge:nth-child(2) {
    max-width: 105px;
  }

  @media screen and (min-width: 391px) {
    .pb-lp-product-buybox__trust-badge:first-child,
    .pb-lp-product-buybox__trust-badge:nth-child(2) {
      max-width: none;
    }
  }

  .pb-lp-product-buybox__trust-badges .pb-common-trust-badge {
    --pb-common-trust-badge-width: 100%;
    --pb-common-trust-badge-icon-size: 48px;
    --pb-common-trust-badge-text-max-width: none;

    @media screen and (min-width: 820px) {
      --pb-common-trust-badge-icon-size: 42px;
    }

    .pb-common-trust-badge__text {
      font-size: 14px;
      font-family: 'Arboria-Book', var(--font-body-family), sans-serif;

      @media screen and (min-width: 820px) {
        font-size: 16px;
      }
    }
  }
/* END_SNIPPET:pb-lp-product-buybox */

/* START_SNIPPET:pb-lp-product-icon-accordion (INDEX:257) */
.pb-lp-product-icon-accordion {
    --pb-faq-item-bg: #fffcee;
    --pb-faq-question-color: #3a0e11;
    --pb-faq-answer-color: #3a0e11;
    --pb-faq-toggle-bg: #ffdcec;
  }
/* END_SNIPPET:pb-lp-product-icon-accordion */

/* START_SNIPPET:pb-lp-product-purchase-option (INDEX:259) */
/* UI · Widget shell */
  .pb-lp-product-purchase-option {
    --_pb-lp-product-purchase-option-primary: var(--pb-lp-product-purchase-option-primary, var(--primary, #e63f82));
    --_pb-lp-product-purchase-option-text: var(--pb-lp-product-purchase-option-text, var(--text, #3a0e11));
    --_pb-lp-product-purchase-option-subscribe-bg: var(--pb-lp-product-purchase-option-subscribe-bg, var(--tertiary, #ffebf4));
    --_pb-lp-product-purchase-option-onetime-border: var(--pb-lp-product-purchase-option-onetime-border, #d0bab3);
    --_pb-lp-product-purchase-option-onetime-bg: var(--pb-lp-product-purchase-option-onetime-bg, #fff);

    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    width: 100%;
  }

  /* UI · Heading */
  .pb-lp-product-purchase-option__heading {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    line-height: 27px;
    text-transform: uppercase;
    color: var(--_pb-lp-product-purchase-option-text);
    font-synthesis: none;

    @media screen and (min-width: 820px) {
      font-size: 18px;
    }
  }

  /* UI · Subscribe card — clickable shell (badge + panel) */
  .pb-lp-product-purchase-option__subscribe-select {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    cursor: pointer;
  }

  /* UI · Subscribe card — shell */
  .pb-lp-product-purchase-option__plan--subscribe {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  /* UI · Subscribe card — badge */
  .pb-lp-product-purchase-option__badge {
    display: block;
    margin: 0;
    padding: 6px 8px;
    border-radius: 16px 16px 0 0;
    background: var(--_pb-lp-product-purchase-option-primary);
    color: #fff;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      border-radius: 24px 24px 0 0;
    }
  }

  .pb-lp-product-purchase-option__badge :is(strong, b) {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-weight: 400;
    color: #fff;
    font-synthesis: none;
  }

  /* UI · Subscribe card — panel */
  .pb-lp-product-purchase-option__panel--subscribe {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 16px;
    border: 2px solid var(--_pb-lp-product-purchase-option-primary);
    border-top: none;
    border-radius: 0 0 16px 16px;
    background: var(--_pb-lp-product-purchase-option-subscribe-bg);
    box-sizing: border-box;

    @media screen and (max-width: 820px) {
      border-radius: 0 0 24px 24px;
    }
  }

  .pb-lp-product-purchase-option__subscribe-select:not(:has(.pb-lp-product-purchase-option__badge))
    .pb-lp-product-purchase-option__panel--subscribe {
    border-top: 2px solid var(--_pb-lp-product-purchase-option-primary);
    border-radius: 16px;

    @media screen and (max-width: 820px) {
      border-radius: 24px;
    }
  }

  /* UI · Shared — radio row */
  .pb-lp-product-purchase-option__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    cursor: pointer;

    @media screen and (max-width: 820px) {
      gap: 8px 10px;
    }
  }

  .pb-lp-product-purchase-option__row-start {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1 1 auto;
    min-width: 0;

    @media screen and (max-width: 820px) {
      max-width: calc(100% - 118px);
    }
  }

  .pb-lp-product-purchase-option__radio-ui {
    flex-shrink: 0;
    width: 23px;
    height: 23px;
    border-radius: 50%;
    border: 0.733px solid var(--_pb-lp-product-purchase-option-text);
    background: #fff;
    box-sizing: border-box;
  }

  .pb-lp-product-purchase-option__radio:checked + .pb-lp-product-purchase-option__radio-ui {
    border: none;
    background: var(--_pb-lp-product-purchase-option-primary);
    box-shadow: inset 0 0 0 2.5px #fff;
  }

  .pb-lp-product-purchase-option__plan--onetime .pb-lp-product-purchase-option__radio:checked + .pb-lp-product-purchase-option__radio-ui {
    border: 0.733px solid var(--_pb-lp-product-purchase-option-text);
    background: var(--_pb-lp-product-purchase-option-text);
    box-shadow: inset 0 0 0 2.5px #fff;
  }

  .pb-lp-product-purchase-option__title {
    font-family: BubbleboddyNeue, var(--font-heading-family), sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    min-width: 0;
    white-space: nowrap;
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__title--subscribe {
    color: var(--_pb-lp-product-purchase-option-primary);
    white-space: nowrap;

    @media screen and (max-width: 820px) {
      font-size: 16px;
      line-height: 1.15;
    }
  }

  .pb-lp-product-purchase-option__title--onetime {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    color: var(--_pb-lp-product-purchase-option-text);
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__title-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 0;

    @media screen and (max-width: 820px) {
      gap: 4px;
    }
  }

  .pb-lp-product-purchase-option__savings-pill {
    display: inline-flex;
    align-items: center;
    margin-bottom: 5px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid #3a0e11;
    background: #ffd600;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    color: #3a0e11;
    white-space: nowrap;
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      font-size: 11px;
      padding: 2px 6px;
    }
  }

  .pb-lp-product-purchase-option__savings-pill[hidden] {
    display: none !important;
  }

  /* UI · Shared — prices */
  .pb-lp-product-purchase-option__price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
    text-align: right;
    white-space: normal;
  }

  .pb-lp-product-purchase-option__price-main {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px 6px;
    line-height: 1.2;
    white-space: normal;
  }

  .pb-lp-product-purchase-option__price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px 6px;
    line-height: 1.2;
    white-space: normal;
  }

  .pb-lp-product-purchase-option__price-subtext {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    color: var(--_pb-lp-product-purchase-option-primary);
    font-synthesis: none;
    white-space: normal;

    @media screen and (max-width: 820px) {
      font-size: 11px;
    }
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-subtext {
    color: var(--_pb-lp-product-purchase-option-primary);
  }

  .pb-lp-product-purchase-option__price-compare {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: line-through;
    opacity: 0.88;
    font-synthesis: none;
    white-space: normal;
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-compare {
    color: var(--_pb-lp-product-purchase-option-primary);
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-compare {
    color: var(--_pb-lp-product-purchase-option-text);
    text-decoration-thickness: 1px;
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-value {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-unit {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-compare {
    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-serving {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      font-size: 12px;
    }
  }

  .pb-lp-product-purchase-option__price-value,
  .pb-lp-product-purchase-option__price-unit {
    font-size: 16px;
    line-height: 1.2;
    white-space: normal;
  }

  .pb-lp-product-purchase-option__price-value {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-weight: 400;
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__price-unit {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-weight: 400;
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-value,
  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-unit,
  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-serving {
    color: var(--_pb-lp-product-purchase-option-primary);
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-value,
  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-unit {
    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-compare {
    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__price--subscribe .pb-lp-product-purchase-option__price-serving {
    @media screen and (max-width: 820px) {
      font-size: 12px;
    }
  }

  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-value,
  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-unit,
  .pb-lp-product-purchase-option__price--onetime .pb-lp-product-purchase-option__price-serving {
    color: var(--_pb-lp-product-purchase-option-text);
  }

  .pb-lp-product-purchase-option__price-serving {
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    font-synthesis: none;
    white-space: normal;
  }

  /* UI · Subscribe card — benefits */
  .pb-lp-product-purchase-option__benefits {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
  }

  .pb-lp-product-purchase-option__benefit {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--_pb-lp-product-purchase-option-text);
    font-synthesis: none;

    @media screen and (max-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-purchase-option__benefit :is(strong, b) {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-weight: 400;
    color: var(--_pb-lp-product-purchase-option-primary);
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__benefit::before {
    content: '';
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    margin-top: 0.15em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M5.25 9.1L2.45 6.3 1.75 7 5.25 10.5 12.25 3.5 11.55 2.8 5.25 9.1Z' fill='%23E63F82'/%3E%3C/svg%3E")
      center / contain no-repeat;
  }

  /* UI · Subscribe card — delivery dropdown */
  .pb-lp-product-purchase-option__delivery-wrap {
    width: 100%;
  }

  .pb-lp-product-purchase-option__delivery {
    appearance: none;
    width: 100%;
    margin: 0;
    padding: 14px 40px 14px 16px;
    border: 1px solid var(--_pb-lp-product-purchase-option-onetime-border);
    border-radius: 100px;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='7' viewBox='0 0 14 7' fill='none'%3E%3Cpath d='M1 1L7 6L13 1' stroke='%233A0E11' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 14px 7px;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-transform: capitalize;
    color: var(--_pb-lp-product-purchase-option-text);
    cursor: pointer;
    box-sizing: border-box;
    font-synthesis: none;
  }

  .pb-lp-product-purchase-option__delivery:focus-visible {
    outline: 2px solid var(--_pb-lp-product-purchase-option-primary);
    outline-offset: 2px;
  }

  .pb-lp-product-purchase-option__delivery--fixed {
    display: block;
    background-image: none;
    cursor: default;
    pointer-events: none;
  }

  .pb-lp-product-purchase-option__delivery-unavailable {
    display: block;
    background-image: none;
    cursor: default;
    pointer-events: none;
    text-align: center;
    text-transform: none;
  }

  .pb-lp-product-purchase-option__delivery-wrap[hidden] {
    display: none !important;
  }

  /* UI · Subscribe card — unavailable state (toggled by buybox JS) */
  .pb-lp-product-purchase-option__plan--subscribe.is-unavailable {
    opacity: 0.55;
    pointer-events: none;
  }

  .pb-lp-product-purchase-option__plan--subscribe.is-unavailable .pb-lp-product-purchase-option__radio-ui {
    opacity: 0.45;
  }

  /* UI · One-time card */
  .pb-lp-product-purchase-option__panel--onetime {
    display: block;
    padding: 16px;
    border: 1px solid var(--_pb-lp-product-purchase-option-onetime-border);
    border-radius: 16px;
    background: var(--_pb-lp-product-purchase-option-onetime-bg);
    box-sizing: border-box;
    cursor: pointer;

    @media screen and (max-width: 820px) {
      border-radius: 24px;
    }
  }
/* END_SNIPPET:pb-lp-product-purchase-option */

/* START_SNIPPET:pb-lp-product-size-picker-label (INDEX:260) */
.pb-lp-product-size-picker-label__pill-inner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 4px;
    width: 100%;
    min-width: 0;

    @media screen and (min-width: 820px) {
      gap: 1em;
      justify-content: center;
    }
  }

  .pb-lp-product-size-picker-label__qty {
    text-align: center;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 12px;
    color: var(--pb-common-size-picker-pill-color, #e63f82);
    font-synthesis: none;
    letter-spacing: -0.01em;

    @media screen and (min-width: 820px) {
      font-size: 18px;
    }
  }

  .pb-lp-product-size-picker-label__meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 0;
  }

  .pb-lp-product-size-picker-label__price,
  .pb-lp-product-size-picker-label__subline-text {
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 14px;
    color: #3a0e11;
    font-synthesis: none;
    letter-spacing: -0.01em;

    @media screen and (min-width: 820px) {
      font-size: 14px;
    }
  }

  .pb-lp-product-size-picker-label__gift {
    display: flex;
    flex-shrink: 0;
    align-items: center;
  }

  .pb-lp-product-size-picker-label__gift-icon {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
    flex-shrink: 0;

    @media screen and (min-width: 820px) {
      width: 24px;
      height: 24px;
    }
  }
/* END_SNIPPET:pb-lp-product-size-picker-label */

/* START_SNIPPET:pb-pack-size-selector-byob-ab (INDEX:271) */
@font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-pack-selector {
    --pb-pack-border: var(--hot-pink, #e63f82);
    --pb-pack-track-bg: #f9f7e8;
    --pb-pack-active-fg: #ffffff;
    --pb-pack-inset: 4px;
    --pb-pack-label-pad-inline: var(--pb-pack-inset);
    --pb-pack-label-pad-block: calc(var(--pb-pack-inset) + 4px);
    --pb-pack-pill-r: 999px;

    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .pb-pack-selector__legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pb-pack-selector__track {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    box-sizing: border-box;
    padding: var(--pb-pack-inset);
    border: 1px solid var(--pb-pack-border);
    border-radius: var(--pb-pack-pill-r);
    background-color: var(--pb-pack-track-bg);
    gap: 0;
    overflow: visible;
  }

  .pb-pack-selector__segment {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    display: flex;
    overflow: visible;
  }

  .pb-pack-selector__star {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: var(--pb-pack-star-size, 38px);
    pointer-events: none;
    /* Sit above/outside the label so the star does not cover “2 Pack” etc. */
    transform: translate(42%, -52%);
    line-height: 0;
  }

  .pb-pack-selector__star .pb-fancy-star-badge {
    width: 100%;
  }

  /* BYOB A/B: subscribe-only — one-time star markup is not rendered; keep mode subscribe. */
  .pb-pack-selector[data-pb-pack-mode='one-time'] .pb-pack-selector__star[data-pb-pack-star-mode='subscribe'] {
    display: none;
  }

  .pb-pack-selector:not([data-pb-pack-mode='one-time']) .pb-pack-selector__star[data-pb-pack-star-mode='one-time'] {
    display: none;
  }

  .pb-pack-selector__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
  }

  .pb-pack-selector__label {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: var(--pb-pack-label-pad-block) var(--pb-pack-label-pad-inline);
    cursor: pointer;
    font-family: 'Arboria-Bold', var(--font-body-family), Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--pb-pack-border);
    background-color: transparent;
    border-radius: 0;
    text-align: center;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    font-synthesis: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-radius 0.15s ease;
  }

  /* Each selected segment is a full pill (stadium) within its column—no flat inner edges between options. */
  .pb-pack-selector__input:checked + .pb-pack-selector__label {
    background-color: var(--pb-pack-border);
    color: var(--pb-pack-active-fg);
    border-radius: var(--pb-pack-pill-r);
  }

  .pb-pack-selector__input:focus-visible + .pb-pack-selector__label {
    outline: 2px solid var(--pb-pack-border);
    outline-offset: 2px;
  }

  .pb-pack-selector__input:focus:not(:focus-visible) + .pb-pack-selector__label {
    outline: none;
  }
/* END_SNIPPET:pb-pack-size-selector-byob-ab */

/* START_SNIPPET:pb-pack-size-selector (INDEX:272) */
@font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-pack-selector {
    --pb-pack-border: var(--hot-pink, #e63f82);
    --pb-pack-track-bg: #f9f7e8;
    --pb-pack-active-fg: #ffffff;
    --pb-pack-inset: 4px;
    --pb-pack-label-pad-inline: var(--pb-pack-inset);
    --pb-pack-label-pad-block: calc(var(--pb-pack-inset) + 4px);
    --pb-pack-pill-r: 999px;

    border: none;
    margin: 0;
    padding: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }

  .pb-pack-selector__legend {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .pb-pack-selector__track {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    box-sizing: border-box;
    padding: var(--pb-pack-inset);
    border: 1px solid var(--pb-pack-border);
    border-radius: var(--pb-pack-pill-r);
    background-color: var(--pb-pack-track-bg);
    gap: 0;
    overflow: visible;
  }

  .pb-pack-selector__segment {
    flex: 1 1 0;
    min-width: 0;
    position: relative;
    display: flex;
    overflow: visible;
  }

  .pb-pack-selector__star {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    width: var(--pb-pack-star-size, 38px);
    pointer-events: none;
    /* Sit above/outside the label so the star does not cover “2 Pack” etc. */
    transform: translate(42%, -52%);
    line-height: 0;
  }

  .pb-pack-selector__star .pb-fancy-star-badge {
    width: 100%;
  }

  /* Default mode is subscribe; `pb-byob-bundle.js` flips fieldset's `data-pb-pack-mode` to one-time when that radio is checked. */
  .pb-pack-selector[data-pb-pack-mode='one-time'] .pb-pack-selector__star[data-pb-pack-star-mode='subscribe'] {
    display: none;
  }

  .pb-pack-selector:not([data-pb-pack-mode='one-time']) .pb-pack-selector__star[data-pb-pack-star-mode='one-time'] {
    display: none;
  }

  .pb-pack-selector__input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
  }

  .pb-pack-selector__label {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    margin: 0;
    padding: var(--pb-pack-label-pad-block) var(--pb-pack-label-pad-inline);
    cursor: pointer;
    font-family: 'Arboria-Bold', var(--font-body-family), Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--pb-pack-border);
    background-color: transparent;
    border-radius: 0;
    text-align: center;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    font-synthesis: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-radius 0.15s ease;
  }

  /* Each selected segment is a full pill (stadium) within its column—no flat inner edges between options. */
  .pb-pack-selector__input:checked + .pb-pack-selector__label {
    background-color: var(--pb-pack-border);
    color: var(--pb-pack-active-fg);
    border-radius: var(--pb-pack-pill-r);
  }

  .pb-pack-selector__input:focus-visible + .pb-pack-selector__label {
    outline: 2px solid var(--pb-pack-border);
    outline-offset: 2px;
  }

  .pb-pack-selector__input:focus:not(:focus-visible) + .pb-pack-selector__label {
    outline: none;
  }
/* END_SNIPPET:pb-pack-size-selector */

/* START_SNIPPET:pb-product-merch-badge (INDEX:294) */
.pb-product-merch-badge {
    --pb-product-merch-badge-height: 44px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
  }

  .pb-product-merch-badge svg {
    display: block;
    height: var(--pb-product-merch-badge-height);
    width: auto;
  }

  /* Optional hooks once SVGs are in—tune or remove if the assets are self-contained. */
  .pb-product-merch-badge--best-seller {
    color: var(--pb-product-merch-badge-best-seller-color, #311111);
  }

  .pb-product-merch-badge--new {
    color: var(--pb-product-merch-badge-new-color, #e63f82);
  }
/* END_SNIPPET:pb-product-merch-badge */

/* START_SNIPPET:pb-product-selector-tab (INDEX:295) */
@font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-product-selector-tab {
    --pb-pst-brown: var(--pb-product-selector-brown, #311111);
    --pb-pst-icon-dark: var(--pb-product-selector-icon-dark, #3a0e11);
    /* Icon highlight fill when tab is idle (was #C5F5FF / #C8EFF9); override via `icon_accent` or `--pb-product-selector-icon-accent-fill`. */
    --pb-pst-icon-accent-fill: var(--pb-product-selector-icon-accent-fill, #c5f5ff);
    /* Icon highlight fill when tab is active (cream on brown pill); override via `icon_accent_active` or `--pb-product-selector-icon-accent-fill-active`. */
    --pb-pst-icon-accent-fill-active: var(
      --pb-product-selector-icon-accent-fill-active,
      var(--pb-product-selector-active-bg, #f9f7e0)
    );
    --pb-pst-gap: 6px;
    --pb-pst-py: 11px;
    --pb-pst-px: 8px;
    --pb-pst-fs: 16px;
    --pb-pst-icon-w: 20px;

    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: var(--pb-pst-gap);
    box-sizing: border-box;
    margin: 0;
    padding: var(--pb-pst-py) var(--pb-pst-px);
    border: 1px solid var(--pb-pst-brown);
    border-radius: 999px;
    background-color: transparent;
    color: var(--pb-pst-brown);
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: var(--pb-pst-fs);
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    cursor: pointer;
    text-align: center;
    -webkit-tap-highlight-color: transparent;
    font-synthesis: none;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  }

  .pb-product-selector-tab:hover:not(:disabled) {
    opacity: 0.92;
  }

  .pb-product-selector-tab:disabled {
    cursor: not-allowed;
    opacity: 0.55;
  }

  .pb-product-selector-tab:focus {
    outline: none;
  }

  .pb-product-selector-tab:focus-visible {
    outline: 2px solid var(--pb-pst-brown);
    outline-offset: 2px;
  }

  .pb-product-selector-tab--active {
    background-color: var(--pb-pst-brown);
    color: #ffffff;
    border-color: var(--pb-pst-brown);
    /* Swap icon highlight from idle blue to active cream (Liquid / theme vars still work). */
    --pb-pst-icon-accent-fill: var(--pb-pst-icon-accent-fill-active);
  }

  .pb-product-selector-tab__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--pb-pst-icon-w);
    height: auto;
    line-height: 0;
    color: inherit;
  }

  .pb-product-selector-tab__icon svg {
    display: block;
    width: 100%;
    height: auto;
  }

  .pb-product-selector-tab__label {
    flex: 0 1 auto;
    min-width: 0;
  }
/* END_SNIPPET:pb-product-selector-tab */

/* START_SNIPPET:pb-review-box (INDEX:300) */
@font-face {
    font-family: 'Arboria-Book';
    src: url('/cdn/shop/files/Arboria-Book_ca2e21ea-fe16-408e-b8ee-ff92e2dba426.woff?v=1731611685')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Arboria-Bold';
    src: url('/cdn/shop/files/Arboria-Bold_70f04e6d-b0b0-47b2-9cab-f26489894181.woff?v=1731611556')
      format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
  }

  .pb-review-box {
    --pb-review-box-outline: #3a0e11;
    /* Hard “sticker” shadow: same color as border, only to the right and bottom (no blur). */
    --pb-review-box-shadow-offset: 6px;
    box-sizing: border-box;
    width: 100%;
    background-color: #f9f7e0;
    border-radius: 24px;
    border: 3px solid var(--pb-review-box-outline);
    box-shadow: var(--pb-review-box-shadow-offset) var(--pb-review-box-shadow-offset) 0 0 var(--pb-review-box-outline);
    /* Clear space below the hard shadow (avoids overlapping the next element) */
    margin-bottom: var(--pb-review-box-shadow-offset);
    padding: 20px;
    text-align: left;
  }

  @media screen and (min-width: 750px) {
    .pb-review-box {
      padding: 24px;
    }
  }

  /* Duplicated from `aa-review-stars-row` — stars only, no blurb */
  .pb-review-box__stars {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    gap: 3px;
    margin-bottom: 12px;
  }

  .pb-review-box__star {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
  }

  .pb-review-box__star svg {
    width: 13px;
    height: 13px;
    display: block;
    flex-shrink: 0;
  }

  @media screen and (min-width: 750px) {
    .pb-review-box__star svg {
      width: 16px;
      height: 16px;
    }
  }

  .pb-review-box__quote {
    margin: 0 0 12px;
    font-family: 'Arboria-Book', var(--font-body-family), sans-serif !important;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-review-box__quote {
      font-size: 18px;
      margin-bottom: 12px;
    }
  }

  .pb-review-box__footer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
  }

  .pb-review-box__footer--name-only {
    justify-content: flex-start;
  }

  .pb-review-box__name {
    margin: 0;
    flex: 0 1 auto;
    min-width: 0;
    font-family: 'BubbleboddyNeue', var(--font-heading-family), sans-serif;
    font-size: 16px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-review-box__name {
      font-size: 20px;
    }
  }

  .pb-review-box__verified {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;
  }

  .pb-review-box__badge-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
  }

  .pb-review-box__verified-text {
    margin: 0;
    font-family: 'Arboria-Bold', var(--font-body-family), sans-serif;
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: normal;
    color: #3a0e11;
    font-synthesis: none;
  }

  @media screen and (min-width: 750px) {
    .pb-review-box__verified-text {
      font-size: 15px;
    }
  }
/* END_SNIPPET:pb-review-box */