/* Universal storefront seed: base layer shared by every brand. Brand layouts restyle on top (styles.css).
   Token contract (brand.json tokens -> :root): --c-bg --c-fg --c-muted --c-accent --c-line --c-panel
   --c-on-accent, --f-display --f-body [--f-mono]. Breakpoint for the phone menu: 820px. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--c-bg);color:var(--c-fg);font:16px/1.6 var(--f-body);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--c-focus,var(--c-accent));outline-offset:3px}
main:focus{outline:none}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.seed-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--c-fg);color:var(--c-bg);padding:10px 14px;text-decoration:none}
.seed-skip:focus{top:12px}
.seed-preview{display:none}
.seed-fig{margin:0}
.seed-fig figcaption{font-size:12px;letter-spacing:.04em;color:var(--c-muted);margin-top:8px}

/* phone menu: brand header puts the nav in #site-nav and calls kit.menuButton() */
.seed-menu-toggle{display:none;align-items:center;gap:8px;background:none;border:0;padding:10px 0;min-height:44px;cursor:pointer}
.seed-menu-icon{width:22px;height:2px;background:currentColor;position:relative;display:inline-block}
.seed-menu-icon::before,.seed-menu-icon::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;transition:transform .2s}
.seed-menu-icon::before{top:-7px}.seed-menu-icon::after{top:7px}
.menu-open .seed-menu-icon{background:transparent}
.menu-open .seed-menu-icon::before{transform:translateY(7px) rotate(45deg)}
.menu-open .seed-menu-icon::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:820px){
  .seed-menu-toggle{display:inline-flex}
  #site-nav{display:none}
  .menu-open #site-nav{display:flex}
}
.seed-bag{text-decoration:none;white-space:nowrap}
.seed-bag-count{display:inline-block;min-width:1.6em;text-align:center}

/* status + price */
.seed-status{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.seed-price--tba{color:var(--c-muted)}
.seed-buy-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.seed-note{color:var(--c-muted);font-size:14px;margin:8px 0 0}
.seed-fine{font-size:13px;color:var(--c-muted)}
.seed-msg{min-height:1.4em;font-size:14px;margin:10px 0 0}

/* variant pickers: native radios, visually replaced, still keyboard + screen-reader friendly */
.seed-sizes,.seed-swatches{border:0;padding:0;margin:20px 0 0;min-width:0}
.seed-sizes legend,.seed-swatches legend{font-size:13px;letter-spacing:.06em;margin-bottom:10px;padding:0}
.seed-options{display:flex;flex-wrap:wrap;gap:8px}
.seed-size,.seed-swatch{position:relative;cursor:pointer}
.seed-size input,.seed-swatch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.seed-size span{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:44px;padding:0 12px;border:1px solid var(--c-line);font-size:14px}
.seed-size input:checked+span{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
.seed-size input:focus-visible+span,.seed-swatch input:focus-visible+.seed-swatch-chip{outline:2px solid var(--c-accent);outline-offset:2px}
.seed-swatch-chip{display:block;width:34px;height:34px;border-radius:50%;border:1px solid var(--c-line);box-shadow:inset 0 0 0 3px var(--c-bg)}
.seed-swatch input:checked+.seed-swatch-chip{border:2px solid var(--c-fg)}
.seed-onesize{font-size:14px;margin:16px 0 0}
.seed-add-btn,.seed-checkout,.seed-notify button,.seed-lookup button{display:block;width:100%;min-height:52px;margin-top:22px;border:0;cursor:pointer;background:var(--c-fg);color:var(--c-bg);letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.seed-checkout[disabled]{opacity:.45;cursor:not-allowed}
.seed-notify{margin-top:18px}
.seed-notify>label{display:block;font-size:14px;margin-bottom:8px}
.seed-notify-row{display:flex;gap:8px}
.seed-notify-row input{flex:1;min-width:0;min-height:48px;padding:0 12px;border:1px solid var(--c-line);background:transparent}
.seed-notify-row button{width:auto;margin:0;padding:0 18px;min-height:48px}

/* cart */
.seed-cart-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;align-items:start}
.seed-cart-lines{list-style:none;margin:0;padding:0}
.seed-cart-line{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;padding:20px 0;border-bottom:1px solid var(--c-line)}
.seed-cart-img{width:120px;height:120px;object-fit:cover}
.seed-cart-name{font-weight:600;text-decoration:none}
.seed-cart-meta,.seed-cart-pre{margin:4px 0 0;font-size:14px;color:var(--c-muted)}
.seed-cart-price{margin:0;white-space:nowrap}
.seed-qty{display:inline-flex;align-items:center;border:1px solid var(--c-line);margin-top:12px}
.seed-qty button{width:40px;height:40px;background:none;border:0;cursor:pointer;font-size:18px}
.seed-qty-n{min-width:28px;text-align:center}
.seed-remove{background:none;border:0;padding:0 0 0 14px;text-decoration:underline;cursor:pointer;font-size:14px;color:var(--c-muted)}
.seed-cart-summary{border:1px solid var(--c-line);padding:24px;background:var(--c-panel)}
.seed-cart-totals{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:0}
.seed-cart-totals dd{margin:0;text-align:right}
.seed-cart-ship{margin:18px 0 0;padding:12px 14px;border:1px solid var(--c-accent);font-size:14px}
.is-unavailable{opacity:.6}

/* order lookup + prose */
.seed-orders,.seed-prose{max-width:720px}
.seed-lookup{display:grid;gap:6px;max-width:440px;margin:24px 0 40px}
.seed-lookup label{font-size:13px;letter-spacing:.06em;margin-top:10px}
.seed-lookup input{min-height:48px;padding:0 12px;border:1px solid var(--c-line);background:transparent}
.seed-steps{padding-left:20px}.seed-steps li{margin:6px 0}

@media (max-width:820px){
  .seed-cart-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .seed-cart-line{grid-template-columns:84px minmax(0,1fr);}
  .seed-cart-img{width:84px;height:84px}
  .seed-cart-price{grid-column:2}
}

/* cards + details (layouts restyle) */
.seed-card{display:block;text-decoration:none;color:inherit}
.seed-card-media{display:block;position:relative;overflow:hidden;background:var(--c-panel)}
.seed-card-media img{width:100%;aspect-ratio:var(--card-ratio,4/5);object-fit:cover;transition:transform .4s ease}
.seed-card:hover .seed-card-media img{transform:scale(1.02)}
.seed-card-tag{position:absolute;left:10px;top:10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--c-bg);color:var(--c-fg);padding:3px 7px}
.seed-card-lead{display:block;font-size:12px;letter-spacing:.08em;color:var(--c-muted);margin-top:14px}
.seed-card-name{display:block;margin-top:6px;font-weight:600}
.seed-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:14px;color:var(--c-muted);margin-top:2px}
.seed-details{border-top:1px solid var(--c-line)}
.seed-details:last-of-type{border-bottom:1px solid var(--c-line)}
.seed-details summary{cursor:pointer;padding:14px 0;list-style:none;display:flex;justify-content:space-between;font-size:14px;letter-spacing:.04em}
.seed-details summary::-webkit-details-marker{display:none}
.seed-details summary::after{content:"+"}
.seed-details[open] summary::after{content:"−"}
.seed-details p{margin:0 0 16px;color:var(--c-muted);font-size:15px}
.seed-gallery{display:grid;gap:16px}
.seed-print{font-size:13px;letter-spacing:.04em;color:var(--c-muted);margin:10px 0 0}.seed-print span{text-transform:uppercase;letter-spacing:.1em;font-size:11px;margin-right:6px;color:var(--c-fg)}
.seed-color-group[hidden]{display:none}
.seed-colorswitch .seed-swatches{margin-top:18px}
.seed-avail{margin:6px 0 0;font-size:14px}.seed-cart-avail{margin:4px 0;font-size:13px}.seed-cart-avail.is-out{color:var(--c-accent)}
.seed-size input:disabled+span{opacity:.35;text-decoration:line-through}
.seed-mainsite{margin:14px 0 0;font-size:13px}.seed-mainsite a{color:inherit}
.seed-legal{display:flex;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;font-size:13px}.seed-legal a{color:inherit}
.seed-notify-consent{margin:8px 0 0}.seed-policy ul{padding-left:20px}.seed-policy li{margin:0 0 8px}
/* waitlist / reservation forms: honeypot hidden from people (not display:none, so naive bots still fill it) */
.seed-hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.seed-reserve-fields{margin-bottom:12px}
.seed-reserve-qty{margin:10px 0 0}
.seed-reserve-qty select{margin-left:8px;min-height:36px;padding:0 8px;border:1px solid var(--c-line);border-radius:2px;background:var(--c-bg);color:var(--c-fg);font:inherit}
