:root{
  --bg:#07101a; --card:#08131a; --accent:#fbc02d; --accent-2:#ff6f61; --muted:#9aa5b1;
  --glass: rgba(255,255,255,0.03); --surface:#0f1a22; --maxw:1200px;
}

/* base */
*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter, "Segoe UI", system-ui, -apple-system, Roboto, Arial;color:#e6f0f6;background:linear-gradient(180deg,#07121a,#061018)}
a{color:inherit}
.sr-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;max-width:var(--maxw);margin:10px auto}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:64px;height:64px;object-fit:contain}
.brand h1{margin:0;color:var(--accent)}
.tag{color:var(--muted);font-size:13px}

/* controls */
.controls{display:flex;gap:8px;align-items:center}
.controls input, .controls select{padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,0.04);background:rgba(255,255,255,0.02);color:#fff}
.btn{background:transparent;border:1px solid rgba(255,255,255,0.06);color:#fff;padding:8px 12px;border-radius:10px;cursor:pointer}
.btn.small{padding:6px 8px}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#08131a;border:none}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.03)}

/* layout */
.container{max-width:var(--maxw);margin:20px auto;padding:0 18px;display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}
.left-panel{display:flex;flex-direction:column;gap:14px}

/* cards */
.promo-card,.filter-card,.support-card,.wishlist-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,0.03)}
.promo-card h3{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{padding:6px 8px;border-radius:999px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.03);cursor:pointer;color:var(--muted)}

/* catalog */
.catalog{background:transparent}
.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}

/* product */
.product{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));border-radius:12px;padding:10px;border:1px solid rgba(255,255,255,0.03);position:relative;overflow:hidden;cursor:grab}
.product:active{cursor:grabbing}
.thumb{width:100%;height:160px;border-radius:8px;background:#0b1114;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product img{width:100%;height:100%;object-fit:cover;display:block}
.product h3{font-size:16px;margin:8px 0 4px;color:#fff}
.meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}
.price{font-weight:900;color:var(--accent-2)}
.badge{position:absolute;top:12px;left:12px;background:rgba(0,0,0,0.45);padding:6px 8px;border-radius:8px;font-weight:800;color:#fff;font-size:13px}
.actions{display:flex;gap:6px;margin-top:10px}
.action-btn{flex:1;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.03);background:rgba(255,255,255,0.02);color:#fff}

/* empty state */
.empty-state{text-align:center;color:var(--muted);padding:40px}
.hidden{display:none}

/* cart sidebar */
.cart-sidebar{position:fixed;right:18px;top:80px;width:380px;max-width:92vw;background:linear-gradient(180deg,#07121a,#061017);border-radius:12px;padding:12px;border:1px solid rgba(255,255,255,0.04);box-shadow:0 22px 48px rgba(0,0,0,0.7);transform:translateX(110%);transition:transform .36s cubic-bezier(.2,.9,.2,1);z-index:999}
.cart-sidebar.open{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center}
.cart-items{max-height:340px;overflow:auto;margin:12px 0;display:flex;flex-direction:column;gap:10px}
.cart-row{display:flex;gap:8px;align-items:center;padding:8px;border-radius:8px;background:rgba(255,255,255,0.02)}
.cart-row img{width:64px;height:56px;object-fit:cover;border-radius:8px}
.qty-input{width:64px;padding:6px;border-radius:8px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.03);color:#fff}

/* totals */
.cart-footer{display:flex;flex-direction:column;gap:10px}
.totals{color:var(--muted);font-size:14px;display:flex;flex-direction:column;gap:6px}
.totals .grand{font-weight:900;color:#fff}
.cart-buttons{display:flex;gap:8px;justify-content:space-between;align-items:center}

/* modal */
.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.5);z-index:10000;opacity:0;pointer-events:none;transition:opacity .24s}
.modal.open{opacity:1;pointer-events:auto}
.modal-card{background:linear-gradient(180deg,#08131a,#061017);border-radius:12px;padding:16px;width:min(920px,96%);border:1px solid rgba(255,255,255,0.04);color:#fff}
.modal-close{float:right;background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer}
.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.modal-image img{width:100%;height:320px;object-fit:cover;border-radius:10px}
.modal-info h3{margin:0}
.meta{color:var(--muted);margin:8px 0}
.modal-actions{display:flex;gap:10px;align-items:center;margin-top:12px}
.qty input{width:68px;padding:8px;border-radius:8px;border:1px solid rgba(255,255,255,0.04);background:#07101a;color:#fff}

/* footer */
.shop-footer{margin-top:56px;padding:22px 0;background:transparent;color:var(--muted);border-top:1px solid rgba(255,255,255,0.02)}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo-small{width:48px}

/* reduced motion */
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;animation:none !important}
}

/* responsive */
@media (max-width:980px){
  .container{grid-template-columns:1fr;gap:12px;padding:12px}
  .left-panel{order:2;display:flex;flex-direction:row;gap:10px;overflow:auto}
  .modal-grid{grid-template-columns:1fr}
  .cart-sidebar{right:8px;top:72px;width:92vw}
}
