@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap');

:root {
  --bg: #f8fafc;
  --card: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --accent: #6366f1;
  --radius: 18px;
}

.dark {
  --bg: #020617;
  --card: #0f172a;
  --text: #f8fafc;
  --muted: #94a3b8;
}

* { box-sizing: border-box; font-family: 'Poppins', sans-serif; }
body { margin:0; background:var(--bg); color:var(--text); transition:0.4s; }

.topbar { padding:30px 20px; background:var(--card); box-shadow:0 8px 30px rgba(0,0,0,0.08);
          display:flex; flex-direction:column; align-items:center; gap:20px; }
.brand { text-align:center; }
.brand h1 { font-size:3rem; font-weight:700; margin:0; }
.brand span { font-size:1.2rem; color:var(--muted); }

.categories { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.categories button { font-weight:600; font-size:0.95rem; border:1px solid #e5e7eb; border-radius:999px;
                     padding:8px 14px; background:none; cursor:pointer; transition:0.25s; }
.categories button:hover { background:var(--accent); color:#fff; transform:translateY(-1px); }

.controls { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
.controls input, .controls select { padding:10px 14px; border-radius:999px; border:1px solid #e5e7eb;
                                   background:var(--card); color:var(--text); font-size:0.95rem; }
.controls button { padding:10px 16px; font-weight:600; cursor:pointer; border-radius:999px;
                   border:none; background:var(--accent); color:#fff; transition:0.25s; }
.controls button:hover { transform:scale(1.05); }

.layout { display:grid; grid-template-columns:3fr 1fr; gap:28px; padding:28px; }

#products { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:24px; }
.card { background:var(--card); border-radius:var(--radius); padding:18px; position:relative;
       box-shadow:0 20px 40px rgba(0,0,0,0.08); transition:transform 0.3s, box-shadow 0.3s; }
.card:hover { transform:translateY(-8px); box-shadow:0 30px 60px rgba(0,0,0,0.12); }
.card h3 { margin-top:32px; }
.price { font-size:18px; font-weight:600; margin:8px 0; }
.price .original { text-decoration:line-through; color:var(--muted); margin-right:6px; font-weight:400; }
.card select { margin-top:6px; padding:6px; border-radius:999px; border:1px solid #e5e7eb; }
.card button { margin-top:6px; padding:10px; border-radius:999px; border:none; background:var(--accent);
               color:white; cursor:pointer; transition:0.25s; }
.card button:hover { transform:scale(1.04); }

.badge { position:absolute; top:14px; right:14px; font-size:11px; padding:5px 10px; border-radius:999px; color:white; }
.badge.New { background:#22c55e; }
.badge.Sale { background:#ef4444; }
.badge["Best Seller"] { background:#f59e0b; }

.sidebar { background:var(--card); border-radius:var(--radius); padding:18px;
           box-shadow:0 20px 40px rgba(0,0,0,0.08); }
.sidebar h2 { margin-top:0; }
.clear-btn { background:transparent; border:none; color:var(--accent); cursor:pointer; font-size:12px; margin-left:6px; }
.clear-btn:hover { text-decoration:underline; }

#admin-panel { position:fixed; bottom:20px; right:20px; background:var(--card); padding:18px;
               border-radius:var(--radius); box-shadow:0 30px 80px rgba(0,0,0,0.3); display:none; width:240px; }

footer { text-align:center; padding:20px; color:var(--muted); }
