:root{
  --bg:#fff;
  --text:#111;
  --muted:#6b6b6b;
  --accent:#000;
  --maxw:1100px;
  --gap:24px;
  font-family: "Inter", system-ui, Arial, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid #eee;background:#fff}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}
.logo{font-weight:700;letter-spacing:1px;font-size:18px;text-decoration:none;color:var(--accent)}
.hero{padding:48px 0;text-align:center}
.hero h1{font-size:32px;margin:0 0 6px}
.lead{color:var(--muted);margin:0 0 12px}

.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap);padding:28px 0}
.card{border:1px solid #f0f0f0;padding:18px;border-radius:8px;background:#fff;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.card img{width:100%;height:220px;object-fit:cover;border-radius:6px}
.card h4{margin:0;font-size:16px}
.card .price{font-weight:700}
.card .btns{display:flex;gap:8px;margin-top:auto;width:100%}
.button{padding:10px 12px;border:1px solid #111;background:transparent;color:var(--text);cursor:pointer;border-radius:6px}
.button.primary{background:#111;color:#fff;border-color:#111}

.modal{position:fixed;inset:0;background:rgba(0,0,0,0.45);display:flex;align-items:center;justify-content:center;z-index:200}
.modal-content{background:#fff;padding:18px;border-radius:10px;max-width:900px;width:95%;display:flex;gap:20px}
.modal img{width:320px;height:320px;object-fit:cover;border-radius:6px}
.modal-info{max-width:480px}
.hidden{display:none}
.close{background:transparent;border:0;font-size:28px;position:absolute;right:18px;top:18px;cursor:pointer}

.cart-panel{position:fixed;right:0;top:0;height:100vh;width:420px;box-shadow:-40px 0 60px rgba(0,0,0,.1);background:#fff;z-index:300;overflow:auto}
.cart-inner{padding:20px}
.close-cart{float:right;border:0;background:transparent;font-size:22px}
.cart-summary{margin-top:10px;border-top:1px solid #eee;padding-top:10px;display:flex;flex-direction:column;gap:8px}
.checkout-form{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.checkout-form input, .checkout-form textarea, select{padding:10px;border:1px solid #e6e6e6;border-radius:6px}
.payment-note{color:var(--muted);font-size:14px}
.order-result{padding:12px;background:#f7fff7;border:1px solid #e6f4e6;border-radius:6px;margin-top:10px}

@media(max-width:600px){
  .modal-content{flex-direction:column;align-items:center}
  .modal img{width:100%;height:320px}
  .cart-panel{width:100%}
}