/* ---- v7: shop ---- */
.nav-links a.cart-link{position:relative}
.badge{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;white-space:nowrap}
.badge.in{background:rgba(15,107,92,.12);color:var(--teal)}
.badge.low{background:rgba(232,93,38,.14);color:var(--marigold-deep)}
.badge.pre{background:rgba(31,42,107,.12);color:#1F2A6B}
.badge.oos{background:rgba(20,19,17,.1);color:var(--ink-soft)}

.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:clamp(20px,3vw,44px)}
@media(max-width:900px){.shop-layout{grid-template-columns:1fr}}
.filter-bar{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px;align-self:start}
@media(max-width:900px){.filter-bar{flex-direction:row;flex-wrap:wrap;position:static}}
.filter-bar label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.filter-bar select{font-family:var(--font-mono);font-size:12px;padding:9px 10px;border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);outline:none}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.shop-grid{grid-template-columns:1fr}}
.prod-card{border:1px solid var(--line-strong);background:var(--paper-2);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.prod-card:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(20,19,17,.14)}
.prod-img{display:block;overflow:hidden}
.prod-img img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .4s ease}
.prod-card:hover .prod-img img{transform:scale(1.04)}
.prod-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px}
.prod-row1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.prod-cat{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.prod-body h3{font-family:var(--font-disp);font-weight:800;font-size:24px;text-transform:uppercase;line-height:1;margin:0}
.prod-body h3 a{text-decoration:none}
.prod-tag{font-size:12.5px;color:var(--ink-soft)}
.prod-price{font-family:var(--font-mono);font-size:16px;font-weight:700}
.prod-price s{opacity:.45;font-size:12px;font-weight:400;margin-left:2px}
.cw-chips{display:flex;gap:5px}
.cw-chip{width:16px;height:16px;border-radius:50%;border:1px solid var(--line-strong);display:inline-block}
.size-hint{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.1em;color:var(--ink-soft);opacity:.75}
.btn-ink{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;cursor:pointer;margin-top:6px;transition:background .2s}
.btn-ink:hover{background:var(--marigold);border-color:var(--marigold)}
.btn-hot{background:var(--marigold);color:#fff;border:1px solid var(--marigold);font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:14px 18px;cursor:pointer;transition:background .2s}
.btn-hot:hover{background:var(--marigold-deep);border-color:var(--marigold-deep)}

/* modal */
.pd-modal{display:none;position:fixed;inset:0;background:rgba(20,19,17,.55);z-index:200;align-items:flex-start;justify-content:center;overflow-y:auto;padding:4vh 14px}
.pd-card{background:var(--paper);border:1px solid var(--line-strong);max-width:1060px;width:100%;display:grid;grid-template-columns:1fr 1fr;position:relative;margin:auto}
@media(max-width:860px){.pd-card{grid-template-columns:1fr}}
.pd-close{position:absolute;top:10px;right:10px;z-index:5;background:var(--ink);color:var(--paper);border:none;width:34px;height:34px;cursor:pointer;font-size:14px}
.pd-img img{width:100%;height:100%;object-fit:cover;display:block;max-height:640px}
.pd-info{padding:clamp(20px,3vw,34px);display:flex;flex-direction:column;gap:12px}
.pd-info h2{font-family:var(--font-disp);font-weight:900;font-size:clamp(30px,4vw,46px);text-transform:uppercase;line-height:.98}
.pd-desc{font-size:14px;color:var(--ink-soft)}
.pd-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}
.pd-label b{color:var(--ink)}
.pd-sizelink{font-family:var(--font-mono);font-size:10px;margin-left:8px}
.pd-cws{display:flex;flex-wrap:wrap;gap:8px}
.pd-cw{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line-strong);background:transparent;padding:8px 12px;font-family:var(--font-mono);font-size:10.5px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.pd-cw span{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);display:inline-block}
.pd-cw.sel{outline:2px solid var(--ink);outline-offset:2px}
.pd-sizes{display:flex;flex-wrap:wrap;gap:7px}
.pd-size{border:1px solid var(--line-strong);background:transparent;padding:10px 13px;font-family:var(--font-mono);font-size:11px;cursor:pointer;min-width:52px}
.pd-size.sel{background:var(--ink);color:var(--paper)}
.pd-size:disabled{opacity:.35;cursor:not-allowed}
.pd-stock-note{font-family:var(--font-mono);font-size:10.5px;color:var(--teal);min-height:16px}
.pd-pin .pin-row{display:flex;gap:8px;margin-top:6px}
.pd-pin input{border:1px solid var(--ink);background:transparent;padding:11px 12px;font-family:var(--font-mono);font-size:13px;width:160px;outline:none}
.pin-result{font-family:var(--font-mono);font-size:11px;color:var(--ink-soft);margin-top:8px;line-height:1.7}
.pd-meta{border-top:1px dashed var(--line-strong);padding-top:10px;display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.06em;color:var(--ink-soft);line-height:1.7}
.pd-chart{border:1px dashed var(--line-strong);background:var(--paper-2);padding:14px;margin-top:4px}
.pd-chart b{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:8px}
.pd-chart table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:11.5px}
.pd-chart th{text-align:left;border-bottom:1px solid var(--line-strong);padding:5px 8px;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.pd-chart td{padding:5px 8px;border-bottom:1px dashed var(--line)}
.pd-chart span{font-family:var(--font-mono);font-size:9.5px;color:var(--ink-soft);display:block;margin-top:8px}

/* cart drawer */
.cart-drawer{position:fixed;top:0;right:-420px;width:min(420px,92vw);height:100vh;background:var(--paper);border-left:1px solid var(--line-strong);z-index:300;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.19,1,.22,1)}
.cart-drawer.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line-strong);font-family:var(--font-disp);font-size:22px;text-transform:uppercase}
#cart-items{flex:1;overflow-y:auto;padding:10px 20px}
.cart-empty{font-family:var(--font-mono);font-size:12px;line-height:2;text-align:center;margin-top:40px}
.ci{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line)}
.ci img{width:64px;height:64px;object-fit:cover;border:1px solid var(--line)}
.ci-mid{display:flex;flex-direction:column;gap:3px;font-size:12.5px}
.ci-mid b{font-family:var(--font-disp);font-size:16px;text-transform:uppercase;letter-spacing:.02em}
.ci-mid span{font-family:var(--font-mono);font-size:10px;color:var(--ink-soft)}
.ci-qty{display:flex;align-items:center;gap:10px;margin-top:4px}
.ci-qty button{width:24px;height:24px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;font-family:var(--font-mono)}
.ci-qty span{font-family:var(--font-mono);font-size:12px;min-width:20px;text-align:center}
.ci-right{text-align:right;font-family:var(--font-mono);font-size:12.5px;font-weight:700}
.ci-rm{display:block;font-family:var(--font-mono);font-size:9.5px;color:var(--marigold-deep);margin-top:8px}
.cart-foot{border-top:1px solid var(--line-strong);padding:16px 20px;display:flex;flex-direction:column;gap:8px}
.cart-line{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12px}
.cart-line b{font-size:13px}
.cart-foot .btn-hot{text-align:center;text-decoration:none;margin-top:6px}

/* checkout */
.co-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,64px)}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}}
.co-form{display:flex;flex-direction:column;gap:14px}
.co-form label{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);display:flex;flex-direction:column;gap:6px}
.co-form input{border:1px solid var(--ink);background:transparent;padding:13px 14px;font-family:var(--font-mono);font-size:13px;outline:none}
.co-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:600px){.co-two{grid-template-columns:1fr}}
.co-methods{border:1px solid var(--line-strong)}
.co-method{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px dashed var(--line);cursor:pointer;font-size:13px}
.co-method:last-child{border-bottom:none}
.co-method input{margin-top:3px}
.co-method b{font-family:var(--font-disp);font-size:16px;text-transform:uppercase;display:block}
.co-method small{color:var(--ink-soft);font-family:var(--font-mono);font-size:10px}
.co-summary{border:1px solid var(--line-strong);background:var(--paper-2);padding:22px;display:flex;flex-direction:column;gap:10px;position:sticky;top:84px;align-self:start}
.co-line{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:7px 0;border-bottom:1px dashed var(--line)}
.co-line span{color:var(--ink-soft);font-family:var(--font-mono);font-size:11px}
.co-tot{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:12.5px}
.co-tot.grand{font-size:16px;font-weight:700;border-top:1px solid var(--line-strong);padding-top:10px}
.co-big{font-size:17px}
#co-done h3{font-family:var(--font-disp);font-size:44px;text-transform:uppercase;line-height:1}
.ship-note{font-family:var(--font-mono);font-size:10.5px;color:var(--ink-soft);line-height:1.8;letter-spacing:.05em}
/* v7.1 fixes */
nav{gap:10px}
.wordmark{font-size:24px}
.wordmark img{width:18px!important;height:18px!important;vertical-align:-3px!important}
.nav-links{gap:clamp(8px,1.2vw,18px);flex-wrap:nowrap}
.nav-cta{white-space:nowrap;flex:none}
.pd-card{max-height:92vh;overflow-y:auto}
.pd-img img{max-height:480px}
.pd-card #pd-add{position:sticky;bottom:10px;z-index:4;box-shadow:0 -8px 22px rgba(20,19,17,.22)}
.pd-card::-webkit-scrollbar{width:8px}
.pd-card::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}
.pd-card::-webkit-scrollbar-track{background:transparent}

/* v7.3 mobile: burger nav + image fallbacks */
.nav-burger{display:none;background:var(--ink);color:var(--paper);border:none;width:40px;height:40px;font-size:18px;cursor:pointer;flex:none;line-height:1}
.wordmark{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.wordmark img{display:block;margin-right:0!important}
@media(max-width:1100px){
  .wordmark{font-size:20px}
  .wordmark img{width:17px!important;height:17px!important}
  .nav-burger{display:block}
  .nav{flex-wrap:nowrap}
  nav .nav-links{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;align-items:stretch;padding:76px 0 32px;overflow-y:auto;z-index:150;box-shadow:0 18px 40px rgba(20,19,17,.18)}
  nav .nav-links.open{display:flex;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;height:100vh!important;max-height:none!important}
  .nav-links li{display:block!important}
  nav .nav-links a{display:block;padding:13px 22px;border-bottom:1px dashed var(--line)}
  .nav-links a::after{display:none}
  .nav-cta{display:inline-block;margin:14px 22px 8px}
  .nav-burger{position:relative;z-index:160}
  body.menu-locked{overflow:hidden}
}
img.pimg-fallback{background:var(--paper-2) center/24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23E85D26'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cg stroke='%23E85D26' stroke-width='1.6'%3E%3Cpath d='M12 2v5M12 17v5M2 12h5M17 12h5M4.9 4.9l3.5 3.5M15.6 15.6l3.5 3.5M19.1 4.9l-3.5 3.5M8.4 15.6l-3.5 3.5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}

/* ===== v8: light/dark theme system + vanterra-style layout ===== */
:root{--nav-bg:rgba(244,239,230,.92)}
html[data-theme="dark"]{
  --paper:#15151A;--paper-2:#1D1D23;--ink:#F2EEE6;--ink-soft:#C9C4B8;
  --line:rgba(242,238,230,.16);--line-strong:rgba(242,238,230,.5);
  --nav-bg:rgba(21,21,26,.9);
  color-scheme:dark;
}
html{color-scheme:light}
html[data-theme="dark"] .band,html[data-theme="dark"] .loom,html[data-theme="dark"] footer{background:#101014}
html[data-theme="dark"] .modal-card,html[data-theme="dark"] .cart-drawer{background:#1D1D23}
body{transition:background .25s ease,color .25s ease}
.theme-btn{background:none;border:1px solid var(--line-strong);color:var(--ink);width:36px;height:36px;font-size:15px;cursor:pointer;flex:none;line-height:1;margin-left:8px}

/* image-first product cards (vanterra collcard style) */
.prod-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);display:flex;flex-direction:column}
.prod-card .pc-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;text-decoration:none}
.prod-card .pc-media img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.prod-card:hover .pc-media img{transform:scale(1.05)}
.prod-card .pc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,19,17,.62),rgba(20,19,17,0) 52%)}
.prod-card .pc-badge{position:absolute;top:10px;left:10px;z-index:2}
.prod-card .pc-go{position:absolute;right:12px;bottom:12px;z-index:2;color:var(--paper);font-size:18px;opacity:0;transition:opacity .25s ease,transform .25s ease;transform:translateX(-6px)}
.prod-card:hover .pc-go{opacity:1;transform:none}
.prod-card .pc-onimg{position:absolute;left:12px;right:44px;bottom:10px;z-index:2;color:#F4EFE6}
.prod-card .pc-onimg h3{font-size:19px;margin:0}
.prod-card .pc-meta{padding:12px 14px 0;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.prod-card .pc-meta h3{font-size:16px}
.prod-card .pc-price{font-weight:700;white-space:nowrap}
.prod-card .pc-strip{padding:8px 14px 14px;margin-top:auto}
.prod-card .prod-tag{display:block;font-size:11px;color:var(--ink-soft);margin-top:2px}
.prod-card .cw-chips{margin:8px 0}
.prod-card .btn-ink{width:100%}
html[data-theme="dark"] .prod-card{background:#1D1D23}
html[data-theme="dark"] .badge{background:rgba(16,16,20,.85);border-color:rgba(242,238,230,.45);color:#F2EEE6}
html[data-theme="dark"] .badge.pre{color:#F0B67F}
html[data-theme="dark"] .badge.oos{color:#E88A8A}

/* split feature band */
.split-feature{display:grid;grid-template-columns:1fr 1fr}
@media(max-width:820px){.split-feature{grid-template-columns:1fr}}
.split-feature .half{position:relative;overflow:hidden;display:block;min-height:340px;text-decoration:none}
.split-feature .half img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.split-feature .half:hover img{transform:scale(1.04)}
.split-feature .half::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,19,17,.8),rgba(20,19,17,.12) 60%)}
.split-feature .halftext{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.6rem 1.8rem;color:#F4EFE6}
.split-feature .halftext .kick{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--marigold);margin-bottom:.4rem}
.split-feature .halftext h3{font-family:var(--font-disp);font-weight:900;font-size:clamp(2rem,4.5vw,3.2rem);line-height:.95;text-transform:uppercase}
.split-feature .halflink{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid rgba(244,239,230,.5);display:inline-block;margin-top:.6rem}

/* fullscreen photo hero (light-first, vanterra structure) */
.hero-v2{position:relative;height:calc(100svh - 96px);min-height:520px;max-height:800px;display:flex;align-items:flex-end;padding:0 clamp(16px,4vw,56px) clamp(40px,7vh,72px);overflow:hidden}
.hero-v2 .hv-img{position:absolute;inset:0}
.hero-v2 .hv-img img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero-v2 .hv-veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(20,19,17,.82),rgba(20,19,17,.18) 55%,rgba(20,19,17,.02))}
.hero-v2 .hv-content{position:relative;z-index:2;color:#F4EFE6;max-width:1100px}
.hero-v2 .hv-kick{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;color:var(--marigold);text-transform:uppercase;margin-bottom:14px}
.hero-v2 h1{font-family:var(--font-disp);font-weight:900;font-size:clamp(52px,10.5vw,158px);line-height:.94;text-transform:uppercase;margin-left:-.02em}
.hero-v2 h1 .hv-b{color:var(--marigold)}
.hero-v2 .hv-sub{font-family:var(--font-quote);font-style:italic;font-size:clamp(16px,2.2vw,23px);color:rgba(244,239,230,.88);margin-top:12px}
.hero-v2 .hv-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.hero-v2 .hv-btn{padding:14px 22px;text-decoration:none;font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.hero-v2 .hv-hot{background:var(--marigold);color:#fff;border:1px solid var(--marigold)}
.hero-v2 .hv-ghost{border:1px solid rgba(244,239,230,.55);color:#F4EFE6}
