:root{
  --green:#1aa260;
  --green-dark:#138a4f;
  --red:#e3372a;
  --orange:#f5a623;
  --dark:#1c2128;
  --muted:#6b7280;
  --bg-soft:#f7f8f9;
  --radius:10px;
}
*{box-sizing:border-box}
body{
  font-family:'Hind Siliguri', sans-serif;
  color:#222;
  background:#fff;
}
a{text-decoration:none}

/* col helper for 5-column rows used in design */
.col-md-2-4{flex:0 0 20%; max-width:20%;}
@media (max-width: 767px){ .col-md-2-4{flex:0 0 50%; max-width:50%;} }

/* Topbar */
.topbar{
  background:var(--dark);
  color:#cfd3d8;
  padding:6px 0;
  font-size:.8rem;
}
.topbar i{color:var(--green)}

/* Header */
.site-header{
  border-bottom:1px solid #eee;
}
.brand{
  font-size:1.6rem;
  font-weight:700;
  color:#1c2128;
}
.brand span{color:var(--green)}
.nav-links a{
  color:#333;
  font-weight:500;
  font-size:.95rem;
}
.nav-links a:hover{color:var(--green)}
.search-box{
  background:var(--bg-soft);
  border-radius:30px;
  padding:8px 16px;
  align-items:center;
  gap:8px;
  width:260px;
}
.search-box input{
  border:none;
  background:transparent;
  outline:none;
  width:100%;
  font-size:.9rem;
}
.icon-btn{
  color:#333;
  font-size:1.1rem;
  position:relative;
}
.cart-count{
  position:absolute;
  top:-8px;
  right:-10px;
  background:var(--green);
  color:#fff;
  font-size:.65rem;
  border-radius:50%;
  padding:1px 6px;
}

/* Gallery */
.thumb-col{width:80px}
.thumb{
  border:1px solid #e2e5e9;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  width:78px;
  height:78px;
  transition:.2s;
}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb.active{border-color:var(--green); box-shadow:0 0 0 1px var(--green)}
.thumb-video{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:var(--bg-soft);
  color:var(--muted);
  font-size:.7rem;
  gap:3px;
}
.main-image-wrap{
  border:1px solid #e2e5e9;
  border-radius:var(--radius);
  overflow:hidden;
  text-align:center;
  background:var(--bg-soft);
}
.main-image{
  width:100%;
  height:480px;
  object-fit:cover;
  transition:opacity .25s ease;
}
.badge-discount{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--red);
  color:#fff;
  font-weight:600;
  font-size:.8rem;
  padding:5px 12px;
  border-radius:30px;
  z-index:2;
}
.badge-discount.sm{font-size:.65rem;padding:3px 9px;}

/* Product info */
.product-title{font-size:1.6rem; font-weight:700; margin-bottom:8px;}
.rating{color:var(--orange); font-weight:600}
.rating strong{color:#222}
.old-price{
  text-decoration:line-through;
  color:var(--muted);
  font-size:1.1rem;
}
.new-price{
  color:var(--red);
  font-size:1.8rem;
  font-weight:700;
}
.save-badge{
  background:#fff3cd;
  color:#92670c;
  font-weight:600;
  padding:5px 12px;
  border-radius:6px;
  font-size:.85rem;
}
.countdown-box{
  background:#fff5f0;
  border:1px dashed var(--red);
  border-radius:8px;
  padding:10px 14px;
  font-size:.9rem;
}
.cd-unit{
  background:var(--dark);
  color:#fff;
  border-radius:6px;
  padding:4px 8px;
  text-align:center;
  min-width:46px;
}
.cd-unit span{display:block; font-weight:700; font-size:1rem}
.cd-unit small{font-size:.6rem; color:#bbb}

.variant-label{font-weight:600; margin-bottom:8px;}
.swatch{
  width:34px;
  height:34px;
  border-radius:50%;
  border:2px solid #fff;
  outline:1px solid #d9dce0;
  cursor:pointer;
  transition:.15s;
}
.swatch.active{outline:2px solid var(--green); transform:scale(1.08);}
.size-btn{
  width:42px;
  height:38px;
  border:1px solid #d9dce0;
  background:#fff;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
}
.size-btn.active{border-color:var(--green); color:var(--green); background:#eafaf1;}
.qty-box{
  display:inline-flex;
  align-items:center;
  border:1px solid #d9dce0;
  border-radius:6px;
  overflow:hidden;
}
.qty-btn{
  width:36px;
  height:38px;
  border:none;
  background:var(--bg-soft);
  font-size:1.1rem;
  cursor:pointer;
}
.qty-box input{
  width:46px;
  text-align:center;
  border:none;
  border-left:1px solid #d9dce0;
  border-right:1px solid #d9dce0;
  height:38px;
}

.btn-add-cart{
  background:var(--green);
  color:#fff;
  font-weight:600;
  padding:11px 16px;
  border-radius:8px;
}
.btn-add-cart:hover{background:var(--green-dark); color:#fff;}
.btn-buy-now{
  background:var(--red);
  color:#fff;
  font-weight:600;
  padding:11px 16px;
  border-radius:8px;
}
.btn-buy-now:hover{background:#c92e22; color:#fff;}
.btn-whatsapp{
  background:var(--orange);
  color:#fff;
  font-weight:600;
  padding:11px 16px;
  border-radius:8px;
}
.btn-whatsapp:hover{background:#d68f12; color:#fff;}
.cart-toast{
  background:#eafaf1;
  border:1px solid #b9ebcd;
  color:#138a4f;
  padding:10px 14px;
  border-radius:8px;
  font-weight:500;
}

/* Trust bar */
.trust-bar{
  background:var(--bg-soft);
  border-radius:var(--radius);
  padding:18px 8px;
  font-size:.85rem;
}
.trust-bar i{display:block; font-size:1.4rem; color:var(--green); margin-bottom:6px;}

/* Product Gallery + Details (single row) */
.gd-main-wrap{
  border:1px solid #e2e5e9;
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--bg-soft);
}
.gd-main-img{
  width:100%;
  height:420px;
  object-fit:cover;
  display:block;
  transition:opacity .25s ease;
}
.gd-play-btn{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.9);
  border:none; color:var(--dark); font-size:1.3rem; box-shadow:0 4px 14px rgba(0,0,0,.2);
}
.gallery-thumb{
  width:90px; height:90px; object-fit:cover; border-radius:8px; cursor:pointer;
  border:2px solid transparent; flex-shrink:0;
}
.gallery-thumb.active{border-color:var(--green);}
.video-thumb{
  width:90px;height:90px;border-radius:8px;background:var(--dark);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.3rem;
}
.gd-details-box{
  background:var(--bg-soft);
  border-radius:var(--radius);
  padding:24px;
  height:100%;
}
.feature-list{list-style:none; padding:0; margin:0;}
.feature-list li{
  display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; font-size:.9rem;
}
.feature-list i{
  color:var(--green); font-size:1.1rem; margin-top:3px; width:22px; text-align:center;
}
.feature-list small{color:var(--muted)}
.gd-specs-table th{
  color:var(--muted); font-weight:500; width:45%; border-color:#e2e5e9;
}
.gd-specs-table td{font-weight:600; border-color:#e2e5e9;}

/* Why choose */
.why-choose{background:var(--bg-soft); border-radius:var(--radius); padding:30px 16px;}
.why-item i{display:block; font-size:1.6rem; color:var(--green); margin-bottom:8px;}
.why-item small{color:var(--muted)}

/* Reviews */
.rating-summary h2{font-weight:700;}
.rating-summary small{font-size:1rem; color:var(--muted); font-weight:400;}
.stars-big{color:var(--orange); font-size:1.2rem; margin:6px 0;}
.rating-bars{text-align:left; margin-top:10px;}
.rbar{display:flex; align-items:center; gap:6px; font-size:.78rem; margin-bottom:4px;}
.rbar span{width:34px; color:var(--orange);}
.rbar .bar{flex:1; height:6px; background:#eee; border-radius:4px; overflow:hidden;}
.rbar .bar div{height:100%; background:var(--orange);}
.rbar small{width:34px; text-align:right; color:var(--muted);}
.review-card{
  background:var(--bg-soft);
  border-radius:var(--radius);
  padding:14px;
  height:100%;
}
.review-card img.rounded-circle{width:40px; height:40px; object-fit:cover;}
.rcard-img{width:48px; height:48px; object-fit:cover; border-radius:6px;}

/* FAQ */
.accordion-button{font-weight:600; font-size:.9rem;}
.accordion-button:not(.collapsed){color:var(--green); background:#eafaf1;}
.accordion-button:focus{box-shadow:none;}

/* Order form */
.order-form{background:var(--bg-soft); padding:20px; border-radius:var(--radius);}
.order-form .form-label{font-weight:600; font-size:.85rem;}

/* Cart Summary box (right side, next to order form) */
.cart-summary-box{
  background:#fff;
  border:1px solid #e2e5e9;
  border-radius:var(--radius);
  padding:20px;
  box-shadow:0 2px 10px rgba(0,0,0,.04);
}
.cart-item img{
  width:74px; height:74px; object-fit:cover; border-radius:8px; flex-shrink:0;
}
.cart-item h6{font-size:.95rem;}
.qty-box-sm .qty-btn{width:28px; height:30px; font-size:.95rem;}
.qty-box-sm input{width:34px; height:30px; font-size:.85rem;}
.cart-item-price{color:var(--red); font-weight:700; font-size:.95rem;}
.cart-item-remove{
  border:none; background:transparent; color:var(--muted); font-size:1rem; align-self:flex-start;
}
.cart-item-remove:hover{color:var(--red);}
.cart-line{font-size:.9rem; color:#444; margin-bottom:8px;}
.cart-line.total{font-size:1.1rem; font-weight:700; color:#1c2128;}
.cart-line.total span:last-child{color:var(--green-dark);}
#cartCheckoutBtn{font-weight:600;}

/* Related products */
.product-card{
  border:1px solid #e2e5e9;
  border-radius:var(--radius);
  padding:12px;
  position:relative;
  height:100%;
  transition:.2s;
}
.product-card:hover{box-shadow:0 4px 14px rgba(0,0,0,.08); transform:translateY(-2px);}
.product-card img{width:100%; height:130px; object-fit:cover; border-radius:6px; margin-bottom:8px;}
.product-card h6{font-size:.85rem; font-weight:600; margin-bottom:4px;}
.related-products{padding:0 36px;}
.rel-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:34px; height:34px; border-radius:50%; border:1px solid #d9dce0; background:#fff; z-index:2;
}
.rel-prev{left:0}
.rel-next{right:0}
#relatedRow{scroll-behavior:smooth;}

/* Footer */
.site-footer{
  background:var(--dark);
  color:#cfd3d8;
}
.footer-links li{margin-bottom:8px;}
.footer-links a{color:#9aa1ab; font-size:.88rem;}
.footer-links a:hover{color:var(--green);}
.social-icons a{
  width:32px; height:32px; border-radius:50%; background:#2a313a; color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.payment-icons{font-size:1.6rem; align-items:center; flex-wrap:wrap;}
.pay-badge{
  background:#2a313a; padding:4px 8px; border-radius:4px; font-size:.7rem; align-self:center;
}

/* Whatsapp float */
.whatsapp-float{
  position:fixed; bottom:20px; right:20px;
  width:54px; height:54px; border-radius:50%;
  background:#25d366; color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.6rem; box-shadow:0 4px 12px rgba(0,0,0,.2); z-index:999;
}

@media (max-width: 991px){
  .main-image{height:340px;}
}

@keyframes bump{
  0%{transform:scale(1);}
  50%{transform:scale(1.4);}
  100%{transform:scale(1);}
}
.cart-count.bump{animation:bump .3s ease;}
