:root{--c:#111;--b:#fff;--g:#eee}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:system-ui,Segoe UI,Roboto,Arial}
.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{border-bottom:1px solid var(--g);background:#fff}
.nav{display:flex;align-items:center;justify-content:space-between}
.logo{font-weight:700;text-decoration:none;color:var(--c)}
.nav a{margin-left:16px;text-decoration:none;color:var(--c);opacity:.9}
.hero{padding:48px 0;text-align:center}
.btn{display:inline-block;border:1px solid var(--c);padding:10px 16px;text-decoration:none;color:var(--b);background:var(--c);border-radius:12px}
.btn.disabled{opacity:.5}.btn.small{padding:6px 10px;font-size:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.card{border:1px solid var(--g);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--c);background:#fff}
.card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#f5f5f5}
.card-body{display:flex;align-items:center;justify-content:space-between;padding:10px}
.product{display:grid;gap:24px;grid-template-columns:1fr}.product .big{width:100%;border-radius:16px;border:1px solid var(--g);object-fit:cover}
.product .info .price{font-size:20px;font-weight:700}
.row{display:flex;gap:8px;align-items:center}.row img{width:48px;height:48px;object-fit:cover;border-radius:8px;border:1px solid var(--g)}
.cart{width:100%;border-collapse:collapse}.cart th,.cart td{border-bottom:1px solid var(--g);padding:10px;text-align:left}
.qty{width:64px}.total{margin:16px 0;font-size:18px}.footer{border-top:1px solid var(--g);margin-top:40px}
.narrow{max-width:520px;margin:20px auto}
.prose img{max-width:100%}
@media(min-width:880px){.product{grid-template-columns:1fr 1fr}}
