/* 11.6.20 — Critical shell: minimal light-theme first-paint styles.
 * Base, layout, header shell, overlays, a11y helpers, icon fallbacks.
 * Full component styling lives in the later stylesheets. */
:root{
  --site-max-width:1360px;--header-h:72px;
  --critical-bg:#fbf9f5;--critical-text:#282330;--critical-muted:#625b6b;
  --critical-border:rgba(86,71,45,.14);--critical-card:#ffffff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--critical-bg);color:var(--critical-text);
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
#main-content{position:relative}
h1,h2,h3,h4{margin-top:0;line-height:1.08;letter-spacing:-.03em}
h1{font-size:clamp(2.25rem,5vw,4.5rem)}
h2{font-size:clamp(1.75rem,3.4vw,3rem)}
h3{font-size:clamp(1.1rem,1.6vw,1.45rem)}
/* Floating header shell (structural only; full styling arrives later). */
.nt-floating-header{position:fixed;z-index:1000;inset:8px 8px auto;
  border:1px solid var(--critical-border);border-radius:20px;background:rgba(255,254,251,.96)}
.nt-floating-header__inner{min-height:var(--header-h);display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:0 18px}
/* H2: header scroll state. JS (main.js syncHeaderState) toggles is-scrolled /
   is-auto-hidden on #siteHeader <=768px; header.php toggles is-stuck on the same
   element at scrollY>12. is-stuck and is-scrolled are near-identical signals, so
   they share the modest scrolled treatment. */
.nt-floating-header{transition:transform .32s ease,box-shadow .3s ease}
#siteHeader.is-scrolled,#siteHeader.is-stuck{box-shadow:
  14px 14px 34px rgba(154,145,174,.18),-8px -8px 24px rgba(255,255,255,.78),
  inset 1px 1px 0 rgba(255,255,255,.9),0 18px 44px rgba(90,72,40,.22)!important}
#siteHeader.is-auto-hidden{transform:translateY(-115%)}
.nt-floating-header__brand{flex:0 0 auto}
.site-logo{font-weight:800;font-size:1.2rem;white-space:nowrap}
.site-logo__accent{color:#a3570a;margin-left:.25em}
.nt-desktop-nav{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;margin:0}
.nt-desktop-nav>a,.nt-desktop-nav .menu-item>a{font-size:.9rem;font-weight:700;color:var(--critical-muted)}
.nt-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin:0}
.nt-header-icon,.nt-header-search,.nt-header-currency,.nt-shop-deals-cta{min-height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--critical-border);background:var(--critical-card);
  color:var(--critical-text);border-radius:999px}
.nt-header-search{width:auto;padding:0 13px;gap:8px}
.nt-header-search__label{font-size:.76rem;font-weight:700}
.nt-header-icon{width:42px}
.nt-icon-svg{width:18px;height:18px;display:block;margin:auto;stroke:currentColor;fill:none;stroke-width:2}
.nt-header-icon .nt-icon-svg{width:18px;height:18px}
.bm-drawer__account .nt-icon-svg{display:inline-block;vertical-align:middle;margin-right:6px;width:18px;height:18px}
.nt-header-currency{padding:0 12px;gap:7px}
.nt-header-currency select{background:transparent;border:0;color:inherit;font-weight:700}
.nt-shop-deals-cta{padding:0 18px;font-size:.78rem;font-weight:800;text-transform:uppercase}
.mobile-nav-toggle{display:none}
/* A11y helpers. */
.skip-link{position:fixed;left:-9999px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* Product loop reset. */
.woocommerce ul.products{list-style:none;margin:0;padding:0}
.woocommerce ul.products li.product{margin:0!important;width:auto!important;float:none!important}
.nt-native-loop-item>.nt-product-card-v6{height:100%}
.nt-product-card-v6__image{display:flex;align-items:center;justify-content:center}
.nt-product-card-v6__image img,.nt-curated-product-img{display:block;width:100%;height:100%;
  object-fit:contain;object-position:center}
/* 11.6.64: text-glyph icon fallbacks removed; they overrode Font Awesome (font-family:inherit + ::before content). */
/* Consent overlay. */
.nt-consent{position:fixed;z-index:1300;left:50%;bottom:18px;transform:translateX(-50%);
  width:min(720px,calc(100% - 28px));display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding:16px 18px;border:1px solid var(--critical-border);border-radius:18px;
  background:rgba(255,254,251,.97);box-shadow:0 22px 70px rgba(40,25,65,.18)}
.nt-consent[hidden]{display:none!important}
.nt-consent strong{display:block;margin-bottom:4px}
.nt-consent p{margin:0;color:var(--critical-muted);font-size:.86rem}
.nt-consent__actions{display:flex;gap:8px;flex:0 0 auto}
/* Manual payment details (checkout; only styled here). */
.nt-manual-payment-details{margin-top:12px;padding:12px;border:1px solid var(--critical-border);
  border-radius:12px;background:var(--critical-card)}
.nt-manual-payment-details ul{margin:8px 0 0;padding-left:18px}
/* Overlays. */
.nt-mobile-menu-v6,.nt-mobile-menu-overlay,.nt-modal{opacity:0;visibility:hidden;pointer-events:none}
.nt-mobile-menu-v6[aria-hidden="false"],.nt-mobile-menu-overlay[aria-hidden="false"],
.nt-modal[aria-hidden="false"]{pointer-events:auto}
/* C1: search modal base positioning + open state. JS (main.js setModalState) toggles
   .is-open / aria-hidden="false"; no rule ever restored opacity/visibility, so the
   modal could never appear. Visibility/positioning only — clay visuals live in the
   body.nt-clay-scoped rules above/below. */
.nt-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center}
.nt-modal.is-open,.nt-modal[aria-hidden="false"]{opacity:1;visibility:visible;pointer-events:auto}
/* H4: body scroll-lock consumed by JS (main.js: nt-modal-open, nt-live-search-open). */
body.nt-modal-open{overflow:hidden}
body.nt-live-search-open{overflow:hidden}
/* Responsive shell. */
@media(max-width:900px){
  :root{--header-h:64px}
  .nt-floating-header{inset:8px 8px auto}
  .nt-floating-header__inner{display:flex;padding:0 12px;gap:10px}
  .nt-desktop-nav,.nt-shop-deals-cta{display:none}
  .nt-header-search{width:42px;padding:0}
  .nt-header-search__label{display:none}
  .mobile-nav-toggle{display:inline-flex}
  .nt-header-currency{margin-left:auto}
}
@media(max-width:1180px) and (min-width:901px){
  .nt-desktop-nav{gap:14px}
  .nt-header-search{width:42px;padding:0}
  .nt-header-search__label{display:none}
  .nt-header-currency{display:none}
}
@media(max-width:640px){
  .nt-consent{align-items:stretch;flex-direction:column}
  .nt-consent__actions{display:grid;grid-template-columns:1fr 1fr}
  .nt-consent__actions .nt-btn{width:100%}
}
