/* NeedValley — v2 theme (2026-10-27)
   Light, fresh colour grading: deep green + warm red accents on soft mint-white.
   Mobile-first responsive: phone <=640px, tablet 641-1024px, laptop >=1025px. */
:root{--nv-green:#0e8a4d;--nv-green-dark:#0a6b3b;--nv-green-soft:#e8f8ee;--nv-red:#ee2b3b;--nv-red-dark:#d61f2e;--nv-ink:#12293d;--nv-muted:#64748b;--nv-line:#e3ebe6;--nv-bg:#f6faf7;--nv-card:#fff;--nv-shadow:0 10px 26px rgba(18,60,40,.08);--nv-radius:20px}
*{box-sizing:border-box}
html{background:#fff;scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans Bengali",Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--nv-ink);background:var(--nv-bg);line-height:1.55;padding-bottom:84px;overflow-x:hidden;-webkit-text-size-adjust:100%}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
.nv-container{width:min(1280px,94%);margin:auto}
button,.btn{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-size:15px;background:var(--nv-green);color:#fff;font-weight:700;font-family:inherit;transition:background .15s ease,transform .12s ease,box-shadow .15s ease}
button:active,.btn:active{transform:translateY(1px)}
.btn-dark{background:#10243a}.btn-orange{background:#ff7417}
.btn-outline{background:#fff;color:var(--nv-green-dark);border:1px solid var(--nv-green)}

/* ---------- Header ---------- */
.nv-site-header{background:linear-gradient(180deg,#fff,#fdfffe);position:sticky;top:0;box-shadow:0 2px 14px rgba(15,55,40,.08);border-bottom:1px solid #eef3f0;z-index:1000;padding-top:4px}
.nv-home-top{height:72px;display:flex;align-items:center;gap:10px}
.nv-home-menu{width:42px;height:42px;border:0;background:transparent;color:var(--nv-green-dark);display:grid;place-items:center;cursor:pointer;flex:0 0 42px;padding:0;border-radius:12px}
.nv-home-menu:hover{background:var(--nv-green-soft)}
.nv-home-menu svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.nv-home-brand{display:flex;align-items:center;flex:1;min-width:0}
.nv-home-brand img{width:208px;height:62px;object-fit:contain;object-position:left center}
.nv-logo-dark{display:none}
.nv-home-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.nv-home-icon{position:relative;width:40px;height:42px;display:grid;place-items:center;color:#193b5b;border-radius:12px}
.nv-home-icon:hover{background:#f0f7f3}
.nv-home-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nv-home-badge{position:absolute;right:-2px;top:0;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--nv-red);color:#fff;font:800 10px/20px Poppins,sans-serif;text-align:center;box-shadow:0 2px 5px rgba(0,0,0,.14)}
.nv-home-search-row{padding:0 0 10px}
.nv-home-search-row form{height:50px;display:flex;align-items:center;border:1.5px solid #d8e6dd;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 10px rgba(21,55,82,.05);margin:0}
.nv-home-search-row form:focus-within{border-color:var(--nv-green);box-shadow:0 0 0 3px rgba(14,138,77,.12)}
.nv-home-search-icon{width:48px;display:grid;place-items:center;color:#8290a0;flex:0 0 48px}
.nv-home-search-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.nv-home-search-row input{border:0;outline:0;background:#fff;flex:1;min-width:0;height:100%;padding:0 5px;font:500 16px/1.2 "Noto Sans Bengali",Poppins,sans-serif;color:#23384f;margin:0}
.nv-home-search-row button{height:100%;border:0;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;min-width:108px;padding:0 18px;font:800 15px/1 "Noto Sans Bengali",Poppins,sans-serif;cursor:pointer;border-radius:0}
.nv-home-trust{background:linear-gradient(90deg,#e9f9ef,#f2fbf5);border-top:1px solid #e1f2e7;border-bottom:1px solid #e0f0e5}
.nv-home-trust .nv-container{display:grid;grid-template-columns:repeat(4,1fr)}
.nv-home-trust-item{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 8px;color:#17384f;font:700 12px/1.3 "Noto Sans Bengali",Poppins,sans-serif;text-align:center;border-right:1px solid #d9e9df}
.nv-home-trust-item:last-child{border-right:0}
.nv-home-trust-item svg{width:26px;height:26px;fill:none;stroke:#0e8a4d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 26px}
body.nv-compact .nv-home-search-row,body.nv-compact .nv-home-trust{display:none}
body.nv-shop-page .nv-home-trust{display:none}

/* ---------- Side drawer ---------- */
.nv-drawer-backdrop{display:none;position:fixed;inset:0;background:rgba(9,22,36,.48);z-index:10000}
.nv-drawer-backdrop.open{display:block}
.nv-drawer{position:fixed;left:0;top:0;width:min(420px,84vw);height:100vh;max-height:100vh;margin:0;overflow-y:auto;background:#fff;border:0;border-radius:0 18px 18px 0;box-shadow:16px 0 42px rgba(8,30,50,.24);transform:translateX(-105%);transition:transform .24s ease;z-index:10001}
.nv-drawer.open{transform:translateX(0)}
.nv-drawer-inner{padding:24px 20px 30px;min-height:100%}
.nv-drawer-top{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;border-bottom:1px solid #edf1ef}
.nv-drawer-top strong{font-size:24px;font-weight:800;color:#162b43}
.nv-drawer-close{width:44px;height:44px;border:0;border-radius:50%;background:#f0f7f3;color:#162b43;font-size:30px;line-height:1;cursor:pointer}
.nv-mobile-menu{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column}
.nv-mobile-menu li{border-bottom:1px solid #e3e8ed}
.nv-mobile-menu a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 2px;color:#263b50;font-size:15px;font-weight:700}
.nv-mobile-menu a:after{content:'›';font:400 26px/1 Poppins,sans-serif;color:#7b8794}
.nv-drawer-links{display:flex;flex-direction:column;margin-top:10px}
.nv-drawer-links a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 2px;border-bottom:1px solid #e3e8ed;color:#263b50;font-size:15px;font-weight:700}
.nv-drawer-links a:after{content:'›';font:400 26px/1 Poppins,sans-serif;color:#7b8794}
body.nv-drawer-open{overflow:hidden}

/* ---------- Homepage ---------- */
.nv-home-hero{padding:12px 0 14px;background:transparent}
.nv-home-carousel{position:relative;overflow:hidden;border-radius:var(--nv-radius);background:#eef8f1;box-shadow:var(--nv-shadow)}
.nv-home-carousel .nv-slide{display:none;position:relative;height:300px;overflow:hidden}
.nv-home-carousel .nv-slide.active{display:block}
.nv-home-carousel .nv-slide-img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.nv-home-carousel .nv-slide-content{position:absolute;left:6%;top:50%;transform:translateY(-50%);max-width:50%;z-index:3;text-shadow:0 1px 10px rgba(255,255,255,.7)}
.nv-home-carousel .nv-slide-content h1{font-size:30px;line-height:1.15;margin:0 0 6px;color:#123c55;letter-spacing:-.3px}
.nv-home-carousel .nv-slide-content p{font-size:13px;line-height:1.45;margin:0 0 9px;color:#42566b}
.nv-home-carousel .nv-slide-btn{display:inline-flex;align-items:center;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;border-radius:10px;padding:10px 16px;font-size:12px;font-weight:800;box-shadow:0 6px 16px rgba(10,122,64,.3)}
.nv-home-carousel .nv-dots{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:5px;z-index:5}
.nv-home-carousel .nv-dot{width:7px;height:7px;border:0;border-radius:999px;background:#cbd5df;padding:0;cursor:pointer}
.nv-home-carousel .nv-dot.active{width:20px;background:var(--nv-green)}
.nv-home-categories{padding:4px 0 16px;background:transparent}
.nv-home-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nv-home-section-head h2{margin:0;color:#163a52;font:800 24px/1.25 "Noto Sans Bengali",Poppins,sans-serif;letter-spacing:-.3px}
.nv-home-section-head h2:first-letter{color:#15924e}
.nv-home-category-toggle{display:inline-flex;align-items:center;gap:5px;border:1px solid #cce8d7;border-radius:22px;padding:8px 13px;color:#188b4b;background:#fff;font:700 12px/1.2 "Noto Sans Bengali",Poppins,sans-serif;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(18,60,40,.05)}
.nv-home-category-toggle span{font-size:17px;line-height:1}
.nv-home-cat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.nv-home-cat{display:flex;flex-direction:column;align-items:center;gap:5px;color:#233d55;text-align:center;font:700 11.5px/1.3 "Noto Sans Bengali",Poppins,sans-serif;min-width:0}
.nv-home-cat-icon{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:#e8f8ee;color:#07934d;overflow:hidden;border:2px solid #fff;box-shadow:0 0 0 2px #159b51,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat:nth-child(2) .nv-home-cat-icon{box-shadow:0 0 0 2px #ef376b,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat:nth-child(3) .nv-home-cat-icon{box-shadow:0 0 0 2px #f3a321,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat:nth-child(4) .nv-home-cat-icon{box-shadow:0 0 0 2px #7b43db,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat:nth-child(5) .nv-home-cat-icon{box-shadow:0 0 0 2px #1684d7,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat:nth-child(6) .nv-home-cat-icon{box-shadow:0 0 0 2px #118b4b,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat-more .nv-home-cat-icon{box-shadow:0 0 0 2px #c8d6cf,0 4px 10px rgba(18,60,40,.1)}
.nv-home-cat-icon b{font:800 19px/1 Poppins,"Noto Sans Bengali",sans-serif;color:currentColor}
.nv-home-cat-icon img{width:100%;height:100%;object-fit:cover}
.nv-home-cat>span:last-child{max-width:104px}
.nv-home-cat-more{border:0;background:transparent;box-shadow:none;padding:0;outline:none}
.nv-home-cat-more .nv-home-cat-icon{background:#edf9f1;border:0;box-shadow:none;font:900 22px/1 Poppins,sans-serif;letter-spacing:2px}
.nv-home-all-cats{display:none;margin-top:12px;padding:14px;border:1px solid #dcebe3;border-radius:16px;background:#f7fffa}
.nv-home-all-cats.open{display:block}
.nv-home-all-cats-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#163a52;font:800 15px "Noto Sans Bengali",Poppins,sans-serif}
.nv-home-all-cats-toggle{border:0;background:#fff0f3;color:#ef3340;border-radius:9px;padding:6px 9px;font:700 11px "Noto Sans Bengali",Poppins,sans-serif;cursor:pointer}
.nv-home-all-cats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.nv-home-all-cats-grid a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 5px;background:#fff;border:1px solid #e4eee8;border-radius:12px;text-align:center}
.nv-home-all-cats-grid a>span{width:52px;height:52px;border-radius:50%;background:#eef9f2;display:grid;place-items:center;overflow:hidden;color:#159b51;font-size:22px;border:2px solid #fff;box-shadow:0 0 0 2px #159b51}
.nv-home-all-cats-grid a>span img{width:100%;height:100%;object-fit:cover}
.nv-home-all-cats-grid b{font:700 11px/1.25 "Noto Sans Bengali",Poppins,sans-serif;color:#17324d}
.nv-home-all-cats-grid em{font:500 9px "Noto Sans Bengali",Poppins,sans-serif;color:#718092;font-style:normal}
.nv-home-promos{padding:0 0 18px;background:transparent}
.nv-home-promo-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nv-home-promo{display:block;border-radius:16px;overflow:hidden;box-shadow:0 5px 16px rgba(24,65,45,.08)}
.nv-home-promo img{width:100%;aspect-ratio:328/168;object-fit:cover}
.nv-home-popular{padding:20px 0 86px;background:linear-gradient(180deg,#e9f9ef 0%,#f5fff8 55%,var(--nv-bg) 100%);border-radius:24px 24px 0 0}
.nv-home-popular-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}
.nv-home-popular-title{display:flex;align-items:flex-start;gap:9px;min-width:0}
.nv-fire{font-size:29px;line-height:1}
.nv-home-popular-head h2{margin:0;color:#123c55;font:800 25px/1.2 "Noto Sans Bengali",Poppins,sans-serif;letter-spacing:-.3px}
.nv-home-popular-head p{margin:4px 0 0;color:#738494;font:500 12px/1.35 "Noto Sans Bengali",Poppins,sans-serif}
.nv-home-popular-head>a{color:var(--nv-red);font:800 12px/1.2 "Noto Sans Bengali",Poppins,sans-serif;white-space:nowrap}
.nv-home-popular-head>a span{font-size:17px}
.nv-home-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nv-empty-products{grid-column:1/-1;background:#fff;border-radius:15px;padding:30px;text-align:center}

/* ---------- Product card ---------- */
.nv-home-product-card{background:var(--nv-card);border:1px solid var(--nv-line);border-radius:var(--nv-radius);overflow:hidden;box-shadow:0 6px 18px rgba(23,62,90,.07);display:flex;flex-direction:column;min-width:0;height:100%;transition:transform .18s ease,box-shadow .18s ease}
.nv-home-product-card>*{min-width:0}
@media(hover:hover){.nv-home-product-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(23,62,90,.13)}}
.nv-home-product-media{position:relative;background:#f3f7f4;aspect-ratio:1/1;overflow:hidden}
.nv-home-product-media>a{display:block;width:100%;height:100%}
.nv-home-product-image{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
@media(hover:hover){.nv-home-product-card:hover .nv-home-product-image{transform:scale(1.05)}}
.nv-product-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#eef8e8,#edf3ff);font-size:52px}
.nv-home-stock{position:absolute;left:10px;top:10px;z-index:2;background:var(--nv-green);color:#fff;border-radius:999px;padding:5px 10px;font:800 10px/1.2 Poppins,sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.nv-status-stock_out{background:var(--nv-red)}
.nv-status-coming_soon{background:#ff7417}
.nv-off-badge{position:absolute;right:10px;bottom:10px;z-index:2;background:linear-gradient(135deg,#ff3b47,#e01a2b);color:#fff;border-radius:999px;padding:5px 9px;font:800 11px/1.2 Poppins,sans-serif;box-shadow:0 3px 8px rgba(224,26,43,.35)}
.nv-quick-heart{position:absolute;right:10px;top:10px;width:38px;height:38px;border:1px solid #ffd5e1;border-radius:50%;background:#fff;color:#f126a0;font-size:22px;display:grid;place-items:center;z-index:2;box-shadow:0 4px 12px rgba(25,40,55,.1);padding:0;cursor:pointer}
.nv-quick-heart.is-active{background:#f126a0;color:#fff}
.nv-home-product-body{padding:11px 12px 13px;display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.nv-home-product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:38px;color:#183b57;font:800 15px/1.3 Poppins,"Noto Sans Bengali",sans-serif}
.nv-home-product-name:hover{color:var(--nv-green-dark)}
.nv-home-rating{display:inline-flex;align-items:center;gap:5px;min-height:24px;margin-top:6px;white-space:nowrap;overflow:hidden;color:#5b6b7a;font:700 11.5px/1.2 Poppins,"Noto Sans Bengali",sans-serif;background:#f1f4f6;border-radius:999px;padding:4px 10px;align-self:flex-start;max-width:100%}
.nv-home-rating .nv-stars{color:#f7b500}
.nv-home-rating .nv-rating-number{color:#203e59;font-size:10px;font-weight:800;margin-left:3px}
.nv-home-rating .nv-review-count{color:#7a8794;font-size:9px;font-weight:600}
.nv-no-review{color:#7a8794;font-weight:700}
.nv-home-review-sold{color:#7b8793;font-size:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis}
.nv-home-price{margin-top:5px;min-height:29px;color:var(--nv-red);font:800 20px/1.2 Poppins,"Noto Sans Bengali",sans-serif}
.nv-home-price del{color:#7e858d;font-size:11px;font-weight:600;margin-left:4px}
.nv-home-price ins{text-decoration:none;color:var(--nv-red)}
.nv-home-product-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px;min-width:0}
.nv-home-product-actions .nv-home-cart-btn,.nv-home-product-actions .nv-home-buy-btn{width:100%;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border-radius:13px;font:800 14px/1.2 "Noto Sans Bengali",Poppins,sans-serif;text-align:center;box-sizing:border-box;border:0;overflow:hidden}
.nv-home-product-actions .nv-home-cart-btn{background:linear-gradient(135deg,#ff3b47,#e01a2b);color:#fff;box-shadow:0 4px 12px rgba(224,26,43,.25)}
.nv-home-product-actions .nv-home-cart-btn:hover{background:#d61f2e}
.nv-home-product-actions .nv-home-buy-btn{background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;box-shadow:0 4px 12px rgba(10,122,64,.25)}
.nv-home-product-actions .nv-home-buy-btn:hover{background:#0a7a40}
.nv-home-product-actions .nv-home-cart-btn span,.nv-home-product-actions .nv-home-buy-btn span{overflow-wrap:anywhere}

/* ---------- Product detail (landing style) ---------- */
.nv-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px 0 4px;font-size:13px;color:var(--nv-muted);font-weight:600}
.nv-crumb a{color:var(--nv-green-dark)}
.nv-crumb-here{color:var(--nv-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:46vw}
.nv-detail{display:grid;grid-template-columns:1.02fr 1fr;gap:26px;margin:8px 0 6px}
.nv-detail>*{min-width:0}
.nv-detail-gallery{position:sticky;top:14px;align-self:start}
.nv-gallery-main{position:relative;background:#f3f7f4;border:1px solid var(--nv-line);border-radius:22px;overflow:hidden;aspect-ratio:1/1;cursor:zoom-in;box-shadow:var(--nv-shadow)}
.nv-gallery-main img{width:100%;height:100%;object-fit:cover}
.nv-gallery-main .nv-product-placeholder{font-size:90px}
.nv-off-badge-lg{top:12px;right:10px;left:auto;bottom:auto;font-size:12px;padding:6px 11px}
.nv-gallery-main .nv-home-stock{top:12px}
.nv-gallery-thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.nv-gallery-thumb{width:66px;height:66px;border:2px solid var(--nv-line);border-radius:13px;overflow:hidden;background:#f6f9fb;display:grid;place-items:center;font-size:24px;padding:0;cursor:pointer;color:var(--nv-green-dark);font-weight:800}
.nv-gallery-thumb.active{border-color:var(--nv-green)}
.nv-gallery-thumb img{width:100%;height:100%;object-fit:cover}
.nv-detail-badge{display:inline-block;background:linear-gradient(135deg,#ff3b47,#e01a2b);color:#fff;border-radius:999px;padding:5px 12px;font:800 12px/1.3 "Noto Sans Bengali",Poppins,sans-serif;margin-bottom:8px}
.nv-product-title{color:#102f50;font:800 27px/1.3 "Noto Sans Bengali",Poppins,sans-serif;margin:0 0 8px;letter-spacing:-.3px}
.nv-product-stars{color:#f5ad00;font-weight:800;font-size:15px}
.nv-detail-sold{color:#7a8794;font-size:12px;font-weight:600}
.nv-price-box{background:linear-gradient(135deg,#f0fbf4,#fff);border:1px solid #d8efe0;border-radius:16px;padding:14px 16px;margin:14px 0}
.nv-product-price{color:#0a7a40;font:800 30px/1.15 Poppins,"Noto Sans Bengali",sans-serif}
.nv-product-price del{color:#6b7684;font-size:16px;font-weight:600;margin-left:8px}
.nv-buy-price{display:flex;align-items:baseline;gap:8px;margin:14px 0 12px;padding-top:14px;border-top:1px solid var(--nv-line);color:#0a7a40;font:800 24px/1.2 Poppins,"Noto Sans Bengali",sans-serif}
.nv-buy-price del{color:#6b7684;font-size:15px;font-weight:600}
.nv-save-line{color:var(--nv-red);font-weight:800;font-size:14px;margin-top:4px}
.nv-price-note{color:var(--nv-muted);font-size:12px;margin-top:4px}
.nv-detail-short{font-size:15px;line-height:1.7;color:#33475c;margin:4px 0 10px}
.nv-highlight-list{list-style:none;margin:10px 0;padding:0;display:grid;gap:7px}
.nv-highlight-list li{background:#fff;border:1px solid var(--nv-line);border-radius:11px;padding:9px 12px;font-size:14px;font-weight:600;color:#22394f}
.nv-highlight-list-lg li{padding:11px 14px;font-size:15px}
.nv-perks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}
.nv-perk{display:flex;gap:9px;align-items:flex-start;background:#fff;border:1px solid var(--nv-line);border-radius:13px;padding:10px 11px;font-size:20px}
.nv-perk b{display:block;font-size:13px;color:#163a52}
.nv-perk span{display:block;font-size:11.5px;color:var(--nv-muted);line-height:1.4}
.nv-product-meta{color:#42566b;font-size:13px}
.nv-qty-row{display:flex;align-items:center;gap:10px;margin:14px 0 4px;flex-wrap:wrap}
.nv-qty-row>label{font-weight:800;color:#163a52;margin:0}
.nv-qty{display:inline-flex;align-items:stretch;border:1.5px solid #d8e6dd;border-radius:11px;overflow:hidden;background:#fff}
.nv-qty-btn{width:40px;min-height:42px;border:0;background:#f0f7f3;color:var(--nv-green-dark);font-size:20px;font-weight:800;padding:0;border-radius:0}
.nv-qty input{width:52px;border:0;text-align:center;font-size:16px;font-weight:800;margin:0;padding:0}
.nv-qty-stock{font-size:12px;color:var(--nv-muted)}
.nv-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.nv-product-actions .nv-add-btn,.nv-product-actions .nv-buy-btn{min-height:50px;display:flex;align-items:center;justify-content:center;border-radius:13px;font:800 15px "Noto Sans Bengali",Poppins,sans-serif;border:0;color:#fff;width:100%;box-shadow:0 6px 16px rgba(18,60,40,.16)}
.nv-product-actions .nv-add-btn{background:linear-gradient(135deg,#ff3b47,#e01a2b)}
.nv-product-actions .nv-buy-btn{background:linear-gradient(135deg,#12a35c,#0a7a40)}
.nv-detail-wish{margin-top:10px}
.nv-detail-wish button{background:#fff;color:var(--nv-green-dark);border:1.5px solid #cce8d7;width:100%;border-radius:12px;font:800 14px "Noto Sans Bengali",Poppins,sans-serif}
.nv-variation-wrap{margin:12px 0 4px}
.nv-variation-wrap>label{display:block;font-weight:800;font-size:14px;color:#163a52;margin-bottom:2px}
.nv-variation-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.nv-variation-btn{border:1px solid #cce8d7;background:#fff;color:#17324d;border-radius:10px;padding:8px 12px;font-weight:700}
.nv-variation-btn.active{background:var(--nv-green);color:#fff;border-color:var(--nv-green)}
.nv-variation-hint{font-size:12px;color:var(--nv-muted);font-weight:600}
.nv-variation-hint.is-chosen{color:#0a7a40;font-weight:800}
.nv-variation-wrap{margin:14px 0 6px}
.nv-color-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px 8px 9px}
.nv-swatch-dot{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:0 0 auto}
.nv-variation-btn.nv-color-btn.active{background:#e8f8ee;color:#17324d;border-color:var(--nv-green);box-shadow:0 0 0 1px var(--nv-green)}
.nv-variation-wrap.nv-needs-size .nv-variation-btn{border-color:#e01a2b;box-shadow:0 0 0 2px rgba(224,26,43,.22)}
.nv-video-slot{margin-top:14px;border-radius:16px;overflow:hidden;box-shadow:var(--nv-shadow)}
.nv-video-slot iframe,.nv-video-slot video{width:100%;aspect-ratio:16/9;display:block;border:0}
.nv-lightbox{position:fixed;inset:0;background:rgba(9,22,36,.85);z-index:12000;display:none;place-items:center;padding:20px}
.nv-lightbox.open{display:grid}
.nv-lightbox img{max-width:100%;max-height:88vh;object-fit:contain;border-radius:12px;background:#fff}
.nv-lightbox-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#14231a;font-size:24px;line-height:1;cursor:pointer}
.nv-detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0}
.nv-detail-block{background:#fff;border:1px solid var(--nv-line);border-radius:18px;padding:18px;box-shadow:0 4px 14px rgba(23,62,90,.05)}
.nv-detail-block:first-child{grid-column:1/-1}
.nv-detail-block h2{margin:0 0 10px;color:#123c55;font:800 20px/1.3 "Noto Sans Bengali",Poppins,sans-serif}
.nv-detail-block h3{margin:14px 0 8px;color:#163a52;font:800 16px "Noto Sans Bengali",Poppins,sans-serif}
.nv-detail-desc{font-size:15px;line-height:1.75;color:#33475c;margin:0;white-space:pre-line}
.nv-spec-table{width:100%;border-collapse:collapse}
.nv-spec-table th,.nv-spec-table td{padding:10px 8px;border-bottom:1px solid #eef2f0;font-size:14px;text-align:left}
.nv-spec-table th{width:38%;color:#163a52;background:#f7fbf8}
.nv-tag-row{display:flex;flex-wrap:wrap;gap:8px}
.nv-tag-chip{background:var(--nv-green-soft);color:var(--nv-green-dark);border:1px solid #cce8d7;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700}
.nv-tag-chip:hover{background:#d8f2e1}
.nv-delivery-list{margin:0;padding-left:18px;display:grid;gap:8px;font-size:14px;line-height:1.6;color:#33475c}
.nv-sticky-buy{position:fixed;left:0;right:0;bottom:68px;z-index:900;display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);border-top:1px solid var(--nv-line);box-shadow:0 -6px 20px rgba(18,60,40,.1);padding:10px 4%}
.nv-sticky-buy-info{min-width:0}
.nv-sticky-buy-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;color:#123c55}
.nv-sticky-buy-info span{font-size:14px;font-weight:800;color:var(--nv-red)}
.nv-sticky-buy-info del{color:#7e858d;font-weight:600;font-size:12px}
.nv-sticky-buy .nv-buy-btn{min-width:150px;min-height:44px;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;border:0;border-radius:12px;font:800 15px "Noto Sans Bengali",Poppins,sans-serif;box-shadow:0 6px 16px rgba(10,122,64,.3)}
.nv-section-head{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}
.nv-section-head h2{margin:0;color:#163a52;font:800 20px "Noto Sans Bengali",Poppins,sans-serif}

/* ---------- Shop page ---------- */
.nv-shop-filter{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.nv-shop-filter input,.nv-shop-filter select{width:auto;flex:1;min-width:140px;margin:0;background:#fff}
.nv-shop-filter button{white-space:nowrap}

/* ---------- Footer / bottom nav / floating contact ---------- */
.nv-footer{background:linear-gradient(135deg,#0e2033,#15402f 58%,#1d1740);border-top:4px solid #ef3f4f;color:#dce7f2;margin-top:24px}
.nv-footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px;padding:36px 0}
.nv-footer-brand img{width:112px;height:50px;object-fit:contain;background:#fff;border-radius:9px}
.nv-footer p{font-size:11px;color:#aebdca}
.nv-footer h3{font-size:12px;color:#fff;margin:0 0 8px}
.nv-footer ul{list-style:none;padding:0;margin:0}
.nv-footer li{margin:5px 0}
.nv-footer a{font-size:11px;color:#b9c7d4}
.nv-footer-static{font-size:11px;color:#b9c7d4}
.nv-footer-security{grid-column:1/-1;font-size:11px;color:#cbd8e6;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px}
.nv-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:11px 0;font-size:10px;color:#9fb0c0}
.nv-clarity-disclosure{color:#9fb0c0}
.nv-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);left:0;right:0;bottom:0;height:68px;background:#fff;border-top:2px solid #d7e7f8;box-shadow:0 -7px 22px rgba(29,70,110,.13);z-index:999}
.nv-bottom-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#65778b;position:relative}
.nv-bottom-item span{display:grid;place-items:center}
.nv-bottom-item svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.nv-bottom-item b{font-size:10px}
.nv-bottom-item.active,.nv-bottom-item:hover{color:#ef3340}
.nv-bottom-cart>span{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;transform:translateY(-10px);box-shadow:0 6px 16px rgba(10,122,64,.35)}
.nv-bottom-cart svg{width:30px;height:30px}
.nv-bottom-cart-count{position:absolute;top:2px;right:calc(50% - 30px);min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--nv-red);color:#fff;font:800 10px/20px Poppins,sans-serif;text-align:center}
.nv-contact-float{position:fixed;right:18px;bottom:150px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:9px;pointer-events:none}
.nv-contact-float .nv-contact-toggle{pointer-events:auto}
.nv-contact-float[data-open="true"] .nv-contact-menu{pointer-events:auto}
.nv-contact-toggle{width:54px;height:54px;border:0;border-radius:50%;background:linear-gradient(135deg,#ff3b47,#e01a2b);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(224,26,43,.35)}
.nv-contact-toggle svg{width:28px;height:28px;fill:currentColor;stroke:none;display:block}
.nv-contact-menu{display:flex;flex-direction:column;align-items:flex-end;gap:7px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transform-origin:bottom right;transition:.18s ease}
.nv-contact-float[data-open="true"] .nv-contact-menu{opacity:1;visibility:visible;transform:none}
.nv-contact-option{display:flex;align-items:center;gap:8px}
.nv-contact-option .nv-contact-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #dce7ef;box-shadow:0 5px 16px rgba(16,36,58,.15)}
.nv-contact-option .nv-contact-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nv-contact-option b{background:#fff;color:#172238;border-radius:8px;padding:5px 8px;font:700 11px/1.2 "Noto Sans Bengali",sans-serif;box-shadow:0 4px 12px rgba(16,36,58,.1)}
.nv-contact-option.call .nv-contact-icon{color:#087a3b}
.nv-contact-option.whatsapp .nv-contact-icon{color:#16a34a}
.nv-contact-option.messenger .nv-contact-icon{color:#287cff}
body.nv-checkout-page .nv-contact-float{display:none}
.nv-desktop-top{position:fixed;right:22px;bottom:150px;width:46px;height:46px;border:0;border-radius:50%;background:var(--nv-green);color:#fff;font:800 24px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;z-index:9998;box-shadow:0 6px 18px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.nv-desktop-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}

/* ---------- Shared store / admin scaffolding ---------- */
.wrap{max-width:1280px;margin:auto;padding:12px}
.hero{background:linear-gradient(120deg,#10243a,#16851d);color:#fff;border-radius:14px;padding:22px 16px;margin:12px 0}
.hero h1{margin:0 0 6px;font-size:26px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.card{background:#fff;border-radius:12px;padding:12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.card h3{font-size:15px;margin:8px 0 4px}
.price{font-weight:900;color:#16851d;font-size:17px}
.old{color:#999;text-decoration:line-through;font-size:13px;margin-left:6px}
.badge{display:inline-block;background:#ff7417;color:#fff;font-size:11px;padding:2px 7px;border-radius:20px}
.flash{background:#10243a;color:#fff;border-radius:14px;padding:16px;margin:16px 0}
input,select,textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;margin:4px 0 12px;font-size:15px;font-family:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(14,138,77,.35);border-color:var(--nv-green)}
label{font-weight:700;font-size:14px}
.row{display:flex;gap:10px}.row>*{flex:1}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:9px;border-bottom:1px solid #eee;text-align:left;font-size:14px}
.alert{background:#fff3cd;padding:10px;border-radius:8px;margin:10px 0}
.ok{background:#d4edda}.err{background:#f8d7da}
.adminnav{background:#10243a;color:#fff;padding:10px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.adminnav a{color:#fff}
.timeline{border-left:3px solid #31b82c;padding-left:14px;margin-left:6px}
.timeline div{margin-bottom:10px}
.labelbox{width:100mm;border:2px solid #000;padding:12px;background:#fff;margin:auto}
@media print{.nv-bottom-nav,.nv-site-header,.nv-contact-float,.nv-sticky-buy,.noprint{display:none}body{padding-bottom:0}}

/* Sticky buy bar (phone/tablet) must not cover the related-products section. */
@media(max-width:1024px){.nv-related-custom{padding-bottom:72px}}

/* ---------- Responsive: phone (<=640px) ---------- */
@media(max-width:640px){
  body{padding-bottom:84px}
  .nv-home-top{height:66px;gap:6px}
  .nv-home-brand img{width:190px;height:58px;max-width:100%}
  .nv-home-actions a.nv-home-track{display:none}
  .nv-catnav{display:none}
  .nv-home-actions{gap:2px}
  .nv-home-icon{width:36px;height:40px}
  .nv-home-icon svg{width:26px;height:26px}
  .nv-home-search-row form{height:48px}
  .nv-home-search-row input{font-size:14px}
  .nv-home-search-row button{min-width:96px;font-size:14px;padding:0 12px}
  .nv-home-trust-item{min-height:44px;gap:4px;padding:4px 3px;font-size:9px;line-height:1.2}
  .nv-home-trust-item svg{width:20px;height:20px;flex-basis:20px}
  .nv-home-hero{padding:10px 0 12px}
  .nv-home-carousel{border-radius:16px}
  .nv-home-carousel .nv-slide{height:158px}
  .nv-home-carousel .nv-slide-content{left:6%;max-width:60%}
  .nv-home-carousel .nv-slide-content h1{font-size:20px}
  .nv-home-carousel .nv-slide-content p{font-size:10px}
  .nv-home-carousel .nv-slide-btn{font-size:10px;padding:7px 11px}
  .nv-home-section-head h2{font-size:20px}
  .nv-home-cat-grid{grid-template-columns:repeat(3,1fr);gap:8px}
  .nv-home-cat-icon{width:54px;height:54px}
  .nv-home-cat{font-size:11px}
  .nv-home-cat{font-size:10px}
  .nv-home-all-cats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .nv-home-promo-grid-two{gap:8px}
  .nv-home-popular{padding:16px 0 82px}
  .nv-home-popular-head h2{font-size:20px}
  .nv-home-popular-head p{font-size:10px}
  .nv-home-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .nv-home-product-card{border-radius:16px}
  .nv-home-product-body{padding:9px 9px 10px}
  .nv-home-product-name{font-size:13px;min-height:34px}
  .nv-home-price{font-size:17px;min-height:26px}
  .nv-home-product-actions{gap:8px}
  .nv-home-product-actions .nv-home-cart-btn,.nv-home-product-actions .nv-home-buy-btn{min-height:48px;font-size:14.5px;padding:10px 8px}
  .nv-product-actions{grid-template-columns:1fr}
  .nv-home-popular-head{flex-direction:column;align-items:flex-start;gap:2px}
  .nv-home-popular-head>a{flex-shrink:0;margin-left:0}
  .nv-footer-main{grid-template-columns:1fr 1fr;gap:20px;padding:28px 0 22px}
  .nv-footer-brand{grid-column:1/-1}
  .nv-contact-float{right:12px;bottom:110px}
  body.nv-product-page .nv-contact-float{bottom:144px}
  .nv-contact-toggle{width:48px;height:48px}
  .nv-desktop-top{display:none}
  .nv-detail{grid-template-columns:1fr;gap:16px}
  .nv-detail-gallery{position:static}
  .nv-product-title{font-size:22px}
  .nv-product-price{font-size:26px}
  .nv-perks{grid-template-columns:1fr 1fr;gap:8px}
  .nv-detail-sections{grid-template-columns:1fr;gap:12px}
  .nv-sticky-buy{bottom:68px;padding:9px 3%}
  .nv-sticky-buy .nv-buy-btn{min-width:128px}
  .nv-crumb-here{max-width:38vw}
  .row{flex-direction:column}
}

/* ---------- Responsive: tablet (641-1024px) ---------- */
@media(min-width:641px) and (max-width:1024px){
  .nv-home-carousel .nv-slide{height:250px}
  .nv-home-carousel .nv-slide-content h1{font-size:26px}
  .nv-home-cat-grid{grid-template-columns:repeat(5,1fr);gap:10px}
  .nv-home-all-cats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nv-home-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .nv-home-product-name{font-size:14px}
  .nv-detail{grid-template-columns:1fr 1fr;gap:20px}
  .nv-product-title{font-size:24px}
  .nv-detail-sections{grid-template-columns:1fr 1fr}
  .nv-footer-main{grid-template-columns:1fr 1fr;gap:26px}
  .nv-home-brand img{width:212px;height:62px}
}

/* ---------- Responsive: laptop / desktop (>=1025px) ---------- */
@media(min-width:1025px){
  .nv-home-carousel .nv-slide{height:330px}
  .nv-home-carousel .nv-slide-content h1{font-size:34px}
  .nv-home-carousel .nv-slide-content p{font-size:15px}
  .nv-home-products{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
  .nv-home-cat-grid{grid-template-columns:repeat(6,1fr)}
  .nv-detail{grid-template-columns:1.02fr 1fr;gap:30px}
  .nv-sticky-buy{display:none}
  .nv-contact-float{bottom:86px}
  .nv-desktop-top{bottom:86px}
  .grid{grid-template-columns:repeat(4,1fr)}
  .hero h1{font-size:34px}
}
@media(min-width:1400px){
  .nv-home-products{grid-template-columns:repeat(4,minmax(0,1fr))}
  .nv-container{width:min(1320px,94%)}
}

/* ---------- §75: tablet / laptop / desktop — no bottom navigation (mobile unchanged) ---------- */
@media(min-width:641px){
  body{padding-bottom:0}
  .nv-bottom-nav{display:none}
  .nv-home-popular{padding-bottom:20px}
  .nv-sticky-buy{bottom:0}
  .nv-contact-float{bottom:86px}
  .nv-desktop-top{right:84px;bottom:86px}
  .nv-toast{bottom:28px}
}
/* §77: footer grid fits the content on tablet — 2 even columns instead of 4 squeezed ones. */
@media(min-width:641px) and (max-width:1024px){
  .nv-footer-top{grid-template-columns:1fr 1fr;gap:26px;padding:30px 0 22px}
}

/* §76: on desktop the back-to-top button sits BELOW the contact button
   (no sticky buy bar / bottom nav there); on tablet it sits BESIDE it,
   clear of the sticky buy bar below and the contact menu above. */
@media(min-width:1025px){
  .nv-desktop-top{right:22px;bottom:24px}
}

/* ---------- Footer v2 (rich, premium) ---------- */
body.nv-checkout-page .nv-footer{display:none}
.nv-footer-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:28px;padding:38px 0 26px}
.nv-footer-col h3{font-size:14px;color:#fff;margin:0 0 12px;letter-spacing:.2px}
.nv-footer-col h3:after{content:"";display:block;width:34px;height:3px;border-radius:3px;background:linear-gradient(90deg,#12a35c,#ff3b47);margin-top:7px}
.nv-footer-logo-chip{display:inline-block;background:#fff;border-radius:10px;padding:6px 10px;box-shadow:0 4px 14px rgba(0,0,0,.2)}
.nv-footer-logo-chip img{width:126px;height:44px;object-fit:contain}
.nv-footer-about{font-size:13px;line-height:1.7;color:#b9c7d4;margin:12px 0 0;max-width:34ch}
.nv-footer-social{display:flex;gap:8px;margin-top:14px}
.nv-footer-social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:16px;font-weight:800}
.nv-footer-social a:hover{background:#12a35c}
.nv-footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:2px}
.nv-footer-col li{margin:0}
.nv-footer-col li a,.nv-footer-col li span{display:inline-block;padding:5px 0;font-size:13px;color:#b9c7d4}
.nv-footer-col li a:hover{color:#fff;padding-left:4px}
.nv-footer-contact li{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#b9c7d4;padding:5px 0;line-height:1.5}
.nv-footer-contact b{color:#fff;font-weight:700}
.nv-pay-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.nv-pay-chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800}
.nv-pay-chip.cod{background:#12a35c;border-color:#12a35c}
.nv-footer-bottom-inner{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:center}

/* ---------- Cart v2 (compact summary with thumbnails) ---------- */
.nv-cart-head{margin:6px 0 14px}
.nv-cart-head h2{margin:0;color:#123c55;font:800 26px/1.25 "Noto Sans Bengali",Poppins,sans-serif}
.nv-cart-head p{margin:4px 0 0;color:var(--nv-muted);font-size:13px}
.nv-cart-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.nv-cart-item{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:12px;background:#fff;border:1px solid var(--nv-line);border-radius:16px;padding:12px;margin-bottom:10px;box-shadow:0 4px 14px rgba(23,62,90,.05);align-items:center;min-width:0}
.nv-cart-thumb{width:76px;height:76px;border-radius:12px;overflow:hidden;background:#f3f7f4;display:grid;place-items:center;font-size:32px;flex:0 0 76px}
.nv-cart-thumb img{width:100%;height:100%;object-fit:cover}
.nv-cart-info{min-width:0}
.nv-cart-name{display:block;font-weight:800;color:#163a52;font-size:15px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nv-cart-unit{color:var(--nv-muted);font-size:12.5px;margin-top:3px}
.nv-cart-variation{font-size:12.5px;font-weight:700;color:#163a52;margin-top:2px}
.nv-cart-unit b{color:var(--nv-red);font-size:14px}
.nv-cart-qty{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.nv-cart-qty form{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.nv-cart-qty form.nv-cart-update-form{display:contents}
.nv-cart-qty input{width:52px;height:36px;box-sizing:border-box;margin:0;padding:7px 6px;text-align:center;font-weight:800}
.nv-cart-variation-select{flex:1 1 100%;min-width:0;height:36px;box-sizing:border-box;border:1.5px solid var(--nv-line);border-radius:9px;padding:0 8px;font:700 13px "Noto Sans Bengali",sans-serif;color:var(--nv-ink);background:#fff}
.nv-cart-qty .nv-mini-btn{height:36px;box-sizing:border-box;min-height:0;padding:7px 10px;font-size:13px;border-radius:9px;white-space:nowrap}
.nv-cart-remove{background:none;border:0;color:#c62828;font-weight:700;font-size:13px;padding:7px 4px;cursor:pointer}
.nv-cart-line{text-align:right;min-width:86px}
.nv-cart-line b{display:block;color:#123c55;font-size:16px}
.nv-cart-line span{font-size:11px;color:var(--nv-muted)}
.nv-cart-summary{background:#fff;border:1px solid var(--nv-line);border-radius:18px;padding:18px;box-shadow:var(--nv-shadow);position:sticky;top:150px}
.nv-cart-summary h3{margin:0 0 10px;color:#123c55;font-size:18px}
.nv-cart-summary-row{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;color:#33475c;border-bottom:1px dashed #e6ede9}
.nv-cart-summary-row.grand{border-bottom:0;border-top:2px solid #e6ede9;margin-top:6px;padding-top:12px;font-size:19px;font-weight:800;color:#123c55}
.nv-cart-summary-row.grand span:last-child{color:var(--nv-red)}
.nv-cart-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:14px;background:linear-gradient(135deg,#12a35c,#0a7a40);border-radius:13px;font-size:16px;box-shadow:0 8px 20px rgba(10,122,64,.3)}
.nv-cart-continue{display:block;text-align:center;margin-top:10px;font-weight:700;color:var(--nv-green-dark);font-size:14px}
.nv-cart-note{font-size:12px;color:var(--nv-muted);text-align:center;margin-top:10px;line-height:1.5}
.nv-cart-empty{text-align:center;background:#fff;border:1px dashed #cbd8e2;border-radius:18px;padding:36px 18px}
.nv-cart-empty .nv-cart-empty-icon{font-size:52px}
.nv-cart-empty h2{margin:8px 0 4px;color:#123c55}
.nv-cart-empty p{color:var(--nv-muted);margin:0 0 16px}

/* ---------- Toast (added to cart) ---------- */
.nv-toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%,20px);z-index:13000;display:flex;align-items:center;gap:10px;background:#12293d;color:#fff;border-radius:999px;padding:12px 18px 12px 12px;font-weight:700;font-size:14px;box-shadow:0 14px 34px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;max-width:92vw}
.nv-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.nv-toast-check{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--nv-green);display:grid;place-items:center;font-size:16px}
.nv-toast a{color:#7be3a8;white-space:nowrap}

/* ---------- Checkout v2 (plugin style: 3 steps, clean panels) ---------- */
.nv-checkout-wrap{max-width:780px;margin:0 auto;padding:8px 0 30px}
.nv-checkout-top{text-align:center;margin:10px 0 18px}
.nv-checkout-top h1{margin:0 0 5px;font-size:29px;font-weight:800;color:#123c55}
.nv-checkout-top p{margin:0;color:var(--nv-muted);font-size:14px}
.nv-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;position:relative;margin:0 0 20px}
@media (max-width:640px){.nv-progress-step{font-size:10.5px}.nv-progress-step span{width:32px;height:32px;font-size:13px}.nv-progress:before{top:16px}}
.nv-progress:before{content:"";position:absolute;left:16%;right:16%;top:19px;height:3px;background:#dfe6ec;border-radius:3px}
.nv-progress-step{position:relative;z-index:1;text-align:center;color:#8b9aa8;font-size:12px;font-weight:700}
.nv-progress-step span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 6px;border-radius:50%;background:#fff;border:2px solid #d6e0e7;font-weight:800;font-size:15px;color:#8b9aa8}
.nv-progress-step.active,.nv-progress-step.done{color:var(--nv-green-dark)}
.nv-progress-step.active span,.nv-progress-step.done span{background:var(--nv-green);color:#fff;border-color:var(--nv-green);box-shadow:0 4px 12px rgba(14,138,77,.3)}
.nv-panel{background:#fff;border:1px solid #dce5eb;border-radius:18px;padding:22px;box-shadow:0 8px 26px rgba(17,47,74,.07);margin-bottom:14px}
.nv-panel-title{display:flex;gap:12px;align-items:center;margin-bottom:18px}
.nv-panel-title>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--nv-green);color:#fff;font-weight:800;font-size:16px}
.nv-panel-title h2{margin:0;font-size:21px;color:#123c55}
.nv-panel-title p{margin:3px 0 0;color:#758596;font-size:12.5px}
.nv-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.nv-field-grid .full{grid-column:1/-1}
.nv-field label{display:block;font-size:13px;font-weight:700;margin-bottom:5px;color:#22394f}
.nv-field label i{color:var(--nv-red);font-style:normal}
.nv-field input,.nv-field textarea,.nv-field select{box-sizing:border-box;width:100%;border:1.5px solid #cbd8e2;border-radius:11px;background:#fbfdff;padding:12px 13px;min-height:50px;font:inherit;font-size:16px;margin:0 0 14px}
.nv-field textarea{min-height:84px;resize:vertical}
.nv-field input:focus,.nv-field textarea:focus,.nv-field select:focus{outline:none;border-color:var(--nv-green);box-shadow:0 0 0 3px rgba(14,138,77,.12)}
.nv-radio-card{display:flex;gap:11px;align-items:flex-start;border:1.5px solid #dbe4ea;border-radius:13px;padding:13px 14px;margin:8px 0;cursor:pointer;min-height:60px;background:#fff;transition:border-color .15s ease,background .15s ease}
.nv-radio-card:hover{border-color:#9fd4b6}
.nv-radio-card input{width:20px;height:20px;flex:0 0 20px;accent-color:var(--nv-green);margin:2px 0 0;padding:0}
.nv-radio-card b{flex:1;font-size:15px;color:#17304b;line-height:1.4}
.nv-radio-card b small{display:block;font-weight:500;color:#728394;font-size:12.5px;margin-top:3px}
.nv-radio-card strong{white-space:nowrap;color:#123c55;font-size:15px}
.nv-radio-card:has(input:checked){border-color:var(--nv-green);background:#f2fbf5;box-shadow:0 0 0 3px rgba(14,138,77,.1)}
.nv-cod-note{margin:14px 0 0;padding:13px 15px;border-radius:11px;background:#f4fbf7;border:1px solid #d8efe0;color:#17304b;font-size:15px;font-weight:600;line-height:1.55}
.nv-customer-box{background:#f6faf8;border:1px solid #e0ece5;border-radius:12px;padding:14px 15px;margin-bottom:14px;font-size:14px;line-height:1.65;color:#22394f}
.nv-customer-box b{color:#123c55}
.nv-order-line{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f4;min-width:0}
.nv-order-line:last-child{border-bottom:0}
.nv-order-thumb{width:52px;height:52px;border-radius:10px;overflow:hidden;background:#f3f7f4;display:grid;place-items:center;font-size:24px}
.nv-order-thumb img{width:100%;height:100%;object-fit:cover}
.nv-order-name{font-weight:700;font-size:14px;color:#17304b;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nv-order-name span{display:block;font-weight:500;color:#697b8c;font-size:12.5px;margin-top:2px}
.nv-order-line b{white-space:nowrap;font-size:14.5px;color:#123c55}
.nv-coupon-row{display:flex;gap:8px}
.nv-coupon-row input{flex:1;margin:0}
.nv-coupon-row button{flex:0 0 auto;min-height:50px;background:#17304b;border-radius:11px;padding:0 18px}
.nv-coupon-msg{display:block;margin-top:8px;font-size:13px;font-weight:700}
.nv-coupon-msg.ok{color:var(--nv-green-dark)}.nv-coupon-msg.bad{color:#c62828}
.nv-totalbox{border-top:1px solid #dfe7ed;margin-top:16px;padding-top:8px}
.nv-totalbox>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:15px;color:#33475c}
.nv-totalbox .grand{border-top:1px solid #dfe7ed;margin-top:6px;padding-top:14px;font-size:21px;font-weight:800;color:#123c55}
.nv-totalbox .grand span:last-child{color:var(--nv-red)}
.nv-checkout-actions{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-top:16px}
.nv-btn-secondary{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 18px;border-radius:12px;background:#eef3f6;color:#30485d;font-weight:800;font-size:16px}
.nv-btn-primary{display:flex;align-items:center;justify-content:center;min-height:54px;border:0;border-radius:12px;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 8px 20px rgba(10,122,64,.3);width:100%}
.nv-btn-primary:disabled{opacity:.65;cursor:wait}
.nv-checkout-note{text-align:center;color:#718293;font-size:12px;margin-top:13px;line-height:1.6}
.nv-success{text-align:center;padding:26px 10px}
.nv-success .nv-success-check{width:70px;height:70px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:var(--nv-green);color:#fff;font-size:36px;font-weight:800;box-shadow:0 10px 26px rgba(14,138,77,.35)}
.nv-success h2{margin:0 0 6px;font-size:26px;color:#123c55}
.nv-success p{color:#708193;margin:0 0 4px}
.nv-thank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#dce5eb;border:1px solid #dce5eb;border-radius:14px;overflow:hidden;margin:18px 0;text-align:center}
.nv-thank-grid>div{background:#fff;padding:16px 10px}
.nv-thank-grid span{display:block;font-size:11px;color:#768697}
.nv-thank-grid b{display:block;margin-top:5px;font-size:16px;color:#123c55;overflow-wrap:anywhere}
.nv-success-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:6px}
.nv-success-actions a{min-height:50px;display:inline-flex;align-items:center;padding:0 20px;border-radius:12px;font-weight:800}

/* Loading overlay (plugin style) */
.nv-loading-overlay{position:fixed;inset:0;z-index:14000;background:rgba(8,25,42,.62);display:none;align-items:center;justify-content:center;padding:20px}
.nv-loading-overlay.show{display:flex}
.nv-loading-card{width:min(340px,90vw);background:#fff;border-radius:18px;padding:28px 20px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.nv-spinner{width:44px;height:44px;margin:0 auto 14px;border:4px solid #dce9e2;border-top-color:var(--nv-green);border-radius:50%;animation:nvspin .8s linear infinite}
@keyframes nvspin{to{transform:rotate(360deg)}}
.nv-loading-card h3{margin:0 0 6px;font-size:20px;color:#17304b}
.nv-loading-card p{margin:0;color:#718293;font-size:13px;line-height:1.5}

@media(max-width:640px){
  .nv-footer-top{grid-template-columns:1fr 1fr;gap:16px 18px;padding:24px 0 16px}
  .nv-footer-brand-col{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .nv-footer-logo-chip{flex:0 0 auto}
  .nv-footer-logo-chip img{width:108px;height:38px}
  .nv-footer-about{margin:0;font-size:12px}
  .nv-footer-col h3{font-size:13px;margin-bottom:8px}
  .nv-footer-contact-col{grid-column:1/-1}
  .nv-footer-contact{display:grid;grid-template-columns:1fr;gap:0}
  .nv-footer-bottom-inner{flex-direction:column;align-items:center;text-align:center;gap:4px}
  .nv-footer-security{grid-column:1/-1;margin-top:0}
  .nv-pay-chips{margin-top:10px}
  .nv-cart-layout{grid-template-columns:1fr}
  .nv-cart-summary{position:static}
  .nv-field-grid{grid-template-columns:1fr}
  .nv-checkout-top h1{font-size:25px}
  .nv-panel{padding:17px;border-radius:15px}
  .nv-progress-step{font-size:10.5px}
  .nv-progress-step span{width:35px;height:35px}
  .nv-progress:before{top:17px}
  .nv-checkout-actions{grid-template-columns:1fr}
  .nv-thank-grid{grid-template-columns:1fr 1fr}
  .nv-cart-item{grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto}
  .nv-cart-thumb{width:64px;height:64px;flex-basis:64px}
  .nv-cart-line{grid-column:1/-1;text-align:left;display:flex;gap:12px;align-items:baseline}
}

/* ================= THEME v4 — preview + old theme, combined ================= */
/* Compact light hero: text + banner side by side */
.nv-hero-combined{background:linear-gradient(180deg,#f2fbf5 0%,#ffffff 100%);border:1px solid #ddefe4;border-radius:24px;padding:24px;margin:6px 0 8px;box-shadow:0 8px 24px rgba(18,60,40,.05)}
.nv-hero-combined-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px;align-items:center}
.nv-hero-combined-text{min-width:0}
.nv-hero-combined-eyebrow{display:inline-flex;background:#e8f8ee;color:#0a6b3b;border:1px solid #c9ecd8;border-radius:999px;padding:6px 13px;font:800 12px/1 "Noto Sans Bengali",Poppins,sans-serif;letter-spacing:.2px}
.nv-hero-combined-text h1{margin:13px 0 8px;font:800 29px/1.32 "Noto Sans Bengali",Poppins,sans-serif;color:#12293d;letter-spacing:-.3px}
.nv-hero-combined-text h1 em{font-style:normal;color:#0e8a4d}
.nv-hero-combined-text p{margin:0 0 17px;color:#5b6f66;font-size:14.5px;line-height:1.65;max-width:42ch}
.nv-hero-combined-ctas{display:flex;gap:10px;flex-wrap:wrap}
.nv-hero-combined-cta-primary{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;font:800 15px "Noto Sans Bengali",Poppins,sans-serif;box-shadow:0 8px 18px rgba(10,122,64,.28)}
.nv-hero-combined-cta-ghost{display:inline-flex;align-items:center;min-height:48px;padding:0 22px;border-radius:999px;background:#fff;border:1.5px solid #cfe6d8;color:#0a6b3b;font:800 15px "Noto Sans Bengali",Poppins,sans-serif}
.nv-hero-combined .nv-home-carousel{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(18,60,40,.12)}
.nv-hero-combined .nv-home-carousel .nv-slide{height:300px}
.nv-hero-combined .nv-home-carousel .nv-dots{bottom:12px}

/* Categories: 4 per line, smaller, with More toggle */
.nv-home-cat-grid{grid-template-columns:repeat(4,1fr);gap:12px}
.nv-home-cat-icon{width:68px;height:68px}
.nv-home-cat{font-size:12.5px}
.nv-home-cat-more-btn{display:flex;align-items:center;justify-content:center;margin:14px auto 0;min-height:44px;padding:0 22px;border-radius:999px;border:1.5px solid #cfe6d8;background:#fff;color:#0a6b3b;font:800 14px "Noto Sans Bengali",Poppins,sans-serif;cursor:pointer;box-shadow:0 3px 10px rgba(18,60,40,.05)}
.nv-home-cat-more-btn:hover{border-color:#0e8a4d}

/* Product card: sold left / stars right, 2-line title, stock line */
.nv-card-top-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:20px;margin-bottom:2px}
.nv-card-sold{color:#7a8794;font:700 12px/1 "Noto Sans Bengali",Poppins,sans-serif;white-space:nowrap}
.nv-card-stars{color:#f59e0b;font-size:13px;letter-spacing:2px;line-height:1;white-space:nowrap}
.nv-home-product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px}
.nv-card-stock{display:flex;align-items:center;gap:6px;font:700 12px/1 "Noto Sans Bengali",Poppins,sans-serif;margin-top:6px}
.nv-card-stock i{width:8px;height:8px;border-radius:50%;background:#0e8a4d;flex:0 0 8px}
.nv-card-stock.is-in{color:#0a6b3b}
.nv-card-stock.is-out{color:#c62828}
.nv-card-stock.is-out i{background:#c62828}

/* v4 tablet: 641–1024px */
@media(min-width:641px) and (max-width:1024px){
  .nv-hero-combined{padding:20px;border-radius:20px}
  .nv-hero-combined-grid{grid-template-columns:1fr 1fr;gap:18px}
  .nv-hero-combined-text h1{font-size:24px}
  .nv-hero-combined-text p{font-size:13.5px}
  .nv-hero-combined .nv-home-carousel .nv-slide{height:250px}
  .nv-home-cat-icon{width:60px;height:60px}
  .nv-home-cat{font-size:12px}
}

/* v4 phone: <=640px — stacked, compact, nothing messy */
@media(max-width:640px){
  .nv-hero-combined{padding:16px;border-radius:18px;margin:4px 0 6px}
  .nv-hero-combined-grid{grid-template-columns:1fr;gap:14px}
  .nv-hero-combined-text h1{font-size:22px;margin:10px 0 6px}
  .nv-hero-combined-text p{font-size:13.5px;margin-bottom:13px}
  .nv-hero-combined-ctas{gap:8px}
  .nv-hero-combined-cta-primary{flex:1;justify-content:center;min-height:46px;font-size:14px;padding:0 14px}
  .nv-hero-combined-cta-ghost{min-height:46px;font-size:14px;padding:0 16px}
  .nv-hero-combined .nv-home-carousel .nv-slide{height:190px}
  .nv-hero-combined .nv-home-carousel .nv-dots{bottom:8px}
  .nv-home-cat-grid{grid-template-columns:repeat(4,1fr);gap:8px}
  .nv-home-cat-icon{width:52px;height:52px}
  .nv-home-cat{font-size:11px;gap:4px}
  .nv-home-cat-more-btn{width:100%;min-height:44px}
  .nv-card-top-row{min-height:18px}
  .nv-card-sold{font-size:11.5px}
  .nv-card-stars{font-size:12px}
  .nv-home-product-name{font-size:13.5px;min-height:39px}
}

/* v4 fix: in the combined hero the text block carries the message — hide the
   banner's own overlay text so it never collides with text baked into the
   banner image (the slide stays a clickable link). */
.nv-hero-combined .nv-slide-content,.nv-hero-combined .nv-slide-image-only-btn{display:none}

/* ================= THEME v5 — preview header/footer/light scheme ================= */
/* Preview tokens (light only, no dark override) */
:root{--nv-green:#0e7a38;--nv-green-dark:#0a5c2b;--nv-green-soft:#e2f3e6;--nv-ink:#14231a;--nv-muted:#47604f;--nv-line:#dce8da;--nv-bg:#f4f8f2}

/* Top strip: dark green, COD message + hotline (real number only) */
.nv-topstrip{background:#0a5c2b;color:#eafff1;font-size:13px}
.nv-topstrip-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;padding-top:3px;padding-bottom:3px}
.nv-topstrip a{font-weight:700;white-space:nowrap}
.nv-topstrip a:hover{text-decoration:underline}

/* White sticky header, 1px border */
.nv-site-header{background:#fff;border-bottom:1px solid #dce8da;box-shadow:0 2px 10px rgba(14,60,32,.06);padding-top:0}
.nv-home-top{gap:16px}

/* Pill search: 2px brand border, green button */
.nv-home-search-row{flex:1 1 auto;min-width:0;padding:0}
.nv-home-search-row form{height:50px;border:2px solid #0e7a38;border-radius:999px;box-shadow:none}
.nv-home-search-row form:focus-within{border-color:#0e7a38;box-shadow:0 0 0 3px rgba(14,122,56,.14)}
.nv-home-search-row button{background:#0e7a38;border-radius:0}
.nv-home-search-row button:hover{background:#0a5c2b}

/* Icon + label actions, amber badges */
.nv-home-actions{display:flex;gap:2px;flex:0 0 auto}
.nv-home-icon{width:auto;height:auto;min-width:56px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 8px;color:#14231a;border-radius:12px}
.nv-home-icon svg{width:24px;height:24px}
.nv-home-icon-label{font:700 11px/1.2 "Noto Sans Bengali",Poppins,sans-serif;color:#47604f;white-space:nowrap}
.nv-home-badge{background:#e8590c;right:4px;top:2px}

/* Category nav row under the header */
.nv-catnav{background:#fff;border-bottom:1px solid #dce8da}
.nv-catnav-inner{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.nv-catnav-inner::-webkit-scrollbar{display:none}
.nv-catnav-inner a{padding:10px 13px;font:700 13.5px/1.3 "Noto Sans Bengali",Poppins,sans-serif;color:#47604f;white-space:nowrap;border-bottom:3px solid transparent}
.nv-catnav-inner a:hover{color:#0e7a38}
.nv-catnav-inner a.is-active{color:#0e7a38;border-bottom-color:#0e7a38}

/* Trust strip in preview tokens */
.nv-home-trust{background:#eef5ec;border-top:1px solid #dce8da;border-bottom:1px solid #dce8da}
.nv-home-trust-item{color:#47604f}
.nv-home-trust-item svg{color:#0e7a38}

/* White footer, preview style */
.nv-footer{background:#fff;border-top:1px solid #dce8da;color:#47604f}
.nv-footer p{color:#47604f}
.nv-footer h3{color:#14231a}
.nv-footer a{color:#47604f}
.nv-footer-static{color:#47604f}
.nv-footer-col h3{color:#14231a}
.nv-footer-col h3:after{display:none}
.nv-footer-logo-chip{background:#fff;border:1px solid #dce8da;box-shadow:none}
.nv-footer-about{color:#47604f}
.nv-footer-social a{background:#eef5ec;border:1px solid #dce8da;color:#0a5c2b}
.nv-footer-social a:hover{background:#0e7a38;color:#fff}
.nv-footer-col li a,.nv-footer-col li span{color:#47604f}
.nv-footer-col li a:hover{color:#0e7a38;padding-left:0}
.nv-footer-contact li{color:#47604f}
.nv-footer-contact b{color:#14231a}
.nv-footer-security{background:#eef5ec;border:1px solid #dce8da;color:#47604f}
.nv-pay-chip{background:#eef5ec;border:1px solid #dce8da;color:#14231a}
.nv-footer-bottom{border-top:1px solid #dce8da;color:#47604f}

/* Preview star colour */
.nv-card-stars{color:#f2a007}

/* Hero: banner-only on phone + tablet (<=1024px); text+side banner on laptop */
@media(max-width:1024px){
  .nv-hero-combined-text{display:none}
  .nv-hero-combined-grid{grid-template-columns:1fr;gap:0}
  .nv-hero-combined{padding:10px}
  .nv-hero-combined .nv-home-carousel .nv-slide{height:240px}
}
@media(max-width:720px){
  .nv-home-icon-label{display:none}
  .nv-home-icon{min-width:0;padding:6px}
  .nv-home-badge{right:0;top:0}
  .nv-topstrip{font-size:12px}
  .nv-topstrip-inner{justify-content:center}
  .nv-topstrip a{display:none}
}
@media(max-width:640px){
  .nv-hero-combined{padding:8px}
  .nv-hero-combined .nv-home-carousel .nv-slide{height:190px}
}
/* Search wraps below the brand row on phone + tablet */
@media(max-width:1024px){
  .nv-home-top{flex-wrap:wrap;height:auto;row-gap:8px;padding-top:8px;padding-bottom:4px}
  .nv-home-search-row{order:3;flex:1 1 100%}
  .nv-home-search-row form{height:48px}
}
body.nv-compact .nv-topstrip{display:none}

/* ================= THEME v6 — screenshot fixes ================= */
/* Rating number next to the stars */
.nv-card-stars em{font-style:normal;font-size:11.5px;font-weight:700;color:#47604f;letter-spacing:0;margin-left:1px}

/* Product buttons: small, side by side (preview style) */
.nv-home-product-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.nv-home-product-actions>*{min-width:0}
.nv-home-product-actions .nv-add-btn,.nv-home-product-actions .nv-buy-btn{min-height:40px;font-size:13px;padding:0 4px;gap:4px;white-space:nowrap}
.nv-btn-label-short{display:none}

/* Banner: shorter + full-width on phone (breaks out of .wrap padding) */
@media(max-width:640px){
  .nv-hero-combined{padding:0;background:transparent;border:0;box-shadow:none;border-radius:0;margin-left:-12px;margin-right:-12px;margin-bottom:8px}
  .nv-hero-combined .nv-container{width:100%}
  .nv-hero-combined .nv-home-carousel{border-radius:0;box-shadow:none}
  .nv-hero-combined .nv-home-carousel .nv-slide{height:150px}
  .nv-home-product-actions{gap:5px}
  .nv-home-product-actions .nv-add-btn,.nv-home-product-actions .nv-buy-btn{min-height:38px;font-size:11.5px;padding:0 2px}
  .nv-btn-label-full,.nv-btn-ico{display:none}
  .nv-btn-label-short{display:inline}
}
@media(min-width:641px) and (max-width:1024px){
  .nv-hero-combined .nv-home-carousel .nv-slide{height:210px}
}

/* ================= THEME v7 — rating fit, gaps, center crop, banner margins, promos ================= */
/* Rating row: smaller stars, tighter spacing, stars never cut off */
.nv-card-top-row{gap:4px;flex-wrap:nowrap}
.nv-card-sold{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}
.nv-card-stars{flex:0 0 auto;font-size:11px;letter-spacing:1px}
.nv-card-stars em{font-size:10.5px}

/* Product images always center-cropped */
.nv-home-product-image{object-position:center center}
.nv-home-category-image{object-position:center center}
.nv-home-promo img{object-position:center center}

/* Promo tiles: bigger, eye-catching */
.nv-home-promo{border-radius:18px;box-shadow:0 8px 22px rgba(24,65,45,.12)}
.nv-home-promo img{aspect-ratio:16/8}

@media(max-width:640px){
  /* Less empty space at the sides of the product list */
  .wrap{padding:10px 6px}
  .nv-home-popular .nv-container,.nv-home-categories .nv-container,.nv-home-promos .nv-container{width:100%}
  .nv-home-products{gap:8px}
  /* Rating fits on one line */
  .nv-card-sold{font-size:10.5px}
  .nv-card-stars{font-size:10.5px;letter-spacing:.5px}
  .nv-card-stars em{font-size:10px}
  /* Banner: a little margin on both sides again (no edge-to-edge breakout) */
  .nv-hero-combined{margin-left:0;margin-right:0}
  .nv-hero-combined .nv-home-carousel{border-radius:14px}
  /* Promo tiles stack full-width, big */
  .nv-home-promo-grid-two{grid-template-columns:1fr;gap:10px}
}

/* ================= THEME v8 — small toast, promo side-by-side, no clipped text ================= */
/* Small toast only: one line, no link, never giant */
.nv-toast{bottom:96px;padding:9px 16px 9px 9px;font-size:13px;gap:8px;width:max-content;max-width:calc(100vw - 24px)}
.nv-toast-check{width:22px;height:22px;flex-basis:22px;font-size:13px}
.nv-toast-msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Sold text: roomy line-height so Bengali tops never clip; ellipsis kept */
.nv-card-top-row{line-height:1.4}
.nv-card-sold{line-height:1.5}

/* Title: tighter lines, exact 2-line height */
.nv-home-product-name{line-height:1.25;min-height:38px}

/* Promo tiles: side by side again (not stacked), a bit taller on phone */
@media(max-width:640px){
  .nv-home-promo-grid-two{grid-template-columns:1fr 1fr;gap:8px}
  .nv-home-promo img{aspect-ratio:16/9}
  .nv-home-product-name{min-height:34px}
}

/* ================= THEME v9 — badges, slim search, tight header gap ================= */
/* Card image corners: badges stacked top-left, wishlist heart bottom-right */
.nv-home-product-media .nv-off-badge{right:10px;left:auto;top:10px;bottom:auto}
.nv-home-product-media .nv-quick-heart{top:auto;bottom:10px}

/* Slimmer search bar */
.nv-home-search-row form{height:44px}

/* Smaller gap between logo and search */
.nv-home-top{gap:10px}

@media(max-width:1024px){
  .nv-home-top{row-gap:4px;padding-bottom:0}
  .nv-home-search-row form{height:42px}
}
@media(max-width:640px){
  /* Title fits one line more often; no empty drop-down gap */
  .nv-home-product-name{font-size:12.5px;min-height:32px}
}

/* ================= THEME v10 — gallery slides, honest stars, reviews ================= */
/* Star rating overlay: grey stars behind, gold clipped to the real average */
.nv-stars-wrap{position:relative;display:inline-block;line-height:1;letter-spacing:inherit;color:#a9b8ac;white-space:nowrap}
.nv-stars-wrap .nv-stars-bg{font-weight:400}
.nv-stars-wrap .nv-stars-fg{position:absolute;left:0;top:0;overflow:hidden;color:#f5ad00;white-space:nowrap;font-weight:400}
.nv-stars-lg{font-size:20px;letter-spacing:2px}
.nv-stars-sm{font-size:13px;letter-spacing:1px}
.nv-detail-rating-num{color:#14231a;font-weight:800;font-size:15px;margin-left:4px}

/* Gallery slides: images + video, swipeable, thumbs switch */
.nv-gallery-slide{position:absolute;inset:0;display:none;background:#f3f7f4}
.nv-gallery-slide.active{display:block}
.nv-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}
.nv-gallery-slide video,.nv-gallery-slide iframe{width:100%;height:100%;display:block;border:0;background:#000}
.nv-gallery-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:90px}
.nv-gallery-main.is-video{cursor:default}
.nv-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#14231a;font-size:24px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.18);padding:0}
.nv-gallery-prev{left:10px}
.nv-gallery-next{right:10px}
.nv-video-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:#0e7a38;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);padding:0;z-index:2}
.nv-video-play span{font-size:26px;margin-left:3px}
.nv-gallery-thumb-video{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:#0e7a38}
.nv-gallery-thumb-video span{font-size:18px;line-height:1}

/* Reviews: summary, list, submit form with star picker */
.nv-review-summary{display:flex;gap:14px;align-items:center;margin:10px 0 16px}
.nv-review-avg{font-size:38px;font-weight:800;color:#14231a;line-height:1}
.nv-review-avg span{font-size:16px;color:#7a8794;font-weight:600}
.nv-review-count{color:#7a8794;font-size:12px;margin-top:4px}
.nv-review-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.nv-review-item{border:1px solid var(--nv-line);border-radius:14px;padding:12px 14px;background:#fff}
.nv-review-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nv-review-head b{font-size:14px;color:#14231a}
.nv-review-date{margin-left:auto;color:#9aa7b1;font-size:12px}
.nv-review-item p{margin:8px 0 0;color:#3c4a55;font-size:14px;line-height:1.6}
.nv-review-empty{color:#7a8794;margin-bottom:16px}
.nv-review-form{border-top:1px dashed var(--nv-line);padding-top:16px}
.nv-review-form h3{margin:0 0 8px;font-size:17px}
.nv-review-form label{display:block;font-weight:700;font-size:13px;margin:10px 0 4px;color:#14231a}
.nv-review-form input:not([type=radio]),.nv-review-form textarea{width:100%;border:1.5px solid #d8e6dd;border-radius:12px;padding:10px 12px;font:inherit;font-size:14px;background:#fff}
.nv-review-form input:focus,.nv-review-form textarea:focus{outline:none;border-color:var(--nv-green);box-shadow:0 0 0 3px rgba(14,122,56,.12)}
.nv-star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin:4px 0 6px}
.nv-star-picker input{position:absolute;opacity:0;width:0;height:0}
.nv-star-picker label{font-size:32px;line-height:1;color:#d7dee3;cursor:pointer;padding:0 2px}
.nv-star-picker input:checked ~ label,.nv-star-picker label:hover,.nv-star-picker label:hover ~ label{color:#f5ad00}
.nv-star-picker input:focus-visible + label{outline:2px solid var(--nv-green);border-radius:6px}
.nv-review-submit{margin-top:14px;width:100%;border:0;border-radius:12px;padding:12px;background:var(--nv-green);color:#fff;font:800 15px/1 "Noto Sans Bengali",sans-serif;cursor:pointer}
.nv-review-note{color:#7a8794;font-size:12px;text-align:center;margin:8px 0 0}

/* OTP verification modal (checkout) — mirrors the Need Valley OTP plugin modal */
.nv-otp-modal{display:none;position:fixed;inset:0;z-index:15000;font-family:inherit}
.nv-otp-modal.open{display:block}
.nv-otp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.62);backdrop-filter:blur(3px)}
.nv-otp-dialog{position:relative;width:calc(100% - 32px);max-width:430px;margin:12vh auto 0;background:#fff;border-radius:20px;box-shadow:0 25px 70px rgba(0,0,0,.28);overflow:hidden}
.nv-otp-dialog-head{padding:22px 22px 10px;text-align:center;position:relative}
.nv-otp-close{position:absolute;right:13px;top:11px;width:34px;height:34px;border:0;border-radius:50%;background:#e9edf0;color:#111;font-size:22px;font-weight:700;cursor:pointer;line-height:1}
.nv-otp-help{margin-top:10px;text-align:center;color:#666;font-size:13px;line-height:1.6}
.nv-otp-help a{color:#006eb7;font-weight:700;text-decoration:none}
.nv-otp-icon{width:58px;height:58px;margin:2px auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:#1255c5;font-size:27px;font-weight:800}
.nv-otp-dialog-head h3{margin:0;font-size:23px;line-height:1.3}
.nv-otp-dialog-head p{margin:8px 0 0;color:#666;font-size:14px;line-height:1.55}
.nv-otp-dialog-body{padding:15px 22px 23px}
.nv-otp-dialog-body label{display:block;font-weight:700;margin-bottom:7px;font-size:14px}
.nv-otp-input{width:100%;box-sizing:border-box;padding:14px 15px;border:1px solid #d7dce3;border-radius:11px;font-size:20px;letter-spacing:4px;text-align:center;outline:none}
.nv-otp-input:focus{border-color:#1255c5;box-shadow:0 0 0 3px rgba(18,85,197,.10)}
.nv-otp-btn{width:100%;padding:14px;border:0;border-radius:11px;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.nv-otp-btn.send{background:#1255c5}
.nv-otp-btn.verify{background:#159447;margin-top:10px}
.nv-otp-btn:disabled{opacity:.65;cursor:wait}
.nv-otp-msg{min-height:22px;margin-top:11px;text-align:center;font-size:14px;color:#555}
.nv-otp-msg.ok{color:#159447;font-weight:700}
.nv-otp-msg.error{color:#d63638}
.nv-otp-test{display:none;margin-top:7px;padding:8px 10px;border-radius:8px;background:#fff8d8;text-align:center;font-weight:700;font-size:13px}
.nv-otp-foot{margin-top:13px;text-align:center;color:#999;font-size:12px}
.nv-otp-alert{background:#fdecec;color:#b32626;border:1px solid #f3c1c1;border-radius:10px;padding:11px 14px;font-size:13px;font-weight:600;margin-bottom:12px}
.nv-otp-verified{display:flex;align-items:center;gap:8px;background:#e7faef;color:#087b43;border:1px solid #bfe8ce;border-radius:10px;padding:11px 14px;font-size:13px;font-weight:700;margin-bottom:12px}
@media(max-width:480px){.nv-otp-dialog{margin-top:18vh;width:calc(100% - 24px);border-radius:18px}.nv-otp-dialog-head h3{font-size:20px}}

/* Small text pager (replaces Laravel's default Tailwind pagination, whose
   unstyled SVG arrows rendered giant and covered the shop page). */
.nv-pager{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;margin:18px 0 4px}
.nv-pager-link{display:inline-block;padding:8px 14px;border:1px solid #dce8da;border-radius:999px;background:#fff;color:#14231a;font-size:14px;line-height:1;text-decoration:none}
.nv-pager-link.current{background:#0e7a38;border-color:#0e7a38;color:#fff;font-weight:700}
.nv-pager-link.disabled{opacity:.45}
/* Guard: if any default pagination markup ever renders, its arrows stay small. */
.pagination svg{width:16px;height:16px}

/* Landing pages (needvalley.com/{slug}). */
.lp-hero{max-width:640px;margin:0 auto;padding:18px 14px 8px;text-align:center}
.lp-badge{display:inline-block;background:#e01a2b;color:#fff;font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px}
.lp-hero h1{font-size:26px;line-height:1.35;margin:12px 0 8px;color:#14231a}
.lp-sub{color:#47604f;font-size:15px;line-height:1.6;margin:0}
.lp-gallery-main{margin:16px 0 8px;border-radius:16px;overflow:hidden;border:1px solid #dce8da;background:#fff}
.lp-gallery-main img{width:100%;display:block;aspect-ratio:1/1;object-fit:cover}
.lp-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.lp-thumb{border:2px solid #dce8da;border-radius:10px;padding:0;background:#fff;cursor:pointer;flex:0 0 64px}
.lp-thumb img{width:60px;height:60px;object-fit:cover;border-radius:8px;display:block}
.lp-price-row{display:flex;gap:10px;justify-content:center;align-items:baseline;margin-top:14px;flex-wrap:wrap}
.lp-price{font-size:30px;font-weight:800;color:#e01a2b}
.lp-old{color:#87949e;text-decoration:line-through;font-size:17px}
.lp-save{background:#e2f3e6;color:#0a5c2b;font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px}
.lp-rating{color:#f2a007;font-size:14px;margin-top:8px}
.lp-rating span{color:#52626e}
.lp-cta{display:inline-block;margin-top:16px;background:linear-gradient(180deg,#0e7a38,#0a5c2b);color:#fff;font-weight:700;font-size:17px;padding:13px 30px;border-radius:999px;text-decoration:none}
.lp-section{max-width:640px;margin:0 auto;padding:16px 14px}
.lp-section h2{font-size:20px;margin:0 0 10px;color:#14231a}
.lp-features{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lp-features li{background:#fff;border:1px solid #dce8da;border-radius:10px;padding:11px 13px;font-size:15px;color:#14231a}
.lp-trust{max-width:640px;margin:0 auto;padding:0 14px 6px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;font-size:13px;color:#47604f}
.lp-trust span{background:#eef5ec;border-radius:999px;padding:6px 12px}
.lp-field{margin-bottom:12px}
.lp-field label{display:block;font-weight:600;font-size:14px;margin-bottom:5px;color:#14231a}
.lp-field input,.lp-field select,.lp-field textarea{width:100%;border:1.5px solid #dce8da;border-radius:10px;padding:11px 12px;font-size:15px;background:#fff;box-sizing:border-box;font-family:inherit}
.lp-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lp-product-line{display:flex;justify-content:space-between;gap:10px;background:#eef5ec;border-radius:10px;padding:11px 13px;font-size:15px}
.lp-totals{border-top:1px dashed #dce8da;margin-top:4px;padding-top:10px;display:grid;gap:6px}
.lp-totals>div{display:flex;justify-content:space-between}
.lp-totals .grand{font-size:18px;border-top:1px solid #dce8da;padding-top:6px}
.lp-submit{width:100%;border:0;border-radius:999px;background:linear-gradient(180deg,#ff3b47,#e01a2b);color:#fff;font-weight:800;font-size:17px;padding:14px;cursor:pointer;margin-top:12px}
.lp-note{text-align:center;color:#52626e;font-size:13px;margin:10px 0 0}
.lp-otp{border:1px dashed #e8590c;background:#fff8f0;border-radius:10px;padding:11px 12px;margin-bottom:12px}
.lp-otp-row{display:flex;gap:8px;align-items:center}
.lp-otp-row input{flex:1;border:1.5px solid #dce8da;border-radius:8px;padding:9px 10px;font-size:15px}
.lp-otp-btn{border:0;border-radius:8px;background:#006eb7;color:#fff;font-weight:700;padding:10px 14px;cursor:pointer;white-space:nowrap}
.lp-otp-msg{font-size:13px;color:#8a5a00}
.lp-otp-done{color:#0a5c2b;font-weight:700;font-size:14px;margin-top:8px}
.lp-success{max-width:520px;margin:0 auto;padding:36px 16px;text-align:center}
.lp-success-icon{width:64px;height:64px;line-height:64px;border-radius:50%;background:#e2f3e6;color:#0a5c2b;font-size:32px;font-weight:800;margin:0 auto 14px}
.lp-success h1{font-size:24px;margin:0 0 10px}
.lp-success p{color:#47604f;line-height:1.7}

/* Orders hub + account (§37): status pills and progress steps. */
.ord-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#f1f5f9;color:#334155}
.ord-new{background:#fef3c7;color:#92400e}.ord-confirmed{background:#dbeafe;color:#1d4ed8}.ord-packing{background:#e0e7ff;color:#4338ca}.ord-couriered{background:#d1fae5;color:#065f46}.ord-delivered{background:#dcfce7;color:#166534}.ord-cancelled{background:#fee2e2;color:#991b1b}
.ord-steps{display:flex;gap:4px;margin-top:12px}
.ord-step{flex:1;text-align:center;font-size:11px;color:#94a3b8}
.ord-step i{display:block;width:12px;height:12px;border-radius:50%;background:#e2e8f0;margin:0 auto 5px;border:2px solid #cbd5e1}
.ord-step.done{color:#166534}.ord-step.done i{background:#22c55e;border-color:#22c55e}
.ord-step.current{color:#1d4ed8;font-weight:700}.ord-step.current i{background:#3b82f6;border-color:#3b82f6}

/* Orders layout §38: big tracking panel on top, order cards below. */
.ord-track{background:linear-gradient(135deg,#0e7a38,#0a5c2b);border-radius:16px;padding:20px 16px;color:#fff;margin-bottom:18px;box-shadow:0 8px 20px rgba(14,122,56,.25)}
.ord-track-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.ord-track-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:24px}
.ord-track h3{margin:0 0 4px;font-size:20px;color:#fff}
.ord-track p{margin:0;color:#d9f2e3;font-size:13.5px;line-height:1.6}
.ord-track label{display:block;font-size:13px;font-weight:700;margin:10px 0 4px;color:#eafff2}
.ord-track input{width:100%;box-sizing:border-box;border:0;border-radius:10px;padding:12px 14px;font-size:15px;background:#fff}
.ord-track-btn{width:100%;margin-top:14px;border:0;border-radius:999px;padding:13px;font-size:16px;font-weight:800;background:#fff;color:#0a5c2b;cursor:pointer}
.ord-list-title{margin:4px 0 10px;font-size:17px}
.ord-card{margin-bottom:12px}
.ord-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}
.ord-card-products{line-height:1.8;color:#334155;font-size:14px;margin-bottom:8px}
.ord-card-meta{display:flex;justify-content:space-between;gap:10px;color:#64748b;font-size:13.5px;margin-bottom:10px;flex-wrap:wrap}
.ord-card-btn{width:100%;text-align:center}

/* Account login/register toggle + Google button (§41). */
.nv-google-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;background:#fff;border:1px solid #dadce0;border-radius:999px;padding:12px;font-size:15px;font-weight:700;color:#3c4043;text-decoration:none;margin-bottom:4px}
.nv-auth-divider{text-align:center;margin:14px 0;color:#80868b;font-size:13px;position:relative}
.nv-auth-divider span{background:var(--nv-page,#f4f8f2);padding:0 12px;position:relative;z-index:1}
.nv-auth-divider:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid #dadce0}
.nv-auth-toggle{text-align:center;font-size:14px}
.nv-auth-toggle button{background:none;border:0;padding:0;color:#0e7a38;font-weight:700;font-size:14px;cursor:pointer;text-decoration:underline}

/* Manual bKash/Nagad payment panel (§42). */
.nv-pay-box{background:#f0fdf4;border:2px solid #bbf7d0;border-radius:14px;padding:16px;margin-top:12px}
.nv-pay-box h3{margin:0 0 6px;font-size:17px;color:#14532d}
.nv-pay-box p{margin:0 0 10px;color:#334155;font-size:14px;line-height:1.7}
.nv-pay-number{display:flex;flex-direction:column;align-items:stretch;gap:4px;background:#fff;border:1px dashed #22c55e;border-radius:10px;padding:12px 14px;margin-bottom:10px}
.nv-pay-number-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.nv-pay-number span{font-size:13px;color:#47604f}
.nv-copy-number{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border:1.5px solid var(--nv-green);background:#fff;color:var(--nv-green-dark);border-radius:10px;padding:0;cursor:pointer}
.nv-copy-number svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nv-pay-number b{font-size:20px;letter-spacing:.5px;color:#0a5c2b}
.nv-pay-discount{font-weight:700;color:#0e7a38}
.nv-pay-amount{background:#0e7a38;color:#fff;border-radius:10px;padding:12px 14px;font-size:15px;margin-bottom:12px}
.nv-pay-amount b{font-size:19px}
.nv-pay-note{font-size:13px;color:#64748b}

/* Discount badge on a payment option card (§43): red, under the method name. */
.nv-radio-card strong{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.nv-disc-badge{color:#dc2626;font-size:12.5px;font-weight:800;white-space:nowrap}

/* ---------- Dark mode (§47) ---------- */
/* Default stays light. html.nv-dark is set from localStorage before paint
   (see layout head script) and toggled by the header button. Images are
   never filtered: only surfaces, text and borders change. */
html.nv-dark{color-scheme:dark;--nv-green:#1fae5f;--nv-green-dark:#5fd695;--nv-green-soft:#16281e;--nv-ink:#e9f2ec;--nv-muted:#b8ccbe;--nv-line:#2c4034;--nv-bg:#0e1713;--nv-card:#17221c;--nv-shadow:0 10px 26px rgba(0,0,0,.4)}
html.nv-dark{background:#0e1713}
html.nv-dark body{background:var(--nv-bg);color:var(--nv-ink)}
html.nv-dark input,html.nv-dark select,html.nv-dark textarea{background:#0f1a14;color:var(--nv-ink);border-color:var(--nv-line)}
html.nv-dark input::placeholder,html.nv-dark textarea::placeholder{color:#8fa898}
html.nv-dark .nv-site-header{background:linear-gradient(180deg,#17221c,#121c16);border-bottom-color:#2c4034;box-shadow:0 2px 10px rgba(0,0,0,.35)}
html.nv-dark .nv-logo-light{display:none}
html.nv-dark .nv-logo-dark{display:block}
html.nv-dark .nv-home-icon{color:#dcefe4}
html.nv-dark .nv-home-icon:hover{background:rgba(255,255,255,.08)}
html.nv-dark .nv-home-icon-label{color:var(--nv-muted)}
html.nv-dark .nv-home-search-row form{background:#0f1a14;border-color:#2c4034;box-shadow:none}
html.nv-dark .nv-home-search-row input{background:#0f1a14;color:var(--nv-ink)}
html.nv-dark .nv-catnav{background:#17221c;border-bottom-color:#2c4034}
html.nv-dark .nv-catnav-inner a{color:var(--nv-muted)}
html.nv-dark .nv-catnav-inner a:hover,html.nv-dark .nv-catnav-inner a.is-active{color:#5fd695;border-bottom-color:#5fd695}
html.nv-dark .nv-home-trust{background:#122019;border-color:#2c4034}
html.nv-dark .nv-home-trust-item{color:var(--nv-muted)}
html.nv-dark .nv-home-trust-item svg{color:#5fd695}
html.nv-dark .nv-drawer{background:#17221c;box-shadow:16px 0 42px rgba(0,0,0,.5)}
html.nv-dark .nv-hero-combined{background:linear-gradient(180deg,#16281e,#101d16);border-color:#2c4034}
html.nv-dark .nv-hero-combined-eyebrow{background:#16281e;color:#5fd695;border-color:#2c4034}
html.nv-dark .nv-hero-combined-text h1{color:var(--nv-ink)}
html.nv-dark .nv-hero-combined-text h1 em{color:#5fd695}
html.nv-dark .nv-hero-combined-text p{color:var(--nv-muted)}
html.nv-dark .nv-hero-combined-cta-ghost{background:var(--nv-card);border-color:#2c4034;color:#5fd695}
html.nv-dark .nv-home-category-toggle{background:var(--nv-card);border-color:var(--nv-line);color:#5fd695}
html.nv-dark .nv-home-all-cats-toggle{background:rgba(238,43,59,.16);color:#ff8a95}
html.nv-dark .nv-home-all-cats-grid a{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-panel,html.nv-dark .card,html.nv-dark .nv-detail-block,html.nv-dark .nv-review-item,html.nv-dark .nv-empty-products,html.nv-dark .nv-highlight-list li,html.nv-dark .nv-perk{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-home-product-card{background:var(--nv-card);border-color:var(--nv-line);box-shadow:var(--nv-shadow)}
html.nv-dark .nv-price-box{background:linear-gradient(135deg,#16281e,#17221c);border-color:#2c4034}
html.nv-dark .nv-qty{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-detail-wish button,html.nv-dark .nv-variation-btn{background:var(--nv-card);border-color:var(--nv-line);color:var(--nv-ink)}
html.nv-dark .nv-gallery-slide{background:#0f1a14}
html.nv-dark .nv-stars-wrap{color:#8a9b8f}
html.nv-dark .nv-detail-rating-num,html.nv-dark .nv-review-avg,html.nv-dark .nv-review-head b,html.nv-dark .nv-review-form label{color:var(--nv-ink)}
html.nv-dark .nv-review-item p{color:#d8e4dc}
html.nv-dark .nv-review-form input:not([type=radio]),html.nv-dark .nv-review-form textarea{background:#0f1a14;border-color:var(--nv-line);color:var(--nv-ink)}
html.nv-dark .nv-radio-card{background:var(--nv-card);border-color:#2c4034}
html.nv-dark .nv-radio-card:has(input:checked){background:#16281e;border-color:var(--nv-green)}
html.nv-dark .nv-cod-note{background:#122019;border-color:#2c4034;color:var(--nv-ink)}
html.nv-dark .nv-pay-box{background:#122019;border-color:#2c4034}
html.nv-dark .nv-pay-box h3{color:#7ddba8}
html.nv-dark .nv-pay-box p{color:#c8d8ce}
html.nv-dark .nv-pay-number{background:var(--nv-card)}
html.nv-dark .nv-pay-number span{color:var(--nv-muted)}
html.nv-dark .nv-pay-number b{color:#7ddba8}
html.nv-dark .nv-pay-discount{color:#5fd695}
html.nv-dark .nv-pay-note{color:var(--nv-muted)}
html.nv-dark .nv-totalbox{border-top-color:#243528}
html.nv-dark .nv-totalbox>div{color:#c8d8ce}
html.nv-dark .nv-totalbox .grand{border-top-color:#243528;color:var(--nv-ink)}
html.nv-dark .nv-progress:before{background:#2c4034}
html.nv-dark .nv-progress-step{color:#8fa898}
html.nv-dark .nv-progress-step span{background:var(--nv-card);border-color:#2c4034;color:#8fa898}
html.nv-dark .nv-field label,html.nv-dark .nv-customer-box,html.nv-dark .nv-order-line b,html.nv-dark .nv-success h2{color:var(--nv-ink)}
html.nv-dark .nv-customer-box{background:#122019;border-color:#2c4034}
html.nv-dark .nv-order-line{border-bottom-color:#243528}
html.nv-dark .nv-checkout-note,html.nv-dark .nv-success p{color:var(--nv-muted)}
html.nv-dark .nv-otp-dialog{background:var(--nv-card)}
html.nv-dark .nv-otp-close{background:#243528;color:#fff}
html.nv-dark .nv-otp-dialog-head p,html.nv-dark .nv-otp-help,html.nv-dark .nv-otp-msg{color:var(--nv-muted)}
html.nv-dark .nv-otp-test{background:#3a2f10;color:#ffe9a8}
html.nv-dark .nv-otp-alert{background:#3a1d1d;color:#ffb4b4;border-color:#5a2a2a}
html.nv-dark .nv-otp-verified{background:#12291c;color:#7ddba8;border-color:#1f4a30}
html.nv-dark .nv-pager-link{background:var(--nv-card);border-color:var(--nv-line);color:var(--nv-ink)}
html.nv-dark .nv-footer{background:#101d16;border-top-color:#2c4034;color:var(--nv-muted)}
html.nv-dark .nv-footer p,html.nv-dark .nv-footer a,html.nv-dark .nv-footer-static,html.nv-dark .nv-footer-about,html.nv-dark .nv-footer-col li a,html.nv-dark .nv-footer-col li span,html.nv-dark .nv-footer-contact li{color:var(--nv-muted)}
html.nv-dark .nv-footer h3,html.nv-dark .nv-footer-col h3,html.nv-dark .nv-footer-contact b{color:var(--nv-ink)}
html.nv-dark .nv-footer-social a{background:#17221c;border-color:#2c4034;color:#5fd695}
html.nv-dark .nv-footer-security{background:#17221c;border-color:#2c4034;color:var(--nv-muted)}
html.nv-dark .nv-footer-bottom{border-top-color:#2c4034;color:#8fa898}
html.nv-dark .nv-bottom-nav{background:#17221c;border-top-color:#2c4034;box-shadow:0 -7px 22px rgba(0,0,0,.4)}
html.nv-dark .nv-bottom-item{color:#d8e4dc}
html.nv-dark .nv-bottom-item.active,html.nv-dark .nv-bottom-item:hover{color:#ff6b6b}
html.nv-dark .nv-contact-option .nv-contact-icon{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-contact-option b{background:var(--nv-card);color:var(--nv-ink)}
html.nv-dark .alert{background:#2e2712;color:#ffe9a8}
html.nv-dark .btn-outline{background:var(--nv-card);color:#5fd695}
html.nv-dark .nv-shop-filter input,html.nv-dark .nv-shop-filter select{background:#0f1a14;color:var(--nv-ink);border-color:var(--nv-line)}
/* Theme toggle button: moon in light mode, sun in dark mode. */
.nv-theme-toggle{background:transparent;border:0}
.nv-theme-toggle .nv-sun{display:none}
html.nv-dark .nv-theme-toggle .nv-sun{display:block}
html.nv-dark .nv-theme-toggle .nv-moon{display:none}

/* Dark mode round 2 (§47b): literal dark text colors missed in round 1. */
html.nv-dark .nv-home-section-head h2,html.nv-dark .nv-section-head h2,html.nv-dark .nv-product-title,html.nv-dark .nv-detail-block h2,html.nv-dark .nv-detail-block h3,html.nv-dark .nv-checkout-top h1,html.nv-dark .nv-panel-title h2,html.nv-dark .nv-home-product-name,html.nv-dark .nv-perk b{color:var(--nv-ink)}
html.nv-dark .nv-home-section-head h2:first-letter{color:#5fd695}
html.nv-dark .nv-home-product-name:hover{color:#5fd695}
html.nv-dark .nv-home-cat{color:var(--nv-ink)}
html.nv-dark .nv-card-sold,html.nv-dark .nv-detail-sold{color:var(--nv-muted)}
html.nv-dark .nv-card-stars em{color:var(--nv-muted)}
html.nv-dark .nv-product-meta{color:var(--nv-muted)}
html.nv-dark .nv-detail-desc{color:#d8e4dc}
html.nv-dark .nv-highlight-list li{color:var(--nv-ink)}
html.nv-dark .nv-panel-title p{color:var(--nv-muted)}
html.nv-dark .nv-spec-table th,html.nv-dark .nv-spec-table td{border-bottom-color:#243528;color:#c8d8ce}
html.nv-dark .nv-spec-table th{background:#16281e;color:var(--nv-ink)}
html.nv-dark table{background:var(--nv-card);color:var(--nv-ink)}
html.nv-dark .nv-gallery-thumb{background:#0f1a14;border-color:var(--nv-line)}
/* Header uses the transparent dark logo in dark mode — no white chip. */
html.nv-dark .nv-delivery-list{color:#d8e4dc}

/* Dark mode round 3 (§47c): every remaining grey/black body text, brightened. */
html.nv-dark .ord-card-products{color:#d8e4dc}
html.nv-dark .ord-card-meta{color:#b8ccbe}
html.nv-dark .ord-card-meta b{color:var(--nv-ink)}
html.nv-dark .ord-step{color:#b8ccbe}
html.nv-dark .ord-step i{background:#2c4034;border-color:#3a4a3f}
html.nv-dark .ord-step.done{color:#4ade80}
html.nv-dark .ord-step.current{color:#60a5fa}
html.nv-dark .nv-home-carousel .nv-slide-content p{color:#c8d8ce}
html.nv-dark .nv-home-rating .nv-review-count,html.nv-dark .nv-no-review,html.nv-dark .nv-review-avg span,html.nv-dark .nv-review-count,html.nv-dark .nv-review-date,html.nv-dark .nv-review-empty,html.nv-dark .nv-review-note,html.nv-dark .nv-product-meta{color:#b8ccbe}
html.nv-dark .nv-order-name span{color:#b8ccbe}
html.nv-dark .old{color:#9db3a4}
html.nv-dark .nv-panel-title p,html.nv-dark .nv-checkout-note,html.nv-dark .nv-success p,html.nv-dark .nv-loading-card p{color:#b8ccbe}
html.nv-dark .nv-otp-help,html.nv-dark .nv-otp-dialog-head p,html.nv-dark .nv-otp-msg,html.nv-dark .nv-otp-foot{color:#b8ccbe}
html.nv-dark .nv-tag-chip{border-color:#2c4034}
html.nv-dark .nv-tag-chip:hover{background:#1c3527}
html.nv-dark .nv-cart-head h2{color:var(--nv-ink)}
html.nv-dark .nv-cart-item{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-cart-variation-select{background:var(--nv-card);color:var(--nv-ink);border-color:var(--nv-line)}
html.nv-dark .nv-cart-thumb{background:#0f1a14}
html.nv-dark .nv-cart-name{color:var(--nv-ink)}
html.nv-dark .nv-cart-variation{color:var(--nv-ink)}

/* Dark mode round 3b (§47d): short description + price/variation/rating-number. */
html.nv-dark .nv-detail-short{color:#d8e4dc}
html.nv-dark .nv-detail-rating-num{color:var(--nv-ink)}
html.nv-dark .nv-product-price{color:#2fd475}
html.nv-dark .nv-product-price del{color:#9db3a4}
html.nv-dark .nv-buy-price{color:#2fd475}
html.nv-dark .nv-buy-price del{color:#9db3a4}
html.nv-dark .nv-variation-btn{background:var(--nv-card);color:var(--nv-ink);border-color:var(--nv-line)}
html.nv-dark .nv-variation-btn.active{background:var(--nv-green);color:#fff;border-color:var(--nv-green)}
html.nv-dark .nv-variation-btn.nv-color-btn.active{background:#16281e;color:var(--nv-ink);border-color:#2fd475;box-shadow:0 0 0 1px #2fd475}
html.nv-dark .nv-variation-hint.is-chosen{color:#5fd695}
html.nv-dark .nv-gallery-thumb.active{border-color:var(--nv-green)}
html.nv-dark .nv-variation-wrap>label{color:var(--nv-ink)}

/* Dark mode round 3e (§47e): quantity label + category/SKU line on product page. */
html.nv-dark .nv-qty-row>label{color:var(--nv-ink)}
html.nv-dark .nv-product-meta{color:#d8e4dc}

/* Dark mode round 3f (§47f): stock line + old price on product cards. */
html.nv-dark .nv-card-stock.is-in{color:#2fd475}
html.nv-dark .nv-card-stock.is-in i{background:#2fd475}
html.nv-dark .nv-card-stock.is-out{color:#ff6b6b}
html.nv-dark .nv-card-stock.is-out i{background:#ff6b6b}
html.nv-dark .nv-home-price del{color:#9db3a4}

/* Dark mode round 4 (§47j): rating stars — empty stars visible grey, filled bright gold. */
html.nv-dark .nv-stars-wrap .nv-stars-fg{color:#ffc21a}
html.nv-dark .nv-star-picker label{color:#8a9b8f}
html.nv-dark .nv-star-picker input:checked ~ label,html.nv-dark .nv-star-picker label:hover,html.nv-dark .nv-star-picker label:hover ~ label{color:#ffc21a}

/* Dark mode round 5 (§47k): expanded "all categories" panel — names/counts/head + panel bg. */
html.nv-dark .nv-home-all-cats{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-home-all-cats-head{color:var(--nv-ink)}
html.nv-dark .nv-home-all-cats-grid b{color:var(--nv-ink)}
html.nv-dark .nv-home-all-cats-grid em{color:#b8ccbe}

/* Dark mode round 6 (§54): checkout progress steps, customer box, order item names. */
html.nv-dark .nv-progress-step{color:#c8d8cd}
html.nv-dark .nv-progress-step.active,html.nv-dark .nv-progress-step.done{color:#5fd695}
html.nv-dark .nv-progress-step.active span,html.nv-dark .nv-progress-step.done span{background:var(--nv-green);border-color:var(--nv-green);color:#fff}
html.nv-dark .nv-customer-box{background:#0f1a14;border-color:var(--nv-line);color:var(--nv-ink)}
html.nv-dark .nv-customer-box b{color:var(--nv-ink)}
html.nv-dark .nv-order-name{color:var(--nv-ink)}

/* Dark mode round 7 (§55): radio cards, drawer menu, cart summary/empty. */
html.nv-dark .nv-radio-card b{color:var(--nv-ink)}
html.nv-dark .nv-radio-card b small{color:#b8ccbe}
html.nv-dark .nv-radio-card strong{color:var(--nv-ink)}
html.nv-dark .nv-drawer-top{border-color:var(--nv-line)}
html.nv-dark .nv-drawer-top strong{color:var(--nv-ink)}
html.nv-dark .nv-drawer-close{color:var(--nv-ink)}
html.nv-dark .nv-mobile-menu li,html.nv-dark .nv-drawer-links a{border-color:var(--nv-line)}
html.nv-dark .nv-mobile-menu a,html.nv-dark .nv-drawer-links a{color:var(--nv-ink)}
html.nv-dark .nv-mobile-menu a:after,html.nv-dark .nv-drawer-links a:after{color:#b8ccbe}
html.nv-dark .nv-cart-line b{color:var(--nv-ink)}
html.nv-dark .nv-cart-summary{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-cart-summary h3{color:var(--nv-ink)}
html.nv-dark .nv-cart-summary-row{color:var(--nv-ink);border-color:var(--nv-line)}
html.nv-dark .nv-cart-summary-row.grand{color:var(--nv-ink);border-color:var(--nv-line)}
html.nv-dark .nv-cart-empty{background:var(--nv-card);border-color:var(--nv-line)}
html.nv-dark .nv-cart-empty h2{color:var(--nv-ink)}

/* Payment number copy button + number legibility in dark mode (§58). */
html.nv-dark .nv-pay-number span{color:#b8ccbe}
html.nv-dark .nv-pay-number b{color:#5fd695}
html.nv-dark .nv-copy-number{background:#0f1a14;color:#5fd695;border-color:#2c4034}

/* ---------- Location picker (district / thana searchable dropdowns) ---------- */
.nv-loc{position:relative}
.nv-loc-panel{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:60;background:#fff;border:1.5px solid #cbd8e2;border-radius:11px;box-shadow:0 12px 30px rgba(20,35,26,.16);max-height:264px;overflow:auto;display:none}
.nv-loc-panel.open{display:block}
.nv-loc-item{padding:10px 13px;cursor:pointer;font-size:15px;line-height:1.35;color:#14231a}
.nv-loc-item small{display:block;font-size:12px;color:#47604f}
.nv-loc-item:hover,.nv-loc-item.active{background:#eef5ec}
.nv-loc-empty{padding:11px 13px;font-size:13px;line-height:1.5;color:#47604f}
html.nv-dark .nv-loc-panel{background:#0f1a14;border-color:#24382c}
html.nv-dark .nv-loc-item{color:#eaf2ec}
html.nv-dark .nv-loc-item small,html.nv-dark .nv-loc-empty{color:#b8ccbe}
html.nv-dark .nv-loc-item:hover,html.nv-dark .nv-loc-item.active{background:#16241b}

/* ---------- Account: labelled info cards, collapsed edits, OTP reset (§86) ---------- */
.nv-acc-hero{display:flex;align-items:center;gap:14px}
.nv-acc-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#12a35c,#0a7a40);color:#fff;font:800 24px/1 "Noto Sans Bengali",Poppins,sans-serif;text-transform:uppercase}
.nv-acc-hero-text h3{margin:0 0 4px;font-size:21px}
.nv-acc-hero-text p{margin:0;color:var(--nv-muted)}
.nv-acc-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.nv-acc-actions .btn,.nv-acc-actions form{display:inline-flex}
.nv-acc-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.nv-acc-card-head h3{margin:0}
.nv-acc-edit-btn{padding:8px 14px;font-size:13px;white-space:nowrap}
.nv-acc-badge{background:#e8f8ee;color:#0a7a40;border:1px solid #bfe8ce;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.nv-acc-rows{margin:6px 0 4px}
.nv-acc-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 2px;border-bottom:1px solid var(--nv-line)}
.nv-acc-row:last-child{border-bottom:0}
.nv-acc-row span{flex:0 0 auto;color:var(--nv-muted);font-size:13.5px;font-weight:600}
.nv-acc-row b{font-size:15px;text-align:right;overflow-wrap:anywhere}
.nv-acc-card form{margin-top:14px}
.nv-acc-card .nv-acc-wide-btn{width:100%;margin-top:10px}
.nv-acc-card .nv-acc-wide-btn:first-of-type{margin-top:6px}
.nv-acc-link-btn{display:block;width:100%;margin-top:8px;background:none;border:0;padding:10px;color:var(--nv-green-dark);font-weight:700;font-size:14px;text-decoration:underline;cursor:pointer}
#nv-acc-profile-form,#nv-acc-address-form,#nv-acc-pw-change,#nv-acc-pw-reset{border-top:1px dashed var(--nv-line);margin-top:14px;padding-top:4px}
#nv-acc-pw-reset p{margin:10px 0}
/* Checkout step 1: saved-address vs new-address choice (§86). */
.nv-addr-choice .nv-panel-title{margin-bottom:10px}
.nv-addr-option{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--nv-line);border-radius:12px;padding:12px 14px;margin-bottom:10px;cursor:pointer;background:var(--nv-card)}
.nv-addr-option input{flex:0 0 auto;width:19px;height:19px;margin-top:2px;accent-color:#0e7a38}
.nv-addr-option b{display:block;font-size:15px}
.nv-addr-option span{display:block;margin-top:3px;font-size:13.5px;color:var(--nv-muted);line-height:1.55}
.nv-addr-option:has(input:checked){border-color:var(--nv-green);background:var(--nv-green-soft)}
.nv-addr-choice p{margin:2px 0 0}
html.nv-dark .nv-acc-badge{background:#12291c;color:#7ddba8;border-color:#1f4a30}
html.nv-dark .nv-acc-link-btn{color:#5fd695}
html.nv-dark .nv-addr-option{background:var(--nv-card)}

/* §119b — Install button in the header: the generic `button` rule
   painted it green, which clashed with the white header. Light mode:
   white box, dark icon. Dark mode: no box (the dark header shows
   through), white icon only. On phones the header cart icon is
   hidden — cart stays in the bottom nav — so the logo keeps its size
   and the install button takes the cart's place at the end. */
.nv-install-btn{background:#fff;color:#14231a}
html.nv-dark .nv-install-btn{background:transparent;color:#fff}
@media(max-width:640px){
  .nv-header-cart{display:none}
}

/* §119c — Uniform header icons on phones: the moon button kept a
   light box after a tap (sticky :hover on touch), while the heart
   and download icons had none, so the three looked like three
   different sizes. All phone header icons now share one fixed
   40x40 box with a centred 24px glyph, and hover backgrounds are
   disabled on touch devices so no box sticks after a tap. Order
   kept: theme, wishlist, app (app at the edge, where cart was). */
@media(max-width:720px){
  .nv-home-actions .nv-home-icon{width:40px;height:40px;min-width:0;padding:0;display:grid;place-items:center}
  .nv-home-actions .nv-home-icon svg{width:24px;height:24px}
}
@media(hover:none){
  .nv-home-icon:hover{background:transparent}
  html.nv-dark .nv-home-icon:hover{background:transparent}
}

/* §119d — Cart back on phones was this file's own fault: the §119c
   uniform-icon rule (.nv-home-actions .nv-home-icon, specificity
   0,2,0) outranked the §119b cart-hide rule (.nv-header-cart,
   0,1,0), so the cart link rendered as a grid box again. The hide
   rule below is stronger (0,3,0) and wins. Phone order (left to
   right): download, theme, wishlist — wishlist at the right edge
   where download was, download first by the logo. Desktop order
   untouched (this block is phones only, max-width:640px). */
@media(max-width:640px){
  .nv-home-actions .nv-home-icon.nv-header-cart{display:none}
  .nv-home-actions .nv-install-btn{order:1}
  .nv-home-actions .nv-theme-toggle{order:2}
  .nv-home-actions .nv-home-wishlist{order:3}
}

/* §119e — The three phone icons themselves were optically
   different sizes (old moon/heart/download paths had different
   bounding boxes), so the row looked slanted. All three are now
   Feather icons (same 24 grid, same stroke): download, moon (+ sun
   for dark mode, same set), heart — same jobs, same look. The
   wishlist badge is tucked onto the glyph's corner (was at the
   box's top corner, poking above the heart and lifting it), and
   the actions row is vertically centred. */
@media(max-width:640px){
  .nv-home-actions{align-items:center}
  .nv-home-actions .nv-home-icon svg{stroke-width:2}
  .nv-home-actions .nv-home-badge{top:6px;right:6px}
}

/* §119f — Wishlist badge was covering the heart: the 20px badge
   tucked onto the glyph's corner hid most of the 24px heart.
   On phones the wishlist badge is now smaller (16px) and lifted
   to the box's top corner, so the heart shows fully. */
@media(max-width:640px){
  .nv-home-actions .nv-home-wishlist .nv-home-badge{top:0;right:2px;min-width:16px;height:16px;padding:0 4px;font-size:9px;line-height:16px}
}

/* §119g — The 40px icon boxes (24px glyph + 8px padding each
   side) made the trio 124px wide, squeezing the phone logo down
   to ~160px on a 360px phone. Phones only: icons back to 36px
   boxes with no gap between them (trio = 108px), top-row gaps
   6px -> 4px, and the phone logo enlarged 190x58 -> 204x62
   (near desktop size 208x62), so the logo renders bigger. */
@media(max-width:640px){
  .nv-home-actions .nv-home-icon{width:36px;height:36px}
  .nv-home-actions{gap:0}
  .nv-home-top{gap:4px}
  .nv-home-brand img{width:204px;height:62px}
}

/* §137 — Mini language switch in the header icon row (shrinks the
   §136 pill further, per the user's order: height AND width down).
   Short labels only, BN | EN, no globe glyph. The pill is 28px tall
   on desktop and phones alike — visibly smaller than the 40px
   moon/wishlist icon buttons — with 24px inner links, 11px bold
   labels, and compact 6px side padding. The ACTIVE side is filled
   brand green (#087b42) with white bold text, the inactive side
   muted on a light pill background, so the current language reads
   at a glance. Both sides are real links to the existing
   /locale/{locale} route (same session + 365-day cookie
   persistence). Logo file untouched. */
.nv-home-actions .nv-lang-switch{display:inline-flex;align-items:center;height:28px;padding:2px;background:#edf3ee;border:1px solid #d5e4d9;border-radius:999px;flex:0 0 auto}
.nv-lang-switch .nv-lang-opt{display:inline-flex;align-items:center;height:24px;padding:0 6px;border-radius:999px;font:700 11px/1 "Noto Sans Bengali",Poppins,sans-serif;color:#5a6f62;text-decoration:none;white-space:nowrap}
.nv-lang-switch .nv-lang-opt:hover{color:#143d24}
.nv-lang-switch .nv-lang-opt.is-active{background:#087b42;color:#fff}
.nv-lang-switch .nv-lang-opt:focus-visible{outline:2px solid #087b42;outline-offset:2px}
html.nv-dark .nv-lang-switch{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
html.nv-dark .nv-lang-switch .nv-lang-opt{color:#b9cdc0}
html.nv-dark .nv-lang-switch .nv-lang-opt:hover{color:#e6f2e9}
html.nv-dark .nv-lang-switch .nv-lang-opt.is-active{background:#087b42;color:#fff}
@media(max-width:720px){
  .nv-home-actions .nv-lang-switch{height:28px;padding:2px}
  .nv-lang-switch .nv-lang-opt{height:24px;padding:0 6px;font-size:11px}
}
