/** Shopify CDN: Minification failed

Line 770:14 Unexpected "{"
Line 770:23 Expected ":"
Line 770:29 Unexpected ","

**/
/* OB custom card overrides — applies to all product cards */

/* Hide Judge.me preview badge widget injection (replaced by .ob-rating below) */
.card-wrapper .jdgm-widget,
.card-wrapper .jdgm-prev-badge,
.card-information .jdgm-widget,
.card-information .jdgm-prev-badge,
.card-wrapper [data-widget-name="preview_badge"],
.card-information [data-widget-name="preview_badge"] {
  display: none !important;
}

/* Defeat .card--product background-color from component-card.css */
.card-wrapper .card--product,
.card-wrapper .card.card--product,
.card-wrapper .card {
  background-color: transparent !important;
  border: none !important;
}

/* Curved corners on product card images */
.card-wrapper .card__media,
.card-wrapper .card__media.media-wrapper,
.card-wrapper .card--image-animate,
.card-wrapper .media-wrapper,
.card-wrapper .media {
  border-radius: 14px !important;
  overflow: hidden !important;
  background: transparent !important;
  background-color: transparent !important;
}
/* Defeat .media.media--hover-effect > img + img { background-color: var(--color-placeholder); } */
.card-wrapper .media.media--hover-effect > img + img,
.card-wrapper .media--hover-effect > img + img {
  background-color: transparent !important;
}
/* Defeat any loading state grey */
.card-wrapper .media-wrapper[loading],
.card-wrapper .media-wrapper.loading {
  background-color: transparent !important;
}
.card-wrapper .card__media::before,
.card-wrapper .media-wrapper::before,
.card-wrapper .media::before {
  background: transparent !important;
}
.card-wrapper .card__media img,
.card-wrapper .media img {
  border-radius: 14px;
}

/* Custom rating badge (replaces Judge.me preview badge) */
.ob-rating {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 6px 0 10px 0;
  font-size: 14px;
  line-height: 1;
  color: #1A1814;
}
.ob-rating__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.ob-rating__star {
  display: block;
  flex: 0 0 auto;
}
.ob-rating__value {
  font-weight: 600;
  color: #1A1814;
}


/* ============================================================
   OB CTA Button (rounded green pill with arrow)
   Used for: VIEW ALL on featured-collection, hero CTAs, anywhere needing the primary action button.
   Mirrors the .fs-cta button on the Fertility Stack hero (single shared definition).
   Variants via data-arrow attribute: data-arrow="right" | data-arrow="down" (default down)
   ============================================================ */
.ob-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #2D8A47;
  color: #ffffff !important;
  padding: 16px 32px;
  border-radius: 10px;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  font-weight: 900 !important;
  font-size: 16px;
  letter-spacing: 0.3px;
  text-decoration: none !important;
  text-transform: none;
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.2s ease;
}
.ob-cta:hover,
.ob-cta:focus {
  background: #226B37;
  color: #ffffff !important;
}
.ob-cta__arrow {
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease;
}
.ob-cta__arrow svg { display: block; }
/* Down arrow: nudge on hover */
.ob-cta[data-arrow="down"] .ob-cta__arrow { transform: translateY(2px); }
.ob-cta[data-arrow="down"]:hover .ob-cta__arrow { transform: translateY(5px); }
/* Right arrow: slide on hover */
.ob-cta[data-arrow="right"] .ob-cta__arrow { transform: translateX(0); }
.ob-cta[data-arrow="right"]:hover .ob-cta__arrow { transform: translateX(4px); }

/* When the OB CTA is used as the VIEW ALL on a featured-collection, override the theme's .button styles */
.view-all a.ob-cta,
.view-all .ob-cta { display: inline-flex !important; }
.view-all { margin-top: 24px; text-align: left; }


/* Left-align the VIEW ALL button regardless of section's center class */
.view-all.center,
.view-all {
  text-align: left !important;
}


/* Gallery overlay text — white over image (e.g. "A Message From Our Founders" block) */
.gallery__overlay .overlay-text__heading,
.gallery__overlay .overlay-text__subheading,
.gallery__overlay .overlay-text__wrapper,
.gallery__text {
  color: #ffffff !important;
}


/* Video hero overlay text — centred, white, regardless of theme defaults */
[id*="video_hero"] .banner__heading,
[id*="video_hero"] .banner__text,
[id*="video_hero"] .banner__text p,
[id*="video_hero"] .banner__text *,
[id*="video_hero"] .banner__box,
[id*="video_hero"] .banner__box * {
  color: #ffffff !important;
}
[id*="video_hero"] .banner__heading,
[id*="video_hero"] .banner__text,
[id*="video_hero"] .banner__box {
  text-align: center !important;
}
[id*="video_hero"] .banner__box .ob-cta {
  margin-top: 12px;
}
/* Exception: button label inherits its own color from .ob-cta white setting */
[id*="video_hero"] .banner__box .ob-cta,
[id*="video_hero"] .banner__box .ob-cta * {
  color: #ffffff !important;
}


/* Product card prices — flatten currency prefix + superscript decimal to inline plain text */
/* Higher specificity to beat .price .price__suffix { font-size: 60% } */
html body .card-wrapper .price .price__prefix,
html body .card-information .price .price__prefix,
html body .card-wrapper .price__prefix,
html body .card-information .price__prefix {
  font-size: 100% !important;
  font-weight: inherit !important;
  vertical-align: baseline !important;
  margin-inline-start: 0 !important;
  margin-inline-end: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
}
html body .card-wrapper .price .price__suffix,
html body .card-wrapper .price sup.price__suffix,
html body .card-wrapper .price-money sup,
html body .card-wrapper .price__suffix,
html body .card-wrapper sup.price__suffix,
html body .card-information .price .price__suffix,
html body .card-information .price sup.price__suffix,
html body .card-information .price-money sup,
html body .card-information .price__suffix,
html body .card-information sup.price__suffix {
  font-size: 100% !important;
  vertical-align: baseline !important;
  top: auto !important;
  line-height: inherit !important;
  margin-inline-start: 0 !important;
  position: static !important;
}


/* Flattened product card price */
.ob-price-flat {
  font-size: inherit !important;
  font-weight: 600 !important;
  vertical-align: baseline !important;
  display: inline !important;
}


/* "by Verified Buyers" subtitle under product card rating */
.ob-rating {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  white-space: nowrap !important;
}
.ob-rating__stars { display: inline-flex !important; gap: 2px !important; align-items: center !important; }
.ob-rating__value { font-weight: 600 !important; color: #1A1814; font-size: 13px !important; line-height: 1 !important; }
.ob-rating__subtitle {
  font-family: 'Albert Sans', sans-serif;
  font-size: 11px;
  font-weight: 400;
  color: #8A8580;
  letter-spacing: 0.02em;
  line-height: 1 !important;
  margin-top: 0 !important;
}
/* Same single-line treatment for JS-rewritten Judge.me badge */
.jdgm-prev-badge {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  white-space: nowrap !important;
}
.jdgm-prev-badge__text { font-size: 13px !important; }


/* === OB Card: slightly more breathing room between swatches and price (2026-05-27) === */
.card-wrapper .swatches-block.product__option {
  margin-bottom: 8px !important;
}


/* === OB Why-Us multicolumn: rounded corners + responsive aspect-ratio (2026-05-27) === */
/* Desktop: 1:1 square. Mobile (<=749px): 4:5 portrait (taller than wide). */
/* Use attribute selector — template numeric prefix varies; section UUID does not. */
[id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-card .media,
[id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-card .media-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
}
[id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-card .media {
  aspect-ratio: 1 / 1 !important;
}
[id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-card .media img {
  border-radius: 16px !important;
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 749px) {
  [id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-card .media {
    aspect-ratio: 4 / 5 !important;
  }
}


/* === OB Trust card — italic phrases inside title (2026-05-27) === */
/* Trust card italic phrases */
[id$="98eb58a8-f5fc-48e4-9ac7-4b0a50049889"] .multicolumn-list__item:first-child .multicolumn-card__title em {
  font-style: italic !important;
  font-weight: inherit !important;
  color: inherit !important;
}


/* PDP ATC BUTTON — ob-cta style */
.product-form__submit.button {
  background: #2D8A47;
  color: #ffffff !important;
  border: none;
  border-radius: 10px;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px;
  letter-spacing: 0.3px;
  transition: background 0.15s ease;
}
.product-form__submit.button:hover,
.product-form__submit.button:focus {
  background: #226B37;
  color: #ffffff !important;
}


/* PHASE 1 — Round product gallery image corners + remove grey placeholder (reversible) */
.product__media img,
.product__media-item img,
.product__media-wrapper .media img,
.product__media-wrapper .product__media,
.product__media-wrapper .media-wrapper {
  border-radius: 16px;
}
.product__media-wrapper .media-wrapper,
.product__media-wrapper .product__media {
  background-color: transparent !important;
}


/* PHASE 1 — Thumbnail + slider cleanup v2 (correct selectors, reversible) */

/* 1. Hide scrollbar on main media slider + thumbnail strip */
.product__media-list,
.thumbnail-list {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}
.product__media-list::-webkit-scrollbar,
.thumbnail-list::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* 2. Remove white panel behind thumbnails */
.thumbnail-list {
  background: transparent !important;
}

/* 3. Round thumbnails + match active black ring (::after) to the curve */
.thumbnail.media,
.thumbnail-list__item .thumbnail,
.thumbnail-list__item {
  border-radius: 12px !important;
  overflow: hidden;
}
.thumbnail.media::after,
.thumbnail-list__item.is-active .thumbnail::after,
.thumbnail-list__item.is-active::after {
  border-radius: 12px !important;
}


/* PHASE 1 — Remove drop shadow behind thumbnails (reversible) */
.thumbnail-list,
.thumbnail.media,
.thumbnail-list__item,
.thumbnail-list__item .thumbnail,
.thumbnail-list .media-wrapper--small,
.product__media-wrapper .thumbnail-list .global-media-settings {
  box-shadow: none !important;
}
.thumbnail.media::before,
.thumbnail-list__item::before {
  box-shadow: none !important;
}


/* PHASE 1 — Reduce space below product image/thumbnails (reversible) */
.product__media-wrapper .thumbnail-slider {
  margin-bottom: 0.8rem !important;
}

/* ============================================================
   PDP VARIANT PICKER — PILL TOGGLES
   Scoped to variant-radios to avoid affecting sticky cart
   or other radio-input surfaces.
   Added: 2026-06-01 | Revised: 2026-06-01
   ============================================================ */

/* Hide radio inputs visually — keep for JS */
variant-radios input[type="radio"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

/* Hide the option-name legend ("Choose your format:") — replaced by our eyebrow */
variant-radios legend.form__label,
variant-radios .form__label {
  display: none !important;
}

/* ----------------------------------------------------------
   OB-PILL — self-owned toggle component (Option 1, 2026-06-01)
   Markup: <label class="ob-pill"><span class="ob-pill__label">…</span></label>
   rendered in snippets/product-variant-picker.liquid. Native radio
   inputs kept intact (theme variant/price/availability JS unaffected);
   only the label rendering is ours. No reliance on the theme's
   `input + label` cascade.
   ---------------------------------------------------------- */

/* Kill the theme's pseudo-elements on OUR pills (diagonal strikethrough
   ::before and the background-layer ::after) — they bloat/box the shape. */
variant-radios .product-form__input input[type="radio"] + label.ob-pill::before,
variant-radios .product-form__input input[type="radio"] + label.ob-pill::after {
  content: none !important;
  display: none !important;
}

/* Pill base (unselected) — high specificity to beat theme's
   `.product-form__input input + label` (0,2,2). Ours is 0,3,3. */
variant-radios .product-form__input input[type="radio"] + label.ob-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 20px;
  min-width: 0;
  min-height: 0;
  width: auto;
  height: auto;
  margin-right: 5px;
  border-radius: 999px;
  border: 1.5px solid #E0DBD2;
  box-shadow: none;
  background: #ffffff;
  color: #2A2522;
  font-family: 'Albert Sans', sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  white-space: nowrap;
  user-select: none;
  margin: 0 8px 0 0;
  text-align: center;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.ob-pill__label { display: inline-block; line-height: 1.1; font-weight: 700 !important; }

/* Hover (unselected only) */
variant-radios .product-form__input input[type="radio"]:not(:checked) + label.ob-pill:hover {
  border-color: #C8C1B5;
  box-shadow: none;
}

/* Active / checked pill — brand green #2D8A47 (same as index "Send" button).
   Override theme's `:checked + label` colour + box-shadow + ::after bg. */
variant-radios .product-form__input input[type="radio"]:checked + label.ob-pill {
  background: #2D8A47;
  color: #ffffff;
  border-color: #2D8A47;
  box-shadow: none;
}

/* Unavailable / disabled pill — muted, NO strikethrough, " SOLD OUT" suffix.
   Target spec (Mr. Dimi 2026-06-01): fill #FBFAF6, border #E0DCD2,
   label text muted #A8A296 bold, "SOLD OUT" lighter #B8B3A8 uppercase,
   smaller, tracked out, ~12px gap. */
variant-radios .product-form__input input[type="radio"][data-varaint-availability="false"] + label.ob-pill {
  background: #FBFAF6;
  border-color: #E0DCD2;
  color: #A8A296;
  text-decoration: none;
  cursor: not-allowed;
  opacity: 1;
  margin-right: 5px !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* Keep the label text bold-muted, append " SOLD OUT" via ::after.
   Re-enable ::after here (it is disabled globally on .ob-pill). */
variant-radios .product-form__input input[type="radio"][data-varaint-availability="false"] + label.ob-pill::after {
  content: "SOLD OUT" !important;
  display: inline !important;
  position: static !important;
  margin-left: 5px;
  color: #B8B3A8;
  font-size: 0.78em;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: none !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  z-index: auto !important;
}

/* If checked somehow lands on a sold-out variant, keep it muted not dark. */
variant-radios .product-form__input input[type="radio"]:checked[data-varaint-availability="false"] + label.ob-pill {
  background: #FBFAF6;
  border-color: #E0DCD2;
  color: #A8A296;
}

/* Fieldset reset */
variant-radios fieldset.variant-input-wrapper {
  border: none !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
}

/* Eyebrow label above the picker */
.ob-variant-eyebrow {
  display: block;
  font-family: 'Albert Sans', sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #8A8580;
  margin: 0 0 10px;
}

/* ============================================================
   PRODUCT INFO SECTION — cream background (Mr. Dimi 2026-06-01)
   Brand cream #FAF7F2 (design-system lighter cream). Full-bleed
   across the entire main-product section: image, thumbnails,
   rating, variant picker, price, cart, trust strip, collapsibles.
   ============================================================ */
.main___product {
  background: #FAF7F2 !important;
  /* Top padding above the product image (Mr. Dimi: 18px). */
  padding-top: 18px !important;
}

/* ============================================================
   OB PURCHASE SELECTOR — custom 3-card sub/price selector
   (Mr. Dimi 2026-06-01). OB fonts/weights/greens.
   Brand green #2D8A47, magenta badge #C2186A, near-black #1A1814.
   ============================================================ */
.ob-psel { font-family: 'Albert Sans', sans-serif; margin: 8px 0 0; --ob-psel-pad: 18px; }

/* Card — padding is owned by .ob-psel__top (and .ob-psel__bottom) */
.ob-psel__card {
  position: relative; display: block;
  padding: 0; margin: 0 0 14px;
  background: #ffffff; border: 1.5px solid #E8E3DA; border-radius: 16px;
  cursor: pointer; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.ob-psel__card:last-of-type { margin-bottom: 0; }
/* Default selected (subscribe) = green */
.ob-psel__card--selected {
  background: #EAF3E9; border: 2.5px solid #2D8A47; box-shadow: 0 2px 10px rgba(45,138,71,.08);
}
/* Buy 3 selected = pink outline + light pink tint */
.ob-psel__card[data-ob-card="bundle3"].ob-psel__card--selected {
  background: #FBEAF2; border-color: #C2186A; box-shadow: 0 2px 10px rgba(194,24,106,.08);
}
.ob-psel__card[data-ob-card="bundle3"].ob-psel__card--selected .ob-psel__dot { border-color: #C2186A; }
.ob-psel__card[data-ob-card="bundle3"].ob-psel__card--selected .ob-psel__bottom { border-top-color: #E7B9D0; }
/* One-time selected = dark grey outline + light grey interior */
.ob-psel__card[data-ob-card="onetime"].ob-psel__card--selected {
  background: #F2F1EF; border-color: #6B6660; box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.ob-psel__card[data-ob-card="onetime"].ob-psel__card--selected .ob-psel__dot { border-color: #6B6660; }

/* Tab badge — centered, weight 600 */
.ob-psel__tab {
  position: absolute; top: -11px; left: 50%; transform: translateX(-50%);
  font-size: 10.5px; font-weight: 700 !important; letter-spacing: 0.06em; text-transform: uppercase;
  color: #fff; padding: 4px 12px; border-radius: 999px; white-space: nowrap;
}
.ob-psel__tab--green   { background: #2D8A47; }
.ob-psel__tab--magenta { background: #C2186A; }

/* Radio dot — inline in the top row, vertically centered with the title */
.ob-psel__radio { position: absolute; opacity: 0; pointer-events: none; }
.ob-psel__dot {
  flex: 0 0 auto;
  width: 24px; height: 24px; border-radius: 50%;
  border: 2px solid #C2BDB2; background: #fff; box-sizing: border-box;
  transition: border-color .15s ease;
}
.ob-psel__card--selected .ob-psel__dot { border: 7px solid #2D8A47; background: #fff; }

/* Top row (all cards): [dot] [titleblock] [pricegroup] */
.ob-psel__top {
  position: relative;
  display: flex; align-items: center; gap: 14px;
  padding: var(--ob-psel-pad);
}
/* Title block: title + sub-lines stacked, left-aligned, flex-grows */
.ob-psel__titleblock {
  flex: 1 1 auto; min-width: 0;
  display: flex; flex-direction: column; gap: 2px;
}
.ob-psel__title {
  font-size: 18px; font-weight: 700 !important; color: #1A1814; line-height: 1.2;
  margin: 0; padding: 0; font-family: inherit;
}
.ob-psel__subline {
  font-size: 12.5px; font-weight: 500; color: #6E6A62; line-height: 1.35; font-family: inherit;
}
.ob-psel__subline--strong { font-weight: 700; color: #2E2E2E; }
/* Buy 3 subline in magenta accent */
.ob-psel__card[data-ob-card="bundle3"] .ob-psel__subline { color: #C2186A; font-weight: 700; }

.ob-psel__pricegroup {
  flex: 0 0 auto;
  display: inline-flex; flex-direction: column; align-items: flex-end; gap: 4px; white-space: nowrap;
}
.ob-psel__was { font-size: 13px; color: #9AA08F; text-decoration: line-through; }
.ob-psel__now { font-size: 19px; font-weight: 700 !important; color: #1A1814; line-height: 1; white-space: nowrap; }
.ob-psel__savebadge {
  font-size: 12px; font-weight: 700 !important; color: #fff; padding: 3px 11px; border-radius: 999px; letter-spacing: 0.02em;
  align-self: flex-end; margin-top: 4px;
}

/* ---- Two-section cards (subscribe + bundle3) ---- */
.ob-psel__card--twosection { padding: 0; }
/* Bottom section: trust sentence, aligned to the left padding edge */
.ob-psel__card--twosection .ob-psel__bottom {
  display: flex; align-items: center; gap: 10px;
  padding: 12px var(--ob-psel-pad);
  border-top: 1px solid #C9D6C4;
  font-size: 13px; font-weight: 700; color: #2E2E2E; line-height: 1.5;
}
.ob-psel__card[data-ob-placeholder="true"] .ob-psel__bottom { border-top-color: #ECDCE5; }
.ob-psel__bottom .ob-psel__check { flex: 0 0 auto; }
.ob-psel__bottom span { font-weight: 700 !important; }
.ob-psel__savebadge--green   { background: #2D8A47; }
.ob-psel__savebadge--magenta { background: #C2186A; }

/* Divider — full card width minus padding (breaks out of the body's left indent) */
.ob-psel__divider {
  display: block; height: 1px; background: #C9D6C4; margin: 6px 0 2px;
  margin-left: -38px; /* clear body's left padding to reach the card's left padding edge */
}
.ob-psel__feature {
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 400; color: #2E2E2E; line-height: 1.5;
}
.ob-psel__check { flex: 0 0 auto; }

/* Placeholder card (Buy 3) — selectable for preview; not yet cart-wired. */

/* Extra top spacing on subscribe + bundle3 cards (one-time keeps default) */
.ob-psel__card[data-ob-card="bundle3"] { margin-top: 20px; }
/* Subscribe card (first card, sits below variant buttons): +50% gap above
   MOST POPULAR pill per DS 2026-06-05. 20px -> 30px. Design-only. */
.ob-psel__card[data-ob-card="subscribe"] { margin-top: 30px; }

/* Summary — no top border (divider removed per feedback) */
.ob-psel__summary { margin-top: 18px; padding-top: 0; }
.ob-psel__summary-top { display: flex; align-items: center; gap: 10px; }
.ob-psel__sum-was { font-size: 15px; color: #9AA08F; text-decoration: line-through; }
.ob-psel__sum-final { font-size: 42px; font-weight: 800; color: #1A1814; line-height: 1.05; margin-top: 6px; }
/* Meta row: "You save €X" (bold green) before "Only €X/day" */
.ob-psel__sum-meta { display: flex; align-items: center; gap: 8px; margin-top: 4px; flex-wrap: wrap; }
.ob-psel__sum-save { font-size: 15px; font-weight: 700 !important; color: #2D8A47; }
.ob-psel__sum-perday { font-size: 15px; font-weight: 700 !important; color: #8A8378; display: inline-flex; align-items: center; }
/* Centred dot separator before "Only …/day" */
.ob-psel__sum-perday::before {
  content: ""; display: inline-block; width: 4px; height: 4px; border-radius: 50%;
  background: #C2BDB2; margin-right: 8px; flex: 0 0 auto;
}
/* No dot if the save line is hidden (one-time) */
.ob-psel__sum-save[style*="none"] + .ob-psel__sum-perday::before { display: none; }
.ob-psel__summary-top:empty { display: none; }

/* Hide legacy price block + legacy subscription toggle (replaced by .ob-psel) */
.main___product .product__info-container > .no-js-hidden.price,
.main___product .product__info-container .price.price--large,
.main___product [data-ob-legacy-hidden] { display: none !important; }


/* ── Judge.me stars: unicode fallback (2026-06-02) ─────────────────────────
   jdgm-icon font fails to load in this theme context.
   Override with Unicode ★/☆ via content — no font dependency. */
.jdgm-star.jdgm--on,
.jdgm-star.jdgm--full {
  font-family: inherit !important;
  color: #FFCC49;
}
.jdgm-star.jdgm--on::before,
.jdgm-star.jdgm--full::before {
  content: "\2605" !important; /* ★ */
  font-family: inherit !important;
  color: #FFCC49;
  font-style: normal;
}
.jdgm-star.jdgm--off,
.jdgm-star.jdgm--empty {
  font-family: inherit !important;
}
.jdgm-star.jdgm--off::before,
.jdgm-star.jdgm--empty::before {
  content: "\2606" !important; /* ☆ */
  font-family: inherit !important;
  color: #ccc;
  font-style: normal;
}
.jdgm-star.jdgm--half::before {
  content: "\2605" !important;
  font-family: inherit !important;
  color: #FFCC49;
  opacity: 0.5;
  font-style: normal;
}
/* Hide the broken glyph character the icon font was supposed to render */
.jdgm-star {
  font-size: 0 !important;
}
.jdgm-star::before {
  font-size: 18px !important;
}

/* ── "You save" inline with strikethrough price (2026-06-02) ───────────────
   Move the sale badge to sit on the same line as the compare-at price.
   price__compare row: strikethrough | "You save X" badge inline */
.price__sale {
  display: flex;
  flex-direction: column;
}
.price__compare {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap;
}
.price__compare .price__badge-sale,
.price .price__badge-sale {
  position: static !important;
  display: inline-flex !important;
  margin: 0 !important;
  vertical-align: middle;
}

/* Universal star colour rgb(255,204,73) = #FFCC49 — all surfaces (2026-06-02) */
.ob-rating__star,
.ob-rating__stars svg,
.ob-rating__stars .star,
.ob-rating__stars span,
[class*="ob-rating"] .star,
[class*="ob-rating"] svg {
  color: #FFCC49 !important;
  fill: #FFCC49 !important;
}
.jdgm-star,
.jdgm-star.jdgm--on::before,
.jdgm-star.jdgm--full::before,
.jdgm-star.jdgm--half::before,
.jdgm-prev-badge__stars,
.jdgm-summary-stars {
  color: #FFCC49 !important;
}

/* Remove dot separator before Only X/day — sum-save moved up, perday is now solo (2026-06-02) */
.ob-psel__sum-perday::before {
  display: none !important;
}

/* ── Hide old theme sticky cart (replaced by ob-sticky-pill) (2026-06-02) ── */
.sticky-cart-wrapper,
animate-sticky,
.product-sticky-cart,
#sticky-cart-{{ section.id }},
[class*="sticky-cart"] {
  display: none !important;
}


/* ============================================================
   JUDGE.ME REVIEWS PAGINATION ARROWS FIX (2026-06-05)
   ------------------------------------------------------------
   Root cause: .jdgm-paginate__next-page::before / __last-page::before
   use icon-font glyphs (content:"\e003" / "\e006") but the Judge.me
   icon font is not applied (computed font-family falls back to
   Albert Sans) -> glyphs render as broken .notdef "tofu" blocks
   (stacks of horizontal lines). Same failure class as the stars
   block-render issue (fixed 2026-05-26). Here we blank the broken
   font glyph and paint our own inline-SVG chevrons via background.
   SCOPED ONLY to the two arrow pages — numeric pages + stars untouched.
   ============================================================ */
.jdgm-paginate__next-page,
.jdgm-paginate__last-page {
  position: relative;
}
/* kill the broken icon-font glyph */
.jdgm-paginate__next-page::before,
.jdgm-paginate__last-page::before {
  content: "" !important;
  font-family: inherit !important;
  display: inline-block !important;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* single right-chevron for NEXT (stroke #444 = Judge.me arrow colour) */
.jdgm-paginate__next-page::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E");
}
/* double right-chevron for LAST page */
.jdgm-paginate__last-page::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='7 6 13 12 7 18'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E");
}
/* symmetric PREV / FIRST arrows (appear on pages > 1) — left-facing */
.jdgm-paginate__prev-page,
.jdgm-paginate__first-page {
  position: relative;
}
.jdgm-paginate__prev-page::before,
.jdgm-paginate__first-page::before {
  content: "" !important;
  font-family: inherit !important;
  display: inline-block !important;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.jdgm-paginate__prev-page::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 6 9 12 15 18'/%3E%3C/svg%3E");
}
.jdgm-paginate__first-page::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23444444' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='17 6 11 12 17 18'/%3E%3Cpolyline points='11 6 5 12 11 18'/%3E%3C/svg%3E");
}

/* KYS PAGE BUTTONS */
.kys-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #2D8A47;
  color: #fff !important;
  padding: 14px 28px;
  border-radius: 10px;
  font-family: 'Albert Sans', system-ui, sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.2px;
  text-decoration: none !important;
  border: none;
  transition: background 0.15s ease;
}
.kys-btn:hover { background: #226B37; }
.kys-btn__arrow { transition: transform 0.2s ease; }
.kys-btn:hover .kys-btn__arrow { transform: translateX(4px); }

.rte .kys-btn, .rte a.kys-btn { background: #2D8A47 !important; color: #fff !important; text-decoration: none !important; }
.rte .kys-btn:hover { background: #226B37 !important; }


/* SALE BADGE — font-weight 700 */
.badge--onsale { font-weight: 700 !important; }


/* Featured product no-image lander — restore horizontal padding on mobile
   Theme zeros padding-inline on .product--no-media .product__info-container;
   this restores 1.5rem (matching .page-width) so content doesn't crash the edges. */
@media screen and (max-width: 749px) {
  .featured-product.product--no-media .product__info-container {
    padding-inline-start: 1.5rem;
    padding-inline-end: 1.5rem;
  }
}

/* Lander howItWorks section — ensure padding on mobile (2026-06-07) */
@media screen and (max-width: 749px) {
  .howItWorks { padding: 24px 16px !important; }
  .howWrap { padding: 0 !important; }
}

/* Lander pain-list — reset font size and letter-spacing to match normal paragraph (2026-06-07) */
.pain-text {
  font-size: 16px !important;
  letter-spacing: normal !important;
  line-height: 1.5 !important;
}

/* OB: fs-eyebrow span margin — 5px (2026-06-11) */
.fs-eyebrow span {
  margin-right: 5px !important;
}

/* OB: All buttons — always bold (2026-06-08) */
.button,
.btn,
button[type="submit"],
a.button,
.shopify-payment-button__button,
.product-form__submit {
  font-weight: 700 !important;
}

/* OB: Video hero — centre box + heading, remove max-width cap (2026-06-08) */
@media (min-width: 750px) {
  .banner__box {
    max-width: none !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  .banner__heading {
    max-width: none !important;
    width: auto !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* OB: Video hero — stack words on mobile (2026-06-08) */
@media (max-width: 749px) {
  .banner__heading {
    word-spacing: 100vw;
  }
}



/* OB: .ob-cta — force bold, beat typo-v2 overrides (2026-06-08) */
body .ob-cta,
.typo-v2 .ob-cta,
a.ob-cta,
.view-all .ob-cta {
  font-weight: 900 !important;
  font-family: 'Albert Sans', system-ui, sans-serif !important;
}

/* OB: Founders letter rich-text — 720px max-width centred (2026-06-08) */
#shopify-section-5a0975d8-0c61-4168-b886-e911ecc7dcd9 > .page-width,
#shopify-section-5a0975d8-0c61-4168-b886-e911ecc7dcd9 .page-width {
  max-width: 720px !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* OB: Guarantees section — force 60px padding-top (2026-06-08) */
#shopify-section-guarantees .guarantees.section--padding {
  padding-top: 60px !important;
}

/* ============================================================
   PRODUCT INFO PANEL — full-bleed cream on desktop (DS 2026-06-09)
   The .main___product section carries the cream background but is
   constrained by .page-width, leaving white gutters on the sides on
   desktop. Rather than breaking the layout box out (which de-centers
   the content), we paint the cream out to both viewport edges using a
   spread box-shadow in the cream colour, and reveal it with a clip-path
   that extends 100vw left/right. The content box is untouched, so the
   image + info panel stay exactly where they are; only the cream now
   bleeds edge-to-edge. Desktop only (>= 990px).
   ============================================================ */
@media screen and (min-width: 990px) {
  .main___product.page-width {
    position: relative;
    background: transparent !important; /* move cream to the full-bleed layer */
    /* Desktop-only vertical padding: 60px top (overrides the 18px base) and
       60px bottom (DS 2026-06-09). Mobile/tablet keep the 18px base. */
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .main___product.page-width::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
    width: auto;
    background: #FAF7F2;
    z-index: 0;
    pointer-events: none;
  }
  /* keep the actual content above the full-bleed cream layer */
  .main___product.page-width > .product {
    position: relative;
    z-index: 1;
  }
}


/* OB: cart icon count bubble — Light Green (2026-06-11) */
.cart-drawer-container .cart-count-bubble {
  background-color: #78BF40 !important;
  color: #ffffff !important;
}

/* OB: KYS page — H2 "Discover the inspirational stories" centred (2026-06-11) */
.template-page-know-your-source h2,
.page-know-your-source h2 {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* OB: lander ingredients — "What's NOT Inside" label hot pink (2026-06-11) */
.ob-not-inside {
  color: #FF1493 !important;
  font-weight: 700;
}