/* ==========================================================================
   Noamy Kids — global.css (layer 1/5)
   Tokens verbatim from concept-2/styles.css :root. Reset, containers, sections.

   z-index scale (every overlay declares against this table):
     site-header (sticky) ............ 60   (concept)
     mega menu ...................... 500
     sticky-buy (pdp mobile) .......... 70  (concept)
     filters drawer + backdrop ...... 9000
     search backdrop ................ 9998
     search panel .................. 10000
     header while search open ...... 10001
     mobile nav drawer ............. 10050
     side cart ..................... 10100
     lightbox ...................... 10200
     toast ......................... 11000
   ========================================================================== */

:root{
--rose:#C8A094; --rose-dark:#AC8073; --rose-soft:#E4CCC4;
--blush:#F4D8D4; --blush-soft:#FBEEEC;
--cream:#F6F4EC; --sand:#EFE7DC;
--ink:#2F2824; --ink-soft:#7A7A7A; --muted:#9C948E;
--line:#EDE6DE; --line-soft:#F5F1EB;
--white:#fff; --black:#1A1512;
--ok:#5B7F63; --sale:#B4544A;
--font-head:'Macho',system-ui,sans-serif;
--font-body:'Macho',system-ui,sans-serif;
--font-accent:'Macho',system-ui,sans-serif;
--r:3px; --r-lg:6px;
--pad:clamp(16px,4vw,40px);
--max:1320px;
--shadow:0 1px 2px rgba(47,40,36,.03),0 8px 28px rgba(47,40,36,.05);
--track:.18em;
/* theme-only: measured by JS, design value as fallback */
--hdr-h:92px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--white);font-size:16.5px;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* Horizontal-scroll net: clip (not hidden) keeps position:sticky alive (lessons § 51). */
html,body{overflow-x:hidden;max-width:100%}
@supports (overflow:clip){html,body{overflow-x:clip}}
/* Scroll lock must sit on html once html clips. */
html:has(> body.nmk-lock){overflow:hidden}
body.nmk-lock{overflow:hidden}

/* Sticky footer on short pages (cart, checkout, account) — no white band below (lessons § 68). */
body.nmk{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
body.nmk > .site-main{flex:1 0 auto}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.wrap-narrow{max-width:860px;margin:0 auto;padding:0 var(--pad)}
/* Content pages: the narrow text column aligns with the page head (.wrap), not centered. */
.site-main .wrap-narrow{max-width:var(--max)}
.site-main .wrap-narrow > *{max-width:860px}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
section{padding:clamp(56px,7vw,112px) 0}
section.tight{padding:clamp(36px,4.5vw,68px) 0}
.bg-cream{background:var(--cream)}
.bg-blush{background:var(--blush-soft)}
.bg-sand{background:var(--sand)}

.screen-reader-text,.sr-only{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal}
.screen-reader-text:focus{background:#fff;clip:auto;clip-path:none;color:var(--ink);display:block;height:auto;left:8px;padding:12px 18px;top:8px;width:auto;z-index:11000}
/* Inputs that drive a custom control (filters, switch) stay focusable. */
.sr-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
