/* STOVENA v6.85 - gap fix build */
html { background-color: var(--bark); }
/* STOVENA base.css v7.13.1 */
/* ─────────────────────────────────────────────
   STOVENA — base.css
   Shopify Theme Stylesheet
   ───────────────────────────────────────────── */

/* ── RESET & ROOT ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --terra:     #B85C38;
  --terra-dk:  #8F3E22;
  --terra-lt:  #C97A58;
  --linen:     #F2EBE0;
  --linen-dk:  #E5D8C8;
  --linen-mid: #D9C9B4;
  --warm-wht:  #FAF6F0;
  --clay:      #B8926A;
  --sand:      #D4B896;
  --bark:      #3E2410;
  --bark-lt:   #6B4F3A;
  --text:      #2E1F14;
  --text-lt:   #7A6155;
  --sage:      #8A9B7A;
  --sage-dk:   #6E7D61;
  --sage-lt:   #A8B89A;
  --sage-bg:   #F0F3ED;
  --serif:     "Cormorant Garamond", Georgia, serif;
  --sans:      "Jost", sans-serif;
  --num:       "Tenor Sans", Georgia, serif;
  --lora:      "Arapey", Georgia, serif;
  /* Header offset: marquee(32px) + nav(72px) = 104px desktop */
  --header-offset: 104px;
}

html { scroll-behavior: smooth; font-size: 16px; scroll-padding-top: 104px; }
.section-divider { display: none; }

html { overflow-x: hidden; }
body { font-family: var(--sans); background: var(--warm-wht); color: var(--text); }
/* Main content offset for fixed header + marquee */
img  { max-width: 100%; height: auto; display: block; }
a    { color: inherit; }

/* ── TYPOGRAPHY ── */
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 300; margin: 0; }

/* ── HEADER / NAV ── */
.site-header {
  position: relative; width: 100%;
  background: var(--warm-wht);
  border-bottom: 1px solid rgba(196,168,130,0.2);
  transition: box-shadow 0.3s;
}
.header-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 60px; height: 72px; max-width: 1600px; margin: 0 auto;
}
@media (max-width: 600px) {
  .header-inner { height: 56px; padding: 0 16px; }
  /* site-header has no padding-top - inside flex wrapper, marquee handles spacing */
  .nav-logo { font-size: 1.1rem; letter-spacing: 0.22em; }
}
.nav-logo {
  font-family: "Tenor Sans", sans-serif;
  font-size: 1.25rem; letter-spacing: 0.30em;
  text-transform: uppercase; color: var(--terra-dk);
  text-decoration: none; flex-shrink: 0;
  cursor: pointer; transition: color 0.2s, opacity 0.2s;
}
.nav-logo:hover { opacity: 0.72; color: var(--terra); }
.nav-logo:visited { color: var(--terra-dk); }
.nav-links-wrap { display: flex; flex: 1; justify-content: center; }
.nav-links { display: flex; gap: 32px; list-style: none; align-items: center; }
.nav-link {
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text);
  text-decoration: none; position: relative; transition: color 0.2s;
}
.nav-link::after {
  content: ""; position: absolute; bottom: -3px; left: 0;
  width: 0; height: 1px; background: var(--terra); transition: width 0.3s;
}
.nav-link:hover { color: var(--terra); }
.nav-link:hover::after { width: 100%; }
.nav-link.nav-link--active { color: var(--terra); }
.nav-link.nav-link--active::after { width: 100%; }
.nav-cta {
  background: var(--terra) !important; color: var(--warm-wht) !important;
  padding: 9px 18px; border-radius: 2px; transition: background 0.2s !important;
}
.nav-cta:hover { background: var(--terra-dk) !important; }
.nav-cta::after { display: none !important; }

/* Nav right group (cart + hamburger) */
.nav-right { display: flex; align-items: center; gap: 16px; }

/* Cart button */
.nav-cart {
  position: relative; display: flex; align-items: center;
  color: var(--bark); text-decoration: none; background: none; border: none; cursor: pointer;
  transition: color 0.2s; padding: 4px; outline: none;
}
.nav-cart:focus-visible { outline: none; }
.nav-cart:hover { color: var(--terra); }
.nav-cart svg { display: block; }
.cart-badge {
  position: absolute; top: -4px; right: -6px;
  background: var(--terra); color: var(--warm-wht);
  font-size: 0.52rem; font-weight: 600; letter-spacing: 0.04em;
  min-width: 16px; height: 16px; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 4px; line-height: 1;
}

/* Hamburger */
.nav-hamburger {
  display: none; flex-direction: column; gap: 5px;
  background: none; border: none; cursor: pointer; padding: 4px;
}
.nav-hamburger span {
  display: block; width: 24px; height: 1.5px; background: var(--bark);
  transition: all 0.3s;
}

/* Mobile nav */
.mobile-nav {
  position: fixed; top: 0; right: -100%; width: 80%; max-width: 320px;
  height: 100vh; background: var(--warm-wht); z-index: 200;
  padding: 110px 36px 36px; transition: right 0.35s ease;
  box-shadow: -8px 0 32px rgba(62,36,16,0.15);
  overflow-y: auto;
}
.mobile-nav.is-open { right: 0; }
.mobile-nav__close {
  position: absolute; top: 24px; right: 24px;
  background: none; border: none; font-size: 1.2rem;
  cursor: pointer; color: var(--text-lt);
}
.mobile-nav__links { list-style: none; display: flex; flex-direction: column; gap: 28px; }
.mobile-nav__links a {
  font-size: 1.1rem; font-weight: 300; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--text); text-decoration: none;
  transition: color 0.2s;
}
.mobile-nav__links a:hover { color: var(--terra); }
.mobile-nav__overlay {
  position: fixed; inset: 0; background: rgba(62,36,16,0.4);
  z-index: 199; opacity: 0; pointer-events: none; transition: opacity 0.35s;
}
.mobile-nav__overlay.is-visible { opacity: 1; pointer-events: auto; }

/* ── BUTTONS ── */
.btn-primary {
  background: var(--terra); color: var(--warm-wht);
  padding: 15px 38px; font-family: var(--sans);
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.16em;
  text-transform: uppercase; border: none; border-radius: 2px;
  cursor: pointer; text-decoration: none; display: inline-block;
  transition: background 0.2s, transform 0.2s;
}
.btn-primary:hover { background: var(--terra-dk); transform: translateY(-2px); }
.btn-ghost {
  color: var(--bark); font-size: 0.7rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  border-bottom: 1px solid var(--clay); padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s; background: none;
}
.btn-ghost:hover { color: var(--terra); border-color: var(--terra); }
.btn-linen {
  background: var(--linen); color: var(--bark); padding: 14px 38px;
  font-family: var(--sans); font-size: 0.7rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase; border: none;
  border-radius: 2px; cursor: pointer; text-decoration: none;
  display: inline-block; transition: background 0.2s; position: relative; z-index: 1;
}
.btn-linen:hover { background: var(--linen-dk); }
.btn-terra {
  display: inline-block; font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  padding: 12px 24px; background: var(--terra); color: var(--warm-wht);
  text-decoration: none; transition: background 0.2s;
}
.btn-terra:hover { background: var(--terra-dk); }

/* ── SECTION UTILITIES ── */
section { scroll-margin-top: 72px; }
.section-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra); margin-bottom: 14px;
  display: flex; align-items: center; gap: 10px;
}
.section-eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--terra); }
.section-about .section-eyebrow::before { display: none; }
.systems-overview .section-eyebrow::before { display: none; }
.systems-overview__header { text-align: center; }
.systems-overview__header .section-body { margin: 0 auto; max-width: 780px; }
.section-title {
  font-family: var(--serif); font-size: clamp(1.9rem, 3.2vw, 2.9rem);
  font-weight: 300; color: var(--bark); line-height: 1.18; margin-bottom: 18px;
}
.section-title em { font-style: italic; color: var(--terra); }
.section-body { font-size: 0.91rem; font-weight: 300; line-height: 1.9; color: var(--text-lt); max-width: 900px; }

/* ── HERO ── */
.hero {
  min-height: auto; display: grid; grid-template-columns: 1fr 1fr;
  padding-top: 72px;
}
.hero-left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 72px 64px 72px 80px; background: var(--warm-wht);
}
.hero-eyebrow {
  font-size: 0.65rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra);
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 30px;
  opacity: 0; animation: fadeUp 0.8s ease 0.2s forwards;
}
.hero-eyebrow::before { display: none; }
.hero-title {
  font-family: var(--serif);
  font-size: clamp(3rem, 5.2vw, 4.8rem);
  font-weight: 300; line-height: 1.08; color: var(--bark); margin-bottom: 32px;
  opacity: 0; animation: fadeUp 0.8s ease 0.4s forwards;
}
.hero-title em { font-style: italic; color: var(--terra); }
.hero-body {
  font-size: 0.94rem; font-weight: 300; line-height: 1.9;
  color: var(--text-lt); max-width: 400px; margin-bottom: 48px;
  opacity: 0; animation: fadeUp 0.8s ease 0.6s forwards;
}
.hero-actions {
  display: flex; gap: 22px; align-items: center;
  opacity: 0; animation: fadeUp 0.8s ease 0.8s forwards;
}



.hero-right {
  background: var(--linen-dk); position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; animation: fadeIn 1.2s ease 0.3s forwards;
  min-height: 520px;
}
.hero-right::before {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 30% 70%, rgba(184,92,56,0.1) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 20%, rgba(196,168,130,0.15) 0%, transparent 55%);
  z-index: 0;
}
.hero-jar-img {
  position: relative; z-index: 1;
  width: 78%; max-width: 440px; height: 100%;
  object-fit: contain; padding: 40px 0;
}
.hero-illustration-placeholder {
  position: relative; z-index: 1;
  width: 72%; max-width: 400px; padding: 40px 0;
}
.hero-illustration-placeholder svg { width: 100%; height: auto; }
.hero-badge {
  position: absolute; bottom: 44px; right: 40px; z-index: 2;
  background: var(--terra); color: var(--warm-wht);
  padding: 22px 26px; border-radius: 3px;
  box-shadow: 0 10px 36px rgba(184,92,56,0.35);
  opacity: 0; animation: fadeUp 0.8s ease 1.2s forwards;
}
.hero-badge-num {
  font-family: var(--serif); font-size: 2.2rem;
  font-weight: 300; line-height: 1; display: block;
}
.hero-badge-txt {
  font-size: 0.58rem; font-weight: 400; letter-spacing: 0.14em;
  text-transform: uppercase; opacity: 0.75; margin-top: 5px; display: block;
}

/* ── MARQUEE ── */
.marquee-strip {
  position: relative; width: 100%;
  height: 32px; overflow: hidden; white-space: nowrap;
  display: flex; align-items: center;
  background: var(--bark); color: var(--linen);
}
.marquee-track { display: flex; overflow: hidden; width: 100%; }
.marquee-inner { display: flex; flex-shrink: 0; white-space: nowrap; animation: marquee 34s linear infinite; }
.marquee-static { animation: none; justify-content: center; }
/* marquee offset handled inline by theme.liquid */
.marquee-item {
  display: inline-block; font-size: 0.62rem; font-weight: 400;
  letter-spacing: 0.18em; text-transform: uppercase; padding: 0 28px; opacity: 0.85;
}
.marquee-sep {
  display: inline-flex; align-items: center; font-size: 1rem; line-height: 1; opacity: 0.5;
}

/* ── SHOP ── */
.shop-header .section-eyebrow { justify-content: center; }
.shop-header .section-eyebrow::before { display: none; }
.section-shop { padding: 120px 80px; background: var(--warm-wht); }
.shop-header {
  display: flex; flex-direction: column; align-items: center;
  text-align: center;
  margin-bottom: 64px; gap: 20px;
}
.shop-header-left { max-width: 800px; }
.products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.product-card {
  background: var(--linen); border-radius: 4px; overflow: hidden;
  cursor: pointer; transition: transform 0.35s, box-shadow 0.35s;
}
.product-card:hover { transform: translateY(-7px); box-shadow: 0 24px 56px rgba(62,36,16,0.12); }
.product-visual {
  height: 240px; position: relative; display: flex;
  align-items: center; justify-content: center; overflow: hidden;
}
.pv-pantry  { background: #e8d5bc; }
.pv-spice   { background: #dfc4a8; }
.pv-fridge  { background: #ccd8cc; }
.pv-freezer { background: #c8d4e0; }
.pv-laundry { background: #ddd0c4; }
.pv-bathroom { background: #d4cec8; }
.pv-bath    { background: linear-gradient(145deg,#dce0d8,#c8cec4); }
.p-tag {
  position: absolute; top: 14px; left: 14px;
  background: var(--terra); color: var(--warm-wht);
  font-size: 0.56rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; padding: 5px 10px; border-radius: 2px;
}
.card-jars { display: flex; gap: 7px; align-items: flex-end; padding: 16px; }
.cj {
  border-radius: 2px 2px 4px 4px; background: rgba(255,255,255,0.65);
  border: 1px solid rgba(196,168,130,0.4); position: relative; flex-shrink: 0;
}
.cj::before {
  content: ""; position: absolute; top: -7px; left: 50%;
  transform: translateX(-50%); background: var(--clay);
  border-radius: 2px; width: 60%; height: 7px;
}
.cj-fill { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 0 0 3px 3px; }
.f-terra  { background: rgba(184,92,56,0.22); }
.f-sand   { background: rgba(212,184,150,0.3); }
.f-rust   { background: rgba(156,74,43,0.2); }
.f-linen  { background: rgba(240,224,200,0.45); }
.product-info { padding: 24px; }
.product-name { font-family: var(--serif); font-size: 1.22rem; font-weight: 400; color: var(--bark); margin-bottom: 8px; }
.product-desc { font-size: 0.82rem; font-weight: 300; line-height: 1.78; color: var(--text-lt); margin-bottom: 20px; }
.product-footer { display: flex; justify-content: space-between; align-items: center; }
.product-price { font-family: var(--serif); font-size: 1.1rem; color: var(--terra); }
.product-link {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--bark); border-bottom: 1px solid var(--clay); padding-bottom: 2px;
  background: none; border-top: none; border-left: none; border-right: none;
  cursor: pointer; text-decoration: none; transition: color 0.2s, border-color 0.2s;
}
.product-link:hover { color: var(--terra); border-color: var(--terra); }

/* ── ABOUT ── */
.section-about { display: grid; grid-template-columns: 1fr 1fr; }
.about-visual {
  background: var(--linen-dk); min-height: 560px; position: relative;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.about-arch {
  position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 260px; height: 330px;
  background: rgba(184,92,56,0.1); border-radius: 130px 130px 0 0;
}
.about-card {
  position: relative; z-index: 1; background: var(--terra);
  color: var(--warm-wht); padding: 44px 40px; max-width: 320px;
  border-radius: 3px; box-shadow: 0 14px 44px rgba(62,36,16,0.22);
}
.about-quote {
  font-family: var(--serif); font-size: 1.42rem; font-weight: 300;
  line-height: 1.55; font-style: italic; margin-bottom: 24px;
}
.about-attr { font-size: 0.6rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; opacity: 0.6; }
.about-content {
  padding: 80px 80px 80px 64px;
  display: flex; flex-direction: column; justify-content: center;
  background: var(--warm-wht);
}
.pillars { margin-top: 44px; display: flex; flex-direction: column; gap: 30px; }
.pillar { display: flex; gap: 20px; align-items: flex-start; }
.pillar-num {
  font-family: var(--num); font-size: 2rem; font-weight: 300;
  color: var(--linen-mid); line-height: 1; flex-shrink: 0; width: 36px;
}
.pillar-title { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--terra); margin-bottom: 6px; }
.pillar-text { font-size: 0.87rem; font-weight: 300; line-height: 1.8; color: var(--text-lt); }

/* ── SERVICES ── */
.section-services { background: var(--linen); padding: 120px 80px; }
.services-header { text-align: center; max-width: 960px; margin: 0 auto 72px; }
.services-header .section-eyebrow { justify-content: center; }
.services-header .section-eyebrow::before { display: none; }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin-bottom: 56px; }
.services-grid .service-card:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
.services-grid .service-card:last-child:nth-child(3n+2) { grid-column: span 2; }

/* Homepage services callout */
.hs-services {
  background: var(--bark);
  padding: 56px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.hs-services__eyebrow {
  display: block;
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(250,246,240,0.4);
  margin-bottom: 18px;
}
.hs-services__heading {
  font-family: var(--serif);
  font-size: clamp(2rem, 3.2vw, 3.4rem);
  font-weight: 300;
  color: var(--linen);
  line-height: 1.1;
  max-width: 1200px;
  margin-bottom: 28px;
  white-space: nowrap;
}
.hs-services__heading em {
  font-style: italic;
  color: var(--linen);
}
.hs-services__body {
  font-family: var(--sans);
  font-size: 0.88rem;
  font-weight: 300;
  line-height: 1.9;
  color: rgba(250,246,240,0.6);
  max-width: 1000px;
  margin-bottom: 36px;
}
.hs-services__btn {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bark);
  background: var(--linen);
  padding: 16px 36px;
  transition: background 0.2s, color 0.2s;
}
.hs-services__btn:hover { background: var(--terra); color: var(--warm-wht); }
@media (max-width: 768px) {
  .hs-services { padding: 56px 24px; }
}
.service-card {
  background: var(--warm-wht); padding: 44px 32px;
  position: relative; overflow: hidden; transition: background 0.3s;
}
.service-card::after {
  content: ""; position: absolute; bottom: 0; left: 0;
  width: 0; height: 3px; background: var(--terra); transition: width 0.4s;
}
.service-card:hover::after { width: 100%; }
.service-card:hover { background: var(--linen-dk); }
.svc-num {
  font-family: var(--num); font-size: 3.5rem; font-weight: 300;
  color: var(--linen-mid); line-height: 1; margin-bottom: 20px; display: block;
}
.svc-name { font-family: var(--serif); font-size: 1.28rem; font-weight: 400; color: var(--bark); margin-bottom: 12px; }
.svc-desc { font-size: 0.84rem; font-weight: 300; line-height: 1.8; color: var(--text-lt); margin-bottom: 20px; }
.svc-list { list-style: none; display: flex; flex-direction: column; }
.svc-list li {
  font-size: 0.82rem; font-weight: 300; color: var(--text-lt);
  padding: 8px 0;
  border-bottom: 1px solid var(--linen-mid);
  display: block;
}
.svc-list li:first-child { border-top: 1px solid var(--linen-mid); }
.services-cta {
  background: var(--bark); color: var(--linen);
  padding: 56px 48px; border-radius: 4px; text-align: center;
  position: relative; overflow: hidden;
}
.services-cta::before {
  content: ""; position: absolute; top: -60px; right: -60px;
  width: 220px; height: 220px; background: rgba(184,92,56,0.18); border-radius: 50%;
}
.cta-title { font-family: var(--serif); font-size: 2rem; font-weight: 300; margin-bottom: 12px; position: relative; z-index: 1; }
.cta-text {
  font-size: 0.9rem; font-weight: 300; opacity: 0.7;
  margin-bottom: 32px; line-height: 1.75; max-width: 400px;
  margin-left: auto; margin-right: auto; position: relative; z-index: 1;
}

/* ── WAITLIST ── */
.waitlist-strip {
  background: var(--terra); color: var(--warm-wht);
  padding: 64px 80px; display: flex; align-items: center;
  justify-content: space-between; gap: 48px; position: relative; overflow: hidden;
}
.waitlist-strip::before {
  content: ""; position: absolute; top: -80px; right: 10%;
  width: 340px; height: 340px; background: rgba(255,255,255,0.07); border-radius: 50%;
}
.waitlist-left { flex: 1; max-width: 460px; position: relative; z-index: 1; }
.waitlist-title { font-family: var(--serif); font-size: 2rem; font-weight: 300; margin-bottom: 10px; }
.waitlist-brand { font-family: var(--sans); font-weight: 400; letter-spacing: 0.18em; }
.waitlist-sub { font-size: 0.88rem; font-weight: 300; opacity: 0.78; line-height: 1.75; }
.waitlist-form { display: flex; flex: 1; max-width: 440px; position: relative; z-index: 1; flex-wrap: nowrap; align-items: stretch; }
.waitlist-form form { display: none; }
.waitlist-input {
  flex: 1; padding: 16px 20px;
  border: 1px solid rgba(255,255,255,0.3); border-right: none;
  border-radius: 2px 0 0 2px; font-family: var(--sans);
  font-size: 0.88rem; font-weight: 300;
  background: rgba(255,255,255,0.1); color: var(--warm-wht);
  outline: none; transition: border-color 0.2s;
  min-width: 0;
}
.waitlist-input::placeholder { color: rgba(255,255,255,0.45); }
.waitlist-input:focus { border-color: rgba(255,255,255,0.65); }
.waitlist-btn {
  background: var(--linen); color: var(--bark); padding: 16px 26px;
  border: none; border-radius: 0 2px 2px 0; font-family: var(--sans);
  font-size: 0.7rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; cursor: pointer; white-space: nowrap;
  transition: background 0.2s;
}
.waitlist-btn:hover { background: var(--warm-wht); }

/* ── CONTACT ── */
.section-contact {
  padding: 120px 80px; background: var(--warm-wht);
  display: grid; grid-template-columns: 1fr 1.2fr; gap: 80px; align-items: start;
}
.contact-details { margin-top: 40px; display: flex; flex-direction: column; gap: 22px; }
.contact-item { display: flex; gap: 18px; }
.contact-label {
  font-size: 0.6rem; font-weight: 600; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--terra); width: 72px; flex-shrink: 0; padding-top: 2px;
}
.contact-val { font-size: 0.9rem; font-weight: 300; color: var(--text); line-height: 1.65; }
.contact-val a { color: var(--terra); text-decoration: none; }
.contact-form { display: flex; flex-direction: column; gap: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 7px; }
.form-label { font-size: 0.63rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-lt); }
.form-input, .form-select, .form-textarea {
  padding: 12px 14px; border: 1px solid var(--linen-mid); border-radius: 2px;
  font-family: var(--sans); font-size: 0.88rem; font-weight: 300;
  background: var(--warm-wht); color: var(--text); outline: none;
  transition: border-color 0.2s; width: 100%; -webkit-appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color: var(--terra); }
.form-textarea { min-height: 80px; resize: vertical; }
.form-success {
  background: rgba(184,92,56,0.08); border-left: 3px solid var(--terra);
  padding: 16px 20px; border-radius: 2px;
}
.form-success p { font-size: 0.9rem; font-weight: 300; color: var(--terra); }

/* ── FOOTER ── */
/* Footer trust bar */
.footer-trust-bar {
  background: linear-gradient(to right, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.1) 30%, rgba(0,0,0,0.1) 70%, rgba(0,0,0,0.35) 100%);
  border-top: 1px solid rgba(242,235,224,0.12);
  border-bottom: 1px solid rgba(242,235,224,0.15);
  padding: 14px 80px;
}
.footer-trust-inner {
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
}
.footer-trust-item {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--sans); font-size: 0.73rem; font-weight: 400;
  letter-spacing: 0.04em; color: rgba(242,235,224,0.8);
  line-height: 1.4; white-space: nowrap;
}
.footer-trust-item svg { opacity: 0.8; flex-shrink: 0; width: 22px; height: 22px; }

/* Footer main */
.site-footer { background: var(--bark); color: var(--linen); padding: 0; }
.footer-top {
  display: grid; grid-template-columns: 1.8fr 1fr 1fr 1.8fr;
  gap: 64px; padding: 56px 80px 52px;
  border-bottom: 1px solid rgba(242,235,224,0.08);
}
.footer-col { padding: 0; }
.footer-col:first-child { padding: 0; }
.footer-col:nth-child(2) { padding-left: 40px; }
.footer-col:last-child { padding: 0; }
.footer-col:first-child { padding: 0; }
.footer-col:last-child { padding: 0; }
.footer-col--newsletter .footer-newsletter-text,
.footer-col--newsletter .footer-col-title { max-width: 340px; }
.footer-col--brand { display: flex; flex-direction: column; }
.footer-logo {
  font-family: "Tenor Sans", sans-serif; font-size: 1.25rem;
  letter-spacing: 0.30em; text-transform: uppercase;
  color: var(--linen); text-decoration: none; display: inline-block;
  cursor: pointer; transition: opacity 0.2s; margin-bottom: 10px;
}
.footer-logo:hover { opacity: 0.72; }
.footer-logo:visited { color: var(--linen); }
.footer-logo-rule { width: 100%; height: 1px; background: rgba(196,168,130,0.35); margin-bottom: 18px; }
.footer-tagline {
  font-size: 0.84rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.75); margin-bottom: 20px;
}
.footer-socials { display: flex; flex-direction: row; gap: 8px; flex-wrap: wrap; }
.footer-social-btn {
  display: inline-flex; align-items: center; justify-content: center;
  color: rgba(242,235,224,0.7); background: rgba(242,235,224,0.06);
  border: 1px solid rgba(242,235,224,0.15); border-radius: 2px;
  width: 36px; height: 36px; text-decoration: none;
  transition: all 0.2s;
}
.footer-social-btn:hover { color: var(--linen); background: rgba(242,235,224,0.12); border-color: rgba(242,235,224,0.25); }
.footer-col-title {
  display: block; font-family: var(--sans); font-size: 0.65rem; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--linen); margin-bottom: 22px;
}
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.footer-links a {
  font-size: 0.84rem; font-weight: 300;
  color: rgba(242,235,224,0.75); text-decoration: none; transition: color 0.2s;
}
.footer-links a:hover { color: var(--linen); }
.footer-newsletter-text {
  font-size: 0.82rem; font-weight: 300; line-height: 1.75;
  color: rgba(242,235,224,0.75); margin-bottom: 16px;
}
.footer-signup { display: flex; flex-direction: row; gap: 0; margin-bottom: 0; max-width: 340px; }
.footer-signup-input {
  flex: 1; background: rgba(242,235,224,0.07);
  border: 1px solid rgba(242,235,224,0.2); border-right: none;
  border-radius: 2px 0 0 2px; padding: 11px 14px;
  font-family: var(--sans); font-size: 0.78rem; font-weight: 300;
  color: var(--linen); outline: none; transition: border-color 0.2s;
  box-sizing: border-box; width: auto;
}
.footer-signup-input::placeholder { color: rgba(242,235,224,0.4); }
.footer-signup-input:focus { border-color: rgba(242,235,224,0.4); }
.footer-signup-btn {
  background: var(--terra); border: 1px solid var(--terra);
  border-radius: 0 2px 2px 0; padding: 11px 16px;
  font-family: var(--sans); font-size: 0.6rem;
  font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--warm-wht); cursor: pointer; transition: background 0.2s;
  white-space: nowrap; flex-shrink: 0;
}
.footer-signup-btn:hover { background: var(--terra-dk); border-color: var(--terra-dk); }
.footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  padding: 18px 40px 18px 80px; flex-wrap: wrap; gap: 16px;
}
.footer-copy { font-size: 0.68rem; font-weight: 300; color: rgba(242,235,224,0.45); }
.footer-payments { display: flex; gap: 8px; align-items: center; }
.footer-payment-icon { width: 38px; height: 24px; border-radius: 3px; opacity: 0.8; }
.footer-payments svg { width: 38px; height: 24px; border-radius: 3px; opacity: 0.8; }

/* ── TOAST ── */
.toast {
  position: fixed; bottom: 32px; right: 32px; background: var(--bark);
  color: var(--linen); padding: 16px 22px; border-radius: 3px;
  font-size: 0.82rem; font-weight: 300; line-height: 1.55;
  transform: translateY(80px); opacity: 0; transition: all 0.4s ease;
  z-index: 999; border-left: 3px solid var(--terra); max-width: 300px;
  pointer-events: none;
}
.toast.show { transform: translateY(0); opacity: 1; }

/* ── ANIMATIONS ── */
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.reveal { opacity: 1; transform: none; }
.reveal.visible { opacity: 1; transform: none; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .header-inner { padding: 0 24px; }
  .nav-links-wrap { display: none; }
  .nav-hamburger { display: flex; }
  .nav-cart svg { width: 18px; height: 18px; }
  .hero { grid-template-columns: 1fr; }
  .hero-left { padding: 56px 24px; }
  .hero-right { min-height: 420px; }
  
  .section-shop { padding: 80px 24px; }
  .shop-header { flex-direction: column; align-items: flex-start; }
  .products-grid { grid-template-columns: 1fr 1fr; }
  .section-about { grid-template-columns: 1fr; }
  .about-content { padding: 56px 24px; }
  .section-services { padding: 80px 24px; }
  .services-grid { grid-template-columns: 1fr; }
  .waitlist-strip { flex-direction: column; padding: 56px 24px; }
  .waitlist-form { max-width: 100%; width: 100%; }
  .section-contact { grid-template-columns: 1fr; padding: 80px 24px; gap: 48px; }
  .footer-trust-bar { padding: 16px 24px; }
  .footer-trust-inner { gap: 12px; }
  .site-footer { padding: 48px 24px 0; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; padding-bottom: 40px; }
  .footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .products-grid { grid-template-columns: 1fr; }
  
  .footer-top { grid-template-columns: 1fr; gap: 32px; }
  .footer-trust-inner { flex-direction: column; align-items: flex-start; }
}

/* ── SEARCH OVERLAY ── */
.nav-icon-btn {
  background: none; border: none; cursor: pointer; padding: 4px;
  color: var(--bark); display: flex; align-items: center;
  transition: color 0.2s;
}
.nav-icon-btn:hover { color: var(--terra); }
/* Search — inline expand */
.nav-search {
  display: flex; align-items: center; position: relative;
}
.nav-search__icon {
  background: none; border: none; cursor: pointer; padding: 4px;
  color: var(--text); display: flex; align-items: center;
  transition: color 0.2s;
}
.nav-search__icon:hover { color: var(--terra); }
.nav-search__form {
  display: flex; align-items: center; gap: 8px;
  width: 0; overflow: hidden; opacity: 0;
  transition: width 0.3s ease, opacity 0.2s ease;
  border-bottom: 1px solid var(--linen-mid);
  margin-left: 0;
}
.nav-search.is-open .nav-search__icon { color: var(--terra); }
.nav-search.is-open .nav-search__form {
  width: 220px; opacity: 1; margin-left: 10px;
}
.nav-search__input {
  flex: 1; background: none; border: none; outline: none;
  font-family: var(--sans); font-size: 0.75rem; font-weight: 300;
  letter-spacing: 0.04em; color: var(--bark); padding: 4px 0;
  min-width: 0;
}
.nav-search__input::placeholder { color: var(--linen-mid); }
.nav-search__submit { display: none; }
.nav-search__close {
  background: none; border: none; cursor: pointer;
  color: var(--text-lt); padding: 2px; display: flex; align-items: center;
  transition: color 0.2s; flex-shrink: 0;
}
.nav-search__close:hover { color: var(--bark); }

/* ── ACCOUNT PAGES ── */
.acct-page {
  min-height: 70vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  padding: 80px 24px; background: var(--linen);
}
.acct-page--wide {
  align-items: flex-start; max-width: 1100px; margin: 0 auto;
  width: 100%; justify-content: flex-start;
}
.acct-page__header { margin-bottom: 48px; }
.acct-card {
  background: var(--warm-wht); padding: 56px 52px;
  width: 100%; max-width: 480px;
}
.acct-card--mt { margin-top: 20px; }
.acct-eyebrow { justify-content: flex-start; }
.acct-eyebrow::before { display: none; }
.acct-title {
  font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.6rem);
  font-weight: 300; color: var(--bark); margin: 12px 0 8px;
}
.acct-sub { font-size: 0.88rem; font-weight: 300; color: var(--text-lt); margin-bottom: 36px; }
.acct-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.acct-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.acct-field--check { flex-direction: row; align-items: center; gap: 10px; }
.acct-label { font-size: 0.72rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bark); }
.acct-input {
  padding: 12px 14px; border: 1px solid var(--linen-mid);
  background: var(--linen); font-family: var(--sans); font-size: 0.9rem;
  font-weight: 300; color: var(--bark); outline: none;
  transition: border-color 0.2s; border-radius: 0; width: 100%;
}
.acct-input:focus { border-color: var(--terra); }
.acct-submit { width: 100%; margin-top: 8px; justify-content: center; }
.acct-links { display: flex; align-items: center; gap: 12px; margin-top: 24px; flex-wrap: wrap; }
.acct-link { font-size: 0.8rem; color: var(--terra); text-decoration: none; font-weight: 400; }
.acct-link:hover { text-decoration: underline; }
.acct-link--danger { color: var(--text-lt); }
.acct-divider { color: var(--linen-mid); }
.acct-errors {
  background: #fdf2f2; border: 1px solid #f5c6cb;
  padding: 12px 16px; margin-bottom: 20px;
  font-size: 0.86rem; color: #721c24;
}
.acct-success {
  background: #f0f7f0; border: 1px solid #b8d8b8;
  padding: 12px 16px; margin-bottom: 20px;
  font-size: 0.86rem; color: #2d5a2d;
}
.acct-logout { font-size: 0.78rem; color: var(--text-lt); text-decoration: none; letter-spacing: 0.08em; }
.acct-logout:hover { color: var(--terra); }
.acct-dash { padding: 80px; max-width: 1100px; margin: 0 auto; }
.acct-dash__header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 56px; }
.acct-dash__grid { display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
.acct-section-title { font-family: var(--serif); font-size: 1.2rem; font-weight: 300; color: var(--bark); margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--linen-mid); }
.acct-orders { width: 100%; border-collapse: collapse; font-size: 0.86rem; }
.acct-orders th { text-align: left; font-size: 0.66rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; color: var(--text-lt); padding: 0 12px 12px 0; }
.acct-orders td { padding: 14px 12px 14px 0; border-top: 1px solid var(--linen-mid); color: var(--bark); font-weight: 300; }
.acct-empty { font-size: 0.88rem; font-weight: 300; color: var(--text-lt); }
.acct-status { display: inline-block; font-size: 0.68rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; background: var(--linen); color: var(--bark); }
.acct-status--fulfilled { background: #e8f0e8; color: #2d5a2d; }
.acct-status--unfulfilled { background: #fef3e2; color: #7a4f1a; }
.acct-status-note { font-size: 0.82rem; font-weight: 300; color: var(--text-lt); margin-top: 10px; }
.acct-details { font-size: 0.88rem; font-weight: 300; color: var(--bark); line-height: 1.7; }
.acct-detail-name { font-weight: 400; }
.acct-detail-email { color: var(--text-lt); margin-bottom: 16px; }
.acct-address { margin: 16px 0; padding: 16px; background: var(--linen); }
.acct-address-label { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--terra); margin-bottom: 8px; }
.acct-address address { font-style: normal; line-height: 1.7; }
.acct-addr-text { font-style: normal; font-size: 0.88rem; font-weight: 300; line-height: 1.7; color: var(--bark); }
.acct-addresses { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; margin-bottom: 40px; }
.acct-addr-card { background: var(--warm-wht); padding: 28px; position: relative; }
.acct-addr-card--default { border: 1px solid var(--terra); }
.acct-addr-badge { display: inline-block; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--terra); margin-bottom: 12px; }
.acct-addr-actions { display: flex; gap: 12px; margin-top: 16px; }
.acct-order-grid { display: grid; grid-template-columns: 1fr 300px; gap: 40px; align-items: start; }
.acct-order-item { display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--linen-mid); }
.acct-order-item__img { width: 72px; height: 72px; object-fit: cover; flex-shrink: 0; }
.acct-order-item__info { flex: 1; }
.acct-order-item__name { font-size: 0.9rem; font-weight: 400; color: var(--bark); margin-bottom: 4px; }
.acct-order-item__variant, .acct-order-item__qty { font-size: 0.8rem; font-weight: 300; color: var(--text-lt); }
.acct-order-item__price { font-family: var(--serif); font-size: 1rem; color: var(--bark); flex-shrink: 0; }
.acct-order-totals { padding-top: 24px; }
.acct-order-total-row { display: flex; justify-content: space-between; font-size: 0.88rem; font-weight: 300; color: var(--text-lt); padding: 6px 0; }
.acct-order-total-row--total { font-weight: 500; color: var(--bark); font-size: 1rem; border-top: 1px solid var(--linen-mid); margin-top: 8px; padding-top: 14px; }
@media(max-width:960px){
  .acct-dash { padding: 48px 24px; }
  .acct-dash__grid, .acct-order-grid { grid-template-columns: 1fr; }
  .nav-search.is-open .nav-search__form { width: 160px; }
  .acct-card { padding: 40px 28px; }
}
@media(max-width:600px){
  .acct-field-row { grid-template-columns: 1fr; }
}

/* ============================================================
   V6 HOME PAGE — DUAL HERO
   ============================================================ */
.hero-right--dual {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 6px;
  overflow: hidden;
  padding: 0;
  background: var(--linen-dk);
}
.hero-img-top, .hero-img-bottom {
  overflow: hidden;
  position: relative;
}

/* Placeholder illustrations */
.hero-img-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.hero-img-placeholder--pantry { background: linear-gradient(135deg, #E8DDD0 0%, #D4C4B0 100%); }
.hero-img-placeholder--fridge { background: linear-gradient(135deg, #D8E4E8 0%, #C4D4DA 100%); }
.hip-inner { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.hip-shelf-unit { display: flex; flex-direction: column; gap: 10px; }
.hip-shelf-row { display: flex; gap: 8px; align-items: flex-end; }
.hip-jar { background: rgba(255,255,255,0.7); border: 1px solid rgba(196,168,130,0.5); border-radius: 3px; }
.hip-jar--tall { width: 36px; height: 52px; }
.hip-jar--med  { width: 40px; height: 40px; }
.hip-jar--wide { width: 52px; height: 36px; }
.hip-jar--sm   { width: 28px; height: 32px; }
.hip-divider { height: 3px; background: rgba(196,168,130,0.4); border-radius: 2px; width: 200px; }
.hip-fridge-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.hip-fridge-box { background: rgba(255,255,255,0.65); border: 1px solid rgba(150,180,190,0.4); border-radius: 3px; width: 52px; height: 42px; }
.hip-fridge-box--tall { height: 60px; }
.hip-fridge-box--wide { grid-column: span 2; width: 100%; }
.hip-label {
  font-family: var(--sans); font-size: 0.7rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--bark); opacity: 0.7;
}

/* ============================================================
   V6 HOME PAGE — SYSTEM NAV STRIP
   ============================================================ */
.sys-nav-strip {
  background: var(--warm-wht);
  padding: 40px 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.sys-nav-item {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  text-decoration: none; color: var(--text-lt);
  padding: 20px 32px;
  border-right: 1px solid var(--linen-mid);
  transition: color 0.2s;
  flex: 1;
}
.sys-nav-item:first-child { border-left: 1px solid var(--linen-mid); }
.sys-nav-item:hover { color: var(--terra); }
.sys-nav-icon { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
.sys-nav-icon svg { width: 100%; height: 100%; }
.sys-nav-label { font-family: var(--sans); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.sys-nav-item--all { color: var(--terra); }
.sys-nav-item--all:hover { color: var(--terra-dk); }

/* ============================================================
   V6 HOME PAGE — SYSTEMS PHOTO GRID
   ============================================================ */
.systems-grid-section { background: var(--linen); padding: 80px 80px 72px; }
.systems-grid-header { text-align: center; margin-bottom: 56px; }
.systems-grid-header .section-body { margin: 0 auto; max-width: 680px; }
.systems-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}
.sys-grid-card {
  text-decoration: none; color: var(--text);
  display: flex; flex-direction: column;
  transition: transform 0.25s;
}
.sys-grid-card:hover { transform: translateY(-4px); }
.sys-grid-img {
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 2px;
  background: var(--linen-dk);
  margin-bottom: 16px;
  position: relative;
}
.sys-grid-img img { transition: transform 0.4s; }
.sys-grid-card:hover .sys-grid-img img { transform: scale(1.04); }
.sys-grid-name { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; color: var(--bark); margin-bottom: 4px; }
.sys-grid-sub { font-size: 0.78rem; font-weight: 300; color: var(--text-lt); letter-spacing: 0.04em; }

/* System placeholder illustrations */
.sys-grid-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.sys-grid-placeholder--pantry  { background: linear-gradient(160deg, #E5D8C8 0%, #CDB99A 100%); }
.sys-grid-placeholder--spice   { background: linear-gradient(160deg, #D4C4B0 0%, #C4A882 100%); }
.sys-grid-placeholder--fridge  { background: linear-gradient(160deg, #D8E4E8 0%, #B8CED4 100%); }
.sys-grid-placeholder--freezer { background: linear-gradient(160deg, #D0DCE8 0%, #B0C4D8 100%); }
.sys-grid-placeholder--laundry { background: linear-gradient(160deg, #E0D8D0 0%, #C8BCB0 100%); }
.sys-grid-placeholder--bathroom{ background: linear-gradient(160deg, #E8E0D8 0%, #D4C8BC 100%); }
.sgp-inner { display:flex; flex-direction:column; align-items:center; gap:10px; padding: 16px; }
.sgp-shelf  { display:flex; gap:6px; align-items:flex-end; }
.sgp-jar    { background:rgba(255,255,255,0.65); border:1px solid rgba(196,168,130,0.4); border-radius:2px; }
.sgp-jar--t { width:24px; height:36px; }
.sgp-jar--m { width:28px; height:28px; }
.sgp-jar--w { width:36px; height:24px; }
.sgp-spice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.sgp-spice { width:26px; height:38px; background:rgba(255,255,255,0.65); border:1px solid rgba(196,168,130,0.4); border-radius:3px; }
.sgp-fridge,.sgp-freezer { display:flex; flex-wrap:wrap; gap:5px; width:110px; }
.sgp-fbox,.sgp-fzbox { background:rgba(255,255,255,0.65); border:1px solid rgba(150,180,190,0.4); border-radius:2px; width:48px; height:36px; }
.sgp-fbox--t { height:52px; }
.sgp-fbox--w { width:100%; }
.sgp-fzbox  { width:46px; height:40px; }
.sgp-laundry { display:flex; gap:6px; align-items:flex-end; }
.sgp-lbox { background:rgba(255,255,255,0.65); border:1px solid rgba(196,168,130,0.4); border-radius:2px; width:32px; height:32px; }
.sgp-lbox--tall { height:52px; }
.sgp-bathroom { display:flex; gap:6px; align-items:flex-end; }
.sgp-bjar { background:rgba(255,255,255,0.65); border:1px solid rgba(196,168,130,0.4); border-radius:20px 20px 3px 3px; }
.sgp-bjar--t { width:22px; height:44px; }
.sgp-bjar--m { width:28px; height:36px; }
.sgp-bjar--s { width:18px; height:28px; }

.systems-grid-cta { text-align: center; }

/* ============================================================
   V6 RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .sys-nav-strip { padding: 24px; gap: 0; flex-wrap: wrap; }
  .sys-nav-item { padding: 14px 16px; flex: none; width: 25%; border: none; border-bottom: 1px solid var(--linen-mid); }
  .sys-nav-item:first-child { border-left: none; }
  .systems-grid-section { padding: 56px 24px; }
  .systems-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 600px) {
  .systems-photo-grid { grid-template-columns: 1fr; }
  .sys-nav-item { width: 33.33%; }
}

/* ============================================================
   V6 — DUAL HERO IMAGES
   ============================================================ */
.hero-right--dual {
  display: grid; grid-template-rows: 1fr 1fr;
  gap: 4px; overflow: hidden; padding: 0;
}
.hero-img-top, .hero-img-bottom { overflow: hidden; position: relative; }
.hero-ph { width:100%; height:100%; display:flex; align-items:center; justify-content:center; }
.hero-ph--warm { background: linear-gradient(145deg, #E8DDD0 0%, #CDB99A 100%); }
.hero-ph--cool { background: linear-gradient(145deg, #D8E4E8 0%, #B8CED4 100%); }
.hero-ph-content { display:flex; flex-direction:column; align-items:center; gap:14px; }
.hero-ph-shelf { display:flex; gap:8px; align-items:flex-end; }
.hero-ph-jar { background:rgba(255,255,255,0.72); border:1px solid rgba(196,168,130,0.45); border-radius:3px; }
.hero-ph-jar--tall  { width:34px; height:50px; }
.hero-ph-jar--med   { width:38px; height:38px; }
.hero-ph-jar--wide  { width:50px; height:34px; }
.hero-ph-jar--sm    { width:26px; height:30px; }
.hero-ph-rail { height:3px; width:200px; background:rgba(196,168,130,0.35); border-radius:2px; }
.hero-ph-fridge { display:flex; flex-direction:column; gap:7px; }
.hero-ph-frow { display:flex; gap:7px; }
.hero-ph-fbox { width:50px; height:40px; background:rgba(255,255,255,0.65); border:1px solid rgba(140,175,185,0.4); border-radius:3px; }
.hero-ph-fbox--t { height:56px; }
.hero-ph-fbox--w { width:107px; }
.hero-ph-tag { font-family:var(--sans); font-size:0.62rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase; color:var(--bark); opacity:0.6; }


   V6 — WHAT IS STOVENA
   ============================================================ */














/* ============================================================
   V6 — WHY DIFFERENT
   ============================================================ */









/* ============================================================
   V6 RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  
  
  
  
  
  
}
@media (max-width: 600px) {
  
  
  
  
}

/* ============================================================
   HOW IT WORKS (inlined into index.liquid — needs global CSS)
   ============================================================ */















/* ============================================================
   HERO RIGHT — full-width dual images
   ============================================================ */
.hero-right--dual {
  display: grid !important;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr;
  gap: 3px;
  overflow: hidden;
  padding: 0 !important;
  background: var(--linen-dk);
  align-items: stretch;
}
.hero-img-top,
.hero-img-bottom {
  width: 100%;
  overflow: hidden;
  position: relative;
  display: block;
}
.hero-img-top img,
.hero-img-bottom img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.hero-ph {
  width: 100%; height: 100%; min-height: 200px;
  display: flex; align-items: center; justify-content: center;
}
.hero-ph--warm { background: linear-gradient(145deg, #E5D8C4 0%, #C8B090 100%); }
.hero-ph--cool { background: linear-gradient(145deg, #D4E0E6 0%, #B4C8D2 100%); }
.hero-ph-content { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.hero-ph-shelf { display: flex; gap: 8px; align-items: flex-end; }
.hero-ph-jar { background: rgba(255,255,255,0.72); border: 1px solid rgba(196,168,130,0.4); border-radius: 3px; }
.hero-ph-jar--tall  { width: 34px; height: 50px; }
.hero-ph-jar--med   { width: 38px; height: 38px; }
.hero-ph-jar--wide  { width: 50px; height: 34px; }
.hero-ph-jar--sm    { width: 26px; height: 30px; }
.hero-ph-rail { height: 2px; width: 190px; background: rgba(196,168,130,0.3); border-radius: 2px; }
.hero-ph-fridge { display: flex; flex-direction: column; gap: 7px; }
.hero-ph-frow { display: flex; gap: 7px; }
.hero-ph-fbox { width: 50px; height: 40px; background: rgba(255,255,255,0.6); border: 1px solid rgba(140,175,185,0.35); border-radius: 3px; }
.hero-ph-fbox--t { height: 56px; }
.hero-ph-fbox--w { width: 107px; }
.hero-ph-tag { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: var(--bark); opacity: 0.55; }

/* Remove dash before eyebrows globally */
.section-eyebrow::before { display: none !important; }


/* ============================================================
   RESPONSIVE FIXES
   ============================================================ */
@media (max-width: 960px) {
  
  
  
  .hiw-section, 
  
}
@media (max-width: 600px) {
  
  
  
}


/* ============================================================
   WHAT IS STOVENA — 2×4 then 2×4 grid (8 cards / 2 rows of 3 + 2 extras)
   ============================================================ */
.what-is {
  background: var(--warm-wht);
  padding: 96px 80px 80px;
}
.what-is-header {
  text-align: center;
  margin-bottom: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.what-is-header .section-eyebrow,
.what-is-header .section-title,
.what-is-header .section-body {
  text-align: center;
  width: 100%;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}
.what-is-header .section-body {
  max-width: 860px; margin: 0 auto;
}
.what-is-rooms {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  overflow: hidden;
  margin-bottom: 48px;
}
.wir-card {
  background: var(--warm-wht);
  padding: 36px 32px;
  display: flex; align-items: flex-start; gap: 20px;
  text-decoration: none; color: var(--text);
  border-right: 1px solid var(--linen-mid);
  border-bottom: 1px solid var(--linen-mid);
  transition: background 0.2s;
}
.wir-card:nth-child(3n) { border-right: none; }
.wir-card:nth-last-child(-n+3) { border-bottom: none; }
.wir-card:nth-child(6) ~ .wir-card { display: none; }
.wir-card:hover { background: var(--linen); }
.wir-card--extra { background: var(--linen); }
.wir-card--extra:hover { background: var(--linen-dk); }
.wir-num {
  font-family: var(--num); font-size: 1.5rem; font-weight: 300;
  color: var(--terra); line-height: 1; flex-shrink: 0; min-width: 32px;
  padding-top: 3px;
}
.wir-content { flex: 1; }
.wir-title {
  font-family: var(--serif); font-size: 1.1rem; font-weight: 400;
  color: var(--bark); margin-bottom: 8px;
}
.wir-text {
  font-size: 0.82rem; font-weight: 300; line-height: 1.75; color: var(--text-lt);
}
.what-is-cta { text-align: center; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  
  
  .what-is { padding: 64px 24px; }
  .what-is-rooms { grid-template-columns: 1fr 1fr; }
  .wir-card:nth-child(3n) { border-right: 1px solid var(--linen-mid); }
  .wir-card:nth-child(2n) { border-right: none; }
  .wir-card:nth-last-child(-n+3) { border-bottom: 1px solid var(--linen-mid); }
  .wir-card:nth-last-child(-n+2) { border-bottom: none; }
}
@media (max-width: 600px) {
  
  
  
  .what-is-rooms { grid-template-columns: 1fr; }
  .wir-card { border-right: none; }
  .wir-card:nth-last-child(-n+2) { border-bottom: 1px solid var(--linen-mid); }
  .wir-card:last-child { border-bottom: none; }
}

/* ============================================================
   THE PROBLEM — two-column split
   ============================================================ */
.the-problem {
  background: var(--linen);
  padding: 72px 80px;
}
.problem-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 80px;
  align-items: center;
}
.problem-eyebrow {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 24px;
}
.problem-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 3.4vw, 3.2rem);
  font-weight: 300; line-height: 1.1; color: var(--bark);
  margin: 0 0 28px;
}
.problem-title em { font-style: italic; color: var(--terra); }
.problem-title-terra { color: var(--terra); font-style: italic; }
.problem-body {
  font-size: 0.88rem; font-weight: 300; line-height: 1.9;
  color: var(--text-lt); margin-bottom: 16px;
}
.problem-body-bold {
  font-family: var(--sans); font-size: 0.88rem; font-style: normal;
  font-weight: 300; line-height: 1.9; color: var(--text-lt); margin: 0;
}
.problem-right {
  display: flex; align-items: center; justify-content: center;
}






/* ============================================================
   WHY DIFFERENT — restored white cards, centred header
   ============================================================ */
.why-different {
  background: var(--linen);
  padding: 96px 80px;
}
.why-header {
  text-align: center;
  margin-bottom: 56px;
  padding-top: 8px;
}
.why-eyebrow {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 20px;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.why-card {
  display: flex; flex-direction: column; gap: 20px;
  padding: 36px 28px;
  background: var(--warm-wht);
  border-radius: 2px;
  border: 1px solid rgba(196,168,130,0.15);
}
.why-icon { width: 40px; height: 40px; flex-shrink: 0; color: var(--terra); display: flex; align-items: center; justify-content: center; }
.why-icon svg { width: 40px; height: 40px; display: block; flex-shrink: 0; }
.why-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--bark);
}
.why-text {
  font-size: 0.83rem; font-weight: 300; line-height: 1.8; color: var(--text-lt);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .the-problem { padding: 56px 24px; }
  .problem-split { grid-template-columns: 1fr; gap: 40px; }
  .why-different { padding: 64px 24px; }
  .why-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 600px) {
  .why-grid { grid-template-columns: 1fr; }
  
}

/* ============================================================
   HOW IT WORKS — redesigned
   ============================================================ */
.hiw-section {
  background: var(--warm-wht);
  padding: 96px 80px 80px;
}
.hiw-header {
  text-align: center;
  margin-bottom: 72px;
}
.hiw-eyebrow {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 20px;
}
.hiw-heading {
  font-family: var(--serif); font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--bark); margin: 0;
}
.hiw-heading em { font-style: italic; color: var(--terra); }

.hiw-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-bottom: 64px;
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  overflow: hidden;
}
.hiw-step {
  padding: 40px 32px;
  border-right: 1px solid var(--linen-mid);
  background: var(--warm-wht);
  display: flex; flex-direction: column;
  transition: background 0.2s;
}
.hiw-step:last-child { border-right: none; }

.hiw-step-top {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 24px;
}
.hiw-num {
  font-family: var(--num); font-size: 1.6rem; font-weight: 400;
  color: var(--terra); line-height: 1; flex-shrink: 0;
}
.hiw-line {
  flex: 1; height: 1px; background: var(--linen-mid);
}
.hiw-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400;
  color: var(--bark); margin-bottom: 14px;
}
.hiw-text {
  font-size: 0.83rem; font-weight: 300; line-height: 1.85;
  color: var(--text-lt); flex: 1;
}
.hiw-cta { text-align: center; }

@media (max-width: 960px) {
  .hiw-section { padding: 64px 24px; }
  .hiw-steps { grid-template-columns: 1fr 1fr; }
  .hiw-step:nth-child(2) { border-right: none; }
  .hiw-step:nth-child(1),
  .hiw-step:nth-child(2) { border-bottom: 1px solid var(--linen-mid); }
}
@media (max-width: 600px) {
  .hiw-steps { grid-template-columns: 1fr; }
  .hiw-step { border-right: none; border-bottom: 1px solid var(--linen-mid); }
  .hiw-step:last-child { border-bottom: none; }
}

/* ============================================================
   SOUND FAMILIAR — right column pillars (no numbers)
   ============================================================ */
.problem-pillars {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  overflow: hidden;
}
.problem-pillar {
  background: var(--warm-wht);
  padding: 28px 32px;
  border-bottom: 1px solid var(--linen-mid);
  transition: background 0.2s;
}
.problem-pillar:last-child { border-bottom: none; }
.problem-pillar-title {
  font-family: var(--serif);
  font-size: 1.05rem; font-weight: 400;
  color: var(--bark); display: block;
  margin-bottom: 8px;
}
.problem-pillar-text {
  font-size: 0.82rem; font-weight: 300;
  line-height: 1.75; color: var(--text-lt);
  margin: 0;
}

/* ============================================================
   MOBILE AUDIT — comprehensive 960px + 600px fixes
   ============================================================ */

/* --- HERO --- */
@media (max-width: 960px) {
  .hero { grid-template-columns: 1fr; }
  .hero-left { padding: 48px 24px 40px; }
  .hero-right { min-height: 360px; }
  .hero-right--dual { grid-template-rows: 1fr 1fr; min-height: 360px; }
}
@media (max-width: 600px) {
  .hero-left { padding: 40px 20px 32px; }
  .hero-title { font-size: clamp(2.4rem, 10vw, 3.2rem); }
  .hero-body { font-size: 0.85rem; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost { width: 100%; text-align: center; }
  .hero-right { min-height: 280px; }
  .hero-right--dual { grid-template-rows: 1fr 1fr; min-height: 280px; }
}

/* --- ABOUT (home page) --- */
@media (max-width: 960px) {
  .about-inner { grid-template-columns: 1fr; }
  .about-left { padding: 56px 32px; min-height: auto; }
  .about-right { padding: 48px 32px; }
}
@media (max-width: 600px) {
  .about-left { padding: 40px 20px; }
  .about-right { padding: 36px 20px; }
  .about-card { padding: 28px 20px; }
  .pillar { flex-direction: row; gap: 16px; padding: 20px 0; }
  .pillar-num { font-size: 1.4rem; min-width: 28px; }
}

/* --- SERVICES (home page) --- */
@media (max-width: 960px) {
  .services-grid { grid-template-columns: 1fr 1fr; }
  .service-card { padding: 32px 24px; }
  .services-header { padding: 0 24px; }
}
@media (max-width: 600px) {
  .services-grid { grid-template-columns: 1fr; gap: 2px; }
  .service-card { padding: 28px 20px; }
  .svc-num { font-size: 2.4rem; }
  .services-cta { padding: 40px 20px; }
}

/* --- WAITLIST --- */
@media (max-width: 960px) {
  .waitlist-strip { flex-direction: column; align-items: flex-start; padding: 56px 32px; gap: 32px; }
  .waitlist-form { max-width: 100%; width: 100%; }
}
@media (max-width: 600px) {
  .waitlist-strip { padding: 48px 20px; gap: 24px; }
  .waitlist-title { font-size: 1.6rem; }
  .waitlist-subtitle { font-size: 0.82rem; }
  .waitlist-form { flex-direction: column; gap: 10px; }
  .waitlist-input { width: 100%; border-radius: 2px; }
  .waitlist-btn { width: 100%; text-align: center; border-radius: 2px; }
}

/* --- FOOTER --- */
@media (max-width: 960px) {
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; padding: 56px 32px; }
}
@media (max-width: 600px) {
  .site-footer { padding: 0; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 36px 20px; }
  .footer-col--brand { grid-column: 1 / -1; } /* brand full width on top */
  .footer-col:nth-child(2) { padding-left: 0; }
  .footer-logo { font-size: 1rem; }
  .footer-tagline { font-size: 0.72rem; }
  .footer-socials { gap: 6px; }
  .footer-col-title { font-size: 0.58rem; margin-bottom: 10px; }
  .footer-links { gap: 10px; }
  .footer-links a { font-size: 0.78rem; }
  .footer-col { text-align: left; }
  .footer-bottom { padding: 14px 20px; flex-direction: column; gap: 6px; text-align: center; font-size: 0.68rem; }
  .footer-signup { max-width: 100%; }
  .footer-newsletter-text { font-size: 0.78rem; margin-bottom: 10px; }
}

/* --- OUR STORY PAGE --- */
@media (max-width: 960px) {
  .story-values-grid { grid-template-columns: 1fr; gap: 2px; }
  .story-cta-bar { padding: 48px 32px; flex-direction: column; align-items: flex-start; }
  .story-origin { padding: 56px 32px; }
}
@media (max-width: 600px) {
  .story-hero__title { white-space: normal; font-size: clamp(2rem, 8vw, 2.8rem); }
  .story-hero__philosophy { padding: 20px 24px; }
  .story-value-card { padding: 36px 24px; }
  .story-origin { padding: 48px 20px; }
  .story-cta-bar { padding: 40px 20px; }
  .story-cta-bar__title { font-size: 1.5rem; }
}

/* --- SOUND FAMILIAR --- */
@media (max-width: 960px) {
  .problem-split { grid-template-columns: 1fr; }
  .problem-left { padding: 56px 32px; }
  .problem-right { padding: 0 32px 56px; }
}
@media (max-width: 600px) {
  .problem-left { padding: 48px 20px 32px; }
  .problem-right { padding: 0 20px 48px; }
  .problem-title { font-size: clamp(2rem, 8vw, 2.8rem); }
}

/* --- THE STOVENA SYSTEM grid --- */
@media (max-width: 600px) {
  .what-is { padding: 56px 20px; }
  .what-is-header { margin-bottom: 36px; }
  .wir-card { padding: 24px 20px; }
  .wir-num { font-size: 1.1rem; }
}

/* --- WHY STOVENA --- */
@media (max-width: 960px) {
  .why-different { padding: 64px 32px; }
  .why-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .why-different { padding: 48px 20px; }
  .why-grid { grid-template-columns: 1fr; }
  .why-card { padding: 28px 20px; }
}

/* --- HOW IT WORKS --- */
@media (max-width: 600px) {
  .hiw-section { padding: 48px 20px; }
  .hiw-step { padding: 28px 20px; }
  .hiw-num { font-size: 1.3rem; }
}

/* --- GENERAL SECTION PADDING on mobile --- */
@media (max-width: 600px) {
  .section-eyebrow { font-size: 0.58rem; letter-spacing: 0.18em; }
  .section-title { font-size: clamp(1.7rem, 7vw, 2.4rem); }
  .section-body { font-size: 0.85rem; }
  .btn-terra, .btn-primary, .btn-ghost, .btn-linen { font-size: 0.7rem; padding: 13px 24px; }
}

/* ============================================================
   LOCAL-STYLE REDESIGN — v7
   ============================================================ */



/* ── SYSTEM SCROLL ── */
.lsys { padding: 56px 80px; background: var(--warm-wht); overflow: visible; }
.lsys-header { margin-bottom: 32px; padding-right: 0; }
.lsys-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 14px;
}
.lsys-header-inner { display: flex; align-items: flex-end; justify-content: space-between; }
.lsys-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  font-weight: 300; color: var(--bark);
}
.lsys-track-wrap { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.lsys-track-wrap::-webkit-scrollbar { display: none; }
.lsys-track {
  display: flex;
  gap: 12px;
  min-width: 100%;
  width: 100%;
}
.lsys-card {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc(25% - 9px);
  min-width: 220px;
  max-width: none;
  text-decoration: none;
  scroll-snap-align: start;
  transition: box-shadow 0.2s, transform 0.2s;
  border: 1px solid var(--linen-mid);
  border-radius: 4px;
  overflow: hidden;
  background: #fff;
}
.lsys-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.06); transform: translateY(-2px); }
.lsys-card-img {
  width: 100%;
  aspect-ratio: 3/2;
  background: var(--linen-dk);
  overflow: hidden;
  position: relative;
}
.lsys-card-img img { width: 100%; height: 100%; object-fit: cover; }
.lsys-card-body { padding: 16px 16px 20px; background: #fff; }
.lsys-card-num {
  font-family: var(--num); font-size: 0.7rem; color: var(--terra);
  display: block; margin-bottom: 6px;
}
.lsys-card-name {
  font-family: var(--serif); font-size: 1.15rem; font-weight: 400;
  color: var(--bark); margin-bottom: 6px;
}
.lsys-card-text {
  font-size: 0.8rem; font-weight: 300; line-height: 1.7;
  color: var(--text-lt); margin-bottom: 0;
}
.lsys-card-link { display: none; }

/* Featured + faded grid layout (Concept B) — superseded below */

/* ── EDITORIAL SPLIT ── */
.ledit {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 640px;
  background: var(--linen);
}
.ledit-img-wrap { overflow: hidden; }
.ledit-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.ledit-img--ph {
  background: linear-gradient(135deg, var(--linen-mid), var(--clay));
  height: 100%;
  display: block;
}
.ledit-img-wrap:hover .ledit-img { transform: scale(1.03); }
.ledit-content {
  padding: 80px 72px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.ledit-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 20px;
}
.ledit-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--bark);
  line-height: 1.15; margin-bottom: 24px;
}
.ledit-title em { font-style: italic; color: var(--terra); }
.ledit-body {
  font-size: 0.86rem; font-weight: 300; line-height: 1.9;
  color: var(--text-lt); margin-bottom: 16px;
}
.ledit-body-closing {
  font-family: var(--sans); font-size: 0.86rem; font-weight: 300;
  font-style: normal; color: var(--text-lt); line-height: 1.9; margin-bottom: 40px;
}
.ledit-stats { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--linen-mid); }
.ledit-stat {
  padding: 18px 0;
  border-bottom: 1px solid var(--linen-mid);
}
.ledit-stat-label {
  font-family: var(--serif); font-size: 0.95rem; font-weight: 400;
  color: var(--bark); display: block; margin-bottom: 4px;
}
.ledit-stat-text {
  font-size: 0.8rem; font-weight: 300; line-height: 1.7; color: var(--text-lt);
}

/* ── HOW IT WORKS ── */
.lhiw {
  background: var(--warm-wht);
  padding: 96px 80px 80px;
}
.lhiw-header { text-align: center; margin-bottom: 72px; }
.lhiw-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 20px;
}
.lhiw-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--bark);
}
.lhiw-title em { font-style: italic; color: var(--terra); }
.lhiw-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--linen-mid);
  border-radius: 2px;
  overflow: hidden;
  margin-bottom: 56px;
}
.lhiw-step {
  padding: 40px 32px;
  border-right: 1px solid var(--linen-mid);
  display: flex; flex-direction: column;
}
.lhiw-step:last-child { border-right: none; }
.lhiw-step-num {
  font-family: var(--num); font-size: 1.5rem; font-weight: 400;
  color: var(--terra); margin-bottom: 16px; line-height: 1;
}
.lhiw-step-line {
  height: 1px; background: var(--linen-mid); margin-bottom: 24px; flex: none;
}
.lhiw-step-title {
  font-family: var(--serif); font-size: 1rem; font-weight: 400;
  color: var(--bark); margin-bottom: 12px;
}
.lhiw-step-text {
  font-size: 0.82rem; font-weight: 300; line-height: 1.85; color: var(--text-lt);
}
.lhiw-cta { text-align: center; }

/* ── WHY STOVENA ── */
.lwhy {
  background: var(--linen);
  padding: 96px 80px;
}
.lwhy-header { text-align: center; margin-bottom: 64px; }
.lwhy-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 20px;
}
.lwhy-title {
  font-family: var(--serif);
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--bark);
}
.lwhy-title em { font-style: italic; color: var(--terra); }
.lwhy-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--linen-mid);
}
.lwhy-card {
  background: var(--linen);
  padding: 44px 36px;
  display: flex; flex-direction: column; gap: 14px;
}
.lwhy-icon { width: 40px; height: 40px; color: var(--terra); flex-shrink: 0; }
.lwhy-icon svg { width: 40px; height: 40px; }
.lwhy-card-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--bark);
}
.lwhy-card-text {
  font-size: 0.82rem; font-weight: 300; line-height: 1.85; color: var(--text-lt);
}

/* ── WAITLIST ── */
.lwait {
  background: var(--terra);
  padding: 96px 80px;
  text-align: center;
}
.lwait-inner { max-width: 560px; margin: 0 auto; }
.lwait-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: rgba(242,235,224,0.65); display: block; margin-bottom: 20px;
}
.lwait-title {
  font-family: var(--serif); font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--warm-wht); margin-bottom: 14px;
}
.lwait-title-em { font-style: italic; color: var(--bark); }
.lwait-sub {
  font-size: 0.86rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.75); margin-bottom: 36px;
}
.lwait-form { display: flex; gap: 0; max-width: 520px; margin: 0 auto; width: 100%; }
.lwait-input {
  flex: 1; min-width: 0; border: 1px solid rgba(242,235,224,0.3); border-right: none;
  border-radius: 2px 0 0 2px; padding: 14px 18px;
  font-family: var(--sans); font-size: 0.84rem; font-weight: 300;
  color: var(--warm-wht); background: rgba(242,235,224,0.1);
  outline: none; transition: border-color 0.2s;
}
.lwait-input:focus { border-color: rgba(242,235,224,0.7); }
.lwait-input::placeholder { color: rgba(242,235,224,0.45); }
.lwait-btn {
  background: var(--bark); color: var(--warm-wht);
  border: none; border-radius: 0 2px 2px 0;
  padding: 14px 28px; font-family: var(--sans);
  font-size: 0.65rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap;
}
.lwait-btn:hover { background: #3e2410; }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .lhero-content { padding: 0 40px 64px; }
  .lhero-scroll-hint { right: 40px; }
  .lsys { padding: 64px 0 64px 32px; }
  .lsys-header { padding-right: 32px; }
  .lsys-track { padding-right: 32px; }
  .lsys-card { flex: 0 0 260px; }
  .lsys-featured-wrap { grid-template-columns: 1fr; padding-right: 32px; }
  .lsys-featured-card { min-height: 320px; }
  .lsys-featured-img { min-height: 320px; }
  .ledit { grid-template-columns: 1fr; }
  .ledit-content { padding: 56px 40px; }
  .lhiw { padding: 64px 32px; }
  .lhiw-steps { grid-template-columns: 1fr 1fr; }
  .lhiw-step:nth-child(2) { border-right: none; }
  .lhiw-step:nth-child(1), .lhiw-step:nth-child(2) { border-bottom: 1px solid var(--linen-mid); }
  .lwhy { padding: 64px 32px; }
  .lwhy-grid { grid-template-columns: 1fr 1fr; }
  .lwait { padding: 64px 32px; }
}
@media (max-width: 600px) {
  .lhero-content { padding: 0 20px 48px; }
  .lhero-scroll-hint { display: none; }
  .lhero-title { font-size: clamp(2.2rem, 9vw, 3rem); }
  .lhero-actions { flex-direction: column; }
  .lhero-btn { text-align: center; }
  .lsys { padding: 48px 0 48px 20px; }
  .lsys-header { padding-right: 20px; }
  .lsys-track { padding-right: 20px; gap: 14px; }
  .lsys-card { flex: 0 0 220px; }
  .lsys-featured-wrap { padding-right: 20px; gap: 16px; }
  .lsys-featured-card { min-height: 280px; }
  .lsys-featured-img { min-height: 280px; }
  .lsys-featured-content { padding: 24px; }
  .lsys-soon-grid { gap: 16px; }
  .lsys-soon-card { padding: 20px; min-height: 150px; }
  .ledit-content { padding: 40px 20px; }
  .lhiw { padding: 48px 20px; }
  .lhiw-steps { grid-template-columns: 1fr; }
  .lhiw-step { border-right: none; border-bottom: 1px solid var(--linen-mid); }
  .lhiw-step:last-child { border-bottom: none; }
  .lwhy { padding: 48px 20px; }
  .lwhy-grid { grid-template-columns: 1fr; }
  .lwait { padding: 48px 20px; }
  .lwait-form { flex-direction: column; }
  .lwait-input { border-right: 1px solid rgba(242,235,224,0.3); border-radius: 2px; border-bottom: none; }
  .lwait-btn { border-radius: 2px; }
}

/* ── COMING SOON ── */
.csoon {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--warm-wht);
  overflow: hidden;
  padding: 40px 24px;
  box-sizing: border-box;
}
.csoon-panel {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--linen) 0%, var(--sand) 100%);
  opacity: 0.55;
  z-index: 0;
}
.csoon-content {
  position: relative;
  z-index: 1;
  max-width: 560px;
  width: 100%;
  text-align: center;
  background: rgba(250, 246, 240, 0.92);
  border-radius: 4px;
  padding: 64px 48px;
  box-shadow: 0 8px 40px rgba(62, 36, 16, 0.08);
}
.csoon-wordmark {
  font-family: var(--num);
  font-size: 1.1rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bark);
  margin-bottom: 36px;
}
.csoon-headline {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2rem, 4vw, 2.8rem);
  line-height: 1.2;
  color: var(--bark);
  margin: 0 0 18px;
}
.csoon-subtext {
  font-family: var(--sans);
  font-weight: 300;
  font-size: 0.92rem;
  line-height: 1.85;
  color: var(--text-lt);
  margin: 0 0 36px;
}
.csoon-form { display: flex; gap: 0; max-width: 440px; margin: 0 auto; width: 100%; }
.csoon-input {
  flex: 1; min-width: 0; border: 1px solid var(--linen-mid); border-right: none;
  border-radius: 2px 0 0 2px; padding: 14px 18px;
  font-family: var(--sans); font-size: 0.84rem; font-weight: 300;
  color: var(--text); background: #fff;
  outline: none; transition: border-color 0.2s;
}
.csoon-input:focus { border-color: var(--clay); }
.csoon-input::placeholder { color: var(--text-lt); }
.csoon-btn {
  background: var(--terra); color: var(--warm-wht);
  border: none; border-radius: 0 2px 2px 0;
  padding: 14px 26px; font-family: var(--sans);
  font-size: 0.65rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; cursor: pointer; transition: background 0.2s; white-space: nowrap;
}
.csoon-btn:hover { background: var(--terra-dk); }
.csoon-btn:disabled { opacity: 0.7; cursor: default; }
.csoon-success {
  font-family: var(--sans); font-size: 0.92rem; font-weight: 400;
  color: var(--bark); padding: 14px 0; margin: 0;
}
.csoon-error {
  font-family: var(--sans); font-size: 0.78rem; color: var(--terra-dk);
  text-align: center; padding: 10px 0 0; width: 100%; margin: 0;
}
.csoon-footnote {
  font-family: var(--sans); font-size: 0.72rem; font-weight: 300;
  color: var(--text-lt); margin: 28px 0 0;
}
.csoon-subtext-break-mobile { display: none; }
@media (max-width: 600px) {
  .csoon-content { padding: 48px 24px; }
  .csoon-form { flex-direction: column; gap: 12px; }
  .csoon-input { border-right: 1px solid var(--linen-mid); border-radius: 2px; border-bottom: 1px solid var(--linen-mid); }
  .csoon-btn { border-radius: 2px; }
  .csoon-subtext-break { display: none; }
  .csoon-subtext-break-mobile { display: inline; }
}



/* ── SPLIT HERO ── */
.lhero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  min-height: 480px;
  align-items: stretch;
}
.lhero-left {
  background: var(--bark);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 80px 72px 80px 72px;
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
}
.lhero-right {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  overflow: hidden;
  background: var(--bark);
  min-height: 420px;
}
.lhero-right {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  overflow: hidden;
  background: var(--bark-lt);
}
.lhero-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lhero-img-ph {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, var(--bark) 0%, var(--bark-lt) 100%);
  display: flex; align-items: center; justify-content: center;
}
.lhero-eyebrow {
  font-size: 0.6rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: rgba(242,235,224,0.55);
  display: block; margin-bottom: 20px;
}
.lhero-title {
  font-family: var(--serif);
  font-size: clamp(2.2rem, 3.5vw, 3.8rem);
  font-weight: 300; color: var(--warm-wht);
  line-height: 1.08; margin-bottom: 22px;
}
.lhero-title em { font-style: italic; color: var(--clay); }
.lhero-body {
  font-size: 0.86rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.7); max-width: 640px;
}
.lhero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.lhero-btn {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  text-decoration: none; padding: 13px 28px;
  border-radius: 2px; transition: all 0.2s; display: inline-block;
}
.lhero-btn--primary { background: var(--terra); color: var(--warm-wht); }
.lhero-btn--primary:hover { background: var(--terra-dk); }
.lhero-btn--ghost { background: transparent; color: var(--warm-wht); border: 1px solid rgba(242,235,224,0.35); }
.lhero-btn--ghost:hover { border-color: rgba(242,235,224,0.8); }

/* Strip */
.lhero-strip {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: var(--bark);
  border-top: 1px solid rgba(242,235,224,0.08);
}
.lhero-strip-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 28px 20px;
  text-decoration: none;
  border-right: 1px solid rgba(242,235,224,0.15);
  transition: background 0.2s;
  text-align: center;
}
.lhero-strip-tile:last-child { border-right: none; }
.lhero-strip-tile:hover { background: rgba(242,235,224,0.06); }
.lhero-strip-icon { color: rgba(242,235,224,0.7); margin-bottom: 4px; }
.lhero-strip-icon svg { width: 32px; height: 32px; }
.lhero-strip-label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(242,235,224,0.85);
}

/* Placeholder jars */
.lhbg-jars { display: flex; flex-direction: column; gap: 28px; align-items: center; opacity: 0.3; }
.lhbg-shelf { display: flex; align-items: flex-end; gap: 10px; }
.lhbg-shelf--2 { gap: 14px; }
.lhbg-jar { border: 1.5px solid rgba(242,235,224,0.6); border-radius: 3px 3px 4px 4px; background: rgba(242,235,224,0.06); }
.lhbg-jar--tall  { width: 36px; height: 90px; }
.lhbg-jar--med   { width: 36px; height: 64px; }
.lhbg-jar--sm    { width: 28px; height: 44px; }
.lhbg-jar--wide  { width: 56px; height: 52px; }

/* Responsive */
@media (max-width: 960px) {
  .lhero { grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .lhero-left { grid-column: 1; grid-row: 1; padding: 56px 40px; }
  .lhero-right { grid-column: 1; grid-row: 2; height: 300px; }
  .lhero-strip { grid-column: 1; grid-row: 3; grid-template-columns: 1fr 1fr; }
  .lhero-strip-tile:nth-child(2) { border-right: none; }
  .lhero-strip-tile:nth-child(1), .lhero-strip-tile:nth-child(2) { border-bottom: 1px solid rgba(242,235,224,0.15); }
}
@media (max-width: 600px) {
  .lhero-left { padding: 40px 20px; }
  .lhero-title { font-size: clamp(2rem, 8vw, 2.8rem); }
  .lhero-actions { flex-direction: column; }
  .lhero-btn { text-align: center; }
  .lhero-right { height: 220px; }
  .lhero-strip { grid-template-columns: 1fr 1fr; }
  .lhero-strip-tile { padding: 18px 16px; }
  .lhero-strip-label { font-size: 0.58rem; }
}

/* ── REVIEWS ── */
.lrev {
  background: var(--warm-wht);
  padding: 80px;
  overflow: hidden;
}
.lrev-header {
  text-align: center;
  margin-bottom: 48px;
}
.lrev-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 14px;
}
.lrev-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  font-weight: 300; color: var(--bark);
}
.lrev-track-wrap {
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 0 80px;
}
.lrev-track-wrap::-webkit-scrollbar { display: none; }
.lrev-track {
  display: flex;
  gap: 20px;
  width: max-content;
}
.lrev-card {
  width: calc((100vw - 200px) / 3);
  min-width: 260px;
  flex-shrink: 0;
  background: var(--linen);
  border: 1px solid var(--linen-mid);
  border-radius: 2px;
  padding: 28px 28px 24px;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lrev-card--image {
  width: calc(((100vw - 200px) / 3) * 1.5 + 10px);
  min-width: 340px;
  flex-direction: row;
  padding: 0;
  gap: 0;
  overflow: hidden;
}
.lrev-card-body {
  flex: 1; padding: 28px 28px 24px;
  display: flex; flex-direction: column; gap: 12px;
}
.lrev-card-body .lrev-quote { flex: 1; }
.lrev-card-body .lrev-author { margin-top: auto; }
.lrev-card-img {
  width: 160px; flex-shrink: 0;
}
.lrev-card-img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.lrev-top-row {
  display: flex; align-items: center; gap: 8px;
}
.lrev-product-sep {
  color: var(--linen-mid); font-size: 0.75rem; margin: 0 2px;
}
.lrev-img-wrap { width: 100%; margin-bottom: 4px; }
.lrev-img-ph {
  width: 100%; height: 160px; border-radius: 2px;
  background: var(--linen-dk); border: 1px solid var(--linen-mid);
  display: flex; align-items: center; justify-content: center;
  color: var(--clay);
}
.lrev-stars { display: flex; gap: 3px; }
.lrev-star { color: var(--terra); font-size: 0.85rem; }
.lrev-quote {
  font-family: var(--sans);
  font-size: 0.84rem; font-weight: 300;
  font-style: normal; line-height: 1.8;
  color: var(--text-lt); flex: 1;
  margin: 0;
}
.lrev-author {
  display: flex; flex-direction: column; gap: 1px; padding-top: 12px;
  border-top: 1px solid var(--linen-mid);
}
.lrev-name {
  font-size: 0.78rem; font-weight: 500;
  letter-spacing: 0.04em; color: var(--bark);
}
.lrev-sep { color: var(--linen-mid); font-size: 0.78rem; }
.lrev-location {
  font-size: 0.72rem; font-weight: 300; color: var(--text-lt);
}
.lrev-product {
  font-size: 0.58rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--terra); white-space: nowrap;
}

@media (max-width: 960px) {
  .lrev { padding: 64px 32px; }
  .lrev-header { padding-right: 0; }
  .lrev-track-wrap { padding: 0 32px; }
  .lrev-card { width: calc((100vw - 80px) / 1.3); }
  .lrev-card--image { width: calc(100vw - 80px); min-width: 320px; }
  .lrev-card-img { width: 140px; }
}
}
}
@media (max-width: 600px) {
  .lrev { padding: 48px 20px; }
  .lrev-track-wrap { padding: 0 20px; }
  .lrev-track { gap: 14px; }
  .lrev-card { width: calc(100vw - 60px); padding: 24px 20px; }
  .lrev-card--image { width: calc(100vw - 60px); min-width: 0; flex-direction: column; }
  .lrev-card-img { width: 100%; height: 200px; }
}
}



/* ============================================================
   SHOP SYSTEMS PAGE v2 — Three-tier architecture
   ============================================================ */
.ssp-page { background: var(--warm-wht); }

/* ── HERO ── */
.ssp-hero {
  background: var(--bark);
  padding: calc(72px + 80px) 80px 80px;
  text-align: center;
}
.ssp-eyebrow {
  font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 16px;
}
.ssp-eyebrow--light { color: rgba(242,235,224,0.5); }
.ssp-title {
  font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 4rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.08; margin-bottom: 20px;
}
.ssp-title em { font-style: italic; color: var(--clay); }
.ssp-body {
  font-size: 0.9rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.7); max-width: 500px; margin: 0 auto;
}

/* ── STICKY NAV ── */
/* Quiz hint banner */
.ssp-quiz-hint {
  display: flex; align-items: center; justify-content: center; gap: 20px;
  background: var(--linen); border-bottom: 1px solid var(--linen-mid);
  padding: 12px 40px;
}
.ssp-quiz-hint-text {
  font-family: var(--sans); font-size: 0.78rem; font-weight: 300;
  color: var(--bark); letter-spacing: 0.02em;
}
.ssp-quiz-hint-btn {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--warm-wht); background: var(--terra);
  border: none; border-radius: 40px;
  padding: 9px 20px; cursor: pointer;
  transition: background 0.2s; white-space: nowrap;
}
.ssp-quiz-hint-btn:hover { background: var(--terra-dk); }

.ssp-nav {
  background: var(--warm-wht);
  border-bottom: 1px solid var(--linen-mid);
  position: relative; z-index: 50;
}
.ssp-nav.is-sticky {
  position: sticky; top: 104px;
  box-shadow: 0 2px 16px rgba(46,31,20,0.07);
}
.ssp-nav-inner {
  display: flex; overflow-x: auto; scrollbar-width: none;
  padding: 0 80px; max-width: 1400px; margin: 0 auto;
}
.ssp-nav-inner::-webkit-scrollbar { display: none; }
.ssp-nav-tab {
  font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text-lt); text-decoration: none;
  padding: 18px 28px; border-bottom: 2px solid transparent;
  transition: all 0.2s; white-space: nowrap; flex-shrink: 0;
}
.ssp-nav-tab:hover { color: var(--bark); }
.ssp-nav-tab.is-active { color: var(--bark); border-bottom-color: var(--terra); }

/* ── SPACE SECTIONS ── */
.ssp-space { background: var(--warm-wht); }
.ssp-space--alt { background: var(--linen); }

/* Space header */
.ssp-space-header {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 400px;
}
.ssp-space-header-text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 64px 80px;
}
.ssp-space--alt .ssp-space-header-text { order: 2; }
.ssp-space-header-img {
  overflow: hidden; position: relative;
}
.ssp-space-header-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp-space-header-img--pantry  { background: linear-gradient(135deg, var(--linen-dk), var(--clay)); }
.ssp-space-header-img--spice   { background: linear-gradient(135deg, var(--linen-mid), var(--terra-lt)); }
.ssp-space-header-img--fridge  { background: linear-gradient(135deg, var(--linen), var(--clay)); }
.ssp-space-header-img--freezer { background: linear-gradient(135deg, var(--linen-dk), var(--bark-lt)); }
.ssp-space-header-img--laundry { background: linear-gradient(135deg, var(--linen-mid), var(--clay)); }
.ssp-space-header-img--bathroom{ background: linear-gradient(135deg, var(--linen), var(--terra-lt)); }
.ssp-space-num {
  font-family: var(--num); font-size: 0.72rem; color: var(--terra);
  opacity: 0.6; display: block; margin-bottom: 12px;
}
.ssp-space-title {
  font-family: var(--serif); font-size: clamp(2.4rem, 3.8vw, 3.8rem);
  font-weight: 300; color: var(--bark); margin-bottom: 16px;
}
.ssp-space-desc {
  font-size: 0.86rem; font-weight: 300; line-height: 1.85;
  color: var(--text-lt); max-width: 380px;
}

/* ── BUNDLES — Starter + Complete ── */
.ssp-bundles {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 2px; padding: 56px 80px;
  background: var(--linen-mid);
  max-width: 100%;
}
.ssp-space--alt .ssp-bundles { background: var(--linen-mid); }

.ssp-bundle-card {
  background: var(--warm-wht);
  padding: 44px 48px;
  display: flex; flex-direction: column;
  position: relative;
}
.ssp-space--alt .ssp-bundle-card { background: var(--linen); }
.ssp-bundle-card--featured {
  background: var(--bark);
}
.ssp-space--alt .ssp-bundle-card--featured { background: var(--bark); }

.ssp-bundle-badge {
  position: absolute; top: 24px; right: 24px;
  font-size: 0.58rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--bark);
  background: var(--clay); padding: 5px 12px; border-radius: 2px;
}
.ssp-bundle-tier {
  font-size: 0.6rem; font-weight: 500; letter-spacing: 0.22em;
  text-transform: uppercase; display: block; margin-bottom: 10px;
  color: var(--terra);
}
.ssp-bundle-card--featured .ssp-bundle-tier { color: var(--clay); }

.ssp-bundle-card-name {
  font-family: var(--serif); font-size: 1.6rem; font-weight: 300;
  color: var(--bark); margin-bottom: 12px;
}
.ssp-bundle-card--featured .ssp-bundle-card-name { color: var(--warm-wht); }

.ssp-bundle-card-desc {
  font-size: 0.84rem; font-weight: 300; line-height: 1.8;
  color: var(--text-lt); margin-bottom: 28px;
}
.ssp-bundle-card--featured .ssp-bundle-card-desc { color: rgba(242,235,224,0.65); }

.ssp-bundle-card-top { flex: 1; }

.ssp-bundle-list {
  list-style: none; padding: 0; margin: 0 0 0;
  border-top: 1px solid var(--linen-mid);
  padding-top: 20px;
}
.ssp-bundle-card--featured .ssp-bundle-list { border-color: rgba(242,235,224,0.12); }
.ssp-bundle-list li {
  font-size: 0.8rem; font-weight: 300; color: var(--text-lt);
  padding: 7px 0 7px 18px; position: relative; border-bottom: 1px solid var(--linen-mid);
}
.ssp-bundle-card--featured .ssp-bundle-list li { border-color: rgba(242,235,224,0.08); color: rgba(242,235,224,0.6); }
.ssp-bundle-list li:last-child { border-bottom: none; }
.ssp-bundle-list li::before {
  content: '—'; position: absolute; left: 0; color: var(--terra); font-size: 0.7rem;
}
.ssp-bundle-card--featured .ssp-bundle-list li::before { color: var(--clay); }

.ssp-bundle-card-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 28px; margin-top: 28px; border-top: 1px solid var(--linen-mid);
}
.ssp-bundle-card--featured .ssp-bundle-card-footer { border-color: rgba(242,235,224,0.12); }
.ssp-bundle-card-price {
  font-family: var(--serif); font-size: 1.5rem; font-weight: 300; color: var(--bark);
  font-variant-numeric: lining-nums; line-height: 1;
}
.ssp-bundle-card--featured .ssp-bundle-card-price { color: var(--warm-wht); }

/* Buttons */
.ssp-btn {
  font-family: var(--sans); font-size: 0.63rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  padding: 13px 24px; border-radius: 2px; transition: all 0.2s; display: inline-block;
  background: var(--terra); color: var(--warm-wht);
}
.ssp-btn:hover { background: var(--terra-dk); }
.ssp-btn--outline {
  background: transparent; color: var(--bark); border: 1px solid var(--linen-mid);
}
.ssp-btn--outline:hover { background: var(--linen-dk); border-color: var(--clay); }
.ssp-btn--light { background: var(--warm-wht); color: var(--bark); }
.ssp-btn--light:hover { background: var(--linen); }
.ssp-btn--ghost-light {
  background: transparent; color: var(--warm-wht);
  border: 1px solid rgba(242,235,224,0.3);
}
.ssp-btn--ghost-light:hover { border-color: rgba(242,235,224,0.8); }

/* ── EXTEND — horizontal add-ons ── */
.ssp-extend {
  padding: 48px 80px 64px;
}
.ssp-extend-header {
  display: flex; align-items: baseline; gap: 20px;
  margin-bottom: 28px; padding-bottom: 16px;
  border-bottom: 1px solid var(--linen-mid);
}
.ssp-extend-title {
  font-family: var(--serif); font-size: 1.15rem; font-weight: 300; color: var(--bark);
}
.ssp-extend-sub {
  font-size: 0.72rem; font-weight: 300; color: var(--text-lt);
}
.ssp-extend-track-wrap {
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ssp-extend-track-wrap::-webkit-scrollbar { display: none; }
.ssp-extend-track {
  display: flex; gap: 16px; width: max-content;
}
.ssp-extend-card {
  width: 160px; flex-shrink: 0; text-decoration: none;
  scroll-snap-align: start; transition: opacity 0.2s;
  display: flex; flex-direction: column; gap: 8px;
}
.ssp-extend-card:hover { opacity: 0.75; }
.ssp-extend-img {
  aspect-ratio: 1; overflow: hidden; border-radius: 2px;
  background: var(--linen-dk);
}
.ssp-extend-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp-extend-ph { width: 100%; height: 100%; }
.ssp-extend-ph--pantry  { background: linear-gradient(135deg, var(--linen-dk), var(--clay)); }
.ssp-extend-ph--spice   { background: linear-gradient(135deg, var(--linen-mid), var(--terra-lt)); }
.ssp-extend-ph--fridge  { background: linear-gradient(135deg, var(--linen), var(--clay)); }
.ssp-extend-ph--freezer { background: linear-gradient(135deg, var(--linen-dk), var(--bark-lt)); }
.ssp-extend-ph--laundry { background: linear-gradient(135deg, var(--linen-mid), var(--clay)); }
.ssp-extend-ph--bathroom{ background: linear-gradient(135deg, var(--linen), var(--terra-lt)); }
.ssp-extend-name {
  font-size: 0.78rem; font-weight: 400; color: var(--bark); line-height: 1.3;
}
.ssp-extend-price {
  font-size: 0.72rem; font-weight: 300; color: var(--terra);
}

/* ── LABELS SECTION ── */
.ssp-labels-section { background: var(--bark); }
.ssp-labels-hero {
  display: grid; grid-template-columns: 1fr 1fr; min-height: 480px;
}
.ssp-labels-hero-content {
  padding: calc(72px) 80px 64px;
  display: flex; flex-direction: column; justify-content: center;
}
.ssp-labels-title {
  font-family: var(--serif); font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.12; margin-bottom: 20px;
}
.ssp-labels-title em { font-style: italic; color: var(--clay); }
.ssp-labels-body {
  font-size: 0.86rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.65);
}
.ssp-labels-hero-img { overflow: hidden; }
.ssp-labels-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp-labels-ph {
  width: 100%; height: 100%; min-height: 400px;
  background: linear-gradient(135deg, var(--bark-lt), var(--bark));
}

.ssp-labels-options {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 2px; background: rgba(242,235,224,0.08);
  border-top: 1px solid rgba(242,235,224,0.08);
}
.ssp-label-opt {
  padding: 44px 48px;
  background: var(--bark);
  display: flex; gap: 24px; align-items: flex-start;
}
.ssp-label-opt-num {
  font-family: var(--num); font-size: 0.72rem;
  color: var(--terra); flex-shrink: 0; padding-top: 4px;
}
.ssp-label-opt-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400;
  color: var(--warm-wht); margin-bottom: 10px;
}
.ssp-label-opt-text {
  font-size: 0.8rem; font-weight: 300; line-height: 1.8;
  color: rgba(242,235,224,0.6);
}

.ssp-labels-grid-wrap { padding: 48px 80px; background: var(--bark); }
.ssp-labels-grid {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px;
}
.ssp-addon-card { text-decoration: none; display: flex; flex-direction: column; gap: 8px; transition: opacity 0.2s; }
.ssp-addon-card:hover { opacity: 0.75; }
.ssp-addon-img { aspect-ratio: 1; overflow: hidden; border-radius: 2px; background: var(--bark-lt); }
.ssp-addon-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp-addon-ph { width: 100%; height: 100%; background: var(--bark-lt); }
.ssp-addon-name { font-size: 0.78rem; font-weight: 400; color: var(--warm-wht); line-height: 1.3; }
.ssp-addon-price { font-size: 0.72rem; font-weight: 300; color: var(--clay); }

/* ── QUIZ CTA ── */
.ssp-quiz {
  background: var(--terra);
  padding: 96px 80px;
  text-align: center;
}
.ssp-quiz-inner { max-width: 600px; margin: 0 auto; }
.ssp-quiz .ssp-eyebrow { color: rgba(242,235,224,0.55); margin-bottom: 20px; }
.ssp-quiz-title {
  font-family: var(--serif); font-size: clamp(2rem, 3.2vw, 3rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.1; margin-bottom: 18px;
}
.ssp-quiz-title em { font-style: italic; color: var(--linen); }
.ssp-quiz-body {
  font-size: 0.88rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,0.72); margin-bottom: 36px;
}
.ssp-quiz-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.ssp3-btn {
  font-family: var(--sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  padding: 14px 28px; border-radius: 2px; cursor: pointer; transition: all .2s;
  border: none; display: inline-block;
}
.ssp3-btn--light { background: var(--warm-wht); color: var(--bark); }
.ssp3-btn--light:hover { background: var(--linen); }
.ssp3-btn--ghost-light { background: transparent; border: 1px solid rgba(242,235,224,0.5); color: var(--warm-wht); }
.ssp3-btn--ghost-light:hover { background: rgba(242,235,224,0.1); }

/* ── RESPONSIVE ── */
@media (max-width: 960px) {
  .ssp-hero { padding: calc(72px + 56px) 40px 56px; }
  .ssp-nav-inner { padding: 0 32px; }
  .ssp-space-header { grid-template-columns: 1fr; }
  .ssp-space-header-img { height: 280px; }
  .ssp-space--alt .ssp-space-header-text { order: 0; }
  .ssp-space-header-text { padding: 48px 40px; }
  .ssp-bundles { grid-template-columns: 1fr; padding: 40px 32px; }
  .ssp-extend { padding: 40px 32px 48px; }
  .ssp-labels-hero { grid-template-columns: 1fr; }
  .ssp-labels-hero-content { padding: 56px 40px; }
  .ssp-labels-hero-img { height: 300px; }
  .ssp-labels-options { grid-template-columns: 1fr; }
  .ssp-labels-grid-wrap { padding: 40px 32px; }
  .ssp-labels-grid { grid-template-columns: repeat(3, 1fr); }
  .ssp-quiz { padding: 64px 40px; }
}
@media (max-width: 600px) {
  .ssp-hero { padding: calc(72px + 40px) 20px 40px; }
  .ssp-nav-inner { padding: 0 16px; }
  .ssp-nav-tab { padding: 14px 16px; font-size: 0.6rem; }
  .ssp-space-header-text { padding: 36px 20px; }
  .ssp-space-desc { max-width: 100%; }
  .ssp-bundles { padding: 32px 20px; gap: 16px; background: transparent; }
  .ssp-bundle-card { padding: 32px 24px; }
  .ssp-bundle-card-footer { flex-direction: column; align-items: flex-start; gap: 14px; }
  .ssp-extend { padding: 32px 20px 40px; }
  .ssp-extend-header { flex-direction: column; gap: 4px; }
  .ssp-label-opt { padding: 32px 20px; }
  .ssp-labels-grid { grid-template-columns: repeat(2, 1fr); }
  .ssp-labels-grid-wrap { padding: 32px 20px; }
  .ssp-quiz { padding: 48px 20px; }
  .ssp-quiz-actions { flex-direction: column; }
}


/* ── SHOP SYSTEMS PAGE v2 ── */
/* Mockup card layout + STOVENA colour palette */

.ssp2-page { display: flex; flex-direction: column; }

/* ── Hero ── */
.ssp2-hero {
  background: var(--linen);
  padding: 120px 80px 72px;
  border-bottom: 1px solid var(--linen-mid);
}
.ssp2-hero-inner { max-width: 640px; }
.ssp2-hero-title {
  font-family: var(--serif);
  font-size: clamp(2.4rem, 4.2vw, 3.6rem);
  font-weight: 300; color: var(--bark);
  line-height: 1.1; margin: 14px 0 20px;
}
.ssp2-hero-title em { font-style: italic; color: var(--terra); }
.ssp2-hero-intro {
  font-size: .9rem; font-weight: 300;
  line-height: 1.85; color: var(--text-lt); max-width: 500px;
}

/* ── Sticky nav ── */
.ssp2-nav {
  background: var(--warm-wht);
  border-bottom: 1px solid var(--linen-mid);
  position: sticky; top: 104px; z-index: 50;
}
.ssp2-nav-inner {
  display: flex; overflow-x: auto; scrollbar-width: none;
  padding: 0 80px; max-width: 1400px; margin: 0 auto;
}
.ssp2-nav-inner::-webkit-scrollbar { display: none; }
.ssp2-nav-tab {
  font-size: .67rem; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: var(--text-lt); text-decoration: none;
  padding: 18px 24px; border-bottom: 2px solid transparent;
  transition: all .2s; white-space: nowrap; flex-shrink: 0;
}
.ssp2-nav-tab:hover { color: var(--bark); }
.ssp2-nav-tab.is-active { color: var(--bark); border-bottom-color: var(--terra); }

/* ── Space sections ── */
.ssp2-space { background: var(--warm-wht); padding: 56px 80px; }
.ssp2-space--alt { background: var(--linen); }

/* Space header — single row: title+desc left, view-all right */
.ssp2-space-head {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 32px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--linen-mid);
}
.ssp2-space-head-text { flex: 1; }
.ssp2-space-num {
  font-size: .6rem; font-weight: 500; letter-spacing: .22em;
  text-transform: uppercase; color: var(--terra); opacity: .7;
  display: block; margin-bottom: 8px;
}
.ssp2-space-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 300; color: var(--bark); margin: 0 0 8px; line-height: 1.1;
}
.ssp2-space-desc {
  font-size: .85rem; font-weight: 300;
  line-height: 1.8; color: var(--text-lt); max-width: 480px; margin: 0;
}
.ssp2-space-link {
  font-size: .65rem; font-weight: 500; letter-spacing: .12em;
  text-transform: uppercase; color: var(--terra); text-decoration: none;
  border-bottom: 1px solid rgba(184,92,56,.3); padding-bottom: 2px;
  flex-shrink: 0; margin-top: 6px;
  transition: border-color .2s;
}
.ssp2-space-link:hover { border-color: var(--terra); }

/* ── Bundle cards ── */
.ssp2-bundles-label {
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 16px;
}
.ssp2-bundles-label span {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--terra); white-space: nowrap;
}
.ssp2-bundles-label::after {
  content: ''; flex: 1; height: 1px; background: var(--linen-mid);
}
.ssp2-bundles {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px; margin-bottom: 48px;
}
.ssp2-bundle {
  background: var(--warm-wht);
  border: 1px solid var(--linen-mid);
  border-radius: 4px;
  padding: 28px 28px 24px;
  display: flex; flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.ssp2-space--alt .ssp2-bundle { background: var(--warm-wht); }
.ssp2-bundle--featured {
  border-color: var(--terra);
  border-width: 1.5px;
}
.ssp2-bundle-badge {
  position: absolute; top: -1px; left: 50%; transform: translateX(-50%);
  font-size: .56rem; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; background: var(--terra); color: var(--warm-wht);
  padding: 4px 12px; border-radius: 0 0 4px 4px;
}
.ssp2-bundle-tier {
  font-size: .58rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 8px; margin-top: 8px;
}
.ssp2-bundle-name {
  font-family: var(--serif); font-size: 1.35rem;
  font-weight: 300; color: var(--bark); margin-bottom: 10px; line-height: 1.2;
}
.ssp2-bundle-contents {
  font-size: .8rem; font-weight: 300;
  line-height: 1.75; color: var(--text-lt);
  margin-bottom: 4px;
}
.ssp2-bundle-top { flex: 1; }
.ssp2-bundle-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding-top: 20px; margin-top: 20px;
  border-top: 1px solid var(--linen-mid);
  gap: 12px; flex-wrap: wrap;
}
.ssp2-bundle-price {
  font-family: var(--serif); font-size: 1.3rem;
  font-weight: 300; color: var(--bark);
}

/* ── Buttons ── */
.ssp2-btn {
  font-family: var(--sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  padding: 11px 20px; border-radius: 2px; transition: all .2s;
  display: inline-block; cursor: pointer; border: none;
  background: var(--terra); color: var(--warm-wht);
}
.ssp2-btn:hover { background: var(--terra-dk); }
.ssp2-btn--outline {
  background: transparent; color: var(--bark);
  border: 1px solid var(--linen-mid);
}
.ssp2-btn--outline:hover { background: var(--linen-dk); border-color: var(--clay); }
.ssp2-btn--light { background: var(--warm-wht); color: var(--bark); }
.ssp2-btn--light:hover { background: var(--linen); }
.ssp2-btn--clay { background: var(--clay); color: var(--bark); }
.ssp2-btn--clay:hover { background: var(--sand); }
.ssp2-btn--ghost-light {
  background: transparent; color: var(--warm-wht);
  border: 1px solid rgba(242,235,224,.3);
}
.ssp2-btn--ghost-light:hover { border-color: rgba(242,235,224,.8); }

/* ── Add-ons horizontal scroll ── */
.ssp2-extend-head {
  display: flex; align-items: baseline; gap: 16px;
  margin-bottom: 20px; padding-bottom: 14px;
  border-bottom: 1px solid var(--linen-mid);
}
.ssp2-extend-title {
  font-family: var(--serif); font-size: 1rem;
  font-weight: 300; color: var(--bark);
}
.ssp2-extend-sub { font-size: .72rem; font-weight: 300; color: var(--text-lt); }
.ssp2-extend-scroll-wrap {
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; padding-bottom: 4px;
}
.ssp2-extend-scroll-wrap::-webkit-scrollbar { display: none; }
.ssp2-extend-track { display: flex; gap: 12px; width: max-content; }
.ssp2-extend-card {
  width: 148px; flex-shrink: 0; text-decoration: none;
  scroll-snap-align: start; transition: opacity .2s;
  display: flex; flex-direction: column; gap: 8px;
}
.ssp2-extend-card:hover { opacity: .75; }
.ssp2-extend-img {
  aspect-ratio: 1; overflow: hidden; border-radius: 4px;
  background: var(--linen-dk);
  border: 1px solid var(--linen-mid);
}
.ssp2-extend-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp2-extend-ph { width: 100%; height: 100%; }
.ssp2-ph--pantry  { background: #e8d5bc; }
.ssp2-ph--spice   { background: #dfc4a8; }
.ssp2-ph--fridge  { background: #ccd8cc; }
.ssp2-ph--freezer { background: #c8d4e0; }
.ssp2-ph--laundry { background: #ddd0c4; }
.ssp2-ph--bathroom { background: #d4cec8; }
.ssp2-extend-name { font-size: .78rem; font-weight: 400; color: var(--bark); line-height: 1.3; }
.ssp2-extend-price { font-size: .72rem; font-weight: 300; color: var(--terra); }

/* ── Labels section ── */
.ssp2-labels { background: var(--bark); padding: 56px 80px 64px; }
.ssp2-labels-hero {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 64px; align-items: center; margin-bottom: 56px;
}
.ssp2-labels-eyebrow { color: rgba(212,184,150,.6); margin-bottom: 14px; }
.ssp2-labels-eyebrow::before { background: var(--clay); }
.ssp2-labels-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.8vw, 2.4rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.1; margin-bottom: 16px;
}
.ssp2-labels-title em { font-style: italic; color: var(--clay); }
.ssp2-labels-body {
  font-size: .86rem; font-weight: 300;
  line-height: 1.85; color: rgba(242,235,224,.6); max-width: 380px;
}
.ssp2-labels-hero-img {
  overflow: hidden; border-radius: 4px; aspect-ratio: 4/3;
}
.ssp2-labels-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp2-labels-ph {
  width: 100%; height: 100%; min-height: 280px;
  background: var(--bark-lt); border-radius: 4px;
}

/* Labels options 3-col */
.ssp2-labels-options {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 24px; margin-bottom: 48px;
}
.ssp2-label-opt {
  display: flex; gap: 16px; align-items: flex-start;
}
.ssp2-label-opt-num {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  color: var(--terra); flex-shrink: 0; padding-top: 3px;
}
.ssp2-label-opt-title {
  font-family: var(--serif); font-size: .95rem;
  font-weight: 400; color: var(--warm-wht); margin-bottom: 8px;
}
.ssp2-label-opt-text {
  font-size: .8rem; font-weight: 300;
  line-height: 1.8; color: rgba(242,235,224,.55);
}

/* Labels grid — card style matching mockup */
.ssp2-labels-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.ssp2-addon-card {
  text-decoration: none; display: flex; flex-direction: column; gap: 8px;
  transition: opacity .2s;
}
.ssp2-addon-card:hover { opacity: .8; }
.ssp2-addon-img {
  aspect-ratio: 1; overflow: hidden; border-radius: 4px;
  background: var(--bark-lt);
  border: 1px solid rgba(242,235,224,.1);
}
.ssp2-addon-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp2-addon-ph { width: 100%; height: 100%; background: var(--bark-lt); }
.ssp2-addon-name { font-size: .78rem; font-weight: 400; color: var(--warm-wht); line-height: 1.3; }
.ssp2-addon-price { font-size: .72rem; font-weight: 300; color: var(--clay); }

/* ── Quiz CTA ── */
.ssp2-quiz {
  background: var(--terra); padding: 80px 80px; text-align: center;
}
.ssp2-quiz-inner { max-width: 560px; margin: 0 auto; }
.ssp2-quiz-eyebrow { justify-content: center; color: rgba(242,235,224,.55); }
.ssp2-quiz-eyebrow::before { background: rgba(242,235,224,.3); }
.ssp2-quiz-title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 2.8vw, 2.6rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.1; margin-bottom: 14px;
}
.ssp2-quiz-title em { font-style: italic; color: var(--linen); }
.ssp2-quiz-body {
  font-size: .88rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,.7); margin-bottom: 32px;
}
.ssp2-quiz-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* ── Responsive ── */
@media (max-width: 1100px) {
  .ssp2-bundles { grid-template-columns: 1fr 1fr; }
  .ssp2-labels-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 960px) {
  .ssp2-hero { padding: 100px 40px 56px; }
  .ssp2-nav-inner { padding: 0 24px; }
  .ssp2-space { padding: 48px 40px; }
  .ssp2-space-head { flex-direction: column; gap: 16px; }
  .ssp2-bundles { grid-template-columns: 1fr; }
  .ssp2-bundle { min-height: auto; }
  .ssp2-labels { padding: 48px 40px; }
  .ssp2-labels-hero { grid-template-columns: 1fr; gap: 32px; }
  .ssp2-labels-options { grid-template-columns: 1fr; gap: 20px; }
  .ssp2-labels-grid { grid-template-columns: repeat(2, 1fr); }
  .ssp2-quiz { padding: 64px 40px; }
}
@media (max-width: 600px) {
  .ssp2-hero { padding: 88px 24px 48px; }
  .ssp2-space { padding: 40px 24px; }
  .ssp2-labels { padding: 40px 24px; }
  .ssp2-labels-grid { grid-template-columns: repeat(2, 1fr); }
  .ssp2-quiz { padding: 56px 24px; }
}

/* ── SHOP SYSTEMS v3 (tab-switched panels) ── */

/* ════════════════════════════════════════
   SHOP SYSTEMS PAGE — fresh rewrite
   ════════════════════════════════════════ */

.ssp-page { background: var(--linen); }

/* Hero */
.ssp3-hero {
  background: var(--bark);
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 320px;
}
.ssp3-hero-text {
  padding: 72px 80px 60px;
  display: flex; flex-direction: column; justify-content: center;
}
.ssp3-hero-eyebrow {
  font-size: 0.6rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: rgba(242,235,224,0.55);
  display: block; margin-bottom: 20px;
}
.ssp3-hero-title {
  font-family: var(--serif); font-size: clamp(2.4rem, 4vw, 3.8rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.1; margin-bottom: 20px;
}
.ssp3-hero-title em { font-style: italic; color: var(--clay); }
.ssp3-hero-intro {
  font-size: .9rem; font-weight: 300; line-height: 1.85;
  color: rgba(242,235,224,.65); max-width: 440px;
}
.ssp3-hero-img { overflow: hidden; position: relative; }
.ssp3-hero-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp3-hero-ph { width: 100%; height: 100%; background: var(--bark-lt); display: block; }

/* ssp3 nav tabs */
.ssp3-nav {
  background: var(--warm-wht);
  border-bottom: 1px solid var(--linen-mid);
  position: sticky; top: 104px; z-index: 50;
}
.ssp3-nav-inner {
  display: flex; overflow-x: auto; scrollbar-width: none;
  max-width: 1400px; margin: 0 auto; width: 100%;
}
.ssp3-nav-inner::-webkit-scrollbar { display: none; }
.ssp3-nav-tab {
  font-family: var(--sans); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text-lt);
  background: none; border: none; border-bottom: 2px solid transparent;
  padding: 18px 0; cursor: pointer; flex: 1; text-align: center;
  transition: all 0.2s; white-space: nowrap;
}
.ssp3-nav-tab:hover { color: var(--bark); }
.ssp3-nav-tab.is-active { color: var(--bark); border-bottom-color: var(--terra); }

/* ssp3 panels */
.ssp3-panels {}
.ssp3-panel { display: none; padding: 56px 80px; background: var(--warm-wht); }
.ssp3-panel.is-active { display: block; }

/* ssp3 space head */
.ssp3-space-head { margin-bottom: 32px; display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; }
.ssp3-space-head-text { flex: 1; }
.ssp3-space-num { font-family: var(--num); font-size: 0.72rem; color: var(--terra); opacity: 0.6; display: block; margin-bottom: 12px; }
.ssp3-space-title { font-family: var(--serif); font-size: clamp(1.8rem,2.8vw,2.4rem); font-weight: 300; color: var(--bark); margin: 0 0 8px; line-height: 1.1; }
.ssp3-space-desc { font-size: 0.86rem; font-weight: 300; line-height: 1.8; color: var(--text-lt); max-width: 900px; margin: 0; }

/* ssp3 bundles label row */
.ssp3-bundles-label {
  display: flex; align-items: center; gap: 16px; margin-bottom: 20px;
}
.ssp3-bundles-label span {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 500;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--terra); white-space: nowrap;
}
.ssp3-bundles-label::after { content: ''; flex: 1; height: 1px; background: var(--linen-mid); }

/* ssp3 space pills (sub-category) */
.ssp3-space-pills {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px;
}
.ssp3-space-pill {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  background: none; border: 1px solid var(--linen-mid);
  color: var(--text-lt); padding: 7px 16px; border-radius: 40px;
  cursor: pointer; transition: all 0.2s; white-space: nowrap;
}
.ssp3-space-pill:hover { border-color: var(--clay); color: var(--bark); }
.ssp3-space-pill.is-active { background: var(--terra); color: var(--warm-wht); border-color: var(--terra); }

/* ssp3 extend (add-ons) */
.ssp3-extend { margin-top: 48px; }
.ssp3-extend-head { margin-bottom: 20px; }
.ssp3-extend-title {
  font-family: var(--serif); font-size: 1.15rem; font-weight: 300;
  color: var(--bark); display: block; margin-bottom: 4px;
}
.ssp3-extend-sub {
  font-family: var(--sans); font-size: 0.78rem; font-weight: 300;
  color: var(--text-lt);
}
.ssp3-addons-empty {
  font-family: var(--sans); font-size: 0.78rem; font-weight: 300;
  color: var(--text-lt); font-style: italic; margin-top: 16px;
}
.ssp3-extend-scroll { overflow-x: auto; scrollbar-width: none; }
.ssp3-extend-scroll::-webkit-scrollbar { display: none; }
.ssp3-extend-track { display: flex; gap: 16px; width: max-content; }
.ssp3-extend-card {
  width: 160px; flex-shrink: 0; display: flex; flex-direction: column;
}
.ssp3-extend-img {
  width: 160px; height: 160px; background: var(--linen-dk);
  border: 1px solid var(--linen-mid); border-radius: 4px; overflow: hidden; margin-bottom: 10px;
}
.ssp3-extend-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp3-extend-name {
  font-family: var(--sans); font-size: 0.78rem; font-weight: 500;
  color: var(--bark); line-height: 1.3; margin-bottom: 8px; display: block;
}
.ssp3-extend-foot {
  display: flex; align-items: center; gap: 0;
}
.ssp3-extend-price {
  font-family: var(--serif); font-size: 0.9rem; font-weight: 300;
  color: var(--terra); flex: 1;
}
.ssp3-extend-atc {
  width: 32px; height: 32px; flex-shrink: 0; border-radius: 2px;
  background: var(--linen); border: 1px solid var(--linen-mid);
  display: flex; align-items: center; justify-content: center;
  color: var(--bark); text-decoration: none; transition: all 0.2s; cursor: pointer;
}
.ssp3-extend-atc:hover { background: var(--bark); color: var(--warm-wht); }

/* coming soon panel */
.ssp3-coming-soon {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 80px 40px; text-align: center;
}
.ssp3-coming-soon h3 { font-family: var(--serif); font-size: 1.8rem; font-weight: 300; color: var(--bark); margin-bottom: 12px; }
.ssp3-coming-soon p { font-size: 0.9rem; font-weight: 300; color: var(--text-lt); line-height: 1.75; max-width: 400px; }

/* Nav */
.ssp-nav {
  background: var(--warm-wht); border-bottom: 1px solid var(--linen-mid);
  position: sticky; top: 104px; z-index: 50;
}
.ssp-nav-inner {
  display: flex; max-width: 1400px; margin: 0 auto; padding: 0 80px;
}
.ssp-nav-btn {
  flex: 1; text-align: center; background: none; border: none;
  border-bottom: 2px solid transparent; padding: 18px 8px;
  font-family: var(--sans); font-size: .67rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-lt);
  cursor: pointer; transition: all .2s; white-space: nowrap;
}
.ssp-nav-btn:hover { color: var(--bark); }
.ssp-nav-btn.is-active { color: var(--bark); border-bottom-color: var(--terra); }

/* Panels */
.ssp-panels {}
.ssp-panel { display: none; padding: 56px 80px; background: var(--warm-wht); }
.ssp-panel.is-active { display: block; }

/* Space header */
.ssp-space-head { margin-bottom: 32px; }
.ssp-space-title {
  font-family: var(--serif); font-size: clamp(1.8rem,2.8vw,2.4rem);
  font-weight: 300; color: var(--bark); margin: 0 0 8px; line-height: 1.1;
}
.ssp-space-desc {
  font-size: .86rem; font-weight: 300; line-height: 1.8;
  color: var(--text-lt); max-width: 900px; margin: 0;
}

/* Section label */
.ssp-label {
  display: flex; align-items: center; gap: 16px; margin-bottom: 20px;
}
.ssp-label span {
  font-family: var(--sans); font-size: .6rem; font-weight: 500;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--terra); white-space: nowrap;
}
.ssp-label::after { content: ''; flex: 1; height: 1px; background: var(--linen-mid); }

/* Bundle scroll */
.ssp-bundles-wrap {
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; margin-bottom: 48px; padding-bottom: 4px;
}
.ssp-bundles-wrap::-webkit-scrollbar { display: none; }
.ssp-bundles-row {
  display: flex; gap: 12px; min-width: 100%;
}
.ssp-bundles-row .ssp-bundle {
  flex: 0 0 calc(25% - 9px); min-width: 220px; scroll-snap-align: start;
}
@media (max-width: 960px) { .ssp-bundles-row .ssp-bundle { flex: 0 0 calc(50% - 6px); } }
@media (max-width: 600px) { .ssp-bundles-row .ssp-bundle { flex: 0 0 78%; } }
.ssp-bundle {
  background: #fff; border: 1px solid var(--linen-mid);
  border-radius: 4px; overflow: hidden;
  display: flex; flex-direction: column;
  position: relative; transition: border-color .2s;
}
.ssp-bundle:hover { border-color: var(--clay); box-shadow: none; }
.ssp-bundle--featured { border-color: var(--terra); border-width: 1.5px; }
.ssp-bundle--featured:hover { border-color: var(--terra-dk); }
.ssp-bundle-badge {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  font-family: var(--sans); font-size: .54rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-align: center;
  background: var(--terra); color: var(--warm-wht);
  padding: 4px 24px; border-radius: 0 0 4px 4px;
  white-space: nowrap; z-index: 1;
}
.ssp-bundle-img { aspect-ratio: 3/2; overflow: hidden; background: var(--linen-dk); }
.ssp-bundle-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssp-bundle-body {
  padding: 20px; display: flex; flex-direction: column; flex: 1;
}
.ssp-bundle-name {
  font-family: var(--serif); font-size: 1.22rem;
  font-weight: 500; color: var(--bark); margin: 0 0 8px; line-height: 1.2;
}
.ssp-bundle-contents {
  font-size: .78rem; font-weight: 300; line-height: 1.7;
  color: var(--text-lt); margin: 0 0 8px;
}
.ssp-bundle-desc {
  font-size: .82rem; font-weight: 300; line-height: 1.75;
  color: var(--text-lt); margin: 0 0 16px; flex: 1;
}
.ssp-bundle-foot {
  border-top: 1px solid var(--linen-mid); padding-top: 14px; margin-top: auto;
}
.ssp-bundle-price-wrap { display: flex; flex-direction: column; gap: 2px; }
.ssp-bundle-save { font-family: var(--sans); font-size: 0.72rem; color: var(--terra); opacity: 0.65; letter-spacing: 0.02em; }
.ssp-bundle-price {
  font-family: var(--serif); font-size: 1.05rem;
  font-weight: 300; color: var(--bark);
  font-variant-numeric: lining-nums; line-height: 1;
  display: block; margin-bottom: 10px;
}
.ssp-bundle-price-curr {
  font-family: var(--serif); font-size: 1.35rem;
  font-weight: 300; letter-spacing: 0;
}
.ssp-bundle-price-num {
  font-family: var(--num); font-size: 0.95rem;
  font-weight: 400; letter-spacing: 0.04em;
}
.ssp-bundle-actions { display: flex; gap: 8px; }
.ssp-bundle-view {
  flex: 1; text-align: center; padding: 0 10px; height: 38px;
  font-family: var(--sans); font-size: .56rem; font-weight: 500;
  letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
  border-radius: 2px; border: 1px solid var(--linen-mid); color: var(--bark);
  background: transparent; transition: all .2s;
  display: flex; align-items: center; justify-content: center;
}
.ssp-bundle-view:hover { background: transparent; color: var(--bark); border-color: var(--clay); }
.ssp-bundle-atc {
  width: 38px; height: 38px; flex-shrink: 0; border-radius: 2px;
  background: var(--linen); border: 1px solid var(--linen-mid); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--bark); text-decoration: none; transition: all .2s;
}
.ssp-bundle-atc:hover { background: var(--clay); color: var(--warm-wht); border-color: var(--clay); }
.ssp-bundle--featured .ssp-bundle-atc { background: var(--bark); }
.ssp-bundle--featured .ssp-bundle-atc:hover { background: var(--bark-lt); }
.ssp-bundle-foot--bespoke {
  display: flex; flex-direction: column; gap: 8px;
}
.ssp-bundle-foot--bespoke .ssp-bundle-price-wrap { flex-shrink: 0; }
.ssp-bundle-foot--bespoke .ssp-bundle-price { margin-bottom: 2px; font-size: 0.95rem; }
.ssp-bundle-atc--full {
  width: 140px; display: block; text-align: center;
  height: 38px; line-height: 38px; padding: 0;
  font-family: var(--sans); font-size: 0.56rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap;
  border-radius: 2px; border: 1px solid var(--terra);
  color: var(--warm-wht); background: var(--terra);
  transition: background 0.2s; cursor: pointer;
}
.ssp-bundle-atc--full:hover { background: var(--terra-dk); border-color: var(--terra-dk); }

/* Addon section */
.ssp-addons { margin-top: 48px; }
.ssp-addons-sub {
  font-size: .78rem; font-weight: 300; color: var(--text-lt);
  margin: 4px 0 20px;
}
.ssp-addons-scroll { overflow-x: auto; scrollbar-width: none; }
.ssp-addons-scroll::-webkit-scrollbar { display: none; }
.ssp-addons-row { display: flex; gap: 16px; width: max-content; }

/* Addon card */
.ssp-ao {
  width: 148px; flex-shrink: 0;
  display: flex; flex-direction: column;
}
.ssp-ao-img {
  display: block; text-decoration: none;
  width: 148px; height: 148px; flex-shrink: 0;
  overflow: hidden; border-radius: 4px;
  background: var(--linen-dk); border: 1px solid var(--linen-mid);
  transition: opacity .2s;
}
.ssp-ao-img:hover { opacity: .85; }
.ssp-ao-img img { width: 148px; height: 148px; object-fit: cover; display: block; }
.ssp-ao-ph { width: 148px; height: 148px; display: block; }
.ssp-ao-name {
  font-family: var(--sans); font-size: .78rem; font-weight: 500;
  color: var(--bark); line-height: 1.3;
  display: block; margin-top: 8px; margin-bottom: 8px;
  width: 148px;
}
.ssp-ao-foot {
  display: flex; flex-direction: row; align-items: center;
  gap: 0; width: 148px;
}
.ssp-ao-price {
  font-family: var(--serif); font-size: .9rem; font-weight: 300;
  color: var(--terra); flex: 1;
}
.ssp-ao-atc {
  width: 32px; height: 32px; flex-shrink: 0; border-radius: 2px;
  background: var(--linen); border: 1px solid var(--linen-mid);
  display: flex; align-items: center; justify-content: center;
  color: var(--bark); text-decoration: none; transition: all .2s;
}
.ssp-ao-atc:hover { background: var(--bark); color: var(--warm-wht); }

/* Kitchen Sub-nav — inline with space heading */
.ssp-space-head--kitchen {
  display: flex; align-items: flex-start;
  justify-content: space-between; gap: 24px;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .ssp-space-head--kitchen { flex-direction: column; gap: 16px; }
  .ssp-subnav { width: 100%; }
}
.ssp-space-head-left { flex: 1; min-width: 0; }
.ssp-subnav {
  display: flex; gap: 8px; flex-wrap: wrap;
  align-items: center; padding: 0; border: none;
  background: transparent;
}
.ssp-subnav-btn {
  font-family: var(--sans); font-size: .58rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  background: var(--linen); color: var(--clay);
  border: 1px solid var(--linen-mid); border-radius: 40px;
  padding: 9px 20px; cursor: pointer; transition: all .2s;
}
.ssp-subnav-btn:hover { background: var(--linen-mid); color: var(--bark); }
.ssp-subnav-btn.is-active {
  background: var(--terra); color: var(--warm-wht);
  border-color: var(--terra);
}
.ssp-subpanel { display: none; }
.ssp-subpanel.is-active { display: block; }

/* Quiz CTA */
.ssp-quiz {
  background: var(--terra); padding: 80px;
  text-align: center;
}
.ssp-quiz-eyebrow {
  font-size: .6rem; font-weight: 500; letter-spacing: .26em;
  text-transform: uppercase; color: rgba(242,235,224,.65);
  display: block; margin-bottom: 16px;
}
.ssp-quiz-title {
  font-family: var(--serif); font-size: clamp(2rem,3vw,3rem);
  font-weight: 300; color: var(--warm-wht); line-height: 1.1; margin-bottom: 16px;
}
.ssp-quiz-title em { font-style: italic; }
.ssp-quiz-body {
  font-size: .9rem; font-weight: 300; color: rgba(242,235,224,.75);
  max-width: 480px; margin: 0 auto 32px; line-height: 1.8;
}
.ssp-quiz-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 960px) {
  .ssp-hero { grid-template-columns: 1fr; }
  .ssp-hero-text { padding: 56px 40px; }
  .ssp-nav-inner { padding: 0 40px; }
  .ssp-panel { padding: 40px; }
  .ssp-bundle { width: 200px; }
  .ssp-quiz { padding: 56px 40px; }
}
@media (max-width: 600px) {
  .ssp-hero-text { padding: 40px 24px; }
  .ssp-nav-inner { padding: 0; overflow-x: auto; }
  .ssp-panel { padding: 32px 24px; }
  .ssp-quiz { padding: 48px 24px; }
}

/* Addon cards — small bundle variant */
.ssp-bundle--sm { width: 160px; }
.ssp-bundle--sm .ssp-bundle-img { aspect-ratio: 1; }
.ssp-bundle--sm .ssp-bundle-name { font-size: .9rem; }

/* Addon header row — name left, cart button right */
.ssp-ao-header {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 8px; margin-bottom: 6px;
}
.ssp-ao-header .ssp-bundle-name { margin: 0; flex: 1; }
.ssp-ao-header .ssp-bundle-atc { flex-shrink: 0; margin-top: 1px; }

/* Addon price — Jost font */
.ssp-ao-price {
  font-family: var(--sans); font-size: .85rem; font-weight: 400;
  color: var(--terra); display: block;
}

/* Remove border-top from addon bundle foot */
.ssp-bundle--sm .ssp-bundle-foot { display: none; }
.ssp-bundle--sm .ssp-bundle-body { padding-top: 14px; }

/* Addon card sizing fixes */
.ssp-ao-header .ssp-bundle-atc {
  width: 30px; height: 30px; background: var(--terra);
}
.ssp-bundle--sm .ssp-bundle-body {
  padding: 12px 14px 14px; flex: none;
}
.ssp-ao-price { margin-top: 4px; }

/* Addon price overlay on image */
.ssp-ao-img-wrap { position: relative; }
.ssp-ao-price-tag {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(255,255,255,0.88);
  font-family: var(--sans); font-size: .82rem; font-weight: 400;
  color: var(--bark); padding: 5px 10px; display: block;
}
/* Addon atc — small terra */
.ssp-ao-atc {
  width: 28px !important; height: 28px !important;
  background: var(--terra) !important; color: var(--warm-wht) !important;
  border: none !important;
}
.ssp-ao-atc:hover { background: var(--terra-dk) !important; }

/* Addon card body — name+price left, button right */
.ssp-ao-body {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 12px 14px;
}
.ssp-ao-text {
  display: flex; flex-direction: column; gap: 3px; flex: 1; min-width: 0;
}
.ssp-ao-name {
  font-family: var(--sans); font-size: .8rem; font-weight: 500;
  color: var(--bark); line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ssp-ao-price {
  font-family: var(--sans); font-size: .78rem; font-weight: 400; color: var(--terra);
}
.ssp-ao-atc {
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 2px;
  background: var(--terra); border: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--warm-wht); text-decoration: none; transition: background .2s;
}
.ssp-ao-atc:hover { background: var(--terra-dk); }

/* Tighten addon card spacing */
.ssp-ao-body { padding: 10px 14px; align-items: center; }
.ssp-ao-text { gap: 2px; }
.ssp-ao-atc { width: 32px; height: 32px; align-self: center; }

.ssp-ao-price { margin-top: -2px; }
.ssp-ao-price { margin-top: -4px; }
.ssp-ao-price { margin-top: -9px; }
.ssp-ao-atc { margin-top: 4px; }
.ssp-ao-price { margin-top: -12px; }

/* Fix badge text centering */
.ssp-bundle-badge {
  text-align: center;
}

/* Hero — text left aligned, image full height */
.ssp-hero-text {
  text-align: left;
}
.ssp-hero-img {
  height: 100%;
}
.ssp-hero-img img, .ssp-hero-ph {
  height: 100%;
  min-height: 480px;
}

/* Featured bundle — ATC button stays neutral, not terra */
.ssp-bundle--featured .ssp-bundle-atc {
  background: var(--linen);
  border: 1px solid var(--linen-mid);
  color: var(--bark);
}
.ssp-bundle--featured .ssp-bundle-atc:hover {
  background: var(--bark);
  color: var(--warm-wht);
  border-color: var(--bark);
}

/* Reset hero image override */
.ssp-hero-img img, .ssp-hero-ph { height: 100%; min-height: unset; }

/* ── BUILD YOUR OWN CARD ── */
.ssp-bundle--byo { cursor: pointer; transition: border-color 0.2s; }
.ssp-bundle--byo:hover { box-shadow: none; }
.ssp-bundle-img--byo { display: flex; align-items: center; justify-content: center; color: var(--clay); }
.ssp-bundle--byo .ssp-bundle-actions { justify-content: flex-end; }
.ssp-bundle--byo .ssp-byo-open {
  font-family: var(--sans); font-size: 0.56rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: 1px solid var(--terra); border-radius: 2px;
  width: 140px; text-align: center; height: 38px; line-height: 38px;
  padding: 0; cursor: pointer; transition: background 0.2s;
  white-space: nowrap; display: block;
}
.ssp-bundle--byo .ssp-byo-open:hover { background: var(--terra-dk); border-color: var(--terra-dk); }

/* ── BYO BUILDER POPUP OVERLAY ── */
.ssp-byo-overlay { position: fixed; inset: 0; background: rgba(62,36,16,0.45); z-index: 900; display: flex; align-items: center; justify-content: center; padding: 60px 80px; }
.ssp-byo-builder { background: #ffffff; border: 1px solid var(--linen-mid); border-radius: 4px; overflow: hidden; position: relative; width: 100%; max-width: none; display: flex; flex-direction: column; }

/* Header — step progress */
.ssp-byo-header { display: flex; justify-content: space-between; align-items: center; padding: 14px 24px; border-bottom: 1px solid var(--linen-mid); background: #ffffff; gap: 20px; }
.ssp-byo-steps-progress { display: flex; align-items: center; gap: 12px; }
.ssp-byo-step-pip { font-family: var(--sans); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bark); opacity: 0.3; transition: opacity 0.2s, color 0.2s; white-space: nowrap; }
.ssp-byo-step-pip.is-active { opacity: 1; color: var(--terra); font-weight: 700; }
.ssp-byo-step-pip.is-done { opacity: 0.55; color: var(--bark); }
.ssp-byo-step-divider { color: var(--linen-mid); font-size: 0.7rem; }
.ssp-byo-close { font-family: var(--sans); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--clay); background: none; border: none; cursor: pointer; transition: color 0.2s; white-space: nowrap; flex-shrink: 0; }
.ssp-byo-close:hover { color: var(--bark); }

/* Body — fixed height, scrolls horizontally */
.ssp-byo-body { padding: 0 24px; background: #ffffff; height: 320px; overflow-x: auto; overflow-y: hidden; position: relative; scrollbar-width: thin; scrollbar-color: var(--linen-mid) transparent; }
.ssp-byo-body::-webkit-scrollbar { height: 4px; }
.ssp-byo-body::-webkit-scrollbar-track { background: transparent; }
.ssp-byo-body::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.ssp-byo-step { display: none; }
.ssp-byo-step.is-active { display: block; }
.ssp-byo-step-title { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--bark); margin: 26px 0 8px; }
[data-byo-step="2"] .ssp-byo-step-title { margin-top: 26px; margin-bottom: 14px; }
[data-byo-step="1"] .ssp-byo-step-title, [data-byo-step="3"] .ssp-byo-step-title { margin-bottom: 13px; }

/* Step 1 product grid — 2 rows × 3 cols visible, horizontal scroll for more */
.ssp-byo-grid { display: grid; grid-template-rows: repeat(2, auto); grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 3); gap: 10px; width: 100%; }
.ssp-lbl-field-inputs { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ssp-lbl-zone-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; color: var(--clay); letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.ssp-lbl-zdrop { position: relative; width: 100%; }
.ssp-lbl-zdrop-trigger { width: 100%; height: 34px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 0 10px; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); background: var(--linen); border: 1px solid var(--linen-mid); border-radius: 5px; cursor: pointer; text-align: left; transition: border-color 0.15s; }
.ssp-lbl-zdrop-trigger:hover { border-color: var(--clay); }
.ssp-lbl-zdrop-trigger.is-open { border-color: var(--terra); }
.ssp-lbl-zdrop-text { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ssp-lbl-zdrop-arrow { flex-shrink: 0; color: var(--clay); display: flex; align-items: center; transition: transform 0.15s; }
.ssp-lbl-zdrop-trigger.is-open .ssp-lbl-zdrop-arrow { transform: rotate(180deg); }
.ssp-lbl-zdrop-list { display: none; position: absolute; background: var(--warm-wht); border: 1px solid var(--linen-mid); border-radius: 5px; box-shadow: 0 4px 16px rgba(0,0,0,0.12); z-index: 9999; list-style: none; margin: 0; padding: 4px 0; overflow: hidden; }
.ssp-lbl-zdrop-list.is-open { display: block; }
.ssp-lbl-zdrop-item { padding: 8px 12px; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); cursor: pointer; transition: background 0.1s; white-space: nowrap; }
.ssp-lbl-zdrop-item:hover { background: var(--linen); color: var(--bark); }
.ssp-lbl-zdrop-item.is-selected { color: var(--terra); font-weight: 500; background: var(--linen); }
.ssp-lbl-zone-select:focus { outline: none; border-color: var(--terra); }
.ssp-lbl-zone-custom { width: 100%; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); background: var(--warm-wht); border: 1px solid var(--linen-mid); border-radius: 2px; padding: 6px 8px; }
.ssp-lbl-zone-text-wrap { position: relative; width: 100%; }
.ssp-lbl-zone-text { width: 100%; height: 34px; box-sizing: border-box; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); background: var(--linen); border: 1px solid var(--linen-mid); border-radius: 5px; padding: 0 28px 0 10px; }
.ssp-lbl-zone-text:focus { outline: none; border-color: var(--terra); }
.ssp-lbl-zone-text::placeholder { color: var(--clay); opacity: 0.6; }
.ssp-lbl-zone-restore { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 0.9rem; color: var(--clay); padding: 0; line-height: 1; opacity: 0.6; transition: opacity 0.15s; }
.ssp-lbl-zone-restore:hover { opacity: 1; color: var(--terra); }
.ssp-byo-item { display: flex; align-items: center; gap: 14px; border: 1px solid var(--linen-mid); border-radius: 3px; padding: 14px 16px; background: #ffffff; }
.ssp-byo-img { width: 80px; height: 80px; background: var(--linen); border-radius: 2px; flex-shrink: 0; }
.ssp-byo-info { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.ssp-byo-name { font-family: var(--sans); font-size: 0.8rem; font-weight: 400; color: var(--bark); line-height: 1.3; }
.ssp-byo-subtitle { font-family: var(--sans); font-size: 0.64rem; font-weight: 400; color: var(--bark); line-height: 1.3; margin-top: 1px; display: block; opacity: 0.6; }
.ssp-byo-price { font-family: var(--sans); font-size: 0.72rem; font-weight: 500; color: var(--terra); }
.ssp-byo-price-original { font-family: var(--sans); font-size: 0.72rem; font-weight: 300; color: var(--clay); text-decoration: line-through; margin-right: 4px; }
.ssp-byo-min-note { font-family: var(--sans); font-size: 0.62rem; font-weight: 400; color: var(--terra); margin-top: 2px; }
.ssp-byo-qty { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.ssp-byo-btn { width: 22px; height: 22px; border-radius: 2px; border: 1px solid var(--linen-mid); background: #ffffff; color: var(--bark); font-size: 0.8rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; }
.ssp-byo-btn:hover { border-color: var(--terra); color: var(--terra); }
.ssp-byo-val { font-family: var(--sans); font-size: 0.88rem; font-weight: 500; color: var(--bark); min-width: 20px; text-align: center; }
.ssp-byo-empty { font-size: 0.78rem; font-weight: 300; color: var(--clay); font-style: italic; padding: 20px 0 4px; grid-column: 1 / -1; }

/* Fixed footer bar — outside the body, always same height */
.ssp-byo-footer-bar { display: flex; align-items: center; justify-content: space-between; padding: 14px 24px; border-top: 1px solid var(--linen-mid); background: #ffffff; gap: 16px; }
.ssp-byo-footer-left { display: flex; align-items: center; gap: 16px; }
.ssp-byo-footer-right { display: flex; align-items: center; gap: 10px; }
.ssp-byo-notice-bar { position: absolute; bottom: 8px; right: 24px; pointer-events: none; }
.ssp-byo-total { display: flex; flex-direction: column; gap: 3px; }
.ssp-byo-total-label { font-family: var(--sans); font-size: 0.82rem; font-weight: 400; color: var(--bark); display: flex; align-items: center; gap: 8px; margin-bottom: 1px; }
.ssp-byo-item-count { font-family: var(--sans); font-size: 0.65rem; font-weight: 400; color: var(--terra); display: block; margin-top: 3px; }
.ssp-byo-item-count.is-ready { color: var(--terra); font-weight: 500; }
.ssp-byo-notice { font-family: var(--sans); font-size: 0.68rem; font-weight: 500; color: var(--terra); display: block; }
.ssp-byo-discount-badge { font-family: var(--sans); font-size: 0.55rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; background: var(--terra); color: var(--warm-wht); padding: 2px 7px; border-radius: 20px; }
.ssp-byo-total-row { display: flex; align-items: baseline; gap: 10px; }
.ssp-byo-total-val { font-family: var(--sans); font-size: 1.4rem; font-weight: 700; color: var(--bark); }
.ssp-byo-subtotal-val { font-family: var(--sans); font-size: 0.85rem; font-weight: 400; color: var(--bark); text-decoration: line-through; opacity: 0.5; }
.ssp-byo-back { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 2px; padding: 10px 18px; cursor: pointer; transition: all 0.2s; background: none; border: 1px solid var(--linen-mid); color: var(--clay); }
.ssp-byo-back:hover { border-color: var(--clay); color: var(--bark); }
.ssp-byo-back.is-hidden { visibility: hidden; }
.ssp-byo-next { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 2px; padding: 10px 22px; cursor: pointer; transition: all 0.2s; background: var(--terra); color: var(--warm-wht); border: none; }
.ssp-byo-next:hover { background: var(--terra-dk); }
.ssp-byo-atc { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; background: var(--terra); color: var(--warm-wht); border: none; border-radius: 2px; padding: 10px 22px; cursor: pointer; transition: background 0.2s; white-space: nowrap; }
.ssp-byo-atc:hover { background: var(--terra-dk); }
.ssp-byo-atc.is-hidden, .ssp-byo-next.is-hidden { display: none; }
/* Fix badge clipping — wider padding so text fits */
.ssp-bundle-badge {
  padding: 5px 28px;
}
/* All cart buttons — neutral linen, no terra */
.ssp-bundle-atc {
  background: var(--linen);
  border: 1px solid var(--clay);
  color: var(--bark);
}
.ssp-bundle-atc:hover {
  background: var(--bark);
  color: var(--warm-wht);
  border-color: var(--bark);
}
.ssp-ao-atc {
  background: var(--linen);
  border: 1px solid var(--clay);
  color: var(--bark);
}
.ssp-ao-atc:hover {
  background: var(--bark);
  color: var(--warm-wht);
  border-color: var(--bark);
}

.ssp-bundle-atc { background: var(--linen); border: 1px solid var(--linen-mid); color: var(--bark); }
.ssp-bundle-atc:hover { background: var(--clay); color: var(--warm-wht); }

/* Addon ATC — linen, hover clay */
.ssp-ao-atc {
  background: var(--linen) !important;
  border: 1px solid var(--linen-mid) !important;
  color: var(--bark) !important;
}
.ssp-ao-atc:hover {
  background: var(--clay) !important;
  color: var(--warm-wht) !important;
  border-color: var(--clay) !important;
}

/* Cart buttons — white, linen hover */
.ssp-bundle-atc {
  background: #fff !important;
  border: 1px solid var(--linen-mid) !important;
  color: var(--bark) !important;
}
.ssp-bundle-atc:hover {
  background: var(--linen) !important;
  border-color: var(--clay) !important;
}
.ssp-ao-atc {
  background: #fff !important;
  border: 1px solid var(--linen-mid) !important;
  color: var(--bark) !important;
}
.ssp-ao-atc:hover {
  background: var(--linen) !important;
  border-color: var(--clay) !important;
}

/* Addon cards — 7 across */
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 calc(14.28% - 11px);
  min-width: 140px;
}
@media (max-width: 960px) { .ssp-addons-row .ssp-bundle--sm { flex: 0 0 calc(25% - 9px); min-width: 140px; } }
@media (max-width: 600px) { .ssp-addons-row .ssp-bundle--sm { flex: 0 0 30%; min-width: 120px; } }

/* Bundle foot — price left, view + atc right on same row, vertically centred */
.ssp-bundle-foot {
  border-top: 1px solid var(--linen-mid);
  padding-top: 14px; margin-top: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
}
.ssp-bundle-price-wrap { display: flex; flex-direction: column; gap: 2px; }
.ssp-bundle-price { margin-bottom: 0; }
.ssp-bundle-actions { flex-shrink: 0; align-items: center; }

/* Addon cards — 7 across before scrolling */
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 calc(14.2857% - 11px) !important;
  width: auto !important;
  min-width: 120px;
}

/* All cart buttons — white, linen on hover */
.ssp-bundle-atc {
  background: #fff !important; border: 1px solid var(--linen-mid) !important; color: var(--bark) !important;
}
.ssp-bundle-atc:hover { background: var(--linen) !important; border-color: var(--clay) !important; }
.ssp-ao-atc {
  background: #fff !important; border: 1px solid var(--linen-mid) !important; color: var(--bark) !important;
}
.ssp-ao-atc:hover { background: var(--linen) !important; border-color: var(--clay) !important; }

/* Addon cards — fixed 6 across, fixed size regardless of count */
.ssp-addons-row {
  display: flex !important; gap: 12px !important;
  flex-wrap: nowrap !important;
}
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 calc(16.666% - 10px) !important;
  width: calc(16.666% - 10px) !important;
  min-width: 120px !important; max-width: 180px !important;
}
/* All cart buttons — terracotta */
.ssp-bundle-atc {
  background: var(--terra) !important; border: none !important; color: var(--warm-wht) !important;
}
.ssp-bundle-atc:hover { background: var(--terra-dk) !important; }
.ssp-ao-atc {
  background: var(--terra) !important; border: none !important; color: var(--warm-wht) !important;
}
.ssp-ao-atc:hover { background: var(--terra-dk) !important; }

/* Addon cards — fixed 196px so exactly 6 fit on 1400px viewport before scrolling */
.ssp-addons-row {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
}
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 196px !important;
  width: 196px !important;
  min-width: 196px !important;
  max-width: 196px !important;
}

/* Addon cards — 190px so exactly 6 show, 7th requires scroll */
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 190px !important;
  width: 190px !important;
  min-width: 190px !important;
  max-width: 190px !important;
}
/* Tighten spacing between ADD TO YOUR SYSTEM header and sub-text */
.ssp-addons-sub { margin-top: 2px !important; margin-bottom: 16px !important; }

/* Addon cards — 200px wide (slightly taller than square), exactly 6 fit in 1280px content area */
.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-width: 200px !important;
  max-width: 200px !important;
}
/* Sub-text spacing */
.ssp-addons { margin-top: 40px; }
.ssp-addons .ssp-label { margin-bottom: 4px; }
.ssp-addons-sub { margin-top: 0 !important; margin-bottom: 16px !important; line-height: 1.4; }

.ssp-addons-row .ssp-bundle--sm {
  flex: 0 0 208px !important;
  width: 208px !important;
  min-width: 208px !important;
  max-width: 208px !important;
}

/* ── Quiz modal ── */
/* ── QUIZ — modal with new card layout ── */
.sqz-overlay {
  display: none; position: fixed; inset: 0;
  background: rgba(42,26,12,0.55); z-index: 200;
}
.sqz-overlay.is-open { display: block; }
.sqz-modal {
  display: none; position: fixed; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: var(--warm-wht); border-radius: 6px;
  width: min(640px, calc(100vw - 40px));
  max-height: calc(100vh - 60px); overflow-y: auto;
  padding: 52px 48px 48px; z-index: 201;
  box-shadow: 0 24px 64px rgba(0,0,0,0.18);
}
.sqz-modal.is-open { display: block; }
.sqz-close {
  position: absolute; top: 18px; right: 18px;
  background: none; border: none; cursor: pointer;
  color: var(--text-lt); padding: 6px; display: flex;
  align-items: center; transition: color 0.2s;
}
.sqz-close:hover { color: var(--bark); }
.sqz-steps-indicator {
  display: flex; align-items: center; justify-content: center;
  gap: 8px; margin-bottom: 36px;
}
.sqz-step-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--linen-mid); transition: all 0.3s;
}
.sqz-step-dot.is-active { background: var(--terra); width: 24px; border-radius: 4px; }
.sqz-step-dot.is-done { background: var(--clay); }
.sqz-step { display: none; }
.sqz-step.is-active { display: block; }
.sqz-q {
  font-family: var(--serif); font-size: 1.5rem;
  font-weight: 300; color: var(--bark);
  text-align: center; margin-bottom: 28px; line-height: 1.3;
}
.sqz-cards {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
}
.sqz-cards--wide {
  flex-direction: column;
}
.sqz-card {
  background: var(--linen); border: 1.5px solid var(--linen-dk);
  border-radius: 4px; padding: 16px 20px;
  cursor: pointer; transition: all 0.2s;
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; min-width: 110px; text-align: center;
  font-family: var(--sans);
}
.sqz-card:hover:not(:disabled) { border-color: var(--terra); background: #fff; }
.sqz-card.is-selected { border-color: var(--terra); background: #fff; box-shadow: 0 0 0 1px var(--terra); }
.sqz-card--text {
  flex-direction: column; align-items: flex-start;
  text-align: left; width: 100%; min-width: 0;
}
.sqz-card--soon { opacity: 0.4; cursor: not-allowed; }
.sqz-card-icon { color: var(--clay); }
.sqz-card-label {
  font-size: 0.82rem; font-weight: 500; color: var(--bark);
  letter-spacing: 0.01em;
}
.sqz-card-sub {
  font-size: 0.75rem; font-weight: 300; color: var(--text-lt);
  line-height: 1.5;
}
.sqz-card-soon {
  font-family: var(--sans); font-size: 0.5rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  background: var(--linen-dk); color: var(--text-lt);
  padding: 2px 6px; border-radius: 2px;
}
.sqz-result { text-align: center; }
.sqz-result-img-wrap { margin-bottom: 20px; }
.sqz-result-img {
  width: 100%; max-height: 200px; object-fit: cover;
  border-radius: 4px;
}
.sqz-result-eyebrow {
  font-size: 0.6rem; font-weight: 500; letter-spacing: 0.26em;
  text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 10px;
}
.sqz-result-title {
  font-family: var(--serif); font-size: 1.8rem; font-weight: 300;
  color: var(--bark); margin-bottom: 6px;
}
.sqz-result-price {
  font-family: var(--sans); font-size: 0.9rem; font-weight: 500;
  color: var(--terra); margin-bottom: 10px;
}
.sqz-result-desc {
  font-size: 0.84rem; font-weight: 300; color: var(--text-lt);
  line-height: 1.8; margin-bottom: 28px;
}
.sqz-result-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.sqz-btn {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none;
  padding: 13px 24px; border-radius: 2px; cursor: pointer;
  transition: all 0.2s; border: none; display: inline-block;
}
.sqz-btn--primary { background: var(--terra); color: var(--warm-wht); }
.sqz-btn--primary:hover { background: var(--terra-dk); }
.sqz-btn--ghost { background: transparent; border: 1px solid var(--clay); color: var(--bark); }
.sqz-btn--ghost:hover { background: var(--linen); }
@media (max-width: 600px) {
  .sqz-modal { padding: 48px 24px 36px; }
  .sqz-cards { gap: 8px; }
  .sqz-card { min-width: 90px; padding: 14px 16px; }
}

/* Hero quiz trigger */
button.ssp3-hero-quiz-btn {
  background: none; border: none; padding-bottom: 2px; cursor: pointer;
  display: inline-block; margin-top: 24px;
  font-family: var(--sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  color: var(--clay); border-bottom: 1px solid var(--clay); transition: all .2s;
}
button.ssp3-hero-quiz-btn:hover { color: var(--warm-wht); border-color: var(--warm-wht); }

/* Hero quiz CTA button */
button.ssp3-hero-quiz-cta {
  display: inline-block; margin-top: 28px; cursor: pointer;
  font-family: var(--sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: none; border-radius: 2px; padding: 13px 24px; transition: background .2s;
}
button.ssp3-hero-quiz-cta:hover { background: var(--terra-dk); }

/* Quiz CTA — smaller button with label above */
button.ssp3-hero-quiz-cta {
  display: inline-block; margin-top: 28px; cursor: pointer;
  font-family: var(--sans); font-size: .58rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: none; border-radius: 2px; padding: 10px 18px; transition: background .2s;
}
button.ssp3-hero-quiz-cta:hover { background: var(--terra-dk); }
.ssp3-hero-quiz-label {
  display: block; margin-top: 28px; margin-bottom: 8px;
  font-family: var(--sans); font-size: .72rem; font-weight: 300;
  color: rgba(242,235,224,.55);
}
/* Eyebrow — push down from top */
.ssp3-hero-text { padding-top: 80px; }

/* Quiz label + button — inline, vertically centered in hero */
.ssp3-hero-quiz-label {
  display: block; margin-top: 28px; margin-bottom: 8px;
  font-family: var(--sans); font-size: .72rem; font-weight: 300;
  color: rgba(242,235,224,.55);
}
button.ssp3-hero-quiz-cta {
  display: inline-block; cursor: pointer;
  font-family: var(--sans); font-size: .62rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: none; border-radius: 2px; padding: 12px 24px; transition: background .2s;
  width: auto !important;
}
button.ssp3-hero-quiz-cta:hover { background: var(--terra-dk); }
/* Hero text vertical centering */
.ssp3-hero-text { justify-content: center !important; padding-top: 80px !important; }

/* Take the quiz button — auto width only */
button.ssp3-hero-quiz-cta {
  display: inline-block !important;
  width: auto !important;
  padding: 12px 28px !important;
  cursor: pointer;
}
/* Hero text padding — reduce top gap, less bottom space */
.ssp3-hero-text {
  padding: 56px 80px 56px !important;
  justify-content: center !important;
}

/* Fix hero text — restore correct top padding, center vertically */
.ssp3-hero-text {
  padding: 80px 80px 56px !important;
  justify-content: center !important;
  align-items: flex-start !important;
}
/* Quiz button — auto width, don't stretch */
button.ssp3-hero-quiz-cta {
  align-self: flex-start !important;
  width: auto !important;
  display: inline-block !important;
  padding: 12px 28px !important;
}

.ssp3-hero-text { padding: 88px 80px !important; }

.ssp3-hero-quiz-label { margin-bottom: 4px !important; margin-top: 20px !important; }

.ssp3-hero-quiz-label { margin-top: 24px !important; margin-bottom: 6px !important; }
button.ssp3-hero-quiz-cta { margin-top: 0 !important; }

/* ── Product Detail Page ── */
.pdp-wrap { max-width: 1400px; margin: 0 auto; padding: 0 60px 80px; }

.pdp-breadcrumb {
  padding: 20px 0 32px;
  font-size: .62rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-lt); display: flex; align-items: center; gap: 8px;
}
.pdp-breadcrumb a { color: var(--text-lt); text-decoration: none; }
.pdp-breadcrumb a:hover { color: var(--terra); }
.pdp-breadcrumb span { opacity: .5; }
/* Gallery breadcrumb — same spacing as info side so image aligns with h1 */
.pdp-breadcrumb--gallery {
  padding: 20px 0 32px;
  margin: 0;
}

.pdp-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 72px; align-items: start;
}

/* Gallery */
.pdp-gallery { position: sticky; top: 116px; }
.pdp-hero {
  width: 100%; aspect-ratio: 1; background: var(--linen);
  border-radius: 4px; overflow: hidden; margin-bottom: 10px;
}
.pdp-hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-hero-ph {
  width: 100%; height: 100%; display: flex; align-items: center;
  justify-content: center;
  font-family: var(--serif); font-size: 1.1rem; color: var(--clay);
}
.pdp-thumbs { display: flex; gap: 8px; }
.pdp-thumb {
  flex: 1; aspect-ratio: 1; background: var(--linen); border-radius: 3px;
  overflow: hidden; border: 2px solid transparent; cursor: pointer;
  padding: 0; transition: border-color .2s;
}
.pdp-thumb.is-active { border-color: var(--terra); }
.pdp-thumb:hover:not(.is-active) { border-color: var(--clay); }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Info */
.pdp-info { padding-top: 60px; min-width: 0; overflow: visible; }
.pdp-title {
  font-family: var(--serif); font-size: clamp(1.65rem, 2.5vw, 2.35rem);
  font-weight: 300; line-height: 1.1; margin-bottom: 12px; color: var(--bark);
  font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1;
}
.pdp-intro {
  font-size: .86rem; color: var(--text-lt); line-height: 1.8;
  margin-bottom: 24px; font-weight: 300;
}
.pdp-price { display: flex; align-items: baseline; gap: 12px; margin-bottom: 4px; }
.pdp-price-val {
  font-family: var(--serif); font-size: 1.8rem; font-weight: 300; color: var(--bark);
  font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1;
}
.pdp-price-was {
  font-size: 1rem; color: var(--text-lt); text-decoration: line-through;
  font-family: var(--serif); font-weight: 300;
}
.pdp-price-note {
  font-size: .68rem; color: var(--text-lt); margin-bottom: 28px; letter-spacing: .04em;
}

/* Selected-variant short description — under the variant name, above the price */
.pdp-variant-desc {
  font-family: var(--serif);
  font-size: .95rem;
  font-weight: 300;
  font-style: italic;
  line-height: 1.6;
  color: var(--text-lt);
  margin: 0 0 14px;
}

/* Variant buttons */
.pdp-variant-wrap { margin-bottom: 24px; }
.pdp-opt-group { margin-bottom: 20px; }
.pdp-opt-group:last-child { margin-bottom: 0; }
.pdp-variant-label {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--text-lt); display: block; margin-bottom: 10px;
}
.pdp-variant-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.pdp-variant-btn {
  flex: 1; padding: 16px 14px; border: 1.5px solid var(--linen-mid);
  background: var(--warm-wht); border-radius: 4px; cursor: pointer;
  text-align: left; transition: all .2s; display: flex; flex-direction: column; gap: 4px;
}
.pdp-variant-btn.is-active { border-color: var(--bark); background: var(--linen); }
.pdp-variant-btn:hover:not(.is-active) { border-color: var(--clay); }
.pdp-vbtn-name {
  font-family: var(--sans); font-size: .78rem; font-weight: 500;
  color: var(--bark); letter-spacing: .04em;
}
.pdp-vbtn-desc { font-size: .78rem; color: var(--bark-lt); line-height: 1.5; font-weight: 300; }
.pdp-vbtn-price {
  font-family: var(--serif); font-size: 1rem; color: var(--bark); margin-top: 6px;
}

/* Choice group cards — full-width stacked, accommodates descriptions */
.pdp-choice-btns { display: flex; flex-direction: row; gap: 12px; }
.pdp-choice-btn {
  width: 100%; padding: 14px 16px; border: 1.5px solid var(--linen-mid);
  background: var(--warm-wht); border-radius: 4px; cursor: pointer;
  text-align: left; transition: all .2s; display: flex; flex-direction: column; gap: 5px;
}
.pdp-choice-btn.is-active { border-color: var(--bark); background: var(--linen); }
.pdp-choice-btn:hover:not(.is-active) { border-color: var(--clay); }
.pdp-choice-btn .pdp-vbtn-name { font-size: .82rem; }
.pdp-choice-btn .pdp-vbtn-desc { font-size: .78rem; color: var(--bark-lt); line-height: 1.55; }

/* Shopify-style option dropdowns (one per option) */
.pdp-option-row { margin-bottom: 16px; }
.pdp-option-row:last-child { margin-bottom: 0; }
.pdp-option-select {
  width: 100%; padding: 14px 16px; border: 1.5px solid var(--linen-mid);
  background: var(--warm-wht); border-radius: 4px; cursor: pointer;
  font-family: var(--sans); font-size: .85rem; color: var(--bark);
  letter-spacing: .03em; appearance: none; -webkit-appearance: none;
  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='none' stroke='%237a6a58' stroke-width='1.5' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
  transition: border-color .2s;
}
.pdp-option-select:hover { border-color: var(--clay); }
.pdp-option-select:focus { outline: none; border-color: var(--bark); }
.pdp-option-hint {
  font-size: .74rem; color: var(--clay); margin: -8px 0 16px; line-height: 1.5;
}

/* ATC */
.pdp-atc {
  width: 100%; padding: 17px; text-align: center;
  margin-bottom: 12px; letter-spacing: .16em;
}
.pdp-atc:disabled, .pdp-atc-compact:disabled {
  opacity: .45; cursor: not-allowed;
}
.pdp-trust--inline { flex-direction: row; flex-wrap: wrap; gap: 6px 24px; justify-content: center; }
.pdp-trust--inline span { white-space: nowrap; }
.pdp-trust {
  display: flex; flex-wrap: wrap; gap: 8px 20px;
}
.pdp-trust span {
  font-size: .62rem; font-weight: 500; letter-spacing: .1em;
  text-transform: uppercase; color: var(--clay);
}

/* Description */
.pdp-desc {
  font-size: .86rem; line-height: 1.9; color: var(--text-lt);
  margin-bottom: 28px;
}

/* Accordion */
.pdp-accordion { border-top: 1px solid var(--linen-mid); }
.pdp-acc-item { border-bottom: 1px solid var(--linen-mid); }
.pdp-acc-trigger {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; background: none; border: none; cursor: pointer;
  font-family: var(--sans); font-size: .7rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: var(--bark); text-align: left;
}
.pdp-acc-trigger:hover { color: var(--terra); }
.pdp-acc-icon {
  width: 16px; height: 16px; position: relative; flex-shrink: 0; transition: transform .3s;
}
.pdp-acc-icon::before, .pdp-acc-icon::after {
  content: ''; position: absolute; background: currentColor; border-radius: 1px;
}
.pdp-acc-icon::before { width: 16px; height: 1px; top: 7.5px; left: 0; }
.pdp-acc-icon::after { width: 1px; height: 16px; top: 0; left: 7.5px; transition: transform .3s; }
.pdp-acc-item.is-open .pdp-acc-icon::after { transform: rotate(90deg); }
.pdp-acc-body { max-height: 0; overflow: hidden; transition: max-height .4s ease; }
.pdp-acc-item.is-open .pdp-acc-body { max-height: 2000px; }
.pdp-acc-inner { padding: 4px 0 24px; }

/* Included */
.pdp-inc-section { margin-bottom: 18px; }
.pdp-inc-title {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 8px;
}
.pdp-inc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.pdp-inc-item {
  font-size: .78rem; color: var(--text-lt); padding: 8px 12px;
  background: var(--linen); border-radius: 3px;
  display: flex; align-items: center; gap: 8px;
}
.pdp-inc-item::before {
  content: ''; width: 4px; height: 4px; background: var(--terra);
  border-radius: 50%; flex-shrink: 0;
}

/* Why love it */
.pdp-love-list { display: flex; flex-direction: column; gap: 16px; }
.pdp-love-item { display: flex; gap: 16px; align-items: flex-start; }
.pdp-love-num {
  font-family: var(--serif); font-size: 1.3rem; font-weight: 300;
  color: var(--clay); line-height: 1; flex-shrink: 0; width: 24px;
}
.pdp-love-item div { display: flex; flex-direction: column; gap: 3px; }
.pdp-love-item strong {
  font-size: .78rem; font-weight: 500; color: var(--bark); letter-spacing: .04em;
}
.pdp-love-item span { font-size: .8rem; color: var(--text-lt); line-height: 1.7; }

/* Dimensions */
.pdp-dims-table { width: 100%; border-collapse: collapse; }
.pdp-dims-table th {
  font-size: .6rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase;
  color: var(--text-lt); padding: 10px 12px; text-align: left;
  background: var(--linen); border-bottom: 1px solid var(--linen-mid);
}
.pdp-dims-table td {
  font-size: .8rem; color: var(--bark); padding: 10px 12px;
  border-bottom: 1px solid var(--linen-mid);
}
.pdp-dims-table tr:last-child td { border-bottom: none; }

/* Care */
.pdp-care-list { display: flex; flex-direction: column; gap: 10px; }
.pdp-care-item {
  font-size: .82rem; color: var(--text-lt); padding-left: 16px;
  position: relative; line-height: 1.7;
}
.pdp-care-item::before {
  content: ''; position: absolute; left: 0; top: 9px;
  width: 5px; height: 5px; background: var(--linen-mid); border-radius: 50%;
}

/* Mobile */
@media (max-width: 900px) {
  .pdp-wrap { padding: 0 24px 60px; }
  .pdp-grid { grid-template-columns: 1fr; gap: 40px; }
  .pdp-gallery { position: static; }
  .pdp-inc-grid { grid-template-columns: 1fr; }
  .pdp-variant-btns { flex-direction: column; }
}

/* Gallery — thumbs on left */
.pdp-gallery-inner {
  display: flex; gap: 10px; align-items: flex-start;
}
.pdp-thumbs {
  display: flex; flex-direction: column; gap: 6px; flex-shrink: 0;
}
.pdp-thumb {
  width: 60px; height: 60px; flex: none;
  aspect-ratio: 1; background: var(--linen); border-radius: 3px;
  overflow: hidden; border: 2px solid transparent; cursor: pointer;
  padding: 0; transition: border-color .2s;
}
.pdp-thumb.is-active { border-color: var(--terra); }
.pdp-thumb:hover:not(.is-active) { border-color: var(--clay); }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-hero { flex: 1; aspect-ratio: 1; background: var(--linen); border-radius: 4px; overflow: hidden; margin-bottom: 0; }

/* Included — row layout */
.pdp-inc-rows { display: flex; flex-direction: column; }
.pdp-inc-row {
  display: grid; grid-template-columns: 130px 1fr 80px;
  gap: 12px; align-items: start;
  padding: 14px 0; border-bottom: 1px solid var(--linen-mid);
}
.pdp-inc-row:last-child { border-bottom: none; }
.pdp-inc-cat {
  font-size: .72rem; font-weight: 500; color: var(--bark);
  letter-spacing: .04em; padding-top: 1px;
}
.pdp-inc-items {
  display: flex; flex-wrap: wrap; gap: 4px 10px;
}
.pdp-inc-items span {
  font-size: .78rem; color: var(--text-lt);
}
.pdp-inc-items span:not(:last-child)::after {
  content: '·'; margin-left: 10px; opacity: .4;
}
.pdp-inc-qty {
  font-size: .68rem; font-weight: 500; color: var(--terra);
  text-align: right; letter-spacing: .04em; padding-top: 2px;
}

/* PDP — increase top padding */
.pdp-wrap { padding-top: 64px !important; }

/* Whats included — simplified */
.pdp-inc-simple { display: flex; flex-direction: column; gap: 0; }
.pdp-inc-line {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 11px 0; border-bottom: 1px solid var(--linen-mid);
  gap: 16px;
}
.pdp-inc-line:last-child { border-bottom: none; }
.pdp-inc-line-name {
  font-size: .82rem; color: var(--bark); font-weight: 400;
}
.pdp-inc-line-name span {
  font-size: .75rem; color: var(--text-lt); font-weight: 300;
  margin-left: 6px;
}
.pdp-inc-line-qty {
  font-size: .72rem; color: var(--terra); font-weight: 500;
  letter-spacing: .04em; flex-shrink: 0;
}

/* Add-on section */
.pdp-addons {
  margin-top: 64px; padding-top: 64px;
  border-top: 1px solid var(--linen-mid);
  max-width: 1400px; margin-left: auto; margin-right: auto;
  padding-left: 60px; padding-right: 60px; padding-bottom: 80px;
}
.pdp-addons-header { margin-bottom: 32px; }
.pdp-addons-eyebrow {
  font-size: .58rem; font-weight: 500; letter-spacing: .26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 10px;
}
.pdp-addons-title {
  font-family: var(--serif); font-size: 1.6rem; font-weight: 300; color: var(--bark);
}
.pdp-addons-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.pdp-addon-card {
  background: var(--linen); border-radius: 4px; overflow: hidden;
  display: flex; flex-direction: column;
}
.pdp-addon-img {
  aspect-ratio: 1; background: var(--linen-mid);
  display: flex; align-items: center; justify-content: center;
}
.pdp-addon-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-addon-img-ph {
  font-size: .6rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-lt); opacity: .4;
}
.pdp-addon-body { padding: 16px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.pdp-addon-name {
  font-size: .82rem; font-weight: 500; color: var(--bark); line-height: 1.3;
}
.pdp-addon-price {
  font-family: var(--serif); font-size: 1rem; color: var(--bark); font-weight: 300;
}
.pdp-addon-atc {
  margin-top: auto; padding-top: 12px;
  width: 100%; padding: 10px; background: var(--bark); color: var(--warm-wht);
  border: none; border-radius: 2px; cursor: pointer;
  font-family: var(--sans); font-size: .58rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; transition: background .2s;
}
.pdp-addon-atc:hover { background: var(--bark-lt); }

@media (max-width: 900px) {
  .pdp-addons { padding-left: 24px; padding-right: 24px; }
  .pdp-addons-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Top padding fix */
.pdp-wrap { padding-top: 64px !important; }

/* Simplified included list */
.pdp-inc-simple { display: flex; flex-direction: column; }
.pdp-inc-line {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 12px 0; border-bottom: 1px solid var(--linen-mid);
}
.pdp-inc-line:last-child { border-bottom: none; }
.pdp-inc-line-qty {
  font-family: var(--serif); font-size: 1.2rem; font-weight: 300;
  color: var(--terra); min-width: 40px; line-height: 1.2;
  flex-shrink: 0; text-align: right;
}
.pdp-inc-line-detail { display: flex; flex-direction: column; gap: 2px; }
.pdp-inc-line-name {
  font-size: .82rem; font-weight: 500; color: var(--bark); letter-spacing: .02em;
}
.pdp-inc-line-sub { font-size: .75rem; color: var(--text-lt); }

/* Add-ons section */
.pdp-addons {
  background: var(--linen); padding: 64px 0; margin-top: 64px;
}
.pdp-addons-inner {
  max-width: 1400px; margin: 0 auto; padding: 0 60px;
}
.pdp-addons-eyebrow {
  font-size: .58rem; font-weight: 500; letter-spacing: .26em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 10px;
}
.pdp-addons-title {
  font-family: var(--serif); font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 300; color: var(--bark); margin-bottom: 10px;
}
.pdp-addons-sub {
  font-size: .84rem; color: var(--text-lt); line-height: 1.8;
  margin-bottom: 36px; max-width: 560px;
}
.pdp-addons-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.pdp-addon-card {
  background: var(--warm-wht); border-radius: 4px; overflow: hidden;
}
.pdp-addon-img {
  aspect-ratio: 1; background: var(--linen-mid);
}
.pdp-addon-body {
  padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 3px;
}
.pdp-addon-name {
  font-size: .8rem; font-weight: 500; color: var(--bark); letter-spacing: .02em;
}
.pdp-addon-desc { font-size: .72rem; color: var(--text-lt); }
.pdp-addon-price {
  font-family: var(--serif); font-size: 1rem; color: var(--bark);
  margin-top: 4px;
}
.pdp-addon-btn {
  display: inline-block; margin-top: 10px; padding: 9px 0;
  background: var(--bark); color: var(--warm-wht); border-radius: 2px;
  font-family: var(--sans); font-size: .58rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
  text-align: center; transition: background .2s;
}
.pdp-addon-btn:hover { background: var(--bark-lt); }

@media (max-width: 900px) {
  .pdp-addons-inner { padding: 0 24px; }
  .pdp-addons-grid { grid-template-columns: repeat(2, 1fr); }
}

/* PDP top padding — no breadcrumb */
.pdp-wrap { padding-top: 80px !important; }

/* Gallery — vertical thumbs left, hero right */
.pdp-gallery-inner { display: flex !important; flex-direction: row !important; gap: 10px !important; align-items: flex-start !important; }
.pdp-thumbs { display: flex !important; flex-direction: column !important; gap: 6px !important; flex-shrink: 0 !important; width: 64px !important; }
.pdp-thumb { width: 64px !important; height: 64px !important; flex: none !important; }
.pdp-hero { flex: 1 !important; margin-bottom: 0 !important; }

/* Included — clean row layout */
.pdp-inc-simple { display: flex; flex-direction: column; }
.pdp-inc-total {
  font-size: .8rem; color: var(--text-lt); line-height: 1.7;
  margin-bottom: 14px; padding: 12px 14px;
  background: var(--linen); border-radius: 3px;
}
.pdp-inc-total strong { color: var(--bark); font-weight: 500; }
.pdp-inc-line {
  display: grid; grid-template-columns: 1fr auto;
  align-items: start; gap: 8px;
  padding: 11px 0; border-bottom: 1px solid var(--linen-mid);
}
.pdp-inc-line:last-child { border-bottom: none; }
.pdp-inc-line-name {
  font-size: .82rem; font-weight: 500; color: var(--bark);
  grid-column: 1; grid-row: 1;
}
.pdp-inc-line-sub {
  font-size: .74rem; color: var(--text-lt);
  grid-column: 1; grid-row: 2;
}
.pdp-inc-line-sub:empty { display: none; }
.pdp-inc-line--choice .pdp-inc-line-name { color: var(--stone); font-style: italic; }
.pdp-inc-line--choice .pdp-inc-line-qty { color: var(--stone); }
.pdp-inc-line-qty {
  font-family: var(--sans); font-size: .82rem; font-weight: 500;
  color: var(--terra); grid-column: 2; grid-row: 1 / span 2;
  align-self: center; text-align: right; min-width: 36px;
}

/* Qty number match body font */
.pdp-inc-line-qty { font-family: var(--sans) !important; font-size: .82rem !important; }

/* PDP — proper top padding accounting for sticky nav */
.pdp-wrap { padding-top: 136px !important; }
.pdp-grid { padding-top: 0 !important; }

/* PDP — more top padding */
.pdp-wrap { padding-top: 136px !important; }

/* PDP — balanced top padding */
.pdp-wrap { padding-top: 136px !important; }
/* Gallery sticky so image stays fixed while info scrolls */
.pdp-gallery { position: sticky !important; top: 116px !important; align-self: start !important; }

/* Fix sticky gallery — grid must not stretch children */
.pdp-grid { align-items: start !important; }
.pdp-gallery { position: sticky !important; top: 116px !important; align-self: start !important; max-height: calc(100vh - 116px); }

/* Gallery sticks right at nav bottom — matches nav height of 72px */
.pdp-gallery { position: sticky !important; top: 116px !important; align-self: start !important; max-height: calc(100vh - 116px) !important; }
.pdp-grid { align-items: start !important; }
.pdp-wrap { padding-top: 136px !important; }

/* Gallery — sticks immediately, no scroll before sticking */
.pdp-wrap { padding-top: 72px !important; }
.pdp-gallery { position: sticky !important; top: 116px !important; align-self: start !important; max-height: calc(100vh - 116px) !important; }
.pdp-grid { align-items: start !important; }

/* ── PDP STICKY GALLERY — definitive fix ── */
.pdp-wrap { padding-top: 88px !important; overflow: visible !important; }
/* ── PDP GRID & GALLERY — definitive sticky fix ── */
.pdp-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 72px !important;
  align-items: start !important;
  overflow: visible !important;
}
.pdp-gallery {
  position: sticky !important;
  top: 116px !important;
  align-self: start !important;
  overflow: visible !important;
  max-height: calc(100vh - 116px) !important;
}
.pdp-gallery-inner {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: flex-start !important;
}

/* PDP wrap — more breathing room below nav+marquee */
.pdp-wrap { padding-top: 140px !important; }

/* PDP gallery — completely fixed, never moves */
.pdp-wrap { padding-top: 136px !important; }
.pdp-gallery {
  position: sticky !important;
  top: 88px !important;
  align-self: start !important;
  overflow: visible !important;
}

/* PDP gallery — revert to working sticky at 106px */
.pdp-wrap { padding-top: 136px !important; }
.pdp-gallery {
  position: sticky !important;
  top: 106px !important;
  align-self: start !important;
  overflow: visible !important;
}

/* PDP gallery — locked to exact load position of 122px */
.pdp-gallery {
  position: sticky !important;
  top: 122px !important;
  align-self: start !important;
  overflow: visible !important;
}

/* Trust signals — single row */
.pdp-trust {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 0 20px !important;
  justify-content: flex-start !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;

  overflow-x: auto !important;
}
.pdp-trust span {
  font-size: .62rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--clay) !important;
  white-space: nowrap !important;
}

/* PDP included — Tenor Sans qty font, inline sub */
.pdp-inc-line-qty {
  font-family: var(--num) !important;
  font-size: 1rem !important;
  font-weight: 300 !important;
  color: var(--terra) !important;
}
.pdp-inc-inline-sub {
  font-weight: 300;
  color: var(--text-lt);
  font-size: .78rem;
}

/* Revert qty to original font */
.pdp-inc-line-qty {
  font-family: var(--sans) !important;
  font-size: .82rem !important;
  font-weight: 500 !important;
  color: var(--terra) !important;
}
/* Love numbers — Tenor Sans */
.pdp-love-num {
  font-family: var(--num) !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  color: var(--clay) !important;
}

/* ── Mini addons panel below gallery ── */
.pdp-mini-addons {
  margin-top: 16px; border-top: 1px solid var(--linen-mid); padding-top: 16px;
}
.pdp-mini-addons-title {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 12px;
}
.pdp-mini-addons-row {
  display: flex; gap: 8px; overflow-x: auto; padding-bottom: 8px;
  scrollbar-width: none;
}
.pdp-mini-addons-row::-webkit-scrollbar { display: none; }
.pdp-mini-ao-card {
  flex: 0 0 100px; background: var(--linen); border-radius: 3px;
  overflow: hidden; border: 1px solid var(--linen-mid);
  transition: border-color .2s; cursor: pointer;
}
.pdp-mini-ao-card:hover { border-color: var(--clay); }
.pdp-mini-ao-img {
  width: 100%; aspect-ratio: 1; background: var(--linen-mid);
}
.pdp-mini-ao-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-mini-ao-body { padding: 8px; }
.pdp-mini-ao-name {
  font-size: .65rem; font-weight: 500; color: var(--bark);
  display: block; line-height: 1.3; margin-bottom: 3px;
}
.pdp-mini-ao-price {
  font-family: var(--serif); font-size: .8rem; color: var(--terra); display: block;
}

/* Spice bundle — storage warning */
.pdp-storage-warning {
  font-size: .78rem; color: var(--terra); font-weight: 500;
  padding: 10px 14px; background: rgba(184,92,56,.08);
  border: 1px solid rgba(184,92,56,.25); border-radius: 3px;
  margin-bottom: 12px;
}

/* Spice variant buttons — fit to content */
.pdp-variant-btns { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
.pdp-set-btn, .pdp-storage-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 12px 20px !important;
}

/* Storage buttons — fixed width, all on one row */
.pdp-set-btn, .pdp-storage-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 220px !important;
  padding: 12px 20px !important;
}
.pdp-storage-btn .pdp-vbtn-desc {
  font-size: .68rem !important;
  white-space: normal !important;
  max-width: 160px !important;
}

/* Storage + set buttons — equal thirds, fill row */
#pdp-set-btns .pdp-set-btn,
#pdp-storage-btns .pdp-storage-btn {
  flex: 1 1 0 !important;
  width: 0 !important;
  max-width: none !important;
  text-align: center !important;
  padding: 13px 10px !important;
}
#pdp-set-btns, #pdp-storage-btns {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* Storage option description */
.pdp-storage-desc {
  font-size: .78rem; color: var(--text-lt); line-height: 1.6;
  min-height: 1.4em; margin-top: 6px; transition: opacity .2s;
}

/* Storage buttons — equal thirds, height grows with content */
#pdp-storage-btns { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; align-items: stretch !important; }
#pdp-storage-btns .pdp-storage-btn {
  flex: 1 1 0 !important; width: 0 !important; max-width: none !important;
  padding: 13px 14px !important; text-align: left !important;
  display: flex !important; flex-direction: column !important; gap: 4px !important;
  white-space: normal !important;
}
#pdp-storage-btns .pdp-vbtn-desc {
  font-size: .68rem !important; white-space: normal !important;
  line-height: 1.4 !important; color: var(--text-lt) !important; font-weight: 300 !important;
}
#pdp-set-btns { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; }
#pdp-set-btns .pdp-set-btn { flex: 1 1 0 !important; width: 0 !important; max-width: none !important; padding: 13px 14px !important; text-align: left !important; }

/* Set buttons — fit to text only */
#pdp-set-btns { display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; }
#pdp-set-btns .pdp-set-btn {
  flex: 0 0 auto !important;
  width: auto !important;
  padding: 13px 24px !important;
}

/* Colour selector — fit to text */
#pdp-colour-btns { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
#pdp-colour-btns .pdp-colour-btn { flex: 0 0 auto !important; width: auto !important; padding: 13px 24px !important; }

/* PDP mini addons — scroll, fixed image size, white body */
.pdp-mini-addons { margin-top: 16px; border-top: 1px solid var(--linen-mid); padding-top: 14px; }
.pdp-mini-addons-title {
  font-size: .6rem; font-weight: 500; letter-spacing: .2em;
  text-transform: uppercase; color: var(--terra); display: block; margin-bottom: 10px;
}
.pdp-mini-addons-scroll { overflow-x: auto; scrollbar-width: none; }
.pdp-mini-addons-scroll::-webkit-scrollbar { display: none; }
.pdp-mini-addons-row { display: flex; gap: 10px; width: max-content; }
.pdp-mini-ao-card {
  width: 130px; flex-shrink: 0;
  border: 1px solid var(--linen-mid); border-radius: 4px; overflow: hidden;
}
.pdp-mini-ao-img {
  width: 130px; height: 130px; flex-shrink: 0; overflow: hidden;
  background: var(--linen-dk);
}
.pdp-mini-ao-img img { width: 130px; height: 130px; object-fit: cover; display: block; }
.pdp-mini-ao-ph { width: 130px; height: 130px; display: block; background: var(--linen-dk); }
.pdp-mini-ao-body {
  background: #fff;
  display: flex; align-items: center; justify-content: space-between;
  gap: 6px; padding: 8px 10px;
}
.pdp-mini-ao-text { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.pdp-mini-ao-name {
  font-family: var(--sans); font-size: .72rem; font-weight: 500;
  color: var(--bark); line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pdp-mini-ao-price {
  font-family: var(--sans); font-size: .72rem; font-weight: 400; color: var(--terra);
}
.pdp-mini-ao-atc {
  width: 26px; height: 26px; flex-shrink: 0; border-radius: 2px;
  background: var(--terra); border: none;
  display: flex; align-items: center; justify-content: center;
  color: var(--warm-wht); text-decoration: none; transition: background .2s;
}
.pdp-mini-ao-atc:hover { background: var(--bark); }

/* Gallery column — fixed, no growing */
.pdp-gallery {
  min-width: 0 !important;
  overflow: hidden !important;
}
/* Addons scroll — clipped to gallery width */
.pdp-mini-addons { overflow: hidden; }
.pdp-mini-addons-scroll {
  overflow-x: auto !important;
  overflow-y: visible !important;
  scrollbar-width: none !important;
}
.pdp-mini-addons-scroll::-webkit-scrollbar { display: none !important; }
.pdp-mini-addons-row { display: flex !important; gap: 10px !important; width: max-content !important; }
/* Card — square image, clickable, no atc button */
.pdp-mini-ao-card {
  width: 120px !important; flex-shrink: 0 !important;
  border: 1px solid var(--linen-mid) !important; border-radius: 4px !important;
  overflow: hidden !important; text-decoration: none !important;
  display: block !important; transition: border-color .2s !important;
}
.pdp-mini-ao-card:hover { border-color: var(--clay) !important; }
.pdp-mini-ao-img {
  width: 120px !important; height: 120px !important;
  flex-shrink: 0 !important; overflow: hidden !important;
  background: var(--linen-dk) !important;
}
.pdp-mini-ao-img img {
  width: 120px !important; height: 120px !important;
  object-fit: cover !important; display: block !important;
}
.pdp-mini-ao-ph { width: 120px !important; height: 120px !important; display: block !important; }
.pdp-mini-ao-body {
  background: #fff !important;
  padding: 8px 10px !important;
  display: flex !important; flex-direction: column !important; gap: 2px !important;
}
.pdp-mini-ao-name {
  font-family: var(--sans) !important; font-size: .7rem !important; font-weight: 500 !important;
  color: var(--bark) !important; line-height: 1.3 !important;
  white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
.pdp-mini-ao-price {
  font-family: var(--sans) !important; font-size: .7rem !important;
  font-weight: 400 !important; color: var(--terra) !important;
}

/* Addons subtitle */
.pdp-mini-addons-sub {
  font-size: .72rem; color: var(--text-lt); font-weight: 300;
  margin: 2px 0 10px; line-height: 1.4;
}
/* Image-only cards — square, 5 across before scroll */
.pdp-mini-addons-scroll { overflow-x: auto !important; scrollbar-width: none !important; }
.pdp-mini-addons-scroll::-webkit-scrollbar { display: none !important; }
.pdp-mini-addons-row {
  display: flex !important; gap: 8px !important; width: max-content !important;
}
.pdp-mini-ao-card {
  width: calc((var(--pdp-gallery-w, 100%) - 32px) / 5) !important;
  min-width: 80px !important;
  max-width: 120px !important;
  flex-shrink: 0 !important;
  border-radius: 4px !important; overflow: hidden !important;
  text-decoration: none !important; display: block !important;
  transition: opacity .2s !important;
  border: none !important;
}
.pdp-mini-ao-card:hover { opacity: .8 !important; }
.pdp-mini-ao-img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  overflow: hidden !important;
  background: var(--linen-dk) !important;
}
.pdp-mini-ao-img img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
.pdp-mini-ao-ph { width: 100% !important; aspect-ratio: 1 / 1 !important; display: block !important; }
.pdp-mini-ao-body { display: none !important; }

/* Addon cards — fixed width so exactly 5 fit, height unchanged */
.pdp-mini-ao-card {
  width: 114px !important;
  min-width: 114px !important;
  max-width: 114px !important;
}
.pdp-mini-ao-img {
  width: 114px !important;
  height: 114px !important;
}
.pdp-mini-ao-img img {
  width: 114px !important;
  height: 114px !important;
}
.pdp-mini-ao-ph { width: 114px !important; height: 114px !important; }
.pdp-mini-addons-row { gap: 8px !important; }

/* Fix marquee/header gap — only when marquee is active */

/* Addon header — tighter gap between title and subtitle */
.pdp-mini-addons-header { margin-bottom: 10px; }
.pdp-mini-addons-title { margin-bottom: 3px !important; }
.pdp-mini-addons-sub { margin: 0 0 10px !important; }

/* Spice page — tighten intro to price gap */
.pdp-intro { margin-bottom: 12px !important; }
.pdp-price { margin-top: 0 !important; }
.pdp-price-from {
  font-family: var(--serif); font-size: 1rem; font-weight: 300;
  color: var(--terra); margin-right: 4px;
  font-variant-numeric: lining-nums;
}

/* Price block — centered, consistent font */
.pdp-price {
  text-align: center !important;
  margin: 20px 0 !important;
}
.pdp-price-from {
  font-family: var(--serif) !important;
  font-size: 1.6rem !important;
  font-weight: 300 !important;
  color: var(--terra) !important;
  margin-right: 2px !important;
}

/* From — same colour as price (terra) removed, use bark */
.pdp-price-from {
  color: var(--bark) !important;
}
/* Price note — centred to match price */
.pdp-price + .pdp-price-note,
p.pdp-price-note[style] { margin-top: -12px !important; }

/* Price block — equal spacing above and below */
.pdp-price {
  margin: 24px 0 8px !important;
}
.pdp-price + .pdp-price-note {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  text-align: left !important;
}

/* Tighten gap above price */
.pdp-price { margin-top: 8px !important; }

/* ── JAR PRODUCT PAGE ── */
.pdp-jar-subtitle { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--bark); margin: 6px 0 16px; }
.pdp-jar-qty-wrap { margin: 20px 0 12px; }
.pdp-jar-qty { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.pdp-jar-qty-btn { width: 32px; height: 32px; border: 1px solid var(--linen-mid); background: #fff; border-radius: 2px; font-size: 1.1rem; color: var(--bark); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; }
.pdp-jar-qty-btn:hover { border-color: var(--terra); color: var(--terra); }
.pdp-jar-qty-val { font-family: var(--sans); font-size: 1rem; font-weight: 500; color: var(--bark); min-width: 24px; text-align: center; }
.pdp-jar-byo-link { display: block; margin-top: 12px; font-family: var(--sans); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.06em; color: var(--terra); text-decoration: none; transition: opacity 0.2s; }
.pdp-jar-byo-link:hover { opacity: 0.7; }
.pdp-jar-specs { display: flex; flex-direction: column; gap: 0; }
.pdp-jar-spec { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--linen-mid); font-family: var(--sans); font-size: 0.78rem; }
.pdp-jar-spec:last-child { border-bottom: none; }
.pdp-jar-spec span:first-child { color: var(--clay); font-weight: 400; }
.pdp-jar-spec span:last-child { color: var(--bark); font-weight: 500; }

/* ── BYO QUICK VIEW MODAL ── */

/* ── JAR PRODUCT PAGE ── */
.pdp-jar-subtitle { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--bark); margin: 6px 0 16px; }
.pdp-jar-qty-wrap { margin: 20px 0 12px; }
.pdp-jar-qty { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.pdp-jar-qty-btn { width: 32px; height: 32px; border: 1px solid var(--linen-mid); background: #fff; border-radius: 2px; font-size: 1.1rem; color: var(--bark); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; }
.pdp-jar-qty-btn:hover { border-color: var(--terra); color: var(--terra); }
.pdp-jar-qty-val { font-family: var(--sans); font-size: 1rem; font-weight: 500; color: var(--bark); min-width: 24px; text-align: center; }
.pdp-jar-byo-link { display: block; margin-top: 12px; font-family: var(--sans); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.06em; color: var(--terra); text-decoration: none; transition: opacity 0.2s; }
.pdp-jar-byo-link:hover { opacity: 0.7; }
.pdp-jar-specs { display: flex; flex-direction: column; gap: 0; }
.pdp-jar-spec { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--linen-mid); font-family: var(--sans); font-size: 0.78rem; }
.pdp-jar-spec:last-child { border-bottom: none; }
.pdp-jar-spec span:first-child { color: var(--clay); font-weight: 400; }
.pdp-jar-spec span:last-child { color: var(--bark); font-weight: 500; }

/* ── BYO QUICK VIEW MODAL ── */
.byo-qv-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 20px; }
/* Fixed height modal — never resizes between tabs */
.byo-qv-modal { background: #fff; border-radius: 4px; width: 100%; max-width: 800px; height: 520px; position: relative; overflow: hidden; }
.byo-qv-close { position: absolute; top: 16px; right: 20px; background: none; border: none; font-size: 1rem; color: var(--clay); cursor: pointer; z-index: 10; font-family: var(--sans); letter-spacing: 0.05em; }
.byo-qv-close:hover { color: var(--bark); }
/* Two-column grid — image fills full left side */
.byo-qv-inner { display: grid; grid-template-columns: 1fr 1fr; height: 100%; }
.byo-qv-img-wrap { background: var(--linen); overflow: hidden; border-radius: 4px 0 0 4px; position: relative; }
.byo-qv-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; }
.byo-qv-img-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--sans); font-size: 0.7rem; color: var(--clay); letter-spacing: 0.1em; text-transform: uppercase; }
/* Info panel — scrollable internally, footer pinned to bottom */
.byo-qv-info { padding: 28px 28px 0; display: flex; flex-direction: column; gap: 8px; height: 100%; overflow: hidden; }
.byo-qv-info-scroll { flex: 1; overflow-y: auto; padding-bottom: 8px; }
.byo-qv-tag { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: var(--terra); margin: 0; }
.byo-qv-title { font-family: var(--serif); font-size: 1.35rem; font-weight: 400; color: var(--bark); margin: 0; line-height: 1.2; }
.byo-qv-subtitle { font-family: var(--sans); font-size: 0.7rem; font-weight: 400; color: var(--bark); margin: 0; opacity: 0.6; }
.byo-qv-price-row { display: flex; align-items: baseline; gap: 10px; }
.byo-qv-price { font-family: var(--sans); font-size: 1.1rem; font-weight: 600; color: var(--bark); }
.byo-qv-price-orig { font-family: var(--sans); font-size: 0.82rem; font-weight: 400; color: var(--bark); text-decoration: line-through; opacity: 0.45; }
/* Accordions */
.byo-qv-accordions { border-top: 1px solid var(--linen-mid); margin-top: 4px; }
.byo-qv-acc-item { border-bottom: 1px solid var(--linen-mid); }
.byo-qv-acc-trigger { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 11px 0; background: none; border: none; cursor: pointer; font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bark); text-align: left; }
.byo-qv-acc-trigger:hover { color: var(--terra); }
.byo-qv-acc-icon { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 0.2s; flex-shrink: 0; margin-bottom: 3px; }
.byo-qv-acc-item.is-open .byo-qv-acc-icon { transform: rotate(-135deg); margin-bottom: -3px; }
.byo-qv-acc-body { display: none; padding-bottom: 12px; }
.byo-qv-acc-item.is-open .byo-qv-acc-body { display: block; }
.byo-qv-desc { font-family: var(--sans); font-size: 0.73rem; line-height: 1.7; color: var(--bark); }
.byo-qv-specs { display: flex; flex-direction: column; }
.byo-qv-spec { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--linen-mid); font-family: var(--sans); font-size: 0.72rem; }
.byo-qv-spec:last-child { border-bottom: none; }
.byo-qv-spec-label { color: var(--bark); opacity: 0.6; }
.byo-qv-spec-val { color: var(--bark); font-weight: 500; }
.byo-qv-care { display: flex; flex-direction: column; gap: 7px; }
.byo-qv-care-item { font-family: var(--sans); font-size: 0.72rem; color: var(--bark); line-height: 1.5; padding-left: 14px; position: relative; }
.byo-qv-care-item::before { content: '·'; position: absolute; left: 0; color: var(--terra); font-size: 1rem; line-height: 1.2; }
/* Footer — always pinned to bottom */
.byo-qv-footer { display: flex; align-items: center; gap: 12px; padding: 14px 28px; border-top: 1px solid var(--linen-mid); flex-shrink: 0; background: #fff; }
.byo-qv-qty { display: flex; align-items: center; gap: 10px; }
.byo-qv-qty-btn { width: 30px; height: 30px; border: 1px solid var(--linen-mid); background: #fff; border-radius: 2px; font-size: 1rem; color: var(--bark); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; flex-shrink: 0; }
.byo-qv-qty-btn:hover { border-color: var(--terra); color: var(--terra); }
.byo-qv-qty-val { font-family: var(--sans); font-size: 0.9rem; font-weight: 500; color: var(--bark); min-width: 20px; text-align: center; }
.byo-qv-atc { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; background: var(--terra); color: var(--warm-wht); border: none; border-radius: 2px; padding: 10px 20px; cursor: pointer; transition: background 0.2s; flex: 1; text-align: center; }
.byo-qv-atc:hover { background: var(--terra-dk); }
@media (max-width: 600px) {
  .byo-qv-modal { height: auto; max-height: 90vh; }
  .byo-qv-inner { grid-template-columns: 1fr; height: auto; }
  .byo-qv-img-wrap { position: relative; height: 220px; border-radius: 4px 4px 0 0; }
  .byo-qv-info { height: auto; max-height: 60vh; overflow-y: auto; }
}

/* BYO QV Pill Tabs */
.byo-qv-tabs { display: flex; gap: 6px; margin: 14px 0 10px; }
.byo-qv-tab { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 14px; border-radius: 20px; border: 1px solid var(--linen-mid); background: transparent; color: var(--clay); cursor: pointer; transition: all 0.2s; }
.byo-qv-tab:hover { border-color: var(--bark); color: var(--bark); }
.byo-qv-tab.is-active { background: var(--bark); color: var(--warm-wht); border-color: var(--bark); }
.byo-qv-tab-panel { display: none; }
.byo-qv-tab-panel.is-active { display: block; }

/* QV spacing and tab style overrides */
.byo-qv-info { padding: 32px 32px 0; gap: 6px; }
.byo-qv-info-scroll { padding-bottom: 20px; }
.byo-qv-tag { margin-bottom: 2px; }
.byo-qv-title { font-size: 1.5rem; margin-bottom: 2px; }
.byo-qv-subtitle { margin-bottom: 4px; }
.byo-qv-price-row { margin-bottom: 4px; }
/* Underline tab style — replaces pill */
.byo-qv-tabs { display: flex; gap: 0; margin: 16px 0 0; border-bottom: 1px solid var(--linen-mid); }
.byo-qv-tab { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 16px 8px; border-radius: 0; border: none; border-bottom: 2px solid transparent; background: transparent; color: var(--clay); cursor: pointer; transition: all 0.2s; margin-bottom: -1px; }
.byo-qv-tab:hover { color: var(--bark); }
.byo-qv-tab.is-active { color: var(--bark); border-bottom-color: var(--terra); font-weight: 600; }
.byo-qv-tab-panel { padding-top: 16px; }

/* QV tab — pill style, terracotta active, bark inactive */
.byo-qv-tabs { display: flex; gap: 6px; margin: 16px 0 0; border-bottom: none; }
.byo-qv-tab { font-family: var(--sans); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 16px; border-radius: 20px; border: 1px solid var(--bark); background: transparent; color: var(--bark); cursor: pointer; transition: all 0.2s; margin-bottom: 0; }
.byo-qv-tab:hover { background: var(--bark); color: var(--warm-wht); }
.byo-qv-tab.is-active { background: var(--terra); color: var(--warm-wht); border-color: var(--terra); font-weight: 600; }
.byo-qv-tab-panel { padding-top: 16px; }

/* QV top spacing fix */
.byo-qv-tag { margin-bottom: 6px; }
.byo-qv-title { margin-bottom: 8px; font-size: 1.5rem; }
.byo-qv-subtitle { margin-bottom: 12px; }
.byo-qv-price-row { margin-bottom: 4px; }
.byo-qv-info { padding-top: 36px; gap: 0; }

/* Fix pill jump — consistent font-weight across states */
.byo-qv-tab { font-weight: 500; }
.byo-qv-tab.is-active { font-weight: 500; }

/* Fix pill hover — lighter bark, not full fill */
.byo-qv-tab:hover { background: transparent; color: var(--terra); border-color: var(--terra); }

/* Care items — no bullet, just clean sentences */
.byo-qv-care-item { padding-left: 0; }
.byo-qv-care-item::before { display: none; }

/* Restore care bullet points */
.byo-qv-care-item { padding-left: 14px; }
.byo-qv-care-item::before { display: block; }

/* Space cards — Coming Soon state */
.lsys-card--soon { cursor: default; pointer-events: none; }
.lsys-card--soon .lsys-card-img { position: relative; }
.lsys-card--soon .lsys-card-img::after { content: ''; position: absolute; inset: 0; background: rgba(255,255,255,0.35); }
.lsys-card--soon .lsys-card-name { opacity: 0.5; }
.lsys-card--soon .lsys-card-text { opacity: 0.5; }
.lsys-soon-badge {
  position: absolute; top: 14px; left: 14px; z-index: 1;
  font-family: var(--sans); font-size: 0.55rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  background: var(--warm-wht); color: var(--bark);
  padding: 4px 10px; border-radius: 20px;
  border: 1px solid var(--linen-mid);
}

/* Room card — spaces subline and availability badge */
.lsys-card-spaces { font-family: var(--sans); font-size: 0.65rem; font-weight: 400; color: var(--clay); letter-spacing: 0.04em; margin-bottom: 8px; }
.lsys-avail-badge { position: absolute; top: 14px; left: 14px; z-index: 1; font-family: var(--sans); font-size: 0.55rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; background: var(--terra); color: var(--warm-wht); padding: 4px 10px; border-radius: 20px; }

/* Room cards — bordered white card treatment */
.lsys-card:hover { opacity: 1; box-shadow: 0 4px 20px rgba(0,0,0,0.06); transform: translateY(-2px); transition: box-shadow 0.2s, transform 0.2s; }
.lsys-card-img { margin-bottom: 0; border-radius: 0; }
.lsys-card-body { padding: 16px 16px 20px; background: #fff; }
.lsys-card-link { display: none; }

/* ============================================================
   SHOP BY SPACE — Concept B: Featured Kitchen + faded grid
   ============================================================ */
.lsys-featured-wrap {
  display: grid;
  grid-template-columns: 48% 52%;
  gap: 24px;
  align-items: stretch;
  width: 100%;
}

/* LEFT — large active Kitchen card */
.lsys-featured-card {
  display: block;
  text-decoration: none;
  border-radius: 7px;
  overflow: hidden;
  min-height: 420px;
}
.lsys-featured-img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.lsys-featured-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lsys-featured-content {
  position: relative;
  z-index: 1;
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.lsys-avail-badge {
  display: inline-block;
  font-family: var(--sans);
  font-size: 0.55rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--terra);
  color: #fff;
  padding: 5px 12px;
  border-radius: 20px;
}
.lsys-featured-name {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  font-weight: 400;
  color: #fff;
  margin: 16px 0 6px;
}
.lsys-featured-spaces {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.78);
  margin: 0 0 20px;
  font-weight: 300;
  letter-spacing: 0.04em;
}
.lsys-featured-cta {
  display: inline-block;
  background: #fff;
  color: var(--bark);
  padding: 11px 24px;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 4px;
  transition: background 0.2s;
}
.lsys-featured-card:hover .lsys-featured-cta {
  background: var(--linen);
}

/* RIGHT — 2×2 grid of faded coming-soon cards */
.lsys-soon-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.lsys-soon-card {
  background: var(--linen);
  border-radius: 7px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  opacity: 0.62;
  color: var(--bark);
  min-height: 186px;
}
.lsys-soon-icon {
  color: var(--text-lt);
  margin-bottom: auto;
  display: block;
}
.lsys-soon-name {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--bark);
  margin: 20px 0 6px;
}
.lsys-soon-label {
  font-family: var(--sans);
  font-size: 0.55rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-lt);
}

/* Room cards — 4 across, shorter image */

/* ── BYO BUNDLE CART GROUP ── */
.cart-byo { border: 1px solid var(--linen-mid); border-radius: 3px; margin-bottom: 12px; overflow: hidden; }
.cart-byo__header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; cursor: pointer; background: var(--linen); }
.cart-byo__header-left { display: flex; align-items: center; gap: 10px; }
.cart-byo__tag { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; background: var(--terra); color: var(--warm-wht); padding: 3px 8px; border-radius: 20px; }
.cart-byo__summary { font-family: var(--sans); font-size: 0.72rem; font-weight: 400; color: var(--bark); }
.cart-byo__header-right { display: flex; align-items: center; gap: 10px; }
.cart-byo__total { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: var(--bark); }
.cart-byo__toggle { background: none; border: none; cursor: pointer; font-size: 0.9rem; color: var(--clay); padding: 0; line-height: 1; transition: color 0.2s; }
.cart-byo__toggle:hover { color: var(--bark); }
.cart-byo__items { padding: 8px 14px 14px; background: #fff; border-top: 1px solid var(--linen-mid); }
.cart-byo__item { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--linen-mid); }
.cart-byo__item:last-child { border-bottom: none; }
.cart-byo__item-img { width: 36px; height: 36px; flex-shrink: 0; }
.cart-drawer__img--sm { width: 36px; height: 36px; object-fit: cover; border-radius: 2px; }
.cart-drawer__img-ph--sm { width: 36px; height: 36px; background: var(--linen); border-radius: 2px; }
.cart-byo__item-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cart-byo__item-name { font-family: var(--sans); font-size: 0.72rem; font-weight: 400; color: var(--bark); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cart-byo__item-qty { font-family: var(--sans); font-size: 0.65rem; color: var(--clay); }
.cart-byo__item-price { font-family: var(--sans); font-size: 0.72rem; font-weight: 500; color: var(--bark); flex-shrink: 0; }
.cart-byo__item-remove { flex-shrink: 0; background: none; border: none; color: var(--clay); cursor: pointer; padding: 2px; transition: color 0.2s; }
.cart-byo__item-remove:hover { color: var(--terra); }

/* BYO cart group — image and delete fixes */
.cart-byo__item-img { width: 48px; height: 48px; flex-shrink: 0; border-radius: 2px; overflow: hidden; background: var(--linen); }
.cart-byo__item-img-el { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-byo__item-img-ph { width: 100%; height: 100%; background: var(--linen); }
.cart-byo__item-variant { font-family: var(--sans); font-size: 0.72rem; font-weight: 300; color: var(--text-lt); display: block; }
.cart-byo__item-label-names { font-family: var(--sans); font-size: 0.65rem; font-weight: 300; color: var(--bark); display: block; line-height: 1.6; white-space: normal; background: var(--linen); border-radius: 3px; padding: 8px 10px; margin: 0 0 6px 0; }
.cart-byo__item-label-toggle { font-family: var(--sans); font-size: 0.62rem; font-weight: 400; color: var(--terra); background: none; border: none; padding: 1px 0 0 0; cursor: pointer; display: block; text-decoration: underline; text-align: left; width: auto; margin: 0; }
.cart-byo__delete { background: none; border: none; color: var(--clay); cursor: pointer; padding: 2px 4px; transition: color 0.2s; flex-shrink: 0; }
.cart-byo__delete:hover { color: var(--terra); }
.cart-byo__header-right { display: flex; align-items: center; gap: 8px; }

/* BYO cart group — spacing and min notice */
.cart-byo { margin-top: 16px; }
.cart-byo__min-notice { font-family: var(--sans); font-size: 0.65rem; color: var(--terra); padding: 6px 14px 6px 14px; margin: 0; }

/* BYO cart item qty controls */
.cart-byo__item { align-items: center; }
.cart-byo__item-qty-wrap { display: flex; align-items: center; gap: 4px; flex-shrink: 0; border: none; overflow: visible; }
.cart-byo__item-qty-wrap--static { display: flex; align-items: center; justify-content: center; min-width: 28px; flex-shrink: 0; }
.cart-byo__item-qty-wrap--static .cart-drawer__qty-val { font-family: var(--sans); font-size: 0.82rem; font-weight: 500; color: var(--bark); border: none; background: none; }
.cart-byo__item-qty-wrap .cart-drawer__qty-val { border: none; background: none; line-height: 22px; }
.cart-byo__item-qty-wrap .cart-drawer__qty-btn { background: #fff; border: 1px solid var(--linen-mid); }
.cart-byo__qty-btn { width: 22px !important; height: 22px !important; font-size: 0.85rem !important; }



/* BYO cart item — fixed layout to prevent qty shifting */
.cart-byo__item { display: flex; flex-direction: column; gap: 0; align-items: stretch; }
.cart-byo__item-row { display: grid; grid-template-columns: 48px 1fr auto auto; gap: 10px; align-items: center; padding: 8px 0; }
.cart-byo__item-info { min-width: 0; }
.cart-byo__item-qty-wrap { flex-shrink: 0; }
.cart-byo__item-price { flex-shrink: 0; min-width: 48px; text-align: right; }



/* BYO cart — original price strikethrough and tag colour fix */
.cart-byo__tag { background: none; color: var(--text-lt); font-weight: 400; font-size: 0.72rem; letter-spacing: 0; text-transform: none; padding: 0; border-radius: 0; }
.cart-byo__total-orig { font-family: var(--sans); font-size: 0.72rem; font-weight: 300; color: var(--text-lt); text-decoration: line-through; }
.cart-byo__item-price-orig { font-size: 0.65rem; font-weight: 300; color: var(--text-lt); text-decoration: line-through; margin-right: 3px; }

/* BYO tag — restore terracotta pill, bark text inside */
.cart-byo__tag { background: var(--terra); color: var(--warm-wht); font-weight: 600; font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px; border-radius: 20px; }
.cart-byo__summary { color: var(--bark); }

/* Cart BYO tag text — bark */
.cart-byo__tag { color: var(--bark) !important; background: none !important; padding: 0 !important; border-radius: 0 !important; font-size: 0.72rem !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; }

/* Revert tag to terracotta pill, fix variant text to bark */
.cart-byo__tag { color: var(--warm-wht) !important; background: var(--terra) !important; padding: 3px 8px !important; border-radius: 20px !important; font-size: 0.58rem !important; font-weight: 600 !important; letter-spacing: 0.1em !important; text-transform: uppercase !important; }

/* BYO item variant label (e.g. "BYO Bundle") — bark */

/* BYO item price — stack vertically like regular cart items */
.cart-byo__item-price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 0.82rem; font-weight: 500; color: var(--bark); }
.cart-byo__item-price-orig { display: block; font-size: 0.72rem; font-weight: 300; color: var(--text-lt); text-decoration: line-through; margin-right: 0; order: 2; }

/* BYO item variant — match regular cart item variant style */

/* Order notes textarea — white background, bark text, bark outline */

/* Space cards — equal padding both sides, 4 cards flush like bundle section */

/* Space scroll hint */
.lsys-scroll-hint { font-family: var(--sans); font-size: 0.62rem; font-weight: 400; color: var(--clay); letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; margin-left: 40px; flex-shrink: 0; }

/* Space cards — match bundle tile width exactly */

/* Space cards — exact match to shop-system bundle tiles */
.lsys-card-img { aspect-ratio: 3/2; margin-bottom: 0; border-radius: 0; }

/* ── SEARCH RESULTS PAGE ── */
.search-page {
  max-width: 1400px; margin: 0 auto;
  padding: 140px 60px 120px;
}
.search-page__header { margin-bottom: 64px; }
.search-page__form {
  display: flex; gap: 16px; align-items: center;
  margin-bottom: 24px;
}
.search-page__input-wrap {
  flex: 1; display: flex; align-items: center; gap: 12px;
  border-bottom: 1.5px solid var(--bark); padding-bottom: 10px;
}
.search-page__icon { color: var(--text-lt); flex-shrink: 0; }
.search-page__input {
  flex: 1; background: none; border: none; outline: none;
  font-family: var(--serif); font-size: 1.6rem; font-weight: 300;
  color: var(--bark); padding: 0;
}
.search-page__input::placeholder { color: var(--linen-mid); }
.search-page__clear {
  color: var(--text-lt); display: flex; align-items: center;
  transition: color 0.2s; flex-shrink: 0;
}
.search-page__clear:hover { color: var(--bark); }
.search-page__submit {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.15em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: none; cursor: pointer; padding: 13px 28px;
  border-radius: 2px; transition: background 0.2s; flex-shrink: 0;
}
.search-page__submit:hover { background: var(--bark); }
.search-page__count {
  font-size: 0.82rem; font-weight: 300; color: var(--text-lt);
  letter-spacing: 0.02em;
}
.search-page__count em { font-style: normal; color: var(--bark); font-weight: 400; }

/* Grid */
.search-page__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.search-card {
  background: var(--warm-wht); border-radius: 4px; overflow: hidden;
  text-decoration: none; display: flex; flex-direction: column;
  border: 1px solid var(--linen-dk);
  transition: transform 0.3s, box-shadow 0.3s;
}
.search-card:hover { box-shadow: 0 16px 48px rgba(62,36,16,0.1); }
.search-card__img {
  height: 220px; overflow: hidden; background: var(--linen);
}
.search-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.search-card__img-ph { width: 100%; height: 100%; background: linear-gradient(135deg, var(--linen-dk), var(--linen)); }
.search-card__body { padding: 20px 20px 24px; display: flex; flex-direction: column; flex: 1; }
.search-card__type {
  font-family: var(--sans); font-size: 0.58rem; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--terra); margin-bottom: 8px;
}
.search-card__name {
  font-family: var(--serif); font-size: 1.1rem; font-weight: 400;
  color: var(--bark); margin-bottom: 8px; line-height: 1.25;
}
.search-card__desc {
  font-size: 0.8rem; font-weight: 300; line-height: 1.7;
  color: var(--text-lt); flex: 1; margin-bottom: 16px;
}
.search-card__footer {
  display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid var(--linen-dk); padding-top: 14px;
}
.search-card__price {
  font-family: var(--sans); font-size: 0.9rem; font-weight: 500;
  color: var(--bark); display: flex; align-items: center; gap: 8px;
}
.search-card__price-orig {
  font-size: 0.78rem; font-weight: 300; color: var(--text-lt);
  text-decoration: line-through;
}
.search-card__cta {
  font-family: var(--sans); font-size: 0.58rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--terra);
  transition: color 0.2s;
}
.search-card:hover .search-card__cta { color: var(--bark); }

/* Empty state */
.search-page__empty {
  text-align: center; padding: 80px 0;
}
.search-page__empty-title {
  font-family: var(--serif); font-size: 2rem; font-weight: 300;
  color: var(--bark); margin-bottom: 12px;
}
.search-page__empty-body {
  font-size: 0.88rem; font-weight: 300; color: var(--text-lt);
  margin-bottom: 32px;
}

/* Responsive */
@media (max-width: 1100px) { .search-page__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) {
  .search-page { padding: 120px 24px 80px; }
  .search-page__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .search-page__form { flex-direction: column; align-items: stretch; }
  .search-page__submit { width: 100%; text-align: center; }
}
@media (max-width: 480px) { .search-page__grid { grid-template-columns: 1fr; } }

/* Search — groups and sort */
.search-page__meta { display: flex; align-items: center; justify-content: space-between; }
.search-page__sort-wrap { display: flex; align-items: center; gap: 8px; }
.search-page__sort-label { font-family: var(--sans); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-lt); }
.search-page__sort { font-family: var(--sans); font-size: 0.72rem; font-weight: 300; color: var(--bark); background: none; border: 1px solid var(--linen-dk); border-radius: 2px; padding: 6px 10px; cursor: pointer; outline: none; }
.search-group { margin-bottom: 56px; }
.search-group__title { font-family: var(--serif); font-size: 1.1rem; font-weight: 400; color: var(--text-lt); letter-spacing: 0.04em; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 1px solid var(--linen-dk); }

/* ── REVIEW SUBMISSION PAGE ── */
.rev-submit {
  max-width: 780px; margin: 0 auto;
  padding: 140px 40px 100px;
}
.rev-submit__header { margin-bottom: 52px; }
.rev-submit__eyebrow {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 500;
  letter-spacing: 0.24em; text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 16px;
}
.rev-submit__title {
  font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300; color: var(--bark); margin-bottom: 16px;
}
.rev-submit__body {
  font-size: 0.88rem; font-weight: 300; line-height: 1.8;
  color: var(--text-lt); max-width: 560px;
}
.rev-submit__form { display: flex; flex-direction: column; gap: 28px; }
.rev-submit__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rev-submit__field { display: flex; flex-direction: column; gap: 8px; }
.rev-submit__label {
  font-family: var(--sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--bark);
}
.rev-submit__label span { color: var(--terra); }
.rev-submit__input {
  font-family: var(--sans); font-size: 0.84rem; font-weight: 300;
  color: var(--bark); background: var(--warm-wht);
  border: 1px solid var(--linen-mid); border-radius: 2px;
  padding: 12px 16px; outline: none;
  transition: border-color 0.2s;
}
.rev-submit__input:focus { border-color: var(--clay); }
.rev-submit__input::placeholder { color: var(--linen-mid); }
.rev-submit__select { cursor: pointer; appearance: none; 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 d='M1 1l5 5 5-5' stroke='%23C4A882' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.rev-submit__textarea { resize: vertical; min-height: 140px; }
.rev-submit__stars { display: flex; gap: 6px; }
.rev-star-btn {
  background: none; border: none; cursor: pointer;
  font-size: 2rem; color: var(--linen-mid);
  transition: color 0.15s; padding: 0; line-height: 1;
}
.rev-star-btn.active { color: var(--terra); }
.rev-star-btn:hover { color: var(--terra); }
.rev-submit__field--consent { flex-direction: row; align-items: flex-start; }
.rev-submit__checkbox-label {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 0.8rem; font-weight: 300; color: var(--text-lt);
  line-height: 1.6; cursor: pointer;
}
.rev-submit__checkbox-label input { flex-shrink: 0; margin-top: 3px; accent-color: var(--terra); }
.rev-submit__btn {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  background: var(--terra); color: var(--warm-wht);
  border: none; cursor: pointer; padding: 16px 40px;
  border-radius: 2px; transition: background 0.2s;
  align-self: flex-start;
}
.rev-submit__btn:hover { background: var(--bark); }
.rev-submit__success {
  text-align: center; padding: 80px 0;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
}
.rev-submit__success svg { color: var(--terra); }
.rev-submit__success h2 {
  font-family: var(--serif); font-size: 2rem; font-weight: 300; color: var(--bark);
}
.rev-submit__success p { font-size: 0.88rem; font-weight: 300; color: var(--text-lt); }
.rev-submit__back {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--terra); text-decoration: none; margin-top: 8px;
}
.rev-submit__errors {
  background: #fdf0ee; border: 1px solid #e5b0a8; border-radius: 2px;
  padding: 14px 18px; font-size: 0.82rem; color: #c0453a;
  font-family: var(--sans); font-weight: 400;
}
@media (max-width: 640px) {
  .rev-submit { padding: 120px 24px 80px; }
  .rev-submit__row { grid-template-columns: 1fr; }
  .rev-submit__btn { width: 100%; text-align: center; }
}
.rev-submit__photo-note {
  display: flex; align-items: flex-start; gap: 10px;
  background: var(--linen); border: 1px solid var(--linen-mid);
  border-radius: 2px; padding: 14px 16px;
  font-size: 0.8rem; font-weight: 300; color: var(--text-lt); line-height: 1.6;
}
.rev-submit__photo-note svg { flex-shrink: 0; color: var(--clay); margin-top: 2px; }
.rev-submit__photo-note a { color: var(--terra); text-decoration: none; }
.rev-submit__photo-note a:hover { text-decoration: underline; }

/* ── FAQ PAGE ── */
.faq-page {
  max-width: 820px; margin: 0 auto;
  padding: 140px 40px 100px;
}
.faq-page__header { margin-bottom: 64px; }
.faq-page__eyebrow {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 500;
  letter-spacing: 0.24em; text-transform: uppercase; color: var(--terra);
  display: block; margin-bottom: 16px;
}
.faq-page__title {
  font-family: var(--serif); font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 300; color: var(--bark); margin-bottom: 16px;
}
.faq-page__intro {
  font-size: 0.88rem; font-weight: 300; line-height: 1.8; color: var(--text-lt);
}
.faq-page__body { margin-bottom: 80px; }
.faq-category { margin-top: 52px; margin-bottom: 8px; }
.faq-category:first-child { margin-top: 0; }
.faq-category__title {
  font-family: var(--serif); font-size: 1.2rem; font-weight: 400;
  color: var(--bark); padding-bottom: 14px;
  border-bottom: 1px solid var(--linen-dk);
}
.faq-item { border-bottom: 1px solid var(--linen-dk); }
.faq-item__q {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 20px 0; background: none; border: none; cursor: pointer;
  text-align: left; font-family: var(--sans); font-size: 0.88rem; font-weight: 400;
  color: var(--bark); letter-spacing: 0.01em; transition: color 0.2s;
}
.faq-item__q:hover { color: var(--terra); }
.faq-item__icon {
  flex-shrink: 0; transition: transform 0.25s ease; color: var(--clay);
}
.faq-item.is-open .faq-item__icon { transform: rotate(45deg); }
.faq-item__a {
  display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s ease;
}
.faq-item.is-open .faq-item__a { grid-template-rows: 1fr; }
.faq-item__a-inner {
  overflow: hidden;
  font-size: 0.85rem; font-weight: 300; line-height: 1.85;
  color: var(--text-lt); padding-bottom: 0;
  transition: padding-bottom 0.3s ease;
}
.faq-item.is-open .faq-item__a-inner { padding-bottom: 20px; }
.faq-item__a-inner p { margin: 0 0 12px; }
.faq-item__a-inner p:last-child { margin-bottom: 0; }
.faq-page__cta {
  text-align: center; padding: 48px;
  background: var(--linen); border-radius: 2px;
}
.faq-page__cta-text {
  font-family: var(--serif); font-size: 1.3rem; font-weight: 300;
  color: var(--bark); margin-bottom: 24px;
}
@media (max-width: 640px) {
  .faq-page { padding: 120px 24px 80px; }
}

/* ── ADD-ON GRID ── */
.ssp-ao-scroll-wrap { margin-top: 16px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--linen-mid) transparent; }
.ssp-ao-scroll-wrap::-webkit-scrollbar { height: 4px; }
.ssp-ao-scroll-wrap::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.ssp-ao-grid { display: grid; grid-template-rows: repeat(2, auto); grid-auto-flow: column; grid-auto-columns: calc((100% - 24px) / 4); gap: 8px; }
.ssp-ao-spacer { visibility: hidden; }
@media (max-width: 900px) { .ssp-ao-grid { grid-auto-columns: calc((100% - 8px) / 2); } }
@media (max-width: 600px) { .ssp-ao-spacer { display: none; } }
.ssp-ao-item {
  display: flex; align-items: center; gap: 10px;
  border: 1px solid var(--linen-mid); border-radius: 3px;
  padding: 10px 12px; background: #ffffff;
  text-decoration: none; transition: border-color 0.2s;
}
.ssp-ao-item:hover { border-color: var(--clay); }
.ssp-ao-item .ssp-byo-img { width: 80px; height: 80px; flex-shrink: 0; background: var(--linen); border-radius: 2px; overflow: hidden; }
.ssp-ao-item .ssp-byo-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ssp-ao-item .ssp-ao-name { font-family: var(--sans, Jost, sans-serif); font-size: 0.82rem; font-weight: 400; color: var(--bark, #3E2410); width: auto; margin: 0; line-height: 1.3; }
.ssp-ao-item .ssp-ao-desc { font-family: var(--sans, Jost, sans-serif); font-size: 0.74rem; font-weight: 300; color: var(--bark, #3E2410); opacity: 0.6; line-height: 1.4; }
.ssp-ao-item .ssp-ao-price { font-family: var(--sans, Jost, sans-serif); font-size: 0.82rem; font-weight: 600; color: var(--terra, #B85C38); margin-top: 2px; }
@media (max-width: 900px) { .ssp-ao-grid { grid-template-columns: repeat(2, 1fr); } }




/* ── Label Bespoke Builder ── */

/* Step 1 — no separate scroll, body handles it. Grid capped so hint is visible */
.ssp-lbl-step1-scroll { /* wrapper retained */ }

/* Sheet hint on step 1 items */
.ssp-byo-subtitle-row { display: block; margin-top: -2px; }
.ssp-byo-subtitle-row .ssp-byo-subtitle { display: inline; margin-top: 0; }
.ssp-byo-subtitle-row .ssp-lbl-sheet-hint { display: inline; }
.ssp-lbl-sheet-hint {
  font-family: var(--sans); font-size: 0.64rem;
  color: var(--bark); opacity: 0.6; margin-top: 0;
}

/* Step 2 — pill nav to switch between label sets */
.ssp-lbl-pills {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
  padding: 4px 0;
  margin-top: 8px;
}
.ssp-lbl-pill {
  font-family: var(--sans); font-size: 0.72rem; font-weight: 500;
  color: var(--terra); background: var(--warm-wht);
  border: 1px solid var(--terra); border-radius: 20px;
  padding: 5px 14px; cursor: pointer; transition: all 0.15s;
  white-space: nowrap; opacity: 0.6;
}
.ssp-lbl-pill:hover { opacity: 1; }
.ssp-lbl-pill.is-active {
  background: var(--terra); color: var(--warm-wht);
  border-color: var(--terra); opacity: 1;
}

/* Scroll prompt below grid */
.ssp-lbl-fields-prompt { display: none; }

/* Label fields section — flex with grid width set by JS */
.ssp-lbl-sections-wrap { overflow: visible; }
.ssp-lbl-section { display: none; }
.ssp-lbl-section.is-active { display: flex; align-items: stretch; gap: 5px; }
.ssp-lbl-pages-wrap { flex: 1; display: flex; flex-direction: row; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ssp-lbl-pages-wrap::-webkit-scrollbar { display: none; }
.ssp-lbl-pages-col { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.ssp-lbl-dots { display: flex; justify-content: center; align-items: center; gap: 8px; padding: 0; pointer-events: none; }
.ssp-lbl-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--linen-mid); border: none; transition: background 0.2s; flex-shrink: 0; cursor: pointer; pointer-events: auto; }
.ssp-lbl-dot.is-active { background: var(--terra); }
.ssp-lbl-dot:hover:not(.is-active) { background: var(--clay); }
.ssp-lbl-dots-outer { display: flex; justify-content: center; align-items: center; gap: 8px; position: absolute; top: -22px; left: 0; right: 0; height: 16px; background: none; pointer-events: none; z-index: 4; }
.ssp-lbl-dots-outer .ssp-lbl-dot { pointer-events: auto; }
.ssp-lbl-pages-wrap::-webkit-scrollbar { height: 4px; }
.ssp-lbl-pages-wrap::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.ssp-lbl-page { flex-shrink: 0; width: 100%; padding-right: 10px; margin-right: 0; scroll-snap-align: start; box-sizing: border-box; }
.ssp-lbl-sheet-row { display: flex; align-items: flex-end; gap: 5px; padding: 20px 0 26px; border-bottom: 1px solid var(--linen-mid); }
.ssp-lbl-sheet-row:last-of-type { border-bottom: none; }
.ssp-lbl-zone-col { flex-shrink: 0; width: 160px; display: flex; flex-direction: column; gap: 3px; justify-content: flex-end; margin-right: 0; }
.ssp-lbl-labels-row { display: flex; gap: 5px; flex: 1; min-width: 0; }





.ssp-lbl-fields-row::-webkit-scrollbar { height: 4px; }
.ssp-lbl-fields-row::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.ssp-lbl-add-sheet-btn { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--terra); background: none; border: none; cursor: pointer; padding: 0; margin-left: 10px; flex-shrink: 0; transition: opacity 0.15s; }
.ssp-lbl-add-sheet-btn:hover { opacity: 0.7; }
.ssp-lbl-fields-grid { display: none; }
.ssp-lbl-fields-grid::-webkit-scrollbar { height: 4px; }
.ssp-lbl-fields-grid::-webkit-scrollbar-track { background: transparent; }
.ssp-lbl-fields-grid::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.ssp-lbl-field--empty { border: none !important; background: transparent !important; pointer-events: none; box-shadow: none !important; }
.ssp-lbl-snap { scroll-snap-align: start; }
.ssp-lbl-add-sheet { display: none; }
.ssp-lbl-reset-btn {
  font-family: var(--sans); font-size: 0.58rem; font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--clay); background: none; border: none;
  cursor: pointer; opacity: 0.6; transition: opacity 0.15s;
  margin-left: 10px; padding: 0; flex-shrink: 0;
}
.ssp-lbl-reset-btn:hover { opacity: 1; color: var(--terra); }
@media (max-width: 600px) { .ssp-lbl-fields-grid { grid-auto-columns: calc((100% - 10px) / 3); } }

.ssp-lbl-field {
  display: flex; flex-direction: column; justify-content: center;
  background: #ffffff; border: 1px solid var(--linen-mid);
  border-radius: 5px; padding: 0 10px; height: 34px; box-sizing: border-box; flex: 1; min-width: 0;
}
.ssp-lbl-field:focus-within { border-color: var(--clay); }
.ssp-lbl-field-name-row {
  display: flex; align-items: center; gap: 6px; height: 100%;
}
.ssp-lbl-field-num {
  font-family: var(--sans); font-size: 0.62rem; color: var(--bark); opacity: 0.38; line-height: 1; flex-shrink: 0;
}
.ssp-lbl-custom-input {
  font-family: var(--sans); font-size: 0.82rem; color: var(--bark);
  background: #ffffff; border: none; outline: none; padding: 0; flex: 1;
  line-height: 1;
}
.ssp-lbl-custom-input::placeholder { opacity: 0.32; color: var(--bark); }
.ssp-lbl-input-error { border-color: #c0392b !important; }

/* Inline confirmation checkbox in footer */
.ssp-lbl-confirm-inline {
  display: flex; align-items: center; gap: 8px;
  cursor: pointer; padding: 10px 10px;
  border: 1px solid var(--linen-mid); border-radius: 2px;
  background: var(--warm-wht); transition: border-color 0.2s;
}
.ssp-lbl-confirm-inline:hover { border-color: var(--clay); }
.ssp-lbl-confirm-inline input[type="checkbox"] {
  width: 15px; height: 15px; flex-shrink: 0;
  accent-color: var(--terra); cursor: pointer;
}
.ssp-lbl-confirm-inline .ssp-lbl-confirm-text {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 400; letter-spacing: 0.08em; color: var(--bark); line-height: 1; white-space: nowrap;
}
.ssp-lbl-pill-count { display: none; }
.ssp-lbl-pills-info {
  margin-left: auto; flex-shrink: 0;
  font-family: var(--sans); font-size: 0.72rem; color: var(--bark); opacity: 0.5;
}
.ssp-lbl-confirm-error { border-color: #c0392b !important; background: #fff8f8 !important; }
.ssp-lbl-confirm-inline.is-hidden { display: none; }

/* Step subtitle */
.ssp-lbl-scroll-hint { margin-left: auto; font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.12em; color: var(--terra); opacity: 0.7; float: right; }
.ssp-lbl-scroll-hint.is-hidden { display: none; }
.ssp-byo-step-subtitle { font-family: var(--sans); font-size: 0.58rem; color: var(--terra); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }

/* PDP inline bespoke builder panel */
.pdp-trust--row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 32px;
  justify-content: center;
  overflow-x: visible;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  border-top: 1px solid var(--linen-mid) !important;
  border-bottom: 1px solid var(--linen-mid) !important;
  margin: 0 !important;
}
.pdp-trust--row span {
  white-space: nowrap;
  font-size: .62rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--clay);
  text-align: center;
  flex: 1;
  justify-content: center;
  display: flex;
  align-items: center;
}
.pdp-byo-panel {
  margin-top: 20px;
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  overflow: hidden;
  background: #ffffff;
  max-width: 100%;
  box-sizing: border-box;
  contain: layout;
}
.pdp-byo-panel__steps {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  background: #ffffff;
  border-bottom: 1px solid var(--linen-mid);
}
.pdp-byo-panel__step {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-lt);
}
.pdp-byo-panel__step.is-active { color: var(--terra); }
.pdp-byo-panel__step-arrow {
  font-size: 0.6rem;
  color: var(--linen-mid);
}
.pdp-byo-panel__close {
  margin-left: auto;
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--text-lt);
  transition: color 0.2s;
}
.pdp-byo-panel__close:hover { color: var(--bark); }
.pdp-byo-panel__body {
  padding: 12px 12px 4px;
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
  width: 100%;
}
.pdp-byo-panel__step-title {
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bark);
  margin-bottom: 12px;
}
.pdp-byo-panel__loading {
  font-family: var(--sans);
  font-size: 0.8rem;
  color: var(--text-lt);
  font-style: italic;
  padding: 8px 0;
}
.pdp-byo-panel__grid {
  display: flex;
  flex-direction: row;
  gap: 8px;
  overflow-x: scroll;
  overflow-y: hidden;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: var(--linen-mid) transparent;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  contain: layout;
}
.pdp-byo-panel__grid::-webkit-scrollbar { height: 4px; }
.pdp-byo-panel__grid::-webkit-scrollbar-track { background: transparent; }
.pdp-byo-panel__grid::-webkit-scrollbar-thumb { background: var(--linen-mid); border-radius: 2px; }
.pdp-byo-mini-item { scroll-snap-align: start; flex-shrink: 0; }
.pdp-byo-mini-item {
  min-width: 0;
  box-sizing: border-box;
}
.pdp-byo-mini-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--linen-mid);
  border-radius: 2px;
  background: var(--linen);
  min-width: 0;
  overflow: hidden;
}
.pdp-byo-mini-item__img {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  background: var(--linen-dk);
  border-radius: 2px;
  overflow: hidden;
}
.pdp-byo-mini-item__img img { width: 100%; height: 100%; object-fit: cover; }
.pdp-byo-mini-item__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; justify-content: center; }
.pdp-byo-mini-item__bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 4px; }
.pdp-byo-mini-item__name {
  font-family: var(--sans);
  font-size: 0.72rem;
  font-weight: 400;
  color: var(--bark);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pdp-byo-mini-item__sub {
  font-family: var(--sans);
  font-size: 0.65rem;
  color: var(--text-lt);
  line-height: 1.4;
}
.pdp-byo-mini-item__prices { display: flex; align-items: center; gap: 6px; }
.pdp-byo-mini-item__orig {
  font-family: var(--sans);
  font-size: 0.65rem;
  color: var(--text-lt);
  text-decoration: line-through;
}
.pdp-byo-mini-item__disc {
  font-family: var(--sans);
  font-size: 0.7rem;
  color: var(--terra);
  font-weight: 500;
}
.pdp-byo-mini-item__qty {
  display: flex;
  align-items: center;
  gap: 6px;
}
.pdp-byo-mini-qty-btn {
  width: 22px; height: 22px;
  border: 1px solid var(--linen-mid);
  background: #ffffff;
  border-radius: 2px;
  cursor: pointer;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bark);
  transition: background 0.15s;
}
.pdp-byo-mini-qty-btn:hover { background: var(--linen-dk); }
.pdp-byo-mini-qty-val {
  font-family: var(--sans);
  font-size: 0.8rem;
  min-width: 18px;
  text-align: center;
  color: var(--bark);
}
.pdp-byo-panel__footer {
  padding: 14px 16px;
  border-top: 1px solid var(--linen-mid);
  display: flex;
  align-items: center;
  gap: 12px;
  background: #ffffff;
}
.pdp-byo-panel__total-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.pdp-byo-panel__total-first-line {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1px;
}
.pdp-byo-panel__total-label {
  font-family: var(--sans);
  font-size: 0.65rem;
  font-weight: 400;
  color: var(--bark);
}
.pdp-byo-panel__total-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.pdp-byo-panel__discount-badge {
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 500;
  background: var(--terra);
  color: var(--warm-wht);
  padding: 2px 7px;
  border-radius: 20px;
}
.pdp-byo-panel__orig {
  font-family: var(--sans);
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--bark);
  text-decoration: line-through;
  opacity: 0.5;
}
.pdp-byo-panel__total {
  font-family: var(--sans);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--bark);
}
.pdp-byo-panel__total .tenor-num {
  font-family: var(--sans);
  font-weight: 700;
}
.pdp-byo-panel__min-note {
  font-family: var(--sans);
  font-size: 0.65rem;
  color: var(--terra);
}
.pdp-byo-panel__min-note.is-ready {
  color: var(--terra);
  font-weight: 500;
}
.pdp-byo-panel__prices { display: flex; align-items: center; gap: 6px; }
.pdp-byo-panel__footer-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.pdp-byo-panel__nav-btn {
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: none;
  border: 1px solid var(--linen-mid);
  padding: 9px 16px;
  cursor: pointer;
  color: var(--bark);
  transition: all 0.2s;
  border-radius: 2px;
}
.pdp-byo-panel__nav-btn:hover { background: var(--linen-dk); }
#pdp-byo-next { background: var(--terra); color: var(--warm-wht); border-color: var(--terra); border-radius: 2px; }
#pdp-byo-next:hover { background: var(--terra-dk); border-color: var(--terra-dk); }
.pdp-byo-panel__atc { padding: 9px 20px; font-size: 0.62rem; white-space: nowrap; }
.pdp-byo-panel__atc:disabled { opacity: 0.4; cursor: not-allowed; }

/* PDP action row — price, qty, ATC inline */
.pdp-jar-action-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.pdp-atc-compact {
  padding: 13px 28px;
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}
.pdp-jar-bundle-row {
  margin-bottom: 20px;
}
.pdp-jar-byo-link {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: var(--sans);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--terra);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
.pdp-jar-byo-link:hover { opacity: 0.7; }

/* PDP jar meta row — price + shipping note inline */
.pdp-jar-meta-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 12px 0 0;
  flex-wrap: wrap;
}
.pdp-jar-meta-dot {
  color: var(--linen-mid);
  font-size: 1rem;
}
.pdp-jar-divider {
  height: 1px;
  background: var(--linen-mid);
  margin: 20px 0;
}
/* Action row — qty + ATC + bundle link inline */
.pdp-jar-action-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 0;
}
/* pdp-atc-compact moved to bottom */
.pdp-jar-byo-link {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: var(--sans);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--terra);
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
  white-space: nowrap;
}
.pdp-jar-byo-link:hover { opacity: 0.7; }

/* ── PDP JAR REDESIGN ────────────────────────────────────────── */

/* Inline description */
.pdp-jar-desc {
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-lt);
  margin: 16px 0 0;
}

/* Bundle callout */
.pdp-jar-bundle-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--linen);
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  padding: 14px 18px;
  margin: 12px 0 0;
  box-sizing: border-box;
}
.pdp-jar-bundle-callout__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pdp-jar-bundle-callout__eyebrow {
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bark);
}
.pdp-jar-bundle-callout__body {
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 300;
  color: var(--text-lt);
  line-height: 1.5;
}
.pdp-jar-bundle-callout__btn {
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: none;
  border: 1px solid var(--bark);
  padding: 10px 18px;
  cursor: pointer;
  color: var(--bark);
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.2s, color 0.2s;
  border-radius: 2px;
}
.pdp-jar-bundle-callout__btn:hover {
  background: var(--bark);
  color: var(--linen);
}

/* System strip */
.pdp-jar-system-strip {
  margin: 24px 0 0;
  padding: 20px 0;
  border-top: 1px solid var(--linen-mid);
}
.pdp-jar-system-strip__label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-lt);
  margin-bottom: 14px;
}
.pdp-jar-system-strip {
  overflow: hidden;
}
.pdp-jar-system-strip__row {
  display: flex;
  gap: 12px;
  overflow-x: scroll;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  box-sizing: border-box;
}
.pdp-jar-system-strip__row::-webkit-scrollbar { display: none; }
.pdp-jar-system-item { scroll-snap-align: start; flex-shrink: 0; }
.pdp-jar-system-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  flex-shrink: 0;
  width: 90px;
  transition: opacity 0.2s;
}
.pdp-jar-system-item:hover { opacity: 0.75; }
.pdp-jar-system-item__img {
  width: 90px;
  height: 90px;
  border-radius: 2px;
  overflow: hidden;
  background: var(--linen);
  border: 1px solid var(--linen-mid);
}
.pdp-jar-system-item__name {
  font-family: var(--sans);
  font-size: 0.58rem;
  color: var(--text-lt);
  text-align: center;
  line-height: 1.3;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

/* Trust badges after system strip */
.pdp-trust.pdp-trust--row {
  margin-top: 0;
}

/* PDP jar — stronger price display */
.pdp-jar-action-row .pdp-price-val {
  font-size: 1.35rem !important;
  font-weight: 300 !important;
  color: var(--bark) !important;
  line-height: 1 !important;
  font-family: var(--serif) !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1 !important;
}
/* Qty stepper number — lining nums in serif */
#pdp-qty-val {
  font-family: var(--serif) !important;
  font-variant-numeric: lining-nums !important;
  font-feature-settings: "lnum" 1 !important;
  font-weight: 400 !important;
  font-size: 1.15rem !important;
}

/* Tenor Sans for numbers in product title — scaled down to match serif cap height */
.pdp-title .tenor-num {
  font-family: 'Tenor Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: 0.78em !important;
  vertical-align: 0.05em !important;
}
/* Action row spacing */
.pdp-jar-action-row {
  margin-top: 16px;
  margin-bottom: 4px;
  align-items: center;
}
/* price-val override removed — see above */

/* Inline description */
.pdp-jar-desc {
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-lt);
  margin: 16px 0 0;
}

/* PDP jar — qty buttons refined to sit beside price */
.pdp-jar-qty-btn--sm {
  width: 28px !important;
  height: 28px !important;
  font-size: 0.75rem !important;
}
.pdp-jar-qty--sm {
  height: 28px;
  display: flex;
  align-items: center;
}
/* ATC button — defined in jar cta section below */

/* Single row: price left, qty + ATC nudged in from right */
.pdp-jar-action-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}
.pdp-jar-action-row .pdp-price {
  flex: 1;
}
.pdp-jar-atc-group {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  margin-right: 0;
}
.pdp-jar-atc-group .pdp-jar-qty--sm {
  position: relative;
  top: -3px;
}
.pdp-jar-atc-group .pdp-atc-compact {
  position: static;
  top: auto;
}
.pdp-atc-compact {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  margin: 0;
  padding: 0 18px;
  font-family: var(--sans);
  font-size: 0.58rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  white-space: nowrap;
  box-sizing: border-box;
  cursor: pointer;
  text-align: center;
}
.pdp-jar-bundle-callout {
  margin-top: 12px;
}

/* ── BUNDLE PDP ───────────────────────────────────────────────── */
.pdp-bundle-desc {
  font-family: var(--sans);
  font-size: 0.86rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-lt);
  margin: 16px 0 0;
}
.pdp-price--bundle .pdp-price-val {
  font-family: var(--serif) !important;
  font-size: 1.75rem !important;
  font-weight: 300 !important;
  color: var(--bark) !important;
  line-height: 1 !important;
}
.pdp-price--bundle .pdp-price-val .tenor-num {
  font-family: 'Tenor Sans', sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

/* ── PRESALE NOTE ─────────────────────────────────────────────── */
.pdp-presale-note {
  margin-top: 8px;
  font-family: var(--sans);
  font-size: 0.72rem;
  color: var(--text-lt);
  letter-spacing: 0.02em;
  line-height: 1.5;
}
/* Jar — right-aligned to sit under ATC button */
.pdp-presale-note--jar {
  text-align: right;
}
/* Bundle — centred, tighter top, more bottom breathing room */
.pdp-presale-note--bundle {
  text-align: center;
  margin-top: 6px;
  margin-bottom: 16px;
}
.pdp-presale-note--bundle ~ .pdp-trust {
  margin-top: 4px;
}

/* ── CART PRESALE ACKNOWLEDGEMENT ────────────────────────────── */
.cart-presale-ack {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0;
  font-family: var(--sans);
  font-size: 0.78rem;
  color: var(--text-lt);
  line-height: 1.6;
  cursor: pointer;
  padding: 12px;
  background: var(--linen-dk, #e8e0d5);
  border-radius: 4px;
}
.cart-presale-ack input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  accent-color: var(--terra);
  cursor: pointer;
}
.cart-drawer__checkout--locked {
  opacity: 0.4;
  pointer-events: none;
  cursor: not-allowed;
}

/* Cart item presale note — inline with variant, same style */
.cart-item-presale-note {
  display: none;
  font-family: var(--sans);
  font-size: inherit;
  font-weight: inherit;
  color: var(--terra);
  letter-spacing: inherit;
  white-space: nowrap;
}
.cart-item-presale-note--standalone {
  display: none;
  font-family: var(--sans);
  font-size: 0.72rem;
  color: var(--terra);
  white-space: nowrap;
}

/* ── v4.4 PANTRY BUNDLE PDP UPDATES ──────────────────────────── */

/* Description above price — matches pdp-intro spacing but uses desc styles */
.pdp-desc--intro {
  font-size: .86rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--text-lt);
  margin-bottom: 20px;
  margin-top: 0;
}

/* Reduce weight on items that read too bold */
.pdp-inc-line-name {
  font-weight: 400 !important;
}
.pdp-love-item strong {
  font-weight: 400 !important;
}
.pdp-vbtn-name {
  font-weight: 400 !important;
}

/* ── v4.5 QV MODAL UPDATES ──────────────────────────────────────── */

/* Gallery */
.byo-qv-gallery { position: absolute; inset: 0; }
.byo-qv-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: none; transition: opacity 0.25s; }
.byo-qv-slide.is-active { display: block; }

/* Dots */
.byo-qv-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; z-index: 2; }
.byo-qv-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.5); border: none; cursor: pointer; padding: 0; transition: background 0.2s; }
.byo-qv-dot.is-active { background: #fff; }

/* Arrows */
.byo-qv-arrow { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.85); border: none; width: 32px; height: 32px; border-radius: 50%; font-size: 1.2rem; color: var(--bark); cursor: pointer; z-index: 2; display: flex; align-items: center; justify-content: center; transition: background 0.2s; line-height: 1; }
.byo-qv-arrow:hover { background: #fff; }
.byo-qv-arrow--prev { left: 10px; }
.byo-qv-arrow--next { right: 10px; }

/* Tenor Sans numbers in QV title */
.byo-qv-title .tenor-num { font-family: 'Tenor Sans', sans-serif; font-size: 0.85em; vertical-align: 0.04em; font-weight: 400; }

/* Fix bold text in modal */
.byo-qv-price { font-weight: 400 !important; }
.byo-qv-desc { font-weight: 300 !important; color: var(--text-lt) !important; }
.byo-qv-spec-val { font-weight: 400 !important; }
.byo-qv-tag { font-weight: 500 !important; }

/* ── v4.7 QV UPDATES ─────────────────────────────────────────────── */
/* Remove arrow button styles (arrows removed from JS) */
.byo-qv-arrow { display: none !important; }

/* Care text — lighter weight */
.byo-qv-care-item { font-weight: 300 !important; color: var(--text-lt) !important; }

/* Prevent image ghost drag in gallery */
.byo-qv-gallery img { -webkit-user-drag: none; user-drag: none; pointer-events: none; }

/* ── SSP3 HOMEPAGE — MOBILE ── */
@media (max-width: 960px) {
  .ssp3-hero { grid-template-columns: 1fr; min-height: auto; }
  .ssp3-hero-text { padding: 60px 40px 48px; }
  .ssp3-hero-img { min-height: 280px; max-height: 340px; }
  .ssp3-hero-ph { min-height: 0; height: 100%; }
  .ssp3-hero-title { font-size: clamp(2rem, 6vw, 3rem); }
  .ssp3-nav-inner { padding: 0 24px; }
  .ssp3-tab-panels { padding: 0; }
  .ssp3-panel { padding: 48px 24px; }
  .ssp3-spaces-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ssp3-byo-cards { gap: 12px; }
}
@media (max-width: 600px) {
  .ssp3-hero { grid-template-columns: 1fr; }
  .ssp3-hero-text { padding: 48px 24px 40px !important; }
  .ssp3-hero-img { min-height: 220px !important; max-height: 260px; overflow: hidden; }
  .ssp3-hero-ph { display: none; } /* hide placeholder on mobile — don't waste space */
  .ssp3-hero-title { font-size: 2.2rem !important; }
  .ssp3-hero-intro { font-size: 0.85rem; }
  .ssp3-spaces-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .ssp3-space-card { padding: 20px 16px; }
  .ssp3-panel { padding: 36px 20px; }
  .ssp3-byo-cards { flex-direction: column; }
  .ssp3-strip { padding: 48px 24px; }
  .ssp3-trust { flex-direction: column; gap: 12px; }
}

/* ── SHOP SYSTEMS PAGE — MOBILE ── */
@media (max-width: 960px) {
  .ssp-panel { padding: 40px 32px; }
  .ssp-nav-inner { padding: 0 24px; }
  .ssp-space-head { margin-bottom: 24px; }
  .ssp-bundle-grid { gap: 12px; }
  .ssp-ao-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px; }
  .ssp-byo-builder { padding: 24px; }
}
@media (max-width: 600px) {
  .ssp-panel { padding: 28px 20px; }
  .ssp-nav-inner { padding: 0; overflow-x: auto; scrollbar-width: none; }
  .ssp-nav-btn { padding: 14px 14px; font-size: 0.6rem; white-space: nowrap; }
  .ssp-ao-grid { grid-template-columns: 1fr !important; gap: 8px; }
  .ssp-ao-item { padding: 10px; gap: 10px; }
  .ssp-ao-item .ssp-byo-img { width: 64px; height: 64px; }
  .ssp-byo-builder { padding: 16px; overflow-x: hidden; }
  .ssp-byo-builder .ssp-lbl-pages-wrap { overflow-x: auto; }
  .ssp-bundle-contents { font-size: 0.78rem; }
  .ssp-space-title { font-size: 1.8rem; }
  .ssp-byo-builder .ssp-lbl-sheet-row { flex-wrap: wrap; }
  .ssp-byo-step-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .ssp-byo-atc-row { flex-direction: column; gap: 10px; }
  .ssp-byo-atc { width: 100% !important; }
  .ssp-bundles-row { gap: 12px; padding-bottom: 12px; }
}

/* ── CART — ADDITIONAL MOBILE ── */
@media (max-width: 600px) {
  .cart-byo { border-radius: 4px; }
  .cart-byo__header { padding: 12px 16px; }
  .cart-byo__items { padding: 0 16px 16px; }
  .cart-byo__item { gap: 10px; padding: 14px 0; }
  .cart-byo__img { width: 56px; height: 56px; }
  .cart-label-editor { padding: 16px; }
  .cart-label-editor .ssp-lbl-sheet-row { flex-wrap: nowrap; }
  .cart-label-editor .ssp-lbl-zone-col { width: 110px !important; flex-shrink: 0 !important; }
  .cart-label-editor__footer { flex-direction: column; align-items: stretch; gap: 10px; }
  .cart-page__inner { padding: 16px 16px 60px; }
}

/* ── PDP — MOBILE ── */
@media (max-width: 600px) {
  .pdp-wrap { padding: 0 16px 48px; }
  .pdp-grid { gap: 24px; }
  .pdp-title { font-size: clamp(1.6rem, 5vw, 2rem); }
  .pdp-gallery-inner { flex-direction: column; }
  .pdp-thumbs { flex-direction: row !important; width: 100% !important; flex-wrap: nowrap; overflow-x: auto; }
  .pdp-thumb { width: 56px !important; height: 56px !important; flex-shrink: 0 !important; }
  .pdp-hero { width: 100% !important; }
  /* Mobile ATC layout handled below */
  .pdp-jar-bundle-callout { flex-direction: column; gap: 12px; align-items: flex-start; }
  .pdp-jar-bundle-callout__btn { width: 100%; text-align: center; }
  .pdp-trust { flex-direction: column; gap: 6px; }
  .pdp-trust--row { flex-direction: column; gap: 8px; }
  .pdp-jar-system-strip__row { gap: 10px; }
  .pdp-byo-panel { padding: 16px; }
  .pdp-byo-panel__grid { gap: 6px; }
  .pdp-byo-panel__footer { flex-direction: column; gap: 12px; }
  .pdp-info { padding-top: 20px; }
}

/* ── LABEL EDITOR — MOBILE ── */
@media (max-width: 600px) {
  .ssp-lbl-sheet-row { gap: 4px !important; }
  .ssp-lbl-zone-col { width: 100px !important; }
  .ssp-lbl-custom-input { font-size: 0.72rem !important; padding: 4px 6px !important; height: 30px !important; }
  .ssp-lbl-zdrop-trigger { font-size: 0.7rem !important; padding: 4px 6px !important; height: 30px !important; }
  .cart-label-editor__save { padding: 12px 20px; font-size: 0.68rem; }
}

/* ── MARQUEE — MOBILE ── */
@media (max-width: 600px) {
  .marquee-strip { height: 28px; }
  .marquee-item { font-size: 0.58rem; letter-spacing: 0.1em; }
  #main-content { /* pages handle their own top spacing */ }
}

/* ── PDP MOBILE COMPREHENSIVE ── */
@media (max-width: 600px) {
  .pdp-wrap { padding-top: 90px !important; padding-left: 16px !important; padding-right: 16px !important; }
  .pdp-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .pdp-gallery { position: static !important; }
  .pdp-gallery-inner { flex-direction: column !important; gap: 8px; }
  .pdp-thumbs { flex-direction: row !important; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scrollbar-width: none; }
  .pdp-thumb { width: 52px !important; height: 52px !important; flex-shrink: 0; }
  .pdp-hero { width: 100% !important; max-height: 340px; }
  .pdp-hero img { width: 100%; height: auto; max-height: 340px; object-fit: cover; }
  .pdp-title { font-size: 1.8rem !important; }
  .pdp-atc-compact { flex-direction: column; gap: 10px; }
  .pdp-atc-compact .pdp-qty { justify-content: flex-start; }
  .pdp-atc-compact .pdp-add-to-cart { width: 100%; text-align: center; }
  .pdp-jar-bundle-callout { flex-direction: column; gap: 10px; }
  .pdp-jar-bundle-callout__btn { width: 100%; text-align: center; }
  .pdp-jar-system-strip { overflow-x: auto; padding-bottom: 8px; }
  .pdp-jar-system-strip__row { flex-wrap: nowrap; gap: 8px; }
  .pdp-jar-system-strip__item { flex: 0 0 auto; }
  .pdp-trust { flex-direction: column; gap: 6px; font-size: 0.72rem; }
  .pdp-accord-row { padding: 14px 0; }
  .pdp-breadcrumb { font-size: 0.62rem; }
  /* Fix number font on product names */
  .cart-page__item-name { font-variant-numeric: normal !important; font-feature-settings: normal !important; }
}

/* ── MOBILE HERO OFFSETS — account for 28px marquee + 56px nav = 84px ── */
@media (max-width: 600px) {
  .ssp3-hero-text { padding-top: 96px !important; }
  .pdp-wrap { padding-top: 90px !important; }
  .ssp-hero-text { padding-top: 84px !important; }
  .lhero-content { padding-top: 84px !important; }
  .story-hero { padding-top: 84px !important; }
  .ssp2-hero { padding-top: 96px !important; }
  section { scroll-margin-top: 84px; }
  html { scroll-padding-top: 84px; }
}

/* ── CONSULT/CONTACT PAGE — MOBILE ── */
@media (max-width: 600px) {
  .hs-form-field { margin-bottom: 12px !important; }
  .klaviyo-form, .kl-form { position: relative !important; margin-bottom: 16px; }
  /* Prevent newsletter subscribe overlap */
  [data-testid*="submit"], .hs-button, input[type="submit"][value*="Subscribe" i] {
    position: relative !important; bottom: auto !important;
  }
  .consult-form-wrap, .hs-services { overflow: visible; }
}

/* ── BYO LABEL BUILDER — MOBILE ── */  
@media (max-width: 600px) {
  .ssp-byo-builder { padding: 14px !important; }
  .ssp-byo-step-title { font-size: 0.68rem; margin-bottom: 12px; }
  .ssp-byo-items-wrap { overflow-x: auto; scrollbar-width: none; }
  .ssp-byo-step-grid { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 8px !important; padding-bottom: 6px; scrollbar-width: none; }
  .ssp-byo-item { flex: 0 0 44%; scroll-snap-align: start; }
  .ssp-byo-img { width: 100% !important; aspect-ratio: 1; height: auto !important; }
  .ssp-byo-name { font-size: 0.72rem !important; width: auto !important; }
  .ssp-byo-price { font-size: 0.72rem; }
  .ssp-byo-counter { gap: 4px; }
  .ssp-byo-atc-row { flex-direction: column !important; gap: 10px; align-items: stretch; }
  .ssp-byo-atc { width: 100% !important; text-align: center; }
  .ssp-byo-total-label { font-size: 0.7rem; }
  .ssp-byo-total-val { font-size: 1rem; }
}

@media (max-width: 600px) {
  .ssp-nav { top: 84px !important; }
  /* ssp-nav tabs scroll horizontally on mobile */
  .ssp-nav-inner { padding: 0 !important; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ssp-nav-btn { padding: 12px 14px; font-size: 0.58rem; }
  /* Bundle builder label editor mobile */
  .ssp-lbl-zone-col { width: 90px !important; }
  .ssp-lbl-custom-input { font-size: 0.68rem !important; height: 28px !important; padding: 3px 5px !important; }
  .ssp-lbl-zdrop-trigger { font-size: 0.65rem !important; height: 28px !important; padding: 3px 6px !important; }
}


/* ══════════════════════════════════════════════
   MOBILE COMPREHENSIVE FIXES v6.99 → v7.00
   ══════════════════════════════════════════════ */

/* ── 1. NAV HEIGHT — reduce on mobile ── */
@media (max-width: 600px) {
  .header-inner { height: 56px !important; padding: 0 16px !important; }
  /* site-header: no padding-top needed in wrapper */
}

/* ── 2. HERO TOP OFFSETS — clear 28px marquee + 56px nav = 84px ── */
@media (max-width: 600px) {
  .ssp3-hero-text { padding-top: 100px !important; }
  .ssp3-hero-img, .ssp3-hero-ph { display: none !important; }
  .ssp-hero-text { padding-top: 84px !important; }
  .lhero { padding-top: 0 !important; }
  .lhero-left { padding-top: 100px !important; }
  .ssp3-hero { min-height: auto !important; }
  section { scroll-margin-top: 84px !important; }
  html { scroll-padding-top: 84px !important; }
}

/* ── 3. ADDON CARDS — horizontal scroll, 3 visible, proper card layout ── */
@media (max-width: 600px) {
  .ssp-ao-grid {
    display: flex !important; flex-direction: row !important;
    overflow-x: auto !important; scroll-snap-type: x mandatory !important;
    gap: 8px !important; padding-bottom: 8px !important;
    scrollbar-width: none !important; -webkit-overflow-scrolling: touch;
  }
  .ssp-ao-item {
    flex: 0 0 72% !important; scroll-snap-align: start !important;
    min-width: 0 !important; flex-direction: row !important;
    align-items: center !important;
  }
  .ssp-ao-item .ssp-byo-img { width: 64px !important; height: 64px !important; flex-shrink: 0 !important; }
  .ssp-ao-item .ssp-byo-info { flex: 1 !important; min-width: 0 !important; overflow: hidden !important; }
  .ssp-byo-name { font-size: 0.78rem !important; width: auto !important; white-space: normal !important; }
}

/* ── 4. FOOTER — 2-column compact on mobile ── */
@media (max-width: 600px) {
  .footer-top {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 16px !important;
    padding: 36px 20px !important;
  }
  .footer-col--brand { grid-column: 1 / -1 !important; }
  .footer-col:nth-child(2) { padding-left: 0 !important; }
  .footer-col:nth-child(3) { padding-left: 0 !important; }
  .footer-col-title { font-size: 0.58rem !important; margin-bottom: 10px !important; }
  .footer-links { gap: 10px !important; }
  .footer-links a { font-size: 0.78rem !important; }
  .footer-tagline { font-size: 0.72rem !important; }
  .footer-signup { max-width: 100% !important; }
}

/* ── 5. SHOP PAGE — pills below header on mobile ── */
@media (max-width: 600px) {
  .ssp-space-head--kitchen { flex-direction: column !important; gap: 12px !important; }
  .ssp-subnav { width: 100% !important; }
  .ssp-bundles-row .ssp-bundle { flex: 0 0 75% !important; }
  .ssp-addons-row .ssp-bundle--sm { flex: 0 0 28% !important; min-width: 110px !important; }
  .ssp-nav { top: 84px !important; }
  .ssp-nav-inner { padding: 0 !important; overflow-x: auto !important; scrollbar-width: none !important; }
  .ssp-nav-btn { padding: 12px 14px !important; font-size: 0.58rem !important; }
}

/* ── 6. BYO BUILDER — scrollable grid on mobile ── */
@media (max-width: 600px) {
  .ssp-byo-builder { padding: 14px !important; overflow-x: hidden !important; }
  .ssp-byo-step-grid {
    display: flex !important; flex-direction: row !important;
    flex-wrap: nowrap !important; overflow-x: auto !important;
    scroll-snap-type: x mandatory !important; gap: 8px !important;
    padding-bottom: 6px !important; scrollbar-width: none !important;
    grid-template-columns: unset !important;
  }
  .ssp-byo-item { flex: 0 0 42% !important; scroll-snap-align: start !important; min-width: 0 !important; }
  .ssp-byo-img { width: 100% !important; aspect-ratio: 1 !important; height: auto !important; }
  .ssp-byo-name { font-size: 0.7rem !important; width: auto !important; }
  .ssp-byo-atc-row { flex-direction: column !important; gap: 8px !important; align-items: stretch !important; }
  .ssp-byo-atc { width: 100% !important; text-align: center !important; }
}

/* ── 7. LABEL BUILDER — tighter on mobile ── */
@media (max-width: 600px) {
  .cart-label-editor { padding: 14px !important; }
  .cart-label-editor .ssp-lbl-zone-col { width: 88px !important; }
  .cart-label-editor .ssp-lbl-custom-input { font-size: 0.65rem !important; height: 28px !important; padding: 3px 5px !important; }
  .ssp-lbl-zdrop-trigger { font-size: 0.65rem !important; height: 28px !important; }
}

/* ── 8. SERVICES PAGE — horizontal scroll on mobile ── */
@media (max-width: 600px) {
  .svc-bundles-stack {
    display: flex !important; flex-direction: row !important;
    overflow-x: auto !important; scroll-snap-type: x mandatory !important;
    gap: 12px !important; padding-bottom: 8px !important; scrollbar-width: none !important;
    grid-template-columns: unset !important;
  }
  .svc-bundles-stack .ssp-bundle { flex: 0 0 78% !important; scroll-snap-align: start !important; min-width: 0 !important; width: unset !important; }
}

/* ── 9. PDP — single column, gallery below image, no trust, system strip below accordions ── */
@media (max-width: 600px) {
  .pdp-wrap { padding-top: 90px !important; padding-left: 16px !important; padding-right: 16px !important; }
  .pdp-grid { grid-template-columns: 1fr !important; gap: 20px !important; }
  .pdp-gallery { position: static !important; }
  /* Thumbs BELOW main image on mobile */
  .pdp-gallery-inner { flex-direction: column !important; gap: 8px !important; }
  .pdp-thumbs { flex-direction: row !important; flex-wrap: nowrap !important; overflow-x: auto !important; scrollbar-width: none !important; order: 2 !important; gap: 6px !important; width: 100% !important; flex-shrink: unset !important; }
  .pdp-thumb { width: 56px !important; height: 56px !important; flex-shrink: 0 !important; }
  .pdp-hero { order: 1 !important; flex: none !important; width: 100% !important; aspect-ratio: 1 !important; }
  .pdp-hero img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
  .pdp-title { font-size: 1.8rem !important; }
  /* ATC full width */
  .pdp-jar-atc-group { flex-direction: column !important; gap: 8px !important; align-items: stretch !important; }
  .pdp-atc-compact { width: 100% !important; text-align: center !important; }
  .pdp-jar-action-row { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  /* Bundle callout stack */
  .pdp-jar-bundle-callout { flex-direction: column !important; gap: 10px !important; }
  .pdp-jar-bundle-callout__btn { width: 100% !important; text-align: center !important; }
  /* Trust section hidden on mobile */
  .pdp-trust { display: none !important; }
  /* System strip — larger items, 3-4 visible, scrollable */
  .pdp-jar-system-strip { overflow-x: auto !important; padding-bottom: 8px !important; }
  .pdp-jar-system-strip__row { display: flex !important; flex-wrap: nowrap !important; gap: 8px !important; }
  .pdp-jar-system-item { flex: 0 0 22% !important; min-width: 72px !important; }
  .pdp-jar-system-item__img { width: 100% !important; height: auto !important; aspect-ratio: 1 !important; }
  .pdp-jar-system-item__name { font-size: 0.6rem !important; text-align: center !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; width: 100% !important; }
}

/* ── 10. CART PAGE MOBILE — drawer style ── */
@media (max-width: 600px) {
  .cart-page { padding-top: 100px !important; }
  .cart-page__inner { padding: 12px 12px 60px !important; }
  .cart-page__table-head { display: none !important; }
  .cart-page__items-wrap { border: none !important; }
  .cart-page__item {
    display: flex !important; flex-direction: column !important;
    gap: 0 !important; padding: 14px !important;
    border: 1px solid var(--linen-mid) !important;
    border-radius: 6px !important; margin-bottom: 8px !important;
    background: #fff !important; position: relative !important;
    grid-template-columns: unset !important;
  }
  .cart-page__item-product { display: flex !important; gap: 12px !important; align-items: flex-start !important; width: 100% !important; }
  .cart-page__img { width: 72px !important; height: 72px !important; }
  .cart-page__img-ph { width: 72px !important; height: 72px !important; }
  .cart-page__item-info { flex: 1 !important; min-width: 0 !important; }
  .cart-page__item-name { font-size: 0.82rem !important; }
  .cart-page__item-price-wrap { display: none !important; }
  .cart-page__item-qty-savings { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid var(--linen-mid) !important; width: 100% !important; }
  .cart-page__item-savings { font-size: 0.7rem !important; margin: 4px 0 0 !important; }
  .cart-page__item-delete { position: absolute !important; top: 10px !important; right: 10px !important; }
}

/* ── 11. CONSULT PAGE — hide rogue subscribe button ── */
.page-book-a-consult .footer-signup,
.page-book-a-consult .klaviyo-form,
.page-book-a-consult [data-form-id],
.page-book-a-consult .needsclick:not([type="submit"]):not(.btn-primary) { display: none !important; }



/* ══════════════════════════════════
   TARGETED MOBILE FIXES v7.01
   ══════════════════════════════════ */

/* ── HERO PUSH DOWN — more aggressive ── */
@media (max-width: 600px) {
  /* ssp3 shop page hero text */
  .ssp3-hero-text { padding-top: 120px !important; padding-bottom: 48px !important; }
  /* lhero (services/story pages) */
  .lhero-left { padding-top: 110px !important; }
  .lhero-content { padding-top: 0 !important; }
  /* ssp-hero */
  .ssp-hero { padding-top: 110px !important; }
  .ssp-hero-text { padding-top: 0 !important; }
  /* General hero */  
  .hero-left { padding-top: 100px !important; }
  .ssp2-hero { padding-top: 110px !important; }
  /* Story page */
  .story-hero__left { padding-top: 100px !important; }
}

/* ── PDP SYSTEM STRIP — exactly 4 items, divider fix ── */
@media (max-width: 600px) {
  /* Remove divider above system strip, add one above Dimensions accordion */
  .pdp-jar-system-strip { border-top: none !important; margin-top: 20px !important; padding-top: 0 !important; }
  .stv-acc:first-of-type { border-top: 1px solid var(--linen-mid) !important; padding-top: 0 !important; }
  /* System strip: exactly 4 items before scroll */
  .pdp-jar-system-strip__row { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory !important; gap: 8px !important; scrollbar-width: none !important; padding-bottom: 4px !important; }
  .pdp-jar-system-item { flex: 0 0 calc(25% - 6px) !important; scroll-snap-align: start !important; min-width: 0 !important; }
  .pdp-jar-system-item__img { width: 100% !important; aspect-ratio: 1 !important; height: auto !important; }
  .pdp-jar-system-item__name { font-size: 0.58rem !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; text-align: center !important; width: 100% !important; }
}

/* ── CART PAGE — drawer-style layout (higher specificity) ── */
@media (max-width: 600px) {
  .cart-page { padding-top: 96px !important; }
  .cart-page__inner { padding: 12px 12px 60px !important; max-width: 100% !important; }
  .cart-page__table { border: none !important; border-radius: 0 !important; }
  .cart-page__table-head { display: none !important; }
  /* Each item = card */
  .cart-page__item {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 14px !important;
    border: 1px solid var(--linen-mid) !important;
    border-radius: 6px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    position: relative !important;
    /* Override the desktop grid */
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }
  .cart-page__item-product {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
    align-items: flex-start !important;
    width: 100% !important;
    grid-column: unset !important;
  }
  .cart-page__img, .cart-page__img-ph { width: 68px !important; height: 68px !important; flex-shrink: 0 !important; }
  .cart-page__item-info { flex: 1 !important; min-width: 0 !important; }
  .cart-page__item-name { font-size: 0.8rem !important; white-space: normal !important; }
  .cart-page__item-variant { font-size: 0.68rem !important; }
  /* Price hidden, total shown bottom-right */
  .cart-page__item-price-wrap { display: none !important; }
  /* Qty + total row at bottom */
  .cart-page__qty { margin: 0 !important; }
  .cart-page__item-total { font-size: 0.9rem !important; font-weight: 500 !important; }
  .cart-page__item-savings { font-size: 0.68rem !important; color: var(--terra) !important; }
  /* Delete top right */
  .cart-page__item-delete { position: absolute !important; top: 12px !important; right: 12px !important; }
  /* Bottom qty+price row */  
  .cart-page__item-qty-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-top: 10px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--linen-mid) !important;
    width: 100% !important;
  }
}

/* ── CONSULT PAGE — hide rogue subscribe ── */
@media (max-width: 960px) {
  .template-page-book-a-consult .footer-col--newsletter { display: none !important; }
  .template-page-book-a-consult .klaviyo-form { display: none !important; }
  .template-page-book-a-consult [class*="klaviyo"] { display: none !important; }
  /* Also target by position - any fixed/sticky subscribe widget */
  .template-page-book-a-consult [data-form-id] { display: none !important; }
}


/* Trust desktop-only */
@media (max-width: 600px) {
  .pdp-trust--desktop-only { display: none !important; }
}

/* ── PDP SYSTEM STRIP DESKTOP/MOBILE SWAP ── */

/* Desktop: show desktop strip, hide mobile strip */
.pdp-system-strip--mobile { display: none; }
.pdp-system-strip--desktop { display: block; }

/* Desktop: accordion has no top border (strip border-bottom provides separation) */
.stv-acc--main { border-top: none !important; }

@media (max-width: 600px) {
  /* Mobile: hide desktop strip, show mobile strip */
  .pdp-system-strip--desktop { display: none !important; }
  .pdp-system-strip--mobile { display: block !important; }
  /* Mobile: accordion needs top border */
  .stv-acc--main { border-top: 1px solid var(--linen-mid) !important; }
  /* Mobile: no divider above system strip (it's at the bottom) */
  .pdp-system-strip--mobile { border-top: none !important; }
}

/* ══════════════════════════════════════
   PDP DIVIDER FIXES — desktop & mobile
   ══════════════════════════════════════ */

/* ── DESKTOP ── */
/* Trust: remove top border (bundle callout provides separation) */
.pdp-trust--row { border-top: none !important; }
/* System strip desktop: top border set inline on element */
/* Accordion: no top border on desktop (strip bottom border provides it) */
@media (min-width: 601px) {
  .stv-acc--main { border-top: none !important; }
}

/* ── MOBILE ── */
@media (max-width: 600px) {
  /* Accordion: top divider with spacing from bundle callout */
  .stv-acc--main { border-top: 1px solid var(--linen-mid) !important; margin-top: 20px !important; }
  /* Mobile system strip: add bottom divider before footer */
  .pdp-system-strip--mobile { border-bottom: 1px solid var(--linen-mid) !important; padding-bottom: 20px !important; }
}

/* Tenor Sans numeral spans — smooth font swap */
.tenor-num {
  display: inline;
  transition: opacity 0.15s ease;
}

/* ══ PDP GALLERY STICKY — DEFINITIVE ══
   site-top = marquee(32px) + nav(72px) = 104px
   gallery top = 104px + 12px breathing = 116px
   pdp-wrap padding = 116px so gallery starts exactly at its sticky point ══ */
@media (min-width: 601px) {
  .pdp-wrap { padding-top: 116px !important; }
  .pdp-gallery {
    position: sticky !important;
    top: 116px !important;
    align-self: start !important;
    max-height: calc(100vh - 116px) !important;
    overflow-y: auto !important;
  }
  .pdp-grid { align-items: start !important; overflow: visible !important; }
}

/* ── MOBILE PDP LAYOUT FIXES ── */
@media (max-width: 600px) {

  /* 1. Price + qty on same row, ATC full width below */
  .pdp-jar-action-row {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  .pdp-jar-action-row .pdp-price {
    flex: unset !important;
  }
  /* Price and qty side by side */
  .pdp-jar-action-row > :first-child {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }
  .pdp-jar-atc-group {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 0 !important;
  }
  /* Move qty to sit with price — hide from atc-group row */
  .pdp-jar-atc-group .pdp-jar-qty--sm { display: none !important; }
  /* ATC full width */
  .pdp-jar-atc-group .pdp-atc-compact {
    width: 100% !important;
    text-align: center !important;
  }
  /* Show qty next to price using a separate mobile-qty element */
  .pdp-price-qty-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
  }

  /* 2. Remove border-radius on main product image on mobile */
  .pdp-hero { border-radius: 0 !important; }

  /* 3. Reduce gap between image and breadcrumb — match breadcrumb-to-nav gap */
  .pdp-breadcrumb--gallery { padding-top: 12px !important; padding-bottom: 16px !important; }
  .pdp-wrap { padding-top: 104px !important; }
}

/* Mobile qty visibility */
.pdp-qty--mobile-only { display: none; }
.pdp-qty--desktop-only { display: flex; }
@media (max-width: 600px) {
  .pdp-qty--mobile-only { display: flex !important; }
  .pdp-qty--desktop-only { display: none !important; }
}

/* ─── Cart Drawer ──────────────────────────────────────────────────────────── */

.cart-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 199;
  background: rgba(62, 36, 16, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.cart-drawer-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}

.cart-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: 420px;
  max-width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 200;
  background: var(--warm-wht, #FAF6F0);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -4px 0 32px rgba(62, 36, 16, 0.12);
  overflow: hidden;
}
.cart-drawer--open {
  transform: translateX(0);
}

.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--linen, #F2EBE0);
  flex-shrink: 0;
}
.cart-drawer__title {
  font-family: var(--serif, 'Cormorant Garamond', serif);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--bark, #3E2410);
  letter-spacing: 0.01em;
}
.cart-drawer__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: var(--bark, #3E2410);
  opacity: 0.6;
  transition: opacity 0.2s;
  display: flex;
  align-items: center;
}
.cart-drawer__close:hover { opacity: 1; }

.cart-drawer__shipping-tracker {
  padding: 14px 24px;
  background: var(--linen, #F2EBE0);
  border-bottom: 1px solid rgba(62, 36, 16, 0.08);
  flex-shrink: 0;
}
.cart-drawer__shipping-msg {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.78rem;
  color: var(--bark, #3E2410);
  margin: 0 0 8px;
}
.cart-drawer__shipping-msg--achieved {
  color: #5a8a5a;
  font-weight: 600;
}
.cart-drawer__shipping-bar {
  height: 3px;
  background: rgba(62, 36, 16, 0.15);
  border-radius: 2px;
  overflow: hidden;
}
.cart-drawer__shipping-fill {
  height: 100%;
  background: var(--terra, #B85C38);
  border-radius: 2px;
  transition: width 0.4s ease;
}

.cart-drawer__body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  -webkit-overflow-scrolling: touch;
}

.cart-drawer__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  height: 100%;
  text-align: center;
  font-family: var(--sans, Jost, sans-serif);
  color: var(--bark, #3E2410);
  opacity: 0.6;
}
.cart-drawer__empty-link {
  font-size: 0.85rem;
  color: var(--terra, #B85C38);
  text-decoration: none;
}
.cart-drawer__empty-link:hover { text-decoration: underline; }

.cart-drawer__item {
  display: flex;
  gap: 14px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(62, 36, 16, 0.08);
}
.cart-drawer__item:last-child { border-bottom: none; }

.cart-drawer__img-wrap {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--linen, #F2EBE0);
  display: block;
}
.cart-drawer__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cart-drawer__img-ph {
  width: 100%;
  height: 100%;
  background: var(--linen, #F2EBE0);
}

.cart-drawer__item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.cart-drawer__item-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}
.cart-drawer__item-name {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
  text-decoration: none;
  display: block;
  line-height: 1.3;
}
.cart-drawer__item-name:hover { color: var(--terra, #B85C38); }
.cart-drawer__item-variant {
  display: block;
  font-size: 0.75rem;
  color: var(--bark, #3E2410);
  opacity: 0.55;
  font-family: var(--sans, Jost, sans-serif);
  margin-top: 2px;
}
.cart-drawer__item-price-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  flex-shrink: 0;
}
.cart-drawer__item-price {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
}
.cart-drawer__item-price--sale { color: var(--terra, #B85C38); }
.cart-drawer__item-price--compare {
  font-size: 0.75rem;
  text-decoration: line-through;
  opacity: 0.45;
  font-weight: 400;
}

.cart-drawer__item-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.cart-drawer__qty {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid rgba(62, 36, 16, 0.2);
  border-radius: 3px;
  overflow: hidden;
}
.cart-drawer__qty-btn {
  background: none;
  border: none;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.1rem;
  color: var(--bark, #3E2410);
  transition: background 0.15s;
}
.cart-drawer__qty-btn:hover { background: var(--linen, #F2EBE0); }
.cart-drawer__qty-val {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
  width: 28px;
  text-align: center;
}
.cart-drawer__remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--bark, #3E2410);
  opacity: 0.4;
  padding: 4px;
  display: flex;
  align-items: center;
  transition: opacity 0.2s;
}
.cart-drawer__remove:hover { opacity: 0.8; }

.cart-drawer__footer {
  padding: 20px 24px;
  border-top: 1px solid var(--linen, #F2EBE0);
  flex-shrink: 0;
  background: var(--warm-wht, #FAF6F0);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cart-drawer__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--bark, #3E2410);
}
.cart-drawer__tax-note {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.75rem;
  color: var(--bark, #3E2410);
  opacity: 0.5;
  margin: 0;
  text-align: center;
}
.cart-drawer__checkout-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--terra, #B85C38);
  color: #fff;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 14px 20px;
  border-radius: 2px;
  transition: background 0.2s, transform 0.15s;
}
.cart-drawer__checkout-btn:hover {
  background: var(--bark, #3E2410);
  transform: translateY(-1px);
}
.cart-drawer__continue {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.8rem;
  color: var(--bark, #3E2410);
  opacity: 0.55;
  text-align: center;
  padding: 4px;
  width: 100%;
  transition: opacity 0.2s;
}
.cart-drawer__continue:hover { opacity: 0.9; }

@media (max-width: 480px) {
  .cart-drawer {
    width: 100vw;
  }
}

/* ─── Cart Page (cpage) ────────────────────────────────────────────────────── */

.cpage {
  background: var(--warm-wht, #FAF6F0);
  min-height: 60vh;
  padding: 48px 0 80px;
}
.cpage__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}
.cpage__heading {
  font-family: var(--serif, 'Cormorant Garamond', serif);
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  font-weight: 300;
  color: var(--bark, #3E2410);
  margin: 0 0 32px;
  letter-spacing: -0.01em;
}

/* Empty state */
.cpage__empty {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  font-family: var(--sans, Jost, sans-serif);
  color: var(--bark, #3E2410);
}

/* Table wrapper */
.cpage__table {
  border: 1px solid rgba(62, 36, 16, 0.14);
  border-radius: 2px;
  background: #fff;
  overflow: hidden;
}
.cpage__table--labels {
  border-top: none;
  border-radius: 0 0 2px 2px;
}

/* Column header row */
.cpage__thead {
  display: grid;
  grid-template-columns: minmax(160px, 280px) 1fr 1fr 1fr 1fr 44px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(62, 36, 16, 0.1);
  background: #fff;
}
.cpage__th {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bark, #3E2410);
  opacity: 0.85;
  padding: 14px 0;
}
.cpage__th--price,
.cpage__th--qty,
.cpage__th--total,
.cpage__th--savings { text-align: center; }

/* Product rows */
.cpage__row {
  display: grid;
  grid-template-columns: minmax(160px, 280px) 1fr 1fr 1fr 1fr 44px;
  padding: 0 24px;
  border-bottom: 1px solid rgba(62, 36, 16, 0.08);
  align-items: center;
  min-height: 100px;
}
.cpage__row:last-child { border-bottom: none; }

/* Cells */
.cpage__cell {
  padding: 20px 0;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.85rem;
  color: var(--bark, #3E2410);
}
.cpage__cell--product {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cpage__cell--price,
.cpage__cell--total { text-align: center; }
.cpage__cell--price { font-weight: 300; }
.cpage__cell--total { font-weight: 400; }
.cpage__cell--qty { display: flex; justify-content: center; }
.cpage__cell--savings {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
}
.cpage__cell--del { display: flex; justify-content: flex-end; }

/* Product image */
.cpage__img-wrap {
  flex-shrink: 0;
  width: 88px;
  height: 88px;
  border-radius: 4px;
  overflow: hidden;
  background: var(--linen, #F2EBE0);
}
.cpage__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cpage__img-ph {
  width: 100%;
  height: 100%;
  background: var(--linen, #F2EBE0);
}
.cpage__item-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cpage__name {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
}
.cpage__name--link { text-decoration: none; }
.cpage__name--link:hover { text-decoration: underline; }
.cpage__variant {
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--bark, #3E2410);
  opacity: 0.55;
}
.cpage__collection {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--bark, #3E2410);
  opacity: 0.55;
}

/* Quantity stepper — 3 separate bordered boxes */
.cpage__qty {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cpage__qty-btn {
  background: none;
  border: 1px solid rgba(62, 36, 16, 0.25);
  border-radius: 2px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  font-size: 0.85rem;
  color: var(--bark, #3E2410);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  flex-shrink: 0;
  padding: 0;
  line-height: 1;
}
.cpage__qty-btn:last-child {
  border: 1px solid rgba(62, 36, 16, 0.25);
}
.cpage__qty-btn:hover { background: var(--linen, #F2EBE0); }
.cpage__qty-val {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--bark, #3E2410);
  min-width: 20px;
  text-align: center;
  border: none;
  background: none;
}

/* Savings */
.cpage__savings-val {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--terra, #B85C38);
  display: block;
}
.cpage__savings-note {
  font-size: 0.65rem;
  font-weight: 300;
  color: var(--terra, #B85C38);
  display: block;
}
.cpage__savings-dash {
  font-family: var(--sans);
  font-size: 0.9rem;
  color: var(--bark, #3E2410);
  opacity: 0.55;
}

/* Delete */
.cpage__del {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--bark, #3E2410);
  opacity: 0.55;
  display: flex;
  align-items: center;
  padding: 4px;
  transition: opacity 0.2s;
}
.cpage__del:hover { opacity: 1; }

/* Bespoke group header */
.cpage__bespoke-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding: 12px 16px;
  border: 1px solid var(--admin-border, #e8e0d8);
  border-bottom: none;
  background: var(--linen-dk);
}
.cpage__bespoke-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cpage__bespoke-count {
  font-family: var(--sans);
  font-size: 0.78rem;
  color: var(--bark-lt, #6B4F3A);
  font-weight: 400;
}
.cpage__bespoke-min-notice {
  font-family: var(--sans);
  font-size: 0.75rem;
  color: var(--terra, #B85C38);
  background: rgba(184, 92, 56, 0.06);
  border: 1px solid rgba(184, 92, 56, 0.2);
  border-top: none;
  padding: 8px 16px;
  margin: 0;
}
.cpage__bespoke-label {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--terra);
  color: var(--warm-wht, #fff);
  padding: 3px 9px;
  border-radius: 20px;
}
.cpage__bespoke-discount {
  font-family: var(--sans);
  font-size: 0.6rem;
  font-weight: 500;
  color: #b03030;
  background: rgba(180, 40, 40, 0.07);
  border: 1px solid rgba(180, 40, 40, 0.28);
  padding: 3px 10px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.cpage__table--bespoke {
  border-top: none;
}

/* Label Bespoke section */
.cpage__label-section {
  margin-top: 24px;
}
.cpage__label-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 24px;
  background: var(--linen, #F2EBE0);
  border: 1px solid rgba(62, 36, 16, 0.14);
  border-radius: 2px 2px 0 0;
}
.cpage__label-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cpage__label-badge {
  background: var(--terra, #B85C38);
  color: #fff;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 50px;
  white-space: nowrap;
}
.cpage__label-count {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  color: var(--bark, #3E2410);
}
.cpage__label-edit {
  background: none;
  border: 1.5px solid var(--terra, #B85C38);
  color: var(--terra, #B85C38);
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 7px 18px;
  border-radius: 2px;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.cpage__label-edit:hover {
  background: var(--terra, #B85C38);
  color: #fff;
}

/* Order summary */
.cpage__summary {
  margin-top: 40px;
  display: flex;
  justify-content: flex-end;
}
.cpage__summary-inner {
  width: 380px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cpage__ship-tracker {
  padding: 16px;
  background: var(--linen, #F2EBE0);
  border-radius: 2px;
}
.cpage__ship-msg {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.8rem;
  color: var(--bark, #3E2410);
  margin: 0 0 10px;
}
.cpage__ship-msg--done { color: #5a8a5a; font-weight: 600; }
.cpage__ship-bar {
  height: 3px;
  background: rgba(62, 36, 16, 0.15);
  border-radius: 2px;
  overflow: hidden;
}
.cpage__ship-fill {
  height: 100%;
  background: var(--terra, #B85C38);
  border-radius: 2px;
  transition: width 0.4s ease;
}

/* Shipping calculator */
.cpage__ship-calc {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin-top: 0;
}
.cpage__ship-input {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid rgba(62, 36, 16, 0.18);
  border-radius: 2px;
  background: #fff;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: var(--bark, #3E2410);
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.cpage__ship-input::placeholder { color: var(--bark); opacity: 0.45; }
.cpage__ship-input:focus { border-color: rgba(62, 36, 16, 0.4); }
.cpage__ship-calc-btn {
  width: 100%;
  padding: 12px 16px;
  background: var(--linen-dk, #E5D8C8);
  border: none;
  border-radius: 2px;
  font-family: var(--sans);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bark, #3E2410);
  cursor: pointer;
  transition: background 0.2s;
}
.cpage__ship-calc-btn:hover { background: var(--linen-mid, #D9C9B4); }
.cpage__ship-progress { margin-top: 20px; }

.cpage__totals {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 2px;
}
.cpage__total-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.88rem;
  color: var(--bark, #3E2410);
}
.cpage__total-row--grand {
  font-size: 1rem;
  font-weight: 700;
  padding-top: 10px;
  border-top: 1px solid rgba(62, 36, 16, 0.12);
}
.cpage__checkout-btn {
  display: block;
  width: 100%;
  text-align: center;
  text-decoration: none;
}
.cpage__continue {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.8rem;
  color: var(--bark, #3E2410);
  opacity: 0.55;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s;
}
.cpage__continue:hover { opacity: 0.9; }

/* Bottom 3-panel grid (Discount · Shipping · Summary) */
.cart-page__panels {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 40px;
  border: 1px solid rgba(62, 36, 16, 0.14);
  border-radius: 2px;
  background: #fff;
  overflow: hidden;
}
.cart-page__panel {
  padding: 32px;
  border-right: 1px solid rgba(62, 36, 16, 0.1);
  display: flex;
  flex-direction: column;
}
.cart-page__panel:last-child { border-right: none; }
.cart-page__panel-title {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bark, #3E2410);
  margin: 0 0 8px;
}
.cart-page__panel-note {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 300;
  color: var(--bark, #3E2410);
  opacity: 0.65;
  margin: 0 0 16px;
  line-height: 1.6;
}
.cart-page__discount-wrap {
  display: flex;
  gap: 8px;
}
.cart-page__discount-input {
  flex: 1;
  border: 1px solid rgba(62, 36, 16, 0.22);
  border-radius: 2px;
  padding: 10px 14px;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.85rem;
  color: var(--bark, #3E2410);
  background: var(--warm-wht, #FAF6F0);
  outline: none;
}
.cart-page__discount-input:focus { border-color: var(--terra, #B85C38); }
.cart-page__discount-btn {
  background: var(--bark, #3E2410);
  color: var(--linen, #F2EBE0);
  border: none;
  border-radius: 2px;
  padding: 10px 20px;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.cart-page__discount-btn:hover { background: var(--clay, #8B4513); }
.cart-page__panel-divider {
  height: 1px;
  background: rgba(62, 36, 16, 0.1);
  margin: 24px 0;
}
.cart-page__notes-input {
  width: 100%;
  border: 1px solid rgba(62, 36, 16, 0.22);
  border-radius: 2px;
  padding: 10px 14px;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.85rem;
  color: var(--bark, #3E2410);
  background: var(--warm-wht, #FAF6F0);
  outline: none;
  box-sizing: border-box;
}
.cart-page__notes-input:focus { border-color: var(--terra, #B85C38); }
.cart-page__summary-line {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}
.cart-page__summary-title-label {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.88rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
}
.cart-page__item-count {
  font-size: 0.8rem;
  font-weight: 300;
  opacity: 0.6;
  margin-left: 4px;
}
.cart-page__summary-price {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--bark, #3E2410);
}
.cart-page__summary-savings-label {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 400;
  color: var(--bark, #3E2410);
}
.cart-page__summary-savings-amount {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 600;
  color: #5a8a5a;
}
.cart-page__free-ship-notice {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.78rem;
  color: #5a8a5a;
  font-weight: 500;
  margin: 0 0 10px;
  line-height: 1.5;
}
.cart-page__divider {
  height: 1px;
  background: rgba(62, 36, 16, 0.1);
  margin: 16px 0;
}
.cart-page__note {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.74rem;
  color: var(--bark, #3E2410);
  opacity: 0.5;
  margin: 0 0 16px;
  line-height: 1.5;
}
.cart-page__checkout {
  display: block;
  width: 100%;
  text-align: center;
  padding: 14px 20px;
  background: var(--terra, #B85C38);
  color: #fff;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.62rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 2px;
  transition: background 0.2s;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.cart-page__checkout:hover { background: var(--bark, #3E2410); }
.cart-page__continue-btn {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.62rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
  opacity: 0.55;
  text-decoration: none;
  transition: opacity 0.2s;
}
.cart-page__continue-btn:hover { opacity: 0.9; }

/* Discount applied state */
.cart-page__discount-applied {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cart-page__discount-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--linen, #F2EBE0);
  border: 1px solid rgba(62, 36, 16, 0.18);
  border-radius: 2px;
  padding: 6px 12px;
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--bark, #3E2410);
  text-transform: uppercase;
  width: fit-content;
}
.cart-page__discount-remove {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--bark, #3E2410);
  opacity: 0.45;
  font-size: 0.9rem;
  line-height: 1;
  padding: 0;
  transition: opacity 0.15s;
}
.cart-page__discount-remove:hover { opacity: 1; }
.cart-page__discount-success {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.78rem;
  color: #5a8a5a;
  font-weight: 500;
  margin: 0;
  line-height: 1.5;
}
.cart-page__discount-error {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.76rem;
  color: #c0392b;
  margin: 6px 0 0;
  line-height: 1.4;
}

/* Shipping calculator row */
.cart-page__ship-calc-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.cart-page__ship-country {
  flex: 2;
  min-width: 90px;
  background: var(--linen, #F2EBE0) !important;
  cursor: not-allowed;
  opacity: 0.7;
}
.cart-page__ship-state {
  flex: 1.5;
  min-width: 70px;
  appearance: none;
}
.cart-page__ship-postcode {
  flex: 1;
  min-width: 64px;
}
.cart-page__ship-calc-btn-inline {
  display: block;
}
.cart-page__ship-result {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--bark, #3E2410);
  margin: 10px 0 0;
  line-height: 1.5;
}
.cart-page__ship-estimate-note {
  font-family: var(--sans, Jost, sans-serif);
  font-size: 0.7rem;
  color: var(--bark, #3E2410);
  opacity: 0.45;
  margin: 6px 0 0;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .cart-page__panels { grid-template-columns: 1fr !important; }
  .cart-page__panel { border-right: none !important; border-bottom: 1px solid rgba(62,36,16,0.1) !important; padding: 24px 20px !important; }
  .cart-page__panel:last-child { border-bottom: none !important; }
}
@media (max-width: 600px) {
  .cart-page__panels { margin-top: 24px; }
  .cart-page__panel { padding: 20px 16px !important; }
}

/* Responsive */
@media (max-width: 900px) {
  .cpage__thead {
    display: none;
  }
  .cpage__row {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 12px;
    padding: 16px;
  }
  .cpage__cell--product { grid-column: 1 / -1; }
  .cpage__cell--savings { align-items: flex-start; text-align: left; }
  .cpage__summary { justify-content: stretch; }
  .cpage__summary-inner { width: 100%; }
}

@media (max-width: 600px) {
  .cpage { padding: 28px 0 60px; }
  .cpage__inner { padding: 0 16px; }
  .cpage__img-wrap { width: 64px; height: 64px; }
}

/* ─── Our Story Page ───────────────────────────────────────────────────────── */
.story-page { display: flex; flex-direction: column; }
.story-hero { padding: 140px 80px 120px; background: var(--linen,#F2EBE0); text-align: center; display: flex; justify-content: center; align-items: center; }
.story-hero__inner { max-width: 1100px; width: 100%; display: flex; flex-direction: column; align-items: center; }
.story-eyebrow { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--terra,#B85C38); display: block; margin-bottom: 20px; }
.story-hero__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(2.4rem,4.5vw,4rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.15; margin: 0; }
.story-hero__title em { font-style: italic; color: var(--terra,#B85C38); }
.story-founder { display: grid; grid-template-columns: 2fr 5fr; background: var(--warm-wht,#FAF6F0); align-items: start; }
.story-founder__image-col { position: relative; overflow: hidden; align-self: stretch; min-height: 400px; }
.story-founder__img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; top: 0; left: 0; }
.story-founder__img-placeholder { width: 100%; height: 100%; min-height: 400px; background: var(--linen,#F2EBE0); display: flex; align-items: center; justify-content: center; }
.story-founder__img-placeholder span,.story-close__img-placeholder span,.story-lifestyle-img__placeholder span { font-family: var(--sans,Jost,sans-serif); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bark,#3E2410); opacity: 0.4; }
.story-founder__text-col { padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; }
.story-founder__eyebrow { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra,#B85C38); display: block; margin-bottom: 18px; }
.story-founder__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.6rem,2.4vw,2.4rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.2; margin-bottom: 28px; }
.story-founder__body { display: flex; flex-direction: column; gap: 18px; }
.story-founder__body p { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.85; }
.story-origin { background: var(--linen,#F2EBE0); }
.story-origin__inner { display: grid; grid-template-columns: 5fr 2fr; align-items: stretch; }
.story-origin__left { padding: 100px 80px; }
.story-origin__eyebrow-row { display: flex; align-items: center; gap: 20px; margin-bottom: 32px; }
.story-origin__label { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra,#B85C38); white-space: nowrap; }
.story-origin__label-rule { flex: 1; height: 1px; background: rgba(196,168,130,0.4); }
.story-origin__paragraphs { display: flex; flex-direction: column; gap: 22px; }
.story-origin__p { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.85; }
.story-origin__pull { background: var(--terra,#B85C38); padding: 60px 40px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.5rem,2.4vw,2.2rem); font-weight: 300; font-style: italic; color: var(--warm-wht,#FAF6F0); line-height: 1.5; margin: 0; text-align: center; }
.story-origin__pull-attr { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; font-style: normal; letter-spacing: 0.25em; text-transform: uppercase; color: rgba(250,246,240,0.6); display: flex; align-items: center; gap: 14px; }
.story-origin__pull-attr::before,.story-origin__pull-attr::after { content: ''; display: block; width: 32px; height: 1px; background: rgba(250,246,240,0.4); }
.story-lifestyle-img { position: relative; overflow: hidden; max-height: 560px; }
.story-lifestyle-img__placeholder { width: 100%; height: 480px; background: var(--linen,#F2EBE0); display: flex; align-items: center; justify-content: center; border: 2px dashed rgba(62,36,16,0.15); }
.story-values-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: rgba(196,168,130,0.25); }
.story-value-card { background: var(--warm-wht,#FAF6F0); padding: 52px 48px; }
.story-vc__num { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 2.4rem; font-weight: 400; color: var(--terra,#B85C38); opacity: 0.35; display: block; margin-bottom: 16px; line-height: 1; }
.story-vc__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.18rem; font-weight: 400; color: var(--bark,#3E2410); margin-bottom: 14px; }
.story-vc__text { font-size: 0.88rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.7; }
.story-close { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; background: var(--linen,#F2EBE0); }
.story-close__image-col { overflow: hidden; order: 2; }
.story-close__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.story-close__img-placeholder { width: 100%; height: 100%; min-height: 400px; background: rgba(196,168,130,0.2); display: flex; align-items: center; justify-content: center; border: 2px dashed rgba(62,36,16,0.15); }
.story-close__text-col { padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; gap: 24px; order: 1; }
.story-close__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.6rem,2.2vw,2.35rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.2; }
.story-close__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.8; }
.story-cta-bar { background: var(--terra,#B85C38); padding: 64px 80px; display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.story-cta-bar__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 2rem; font-weight: 300; color: var(--warm-wht,#FAF6F0); margin-bottom: 8px; }
.story-cta-bar__sub { font-size: 0.88rem; font-weight: 300; color: rgba(250,246,240,0.75); line-height: 1.7; max-width: 420px; }
.story-cta-bar__actions { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; }
.btn-linen { font-family: var(--sans,Jost,sans-serif); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; padding: 15px 28px; background: var(--linen,#F2EBE0); color: var(--bark,#3E2410); text-decoration: none; display: inline-block; transition: background 0.2s; }
.btn-linen:hover { background: var(--warm-wht,#FAF6F0); }
.btn-ghost { font-family: var(--sans,Jost,sans-serif); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; padding: 14px 28px; background: none; border: 1px solid; text-decoration: none; display: inline-block; transition: background 0.2s; }
@media (max-width: 960px) {
  .story-hero { padding: 80px 24px 60px; }
  .story-founder { grid-template-columns: 1fr; }
  .story-founder__image-col { min-height: 280px; }
  .story-founder__text-col { padding: 48px 24px; }
  .story-origin__inner { grid-template-columns: 1fr; }
  .story-origin__left { padding: 60px 24px; }
  .story-origin__pull { padding: 48px 24px; }
  .story-values-grid { grid-template-columns: 1fr; }
  .story-value-card { padding: 40px 24px; }
  .story-close { grid-template-columns: 1fr; }
  .story-close__image-col { order: 1; min-height: 280px; }
  .story-close__text-col { order: 2; padding: 48px 24px; }
  .story-cta-bar { padding: 56px 24px; flex-direction: column; align-items: flex-start; }
}

/* ─── Services Page ─────────────────────────────────────────────────────────── */
.svc-page { display: flex; flex-direction: column; }
.svc-hero {
  grid-template-columns: 3fr 2fr !important;
  min-height: 400px !important;
  overflow: hidden !important;
}
.svc-hero .ssp3-hero-text { padding: 88px 72px !important; justify-content: center; }
.svc-hero .ssp3-hero-title { margin-bottom: 16px; }
.svc-hero-intro--wide { max-width: 100% !important; font-size: 0.85rem !important; }
.svc-main-grid { background: var(--warm-wht,#FAF6F0); padding: 56px 80px 72px; display: grid; grid-template-columns: 3fr 2fr; gap: 40px; align-items: stretch; }
.svc-bundles-label { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.svc-bundles-label span { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terra,#B85C38); white-space: nowrap; }
.svc-bundles-label::after { content: ''; flex: 1; height: 1px; background: rgba(196,168,130,0.3); }
.svc-bundles-stack { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.svc-cards-col .ssp-bundle { width: 100%; min-width: unset; flex: unset; }
.svc-bundle-img { aspect-ratio: 16/9; background: var(--linen,#F2EBE0); }
.svc-cards-col .ssp-bundle-img { aspect-ratio: 16/9; }
.svc-steps-col { display: flex; flex-direction: column; align-self: stretch; width: 100%; }
.svc-steps-stack {
  display: flex; flex-direction: column; flex: 1;
  border: 1px solid rgba(196,168,130,0.3); border-radius: 4px; overflow: hidden;
}
.svc-step-bar {
  flex: 1; display: flex; flex-direction: column; justify-content: center;
  gap: 8px; padding: 20px 24px;
  border-bottom: 1px solid rgba(196,168,130,0.25); background: #fff;
}
.svc-step-bar:last-child { border-bottom: none; }
.svc-step-bar__title {
  font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.05rem;
  font-weight: 400; color: var(--bark,#3E2410); margin: 0; line-height: 1.2;
}
.svc-step-bar__body {
  display: flex; align-items: baseline; gap: 12px;
}
.svc-step-bar__num {
  font-family: var(--sans,Jost,sans-serif); font-size: 0.62rem; font-weight: 600;
  letter-spacing: 0.1em; color: var(--terra,#B85C38); flex-shrink: 0; line-height: 1.7;
}
.svc-step-bar__text {
  font-family: var(--sans,Jost,sans-serif); font-size: 0.8rem; font-weight: 300;
  line-height: 1.7; color: var(--bark,#3E2410); opacity: 0.6; margin: 0;
}
.svc-why { background: var(--bark,#3E2410); padding: 64px 80px; display: flex; flex-direction: column; align-items: center; text-align: center; }
.svc-why__eyebrow { display: block; font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,246,240,0.45); margin-bottom: 20px; }
.svc-why__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(2rem,3.5vw,3.2rem); font-weight: 300; color: var(--linen,#F2EBE0); line-height: 1.15; max-width: 1000px; margin-bottom: 28px; }
.svc-why__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.9rem; font-weight: 300; line-height: 1.9; color: rgba(250,246,240,0.65); max-width: 900px; text-align: center; }
.svc-beforeafter { background: var(--linen,#F2EBE0); padding: 96px 80px; }
.svc-beforeafter__header { margin-bottom: 48px; }
.svc-ba-eyebrow { font-family: var(--sans,Jost,sans-serif); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.26em; text-transform: uppercase; color: var(--terra,#B85C38); display: block; margin-bottom: 14px; }
.svc-ba-title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(2rem,3.5vw,3rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.1; }
.svc-ba-title em { font-style: italic; color: var(--terra,#B85C38); }
.svc-ba-scroll-wrap { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.svc-ba-scroll-wrap::-webkit-scrollbar { display: none; }
.svc-ba-track { display: flex; gap: 24px; width: max-content; }
.svc-ba-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; flex-shrink: 0; width: calc((min(100vw,1600px) - 160px - 24px) / 2); scroll-snap-align: start; }
.svc-ba-img { position: relative; overflow: hidden; aspect-ratio: 3/2; background: rgba(196,168,130,0.2); }
.svc-ba-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.svc-ba-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; border: 2px dashed rgba(62,36,16,0.15); }
.svc-ba-placeholder span { font-family: var(--sans,Jost,sans-serif); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bark,#3E2410); opacity: 0.4; }
.svc-ba-label { position: absolute; bottom: 12px; left: 12px; font-family: var(--sans,Jost,sans-serif); font-size: 0.6rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; padding: 4px 10px; border-radius: 2px; }
.svc-ba-label--before { background: var(--bark,#3E2410); color: var(--warm-wht,#FAF6F0); }
.svc-ba-label--after { background: var(--terra,#B85C38); color: var(--warm-wht,#FAF6F0); }
@media (max-width: 960px) {
  .svc-hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .svc-main-grid { grid-template-columns: 1fr; padding: 48px 24px 56px; gap: 40px; }
  .svc-bundles-stack { grid-template-columns: 1fr; }
  .svc-why { padding: 64px 24px; }
  .svc-beforeafter { padding: 64px 24px; }
  .svc-ba-pair { width: calc(100vw - 48px); }
}

/* ─── Contact Page ──────────────────────────────────────────────────────────── */
.contact-fullpage { min-height: calc(100vh - 106px); display: grid; grid-template-columns: 1fr 1.4fr; overflow: hidden; }
.contact-fullpage__info { background: var(--linen,#F2EBE0); padding: 56px 48px 60px; display: flex; flex-direction: column; justify-content: center; overflow-y: auto; }
.contact-eyebrow { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra,#B85C38); display: block; margin-bottom: 16px; }
.contact-fullpage__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,2.8vw,2.8rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.1; margin: 0 0 20px; }
.contact-fullpage__title em { font-style: italic; color: var(--terra,#B85C38); }
.contact-fullpage__intro { font-family: var(--sans,Jost,sans-serif); font-size: 0.86rem; font-weight: 300; line-height: 1.75; color: var(--bark,#3E2410); opacity: 0.7; margin-bottom: 28px; }
.contact-reach { display: flex; flex-direction: column; gap: 12px; margin-bottom: 28px; padding-bottom: 24px; border-bottom: 1px solid rgba(196,168,130,0.3); }
.contact-reach__item { display: flex; gap: 12px; align-items: baseline; }
.contact-reach__label { font-family: var(--sans,Jost,sans-serif); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terra,#B85C38); width: 72px; flex-shrink: 0; }
.contact-reach__val { font-family: var(--sans,Jost,sans-serif); font-size: 0.84rem; font-weight: 300; color: var(--bark,#3E2410); }
.contact-reach__val a { color: var(--bark,#3E2410); text-decoration: none; }
.contact-reach__val a:hover { color: var(--terra,#B85C38); }
.contact-consult { display: flex; flex-direction: column; gap: 12px; }
.contact-consult__text { font-family: var(--sans,Jost,sans-serif); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terra,#B85C38); margin: 0; }
.contact-consult__btn { display: block; text-align: center; text-decoration: none; }
.contact-fullpage__form { background: var(--warm-wht,#FAF6F0); padding: 56px 60px; display: flex; flex-direction: column; justify-content: center; overflow-y: auto; }
.contact-form-wrap { width: 100%; }
.contact-fullpage__form-title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.3rem; font-weight: 300; color: var(--bark,#3E2410); margin: 0 0 24px; }
.contact-form { display: flex; flex-direction: column; gap: 16px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-label { font-family: var(--sans,Jost,sans-serif); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.06em; color: var(--bark,#3E2410); }
.form-input,.form-select,.form-textarea { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; color: var(--bark,#3E2410); background: #fff; border: 1px solid rgba(62,36,16,0.2); border-radius: 2px; padding: 11px 14px; outline: none; transition: border-color 0.2s; width: 100%; box-sizing: border-box; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color: var(--terra,#B85C38); }
.form-textarea { min-height: 100px; resize: vertical; }
.btn-primary { font-family: var(--sans,Jost,sans-serif); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; padding: 15px 28px; background: var(--terra,#B85C38); color: #fff; border: none; cursor: pointer; transition: background 0.2s; display: block; width: 100%; text-align: center; text-decoration: none; }
.btn-primary:hover { background: var(--bark,#3E2410); }
.btn-primary:disabled { opacity: 0.6; cursor: not-allowed; }
.contact-disclaimer { font-family: var(--sans,Jost,sans-serif); font-size: 0.7rem; font-weight: 300; color: var(--bark,#3E2410); opacity: 0.5; text-align: center; margin: 4px 0 0; }
.contact-success { display: flex; flex-direction: column; gap: 16px; }
.contact-success p { font-family: var(--sans,Jost,sans-serif); font-size: 0.9rem; color: var(--bark,#3E2410); }
@media (max-width: 960px) {
  .contact-fullpage { grid-template-columns: 1fr; min-height: auto; overflow: visible; }
  .contact-fullpage__info,.contact-fullpage__form { padding: 48px 24px; overflow-y: visible; }
  .form-row { grid-template-columns: 1fr; }
}

/* ─── The STOVENA System Page ───────────────────────────────────────────────── */
.tsys-page { display: flex; flex-direction: column; }
.tsys-section-label { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: var(--terra,#B85C38); display: block; margin-bottom: 16px; }
.tsys-img-placeholder { width: 100%; background: var(--linen,#F2EBE0); display: flex; align-items: center; justify-content: center; border: 2px dashed rgba(62,36,16,0.15); min-height: 320px; }
.tsys-img-placeholder--full { min-height: 0; height: 100%; width: 100%; position: absolute; top: 0; left: 0; }
.tsys-img-placeholder span { font-family: var(--sans,Jost,sans-serif); font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--bark,#3E2410); opacity: 0.4; }
.tsys-hero { background: var(--linen,#F2EBE0); padding: 80px 80px 72px; text-align: center; display: flex; justify-content: center; }
.tsys-hero__inner { max-width: 900px; display: flex; flex-direction: column; align-items: center; }
.tsys-eyebrow { justify-content: center; color: var(--terra,#B85C38) !important; letter-spacing: 0.25em; text-align: center; }
.tsys-hero__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(2.6rem,5vw,4.2rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.1; margin-bottom: 28px; }
.tsys-hero__title em { font-style: italic; color: var(--terra,#B85C38); }
.tsys-hero__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.75; max-width: 680px; }
.tsys-intro-img { overflow: hidden; }
.tsys-problem { display: grid; grid-template-columns: 5fr 2fr; background: var(--warm-wht,#FAF6F0); align-items: stretch; }
.tsys-problem__text { padding: 96px 80px; display: flex; flex-direction: column; gap: 22px; justify-content: center; }
.tsys-problem__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,2.8vw,2.6rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.2; }
.tsys-problem__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.8; }
.tsys-problem__body--standout { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 500; color: var(--bark,#3E2410); opacity: 1; }
.tsys-problem__image { position: relative; overflow: hidden; min-height: 400px; }
.tsys-pillars { background: var(--bark,#3E2410); padding: 56px 80px; }
.tsys-pillars__inner { display: flex; align-items: stretch; gap: 0; }
.tsys-pillar { flex: 1; padding: 0 52px; }
.tsys-pillar:first-child { padding-left: 0; }
.tsys-pillar:last-child { padding-right: 0; }
.tsys-pillar__divider { width: 1px; min-height: 100%; background: rgba(250,246,240,0.15); align-self: stretch; flex-shrink: 0; margin: 0; }
.tsys-pillar__num { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.8rem; font-weight: 400; color: rgba(250,246,240,0.25); display: block; margin-bottom: 16px; line-height: 1; }
.tsys-pillar__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.15rem; font-weight: 400; color: var(--linen,#F2EBE0); margin-bottom: 12px; }
.tsys-pillar__text { font-family: var(--sans,Jost,sans-serif); font-size: 0.85rem; font-weight: 300; line-height: 1.85; color: rgba(250,246,240,0.65); }
.tsys-how { display: grid; grid-template-columns: 5fr 2fr; background: var(--warm-wht,#FAF6F0); align-items: stretch; }
.tsys-how__steps-col { padding: 96px 80px; display: flex; flex-direction: column; }
.tsys-how__header { margin-bottom: 48px; }
.tsys-how__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.6rem,2.4vw,2.2rem); font-weight: 300; color: var(--bark,#3E2410); margin-top: 4px; }
.tsys-how__title em { font-style: italic; color: var(--terra,#B85C38); }
.tsys-steps { display: flex; flex-direction: column; }
.tsys-step { display: flex; gap: 0; align-items: flex-start; }
.tsys-step__left { display: flex; flex-direction: column; align-items: center; width: 52px; flex-shrink: 0; padding-top: 4px; }
.tsys-step__num { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.6rem; font-weight: 300; color: var(--terra,#B85C38); line-height: 1; display: block; }
.tsys-step__line { flex: 1; width: 1px; background: rgba(196,168,130,0.35); margin: 8px 0; min-height: 32px; }
.tsys-step__right { padding-bottom: 40px; padding-left: 8px; }
.tsys-step--last .tsys-step__right { padding-bottom: 0; }
.tsys-step__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.05rem; font-weight: 400; color: var(--bark,#3E2410); margin-bottom: 8px; margin-top: 2px; }
.tsys-step__text { font-family: var(--sans,Jost,sans-serif); font-size: 0.85rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.7; }
.tsys-step__link { display: inline-block; margin-top: 12px; font-size: 0.72rem; font-weight: 500; letter-spacing: 0.08em; color: var(--terra,#B85C38); text-decoration: none; border-bottom: 1px solid var(--terra,#B85C38); padding-bottom: 2px; }
.tsys-how__image-col { position: relative; overflow: hidden; min-height: 400px; }
.tsys-why { background: var(--linen,#F2EBE0); padding: 96px 80px; }
.tsys-why__header { max-width: 860px; margin-bottom: 56px; }
.tsys-why__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,2.8vw,2.6rem); font-weight: 300; color: var(--bark,#3E2410); margin-top: 4px; margin-bottom: 16px; }
.tsys-why__title em { font-style: italic; color: var(--terra,#B85C38); }
.tsys-why__intro { font-family: var(--sans,Jost,sans-serif); font-size: 0.95rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.7; }
.tsys-why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: rgba(196,168,130,0.25); }
.tsys-why__card { background: var(--warm-wht,#FAF6F0); padding: 44px 40px; }
.tsys-why__num { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.6rem; font-weight: 400; color: var(--terra,#B85C38); opacity: 0.35; display: block; margin-bottom: 14px; line-height: 1; }
.tsys-why__card-title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.05rem; font-weight: 400; color: var(--bark,#3E2410); margin-bottom: 10px; }
.tsys-why__card-text { font-family: var(--sans,Jost,sans-serif); font-size: 0.85rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.7; }
.tsys-build { display: grid; grid-template-columns: 5fr 2fr; background: var(--warm-wht,#FAF6F0); align-items: stretch; }
.tsys-build__text { padding: 96px 80px; display: flex; flex-direction: column; gap: 22px; justify-content: center; }
.tsys-build__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,2.8vw,2.6rem); font-weight: 300; color: var(--bark,#3E2410); line-height: 1.2; }
.tsys-build__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; line-height: 1.85; color: var(--bark,#3E2410); opacity: 0.8; }
.tsys-build__systems { margin-top: 8px; }
.tsys-build__system-label { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--bark,#3E2410); opacity: 0.5; display: block; margin-bottom: 14px; }
.tsys-build__system-list { display: flex; flex-wrap: wrap; gap: 8px; }
.tsys-build__chip { font-family: var(--sans,Jost,sans-serif); font-size: 0.72rem; font-weight: 400; letter-spacing: 0.08em; text-decoration: none; color: var(--bark,#3E2410); border: 1px solid rgba(196,168,130,0.6); padding: 7px 16px; border-radius: 2px; transition: background 0.2s, color 0.2s; }
.tsys-build__chip:hover { background: var(--terra,#B85C38); color: var(--warm-wht,#FAF6F0); border-color: var(--terra,#B85C38); }
.tsys-build__image { position: relative; overflow: hidden; min-height: 400px; }
.tsys-services { display: grid; grid-template-columns: 2fr 5fr; background: var(--bark,#3E2410); align-items: stretch; }
.tsys-services__image { position: relative; overflow: hidden; min-height: 400px; }
.tsys-services__text { padding: 96px 80px; display: flex; flex-direction: column; gap: 20px; justify-content: center; }
.tsys-services__eyebrow { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,246,240,0.5); display: block; }
.tsys-services__heading { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,2.8vw,2.6rem); font-weight: 300; color: var(--linen,#F2EBE0); line-height: 1.2; }
.tsys-services__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; line-height: 1.85; color: rgba(250,246,240,0.7); }
.tsys-services__btn { display: inline-block; margin-top: 8px; font-family: var(--sans,Jost,sans-serif); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.1em; color: var(--linen,#F2EBE0); text-decoration: none; border-bottom: 1px solid rgba(250,246,240,0.4); padding-bottom: 3px; width: fit-content; transition: border-color 0.2s; }
.tsys-services__btn:hover { border-color: var(--linen,#F2EBE0); }
.tsys-cta { background: var(--terra,#B85C38); padding: 72px 80px; }
.tsys-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 48px; flex-wrap: wrap; }
.tsys-cta__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 300; color: var(--warm-wht,#FAF6F0); margin-bottom: 12px; }
.tsys-cta__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.9rem; font-weight: 300; line-height: 1.8; color: rgba(250,246,240,0.75); max-width: 480px; }
.tsys-cta__btns { display: flex; gap: 16px; flex-wrap: wrap; flex-shrink: 0; }
.btn-ghost-linen { font-family: var(--sans,Jost,sans-serif); font-size: 0.68rem; font-weight: 500; letter-spacing: 0.15em; text-transform: uppercase; padding: 15px 28px; border: 1px solid rgba(242,235,224,0.5); color: var(--linen,#F2EBE0); text-decoration: none; display: inline-block; transition: background 0.2s; }
.btn-ghost-linen:hover { background: rgba(242,235,224,0.1); }
@media (max-width: 960px) {
  .tsys-hero { padding: 80px 24px 60px; }
  .tsys-intro-img img { height: 360px; }
  .tsys-problem,.tsys-how,.tsys-build,.tsys-services { grid-template-columns: 1fr; }
  .tsys-problem__text,.tsys-how__steps-col,.tsys-build__text,.tsys-services__text { padding: 64px 24px; }
  .tsys-problem__image,.tsys-how__image-col,.tsys-build__image,.tsys-services__image { min-height: 280px; }
  .tsys-pillars { padding: 64px 24px; }
  .tsys-pillars__inner { flex-direction: column; gap: 40px; }
  .tsys-pillar { padding: 0; }
  .tsys-pillar__divider { width: 100%; height: 1px; }
  .tsys-why { padding: 64px 24px; }
  .tsys-why__grid { grid-template-columns: 1fr; }
  .tsys-cta { padding: 56px 24px; }
  .tsys-cta__inner { flex-direction: column; align-items: flex-start; }
  .tsys-cta__btns { flex-direction: column; width: 100%; }
  .tsys-cta__btns a { text-align: center; }
}

/* ─── Services Reviews ──────────────────────────────────────────────────────── */
.svc-reviews { background: var(--warm-wht,#FAF6F0); padding: 96px 80px 80px; }
.svc-reviews__header { margin-bottom: 48px; }
.svc-reviews__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 300; color: var(--bark,#3E2410); margin: 8px 0 0; }
.svc-reviews__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 64px; }
.svc-review-card { background: var(--linen,#F2EBE0); padding: 36px 32px; display: flex; flex-direction: column; gap: 20px; }
.svc-review-card__quote { font-family: var(--serif,'Cormorant Garamond',serif); font-size: 1.05rem; font-weight: 300; font-style: italic; color: var(--bark,#3E2410); line-height: 1.6; margin: 0; }
.svc-review-card__meta { display: flex; flex-direction: column; gap: 3px; }
.svc-review-card__name { font-family: var(--sans,Jost,sans-serif); font-size: 0.8rem; font-weight: 600; color: var(--bark,#3E2410); }
.svc-review-card__loc { font-family: var(--sans,Jost,sans-serif); font-size: 0.72rem; font-weight: 300; color: var(--bark,#3E2410); opacity: 0.6; }
.svc-review-card__svc { font-family: var(--sans,Jost,sans-serif); font-size: 0.65rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--terra,#B85C38); margin-top: 4px; }
.svc-reviews__cta { background: var(--terra,#B85C38); padding: 56px 64px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.svc-reviews__cta-title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.4rem,2.2vw,2rem); font-weight: 300; color: var(--warm-wht,#FAF6F0); margin: 0; }
.svc-reviews__cta-body { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; line-height: 1.75; color: rgba(250,246,240,0.8); max-width: 560px; margin: 0; }
.svc-reviews__cta-btn { margin-top: 8px; background: var(--warm-wht,#FAF6F0) !important; color: var(--bark,#3E2410) !important; }
.svc-reviews__cta-btn:hover { background: var(--linen,#F2EBE0) !important; }
@media (max-width: 960px) {
  .svc-reviews { padding: 64px 24px; }
  .svc-reviews__grid { grid-template-columns: 1fr; }
  .svc-reviews__cta { padding: 48px 24px; }
}
.svc-cards-framing { font-family: var(--sans,Jost,sans-serif); font-size: 0.85rem; font-weight: 300; color: var(--bark,#3E2410); opacity: 0.65; margin-bottom: 20px; font-style: italic; }

/* ─── Pantry Bespoke Builder Modal ──────────────────────────────────────────── */
.bespoke-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(30, 18, 8, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 24px;
}
.bespoke-modal {
  background: var(--warm-wht, #FAF6F0);
  border-radius: 4px; overflow: hidden;
  width: 100%; max-width: 1080px;
  max-height: calc(100vh - 48px);
  display: flex; flex-direction: column;
  box-shadow: 0 24px 80px rgba(30,18,8,0.28);
}
/* Header */
.bespoke-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 32px; border-bottom: 1px solid var(--linen-mid, #E4D9CA);
  background: #fff; flex-shrink: 0;
}
.bespoke-steps { display: flex; align-items: center; gap: 0; }
.bespoke-step-label {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.62rem;
  font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--text-lt, rgba(62,36,16,0.4));
}
.bespoke-step-label.is-active { color: var(--terra, #B85C38); font-weight: 600; }
.bespoke-step-label.is-done  { color: var(--bark, #3E2410); }
.bespoke-step-sep {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.62rem;
  color: var(--text-lt, rgba(62,36,16,0.35)); margin: 0 10px;
}
.bespoke-close {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.62rem;
  font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--bark, #3E2410); background: none; border: none;
  cursor: pointer; opacity: 0.55; transition: opacity 0.2s;
}
.bespoke-close:hover { opacity: 1; }
/* Content */
.bespoke-content { flex: 1; overflow-y: auto; padding: 32px 32px 24px; }
.bespoke-step-title {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.68rem;
  font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--bark, #3E2410); margin: 0 0 20px;
}
.bespoke-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
}
.bespoke-product-card {
  display: flex; align-items: center; gap: 16px;
  background: #fff; border: 1px solid var(--linen-mid, #E4D9CA);
  border-radius: 3px; padding: 16px; transition: border-color 0.2s;
}
.bespoke-product-card:hover { border-color: var(--clay, #B8926A); }
.bespoke-product-img {
  width: 80px; height: 80px; flex-shrink: 0;
  background: var(--linen, #F2EBE0); border-radius: 2px; overflow: hidden;
}
.bespoke-product-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.bespoke-product-name {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.85rem;
  font-weight: 500; color: var(--bark, #3E2410); line-height: 1.3;
}
.bespoke-product-desc {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.75rem;
  font-weight: 300; color: var(--bark, #3E2410); opacity: 0.6; line-height: 1.4;
}
.bespoke-product-pricing { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.bespoke-product-was {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.78rem;
  font-weight: 300; color: var(--bark, #3E2410); opacity: 0.4;
  text-decoration: line-through;
}
.bespoke-product-now {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.85rem;
  font-weight: 600; color: var(--terra, #B85C38);
}
/* Quantity stepper */
.bespoke-qty {
  display: flex; align-items: stretch;
  border: 1px solid rgba(62,36,16,0.2); border-radius: 2px;
  overflow: hidden; flex-shrink: 0; height: 34px;
}
.bespoke-qty-btn {
  background: none; border: none; width: 32px; cursor: pointer;
  font-size: 1rem; color: var(--bark, #3E2410);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.15s; flex-shrink: 0;
}
.bespoke-qty-btn:hover { background: var(--linen, #F2EBE0); }
.bespoke-qty-btn:first-child { border-right: 1px solid rgba(62,36,16,0.2); }
.bespoke-qty-btn:last-child  { border-left:  1px solid rgba(62,36,16,0.2); }
.bespoke-qty-val {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.85rem;
  font-weight: 500; color: var(--bark, #3E2410);
  min-width: 32px; display: flex; align-items: center; justify-content: center;
}
/* Footer */
.bespoke-footer {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 32px; border-top: 1px solid var(--linen-mid, #E4D9CA);
  background: #fff; flex-shrink: 0; gap: 24px;
}
.bespoke-total { display: flex; flex-direction: column; gap: 2px; }
.bespoke-total-label {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--sans, Jost, sans-serif); font-size: 0.78rem;
  font-weight: 400; color: var(--bark, #3E2410);
}
.bespoke-discount-badge {
  background: var(--terra, #B85C38); color: #fff;
  font-family: var(--sans, Jost, sans-serif); font-size: 0.58rem;
  font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 40px;
}
.bespoke-total-price {
  font-family: var(--serif, 'Cormorant Garamond', serif); font-size: 1.6rem;
  font-weight: 300; color: var(--bark, #3E2410); line-height: 1;
}
.bespoke-min-note {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.72rem;
  font-weight: 300; color: var(--terra, #B85C38); opacity: 0.8;
}
.bespoke-footer-actions { display: flex; gap: 12px; align-items: center; flex-shrink: 0; }
.bespoke-back-btn {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.65rem;
  font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
  background: none; border: 1px solid rgba(62,36,16,0.25); border-radius: 2px;
  color: var(--bark, #3E2410); padding: 12px 24px; cursor: pointer;
  transition: border-color 0.2s;
}
.bespoke-back-btn:hover { border-color: var(--bark, #3E2410); }
.bespoke-next-btn {
  font-family: var(--sans, Jost, sans-serif); font-size: 0.65rem;
  font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
  background: var(--terra, #B85C38); border: none; border-radius: 2px;
  color: #fff; padding: 14px 40px; cursor: pointer;
  transition: background 0.2s; white-space: nowrap;
}
.bespoke-next-btn:hover { background: var(--bark, #3E2410); }
.bespoke-next-btn:disabled { opacity: 0.45; cursor: not-allowed; }
@media (max-width: 960px) {
  .bespoke-grid { grid-template-columns: repeat(2, 1fr); }
  .bespoke-header, .bespoke-footer { padding: 14px 20px; }
  .bespoke-content { padding: 24px 20px 20px; }
}
@media (max-width: 600px) {
  .bespoke-modal { max-height: calc(100vh - 16px); border-radius: 2px; }
  .bespoke-overlay { padding: 8px; }
  .bespoke-grid { grid-template-columns: 1fr; }
  .bespoke-footer { flex-direction: column; align-items: flex-start; gap: 16px; }
  .bespoke-footer-actions { width: 100%; }
  .bespoke-next-btn, .bespoke-back-btn { flex: 1; text-align: center; }
}

/* ─── Book a Consult Page ───────────────────────────────────────────────────── */
.consult-page { min-height: calc(100vh - 106px); display: grid; grid-template-columns: 1fr 1.4fr; overflow: hidden; }
.consult-page__info { background: var(--linen); padding: 56px 48px 60px; display: flex; flex-direction: column; justify-content: flex-start; overflow-y: auto; gap: 28px; }
.consult-page__title { font-family: var(--serif); font-size: clamp(1.8rem,2.8vw,2.8rem); font-weight: 300; color: var(--bark); line-height: 1.1; margin: 0; }
.consult-page__title em { font-style: italic; color: var(--terra); }
.consult-page__intro { font-family: var(--sans); font-size: 0.86rem; font-weight: 300; line-height: 1.75; color: var(--bark); opacity: 0.7; margin: 0; }
.consult-what { display: flex; flex-direction: column; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid rgba(196,168,130,0.3); }
.consult-what__heading { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--terra); }
.consult-what__steps { display: flex; flex-direction: column; gap: 16px; }
.consult-what__step { display: flex; gap: 16px; align-items: flex-start; }
.consult-what__num { font-family: var(--serif); font-size: 1rem; font-weight: 400; color: var(--terra); opacity: 0.7; flex-shrink: 0; width: 28px; }
.consult-what__step-title { font-family: var(--serif); font-size: 0.95rem; font-weight: 400; color: var(--bark); margin-bottom: 4px; }
.consult-what__step-text { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; line-height: 1.7; color: var(--bark); opacity: 0.6; margin: 0; }
.consult-reach { display: flex; flex-direction: column; gap: 10px; }
.consult-page__form { background: var(--warm-wht); padding: 56px 60px; display: flex; flex-direction: column; justify-content: center; overflow-y: auto; }
@media (max-width: 960px) {
  .consult-page { grid-template-columns: 1fr; min-height: auto; overflow: visible; }
  .consult-page__info,.consult-page__form { padding: 48px 24px; overflow-y: visible; }
}

/* ═══════════════════════════════════════════════════════════
   CUSTOMER PORTAL — Auth pages (login / register)
═══════════════════════════════════════════════════════════ */
.acct-auth-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px; background: var(--warm-wht); position: relative; }
.acct-auth-home-btn { position: absolute; top: 20px; right: 24px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--linen); background: #fff; color: var(--bark-lt); text-decoration: none; transition: color 0.15s, border-color 0.15s, background 0.15s; }
.acct-auth-home-btn:hover { color: var(--bark); border-color: var(--clay); background: var(--warm-wht); }
.acct-auth-card { width: 100%; max-width: 440px; background: #fff; border: 1px solid var(--linen); border-radius: 10px; padding: 44px 40px; }
.acct-auth-title { font-family: var(--serif); font-size: clamp(1.6rem,2.5vw,2rem); font-weight: 300; color: var(--bark); margin: 0 0 8px; letter-spacing: 0.02em; }
.acct-auth-sub { font-family: var(--sans); font-size: 0.83rem; font-weight: 300; color: var(--clay); margin: 0 0 28px; line-height: 1.6; }
.acct-auth-error { background: #FDE8E8; border: 1px solid rgba(184,92,56,0.4); border-radius: 6px; padding: 10px 14px; font-family: var(--sans); font-size: 0.82rem; color: #8F3E22; margin-bottom: 20px; }
.acct-auth-form { display: flex; flex-direction: column; gap: 18px; }
.acct-auth-field { display: flex; flex-direction: column; }
.acct-auth-label { font-family: var(--sans); font-size: 0.82rem; font-weight: 400; color: var(--bark); margin-bottom: 7px; }
.acct-auth-input { padding: 10px 14px; border-radius: 6px; border: 1px solid var(--linen); background: var(--warm-wht); font-family: var(--sans); font-size: 0.875rem; color: var(--bark); outline: none; transition: border-color 0.15s; }
.acct-auth-input:focus { border-color: var(--clay); }
.acct-auth-btn { width: 100%; padding: 12px; background: var(--bark); color: var(--warm-wht); font-family: var(--sans); font-size: 0.82rem; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; border: none; border-radius: 6px; cursor: pointer; margin-top: 4px; transition: background 0.15s; }
.acct-auth-btn:hover { background: var(--terra-dk); }
.acct-auth-switch { font-family: var(--sans); font-size: 0.82rem; color: var(--clay); text-align: center; margin: 20px 0 0; }
.acct-auth-link { color: var(--bark); text-decoration: underline; }
.acct-auth-admin-link { text-align: center; margin: 16px 0 0; border-top: 1px solid var(--linen); padding-top: 16px; }
.acct-auth-admin-link a { font-family: var(--sans); font-size: 0.75rem; color: var(--clay); text-decoration: none; opacity: 0.7; }
.acct-auth-admin-link a:hover { opacity: 1; color: var(--bark); }

/* ═══════════════════════════════════════════════════════════
   CUSTOMER PORTAL — Layout (sidebar + content)
═══════════════════════════════════════════════════════════ */
.acct-portal { display: grid; grid-template-columns: 220px 1fr; min-height: 60vh; }
.acct-sidebar { border-right: 1px solid var(--linen); background: var(--warm-wht); padding: 40px 0; display: flex; flex-direction: column; }
.acct-sidebar-head { padding: 0 28px 24px; border-bottom: 1px solid var(--linen); margin-bottom: 16px; }
.acct-sidebar-title { display: block; font-family: var(--serif); font-size: 0.9rem; font-weight: 400; color: var(--bark); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px; }
.acct-sidebar-email { display: block; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--clay); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acct-sidebar-nav { list-style: none; padding: 0; margin: 0; flex: 1; }
.acct-sidebar-nav li { margin: 0; }
.acct-sidebar-link { display: block; padding: 11px 28px; font-family: var(--sans); font-size: 0.83rem; font-weight: 400; color: var(--bark); text-decoration: none; transition: background 0.12s, color 0.12s; }
.acct-sidebar-link:hover { background: var(--linen); color: var(--terra); }
.acct-sidebar-signout-form { padding: 20px 28px 0; border-top: 1px solid var(--linen); margin-top: auto; }
.acct-sidebar-signout { background: none; border: none; font-family: var(--sans); font-size: 0.8rem; color: var(--clay); cursor: pointer; padding: 0; text-decoration: underline; }
.acct-portal-content { background: var(--warm-wht); }

/* ═══════════════════════════════════════════════════════════
   CUSTOMER PORTAL — Shared page styles
═══════════════════════════════════════════════════════════ */
.acct-page { padding: 40px 48px; max-width: 860px; }
.acct-page-title { font-family: var(--serif); font-size: clamp(1.5rem,2vw,1.9rem); font-weight: 300; color: var(--bark); margin: 0 0 28px; letter-spacing: 0.02em; }
.acct-banner { padding: 12px 18px; border-radius: 6px; font-family: var(--sans); font-size: 0.83rem; margin-bottom: 24px; }
.acct-banner--success { background: #EAF3EC; border: 1px solid #4A7C59; color: #4A7C59; }
.acct-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 36px; }
.acct-stat { background: #fff; border: 1px solid var(--linen); border-radius: 8px; padding: 20px 24px; }
.acct-stat-value { display: block; font-family: var(--serif); font-size: 1.5rem; font-weight: 300; color: var(--bark); }
.acct-stat-label { display: block; font-family: var(--sans); font-size: 0.75rem; font-weight: 400; color: var(--clay); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.08em; }
.acct-section { margin-bottom: 40px; }
.acct-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.acct-section-title { font-family: var(--sans); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--clay); margin: 0; }
.acct-section-link { font-family: var(--sans); font-size: 0.78rem; color: var(--bark); text-decoration: none; }
.acct-section-link:hover { color: var(--terra); }
.acct-empty { text-align: center; padding: 40px; background: #fff; border: 1px solid var(--linen); border-radius: 8px; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.acct-empty p { font-family: var(--sans); font-size: 0.85rem; font-weight: 300; color: var(--clay); margin: 0; }
.acct-back { display: inline-block; font-family: var(--sans); font-size: 0.8rem; color: var(--clay); text-decoration: none; margin-bottom: 20px; }
.acct-back:hover { color: var(--bark); }
.acct-link { font-family: var(--sans); font-size: 0.82rem; color: var(--bark); text-decoration: underline; cursor: pointer; background: none; border: none; }
.acct-link--danger { color: var(--terra); }
.acct-address { font-style: normal; font-family: var(--sans); font-size: 0.83rem; font-weight: 300; color: var(--bark); line-height: 1.8; }

/* Order list (dashboard + orders page) */
.acct-order-list { display: flex; flex-direction: column; gap: 10px; }
.acct-order-row { display: flex; align-items: center; justify-content: space-between; background: #fff; border: 1px solid var(--linen); border-radius: 7px; padding: 16px 20px; text-decoration: none; transition: border-color 0.15s; }
.acct-order-row:hover { border-color: var(--clay); }
.acct-order-row-left { display: flex; align-items: center; gap: 20px; }
.acct-order-row-right { display: flex; align-items: center; gap: 16px; }
.acct-order-num { font-family: var(--sans); font-size: 0.85rem; font-weight: 500; color: var(--bark); }
.acct-order-date,.acct-order-items { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--clay); }
.acct-order-total { font-family: var(--sans); font-size: 0.85rem; font-weight: 500; color: var(--bark); }
.acct-order-arrow { font-family: var(--sans); font-size: 0.82rem; color: var(--clay); }

/* Order status pills */
.acct-order-status,.acct-status { display: inline-block; font-family: var(--sans); font-size: 0.72rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 20px; }
.acct-order-status--pending,.acct-status--pending { background: rgba(200,150,0,0.12); color: #8F7000; }
.acct-order-status--confirmed,.acct-status--confirmed,.acct-order-status--processing,.acct-status--processing { background: rgba(107,140,180,0.12); color: #3E5C7F; }
.acct-order-status--fulfilled,.acct-status--fulfilled,.acct-status--paid { background: rgba(74,124,89,0.12); color: #4A7C59; }
.acct-order-status--cancelled,.acct-status--cancelled,.acct-status--refunded { background: rgba(0,0,0,0.07); color: #666; }
.acct-status--unfulfilled { background: rgba(200,150,0,0.12); color: #8F7000; }
.acct-status--partial { background: rgba(107,140,180,0.12); color: #3E5C7F; }
.acct-status--failed { background: rgba(180,50,50,0.12); color: #8F2020; }

/* Orders table (orders list page) */
.acct-orders-table { background: #fff; border: 1px solid var(--linen); border-radius: 8px; overflow: hidden; }
.acct-orders-thead { display: grid; grid-template-columns: 2fr 1.5fr 80px 1.2fr 1.5fr 80px; padding: 12px 20px; border-bottom: 1px solid var(--linen); background: var(--warm-wht); gap: 12px; }
.acct-orders-th { font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--clay); }
.acct-orders-row { display: grid; grid-template-columns: 2fr 1.5fr 80px 1.2fr 1.5fr 80px; padding: 14px 20px; border-bottom: 1px solid var(--linen); gap: 12px; align-items: center; }
.acct-orders-row:last-child { border-bottom: none; }
.acct-orders-num { font-family: var(--sans); font-size: 0.83rem; font-weight: 500; color: var(--bark); }
.acct-orders-date { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--clay); }
.acct-orders-items { font-family: var(--sans); font-size: 0.78rem; color: var(--clay); }
.acct-orders-total { font-family: var(--sans); font-size: 0.83rem; font-weight: 500; color: var(--bark); }
.acct-orders-action { font-family: var(--sans); font-size: 0.78rem; color: var(--bark); text-align: right; }

/* Order detail */
.acct-order-detail-header { margin-bottom: 16px; }
.acct-order-detail-date { font-family: var(--sans); font-size: 0.8rem; font-weight: 300; color: var(--clay); margin: 4px 0 0; }
.acct-order-statuses { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.acct-tracking-card { background: #fff; border: 1px solid var(--linen); border-radius: 7px; padding: 16px 20px; margin-bottom: 20px; display: flex; gap: 16px; align-items: flex-start; }
.acct-tracking-label { font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--clay); flex-shrink: 0; padding-top: 2px; }
.acct-tracking-info { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
.acct-tracking-carrier { font-family: var(--sans); font-size: 0.83rem; font-weight: 500; color: var(--bark); }
.acct-tracking-num { font-family: var(--sans); font-size: 0.83rem; color: var(--bark); text-decoration: underline; }
.acct-tracking-date { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--clay); }
.acct-order-items { margin-bottom: 0; }
.acct-line-item { display: flex; justify-content: space-between; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--linen); }
.acct-line-item:first-child { border-top: 1px solid var(--linen); margin-top: 12px; }
.acct-line-item-info { display: flex; flex-direction: column; gap: 3px; }
.acct-line-item-name { font-family: var(--sans); font-size: 0.85rem; font-weight: 400; color: var(--bark); }
.acct-line-item-variant { font-family: var(--sans); font-size: 0.78rem; font-weight: 300; color: var(--clay); }
.acct-line-item-sku { font-family: var(--sans); font-size: 0.72rem; color: var(--clay); opacity: 0.7; }
.acct-line-item-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.acct-line-item-qty { font-family: var(--sans); font-size: 0.8rem; color: var(--clay); }
.acct-line-item-price { font-family: var(--sans); font-size: 0.85rem; font-weight: 500; color: var(--bark); }
.acct-order-totals { margin-top: 20px; border-top: 2px solid var(--linen); padding-top: 16px; max-width: 380px; margin-left: auto; }
.acct-total-line { display: flex; justify-content: space-between; margin-bottom: 8px; font-family: var(--sans); font-size: 0.82rem; color: var(--clay); }
.acct-total-line--grand { border-top: 1px solid var(--linen); padding-top: 10px; margin-top: 6px; font-size: 0.92rem; font-weight: 600; color: var(--bark); }

/* Settings form */
.acct-form { display: flex; flex-direction: column; gap: 18px; background: #fff; border: 1px solid var(--linen); border-radius: 8px; padding: 28px; }
.acct-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.acct-btn-primary { padding: 10px 28px; background: var(--bark); color: var(--warm-wht); font-family: var(--sans); font-size: 0.82rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; border: none; border-radius: 6px; cursor: pointer; transition: background 0.15s; }
.acct-btn-primary:hover { background: var(--terra-dk); }
.acct-address-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.acct-address-card { background: #fff; border: 1px solid var(--linen); border-radius: 8px; padding: 18px 20px; }
.acct-address-default { display: inline-block; font-family: var(--sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--clay); border: 1px solid var(--linen); border-radius: 20px; padding: 2px 10px; margin-bottom: 10px; }
.acct-add-address { border-top: 1px solid var(--linen); padding-top: 24px; margin-top: 8px; }
.acct-add-address-title { font-family: var(--sans); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--clay); margin: 0 0 20px; }

/* Mobile */
@media (max-width: 768px) {
  .acct-portal { grid-template-columns: 1fr; }
  .acct-sidebar { border-right: none; border-bottom: 1px solid var(--linen); padding: 20px 0; }
  .acct-page { padding: 24px 20px; }
  .acct-stats { grid-template-columns: 1fr; }
  .acct-orders-thead,.acct-orders-row { grid-template-columns: 2fr 1fr 1fr; }
  .acct-orders-items,.acct-orders-action { display: none; }
  .acct-form-grid { grid-template-columns: 1fr; }
  .acct-address-grid { grid-template-columns: 1fr; }
  .acct-auth-card { padding: 28px 20px; }
}

/* ── FIX: pdp-jar action row overflow on mobile ── */
@media (max-width: 767px) {
  .pdp-jar-action-row { flex-wrap: wrap; gap: 8px; }
  .pdp-jar-atc-group { flex: 1 1 100%; flex-wrap: nowrap; min-width: 0; }
  .pdp-atc-compact { flex: 1 1 auto; min-width: 0; max-width: 100%; box-sizing: border-box; }
}

/* ── FIX: PDP jar layout dividers + ATC overflow ── */
/* 1. Add bottom border to system strip (divider below it) */
.pdp-jar-system-strip { border-bottom: 1px solid var(--linen-mid) !important; padding-bottom: 20px !important; }
/* 2. Remove trust bar bottom border — pdp-accordion border-top provides the single divider above Dimensions */
.pdp-info .pdp-trust--row { border-bottom: none !important; }
/* 3. Prevent pdp-info grid cell from overflowing its column */
.pdp-info { min-width: 0; }

/* ── FIX: ATC button inside jar action row — override btn-primary width:100% ── */
.pdp-jar-atc-group .pdp-atc-compact,
.pdp-jar-atc-group .btn-primary {
  width: auto !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* ── FIX: pdp-wrap top gap ── 
   <main> already has padding-top:106px for the fixed header.
   pdp-wrap only needs a small breathing margin on top, not another offset. */
.pdp-wrap { padding-top: 24px !important; }
@media (max-width: 600px) {
  .pdp-wrap { padding-top: 12px !important; padding-left: 16px !important; padding-right: 16px !important; }
}

/* ── Bespoke builder layout tweaks ── */
/* More gap between step title and product grid */
.ssp-byo-step-title { margin-bottom: 24px !important; }
/* Tighter gap between grid and footer */
.ssp-byo-body { padding-bottom: 12px !important; }

.cart-byo__total-orig { font-family: var(--sans); font-size: 0.75rem; color: var(--clay); text-decoration: line-through; }

/* ── Bespoke cart item price column ── */
.cart-byo__item-price-col { display: flex; flex-direction: column; align-items: flex-end; flex-shrink: 0; }

/* ── Bespoke Label Builder Modal (ssp-label-*) ───────────────────────────── */
.ssp-label-body { overflow-y: auto; overflow-x: hidden; height: auto; min-height: 283px; max-height: 420px; }
.ssp-label-subheading { font-family: var(--sans); font-size: 0.7rem; font-weight: 400; color: var(--text-lt); margin: 0 0 14px; line-height: 1.5; }
.ssp-label-validation-msg { font-family: var(--sans); font-size: 0.65rem; font-weight: 500; color: var(--terra); margin: 8px 0 0; }
.ssp-label-spaces-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 4px; }
.ssp-label-space-tile { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bark); background: #ffffff; border: 1px solid var(--linen-mid); border-radius: 3px; padding: 16px 12px; cursor: pointer; text-align: center; transition: all 0.15s; }
.ssp-label-space-tile:hover { border-color: var(--terra); color: var(--terra); }
.ssp-label-space-tile.is-selected { border-color: var(--terra); color: var(--warm-wht); background: var(--terra); }
.ssp-label-inputs { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.ssp-label-row { display: flex; align-items: center; gap: 10px; }
.ssp-label-index { font-family: var(--sans); font-size: 0.62rem; font-weight: 600; letter-spacing: 0.08em; color: var(--bark); opacity: 0.45; min-width: 22px; text-align: right; flex-shrink: 0; }
.ssp-label-input { flex: none; width: 100%; box-sizing: border-box; height: 34px; font-family: var(--sans); font-size: 0.75rem; font-weight: 400; color: var(--bark); background: #ffffff; border: 1px solid var(--linen-mid); border-radius: 5px; padding: 0 8px 0 20px; outline: none; transition: border-color 0.15s; min-width: 0; }
.ssp-label-input:focus { border-color: var(--clay); }
.ssp-label-input::placeholder { color: var(--bark); opacity: 0.32; }
.ssp-label-delete-btn { width: 24px; height: 24px; flex-shrink: 0; border-radius: 2px; border: 1px solid var(--linen-mid); background: #ffffff; color: var(--bark); font-size: 0.9rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.15s; line-height: 1; }
.ssp-label-delete-btn:hover:not(:disabled) { border-color: var(--terra); color: var(--terra); }
.ssp-label-delete-btn:disabled { opacity: 0.25; cursor: not-allowed; }
.ssp-label-add-btn { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--terra); background: none; border: 1px dashed var(--terra); border-radius: 3px; padding: 8px 16px; cursor: pointer; transition: all 0.15s; margin-top: 2px; }
.ssp-label-add-btn:hover { background: var(--linen); }

.ssp-label-qty-row { display: flex; align-items: center; gap: 14px; }
.ssp-label-qty-label { font-family: var(--sans); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bark); }
.ssp-label-price-row { display: flex; align-items: baseline; gap: 12px; }
.ssp-label-price-label { font-family: var(--sans); font-size: 0.72rem; font-weight: 400; color: var(--bark); }
.ssp-label-price-val { font-family: var(--sans); font-size: 1.4rem; font-weight: 700; color: var(--bark); }
.ssp-label-step-subtitle { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; color: var(--terra); margin: 2px 0 16px; }
.ssp-label-price-per { font-family: var(--sans); font-size: 0.7rem; font-weight: 500; color: var(--terra); margin-top: 4px; }
.ssp-label-footer-total { display: flex; flex-direction: column; gap: 2px; }
.ssp-label-footer-total-label { font-family: var(--sans); font-size: 0.62rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-lt); }
.ssp-label-footer-total-val { font-family: var(--sans); font-size: 1.2rem; font-weight: 700; color: var(--bark); }
.ssp-label-step2-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.ssp-label-product-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
.ssp-label-product-tab { font-family: var(--sans); font-size: 0.72rem; font-weight: 500; padding: 5px 14px; border: 1px solid var(--terra); border-radius: 20px; background: transparent; color: var(--terra); cursor: pointer; transition: all 0.15s; opacity: 0.6; white-space: nowrap; }
.ssp-label-product-tab:hover { opacity: 1; }
.ssp-label-product-tab.is-active { background: var(--terra); color: var(--warm-wht); opacity: 1; }
.ssp-label-sheet-controls { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.ssp-label-sheet-count { font-family: var(--sans); font-size: 0.65rem; font-weight: 500; color: var(--terra); letter-spacing: 0.04em; }
.ssp-label-add-sheet { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; color: var(--terra); background: none; border: none; cursor: pointer; padding: 0; letter-spacing: 0.12em; text-transform: uppercase; transition: opacity 0.15s; }
.ssp-label-add-sheet:hover { opacity: 0.7; }
.ssp-label-reset { font-family: var(--sans); font-size: 0.58rem; font-weight: 600; color: var(--terra); background: none; border: none; cursor: pointer; padding: 0; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.6; transition: opacity 0.15s; }
.ssp-label-reset:hover { opacity: 1; }
.ssp-label-sheets { display: flex; flex-direction: column; gap: 0; overflow-y: auto; max-height: 252px; }
.ssp-label-sheet-block { padding: 10px 0 8px; }
.ssp-label-sheet-label { font-family: var(--sans); font-size: 0.55rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-lt); display: block; padding-bottom: 5px; margin-bottom: 6px; overflow: visible; }
.ssp-label-sheet-row { display: grid; grid-template-columns: 1fr 6fr; gap: 6px; align-items: start; }
/* ── Custom zone select (replaces native <select>) ──────────── */
.ssp-zone-select-wrap { position: relative; width: 100%; }
.ssp-zone-select-trigger { width: 100%; height: 34px; box-sizing: border-box; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); background: var(--linen); border: 1px solid var(--linen-mid); border-radius: 5px; padding: 0 10px; cursor: pointer; transition: border-color 0.15s; display: flex; align-items: center; justify-content: space-between; text-align: left; }
.ssp-zone-select-trigger:focus { outline: none; border-color: var(--terra); }
.ssp-zone-select-text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ssp-zone-select-chevron { flex-shrink: 0; margin-left: 6px; transition: transform 0.15s; }
.ssp-zone-select-chevron.is-open { transform: rotate(180deg); }
.ssp-zone-select-dropdown { z-index: 9999; background: #fff; border: 1px solid var(--linen-mid); border-radius: 5px; box-shadow: 0 4px 12px rgba(74, 63, 51, 0.12); overflow-y: auto; max-height: 280px; list-style: none; margin: 0; padding: 3px 0; }
.ssp-zone-select-option { font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); padding: 7px 10px; cursor: pointer; transition: background 0.1s; }
.ssp-zone-select-option:hover { background: var(--linen); }
.ssp-zone-select-option.is-selected { background: var(--linen-mid); font-weight: 500; }
.ssp-label-inputs-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.ssp-label-input-cell { position: relative; }
.ssp-label-input-num { position: absolute; top: 50%; left: 6px; transform: translateY(-50%); font-family: var(--sans); font-size: 0.52rem; font-weight: 700; color: var(--bark); opacity: 0.55; pointer-events: none; }
.ssp-label-input-cell .ssp-label-input { padding-left: 20px; font-size: 0.75rem; width: 100%; box-sizing: border-box; flex: none; }
.ssp-label-sheet-divider { display: none; }
/* custom zone — input full-width, revert arrow overlaid inside on the right */
.ssp-label-zone-custom-wrap { position: relative; display: block; }
.ssp-label-zone-custom-input { width: 100%; box-sizing: border-box; height: 34px; font-family: var(--sans); font-size: 0.75rem; font-weight: 300; color: var(--bark); background: var(--linen); border: 1px solid var(--linen-mid); border-radius: 5px; padding: 0 32px 0 10px; outline: none; min-width: 0; }
.ssp-label-zone-custom-input::placeholder { color: var(--clay); opacity: 0.6; }
.ssp-label-zone-custom-input:focus { border-color: var(--clay); }
.ssp-label-zone-revert { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--bark); opacity: 0.5; font-size: 0.85rem; cursor: pointer; padding: 0; line-height: 1; display: flex; align-items: center; height: auto; transition: opacity 0.15s; }
.ssp-label-zone-revert:hover { opacity: 1; color: var(--terra); }
.ssp-label-footer-sub { font-family: var(--sans); font-size: 0.62rem; font-weight: 500; color: var(--terra); margin-top: 2px; display: block; }
.ssp-label-spelling-check { display: flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 0.6rem; font-weight: 400; letter-spacing: 0.08em; color: var(--bark); cursor: pointer; border: 1px solid var(--linen-mid); padding: 10px; border-radius: 2px; background: var(--warm-wht); transition: border-color 0.2s; }
.ssp-label-spelling-check:hover { border-color: var(--clay); }
.ssp-label-spelling-check input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--terra); cursor: pointer; flex-shrink: 0; }

/* ── At-Home Services — Enquiry Form Section ───────────────────────────────── */
.svc-enq-section { background: var(--linen,#F2EBE0); padding: 80px 80px 96px; }
.svc-enq-inner { max-width: 760px; margin: 0 auto; }
.svc-enq-header { margin-bottom: 40px; }
.svc-enq-title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 300; color: var(--bark,#3E2410); margin-bottom: 12px; }
.svc-enq-subtitle { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; line-height: 1.75; color: var(--text-lt,#6B4F3A); margin: 0; }

/* Form layout */
.svc-enq-form { display: flex; flex-direction: column; gap: 20px; }
.svc-enq-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.svc-enq-form .form-group { display: flex; flex-direction: column; gap: 7px; }
.svc-enq-form .form-label { font-size: 0.63rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--text-lt,#6B4F3A); }
.svc-enq-form .form-input,
.svc-enq-form .form-select,
.svc-enq-form .form-textarea { font-family: var(--sans,Jost,sans-serif); font-size: 0.88rem; font-weight: 300; color: var(--bark,#3E2410); background: var(--warm-wht,#FAF6F0); border: 1px solid var(--linen-mid,#D9C9B4); border-radius: 3px; padding: 11px 14px; outline: none; width: 100%; box-sizing: border-box; transition: border-color 0.18s; -webkit-appearance: none; appearance: none; }
.svc-enq-form .form-input:focus,
.svc-enq-form .form-select:focus,
.svc-enq-form .form-textarea:focus { border-color: var(--terra,#B85C38); }
.svc-enq-form .form-textarea { min-height: 100px; resize: vertical; }
.svc-enq-form .form-input[type="date"] { cursor: pointer; }

/* Price hint below service select */
.svc-enq-price-hint { font-family: var(--sans,Jost,sans-serif); font-size: 0.78rem; font-weight: 300; color: var(--terra,#B85C38); margin: 4px 0 0; font-style: italic; }

/* Submit button */
.svc-enq-submit { align-self: flex-start; min-width: 160px; cursor: pointer; font-size: 0.72rem; }
.svc-enq-submit:disabled { opacity: 0.65; cursor: not-allowed; }

/* Disclaimer */
.svc-enq-disclaimer { font-family: var(--sans,Jost,sans-serif); font-size: 0.72rem; font-weight: 300; color: var(--text-lt,#6B4F3A); margin: 0; }

/* Inline error */
.svc-enq-error { font-family: var(--sans,Jost,sans-serif); font-size: 0.82rem; font-weight: 300; color: #c0392b; background: rgba(192,57,43,0.06); border: 1px solid rgba(192,57,43,0.2); border-radius: 3px; padding: 10px 14px; margin: 0; }

/* Success state */
.svc-enq-success { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 40px; background: var(--warm-wht,#FAF6F0); border: 1px solid var(--linen-mid,#D9C9B4); border-radius: 4px; }
.svc-enq-success svg { color: var(--terra,#B85C38); flex-shrink: 0; }
.svc-enq-success__title { font-family: var(--serif,'Cormorant Garamond',serif); font-size: clamp(1.4rem,2.2vw,2rem); font-weight: 300; color: var(--bark,#3E2410); margin: 0; }
.svc-enq-success__body { font-family: var(--sans,Jost,sans-serif); font-size: 0.9rem; font-weight: 300; line-height: 1.75; color: var(--text-lt,#6B4F3A); margin: 0; }

/* Loading fallback */
.svc-enq-loading { font-family: var(--sans,Jost,sans-serif); font-size: 0.82rem; font-weight: 300; color: var(--text-lt,#6B4F3A); padding: 24px 0; }

/* Responsive */
@media (max-width: 768px) {
  .svc-enq-section { padding: 56px 24px 72px; }
  .svc-enq-form .form-row { grid-template-columns: 1fr; }
  .svc-enq-submit { width: 100%; text-align: center; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Bundle Quiz Modal
   ───────────────────────────────────────────────────────────────────────── */
.quiz-overlay {
  position: fixed; inset: 0; z-index: 1000;
  background: rgba(62,36,16,0.45);
  display: flex; align-items: center; justify-content: center;
  padding: 40px 20px;
  animation: quizFade 0.22s ease;
}
@keyframes quizFade { from { opacity: 0; } to { opacity: 1; } }

.quiz-modal {
  background: #fffdfa;
  border: 1px solid var(--linen-mid);
  border-radius: 6px;
  width: 100%; max-width: 560px;
  max-height: calc(100vh - 80px);
  display: flex; flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(62,36,16,0.28);
  animation: quizRise 0.28s cubic-bezier(0.22,1,0.36,1);
}
@keyframes quizRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* Header */
.quiz-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 20px; padding: 22px 26px 16px; border-bottom: 1px solid var(--linen);
}
.quiz-head-text { display: flex; flex-direction: column; gap: 5px; }
.quiz-eyebrow {
  font-family: var(--sans); font-size: 0.6rem; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--terra);
}
.quiz-head-title {
  font-family: var(--serif); font-size: 1.5rem; font-weight: 500;
  line-height: 1.15; color: var(--bark); font-style: italic;
}
.quiz-close {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--clay);
  background: none; border: none; cursor: pointer; transition: color 0.2s;
  white-space: nowrap; flex-shrink: 0; padding-top: 4px;
}
.quiz-close:hover { color: var(--bark); }

/* Progress */
.quiz-progress { height: 2px; background: var(--linen); width: 100%; flex-shrink: 0; }
.quiz-progress-bar { height: 100%; background: var(--terra); transition: width 0.35s ease; }

/* Body */
.quiz-body {
  padding: 28px 26px 30px; overflow-y: auto;
  animation: quizSlide 0.28s ease;
}
@keyframes quizSlide { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } }
.quiz-step-count {
  font-family: var(--sans); font-size: 0.62rem; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: var(--clay);
}
.quiz-question {
  font-family: var(--serif); font-size: 1.5rem; font-weight: 500;
  line-height: 1.25; color: var(--bark); margin: 10px 0 4px;
}
.quiz-note {
  font-family: var(--sans); font-size: 0.8rem; font-weight: 300;
  font-style: italic; color: var(--text-lt); margin: 0 0 18px; line-height: 1.5;
}
.quiz-question + .quiz-options { margin-top: 18px; }

.quiz-options { display: flex; flex-direction: column; gap: 10px; }
.quiz-option {
  display: flex; align-items: center; gap: 14px;
  text-align: left; width: 100%;
  padding: 15px 18px;
  font-family: var(--sans); font-size: 0.9rem; font-weight: 300; color: var(--bark);
  background: #fff; border: 1px solid var(--linen-dk); border-radius: 5px;
  cursor: pointer; transition: border-color 0.18s, background 0.18s, transform 0.1s;
}
.quiz-option:hover { border-color: var(--clay); background: var(--linen); }
.quiz-option.is-selected { border-color: var(--terra); background: rgba(184,92,56,0.06); }
.quiz-option-dot {
  flex-shrink: 0; width: 16px; height: 16px; border-radius: 50%;
  border: 1.5px solid var(--linen-mid); transition: border-color 0.18s, background 0.18s;
  position: relative;
}
.quiz-option:hover .quiz-option-dot { border-color: var(--clay); }
.quiz-option.is-selected .quiz-option-dot { border-color: var(--terra); background: var(--terra); }
.quiz-option.is-selected .quiz-option-dot::after {
  content: ''; position: absolute; inset: 3px; border-radius: 50%; background: #fff;
}
.quiz-option-label { flex: 1; line-height: 1.4; }

.quiz-back {
  margin-top: 18px; font-family: var(--sans); font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--clay);
  background: none; border: none; cursor: pointer; transition: color 0.2s; padding: 0;
}
.quiz-back:hover { color: var(--bark); }

/* Result */
.quiz-result { text-align: center; }
.quiz-result-eyebrow { display: block; margin-bottom: 8px; }
.quiz-result-name {
  font-family: var(--serif); font-size: 2rem; font-weight: 500; font-style: italic;
  color: var(--bark); margin: 0 0 14px; line-height: 1.1;
}
.quiz-result-why {
  font-family: var(--sans); font-size: 0.92rem; font-weight: 300; line-height: 1.65;
  color: var(--bark-lt); margin: 0 auto 22px; max-width: 420px;
}
.quiz-result-price {
  display: flex; align-items: baseline; justify-content: center; gap: 12px; margin-bottom: 20px;
}
.quiz-result-price > span:first-child {
  font-family: var(--serif); font-size: 1.5rem; font-weight: 500; color: var(--bark);
}
.quiz-result-save {
  font-family: var(--sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--terra);
}
.quiz-cta {
  display: inline-block; font-family: var(--sans); font-size: 0.78rem; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase; color: #fff; text-decoration: none;
  background: var(--terra); padding: 15px 34px; border: none; border-radius: 4px;
  cursor: pointer; transition: background 0.2s, transform 0.15s;
}
.quiz-cta:hover { background: var(--terra-dk); transform: translateY(-1px); }
.quiz-cta:disabled { opacity: 0.72; cursor: default; transform: none; }
.quiz-result-soon {
  font-family: var(--sans); font-size: 0.78rem; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase; color: var(--clay); margin: 0 0 18px;
}

/* Email capture */
.quiz-email { margin: 0 auto; max-width: 400px; }
.quiz-email--secondary { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--linen); }
.quiz-email-label {
  display: block; font-family: var(--sans); font-size: 0.78rem; font-weight: 300;
  color: var(--text-lt); margin-bottom: 10px; line-height: 1.5;
}
.quiz-email-row { display: flex; gap: 8px; }
.quiz-email-input {
  flex: 1; font-family: var(--sans); font-size: 0.85rem; font-weight: 300; color: var(--bark);
  background: #fff; border: 1px solid var(--linen-dk); border-radius: 4px; padding: 11px 14px;
  transition: border-color 0.18s;
}
.quiz-email-input:focus { outline: none; border-color: var(--terra); }
.quiz-email-btn {
  flex-shrink: 0; font-family: var(--sans); font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase; color: #fff; background: var(--terra);
  border: none; border-radius: 4px; padding: 0 20px; cursor: pointer; transition: background 0.2s;
}
.quiz-email-btn:hover { background: var(--terra-dk); }
.quiz-email-btn:disabled { opacity: 0.6; cursor: default; }
.quiz-email-btn--ghost { background: none; color: var(--terra); border: 1px solid var(--linen-dk); }
.quiz-email-btn--ghost:hover { background: var(--linen); }
.quiz-email-error {
  display: block; font-family: var(--sans); font-size: 0.72rem; color: var(--terra-dk);
  margin-top: 8px;
}
.quiz-email-done {
  font-family: var(--sans); font-size: 0.85rem; font-weight: 300; font-style: italic;
  color: var(--terra); line-height: 1.6; margin: 0 auto; max-width: 400px;
}

.quiz-result-foot {
  display: flex; gap: 22px; justify-content: center; align-items: center;
  margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--linen);
}
.quiz-retake, .quiz-seeall {
  font-family: var(--sans); font-size: 0.72rem; font-weight: 500;
  letter-spacing: 0.06em; text-transform: uppercase; color: var(--clay);
  background: none; border: none; cursor: pointer; transition: color 0.2s; padding: 0;
}
.quiz-retake:hover, .quiz-seeall:hover { color: var(--bark); }

@media (max-width: 600px) {
  .quiz-overlay { padding: 0; align-items: flex-end; }
  .quiz-modal { max-width: 100%; max-height: 92vh; border-radius: 14px 14px 0 0; }
  .quiz-head-title { font-size: 1.3rem; }
  .quiz-question { font-size: 1.3rem; }
  .quiz-result-name { font-size: 1.7rem; }
  .quiz-result-foot { flex-direction: column; gap: 14px; }
}

/* ─────────────────────────────────────────────────────────────────────────
   Bundle page loading skeleton (app/(store)/systems/[slug]/loading.tsx)
   ───────────────────────────────────────────────────────────────────────── */
.qskel { background: var(--linen-dk); border-radius: 4px; position: relative; overflow: hidden; }
.qskel::after {
  content: ''; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
  animation: qskelShimmer 1.3s ease-in-out infinite;
}
@keyframes qskelShimmer { to { transform: translateX(100%); } }
.qskel-hero { aspect-ratio: 1; width: 100%; }
.qskel-thumbs { display: flex; gap: 10px; margin-top: 12px; }
.qskel-thumb { width: 64px; height: 64px; border-radius: 4px; flex-shrink: 0; }
.qskel-line { height: 16px; margin-bottom: 14px; }
.qskel-line--sm { height: 12px; }
.qskel-line--lg { height: 34px; margin-bottom: 18px; }
.qskel-block { height: 90px; margin: 22px 0; }
.qskel-btn { height: 52px; width: 100%; margin-top: 24px; }


/* ── In-cart label editor ─────────────────────────────── */
.cart-label-editor {
  border: 1px solid var(--linen-mid);
  border-top: none;
  background: #fff;
  padding: 20px 20px 16px;
}
/* override builder's scroll cap so all sheets show in full */
.cart-label-editor .ssp-label-sheets { max-height: none !important; overflow: visible !important; }
.cart-lbl-sheets { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.cart-lbl-sheet {
  border: 1px solid var(--linen-mid);
  border-radius: 3px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cart-lbl-sheet-header { display: flex; align-items: center; gap: 12px; }
.cart-lbl-sheet-num {
  font-family: var(--sans); font-size: 0.65rem; font-weight: 600;
  letter-spacing: 0.15em; text-transform: uppercase; color: var(--bark);
  white-space: nowrap;
}
.cart-lbl-zone-wrap { flex: 1; }
.cart-lbl-zone-select {
  width: 100%; font-family: var(--sans); font-size: 0.75rem; color: var(--bark);
  border: 1px solid var(--linen-mid); border-radius: 3px; padding: 6px 10px;
  background: #fff; outline: none; cursor: pointer;
}
.cart-lbl-zone-select:focus { border-color: var(--clay); }
.cart-lbl-zone-custom {
  width: 100%; box-sizing: border-box;
  font-family: var(--sans); font-size: 0.75rem; color: var(--bark);
  border: 1px solid var(--linen-mid); border-radius: 3px; padding: 6px 10px;
  background: #fff; outline: none; margin-top: 6px;
}
.cart-lbl-zone-custom:focus { border-color: var(--clay); }
.cart-lbl-labels-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.cart-lbl-label-input {
  font-family: var(--sans); font-size: 0.78rem; color: var(--bark);
  border: 1px solid var(--linen-mid); border-radius: 3px;
  padding: 7px 10px; background: #fff; outline: none; width: 100%; box-sizing: border-box;
}
.cart-lbl-label-input:focus { border-color: var(--clay); }
.cart-lbl-label-input::placeholder { color: var(--muted); }
.cart-lbl-footer {
  margin-top: 16px; display: flex; align-items: center;
  justify-content: flex-end; gap: 16px;
}
.cart-lbl-status {
  font-family: var(--sans); font-size: 0.72rem; color: var(--terra);
  font-weight: 500; letter-spacing: 0.05em;
}
.cart-lbl-save {
  font-family: var(--sans); font-size: 0.68rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  background: var(--terra); color: #fff;
  border: none; border-radius: 2px; padding: 9px 22px;
  cursor: pointer; transition: opacity 0.18s;
}
.cart-lbl-save:hover { opacity: 0.85; }
.cpage__bespoke-header-right {
  display: flex; align-items: center; gap: 10px;
}
.cart-lbl-edit-toggle {
  display: inline-block;
  font-family: var(--sans); font-size: 0.6rem; font-weight: 500;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--terra); background: none;
  border: 1px solid var(--terra); border-radius: 2px;
  padding: 4px 11px; cursor: pointer; transition: background 0.18s, color 0.18s;
}
.cart-lbl-edit-toggle:hover { background: var(--terra); color: #fff; }
@media (max-width: 600px) {
  .cart-lbl-labels-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   ZONE MAP BUILDER
   ============================================================ */
.zmb-page { background: var(--warm-wht); }

.zmb-hero { background: var(--linen); padding: 80px 80px 64px; text-align: center; display: flex; justify-content: center; }
.zmb-hero__inner { max-width: 720px; display: flex; flex-direction: column; align-items: center; }
.zmb-hero__title {
  font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.2rem);
  font-weight: 300; color: var(--bark); line-height: 1.15; margin-bottom: 20px;
}
.zmb-hero__title em { font-style: italic; color: var(--terra); }
.zmb-hero__body {
  font-family: var(--sans); font-size: 0.92rem; font-weight: 300;
  line-height: 1.8; color: var(--bark); opacity: 0.75; max-width: 600px;
}

.zmb-body { display: flex; justify-content: center; padding: 56px 24px 96px; }
.zmb-builder { width: 100%; max-width: 1040px; display: flex; gap: 40px; align-items: flex-start; }

.zmb-question__hint { font-family: var(--sans); font-size: 0.76rem; font-weight: 300; color: var(--bark); opacity: 0.55; margin: 0; }
.zmb-question__hint--top { margin-top: -4px; margin-bottom: 4px; line-height: 1.6; }

/* ── Palette (left rail): shelf stepper, zone tags, jar source ── */
.zmb-palette { width: 260px; flex-shrink: 0; display: flex; flex-direction: column; gap: 32px; position: sticky; top: 24px; }
.zmb-palette__section { display: flex; flex-direction: column; gap: 10px; }
.zmb-palette__label {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--bark);
}

/* Shelf-count stepper (reused by the palette) */
.zmb-stepper { display: flex; align-items: center; gap: 0; width: fit-content; border: 1px solid var(--linen-mid); border-radius: 3px; overflow: hidden; }
.zmb-stepper__btn {
  width: 38px; height: 38px; display: flex; align-items: center; justify-content: center;
  background: var(--linen); color: var(--bark); border: none; cursor: pointer;
  font-family: var(--sans); font-size: 1.1rem; font-weight: 400; line-height: 1;
  transition: background 0.18s, color 0.18s;
}
.zmb-stepper__btn:hover:not(:disabled) { background: var(--terra); color: var(--warm-wht); }
.zmb-stepper__btn:disabled { opacity: 0.35; cursor: not-allowed; }
.zmb-stepper__value {
  width: 56px; height: 38px; text-align: center; border: none;
  border-left: 1px solid var(--linen-mid); border-right: 1px solid var(--linen-mid);
  font-family: var(--serif); font-size: 1.2rem; font-weight: 400; color: var(--bark);
  outline: none; -moz-appearance: textfield;
  display: flex; align-items: center; justify-content: center;
}
.zmb-stepper__value--static { background: #fff; }
.zmb-stepper__value::-webkit-outer-spin-button,
.zmb-stepper__value::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Draggable zone-preset tags in the palette */
.zmb-palette__zones { display: flex; flex-wrap: wrap; gap: 8px; }
.zmb-palette__zone {
  font-family: var(--sans); font-size: 0.74rem; font-weight: 500; color: var(--terra-dk);
  background: var(--linen); border: 1px solid var(--linen-mid); border-radius: 20px;
  padding: 7px 14px; cursor: grab; touch-action: none; transition: border-color 0.18s, background 0.18s;
}
.zmb-palette__zone:hover { border-color: var(--terra); background: var(--linen-dk); }
.zmb-palette__zone--dragging { opacity: 0.4; }

/* Draggable "add an item" sources (jar + accessories) */
.zmb-palette__items { display: flex; flex-direction: column; gap: 8px; }
.zmb-palette__jar-source {
  display: flex; align-items: center; gap: 10px;
  background: #fff; border: 1px dashed var(--clay); border-radius: 4px;
  padding: 12px 14px; cursor: grab; touch-action: none; color: var(--bark);
  font-family: var(--sans); font-size: 0.76rem; font-weight: 300;
  transition: border-color 0.18s, background 0.18s; width: 100%; text-align: left;
}
.zmb-palette__jar-source:hover { border-color: var(--terra); background: var(--linen); }
.zmb-palette__jar-source--dragging { opacity: 0.4; }
.zmb-palette__jar-source svg { color: var(--terra-dk); flex-shrink: 0; }

.zmb-add-zone { display: flex; gap: 8px; margin-top: 2px; flex-wrap: wrap; }
.zmb-add-zone__input { flex: 1; min-width: 140px; }
.zmb-add-zone__btn { white-space: nowrap; flex-shrink: 0; }

/* ── Canvas: the illustrated cabinet/shelf unit ── */
.zmb-canvas { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.zmb-cabinet {
  border: 2px solid var(--bark); border-radius: 4px; background: #fff;
  padding: 4px; display: flex; flex-direction: column; gap: 4px;
}
.zmb-shelf-frame { display: flex; align-items: stretch; gap: 10px; }
.zmb-shelf__num {
  font-family: var(--num); font-size: 0.7rem; color: var(--clay);
  width: 22px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  padding-top: 12px;
}
.zmb-shelf {
  flex: 1; min-width: 0; border: 1px solid var(--linen-mid); border-bottom: 3px solid var(--bark);
  border-radius: 2px; background: var(--warm-wht); padding: 14px 16px;
  display: flex; flex-direction: column; gap: 10px; transition: background 0.15s, border-color 0.15s;
  min-height: 76px;
}
.zmb-shelf--eye-level { background: var(--linen); }
.zmb-shelf--over { border-color: var(--terra); background: rgba(184,92,56,0.08); }

.zmb-shelf__zone { display: flex; align-items: center; min-height: 22px; }
.zmb-shelf__zone-empty {
  font-family: var(--sans); font-size: 0.72rem; font-weight: 300; font-style: italic;
  color: var(--bark); opacity: 0.4;
}
.zmb-shelf__zone-tag { display: flex; align-items: center; gap: 8px; }
.zmb-shelf__zone-name {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400; color: var(--terra-dk);
  background: none; border: none; cursor: text; padding: 0;
}
.zmb-shelf__eye-tag {
  font-family: var(--sans); font-size: 0.58rem; font-weight: 500; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--terra); border: 0.75px solid var(--terra);
  border-radius: 2px; padding: 2px 6px;
}
.zmb-shelf__zone-remove {
  width: 16px; height: 16px; display: flex; align-items: center; justify-content: center;
  background: none; border: none; color: var(--bark); opacity: 0.4; cursor: pointer;
  font-size: 0.85rem; line-height: 1; transition: opacity 0.18s;
}
.zmb-shelf__zone-remove:hover { opacity: 0.9; }

.zmb-shelf__jars { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; min-height: 44px; }
.zmb-shelf__jars-empty {
  font-family: var(--sans); font-size: 0.7rem; font-weight: 300; font-style: italic;
  color: var(--bark); opacity: 0.35; padding: 10px 0;
}

/* ── Draggable jar ── */
.zmb-jar {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  width: 70px; position: relative;
}
.zmb-jar--dragging { opacity: 0.35; }
.zmb-jar__grip {
  background: none; border: none; padding: 0; cursor: grab; touch-action: none;
  color: var(--bark-lt); display: flex; align-items: center; justify-content: center;
}
.zmb-jar__grip:hover { color: var(--terra-dk); }
.zmb-jar__label {
  font-family: var(--sans); font-size: 0.66rem; font-weight: 400; color: var(--bark);
  background: none; border: none; cursor: text; padding: 1px 2px; max-width: 100%;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.zmb-jar__placeholder { opacity: 0.4; font-style: italic; }
.zmb-jar__edit-input {
  font-family: var(--sans); font-size: 0.66rem; font-weight: 400; color: var(--bark);
  background: #fff; border: 1px solid var(--terra); border-radius: 3px;
  padding: 1px 4px; outline: none; width: 64px; text-align: center;
}
.zmb-jar__remove {
  position: absolute; top: -6px; right: 2px;
  width: 14px; height: 14px; display: flex; align-items: center; justify-content: center;
  background: var(--warm-wht); border: 1px solid var(--linen-mid); border-radius: 50%;
  color: var(--bark); opacity: 0; cursor: pointer; font-size: 0.6rem; line-height: 1;
  transition: opacity 0.18s;
}
.zmb-jar:hover .zmb-jar__remove { opacity: 0.75; }
.zmb-jar__remove:hover { opacity: 1 !important; }

/* Floating drag preview */
.zmb-drag-overlay {
  font-family: var(--sans); font-size: 0.76rem; font-weight: 500; color: var(--terra-dk);
  background: #fff; border: 1px solid var(--terra); border-radius: 20px;
  padding: 7px 14px; box-shadow: 0 6px 18px rgba(62,36,16,0.18); cursor: grabbing;
}

/* Submit + messaging (shared with the old quiz layout's patterns) */
.zmb-error {
  font-family: var(--sans); font-size: 0.82rem; color: var(--terra-dk);
  background: rgba(184,92,56,0.08); border-left: 3px solid var(--terra);
  padding: 12px 16px; border-radius: 2px; margin: 0;
}
.zmb-success {
  font-family: var(--sans); font-size: 0.82rem; color: var(--terra-dk);
  background: rgba(184,92,56,0.08); border-left: 3px solid var(--terra);
  padding: 12px 16px; border-radius: 2px; margin: 0;
}
.zmb-submit { width: 100%; text-align: center; font-size: 0.74rem; padding: 16px 38px; }
.zmb-disclaimer {
  font-family: var(--sans); font-size: 0.72rem; font-weight: 300;
  color: var(--bark); opacity: 0.55; text-align: center; margin: 0;
}

@media (max-width: 900px) {
  .zmb-builder { flex-direction: column; }
  .zmb-palette { width: 100%; position: static; }
  .zmb-palette__zones { gap: 8px; }
}

@media (max-width: 768px) {
  .zmb-hero { padding: 56px 24px 48px; }
  .zmb-body { padding: 40px 20px 72px; }
  .zmb-add-zone { flex-direction: column; }
  .zmb-shelf-frame { gap: 6px; }
  .zmb-shelf { padding: 12px; }
}

/* ============================================================
   GIFT CARDS — .gc-* prefix
   ============================================================= */

.gc-page {
  max-width: 680px;
  margin: 0 auto;
  padding: 72px 40px 96px;
}

/* Hero */
.gc-hero {
  text-align: center;
  margin-bottom: 40px;
}
.gc-hero__eyebrow {
  display: inline-block;
  font-size: 0.65rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--clay);
  font-family: var(--sans);
  margin-bottom: 18px;
}
.gc-hero__title {
  font-family: var(--serif);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 400;
  color: var(--bark);
  letter-spacing: 0.02em;
  margin: 0 0 16px;
  line-height: 1.2;
}
.gc-hero__desc {
  font-family: var(--sans);
  font-size: 0.95rem;
  color: var(--clay);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.65;
}

/* Card preview */
.gc-card-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 12px;
}
.gc-card {
  width: 100%;
  max-width: 380px;
  min-height: 220px;
  border-radius: 16px;
  padding: 28px 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background 0.25s, color 0.25s;
}
.gc-card__logo {
  font-family: "Tenor Sans", sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.gc-card__mid {
  text-align: center;
}
.gc-card__amount {
  font-family: var(--serif);
  font-size: 4rem;
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: lining-nums;
}
.gc-card__for {
  font-family: var(--sans);
  font-size: 0.75rem;
  margin-top: 6px;
  opacity: 0.65;
}
.gc-card__bot {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.gc-card__tag {
  font-family: var(--sans);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.gc-card__validity {
  font-family: var(--sans);
  font-size: 0.62rem;
  opacity: 0.6;
}

/* Message preview */
.gc-card-msg-preview {
  font-family: var(--sans);
  font-size: 0.8rem;
  color: var(--clay);
  font-style: italic;
  text-align: center;
  min-height: 20px;
  margin-bottom: 4px;
}

/* Design swatches */
.gc-swatches {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 6px;
}
.gc-swatch {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  transition: box-shadow 0.18s;
}
.gc-swatch.is-selected {
  box-shadow: 0 0 0 2px var(--warm-wht), 0 0 0 4px var(--bark);
}
.gc-swatch-labels {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 24px;
}
.gc-swatch-label {
  width: 34px;
  font-family: var(--sans);
  font-size: 0.6rem;
  color: var(--clay);
  text-align: center;
  letter-spacing: 0.04em;
}

/* Separator */
.gc-sep {
  width: 40px;
  height: 1px;
  background: var(--sand);
  margin: 0 auto 24px;
}

/* Amount pills */
.gc-amt-row {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.gc-amt-pill {
  display: flex;
  align-items: baseline;
  gap: 3px;
  background: #fff;
  border: 0.5px solid var(--sand);
  border-radius: 100px;
  padding: 7px 16px;
  cursor: pointer;
  color: var(--clay);
  transition: border-color 0.15s, color 0.15s;
}
.gc-amt-pill.is-selected {
  border: 1.5px solid var(--bark);
  color: var(--bark);
}
.gc-amt-pill__num {
  font-family: var(--serif);
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1;
  font-variant-numeric: lining-nums;
}
.gc-amt-pill__sub {
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
}

/* Trust pills */
.gc-trust-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.gc-trust-pill {
  font-family: var(--sans);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
  color: var(--bark);
  background: var(--linen);
  border: 1px solid var(--sand);
  border-radius: 100px;
  padding: 4px 12px;
}

/* Form */
.gc-form {
  display: flex;
  flex-direction: column;
}
.gc-field-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.gc-field {
  display: flex;
  flex-direction: column;
}
.gc-label {
  font-family: var(--sans);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--clay);
  margin-bottom: 6px;
}
.gc-label--optional {
  color: var(--clay);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.72rem;
}
.gc-input,
.gc-textarea {
  font-family: var(--sans);
  font-size: 0.875rem;
  color: var(--bark);
  background: #ffffff;
  border: 0.5px solid var(--sand);
  border-radius: 6px;
  padding: 10px 13px;
  transition: border-color 0.15s;
  outline: none;
  resize: vertical;
  width: 100%;
}
.gc-input::placeholder,
.gc-textarea::placeholder {
  color: #B8A898;
}
.gc-input:focus,
.gc-textarea:focus {
  border-color: var(--terra);
}
.gc-textarea {
  min-height: 96px;
}
.gc-char-count {
  font-family: var(--sans);
  font-size: 0.72rem;
  color: var(--clay);
  text-align: right;
  margin-top: 5px;
}

/* Error */
.gc-error {
  background: #F9EAEA;
  border: 1px solid #C07070;
  border-radius: 7px;
  padding: 12px 16px;
  font-family: var(--sans);
  font-size: 0.85rem;
  color: #8B3A3A;
  margin-top: 16px;
}

/* Submit */
.gc-submit-btn {
  display: block;
  width: 100%;
  padding: 15px 28px;
  background: var(--terra);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: var(--sans);
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.18s, transform 0.12s;
  margin-bottom: 14px;
}
.gc-submit-btn:hover:not(:disabled) {
  opacity: 0.9;
  transform: translateY(-1px);
}
.gc-submit-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}
.gc-fine-print {
  font-family: var(--sans);
  font-size: 0.72rem;
  color: var(--clay);
  text-align: center;
  line-height: 1.55;
  margin: 0;
}

/* Responsive */
@media (max-width: 600px) {
  .gc-page {
    padding: 48px 20px 72px;
  }
  .gc-field-group {
    grid-template-columns: 1fr;
  }
  .gc-hero__title {
    font-size: 1.75rem;
  }
  .gc-amt-row {
    gap: 6px;
  }
  .gc-amt-pill {
    padding: 6px 12px;
  }
}

/* Success page */
.gc-success-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 72px 24px;
}
.gc-success-wrap {
  max-width: 560px;
  width: 100%;
  text-align: center;
}
.gc-success__check {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
.gc-success__title {
  font-family: var(--serif);
  font-size: 2rem;
  font-weight: 400;
  color: var(--bark);
  letter-spacing: 0.02em;
  margin: 0 0 16px;
}
.gc-success__desc {
  font-family: var(--sans);
  font-size: 1rem;
  color: var(--clay);
  line-height: 1.65;
  margin: 0 0 36px;
}
.gc-success__card {
  display: flex;
  justify-content: center;
  margin-bottom: 32px;
}
.gc-success__card .gc-preview__card {
  max-width: 320px;
  width: 100%;
}
.gc-success__code-wrap {
  background: var(--linen);
  border-radius: 10px;
  padding: 24px;
  margin-bottom: 32px;
  text-align: center;
}
.gc-success__code-label {
  font-family: var(--sans);
  font-size: 0.65rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--clay);
  margin-bottom: 10px;
}
.gc-success__code {
  font-family: 'Courier New', monospace;
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  color: var(--bark);
  font-weight: 600;
  margin-bottom: 8px;
}
.gc-success__code-note {
  font-family: var(--sans);
  font-size: 0.75rem;
  color: var(--clay);
}
.gc-success__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.gc-success__actions .gc-submit-btn {
  max-width: 280px;
  width: 100%;
}
.gc-success__spinner {
  width: 36px;
  height: 36px;
  border: 3px solid var(--linen);
  border-top-color: var(--terra);
  border-radius: 50%;
  animation: gc-spin 0.8s linear infinite;
  margin: 0 auto 24px;
}
@keyframes gc-spin {
  to { transform: rotate(360deg); }
}

/* ============================================================
   CHECKOUT — .chk-*
   ============================================================ */

.chk-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}

.chk-back-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--sans);
  font-size: 0.82rem;
  color: var(--text-lt);
  text-decoration: none;
  margin-bottom: 2rem;
  transition: color 0.15s;
}
.chk-back-link:hover { color: var(--bark); }

/* Two-column grid */
.chk-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

/* ── Left column heading ── */
.chk-heading {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--bark);
  letter-spacing: 0.02em;
  margin: 0 0 1.25rem;
}

/* ── Item cards (same as before) ── */
.chk-card {
  background: #ffffff;
  border: 1px solid var(--linen-dk);
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 10px;
}
.chk-card-header { display: flex; align-items: center; gap: 14px; }
.chk-card-img-wrap { flex-shrink: 0; }
.chk-card-img { width: 72px; height: 72px; object-fit: cover; border-radius: 6px; background: var(--linen); display: block; }
.chk-card-img-ph { width: 72px; height: 72px; border-radius: 6px; background: var(--linen-dk); }
.chk-card-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.chk-card-name { font-family: var(--serif); font-size: 1rem; font-weight: 400; color: var(--bark); line-height: 1.3; }
.chk-card-meta { font-family: var(--sans); font-size: 0.76rem; color: var(--text-lt); }
.chk-card-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.chk-card-qty { font-family: var(--sans); font-size: 0.8rem; color: var(--text-lt); }
.chk-card-price { font-family: var(--sans); font-size: 0.92rem; font-weight: 500; color: var(--bark); }

/* Sub-items (bundle contents) */
.chk-subitems { margin-top: 14px; border-left: 2px solid var(--linen-dk); padding-left: 14px; }
.chk-subitems-label { display: block; font-family: var(--sans); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--text-lt); margin-bottom: 8px; }
.chk-subitems-list { display: flex; flex-direction: column; gap: 0; }
.chk-subitem-row { display: flex; align-items: center; gap: 10px; padding: 4px 0; }
.chk-subitem-img { width: 34px; height: 34px; object-fit: cover; border-radius: 4px; display: block; }
.chk-subitem-img-ph { width: 34px; height: 34px; border-radius: 4px; background: var(--linen-dk); }
.chk-subitem-name { font-family: var(--sans); font-size: 0.8rem; color: var(--bark); flex: 1; min-width: 0; }
.chk-subitem-qty { font-family: var(--sans); font-size: 0.76rem; color: var(--text-lt); white-space: nowrap; }

/* Discount badge */
.chk-discount-badge { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 14px; background: #F0FAF0; border-radius: 6px; border: 1px solid #C8E6C9; }
.chk-discount-code { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; color: #2E6B2E; background: #D8EFD8; padding: 2px 7px; border-radius: 4px; }
.chk-discount-sep { color: var(--text-lt); }
.chk-discount-desc { font-family: var(--sans); font-size: 0.82rem; color: #3A753A; }

/* Order note */
.chk-note { display: flex; align-items: flex-start; gap: 8px; font-family: var(--sans); font-size: 0.82rem; color: var(--text-lt); font-style: italic; margin-top: 10px; }
.chk-note-icon { flex-shrink: 0; }

/* Totals block at bottom of left column */
.chk-totals { margin-top: 1.5rem; border-top: 1px solid var(--linen-dk); padding-top: 1.25rem; }
.chk-totals-line { display: flex; justify-content: space-between; font-family: var(--sans); font-size: 0.88rem; color: var(--bark); padding: 4px 0; }
.chk-totals-line--savings { color: #3A753A; }
.chk-totals-line--total { font-size: 1rem; font-weight: 600; margin-top: 2px; }
.chk-totals-divider { border: none; border-top: 1px solid var(--linen-dk); margin: 10px 0; }
.chk-gst-note { font-family: var(--sans); font-size: 0.74rem; color: var(--text-lt); margin: 10px 0 0; }

/* PI loading */
.chk-pi-loading { font-family: var(--sans); font-size: 0.85rem; color: var(--text-lt); padding: 20px 0; text-align: center; }

/* ── Right column: form ── */
.chk-form { display: flex; flex-direction: column; gap: 0; }

/* Single unified form card */
.chk-form-card {
  background: #ffffff;
  border: 1px solid var(--linen-dk);
  border-radius: 12px;
  padding: 24px 24px 28px;
  margin-bottom: 16px;
}

.chk-section-label {
  font-family: var(--sans);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--bark);
  margin: 0 0 14px;
}

.chk-payment-element-wrap {
  min-height: 180px;
}

.chk-form-divider {
  border: none;
  border-top: 1px solid var(--linen-dk);
  margin: 20px 0;
}

.chk-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.chk-field:last-child { margin-bottom: 0; }

.chk-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

.chk-label {
  font-family: var(--sans);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-lt);
}

.chk-input {
  font-family: var(--sans);
  font-size: 0.88rem;
  color: var(--bark);
  background: #ffffff;
  border: 1px solid #D9CFBF;
  border-radius: 6px;
  padding: 10px 12px;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 0.15s;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.chk-input:focus { border-color: var(--terra); }
.chk-input--error { border-color: var(--terra); }
.chk-select { 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 d='M1 1l5 5 5-5' stroke='%236b5a4a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 32px; cursor: pointer; }

.chk-field-error { font-family: var(--sans); font-size: 0.72rem; color: var(--terra); }

/* Pay button */
.chk-pay-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 52px;
  background: var(--terra);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.15s;
  margin-top: 4px;
  text-decoration: none;
  padding: 0 1rem;
  box-sizing: border-box;
}
.chk-pay-btn:hover:not(:disabled) { background: #A0502F; }
.chk-pay-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.chk-pay-btn--inline { display: inline-flex; width: auto; padding: 0 28px; }

.chk-secure-note { font-family: var(--sans); font-size: 0.72rem; color: var(--text-lt); text-align: center; margin: 10px 0 0; }

.chk-error { font-family: var(--sans); font-size: 0.82rem; color: var(--terra); margin: 8px 0; text-align: center; }

/* Mobile */
@media (max-width: 768px) {
  .chk-cols { grid-template-columns: 1fr; }
  .chk-field-row { grid-template-columns: 1fr; }
  .chk-wrap { padding: 24px 16px 60px; }
}

/* ============================================================
   CHECKOUT SUCCESS — .chk-success-*
   ============================================================ */

.chk-success-page {
  padding: 64px 24px 96px;
}

.chk-success-wrap {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}

.chk-success-wrap--loading {
  padding-top: 2rem;
}

.chk-success-icon {
  display: block;
  margin: 0 auto 1.5rem;
}

.chk-success-heading {
  font-family: var(--serif);
  font-size: clamp(1.9rem, 3.5vw, 2.6rem);
  font-weight: 300;
  color: var(--bark);
  letter-spacing: 0.02em;
  margin: 0 0 0.75rem;
}

.chk-success-sub {
  font-family: var(--sans);
  font-size: 1rem;
  color: var(--bark-lt);
  line-height: 1.6;
  margin: 0 0 2rem;
}

.chk-success-ref {
  font-family: var(--sans);
  font-size: 0.84rem;
  color: var(--bark-lt);
  margin: 0.5rem 0 2rem;
}

/* Success panels */
.chk-success-panel {
  background: var(--linen);
  border-radius: 10px;
  padding: 1.5rem;
  margin-bottom: 1.25rem;
  text-align: left;
}

.chk-success-panel-title {
  font-family: var(--serif);
  font-size: 1rem;
  font-weight: 400;
  color: var(--bark);
  letter-spacing: 0.04em;
  margin: 0 0 1rem;
}

.chk-success-items {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.chk-success-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid var(--linen-dk);
  font-family: var(--sans);
  font-size: 0.86rem;
  color: var(--bark);
}

.chk-success-item:last-child {
  border-bottom: none;
}

.chk-success-item-name {
  flex: 1;
}

.chk-success-item-qty {
  color: var(--bark-lt);
  font-size: 0.8rem;
}

.chk-success-item-price {
  font-weight: 500;
  flex-shrink: 0;
  margin-left: 1rem;
}

.chk-success-total {
  display: flex;
  justify-content: space-between;
  padding-top: 12px;
  margin-top: 4px;
  border-top: 1px solid var(--linen-dk);
  font-family: var(--sans);
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--bark);
}

.chk-success-address {
  font-family: var(--sans);
  font-size: 0.88rem;
  color: var(--bark-lt);
  line-height: 1.7;
  margin: 0;
}

.chk-success-email-note {
  font-family: var(--sans);
  font-size: 0.84rem;
  color: var(--bark-lt);
  line-height: 1.5;
  margin: 0 0 2rem;
}

.chk-success-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.chk-success-orders-link {
  font-family: var(--sans);
  font-size: 0.88rem;
  color: var(--terra);
  text-decoration: none;
}

.chk-success-orders-link:hover {
  text-decoration: underline;
}

/* Spinner */
.chk-success-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid var(--linen-dk);
  border-top-color: var(--terra);
  border-radius: 50%;
  margin: 0 auto 1.5rem;
  animation: chk-spin 0.8s linear infinite;
}

@keyframes chk-spin {
  to { transform: rotate(360deg); }
}

/* Responsive */
@media (max-width: 768px) {
  .chk-cols {
    grid-template-columns: 1fr;
  }

  .chk-summary-panel {
    position: static;
  }

  .chk-wrap {
    padding: 40px 16px 72px;
  }

  .chk-right {
    order: -1;
  }
}

@media (max-width: 480px) {
  .chk-success-page {
    padding: 40px 16px 72px;
  }
}
