:root{
  --maroon:#6b1d2a; --maroon-d:#4a1019; --gold:#c8902b; --gold-l:#f6e2b3;
  --cream:#fff9ef; --ink:#2b1a1a; --muted:#7a6a62; --line:#eadfce; --white:#fff;
  --radius:14px; --shadow:0 8px 24px rgba(107,29,42,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Poppins',sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,.logo{font-family:'Cormorant Garamond',serif}
button{font-family:inherit;cursor:pointer}

.topbar{background:var(--maroon);color:var(--gold-l);text-align:center;font-size:.8rem;padding:8px 12px}

.header{position:sticky;top:0;z-index:50;background:rgba(255,249,239,.96);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5vw;border-bottom:1px solid var(--line)}
.logo{font-size:1.9rem;font-weight:700;color:var(--maroon);display:flex;flex-direction:column;line-height:1}
.logo span{font-family:'Poppins';font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-top:4px}
.nav{display:flex;gap:22px;font-size:.9rem;font-weight:500}
.nav a:hover{color:var(--gold)}
.header-actions{display:flex;gap:10px;align-items:center}
.cart-btn{background:var(--maroon);color:#fff;border:0;border-radius:30px;padding:8px 16px;font-size:.95rem}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;color:var(--maroon)}

.btn{display:inline-block;background:var(--gold);color:#fff;border:0;border-radius:30px;padding:12px 26px;font-weight:500;font-size:.95rem;transition:.2s;text-align:center}
.btn:hover{background:var(--maroon)}
.btn-ghost{background:transparent;color:var(--maroon);border:1.5px solid var(--maroon)}
.btn-ghost:hover{background:var(--maroon);color:#fff}

.hero{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:30px;padding:70px 5vw;
  background:radial-gradient(circle at 80% 40%,#ffe7b0 0,transparent 55%),linear-gradient(120deg,#fff3dc,#fff9ef)}
.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.75rem;color:var(--gold);font-weight:600}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.1;color:var(--maroon);margin:12px 0}
.hero p{max-width:520px;color:var(--muted)}
.hero-cta{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.hero-art{position:relative;display:grid;place-items:center;min-height:300px}
.glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,#ffd166 0,rgba(255,209,102,0) 70%);animation:pulse 3s ease-in-out infinite}
.diya{position:relative;font-size:9rem;filter:drop-shadow(0 10px 20px rgba(200,144,43,.5));animation:float 4s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.15);opacity:.8}}
@keyframes float{50%{transform:translateY(-10px)}}

.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:22px 5vw;background:var(--maroon);color:var(--gold-l)}
.features div{display:flex;flex-direction:column;font-size:.85rem}
.features strong{color:#fff}

.section{padding:64px 5vw}
.section h2{font-size:2.3rem;color:var(--maroon);text-align:center;margin-bottom:28px}

.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px 10px;text-align:center;font-family:'Cormorant Garamond';font-size:1.4rem;font-weight:600;color:var(--maroon);transition:.2s}
.cat span{display:block;font-size:2.6rem;margin-bottom:6px}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold)}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);background:#fff;border-radius:30px;padding:7px 16px;font-size:.85rem;color:var(--ink)}
.chip.active,.chip:hover{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.tools{display:flex;gap:10px}
.tools input,.tools select,.modal-card input,.modal-card select,.modal-card textarea{
  border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:.9rem;background:#fff;width:100%}
.tools input{min-width:190px}.tools select{width:auto}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.thumb{position:relative;height:200px;display:grid;place-items:center;font-size:5rem}
.thumb img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:10px;left:10px;background:var(--maroon);color:#fff;font-size:.7rem;padding:3px 10px;border-radius:20px;font-family:'Poppins'}
.card-body{padding:14px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card-body h3{font-size:1.25rem;color:var(--maroon);line-height:1.2}
.card-body p{font-size:.8rem;color:var(--muted);flex:1}
.price{display:flex;align-items:baseline;gap:8px}
.price strong{font-size:1.15rem}
.price s{color:var(--muted);font-size:.85rem}
.price em{font-style:normal;color:#2f8f4e;font-size:.78rem;font-weight:600}
.add{background:var(--maroon);color:#fff;border:0;border-radius:10px;padding:10px;font-weight:500;margin-top:6px}
.add:hover{background:var(--gold)}
.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:40px}

.about{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;background:#fff}
.about h2{text-align:left}
.about p{color:var(--muted);margin-bottom:12px}
.about-card{background:var(--maroon);color:var(--gold-l);padding:30px;border-radius:var(--radius)}
.about-card h3{color:#fff;font-size:1.6rem;margin-bottom:8px}
.about-card p{color:var(--gold-l)}
.contact{text-align:center;color:var(--muted)}
.contact a{color:var(--maroon);font-weight:500}

.footer{background:var(--maroon-d);color:var(--gold-l);padding:40px 5vw 16px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.footer h4{color:#fff;font-size:1.4rem}
.footer a{display:block;font-size:.9rem;opacity:.85}
.footer a:hover{opacity:1}
.copy{grid-column:1/-1;text-align:center;font-size:.78rem;border-top:1px solid rgba(255,255,255,.15);padding-top:14px}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:.25s;z-index:90}
.overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,100%);background:var(--cream);z-index:100;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}
.drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}
.drawer-head h3{font-size:1.6rem;color:var(--maroon)}
.drawer-head button{background:none;border:0;font-size:1.3rem}
.drawer-body{flex:1;overflow:auto;padding:14px 20px}
.drawer-foot{padding:16px 20px;border-top:1px solid var(--line);background:#fff}
.line{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.line .mini{height:54px;border-radius:10px;display:grid;place-items:center;font-size:1.8rem}
.line h4{font-family:'Poppins';font-size:.85rem;font-weight:500;line-height:1.3}
.qty{display:flex;align-items:center;gap:8px;margin-top:4px}
.qty button{width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:#fff}
.rm{background:none;border:0;color:#b33;font-size:.75rem}
.sum{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:4px}
.sum.t{font-weight:600;font-size:1.05rem;margin:8px 0 12px}
.note{font-size:.75rem;color:#2f8f4e;margin-bottom:8px}
.drawer-foot .btn{width:100%}

.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;place-items:center;z-index:120;padding:16px}
.modal.show{display:grid}
.modal-card{background:#fff;border-radius:var(--radius);padding:24px;width:min(460px,100%);display:flex;flex-direction:column;gap:10px;max-height:92vh;overflow:auto}
.modal-card h3{font-size:1.8rem;color:var(--maroon)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.total-line{display:flex;justify-content:space-between;padding:6px 2px}

.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,40px);background:var(--ink);color:#fff;padding:10px 20px;border-radius:30px;font-size:.85rem;opacity:0;transition:.3s;z-index:200;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}

.policy{max-width:760px;margin:40px auto;padding:0 5vw}
.policy h1{color:var(--maroon);margin-bottom:10px}
.policy h2{color:var(--maroon);margin:30px 0 8px;font-size:1.7rem}
.policy p,.policy li{color:var(--muted);margin-bottom:8px}
.policy ul{padding-left:20px}

@media(max-width:860px){
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;gap:0;border-bottom:1px solid var(--line);display:none}
  .nav.open{display:flex}
  .nav a{padding:14px 5vw;border-top:1px solid var(--line)}
  .menu-btn{display:block}
  .hero{grid-template-columns:1fr;padding:40px 5vw;text-align:center}
  .hero p{margin:auto}.hero-cta{justify-content:center}
  .diya{font-size:6rem}.hero-art{min-height:200px}
  .features,.cat-grid{grid-template-columns:repeat(2,1fr)}
  .about{grid-template-columns:1fr}.about h2{text-align:center}
  .tools input{min-width:0}
  .grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .thumb{height:140px;font-size:3.5rem}
}
