/* shared shop chrome: cart drawer, toast, checkout */
.cartbtn{position:relative}
.cartbtn .cnt{position:absolute;top:-7px;inset-inline-start:-7px;background:var(--ac2);color:#fff;font-size:.68rem;font-weight:800;min-width:19px;height:19px;border-radius:999px;display:grid;place-items:center;padding:0 5px}
.ovl{position:fixed;inset:0;background:rgba(8,6,4,.5);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:.25s;z-index:80}
.ovl.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(420px,94vw);background:var(--bg);border-inline-start:1px solid var(--line);z-index:90;transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.7,.3,1);display:flex;flex-direction:column;box-shadow:0 0 60px rgba(0,0,0,.35)}
.drawer.on{transform:none!important}
.drawer header{position:static;border:0;background:transparent;backdrop-filter:none;padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.drawer header b{font-family:var(--disp);font-size:1.35rem;font-weight:600}
.drawer header button{margin-inline-start:auto;background:none;border:0;color:var(--ink);font-size:1.3rem;cursor:pointer;line-height:1}
.dbody{flex:1;overflow:auto;padding:14px 18px}
.dfoot{border-top:1px solid var(--line);padding:14px 18px;display:grid;gap:10px}
.li{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.li img{width:64px;height:64px;object-fit:cover;border-radius:calc(var(--rad)*.5);border:1px solid var(--line)}
.li h4{font-size:.84rem;font-weight:600;line-height:1.7}
.li .pr{font-size:.8rem;color:var(--ac);font-weight:700}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-size:1rem;line-height:1}
.qty span{min-width:18px;text-align:center;font-weight:700;font-size:.9rem}
.li .rm{background:none;border:0;color:var(--ink);opacity:.5;cursor:pointer;font-size:.75rem}
.empty{text-align:center;opacity:.65;padding:40px 10px;font-size:.9rem}
.tot{display:flex;justify-content:space-between;font-weight:800}
.tot b{color:var(--ac)}
.bbox{background:color-mix(in srgb,var(--ac) 10%,transparent);border:1px dashed color-mix(in srgb,var(--ac) 45%,transparent);border-radius:var(--rad);padding:12px 14px;font-size:.82rem;display:grid;gap:8px}
.bbox b{font-size:.86rem}
.bbox a{color:var(--ac);font-weight:700;text-decoration:underline;text-underline-offset:3px}
form.co{display:grid;gap:10px}
form.co label{font-size:.8rem;opacity:.8;display:grid;gap:4px}
form.co input,form.co textarea{font-family:var(--body);font-size:.88rem;padding:9px 12px;border-radius:calc(var(--rad)*.5);border:1px solid var(--line);background:var(--card);color:var(--ink);outline:none}
form.co input:focus,form.co textarea:focus{border-color:var(--ac)}
.toast{position:fixed;bottom:22px;inset-inline-start:50%;transform:translate(50%,80px);background:var(--ink);color:var(--bg);padding:10px 20px;border-radius:999px;font-size:.85rem;font-weight:600;z-index:99;transition:.3s;box-shadow:0 12px 30px rgba(0,0,0,.3);max-width:88vw;text-align:center}
.toast.on{transform:translate(50%,0)}
.okbox{text-align:center;padding:26px 8px;display:grid;gap:12px;justify-items:center}
.okbox .tick{width:58px;height:58px;border-radius:50%;background:color-mix(in srgb,var(--ac) 16%,transparent);color:var(--ac);display:grid;place-items:center;font-size:1.7rem}
/* product page */
.crumb{font-size:.8rem;opacity:.7;display:flex;gap:8px;flex-wrap:wrap;padding:18px 0 0}
.crumb a:hover{color:var(--ac)}
.pdp{display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;padding:26px 0 10px;align-items:start}
.gal{position:sticky;top:86px}
.gal .main{border-radius:var(--rad);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh)}
.gal .main img{aspect-ratio:1;object-fit:cover;width:100%}
.thumbs{display:flex;gap:10px;margin-top:10px}
.thumbs button{border:1.5px solid var(--line);border-radius:calc(var(--rad)*.5);overflow:hidden;padding:0;background:none;cursor:pointer;width:72px;height:72px}
.thumbs button.sel{border-color:var(--ac)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pinfo h1{font-size:clamp(1.7rem,3.6vw,2.6rem)}
.pmeta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:12px 0;font-size:.86rem;opacity:.85}
.pmeta .st{color:var(--ac);font-weight:700}
.pprice{font-family:var(--disp);font-size:2.3rem;font-weight:700;color:var(--ac);line-height:1.3}
.pprice small{font-size:.9rem;font-family:var(--body);opacity:.7}
.pcta{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 26px}
.desc{white-space:pre-line;font-size:.95rem;opacity:.88;border-inline-start:3px solid var(--line);padding-inline-start:16px;margin:18px 0}
.specs{width:100%;border-collapse:collapse;font-size:.88rem;margin-top:8px}
.specs td{padding:10px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.specs td:first-child{font-weight:700;width:38%;opacity:.85}
.vstrip{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px 18px;margin-top:26px}
.vstrip img{width:46px;height:46px;border-radius:12px;object-fit:cover}
.vstrip .mk{width:46px;height:46px;border-radius:12px;background:var(--ac);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-size:1.6rem}
.vstrip b{display:block}
.vstrip small{opacity:.7}
.vstrip .btn{margin-inline-start:auto}
@media(max-width:900px){.pdp{grid-template-columns:1fr}.gal{position:static}}

.pcard{position:relative}
.pcard .ph .pv{position:absolute;inset:0;z-index:2}
.pcard .rate{z-index:3}
.pcard h3 a:hover{color:var(--ac)}
.addbtn{position:relative;z-index:2;width:100%;padding:9px 12px;font-size:.84rem}
.cartbtn{cursor:pointer}
