:root{
  --bg:#070A12;
  --card:rgba(255,255,255,.06);
  --stroke:rgba(255,255,255,.12);
  --text:#E9EDF7;
  --muted:rgba(233,237,247,.7);
  --gold:#D6B25E;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:18px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:
    radial-gradient(900px 600px at 20% 10%, rgba(90,120,255,.14), transparent 60%),
    radial-gradient(900px 600px at 80% 20%, rgba(214,178,94,.14), transparent 60%),
    var(--bg);
  color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
}

a{color:inherit;text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:26px}

.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px;border:1px solid var(--stroke);
  border-radius:999px;background:rgba(255,255,255,.03);
  backdrop-filter: blur(10px);
}

.brand{display:flex;gap:12px;align-items:center}
.logo{width:44px;height:44px;border-radius:999px;border:1px solid var(--stroke);object-fit:cover;background:#fff}
.brand-title{letter-spacing:.18em;font-weight:700;font-size:13px}
.brand-sub{font-size:12px;color:var(--muted)}

.topbar-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

.badge{
  margin-left:8px;
  padding:2px 8px;
  border-radius:999px;
  background:rgba(214,178,94,.18);
  border:1px solid rgba(214,178,94,.35);
  color:var(--gold);
  font-size:12px;
  font-weight:700;
}

.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}
@media (max-width:900px){.hero{grid-template-columns:1fr}}

.kicker{color:var(--gold);letter-spacing:.22em;font-size:12px;margin-bottom:10px}
h1{font-size:56px;line-height:1.02;margin:0 0 10px}
@media (max-width:900px){h1{font-size:40px}}
.gold{color:var(--gold)}
.lead{color:var(--muted);font-size:16px;max-width:56ch}
.muted{color:var(--muted)}

.hero-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

.hero-image-card{
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:320px;
}

/* ✅ FIX: show full bottle (no cropping) */
.hero-image-card img{
  width:100%;
  height:100%;
  object-fit:contain;        /* changed from cover */
  object-position:center;
  display:block;
  background:#f7f5ee;        /* clean product backdrop */
  padding:14px;              /* breathing room like hero look */
}

.section{margin-top:26px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.section h2{margin:0;font-size:28px}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width:900px){.grid3{grid-template-columns:1fr}}

.card{
  border-radius:var(--radius);
  border:1px solid var(--stroke);
  background:var(--card);
  box-shadow:var(--shadow);
}

.product{overflow:hidden}

/* ✅ FIX: product images must show full bottle like hero */
.product-img{
  width:100%;
  height:260px;              /* slightly taller so bottles look premium */
  object-fit:contain;        /* changed from cover */
  object-position:center;
  display:block;
  background:#f7f5ee;        /* matches the clean image area */
  padding:12px;              /* prevents edges touching the frame */
}

.product-body{padding:14px}
.product-name{font-weight:800}
.product-desc{color:var(--muted);margin-top:6px;font-size:13px}
.product-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.price{font-weight:800;color:var(--gold)}

.addform{display:flex;gap:8px;align-items:center}
.qty{
  width:64px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.25);
  color:var(--text);
}

.btn{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(214,178,94,.55);
  background:rgba(214,178,94,.15);
  color:var(--gold);
  font-weight:800;
  cursor:pointer;
}
.btn:hover{background:rgba(214,178,94,.22)}
.btn-ghost{
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.03);
  color:var(--text);
}
.btn-ghost:hover{background:rgba(255,255,255,.06)}

.flash{
  margin-top:12px;
  border:1px solid var(--stroke);
  border-radius:14px;
  background:rgba(255,255,255,.03);
  padding:10px 12px;
}
.flash-item{color:var(--text);font-size:14px}

.order-lines{margin-top:10px}
.line{display:flex;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.line:last-child{border-bottom:none}
.line-price{color:var(--gold);font-weight:800}

.form{margin-top:14px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
label{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
input,select{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.25);
  color:var(--text);
}

.totals{margin-top:14px;border-top:1px solid rgba(255,255,255,.10);padding-top:12px}
.totals .row{display:flex;justify-content:space-between;padding:6px 0;color:var(--muted)}
.totals .total{color:var(--text);font-weight:900}
.actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}

.newsletter{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.newsletter input{flex:1;min-width:240px}

.footer{margin-top:28px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}

/* ✅ Mobile tune so product cards still look good */
@media (max-width:600px){
  .product-img{height:230px;padding:10px}
  .hero-image-card img{padding:10px}
}
