/* =========================================================================
   Sweet Du — storefront layer, built to the design file.
   Order: base → preserved v2 (hero, tiles, footer, toasts, loader) → components.
   !important appears only where WooCommerce or Hello Elementor ship colours
   at a specificity we would otherwise have to out-shout.
   ====================================================================== */

/* ---------- base ---------- */
*,*::before,*::after { box-sizing: border-box; }
/* Phones: the page holds still — no zooming in (double-tap, pinch or
   tapping a field) and no sliding sideways. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; touch-action: manipulation; }
body {
  margin: 0;
  font-family: var(--sd-font) !important;
  font-size: 16px; line-height: 1.5;
  color: var(--c-text) !important;
  background: var(--c-cream) !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
/* clip (not hidden) on both, so neither becomes a scroll box and every
   position: sticky (header, Your order, cart summary, filters) keeps working. */
@supports (overflow-x: clip) { html, body { overflow-x: clip; } }
body.sd-noscroll { overflow: hidden; }
h1,h2,h3,h4 { font-family: var(--sd-display); margin: 0; color: var(--c-forest); font-weight: 800; line-height: 1.1; }
h3 { font-weight: 700; }
p { margin: 0 0 1em; }
a { color: inherit; text-decoration: none; }
a:hover { color: inherit; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font-family: inherit; }
:focus-visible { outline: 3px solid var(--c-orange) !important; outline-offset: 3px; }

.sd-wrap { width: 100%; max-width: var(--sd-maxw); margin-inline: auto; padding-inline: var(--sd-gutter); }
.sd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.sd-center { display: flex; justify-content: center; margin-top: 44px; }
.sd-deco { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

.sd-h1 { font-size: clamp(40px, 6.4vw, 60px); letter-spacing: -.035em; line-height: 1; font-weight: 800; color: var(--c-forest); }
.sd-h2xl { font-size: clamp(34px, 5vw, 52px); letter-spacing: -.03em; line-height: 1.05; margin-top: 8px; color: var(--c-forest); }
.sd-h2 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; color: var(--c-forest); }
.sd-eyebrow { font-weight: 700; color: var(--c-orange-3); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.sd-link { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: var(--c-forest) !important; min-height: 44px; display: inline-flex; align-items: center; }
.sd-lbl { display: block; font-weight: 700; color: var(--c-forest); margin-bottom: 6px; font-size: 15px; }
.sd-optional { font-weight: 500; color: var(--c-muted); }
.sd-sechead { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 20px; margin-bottom: 36px; }
.sd-sechead--center { justify-content: center; text-align: center; }

/* ---------- buttons (design .btn) ---------- */
.sd-b {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 28px; border-radius: 999px; border: 0;
  font-family: inherit; font-weight: 700; font-size: 16px; line-height: 1.1; text-align: center;
  cursor: pointer; text-decoration: none !important;
  transition: transform .15s var(--sd-ease), background-color .2s var(--sd-ease), box-shadow .2s var(--sd-ease);
  -webkit-tap-highlight-color: transparent;
}
.sd-b:hover { transform: translateY(-2px); }
.sd-b:active { transform: translateY(0) scale(.98); }
.sd-b--orange { background: var(--c-orange) !important; color: var(--c-forest) !important; box-shadow: var(--shadow-orange); }
.sd-b--orange:hover { background: #FF9A45 !important; }
.sd-b--dark { background: var(--c-forest) !important; color: var(--c-cream) !important; }
.sd-b--dark:hover { background: var(--c-leaf) !important; }
.sd-b--soft { background: var(--c-peach) !important; color: var(--c-forest) !important; min-height: 46px; }
.sd-b--soft:hover { background: #FFDDBA !important; }
.sd-b--ghost { background: rgba(255,255,255,.12) !important; color: var(--c-cream) !important; border: 2px solid rgba(255,247,234,.55); }
.sd-b--ghost:hover { background: rgba(255,255,255,.22) !important; }
.sd-b--block { width: 100%; }
.sd-b.is-off, .sd-b[disabled] { opacity: .55; pointer-events: none; box-shadow: none; }
.sd-b.is-busy { pointer-events: none; opacity: .85; }
.sd-b.is-busy::after {
  content: ""; width: 16px; height: 16px; border-radius: 50%;
  border: 2.5px solid currentColor; border-right-color: transparent; animation: sd-spin .7s linear infinite;
}
@keyframes sd-spin { to { transform: rotate(360deg); } }

/* round quantity button (design .qbtn) */
.sd-qbtn {
  flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 2px solid var(--c-forest) !important; background: #fff !important; color: var(--c-forest) !important;
  font-family: inherit; font-size: 20px; font-weight: 700; line-height: 1; cursor: pointer;
  transition: background-color .15s var(--sd-ease), transform .1s var(--sd-ease);
}
.sd-qbtn:hover { background: var(--c-peach) !important; }
.sd-qbtn:active { transform: scale(.92); }
.sd-qbtn[disabled] { opacity: .35; pointer-events: none; }
.sd-qbtn--lg { width: 48px; height: 48px; font-size: 22px; }

/* round close button */
.sd-x {
  flex: 0 0 auto; width: 44px; height: 44px; padding: 0; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0 !important; background: var(--c-peach) !important; color: var(--c-forest) !important; cursor: pointer;
  transition: background-color .15s var(--sd-ease), transform .15s var(--sd-ease);
}
.sd-x:hover { background: #FFDDBA !important; transform: rotate(90deg); }

/* inputs (design .field) */
.sd-input, .sd-select {
  width: 100%; min-height: 48px; padding: 0 16px;
  border-radius: 14px; border: 2px solid var(--c-sand) !important; background: var(--c-paper) !important;
  font-family: inherit; font-size: 16px; font-weight: 500; color: var(--c-text) !important;
  transition: border-color .2s var(--sd-ease), box-shadow .2s var(--sd-ease);
  -webkit-appearance: none; appearance: none;
}
.sd-input--area { padding: 14px 16px; min-height: 0; resize: vertical; line-height: 1.5; }
.sd-select {
  padding-right: 44px; cursor: pointer;
  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 1.5l5 5 5-5' fill='none' stroke='%230E3B22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important;
}
.sd-input:focus, .sd-select:focus { outline: none; border-color: var(--c-leaf) !important; box-shadow: 0 0 0 4px rgba(27,107,54,.14); }
.sd-input::placeholder { color: #8A8F86; font-weight: 400; }

/* little cream/orange labels on art */
.sd-tag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; border-radius: 999px;
  background: var(--c-cream); color: var(--c-forest);
  font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2;
}
.sd-tag svg { width: 13px; height: 13px; }
.sd-tag--orange { background: var(--c-orange); padding: 8px 14px; font-size: 13px; letter-spacing: .05em; }

/* skip link */
.sd-skip {
  position: absolute; left: 16px; top: -60px; z-index: 999;
  padding: 12px 20px; background: var(--c-forest); color: var(--c-cream) !important;
  border-radius: 14px; font-weight: 700; transition: top .2s var(--sd-ease);
}
.sd-skip:focus { top: 12px; }

/* ---------- SPA progress + page transition ---------- */
.sd-progress {
  position: fixed; top: 0; left: 0; height: 3px; z-index: 9999;
  background: linear-gradient(90deg, var(--c-leaf), var(--c-orange));
  transition: width 200ms var(--sd-ease), opacity 200ms var(--sd-ease);
}
body.sd-navigating #sd-main { opacity: .6; transition: opacity var(--sd-dur-ui) var(--sd-ease); }
.sd-anim-fade { transition: opacity var(--sd-dur-page) var(--sd-ease), transform var(--sd-dur-page) var(--sd-ease); }
html.is-changing .sd-anim-fade, html.is-rendering .sd-anim-fade { opacity: 0; transform: translateY(6px); }
html.is-animating .sd-anim-fade { opacity: 1; transform: none; }
#sd-main { display: block; min-height: 50vh; }

/* Elementor / Hello leftovers we never want on the storefront */
.site-header, .site-footer, .page-header .entry-title { display: none; }
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-breadcrumb { display: none; }

/* =========================================================================
   PRESERVED FROM v2 — home hero, category tiles, order CTA band + footer,
   toasts, full-screen loader, legacy .sd-btn (hero + footer buttons).
   Extracted unchanged; edit with care, the client asked to keep these.
   ====================================================================== */
.sd-btn{--btn-bg: var(--sd-green-700);
  --btn-fg: #fff;
  display: inline-flex; align-items: center; justify-content: center; gap: var(--sd-2);
  min-height: 48px;                 
  padding: 0 var(--sd-6);
  font: 600 var(--sd-fs-base)/1 var(--sd-font);
  color: var(--btn-fg); background: var(--btn-bg);
  border: 0; border-radius: var(--sd-r-full);
  cursor: pointer;
  transition: transform var(--sd-dur-micro) var(--sd-ease),
              background-color var(--sd-dur-ui) var(--sd-ease),
              box-shadow var(--sd-dur-ui) var(--sd-ease);
  -webkit-tap-highlight-color: transparent;}
.sd-btn:hover{--btn-bg: var(--sd-green-800); box-shadow: var(--sd-shadow);}
.sd-btn:active{transform: scale(.97);}
.sd-btn[disabled], .sd-btn.is-busy{opacity: .6; pointer-events: none;}
.sd-btn--accent{--btn-bg: var(--sd-orange-600);}
.sd-btn--accent:hover{--btn-bg: var(--sd-orange-700);}
.sd-btn--ghost{--btn-bg: transparent; --btn-fg: var(--sd-green-700);
  box-shadow: inset 0 0 0 2px var(--sd-green-700);}
.sd-btn--ghost:hover{--btn-bg: var(--sd-green-50); box-shadow: inset 0 0 0 2px var(--sd-green-800);}
.sd-btn--block{width: 100%;}
.sd-btn.is-busy::after{content: ""; width: 16px; height: 16px; margin-left: var(--sd-2);
  border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%;
  animation: sd-spin .7s linear infinite;}
@keyframes sd-spin{ to { transform: rotate(360deg); } }
@keyframes sd-bump{ 0%{transform:scale(1)} 35%{transform:scale(1.45)} 100%{transform:scale(1)} }
.sd-toasts{position: fixed; left: 50%; bottom: calc(var(--sd-5) + var(--sd-safe-b));
  transform: translateX(-50%);
  z-index: 900; display: flex; flex-direction: column; gap: var(--sd-2);
  width: min(420px, calc(100vw - var(--sd-6))); pointer-events: none;}
.sd-toast{--toast-accent: var(--sd-green-600);
  position: relative; display: flex; align-items: center; gap: var(--sd-3);
  padding: var(--sd-3) var(--sd-3) var(--sd-3) var(--sd-4);
  background: rgba(21,32,43,.97);
  -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  color: #fff; border-radius: var(--sd-r);
  box-shadow: 0 12px 34px rgba(21,32,43,.28), 0 0 0 1px rgba(255,255,255,.06) inset;
  font-size: var(--sd-fs-sm); font-weight: 500;
  pointer-events: auto;
  opacity: 0; transform: translateY(26px) scale(.96);
  transition: opacity 200ms var(--sd-ease), transform 320ms cubic-bezier(.2,1.25,.4,1);}
.sd-toast.is-in{opacity: 1; transform: none;}
.sd-toast.is-stashed{display: none;}
.sd-toast--err{--toast-accent: #FF6B5A;}
.sd-toast--info{--toast-accent: var(--sd-orange-500);}
.sd-toast::before{content: ""; position: absolute; left: 0; top: 10px; bottom: 10px; width: 3px;
  background: var(--toast-accent); border-radius: 0 3px 3px 0;}
.sd-toast__icon{flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px;
  border-radius: var(--sd-r-full); background: color-mix(in srgb, var(--toast-accent) 22%, transparent);
  color: var(--toast-accent);}
.sd-toast__icon svg{width: 18px; height: 18px;}
.sd-toast__body{flex: 1; min-width: 0; display: flex; align-items: center; gap: var(--sd-2);}
.sd-toast__text{flex: 1;}
.sd-toast__count{flex: 0 0 auto; font-size: var(--sd-fs-xs); font-weight: 700;
  padding: 1px var(--sd-2); border-radius: var(--sd-r-full);
  background: var(--toast-accent); color: var(--sd-ink);}
.sd-toast__x{flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px;
  border: 0; background: none; color: rgba(255,255,255,.55); cursor: pointer;
  border-radius: var(--sd-r-full); transition: color var(--sd-dur-micro) var(--sd-ease), background-color var(--sd-dur-micro) var(--sd-ease);}
.sd-toast__x:hover{color: #fff; background: rgba(255,255,255,.12);}
.sd-toast__x svg{width: 15px; height: 15px;}
.sd-toast-more{align-self: center; pointer-events: auto;
  padding: var(--sd-1) var(--sd-4); border-radius: var(--sd-r-full);
  background: rgba(21,32,43,.9); color: rgba(255,255,255,.8);
  font-size: var(--sd-fs-xs); font-weight: 700;}
.blockUI.blockOverlay{background: rgba(250,251,250,.72) !important; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);}
.blockUI.blockOverlay::before{display: none !important;}
.sd-loading{position: relative;}
.sd-loading::after{content: ""; position: absolute; inset: 0; z-index: 20;
  background: rgba(250,251,250,.7);
  -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  border-radius: inherit;}
.sd-overlay{position: fixed; inset: 0; z-index: 950;
  display: grid; place-items: center;
  background: rgba(20,68,26,.55);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  opacity: 0; transition: opacity 220ms var(--sd-ease);}
.sd-overlay.is-in{opacity: 1;}
.sd-overlay__card{display: flex; flex-direction: column; align-items: center; gap: var(--sd-4);
  padding: var(--sd-8) var(--sd-10);
  background: #fff; border-radius: var(--sd-r-lg); box-shadow: var(--sd-shadow-lg);
  transform: translateY(14px) scale(.97); transition: transform 320ms cubic-bezier(.2,1.25,.4,1);}
.sd-overlay.is-in .sd-overlay__card{transform: none;}
.sd-overlay__msg{font-weight: 700; color: var(--sd-ink);}
.sd-bars{display: flex; align-items: flex-end; gap: 6px; height: 34px;}
.sd-bars span{width: 8px; border-radius: 4px; background: var(--sd-green-600);
  animation: sd-bar 1s ease-in-out infinite;}
.sd-bars span:nth-child(1){height: 40%; animation-delay: 0s;    background: var(--sd-green-700);}
.sd-bars span:nth-child(2){height: 75%; animation-delay: .12s;  background: var(--sd-orange-500);}
.sd-bars span:nth-child(3){height: 55%; animation-delay: .24s;  background: var(--sd-green-500);}
@keyframes sd-bar{ 0%,100% { transform: scaleY(.5); } 50% { transform: scaleY(1.25); } }
@media (prefers-reduced-motion: reduce){
.sd-bars span{animation: none;}
}
.sd-skel{background: linear-gradient(90deg, #eef1ef 25%, #f7f9f8 50%, #eef1ef 75%); background-size: 200% 100%; animation: sd-shimmer 1.3s infinite; border-radius: var(--sd-r-sm);}
@keyframes sd-shimmer{ 0%{background-position:200% 0} 100%{background-position:-200% 0} }
.woocommerce .sd-btn--ghost{background-color: transparent; color: var(--sd-green-700);}
.woocommerce .sd-btn--ghost:hover{background-color: var(--sd-green-50); color: var(--sd-green-800);}
.sd-btn--ghost-light{background: transparent; color: #fff; box-shadow: inset 0 0 0 2px rgba(255,255,255,.5);}
.sd-btn--ghost-light:hover{background: rgba(255,255,255,.1); box-shadow: inset 0 0 0 2px #fff;}
@keyframes sd-float{
  0%,100% { transform: translateY(0) rotate(var(--rot, 0deg)); }
  50%     { transform: translateY(-14px) rotate(var(--rot, 0deg)); }
}
.sd-btn{border-radius: var(--sd-r-sm); font-weight: 800; letter-spacing: -.01em;}
.sd-btn--accent:hover{background: var(--sd-ink);}
@keyframes sd-pulse{ 0%,100% { transform: scale(1); opacity:.5 } 50% { transform: scale(1.1); opacity:.8 } }
@keyframes sd-pop{ from { transform: scale(.4); opacity: 0 } to { transform: scale(1); opacity: 1 } }
@keyframes sd-beat{ 0%,100% { box-shadow: 0 0 0 5px color-mix(in srgb, var(--sd-orange-600) 24%, transparent); } 50% { box-shadow: 0 0 0 12px color-mix(in srgb, var(--sd-orange-600) 6%, transparent); } }
.sd-toast__x{display: grid !important; place-items: center !important;
  line-height: 0 !important; padding: 0 !important;}
.sd-toast__x, .sd-toast__x:hover{border-color: currentColor;}
.sd-cta{position: relative; z-index: 3; margin-top: var(--sd-16); padding-inline: var(--sd-4);}
.sd-cta__inner{position: relative; overflow: hidden;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sd-5);
  padding: var(--sd-8) clamp(20px, 4vw, 48px);
  background: linear-gradient(120deg, #FFF4EA 0%, #FDEADB 55%, #F9DCC4 100%);
  border-radius: 28px;
  box-shadow: 0 18px 40px -18px rgba(201,106,38,.45);
  margin-bottom: -64px;}
.sd-cta__inner::after{content: ""; position: absolute; right: -60px; top: -80px; width: 280px; height: 240px;
  background: radial-gradient(closest-side, rgba(232,131,58,.22), transparent 72%);
  border-radius: 62% 38% 54% 46% / 46% 58% 42% 54%;
  pointer-events: none;}
.sd-cta__copy{position: relative; z-index: 1; flex: 1 1 340px;}
.sd-cta__title{font-size: clamp(1.45rem, 3.4vw, 2.1rem); margin: 0 0 var(--sd-2); color: var(--sd-ink);}
.sd-cta__sub{margin: 0; color: #7A4A22; font-weight: 600;}
.sd-cta__btn{position: relative; z-index: 1; min-height: 54px !important; padding: 0 var(--sd-7, 28px) !important; border-radius: var(--sd-r-full) !important; gap: var(--sd-2);}
.sd-cta__btn svg{transition: transform var(--sd-dur-ui) var(--sd-ease);}
.sd-cta__btn:hover svg{transform: translateX(3px);}
.sd-live{display: inline-flex; align-items: center; gap: var(--sd-2); color: var(--sd-green-800); font-weight: 700;}
.sd-live__dot{width: 9px; height: 9px; border-radius: 50%; background: #2FB344; box-shadow: 0 0 0 0 rgba(47,179,68,.55);}
.sd-live.is-busy{color: #9A4A0E;}
.sd-live.is-busy .sd-live__dot{background: var(--sd-orange-600);}
@media (prefers-reduced-motion: no-preference){
.sd-live__dot{animation: sd-ping 1.8s ease-out infinite;}
}
@keyframes sd-ping{ 0% { box-shadow: 0 0 0 0 rgba(47,179,68,.55); } 80%,100% { box-shadow: 0 0 0 9px rgba(47,179,68,0); } }
.sd-foot{position: relative; overflow: hidden; isolation: isolate;
  color: #CFE6D1;
  background: linear-gradient(175deg, #1E6324 0%, #154A1A 48%, #0F3713 100%);
  padding-top: calc(64px + var(--sd-12));}
.sd-foot__wave{position: absolute; left: 0; right: 0; top: -1px; width: 100%; height: 70px; color: var(--sd-bg); transform: scaleY(-1);}
.sd-foot__grid{position: relative; z-index: 2;
  display: grid; gap: var(--sd-8) var(--sd-6);
  grid-template-columns: 1fr 1fr;
  padding-bottom: var(--sd-10);}
.sd-foot__brand{grid-column: 1 / -1;}
@media (min-width: 900px){
.sd-foot__grid{grid-template-columns: 1.5fr 1fr 1fr 1.25fr;}
.sd-foot__brand{grid-column: auto;}
}
.sd-foot__logo{font-family: var(--sd-display); font-size: 1.9rem; font-weight: 800; letter-spacing: -.045em; color: #fff !important;}
.sd-foot__tag{margin: var(--sd-1) 0 var(--sd-3); color: var(--sd-orange-500); font-weight: 700;}
.sd-foot__blurb{margin: 0; max-width: 34ch; color: #A9CDAC; font-size: var(--sd-fs-sm); line-height: 1.6;}
.sd-foot__social{display: flex; gap: var(--sd-2); margin-top: var(--sd-5);}
.sd-foot__social a{display: grid; place-items: center; width: 42px; height: 42px;
  border-radius: 14px; background: rgba(255,255,255,.08); color: #fff !important;
  transition: background-color var(--sd-dur-ui) var(--sd-ease), transform var(--sd-dur-ui) var(--sd-ease);}
.sd-foot__social a:hover{background: var(--sd-orange-600); transform: translateY(-2px);}
.sd-foot__social svg{width: 20px; height: 20px;}
.sd-foot__head{margin: 0 0 var(--sd-4); font-family: var(--sd-font); font-size: var(--sd-fs-xs); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #fff;}
.sd-foot__links, .sd-foot__contact{list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sd-3);}
.sd-foot__links a{color: #CFE6D1 !important; font-weight: 500; position: relative; transition: color var(--sd-dur-ui) var(--sd-ease);}
.sd-foot__links a::after{content: ""; position: absolute; left: 0; right: 100%; bottom: -3px; height: 2px;
  background: var(--sd-orange-500); border-radius: 2px; transition: right var(--sd-dur-ui) var(--sd-ease);}
.sd-foot__links a:hover{color: #fff !important;}
.sd-foot__links a:hover::after{right: 0;}
.sd-foot__links a[aria-current="page"]{color: #fff !important;}
.sd-foot__more{color: var(--sd-orange-500) !important; font-weight: 700 !important;}
.sd-foot__contact li{display: flex; gap: var(--sd-3); align-items: flex-start; font-size: var(--sd-fs-sm);}
.sd-foot__contact svg{flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; color: var(--sd-orange-500);}
.sd-foot__contact a{color: #CFE6D1 !important; word-break: break-word;}
.sd-foot__contact a:hover{color: #fff !important;}
.sd-foot__pickup{display: flex; flex-wrap: wrap; gap: var(--sd-2); margin: var(--sd-5) 0 0;}
.sd-foot__pill{padding: 5px var(--sd-3); border-radius: var(--sd-r-full);
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14);
  font-size: var(--sd-fs-xs); font-weight: 700; color: #fff;}
.sd-foot__mark{position: relative; z-index: 1;
  font-family: var(--sd-display); font-weight: 800; letter-spacing: -.06em; line-height: .78;
  font-size: clamp(5rem, 21vw, 17rem); text-align: center; white-space: nowrap;
  color: transparent;
  background: linear-gradient(180deg, rgba(255,255,255,.10) 0%, rgba(255,255,255,.015) 85%);
  -webkit-background-clip: text; background-clip: text;
  margin: 0 0 -.12em; user-select: none; pointer-events: none;}
.sd-foot__bar{position: relative; z-index: 2;
  display: flex; flex-wrap: wrap; gap: var(--sd-3) var(--sd-6); justify-content: space-between;
  padding-block: var(--sd-5) calc(var(--sd-5) + var(--sd-safe-b));
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: var(--sd-fs-xs); color: #8DB991;}
.sd-foot__legal{display: flex; gap: var(--sd-4);}
.sd-foot__legal a{color: #A9CDAC !important;}
.sd-foot__legal a:hover{color: #fff !important;}
@media (max-width: 599px){
.sd-cta__inner{padding: var(--sd-6) var(--sd-5); border-radius: 22px;}
.sd-cta__btn{width: 100%; justify-content: center;}
.sd-foot__bar{justify-content: center; text-align: center;}
}
.sdh{position: relative; overflow: hidden; isolation: isolate;
  color: #fff;
  background: linear-gradient(158deg, #33893A 0%, #23702A 34%, #1B5E20 62%, #134618 100%);}
.sdh__glow{position: absolute; z-index: 0; pointer-events: none; filter: blur(8px);}
.sdh__glow--a{width: 520px; height: 520px; right: -120px; top: -180px;
  background: radial-gradient(closest-side, rgba(255,207,166,.28), transparent 70%);}
.sdh__glow--b{width: 420px; height: 420px; left: -160px; bottom: -200px;
  background: radial-gradient(closest-side, rgba(160,230,170,.22), transparent 70%);}
.sdh__inner{position: relative; z-index: 2;
  display: grid; align-items: center; gap: var(--sd-6);
  min-height: 40vh;
  padding-top: clamp(36px, 6vh, 72px);}
@media (min-width: 900px){
.sdh__inner{grid-template-columns: 1.05fr .95fr; gap: var(--sd-8); padding-top: clamp(40px, 7vh, 80px);}
}
.sdh__copy{padding-bottom: var(--sd-10);}
@media (min-width: 900px){
.sdh__copy{padding-bottom: clamp(56px, 9vh, 96px);}
}
.sdh__eyebrow{display: inline-flex; flex-wrap: wrap; gap: var(--sd-2); align-items: center;
  margin: 0 0 var(--sd-4); padding: 6px var(--sd-4);
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--sd-r-full);
  font-size: var(--sd-fs-xs); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #FFE2C9;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);}
.sdh__title{margin: 0 0 var(--sd-4); color: #fff;
  font-family: var(--sd-display); font-weight: 800; letter-spacing: -.045em; line-height: .98;
  font-size: clamp(2.5rem, 6.4vw, 4.6rem);}
.sdh__title em{display: block; font-style: normal; color: var(--sd-orange-500);
  background: linear-gradient(90deg, #FFB46B 0%, #F2994A 50%, #FFC98F 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;}
.sdh__lead{margin: 0 0 var(--sd-6); max-width: 46ch; font-size: var(--sd-fs-lg); line-height: 1.55; color: #D6ECD8;}
.sdh__actions{display: flex; flex-wrap: wrap; align-items: center; gap: var(--sd-3) var(--sd-5); margin-bottom: var(--sd-6);}
.sdh__primary{min-height: 56px !important; padding: 0 30px !important; gap: var(--sd-2);
  border-radius: var(--sd-r-full) !important; font-size: var(--sd-fs-lg) !important;
  box-shadow: 0 14px 30px -12px rgba(232,131,58,.75);}
.sdh__primary:hover{background: #fff !important; color: var(--sd-green-800) !important;}
.sdh__primary svg{transition: transform var(--sd-dur-ui) var(--sd-ease);}
.sdh__primary:hover svg{transform: translateX(3px);}
.sdh__secondary{color: #fff !important; font-weight: 700;
  padding: var(--sd-2) 0; border-bottom: 2px solid rgba(255,255,255,.35);
  transition: border-color var(--sd-dur-ui) var(--sd-ease);}
.sdh__secondary:hover{border-color: var(--sd-orange-500);}
.sdh__trust{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sd-2) var(--sd-5);}
.sdh__trust li{display: inline-flex; align-items: center; gap: var(--sd-2); font-size: var(--sd-fs-sm); font-weight: 600; color: #CFE6D1;}
.sdh__trust svg{width: 18px; height: 18px; color: var(--sd-orange-500); flex: 0 0 auto;}
.sdh__art{position: relative; align-self: end;
  height: clamp(300px, 46vh, 500px);
  min-height: 300px;}
.sdh__blob{position: absolute; left: 50%; bottom: 6%; z-index: 0;
  width: min(88%, 470px); aspect-ratio: 1.05;
  transform: translateX(-50%);
  background: radial-gradient(120% 120% at 30% 25%, rgba(255,255,255,.22) 0%, rgba(255,255,255,.08) 45%, rgba(255,255,255,.02) 75%);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%;}
@media (prefers-reduced-motion: no-preference){
.sdh__blob{animation: sdh-morph 14s ease-in-out infinite;}
}
@keyframes sdh-morph{
  0%,100% { border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%; }
  50%     { border-radius: 44% 56% 40% 60% / 58% 42% 58% 42%; }
}
.sdh__cup{position: absolute; bottom: -2px; height: auto;
  filter: drop-shadow(0 22px 26px rgba(0,0,0,.32));
  will-change: transform;}
.sdh__cup--c{z-index: 3; width: auto; height: 92%; left: 50%; transform: translateX(-50%);}
.sdh__cup--l{z-index: 2; width: auto; height: 74%; left: 6%;  transform: rotate(-9deg); transform-origin: bottom center; opacity: .97;}
.sdh__cup--r{z-index: 2; width: auto; height: 80%; right: 4%; transform: rotate(8deg);  transform-origin: bottom center; opacity: .97;}
@media (prefers-reduced-motion: no-preference){
.sdh__cup--c{animation: sdh-bob-c 6s ease-in-out infinite;}
.sdh__cup--l{animation: sdh-bob-l 7s ease-in-out infinite .4s;}
.sdh__cup--r{animation: sdh-bob-r 6.6s ease-in-out infinite .9s;}
}
@keyframes sdh-bob-c{ 0%,100% { transform: translateX(-50%) translateY(0); }   50% { transform: translateX(-50%) translateY(-10px); } }
@keyframes sdh-bob-l{ 0%,100% { transform: rotate(-9deg) translateY(0); }       50% { transform: rotate(-9deg) translateY(-8px); } }
@keyframes sdh-bob-r{ 0%,100% { transform: rotate(8deg) translateY(0); }        50% { transform: rotate(8deg) translateY(-9px); } }
.sdh__status{position: absolute; z-index: 4; top: 10%; right: 0;
  padding: 10px var(--sd-4);
  background: rgba(255,255,255,.94); color: var(--sd-green-800);
  border-radius: 16px; font-size: var(--sd-fs-sm); font-weight: 700;
  box-shadow: 0 16px 32px -14px rgba(0,0,0,.45);
  max-width: 230px;}
@media (prefers-reduced-motion: no-preference){
.sdh__status:not([hidden]){animation: sdh-in 520ms cubic-bezier(.2,1.3,.4,1) both .3s;}
}
@keyframes sdh-in{ from { opacity: 0; transform: translateY(10px) scale(.96); } to { opacity: 1; transform: none; } }
.sdh__edge{position: relative; z-index: 3; display: block; width: 100%; height: 44px; margin-top: -1px; color: var(--sd-bg);}
@media (max-width: 899px){
.sdh__copy{padding-bottom: 0; text-align: left;}
.sdh__art{height: clamp(280px, 62vw, 400px); margin-top: var(--sd-2);}
.sdh__status{top: 4%; right: 50%; transform: translateX(50%); white-space: nowrap; max-width: none;}
@media (prefers-reduced-motion: no-preference){.sdh__status:not([hidden]){animation: none;}}
}
@media (max-width: 480px){
.sdh__cup--l{left: 0; height: 66%;}
.sdh__cup--r{right: -2%; height: 72%;}
.sdh__trust{gap: var(--sd-2) var(--sd-4);}
.sdh__actions{gap: var(--sd-4);}
.sdh__primary{width: 100%; justify-content: center;}
}
.sdh__edge{position: absolute !important; left: 0; right: 0; bottom: -1px;
  z-index: 6 !important; margin: 0 !important; height: 56px !important;}
.sdh__art{margin-bottom: 0; height: clamp(320px, 50vh, 540px);}
.sdh__cup{bottom: 0 !important;}
.sdh__cup--c{height: 96%;}
.sdh__cup--l{height: 78%;}
.sdh__cup--r{height: 84%;}
.sdh__copy{padding-bottom: clamp(72px, 11vh, 120px);}
@media (max-width: 899px){
.sdh__copy{padding-bottom: 0;}
.sdh__art{height: clamp(300px, 70vw, 420px);}
}
@media (max-width: 899px){
.sd-foot__grid > .sd-foot__col:last-child{grid-column: 1 / -1;}
}
.sd-foot__contact a{word-break: normal; overflow-wrap: anywhere;}
@media (min-width: 900px){
.sd-foot__contact a{overflow-wrap: normal;}
}
.sdc{display: grid; gap: var(--sd-4); grid-template-columns: repeat(2, minmax(0,1fr));}
@media (min-width: 900px){
.sdc{grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--sd-5);}
}
.sdc__tile{--tint-a: #EEF7EC; --tint-b: #D6EDD1; --ink: var(--sd-ink); --meta: #5B6B60; --go: rgba(255,255,255,.8);
  position: relative; isolation: isolate; overflow: hidden;
  display: flex; flex-direction: column;
  padding: var(--sd-4) var(--sd-4) var(--sd-5);
  border-radius: 24px;
  background: linear-gradient(160deg, var(--tint-a) 0%, var(--tint-b) 100%);
  color: var(--ink) !important; text-decoration: none;
  box-shadow: 0 1px 0 rgba(21,32,43,.04);
  transition: transform 260ms var(--sd-ease), box-shadow 260ms var(--sd-ease);}
.sdc__tile:hover{transform: translateY(-5px); box-shadow: 0 22px 36px -22px rgba(21,32,43,.38);}
.sdc__tile:focus-visible{outline: 3px solid var(--sd-orange-600); outline-offset: 3px;}
.sdc__tile--leaf{--tint-a: #EEF8EB; --tint-b: #D2ECCB;}
.sdc__tile--berry{--tint-a: #FFF0F0; --tint-b: #FBD6D6;}
.sdc__tile--citrus{--tint-a: #FFF6E8; --tint-b: #FFDDB5;}
.sdc__tile--sea{--tint-a: #ECF8F6; --tint-b: #CDEBE6;}
.sdc__tile--sand{--tint-a: #FBF5EA; --tint-b: #EFE0C4;}
.sdc__tile--all{--tint-a: #2C8433; --tint-b: #134618; --ink: #fff; --meta: #BFE0C2; --go: rgba(255,255,255,.16);}
.sdc__media{position: relative; display: grid; place-items: center;
  height: clamp(118px, 17vw, 188px); margin-bottom: var(--sd-3);}
.sdc__blob{position: absolute; inset: 10% 14%; z-index: 0;
  background: rgba(255,255,255,.55);
  border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%;
  transition: transform 400ms var(--sd-ease), border-radius 400ms var(--sd-ease);}
.sdc__tile:hover .sdc__blob{transform: scale(1.06) rotate(-4deg); border-radius: 44% 56% 40% 60% / 58% 42% 58% 42%;}
.sdc__media img{position: relative; z-index: 1;
  max-width: 92%; max-height: 100%; width: auto; height: auto; object-fit: contain;
  filter: drop-shadow(0 14px 14px rgba(21,32,43,.2));
  transition: transform 320ms cubic-bezier(.2,1.2,.4,1);}
.sdc__tile:hover .sdc__media img{transform: translateY(-6px) scale(1.05);}
.sdc__media--fan img{position: absolute; bottom: 0; max-height: 92%;}
.sdc__fan--c{z-index: 3 !important; left: 50%; transform: translateX(-50%);}
.sdc__fan--l{z-index: 2 !important; left: 12%; max-height: 72% !important; transform: rotate(-11deg); transform-origin: bottom center;}
.sdc__fan--r{z-index: 2 !important; right: 12%; max-height: 76% !important; transform: rotate(10deg); transform-origin: bottom center;}
.sdc__tile--all:hover .sdc__fan--c{transform: translateX(-50%) translateY(-6px) scale(1.05);}
.sdc__tile--all:hover .sdc__fan--l{transform: rotate(-15deg) translateY(-3px);}
.sdc__tile--all:hover .sdc__fan--r{transform: rotate(14deg) translateY(-3px);}
.sdc__tile--all::after{content: ""; position: absolute; z-index: -1; right: -60px; top: -70px; width: 220px; height: 200px;
  background: radial-gradient(closest-side, rgba(255,207,166,.28), transparent 72%);
  border-radius: 58% 42% 52% 48% / 46% 54% 46% 54%;}
.sdc__body{display: flex; flex-direction: column; gap: 2px; padding-right: 46px;}
.sdc__name{font-family: var(--sd-display); font-weight: 800; letter-spacing: -.03em; line-height: 1.1;
  font-size: clamp(1.05rem, 1.9vw, 1.4rem); color: var(--ink);}
.sdc__meta{font-size: var(--sd-fs-sm); font-weight: 600; color: var(--meta);}
.sdc__go{position: absolute; right: var(--sd-4); bottom: var(--sd-4);
  display: grid; place-items: center; width: 38px; height: 38px;
  border-radius: 50%; background: var(--go); color: var(--ink);
  transition: background-color 220ms var(--sd-ease), color 220ms var(--sd-ease), transform 220ms var(--sd-ease);}
.sdc__go svg{width: 17px; height: 17px;}
.sdc__tile:hover .sdc__go{background: var(--sd-ink); color: #fff; transform: translateX(2px);}
.sdc__tile--all:hover .sdc__go{background: var(--sd-orange-600); color: #fff;}
@media (max-width: 480px){
.sdc{gap: var(--sd-3);}
.sdc__tile{padding: var(--sd-3) var(--sd-3) var(--sd-4); border-radius: 20px;}
.sdc__go{width: 32px; height: 32px; right: var(--sd-3); bottom: var(--sd-3);}
.sdc__body{padding-right: 38px;}
}
@media (prefers-reduced-motion: reduce){
.sdc__tile, .sdc__media img, .sdc__blob, .sdc__go{transition: none;}
}
.sdc__media img{position: absolute !important; inset: 0; margin: auto;
  max-width: 92%; max-height: 100%; width: auto; height: auto;}
.sdc__media img.sdc__img--cup, .sdc__media--fan img{top: auto; bottom: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 68%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 68%, transparent 100%);}
.sdc__media img.sdc__img--cup{max-height: 104%;}
.sdc__media img.sdc__img--bowl{max-width: 96%;}
.sdc__media--fan img{inset: auto; margin: 0;}
.sdc__fan--c{left: 50% !important;}

/* =========================================================================
   PROMO STRIP (design top bar)
   ====================================================================== */
.sd-promo { position: relative; z-index: 110; background: var(--c-forest); color: var(--c-cream); }
.sd-promo--orange { background: var(--c-orange); color: var(--c-forest); }
.sd-promo--green { background: var(--c-leaf); }
.sd-promo__inner { position: relative; display: flex; align-items: center; justify-content: center; min-height: 41px; padding: 10px 56px; }
.sd-promo__text { margin: 0; text-align: center; font-size: 14px; font-weight: 500; line-height: 1.35; }
.sd-promo__cta { margin-left: 4px; color: var(--c-orange-2) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.sd-promo--orange .sd-promo__cta { color: var(--c-forest) !important; }
.sd-promo__close {
  position: absolute; right: var(--sd-gutter); top: 50%; transform: translateY(-50%);
  display: grid; place-items: center; width: 28px; height: 28px; padding: 0;
  border: 0 !important; border-radius: 50%; cursor: pointer;
  background: rgba(255,247,234,.14) !important; color: inherit !important;
}
.sd-promo__close:hover { background: rgba(255,247,234,.28) !important; }
.sd-promo__close svg { width: 12px; height: 12px; }
@media (max-width: 599px) { .sd-promo__inner { padding: 9px 44px 9px 16px; justify-content: flex-start; } .sd-promo__text { text-align: left; font-size: 13px; } .sd-promo__close { right: 10px; } }

/* =========================================================================
   HEADER (design)
   ====================================================================== */
.sd-header { position: sticky; top: 0; z-index: 100; background: var(--c-cream); transition: box-shadow .2s var(--sd-ease); }
body.sd-scrolled .sd-header { box-shadow: 0 1px 0 var(--c-line), 0 8px 24px -16px rgba(14,59,34,.35); }
.admin-bar .sd-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sd-header { top: 46px; } }
.sd-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; padding-bottom: 16px; min-height: 80px; }
.sd-header--checkout { border-bottom: 1px solid var(--c-line); }
.sd-header--checkout .sd-header__inner, .sd-header--done .sd-header__inner { flex-wrap: wrap; }

.sd-logo { display: inline-flex; align-items: center; gap: 10px; color: var(--c-forest) !important; flex: 0 0 auto; }
.sd-logo__mark { flex: 0 0 auto; }
.sd-logo__name { font-family: var(--sd-display); font-weight: 800; font-size: 24px; letter-spacing: -.02em; line-height: 1; color: var(--c-forest); white-space: nowrap; }

.sd-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
.sd-nav a, .sd-navlink {
  padding: 10px 14px; border-radius: 999px;
  font-weight: 500; font-size: 15px; line-height: 1.3; color: var(--c-text) !important;
  transition: background-color .15s var(--sd-ease);
}
.sd-nav a:hover { background: var(--c-peach); }
.sd-nav a[aria-current="page"] { background: var(--c-peach); }

.sd-header__end { display: flex; align-items: center; gap: 8px; }
.sd-cartpill {
  display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px;
  border: 0 !important; border-radius: 999px; cursor: pointer;
  background: var(--c-forest) !important; color: var(--c-cream) !important;
  font-family: inherit; font-weight: 700; font-size: 15px; line-height: 1;
  transition: background-color .15s var(--sd-ease), transform .15s var(--sd-ease);
}
.sd-cartpill:hover { background: var(--c-leaf) !important; }
.sd-cartpill:active { transform: scale(.97); }
.sd-cartpill__count {
  min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--c-orange); color: var(--c-forest); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
}
.sd-cartpill__count.is-bump, .sd-drawer__count.is-bump { animation: sd-bump 420ms var(--sd-ease); }
@keyframes sd-bump { 0%{transform:scale(1)} 35%{transform:scale(1.35)} 100%{transform:scale(1)} }

.sd-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 48px; height: 48px; padding: 0 13px; border-radius: 50%;
  border: 2px solid var(--c-forest) !important; background: transparent !important; cursor: pointer;
}
.sd-burger span { display: block; height: 2px; width: 100%; background: var(--c-forest); border-radius: 2px; transition: transform .2s var(--sd-ease), opacity .12s; }
body.sd-nav-open .sd-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.sd-nav-open .sd-burger span:nth-child(2) { opacity: 0; }
body.sd-nav-open .sd-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.sd-header__secure { display: flex; align-items: center; gap: 8px; font-weight: 500; font-size: 14px; color: var(--c-muted); }
.sd-header__back { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; color: var(--c-forest) !important; min-height: 44px; display: inline-flex; align-items: center; }

/* step pills */
.sd-steps { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; font-weight: 700; font-size: 14px; }
.sd-steps__item { padding: 9px 16px; border-radius: 999px; background: var(--c-peach); color: var(--c-forest); line-height: 1.2; }
.sd-steps__item a { color: inherit !important; }
.sd-steps__item.is-on { background: var(--c-forest); color: var(--c-cream); }

@media (max-width: 1023px) {
  .sd-nav { display: none; }
  .sd-burger { display: inline-flex; }
}
@media (max-width: 599px) {
  .sd-header__inner { min-height: 68px; padding-top: 10px; padding-bottom: 10px; gap: 10px; }
  .sd-logo__mark { width: 36px; height: 36px; }
  .sd-logo__name { font-size: 20px; }
  .sd-cartpill { min-height: 44px; padding: 0 14px; gap: 8px; }
  .sd-burger { width: 44px; height: 44px; padding: 0 12px; }
  .sd-header--checkout .sd-steps, .sd-header--done .sd-steps { order: 3; width: 100%; justify-content: center; }
  .sd-header--checkout .sd-header__secure { font-size: 13px; }
}
@media (max-width: 379px) { .sd-cartpill__label { display: none; } }

/* =========================================================================
   MOBILE NAV (side drawer from the left)
   ====================================================================== */
.sd-mobnav { position: fixed; inset: 0; z-index: 380; visibility: hidden; overflow: hidden; overscroll-behavior: contain; }
.sd-mobnav.is-open { visibility: visible; }
.sd-mobnav__scrim { position: absolute; inset: 0; background: rgba(14,59,34,.45); opacity: 0; transition: opacity .2s var(--sd-ease); }
.sd-mobnav.is-open .sd-mobnav__scrim { opacity: 1; }
.sd-mobnav__panel {
  position: absolute; top: 0; bottom: 0; left: 0; width: min(340px, 88%);
  display: flex; flex-direction: column; gap: 8px;
  padding: 16px 20px calc(24px + var(--sd-safe-b));
  background: var(--c-cream); box-shadow: var(--shadow-lift);
  border-radius: 0 28px 28px 0;
  transform: translateX(-100%); transition: transform var(--sd-dur-page) var(--sd-ease);
  overflow-y: auto;
}
.sd-mobnav.is-open .sd-mobnav__panel { transform: none; }
.sd-mobnav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.sd-mobnav__links { display: flex; flex-direction: column; gap: 4px; }
.sd-mobnav__links a {
  display: flex; align-items: center; min-height: 52px; padding: 0 18px; border-radius: 16px;
  font-family: var(--sd-display); font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--c-forest) !important;
}
.sd-mobnav__links a:hover { background: var(--c-peach); }
.sd-mobnav__links a[aria-current="page"] { background: var(--c-forest); color: var(--c-cream) !important; }
.sd-mobnav__book { margin-top: 16px; }
.sd-mobnav__social { margin-top: auto; padding-top: 20px; font-weight: 700; color: var(--c-leaf) !important; }
@media (min-width: 1024px) { .sd-mobnav { display: none; } }

/* =========================================================================
   DRAWERS (cart + booking)
   ====================================================================== */
.sd-drawer { position: fixed; inset: 0; z-index: 400; visibility: hidden; overflow: hidden; overscroll-behavior: contain; }
.sd-drawer.is-open { visibility: visible; }
.sd-drawer__scrim { position: absolute; inset: 0; background: rgba(14,59,34,.45); opacity: 0; transition: opacity .2s var(--sd-ease); }
.sd-drawer.is-open .sd-drawer__scrim { opacity: 1; }
.sd-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%);
  display: flex; flex-direction: column;
  background: var(--c-cream); box-shadow: var(--shadow-lift);
  border-radius: 28px 0 0 28px; overflow: hidden;
  transform: translateX(100%); transition: transform var(--sd-dur-page) var(--sd-ease);
}
.sd-drawer.is-open .sd-drawer__panel { transform: none; }
.sd-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 24px 16px; }
.sd-drawer__head h2 { font-size: 28px; letter-spacing: -.02em; display: flex; align-items: center; gap: 10px; }
.sd-drawer__count {
  min-width: 28px; height: 28px; padding: 0 8px; border-radius: 14px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--c-orange); color: var(--c-forest); font-family: var(--sd-font); font-size: 14px; font-weight: 700;
}
.sd-drawer__added {
  display: flex; align-items: center; gap: 10px; margin: 0 24px 8px; padding: 12px 14px 12px 12px;
  border-radius: 16px; background: var(--c-mint); color: var(--c-forest); font-weight: 700; font-size: 15px;
  animation: sd-pop .32s cubic-bezier(.2,1.3,.4,1);
}
.sd-drawer__added[hidden] { display: none; }
.sd-drawer__addedicon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--c-leaf); color: #fff; flex: 0 0 auto; }
.sd-drawer__addedtext { flex: 1; min-width: 0; }
.sd-drawer__addedlink { text-decoration: underline; text-underline-offset: 2px; color: var(--c-forest) !important; white-space: nowrap; }
@keyframes sd-pop { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
.sd-drawer__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 4px 24px 16px; }
.sd-drawer__foot { padding: 18px 24px calc(18px + var(--sd-safe-b)); background: #fff; border-top: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 10px; }
.sd-drawer__foot[hidden] { display: none; }
.sd-drawer__sub { display: flex; justify-content: space-between; align-items: baseline; font-size: 17px; font-weight: 700; color: var(--c-forest); margin-bottom: 4px; }
.sd-drawer__sub strong { font-family: var(--sd-display); font-size: 28px; font-weight: 800; }
.sd-drawer__fine { margin: 2px 0 0; text-align: center; font-size: 13px; color: var(--c-muted); }
.sd-drawer__empty { text-align: center; padding: 48px 12px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.sd-drawer__empty h3 { font-size: 24px; }
.sd-drawer__empty p { color: var(--c-muted); margin: 0 0 8px; }
.sd-drawer__emptyart { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--c-peach); color: var(--c-forest); margin-bottom: 6px; }
.sd-drawer__emptyart svg { width: 36px; height: 36px; }
@media (max-width: 599px) { .sd-drawer__panel { border-radius: 0; } .sd-drawer__head, .sd-drawer__body, .sd-drawer__foot { padding-left: 18px; padding-right: 18px; } .sd-drawer__added { margin-inline: 18px; } }

/* =========================================================================
   CART LINES (drawer + cart page share one renderer)
   ====================================================================== */
.sd-lines { display: flex; flex-direction: column; }
.sd-line {
  display: grid; align-items: center; gap: 20px;
  grid-template-columns: 110px minmax(0,1fr) auto auto;
  padding: 24px 0; border-bottom: 1px solid var(--c-line);
  transition: opacity .2s var(--sd-ease);
}
.sd-line.is-busy { opacity: .45; pointer-events: none; }
.sd-line__art { position: relative; display: block; width: 110px; aspect-ratio: 1; border-radius: 22px; background: var(--tint, #FFE9C7); padding: 8px; overflow: hidden; }
.sd-line__art .sd-art { width: 100%; height: 100%; object-fit: contain; }
.sd-line__cat { font-size: 12px; font-weight: 700; color: var(--c-leaf); letter-spacing: .08em; text-transform: uppercase; }
.sd-line__name { font-size: 24px; line-height: 1.15; margin-top: 2px; letter-spacing: -.01em; }
.sd-line__name a { color: var(--c-forest) !important; }
.sd-line__meta { color: var(--c-muted); font-size: 15px; margin-top: 4px; }
.sd-line__each { color: var(--c-forest); font-weight: 700; margin-top: 6px; font-size: 15px; }
.sd-line__qty { display: flex; align-items: center; gap: 10px; }
.sd-line__n { min-width: 24px; text-align: center; font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums; color: var(--c-text); }
.sd-line__end { min-width: 92px; text-align: right; }
.sd-line__total { font-family: var(--sd-display); font-weight: 800; font-size: 24px; color: var(--c-forest); line-height: 1.1; }
.sd-line__remove {
  min-height: 44px; padding: 0 4px; border: 0 !important; background: none !important;
  color: var(--c-danger) !important; font-family: inherit; font-weight: 700; font-size: 14px;
  text-decoration: underline; text-underline-offset: 2px; cursor: pointer;
}
.sd-line__remove:hover { color: #7a2c03 !important; }

/* drawer: compact two-row version of the same line */
.sd-lines--drawer .sd-line {
  grid-template-columns: 84px minmax(0,1fr) auto; grid-template-areas: "art info end" "art qty end";
  gap: 6px 14px; padding: 16px 0;
}
.sd-lines--drawer .sd-line:last-child { border-bottom: 0; }
.sd-lines--drawer .sd-line__art { grid-area: art; width: 84px; border-radius: 18px; padding: 6px; align-self: start; }
.sd-lines--drawer .sd-line__info { grid-area: info; }
.sd-lines--drawer .sd-line__qty { grid-area: qty; gap: 8px; }
.sd-lines--drawer .sd-line__qty .sd-qbtn { width: 36px; height: 36px; font-size: 18px; }
.sd-lines--drawer .sd-line__end { grid-area: end; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; min-width: 0; }
.sd-lines--drawer .sd-line__name { font-size: 18px; }
.sd-lines--drawer .sd-line__cat { font-size: 11px; }
.sd-lines--drawer .sd-line__meta { font-size: 13px; margin-top: 2px; }
.sd-lines--drawer .sd-line__each { display: none; }
.sd-lines--drawer .sd-line__total { font-size: 19px; }
.sd-lines--drawer .sd-line__remove { min-height: 36px; font-size: 13px; }

@media (max-width: 699px) {
  .sd-line { grid-template-columns: 84px minmax(0,1fr) auto; grid-template-areas: "art info end" "art qty end"; gap: 8px 14px; padding: 18px 0; }
  .sd-line__art { grid-area: art; width: 84px; border-radius: 18px; padding: 6px; align-self: start; }
  .sd-line__info { grid-area: info; }
  .sd-line__qty { grid-area: qty; }
  .sd-line__qty .sd-qbtn { width: 38px; height: 38px; font-size: 18px; }
  .sd-line__end { grid-area: end; align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; min-width: 0; }
  .sd-line__name { font-size: 19px; }
  .sd-line__total { font-size: 20px; }
  .sd-line__each { display: none; }
}

/* =========================================================================
   PRODUCT CARD (design .card)
   ====================================================================== */
.sd-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); margin: 0; padding: 0; list-style: none; }
.sd-grid--4 { grid-template-columns: repeat(auto-fit, minmax(min(270px, 100%), 1fr)); }
@media (min-width: 1200px) { .sd-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.sd-card {
  display: flex; flex-direction: column; min-width: 0;
  background: #fff; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-card);
  transition: transform .2s var(--sd-ease), box-shadow .2s var(--sd-ease);
}
.sd-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.sd-card[hidden] { display: none; }
.sd-card__art { position: relative; display: block; background: var(--tint, #FFE9C7); padding: 22px 40px 10px; }
.sd-card__frame { position: relative; display: block; width: 100%; aspect-ratio: 1; }
.sd-art { display: block; }
.sd-card__frame .sd-art, .sd-mini__art .sd-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.sd-art.is-cut { filter: drop-shadow(0 14px 14px rgba(14,59,34,.16)); }
.sd-art.is-photo { mix-blend-mode: multiply; object-fit: contain; }
.sd-art.is-empty { background: rgba(255,255,255,.4); border-radius: 50%; }
.sd-card:hover .sd-art.is-cut { transform: translateY(-4px) rotate(-1.5deg); }
.sd-card .sd-art { transition: transform .35s cubic-bezier(.2,1.2,.4,1); }
.sd-card__badges { position: absolute; left: 16px; top: 16px; z-index: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.sd-card__body { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px 22px; flex: 1 1 0%; }
.sd-card__cat { font-size: 13px; font-weight: 700; color: var(--c-leaf); letter-spacing: .08em; text-transform: uppercase; }
.sd-card__title { font-size: 24px; letter-spacing: -.01em; line-height: 1.15; color: var(--c-forest); font-weight: 700; }
.sd-card__title a { color: inherit !important; }
.sd-card__blurb { margin: 0; color: var(--c-muted); font-size: 15px; line-height: 1.5; }
.sd-card__foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; }
.sd-card__price { font-family: var(--sd-display); font-weight: 800; font-size: 24px; color: var(--c-forest); line-height: 1; white-space: nowrap; }
.sd-card__from { display: block; font-family: var(--sd-font); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-muted); margin-bottom: 3px; }
.sd-add {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  min-height: 44px; min-width: 44px; padding: 0 18px; border-radius: 999px; border: 0 !important;
  background: var(--c-forest) !important; color: var(--c-cream) !important;
  font-family: inherit; font-weight: 700; font-size: 14px; line-height: 1; cursor: pointer; white-space: nowrap;
  transition: background-color .15s var(--sd-ease), transform .12s var(--sd-ease);
}
.sd-add:hover { background: var(--c-leaf) !important; }
.sd-add:active { transform: scale(.96); }
.sd-add.is-busy { pointer-events: none; opacity: .8; }
.sd-add.is-busy::after { content: ""; width: 12px; height: 12px; margin-left: 8px; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: sd-spin .7s linear infinite; }
.sd-add.is-done { background: var(--c-leaf) !important; }
.sd-add.is-off { background: var(--c-line) !important; color: var(--c-muted) !important; cursor: default; }
.sd-card.is-out .sd-card__frame { opacity: .5; filter: grayscale(.4); }
@media (max-width: 599px) {
  .sd-grid { gap: 16px; }
  .sd-card__art { padding: 18px 48px 8px; }
}
@media (prefers-reduced-motion: reduce) { .sd-card:hover, .sd-card:hover .sd-art.is-cut { transform: none; } }

/* skeleton cards while a slow visit is in flight */
.sd-skel-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); }
.sd-skel-card { background: #fff; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-card); }
.sd-skel-card__media { aspect-ratio: 1.1; border-radius: 0; }
.sd-skel-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; gap: 10px; }
.sd-skel-line { height: 14px; border-radius: 8px; }
.sd-skel-line--short { width: 55%; }
.sd-skel-line--btn { height: 44px; width: 96px; border-radius: 999px; margin-left: auto; }
.sd-skel { background: linear-gradient(90deg, #F3EBDB 25%, #FBF6EC 50%, #F3EBDB 75%) !important; background-size: 200% 100% !important; animation: sd-shimmer 1.3s infinite; }
@keyframes sd-shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* =========================================================================
   PAGE HEAD (design shop banner) — shop, categories, inner pages
   ====================================================================== */
.sd-pagehead {
  position: relative; overflow: hidden; isolation: isolate; color: var(--c-cream);
  background:
    radial-gradient(600px 300px at 90% 0%, rgba(255,138,42,.55), rgba(255,138,42,0) 65%),
    linear-gradient(135deg, #0E3B22, #1B6B36 60%, #2C8A47);
}
.sd-pagehead__leaf { position: absolute; right: 6%; bottom: -40px; width: 180px; height: 180px; z-index: 0; pointer-events: none; }
.sd-pagehead__inner { position: relative; z-index: 1; padding-top: 44px; padding-bottom: 52px; }
.sd-pagehead__crumbs { font-size: 14px; font-weight: 500; color: var(--c-on-dark); }
.sd-pagehead__crumbs a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }
.sd-pagehead__title { margin-top: 12px; font-size: clamp(42px, 6.5vw, 64px); letter-spacing: -.035em; line-height: 1; font-weight: 800; color: var(--c-cream); }
.sd-pagehead__title em { font-style: normal; color: var(--c-orange-2); }
.sd-pagehead__sub { margin: 12px 0 0; max-width: 520px; font-size: 18px; line-height: 1.5; color: #E8F3DF; }
.sd-pagehead__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.sd-pagehead__live { margin: 16px 0 0; }
.sd-live--light { color: #E8F3DF !important; }

.sd-pagehead--hero .sd-pagehead__inner { display: grid; gap: 24px; align-items: center; padding-bottom: 60px; }
.sd-pagehead--hero.has-art .sd-pagehead__inner { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.sd-pagehead__art { position: relative; min-height: 260px; display: flex; align-items: flex-end; justify-content: center; }
.sd-pagehead__art .sdp__photo { margin: 0; border-radius: 28px; overflow: hidden; box-shadow: 0 22px 40px rgba(0,0,0,.25); }
.sd-pagehead__art .sdp__photo img { width: 100%; height: 100%; object-fit: cover; }
.sd-pagehead__art .sdp__photo--a { width: 66%; aspect-ratio: 4/3; transform: rotate(-3deg); }
.sd-pagehead__art .sdp__photo--b { position: absolute; right: 0; bottom: -12px; width: 40%; aspect-ratio: 1; transform: rotate(5deg); border: 6px solid var(--c-cream); }
.sd-pagehead__art .sdp__tag { position: absolute; left: 6%; top: 6%; padding: 10px 16px; border-radius: 999px; background: var(--c-cream); color: var(--c-forest); font-weight: 700; font-size: 14px; box-shadow: var(--shadow-card); }
@media (max-width: 899px) {
  .sd-pagehead--hero.has-art .sd-pagehead__inner { grid-template-columns: 1fr; }
  .sd-pagehead__art { min-height: 220px; }
}
@media (max-width: 599px) { .sd-pagehead__inner { padding-top: 32px; padding-bottom: 40px; } .sd-pagehead__sub { font-size: 16px; } .sd-pagehead__leaf { width: 120px; height: 120px; bottom: -30px; right: -10px; } }

/* fanned cut-outs (launch banner, about hero) */
.sd-fan { position: relative; display: flex; justify-content: center; align-items: flex-end; width: 100%; max-width: 460px; margin-inline: auto; }
.sd-fan__piece { width: 34%; }
.sd-fan__piece .sd-art { width: 100%; height: auto; }
.sd-fan__piece.is-l { transform: rotate(-8deg) translateY(10px); }
.sd-fan__piece.is-c { width: 40%; transform: translateY(-12px); z-index: 1; }
.sd-fan__piece.is-r { transform: rotate(8deg) translateY(10px); }

/* =========================================================================
   SHOP — filter sidebar + grid
   ====================================================================== */
.sd-shop { display: flex; align-items: flex-start; gap: 40px; padding-top: 40px; padding-bottom: 80px; }
.sd-shop__main { flex: 1 1 560px; min-width: 0; }
.sd-filters {
  flex: 0 0 260px; width: 260px; position: sticky; top: calc(var(--sd-header-h) + 20px);
  display: flex; flex-direction: column; gap: 28px;
  background: #fff; border-radius: 28px; padding: 26px; box-shadow: var(--shadow-card);
}
.sd-filters__head, .sd-filters__apply { display: none !important; }
.sd-filters__label { display: block; font-weight: 700; color: var(--c-forest); margin-bottom: 10px; font-size: 16px; }
.sd-filters__label--split { display: flex; justify-content: space-between; }
.sd-filters .sd-input { font-size: 15px; }
.sd-catlist { display: flex; flex-direction: column; gap: 4px; }
.sd-catbtn {
  display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 46px; padding: 0 16px;
  border-radius: 14px; font-weight: 700; font-size: 15px; color: var(--c-text) !important; background: transparent;
  transition: background-color .15s var(--sd-ease);
}
.sd-catbtn:hover { background: var(--c-peach); }
.sd-catbtn.is-on { background: var(--c-forest); color: var(--c-cream) !important; }
.sd-catbtn__n { font-size: 13px; opacity: .8; }
.sd-checks { display: flex; flex-direction: column; gap: 4px; }
.sd-check { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; font-weight: 500; }
.sd-check input, .sd-boost input { width: 22px; height: 22px; margin: 0; accent-color: var(--c-leaf); flex: 0 0 auto; cursor: pointer; }
.sd-range { width: 100%; height: 44px; margin: 0; accent-color: var(--c-orange); cursor: pointer; }
.sd-range__ends { display: flex; justify-content: space-between; font-size: 13px; color: var(--c-muted); }

.sd-shop__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.sd-shop__count { font-weight: 500; color: var(--c-muted); }
.sd-sort { display: flex; align-items: center; gap: 12px; }
.sd-sort label { font-weight: 700; color: var(--c-forest); white-space: nowrap; }
.sd-sort .sd-select { width: auto; min-width: 180px; font-size: 15px; }
.sd-filterbtn {
  display: none; align-items: center; gap: 10px; min-height: 48px; padding: 0 18px;
  border-radius: 999px; border: 2px solid var(--c-forest) !important; background: #fff !important; color: var(--c-forest) !important;
  font-family: inherit; font-weight: 700; font-size: 15px; cursor: pointer;
}
.sd-filterbtn__n { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; display: inline-flex; align-items: center; justify-content: center; background: var(--c-orange); font-size: 12px; }
.sd-filterbtn__n[hidden] { display: none; }
.sd-empty { text-align: center; padding: 64px 16px; background: #fff; border-radius: 28px; box-shadow: var(--shadow-card); }
.sd-empty[hidden] { display: none; }
.sd-empty h2 { font-size: 30px; margin-bottom: 8px; }
.sd-empty p { color: var(--c-muted); margin: 0 0 20px; }
.sd-filters-scrim { display: none; }

@media (max-width: 899px) {
  .sd-shop { display: block; padding-top: 24px; }
  .sd-filterbtn { display: inline-flex; }
  .sd-shop__bar { gap: 12px; }
  .sd-shop__count { order: 3; width: 100%; font-size: 15px; }
  .sd-sort label { display: none; }
  .sd-sort .sd-select { min-width: 0; }
  /* the sidebar becomes a drawer from the left */
  .sd-filters {
    position: fixed; z-index: 420; top: 0; bottom: 0; left: 0; width: min(360px, 90%);
    gap: 24px; border-radius: 0 28px 28px 0; overflow-y: auto; overscroll-behavior: contain;
    padding: 18px 22px calc(22px + var(--sd-safe-b));
    transform: translateX(-104%); transition: transform var(--sd-dur-page) var(--sd-ease); visibility: hidden;
  }
  .sd-shop.is-filtering .sd-filters { transform: none; visibility: visible; }
  .sd-filters__head { display: flex !important; align-items: center; justify-content: space-between; }
  .sd-filters__head h2 { font-size: 28px; }
  .sd-filters__apply { display: inline-flex !important; margin-top: -12px; }
  .sd-filters-scrim { display: block; position: fixed; inset: 0; z-index: 410; background: rgba(14,59,34,.45); opacity: 0; transition: opacity .2s; }
  .sd-shop.is-filtering .sd-filters-scrim { opacity: 1; }
  .sd-filters-scrim[hidden] { display: none; }
}

/* =========================================================================
   PRODUCT PAGE
   ====================================================================== */
.sd-pdp { padding-top: 16px; padding-bottom: 56px; }
.sd-crumbs { font-size: 14px; font-weight: 500; color: var(--c-muted); margin-bottom: 24px; }
.sd-crumbs a { color: inherit !important; text-decoration: underline; text-underline-offset: 2px; }
.sd-crumbs a.sd-crumbs__plain { text-decoration: none; }
.sd-pdp__grid { display: flex; flex-wrap: wrap; gap: 56px; align-items: flex-start; }
.sd-gallery { flex: 1 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.sd-gallery__main { position: relative; overflow: hidden; border-radius: 40px; background: var(--tint, #FFE9C7); padding: 48px 72px 32px; transition: background-color .3s var(--sd-ease); }
.sd-gallery__badges { position: absolute; left: 24px; top: 24px; z-index: 2; display: flex; flex-wrap: wrap; gap: 8px; }
.sd-gallery__stage { position: relative; aspect-ratio: 1; }
.sd-gallery__stage .sd-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .25s var(--sd-ease), transform .35s var(--sd-ease); }
.sd-gallery__stage .sd-art.is-swapping { opacity: 0; transform: scale(.97); }
.sd-thumbs { display: flex; gap: 14px; flex-wrap: wrap; }
.sd-thumb {
  width: 84px; height: 84px; border-radius: 18px; padding: 6px; cursor: pointer;
  border: 3px solid transparent !important; background: var(--tint, #FFE9C7) !important; transition: border-color .15s;
}
.sd-thumb[aria-pressed="true"] { border-color: var(--c-forest) !important; }
.sd-thumb .sd-art { width: 100%; height: 100%; object-fit: contain; }

.sd-pdp__info { flex: 1 1 440px; min-width: 0; }
.sd-pdp__cat { font-weight: 700; color: var(--c-leaf); letter-spacing: .1em; text-transform: uppercase; font-size: 13px; }
.sd-pdp__title { margin-top: 8px; font-size: clamp(20px, 3vw, 40px); letter-spacing: -.035em; line-height: 1; font-weight: 800; color: var(--c-forest); }
.sd-pdp__rating { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.sd-pdp__rating a { font-weight: 500; text-decoration: underline; text-underline-offset: 2px; color: var(--c-muted) !important; }
.sd-stars { display: inline-flex; gap: 2px; }
.sd-pdp__price { margin-top: 20px; font-family: var(--sd-display); font-weight: 800; font-size: 44px; line-height: 1; color: var(--c-forest); display: flex; align-items: baseline; gap: 12px; }
.sd-pdp__price del { font-size: 24px; font-weight: 600; color: var(--c-muted); }
.sd-pdp__lead { margin-top: 12px; font-size: 18px; line-height: 1.6; color: var(--c-text-2); }
.sd-pdp__lead p { margin: 0 0 .6em; }

.sd-buy__groups { margin-top: 28px; display: flex; flex-direction: column; gap: 26px; }
.sd-optgroup { border: 0; padding: 0; margin: 0; min-width: 0; }
.sd-optgroup legend { font-weight: 700; color: var(--c-forest); margin-bottom: 12px; padding: 0; font-size: 16px; }
.sd-optgroup__now { font-weight: 500; color: var(--c-muted); }
.sd-opts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr)); gap: 12px; }
.sd-opts--pills { display: flex; flex-wrap: wrap; }
.sd-opt { position: relative; display: block; cursor: pointer; }
.sd-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sd-opt__body {
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
  min-height: 56px; padding: 8px 18px; border-radius: 16px; border: 2px solid var(--c-forest);
  background: #fff; color: var(--c-forest); font-weight: 700; font-size: 15px; line-height: 1.25; text-align: left;
  transition: background-color .15s var(--sd-ease), color .15s var(--sd-ease);
}
.sd-opt__sub { font-size: 13px; font-weight: 500; opacity: .9; }
.sd-opt:hover .sd-opt__body { background: var(--c-peach); }
.sd-opt input:checked + .sd-opt__body { background: var(--c-forest); color: var(--c-cream); }
.sd-opt input:focus-visible + .sd-opt__body { outline: 3px solid var(--c-orange); outline-offset: 3px; }
.sd-opt input:disabled + .sd-opt__body { opacity: .4; text-decoration: line-through; cursor: not-allowed; }
.sd-opt--pill .sd-opt__body { flex-direction: row; align-items: center; gap: 8px; border-radius: 999px; }
.sd-boosts { margin-top: 26px; }
.sd-boosts legend { margin-bottom: 8px; }
.sd-boosts__list { display: flex; flex-direction: column; gap: 2px; }
.sd-boost { display: flex; align-items: center; gap: 14px; min-height: 48px; cursor: pointer; font-weight: 500; font-size: 16px; }
.sd-boost__name { flex: 1; }
.sd-boost__price { font-weight: 700; color: var(--c-forest); }

.sd-buy__row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 32px; }
.sd-qtypill { display: flex; align-items: center; gap: 14px; padding: 6px; border-radius: 999px; background: #fff; }
.sd-qtypill__n { min-width: 28px; text-align: center; font-weight: 800; font-size: 20px; font-variant-numeric: tabular-nums; }
.sd-buy__add { flex: 1 1 240px; }
.sd-ticks { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 24px 0 0; padding: 0; list-style: none; color: var(--c-muted); font-size: 15px; font-weight: 500; }
.sd-ticks li { display: flex; align-items: center; gap: 8px; }

.sd-pdp__more { padding-bottom: 56px; }
.sd-tabs { background: #fff; border-radius: 36px; padding: 40px 44px; box-shadow: var(--shadow-card); }
.sd-tabs__list { display: flex; flex-wrap: wrap; gap: 8px; }
.sd-tab {
  min-height: 48px; padding: 0 22px; border: 0 !important; border-radius: 999px; cursor: pointer;
  font-family: inherit; font-weight: 700; font-size: 16px;
  background: var(--c-peach) !important; color: var(--c-forest) !important; transition: background-color .15s;
}
.sd-tab[aria-selected="true"] { background: var(--c-forest) !important; color: var(--c-cream) !important; }
.sd-tabs__panel { margin-top: 28px; max-width: 760px; }
.sd-tabs__panel h2 { font-size: 32px; letter-spacing: -.02em; margin-bottom: 14px; }
.sd-tabs__panel p { font-size: 17px; line-height: 1.7; color: var(--c-text-2); margin: 0 0 14px; }
.sd-tabs__panel table { width: 100%; border-collapse: collapse; }
.sd-tabs__panel th, .sd-tabs__panel td { text-align: left; padding: 12px 0; border-bottom: 1px solid var(--c-line); font-size: 16px; }
.sd-tabs__panel th { width: 40%; color: var(--c-forest); }
@media (max-width: 599px) {
  .sd-pdp__grid { gap: 28px; }
  .sd-gallery__main { padding: 40px 36px 24px; border-radius: 32px; }
  .sd-pdp__price { font-size: 38px; }
  .sd-tabs { padding: 28px 22px; border-radius: 28px; }
  .sd-thumb { width: 72px; height: 72px; }
}

/* reviews */
.sd-reviews { padding-bottom: 72px; }
.sd-reviews__grid { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 28px; align-items: flex-start; }
.sd-reviews__side { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.sd-reviews__list { flex: 1.4 1 460px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.sd-score { display: flex; align-items: center; gap: 20px; background: var(--c-forest); color: var(--c-cream); border-radius: 28px; padding: 26px 30px; }
.sd-score__num { font-family: var(--sd-display); font-weight: 800; font-size: 68px; line-height: 1; }
.sd-score__n { margin-top: 6px; font-weight: 500; color: var(--c-on-dark); }
.sd-reviewform { background: #fff; border-radius: 28px; padding: 28px; display: flex; flex-direction: column; gap: 16px; box-shadow: var(--shadow-card); }
.sd-reviewform h3 { font-size: 26px; }
.sd-rate { display: flex; gap: 4px; flex-direction: row-reverse; justify-content: flex-end; }
.sd-rate__star { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; cursor: pointer; position: relative; }
.sd-rate__star input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sd-rate__star polygon { fill: var(--c-sand); transition: fill .12s; }
.sd-rate__star:hover polygon, .sd-rate__star:hover ~ .sd-rate__star polygon,
.sd-rate__star:has(input:checked) polygon, .sd-rate__star:has(input:checked) ~ .sd-rate__star polygon { fill: var(--c-orange); }
.sd-rate__star:has(input:focus-visible) { outline: 3px solid var(--c-orange); outline-offset: 2px; border-radius: 12px; }
.sd-review { background: #fff; border-radius: 24px; padding: 24px 26px; box-shadow: 0 6px 18px rgba(14,59,34,.06); }
.sd-review p { margin: 14px 0 0; line-height: 1.65; color: var(--c-text-2); }
.sd-review--empty p { margin: 0; }
.sd-review__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.sd-review__who { display: flex; align-items: center; gap: 12px; }
.sd-review__avatar { width: 44px; height: 44px; border-radius: 50%; background: #FFE2C2; color: var(--c-forest); font-weight: 800; display: flex; align-items: center; justify-content: center; }
.sd-review__name { font-weight: 700; color: var(--c-forest); }
.sd-review__when { font-size: 13px; color: var(--c-muted); }
.sd-reviews__note { color: var(--c-muted); background: #fff; border-radius: 20px; padding: 18px 20px; margin: 0; }

/* pair it with */
.sd-pair { padding-bottom: 88px; }
.sd-pair__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.sd-pair__grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); }
@media (min-width: 1200px) { .sd-pair__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sd-mini { display: flex; flex-direction: column; background: #fff; border-radius: 28px; overflow: hidden; box-shadow: var(--shadow-card); transition: transform .2s var(--sd-ease), box-shadow .2s var(--sd-ease); }
.sd-mini:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.sd-mini__art { display: block; background: var(--tint, #DFF3D2); padding: 20px 44px 8px; }
.sd-mini__body { padding: 18px 22px 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.sd-mini__cat { display: block; font-size: 12px; font-weight: 700; color: var(--c-leaf); letter-spacing: .08em; text-transform: uppercase; }
.sd-mini__name { display: block; font-family: var(--sd-display); font-weight: 700; font-size: 20px; color: var(--c-forest); margin-top: 4px; line-height: 1.15; }
.sd-mini__price { font-family: var(--sd-display); font-weight: 800; font-size: 20px; color: var(--c-forest); white-space: nowrap; }

/* =========================================================================
   CART PAGE
   ====================================================================== */
.sd-cart { padding-top: 24px; padding-bottom: 88px; }
.sd-cart__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.sd-cart__grid { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 40px; align-items: flex-start; }
.sd-cart__main { flex: 1.6 1 560px; min-width: 0; }
.sd-panel { background: #fff; border-radius: 32px; box-shadow: var(--shadow-card); }
.sd-panel--lines { padding: 8px 32px; }
.sd-cart__note { padding: 22px 0; }
.sd-cart__note .sd-lbl { margin-bottom: 8px; font-size: 16px; }
.sd-back { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-weight: 700; color: var(--c-forest) !important; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.sd-cart__empty { max-width: 640px; margin: 40px auto 0; padding: 56px 32px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sd-cart__empty h2 { font-size: 32px; }
.sd-cart__empty p { color: var(--c-muted); margin: 0 0 10px; }
.sd-cart__emptyart { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: var(--c-peach); }
.sd-cart__emptyart svg { width: 40px; height: 40px; }

.sd-sum {
  flex: 1 1 340px; min-width: 0; position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 20px;
  background: var(--c-forest); color: var(--c-cream); border-radius: 32px; padding: 32px;
}
.sd-sum > * { position: relative; }
.sd-sum__ring { position: absolute !important; right: -64px; top: -84px; width: 200px; height: 200px; pointer-events: none; }
.sd-sum__title { font-size: 30px; color: var(--c-cream); }
.sd-sum__rows { display: flex; flex-direction: column; gap: 12px; font-size: 17px; }
.sd-sum__row { display: flex; justify-content: space-between; gap: 12px; }
.sd-sum__row > span { color: var(--c-on-dark); }
.sd-sum__row strong { font-weight: 700; color: var(--c-cream); }
.sd-sum__row--disc strong { color: var(--c-orange-2); }
.sd-sum__rm { margin-left: 6px; padding: 0; border: 0 !important; background: none !important; color: var(--c-orange-2) !important; font: inherit; font-size: 14px; text-decoration: underline; cursor: pointer; }
.sd-sum__lbl { display: block; font-weight: 700; margin-bottom: 8px; color: var(--c-cream); }
.sd-promo-form__row { display: flex; gap: 8px; }
.sd-promo-form input {
  flex: 1 1 0%; min-width: 0; min-height: 48px; padding: 0 16px; border-radius: 14px;
  border: 2px solid #3F6B4E !important; background: var(--c-cream) !important;
  font-family: inherit; font-size: 16px; color: var(--c-text) !important; text-transform: uppercase;
}
.sd-promo-form input:focus { outline: none; border-color: var(--c-orange) !important; }
.sd-promo-form button {
  min-height: 48px; padding: 0 20px; border-radius: 14px; border: 0 !important; cursor: pointer;
  background: var(--c-orange) !important; color: var(--c-forest) !important; font-family: inherit; font-weight: 700; font-size: 15px;
}
.sd-promo-form button:hover { background: #FF9A45 !important; }
.sd-promo-form.is-busy button { opacity: .7; pointer-events: none; }
.sd-sum__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 1px solid #3F6B4E; padding-top: 20px; }
.sd-sum__total span { font-size: 18px; font-weight: 700; }
.sd-sum__total strong { font-family: var(--sd-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--c-orange-2); }
.sd-sum__fine { margin: -6px 0 0; text-align: center; font-size: 13px; color: var(--c-on-dark); }
.sd-sum.is-busy { opacity: .85; }
@media (min-width: 1000px) { .sd-sum { position: sticky; top: calc(var(--sd-header-h) + 20px); } }
@media (max-width: 599px) { .sd-panel--lines { padding: 4px 18px; border-radius: 28px; } .sd-sum { padding: 26px 22px; border-radius: 28px; } .sd-sum__total strong { font-size: 34px; } }

/* =========================================================================
   CHECKOUT
   ====================================================================== */
.sd-checkout { padding-top: 40px; padding-bottom: 88px; }
.sd-checkout__form { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 36px; align-items: flex-start; }
.sd-checkout__main { flex: 1.5 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.sd-checkout__aside { flex: 1 1 380px; min-width: 0; }
@media (min-width: 1000px) { .sd-checkout__aside { position: sticky; top: calc(var(--sd-header-h) + 20px); } }
.sd-step { padding: 32px; }
.sd-step__title { font-size: 28px; letter-spacing: -.02em; display: flex; align-items: center; }
.sd-step__n { display: inline-flex; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); align-items: center; justify-content: center; font-size: 18px; margin-right: 10px; }

/* WooCommerce fields in the design's grid */
.sd-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.sd-fields::before, .sd-fields::after { display: none !important; }
.sd-fields .form-row { grid-column: 1 / -1; margin: 0 !important; padding: 0 !important; width: auto !important; float: none !important; }
.sd-fields .form-row-first, .sd-fields .form-row-last { grid-column: auto; }
.woocommerce-checkout .form-row label, .sd-fields .form-row label { display: block; font-weight: 700; color: var(--c-forest); margin-bottom: 6px; font-size: 15px; line-height: 1.3; }
.sd-fields .form-row label .required, .sd-fields abbr.required { display: none; }
.sd-fields .form-row label .optional { font-weight: 500; color: var(--c-muted); }
.woocommerce-checkout .sd-fields .input-text, .woocommerce-checkout .sd-fields select, .woocommerce-checkout .sd-fields textarea {
  width: 100%; min-height: 52px; padding: 0 16px; border-radius: 14px !important;
  border: 2px solid var(--c-sand) !important; background: var(--c-paper) !important; box-shadow: none !important;
  font-family: inherit !important; font-size: 16px !important; line-height: 1.4; color: var(--c-text) !important;
}
.woocommerce-checkout .sd-fields textarea { padding: 14px 16px; min-height: 88px; resize: vertical; }
.woocommerce-checkout .sd-fields select {
  -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer;
  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 1.5l5 5 5-5' fill='none' stroke='%230E3B22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important;
}
.woocommerce-checkout .sd-fields .input-text:focus, .woocommerce-checkout .sd-fields select:focus, .woocommerce-checkout .sd-fields textarea:focus { outline: none; border-color: var(--c-leaf) !important; box-shadow: 0 0 0 4px rgba(27,107,54,.14) !important; }
.woocommerce-checkout .form-row.woocommerce-invalid .input-text, .woocommerce-checkout .form-row.woocommerce-invalid select { border-color: var(--c-danger) !important; }
.woocommerce-checkout .form-row.woocommerce-validated .input-text { border-color: var(--c-sand) !important; }
.sd-field-error { display: block; margin-top: 6px; color: var(--c-danger); font-size: 14px; font-weight: 700; }
.sd-fields .woocommerce-input-wrapper { display: block; }
.sd-fields .description { display: block; margin-top: 6px; font-size: 13px; color: var(--c-muted); }
.sd-fields .sd-when { grid-column: 1 / -1; }
.sd-pickup-fields .sd-fields { margin-top: 22px; }
.woocommerce-account-fields { margin-top: 18px; }
.woocommerce-account-fields .create-account label { display: flex !important; align-items: center; gap: 10px; font-weight: 500 !important; cursor: pointer; }
.woocommerce-account-fields input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--c-leaf); }

.sd-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 14px; margin: 22px 0 0; padding: 0; list-style: none; }
.sd-choices li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.sd-choice {
  display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 18px;
  border-radius: 18px; border: 2px solid var(--c-forest); cursor: pointer; text-align: left; font-size: 16px;
  background: #fff; color: var(--c-forest); transition: background-color .15s var(--sd-ease);
}
.sd-choice:hover { background: var(--c-peach); }
.sd-choice.is-on, .sd-choice:has(input:checked) { background: var(--c-forest); color: var(--c-cream); }
.sd-choice svg { flex: 0 0 auto; }
.sd-choice__text { flex: 1; min-width: 0; }
.sd-choice__name { display: block; font-weight: 700; }
.sd-choice__sub { display: block; font-size: 14px; opacity: .9; }
.sd-choice__tick { display: none; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); align-items: center; justify-content: center; }
.sd-choice__tick svg { width: 16px; height: 16px; stroke: currentColor; }
.sd-choice.is-on .sd-choice__tick, .sd-choice:has(input:checked) .sd-choice__tick { display: inline-flex; }
.payment_box { margin-top: 12px; padding: 16px; border-radius: 16px; background: var(--c-cream); }
.sd-info { margin-top: 22px; padding: 18px 20px; border-radius: 18px; background: var(--c-mint); color: var(--c-forest); font-weight: 500; line-height: 1.5; }
.sd-info__live { display: block; }
/* "View on map" — a plain underlined link with a pin, opens Google Maps. */
.sd-maplink { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 800; color: var(--c-forest); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.sd-maplink:hover { color: var(--c-leaf); }
.sd-maplink svg { flex: none; }
.sd-info .sd-maplink { display: flex; width: fit-content; }
.sd-info__live .sd-live { margin-top: 8px; font-size: 14px; }

.sd-paywrap { display: flex; flex-direction: column; gap: 24px; background: none !important; border-radius: 0 !important; }
.woocommerce-checkout #payment.sd-paywrap { background: none !important; }
.sd-place { margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 16px; }
.sd-place__btn { width: 100%; min-height: 56px; font-size: 17px; }
.sd-place__fine { margin: 0; text-align: center; color: var(--c-muted); font-size: 14px; }
.sd-place__fine a { color: var(--c-forest) !important; text-decoration: underline; }

.sd-yours { padding: 32px; display: flex; flex-direction: column; gap: 20px; }
.sd-yours__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sd-yours__title { font-size: 28px; letter-spacing: -.02em; }
#order_review { position: relative; }
.sd-yours__body { display: flex; flex-direction: column; gap: 20px; }
.sd-yours__items { display: flex; flex-direction: column; }
.sd-yours__item { display: flex; gap: 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--c-line); }
.sd-yours__art { position: relative; width: 72px; flex: 0 0 auto; aspect-ratio: 1; border-radius: 16px; background: var(--tint, #FFE9C7); padding: 4px; }
.sd-yours__art .sd-art { width: 100%; height: 100%; object-fit: contain; }
.sd-yours__qty { position: absolute; right: -8px; top: -8px; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; background: var(--c-forest); color: var(--c-cream); font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.sd-yours__info { flex: 1; min-width: 0; }
.sd-yours__name { display: block; font-weight: 700; color: var(--c-forest); }
.sd-yours__meta { display: block; font-size: 14px; color: var(--c-muted); }
.sd-yours__price { font-weight: 700; color: var(--c-forest); white-space: nowrap; }
.sd-yours__rows { display: flex; flex-direction: column; gap: 10px; font-size: 16px; }
.sd-yours__row { display: flex; justify-content: space-between; gap: 12px; }
.sd-yours__row > span { color: var(--c-muted); }
.sd-yours__row strong { font-weight: 700; color: var(--c-text); }
.sd-yours__row--disc strong { color: var(--c-leaf); }
.sd-yours__rm { margin-left: 6px; font-size: 13px; color: var(--c-danger) !important; text-decoration: underline; }
.sd-yours__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-top: 2px solid var(--c-forest); padding-top: 18px; }
.sd-yours__total span { font-size: 18px; font-weight: 700; color: var(--c-forest); }
.sd-yours__total strong { font-family: var(--sd-display); font-weight: 800; font-size: 40px; line-height: 1; color: var(--c-forest); }
.sd-yours__total--done { margin-top: 6px; padding-top: 16px; }
.sd-yours__total--done strong { font-size: 36px; }
.sd-yours__incl { margin: -10px 0 0; text-align: right; font-size: 13px; color: var(--c-muted); }
.sd-yours__promo { border-top: 1px solid var(--c-line); padding-top: 16px; }
.sd-yours__promo summary { cursor: pointer; font-weight: 700; color: var(--c-forest); list-style: none; min-height: 32px; display: flex; align-items: center; }
.sd-yours__promo summary::-webkit-details-marker { display: none; }
.sd-yours__promo summary::after { content: "+"; margin-left: auto; font-size: 22px; line-height: 1; }
.sd-yours__promo[open] summary::after { content: "–"; }
.sd-yours__promorow { display: flex; gap: 8px; margin-top: 10px; }
.sd-yours__promorow .sd-input { text-transform: uppercase; }
.sd-yours__promorow .sd-b { min-height: 48px; padding: 0 20px; border-radius: 14px; }
@media (max-width: 599px) {
  .sd-step, .sd-yours { padding: 24px 20px; border-radius: 28px; }
  .sd-step__title, .sd-yours__title { font-size: 24px; }
  .sd-fields { grid-template-columns: 1fr; }
  .sd-yours__total strong { font-size: 34px; }
  .sd-checkout__form { gap: 24px; }
}

/* error summary */
.sd-errors { margin-top: 24px; padding: 18px 22px; border-radius: 20px; background: #FFF1EA; border: 2px solid #F5C3A8; color: var(--c-danger); }
.sd-errors[hidden] { display: none; }
.sd-errors__title { font-family: var(--sd-font); font-size: 17px; font-weight: 800; color: var(--c-danger); margin-bottom: 6px; }
.sd-errors__list { margin: 0; padding-left: 18px; }
.sd-errors__list a { color: var(--c-danger) !important; text-decoration: underline; font-weight: 600; }

/* WooCommerce's blockUI while it refreshes totals */
.blockUI.blockOverlay { background: rgba(255,247,234,.7) !important; border-radius: 24px; }

/* =========================================================================
   CONFIRMATION
   ====================================================================== */
.sd-done__hero {
  position: relative; overflow: hidden; isolation: isolate; color: var(--c-cream);
  background: radial-gradient(700px 420px at 85% 10%, rgba(255,138,42,.5), rgba(255,138,42,0) 62%), linear-gradient(135deg, #0E3B22 0%, #17622F 60%, #2C8A47 100%);
}
.sd-done__leaf { position: absolute; left: -40px; bottom: -50px; width: 240px; height: 240px; }
.sd-done__orange { position: absolute; right: -70px; bottom: -70px; width: 280px; height: 280px; }
.sd-confetti { position: absolute; border-radius: 4px; }
.sd-confetti--a { left: 12%; top: 40px; width: 16px; height: 16px; border-radius: 50%; background: var(--c-orange); }
.sd-confetti--b { left: 30%; top: 90px; width: 14px; height: 14px; background: var(--c-lime); transform: rotate(20deg); }
.sd-confetti--c { right: 30%; top: 50px; width: 14px; height: 14px; background: var(--c-orange-2); transform: rotate(-25deg); }
.sd-confetti--d { right: 14%; top: 110px; width: 12px; height: 12px; border-radius: 50%; background: var(--c-lime); }
.sd-done__inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; padding: 72px 32px 88px; text-align: center; }
.sd-done__tick { width: 96px; height: 96px; margin: 0 auto; border-radius: 50%; background: var(--c-orange); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 12px rgba(255,138,42,.25); animation: sd-tick .6s cubic-bezier(.2,1.4,.4,1) both; }
@keyframes sd-tick { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.sd-done__title { margin-top: 28px; font-size: clamp(44px, 7.5vw, 76px); line-height: 1; letter-spacing: -.035em; font-weight: 800; color: var(--c-cream); text-wrap: balance; }
.sd-done__lead { font-size: clamp(17px, 2.2vw, 20px); line-height: 1.55; margin: 18px auto 0; max-width: 540px; color: #E8F3DF; }
.sd-done__num { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; padding: 12px 22px; border-radius: 999px; background: rgba(255,247,234,.14); border: 1px solid rgba(255,247,234,.3); font-weight: 700; }
.sd-done__num span { color: #FFC27A; }
.sd-done__status { padding-top: 48px; padding-bottom: 24px; }
.sd-status { padding: 32px 36px; }
.sd-status__title { font-size: 26px; letter-spacing: -.02em; }
.sd-status__steps { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr)); gap: 20px; }
.sd-status__step { display: flex; gap: 14px; align-items: flex-start; }
.sd-status__dot { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: var(--c-peach); color: var(--c-forest); font-weight: 800; display: flex; align-items: center; justify-content: center; transition: background-color .3s var(--sd-ease); }
.sd-status__ok { display: none; }
.sd-status__step.is-done .sd-status__dot { background: var(--c-leaf); color: #fff; }
.sd-status__step.is-done .sd-status__num { display: none; }
.sd-status__step.is-done .sd-status__ok { display: block; }
.sd-status__step.is-now .sd-status__dot { background: var(--c-orange); color: var(--c-forest); animation: sd-now 1.8s ease-out infinite; }
@keyframes sd-now { 0% { box-shadow: 0 0 0 0 rgba(255,138,42,.5); } 80%,100% { box-shadow: 0 0 0 12px rgba(255,138,42,0); } }
.sd-status__name { display: block; font-weight: 700; color: var(--c-forest); font-size: 18px; }
.sd-status__sub { display: block; color: var(--c-muted); font-size: 15px; margin-top: 2px; }
.sd-status__live { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; padding-top: 18px; border-top: 1px solid var(--c-line); font-weight: 700; color: var(--c-forest); }
.sd-status__live .sd-live__dot { background: var(--c-orange); }
.sd-status.is-declined .sd-status__steps, .sd-status.is-declined .sd-status__live { display: none; }
.sd-status__declined { margin-top: 20px; padding: 22px; border-radius: 20px; background: #FFF1EA; }
.sd-status__declined[hidden] { display: none; }
.sd-status__declined h3 { font-size: 24px; color: var(--c-danger); margin-bottom: 6px; }
.sd-status__declined p { color: var(--c-text-2); }
.sd-done.is-advanced .sd-status { animation: sd-pop .4s var(--sd-ease); }
@media (prefers-reduced-motion: reduce) { .sd-status__step.is-now .sd-status__dot, .sd-done__tick { animation: none; } }

/* What you ordered + (signed-in note) on the left, pickup and event cards on
   the right. The note sits straight under the order card, not under the
   taller right column; on phones it drops below the pickup card. */
.sd-done__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); grid-template-rows: auto 1fr; grid-template-areas: "ordered side" "after side"; gap: 24px; align-items: start; padding-top: 16px; padding-bottom: 64px; }
.sd-done__grid > .sd-ordered { grid-area: ordered; }
.sd-done__grid > .sd-done__after { grid-area: after; }
.sd-done__grid > .sd-done__side { grid-area: side; }
.sd-done__grid:not(.has-after) { grid-template-areas: "ordered side"; grid-template-rows: auto; }
@media (max-width: 959px) {
  .sd-done__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; grid-template-areas: "ordered" "side" "after"; }
  .sd-done__grid:not(.has-after) { grid-template-areas: "ordered" "side"; }
}
/* "You are signed in…" centred, with plain links instead of buttons. */
.sd-done__after .sd-done__again { text-align: center; padding: 4px 8px 0; }
.sd-done__after .sd-done__acct { margin-bottom: 2px; }
.sd-done__after .sd-done__btns { justify-content: center; gap: 0 24px; }
.sd-ordered { flex: 1.5 1 520px; min-width: 0; padding: 32px 36px; }
.sd-ordered__title { font-size: 26px; letter-spacing: -.02em; }
.sd-ordered__items { display: flex; flex-direction: column; margin: 8px 0 20px; }
.sd-ordered__item { display: flex; gap: 16px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--c-line); }
.sd-ordered__art { width: 80px; flex: 0 0 auto; aspect-ratio: 1; border-radius: 18px; background: var(--tint, #FFE9C7); padding: 6px; }
.sd-ordered__art .sd-art { width: 100%; height: 100%; object-fit: contain; }
.sd-ordered__info { flex: 1; min-width: 0; }
.sd-ordered__name { display: block; font-weight: 700; color: var(--c-forest); font-size: 18px; }
.sd-ordered__name span { color: var(--c-muted); font-weight: 500; }
.sd-ordered__meta { display: block; font-size: 14px; color: var(--c-muted); margin-top: 2px; }
.sd-ordered__price { font-weight: 800; color: var(--c-forest); font-size: 18px; white-space: nowrap; }
.sd-done__side { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.sd-pickupcard { background: var(--c-mint); border-radius: 32px; padding: 30px 32px; }
.sd-pickupcard h2 { font-size: 24px; letter-spacing: -.02em; }
.sd-pickupcard__body { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; color: #294633; font-size: 17px; line-height: 1.4; }
.sd-pk { display: flex; align-items: flex-start; gap: 12px; }
.sd-pk__ic { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.7); color: var(--c-leaf); }
.sd-pk__text { min-width: 0; padding-top: 6px; font-weight: 600; }
.sd-pickupcard__map { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.sd-pickupcard__map .sd-b { gap: 8px; }
.sd-pickupcard__map .sd-maplink { margin-top: 0; }
.sd-eventcard { position: relative; overflow: hidden; background: linear-gradient(135deg, #FF7A1A, #FFA94D); border-radius: 32px; padding: 30px 32px; color: var(--c-forest); }
.sd-eventcard > * { position: relative; }
.sd-eventcard__leaf { position: absolute !important; right: -30px; bottom: -40px; width: 150px; height: 150px; }
.sd-eventcard h2 { font-size: 26px; letter-spacing: -.02em; }
.sd-eventcard p { margin: 10px 0 18px; line-height: 1.55; font-weight: 500; max-width: 240px; }
.sd-done__again { text-align: center; padding: 0 32px 88px; }
.sd-done-missing { padding-top: 64px; padding-bottom: 88px; text-align: center; }

/* ---------------------------------------------------------------------
 * Live order tracker (confirmation page, My orders, account dashboard)
 * ------------------------------------------------------------------ */
.sd-track { position: relative; padding: 28px 32px 26px; overflow: hidden; transition: box-shadow .3s var(--sd-ease); }
.sd-track__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sd-track__title { margin: 0; font-size: 14px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--c-leaf); }
.sd-track__live { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 10px; border-radius: 999px; background: var(--c-mint); color: var(--c-forest); font-size: 13px; font-weight: 800; white-space: nowrap; }
.sd-track__live .sd-live__dot { background: #2FB344; }
.sd-track__live.is-off { background: #FFF1E2; color: #9A4A0E; }
.sd-track__live.is-off .sd-live__dot { background: var(--c-orange); animation: none; }
.sd-track__live.is-final { background: var(--c-cream); color: var(--c-muted); }
.sd-track__live.is-final .sd-live__dot { display: none; }

.sd-track__now { display: flex; align-items: center; gap: 18px; margin-top: 20px; }
.sd-track__icon { position: relative; flex: none; width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; background: var(--c-peach); color: var(--c-forest); transition: background-color .4s var(--sd-ease), color .4s var(--sd-ease); }
.sd-track__glyph { display: none; }
.sd-track.is-waiting  .sd-track__glyph[data-for="waiting"],
.sd-track.is-making   .sd-track__glyph[data-for="making"],
.sd-track.is-ready    .sd-track__glyph[data-for="ready"],
.sd-track.is-picked   .sd-track__glyph[data-for="picked"],
.sd-track.is-declined .sd-track__glyph[data-for="declined"] { display: grid; place-items: center; animation: sd-track-pop .45s var(--sd-ease); }
.sd-track.is-waiting .sd-track__icon::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 3px solid var(--c-orange); opacity: .5; animation: sd-track-ring 1.8s ease-out infinite; }
.sd-track.is-making .sd-track__icon { background: var(--c-orange); }
.sd-track.is-making .sd-track__glyph svg { animation: sd-track-shake 1.6s ease-in-out infinite; transform-origin: 50% 80%; }
.sd-track.is-ready .sd-track__icon { background: var(--c-lime); }
.sd-track.is-picked .sd-track__icon { background: var(--c-leaf); color: #fff; }
.sd-track.is-declined .sd-track__icon { background: #FFE1D6; color: var(--c-danger); }
.sd-track__words { min-width: 0; }
.sd-track__headline { margin: 0; font-family: var(--sd-display); font-size: clamp(24px, 3.4vw, 34px); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; color: var(--c-forest); }
.sd-track.is-declined .sd-track__headline { color: var(--c-danger); }
.sd-track__sub { margin: 6px 0 0; color: var(--c-muted); font-size: 16px; line-height: 1.45; font-weight: 500; }

.sd-track__timer { margin-top: 22px; padding: 18px 20px 20px; border-radius: 22px; background: var(--c-cream); }
.sd-track__timer[hidden], .sd-track__count[hidden], .sd-track__declined[hidden] { display: none; }
.sd-track__count { display: flex; align-items: baseline; gap: 6px; }
.sd-track__count strong { font-family: var(--sd-display); font-size: 48px; line-height: 1; font-weight: 800; letter-spacing: -.03em; color: var(--c-forest); font-variant-numeric: tabular-nums; }
.sd-track__count span { font-size: 18px; font-weight: 800; color: var(--c-forest); }
.sd-track__when { margin: 4px 0 0; color: var(--c-muted); font-size: 15px; font-weight: 700; }
.sd-eta { position: relative; display: block; height: 12px; margin-top: 14px; border-radius: 999px; background: #fff; overflow: hidden; box-shadow: inset 0 0 0 1px var(--c-line); }
.sd-eta__fill { position: absolute; top: 0; bottom: 0; left: 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--c-leaf), #2FB344); transition: width 1s linear; overflow: hidden; }
.sd-eta__fill::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent); transform: translateX(-100%); animation: sd-eta-shine 1.8s ease-in-out infinite; }
.sd-eta.is-wait .sd-eta__fill { width: 34% !important; background: var(--c-orange); transition: none; animation: sd-eta-slide 1.5s ease-in-out infinite; }
.sd-eta.is-late .sd-eta__fill { animation: sd-eta-throb 1.2s ease-in-out infinite; }

.sd-track__steps { --dot: 38px; --line: 0; position: relative; list-style: none; margin: 26px 0 0; padding: 0; height: calc(var(--dot) + 50px); }
.sd-track.is-declined .sd-track__steps, .sd-track.is-picked .sd-track__steps { display: none; }
/* The line runs from the first dot's centre to the last; the green part fills
   one third per step and creeps along with the countdown while making. */
.sd-track__steps::before, .sd-track__steps::after { content: ""; position: absolute; top: calc(var(--dot) / 2 - 2px); left: calc(var(--dot) / 2); height: 4px; border-radius: 4px; }
.sd-track__steps::before { right: calc(var(--dot) / 2); background: var(--c-line); }
.sd-track__steps::after { width: calc((100% - var(--dot)) * var(--line)); background: var(--c-leaf); transition: width 1s linear; }
/* First dot on the left edge, last on the right, the middle two evenly between. */
.sd-track__step { position: absolute; top: 0; left: calc((100% - var(--dot)) * var(--i) / 3); width: var(--dot); z-index: 1; }
.sd-track__dot { width: var(--dot); height: var(--dot); border-radius: 50%; display: grid; place-items: center; background: #fff; border: 3px solid var(--c-line); color: #A99F8C; transition: background-color .35s var(--sd-ease), border-color .35s var(--sd-ease), color .35s var(--sd-ease); }
.sd-track__dot-ic, .sd-track__dot-ok { place-items: center; }
.sd-track__dot-ic { display: grid; }
.sd-track__dot-ok { display: none; }
.sd-track__step.is-done .sd-track__dot { background: var(--c-leaf); border-color: var(--c-leaf); color: #fff; }
.sd-track__step.is-done .sd-track__dot-ic { display: none; }
.sd-track__step.is-done .sd-track__dot-ok { display: grid; }
.sd-track__step.is-now .sd-track__dot { background: var(--c-orange); border-color: var(--c-orange); color: var(--c-forest); animation: sd-now 1.8s ease-out infinite; }
/* Labels sit under their dot: left-aligned under the first, right-aligned
   under the last, centred under the middle two. */
.sd-track__label { position: absolute; top: calc(var(--dot) + 8px); left: 50%; transform: translateX(-50%); white-space: nowrap; text-align: center; font-size: 14px; font-weight: 700; color: var(--c-muted); line-height: 1.2; }
.sd-track__step:first-child .sd-track__label { left: 0; transform: none; text-align: left; }
.sd-track__step:last-child .sd-track__label { left: auto; right: 0; transform: none; text-align: right; }
.sd-track__step.is-done .sd-track__label, .sd-track__step.is-now .sd-track__label { color: var(--c-forest); font-weight: 800; }
.sd-track__time { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 600; color: var(--c-muted); font-variant-numeric: tabular-nums; }
.sd-track__time:empty { display: none; }

/* Picked up: no steps, just the celebration. */
.sd-track.is-picked .sd-track__now { flex-direction: column; text-align: center; gap: 16px; margin: 18px 0 6px; }
.sd-track.is-picked .sd-track__icon { width: 96px; height: 96px; background: var(--c-leaf); color: #fff; box-shadow: 0 14px 30px -12px rgba(27,107,54,.6); animation: sd-track-bounce .7s cubic-bezier(.2,1.6,.4,1) both; }
.sd-track.is-picked .sd-track__headline { font-size: clamp(28px, 4vw, 40px); }
.sd-track__tick { stroke-dasharray: 24; stroke-dashoffset: 24; }
.sd-track.is-picked .sd-track__tick { animation: sd-track-draw .55s .35s ease-out forwards; }
.sd-track__stars { position: absolute; inset: 0; pointer-events: none; display: none; }
.sd-track.is-picked .sd-track__stars { display: block; }
.sd-track__star { position: absolute; top: 50%; left: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; color: var(--c-orange); opacity: 0;
  --a: calc(-105deg + var(--k) * 30deg); --r: 74px;
  animation: sd-track-burst .9s calc(.3s + var(--k) * .04s) cubic-bezier(.2,.9,.3,1) forwards, sd-track-twinkle 2.4s calc(1.3s + var(--k) * .3s) ease-in-out infinite; }
.sd-track__star:nth-child(even) { color: var(--c-lime); --r: 60px; }
.sd-track__star svg { display: block; width: 100%; height: 100%; fill: currentColor; stroke: none; }
.sd-track.is-ready { box-shadow: var(--shadow-card), 0 0 0 3px var(--c-lime); }
.sd-track__declined { margin-top: 20px; }
.sd-track__more { display: inline-block; margin-top: 18px; }
.sd-track.is-advanced .sd-track__words { animation: sd-track-rise .5s var(--sd-ease); }

@keyframes sd-track-pop { from { transform: scale(.4) rotate(-20deg); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes sd-track-ring { from { transform: scale(.9); opacity: .6; } to { transform: scale(1.35); opacity: 0; } }
@keyframes sd-track-shake { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(-9deg); } 40% { transform: rotate(8deg); } 60% { transform: rotate(-5deg); } 80% { transform: rotate(3deg); } }
@keyframes sd-track-rise { from { transform: translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes sd-eta-shine { to { transform: translateX(100%); } }
@keyframes sd-eta-slide { from { transform: translateX(-110%); } to { transform: translateX(300%); } }
@keyframes sd-eta-throb { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }
@keyframes sd-track-bounce { from { transform: scale(.3); } to { transform: none; } }
@keyframes sd-track-draw { to { stroke-dashoffset: 0; } }
@keyframes sd-track-burst { 0% { opacity: 0; transform: rotate(var(--a)) translateY(0) scale(.2); } 60% { opacity: 1; } 100% { opacity: 1; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(1); } }
@keyframes sd-track-twinkle { 0%, 100% { opacity: 1; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(1); } 50% { opacity: .35; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)) scale(.6); } }

@media (max-width: 599px) {
  .sd-track { padding: 22px 18px 20px; border-radius: 28px; }
  .sd-track__now { gap: 14px; margin-top: 16px; }
  .sd-track__icon { width: 54px; height: 54px; }
  .sd-track__icon svg { width: 24px; height: 24px; }
  .sd-track__headline { font-size: 23px; }
  .sd-track__sub { font-size: 15px; }
  .sd-track__timer { margin-top: 18px; padding: 16px; border-radius: 18px; }
  .sd-track__count strong { font-size: 40px; }
  .sd-track__steps { --dot: 34px; }
  .sd-track__dot svg { width: 16px; height: 16px; }
  .sd-track__label { font-size: 12.5px; }
  .sd-track__time { font-size: 11.5px; }
  .sd-track.is-picked .sd-track__icon { width: 84px; height: 84px; }
  .sd-pickupcard { padding: 24px 20px; border-radius: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .sd-track__icon, .sd-track__icon::after, .sd-track__glyph, .sd-track__glyph svg, .sd-eta__fill, .sd-eta__fill::after, .sd-track__step.is-now .sd-track__dot, .sd-track__star, .sd-track__tick { animation: none !important; }
  .sd-track__tick { stroke-dashoffset: 0; }
  .sd-track__star { opacity: 1; transform: rotate(var(--a)) translateY(calc(var(--r) * -1)); }
}
.sd-done-missing p { margin-top: 16px; color: var(--c-muted); }
@media (max-width: 599px) { .sd-status, .sd-ordered { padding: 24px 20px; border-radius: 28px; } .sd-done__inner { padding: 56px 20px 72px; } .sd-done__orange { width: 180px; height: 180px; right: -60px; bottom: -60px; } }

/* =========================================================================
   HOME — sections below the hero
   ====================================================================== */
.sd-home-sec { padding-top: 72px; padding-bottom: 24px; }
.sd-home-sec--fresh { padding-top: 64px; padding-bottom: 72px; }
.sd-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.sd-pill {
  min-height: 46px; padding: 0 20px; border-radius: 999px; cursor: pointer;
  border: 2px solid var(--c-forest) !important; background: transparent !important; color: var(--c-forest) !important;
  font-family: inherit; font-weight: 700; font-size: 15px; transition: background-color .15s;
}
.sd-pill:hover { background: var(--c-peach) !important; }
.sd-pill[aria-selected="true"] { background: var(--c-forest) !important; color: var(--c-cream) !important; }

/* category tiles: the last card is the design's "See everything we make".
   Its content is pinned inside so it never makes the row taller. */
.sdc__tile--every {
  background: linear-gradient(160deg, #0E3B22, #1B6B36) !important; color: var(--c-cream) !important;
  padding: 0 !important; min-height: 100%;
}
.sdc__tile--every:hover { transform: translateY(-5px); }
.sdc__tile--every { container-type: size; }
.sdc__orange { position: absolute; right: -44px; top: -64px; width: 168px; height: 168px; z-index: 0; transition: transform .6s var(--sd-ease); }
.sdc__tile--every:hover .sdc__orange { transform: rotate(35deg); }
.sdc__everybody { position: absolute; inset: auto 0 0 0; z-index: 1; padding: 20px; display: flex; flex-direction: column; align-items: flex-start; }
.sdc__everytitle { font-family: var(--sd-display); font-weight: 800; font-size: clamp(1.2rem, 2.1vw, 1.75rem); letter-spacing: -.02em; line-height: 1.05; color: var(--c-cream); }
.sdc__everysub { margin: 8px 0 0; color: var(--c-on-dark); font-size: 14px; line-height: 1.45; }
.sdc__everybtn { margin-top: 14px; min-height: 44px; padding: 0 20px; font-size: 15px; }
.sdc__everysub { display: none; }
/* the subtitle only shows when the row is tall enough to keep it clear of the slice */
@container (min-height: 330px) { .sdc__everysub { display: block; } }
@media (max-width: 480px) {
  .sdc__everybody { padding: 14px; }
  .sdc__orange { width: 116px; height: 116px; right: -34px; top: -44px; }
  .sdc__everybtn { min-height: 38px; padding: 0 14px; font-size: 13px; margin-top: 10px; }
}

/* launch countdown */
.sd-launchwrap { padding: 0 var(--sd-gutter) 72px; }
.sd-launch {
  position: relative; overflow: hidden; isolation: isolate; max-width: var(--sd-maxw); margin: 0 auto; border-radius: 40px;
  background: radial-gradient(600px 400px at 90% 100%, rgba(212,242,122,.55), rgba(212,242,122,0) 65%), linear-gradient(120deg, #FF7A1A 0%, #FF9A3C 55%, #FFBE5C 100%);
  color: var(--c-forest); padding: 64px 56px; display: flex; flex-wrap: wrap; align-items: center; gap: 40px;
}
.sd-launch .sd-deco { z-index: 0; }
.sd-launch__copy { position: relative; z-index: 1; flex: 1 1 440px; min-width: 0; }
.sd-launch__tag { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--c-forest); color: var(--c-cream); font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.sd-launch__title { font-size: clamp(46px, 7vw, 76px); line-height: .98; letter-spacing: -.035em; font-weight: 800; margin-top: 20px; text-wrap: balance; color: var(--c-forest); }
.sd-launch__lead { font-size: clamp(17px, 2vw, 20px); line-height: 1.5; margin: 18px 0 0; max-width: 480px; font-weight: 500; }
.sd-count { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.sd-count__box { min-width: 84px; padding: 14px 12px; border-radius: 20px; background: var(--c-forest); color: var(--c-cream); text-align: center; }
.sd-count__n { font-family: var(--sd-display); font-weight: 800; font-size: 36px; line-height: 1; font-variant-numeric: tabular-nums; }
.sd-count__l { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin-top: 6px; color: #FFC27A; }
.sd-launch__btn { margin-top: 32px; }
.sd-launch__art { position: relative; z-index: 1; flex: 1 1 320px; min-width: 0; display: flex; justify-content: center; align-items: flex-end; }
@media (max-width: 599px) {
  .sd-launch { padding: 40px 24px; border-radius: 32px; gap: 24px; }
  .sd-count__box { min-width: 68px; padding: 12px 8px; border-radius: 16px; }
  .sd-count__n { font-size: 30px; }
}

/* events band */
.sd-eventsband { padding-bottom: 8px; }
.sd-eventsband__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 32px; border-radius: 36px; background: var(--c-mint); padding: 48px 52px; }
.sd-eventsband__copy { flex: 1 1 420px; min-width: 0; }
.sd-eventsband__title { font-size: clamp(32px, 4.4vw, 44px); letter-spacing: -.03em; line-height: 1.05; }
.sd-eventsband__lead { margin: 14px 0 0; font-size: 18px; line-height: 1.55; color: #294633; max-width: 520px; }
.sd-eventsband__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.sd-eventsband__chips span { padding: 9px 16px; border-radius: 999px; background: var(--c-cream); font-weight: 700; font-size: 14px; color: var(--c-forest); }
@media (max-width: 599px) { .sd-eventsband__inner { padding: 32px 24px; border-radius: 28px; } }

/* =========================================================================
   INNER PAGES — about, contact, events
   ====================================================================== */
.sd-page { padding-top: 48px; padding-bottom: 88px; }
.sd-page__header { margin-bottom: 32px; }
.sd-prose { font-size: 17px; line-height: 1.7; color: var(--c-text-2); max-width: 760px; }
.sd-prose h2 { font-size: 32px; margin: 1.4em 0 .5em; }
.sd-prose a { color: var(--c-leaf) !important; text-decoration: underline; }

.sdab__intro { max-width: 760px; }
.sdab__intro p { margin-top: 16px; font-size: 18px; line-height: 1.7; color: var(--c-text-2); }
.sdab__grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); margin-top: 36px; }
.sdab__card { border-radius: 32px; padding: 28px; display: flex; flex-direction: column; gap: 8px; min-height: 360px; }
.sdab__card--berry { background: #FFDBE3; } .sdab__card--leaf { background: #DFF3D2; } .sdab__card--sea { background: #F7E4CC; }
.sdab__img { display: block; height: 200px; margin-bottom: auto; }
.sdab__img img { height: 100%; width: auto; max-width: 100%; margin: 0 auto; object-fit: contain; filter: drop-shadow(0 14px 14px rgba(14,59,34,.16)); }
.sdab__img--wide img { width: 100%; height: 100%; }
.sdab__card h3 { font-size: 30px; margin-top: 16px; }
.sdab__card p { margin: 0; line-height: 1.55; color: var(--c-text-2); }
.sdab__everyone { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; background: #fff; border-radius: 36px; padding: 44px 48px; box-shadow: var(--shadow-card); }
.sdab__everyone h2 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; }
.sdab__everyone p { margin: 10px 0 0; font-size: 18px; color: var(--c-text-2); max-width: 520px; }
.sdab__tags { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.sdab__tags li { padding: 9px 16px; border-radius: 999px; background: var(--c-peach); font-weight: 700; font-size: 14px; color: var(--c-forest); }
.sdab__events { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; background: var(--c-mint); border-radius: 36px; padding: 40px; margin-bottom: 64px; }
.sdab__eventsimg { flex: 1 1 320px; margin: 0; border-radius: 28px; overflow: hidden; aspect-ratio: 4/3; }
.sdab__eventsimg img { width: 100%; height: 100%; object-fit: cover; }
.sdab__eventscopy { flex: 1 1 360px; }
.sdab__eventscopy h2 { font-size: clamp(30px, 4vw, 44px); letter-spacing: -.03em; margin: 8px 0 12px; }
.sdab__eventscopy p { font-size: 18px; line-height: 1.6; color: #294633; }
.sd-book__kicker { margin: 0; font-weight: 700; color: var(--c-orange-3); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }

.sdsvc { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); }
.sdsvc__card { display: flex; flex-direction: column; background: #fff; border-radius: 32px; overflow: hidden; box-shadow: var(--shadow-card); transition: transform .2s var(--sd-ease), box-shadow .2s var(--sd-ease); }
.sdsvc__card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.sdsvc__media { position: relative; margin: 0; aspect-ratio: 4/3; overflow: hidden; }
.sdsvc__media img { width: 100%; height: 100%; object-fit: cover; }
.sdsvc__tag { position: absolute; left: 16px; top: 16px; padding: 6px 12px; border-radius: 999px; background: var(--c-cream); color: var(--c-forest); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.sdsvc__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.sdsvc__name { font-size: 26px; letter-spacing: -.01em; }
.sdsvc__copy { margin: 0; color: var(--c-muted); line-height: 1.6; }
.sdsvc__good { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 4px 0 8px; padding: 0; }
.sdsvc__good li { padding: 6px 12px; border-radius: 999px; background: var(--c-mint); font-size: 13px; font-weight: 700; color: var(--c-forest); }
.sdsvc__btn { margin-top: auto; align-self: flex-start; }
.sdhow { list-style: none; margin: 0 0 64px; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); }
.sdhow li { background: #fff; border-radius: 28px; padding: 28px; box-shadow: var(--shadow-card); }
.sdhow__n { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); align-items: center; justify-content: center; font-weight: 800; font-size: 18px; }
.sdhow h3 { font-size: 22px; margin: 16px 0 6px; }
.sdhow p { margin: 0; color: var(--c-muted); }

.sdct { padding-bottom: 88px; }
.sdct__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.sdct__info { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.sdct__item { display: flex; align-items: center; gap: 14px; padding: 18px 20px; background: #fff; border-radius: 22px; box-shadow: var(--shadow-card); color: var(--c-forest) !important; transition: transform .15s; }
a.sdct__item:hover { transform: translateY(-2px); }
.sdct__icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-peach); flex: 0 0 auto; }
.sdct__icon svg { width: 20px; height: 20px; }
.sdct__label { display: block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--c-leaf); }
.sdct__value { display: block; font-weight: 700; font-size: 17px; overflow-wrap: anywhere; }
.sdct__social { display: flex; gap: 10px; }
.sdct__social a { padding: 9px 16px; border-radius: 999px; background: var(--c-forest); color: var(--c-cream) !important; font-weight: 700; font-size: 14px; }
.sdct__event { margin-top: 8px; padding: 28px; border-radius: 28px; background: linear-gradient(135deg, #FF7A1A, #FFA94D); color: var(--c-forest); }
.sdct__event h3 { font-size: 24px; }
.sdct__event p { margin: 8px 0 16px; font-weight: 500; }
.sdct__event .sd-b--orange { background: var(--c-forest) !important; color: var(--c-cream) !important; box-shadow: none; }
.sdct__formwrap { flex: 1.5 1 480px; min-width: 0; background: #fff; border-radius: 32px; padding: 32px; box-shadow: var(--shadow-card); }
.sdct__form { display: flex; flex-direction: column; gap: 16px; }
.sdct__form h2 { font-size: 30px; letter-spacing: -.02em; }
.sdct__send { align-self: flex-start; }

/* shared enquiry fields (contact + booking drawer) */
.sd-field { margin: 0; }
.sd-field label, .sd-field__label { display: block; font-weight: 700; color: var(--c-forest); margin-bottom: 6px; font-size: 15px; }
.sd-field input:not([type=radio]):not([type=checkbox]), .sd-field select, .sd-field textarea {
  width: 100%; min-height: 52px; padding: 0 16px; border-radius: 14px;
  border: 2px solid var(--c-sand) !important; background: var(--c-paper) !important;
  font-family: inherit; font-size: 16px; color: var(--c-text) !important; box-shadow: none !important;
}
.sd-field textarea { padding: 14px 16px; min-height: 110px; resize: vertical; }
.sd-field select { -webkit-appearance: none; appearance: none; padding-right: 44px; 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 1.5l5 5 5-5' fill='none' stroke='%230E3B22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 16px center !important; }
.sd-field input:focus, .sd-field select:focus, .sd-field textarea:focus { outline: none; border-color: var(--c-leaf) !important; box-shadow: 0 0 0 4px rgba(27,107,54,.14) !important; }
.sd-field.is-error input, .sd-field.is-error textarea, .sd-field.is-error select { border-color: var(--c-danger) !important; }
.sd-field.is-error .sd-svcpick__card { border-color: var(--c-danger); }
.sd-field__error { display: block; margin-top: 6px; color: var(--c-danger); font-size: 14px; font-weight: 700; }
.sd-book__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 599px) { .sd-book__row { grid-template-columns: 1fr; } .sdct__formwrap { padding: 24px 20px; border-radius: 28px; } .sdab__everyone, .sdab__events { padding: 28px 22px; border-radius: 28px; } }
.sd-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* =========================================================================
   BOOKING DRAWER
   ====================================================================== */
.sd-drawer--book .sd-drawer__panel { width: min(560px, 100%); }
.sd-drawer--book .sd-drawer__head { align-items: flex-start; border-bottom: 1px solid var(--c-line); padding-bottom: 18px; }
.sd-drawer--book .sd-drawer__head h2 { font-size: 30px; margin-top: 4px; }
.sd-book { display: flex; flex-direction: column; gap: 28px; padding: 20px 0 8px; }
.sd-book__group { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.sd-book__legend { display: flex; align-items: center; gap: 10px; padding: 0; margin-bottom: 4px; font-family: var(--sd-display); font-size: 22px; font-weight: 700; color: var(--c-forest); }
.sd-book__legend span { display: inline-flex; width: 30px; height: 30px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); align-items: center; justify-content: center; font-family: var(--sd-font); font-size: 15px; font-weight: 800; }
.sd-svcpick { display: flex; flex-direction: column; gap: 10px; }
.sd-svcpick__opt { position: relative; display: block; cursor: pointer; }
.sd-svcpick__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sd-svcpick__card { display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; border-radius: 20px; border: 2px solid var(--c-forest); background: #fff; transition: background-color .15s; }
.sd-svcpick__card img { width: 64px; height: 64px; border-radius: 14px; object-fit: cover; flex: 0 0 auto; }
.sd-svcpick__text { flex: 1; min-width: 0; }
.sd-svcpick__name { display: block; font-weight: 700; color: inherit; }
.sd-svcpick__sub { display: block; font-size: 14px; opacity: .85; }
.sd-svcpick__tick { display: none; width: 28px; height: 28px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); align-items: center; justify-content: center; flex: 0 0 auto; }
.sd-svcpick__tick svg { width: 16px; height: 16px; }
.sd-svcpick__opt:hover .sd-svcpick__card { background: var(--c-peach); }
.sd-svcpick__opt input:checked + .sd-svcpick__card { background: var(--c-forest); color: var(--c-cream); }
.sd-svcpick__opt input:checked + .sd-svcpick__card .sd-svcpick__tick { display: inline-flex; }
.sd-svcpick__opt input:focus-visible + .sd-svcpick__card { outline: 3px solid var(--c-orange); outline-offset: 3px; }
.sd-chiprow { display: flex; flex-wrap: wrap; gap: 8px; }
.sd-chipradio { position: relative; cursor: pointer; }
.sd-chipradio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sd-chipradio span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 2px solid var(--c-forest); font-weight: 700; font-size: 14px; color: var(--c-forest); background: #fff; transition: background-color .15s; }
.sd-chipradio:hover span { background: var(--c-peach); }
.sd-chipradio input:checked + span { background: var(--c-forest); color: var(--c-cream); }
.sd-chipradio input:focus-visible + span { outline: 3px solid var(--c-orange); outline-offset: 2px; }
.sd-book__fine { margin: 0; text-align: center; font-size: 13px; color: var(--c-muted); }
.sd-book__done { text-align: center; padding: 48px 8px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sd-book__done[hidden] { display: none; }
.sd-book__done h3 { font-size: 30px; }
.sd-book__done p { color: var(--c-muted); margin: 0 0 8px; max-width: 380px; }
.sd-book__doneicon { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%; background: var(--c-orange); color: var(--c-forest); box-shadow: 0 0 0 10px rgba(255,138,42,.22); }
.sd-book__doneicon svg { width: 44px; height: 44px; }
@media (max-width: 599px) {
  /* bottom sheet on phones */
  .sd-drawer--book .sd-drawer__panel { top: auto; height: 92vh; height: 92dvh; width: 100%; border-radius: 28px 28px 0 0; transform: translateY(100%); }
  .sd-drawer--book.is-open .sd-drawer__panel { transform: none; }
}

/* live kitchen chip used outside the footer */
.sd-live { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }

/* WooCommerce ships checkout rules at ID specificity (#payment …); these
   neutralise them so the design's cards are what shows. */
.woocommerce-checkout #payment.sd-paywrap,
.woocommerce-checkout #payment.sd-paywrap ul.payment_methods { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; }
.woocommerce-checkout #payment.sd-paywrap ul.payment_methods { margin: 22px 0 0 !important; }
.woocommerce-checkout #payment.sd-paywrap ul.payment_methods li { line-height: 1.4 !important; text-align: left !important; margin: 0 !important; font-weight: 400 !important; }
.woocommerce-checkout #payment.sd-paywrap div.form-row.sd-place { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout #payment.sd-paywrap div.payment_box { background: var(--c-cream) !important; color: var(--c-text) !important; border-radius: 16px !important; }
.woocommerce-checkout #payment.sd-paywrap div.payment_box::before { display: none !important; }
.woocommerce form .sd-fields .form-row label { line-height: 1.3 !important; display: block !important; }
.woocommerce form .sd-fields .form-row .input-text,
.woocommerce form .sd-fields .form-row select,
.woocommerce form .sd-fields .form-row textarea { padding: 0 16px !important; min-height: 52px !important; line-height: 1.4 !important; }
.woocommerce form .sd-fields .form-row textarea { padding: 14px 16px !important; min-height: 88px !important; }
.woocommerce form .sd-fields .form-row .select2-container { display: none; }
.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout form.checkout_coupon { display: none !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text { display: none; }

/* fixes from live verification */
.sd-live[hidden] { display: none !important; }
.woocommerce-checkout #payment ul.payment_methods.sd-choices::before,
.woocommerce-checkout #payment ul.payment_methods.sd-choices::after { content: none !important; display: none !important; }
@media (max-width: 599px) { .sd-pagehead__leaf { width: 96px; height: 96px; right: -22px; bottom: -36px; opacity: .85; } }

/* =========================================================================
   ROUND 2 — feedback from 2026-10-23
   ====================================================================== */

/* ---------- product grids: two cards a row on phones ---------- */
@media (max-width: 599px) {
  .sd-grid, .sd-grid--4, .sd-skel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
  .sd-card { border-radius: 22px; }
  .sd-card__art { padding: 14px 16px 6px; }
  .sd-card__badges { left: 10px; top: 10px; gap: 4px; }
  .sd-card__badges .sd-tag { padding: 4px 8px; font-size: 10px; letter-spacing: .03em; }
  .sd-card__badges .sd-tag svg { width: 11px; height: 11px; }
  .sd-card__body { padding: 12px 12px 14px; gap: 4px; }
  .sd-card__cat { font-size: 10.5px; letter-spacing: .07em; }
  .sd-card__title { font-size: 16px; line-height: 1.2; }
  .sd-card__blurb { font-size: 12.5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .sd-card__foot { flex-wrap: wrap; gap: 8px; padding-top: 10px; }
  .sd-card__price { font-size: 18px; }
  .sd-card__from { font-size: 10px; margin-bottom: 2px; }
  .sd-add { min-height: 36px; min-width: 36px; padding: 0 12px; font-size: 12.5px; margin-left: auto; }
  .sd-skel-card__body { padding: 12px; }
}

/* ---------- header: account button ---------- */
.sd-nav .sd-navicon { display: none; }
.sd-nav a span { display: inline; }
.sd-acctbtn {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  width: 48px; height: 48px; border-radius: 50%;
  border: 2px solid var(--c-forest); color: var(--c-forest) !important; background: transparent;
  transition: background-color .15s var(--sd-ease);
}
.sd-acctbtn:hover { background: var(--c-peach); }
.sd-acctbtn__dot { position: absolute; right: 2px; top: 2px; width: 11px; height: 11px; border-radius: 50%; background: #2FB344; border: 2px solid var(--c-cream); }
@media (max-width: 599px) {
  .sd-acctbtn { width: 44px; height: 44px; }
  .sd-header__end { gap: 6px; }
}
@media (max-width: 479px) {
  .sd-cartpill__label { display: none; }
  .sd-cartpill { padding: 0 12px; gap: 6px; }
}

/* ---------- mobile menu: full screen ---------- */
.sd-mobnav__panel {
  inset: 0 !important; width: 100% !important; max-width: none; border-radius: 0 !important;
  padding: 14px var(--sd-gutter) calc(24px + var(--sd-safe-b)); gap: 18px;
  transform: translateY(-8px); opacity: 0; transition: transform .28s var(--sd-ease), opacity .2s var(--sd-ease);
}
.sd-mobnav.is-open .sd-mobnav__panel { transform: none; opacity: 1; }
.sd-mobnav__head { margin-bottom: 4px; }
.sd-mobnav__links { gap: 6px; }
.sd-mobnav__links a {
  display: flex; align-items: center; gap: 14px; min-height: 58px; padding: 0 14px; border-radius: 18px;
  background: #fff; box-shadow: 0 2px 8px rgba(14,59,34,.05);
  font-family: var(--sd-display); font-size: 20px; font-weight: 700;
}
.sd-mobnav__links a .sd-navicon { flex: 0 0 auto; box-sizing: content-box; padding: 8px; border-radius: 12px; background: var(--c-peach); color: var(--c-forest); }
.sd-mobnav__links a[aria-current="page"] { background: var(--c-forest); color: var(--c-cream) !important; }
.sd-mobnav__links a[aria-current="page"] .sd-navicon { background: var(--c-orange); color: var(--c-forest); }
.sd-mobnav__event {
  position: relative; overflow: hidden; border-radius: 24px; padding: 20px;
  background: linear-gradient(135deg, #FF7A1A, #FFA94D); color: var(--c-forest);
}
.sd-mobnav__event > * { position: relative; }
.sd-mobnav__leaf { position: absolute !important; right: -26px; bottom: -34px; width: 120px; height: 120px; }
.sd-mobnav__event .sd-book__kicker { color: var(--c-forest); opacity: .75; }
.sd-mobnav__event h3 { font-size: 22px; margin: 4px 0 6px; }
.sd-mobnav__event p { margin: 0 0 14px; font-size: 14px; font-weight: 500; max-width: 260px; }
.sd-mobnav__event .sd-b { min-height: 44px; padding: 0 20px; font-size: 15px; }
.sd-mobnav__contact { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.sd-mobnav__contact a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 16px; background: var(--c-mint); color: var(--c-forest) !important; font-weight: 700; font-size: 15px; overflow-wrap: anywhere; }
.sd-mobnav__contact small { display: block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--c-leaf); }
.sd-mobnav__cicon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; flex: 0 0 auto; }
.sd-mobnav__cicon svg { width: 20px; height: 20px; }
.sd-mobnav__scrim { display: none; }

/* ---------- cart drawer: buttons breathe ---------- */
.sd-drawer__foot { gap: 12px; }
.sd-drawer__foot .sd-b--orange { box-shadow: none !important; }
.sd-drawer__foot .sd-b--orange:hover { box-shadow: 0 8px 18px -8px rgba(255,138,42,.6) !important; }

/* ---------- generic side drawer ---------- */
.sd-drawer--side .sd-drawer__panel { width: min(520px, 100%); }
.sd-drawer--side .sd-drawer__head { align-items: flex-start; border-bottom: 1px solid var(--c-line); padding-bottom: 18px; }
.sd-drawer--side .sd-drawer__head h2 { font-size: 28px; margin-top: 4px; flex-wrap: wrap; }
.sd-drawer--side .sd-drawer__body { padding-top: 20px; }
@media (max-width: 599px) {
  .sd-drawer--side .sd-drawer__panel { top: auto; height: 92vh; height: 92dvh; width: 100%; border-radius: 28px 28px 0 0; transform: translateY(100%); }
  .sd-drawer--side.is-open .sd-drawer__panel { transform: none; }
}

/* ---------- checkout ---------- */
.woocommerce form .sd-fields .form-row textarea { min-height: 128px !important; }
.sd-step__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
.sd-step__aside { font-size: 14px; color: var(--c-muted); }
.sd-step__signin { border: 0 !important; background: none !important; padding: 6px 0; cursor: pointer; font-family: inherit; color: var(--c-muted) !important; }
.sd-step__signin strong { color: var(--c-forest); text-decoration: underline; text-underline-offset: 2px; }
.sd-acctbox { margin-top: 20px; padding: 16px 18px; border-radius: 20px; background: var(--c-cream); border: 2px dashed var(--c-sand); }
.sd-acctbox__check { position: relative; display: flex; align-items: flex-start; gap: 12px; cursor: pointer; margin: 0 !important; }
.sd-acctbox__check input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sd-acctbox__box { flex: 0 0 auto; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--c-forest); background: #fff; margin-top: 1px; transition: background-color .15s; }
.sd-acctbox__box svg { width: 16px; height: 16px; opacity: 0; stroke: #fff; }
.sd-acctbox__check input:checked + .sd-acctbox__box { background: var(--c-forest); }
.sd-acctbox__check input:checked + .sd-acctbox__box svg { opacity: 1; }
.sd-acctbox__check input:focus-visible + .sd-acctbox__box { outline: 3px solid var(--c-orange); outline-offset: 2px; }
.sd-acctbox__text strong { display: block; color: var(--c-forest); font-size: 16px; }
.sd-acctbox__text small { display: block; color: var(--c-muted); font-size: 14px; margin-top: 2px; line-height: 1.4; }
.sd-acctbox .create-account { margin-top: 14px; }
.sd-acctbox .create-account .form-row { margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
.sd-acctbox .create-account label { display: block !important; font-weight: 700; color: var(--c-forest); margin-bottom: 6px; font-size: 15px; }
.sd-acctbox .create-account label .required { display: none; }
.woocommerce-checkout .sd-acctbox .input-text { width: 100%; min-height: 52px !important; padding: 0 16px !important; border-radius: 14px !important; border: 2px solid var(--c-sand) !important; background: var(--c-paper) !important; font-size: 16px !important; }
.sd-acctbox .description { display: block; margin-top: 6px; font-size: 13px; color: var(--c-muted); }
.password-input { position: relative; display: block; }
.show-password-input { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border: 0; background: none; cursor: pointer; opacity: .6; }

/* placing the order: one calm overlay, no WooCommerce boxes underneath */
body.sd-placing .blockUI { display: none !important; }
.sd-overlay { background: rgba(255,247,234,.86) !important; -webkit-backdrop-filter: blur(8px) !important; backdrop-filter: blur(8px) !important; }
.sd-overlay__card { padding: 34px 40px 30px !important; border-radius: 28px !important; box-shadow: 0 30px 60px -24px rgba(14,59,34,.35) !important; text-align: center; max-width: min(360px, calc(100vw - 40px)); }
.sd-overlay .sd-bars { height: 44px; gap: 8px; }
.sd-overlay .sd-bars span { width: 11px; border-radius: 6px; }
.sd-overlay__msg { margin: 0 !important; font-family: var(--sd-display); font-size: 22px; font-weight: 800; color: var(--c-forest) !important; }
.sd-overlay__sub { margin: -6px 0 0; font-size: 14px; color: var(--c-muted); }
.sd-overlay__sub[hidden] { display: none; }

/* ---------- product page: pairing + reviews ---------- */
.sd-pair { padding-top: 8px; padding-bottom: 72px; }
.sd-reviews { padding-bottom: 88px; }
.sd-reviews .sd-sechead { margin-bottom: 28px; }

.sd-joy { position: relative; width: 132px; height: 132px; flex: 0 0 auto; }
.sd-joy__face { width: 100%; height: 100%; filter: drop-shadow(0 14px 18px rgba(255,138,42,.35)); animation: sd-joy-bob 2.6s ease-in-out infinite; transform-origin: 50% 90%; }
.sd-joy__eyes { animation: sd-joy-blink 4s infinite; transform-origin: 60px 51px; }
.sd-joy__smile { animation: sd-joy-smile 2.6s ease-in-out infinite; transform-origin: 60px 80px; }
.sd-joy__spark { position: absolute; width: 14px; height: 14px; background: var(--c-lime); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: sd-joy-twinkle 2.2s ease-in-out infinite; }
.sd-joy__spark--a { left: -6px; top: 18px; }
.sd-joy__spark--b { right: -4px; top: 4px; width: 18px; height: 18px; background: var(--c-orange); animation-delay: .7s; }
.sd-joy__spark--c { right: 4px; bottom: 16px; width: 11px; height: 11px; animation-delay: 1.3s; }
.sd-joy__heart { position: absolute; left: 50%; top: 6px; color: #FF6F61; font-size: 16px; opacity: 0; animation: sd-joy-heart 3s ease-out infinite; }
.sd-joy__heart--b { left: 30%; font-size: 12px; animation-delay: 1.5s; }
@keyframes sd-joy-bob { 0%,100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-8px) rotate(3deg); } }
@keyframes sd-joy-blink { 0%,92%,100% { transform: scaleY(1); } 95% { transform: scaleY(.1); } }
@keyframes sd-joy-smile { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(1.08); } }
@keyframes sd-joy-twinkle { 0%,100% { transform: scale(.6) rotate(0); opacity: .5; } 50% { transform: scale(1.1) rotate(45deg); opacity: 1; } }
@keyframes sd-joy-heart { 0% { transform: translate(-50%, 10px) scale(.6); opacity: 0; } 20% { opacity: 1; } 100% { transform: translate(-50%, -40px) scale(1.1); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .sd-joy *, .sd-joy__face { animation: none !important; } .sd-joy__heart { display: none; } }
.sd-joy--sm { width: 96px; height: 96px; margin: 0 auto; }

.sd-noreviews {
  display: flex; flex-wrap: wrap; align-items: center; gap: 28px 40px;
  padding: 36px 44px; border-radius: 36px;
  background: radial-gradient(500px 240px at 100% 0%, rgba(255,178,92,.28), rgba(255,178,92,0) 70%), #fff;
  box-shadow: var(--shadow-card);
}
.sd-noreviews__copy { flex: 1 1 320px; min-width: 0; }
.sd-noreviews__copy h3 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -.02em; }
.sd-noreviews__copy p { margin: 10px 0 20px; font-size: 17px; line-height: 1.6; color: var(--c-text-2); max-width: 520px; }
.sd-noreviews__copy .sd-b .sd-stars svg { width: 16px; height: 16px; }
.sd-noreviews__note { color: var(--c-muted) !important; font-size: 15px !important; margin: 0 !important; }
@media (max-width: 599px) { .sd-noreviews { padding: 28px 22px; border-radius: 28px; justify-content: center; text-align: center; } .sd-noreviews__copy p { margin-inline: auto; } }

.sd-reviews__grid { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 24px; align-items: start; }
.sd-score { display: flex; flex-direction: column; gap: 18px; background: var(--c-forest); color: var(--c-cream); border-radius: 28px; padding: 26px 28px; }
.sd-score__top { display: flex; align-items: center; gap: 18px; }
.sd-score__bars { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 700; }
.sd-score__bars li { display: grid; grid-template-columns: 28px 1fr 24px; align-items: center; gap: 10px; color: var(--c-on-dark); }
.sd-score__bars li span:last-child { text-align: right; }
.sd-score__bar { height: 8px; border-radius: 4px; background: rgba(255,247,234,.14); overflow: hidden; }
.sd-score__bar span { display: block; height: 100%; border-radius: 4px; background: var(--c-orange); }
.sd-reviews__list { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sd-reviews__list--1 { grid-template-columns: 1fr; }
.sd-review { display: flex; flex-direction: column; }
.sd-review__text p { margin: 14px 0 0; line-height: 1.65; color: var(--c-text-2); }
.sd-review__badge { display: inline-block; margin-right: 6px; padding: 2px 8px; border-radius: 999px; background: var(--c-mint); color: var(--c-leaf); font-size: 11px; font-weight: 700; }
.sd-reviews__all { display: flex; flex-direction: column; gap: 14px; }
.sd-reviews__all .sd-review { box-shadow: none; border: 1px solid var(--c-line); }
.sd-reviews__more { margin-top: 18px; }
.sd-reviewsdrawer__avg { display: inline-flex; align-items: center; gap: 6px; font-family: var(--sd-font); font-size: 15px; color: var(--c-muted); font-weight: 700; }
@media (max-width: 899px) { .sd-reviews__grid { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .sd-reviews__list { grid-template-columns: 1fr; } }

/* write-a-review drawer */
.sd-reviewform { background: none; box-shadow: none; padding: 0; gap: 20px; }
.sd-reviewform__rate { text-align: center; padding: 20px 16px; border-radius: 24px; background: #fff; }
.sd-reviewform__rate .sd-lbl { font-size: 18px; margin-bottom: 8px; }
.sd-rate { justify-content: center; }
.sd-rate__star { width: 52px; height: 52px; }
.sd-rate__star svg { transition: transform .15s cubic-bezier(.2,1.6,.4,1); }
.sd-rate__star:hover svg { transform: scale(1.15); }
.sd-rate__star:has(input:checked) svg { transform: scale(1.1); }
.sd-rate__word { margin-top: 6px; min-height: 24px; font-weight: 700; color: var(--c-orange-3); }
.sd-reviewdone { text-align: center; padding: 40px 10px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sd-reviewdone[hidden] { display: none; }
.sd-reviewdone h3 { font-size: 30px; }
.sd-reviewdone p { color: var(--c-muted); margin: 0 0 8px; max-width: 360px; }

/* sign-in drawer */
.sd-auth__lead { margin: 0; color: var(--c-muted); font-size: 15px; line-height: 1.5; }
.sd-auth__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.sd-auth__row .sd-check { min-height: 0; font-size: 15px; }
.sd-auth__forgot { font-size: 14px; font-weight: 700; color: var(--c-forest) !important; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- My account ---------- */
.sd-acct { padding-top: 32px; padding-bottom: 88px; }
.sd-acct__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 32px; }
.sd-acct__head .sd-h1 { margin-top: 8px; }
.sd-acct__nav { display: flex; flex-wrap: wrap; gap: 8px; }
.sd-acct__tab { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--c-forest); font-weight: 700; font-size: 15px; color: var(--c-forest) !important; background: transparent; transition: background-color .15s; }
.sd-acct__tab:hover { background: var(--c-peach); }
.sd-acct__tab.is-on { background: var(--c-forest); color: var(--c-cream) !important; }
.sd-acct__tab.is-out { border-color: transparent; color: var(--c-muted) !important; }
.sd-acct__content > * + * { margin-top: 24px; }
.sd-acct__section { margin-top: 32px; }
.sd-acct__sectionhead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.sd-acct__sectionhead h2 { font-size: 28px; letter-spacing: -.02em; }
.sd-acct__live .sd-status { border: 2px solid var(--c-orange); }
.sd-status__toprow { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sd-status__eta { margin-left: auto; font-weight: 700; color: var(--c-leaf); }
.sd-acct__quick { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); margin-top: 32px; }
.sd-acct__quickcard { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 22px; background: #fff; box-shadow: var(--shadow-card); border: 0; cursor: pointer; text-align: left; font-family: inherit; color: var(--c-forest) !important; transition: transform .15s var(--sd-ease); }
.sd-acct__quickcard:hover { transform: translateY(-3px); }
.sd-acct__quickcard strong { display: block; font-size: 16px; }
.sd-acct__quickcard small { display: block; font-size: 13px; color: var(--c-muted); }
.sd-acct__quickicon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--c-peach); flex: 0 0 auto; }
.sd-acct__empty { margin-top: 8px; }
.sd-acct__back { margin: 0 0 16px; }
.sd-acct__order .sd-done__status { padding-top: 0; }
.sd-acct__orderhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.sd-acct__orderhead h2 { font-size: 32px; letter-spacing: -.02em; }
.sd-acct__orderhead p { margin: 4px 0 0; color: var(--c-muted); }
.sd-acct__orderactions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.sd-acct__note { padding: 24px 28px; }
.sd-acct__note h3 { font-size: 20px; }
.sd-acct__note p { margin: 8px 0 0; color: var(--c-text-2); }
.sd-acct__form { padding: 32px; display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.sd-acct__form h2 { font-size: 28px; }
.sd-acct__pw { border: 0; margin: 8px 0 0; padding: 20px 0 0; border-top: 1px solid var(--c-line); display: flex; flex-direction: column; gap: 16px; }
.sd-acct__pw legend { font-weight: 800; font-family: var(--sd-display); font-size: 20px; color: var(--c-forest); padding: 0; float: left; width: 100%; margin-bottom: 4px; }
.sd-acct__form .sd-b { align-self: flex-start; }
@media (max-width: 599px) { .sd-acct__form { padding: 24px 20px; } .sd-acct__nav { width: 100%; } .sd-acct__tab { flex: 1 1 auto; justify-content: center; padding: 0 12px; } }

.sd-olist { display: flex; flex-direction: column; gap: 14px; }
.sd-ocard { background: #fff; border-radius: 26px; padding: 22px 24px; box-shadow: var(--shadow-card); display: flex; flex-direction: column; gap: 16px; border: 2px solid transparent; transition: transform .15s var(--sd-ease); }
.sd-ocard:hover { transform: translateY(-2px); }
.sd-ocard.is-live { border-color: rgba(255,138,42,.55); }
.sd-ocard__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.sd-ocard__num { font-family: var(--sd-display); font-weight: 800; font-size: 22px; color: var(--c-forest); }
.sd-ocard__date { font-size: 14px; color: var(--c-muted); margin-top: 2px; }
.sd-ostatus { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; white-space: nowrap; background: var(--c-line); color: var(--c-muted); }
.sd-ostatus.is-live { background: #FFF1E2; color: var(--c-orange-3); }
.sd-ostatus.is-ready { background: var(--c-leaf); color: #fff; }
.sd-ostatus.is-done { background: var(--c-mint); color: var(--c-leaf); }
.sd-ostatus__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-orange); animation: sd-now 1.8s ease-out infinite; }
.sd-ocard__items { display: flex; align-items: center; gap: 14px; }
.sd-ocard__thumbs { display: flex; flex: 0 0 auto; }
.sd-ocard__thumb { width: 52px; height: 52px; border-radius: 16px; background: var(--tint, #FFE9C7); padding: 4px; border: 3px solid #fff; margin-left: -10px; display: grid; place-items: center; font-weight: 800; color: var(--c-forest); }
.sd-ocard__thumb:first-child { margin-left: 0; }
.sd-ocard__thumb .sd-art { width: 100%; height: 100%; object-fit: contain; }
.sd-ocard__thumb--more { background: var(--c-peach); font-size: 14px; }
.sd-ocard__names { margin: 0; color: var(--c-text-2); font-size: 15px; line-height: 1.45; min-width: 0; }
.sd-ocard__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 14px; border-top: 1px solid var(--c-line); }
.sd-ocard__total strong { font-family: var(--sd-display); font-weight: 800; font-size: 24px; color: var(--c-forest); margin-right: 8px; }
.sd-ocard__total span { font-size: 13px; color: var(--c-muted); font-weight: 700; }
.sd-ocard__actions { display: flex; gap: 8px; flex-wrap: wrap; }
.sd-ocard__actions .sd-b { min-height: 44px; padding: 0 18px; font-size: 14px; }
.sd-opager { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 24px; }
.sd-opager__n { font-weight: 700; color: var(--c-muted); }
@media (max-width: 599px) { .sd-ocard { padding: 18px; } .sd-ocard__items { flex-direction: column; align-items: flex-start; } .sd-ocard__actions { width: 100%; } .sd-ocard__actions .sd-b { flex: 1; } }


.sd-done__acct { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; font-weight: 700; color: var(--c-leaf); }
.sd-done__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* ---------- home: equal widths, restored sections ---------- */
.sd-launchwrap { padding-top: 0; padding-bottom: 72px; }
.sd-launch { max-width: none; }
.sd-home-sec--how { padding-top: 0; padding-bottom: 72px; }
.sd-how { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(3, minmax(0, 1fr)); counter-reset: none; }
.sd-how__step { position: relative; background: #fff; border-radius: 28px; padding: 28px; box-shadow: var(--shadow-card); }
.sd-how__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: var(--c-peach); color: var(--c-forest); }
.sd-how__icon svg { width: 26px; height: 26px; }
.sd-how__n { position: absolute; right: 24px; top: 20px; font-family: var(--sd-display); font-weight: 800; font-size: 56px; line-height: 1; color: var(--c-line); }
.sd-how__step h3 { font-size: 24px; margin: 18px 0 6px; }
.sd-how__step p { margin: 0; color: var(--c-muted); line-height: 1.55; }
.sd-home-sec--svc { padding-top: 0; padding-bottom: 32px; }
.sd-home-sec--svc .sdsvc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sd-eventsband { padding-bottom: 8px; }
@media (max-width: 899px) { .sd-how, .sd-home-sec--svc .sdsvc { grid-template-columns: 1fr; } .sd-how__step { padding: 22px; } }

/* ---------- footer: straight top edge ---------- */
.sd-foot__wave { display: none !important; }

.sd-buy__vdesc { margin: -10px 0 0; display: flex; align-items: center; gap: 8px; color: var(--c-leaf); font-weight: 700; font-size: 15px; }
.sd-buy__vdesc::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--c-orange); flex: 0 0 auto; }
.sd-buy__vdesc[hidden] { display: none; }
.sd-score { align-items: stretch !important; }
.sd-score__top { align-items: center; }
@media (min-width: 1100px) { .sd-reviews__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sd-mobnav__panel { overflow-y: auto; overscroll-behavior: contain; }
.sd-mobnav__panel > * { flex-shrink: 0; }
.sd-mobnav__contact { margin-top: 4px; }
/* WooCommerce's account layout floats nav 30% / content 68% — ours is stacked */
.woocommerce-account .sd-acct .woocommerce-MyAccount-navigation,
.woocommerce-account .sd-acct .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
.woocommerce-account .sd-acct::after, .woocommerce-account .sd-acct::before { display: none; }
.sd-ocard__thumb { display: block !important; overflow: hidden; flex: 0 0 auto; }
.sd-ocard__thumb .sd-art { display: block; width: 100% !important; height: 100% !important; object-fit: contain; }
.sd-ocard__thumb--more { display: grid !important; place-items: center; }
.woocommerce form .sd-fields .form-row textarea.input-text { min-height: 128px !important; padding: 14px 16px !important; line-height: 1.5 !important; }
.sd-ocard__thumb { width: 60px; height: 60px; }
/* WooCommerce notices that still render inline (e.g. "confirm your email to link past orders") */
.sd-acct .woocommerce-info, .sd-acct .woocommerce-message, .sd-auth .woocommerce-info, .sd-auth .woocommerce-message {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px;
  margin: 0 0 20px !important; padding: 16px 20px !important; border: 0 !important; border-radius: 20px !important;
  background: var(--c-mint) !important; color: var(--c-forest) !important; font-weight: 600; list-style: none;
}
.sd-acct .woocommerce-info::before, .sd-acct .woocommerce-message::before, .sd-auth .woocommerce-info::before { display: none !important; }
.sd-acct .woocommerce-info .button, .sd-acct .woocommerce-message .button, .sd-auth .woocommerce-info .button {
  order: 2; min-height: 40px; padding: 0 16px !important; border-radius: 999px !important; border: 0 !important;
  background: var(--c-forest) !important; color: var(--c-cream) !important; font-weight: 700 !important; font-size: 14px !important; float: none !important;
}

#reviews.is-fresh .sd-review:first-child { animation: sd-pop .5s cubic-bezier(.2,1.3,.4,1); }
#reviews.is-fresh .sd-score { animation: sd-pop .5s var(--sd-ease); }
.sd-acct .woocommerce-info .button, .sd-acct .woocommerce-message .button, .sd-auth .woocommerce-info .button,
.sd-acct .woocommerce-info button, .sd-acct .woocommerce-message button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 44px !important; height: auto !important; padding: 0 20px !important; margin: 0 !important;
  line-height: 1.2 !important; font-size: 15px !important; white-space: nowrap; text-decoration: none !important;
}
@media (max-width: 599px) { .sd-acct .woocommerce-info .button, .sd-acct .woocommerce-message .button { width: 100%; } }

/* =========================================================================
   MY ACCOUNT — settings-screen layout
   ====================================================================== */
.sd-acct { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 32px; align-items: start; padding-top: 32px; padding-bottom: 88px; }
.sd-acct__side { position: sticky; top: calc(var(--sd-header-h) + 20px); display: flex; flex-direction: column; gap: 16px; }
.sd-acct__profile { display: flex; align-items: center; gap: 14px; padding: 18px; border-radius: 24px; background: var(--c-forest); color: var(--c-cream); }
.sd-acct__avatar { flex: 0 0 auto; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFDE8A, #FF8A2A); color: var(--c-forest); font-family: var(--sd-display); font-weight: 800; font-size: 24px; }
.sd-acct__who { min-width: 0; display: flex; flex-direction: column; }
.sd-acct__who strong { font-size: 18px; color: var(--c-cream); }
.sd-acct__who span { font-size: 13px; color: var(--c-on-dark); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sd-acct__menu { display: flex; flex-direction: column; gap: 12px; }
.sd-acct__group { display: flex; flex-direction: column; background: #fff; border-radius: 22px; overflow: hidden; box-shadow: var(--shadow-card); }
.sd-acct__row {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 10px 14px;
  border: 0; background: none; cursor: pointer; text-align: left; font-family: inherit;
  color: var(--c-forest) !important; transition: background-color .15s var(--sd-ease);
}
.sd-acct__row + .sd-acct__row { border-top: 1px solid var(--c-line); }
.sd-acct__row:hover { background: #FFFAF2; }
.sd-acct__row.is-on { background: #FFF3E6; box-shadow: inset 4px 0 0 var(--c-orange); }
.sd-acct__rowicon { flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--c-peach); color: var(--c-forest); }
.sd-acct__rowtext { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sd-acct__rowtext strong { font-size: 16px; font-weight: 700; }
.sd-acct__rowtext small { font-size: 13px; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sd-acct__chev { flex: 0 0 auto; color: #B9AE98; }
.sd-acct__row--out { color: var(--c-danger) !important; }
.sd-acct__row--out .sd-acct__rowicon { background: #FFF1EA; color: var(--c-danger); }
.sd-acct__main { min-width: 0; }
.sd-acct__titlebar { margin-bottom: 24px; }
.sd-acct__h1 { margin-top: 6px; font-size: clamp(34px, 4.6vw, 48px); letter-spacing: -.03em; line-height: 1.05; }
.sd-acct__titlebar p { margin: 8px 0 0; color: var(--c-muted); font-size: 16px; }
.sd-acct__backrow { display: none; align-items: center; gap: 4px; min-height: 44px; margin-bottom: 8px; font-weight: 700; color: var(--c-forest) !important; }
.sd-acct__backrow.is-always { display: inline-flex; }
.sd-acct__content > * + * { margin-top: 24px; }

/* My details: grouped settings */
.sd-settings { display: flex; flex-direction: column; gap: 22px; }
.sd-settings__group { display: flex; flex-direction: column; gap: 8px; }
.sd-settings__label { margin: 0 0 0 6px; font-family: var(--sd-font); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c-muted); }
.sd-settings__card { background: #fff; border-radius: 22px; box-shadow: var(--shadow-card); overflow: hidden; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sd-settings__row { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 14px 20px; min-height: 76px; border-top: 1px solid var(--c-line); }
.sd-settings__card > .sd-settings__row:nth-child(-n+2) { border-top: 0; }
.sd-settings__card > .sd-settings__row:nth-child(2n) { border-left: 1px solid var(--c-line); }
.sd-settings__row label { font-size: 13px; font-weight: 700; color: var(--c-muted); margin: 0; }
.sd-settings__row input {
  width: 100%; min-height: 34px; padding: 0; border: 0 !important; background: transparent !important; box-shadow: none !important;
  font-family: inherit; font-size: 17px; font-weight: 600; color: var(--c-forest) !important; outline: none;
}
.sd-settings__row:focus-within { background: #FFFAF2; box-shadow: inset 3px 0 0 var(--c-orange); }
.sd-settings__row input::placeholder { color: #B9AE98; font-weight: 500; }
.sd-settings__hint { margin: 2px 0 0 6px; font-size: 13px; color: var(--c-muted); }
.sd-settings__pw { display: block; }
.sd-settings__toggle { flex-direction: row !important; align-items: center !important; gap: 12px !important; cursor: pointer; list-style: none; border-top: 0 !important; }
.sd-settings__toggle::-webkit-details-marker { display: none; }
.sd-settings__pw[open] .sd-settings__toggle .sd-acct__chev { transform: rotate(90deg); }
.sd-settings__toggle .sd-acct__chev { transition: transform .2s var(--sd-ease); }
.sd-settings__pw > .sd-settings__row:not(.sd-settings__toggle) { border-left: 0 !important; border-top: 1px solid var(--c-line) !important; }
.sd-settings__save { display: flex; justify-content: flex-end; }
.sd-settings__save .sd-b { min-width: 200px; }

@media (max-width: 899px) {
  .sd-acct { grid-template-columns: 1fr; gap: 20px; padding-top: 20px; }
  .sd-acct__side { position: static; }
  /* phone: the menu is the home screen; inside a section it steps aside */
  .sd-acct:not(.sd-acct--dashboard) .sd-acct__side { display: none; }
  .sd-acct__backrow { display: inline-flex; }
  .sd-acct--dashboard .sd-acct__main { order: 2; }
  .sd-acct--dashboard .sd-acct__titlebar { display: none; }
  .sd-settings__card { grid-template-columns: 1fr; }
  .sd-settings__card > .sd-settings__row:nth-child(2) { border-top: 1px solid var(--c-line); }
  .sd-settings__card > .sd-settings__row:nth-child(2n) { border-left: 0; }
  .sd-settings__save { position: sticky; bottom: 0; padding: 12px 0 calc(12px + var(--sd-safe-b)); background: linear-gradient(to top, var(--c-cream) 70%, transparent); }
  .sd-settings__save .sd-b { width: 100%; }
}

/* Reviews: three cards, equal height; long ones clipped with "Read more" */
.sd-reviews__list { align-items: stretch; }
.sd-review.is-clamped { height: 100%; }
.sd-review.is-clamped .sd-review__text { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.sd-review.is-clamped .sd-review__text p { display: inline; margin: 0; }
.sd-review.is-clamped .sd-review__text p + p::before { content: " "; }
.sd-review.is-clamped .sd-review__text { margin-top: 14px; line-height: 1.65; color: var(--c-text-2); }
.sd-review__more { align-self: flex-start; margin-top: auto; padding: 12px 0 0; border: 0 !important; background: none !important; cursor: pointer; font-family: inherit; font-weight: 700; font-size: 14px; color: var(--c-forest) !important; text-decoration: underline; text-underline-offset: 3px; }
.sd-review__more[hidden] { display: none; }
.sd-reviews__all .sd-review { scroll-margin-top: 12px; transition: box-shadow .3s, border-color .3s; }
.sd-reviews__all .sd-review.is-focus { border-color: var(--c-orange); box-shadow: 0 0 0 4px rgba(255,138,42,.18); }
.sd-score__all {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%;
  min-height: 52px; padding: 0 18px; border: 0 !important; border-radius: 16px; cursor: pointer;
  background: rgba(255,247,234,.1) !important; color: var(--c-cream) !important;
  font-family: inherit; font-weight: 700; font-size: 15px; transition: background-color .15s;
}
.sd-score__all:hover { background: rgba(255,247,234,.18) !important; }
@media (min-width: 1100px) { .sd-reviews__list--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sd-reviews__list--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Text links with an arrow (Read more, View all) — never a boxed button */
.sd-textlink {
  display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; min-height: 32px;
  padding: 0 !important; margin: 0; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important;
  font-family: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; color: var(--c-orange-3) !important;
  text-decoration: none !important; cursor: pointer;
}
.sd-textlink svg { transition: transform .18s var(--sd-ease); flex: 0 0 auto; }
.sd-textlink:hover { background: none !important; color: var(--c-forest) !important; }
.sd-textlink:hover svg { transform: translateX(3px); }
.sd-textlink--light { color: var(--c-orange-2) !important; }
.sd-textlink--light:hover { color: var(--c-cream) !important; }
.sd-textlink[hidden], .sd-review__more[hidden] { display: none !important; }
.sd-review__more { margin-top: auto !important; padding-top: 12px !important; align-self: flex-start; }
.sd-score__all { align-self: flex-start; justify-content: flex-start !important; min-height: 32px !important; }

/* ---------- event cards: crisp photos, upright badges ---------- */
.sdsvc__tag, figcaption.sdsvc__tag { font-style: normal !important; }
.sdsvc__media img { image-rendering: auto; }

/* ---------- live "how busy are we" ---------- */
.sd-busy { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; padding: 0 14px 0 12px; border-radius: 999px; background: #fff; box-shadow: 0 2px 8px rgba(14,59,34,.06); color: var(--c-forest); font-size: 13px; white-space: nowrap; }
.sd-busy[hidden] { display: none !important; }
.sd-busy__text { display: flex; flex-direction: column; line-height: 1.15; }
.sd-busy__text strong { font-size: 13px; font-weight: 800; }
.sd-busy__text span { font-size: 12px; color: var(--c-muted); font-weight: 600; }
.sd-busy__meter { display: inline-flex; align-items: flex-end; gap: 3px; height: 16px; }
.sd-busy__meter i { display: block; width: 5px; border-radius: 2px; background: var(--c-line); }
.sd-busy__meter i:nth-child(1) { height: 6px; } .sd-busy__meter i:nth-child(2) { height: 11px; } .sd-busy__meter i:nth-child(3) { height: 16px; }
[data-level="calm"] .sd-busy__meter i:nth-child(1) { background: #2FB344; }
[data-level="warm"] .sd-busy__meter i:nth-child(-n+2) { background: var(--c-orange); }
[data-level="hot"] .sd-busy__meter i { background: #E5484D; }
[data-level="off"] .sd-busy__meter i { background: #B9AE98; }
[data-level="calm"] .sd-busy__text strong { color: var(--c-leaf); }
[data-level="warm"] .sd-busy__text strong { color: var(--c-orange-3); }
[data-level="hot"] .sd-busy__text strong { color: #C2272D; }
.sd-header .sd-busy { margin-left: auto; margin-right: 4px; }
.sd-header .sd-nav { margin-left: auto; }
.sd-busybar { display: none; }
@media (max-width: 1279px) { .sd-header .sd-busy .sd-busy__text span { display: none; } }
@media (max-width: 1023px) {
  .sd-header .sd-busy { display: none !important; }
  .sd-busybar:not([hidden]) { display: block; border-top: 1px solid var(--c-line); background: #fff; }
  .sd-busybar__inner { display: flex; align-items: center; gap: 10px; min-height: 36px; font-size: 13px; }
  .sd-busybar .sd-busy__text { flex-direction: row; align-items: baseline; gap: 6px; }
  .sd-busybar .sd-busy__text span::before { content: "· "; }
}
.sd-busy--menu { align-self: stretch; justify-content: flex-start; min-height: 52px; border-radius: 18px; padding: 0 16px; font-size: 14px; }
.sd-busy--menu .sd-busy__text strong { font-size: 15px; }
.sd-busy--drawer { display: flex; margin: 0 24px 10px; min-height: 48px; border-radius: 16px; box-shadow: none; border: 1px solid var(--c-line); }
@media (max-width: 599px) { .sd-busy--drawer { margin: 0 18px 10px; } }

/* ---------- hero: her studio cups (no hands), standing above the wave ---------- */
.sdh__cup.is-studio { -webkit-mask-image: none !important; mask-image: none !important; filter: drop-shadow(0 26px 22px rgba(0,0,0,.28)); }
.sdh__art .sdh__cup--c.is-studio { height: min(84%, 460px) !important; bottom: 58px !important; }
.sdh__art .sdh__cup--l.is-studio { height: min(66%, 360px) !important; bottom: 52px !important; left: 10%; }
.sdh__art .sdh__cup--r.is-studio { height: min(70%, 380px) !important; bottom: 52px !important; right: 8%; }
@media (max-width: 899px) {
  .sdh__art .sdh__cup--c.is-studio { height: min(80%, 340px) !important; bottom: 46px !important; }
  .sdh__art .sdh__cup--l.is-studio { height: min(62%, 260px) !important; bottom: 42px !important; left: 6%; }
  .sdh__art .sdh__cup--r.is-studio { height: min(66%, 280px) !important; bottom: 42px !important; right: 4%; }
}

/* ---------- events: one tidy card with the three services ---------- */
.sd-eventsband { padding-bottom: 24px; }
.sd-eventsband__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 28px 40px; padding: 44px 48px; }
.sd-eventsband__title { font-size: clamp(30px, 4vw, 42px); }
.sd-eventsband__lead { margin: 12px 0 0; font-size: 17px; max-width: 560px; }
.sd-eventsband__services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.sd-svcchip {
  display: flex; align-items: center; gap: 12px; min-height: 72px; padding: 10px 14px 10px 10px;
  border: 0 !important; border-radius: 20px; background: #fff !important; color: var(--c-forest) !important;
  cursor: pointer; text-align: left; font-family: inherit; box-shadow: 0 2px 10px rgba(14,59,34,.06);
  transition: transform .15s var(--sd-ease), box-shadow .15s var(--sd-ease);
}
.sd-svcchip:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(14,59,34,.35); }
.sd-svcchip img { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 14px; object-fit: cover; }
.sd-svcchip__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.sd-svcchip__text strong { font-size: 15px; font-weight: 800; }
.sd-svcchip__text small { font-size: 12.5px; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sd-svcchip__go { flex: 0 0 auto; color: var(--c-orange-3); transition: transform .15s var(--sd-ease); }
.sd-svcchip:hover .sd-svcchip__go { transform: translateX(3px); }
.sd-eventsband__cta { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.sd-eventsband__cta .sd-textlink { color: var(--c-forest) !important; }
@media (max-width: 1023px) {
  .sd-eventsband__inner { grid-template-columns: 1fr; padding: 32px 28px; }
  .sd-eventsband__cta { flex-direction: row; flex-wrap: wrap; justify-content: flex-start; gap: 16px 24px; }
}
@media (max-width: 699px) {
  .sd-eventsband__services { grid-template-columns: 1fr; }
  .sd-eventsband__inner { padding: 28px 20px; }
  .sd-eventsband__cta .sd-b { width: 100%; }
}

/* =========================================================================
   HERO v4 — the design file's composition, all vector
   ====================================================================== */
.sdx {
  position: relative; overflow: hidden; isolation: isolate; color: var(--c-cream);
  background:
    radial-gradient(900px 520px at 85% 20%, rgba(255,138,42,.55), rgba(255,138,42,0) 60%),
    radial-gradient(700px 500px at 0% 100%, rgba(212,242,122,.28), rgba(212,242,122,0) 60%),
    linear-gradient(135deg, #0E3B22 0%, #17622F 55%, #2C8A47 100%);
}
.sdx .sd-deco { z-index: 0; }
.sdx__leaf, .sdx__orange, .sdx__squiggle { position: absolute; z-index: 0; pointer-events: none; }
.sdx__leaf--big { width: 300px; height: 300px; left: -60px; bottom: -30px; }
.sdx__leaf--small { width: 90px; height: 90px; left: 34%; top: 34px; }
.sdx__orange { width: 320px; height: 320px; right: -90px; top: -90px; }
.sdx__squiggle { width: 120px; height: 30px; left: 46%; bottom: 52px; }
.sdx__inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 40px; padding-top: 72px; padding-bottom: 104px; }
.sdx__copy { flex: 1 1 480px; min-width: 0; }
.sdx__eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px; border-radius: 999px; background: rgba(255,247,234,.14); border: 1px solid rgba(255,247,234,.3); font-size: 14px; font-weight: 500; }
.sdx__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--c-orange); }
.sdx__title { margin-top: 24px; font-size: clamp(46px, 7vw, 84px); line-height: .98; letter-spacing: -.035em; font-weight: 800; color: var(--c-cream); text-wrap: balance; }
.sdx__title span { color: var(--c-orange-2); }
.sdx__lead { font-size: clamp(17px, 2vw, 20px); line-height: 1.55; max-width: 520px; margin: 24px 0 0; color: #E8F3DF; }
.sdx__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.sdx__art { flex: 1 1 420px; min-width: 0; display: flex; justify-content: center; }
.sdx__stage { position: relative; width: min(470px, 100%); aspect-ratio: 1; }
.sdx__sun { position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFD08A 0%, #FF9A3C 55%, #F26A0F 100%); box-shadow: 0 40px 80px rgba(0,0,0,.28); }
.sdx__ring { position: absolute; inset: -14px; border-radius: 50%; border: 2px dashed rgba(255,247,234,.45); }
.sdx__cup { position: absolute; left: 10%; top: 6%; width: 80%; transform: rotate(-6deg); }
.sdx__cup svg { display: block; }
.sdx__badge { position: absolute; display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-radius: 18px; font-weight: 700; font-size: 15px; white-space: nowrap; }
.sdx__badge--light { left: -18px; bottom: 62px; background: var(--c-cream); color: var(--c-forest); box-shadow: 0 14px 30px rgba(0,0,0,.2); }
.sdx__badge--dark { right: -12px; top: 70px; background: var(--c-forest); color: var(--c-cream); box-shadow: 0 14px 30px rgba(0,0,0,.25); }
.sdx__wave { position: absolute; left: 0; bottom: -1px; z-index: 2; width: 100%; height: 48px; color: var(--c-cream); }
@media (prefers-reduced-motion: no-preference) {
  .sdx__cup { animation: sdx-float 6s ease-in-out infinite; }
  .sdx__ring { animation: sdx-spin 40s linear infinite; }
  .sdx__badge--light { animation: sdx-bob 5s ease-in-out infinite; }
  .sdx__badge--dark { animation: sdx-bob 5.6s ease-in-out infinite .8s; }
  .sdx__orange { animation: sdx-spin 60s linear infinite; }
}
@keyframes sdx-float { 0%,100% { transform: rotate(-6deg) translateY(0); } 50% { transform: rotate(-4deg) translateY(-10px); } }
@keyframes sdx-spin { to { transform: rotate(360deg); } }
@keyframes sdx-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
@media (max-width: 899px) {
  .sdx__inner { padding-top: 40px; padding-bottom: 80px; gap: 32px; }
  .sdx__stage { width: min(340px, 82%); }
  .sdx__orange { width: 200px; height: 200px; right: -70px; top: -70px; }
  .sdx__leaf--small { display: none; }
  .sdx__leaf--big { width: 200px; height: 200px; left: -60px; bottom: -30px; }
  .sdx__badge { padding: 10px 14px; font-size: 13px; }
  .sdx__badge--light { left: -8px; bottom: 30px; }
  .sdx__badge--dark { right: -8px; top: 34px; }
  .sdx__squiggle { display: none; }
}
@media (max-width: 479px) {
  .sdx__actions .sd-b { flex: 1 1 100%; }
}

/* hero: real smoothies, cut out — no circle, no badges */
.sdx__photo { position: relative; width: min(500px, 100%); }
.sdx__photo img { position: relative; z-index: 1; display: block; width: 100%; height: auto; filter: drop-shadow(0 30px 34px rgba(0,0,0,.32)); }
.sdx__ground { position: absolute; left: 8%; right: 8%; bottom: -2%; height: 9%; border-radius: 50%; background: radial-gradient(closest-side, rgba(0,0,0,.35), rgba(0,0,0,0)); z-index: 0; }
@media (prefers-reduced-motion: no-preference) { .sdx__photo img { animation: sdx-bob 6s ease-in-out infinite; } }
@media (max-width: 899px) { .sdx__photo { width: min(360px, 84%); } }

.sd-launch__art { position: relative; display: block; flex: 1 1 380px; min-height: 340px; }
@media (max-width: 599px) {
  .sd-launch__art { min-height: 260px; }
}
.sd-launch__art { min-height: 360px; }
@media (max-width: 599px) {
  .sd-launch__art { min-height: 280px; }
}
@media (max-width: 599px) {
  .sd-count { flex-wrap: nowrap; gap: 8px; }
  .sd-count__box { flex: 1 1 0; min-width: 0; padding: 12px 4px; }
  .sd-count__n { font-size: 28px; }
  .sd-count__l { font-size: 10.5px; letter-spacing: .08em; }
}

/* hero: no orange wheel; on phones half the screen with one jar in the corner */
.sdx__corner { display: none; }
@media (max-width: 899px) {
  .sdx { min-height: 50vh; min-height: 50svh; display: flex; flex-direction: column; justify-content: center; }
  .sdx__inner { padding-top: 28px; padding-bottom: 64px; gap: 0; }
  .sdx__art { display: none; }
  .sdx__title { margin-top: 16px; font-size: clamp(38px, 10.5vw, 52px); }
  .sdx__lead { margin-top: 14px; font-size: 16px; max-width: 30ch; }
  .sdx__actions { margin-top: 22px; gap: 10px; flex-wrap: nowrap; }
  .sdx__actions .sd-b { flex: 0 0 auto !important; min-height: 48px; padding: 0 20px; font-size: 15px; }
  .sdx__corner {
    display: block; position: absolute; z-index: 1; pointer-events: none;
    right: -34px; bottom: 34px; width: 118px; height: auto;
    transform: rotate(-8deg); filter: drop-shadow(0 16px 18px rgba(0,0,0,.3));
  }
  .sdx__leaf--big { width: 150px; height: 150px; left: -54px; bottom: -40px; }
}
@media (max-width: 379px) { .sdx__actions .sd-b { padding: 0 14px; font-size: 14px; } .sdx__corner { width: 96px; } }

/* footer without the order card above it */
.sd-foot { margin-top: 72px; padding-top: 64px !important; }


/* the loader must never linger invisibly over the page (it blocked every tap after a failed submit) */
.sd-overlay[hidden] { display: none !important; }
.sd-overlay:not(.is-in) { pointer-events: none; }

/* phone hero: keep the jar's straw clear of the headline */
@media (max-width: 899px) { .sdx__corner { width: 96px; right: -26px; bottom: 26px; } }

/* ---------- app-style bottom bar (phones, cart + checkout) ---------- */
.sd-stickybar { display: none; }
@media (max-width: 899px) {
  .sd-stickybar:not([hidden]) {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 300;
    display: flex; align-items: center; gap: 14px;
    padding: 12px var(--sd-gutter) calc(12px + var(--sd-safe-b));
    background: rgba(255,255,255,.96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-top: 1px solid var(--c-line); box-shadow: 0 -10px 30px -12px rgba(14,59,34,.25);
    transform: translateY(0); transition: transform .28s var(--sd-ease), opacity .2s var(--sd-ease);
  }
  .sd-stickybar.is-away, body.sd-typing .sd-stickybar, body.sd-noscroll .sd-stickybar { transform: translateY(115%); opacity: 0; pointer-events: none; }
  .sd-stickybar__info { display: flex; flex-direction: column; min-width: 0; }
  .sd-stickybar__info small { font-size: 12px; font-weight: 700; color: var(--c-muted); white-space: nowrap; }
  .sd-stickybar__info strong { font-family: var(--sd-display); font-size: 24px; font-weight: 800; color: var(--c-forest); line-height: 1.05; }
  .sd-stickybar__btn { flex: 1 1 auto; min-height: 52px; box-shadow: none !important; }
  .sd-stickybar__btn.is-off { background: #F3E3CF !important; color: #9A8A73 !important; }
  body.has-stickybar #sd-main { padding-bottom: 84px; }
}

/* ---------- Grand Opening: two smoothies in front of a salad bowl (first blend, first bite) ---------- */
.sd-launch__leaf, .sd-launch__leaf2 { position: absolute; z-index: 0; pointer-events: none; filter: drop-shadow(0 14px 18px rgba(14,59,34,.22)); }
/* one leaf tucked into the top-right corner, its stem pointing out of the card */
.sd-launch__leaf2 { right: -38px; top: -46px; width: 190px; height: 190px; }
/* the other peeks in from the bottom-left corner, under the button */
.sd-launch__leaf { left: -92px; bottom: -104px; width: 230px; height: 230px; }
.sd-launch__art { position: relative; z-index: 1; display: block; flex: 1 1 380px; min-width: 0; min-height: 400px; align-self: stretch; }
.sd-launch__bowl { position: absolute; right: -4%; bottom: 10%; width: 70%; max-width: 400px; height: auto; transform: rotate(-10deg); filter: drop-shadow(0 26px 30px rgba(120,46,0,.32)); }
.sd-launch__cups { position: absolute; left: 2%; bottom: 0; height: 90%; max-height: 400px; width: auto; filter: drop-shadow(0 22px 22px rgba(120,46,0,.30)); }
.sd-launch__glow { position: absolute; left: 4%; right: 0; bottom: -6%; height: 26%; border-radius: 50%; background: radial-gradient(closest-side, rgba(120,46,0,.22), rgba(120,46,0,0)); }
@media (max-width: 899px) {
  .sd-launch__art { min-height: 300px; flex-basis: 100%; }
  .sd-launch__cups { left: 2%; max-height: 300px; }
  .sd-launch__bowl { width: 60%; max-width: 250px; right: 0; bottom: 4%; }
}
@media (max-width: 599px) {
  .sd-launch__leaf2 { right: -44px; top: -52px; width: 140px; height: 140px; }
  .sd-launch__leaf { display: none; }
  .sd-launch__art { min-height: 250px; margin-bottom: -40px; }
  .sd-launch__cups { max-height: 250px; }
}

/* ---------- Events hero: platter + popsicle cut-outs ---------- */
.sdev-art { position: relative; width: min(460px, 100%); aspect-ratio: 1 / .92; margin: 0 auto; }
.sdev-art__ring { position: absolute; inset: 8% 4% 4% 10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,190,92,.32), rgba(255,190,92,0) 72%); }
.sdev-art__platter { position: absolute; right: 0; top: 2%; width: 82%; height: auto; transform: rotate(8deg); filter: drop-shadow(0 30px 34px rgba(0,0,0,.38)); }
.sdev-art__pop { position: absolute; left: 4%; bottom: -2%; height: 74%; width: auto; transform: rotate(-14deg); filter: drop-shadow(0 22px 22px rgba(0,0,0,.35)); }
.sdev-art__chip { position: absolute; left: 50%; bottom: -4%; transform: translateX(-30%); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 10px 16px; border-radius: 999px; background: var(--c-cream); color: var(--c-forest); font-weight: 700; font-size: 14px; box-shadow: 0 14px 30px -10px rgba(0,0,0,.45); }
.sdev-art__chip i { width: 9px; height: 9px; border-radius: 50%; margin-left: 6px; }
.sdev-art__chip i:first-child { margin-left: 0; }
.sdev-art__chip i.is-pink { background: #FF8FA8; } .sdev-art__chip i.is-lime { background: #9BD14A; } .sdev-art__chip i.is-orange { background: var(--c-orange); }
@media (max-width: 899px) {
  .sdev-art { width: min(340px, 86%); margin-top: 8px; margin-bottom: 18px; }
  .sdev-art__chip { font-size: 13px; padding: 9px 14px; transform: translateX(-50%); }
}

/* ---------- Event service cards: cut-outs on soft tints ---------- */
.sdsvc__media { display: grid; place-items: center; isolation: isolate; }
.sdsvc__media .sd-deco { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.sdsvc__media--popsicle-bike { background: radial-gradient(70% 70% at 50% 55%, #FFE9EE, #FFC9D5); }
.sdsvc__media--smoothie-bar { background: radial-gradient(70% 70% at 50% 55%, #EEF9E6, #CDEDB8); }
.sdsvc__media--catering { background: radial-gradient(70% 70% at 50% 55%, #FFF0DE, #FFD4A6); }
.sdsvc__leaf { position: absolute; z-index: 0; width: 120px; height: 120px; right: -26px; bottom: -30px; opacity: .9; pointer-events: none; }
.sdsvc__media--catering .sdsvc__leaf { right: auto; left: -28px; }
.sdsvc__media img.sdsvc__cut { position: absolute; z-index: 1; left: 50%; top: 56%; width: auto; height: 74%; max-width: 84%; object-fit: contain; --r: 0deg; transform: translate(-50%, -50%) rotate(var(--r)); transition: transform .45s var(--sd-ease); filter: drop-shadow(0 20px 22px rgba(14,59,34,.22)); }
.sdsvc__media--popsicle-bike img.sdsvc__cut { height: 80%; --r: -14deg; }
.sdsvc__media--smoothie-bar img.sdsvc__cut { height: 78%; }
.sdsvc__media--catering img.sdsvc__cut { height: 76%; --r: -8deg; }
.sdsvc__card:hover img.sdsvc__cut { transform: translate(-50%, -54%) rotate(var(--r)) scale(1.04); }
.sdsvc__tag { z-index: 2; }
.sd-svcchip img { object-fit: cover; }

/* ---------- How booking works ---------- */
.sdbook { margin-bottom: 72px; }
.sdbook__panel { position: relative; overflow: hidden; isolation: isolate; border-radius: 40px; padding: 60px 56px; background: radial-gradient(520px 360px at 0% 100%, rgba(255,154,60,.20), rgba(255,154,60,0) 70%), linear-gradient(135deg, #12482A 0%, #0E3B22 60%, #0B321C 100%); color: var(--c-cream); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 48px; align-items: center; }
.sdbook__panel > .sd-deco { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; }
.sdbook__leaf { position: absolute; z-index: -1; left: -74px; bottom: -92px; width: 190px; height: 190px; opacity: .9; pointer-events: none; }
.sdbook__eyebrow { display: inline-block; padding: 7px 14px; border-radius: 999px; background: rgba(255,247,234,.12); color: #FFC27A; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sdbook__title { margin-top: 18px; font-size: clamp(36px, 5vw, 56px); line-height: 1; letter-spacing: -.03em; font-weight: 800; color: var(--c-cream); }
.sdbook__lead { margin: 16px 0 0; max-width: 40ch; font-size: 17px; line-height: 1.6; color: rgba(255,247,234,.78); }
.sdbook__cta { margin-top: 28px; gap: 10px; }
.sdbook__steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; position: relative; }
.sdbook__steps::before { content: ""; position: absolute; left: 47px; top: 46px; bottom: 46px; border-left: 2px dashed rgba(255,247,234,.28); }
.sdbook__step { position: relative; display: flex; align-items: center; gap: 18px; padding: 20px 22px; border-radius: 26px; background: rgba(255,247,234,.07); border: 1px solid rgba(255,247,234,.12); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: transform .25s var(--sd-ease), background .25s var(--sd-ease); }
.sdbook__step:hover { transform: translateX(6px); background: rgba(255,247,234,.11); }
.sdbook__icon { position: relative; z-index: 1; flex: 0 0 auto; width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; color: var(--c-forest); box-shadow: 0 10px 20px -8px rgba(0,0,0,.5); }
.sdbook__icon.is-orange { background: linear-gradient(135deg, #FFB25C, #FF8A2A); }
.sdbook__icon.is-lime { background: linear-gradient(135deg, #E4F79A, #B9DE4F); }
.sdbook__icon.is-pink { background: linear-gradient(135deg, #FFD3DD, #FF9DB3); }
.sdbook__n { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #FFC27A; }
.sdbook__text h3 { margin: 2px 0 2px; font-size: 21px; letter-spacing: -.01em; color: var(--c-cream); }
.sdbook__text p { margin: 0; color: rgba(255,247,234,.72); line-height: 1.5; }
@media (max-width: 899px) {
  .sdbook__panel { grid-template-columns: 1fr; padding: 40px 22px 26px; gap: 28px; border-radius: 32px; }
  .sdbook__leaf { width: 130px; height: 130px; left: -44px; bottom: -50px; }
  .sdbook__step { padding: 16px; gap: 14px; border-radius: 22px; }
  .sdbook__steps::before { left: 41px; }
  .sdbook__icon { width: 50px; height: 50px; border-radius: 16px; }
  .sdbook__text h3 { font-size: 18px; }
  .sdbook__text p { font-size: 14.5px; }
}

/* the TrustedSite seal floats bottom-right; lift it above the bottom bar on phones */
@media (max-width: 899px) {
  body.has-stickybar #trustedsite-tm-image { bottom: calc(86px + var(--sd-safe-b)) !important; transition: bottom .28s var(--sd-ease); }
  body.has-stickybar.sd-bar-away #trustedsite-tm-image, body.has-stickybar.sd-typing #trustedsite-tm-image { bottom: 0 !important; }
}

/* ======================================================================
 * Sign in / Create account — one card, a switcher, a photo half
 * ==================================================================== */
.sd-auth { padding-top: 48px !important; padding-bottom: 96px !important; }
.sd-auth__shell {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  max-width: 1120px; min-height: 660px; margin: 0 auto; overflow: hidden;
  background: #fff; border-radius: 36px;
  box-shadow: 0 40px 80px -40px rgba(14,59,34,.35), 0 0 0 1px rgba(14,59,34,.05);
}
.sd-auth__main { display: flex; flex-direction: column; justify-content: center; gap: 22px; padding: 56px clamp(28px, 5vw, 68px) 48px; min-width: 0; }
.sd-auth__intro { text-align: center; }
.sd-auth__mark { display: inline-flex; filter: drop-shadow(0 8px 14px rgba(27,107,54,.25)); }
.sd-auth__mark svg { width: 48px; height: 48px; }
.sd-auth__eyebrow { margin: 14px 0 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E0701A; }
.sd-auth__title { margin: 6px 0 0; font-size: clamp(30px, 3.3vw, 40px); line-height: 1.05; letter-spacing: -.03em; font-weight: 800; color: var(--c-forest); }
.sd-auth__sub { margin: 10px auto 0; max-width: 34ch; font-size: 15.5px; line-height: 1.55; color: var(--c-muted); }

/* the switcher: a pill with a sliding thumb */
.sd-auth__tabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: 5px; border-radius: 999px; background: #F6EEDF; box-shadow: inset 0 1px 2px rgba(14,59,34,.06); }
.sd-auth__tabs button { position: relative; z-index: 1; min-height: 46px; padding: 0 12px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 15px; font-weight: 800; color: #6E7F72; cursor: pointer; transition: color .25s var(--sd-ease); }
.sd-auth__tabs button[aria-selected="true"] { color: var(--c-forest); }
.sd-auth__tabs button:focus-visible { outline: 2px solid var(--c-leaf); outline-offset: 2px; }
.sd-auth__thumb { position: absolute; top: 5px; bottom: 5px; left: 5px; width: calc(50% - 5px); border-radius: 999px; background: #fff; box-shadow: 0 8px 18px -8px rgba(14,59,34,.4), 0 0 0 1px rgba(14,59,34,.04); transition: transform .38s cubic-bezier(.3,1.3,.5,1); }
[data-sd-auth][data-tab="register"] .sd-auth__thumb { transform: translateX(100%); }

.sd-auth__pane { display: flex; flex-direction: column; gap: 16px; animation: sdAuthIn .34s var(--sd-ease); }
.sd-auth__pane[hidden] { display: none !important; }
@keyframes sdAuthIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.sd-auth__pane .sd-field { margin: 0; }
.sd-auth__pane .sd-field label { font-size: 14px; }
.sd-auth__pane .sd-field input:not([type=checkbox]) { min-height: 52px; font-size: 16px; }
.sd-auth__pane .sd-book__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; }
.sd-auth__pane ::placeholder { color: #A9A08F; }
.sd-auth__row { margin-top: -2px; }
.sd-auth__submit { min-height: 54px; margin-top: 2px; font-size: 16px; }
.sd-auth__fine { margin: -4px 0 0; text-align: center; font-size: 13px; color: var(--c-muted); }
.sd-auth__pane .woocommerce-privacy-policy-text p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #7A887D; }
.sd-auth__guest { margin: 2px 0 0; text-align: center; font-size: 14.5px; color: var(--c-muted); }
.sd-auth__guest a { font-weight: 800; color: var(--c-forest) !important; text-decoration: underline; text-underline-offset: 3px; }
.sd-auth__pane.is-sending { pointer-events: none; }

/* one password eye, ours */
.sd-pass { position: relative; }
.sd-pass input { width: 100%; padding-right: 54px !important; }
.sd-pass__eye { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 42px; height: 42px; border: 0; border-radius: 12px; background: transparent; color: #6E7F72; display: grid; place-items: center; cursor: pointer; transition: background .2s, color .2s; }
.sd-pass__eye:hover { background: rgba(14,59,34,.06); color: var(--c-forest); }
.sd-pass__eye .is-hide, .sd-pass__eye[aria-pressed="true"] .is-show { display: none; }
.sd-pass__eye[aria-pressed="true"] .is-hide { display: block; }
.sd-pass .show-password-input { display: none !important; }
/* WooCommerce's own toggle (checkout, My details): one clean icon, no emoji */
.show-password-input { background: none !important; color: #6E7F72; opacity: 1 !important; display: grid !important; place-items: center; }
.show-password-input::before { display: none !important; content: none !important; }
.show-password-input::after { content: "" !important; display: block; width: 20px; height: 20px; font-family: inherit !important; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / contain no-repeat; }
.show-password-input.display-password::after { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10.8 10.8 0 0 1 12 5c6.4 0 10 7 10 7a17.6 17.6 0 0 1-2.6 3.5M6.6 6.6C3.7 8.4 2 12 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='m3 3 18 18'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10.8 10.8 0 0 1 12 5c6.4 0 10 7 10 7a17.6 17.6 0 0 1-2.6 3.5M6.6 6.6C3.7 8.4 2 12 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='m3 3 18 18'/%3E%3C/svg%3E"); }

/* the photo half */
.sd-auth__art { position: relative; margin: 12px; overflow: hidden; border-radius: 28px; background: #0E3B22; isolation: isolate; }
.sd-auth__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; }
.sd-auth__art::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(14,59,34,0) 38%, rgba(14,59,34,.25) 60%, rgba(14,59,34,.82) 100%); }
.sd-auth__leaf { position: absolute; z-index: 1; right: -44px; top: -48px; width: 170px; height: 170px; filter: drop-shadow(0 14px 18px rgba(0,0,0,.25)); }
.sd-auth__glass { position: absolute; z-index: 2; left: 22px; right: 22px; bottom: 22px; padding: 22px 24px; border-radius: 24px; color: #FFF7EA; background: rgba(255,247,234,.14); border: 1px solid rgba(255,247,234,.28); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); }
.sd-auth__glass strong { display: block; font-family: var(--sd-display); font-size: 20px; letter-spacing: -.01em; }
.sd-auth__glass ul { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.sd-auth__glass li { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; }
.sd-auth__perk { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 11px; display: grid; place-items: center; color: var(--c-forest); }
.sd-auth__perk.is-orange { background: linear-gradient(135deg, #FFB25C, #FF8A2A); }
.sd-auth__perk.is-lime { background: linear-gradient(135deg, #E4F79A, #B9DE4F); }
.sd-auth__perk.is-pink { background: linear-gradient(135deg, #FFD3DD, #FF9DB3); }

@media (max-width: 899px) {
  .sd-auth { padding-top: 16px !important; padding-bottom: 64px !important; }
  .sd-auth__shell { grid-template-columns: 1fr; min-height: 0; border-radius: 28px; }
  .sd-auth__art { display: none !important; }
  .sd-auth__main { padding: 32px 20px 30px; gap: 18px; }
  .sd-auth__mark svg { width: 44px; height: 44px; }
  .sd-auth__title { font-size: 30px; }
  .sd-auth__sub { font-size: 15px; }
}
@media (max-width: 399px) { .sd-auth__pane .sd-book__row { grid-template-columns: 1fr; } }

/* the drawer version */
.sd-authdrawer .sd-drawer__body { display: flex; flex-direction: column; gap: 18px; }
.sd-authdrawer .sd-auth__lead { margin: 0; }

/* Checkout, stacked (tablets and phones): Contact → Pickup → Your order →
   Payment + Place order. The details to type come first; the summary sits
   right above the button that sends it. */
@media (max-width: 979px) {
  .sd-checkout__form { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 20px; }
  .sd-checkout__main { display: contents; }
  .sd-checkout__main > * { order: 1; }
  .sd-checkout__aside { order: 2; flex: none; width: 100%; }
  .sd-checkout__main > .woocommerce-checkout-payment, .sd-checkout__main > #payment { order: 3; }
}

/* product page bottom bar */
@media (max-width: 899px) {
  .sd-stickybar--pdp .sd-stickybar__info { flex: 1 1 auto; max-width: 46%; }
  .sd-stickybar--pdp .sd-stickybar__info small { overflow: hidden; text-overflow: ellipsis; font-size: 13px; color: var(--c-forest); }
  .sd-stickybar--pdp .sd-stickybar__btn { flex: 0 0 auto; gap: 8px; padding: 0 22px; }
  .sd-stickybar--pdp .sd-stickybar__btn svg { width: 18px; height: 18px; }
}
/* WooCommerce draws a box around form.login / form.register; the card is the box */
.woocommerce form.sd-auth__pane.login, .woocommerce form.sd-auth__pane.register, .woocommerce form.sd-auth__pane.lost_reset_password,
form.sd-auth__pane.login, form.sd-auth__pane.register { border: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: none !important; }

/* Hello Elementor paints buttons pink on hover/focus/tap; not these */
.sd-auth__tabs button, .sd-auth__tabs button:hover, .sd-auth__tabs button:focus, .sd-auth__tabs button:active {
  background: transparent !important; background-color: transparent !important; border: 0 !important; box-shadow: none !important; -webkit-tap-highlight-color: transparent;
}
.sd-auth__tabs button:hover { color: var(--c-forest) !important; }
.sd-auth__tabs button:not([aria-selected="true"]) { color: #6E7F72 !important; }
.sd-auth__tabs button[aria-selected="true"] { color: var(--c-forest) !important; }
.sd-pass__eye, .sd-pass__eye:focus, .sd-pass__eye:active { background: transparent !important; background-color: transparent !important; border: 0 !important; box-shadow: none !important; color: #6E7F72 !important; -webkit-tap-highlight-color: transparent; }
.sd-pass__eye:hover { background: rgba(14,59,34,.06) !important; color: var(--c-forest) !important; }
.sd-pass__eye:focus-visible, .sd-auth__tabs button:focus-visible { outline: 2px solid var(--c-leaf) !important; outline-offset: 2px; }
.show-password-input, .show-password-input:hover, .show-password-input:focus, .show-password-input:active { background-color: transparent !important; border: 0 !important; box-shadow: none !important; color: #6E7F72 !important; }

/* Small laptops / iPad landscape (1024–1199px): the menu never wraps.
   Tighter links, and the busy status moves to the strip under the header. */
.sd-nav { flex-wrap: nowrap; white-space: nowrap; }
@media (min-width: 1024px) and (max-width: 1199px) {
  .sd-nav a, .sd-navlink { padding: 10px 10px; font-size: 14.5px; }
  .sd-header .sd-busy { display: none !important; }
  .sd-busybar:not([hidden]) { display: block; border-top: 1px solid var(--c-line); background: #fff; }
  .sd-busybar__inner { display: flex; align-items: center; gap: 10px; min-height: 36px; font-size: 13px; }
  .sd-busybar .sd-busy__text { flex-direction: row; align-items: baseline; gap: 6px; }
  .sd-busybar .sd-busy__text span::before { content: "· "; }
}

/* ======================================================================
 * Quantity selector — one look everywhere (cart page, cart drawer,
 * product page): white − / + buttons sitting in a soft cream pill.
 * ==================================================================== */
.sd-line__qty, .sd-qtypill {
  display: inline-flex; align-items: center; gap: 2px !important; padding: 4px;
  border-radius: 999px; background: #F6EEDF; box-shadow: inset 0 1px 2px rgba(14,59,34,.06);
}
.sd-line__qty .sd-qbtn, .sd-qtypill .sd-qbtn,
.sd-line__qty .sd-qbtn:hover, .sd-line__qty .sd-qbtn:focus, .sd-line__qty .sd-qbtn:active,
.sd-qtypill .sd-qbtn:hover, .sd-qtypill .sd-qbtn:focus, .sd-qtypill .sd-qbtn:active {
  width: 34px !important; height: 34px !important; font-size: 18px !important; border: 0 !important;
  background: #fff !important; color: var(--c-forest) !important;
  box-shadow: 0 6px 14px -8px rgba(14,59,34,.45), 0 0 0 1px rgba(14,59,34,.04) !important;
}
.sd-line__qty .sd-qbtn:hover, .sd-qtypill .sd-qbtn:hover { background: var(--c-peach) !important; }
.sd-line__qty .sd-qbtn:focus-visible, .sd-qtypill .sd-qbtn:focus-visible { outline: 2px solid var(--c-leaf) !important; outline-offset: 2px; }
.sd-line__n, .sd-qtypill__n { min-width: 30px; font-size: 16px; }
/* the product page one is the main control there, so a size up */
.sd-qtypill { padding: 5px; }
.sd-qtypill .sd-qbtn, .sd-qtypill .sd-qbtn:hover, .sd-qtypill .sd-qbtn:focus, .sd-qtypill .sd-qbtn:active { width: 42px !important; height: 42px !important; font-size: 20px !important; }
.sd-qtypill__n { min-width: 36px; font-size: 18px; }
.sd-lines--drawer .sd-line__qty { justify-self: start; }
.sd-lines--drawer .sd-line__qty .sd-qbtn { width: 30px !important; height: 30px !important; font-size: 16px !important; }

/* ======================================================================
 * Product page polish
 * ==================================================================== */

/* bottom bar: the button sits flush right */
@media (max-width: 899px) {
  .sd-stickybar--pdp .sd-stickybar__info { flex: 1 1 0; max-width: none; }
  .sd-stickybar--pdp .sd-stickybar__btn { margin-left: auto; }
}

/* option cards: a tick on the chosen one; long lists in a tidy grid that folds after six */
.sd-opt__body { position: relative; }
.sd-opts:not(.sd-opts--pills) .sd-opt__body { padding-right: 36px; }
.sd-opt__tick { position: absolute; top: 50%; right: 12px; transform: translateY(-50%) scale(.6); width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; background: var(--c-orange); color: var(--c-forest); opacity: 0; transition: opacity .18s var(--sd-ease), transform .18s var(--sd-ease); }
.sd-opt input:checked + .sd-opt__body .sd-opt__tick { opacity: 1; transform: translateY(-50%) scale(1); }
.sd-opt--pill .sd-opt__tick { display: none; }
.sd-opts.is-many:not(.sd-opts--pills) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sd-opts.is-many .sd-opt__body { min-height: 52px; padding: 8px 34px 8px 14px; font-size: 14.5px; border-radius: 14px; }
.sd-opts.is-many .sd-opt__sub { font-size: 12.5px; }
.sd-opts.is-folding:not(.is-open) .sd-opt.is-extra { display: none; }
.sd-opts.is-open .sd-opt.is-extra { animation: sdAuthIn .3s var(--sd-ease); }
.sd-opts__more, .sd-opts__more:hover, .sd-opts__more:focus { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 6px 2px; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--c-forest) !important; font: inherit; font-size: 14px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.sd-opts__more svg { transition: transform .2s var(--sd-ease); }
.sd-opts__more[aria-expanded="true"] svg { transform: rotate(180deg); }
@media (max-width: 599px) {
  .sd-opts.is-many:not(.sd-opts--pills) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* "Made to order · Free pickup · Pay at pickup": three small tiles */
.sd-assure { list-style: none; margin: 24px 0 0; padding: 6px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; border-radius: 22px; background: #fff; box-shadow: 0 0 0 1px rgba(14,59,34,.06), 0 12px 26px -20px rgba(14,59,34,.4); }
.sd-assure li { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; border-radius: 16px; background: #FFFCF6; }
.sd-assure__icon { flex: 0 0 auto; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; color: var(--c-forest); }
.sd-assure__icon.is-lime { background: linear-gradient(135deg, #E4F79A, #B9DE4F); }
.sd-assure__icon.is-orange { background: linear-gradient(135deg, #FFB25C, #FF8A2A); }
.sd-assure__icon.is-pink { background: linear-gradient(135deg, #FFD3DD, #FF9DB3); }
.sd-assure__text { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.sd-assure__text strong { font-size: 14px; font-weight: 800; color: var(--c-forest); }
.sd-assure__text small { margin-top: 3px; font-size: 12.5px; color: var(--c-muted); }
.sd-diet { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 0; padding: 0; }
.sd-diet li { padding: 6px 12px; border-radius: 999px; background: var(--c-mint); color: var(--c-forest); font-size: 13px; font-weight: 700; }
@media (max-width: 599px) {
  .sd-assure { gap: 4px; padding: 4px; border-radius: 20px; }
  .sd-assure li { flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 12px 4px; }
  .sd-assure__text strong { font-size: 12.5px; }
  .sd-assure__text small { font-size: 11px; }
}

/* details: the description and what goes in, side by side (no tabs) */
.sd-details { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: stretch; }
.sd-details.is-single { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.sd-details__about { padding: 40px 44px; border-radius: 32px; background: #fff; box-shadow: 0 30px 60px -40px rgba(14,59,34,.35), 0 0 0 1px rgba(14,59,34,.05); }
.sd-details__eyebrow { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #E0701A; }
.sd-details__title { margin: 8px 0 0; font-size: clamp(28px, 3vw, 36px); line-height: 1.05; letter-spacing: -.03em; color: var(--c-forest); }
.sd-details__title--sm { font-size: 26px; }
.sd-details__text { margin-top: 16px; }
.sd-details__text p { margin: 0 0 14px; max-width: 62ch; font-size: 17px; line-height: 1.7; color: var(--c-text-2); }
.sd-details__text p:first-child { font-size: 19px; line-height: 1.6; font-weight: 500; color: var(--c-forest); }
.sd-details__text p:last-child { margin-bottom: 0; }
.sd-details__inside { position: relative; overflow: hidden; isolation: isolate; padding: 36px 34px; border-radius: 32px; background: linear-gradient(160deg, #EEF8E4 0%, #D9EFC9 100%); }
.sd-details__leaf { position: absolute; z-index: -1; right: -42px; top: -48px; width: 150px; height: 150px; opacity: .45; pointer-events: none; }
.sd-details__inside .sd-details__eyebrow { color: var(--c-leaf); }
.sd-ingr { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; }
.sd-ingr li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 11px; border-radius: 999px; background: #fff; color: var(--c-forest); font-size: 14.5px; font-weight: 700; box-shadow: 0 6px 14px -10px rgba(14,59,34,.45); }
.sd-ingr li::before { content: ""; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--c-leaf); }
.sd-ingr li:nth-child(3n+2)::before { background: var(--c-orange); }
.sd-ingr li:nth-child(3n+3)::before { background: #FF8FA8; }
.sd-details__note { margin: 16px 0 0; font-size: 15px; font-weight: 600; color: #294633; }
.sd-details__alert { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0 0; padding: 12px 14px; border-radius: 16px; background: #FFF1E2; color: #8A3B0C; font-size: 14.5px; font-weight: 700; }
.sd-details__alert svg { flex: 0 0 auto; margin-top: 2px; }
.sd-details__attrs { margin-top: 16px; }
.sd-details__attrs table { width: 100%; border-collapse: collapse; }
.sd-details__attrs th, .sd-details__attrs td { padding: 10px 0; border-bottom: 1px solid rgba(14,59,34,.12); text-align: left; font-size: 15px; }
.sd-details__attrs th { width: 40%; color: var(--c-forest); }
.sd-details__attrs p { margin: 0; }
.sd-details__ask { margin: 20px 0 0; font-size: 14px; color: #294633; }
.sd-details__ask a { font-weight: 800; color: var(--c-forest) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899px) {
  .sd-details { grid-template-columns: 1fr; gap: 16px; }
  .sd-details__about, .sd-details__inside { padding: 28px 22px; border-radius: 28px; }
  .sd-details__text p:first-child { font-size: 17.5px; }
  .sd-details__text p { font-size: 16px; }
}


/* =========================================================================
 * Mobile fixes (3.12.0)
 * ====================================================================== */
/* Pop-ups scroll up and down only — never sideways. */
.sd-drawer__panel, .sd-mobnav__panel, .sd-overlay__card { overscroll-behavior: contain; touch-action: pan-y; overflow-x: hidden; }
/* Fields at 16px+ so an iPhone never zooms in when one is tapped. */
@media (max-width: 899px) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea,
  .sd-sort .sd-select, #sd-q { font-size: 16px !important; }
}
/* The quantity pill is only as wide as its buttons (it was stretching to
   fill the cart line's grid column on phones). */
.sd-line__qty, .sd-qtypill { justify-self: start; width: max-content; max-width: 100%; flex: none; }
/* Home "Fresh on the menu": All · Drinks · Smoothies · Salads on one line. */
@media (max-width: 599px) {
  .sd-home-sec--fresh .sd-pills { flex-wrap: nowrap; gap: 6px; width: 100%; }
  .sd-home-sec--fresh .sd-pill { flex: 1 1 auto; min-width: 0; min-height: 40px; padding: 0 10px; font-size: 13.5px; white-space: nowrap; }
}
/* Events band on phones: Book an event, then See all event options centred under it. */
@media (max-width: 699px) {
  .sd-eventsband__cta { flex-direction: column; align-items: center; gap: 14px; }
  .sd-eventsband__cta .sd-textlink { justify-content: center; }
}
/* Cart: "← Keep shopping" centred on phones. */
@media (max-width: 899px) { .sd-back { display: flex; width: fit-content; margin-left: auto; margin-right: auto; } }

/* Cart and checkout headings: the same size and the same space above and
   below on both pages — 30px and centred on phones, 20px either side. */
.sd-cart .sd-h1, .sd-checkout .sd-h1 { font-size: clamp(30px, 4.5vw, 44px); }
.sd-cart, .sd-checkout { padding-top: 32px; }
.sd-cart__grid, .sd-checkout__form { margin-top: 32px; }
@media (max-width: 899px) {
  .sd-cart, .sd-checkout { padding-top: 20px; }
  .sd-cart__grid, .sd-checkout__form { margin-top: 20px; }
  .sd-cart__head { justify-content: center; }
  .sd-cart .sd-h1, .sd-checkout .sd-h1 { text-align: center; }
}
/* Checkout: "Checkout" centred, with a round back-to-cart arrow on the left. */
.sd-checkout__head { position: relative; display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 56px; }
.sd-checkout__head .sd-h1 { margin: 0; text-align: center; }
.sd-checkout__back { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--c-forest) !important; box-shadow: var(--shadow-card); transition: transform .15s var(--sd-ease), background-color .2s var(--sd-ease); }
.sd-checkout__back:hover { background: var(--c-peach); transform: translateY(-50%) translateX(-2px); }
.sd-checkout__back:focus-visible { outline: 2px solid var(--c-leaf); outline-offset: 2px; }
@media (max-width: 599px) { .sd-checkout__head { min-height: 42px; padding: 0 50px; } .sd-checkout__back { width: 42px; height: 42px; } }
/* The arrow (42px) is taller than the heading (30px), so trim 6px each side:
   the heading text then sits 20px from the top and 20px above the form,
   exactly like the cart. */
@media (max-width: 899px) { .sd-checkout { padding-top: 14px; } .sd-checkout__form { margin-top: 14px; } }
/* Checkout › Pickup: address, hours and kitchen status as icon rows. */
.sd-pickinfo { list-style: none; margin: 16px 0 0; padding: 4px 16px; border: 2px solid var(--c-line); border-radius: 20px; background: #fff; }
.sd-pickinfo .sd-pk { align-items: center; gap: 12px; padding: 12px 0; }
.sd-pickinfo .sd-pk + .sd-pk { border-top: 1px solid var(--c-line); }
.sd-pickinfo .sd-pk[hidden] { display: none; }
.sd-pickinfo .sd-pk__ic { background: var(--c-mint); color: var(--c-leaf); width: 36px; height: 36px; }
.sd-pickinfo .sd-pk__text { flex: 1; min-width: 0; padding-top: 0; font-size: 16px; font-weight: 700; color: var(--c-forest); line-height: 1.35; }
.sd-pickinfo__map { display: block; width: fit-content; margin-top: 2px; font-size: 14px; font-weight: 700; color: var(--c-leaf) !important; text-decoration: underline; text-underline-offset: 3px; }
.sd-pickinfo__map:hover { color: var(--c-forest) !important; }
/* The kitchen-status row: the header's bars, on a white disc so they read. */
.sd-pickinfo .sd-pk--busy .sd-pk__ic { background: #fff; box-shadow: inset 0 0 0 2px var(--c-line); }
.sd-pk--busy .sd-busy__meter i { background: #E3D6BD; }
.sd-pk--busy .sd-busy__text { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0 6px; }
.sd-pk--busy .sd-busy__text strong { font-size: 16px; }
.sd-pk--busy .sd-busy__text span { font-size: 15px; font-weight: 600; color: var(--c-muted); }
.sd-pk--busy .sd-busy__text span::before { content: "· "; }
@media (max-width: 599px) { .sd-pickinfo { padding: 2px 14px; } .sd-pickinfo .sd-pk__text, .sd-pk--busy .sd-busy__text strong { font-size: 15px; } .sd-pk--busy .sd-busy__text span { font-size: 14px; } }

/* Truck photos (Customizer › Contact Details › Show the truck photos). */
.sd-truckpic { position: relative; margin: 0; overflow: hidden; border-radius: 24px; background: var(--c-mint); box-shadow: var(--shadow-card); }
.sd-truckpic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sd-truckpic__cap { position: absolute; left: 12px; bottom: 12px; padding: 7px 14px; border-radius: 999px; background: rgba(255,247,234,.94); color: var(--c-forest); font-size: 13px; font-weight: 800; box-shadow: 0 6px 16px -8px rgba(14,59,34,.5); }
/* Pickup card: the back of the truck, logo and cups in view. */
.sd-truckpic--card { margin-top: 16px; aspect-ratio: 4 / 3; border-radius: 20px; }
.sd-truckpic--card img { object-position: 50% 42%; }
/* Contact page: under the details. */
.sd-truckpic--contact { margin-top: 8px; aspect-ratio: 4 / 3; }
.sd-truckpic--contact img { object-position: 50% 42%; }
/* Events page: Meet the truck. */
.sdtruck__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 40px; align-items: center; }
.sdtruck__copy .sd-h2xl { margin: 8px 0 22px; }
.sdtruck__pic { border-radius: 32px; aspect-ratio: 16 / 10; }
@media (max-width: 899px) {
  .sdtruck__inner { grid-template-columns: 1fr; gap: 20px; }
  .sdtruck__pic { order: -1; border-radius: 24px; }
  .sdtruck__copy { text-align: center; }
}
