*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --green:#2D6A4F;--green-light:#40916C;--green-pale:#D8F3DC;
  --cream:#FEFAE0;--cream2:#F7F4EC;--gold:#B7881C;
  --text:#1B2B1E;--text2:#4A5E4D;--border:#C8DFC0;
  --bkash:#E2136E;--nagad:#F05A28;--rocket:#8B1A8B;
  --max:480px;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text);max-width:var(--max);margin:0 auto;min-height:100vh;}

/* ---- DESKTOP ADJUSTMENTS ---- */
@media(min-width:768px){
  body{max-width:100%;background:#f0ede0;}
  .page-wrap{max-width:960px;margin:0 auto;background:var(--cream);min-height:100vh;}
  .products{grid-template-columns:repeat(3,1fr)!important;gap:16px!important;padding:8px 16px 32px!important;}
  .hero h1{font-size:28px!important;}
  .product-name{font-size:12px!important;}
  .price-now{font-size:16px!important;}
}

/* HEADER */
header{background:var(--green);padding:10px 16px 8px;text-align:center;position:sticky;top:0;z-index:300;box-shadow:0 2px 10px rgba(0,0,0,.2);}
.logo-img{height:30px;filter:brightness(0) invert(1);object-fit:contain;display:block;margin:0 auto;}
.logo-fallback{font-family:'Cormorant Garamond',serif;font-size:18px;color:white;font-weight:600;display:none;}
.header-tagline{font-size:9px;color:rgba(255,255,255,.6);letter-spacing:2px;text-transform:uppercase;margin-top:2px;}

/* COUNTDOWN BANNER */
.countdown-bar{background:#B7881C;color:white;text-align:center;padding:7px 12px;font-size:12px;font-weight:500;letter-spacing:.3px;}
.timer-val{font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;}

/* NAV */
.nav-menu{background:var(--cream2);border-bottom:1px solid var(--border);display:flex;overflow-x:auto;scrollbar-width:none;}
.nav-menu::-webkit-scrollbar{display:none;}
.nav-link{flex-shrink:0;padding:9px 13px;font-size:11px;font-weight:500;color:var(--text2);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.nav-link:hover{color:var(--green);border-bottom-color:var(--green);}

/* HERO */
.hero{background:linear-gradient(140deg,var(--green) 0%,var(--green-light) 100%);padding:16px 16px 14px;text-align:center;color:white;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:600;line-height:1.3;margin-bottom:5px;}
.hero p{font-size:11px;opacity:.8;margin-bottom:10px;}
.hero-badges{display:flex;gap:5px;justify-content:center;flex-wrap:wrap;}
.hero-badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:3px 9px;font-size:10px;color:white;}

/* CATEGORY */
.cat-wrap{padding:8px 8px 4px;display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;}
.cat-wrap::-webkit-scrollbar{display:none;}
.cat-btn{flex-shrink:0;background:white;border:1.5px solid var(--border);border-radius:20px;padding:4px 11px;font-size:10px;font-weight:500;color:var(--text2);cursor:pointer;white-space:nowrap;font-family:'DM Sans',sans-serif;transition:all .2s;}
.cat-btn.active{background:var(--green);border-color:var(--green);color:white;}

/* SECTION TITLE */
.section-title{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;color:var(--green);padding:12px 10px 5px;}

/* PRODUCT GRID */
.products{padding:3px 8px 22px;display:grid;grid-template-columns:1fr 1fr;gap:9px;}

/* PRODUCT CARD */
.product-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(45,106,79,.09);border:1px solid var(--border);display:flex;flex-direction:column;}
.product-card.hidden{display:none;}

/* IMAGE */
.product-images{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--cream2);cursor:pointer;}
.product-images img{width:100%;height:100%;object-fit:cover;display:none;}
.product-images img.active{display:block;}
.zoom-icon{position:absolute;bottom:6px;right:6px;font-size:12px;opacity:.7;z-index:2;pointer-events:none;}
.made-in-tag{position:absolute;top:5px;left:5px;background:rgba(45,106,79,.88);color:white;font-size:8px;padding:2px 5px;border-radius:3px;font-weight:500;z-index:2;}
.img-dots{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);display:flex;gap:3px;z-index:3;}
.img-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;border:none;padding:0;}
.img-dot.active{background:white;}
.img-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.8);border:none;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer;color:var(--green);z-index:3;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;}
.img-nav.prev{left:3px;}.img-nav.next{right:3px;}

/* ORDER COUNT */
.order-count{font-size:9px;color:#E55B00;font-weight:600;margin-bottom:3px;}

/* PRODUCT BODY */
.product-body{padding:7px 7px 9px;display:flex;flex-direction:column;flex:1;}
.product-name{font-size:10px;font-weight:600;color:var(--text);margin-bottom:3px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.price-row{display:flex;align-items:baseline;gap:3px;margin-bottom:4px;flex-wrap:wrap;}
.price-now{font-size:13px;font-weight:700;color:var(--green);}
.price-was{font-size:9px;color:#bbb;text-decoration:line-through;}
.discount-tag{background:#FFF3CD;color:var(--gold);font-size:8px;font-weight:700;padding:1px 4px;border-radius:3px;border:1px solid #FFE08A;}
.product-desc{font-size:9px;color:var(--text2);line-height:1.55;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
.product-desc.expanded{-webkit-line-clamp:unset;}
.desc-toggle{font-size:9px;color:var(--green-light);background:none;border:none;cursor:pointer;padding:0;margin-bottom:5px;font-family:'DM Sans',sans-serif;display:block;}

/* REACT BAR */
.react-bar{margin-bottom:6px;}
.react-row{display:flex;align-items:center;justify-content:space-between;}
.react-total{font-size:10px;color:var(--text2);}
.react-btn{background:none;border:1px solid var(--border);border-radius:12px;padding:2px 7px;font-size:9px;cursor:pointer;color:var(--text2);font-family:'DM Sans',sans-serif;}
.react-picker{display:none;gap:3px;background:white;border:1px solid var(--border);border-radius:20px;padding:4px 6px;box-shadow:0 3px 12px rgba(0,0,0,.15);margin-top:4px;flex-wrap:nowrap;}
.react-picker.open{display:flex;}
.rpick{background:none;border:none;font-size:17px;cursor:pointer;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:transform .15s;padding:0;}
.rpick:hover{transform:scale(1.3);}
.rpick-on{background:var(--green-pale);}

.order-btn{width:100%;background:var(--green);color:white;border:none;border-radius:7px;padding:8px 4px;font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;margin-top:auto;transition:background .2s;}
.order-btn:active{background:var(--green-light);}

/* INFO SECTION */
.info-section{background:white;margin:0 8px 12px;border-radius:12px;padding:14px;border:1px solid var(--border);}
.info-section h2{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--green);margin-bottom:8px;font-weight:600;}
.info-section p,.info-section li{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:4px;}
.info-section ul{padding-left:14px;}

/* LIGHTBOX */
#lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:2000;align-items:center;justify-content:center;}
#lightbox.open{display:flex;}
#lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;object-fit:contain;}
.lb-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.15);color:white;border:none;border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:1000;align-items:flex-end;justify-content:center;}
.modal-overlay.open{display:flex;}
.modal{background:white;border-radius:18px 18px 0 0;width:100%;max-width:480px;padding-bottom:28px;max-height:92vh;overflow-y:auto;animation:slideUp .25s ease;position:relative;}
@keyframes slideUp{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.modal-handle{width:36px;height:3px;background:#DDD;border-radius:2px;margin:10px auto 0;}
.modal-header{padding:10px 42px 10px 14px;border-bottom:1px solid var(--border);}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:16px;font-weight:600;color:var(--text);}
.modal-product-name{font-size:10px;color:var(--green-light);margin-top:2px;}
.modal-close{position:absolute;top:10px;right:10px;background:var(--cream2);border:none;border-radius:50%;width:28px;height:28px;font-size:14px;cursor:pointer;color:var(--text2);display:flex;align-items:center;justify-content:center;}
.modal-body{padding:12px;}
.order-summary{background:var(--green-pale);border-radius:8px;padding:8px 10px;margin-bottom:10px;}
.sum-row{display:flex;justify-content:space-between;font-size:11px;color:var(--text2);margin-bottom:2px;}
.sum-total{display:flex;justify-content:space-between;font-size:14px;font-weight:700;color:var(--green);border-top:1px solid var(--border);padding-top:6px;margin-top:6px;}
.form-group{margin-bottom:9px;}
.form-label{display:block;font-size:11px;font-weight:500;color:var(--text2);margin-bottom:4px;}
.form-input{width:100%;border:1.5px solid var(--border);border-radius:7px;padding:9px 11px;font-family:'DM Sans',sans-serif;font-size:13px;color:var(--text);background:white;outline:none;transition:border-color .2s;-webkit-appearance:none;}
.form-input:focus{border-color:var(--green-light);}
.addr-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.addr-row .form-group{margin-bottom:9px;}
.payment-label{font-size:11px;font-weight:500;color:var(--text2);margin-bottom:7px;display:block;}
.payment-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:9px;}
.pay-card{display:flex;flex-direction:column;align-items:center;padding:7px 4px;border:2px solid var(--border);border-radius:9px;cursor:pointer;background:white;transition:all .2s;}
.pay-card.active-bkash{border-color:var(--bkash);background:#FFF0F7;}
.pay-card.active-nagad{border-color:var(--nagad);background:#FFF5F0;}
.pay-card.active-rocket{border-color:var(--rocket);background:#F8F0FF;}
.pay-icon{width:32px;height:32px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:white;margin-bottom:3px;}
.pay-icon.bkash{background:var(--bkash);}
.pay-icon.nagad{background:var(--nagad);}
.pay-icon.rocket{background:var(--rocket);}
.pay-card-name{font-size:10px;font-weight:600;color:var(--text);}
.pay-info-box{display:none;background:var(--cream2);border-radius:7px;padding:8px 10px;margin-bottom:9px;border-left:3px solid var(--green-light);}
.pay-info-box.show{display:block;}
.pay-info-label{font-size:10px;color:var(--text2);margin-bottom:1px;}
.pay-info-number{font-size:15px;font-weight:700;color:var(--green);letter-spacing:1px;display:block;margin-bottom:1px;}
.pay-info-note{font-size:9px;color:#999;}
.submit-btn{width:100%;background:var(--green);color:white;border:none;border-radius:9px;padding:13px;font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;cursor:pointer;margin-top:3px;}
.submit-btn:active{background:var(--green-light);}
.submit-note{font-size:10px;text-align:center;color:var(--text2);margin-top:7px;line-height:1.5;}
.success-screen{display:none;padding:22px 16px 8px;text-align:center;}
.success-screen.show{display:block;}
.success-icon{width:56px;height:56px;background:var(--green-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 12px;}
.success-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:600;color:var(--green);margin-bottom:6px;}
.success-msg{font-size:12px;color:var(--text2);line-height:1.7;margin-bottom:14px;}
.wa-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:#25D366;color:white;border:none;border-radius:9px;padding:12px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;margin-bottom:7px;}
.continue-btn{width:100%;background:var(--cream2);color:var(--text2);border:none;border-radius:9px;padding:11px;font-family:'DM Sans',sans-serif;font-size:12px;cursor:pointer;}

/* FOOTER */
footer{background:var(--green);color:rgba(255,255,255,.8);text-align:center;padding:18px 16px;margin-top:14px;}
footer .f-brand{font-family:'Cormorant Garamond',serif;font-size:17px;color:white;font-weight:600;margin-bottom:4px;}
footer p{font-size:10px;line-height:1.7;}

/* STICKY WHATSAPP */
.wa-float{position:fixed;bottom:18px;right:14px;width:46px;height:46px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 4px 16px rgba(37,211,102,.45);text-decoration:none;z-index:500;transition:transform .2s;}
.wa-float:hover{transform:scale(1.1);}
