/* Mobile-first finishing layer for the customer storefront. Keep page styles
   intact and address narrow viewports after each page's own stylesheet. */
*,
*::before,
*::after { box-sizing: border-box; }

img, video, iframe { max-width: 100%; }
main, section, article, aside, form, .container, .row, [class*="col-"] { min-width: 0; }
body { max-width: 100%; }
button, input, select, textarea { font: inherit; }
input, select, textarea { max-width: 100%; }

/* The desktop navigation needs a compact intermediate width before the
   existing tablet menu breakpoint takes over at 1314px. */
@media (min-width: 1315px) and (max-width: 1500px) {
    .main-navigation .navbar > .container { gap: clamp(8px, .8vw, 14px); }
    .main-navigation .maithili-brand { margin-right: 0; }
    .main-navigation .maithili-brand img { width: clamp(112px, 10vw, 140px); }
    .main-navigation .offcanvas { min-width: 0; flex: 1 1 auto; }
    .main-navigation .offcanvas-body { min-width: 0; gap: clamp(4px, .5vw, 8px); }
    .maithili-nav-links { min-width: 0; flex: 1 1 0; gap: 0; }
    .maithili-nav-links .nav-link { padding-right: clamp(4px, .45vw, 7px) !important; padding-left: clamp(4px, .45vw, 7px) !important; font-size: clamp(11px, .86vw, 13px) !important; }
    .maithili-category-toggle { width: 19px; flex: 0 0 19px; }
    .maithili-search-trigger { width: clamp(185px, 18vw, 230px); min-width: 0; flex: 0 1 230px; margin-left: 0; padding-right: 12px; padding-left: 12px; font-size: 11px; }
    .maithili-nav-right { flex: 0 0 auto; margin-left: 0; }
    .maithili-nav-right .nav-right-list { gap: clamp(8px, .8vw, 13px); }
    .maithili-nav-right .nav-right-list .list-link { display: grid; width: 34px; height: 42px; place-items: center; }
    .maithili-nav-right .maithili-bag-link { position: relative; margin-right: 7px; }
    .maithili-nav-right .maithili-bag-link span { right: -3px; top: 1px; }
}

@media (max-width: 767.98px) {
    .main-navigation .navbar { min-height: 62px; }
    .main-navigation .navbar > .container { gap: 8px; padding-right: 14px; padding-left: 14px; }
    .main-navigation .maithili-brand img { width: clamp(104px, 31vw, 124px); max-height: 54px; }
    .mobile-menu-right { gap: 8px; }
    .mobile-menu-btn { gap: 4px; }
    .mobile-menu-right .nav-right-link {
        display: grid;
        width: 38px;
        height: 42px;
        place-items: center;
        font-size: 16px;
    }
    .mobile-menu-right .nav-right-link[aria-label="Wishlist"] { display: none; }
    .main-navigation .navbar-toggler { flex: 0 0 40px; width: 40px; height: 42px; padding: 8px; }
    .maithili-mobile-nav ul { gap: 18px; padding-top: 1px; padding-bottom: 1px; }
    .maithili-mobile-nav a { min-height: 44px; padding-top: 14px; padding-bottom: 14px; }

    .maithili-hero .maithili-hero-slider { padding-bottom: 48px; }
    .maithili-highlights-list { gap: 0; }
    .maithili-highlight-item { min-width: 0; padding: 8px 7px; font-size: 11px; line-height: 1.4; }
    .maithili-highlight-item svg { width: 23px; height: 23px; flex-basis: 23px; }
    .maithili-shop-category-image-wrap { width: min(100%, 112px); }
    .maithili-shop-category-card { overflow-wrap: anywhere; }

    .maithili-shop-results-section > .container,
    .maithili-makhana-listing > .container { padding-right: 14px; padding-left: 14px; }
    .maithili-shop-filter input,
    .maithili-shop-filter select,
    .maithili-shop-filter button { min-height: 44px; }
    .maithili-product-actions button,
    .maithili-product-actions a { min-height: 42px; }

    .hom-product-detail > .container,
    .hom-cart-page > .container,
    .hom-checkout-page > .container { padding-right: 15px; padding-left: 15px; }
    .hom-product-layout { grid-template-columns: minmax(0, 1fr); }
    .hom-product-summary { min-width: 0; }
    .hom-product-summary h1 { font-size: clamp(27px, 7vw, 33px); overflow-wrap: anywhere; }
    .hom-product-image-stage > img { width: 100%; height: auto; max-height: min(76svh, 610px); object-fit: contain; }
    .hom-thumb { min-height: 58px; }
    .hom-purchase-controls input,
    .hom-purchase-controls select,
    .hom-purchase-buttons button { min-height: 44px; }
    .hom-cart-item { grid-template-columns: 72px minmax(0, 1fr); gap: 10px; }
    .hom-cart-item-actions { align-items: stretch; }
    .hom-cart-item-actions form { min-height: 40px; }
    .hom-cart-item-actions input { width: 62px; height: 40px; }
    .hom-cart-item-actions button { min-width: 44px; min-height: 40px; padding: 0 7px; }
    .hom-cart-summary { padding: 17px; }
    .hom-cart-checkout, .hom-checkout-submit { min-height: 50px; }
    .hom-checkout-layout { grid-template-columns: minmax(0, 1fr); }
    .hom-checkout-details, .hom-checkout-summary { min-width: 0; }
    .hom-checkout-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hom-checkout-field input,
    .hom-checkout-field select,
    .hom-checkout-field textarea,
    .hom-coupon-form input,
    .hom-coupon-form button { min-height: 46px; font-size: 16px; }
    .hom-checkout-field textarea { min-height: 96px; }
    .hom-checkout-card { padding: clamp(15px, 4vw, 22px); }
    .hom-payment-choice { align-items: flex-start; }

    .celebrity-media-grid[data-celebrity-track] .celebrity-media-card { min-width: 0; }
    .celebrity-carousel-buttons button,
    .maithili-signature-carousel-buttons button { width: 42px; height: 42px; }

    /* Tracking contains legacy inline desktop spacing; keep it readable on phones. */
    .hom-order-tracking-page { padding: 20px 0 40px !important; }
    .hom-order-tracking-page > .container { padding-right: 14px; padding-left: 14px; }
    .hom-order-tracking-page section { padding: 17px !important; border-radius: 10px !important; }
    .hom-order-tracking-page h1 { font-size: clamp(25px, 7vw, 34px) !important; overflow-wrap: anywhere; }
    .hom-order-tracking-page table { min-width: 520px; }
    .hom-order-tracking-page section > div[style*="overflow-x:auto"] { max-width: 100%; overscroll-behavior-x: contain; }
}

@media (max-width: 575.98px) {
    .container { padding-right: 14px; padding-left: 14px; }
    .maithili-shop-by-category { padding: 34px 0; }
    .maithili-shop-by-category h2 { margin-bottom: 23px; font-size: 25px; }
    .maithili-highlights-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .maithili-highlight-item:nth-child(2) { border-right: 0; }
    .maithili-shop-results-section h1 { font-size: clamp(25px, 7vw, 30px); }
    .hom-cart-heading { margin-bottom: 20px; }
    .hom-cart-heading h1,
    .hom-checkout-page .hom-cart-heading h1 { font-size: clamp(28px, 8vw, 34px); }
    .hom-checkout-fields { grid-template-columns: minmax(0, 1fr); }
    .hom-checkout-field.hom-field-full { grid-column: auto; }
    .hom-checkout-card-title h2,
    .hom-checkout-order-card > h2 { font-size: 20px; }
    .hom-checkout-line-item { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
    .hom-checkout-line-item > span { white-space: nowrap; }
    .hom-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .hom-related-info h3 { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 380px) {
    .main-navigation .navbar > .container { padding-right: 10px; padding-left: 10px; }
    .mobile-menu-right { gap: 3px; }
    .mobile-menu-right .nav-right-link { width: 34px; }
    .mobile-menu-btn { gap: 0; }
    .maithili-shop-category-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .maithili-shop-results-section .maithili-product-grid,
    .maithili-makhana-listing .maithili-product-grid { grid-template-columns: minmax(0, 1fr); }
    .maithili-shop-results-section .maithili-product-image,
    .maithili-makhana-listing .maithili-product-image { aspect-ratio: 4 / 4.4; }
    .hom-cart-item { grid-template-columns: 62px minmax(0, 1fr); gap: 8px; }
    .hom-cart-item-detail h2 { font-size: 15px; }
    .hom-cart-item-actions { gap: 5px; }
    .hom-cart-item-actions form { gap: 3px; }
    .hom-cart-item-actions button { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
