.shop-nav-cart { display:inline-flex; align-items:center; justify-content:center; gap:.35rem; border:1px solid rgba(255,255,255,.16); border-radius:999px; background:rgba(209,15,23,.16); color:var(--text); padding:.45rem .7rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.shop-nav-cart span { min-width:1.3rem; height:1.3rem; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--red); color:#fff; font-size:.75rem; }
.shop-layout { display:grid; gap:1.3rem; }
.shop-topline { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.shop-intro { color:var(--muted); margin:0; }
.shop-cart-button, .shop-add-button, .checkout-button { border:1px solid rgba(209,15,23,.48); border-radius:999px; background:linear-gradient(180deg, rgba(209,15,23,.35), rgba(87,4,9,.72)); color:#fff; padding:.78rem 1rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; cursor:pointer; }
.shop-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1rem; }
.shop-product-card, .order-tracker-card { border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); overflow:hidden; box-shadow:var(--shadow); }
.shop-product-image-wrap { aspect-ratio: 4/3; background:#08080a; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.shop-product-image { width:100%; height:100%; object-fit:cover; }
.shop-product-body { padding:1rem; display:grid; gap:.75rem; }
.shop-product-title { font-family:var(--header-font); font-size:1.8rem; line-height:1; text-transform:uppercase; margin:0; }
.shop-product-description { color:var(--muted); line-height:1.55; }
.shop-product-description p { margin:.2rem 0; }
.shop-product-variant, .shop-variant-select, .shop-input { width:100%; border:1px solid var(--line); border-radius:.9rem; background:rgba(255,255,255,.04); color:var(--text); padding:.75rem .85rem; }
.shop-product-foot { display:flex; align-items:center; justify-content:space-between; gap:.8rem; border-top:1px solid var(--line); padding-top:.75rem; }
.shop-price { color:var(--gold); font-weight:900; font-size:1.15rem; }
.order-tracker-card { padding:1rem; }
.order-track-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; }
.shop-cart-drawer { position:fixed; inset:0; z-index:9999; pointer-events:none; }
.shop-cart-drawer.is-open { pointer-events:auto; }
.shop-cart-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); opacity:0; transition:.2s; }
.shop-cart-drawer.is-open .shop-cart-backdrop { opacity:1; }
.shop-cart-panel { position:absolute; top:0; right:0; width:min(100%,420px); height:100%; background:#09090c; border-left:1px solid var(--line); transform:translateX(105%); transition:.24s; padding:1rem; overflow:auto; }
.shop-cart-drawer.is-open .shop-cart-panel { transform:translateX(0); }
.shop-cart-head { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding-bottom:.8rem; margin-bottom:1rem; }
.shop-cart-head h2 { margin:0; font-family:var(--header-font); font-size:2rem; text-transform:uppercase; }
.shop-cart-head button { background:none; color:#fff; border:0; font-size:2rem; cursor:pointer; }
.shop-cart-items { display:grid; gap:.75rem; }
.shop-cart-row { border:1px solid var(--line); border-radius:1rem; padding:.85rem; display:grid; gap:.65rem; }
.shop-cart-row p { margin:.2rem 0 0; color:var(--muted); }
.qty-row { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; }
.qty-row button, .cart-remove { border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.04); color:#fff; padding:.4rem .65rem; }
.coupon-row { display:grid; grid-template-columns:1fr auto; gap:.55rem; margin:1rem 0; }
.cart-total-row { display:flex; justify-content:space-between; padding:.55rem 0; border-top:1px solid var(--line); }
.checkout-button { width:100%; margin-top:1rem; }
.shop-fineprint, .shop-empty-cart, .shop-error { color:var(--muted); }
.shop-error { color:#ffb3b3; }
.order-result { margin-top:1rem; border:1px solid var(--line); border-radius:1rem; padding:1rem; background:rgba(255,255,255,.03); }
@media(max-width:760px){ .shop-topline, .shop-product-foot{align-items:stretch; flex-direction:column;} .order-track-grid{grid-template-columns:1fr;} }
