/** Shopify CDN: Minification failed

Line 422:344 Unexpected "}"

**/
/* ==========================================================================
   Softest Hours — brand layer
   Tokens verbatim from the approved Claude Design handoff
   (Sleep Foundations.dc.html / DreamWrap PDP.dc.html) and the Design Master
   Prompt. Every visible value on a Softest Hours section resolves to one of
   these custom properties. Scoped to .sh so Horizon's own components (cart
   page, search, checkout hand-off) stay untouched.
   ========================================================================== */

:root{
  --sh-ink:#222222;
  --sh-black:#000000;
  --sh-white:#FFFFFF;
  --sh-muted:#646464;
  --sh-tertiary:#767676;
  --sh-surface:#F7F7F7;
  --sh-surface-soft:#E7E7E5;
  --sh-mist:#E7EEFF;
  --sh-mist-soft:#F7F9FF;
  --sh-usp-bg:#D6EAE0;
  --sh-usp-fg:#1E2A4B;
  --sh-air:#9EBADC;
  --sh-accent-text:#3F5680;
  --sh-footer:#EFEFEF;
  --sh-subfooter:#E9E9E9;
  --sh-border:rgba(34,34,34,.20);
  --sh-border-soft:rgba(34,34,34,.10);
  --sh-wash:rgba(34,34,34,.05);
  --sh-success:#56AD6A;
  --sh-error:#D02E2E;
  --sh-sale:#B6555C;
  --sh-overlay:rgba(0,0,0,.34);
  --sh-disabled-bg:#E7E7E5;
  --sh-disabled-fg:#9B9B9B;

  /* Neue Haas Display is the licensed target; until its files land in assets/
     the stack falls through to Helvetica Neue (macOS/iOS) and then to Inter,
     which Horizon already loads from Shopify's font CDN via settings. */
  --sh-font:"NeueHaasDisplayRoman","Helvetica Neue",var(--font-body--family,"Inter"),Arial,sans-serif;
  --sh-font-display:"NeueHaasDisplayMedium","Helvetica Neue",var(--font-body--family,"Inter"),Arial,sans-serif;
  --sh-fw-display:500;

  --sh-max:1400px;
  --sh-inset:34px;
  --sh-gap:20px;
  --sh-y:96px;
  --sh-y-sm:80px;
  --sh-y-tight:48px;

  --sh-radius-xs:3px;
  --sh-radius-sm:6px;
  --sh-radius-md:10px;
  --sh-radius-lg:15px;
  --sh-radius-pill:999px;

  --sh-fast:140ms;
  --sh-base:220ms;
  --sh-slow:360ms;
  --sh-ease:cubic-bezier(.2,.8,.2,1);
  --sh-focus:0 0 0 3px rgba(65,161,230,.20);
  --sh-protect:linear-gradient(to top,rgba(0,0,0,.62) 0%,rgba(0,0,0,.28) 34%,rgba(0,0,0,0) 68%);

  --sh-ann-h:32px;
  --sh-util-h:32px;
  --sh-header-h:68px;
}
@media (max-width:1024px){ :root{ --sh-inset:24px; --sh-y:64px; --sh-y-sm:56px; } }
@media (max-width:768px){ :root{ --sh-inset:16px; --sh-gap:12px; --sh-y:52px; --sh-y-sm:48px; --sh-y-tight:32px; --sh-ann-h:34px; --sh-header-h:56px; } }

/* ---------- scoped reset ---------- */
.sh{ font-family:var(--sh-font); font-size:14.5px; line-height:1.5; color:var(--sh-ink); -webkit-font-smoothing:antialiased; }
.sh *,.sh *::before,.sh *::after{ box-sizing:border-box; }
:where(.sh) :where(img,svg){ display:block; max-width:100%; }
:where(.sh) :where(p,figure,ul,ol,h1,h2,h3,h4){ margin:0; }
:where(.sh) :where(ul,ol){ padding:0; list-style:none; }
:where(.sh) :where(a){ color:inherit; text-decoration:none; transition:color var(--sh-fast) var(--sh-ease); }
:where(.sh) :where(button){ font:inherit; color:inherit; }
:where(.sh) :where(h1,h2,h3){ font-family:var(--sh-font-display); font-weight:var(--sh-fw-display); letter-spacing:-.005em; text-wrap:pretty; }
.sh :focus-visible{ outline:none; box-shadow:var(--sh-focus); }
.sh [hidden],.sh[hidden]{ display:none!important; }
.sh .visually-hidden{ position:absolute!important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion:reduce){ .sh *{ transition-duration:0ms!important; animation:none!important; scroll-behavior:auto!important; } }

/* ---------- layout ---------- */
.sh-shell{ max-width:var(--sh-max); margin:0 auto; padding-left:var(--sh-inset); padding-right:var(--sh-inset); }
.sh-band{ padding-top:var(--sh-y-sm); padding-bottom:var(--sh-y-sm); }
.sh-band--lg{ padding-top:var(--sh-y); padding-bottom:var(--sh-y); }
.sh-band--tight{ padding-top:var(--sh-y-tight); padding-bottom:var(--sh-y-tight); }
.sh-band--flush-top{ padding-top:0; }
.sh-tone-page{ background:var(--sh-white); }
.sh-tone-sunken{ background:var(--sh-surface); }
.sh-tone-muted{ background:var(--sh-surface-soft); }
.sh-tone-accent{ background:var(--sh-mist); }
.sh-tone-inverse{ background:var(--sh-ink); color:var(--sh-white); }

/* ---------- type roles ---------- */
.sh-kicker{ font-size:11px; line-height:1; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-muted); }
.sh-kicker--accent{ color:var(--sh-accent-text); }
.sh-h1{ font-size:clamp(32px,3.4vw,48px); line-height:1.15; letter-spacing:-.01em; }
.sh-h2{ font-size:clamp(25px,2.4vw,32px); line-height:1.2; }
.sh-h3{ font-size:clamp(19px,1.6vw,22px); line-height:1.25; }
.sh-lede{ font-size:clamp(15px,1.2vw,17.5px); line-height:1.45; color:var(--sh-muted); }
.sh-body{ font-size:14.5px; line-height:1.55; color:var(--sh-muted); }
.sh-body--lg{ font-size:16px; line-height:1.6; }
.sh-small{ font-size:13px; line-height:1.45; color:var(--sh-muted); }
.sh-micro{ font-size:12px; line-height:1.4; color:var(--sh-tertiary); }
.sh-measure{ max-width:52ch; }
.sh-tone-inverse .sh-lede,.sh-tone-inverse .sh-body,.sh-tone-inverse .sh-kicker{ color:rgba(255,255,255,.8); }
.sh-rte p+p{ margin-top:12px; }
.sh-rte a{ text-decoration:underline; text-underline-offset:3px; }

/* ---------- buttons and links ---------- */
.sh-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 22px;
  background:var(--sh-ink); color:var(--sh-white); border:1px solid var(--sh-ink); border-radius:var(--sh-radius-sm);
  font-size:12px; font-weight:500; letter-spacing:.10em; text-transform:uppercase; line-height:1; cursor:pointer; white-space:nowrap;
  transition:background var(--sh-base) var(--sh-ease),color var(--sh-base) var(--sh-ease),border-color var(--sh-base) var(--sh-ease),transform var(--sh-fast) var(--sh-ease); }
.sh-btn:hover{ background:var(--sh-black); border-color:var(--sh-black); color:var(--sh-white); }
.sh-btn:active{ transform:scale(.99); }
.sh-btn[disabled],.sh-btn[aria-disabled="true"]{ background:var(--sh-disabled-bg); border-color:var(--sh-disabled-bg); color:var(--sh-disabled-fg); cursor:not-allowed; }
.sh-btn--secondary{ background:transparent; color:var(--sh-ink); }
.sh-btn--secondary:hover{ background:var(--sh-surface); color:var(--sh-ink); border-color:var(--sh-ink); }
.sh-btn--ghost{ background:transparent; border-color:transparent; color:var(--sh-ink); }
.sh-btn--ghost:hover{ background:var(--sh-surface); border-color:transparent; color:var(--sh-ink); }
.sh-btn--inverse{ background:var(--sh-white); border-color:var(--sh-white); color:var(--sh-ink); }
.sh-btn--inverse:hover{ background:var(--sh-surface); border-color:var(--sh-surface); color:var(--sh-ink); }
.sh-btn--lg{ min-height:52px; padding:0 28px; }
.sh-btn--sm{ min-height:36px; padding:0 14px; font-size:11px; }
.sh-btn--block{ width:100%; }
.sh-btn.is-loading{ color:transparent; position:relative; }
.sh-btn.is-loading::after{ content:""; position:absolute; width:16px; height:16px; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:sh-spin .8s linear infinite; }
@keyframes sh-spin{ to{ transform:rotate(360deg); } }
.sh-link{ display:inline-flex; align-items:center; gap:6px; font-size:13px; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--sh-border); }
.sh-link:hover{ color:var(--sh-muted); text-decoration-color:currentColor; }
.sh-link--nav{ font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; text-decoration:none; }
.sh-link--nav:hover{ color:var(--sh-muted); }
.sh-iconbtn{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; background:none; border:0; border-radius:var(--sh-radius-sm); cursor:pointer; position:relative; color:var(--sh-ink); }
.sh-iconbtn:hover{ background:var(--sh-surface); }
.sh-iconbtn svg{ width:20px; height:20px; }
.sh-iconbtn__badge{ position:absolute; top:6px; right:4px; min-width:16px; height:16px; padding:0 4px; border-radius:var(--sh-radius-pill); background:var(--sh-ink); color:var(--sh-white); font-size:10px; line-height:16px; text-align:center; }
.sh-iconbtn__badge:empty,.sh-iconbtn__badge[data-zero]{ display:none; }
.sh-icon{ width:16px; height:16px; flex:0 0 auto; }
.sh-icon--lg{ width:20px; height:20px; }

/* ---------- badges, price ---------- */
.sh-badge{ display:inline-flex; align-items:center; height:22px; padding:0 8px; border-radius:var(--sh-radius-xs); font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.sh-badge--sale{ background:var(--sh-ink); color:var(--sh-white); }
.sh-badge--new{ background:var(--sh-mist); color:var(--sh-ink); }
.sh-badge--soft{ background:var(--sh-surface); color:var(--sh-muted); }
.sh-badge--outline{ border:1px solid var(--sh-border); color:var(--sh-ink); }
.sh-price{ display:inline-flex; align-items:baseline; gap:10px; flex-wrap:wrap; font-variant-numeric:tabular-nums; }
.sh-price__now{ font-weight:500; }
.sh-price__was{ color:var(--sh-sale); text-decoration:line-through; text-decoration-thickness:1.5px; font-size:.8em; }
.sh-price__off{ display:inline-flex; align-items:center; align-self:center; height:1.5em; padding:0 .55em; border-radius:8px; background:var(--sh-ink); color:var(--sh-white); font-size:.5em; font-weight:600; letter-spacing:.02em; white-space:nowrap; }
.sh-price--xl .sh-price__off{ font-size:13px; height:30px; padding:0 12px; }
.sh-price--xl .sh-price__was{ font-size:20px; }
.sh-price--xl{ align-items:center; gap:12px; }
.sh-sticky__text .sh-price__was{ font-size:12px; font-weight:400; margin-right:2px; }
.sh-price--xl .sh-price__now{ font-size:26px; line-height:1; }
.sh-price--lg .sh-price__now{ font-size:20px; }
.sh-price__note{ display:block; margin-top:6px; }

/* ---------- section header + tabs ---------- */
.sh-sechead{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.sh-sechead__text{ display:flex; flex-direction:column; gap:10px; max-width:60ch; }
.sh-sechead--center{ justify-content:center; text-align:center; }
.sh-sechead--center .sh-sechead__text{ align-items:center; }
.sh-tabs{ display:flex; gap:22px; margin-top:22px; border-bottom:1px solid var(--sh-border-soft); overflow-x:auto; scrollbar-width:none; }
.sh-tabs::-webkit-scrollbar{ display:none; }
.sh-tab{ padding:12px 0; background:none; border:0; border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer; font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; color:var(--sh-muted); white-space:nowrap; }
.sh-tab[aria-selected="true"]{ color:var(--sh-ink); border-bottom-color:var(--sh-ink); }
.sh-tab:hover{ color:var(--sh-ink); }

/* ---------- product rail and card ---------- */
.sh-rail{ position:relative; }
.sh-rail__track{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,calc((100% - 3 * var(--sh-gap)) / 4)); gap:var(--sh-gap);
  overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:24px 0 8px; margin:0 calc(-1 * var(--sh-inset)); padding-left:var(--sh-inset); padding-right:var(--sh-inset); scroll-padding-left:var(--sh-inset); }
.sh-rail__track::-webkit-scrollbar{ display:none; }
.sh-rail__track>*{ scroll-snap-align:start; }
.sh-rail--5 .sh-rail__track{ grid-auto-columns:minmax(200px,calc((100% - 4 * var(--sh-gap)) / 5)); }
.sh-rail__ctl{ display:flex; gap:6px; }
.sh-rail__arrow{ width:36px; height:36px; border-radius:var(--sh-radius-pill); border:1px solid var(--sh-border-soft); background:var(--sh-white); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; }
.sh-rail__arrow:hover{ border-color:var(--sh-ink); }
.sh-rail__arrow svg{ width:16px; height:16px; }
.sh-rail__empty{ padding:28px; border:1px dashed var(--sh-border); border-radius:var(--sh-radius-md); }
.sh-card{ display:flex; flex-direction:column; gap:10px; min-width:0; }
.sh-card__media{ position:relative; aspect-ratio:3/4; overflow:hidden; border-radius:var(--sh-radius-sm); background:var(--sh-surface); }
.sh-card__img{ position:absolute; inset:0; display:block; }
.sh-card__img img{ width:100%; height:100%; object-fit:cover; transition:opacity var(--sh-slow) var(--sh-ease),transform var(--sh-slow) var(--sh-ease); }
.sh-card__img img+img{ position:absolute; inset:0; opacity:0; }
@media (hover:hover){ .sh-card:hover .sh-card__img img+img{ opacity:1; } .sh-card:hover .sh-card__img img:first-child{ transform:scale(1.02); } }
.sh-card.is-swatched .sh-card__img img+img{ display:none; }
.sh-card__save{ position:absolute; top:12px; right:12px; z-index:2; display:inline-flex; align-items:center; height:28px; padding:0 10px; border-radius:8px; background:var(--sh-black); color:var(--sh-white); font-size:12.5px; font-weight:600; letter-spacing:.01em; text-transform:uppercase; white-space:nowrap; pointer-events:none; }
.sh-card__save--new{ background:var(--sh-mist); color:var(--sh-ink); }
.sh-card__quick{ position:absolute; right:12px; bottom:12px; z-index:2; width:46px; height:46px; padding:0; border:0; border-radius:50%; background:var(--sh-white); color:var(--sh-ink); box-shadow:0 6px 18px -8px rgba(0,0,0,.25); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:transform var(--sh-fast) var(--sh-ease),box-shadow var(--sh-fast) var(--sh-ease); }
.sh-card__quick svg{ width:20px; height:20px; }
.sh-card__quick:hover{ transform:scale(1.06); box-shadow:0 8px 22px -8px rgba(0,0,0,.3); }
.sh-card__quick.is-loading svg{ opacity:.35; }
.sh-card__swatches{ display:flex; align-items:center; gap:8px; min-height:32px; margin-top:2px; }
.sh-card__sw{ width:32px; height:32px; padding:0; border:0; border-radius:50%; overflow:hidden; background:var(--sh-surface); cursor:pointer; box-shadow:0 0 0 1px var(--sh-border-soft); transition:box-shadow var(--sh-fast) var(--sh-ease); }
.sh-card__sw img{ width:100%; height:100%; object-fit:cover; transform:scale(1.45); }
.sh-card__sw:hover{ box-shadow:0 0 0 1px var(--sh-muted); }
.sh-card__sw.is-active{ box-shadow:0 0 0 2px var(--sh-white),0 0 0 3px var(--sh-ink); }
.sh-card__more{ font-size:13px; color:var(--sh-muted); margin-left:2px; }
.sh-card__more:hover{ color:var(--sh-ink); }
.sh-card__title{ font-size:14.5px; font-weight:500; line-height:1.35; }
.sh-card__sub{ font-size:13px; color:var(--sh-muted); }
.sh-card__price{ font-size:15px; gap:10px; }
.sh-card__price .sh-price__was{ font-size:1em; }
.sh-card__price .sh-price__now{ font-weight:400; }
.sh-card__soldout{ font-size:12px; color:var(--sh-tertiary); }
.sh-card--placeholder .sh-card__media{ border:1px dashed var(--sh-border); background:var(--sh-white); display:flex; align-items:center; justify-content:center; }
.sh-card--placeholder .sh-card__media span{ font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--sh-tertiary); text-align:center; padding:12px; }

/* ---------- utility bar ---------- */
.sh-util{ background:var(--sh-surface); border-bottom:1px solid var(--sh-border-soft); }
.sh-util__in{ max-width:var(--sh-max); margin:0 auto; padding:0 var(--sh-inset); min-height:40px; display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.sh-util__link{ font-size:13px; color:var(--sh-ink); }
.sh-util__link:hover{ color:var(--sh-ink); }
.sh-util__bar{ width:1px; height:14px; background:var(--sh-border-soft); }
.sh-loc{ position:relative; }
.sh-loc__btn{ display:flex; align-items:center; gap:8px; min-height:var(--sh-util-h); padding:0 4px; background:none; border:0; cursor:pointer; font-size:13px; color:var(--sh-ink); white-space:nowrap; }
.sh-loc__btn:hover{ color:var(--sh-ink); }
.sh-loc__btn svg{ width:12px; height:12px; }
.sh-loc__flag{ width:22px; height:22px; border-radius:50%; object-fit:cover; }
.sh-loc__panel{ position:absolute; right:0; top:calc(100% + 6px); z-index:120; width:min(320px,calc(100vw - 32px)); background:var(--sh-white); border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-md); box-shadow:0 20px 48px -16px rgba(0,0,0,.2); overflow:hidden; }
.sh-loc__search{ padding:10px; border-bottom:1px solid var(--sh-border-soft); }
.sh-loc__search input{ width:100%; height:38px; padding:0 12px; border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-sm); font:inherit; font-size:13px; }
.sh-loc__menu{ max-height:320px; overflow-y:auto; padding:6px 0; }
.sh-loc__menu button{ display:flex; align-items:center; gap:10px; width:100%; padding:9px 14px; background:none; border:0; cursor:pointer; text-align:left; font-size:13px; }
.sh-loc__menu button:hover,.sh-loc__menu button[aria-current="true"]{ background:var(--sh-surface); }
.sh-loc__menu button[aria-current="true"]{ font-weight:500; }
.sh-loc__sep{ height:1px; margin:6px 0; background:var(--sh-border-soft); }
.sh-loc__none{ padding:12px 14px; font-size:13px; color:var(--sh-muted); }
.sh-util--footer .sh-loc__panel{ top:auto; bottom:calc(100% + 6px); }

/* ---------- announcement ---------- */
.sh-announce{ background:var(--sh-ink); color:var(--sh-white); overflow:hidden; }
.sh-announce__in{ max-width:var(--sh-max); margin:0 auto; padding:0 var(--sh-inset); min-height:var(--sh-ann-h); display:flex; align-items:center; justify-content:center; text-align:center; }
.sh-announce__in p,.sh-announce__in a{ font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; padding:6px 0; }
.sh-announce__in a{ text-decoration:none; color:inherit; }
.sh-announce__track{ display:grid; width:100%; }
/* messages wait off-screen right, slide in, and leave to the left */
.sh-announce__msg{ grid-area:1/1; display:flex; justify-content:center; transform:translateX(100%); visibility:hidden; }
.sh-announce__msg.is-on{ transform:translateX(0); visibility:visible; transition:transform 650ms cubic-bezier(.65,0,.35,1); }
.sh-announce__msg.is-out{ transform:translateX(-100%); visibility:visible; transition:transform 650ms cubic-bezier(.65,0,.35,1); }
@media (prefers-reduced-motion:reduce){ .sh-announce__msg.is-on,.sh-announce__msg.is-out{ transition:none; } }

/* ---------- header ---------- */
#header-group{ position:sticky; top:calc(-1 * var(--sh-above-h, var(--sh-ann-h))); z-index:100; }
.sh-header{ background:var(--sh-white); border-bottom:1px solid var(--sh-border-soft); }
.sh-header__in{ max-width:var(--sh-max); margin:0 auto; padding:0 var(--sh-inset); height:var(--sh-header-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; }
.sh-nav{ display:flex; align-items:center; gap:clamp(18px,2.2vw,28px); }
.sh-nav a{ font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; white-space:nowrap; }
.sh-nav a:hover{ color:var(--sh-muted); }
.sh-wordmark{ display:inline-flex; align-items:center; justify-content:center; font-family:var(--sh-font-display); font-weight:500; font-size:19px; letter-spacing:.02em; white-space:nowrap; }
.sh-wordmark img{ height:var(--sh-logo-h,26px); width:auto; }
.sh-wordmark{ gap:6px; }
.sh-wordmark__mark{ width:var(--sh-mark-size,22px); height:var(--sh-mark-size,22px); color:var(--sh-mark-color,#E7EEFF); flex:0 0 auto; }
.sh-header__end{ display:flex; align-items:center; justify-content:flex-end; gap:2px; }
.sh-header__cur{ display:none; }
.sh-header__cur .sh-loc__btn{ min-height:44px; color:var(--sh-ink); letter-spacing:.08em; }
.sh-header__cur .sh-loc__panel{ top:calc(100% + 2px); }
.sh-header__menu{ display:none; }
.sh-drawer{ position:fixed; inset:0; z-index:130; display:none; }
.sh-drawer.is-open{ display:block; }
.sh-drawer__scrim{ position:absolute; inset:0; background:var(--sh-overlay); border:0; padding:0; width:100%; cursor:pointer; }
.sh-drawer__panel{ position:absolute; top:0; bottom:0; left:0; width:min(360px,88vw); background:var(--sh-white); display:flex; flex-direction:column; transform:translateX(-100%); transition:transform var(--sh-slow) var(--sh-ease); }
.sh-drawer.is-open .sh-drawer__panel{ transform:none; }
.sh-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:8px 8px 8px 20px; border-bottom:1px solid var(--sh-border-soft); }
.sh-drawer__nav{ display:flex; flex-direction:column; padding:8px 0; }
.sh-drawer__nav a{ padding:14px 20px; font-size:15px; border-bottom:1px solid var(--sh-border-soft); }
.sh-drawer__foot{ margin-top:auto; padding:16px 20px calc(16px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:12px; border-top:1px solid var(--sh-border-soft); }
.sh-drawer__foot a{ font-size:13px; }
@media (max-width:1024px){
  .sh-header__in{ grid-template-columns:1fr auto 1fr; }
  .sh-nav,.sh-header__cur,.sh-header__account{ display:none; }
  .sh-header__menu{ display:inline-flex; }
  .sh-wordmark{ justify-self:center; }
}

/* ---------- hero (full bleed) ---------- */
.sh-hero{ position:relative; overflow:hidden; background:var(--sh-surface-soft); color:var(--sh-white); }
.sh-hero__media{ position:relative; width:100%; aspect-ratio:21/9; min-height:420px; max-height:82vh; }
.sh-hero--short .sh-hero__media{ aspect-ratio:21/8; min-height:360px; }
.sh-hero__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--focal,50% 50%); }
.sh-hero__media::after{ content:""; position:absolute; inset:0; background:var(--sh-protect); }
.sh-hero__slide{ position:absolute; inset:0; opacity:0; transition:opacity 900ms var(--sh-ease); }
.sh-hero__slide.is-on{ opacity:1; }
.sh-hero__slide img{ object-position:var(--focal,50% 50%); }
.sh-hero__dots{ position:absolute; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vw,34px); z-index:2; display:flex; align-items:center; gap:8px; height:36px; padding:0 14px; border-radius:var(--sh-radius-pill); background:var(--sh-white); box-shadow:0 6px 20px -8px rgba(0,0,0,.25); }
.sh-hero__dot{ display:inline-flex; align-items:center; gap:0; height:36px; padding:0 4px; background:none; border:0; cursor:pointer; }
.sh-hero__dot i{ display:block; width:6px; height:6px; border-radius:var(--sh-radius-pill); background:rgba(34,34,34,.25); transition:background var(--sh-base) var(--sh-ease); }
.sh-hero__dot.is-on i{ background:var(--sh-ink); }
.sh-hero__dot.is-on::after{ content:""; display:block; width:44px; height:1.5px; margin-left:8px; border-radius:2px; background:linear-gradient(to right,var(--sh-ink) var(--sh-progress,0%),rgba(34,34,34,.2) var(--sh-progress,0%)); }
@media (max-width:768px){ .sh.sh-hero .sh-hero__in{ padding-bottom:68px; } .sh-hero__dots{ right:auto; left:50%; transform:translateX(-50%); bottom:14px; height:32px; padding:0 12px; } .sh-hero__dot{ height:32px; } .sh-hero__dot.is-on::after{ width:32px; } .sh-hero__slide img{ object-position:var(--focal-m,var(--focal,50% 50%)); } }
.sh-hero__in{ position:absolute; inset:auto 0 0 0; padding:0 var(--sh-inset) clamp(28px,4vw,48px); display:flex; justify-content:center; }
.sh-hero__body{ width:100%; max-width:var(--sh-max); display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.sh-hero__body .sh-kicker{ color:rgba(255,255,255,.85); }
.sh-hero__body .sh-h1,.sh-hero__body .sh-h2{ max-width:22ch; }
.sh-hero__body .sh-lede{ color:rgba(255,255,255,.9); max-width:46ch; }
.sh-hero__cta{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-top:6px; }
@media (max-width:768px){
  .sh-hero__media::after{ background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.5) 38%,rgba(0,0,0,.18) 62%,rgba(0,0,0,0) 80%); }
  .sh-hero__media{ aspect-ratio:4/5; min-height:0; max-height:none; }
  /* short banner on mobile: the desktop 21/8 + min-height rule used to win and stretch the box to ~945px wide */
  .sh-hero--short .sh-hero__media{ aspect-ratio:1/1; min-height:360px; }
  .sh-hero__media img{ object-position:var(--focal-m,var(--focal,50% 50%)); }
  .sh-hero__body{ gap:12px; }
}

/* ---------- value strip / trust row ---------- */
.sh-trust{ display:grid; gap:16px 20px; }
.sh-trust--row{ grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.sh-trust--row.is-divided>*{ padding:0 16px; border-left:1px solid var(--sh-border-soft); }
.sh-trust--row.is-divided>*:first-child{ border-left:0; padding-left:0; }
.sh-trust--grid{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 0; border-top:1px solid var(--sh-border-soft); border-bottom:1px solid var(--sh-border-soft); }
.sh-trust__item{ display:flex; gap:10px; align-items:flex-start; min-width:0; }
.sh-trust__item svg{ width:18px; height:18px; flex:0 0 auto; margin-top:1px; color:var(--sh-ink); }
.sh-trust__item b{ display:block; font-weight:500; font-size:13.5px; line-height:1.3; }
.sh-trust__item p{ font-size:12.5px; color:var(--sh-muted); line-height:1.4; margin-top:2px; }
@media (max-width:768px){ .sh-trust--row{ grid-template-columns:repeat(2,minmax(0,1fr)); } .sh-trust--row.is-divided>*{ border-left:0; padding:0; } }

/* ---------- category tiles / collection banner ---------- */
.sh-tiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:var(--sh-gap); }
.sh-tile{ position:relative; display:block; overflow:hidden; border-radius:var(--sh-radius-md); background:var(--sh-surface-soft); color:var(--sh-white); aspect-ratio:4/3; }
.sh-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform var(--sh-slow) var(--sh-ease); }
.sh-tile:hover img{ transform:scale(1.03); }
.sh-tile::after{ content:""; position:absolute; inset:0; background:var(--sh-protect); }
.sh-tile__in{ position:absolute; inset:auto 0 0 0; z-index:1; padding:clamp(20px,3vw,32px); display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.sh-tile__in .sh-badge{ margin-bottom:4px; }
.sh-tile__in h3{ font-size:clamp(22px,2.4vw,32px); line-height:1.15; }
.sh-tile__in p{ font-size:14px; color:rgba(255,255,255,.9); max-width:40ch; }
.sh-tile--placeholder{ border:1px dashed var(--sh-border); background:var(--sh-white); color:var(--sh-ink); }
.sh-tile--placeholder::after{ display:none; }
.sh-tile--placeholder p{ color:var(--sh-muted); }

/* ---------- UGC / image mosaic ---------- */
.sh-ugc{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.sh-ugc__item{ position:relative; display:block; aspect-ratio:2/3; overflow:hidden; border-radius:var(--sh-radius-sm); background:var(--sh-surface); }
.sh-ugc__item img{ width:100%; height:100%; object-fit:cover; transition:transform var(--sh-slow) var(--sh-ease); }
.sh-ugc__item:hover img{ transform:scale(1.03); }
.sh-ugc__tag{ position:absolute; left:10px; right:10px; bottom:10px; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; background:rgba(255,255,255,.92); border-radius:var(--sh-radius-xs); font-size:12px; }
.sh-ugc__tag b{ font-weight:500; }
.sh-ugc__tag span{ color:var(--sh-muted); }
.sh-ugc__item--placeholder{ border:1px dashed var(--sh-border); background:var(--sh-white); display:flex; align-items:center; justify-content:center; text-align:center; padding:12px; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--sh-tertiary); }
@media (min-width:1025px){ .sh-ugc:has(> :nth-child(4):last-child){ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:1024px){ .sh-ugc{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:768px){ .sh-ugc{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(-1 * var(--sh-inset)); padding:0 var(--sh-inset); scroll-padding-left:var(--sh-inset); } .sh-ugc::-webkit-scrollbar{ display:none; } .sh-ugc>*{ flex:0 0 58%; scroll-snap-align:start; } }

/* ---------- editorial split ---------- */
.sh-split{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,4vw,48px); align-items:center; }
.sh-split--media-right .sh-split__media{ order:2; }
.sh-split__media{ position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:var(--sh-radius-md); background:var(--sh-surface); }
.sh-split__media img{ width:100%; height:100%; object-fit:cover; }
.sh-split__body{ display:flex; flex-direction:column; gap:18px; }
.sh-split__body .sh-h2{ max-width:20ch; }
.sh-bullets{ display:flex; flex-direction:column; gap:10px; }
.sh-bullets li{ display:flex; gap:12px; align-items:center; font-size:14.5px; line-height:1.5; }
.sh-bullets b{ font-weight:500; }
@media (max-width:768px){ .sh-split{ grid-template-columns:1fr; } .sh-split--media-right .sh-split__media{ order:0; } }

/* ---------- shop the look hotspots (editorial split) ---------- */
.sh-split__figure{ position:relative; min-width:0; }
.sh-split--media-right .sh-split__figure{ order:2; }
.sh-hs{ --l:var(--len); --bx:0px; --by:calc(-1 * var(--l)); position:absolute; left:var(--x); top:var(--y); width:0; height:0; z-index:2; }
.sh-hs--down{ --by:var(--l); }
.sh-hs--left{ --bx:calc(-1 * var(--l)); --by:0px; }
.sh-hs--right{ --bx:var(--l); --by:0px; }
.sh-hs__dot{ position:absolute; left:-5px; top:-5px; width:10px; height:10px; border-radius:50%; background:#fff; box-shadow:0 0 0 4px rgba(255,255,255,.35), 0 1px 4px rgba(0,0,0,.25); }
.sh-hs__line{ position:absolute; background:rgba(255,255,255,.95); box-shadow:0 0 3px rgba(0,0,0,.18); }
.sh-hs--up .sh-hs__line{ left:-.5px; bottom:0; width:1px; height:var(--l); }
.sh-hs--down .sh-hs__line{ left:-.5px; top:0; width:1px; height:var(--l); }
.sh-hs--left .sh-hs__line{ right:0; top:-.5px; height:1px; width:var(--l); }
.sh-hs--right .sh-hs__line{ left:0; top:-.5px; height:1px; width:var(--l); }
.sh-hs__btn{ position:absolute; left:calc(var(--bx) - 17px); top:calc(var(--by) - 17px); width:34px; height:34px; padding:0; border:0; border-radius:50%; background:#fff; color:var(--sh-ink); display:grid; place-items:center; cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,.18); transition:transform var(--sh-fast) var(--sh-ease), background var(--sh-fast) var(--sh-ease), color var(--sh-fast) var(--sh-ease); }
.sh-hs__btn svg{ width:16px; height:16px; transition:transform var(--sh-fast) var(--sh-ease); }
.sh-hs__btn::after{ content:""; position:absolute; inset:-5px; border-radius:50%; border:1px solid rgba(255,255,255,.8); animation:sh-hs-pulse 2.4s var(--sh-ease) infinite; pointer-events:none; }
.sh-hs__btn:hover{ transform:scale(1.06); }
.sh-hs__btn:focus-visible{ outline:2px solid var(--sh-ink); outline-offset:3px; }
.sh-hs.is-open .sh-hs__btn{ background:var(--sh-ink); color:#fff; }
.sh-hs.is-open .sh-hs__btn svg{ transform:rotate(45deg); }
.sh-hs.is-open .sh-hs__btn::after{ animation:none; opacity:0; }
.sh-hs.is-open{ z-index:3; }
@keyframes sh-hs-pulse{ 0%{ transform:scale(.9); opacity:.9; } 70%{ transform:scale(1.35); opacity:0; } 100%{ transform:scale(1.35); opacity:0; } }
@media (prefers-reduced-motion:reduce){ .sh-hs__btn::after{ animation:none; opacity:0; } }
.sh-hs__card{ --tx:-50%; --ty:0px; --gap:26px; position:absolute; left:var(--bx); top:calc(var(--by) + var(--gap)); width:max-content; max-width:min(280px, 72vw); display:flex; align-items:center; gap:12px; padding:8px 14px 8px 8px; background:#fff; color:var(--sh-ink); border-radius:var(--sh-radius-md); box-shadow:0 10px 30px rgba(0,0,0,.16); text-decoration:none; opacity:0; visibility:hidden; transform:translate(var(--tx), calc(var(--ty) + 6px)); transition:opacity var(--sh-fast) var(--sh-ease), transform var(--sh-fast) var(--sh-ease), visibility 0s linear .2s; }
.sh-hs--x-start .sh-hs__card{ --tx:0px; left:calc(var(--bx) - 17px); }
.sh-hs--x-end .sh-hs__card{ --tx:-100%; left:calc(var(--bx) + 17px); }
.sh-hs--y-above .sh-hs__card{ top:calc(var(--by) - var(--gap)); --ty:-100%; }
.sh-hs.is-open .sh-hs__card{ opacity:1; visibility:visible; transform:translate(var(--tx), var(--ty)); transition-delay:0s; }
.sh-hs__thumb{ flex:0 0 56px; width:56px; height:56px; border-radius:var(--sh-radius-sm); overflow:hidden; background:var(--sh-surface); }
.sh-hs__thumb img{ width:100%; height:100%; object-fit:cover; }
.sh-hs__info{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.sh-hs__title{ font-size:14px; font-weight:500; line-height:1.3; }
.sh-hs__price{ font-size:13px; color:var(--sh-ink); }
.sh-hs__price s{ color:var(--sh-sale); margin-right:4px; }
.sh-hs__go{ flex:0 0 auto; display:grid; place-items:center; margin-left:4px; }
.sh-hs__go svg{ width:16px; height:16px; transition:transform var(--sh-fast) var(--sh-ease); }
.sh-hs__card:hover .sh-hs__go svg{ transform:translateX(3px); }
@media (max-width:768px){
  .sh-split--media-right .sh-split__figure{ order:0; }
  .sh-hs{ --l:calc(var(--len) * .6); }
  .sh-hs__btn{ width:30px; height:30px; left:calc(var(--bx) - 15px); top:calc(var(--by) - 15px); }
  .sh-hs__card{ --gap:22px; }
  .sh-hs__thumb{ flex-basis:48px; width:48px; height:48px; }
}

/* ---------- steps / pillars ---------- */
.sh-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px var(--sh-gap); margin-top:40px; }
.sh-step{ display:flex; flex-direction:column; gap:12px; }
.sh-step__media{ aspect-ratio:4/3; overflow:hidden; border-radius:var(--sh-radius-md); background:var(--sh-surface); }
.sh-step__media img{ width:100%; height:100%; object-fit:cover; }
.sh-step__num{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-tertiary); }
.sh-step h3{ font-size:19px; line-height:1.25; }
.sh-step p{ font-size:14.5px; line-height:1.55; color:var(--sh-muted); max-width:44ch; }
.sh-tone-accent .sh-step__media{ background:var(--sh-white); }
@media (max-width:768px){ .sh-steps{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:28px calc(-1 * var(--sh-inset)) 0; padding:0 var(--sh-inset) 8px; scroll-padding-left:var(--sh-inset); } .sh-steps::-webkit-scrollbar{ display:none; } .sh-steps>*{ flex:0 0 76%; scroll-snap-align:start; } } }

/* ---------- newsletter ---------- */
.sh-news{ display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:center; padding:clamp(28px,4vw,44px); background:var(--sh-surface); border-radius:var(--sh-radius-md); }
.sh-news__text{ display:flex; flex-direction:column; gap:10px; }
.sh-form{ display:flex; gap:8px; }
.sh-form input{ flex:1 1 auto; min-width:0; height:48px; padding:0 14px; border:1px solid var(--sh-border); border-radius:var(--sh-radius-sm); background:var(--sh-white); font:inherit; font-size:14px; }
.sh-form input:focus-visible{ border-color:var(--sh-air); }
.sh-form__msg{ font-size:13px; margin-top:8px; }
.sh-form__msg--ok{ color:var(--sh-success); }
.sh-form__msg--err{ color:var(--sh-error); }
@media (max-width:768px){ .sh-news{ grid-template-columns:1fr; } .sh-form{ flex-direction:column; } }

/* ---------- footer ---------- */
.sh-footer{ background:var(--sh-footer); }
.sh-footer__in{ max-width:var(--sh-max); margin:0 auto; padding:clamp(44px,5vw,64px) var(--sh-inset); }
.sh-footer__cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:40px var(--sh-gap); }
.sh-footer__col{ display:flex; flex-direction:column; gap:14px; min-width:0; }
.sh-footer__col h3{ font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; font-weight:500; }
.sh-footer__links{ display:flex; flex-direction:column; gap:10px; }
.sh-footer__links a{ font-size:13px; }
.sh-footer__links a:hover{ color:var(--sh-muted); }
.sh-footer__col p{ font-size:13px; line-height:1.45; color:var(--sh-muted); max-width:40ch; }
.sh-subfooter{ background:var(--sh-subfooter); }
.sh-subfooter__in{ max-width:var(--sh-max); margin:0 auto; padding:18px var(--sh-inset); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--sh-muted); }
.sh-subfooter__links{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.sh-subfooter__links a:hover{ color:var(--sh-ink); }
.sh-payments{ display:flex; gap:6px; flex-wrap:wrap; }
.sh-payments svg{ width:34px; height:22px; }
@media (max-width:768px){
  .sh-footer__cols{ grid-template-columns:1fr; gap:0; }
  .sh-footer__col--acc{ border-top:1px solid var(--sh-border-soft); }
  .sh-footer__col--acc details summary{ list-style:none; display:flex; justify-content:space-between; align-items:center; padding:14px 0; cursor:pointer; font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; font-weight:500; }
  .sh-footer__col--acc details summary::-webkit-details-marker{ display:none; }
  .sh-footer__col--acc details summary svg{ width:16px; height:16px; transition:transform var(--sh-base) var(--sh-ease); }
  .sh-footer__col--acc details[open] summary svg{ transform:rotate(180deg); }
  .sh-footer__col--acc .sh-footer__links{ padding:0 0 18px; }
  .sh-footer__col--news{ padding-top:28px; }
}
@media (min-width:769px){ .sh-footer__col--acc details summary{ list-style:none; pointer-events:none; font-size:11.5px; letter-spacing:.10em; text-transform:uppercase; font-weight:500; } .sh-footer__col--acc details summary::-webkit-details-marker{ display:none; } .sh-footer__col--acc details summary svg{ display:none; } .sh-footer__col--acc details{ display:flex; flex-direction:column; gap:14px; } .sh-footer__col--acc details:not([open]) .sh-footer__links{ display:flex; } }
.sh-select{ position:relative; display:inline-flex; }
.sh-select select{ appearance:none; -webkit-appearance:none; height:40px; padding:0 34px 0 12px; border:1px solid var(--sh-border); border-radius:var(--sh-radius-sm); background:var(--sh-white); font:inherit; font-size:13px; color:var(--sh-ink); cursor:pointer; max-width:100%; }
.sh-select svg{ position:absolute; right:12px; top:50%; width:14px; height:14px; transform:translateY(-50%); pointer-events:none; }

/* ---------- cart drawer ---------- */
.sh-cart__scrim{ position:fixed; inset:0; z-index:140; background:var(--sh-overlay); opacity:0; pointer-events:none; transition:opacity var(--sh-base) var(--sh-ease); }
.sh-cart__scrim.is-open{ opacity:1; pointer-events:auto; }
.sh-cart{ position:fixed; top:0; right:0; bottom:0; z-index:150; width:min(440px,100vw); background:var(--sh-white); transform:translateX(100%); transition:transform var(--sh-slow) var(--sh-ease); display:flex; flex-direction:column; box-shadow:0 24px 60px rgba(34,34,34,.22); }
.sh-cart.is-open{ transform:none; }
.sh-cart__panel{ display:flex; flex-direction:column; height:100%; }
.sh-cart__head{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; padding:16px 24px; border-bottom:1px solid var(--sh-border-soft); }
.sh-cart__head h2{ justify-self:start; }
.sh-cart__mark{ display:inline-flex; }
.sh-cart__head .sh-iconbtn{ justify-self:end; margin-right:-12px; }
.sh-cart__head h2{ font-size:19px; }
.sh-cart__title{ display:inline-flex; align-items:center; gap:8px; }
.sh-mark{ flex:0 0 auto; }
.sh-cart__body{ flex:1 1 auto; overflow-y:auto; padding:8px 24px; }
.sh-cart__row{ display:grid; grid-template-columns:88px 1fr; gap:16px; padding:16px 0; border-bottom:1px solid var(--sh-border-soft); transition:opacity var(--sh-fast) var(--sh-ease); }
.sh-cart__row.is-going{ opacity:0; }
.sh-cart__thumb{ aspect-ratio:1; border-radius:var(--sh-radius-sm); overflow:hidden; background:var(--sh-surface); }
.sh-cart__thumb img{ width:100%; height:100%; object-fit:cover; }
.sh-cart__top{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.sh-cart__name{ font-size:14.5px; font-weight:500; line-height:1.3; }
.sh-cart__opt{ font-size:12.5px; color:var(--sh-muted); margin-top:2px; }
.sh-cart__kill{ width:32px; height:32px; margin:-6px -6px 0 0; padding:0; background:none; border:0; cursor:pointer; color:var(--sh-tertiary); display:inline-flex; align-items:center; justify-content:center; }
.sh-cart__kill:hover{ color:var(--sh-ink); }
.sh-cart__kill svg{ width:16px; height:16px; }
.sh-cart__bot{ display:flex; justify-content:space-between; align-items:center; margin-top:12px; }
.sh-cart__line{ font-size:14px; font-variant-numeric:tabular-nums; }
.sh-qty{ display:inline-flex; align-items:center; border:1px solid var(--sh-border); border-radius:var(--sh-radius-sm); height:40px; }
.sh-qty button{ width:40px; height:100%; padding:0; background:none; border:0; cursor:pointer; font-size:18px; line-height:1; color:var(--sh-ink); }
.sh-qty button[disabled]{ color:var(--sh-disabled-fg); cursor:not-allowed; }
.sh-qty span,.sh-qty input{ min-width:32px; text-align:center; font-size:14px; border:0; background:none; font:inherit; padding:0; -moz-appearance:textfield; }
.sh-qty input::-webkit-outer-spin-button,.sh-qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.sh-qty--lg{ height:52px; }
.sh-qty--lg button{ width:44px; }
.sh-cart__empty{ padding:48px 0; text-align:center; display:flex; flex-direction:column; gap:16px; align-items:center; }
.sh-cart__foot{ padding:16px 24px calc(16px + env(safe-area-inset-bottom)); border-top:1px solid var(--sh-border-soft); display:flex; flex-direction:column; gap:12px; }
.sh-cart__sum{ display:flex; justify-content:space-between; font-size:15px; }
.sh-cart__sum b{ font-weight:500; }
.sh-cart__note{ font-size:12.5px; color:var(--sh-muted); }
.sh-cart__cont{ background:none; border:0; padding:6px; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; color:var(--sh-muted); }

/* ---------- country prompt ---------- */
.sh-geo{ position:fixed; z-index:120; right:16px; bottom:16px; width:min(360px,calc(100vw - 32px)); opacity:0; transform:translateY(12px); transition:opacity var(--sh-slow) var(--sh-ease),transform var(--sh-slow) var(--sh-ease); }
.sh-geo.is-in{ opacity:1; transform:none; }
.sh-geo__card{ position:relative; background:var(--sh-white); border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-md); box-shadow:0 20px 48px -16px rgba(0,0,0,.2); padding:20px; display:flex; flex-direction:column; gap:12px; }
.sh-geo__x{ position:absolute; top:8px; right:8px; width:36px; height:36px; padding:0; border:0; background:none; cursor:pointer; color:var(--sh-tertiary); display:inline-flex; align-items:center; justify-content:center; }
.sh-geo__x svg{ width:16px; height:16px; }
.sh-geo__top{ display:flex; align-items:center; gap:10px; padding-right:32px; }
.sh-geo__flag{ width:22px; height:22px; border-radius:50%; object-fit:cover; }
.sh-geo__head{ font-size:15px; font-weight:500; }
.sh-geo__sub{ font-size:13px; color:var(--sh-muted); }
.sh-geo__stay{ background:none; border:0; padding:4px; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; color:var(--sh-muted); }

/* ---------- PDP: layout ---------- */
.sh-crumb{ display:flex; align-items:center; gap:8px; padding:20px 0 8px; font-size:12px; color:var(--sh-tertiary); flex-wrap:wrap; }
.sh-crumb a:hover{ color:var(--sh-ink); }
.sh-crumb span:last-child{ color:var(--sh-muted); }
.sh-buy{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; padding-bottom:var(--sh-y-sm); }
.sh-buy__col{ display:flex; flex-direction:column; gap:22px; min-width:0; }
.sh-buy__col--sticky{ position:sticky; top:calc(var(--sh-header-h) + 16px); }
.sh-buy__head{ display:flex; flex-direction:column; gap:10px; }
.sh-buy__head .sh-h1{ font-size:clamp(29px,3vw,39px); line-height:1.18; }
.sh-buy__rating{ font-size:13px; color:var(--sh-muted); }
.sh-buy__benefits{ display:flex; flex-direction:column; gap:12px; }
.sh-buy__benefits li{ display:flex; gap:10px; align-items:flex-start; font-size:14.5px; line-height:1.5; }
.sh-buy__benefits li{ align-items:center; gap:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sh-buy__benefits li span{ overflow:hidden; text-overflow:ellipsis; }
.sh-usp__ic{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex:0 0 auto; border-radius:50%; background:var(--sh-usp-bg); color:var(--sh-usp-fg); }
.sh-usp__ic svg{ width:13px; height:13px; }
.sh-buy__benefits b{ font-weight:500; }
@media (max-width:768px){ .sh-buy__benefits li{ font-size:14px; gap:10px; } }
@media (max-width:1024px){ .sh-buy{ grid-template-columns:1fr; } .sh-buy__col--sticky{ position:static; } }

/* gallery */
.sh-gal{ display:grid; grid-template-columns:84px minmax(0,1fr); gap:12px; align-items:start; min-width:0; }
.sh-gal__thumbs{ display:flex; flex-direction:column; gap:10px; max-height:640px; overflow-y:auto; scrollbar-width:none; }
.sh-gal__thumbs::-webkit-scrollbar{ display:none; }
.sh-gal__thumb{ width:84px; aspect-ratio:1; padding:0; border:1px solid var(--sh-border-soft); border-radius:8px; overflow:hidden; background:var(--sh-surface); cursor:pointer; flex:0 0 auto; }
.sh-gal__thumb[aria-current="true"]{ border-color:var(--sh-ink); }
.sh-gal__thumb img{ width:100%; height:100%; object-fit:cover; }
.sh-gal__main{ position:relative; min-width:0; }
.sh-gal__track{ display:grid; grid-auto-flow:column; grid-auto-columns:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--sh-radius-md); background:var(--sh-surface); }
.sh-gal__track::-webkit-scrollbar{ display:none; }
.sh-gal__item{ scroll-snap-align:start; aspect-ratio:1; overflow:hidden; }
.sh-gal__item img,.sh-gal__item video{ width:100%; height:100%; object-fit:cover; }
.sh-gal__ui{ position:absolute; right:10px; bottom:10px; display:flex; gap:8px; }
.sh-gal__arrow{ width:44px; height:44px; border-radius:var(--sh-radius-pill); border:1px solid var(--sh-border-soft); background:rgba(255,255,255,.92); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; padding:0; }
.sh-gal__arrow svg{ width:18px; height:18px; }
.sh-gal__dots{ display:none; justify-content:center; gap:7px; padding:10px 0 0; }
.sh-gal__dot{ width:7px; height:7px; padding:0; border:0; border-radius:50%; background:rgba(34,34,34,.22); cursor:pointer; }
.sh-gal__dot[aria-current="true"]{ background:var(--sh-ink); }
@media (max-width:768px){ .sh-gal{ grid-template-columns:1fr; margin:0 calc(-1 * var(--sh-inset)); } .sh-gal__thumbs{ display:none; } .sh-gal__track{ border-radius:0; } .sh-gal__dots{ display:flex; } .sh-gal__ui{ display:none; } }

/* option swatches */
.sh-opt{ display:flex; flex-direction:column; gap:12px; }
.sh-opt__head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.sh-opt__label{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; }
.sh-opt__label span{ margin-left:8px; letter-spacing:0; text-transform:none; color:var(--sh-muted); font-size:13px; }
.sh-opt__link{ background:none; border:0; padding:0; cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.sh-swatches{ display:flex; flex-wrap:wrap; gap:10px; }
.sh-swatch{ width:32px; height:32px; padding:0; border-radius:50%; border:1px solid var(--sh-border-soft); cursor:pointer; box-shadow:0 0 0 2px var(--sh-white) inset; transition:box-shadow var(--sh-fast) var(--sh-ease); }
.sh-swatch[aria-pressed="true"]{ box-shadow:0 0 0 2px var(--sh-white) inset,0 0 0 1.5px var(--sh-ink); }
.sh-swatch:hover{ box-shadow:0 0 0 2px var(--sh-white) inset,0 0 0 1.5px var(--sh-muted); }
.sh-swatch[disabled]{ opacity:.35; cursor:not-allowed; background-image:linear-gradient(135deg,transparent 46%,var(--sh-ink) 46%,var(--sh-ink) 54%,transparent 54%); }
.sh-sizes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.sh-size{ min-height:60px; padding:10px 12px; text-align:left; border:1px solid var(--sh-border); background:var(--sh-white); color:var(--sh-ink); border-radius:var(--sh-radius-sm); cursor:pointer; display:flex; flex-direction:column; gap:3px; transition:border-color var(--sh-fast) var(--sh-ease),background var(--sh-fast) var(--sh-ease); }
.sh-size:hover{ border-color:var(--sh-ink); }
.sh-size[aria-pressed="true"]{ border-color:var(--sh-ink); background:var(--sh-mist-soft); }
.sh-size[disabled]{ color:var(--sh-disabled-fg); border-style:dashed; cursor:not-allowed; background:var(--sh-white); }
.sh-size b{ font-size:14px; font-weight:600; line-height:1.2; }
.sh-size span{ font-size:12px; line-height:1.2; opacity:.75; }
.sh-helper{ display:flex; gap:9px; align-items:flex-start; padding:12px 14px; background:var(--sh-mist); border-radius:var(--sh-radius-sm); font-size:13px; line-height:1.45; }
.sh-helper svg{ width:16px; height:16px; flex:0 0 auto; margin-top:1px; color:var(--sh-accent-text); }
.sh-incl{ display:flex; align-items:center; gap:10px; padding:14px 16px; border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-sm); font-size:14px; }
.sh-incl svg{ width:18px; height:18px; flex:0 0 auto; }
.sh-incl b{ font-weight:600; }
.sh-buy__row{ display:flex; gap:12px; align-items:stretch; flex-wrap:wrap; }
.sh-buy__row .sh-btn{ flex:1 1 240px; }
.sh-status{ display:flex; align-items:center; gap:8px; font-size:13px; }
.sh-status svg{ width:16px; height:16px; }
.sh-status--err{ color:var(--sh-sale); }
.sh-status--ok{ color:var(--sh-accent-text); }
.sh-status[hidden]{ display:none; }
.sh-buy__pay{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 0; }
.sh-buy__pay .sh-payments{ justify-content:center; gap:8px; }
.sh-buy__pay .sh-payments svg{ width:32px; height:20px; border-radius:3px; }
.sh-buy__pay span{ font-size:12px; color:var(--sh-tertiary); }
.sh-express .shopify-payment-button__button{ border-radius:var(--sh-radius-sm)!important; min-height:44px; }
.sh-express .shopify-payment-button__more-options{ font-size:12px; }
.sh-stock{ display:flex; align-items:center; gap:8px; font-size:13px; color:var(--sh-muted); }
.sh-stock i{ width:8px; height:8px; border-radius:50%; background:var(--sh-success); }
.sh-stock.is-out i{ background:var(--sh-tertiary); }

/* accordion */
.sh-acc{ border-top:1px solid var(--sh-border-soft); }
.sh-acc details{ border-bottom:1px solid var(--sh-border-soft); }
.sh-acc summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 0; cursor:pointer; font-size:15px; }
.sh-acc summary::-webkit-details-marker{ display:none; }
.sh-acc summary svg{ width:16px; height:16px; flex:0 0 auto; transition:transform var(--sh-base) var(--sh-ease); }
.sh-acc details[open] summary svg{ transform:rotate(180deg); }
.sh-acc__body{ padding:0 0 18px; font-size:14px; line-height:1.55; color:var(--sh-muted); max-width:62ch; }
.sh-acc__body p+p{ margin-top:10px; }

/* sticky mobile ATC */
.sh-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--sh-white); border-top:1px solid var(--sh-border-soft); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); display:none; align-items:center; gap:12px; box-shadow:0 -6px 24px rgba(34,34,34,.08); transform:translateY(100%); transition:transform var(--sh-base) var(--sh-ease); }
.sh-sticky.is-on{ transform:none; }
.sh-sticky__text{ display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 auto; }
.sh-sticky__text b{ font-size:13.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sh-sticky__text span{ font-size:12px; color:var(--sh-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:1024px){ .sh-sticky{ display:flex; } }

/* size guide dialog */
.sh-dialog{ border:0; padding:0; background:transparent; max-width:none; max-height:none; width:100%; height:100%; }
.sh-dialog::backdrop{ background:rgba(34,34,34,.4); }
.sh-dialog__wrap{ position:fixed; inset:0; display:flex; align-items:center; justify-content:center; padding:32px; }
.sh-dialog__card{ position:relative; width:560px; max-width:100%; max-height:min(82vh,680px); background:var(--sh-white); border-radius:12px; display:flex; flex-direction:column; overflow:hidden; box-shadow:0 24px 60px rgba(34,34,34,.22); color:var(--sh-ink); font-family:var(--sh-font); }
.sh-dialog__head{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 24px; border-bottom:1px solid var(--sh-border-soft); }
.sh-dialog__head h2{ font-size:19px; }
.sh-dialog__body{ padding:20px 24px 28px; overflow-y:auto; display:flex; flex-direction:column; gap:20px; }
.sh-guide{ display:flex; flex-direction:column; gap:10px; }
.sh-guide__row{ border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-sm); padding:14px 16px; display:flex; flex-direction:column; gap:6px; }
.sh-guide__row b{ font-size:14.5px; font-weight:600; }
.sh-guide__row p{ font-size:13.5px; line-height:1.5; color:var(--sh-muted); }
.sh-guide__row p.is-accent{ font-size:13px; color:var(--sh-accent-text); }
@media (max-width:768px){ .sh-dialog__wrap{ align-items:flex-end; padding:0; } .sh-dialog__card{ width:100%; border-radius:16px 16px 0 0; } }

/* ---------- comparison ---------- */
.sh-compare{ width:100%; border-collapse:separate; border-spacing:0; background:var(--sh-white); border-radius:var(--sh-radius-md); overflow:hidden; border:1px solid var(--sh-border-soft); }
.sh-compare th,.sh-compare td{ padding:14px 18px; text-align:left; font-size:14px; border-bottom:1px solid var(--sh-border-soft); vertical-align:top; }
.sh-compare tr:last-child td{ border-bottom:0; }
.sh-compare th{ font-weight:500; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--sh-muted); background:var(--sh-surface); }
.sh-compare th.is-hl{ color:var(--sh-ink); background:var(--sh-mist); }
.sh-compare td.is-hl{ background:rgba(231,238,255,.45); font-weight:500; }
.sh-compare td:first-child{ color:var(--sh-muted); }
.sh-compare__m{ display:none; }
@media (max-width:768px){
  .sh-compare__wrap--hide-m{ display:none; }
  .sh-compare__wrap:not(.sh-compare__wrap--hide-m){ margin:0 calc(-1 * var(--sh-inset)); padding:0 var(--sh-inset); }
  .sh-compare{ min-width:560px; } .sh-compare th,.sh-compare td{ padding:12px 14px; font-size:13px; }
  .sh-compare td:first-child,.sh-compare th:first-child{ position:sticky; left:0; background:var(--sh-white); z-index:1; box-shadow:1px 0 0 var(--sh-border-soft); } .sh-compare th:first-child{ background:var(--sh-surface); }
  .sh-compare__m{ display:block; }
  .sh-compare__m.is-off{ display:none; }
  .sh-compare__mrow{ display:grid; grid-template-columns:minmax(0,1fr) 84px 84px; align-items:stretch; }
  .sh-compare__mrow>span{ display:flex; align-items:center; justify-content:center; text-align:center; gap:4px; flex-direction:column; padding:14px 6px; border-bottom:1px solid var(--sh-border-soft); font-size:12.5px; line-height:1.3; }
  .sh-compare__mrow>span.sh-compare__mlabel{ justify-content:flex-start; align-items:flex-start; text-align:left; padding-left:0; font-size:13.5px; font-weight:500; }
  .sh-compare__mrow>span.is-hl{ background:var(--sh-mist); border-bottom-color:rgba(34,34,34,.12); margin:0 4px; }
  .sh-compare__mhead>span{ border-bottom:0; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--sh-muted); padding-top:16px; line-height:1.35; word-break:keep-all; }
  .sh-compare__mhead>span.is-hl{ color:var(--sh-ink); font-weight:500; border-radius:14px 14px 0 0; }
  .sh-compare__mrow.is-last>span{ border-bottom:0; }
  .sh-compare__mrow.is-last>span.is-hl{ border-radius:0 0 14px 14px; padding-bottom:18px; }
  .sh-compare__yes,.sh-compare__no{ display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:50%; }
  .sh-compare__yes{ background:var(--sh-ink); color:var(--sh-white); } .sh-compare__yes svg{ width:14px; height:14px; }
  .sh-compare__no{ color:var(--sh-tertiary); } .sh-compare__no svg{ width:16px; height:16px; }
  .sh-compare__mrow small{ font-size:12px; color:var(--sh-muted); }
}
/* ---------- spec table ---------- */
.sh-spec{ display:grid; grid-template-columns:1fr; gap:0 40px; }
.sh-spec--2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.sh-spec__row{ display:grid; grid-template-columns:minmax(120px,38%) 1fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--sh-border-soft); font-size:13.5px; }
.sh-spec__row span:first-child{ font-size:11px; letter-spacing:.10em; text-transform:uppercase; color:var(--sh-muted); padding-top:2px; }
@media (max-width:768px){ .sh-spec--2{ grid-template-columns:1fr; } }

/* ---------- colour editorial ---------- */
.sh-colours{ display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:16px 12px; margin-top:28px; }
.sh-colour{ padding:0; border:0; background:none; cursor:pointer; display:flex; flex-direction:column; gap:8px; text-align:left; color:var(--sh-ink); }
.sh-colour__tile{ display:block; width:100%; aspect-ratio:4/5; border-radius:8px; overflow:hidden; background:var(--sh-surface); outline:1px solid var(--sh-border-soft); outline-offset:3px; transition:outline-color var(--sh-fast) var(--sh-ease); }
.sh-colour__tile img{ width:100%; height:100%; object-fit:cover; }
.sh-colour[aria-pressed="true"] .sh-colour__tile{ outline:2px solid var(--sh-ink); }
.sh-colour span{ font-size:13px; }
.sh-colour[disabled]{ cursor:not-allowed; }
.sh-colour[disabled] span{ color:var(--sh-tertiary); }
@media (max-width:1024px){ .sh-colours{ grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media (max-width:768px){ .sh-colours{ grid-template-columns:none; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:42vw; gap:16px 12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:28px calc(-1 * var(--sh-inset)) 0; padding:0 var(--sh-inset) 8px; scroll-padding-left:var(--sh-inset); } .sh-colours::-webkit-scrollbar{ display:none; } .sh-colours>*{ scroll-snap-align:start; } }
/* 5–8 colours: one full-width row on desktop (mobile keeps the 2-row rail) */
@media (min-width:1025px){ .sh-colours.sh-colours--fit{ grid-template-columns:repeat(var(--n),minmax(0,1fr)); } }
/* products with up to 4 colours: larger tiles, no rail */
.sh-colours.sh-colours--few{ grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:768px){ .sh-colours.sh-colours--few{ grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-flow:row; grid-auto-columns:auto; overflow:visible; margin:28px 0 0; padding:0; } }

/* ---------- reviews empty state / placeholder band ---------- */
.sh-empty{ border:1px dashed var(--sh-border); border-radius:var(--sh-radius-md); padding:32px; display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.sh-empty b{ font-family:var(--sh-font-display); font-weight:500; font-size:19px; line-height:1.25; }
.sh-empty p{ font-size:13.5px; line-height:1.5; color:var(--sh-muted); max-width:58ch; }

/* ---------- FAQ ---------- */
.sh-faq{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:40px; align-items:start; }
@media (max-width:768px){ .sh-faq{ grid-template-columns:1fr; gap:20px; } }

/* ---------- pillars ---------- */
.sh-pillars{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px var(--sh-gap); }
@media (max-width:768px){ .sh-pillars{ grid-template-columns:1fr; gap:28px; } }

/* ---------- long-form page ---------- */
.sh-prose{ max-width:720px; margin:0 auto; }
.sh-prose h1{ font-size:clamp(29px,3vw,39px); line-height:1.18; margin-bottom:24px; }
.sh-prose h2{ font-size:22px; margin:32px 0 12px; }
.sh-prose p,.sh-prose li{ font-size:15px; line-height:1.65; color:var(--sh-muted); }
.sh-prose p+p{ margin-top:14px; }
.sh-prose ul{ list-style:disc; padding-left:20px; margin:12px 0; }
.sh-prose a{ text-decoration:underline; text-underline-offset:3px; }

/* ---------- theme editor ---------- */
.shopify-design-mode .sh-sticky{ display:none!important; }

/* ---------- detail accordions (specifications / washing instructions) ---------- */
.sh-dacc{ background:var(--sh-white); border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-lg); padding:8px 24px; }
.sh-dacc__panel{ border-bottom:1px solid rgba(34,34,34,.10); }
.sh-dacc__panel:last-child{ border-bottom:0; }
.sh-dacc__panel summary{ list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; }
.sh-dacc__panel summary::-webkit-details-marker{ display:none; }
.sh-dacc__panel summary>svg{ width:18px; height:18px; flex:0 0 auto; transition:transform var(--sh-base) var(--sh-ease); }
.sh-dacc__panel[open] summary>svg{ transform:rotate(180deg); }
.sh-dacc__title{ display:inline-flex; align-items:center; gap:12px; font-family:var(--sh-font-display); font-weight:500; font-size:19px; }
.sh-dacc__title svg{ width:22px; height:22px; }
.sh-dacc__body{ padding:0 0 24px; display:flex; flex-direction:column; gap:16px; }
.sh-dacc__lead{ font-weight:600; font-size:15px; line-height:1.5; max-width:62ch; }
.sh-dacc__text{ font-size:14.5px; line-height:1.6; color:var(--sh-muted); max-width:62ch; }
.sh-dacc__text b,.sh-dacc__text strong{ color:var(--sh-ink); font-weight:600; }
.sh-dacc__tip{ display:flex; gap:12px; align-items:flex-start; padding:16px 18px; background:var(--sh-mist); border-radius:var(--sh-radius-md); font-size:14.5px; line-height:1.5; }
.sh-dacc__tip svg{ width:20px; height:20px; flex:0 0 auto; margin-top:1px; color:var(--sh-accent-text); }
.sh-dacc__rows{ background:transparent; border-radius:0; padding:0; }
.sh-dacc__row{ display:grid; grid-template-columns:minmax(120px,40%) 1fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--sh-border-soft); font-size:14px; }
.sh-dacc__row:last-child{ border-bottom:0; }
.sh-dacc__row span:first-child{ font-weight:600; }
.sh-dacc__option b{ display:block; font-weight:600; font-size:14.5px; margin-bottom:4px; }
.sh-dacc__option p{ font-size:14.5px; line-height:1.6; color:var(--sh-muted); max-width:62ch; }
@media (max-width:768px){ .sh-buy__pay .sh-payments{ gap:6px; } .sh-buy__pay .sh-payments svg{ width:30px; height:19px; } .sh-dacc{ padding:4px 16px; } .sh-dacc__title{ font-size:17px; } }

.sh-buy__col .sh-dacc{ padding:4px 18px; }
.sh-buy__col .sh-dacc__title{ font-size:16px; }
.sh-buy__col .sh-dacc__title svg{ width:20px; height:20px; }
.sh-buy__col .sh-dacc__panel summary{ padding:14px 0; }
.sh-buy__col .sh-dacc__body{ padding-bottom:18px; gap:12px; }
.sh-buy__col .sh-dacc__lead{ font-size:14px; }
.sh-buy__col .sh-dacc__text,.sh-buy__col .sh-dacc__option p,.sh-buy__col .sh-dacc__tip{ font-size:13.5px; }
.sh-buy__col .sh-dacc__row{ font-size:13px; padding:10px 0; }

/* ---------- quick add panel ---------- */
.sh-qa{ position:fixed; inset:0; z-index:145; pointer-events:none; }
.sh-qa__scrim{ position:absolute; inset:0; background:var(--sh-overlay); opacity:0; transition:opacity var(--sh-base) var(--sh-ease); }
.sh-qa__panel{ position:absolute; top:0; right:0; bottom:0; width:min(440px,100vw); background:var(--sh-white); transform:translateX(100%); transition:transform var(--sh-slow) var(--sh-ease); display:flex; flex-direction:column; overflow-y:auto; box-shadow:0 24px 60px rgba(34,34,34,.22); }
.sh-qa.is-open{ pointer-events:auto; }
.sh-qa.is-open .sh-qa__scrim{ opacity:1; }
.sh-qa.is-open .sh-qa__panel{ transform:none; }
.sh-qa__top{ display:flex; align-items:center; justify-content:space-between; padding:14px 12px 14px 24px; border-bottom:1px solid var(--sh-border-soft); }
.sh-qa__top h2{ font-size:17px; }
.sh-qa__body{ padding:20px 24px calc(24px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:22px; }
.sh-qa__head{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; align-items:center; }
.sh-qa__img{ aspect-ratio:1; border-radius:var(--sh-radius-sm); overflow:hidden; background:var(--sh-surface); }
.sh-qa__img img{ width:100%; height:100%; object-fit:cover; }
.sh-qa__title{ font-family:var(--sh-font-display); font-weight:500; font-size:17px; line-height:1.3; margin-bottom:6px; }
.sh-qa__head .sh-price{ display:flex; font-size:15px; gap:10px; }
.sh-qa__head .sh-price__was{ font-size:1em; }
.sh-qa__head .sh-link{ display:inline-flex; margin-top:10px; }
.sh-qa__sws{ display:flex; flex-wrap:wrap; gap:10px; }
.sh-qa__sw{ width:40px; height:40px; padding:0; border:0; border-radius:50%; overflow:hidden; background:var(--sh-surface); cursor:pointer; box-shadow:0 0 0 1px var(--sh-border-soft); }
.sh-qa__sw img{ width:100%; height:100%; object-fit:cover; transform:scale(1.45); }
.sh-qa__sw[aria-pressed="true"]{ box-shadow:0 0 0 2px var(--sh-white),0 0 0 3px var(--sh-ink); }
.sh-qa__sw[disabled]{ opacity:.35; cursor:not-allowed; }
.sh-qa .sh-size{ min-height:48px; justify-content:center; }
@media (max-width:768px){
  .sh-qa__panel{ top:auto; left:0; width:100%; max-height:88vh; border-radius:16px 16px 0 0; transform:translateY(100%); }
}

/* ---------- content pages ---------- */
.sh-prose .sh-kicker{ margin-bottom:14px; }
.sh-prose h3{ font-size:17px; margin:24px 0 8px; }
.sh-prose strong,.sh-prose b{ color:var(--sh-ink); font-weight:600; }
.sh-prose table{ width:100%; border-collapse:collapse; margin:16px 0; font-size:14px; }
.sh-prose th,.sh-prose td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--sh-border-soft); color:var(--sh-muted); }
.sh-prose th{ color:var(--sh-ink); font-weight:600; }
.sh-prose hr{ border:0; border-top:1px solid var(--sh-border-soft); margin:28px 0; }

/* ---------- contact ---------- */
.sh-contact{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,72px); align-items:start; }
.sh-contact__aside{ display:flex; flex-direction:column; gap:16px; }
.sh-contact__facts{ margin-top:12px; border-top:1px solid var(--sh-border-soft); }
.sh-contact__fact{ display:flex; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid var(--sh-border-soft); font-size:14px; }
.sh-contact__fact span{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--sh-muted); padding-top:2px; }
.sh-contact__fact a{ text-decoration:underline; text-underline-offset:3px; }
.sh-contact__panel{ background:var(--sh-surface); border-radius:var(--sh-radius-lg); padding:clamp(20px,3vw,36px); }
.sh-contact__panel form{ display:flex; flex-direction:column; gap:18px; }
.sh-field{ display:flex; flex-direction:column; gap:8px; }
.sh-field label{ font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--sh-muted); }
.sh-field input,.sh-field textarea{ width:100%; min-height:48px; padding:12px 14px; border:1px solid var(--sh-border); border-radius:var(--sh-radius-sm); background:var(--sh-white); font:inherit; font-size:15px; color:var(--sh-ink); }
.sh-field textarea{ resize:vertical; }
.sh-field input:focus-visible,.sh-field textarea:focus-visible{ border-color:var(--sh-air); }
.sh-helper--err{ background:#FBECEC; }
.sh-helper--err svg{ color:var(--sh-error); }
@media (max-width:768px){ .sh-contact{ grid-template-columns:1fr; } }

/* ---------- collection / search ---------- */
.sh-coll__head{ display:flex; flex-direction:column; gap:12px; padding:8px 0 24px; }
.sh-coll__bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; margin-bottom:28px; border-top:1px solid var(--sh-border-soft); border-bottom:1px solid var(--sh-border-soft); min-height:58px; }
.sh-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:40px var(--sh-gap); }
@media (max-width:1024px){ .sh-grid{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:768px){ .sh-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 12px; } .sh-grid .sh-card__quick{ width:40px; height:40px; right:8px; bottom:8px; } .sh-grid .sh-card__save{ top:8px; right:8px; height:24px; font-size:11px; padding:0 8px; } .sh-grid .sh-card__sw{ width:26px; height:26px; } }
.sh-pager{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:48px; }
.sh-search{ max-width:560px; }
.sh-search__pages{ display:flex; flex-direction:column; margin-top:40px; border-top:1px solid var(--sh-border-soft); }
.sh-search__page{ display:flex; flex-direction:column; gap:4px; padding:16px 0; border-bottom:1px solid var(--sh-border-soft); }
.sh-search__page b{ font-weight:500; }

/* ---------- cart page ---------- */
.sh-cartpage{ display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(28px,4vw,56px); align-items:start; }
.sh-cartpage__items{ border-top:1px solid var(--sh-border-soft); }
.sh-cartpage__row{ display:grid; grid-template-columns:110px minmax(0,1fr) auto; gap:20px; padding:20px 0; border-bottom:1px solid var(--sh-border-soft); align-items:start; }
.sh-cartpage__info{ display:flex; flex-direction:column; gap:6px; }
.sh-cartpage__controls{ display:flex; align-items:center; gap:16px; margin-top:10px; }
.sh-cartpage__qty{ width:72px; height:44px; padding:0 10px; border:1px solid var(--sh-border); border-radius:var(--sh-radius-sm); font:inherit; font-size:15px; text-align:center; }
.sh-cartpage__price{ flex-direction:column; align-items:flex-end; gap:2px; font-size:15px; }
.sh-cartpage__price .sh-price__was{ font-size:.9em; }
.sh-cartpage__sum{ position:sticky; top:calc(var(--sh-header-h) + 16px); display:flex; flex-direction:column; gap:12px; padding:24px; background:var(--sh-surface); border-radius:var(--sh-radius-lg); }
@media (max-width:768px){ .sh-cartpage{ grid-template-columns:1fr; } .sh-cartpage__row{ grid-template-columns:84px minmax(0,1fr); } .sh-cartpage__price{ grid-column:2; align-items:flex-start; flex-direction:row; gap:10px; } .sh-cartpage__sum{ position:static; } }

/* ---------- 404 ---------- */
.sh-notfound{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:16px; max-width:560px; margin:0 auto; }
.sh-notfound .sh-hero__cta{ justify-content:center; }

/* ---------- section rhythm ----------
   Two neighbouring bands on the same background share one gap instead of stacking both
   paddings (80 + 80 = 160px on desktop). Tight strips keep their own spacing. */
.shopify-section:has(> .sh-tone-page.sh-band:not(.sh-band--tight)) + .shopify-section > .sh-tone-page.sh-band,
.shopify-section:has(> .sh-tone-sunken.sh-band:not(.sh-band--tight)) + .shopify-section > .sh-tone-sunken.sh-band,
.shopify-section:has(> .sh-tone-accent.sh-band:not(.sh-band--tight)) + .shopify-section > .sh-tone-accent.sh-band{ padding-top:0; }
/* the value strip under the hero reads as its own row */
.sh-band--tight:has(> .sh-shell > .sh-trust--row){ border-bottom:1px solid var(--sh-border-soft); }
/* rails scroll by touch on phones; the arrows are a desktop control */
@media (max-width:768px){ .sh-rail__ctl{ display:none; } }

/* crescent-only header logo */
.sh-wordmark--mark{ gap:0; min-height:44px; min-width:44px; }

/* compact comparison with three columns on phones */
@media (max-width:768px){
  .sh-compare__m.has-3 .sh-compare__mrow{ grid-template-columns:minmax(0,1fr) 66px 66px 66px; }
  .sh-compare__m.has-3 .sh-compare__mrow>span{ padding:12px 4px; font-size:11.5px; }
  .sh-compare__m.has-3 .sh-compare__mrow>span.sh-compare__mlabel{ font-size:13px; padding-left:0; }
  .sh-compare__m.has-3 .sh-compare__mhead>span{ font-size:10px; letter-spacing:.04em; }
  .sh-compare__m.has-3 .sh-compare__mrow>span.is-hl{ margin:0 3px; }
}

/* ---------- reviews (imported) ---------- */
.sh-revsum{ display:flex; align-items:center; flex-wrap:wrap; gap:10px 14px; margin:-4px 0 22px; }
.sh-revsum__score{ font-family:var(--sh-font-display); font-size:28px; font-weight:500; line-height:1; }
.sh-revsum__stars,.sh-rev__stars{ display:inline-flex; gap:2px; line-height:1; }
.sh-star{ font-style:normal; font-size:15px; color:var(--sh-border); }
.sh-star.is-on{ color:var(--sh-ink); }
.sh-revsum__count{ font-size:14.5px; color:var(--sh-muted); }
.sh-revsum__note{ flex-basis:100%; font-size:12px; color:var(--sh-tertiary); }
.sh-revs{ columns:4; column-gap:16px; }
.sh-rev{ break-inside:avoid; -webkit-column-break-inside:avoid; margin:0 0 16px; background:var(--sh-white); border:1px solid var(--sh-border-soft); border-radius:var(--sh-radius-md); overflow:hidden; }
.sh-tone-page .sh-rev{ background:var(--sh-surface); border-color:transparent; }
.sh-rev__img{ aspect-ratio:4/3; overflow:hidden; background:var(--sh-surface-soft); }
.sh-rev__img img{ width:100%; height:100%; object-fit:cover; }
.sh-rev__body{ display:flex; flex-direction:column; gap:8px; padding:16px 16px 18px; }
.sh-rev__text{ font-size:14.5px; line-height:1.5; }
.sh-rev__meta{ margin-top:auto; font-size:13px; color:var(--sh-muted); display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.sh-rev__meta b{ font-weight:500; color:var(--sh-ink); }
.sh-rev__ver{ display:inline-flex; align-items:center; gap:4px; font-size:12px; color:var(--sh-accent-text); }
.sh-rev__ver svg{ width:13px; height:13px; }
.sh-rev__date{ font-size:12px; color:var(--sh-tertiary); }
@media (max-width:1024px){ .sh-revs{ columns:2; } }
@media (max-width:768px){
  .sh-revs{ columns:auto; display:flex; align-items:flex-start; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(-1 * var(--sh-inset)); padding:0 var(--sh-inset) 4px; scroll-padding-left:var(--sh-inset); }
  .sh-revs::-webkit-scrollbar{ display:none; }
  .sh-revs>*{ flex:0 0 78%; margin:0; scroll-snap-align:start; }
  .sh-revsum__score{ font-size:24px; }
}
