/* DN Store 2.6.4: mobile-only reference adjustments and unified Bangla checkout.
   Keep native WooCommerce validation, shipping and payment form controls. */
:root{--dns-mobile-ink:#111;--dns-mobile-cream:#f8f6ef;--dns-mobile-sage:#edf5ee}

/* The full checkout is the same product / delivery / customer / summary flow
   as the quick-order popup. The original WC form and gateway markup remain. */
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-unified-checkout{padding-bottom:44px!important}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-unified-checkout .dns-checkout-form{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:22px!important;align-items:start!important;
}
body.dns-bengali-checkout .dns-unified-checkout .dns-popup-checkout-left,
body.dns-bengali-checkout .dns-unified-checkout .dns-popup-checkout-right{
  display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;min-width:0;
}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-items,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-delivery-info,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-details,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-summary{
  background:#fff;border:1px solid #e4e8e3;border-radius:12px;padding:20px!important;min-width:0;
}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-box-head,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-delivery-info h3,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-details-heading{
  font-size:18px;line-height:1.45;color:#151515;margin:0 0 15px;font-weight:800;
}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-box-head{display:flex;justify-content:space-between;gap:8px}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-box-head>span{font-size:12px;color:#59665b}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e8ebe8}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-thumb img{display:block;width:60px;height:60px;object-fit:contain}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-item-copy{min-width:0;font-size:13px;line-height:1.5}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-item-copy strong{display:block;overflow-wrap:anywhere}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-line-price{display:block;margin-top:5px;font-weight:800}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-stepper{display:flex;align-items:center;gap:8px}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-stepper button{width:31px;height:31px;border-radius:7px;border:1px solid #ddd;background:#fff;color:#111}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-stepper output{font-weight:800;min-width:18px;text-align:center}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-cart-subtotal{display:flex;justify-content:space-between;gap:10px;margin-top:15px;font-size:13px}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-options ul[id^="shipping_method"]{list-style:none;margin:8px 0!important;padding:0!important;display:grid;gap:10px}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-options li{border:1px solid #e1e4df;border-radius:9px;padding:10px 12px;background:#fff}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-options li:has(input:checked){border-color:#111;background:#f7f7f4}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-options li label{font-size:13px;cursor:pointer}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-options input[type=radio]{accent-color:#111}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-form.dns-popup-shipping-relocated .woocommerce-shipping-totals{display:none!important}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-summary h2{font-size:18px}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-summary #place_order{min-height:52px!important;font-size:15px!important;font-weight:800!important;border-radius:9px!important}
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-note,
body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-shipping-pending{font-size:12px;color:#657068;line-height:1.65}
/* Headers in both checkout contexts use Bengali labels rather than English defaults. */
body.dns-bengali-checkout .dns-checkout-details h3,
body.dns-bengali-checkout .dns-checkout-details label,
body.dns-bengali-checkout .dns-checkout-summary h2,
body.dns-bengali-checkout .dns-popup-delivery-info h3{font-family:'Noto Sans Bengali',Arial,sans-serif;letter-spacing:0}
body.woocommerce-checkout.dns-bengali-checkout #main-content{margin-top:0!important;padding-top:0!important}
body.woocommerce-checkout.dns-bengali-checkout .announcement,
body.woocommerce-checkout.dns-bengali-checkout #site-header{margin-top:0!important}

/* Naturo-inspired variation selection, adapted to DN Store branding. */
.dns-order-modal .dns-order-picker .dns-popup-choose{padding:20px!important;max-height:min(75dvh,610px);overflow:auto;background:#faf8f3}
.dns-order-modal .dns-variation-product-head{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid #e6e7df}
.dns-order-modal .dns-variation-product-image{display:grid;place-items:center;background:#fff;border-radius:10px;border:1px solid #eee;height:66px}
.dns-order-modal .dns-variation-product-image img{display:block;width:59px;height:59px;object-fit:contain}
.dns-order-modal .dns-variation-product-head strong{display:block;color:#173527;font-size:15px;line-height:1.4}
.dns-order-modal .dns-variation-product-head span{display:block;margin-top:6px;font-size:12px;color:#65685e}
.dns-order-modal .dns-variation-subhead{font-family:'Noto Sans Bengali',sans-serif;font-size:14px;font-weight:800;color:#173527;margin:16px 0 12px}
.dns-order-modal .dns-popup-variation-fields{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.dns-order-modal .dns-variation-attribute{display:grid;gap:8px;min-width:0}
.dns-order-modal .dns-variation-attribute>strong{font-size:12px;color:#3b4c40}
.dns-order-modal .dns-variation-attribute select{display:block;width:100%;min-height:44px;border-radius:9px;border:1px solid #dedfd7;background:#fff;color:#111;padding:9px 13px;font-family:'Noto Sans Bengali',sans-serif}
.dns-order-modal .dns-variation-attribute select.dns-variation-screen-select{position:absolute!important;width:1px!important;height:1px!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none}
.dns-order-modal .dns-variation-choice-list{display:grid;gap:9px}
.dns-order-modal .dns-variation-choice{display:grid;grid-template-columns:20px 53px minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid #e2e3db;border-radius:11px;background:#fff;padding:9px 12px;cursor:pointer;transition:border-color .15s,background-color .15s;min-height:70px}
.dns-order-modal .dns-variation-choice:has(input:checked){border-color:#111;background:#f5f5f2;box-shadow:inset 0 0 0 1px #111}
.dns-order-modal .dns-variation-choice input[type=radio]{width:17px;height:17px;margin:0;accent-color:#111}
.dns-order-modal .dns-variation-choice-thumb{display:grid;place-items:center;height:50px;min-width:0}
.dns-order-modal .dns-variation-choice-thumb img{display:block;max-width:50px;max-height:50px;object-fit:contain}
.dns-order-modal .dns-variation-choice-name{font-family:'Noto Sans Bengali',sans-serif;font-size:13px;font-weight:800;color:#1d3027;overflow-wrap:anywhere}
.dns-order-modal .dns-variation-choice-price{font-size:12px;font-weight:800;color:#111;white-space:nowrap}
.dns-order-modal .dns-variation-summary{display:flex;justify-content:space-between;gap:12px;padding:13px 2px;border-bottom:1px solid #e9e9e3;font-size:13px;color:#4c5750}
.dns-order-modal .dns-variation-summary strong{font-size:17px;color:#111}
.dns-order-modal .dns-variation-qty{display:flex;justify-content:space-between;align-items:center;padding:12px 0 4px;gap:16px;font-size:13px;color:#263a30;font-weight:750}
.dns-order-modal .dns-variation-qty input{width:77px!important;min-height:40px!important;text-align:center}
.dns-order-modal .dns-variation-warning{font-size:12px;color:#b42318;margin:8px 0}
.dns-order-modal .dns-popup-choose-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:10px!important;margin-top:16px!important}
.dns-order-modal .dns-popup-choose-actions button{min-height:47px;border-radius:9px;border:1px solid #111;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:'Noto Sans Bengali',sans-serif;font-size:13px;font-weight:800;line-height:1.3;cursor:pointer;padding:9px}
.dns-order-modal .dns-popup-choose-add{background:#fff;color:#111}
.dns-order-modal .dns-popup-choose-add:hover{background:#f1f1ef}
.dns-order-modal .dns-popup-choose-submit{background:#111!important;border-color:#111!important;color:#fff!important}
.dns-order-modal .dns-popup-choose-submit:hover{background:#292929!important}
.dns-order-modal .dns-popup-choose-actions .dns-action-icon svg{width:16px;height:16px}

/* Mobile: reference best-seller asymmetric layout -> one large + stacked horizontal cards. */
@media(max-width:980px){
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-unified-checkout .dns-checkout-form{grid-template-columns:minmax(0,1fr)!important;gap:15px!important}
}
@media(max-width:680px){
  body.home .dns-naturo-hero-side-stack{display:none!important}
  body.home .dns-naturo-hero{grid-template-columns:minmax(0,1fr)!important;height:auto!important;margin-bottom:8px!important}
  /* Only one promo picture from the paired campaign is shown on phones. */
  body.home .dns-mobile-single-promo{display:block!important}
  body.home .dns-mobile-single-promo>.dns-naturo-promo:nth-child(n+2){display:none!important}
  body.home .dns-mobile-single-promo>.dns-naturo-promo:first-child{display:block;width:100%;aspect-ratio:2/1.15}
  /* Main best seller as a proper full-width card, not the hidden desktop feature. */
  body.home .dns-naturo-best-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature{display:block!important;width:100%;min-width:0!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature article{display:flex!important;flex-direction:column!important;height:auto!important;border-radius:12px!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-image{aspect-ratio:1.08/1!important;min-height:0!important;max-height:390px!important;flex:none!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-image img{object-fit:contain!important;padding:15px 14px!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-content{padding:12px 13px 9px!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-name{font-size:15px!important;min-height:0!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-price{font-size:18px!important;margin:6px 0 8px!important}
  body.home .dns-naturo-best-grid .dns-naturo-feature .dns-nproduct-btn{font-size:13px!important;min-height:43px!important;margin:0 10px 10px!important;border-radius:8px!important}
  body.home .dns-naturo-best-other,body.home .dns-naturo-best-rest{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;width:100%!important}
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct{
    display:grid!important;grid-template-columns:38% minmax(0,1fr)!important;grid-template-rows:1fr auto!important;
    min-height:145px!important;height:auto!important;overflow:hidden!important;border-radius:11px!important;
  }
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-image,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-image{
    display:grid!important;grid-column:1!important;grid-row:1/3!important;aspect-ratio:auto!important;
    height:100%!important;min-height:145px!important;max-height:180px!important;
  }
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-image img,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-image img{padding:12px!important;width:100%!important;height:100%!important;object-fit:contain!important}
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-content,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-content{
    grid-column:2!important;grid-row:1!important;min-width:0!important;padding:13px 11px 6px!important;align-self:stretch!important;
  }
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-name,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-name{font-size:12px!important;min-height:0!important;max-height:3.6em!important}
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-price,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-price{font-size:14px!important;margin-top:7px!important}
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct-btn,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct-btn{
    grid-column:2!important;grid-row:2!important;margin:0 10px 11px 5px!important;min-height:37px!important;
    padding:9px 6px!important;border-radius:7px!important;font-size:11px!important;
  }
  /* Real horizontally scrollable carousel for only these two named collections. */
  body.home .dns-mobile-product-carousel .dns-nproducts-grid{
    display:flex!important;flex-direction:row!important;gap:10px!important;
    scroll-snap-type:x mandatory;scroll-padding-left:2px;overflow-x:auto!important;overflow-y:hidden!important;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    padding:3px 2px 12px!important;scrollbar-width:none;align-items:stretch;
  }
  body.home .dns-mobile-product-carousel .dns-nproducts-grid::-webkit-scrollbar{display:none}
  body.home .dns-mobile-product-carousel .dns-nproducts-grid>.dns-nproduct{flex:0 0 min(78vw,300px)!important;scroll-snap-align:start;min-height:340px;border-radius:11px}
  body.home .dns-mobile-product-carousel .dns-nproduct-image{aspect-ratio:1.1/1!important;max-height:265px!important}
  body.home .dns-mobile-product-carousel .dns-nproduct-name{font-size:12px!important}
  body.home .dns-mobile-product-carousel .dns-nproduct-btn{min-height:42px;margin:0 9px 9px!important;border-radius:7px!important;font-size:12px!important}
  body.home .dns-mobile-product-carousel .nat-heading{gap:8px;flex-wrap:wrap}
  .dns-mobile-carousel-controls{display:flex;align-items:center;gap:7px;margin-left:auto}
  .dns-mobile-carousel-arrow{width:34px;height:34px;background:#fff;color:#111;border:1px solid #d8dfd7;border-radius:50%;font-size:23px;line-height:1;display:grid;place-items:center;padding:0}
  .dns-mobile-carousel-arrow:hover,.dns-mobile-carousel-arrow:focus-visible{background:#111;color:#fff}
  body.home .dns-mobile-product-carousel .nat-heading>a{order:4}
  /* At 2 columns, the previous full-width contact placement left an empty box
     beside Help Center. Place the real contact info in that right-hand slot. */
  body .site-footer.dns-global-footer .dns-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:27px 16px!important}
  body .site-footer.dns-global-footer .dns-footer-company{grid-column:1/-1!important}
  body .site-footer.dns-global-footer .dns-footer-contact{grid-column:2!important;grid-row:auto!important;min-width:0!important}
  body .site-footer.dns-global-footer .dns-footer-contact .dns-footer-contact-item{grid-template-columns:15px minmax(0,1fr)!important;gap:6px!important;margin-bottom:11px!important}
  body .site-footer.dns-global-footer .dns-footer-contact .dns-footer-contact-icon svg{width:14px!important;height:14px!important}
  body .site-footer.dns-global-footer .dns-footer-contact .dns-footer-contact-item,
  body .site-footer.dns-global-footer .dns-footer-contact a,
  body .site-footer.dns-global-footer .dns-footer-contact address{font-size:11px!important;line-height:1.55!important;overflow-wrap:anywhere!important;word-break:normal}
  body .site-footer.dns-global-footer .dns-footer-contact h3{font-size:14px!important}
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-items,
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-delivery-info,
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-details,
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-checkout-summary{padding:14px!important}
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-item{grid-template-columns:48px minmax(0,1fr)!important}
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-stepper{grid-column:2!important;justify-self:end}
  body.dns-bengali-checkout:not(.dns-popup-checkout-frame) .dns-popup-thumb img{width:47px;height:48px}
  .dns-order-modal .dns-variation-choice{grid-template-columns:17px 45px minmax(0,1fr) auto;gap:7px;padding:8px}
  .dns-order-modal .dns-variation-choice-thumb img{max-width:44px;max-height:44px}
  .dns-order-modal .dns-variation-choice-name{font-size:12px}
  .dns-order-modal .dns-variation-choice-price{font-size:11px}
  .dns-order-modal .dns-order-picker .dns-popup-choose{max-height:calc(100dvh - 120px)!important;padding:16px!important}
  .dns-order-modal .dns-popup-choose-actions button{font-size:12px!important}
}
@media(min-width:681px){.dns-mobile-carousel-controls{display:none!important}}
@media(max-width:360px){
  body.home .dns-naturo-best-grid .dns-naturo-best-other .dns-nproduct,
  body.home .dns-naturo-best-grid .dns-naturo-best-rest .dns-nproduct{grid-template-columns:35% minmax(0,1fr)!important}
  body .site-footer.dns-global-footer .dns-footer-contact-item a{font-size:10px!important}
}
@media(prefers-reduced-motion:reduce){.dns-order-modal .dns-variation-choice{transition:none}}

/* The checkout is full-height on mobile, but a variation picker is a compact
   product-choice dialog. Do not inherit checkout's 100dvh min-height. */
@media(max-width:720px){
  .dns-order-modal:not([hidden]) .dns-order-dialog:not(.dns-order-is-checkout){
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 24px)!important;
    width:calc(100% - 24px)!important;
    margin:auto!important;
    border-radius:16px!important;
  }
  .dns-order-modal .dns-order-dialog:not(.dns-order-is-checkout) .dns-order-picker{
    overflow-y:auto;
    min-height:0;
    max-height:calc(100dvh - 94px);
  }
}

/* Consistent, tappable customer fields in the popup and standalone checkout.
   Do not resize gateway checkbox/radio controls. */
body.dns-bengali-checkout .dns-checkout-details .form-row,
body.dns-bengali-checkout .dns-checkout-details .woocommerce-input-wrapper{width:100%!important;max-width:100%!important;min-width:0;box-sizing:border-box}
body.dns-bengali-checkout .dns-checkout-details :is(input.input-text,input[type="text"],input[type="tel"],textarea,select){display:block;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
