:root{
  --bg:#fafafa; --card:#fff; --text:#111; --muted:#475467;
  --brand:#7F56D9; --brand-ink:#fff; --border:#e5e7eb;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:12px}
.h1{font-size:22px;font-weight:800;margin:8px 0 14px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px rgba(16,24,40,.04)}
.p{padding:14px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 14px;border-radius:12px;border:1px solid #111;background:#111;color:#fff;font-weight:700}
.btn.outline{background:#fff;color:#111;border-color:#111}
.btn.brand{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}
.btn.block{width:100%}

/* inputs */
label{display:block;font-size:12px;color:var(--muted);margin:4px 0}
.inp, textarea.inp{width:100%;border:1px solid #D0D5DD;border-radius:12px;padding:11px 12px;outline:none}
.inp:focus, textarea.inp:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(127,86,217,.15)}

/* grid */
.grid{display:grid;gap:12px}
.grid.cols-2{grid-template-columns:1fr 1fr}
.grid.cols-3{grid-template-columns:1fr 1fr 1fr}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){.container{padding:10px}.grid.cols-4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.grid.cols-3,.grid.cols-4{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}

/* product card */
.prod-card{display:flex;flex-direction:column;border-radius:16px;overflow:hidden}
.prod-card .img{aspect-ratio:1/1;object-fit:cover;border-bottom:1px solid var(--border)}
.prod-card .title{font-weight:700;margin:6px 0 2px}
.price{font-weight:800}
.mrp{opacity:.6;text-decoration:line-through;margin-left:6px}

/* top app bar */
.topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--border)}
.topbar .wrap{display:flex;align-items:center;gap:10px;height:56px}
.search{flex:1;display:flex;gap:8px}
.search input{flex:1} .search .btn{padding:10px 12px}

/* bottom tab bar (mobile) */
.tabbar{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--border);z-index:30}
.tabbar .tabs{display:flex;justify-content:space-around;padding:8px}
.tabbar a{display:flex;flex-direction:column;align-items:center;font-size:12px;color:#475467}
.tabbar a.active{color:#111;font-weight:700}

/* sticky CTA for PDP */
.sticky-cta{position:sticky;bottom:0;z-index:25;background:#fff;border-top:1px solid var(--border);padding:10px}
