/** Shopify CDN: Minification failed

Line 130:110 Expected identifier but found whitespace
Line 130:138 Unexpected "="

**/
/* ============================================================
   BOTANICA BOLD — Bare Botanics custom theme
   Fresh apothecary meets streetwear-bold.
   Mobile-first · vanilla CSS · no frameworks
   ============================================================ */

/* ---------- Tokens (values injected from theme settings) ---------- */
:root{
  --radius: 18px;
  --radius-sm: 12px;
  --shadow: 0 10px 30px rgba(30,59,44,.12);
  --shadow-pop: 0 6px 0 rgba(30,59,44,1);
  --maxw: 1280px;
  --font-display: "Fraunces", Georgia, serif;
  --font-body: "Inter", system-ui, -apple-system, sans-serif;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--font-body); font-size:1rem; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }
button{ font:inherit; cursor:pointer; }
input,select,textarea{ font:inherit; }
::selection{ background:var(--gold); color:var(--forest); }

h1,h2,h3,h4,.display{
  font-family:var(--font-display); font-weight:600; line-height:1.05;
  letter-spacing:-.01em; margin:0 0 .5em; color:var(--forest);
  text-wrap:balance;
}
h1{ font-size:clamp(2.6rem,7vw,5.2rem); }
h2{ font-size:clamp(2rem,4.5vw,3.2rem); }
h3{ font-size:clamp(1.25rem,2.5vw,1.6rem); }
p{ margin:0 0 1em; }

/* Marker highlight for display words */
.highlight{
  position:relative; white-space:nowrap; font-style:italic; z-index:0;
}
.highlight::after{
  content:""; position:absolute; left:-.08em; right:-.08em; bottom:.06em; height:.42em;
  background:var(--gold); z-index:-1; transform:rotate(-1.2deg); border-radius:3px;
}
.highlight--coral::after{ background:var(--coral); }
.highlight--leaf::after{ background:var(--leaf); opacity:.55; }

.container{ width:min(var(--maxw),100% - 2.5rem); margin-inline:auto; }
.section{ padding:clamp(3rem,7vw,5.5rem) 0; position:relative; }
.section--alt{ background:var(--sand); }
.section--forest{ background:var(--forest); color:var(--cream); }
.section--forest h1,.section--forest h2,.section--forest h3{ color:var(--cream); }
.section__head{ max-width:46rem; margin-bottom:2.2rem; }
.section__head--center{ margin-inline:auto; text-align:center; }
.eyebrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--clay); margin-bottom:.9rem;
}
.eyebrow svg{ width:1.1em; height:1.1em; }
.section__sub{ font-size:1.08rem; opacity:.85; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  padding:.95rem 1.7rem; border-radius:999px; border:2px solid var(--forest);
  font-weight:800; font-size:.95rem; text-decoration:none; line-height:1.2;
  background:var(--cream); color:var(--forest);
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn svg{ width:1.1em; height:1.1em; }
.btn:hover{ transform:translate(-2px,-2px); box-shadow:var(--shadow-pop); }
.btn:active{ transform:translate(0,0); box-shadow:none; }
.btn--primary{ background:var(--forest); color:var(--cream); }
.btn--pop{ background:var(--coral); border-color:var(--forest); color:#fff; }
.btn--gold{ background:var(--gold); border-color:var(--forest); color:var(--forest); }
.btn--ghost{ background:transparent; }
.btn--full{ width:100%; }
.btn--sm{ padding:.6rem 1.1rem; font-size:.85rem; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; transform:none; box-shadow:none; }

.icon-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:2.75rem; height:2.75rem; border-radius:50%;
  border:2px solid var(--forest); background:var(--cream); color:var(--forest);
  transition:transform .15s ease, background .15s ease;
  position:relative; text-decoration:none;
}
.icon-btn svg{ width:1.25rem; height:1.25rem; }
.icon-btn:hover{ background:var(--gold); transform:rotate(-6deg) scale(1.05); }
.cart-count-bubble{
  position:absolute; top:-.4rem; right:-.4rem; min-width:1.4rem; height:1.4rem;
  border-radius:999px; background:var(--coral); color:#fff;
  font-size:.72rem; font-weight:800; display:flex; align-items:center; justify-content:center;
  padding:0 .3rem; border:2px solid var(--cream);
}

.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--forest); color:var(--cream); padding:.8rem 1.2rem; border-radius:0 0 12px 0;
}
.skip-link:focus{ left:0; }

/* ---------- Sticker badges ---------- */
/* ---------- Sticker badges ---------- */
/* ===== URBAN POP: vibrant streetwear accents ===== */
.marquee{background:linear-gradient(90deg,var(--pop-orange),var(--pop-magenta),var(--pop-teal),var(--pop-orange)) !important;background-size:300% 100%;animation:mqSlide 8s linear infinite}
@keyframes mqSlide{0%{background-position:0% 0}100%{background-position:300% 0}}
.marquee__track{color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.hero{background:#0D1B2A}
.hero__eyebrow{color:var(--pop-teal)}
.hero__title{color:#FAF6ED}
.hero__title .highlight{color:var(--pop-orange)}
.hero__copy{color:#FAF6ED}
.hero__copy strong{color:var(--pop-magenta)}
.hero__sticker--a{background:var(--pop-orange);color:#fff;transform:rotate(-4deg);border:2px solid #0D1B2A;box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.hero__sticker--b{background:var(--pop-teal);color:#0D1B2A;transform:rotate(3deg);border:2px solid #0D1B2A;box-shadow:3px 3px 0 rgba(0,0,0,.35)}
.btn--pop:hover{background:var(--pop-magenta);border-color:var(--pop-magenta);transform:translateY(-2px) rotate(-1deg)}
.btn--ghost:hover{border-color:var(--pop-teal);color:var(--pop-teal);transform:translateY(-2px) rotate(1deg)}: vibrant streetwear accents ===== */
.badge--pop{font-weight:800;text-transform:uppercase;letter-spacing:.04em;border:2px solid #0D1B2A;box-shadow:3px 3px 0 #0D1B2A}
.badge--pop-orange{background:var(--pop-orange);color:#fff;transform:rotate(-4deg)}
.badge--pop-teal{background:var(--pop-teal);color:#0D1B2A;transform:rotate(3deg)}
.badge--pop-magenta{background:var(--pop-magenta);color:#fff;transform:rotate(-2deg)}
.hero--urban{background:#0D1B2A}
.hero--urban h1,.hero--urban h2{color:#FAF6ED}
.hero--urban .pop-orange{color:var(--pop-orange)}
.hero--urban .pop-teal{color:var(--pop-teal)}
.hero--urban .pop-magenta{color:var(--pop-magenta)}
.marquee--electric{background:linear-gradient(90deg,var(--pop-orange),var(--pop-magenta),var(--pop-teal),var(--pop-orange));background-size:300% 100%;animation:mqSlide 8s linear infinite}
@keyframes mqSlide{0%{background-position:0% 0}100%{background-position:300% 0}}
.badges{ position:absolute; top:.7rem; left:.7rem; right:.7rem; display:flex; flex-wrap:wrap; gap:.4rem; z-index:2; pointer-events:none; }
.sticker{
  display:inline-block; padding:.32rem .7rem; border-radius:999px;
  font-size:.68rem; font-weight:800; letter-spacing:.08em;
  border:2px solid var(--forest); box-shadow:3px 3px 0 var(--forest);
  transform:rotate(-3deg); line-height:1;
}
.sticker:nth-child(even){ transform:rotate(2.5deg); }
.sticker--save{ background:var(--clay); color:var(--cream); }
.sticker--bestseller{ background:var(--coral); color:#fff; }
.sticker--vegan{ background:var(--forest); color:var(--cream); }
.sticker--batch{ background:var(--gold); color:var(--forest); }
.sticker--under15{ background:var(--cream); color:var(--forest); }
.sticker--shade{ background:var(--leaf); color:#fff; }
.sticker--soldout{ background:var(--ink); color:var(--cream); }

/* ---------- Price ---------- */
.price{ display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; font-weight:800; }
.price__compare{ opacity:.55; font-weight:500; font-size:.9em; }
.price__current--sale{ color:var(--clay); }
.price__save-chip{
  background:var(--gold); color:var(--forest); border:2px solid var(--forest);
  border-radius:999px; padding:.15rem .6rem; font-size:.72rem; font-weight:800; letter-spacing:.05em;
}

/* ---------- Stars ---------- */
.stars{ display:inline-flex; gap:.15rem; color:var(--gold); }
.stars svg{ width:1rem; height:1rem; }
.stars__star--off{ color:var(--forest); opacity:.25; }

/* ---------- Announcement marquee ---------- */
.marquee{
  background:var(--forest); color:var(--cream); overflow:hidden;
  border-bottom:2px solid var(--forest); position:relative; z-index:60;
}
.marquee__track{
  display:flex; width:max-content; animation:marquee var(--marquee-speed,28s) linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__item{
  display:flex; align-items:center; gap:.6rem; padding:.55rem 1.4rem;
  font-size:.8rem; font-weight:800; letter-spacing:.12em; white-space:nowrap;
}
.marquee__item svg{ width:1em; height:1em; color:var(--gold); flex:none; }
@keyframes marquee{ to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .marquee__track{ animation:none; } }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb, var(--cream) 92%, transparent);
  backdrop-filter:blur(10px); border-bottom:2px solid var(--forest);
}
.header__inner{
  display:flex; align-items:center; gap:1rem;
  padding:.8rem 0; width:min(var(--maxw),100% - 2.5rem); margin-inline:auto;
}
.header__logo{ display:flex; align-items:center; gap:.6rem; text-decoration:none; margin-right:auto; }
.header__logo img{ width:var(--logo-w,148px); height:auto; }
.header__logo-text{
  font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--forest);
  display:flex; align-items:center; gap:.5rem; line-height:1;
}
.header__logo-text svg{ width:1.6rem; height:1.6rem; color:var(--leaf); }
.header__logo-text em{ color:var(--clay); font-style:italic; }
.header__nav{ display:none; }
.header__actions{ display:flex; align-items:center; gap:.55rem; margin-left:auto; }
@media (min-width:990px){
  .header__nav{ display:flex; align-items:center; gap:.25rem; }
  .header__actions{ margin-left:0; }
  .header__logo{ margin-right:2rem; }
}
.nav__item{ position:relative; }
.nav__link{
  display:inline-flex; align-items:center; gap:.3rem; padding:.7rem .9rem;
  font-weight:700; font-size:.95rem; text-decoration:none; border-radius:999px;
  transition:background .15s ease;
}
.nav__link:hover{ background:var(--gold); }
.nav__caret{ width:.8em; height:.8em; transition:transform .2s ease; }
.nav__dropdown{
  position:absolute; top:calc(100% + .4rem); left:0; min-width:15rem;
  background:var(--cream); border:2px solid var(--forest); border-radius:var(--radius-sm);
  box-shadow:var(--shadow); padding:.5rem; list-style:none; margin:0;
  opacity:0; visibility:hidden; transform:translateY(8px); transition:all .18s ease;
}
.nav__item:hover .nav__dropdown, .nav__item:focus-within .nav__dropdown{
  opacity:1; visibility:visible; transform:translateY(0);
}
.nav__item:hover .nav__caret{ transform:rotate(180deg); }
.nav__dropdown a{
  display:block; padding:.65rem .9rem; border-radius:8px; text-decoration:none; font-weight:600;
}
.nav__dropdown a:hover{ background:var(--sand); }
.burger{ display:inline-flex; }
@media (min-width:990px){ .burger{ display:none; } }

/* Mobile nav */
.mobile-nav{
  position:fixed; inset:0 auto 0 0; width:min(22rem,88vw); z-index:120;
  background:var(--cream); border-right:2px solid var(--forest);
  transform:translateX(-105%); transition:transform .28s ease;
  display:flex; flex-direction:column; padding:1.2rem;
}
.mobile-nav.open{ transform:none; }
.mobile-nav__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; }
.mobile-nav__links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.mobile-nav__links a, .mobile-nav__links summary{
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem .4rem; font-family:var(--font-display); font-size:1.5rem; font-weight:600;
  text-decoration:none; border-bottom:2px dashed color-mix(in srgb, var(--forest) 25%, transparent);
  cursor:pointer; list-style:none;
}
.mobile-nav__links a:hover{ color:var(--clay); }
.mobile-nav__sub{ list-style:none; margin:0; padding:0 0 .5rem 1rem; }
.mobile-nav__sub a{ font-family:var(--font-body); font-size:1rem; border:none; padding:.5rem .4rem; }
.mobile-nav__foot{ margin-top:auto; padding-top:1rem; }

/* ---------- Drawers (cart + search) ---------- */
.drawer-overlay{
  position:fixed; inset:0; z-index:100; background:rgba(20,42,32,.5); backdrop-filter:blur(2px);
}
.cart-drawer,.search-drawer{
  position:fixed; top:0; right:0; bottom:0; width:min(26rem,94vw); z-index:110;
  background:var(--cream); border-left:2px solid var(--forest);
  transform:translateX(105%); transition:transform .3s cubic-bezier(.32,.72,.35,1);
  display:flex; flex-direction:column;
}
.cart-drawer.open,.search-drawer.open{ transform:none; }
.cart-drawer__head,.search-drawer__head{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 1.25rem; border-bottom:2px solid var(--forest);
}
.cart-drawer__title,.search-drawer__title{ font-size:1.4rem; margin:0; }
.ship-progress{ padding:1rem 1.25rem; border-bottom:2px dashed color-mix(in srgb, var(--forest) 25%, transparent); background:var(--sand); }
.ship-progress__msg{ font-size:.88rem; font-weight:700; margin:0 0 .5rem; }
.ship-progress__msg strong{ color:var(--clay); }
.ship-progress__bar{ height:.9rem; border:2px solid var(--forest); border-radius:999px; overflow:hidden; background:var(--cream); }
.ship-progress__fill{
  display:block; height:100%; width:0; border-radius:999px;
  background:repeating-linear-gradient(-45deg, var(--leaf), var(--leaf) 8px, var(--forest) 8px, var(--forest) 16px);
  transition:width .5s ease;
}
.ship-progress--done .ship-progress__msg{ color:var(--forest); }
.cart-drawer__items{ flex:1; overflow-y:auto; padding:1rem 1.25rem; display:flex; flex-direction:column; gap:1.1rem; }
.cart-line{ display:grid; grid-template-columns:5.5rem 1fr; gap:.9rem; }
.cart-line__media{ border:2px solid var(--forest); border-radius:var(--radius-sm); overflow:hidden; background:#fff; aspect-ratio:1; }
.cart-line__media img{ width:100%; height:100%; object-fit:cover; }
.cart-line__title{ font-weight:700; margin:0 0 .15rem; font-size:.95rem; }
.cart-line__title a{ text-decoration:none; }
.cart-line__variant{ font-size:.82rem; opacity:.7; margin:0 0 .4rem; }
.cart-line__row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.cart-line__price{ font-weight:800; margin:0; }
.cart-line__remove{ background:none; border:none; padding:0; font-size:.8rem; text-decoration:underline; opacity:.7; margin-top:.35rem; }
.cart-line__remove:hover{ color:var(--clay); opacity:1; }
.qty{ display:inline-flex; align-items:center; border:2px solid var(--forest); border-radius:999px; overflow:hidden; background:#fff; }
.qty button{ width:2rem; height:2rem; border:none; background:none; font-weight:800; font-size:1rem; }
.qty button:hover{ background:var(--gold); }
.qty input{ width:2.2rem; border:none; text-align:center; font-weight:700; background:none; -moz-appearance:textfield; }
.qty input::-webkit-inner-spin-button{ display:none; }
.cart-drawer__empty{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; padding:2rem; text-align:center; }
.cart-drawer__empty[hidden]{display:none}
.cart-drawer__foot{ border-top:2px solid var(--forest); padding:1.1rem 1.25rem 1.25rem; background:var(--cream); }
.cart-drawer__value-note{ display:flex; align-items:center; gap:.5rem; font-size:.85rem; font-weight:700; background:var(--sand); border-radius:var(--radius-sm); padding:.6rem .8rem; }
.cart-drawer__value-note svg{ width:1.2em; height:1.2em; flex:none; color:var(--clay); }
.cart-drawer__subtotal{ display:flex; justify-content:space-between; align-items:baseline; font-size:1.1rem; margin:.9rem 0 .2rem; }
.cart-drawer__note{ font-size:.8rem; opacity:.7; margin-bottom:.9rem; }
.cart-drawer__foot .btn + .btn{ margin-top:.6rem; }

.search-drawer__form{ display:flex; gap:.5rem; padding:1.25rem; }
.search-drawer__form input{
  flex:1; border:2px solid var(--forest); border-radius:999px; padding:.85rem 1.2rem; background:#fff;
}
.search-drawer__form input:focus{ outline:3px solid var(--gold); }
.search-drawer__form .btn{ border-radius:999px; padding:.85rem 1.2rem; }
.search-drawer__popular-label{ padding:0 1.25rem; font-size:.8rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }
.search-drawer__popular{ display:flex; flex-wrap:wrap; gap:.5rem; padding:.6rem 1.25rem; }
.search-drawer__popular a{
  border:2px solid var(--forest); border-radius:999px; padding:.45rem 1rem;
  text-decoration:none; font-size:.88rem; font-weight:700; background:#fff;
}
.search-drawer__popular a:hover{ background:var(--gold); }

/* Toast */
.toast{
  position:fixed; bottom:1.25rem; left:50%; transform:translateX(-50%) translateY(150%);
  z-index:200; background:var(--forest); color:var(--cream);
  padding:.9rem 1.4rem; border-radius:999px; font-weight:700; border:2px solid var(--cream);
  box-shadow:var(--shadow); transition:transform .3s ease; max-width:90vw; text-align:center;
}
.toast.show{ transform:translateX(-50%) translateY(0); }

/* ---------- Hero ---------- */
.hero{ position:relative; overflow:hidden; padding:clamp(2.5rem,6vw,4.5rem) 0; }
.hero__grid{ display:grid; gap:2.5rem; align-items:center; }
@media (min-width:990px){ .hero__grid{ grid-template-columns:1.05fr .95fr; } }
.hero__eyebrow{ margin-bottom:1rem; }
.hero__title{ margin-bottom:1rem; }
.hero__copy{ font-size:1.12rem; max-width:34rem; }
.hero__copy strong{ color:var(--clay); }
.hero__ctas{ display:flex; flex-wrap:wrap; gap:.8rem; margin:1.6rem 0; }
.hero__proof{ display:flex; flex-wrap:wrap; gap:1.2rem; font-size:.88rem; font-weight:700; }
.hero__proof span{ display:inline-flex; align-items:center; gap:.45rem; }
.hero__proof svg{ width:1.1em; height:1.1em; color:var(--clay); }
.hero__media{ position:relative; }
.hero__img-wrap{
  border:3px solid var(--forest); border-radius:46% 54% 52% 48% / 44% 46% 54% 56%;
  overflow:hidden; box-shadow:var(--shadow); aspect-ratio:.92; background:var(--sand);
}
.hero__img-wrap img{ width:100%; height:100%; object-fit:cover; }
.hero__sticker{
  position:absolute; padding:.7rem 1.1rem; border-radius:999px;
  font-weight:800; font-size:.85rem; letter-spacing:.06em;
  border:2.5px solid var(--forest); box-shadow:4px 4px 0 var(--forest);
}
.hero__sticker--a{ top:6%; right:-.6rem; background:var(--gold); color:var(--forest); transform:rotate(6deg); }
.hero__sticker--b{ bottom:10%; left:-.8rem; background:var(--coral); color:#fff; transform:rotate(-7deg); }
.hero__blob{
  position:absolute; z-index:-1; opacity:.5; filter:blur(2px);
}
.grain::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; z-index:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Product cards ---------- */
.product-card{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  overflow:hidden; display:flex; flex-direction:column; position:relative;
  transition:transform .18s ease, box-shadow .18s ease; height:100%;
}
.product-card:hover{ transform:translateY(-5px) rotate(-.4deg); box-shadow:var(--shadow); }
.product-card__media{ position:relative; display:block; aspect-ratio:1; background:var(--sand); overflow:hidden; }
.product-card__img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.product-card:hover .product-card__img{ transform:scale(1.06); }
.product-card__placeholder{ display:flex; align-items:center; justify-content:center; height:100%; color:var(--leaf); }
.product-card__placeholder svg{ width:3.5rem; height:3.5rem; }
.product-card__quickadd{
  position:absolute; bottom:.8rem; right:.8rem; width:3rem; height:3rem; border-radius:50%;
  background:var(--coral); color:#fff; border:2.5px solid var(--forest);
  display:flex; align-items:center; justify-content:center;
  box-shadow:3px 3px 0 var(--forest); transition:transform .15s ease;
}
.product-card__quickadd svg{ width:1.2rem; height:1.2rem; }
.product-card__quickadd:hover{ transform:scale(1.12) rotate(90deg); }
.product-card__info{ padding:1rem 1.1rem 1.2rem; display:flex; flex-direction:column; gap:.45rem; flex:1; }
.product-card__title{ font-size:1.02rem; margin:0; font-family:var(--font-body); font-weight:700; line-height:1.35; }
.product-card__title a{ text-decoration:none; }
.product-card__title a:hover{ color:var(--clay); }
.product-card__lowstock{ margin:0; font-size:.8rem; font-weight:800; color:var(--clay); }
.product-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (min-width:750px){ .product-grid{ grid-template-columns:repeat(3,1fr); gap:1.4rem; } }
@media (min-width:1100px){ .product-grid{ grid-template-columns:repeat(4,1fr); } }

/* ---------- Ritual / collection cards ---------- */
.ritual-grid{ display:grid; gap:1.2rem; grid-template-columns:1fr; }
@media (min-width:650px){ .ritual-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .ritual-grid{ grid-template-columns:repeat(3,1fr); } }
.ritual-card{
  position:relative; display:block; text-decoration:none; overflow:hidden;
  border:2.5px solid var(--forest); border-radius:var(--radius);
  background:var(--forest); color:var(--cream); min-height:22rem;
  transition:transform .18s ease, box-shadow .18s ease;
}
.ritual-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); }
.ritual-card__media{ position:absolute; inset:0; }
.ritual-card__media img{ width:100%; height:100%; object-fit:cover; opacity:.85; transition:transform .5s ease, opacity .3s ease; }
.ritual-card:hover .ritual-card__media img{ transform:scale(1.07); opacity:.95; }
.ritual-card__scrim{ position:absolute; inset:0; background:linear-gradient(to top, rgba(20,42,32,.92) 8%, rgba(20,42,32,.25) 55%, transparent); }
.ritual-card__body{ position:absolute; inset:auto 0 0 0; padding:1.5rem; }
.ritual-card__count{
  display:inline-block; font-size:.72rem; font-weight:800; letter-spacing:.12em;
  background:var(--gold); color:var(--forest); border-radius:999px; padding:.3rem .8rem; margin-bottom:.7rem;
}
.ritual-card__title{ color:var(--cream); margin:0 0 .35rem; font-size:1.7rem; }
.ritual-card__copy{ margin:0 0 .9rem; font-size:.92rem; opacity:.9; }
.ritual-card__link{ display:inline-flex; align-items:center; gap:.5rem; font-weight:800; color:var(--gold); }
.ritual-card__link svg{ width:1.1em; height:1.1em; transition:transform .2s ease; }
.ritual-card:hover .ritual-card__link svg{ transform:translateX(5px); }
.ritual-card--arch{ border-radius:10rem 10rem var(--radius) var(--radius); }

/* ---------- Carousel ---------- */
.carousel{ position:relative; }
.carousel__track{
  display:grid; grid-auto-flow:column; grid-auto-columns:72%;
  gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding:.5rem .25rem 1rem;
  scrollbar-width:none;
}
.carousel__track::-webkit-scrollbar{ display:none; }
.carousel__track > *{ scroll-snap-align:start; }
@media (min-width:750px){ .carousel__track{ grid-auto-columns:31%; } }
@media (min-width:1100px){ .carousel__track{ grid-auto-columns:23%; } }
.carousel__nav{ display:flex; gap:.6rem; margin-top:.4rem; }
.carousel__btn{
  width:3rem; height:3rem; border-radius:50%; border:2.5px solid var(--forest);
  background:var(--cream); display:inline-flex; align-items:center; justify-content:center;
  transition:background .15s ease, transform .15s ease;
}
.carousel__btn svg{ width:1.2rem; height:1.2rem; }
.carousel__btn:hover{ background:var(--gold); transform:scale(1.08); }

/* ---------- Value bundles ---------- */
.bundle-grid{ display:grid; gap:1.2rem; grid-template-columns:1fr; }
@media (min-width:800px){ .bundle-grid{ grid-template-columns:repeat(3,1fr); } }
.bundle-card{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  padding:1.6rem; display:flex; flex-direction:column; gap:.7rem; position:relative;
  transition:transform .18s ease, box-shadow .18s ease;
}
.bundle-card:hover{ transform:translateY(-5px) rotate(.4deg); box-shadow:var(--shadow); }
.bundle-card--featured{ background:var(--forest); color:var(--cream); }
.bundle-card--featured .bundle-card__title{ color:var(--cream); }
.bundle-card__flag{
  position:absolute; top:-1rem; left:1.2rem; background:var(--coral); color:#fff;
  font-size:.72rem; font-weight:800; letter-spacing:.1em; padding:.4rem .9rem;
  border-radius:999px; border:2px solid var(--forest); box-shadow:3px 3px 0 var(--forest);
  transform:rotate(-3deg);
}
.bundle-card__title{ margin:0; font-size:1.45rem; }
.bundle-card__copy{ font-size:.95rem; opacity:.9; margin:0; }
.bundle-card__includes{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.4rem; font-size:.9rem; }
.bundle-card__includes li{ display:flex; gap:.55rem; align-items:flex-start; }
.bundle-card__includes svg{ width:1.1em; height:1.1em; flex:none; margin-top:.2em; color:var(--leaf); }
.bundle-card--featured .bundle-card__includes svg{ color:var(--gold); }
.bundle-card__price-row{ display:flex; align-items:baseline; gap:.7rem; margin-top:auto; padding-top:.6rem; }
.bundle-card__was{ text-decoration:line-through; opacity:.6; }
.bundle-card__now{ font-family:var(--font-display); font-size:1.8rem; font-weight:700; color:var(--clay); }
.bundle-card--featured .bundle-card__now{ color:var(--gold); }
.bundle-card__save{ margin-left:auto; }

/* ---------- Ingredient spotlight ---------- */
.ing-grid{ display:grid; gap:1rem; grid-template-columns:repeat(2,1fr); }
@media (min-width:800px){ .ing-grid{ grid-template-columns:repeat(3,1fr); } }
.ing-card{
  background:var(--cream); border:2.5px solid var(--forest); border-radius:var(--radius);
  padding:1.5rem; transition:transform .18s ease;
}
.ing-card:hover{ transform:rotate(-1deg) scale(1.02); }
.ing-card__icon{
  width:3.2rem; height:3.2rem; border-radius:50%; background:var(--gold);
  border:2px solid var(--forest); display:flex; align-items:center; justify-content:center; margin-bottom:1rem;
}
.ing-card__icon svg{ width:1.5rem; height:1.5rem; color:var(--forest); }
.ing-card__title{ margin:0 0 .4rem; font-size:1.3rem; }
.ing-card__copy{ font-size:.92rem; margin:0; }
.ing-card__copy strong{ color:var(--clay); }
.no-list{
  margin-top:2rem; border:2.5px dashed var(--forest); border-radius:var(--radius);
  padding:1.4rem 1.6rem; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-items:center;
  background:color-mix(in srgb, var(--cream) 60%, transparent);
}
.no-list__label{ font-weight:800; letter-spacing:.08em; font-size:.8rem; text-transform:uppercase; }
.no-list span:not(.no-list__label){ display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.92rem; }
.no-list svg{ width:1em; height:1em; color:var(--clay); }

/* ---------- UGC testimonials ---------- */
.ugc-grid{ display:grid; gap:1.2rem; grid-template-columns:1fr; }
@media (min-width:700px){ .ugc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .ugc-grid{ grid-template-columns:repeat(3,1fr); } }
.ugc-card{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  padding:1.5rem; display:flex; flex-direction:column; gap:.8rem; position:relative;
  transition:transform .18s ease;
}
.ugc-card:nth-child(odd){ transform:rotate(-.8deg); }
.ugc-card:nth-child(even){ transform:rotate(.8deg); }
.ugc-card:hover{ transform:rotate(0) scale(1.02); box-shadow:var(--shadow); }
.ugc-card__top{ display:flex; align-items:center; gap:.8rem; }
.ugc-card__avatar{
  width:3rem; height:3rem; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:700; font-size:1.2rem; color:var(--cream);
  border:2px solid var(--forest);
}
.ugc-card__name{ font-weight:800; margin:0; font-size:.95rem; }
.ugc-card__handle{ margin:0; font-size:.82rem; opacity:.65; }
.ugc-card__quote{ font-size:1rem; margin:0; flex:1; }
.ugc-card__quote strong{ color:var(--clay); }
.ugc-card__foot{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.ugc-card__product{ font-size:.8rem; font-weight:700; background:var(--sand); border-radius:999px; padding:.3rem .8rem; }

/* ---------- Brand story ---------- */
.story__grid{ display:grid; gap:2.5rem; align-items:center; }
@media (min-width:990px){ .story__grid{ grid-template-columns:.95fr 1.05fr; } }
.story__media{ position:relative; }
.story__img{
  border:3px solid var(--cream); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); transform:rotate(-1.5deg);
}
.story__img img{ width:100%; height:100%; object-fit:cover; aspect-ratio:4/5; }
.stat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.8rem; }
.stat{ text-align:left; }
.stat__num{ font-family:var(--font-display); font-size:clamp(1.8rem,3.5vw,2.6rem); font-weight:700; color:var(--gold); display:block; }
.stat__label{ font-size:.85rem; opacity:.85; }

/* ---------- FAQ ---------- */
.faq-list{ max-width:46rem; margin-inline:auto; display:flex; flex-direction:column; gap:.8rem; }
.faq-item{ background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius-sm); overflow:hidden; }
.faq-item summary{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.1rem 1.3rem; font-weight:800; cursor:pointer; list-style:none; font-size:1.02rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary:hover{ color:var(--clay); }
.faq-item summary .faq-icon{
  flex:none; width:2rem; height:2rem; border-radius:50%; border:2px solid var(--forest);
  display:flex; align-items:center; justify-content:center; transition:transform .25s ease, background .2s ease;
}
.faq-item summary .faq-icon svg{ width:1rem; height:1rem; }
.faq-item[open] summary .faq-icon{ transform:rotate(45deg); background:var(--gold); }
.faq-item__answer{ padding:0 1.3rem 1.3rem; }
.faq-item__answer p{ margin:0; }

/* ---------- Newsletter ---------- */
.newsletter{
  background:var(--forest); color:var(--cream); border-radius:calc(var(--radius) * 1.5);
  padding:clamp(2.2rem,5vw,3.5rem); text-align:center; position:relative; overflow:hidden;
  border:2.5px solid var(--forest);
}
.newsletter h2{ color:var(--cream); }
.newsletter__sub{ opacity:.85; max-width:32rem; margin:0 auto 1.6rem; }
.newsletter__form{ display:flex; gap:.6rem; max-width:30rem; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.newsletter__form input{
  flex:1 1 14rem; border:2px solid var(--cream); background:transparent; color:var(--cream);
  border-radius:999px; padding:.95rem 1.4rem;
}
.newsletter__form input::placeholder{ color:color-mix(in srgb, var(--cream) 60%, transparent); }
.newsletter__form input:focus{ outline:3px solid var(--gold); }
.newsletter__fine{ font-size:.78rem; opacity:.6; margin:1rem 0 0; }
.newsletter__success{ font-weight:800; color:var(--gold); font-size:1.1rem; }
.newsletter__deco{ position:absolute; font-family:var(--font-display); font-style:italic; color:var(--gold); opacity:.35; font-size:5rem; pointer-events:none; }
.newsletter__deco--a{ top:-1rem; left:1rem; transform:rotate(-12deg); }
.newsletter__deco--b{ bottom:-1.5rem; right:1rem; transform:rotate(10deg); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--forest); color:var(--cream); border-top:2.5px solid var(--forest); margin-top:0; }
.footer__top{ display:grid; gap:2rem; padding:3.2rem 0 2.2rem; grid-template-columns:1fr; }
@media (min-width:800px){ .footer__top{ grid-template-columns:1.3fr 1fr 1fr 1fr; } }
.footer__brand p{ opacity:.8; font-size:.95rem; max-width:22rem; }
.footer__logo{ font-family:var(--font-display); font-size:1.7rem; font-weight:700; margin-bottom:.8rem; display:flex; align-items:center; gap:.5rem; }
.footer__logo svg{ width:1.8rem; height:1.8rem; color:var(--gold); }
.footer__logo em{ color:var(--gold); font-style:italic; }
.footer__heading{ font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; font-weight:800; color:var(--gold); margin:0 0 1rem; }
.footer__links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.55rem; }
.footer__links a{ text-decoration:none; opacity:.85; font-size:.95rem; }
.footer__links a:hover{ opacity:1; color:var(--gold); }
.social-row{ display:flex; gap:.6rem; margin-top:1.2rem; }
.social-row .icon-btn{ background:transparent; border-color:var(--cream); color:var(--cream); width:2.5rem; height:2.5rem; }
.social-row .icon-btn:hover{ background:var(--gold); color:var(--forest); border-color:var(--gold); }
.footer__bottom{
  border-top:1px solid color-mix(in srgb, var(--cream) 20%, transparent);
  padding:1.3rem 0; display:flex; flex-wrap:wrap; gap:.8rem 1.5rem; align-items:center; justify-content:space-between;
  font-size:.82rem; opacity:.75;
}
.pay-icons{ display:flex; gap:.4rem; }
.pay-icons span{ border:1px solid color-mix(in srgb, var(--cream) 35%, transparent); border-radius:6px; padding:.2rem .55rem; font-size:.72rem; font-weight:700; }

/* ---------- Product page ---------- */
.product{ padding:clamp(1.5rem,4vw,3rem) 0; }
.product__grid{ display:grid; gap:2.2rem; }
@media (min-width:990px){ .product__grid{ grid-template-columns:1.05fr .95fr; gap:3.5rem; } }
.product__gallery{ position:relative; }
.product__main{
  border:2.5px solid var(--forest); border-radius:var(--radius); overflow:hidden;
  background:#fff; aspect-ratio:1; position:relative;
}
.product__main img{ width:100%; height:100%; object-fit:cover; }
.product__thumbs{ display:flex; gap:.6rem; margin-top:.8rem; overflow-x:auto; padding-bottom:.3rem; }
.product__thumb{
  flex:none; width:4.6rem; height:4.6rem; border-radius:var(--radius-sm); overflow:hidden;
  border:2px solid var(--forest); background:#fff; padding:0; opacity:.65; transition:opacity .15s ease, transform .15s ease;
}
.product__thumb img{ width:100%; height:100%; object-fit:cover; }
.product__thumb--active,.product__thumb:hover{ opacity:1; transform:scale(1.05); }
.product__vendor{ font-size:.8rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--clay); margin:0 0 .5rem; }
.product__title{ font-size:clamp(1.9rem,4vw,2.8rem); margin:0 0 .7rem; }
.product__price-row{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-bottom:.4rem; }
.product__price-row .price{ font-size:1.35rem; }
.product__rating-note{ font-size:.85rem; opacity:.7; margin:0 0 1rem; }
.benefit-list{ list-style:none; margin:1.1rem 0; padding:1.1rem 1.2rem; display:flex; flex-direction:column; gap:.55rem; background:var(--sand); border:2px dashed var(--forest); border-radius:var(--radius-sm); }
.benefit-list li{ display:flex; gap:.6rem; align-items:flex-start; font-weight:600; font-size:.95rem; }
.benefit-list svg{ width:1.15em; height:1.15em; flex:none; margin-top:.15em; color:var(--clay); }
.product__lowstock{
  display:inline-flex; align-items:center; gap:.5rem; margin:0 0 1rem;
  background:var(--coral); color:#fff; font-weight:800; font-size:.85rem;
  padding:.5rem 1rem; border-radius:999px; border:2px solid var(--forest);
  animation:pulse 1.6s ease-in-out infinite;
}
@keyframes pulse{ 50%{ transform:scale(1.04); } }
@media (prefers-reduced-motion: reduce){ .product__lowstock{ animation:none; } }
.product-form{ margin:1.2rem 0; }
.product-form__row{ display:flex; gap:.8rem; align-items:stretch; flex-wrap:wrap; }
.product-form__row .qty{ height:3.4rem; }
.product-form__row .qty button{ width:2.8rem; height:100%; }
.product-form__row .btn{ flex:1 1 12rem; }
.shopify-payment-button{ margin-top:.7rem; }
.product__trust{ display:flex; flex-wrap:wrap; gap:1rem; margin:1.2rem 0; font-size:.85rem; font-weight:700; }
.product__trust span{ display:inline-flex; align-items:center; gap:.45rem; }
.product__trust svg{ width:1.15em; height:1.15em; color:var(--leaf); }
.product__desc{ margin:1.4rem 0; }
.tabs{ margin:1.6rem 0; display:flex; flex-direction:column; gap:.7rem; }
.tab{ border:2.5px solid var(--forest); border-radius:var(--radius-sm); background:#fff; overflow:hidden; }
.tab summary{ display:flex; justify-content:space-between; align-items:center; padding:1rem 1.2rem; font-weight:800; cursor:pointer; list-style:none; }
.tab summary::-webkit-details-marker{ display:none; }
.tab summary:hover{ color:var(--clay); }
.tab__body{ padding:0 1.2rem 1.2rem; font-size:.95rem; }
.tab__body p:last-child{ margin-bottom:0; }
.judgeme-zone{
  margin:1.6rem 0; border:2px dashed var(--forest); border-radius:var(--radius-sm);
  padding:1rem; background:color-mix(in srgb, var(--sand) 55%, transparent); min-height:4rem;
}
.judgeme-zone__label{ font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.55; margin:0 0 .4rem; }
.related{ margin-top:clamp(2.5rem,6vw,4rem); }

/* ---------- Collection page ---------- */
.collection-hero{
  position:relative; overflow:hidden; border-bottom:2.5px solid var(--forest);
  background:var(--forest); color:var(--cream); padding:clamp(2.5rem,6vw,4rem) 0;
}
.collection-hero__bg{ position:absolute; inset:0; opacity:.28; }
.collection-hero__bg img{ width:100%; height:100%; object-fit:cover; }
.collection-hero__content{ position:relative; max-width:44rem; }
.collection-hero h1{ color:var(--cream); margin-bottom:.5rem; }
.collection-hero p{ opacity:.9; margin:0; font-size:1.05rem; }
.toolbar{
  display:flex; flex-wrap:wrap; gap:.8rem 1rem; align-items:center; justify-content:space-between;
  padding:1.2rem 0; border-bottom:2px dashed color-mix(in srgb, var(--forest) 25%, transparent);
  position:sticky; top:var(--header-h,0); z-index:20; background:var(--cream);
}
.toolbar__count{ font-weight:700; font-size:.9rem; }
.toolbar__sort{ display:flex; align-items:center; gap:.6rem; font-size:.9rem; font-weight:700; }
.toolbar__sort select{ border:2px solid var(--forest); border-radius:999px; padding:.55rem 1rem; background:#fff; font-weight:700; }
.chip-row{ display:flex; flex-wrap:wrap; gap:.5rem; padding:1rem 0 .2rem; }
.chip{
  border:2px solid var(--forest); background:#fff; border-radius:999px; padding:.45rem 1rem;
  font-size:.85rem; font-weight:700; text-decoration:none; transition:all .15s ease;
}
.chip:hover{ background:var(--gold); }
.chip--active{ background:var(--forest); color:var(--cream); }
.collection-grid{ padding:1.6rem 0 3.5rem; }
.empty-state{ text-align:center; padding:4rem 1rem; }
.empty-state h2{ margin-bottom:.6rem; }

/* ---------- Cart page ---------- */
.cart-page{ padding:clamp(1.5rem,4vw,3rem) 0 4rem; }
.cart-page__grid{ display:grid; gap:2rem; }
@media (min-width:990px){ .cart-page__grid{ grid-template-columns:1fr 24rem; align-items:start; } }
.cart-page__lines{ display:flex; flex-direction:column; gap:1.2rem; }
.cart-page__line{
  display:grid; grid-template-columns:6.5rem 1fr; gap:1rem;
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius); padding:1rem;
}
.cart-page__summary{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  padding:1.6rem; position:sticky; top:6rem;
}
.cart-page__note textarea{
  width:100%; border:2px solid var(--forest); border-radius:var(--radius-sm);
  padding:.8rem; min-height:5rem; margin-top:1rem; background:var(--cream);
}

/* ---------- Blog / article / search / page / 404 / account ---------- */
.page-wrap{ padding:clamp(2rem,5vw,3.5rem) 0 4rem; }
.page-wrap--narrow{ max-width:46rem; margin-inline:auto; }
.article-card{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  overflow:hidden; text-decoration:none; display:flex; flex-direction:column;
  transition:transform .18s ease;
}
.article-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.article-card__media{ aspect-ratio:16/10; background:var(--sand); overflow:hidden; }
.article-card__media img{ width:100%; height:100%; object-fit:cover; }
.article-card__body{ padding:1.3rem 1.4rem; }
.article-card__date{ font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--clay); }
.article-card__title{ margin:.4rem 0 .5rem; font-size:1.4rem; }
.article-card__title a{ text-decoration:none; }
.article-meta{ display:flex; gap:1rem; font-size:.85rem; opacity:.7; margin-bottom:1.2rem; }
.article-body{ font-size:1.05rem; }
.article-body img{ border-radius:var(--radius); border:2px solid var(--forest); }
.not-found{ text-align:center; padding:5rem 1rem; }
.not-found__code{ font-family:var(--font-display); font-size:clamp(5rem,15vw,10rem); font-weight:800; color:var(--coral); line-height:1; -webkit-text-stroke:2px var(--forest); }
.form-card{
  background:#fff; border:2.5px solid var(--forest); border-radius:var(--radius);
  padding:2rem; max-width:28rem; margin:0 auto;
}
.field{ margin-bottom:1rem; }
.field label{ display:block; font-weight:700; font-size:.88rem; margin-bottom:.35rem; }
.field input{
  width:100%; border:2px solid var(--forest); border-radius:var(--radius-sm);
  padding:.85rem 1rem; background:var(--cream);
}
.field input:focus{ outline:3px solid var(--gold); }
.form-card .btn{ width:100%; margin-top:.4rem; }
.form-links{ text-align:center; margin-top:1rem; font-size:.9rem; }
.form-links a{ color:var(--clay); font-weight:700; }
.account-grid{ display:grid; gap:2rem; }
@media (min-width:800px){ .account-grid{ grid-template-columns:1fr 1fr; } }
.order-table{ width:100%; border-collapse:collapse; font-size:.92rem; }
.order-table th,.order-table td{ text-align:left; padding:.7rem .5rem; border-bottom:2px solid var(--sand); }
.order-table th{ font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; }

/* ---------- Collection list page ---------- */
.list-collections{ display:grid; gap:1.2rem; grid-template-columns:1fr; padding-bottom:3.5rem; }
@media (min-width:700px){ .list-collections{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px){ .list-collections{ grid-template-columns:repeat(3,1fr); } }

/* ---------- Utilities ---------- */
.text-center{ text-align:center; }
.mt-0{ margin-top:0; } .mb-2{ margin-bottom:2rem; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.link-arrow{ display:inline-flex; align-items:center; gap:.5rem; font-weight:800; color:var(--clay); text-decoration:none; }
.link-arrow svg{ width:1.1em; height:1.1em; }

/* Focus visibility */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{
  outline:3px solid var(--gold); outline-offset:2px; border-radius:6px;
}

/* Reveal on scroll */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

@media (max-width:640px){
  .hero__ctas .btn{ flex:1 1 100%; }
  .stat-grid{ grid-template-columns:repeat(3,1fr); gap:.6rem; }
  .toolbar{ position:static; }
}

/* Product tab accordion icons (share FAQ icon treatment) */
.tab summary .faq-icon{
  flex:none; width:2rem; height:2rem; border-radius:50%; border:2px solid var(--forest);
  display:flex; align-items:center; justify-content:center; transition:transform .25s ease, background .2s ease;
}
.tab summary .faq-icon svg{ width:1rem; height:1rem; }
.tab[open] summary .faq-icon{ transform:rotate(45deg); background:var(--gold); }
/*VIB1*/
:root{--bb-orange:#ff6a00;--bb-orange-deep:#c2410c;--bb-teal:#00e5cc;--bb-magenta:#ff2e88;--bb-magenta-deep:#db2777}
.section.hero{position:relative;overflow:hidden;isolation:isolate}
.section.hero::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;background:radial-gradient(38% 42% at 18% 28%,rgba(255,106,0,.38),transparent 70%),radial-gradient(36% 40% at 82% 22%,rgba(0,229,204,.30),transparent 70%),radial-gradient(44% 46% at 58% 82%,rgba(255,46,136,.34),transparent 70%);filter:blur(50px);animation:bb-hero-glow 16s ease-in-out infinite alternate;will-change:transform}
@keyframes bb-hero-glow{0%{transform:translate3d(-4%,-3%,0) scale(1)}50%{transform:translate3d(4%,2%,0) scale(1.1)}100%{transform:translate3d(-2%,4%,0) scale(1.05)}}
.section.hero>*{position:relative;z-index:1}
.hero__title{font-size:clamp(2.5rem,8vw,5.5rem)!important;font-weight:900;line-height:1.02;letter-spacing:-.02em;text-wrap:balance;background:linear-gradient(94deg,var(--bb-orange),var(--bb-magenta));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.hero__title .highlight{background:linear-gradient(94deg,#ffc14d 0%,#ff2e88 55%,#ff8ac2 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;filter:drop-shadow(0 0 14px rgba(255,150,50,.95)) drop-shadow(0 0 48px rgba(255,46,136,.6));-webkit-text-fill-color:transparent}
/*VIB1-END*/
/*VIB2*/
.hero__ctas .btn--pop{box-shadow:0 0 22px rgba(255,106,0,.55),0 10px 26px rgba(255,46,136,.35);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;will-change:transform}
.hero__ctas .btn--pop:hover,.hero__ctas .btn--pop:focus-visible{transform:translateY(-3px) scale(1.02);filter:brightness(1.08);box-shadow:0 0 34px rgba(255,106,0,.8),0 14px 34px rgba(255,46,136,.5)}
.hero__ctas .btn--ghost{transition:transform .22s ease,box-shadow .22s ease}
.hero__ctas .btn--ghost:hover,.hero__ctas .btn--ghost:focus-visible{transform:translateY(-3px);box-shadow:0 0 22px rgba(0,229,204,.45)}
.hero__sticker{animation:bb-sticker-float 5s ease-in-out infinite;will-change:translate}
.hero__sticker--b{animation-delay:-2.5s}
@keyframes bb-sticker-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
/*VIB2-END*/
/*VIB3*/
.marquee{background:linear-gradient(90deg,#160a2e 0%,#3b0f45 50%,#160a2e 100%)!important;border-top:1px solid rgba(255,106,0,.35);border-bottom:1px solid rgba(255,46,136,.35)}
.marquee__item{font-weight:800;letter-spacing:.04em}
.marquee__phrase--0{color:var(--bb-orange)}
.marquee__phrase--1{color:var(--bb-teal)}
.marquee__phrase--2{color:var(--bb-magenta)}
.marquee__sep{color:#fff;opacity:.85;padding:0 .35em}
.marquee__item svg{color:#fff}
.trust-bar{background:linear-gradient(90deg,var(--bb-orange-deep),var(--bb-magenta-deep))!important;color:#fff!important;font-weight:800!important;letter-spacing:.03em;box-shadow:0 4px 24px rgba(255,46,136,.35);position:relative;z-index:2}
.trust-bar span{color:#fff!important;font-weight:800!important}
/*VIB3-END*/
/*VIB4*/
.product-card{transition:transform .28s ease}
.product-card:hover{transform:translateY(-6px)}
.product-card__media{position:relative;transition:box-shadow .28s ease;border-radius:14px}
.product-card:hover .product-card__media{box-shadow:0 20px 44px rgba(255,106,0,.35),0 0 0 2px rgba(255,106,0,.65),0 0 28px rgba(255,106,0,.35)}
.product-card:nth-of-type(even):hover .product-card__media{box-shadow:0 20px 44px rgba(0,229,204,.32),0 0 0 2px rgba(0,229,204,.6),0 0 28px rgba(0,229,204,.32)}
.product-card__media::before,.product-card__media::after{position:absolute;top:10px;z-index:3;display:none;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:6px 10px;border-radius:999px;line-height:1;pointer-events:none;box-shadow:0 4px 14px rgba(0,0,0,.35);white-space:nowrap}
/*VIB4-END*/
/*VIB5*/
.product-card:has(a[href^="/products/pursonic-nourishing-lip-oil-set-3-flavors-of-moisturizing-shine"]) .product-card__media::before,.product-card:has(a[href^="/products/ginseng-pdrn-firming-serum"]) .product-card__media::before,.product-card:has(a[href^="/products/organic-vitamin-a-microcaps-night-cream-brightening-anti-aging-treatment"]) .product-card__media::before,.product-card:has(a[href^="/products/organic-copper-peptide-serum-firming-smoothing"]) .product-card__media::before{display:block;content:"\2605  Bestseller";left:10px;transform:rotate(-4deg);background:linear-gradient(90deg,var(--bb-orange),#ffb300);color:#1a0d02}
/*VIB5-END*/
/*VIB5FIX*/
.product-card:has(a[href*="lip-oil-set-3-flavors"]) .product-card__media::before{display:block;content:"\2605 Bestseller";left:10px;transform:rotate(-4deg);background:linear-gradient(90deg,var(--bb-orange),#ffb300);color:#1a0d02}
.product-card:has(a[href*="ginseng-pdrn-firming"]) .product-card__media::before{display:block;content:"\2605 Bestseller";left:10px;transform:rotate(-4deg);background:linear-gradient(90deg,var(--bb-orange),#ffb300);color:#1a0d02}
/*VIB5FIX-END*/
/*VIB5FIX2*/
.product-card:has(a[href*="vitamin-a-microcaps"]) .product-card__media::before{display:block;content:"\2605 Bestseller";left:10px;transform:rotate(-4deg);background:linear-gradient(90deg,var(--bb-orange),#ffb300);color:#1a0d02}
.product-card:has(a[href*="copper-peptide-serum"]) .product-card__media::before{display:block;content:"\2605 Bestseller";left:10px;transform:rotate(-4deg);background:linear-gradient(90deg,var(--bb-orange),#ffb300);color:#1a0d02}
/*VIB5FIX2-END*/
/*VIB6*/
.product-card:has(a[href*="lip-oil-set-3-flavors"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
.product-card:has(a[href*="ginseng-pdrn-firming"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
.product-card:has(a[href*="vitamin-a-microcaps"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
.product-card:has(a[href*="copper-peptide-serum"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
/*VIB6-END*/
/*VIB6B*/
.product-card:has(a[href*="satin-heatless-curler"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
.product-card:has(a[href*="mineral-baking-soda-free"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
.product-card:has(a[href*="lavender-body-wash"]) .product-card__media::after{display:block;content:"New";right:10px;transform:rotate(4deg);background:linear-gradient(90deg,var(--bb-teal),#7df9ff);color:#062a28}
/*VIB6B-END*/
/*VIB7*/
main .eyebrow{display:inline-block!important;background:var(--bb-orange)!important;color:#1a0d02!important}
main .eyebrow{font-weight:900!important;text-transform:uppercase;letter-spacing:.12em!important;font-size:12px!important}
main .eyebrow{padding:7px 16px!important;border-radius:999px!important;transform:rotate(-1.5deg);box-shadow:0 6px 18px rgba(255,106,0,.4);margin-bottom:14px}
/*VIB7-END*/
/*VIB7B*/
main>section.section:nth-of-type(even) .eyebrow{background:var(--bb-teal)!important;color:#062a28!important}
main>section.section:nth-of-type(3n) .eyebrow{background:var(--bb-magenta)!important;color:#fff!important}
/*VIB7B-END*/
/*VIB8*/
main .section-head h2{font-weight:900;letter-spacing:-.01em}
main .section-head h2::after{content:"";display:block;width:76px;height:6px;margin-top:12px;border-radius:999px;background:linear-gradient(90deg,var(--bb-orange),var(--bb-magenta),var(--bb-teal))}
/*VIB8-END*/
/*VIB9*/
.btn--pop{background:linear-gradient(94deg,var(--bb-orange),var(--bb-magenta))!important;color:#fff!important;border:none!important;font-weight:800;box-shadow:0 8px 24px rgba(255,46,136,.35)}
.btn--pop:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 12px 30px rgba(255,46,136,.5),0 0 24px rgba(255,106,0,.4)}
/*VIB9-END*/
/*VIB10*/
main>section.section--alt{background-image:radial-gradient(70% 100% at 50% 0%,rgba(255,46,136,.09),transparent 70%)}
main>section.section:not(.hero):not(.section--alt):nth-of-type(even){background-image:radial-gradient(70% 100% at 50% 0%,rgba(255,46,136,.05),transparent 70%)}
main>section.section:not(.hero):not(.section--alt):nth-of-type(odd){background-image:radial-gradient(70% 100% at 50% 0%,rgba(0,229,204,.05),transparent 70%)}
.site-footer{position:relative}
.site-footer::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--bb-orange),var(--bb-teal),var(--bb-magenta))}
/*VIB10-END*/
/*VIB11*/
@media (prefers-reduced-motion:reduce){.section.hero::before,.hero__sticker{animation:none}}
@media (prefers-reduced-motion:reduce){.product-card:hover,.hero__ctas .btn--pop:hover,.btn--pop:hover{transform:none}}
@media (max-width:768px){.product-card__media::before,.product-card__media::after{font-size:10px;padding:5px 8px}}
@media (max-width:768px){.section.hero::before{filter:blur(36px)}}
/*VIB11-END*//*HERO-H1-GLOW-FIX: vibrant glowing headline, beige marker removed*/.section.hero .hero__title{font-size:clamp(3rem,9.5vw,7rem)!important;position:relative;z-index:2;filter:drop-shadow(0 2px 18px rgba(255,122,26,.55)) drop-shadow(0 0 70px rgba(255,46,136,.35))}.section.hero .hero__title .highlight::after{display:none!important;content:none!important;background:none!important}.section.hero::before{opacity:.8}@media (max-width:640px){.section.hero .hero__title{font-size:clamp(2.5rem,12vw,4.5rem)!important;line-height:1.06;overflow-wrap:break-word}}
.hero__title{background:linear-gradient(94deg,var(--bb-orange),var(--bb-magenta))!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.hero__title .highlight{background:linear-gradient(94deg,#ffc14d 0%,#ff2e88 55%,#ff8ac2 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;filter:drop-shadow(0 0 14px rgba(255,150,50,.95)) drop-shadow(0 0 48px rgba(255,46,136,.6));-webkit-text-fill-color:transparent!important}
