:root{
    --forest:#1B4D3E;
    --forest-dark:#123328;
    --forest-light:#e6efe9;
    --gold:#C9A24B;
    --gold-light:#f4e8cf;
    --off-white:#FAFAF7;
    --text-dark:#22302b;
    --text-muted:#5b6a63;
    --white:#ffffff;
    --urgent:#C0392B;
    --urgent-dark:#96291d;
    --radius-sm:8px;
    --radius-md:10px;
    --radius-lg:12px;
    --shadow-soft:0 4px 18px rgba(27,77,62,0.08);
    --shadow-card:0 8px 24px rgba(27,77,62,0.10);
    --container:720px; /* narrower container = less scroll, checkout-style focus */
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:"Hind Siliguri","Noto Sans Bengali",sans-serif;
    background:var(--off-white);
    color:var(--text-dark);
    font-size:16px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    padding-bottom:66px;
  }
  img{max-width:100%;width:100%;height:auto;display:block;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;margin:0;padding:0;}
  button{font-family:inherit;cursor:pointer;}
  h1,h2,h3,h4{font-weight:700;margin:0;color:var(--forest);}
  p{margin:0;}

  .container{
    width:100%;
    max-width:var(--container);
    margin:0 auto;
    padding:0 18px;
  }
  /* prevent grid/flex children from forcing overflow */
  .container, .two-col, .package-grid, .review-grid, .checkout-grid, .badge-grid, .trust-row{
    min-width:0;
  }
  .two-col > *, .package-grid > *, .review-grid > *, .checkout-grid > *, .badge-grid > *, .trust-row > *{
    min-width:0;
  }

  .section{ padding:26px 0; }
  .section-dark{ background:var(--forest); color:var(--white); }
  .section-dark h2,.section-dark h3,.section-dark h4{ color:var(--white); }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:16px 22px;
    border-radius:var(--radius-md);
    font-weight:700;
    font-size:1.08rem;
    border:2px solid transparent;
    transition:transform .15s ease, background .2s ease;
  }
  .btn:hover{ transform:translateY(-2px); }
  .btn-primary{ background:var(--forest); color:var(--white); box-shadow:0 6px 16px rgba(27,77,62,0.28); }
  .btn-primary:hover{ background:var(--forest-dark); }
  .btn-gold{ background:var(--gold); color:var(--forest-dark); box-shadow:0 6px 16px rgba(201,162,75,0.35); }
  .btn-gold:hover{ background:#d9b45f; }
  .btn-urgent{ background:var(--urgent); color:var(--white); box-shadow:0 6px 18px rgba(192,57,43,0.35); }
  .btn-urgent:hover{ background:var(--urgent-dark); }
  .btn-outline{ background:transparent; border-color:var(--white); color:var(--white); }
  .btn-outline:hover{ background:var(--white); color:var(--forest); }
  .btn-block{ width:100%; }

  /* ===== 1. Countdown Offer Bar ===== */
  .offer-bar{
    background:var(--forest-dark);
    color:var(--gold-light);
    text-align:center;
    padding:9px 12px;
    font-size:0.92rem;
    font-weight:600;
    line-height:1.4;
  }
  .offer-bar #countdown{
    color:#ffd77a;
    font-weight:800;
    letter-spacing:1px;
  }

  /* ===== 2. Logo ===== */
  .brand-logo{
    text-align:center;
    padding:18px 0 4px;
  }
  .brand-logo .brand-name{
    font-size:1.55rem;
    font-weight:800;
    color:var(--forest);
    letter-spacing:0.5px;
  }
  .brand-logo .brand-sub{
    font-size:0.82rem;
    color:var(--gold);
    font-weight:600;
    letter-spacing:1px;
  }

  /* ===== 3-5. Headline block ===== */
  .headline-block{
    text-align:center;
    padding:4px 0 14px;
  }
  .headline-block h1{
    font-size:1.55rem;
    line-height:1.35;
    color:var(--urgent);
    margin-bottom:10px;
  }
  .headline-sub{
    font-size:1.05rem;
    line-height:1.5;
    color:var(--forest);
    font-weight:600;
    margin-bottom:10px;
  }
  .live-viewers{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:0.92rem;
    color:var(--text-muted);
    background:var(--white);
    padding:7px 14px;
    border-radius:20px;
    box-shadow:var(--shadow-soft);
  }
  .live-dot{
    width:8px;height:8px;
    border-radius:50%;
    background:#2ecc71;
    display:inline-block;
    animation:pulse 1.5s infinite;
  }
  @keyframes pulse{
    0%{box-shadow:0 0 0 0 rgba(46,204,113,0.6);}
    70%{box-shadow:0 0 0 7px rgba(46,204,113,0);}
    100%{box-shadow:0 0 0 0 rgba(46,204,113,0);}
  }

  /* ===== 6. Video testimonial ===== */
  .video-block{ padding:14px 0 0; }
  .video-thumb{
    position:relative;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow-card);
    background:#000;
    aspect-ratio:16/10;
  }
  .video-thumb img{ opacity:0.85; width:100%; height:100%; object-fit:cover; }
  .play-btn{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;
    background:rgba(255,255,255,0.92);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;
    color:var(--urgent);
    box-shadow:0 4px 18px rgba(0,0,0,0.35);
  }
  .video-caption{
    text-align:center;
    font-size:0.92rem;
    line-height:1.5;
    color:var(--text-muted);
    margin-top:8px;
  }

  /* ===== 7. Contact bar under video ===== */
  .contact-strip{
    background:var(--forest-light);
    border-radius:var(--radius-md);
    margin-top:12px;
    padding:12px 16px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
  }
  .contact-strip .cs-brand{
    font-weight:700;
    color:var(--forest);
    font-size:1rem;
  }
  .contact-strip a{
    font-weight:700;
    color:var(--forest-dark);
    font-size:1.02rem;
    display:flex;
    align-items:center;
    gap:6px;
  }

  /* ===== 8-9. Description + CTA ===== */
  .desc-cta{ text-align:center; padding:16px 0 8px; }
  .desc-cta p{
    color:var(--text-muted);
    font-size:1.05rem;
    line-height:1.7;
    max-width:560px;
    margin:0 auto 16px;
  }

  /* ===== 10. Offer detail line ===== */
  .offer-detail{
    text-align:center;
    font-size:1.02rem;
    line-height:1.6;
    color:var(--forest-dark);
    background:var(--gold-light);
    border:1px dashed var(--gold);
    border-radius:var(--radius-md);
    padding:14px 16px;
    margin:14px 0;
  }
  .offer-detail strong{ color:var(--urgent); }

  /* ===== 11. Stock urgency bar ===== */
  .stock-bar-wrap{
    background:var(--white);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-soft);
    padding:14px 16px;
    margin:14px 0;
  }
  .stock-bar-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:0.94rem;
    margin-bottom:8px;
    flex-wrap:wrap;
    gap:6px;
  }
  .stock-bar-top .hurry{
    color:var(--urgent);
    font-weight:800;
  }
  .stock-bar-top .piece-count{
    background:var(--urgent);
    color:var(--white);
    padding:2px 9px;
    border-radius:20px;
    font-weight:700;
    font-size:0.86rem;
  }
  .progress-track{
    width:100%;
    height:9px;
    background:#eee1d0;
    border-radius:10px;
    overflow:hidden;
  }
  .progress-fill{
    height:100%;
    width:80%;
    background:linear-gradient(90deg, var(--urgent), #e0725f);
    border-radius:10px;
  }

  /* ===== 12. Certification ===== */
  .cert-section{ text-align:center; }
  .cert-section h2{
    font-size:1.32rem;
    line-height:1.4;
    margin-bottom:14px;
  }
  .cert-img{
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-card);
    border:1px solid #eee;
    max-width:420px;
    margin:0 auto;
  }

  /* ===== 13. Product package ===== */
  .two-col{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
  }
  .pkg-image{
    position:relative;
  }
  .pkg-image img{
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-card);
  }
  .badge-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
    margin-top:12px;
  }
  .badge-chip{
    background:var(--forest-light);
    color:var(--forest);
    font-size:0.86rem;
    line-height:1.35;
    font-weight:600;
    padding:9px 6px;
    border-radius:var(--radius-sm);
    text-align:center;
  }
  .pkg-text h3{
    font-size:1.28rem;
    line-height:1.35;
    margin-bottom:10px;
  }
  .pkg-text h4{
    font-size:1.08rem;
    margin:16px 0 8px;
    color:var(--forest);
    border-bottom:2px solid var(--gold-light);
    padding-bottom:6px;
  }
  .checklist li{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin-bottom:9px;
    font-size:1.02rem;
    line-height:1.55;
  }
  .checklist li::before{
    content:"✔";
    color:var(--gold);
    background:var(--forest);
    min-width:20px;
    height:20px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.62rem;
    flex-shrink:0;
    margin-top:2px;
  }
  .guarantee-callout{
    background:var(--forest);
    color:var(--gold-light);
    border-radius:var(--radius-md);
    padding:12px 14px;
    font-size:0.96rem;
    line-height:1.5;
    font-weight:600;
    text-align:center;
    margin:14px 0;
  }

  /* ===== 14. Reviews ===== */
  .review-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:16px;
    margin:16px 0;
  }
  .review-card{
    background:var(--white);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-soft);
    padding:14px;
  }
  .review-card img{
    border-radius:var(--radius-sm);
    margin-bottom:10px;
  }
  .review-stars{ color:var(--gold); font-size:1rem; margin-bottom:6px; }
  .review-name{ font-weight:700; font-size:0.96rem; color:var(--forest); }
  .review-text{ font-size:0.93rem; line-height:1.55; color:var(--text-muted); margin-top:4px; }
  .reviews-cta{ text-align:center; }

  /* ===== 15. Usage band ===== */
  .usage-block{ margin-bottom:14px; }
  .usage-block h4{
    color:var(--gold);
    font-size:1.08rem;
    margin-bottom:6px;
    text-align:center;
  }
  .usage-block p{
    color:#d9e6df;
    font-size:1rem;
    line-height:1.7;
    text-align:center;
    max-width:560px;
    margin:0 auto;
  }
  .section-divider{
    width:60px;height:3px;
    background:var(--gold);
    margin:6px auto 14px;
    border-radius:4px;
  }

  /* ===== 16. Contact section ===== */
  .contact-section{ text-align:center; }
  .contact-buttons{
    display:flex;
    flex-direction:column;
    gap:12px;
    max-width:340px;
    margin:16px auto 0;
  }

  /* ===== 17. Price reveal band ===== */
  .price-band{
    text-align:center;
    background:var(--forest-dark);
    color:var(--white);
    padding:22px 18px;
    border-radius:var(--radius-lg);
    margin:0 18px;
  }
  .price-band .regular{
    text-decoration:line-through;
    color:#a9bdb3;
    font-size:1rem;
  }
  .price-band .discount-label{
    font-size:0.98rem;
    font-weight:600;
    color:#d9e6df;
    margin-top:8px;
  }
  .price-band .discount{
    font-size:2.1rem;
    font-weight:800;
    color:var(--gold);
    white-space:nowrap;
    margin:4px 0 8px;
  }
  .price-band .limited{
    font-size:0.92rem;
    color:#ffd77a;
    font-weight:600;
  }

  /* ===== 18. Order form heading ===== */
  .order-heading{ text-align:center; padding-top:26px; }
  .order-heading h2{ font-size:1.38rem; line-height:1.4; margin-bottom:10px; }
  .trust-row{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    font-size:0.86rem;
    color:var(--forest);
    font-weight:600;
  }
  .trust-row span{
    background:var(--forest-light);
    padding:6px 10px;
    border-radius:20px;
  }

  /* ===== 19. Checkout ===== */
  .checkout-card{
    background:var(--white);
    border:2px solid var(--forest);
    border-radius:var(--radius-lg);
    padding:20px 18px;
    box-shadow:var(--shadow-card);
    margin-top:16px;
  }
  .checkout-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:22px;
  }
  .form-group{ margin-bottom:15px; }
  .form-group label{
    display:block;
    font-weight:600;
    font-size:0.96rem;
    margin-bottom:6px;
    color:var(--forest);
  }
  .form-group label .req{ color:var(--urgent); }
  .form-group input, .form-group textarea, .form-group select{
    width:100%;
    padding:13px 14px;
    border:1.5px solid #dcd9cf;
    border-radius:var(--radius-sm);
    font-family:inherit;
    font-size:1rem;
    background:var(--off-white);
    color:var(--text-dark);
  }
  .form-group input:focus, .form-group textarea:focus, .form-group select:focus{
    outline:none; border-color:var(--gold);
  }
  .confirm-btn{
    font-size:1.12rem;
    padding:18px;
  }
  .order-summary h3{ font-size:1.12rem; margin-bottom:12px; }
  .summary-product{
    display:flex; gap:12px; align-items:center;
    background:var(--off-white);
    border-radius:var(--radius-sm);
    padding:10px;
    margin-bottom:14px;
  }
  .summary-product img{
    width:58px;height:58px;
    object-fit:cover;
    border-radius:var(--radius-sm);
  }
  .summary-row{
    display:flex; justify-content:space-between;
    padding:9px 0;
    border-bottom:1px dashed #e2ddd0;
    font-size:0.96rem;
  }
  .summary-row.total{
    font-weight:800; font-size:1.2rem;
    color:var(--forest); border-bottom:none; padding-top:12px;
  }
  .cod-note{
    background:var(--forest-light);
    color:var(--forest);
    border-radius:var(--radius-sm);
    padding:10px 12px;
    font-size:0.9rem;
    line-height:1.5;
    font-weight:600;
    margin-top:14px;
    text-align:center;
  }

  /* ===== 20. Footer ===== */
  .site-footer{
    background:var(--forest-dark);
    color:#a9bdb3;
    text-align:center;
    padding:16px 12px;
    font-size:0.86rem;
    margin-top:20px;
  }
  .site-footer strong{ color:var(--gold-light); }

  /* ===== Sticky mobile CTA ===== */
  .mobile-sticky-cta{
    position:fixed;
    bottom:0;left:0;right:0;
    background:var(--forest-dark);
    padding:10px 16px;
    display:flex;
    gap:10px;
    z-index:999;
    box-shadow:0 -4px 14px rgba(0,0,0,0.18);
  }
  .mobile-sticky-cta a{ flex:1; }
  .mobile-sticky-cta .btn{ width:100%; padding:13px 10px; font-size:1.02rem; }
  .mobile-sticky-cta .call-btn{
    flex:0 0 50px;
    background:var(--gold);
    border-radius:var(--radius-md);
    display:flex; align-items:center; justify-content:center;
    font-size:1.25rem;
  }

  /* ===== Responsive ===== */
  @media (min-width:600px){
    .badge-grid{ grid-template-columns:repeat(4,1fr); }
    .review-grid{ grid-template-columns:repeat(3,1fr); }
  }
  @media (min-width:768px){
    :root{ --container:920px; }
    .section{ padding:48px 0; }
    .headline-block h1{ font-size:1.65rem; }
    .two-col{ grid-template-columns:0.9fr 1.1fr; gap:36px; }
    .checkout-grid{ grid-template-columns:1.3fr 1fr; }
    .order-summary{ position:sticky; top:20px; }
  }
  @media (min-width:1024px){
    :root{ --container:960px; }
    .headline-block h1{ font-size:1.9rem; }
    .mobile-sticky-cta{ display:none; }
    body{ padding-bottom:0; }
  }

  /* ===== Always-visible floating Call + WhatsApp buttons ===== */
  .floating-contact{
    position:fixed;
    right:14px;
    bottom:78px;
    display:flex;
    flex-direction:column;
    gap:10px;
    z-index:998;
  }
  .floating-contact a{
    width:52px;height:52px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;
    color:#fff;
    box-shadow:0 6px 16px rgba(0,0,0,0.25);
    transition:transform .15s ease;
  }
  .floating-contact a:hover{ transform:scale(1.06); }
  .floating-contact .fc-call{ background:var(--forest); }
  .floating-contact .fc-whatsapp{ background:#25D366; }
  @media (min-width:1024px){
    .floating-contact{ bottom:24px; }
  }

  /* ===== Lazy-load fade-in ===== */
  img[loading="lazy"]{
    opacity:0;
    transition:opacity .4s ease;
  }
  img[loading="lazy"].is-loaded,
  img[loading="lazy"].is-error{
    opacity:1;
  }

  /* ===== Order form feedback states ===== */
  .form-alert{
    display:none;
    border-radius:var(--radius-sm);
    padding:12px 14px;
    font-size:0.94rem;
    font-weight:600;
    margin-bottom:14px;
    text-align:center;
  }
  .form-alert.is-visible{ display:block; }
  .form-alert.success{ background:#e3f6ea; color:#1e7a42; border:1px solid #b6e6c6; }
  .form-alert.error{ background:#fdecea; color:var(--urgent); border:1px solid #f4c7c2; }
  .form-group .field-error{
    color:var(--urgent);
    font-size:0.82rem;
    margin-top:5px;
    display:none;
  }
  .form-group.has-error input,
  .form-group.has-error textarea{ border-color:var(--urgent); }
  .form-group.has-error .field-error{ display:block; }
  .btn[disabled]{ opacity:0.65; pointer-events:none; }

  /* Honeypot field — hidden from real visitors, left open for bots */
  .hp-field{
    position:absolute !important;
    left:-9999px !important;
    top:-9999px !important;
    width:1px;height:1px;
    overflow:hidden;
  }

  /* Respect reduced-motion preference: keep animations light and optional */
  @media (prefers-reduced-motion: reduce){
    html{ scroll-behavior:auto; }
    .live-dot{ animation:none; }
    .btn:hover{ transform:none; }
    img[loading="lazy"]{ transition:none; opacity:1; }
  }
