/* Store pages (/device, /cart, /checkout) and the cart panel used on every page that loads cart.js.
   Tokens match the home page (index.html). */
:root{--paper:#F2F0EA;--card:#E8E3D6;--ink:#141412;--soft:#5b574c;--pine:#3F4021;--pine2:#2e2f17;--line:#d9d3c3;--white:#fffdf7;--bad:#b3261e;--good:#4c6a1f;
--f:"Satoshi",system-ui,sans-serif;--r:22px;--gut:max(16px,2.2vw)}
.store *{box-sizing:border-box}
body.store{margin:0;background:var(--white);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased}
.store img{display:block;max-width:100%}
.store a{color:inherit}
.store h1,.store h2,.store h3{font-weight:500;letter-spacing:-.025em;line-height:1.08;margin:0;text-wrap:balance}
.store .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--pine);color:#fff;text-decoration:none;font:500 17px var(--f);border-radius:999px;padding:14px 30px;border:0;cursor:pointer;transition:transform .15s,background .15s}
.store .btn:hover{background:var(--pine2)}.store .btn:active{transform:scale(.97)}
.store .btn:focus-visible{outline:3px solid #c9d48f;outline-offset:2px}
.store .btn[disabled]{opacity:.55;cursor:default}
.store .btn.block{width:100%}
.store .btn.ghost{background:transparent;color:var(--pine);box-shadow:inset 0 0 0 1.5px var(--pine)}
.ann{background:var(--pine);color:#eef0d8;text-align:center;font-size:14px;padding:9px 16px}

/* nav: same pill as the home page, but in the flow (no hero under it) */
.snav{position:sticky;top:12px;z-index:50;margin:12px var(--gut);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--white);border-radius:999px;padding:8px 8px 8px 22px;box-shadow:0 4px 24px rgba(20,20,18,.08)}
.snav img{height:24px;width:auto}
.snav .right{display:flex;align-items:center;gap:8px}
.snav .btn{padding:10px 22px;font-size:16px}
.snav .right{order:3}
.snav .links{display:flex;gap:28px;font-size:16px;margin-right:auto;margin-left:36px}
.snav .links a{text-decoration:none;color:var(--soft)}
.snav .links a:hover{color:var(--ink)}
@media (max-width:760px){.snav .links{display:none}}

/* quantity picker on the product page */
.pdp .qty{display:inline-flex;align-items:center;border-radius:99px;box-shadow:inset 0 0 0 1.5px var(--line)}
.pdp .qty button{width:44px;height:44px;border:0;background:none;font:500 20px var(--f);color:var(--ink);cursor:pointer;border-radius:99px}
.pdp .qty button:disabled{opacity:.3;cursor:default}
.pdp .qty output{min-width:28px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.note{font-size:14px;color:var(--soft)}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);padding:12px var(--gut) 72px;max-width:1360px;margin:0 auto}
.gal{display:grid;gap:12px;align-content:start}
.gal .main{border-radius:var(--r);overflow:hidden;background:var(--card);aspect-ratio:1/1}
.gal .main img{width:100%;height:100%;object-fit:cover}
.gal .thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.gal .thumbs button{padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:1/1;cursor:pointer;background:var(--card);outline:2px solid transparent;outline-offset:2px}
.gal .thumbs button[aria-current="true"]{outline-color:var(--pine)}
.gal .thumbs img{width:100%;height:100%;object-fit:cover}
.buybox{display:grid;gap:18px;align-content:start;position:sticky;top:96px}
.buybox h1{font-size:clamp(36px,4vw,56px)}
.buybox .lead{font-size:19px;color:var(--soft);margin:0}
.price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.price b{font-size:32px;font-weight:600;font-variant-numeric:tabular-nums}
.price span{font-size:15px;color:var(--soft)}
.facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.facts li{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.facts li::before{content:"";flex:none;width:7px;height:12px;margin:4px 4px 0 2px;border:solid var(--pine);border-width:0 2px 2px 0;transform:rotate(45deg)}
.buyrow{display:flex;gap:12px;align-items:center}
.buyrow .btn{flex:1}
.specs{border-top:1px solid var(--line)}
.specs details{border-bottom:1px solid var(--line)}
.specs summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:16px 2px;font-weight:500;font-size:17px}
.specs summary::-webkit-details-marker{display:none}
.specs summary::after{content:"+";font-size:22px;line-height:1;color:var(--soft)}
.specs details[open] summary::after{content:"−"}
.specs .in{padding:0 2px 18px;color:var(--soft);font-size:16px}
.specs dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 20px;margin:0}
.specs dt{color:var(--ink)}
.specs dd{margin:0}
.band{background:var(--paper);padding:72px var(--gut)}
.band .in{max-width:1100px;margin:0 auto;display:grid;gap:28px}
.band h2{font-size:clamp(30px,3.6vw,48px);text-align:center}
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.steps3 figure{margin:0;display:grid;gap:10px}
.steps3 img{border-radius:18px;aspect-ratio:4/3;object-fit:cover;width:100%}
.steps3 h3{font-size:21px}
.steps3 p{margin:0;color:var(--soft);font-size:16px}
@media (max-width:860px){
 .pdp{grid-template-columns:1fr;padding-top:4px}
 .buybox{position:static}
 .steps3{grid-template-columns:1fr}
}

/* /cart and /checkout pages */
.page{max-width:1100px;margin:0 auto;padding:16px var(--gut) 80px}
.page h1{font-size:clamp(34px,4vw,52px);margin:8px 0 24px}
.two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.panelbox{background:var(--paper);border-radius:var(--r);padding:24px;display:grid;gap:16px}
.panelbox h2{font-size:22px}
@media (max-width:860px){.two{grid-template-columns:1fr}.two .panelbox.summary{order:-1}}

/* checkout form */
.co fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
.co legend{padding:0;margin-bottom:12px;font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--soft)}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
.grid2 .span2{grid-column:1/-1}
.co label{display:grid;gap:6px;font-size:15px;color:var(--soft);min-width:0}
.co input,.co select{width:100%;min-width:0;height:50px;border-radius:12px;border:1.5px solid var(--line);background:var(--white);padding:0 14px;font:16px var(--f);color:var(--ink);appearance:none}
.co select{background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%235b574c' stroke-width='1.6' fill='none'/%3E%3C/svg%3E") no-repeat right 14px center}
.co input:focus-visible,.co select:focus-visible{outline:0;border-color:var(--pine);box-shadow:0 0 0 3px rgba(63,64,33,.15)}
.co label.bad input,.co label.bad select{border-color:var(--bad)}
.co .err{color:var(--bad);font-size:13px}
.co .formerr{background:#fbeeec;color:#8c1d16;border-radius:12px;padding:12px 14px;font-size:15px;margin:0 0 14px}
.co .pay{display:grid;gap:10px}
.co .paymode{display:grid;gap:10px}
.co .confirm{color:var(--ink)}
.co .confirm b{white-space:nowrap}
.co .opt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);cursor:pointer}
.co .opt:has(input:checked){border-color:var(--pine);box-shadow:0 0 0 3px rgba(63,64,33,.12)}
.co .opt input{width:18px;height:18px;margin:0;padding:0;border:0;box-shadow:none;appearance:auto;accent-color:var(--pine)}
.co .opt b{display:block;font-weight:600}
.co .opt small{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.co .opt em{font-style:normal;font-weight:700;white-space:nowrap}
.co .paynote{font-size:14px;color:var(--soft);margin:0}
.trust{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:14px;color:var(--soft)}
@media (max-width:480px){.grid2{grid-template-columns:1fr}.grid2 .span2{grid-column:auto}}

/* footer (dark, same as home) */
.sfoot{background:var(--ink);color:#fff;padding:56px var(--gut) 40px;margin-top:24px}
.sfoot .cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;font-size:16px;max-width:1360px;margin:0 auto}
.sfoot b{display:block;color:#8d8b82;font-weight:500;font-size:14px;margin-bottom:12px}
.sfoot a{display:block;text-decoration:none;margin-bottom:8px;color:#e9e7de}
.sfoot .fine{max-width:1360px;margin:32px auto 0;font-size:13px;color:#8d8b82}
@media (max-width:820px){.sfoot .cols{grid-template-columns:1fr 1fr}}
.steps3 figure:first-child img{object-position:50% 0;background:var(--card)}
