/* Rentals and shop catalog, cart drawer. Loaded after style.css. */
.shop-bar{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{min-height:44px;padding:0 16px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:999px;cursor:pointer}
.tab:hover{color:var(--text);border-color:var(--accent)}
.tab[aria-pressed=true]{color:var(--ink);background:var(--accent);border-color:var(--accent)}
.tabs.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px}
.tabs.tiles .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:112px;padding:12px 8px;border-radius:6px;background:var(--stage);text-align:center;line-height:1.3}
.tabs.tiles .tab[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.tabs.tiles .tab svg{width:56px;height:44px;color:var(--accent)}
.tabs.tiles .tab[aria-pressed=true] svg{color:var(--ink)}
.shop-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.shop-tools .field{flex:1 1 200px}
.shop-tools .field.sm{flex:0 1 190px}
.shop-tools input,.shop-tools select{width:100%;min-height:48px;padding:0 14px;font:400 16px/1 var(--body);color:var(--text);background:var(--stage);border:1px solid var(--line);border-radius:4px}
.shop-tools input:focus,.shop-tools select:focus{border-color:var(--accent)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px}
.pc{display:flex;flex-direction:column;min-width:0;background:var(--stage);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pc-img{position:relative;aspect-ratio:5/4;display:grid;place-items:center;color:var(--accent);background:radial-gradient(closest-side at 50% 60%,rgba(255,255,255,.07),transparent),var(--raise);border-bottom:1px solid var(--line)}
.pc-img svg{width:62%;height:auto;max-height:78%}
.pc-img img{width:100%;height:100%;object-fit:cover}
.pc-img.photo{background:#fff}
.pc-img.photo img{object-fit:contain;padding:8px}
.pc-img.photo .badge{background:rgba(7,6,13,.85)}
.specs{font-size:14px;color:var(--muted)}
.specs summary{cursor:pointer;min-height:32px;display:flex;align-items:center;font:700 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.specs ul{margin:6px 0 0;padding-left:18px;display:grid;gap:4px}
.badge{position:absolute;top:10px;left:10px;padding:4px 9px;font:500 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:rgba(7,6,13,.8);border:1px solid var(--line);border-radius:999px}
.badge.sale{left:auto;right:10px;color:var(--ink);background:var(--gold);border-color:var(--gold)}
.pc-body{display:flex;flex-direction:column;gap:10px;padding:18px;flex:1}
.pc-body .chip{align-self:flex-start}
.pc-body h3{font:400 1.6rem/1 var(--display);text-transform:uppercase}
.pc-body p{color:var(--muted);font-size:15px;line-height:1.5}
.pc-foot{margin-top:auto;display:flex;flex-direction:column;gap:12px;padding-top:8px}
.price{font:700 1.3rem/1.2 var(--body)}
.price small{font:400 14px/1 var(--body);color:var(--muted)}
.price s{color:var(--muted);font-weight:400;font-size:1rem;margin-right:6px}
.price.ask{font-size:1rem;color:var(--muted);font-weight:500}
.buy{display:flex;gap:10px}
.buy .qty{width:76px;min-height:46px;padding:0 10px;font:400 16px/1 var(--body);color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:4px;text-align:center}
.buy .btn{flex:1}
.no-match{padding:40px 0;color:var(--muted)}

/* cart drawer */
.drawer-bg{position:fixed;inset:0;z-index:55;background:rgba(3,2,8,.7)}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(480px,100%);display:flex;flex-direction:column;background:var(--stage);border-left:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-right:env(safe-area-inset-right,0px)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.drawer-head h2{font:400 1.8rem/1 var(--display);text-transform:uppercase}
.drawer-body{flex:1;overflow:auto;padding:18px 20px 28px;display:flex;flex-direction:column;gap:20px}
.cart-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.cart-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-line b{font-weight:700;overflow-wrap:anywhere}
.cart-line .sub{font-size:14px;color:var(--muted)}
.stepper{display:inline-flex;align-items:center;gap:4px}
.stepper button{width:40px;height:40px;font:700 18px/1 var(--body);color:var(--text);background:transparent;border:1px solid var(--line);border-radius:4px;cursor:pointer}
.stepper button:hover{border-color:var(--accent)}
.stepper span{min-width:30px;text-align:center;font-variant-numeric:tabular-nums}
.linkbtn{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:none;border:0;padding:10px 0;cursor:pointer;text-decoration:underline}
.linkbtn:hover{color:var(--text)}
.cart-sum{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:4px}
.cart-sum .tot{display:flex;justify-content:space-between;gap:12px;font-weight:700}
.dform{display:grid;gap:14px}
.dform .field label{font:500 12px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.dform .pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:420px){.dform .pair{grid-template-columns:minmax(0,1fr)}}
.dform input,.dform select,.dform textarea{width:100%;min-height:46px;padding:11px 12px;font:400 16px/1.4 var(--body);color:var(--text);background:var(--ink);border:1px solid var(--line);border-radius:4px}
.dform textarea{min-height:84px;resize:vertical}
.dform input:focus,.dform select:focus,.dform textarea:focus{border-color:var(--accent)}
.err{color:var(--gold);font-size:15px}
