:root{
  --bg:#0b0b0c; --panel:#151516; --ink:#fafafa; --muted:#b9b9b9;
  --gold:#f0c24b; --gold-2:#d4a927; --stroke:#2a2a2a; --shadow:0 10px 30px rgba(0,0,0,.35); --radius:14px;
}
*{box-sizing:border-box} html,body{height:100%}
body{
  margin:0; font-family:'Cairo', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 90% -10%, rgba(240,194,75,.07), transparent 60%) , var(--bg);
  color:var(--ink);
}

/* Header */
.header{
  position:sticky; top:0; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:12px clamp(12px, 3vw, 24px);
  background:linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.4)), #0b0b0c;
  border-bottom:1px solid var(--stroke); backdrop-filter:saturate(120%) blur(8px);
}
.brand{display:flex; align-items:center; gap:12px}
.brand__mark{
  width:44px; height:44px; display:grid; place-items:center; background: conic-gradient(from 210deg, var(--gold), var(--gold-2));
  color:#121212; font-weight:900; font-size:22px; border-radius:50%; box-shadow: inset 0 1px 0 rgba(255,255,255,.35), var(--shadow);
}
.brand__text strong{display:block; font-size:16px; line-height:1}
.brand__text small{display:block; color:var(--muted); font-size:12px; line-height:1.2}
.header__actions{display:flex; align-items:center; gap:10px}

.search{position:relative}
.search input{
  width:min(58vw, 420px); padding:12px 38px 12px 14px; border-radius:999px; border:1px solid var(--stroke); background:#111; color:var(--ink);
  outline:none; box-shadow:var(--shadow);
}
.search input::placeholder{color:#8b8b8b}
.search button{
  position:absolute; inset-inline-end:6px; inset-block:0; margin:auto; height:32px; width:32px; border-radius:50%; border:1px solid var(--stroke);
  background:#1a1a1a; color:var(--muted); cursor:pointer;
}
.btn{
  background:linear-gradient(180deg, var(--gold), var(--gold-2)); color:#111; border:none; padding:10px 16px; border-radius:999px;
  font-weight:700; cursor:pointer; box-shadow:var(--shadow);
}
.btn--ghost{background:#161616; color:var(--ink); border:1px solid var(--stroke)}
.badge{background:var(--gold); color:#111; padding:2px 8px; border-radius:10px; margin-inline-start:6px}

/* Tabs */
.tabs{
  position:sticky; top:68px; z-index:40; display:flex; overflow:auto hidden; gap:8px;
  padding:10px 12px; background: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.35)); border-bottom:1px solid var(--stroke);
}
.tab{white-space:nowrap; padding:10px 14px; border-radius:999px; border:1px solid var(--stroke); background:#121212; color:var(--ink); cursor:pointer}
.tab.is-active{background:linear-gradient(180deg, var(--gold), var(--gold-2)); color:#121212}

/* Grid & Cards */
.content{padding:18px max(14px, 3vw)}
.grid{display:grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap:14px; align-items:stretch}
.card{
  position:relative; display:flex; flex-direction:column; overflow:hidden; border-radius:var(--radius); border:1px solid var(--stroke);
  background:linear-gradient(180deg, #121212, #0d0d0d); box-shadow: var(--shadow);
}
.card__media{aspect-ratio:4/3; width:100%; background:#0f0f0f; display:grid; place-items:center; font-size:42px; border-bottom:1px solid var(--stroke)}
.card__body{padding:12px 14px; display:grid; gap:6px}
.card h3{margin:0; font-size:18px}
.card p{margin:0; color:var(--muted); font-size:14px}
.card__meta{display:flex; justify-content:space-between; align-items:center; margin-top:8px}
.price{font-weight:800; letter-spacing:.02em}
.currency{opacity:.8; font-weight:600}
.card__actions{display:flex; gap:8px; margin-top:10px}
.small{font-size:12px; opacity:.8}
.card:hover{transform: translateY(-2px)}

/* Cart dialog */
.cart{width:min(680px, 96vw); border:none; border-radius:20px; padding:0; color:var(--ink); background:#121212; box-shadow:var(--shadow)}
.cart::backdrop{background:rgba(0,0,0,.6)}
.cart__header{display:flex; justify-content:space-between; align-items:center; padding:14px 16px; border-bottom:1px solid var(--stroke)}
.cart__items{max-height:min(60vh, 500px); overflow:auto}
.cart__row{display:grid; grid-template-columns: 1fr auto auto; gap:10px; align-items:center; padding:12px 16px; border-bottom:1px solid var(--stroke)}
.cart__row .qty{display:flex; gap:6px; align-items:center}
.qty button{width:28px; height:28px; border-radius:8px; border:1px solid var(--stroke); background:#1a1a1a; color:var(--ink); cursor:pointer}
.cart__footer{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 16px}
.total{font-size:18px; font-weight:800}
.cart__actions{display:flex; gap:10px}

/* Footer */
.footer{margin-top:36px; padding:26px 18px; border-top:1px solid var(--stroke); color:var(--muted); display:flex; justify-content:space-between; align-items:center}
.dots{height:6px; width:80px; background:repeating-linear-gradient(90deg, var(--gold) 0 8px, transparent 8px 14px); opacity:.6}

/* Responsive */
@media (max-width:520px){
  .brand__text{display:none}
  .search input{width:58vw}
  .tabs{top:60px}
}
