﻿/* ==========================================================
   SHYAMANSH V3
   GLOBAL DESIGN SYSTEM
========================================================== */

/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Inter,Arial,sans-serif;
    background:#f8f8f8;
    color:#1d1d1d;
    line-height:1.4;
}

img{
    display:block;
    max-width:100%;
}

a{
    color:inherit;
    text-decoration:none;
}

button{
    border:none;
    background:none;
    cursor:pointer;
    font:inherit;
}

/* =========================
   VARIABLES
========================= */

:root{

    --brand:#0C831F;

    --brand-dark:#06681A;

    --bg:#F8F8F8;

    --white:#ffffff;

    --text:#1D1D1D;

    --light-text:#666666;

    --border:#E8E8E8;

    --shadow:
        0 2px 12px rgba(0,0,0,.08);

    --radius:12px;

    --container:1280px;

}

/* =========================
   CONTAINER
========================= */

.container{

    width:min(
        100% - 32px,
        var(--container)
    );

    margin:auto;

}

/* =========================
   PAGE
========================= */

main{

    min-height:100vh;

}


/* ==========================================================
   HEADER
========================================================== */

.header{
    position:sticky;
    top:0;
    z-index:999;
    background:#fff;
    box-shadow:0 1px 10px rgba(0,0,0,.06);
}

.header-top{
    height:78px;
    display:grid;
    grid-template-columns:120px 220px 1fr 52px 110px;
    align-items:center;
    gap:18px;
}

.logo img{
    height:46px;
}

.location-box{
    display:flex;
    flex-direction:column;
}

.delivery-title{
    font-size:18px;
    font-weight:700;
    line-height:22px;
}

.delivery-location{
    margin-top:4px;
    font-size:13px;
    color:#666;
    display:flex;
    align-items:center;
    gap:6px;
    cursor:pointer;
}

.desktop-search{
    height:48px;
    display:flex;
    align-items:center;
    background:#f4f4f4;
    border:1px solid #e5e5e5;
    border-radius:12px;
    padding:0 16px;
}

.desktop-search input{
    flex:1;
    border:none;
    outline:none;
    background:none;
    padding-left:10px;
    font-size:15px;
}

.account-btn{
    width:46px;
    height:46px;
    border-radius:50%;
    background:#f5f5f5;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:22px;
}

.cart-btn{
    height:46px;
    border-radius:12px;
    background:#0C831F;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    font-weight:700;
}

.mobile-search{
    display:none;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

.header-top{

height:auto;

padding:12px 0;

display:grid;

grid-template-columns:1fr 46px 70px;

gap:10px;

align-items:center;

}

/* Hide logo on mobile */

.logo{

display:none;

}
.location-box{

grid-column:1;

}

.account-btn{

grid-column:2;

}

.cart-btn{

grid-column:3;

}

.location-box{

min-width:0;

}

.delivery-title{

font-size:15px;

line-height:20px;

}

.delivery-location{

font-size:12px;

}

.desktop-search{

display:none;

}

.mobile-search{

display:block;

padding:0 0 12px;

}

.mobile-search .search-box{

display:flex;

align-items:center;

height:46px;

border:1px solid #ddd;

border-radius:12px;

padding:0 14px;

background:#f7f7f7;

}

.mobile-search input{

flex:1;

border:none;

outline:none;

background:none;

padding-left:10px;

font-size:15px;

}

.account-btn{

width:44px;

height:44px;

}

.cart-btn{

width:66px;

height:44px;

padding:0;

}

.cart-btn span{

display:none;

}

}

/* ==========================================================
   HERO
========================================================== */

.hero{

margin-top:20px;

}

.hero-slider{

position:relative;

overflow:hidden;

border-radius:16px;

}

.slides{

position:relative;

height:420px;

}

.slide{

position:absolute;

width:100%;

height:100%;

object-fit:cover;

opacity:0;

transition:.5s;

}

.slide.active{

opacity:1;

}

.slide picture,
.slide img{

width:100%;

height:100%;

display:block;

}

.slide img{

object-fit:cover;

}

.slide-link{

position:absolute;

inset:0;

display:block;

opacity:0;

transition:.5s;

}

.slide-link.active{

opacity:1;

}

.slide-link .slide{

opacity:1;

}

.hero-prev,
.hero-next{

position:absolute;

top:50%;

transform:translateY(-50%);

width:42px;

height:42px;

border-radius:50%;

background:#fff;

box-shadow:0 3px 12px rgba(0,0,0,.18);

display:flex;

justify-content:center;

align-items:center;

z-index:20;

}

.hero-prev{

left:18px;

}

.hero-next{

right:18px;

}

.hero-dots{

position:absolute;

bottom:18px;

left:50%;

transform:translateX(-50%);

display:flex;

gap:10px;

}

.dot{

width:10px;

height:10px;

border-radius:50%;

background:#ddd;

}

.dot.active{

background:#fff;

}

@media(max-width:768px){

.slides{

height:180px;

}

.hero{

margin-top:10px;

}

.hero-prev,
.hero-next{

display:none;

}

}
/* ==========================================================
   OFFER BANNERS
========================================================== */

.offer-section{

margin:24px 0;

}

.offer-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:16px;

}

.offer-card{

display:block;

overflow:hidden;

border-radius:16px;

transition:.3s;

}

.offer-card img{

width:100%;

display:block;

}

.offer-card:hover{

transform:translateY(-4px);

}

@media(max-width:768px){

.offer-grid{

    display:flex;

    gap:12px;

    overflow-x:auto;

    overflow-y:hidden;

    scroll-behavior:smooth;

    padding-bottom:6px;

    -webkit-overflow-scrolling:touch;

}

.offer-grid::-webkit-scrollbar{

    display:none;

}

.offer-card{

    flex:0 0 280px;

    max-width:280px;

}

.offer-card img{

    width:100%;

    height:auto;

    display:block;

    border-radius:12px;

}
.offer-card{

min-width:300px;

flex:0 0 auto;

}

}
/* ==========================================================
CATEGORY GRID
========================================================== */

.category-section{

margin:35px 0;

}

.category-section h2{

font-size:24px;

margin-bottom:22px;

font-weight:700;

}

.category-grid{

display:grid;

grid-template-columns:repeat(10,1fr);

gap:18px;

}

.category-card{

background:#fff;

border-radius:14px;

padding:16px 10px;

display:flex;

flex-direction:column;

align-items:center;

justify-content:center;

text-align:center;

transition:.25s;

box-shadow:0 2px 10px rgba(0,0,0,.04);

}

.category-card:hover{

transform:translateY(-5px);

box-shadow:0 10px 24px rgba(0,0,0,.08);

}

.category-card img{

width:70px;

height:70px;

object-fit:contain;

margin-bottom:10px;

}

.category-card span{

font-size:14px;

font-weight:600;

line-height:1.4;

}

/* Tablet */

@media(max-width:1200px){

.category-grid{

grid-template-columns:repeat(5,1fr);

}

}

/* Mobile */

@media(max-width:768px){

.category-grid{

grid-template-columns:repeat(4,1fr);

gap:12px;

}

.category-card{

padding:12px 8px;

}

.category-card img{

width:52px;

height:52px;

}

.category-card span{

font-size:12px;

}

}
/* ==========================================================
PRODUCT CARD
========================================================== */

/* ==========================================================
   PRODUCT SECTION
========================================================== */

.product-section{
    margin:35px 0;
}

.section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:18px;
}

.section-header h2{
    font-size:24px;
    font-weight:700;
}

.see-all{
    color:#0C831F;
    font-size:15px;
    font-weight:700;
}

/* ==========================================================
   PRODUCT SLIDER
========================================================== */

.product-slider{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding-bottom:10px;
}

.product-slider::-webkit-scrollbar{
    display:none;
}

/* Desktop */

.product-slider .product-card{
    flex:0 0 220px;
    scroll-snap-align:start;
}

/* ==========================================================
   PRODUCT CARD
========================================================== */

.product-card{

    background:#fff;

    border:1px solid #ededed;

    border-radius:12px;

    padding:12px;

    position:relative;

    flex-shrink:0;

    transition:.25s;

}

.product-card:hover{

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transform:translateY(-3px);

}

.discount-badge{

    position:absolute;

    left:10px;

    top:10px;

    background:#ffeb3b;

    color:#222;

    font-size:11px;

    font-weight:700;

    padding:3px 8px;

    border-radius:6px;

}

.product-image{

    display:flex;

    justify-content:center;

    align-items:center;

    height:130px;

    margin-top:18px;

}

.product-image img{

    max-height:120px;

    object-fit:contain;

}

.product-image-placeholder{

    width:86px;

    height:86px;

    border-radius:8px;

    display:grid;

    place-items:center;

    background:#ecfdf5;

    color:#047857;

    font-size:32px;

    font-weight:800;

}

.delivery-badge{

    display:inline-flex;

    align-items:center;

    gap:4px;

    margin-top:10px;

    padding:4px 8px;

    border-radius:6px;

    background:#f4f4f4;

    font-size:11px;

    font-weight:700;

}

.product-title{

    margin-top:10px;

    font-size:14px;

    font-weight:600;

    line-height:1.35;

    height:38px;

    overflow:hidden;

}

.weight{

    margin-top:6px;

    color:#777;

    font-size:12px;

}

.product-bottom{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    margin-top:14px;

}

.price{

    font-size:17px;

    font-weight:700;

}

.mrp{

    font-size:12px;

    color:#999;

    text-decoration:line-through;

}

.add-btn{

    min-width:68px;

    height:36px;

    border-radius:8px;

    background:#fff;

    color:#0C831F;

    border:1px solid #0C831F;

    font-weight:700;

}
.cart-action{

position:relative;

}

.qty-box{

display:none;

align-items:center;

justify-content:space-between;

width:72px;

height:34px;

background:#0C831F;

color:#fff;

border-radius:8px;

font-weight:700;

}

.qty-box button{

width:24px;

height:34px;

background:none;

color:#fff;

font-size:18px;

cursor:pointer;

}

.qty{

font-size:14px;

}

/* ==========================================================
   MOBILE
========================================================== */

@media(max-width:768px){

.section-header h2{

    font-size:20px;

}

/* Show 2 full cards + part of 3rd */

.product-slider{

    gap:10px;

    padding-right:20px;

}

.product-slider .product-card{

    flex:0 0 42%;

    max-width:42%;

}

.product-image{

    height:95px;

}

.product-image img{

    max-height:90px;

}

.product-title{

    font-size:12px;

    height:34px;

}

.price{

    font-size:15px;

}

.add-btn{

    min-width:56px;

    height:32px;

    font-size:12px;

}

}
/* ==========================================================
CATEGORY PAGE
========================================================== */

.category-page{

margin:30px 0;

}

.breadcrumb{

margin-bottom:20px;

font-size:14px;

color:#666;

}

.category-layout{

display:grid;

grid-template-columns:240px 1fr;

gap:30px;

}

.category-sidebar{

background:#fff;

border-radius:14px;

padding:20px;

height:fit-content;

}

.category-sidebar h3{

margin-bottom:20px;

}

.category-sidebar ul{

list-style:none;

}

.category-sidebar li{

padding:14px;

border-radius:10px;

cursor:pointer;

margin-bottom:6px;

}

.category-sidebar li.active{

background:#0C831F;

color:#fff;

}

.category-sidebar li:hover{

background:#f2f2f2;

}

.category-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}

@media(max-width:768px){

.category-layout{

grid-template-columns:1fr;

}

.category-sidebar{

display:none;

}

.category-header{

flex-direction:column;

align-items:flex-start;

gap:10px;

}

}
/* ==========================================================
   FLOATING CART
========================================================== */

.floating-cart{

    position:fixed;

    left:16px;

    right:16px;

    bottom:16px;

    background:#0C831F;

    color:#fff;

    border-radius:14px;

    display:none;

    justify-content:space-between;

    align-items:center;

    padding:14px 16px;

    box-shadow:0 8px 25px rgba(0,0,0,.25);

    z-index:9999;

}

.floating-cart-left{

    display:flex;

    flex-direction:column;

    gap:4px;

}

.floating-cart-count{

    font-size:15px;

    font-weight:700;

}

.floating-cart-price{

    font-size:13px;

}

.floating-cart-btn{

    color:#fff;

    font-weight:700;

    text-decoration:none;

    display:flex;

    align-items:center;

    gap:6px;

}

@media(min-width:769px){

    .floating-cart{

        display:none !important;

    }

}

/* ==========================================================
   FEATURE UPDATES
========================================================== */

.cart-btn .cart-info{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.1;
}

.cart-btn small{
    font-size:11px;
    font-weight:600;
    opacity:.95;
}

.search-shell{
    position:relative;
}

.ajax-search-panel{
    position:absolute;
    left:0;
    right:0;
    top:calc(100% + 8px);
    max-height:360px;
    overflow:auto;
    background:#fff;
    border:1px solid #e7e7e7;
    border-radius:12px;
    box-shadow:0 14px 35px rgba(0,0,0,.14);
    padding:8px;
    opacity:0;
    visibility:hidden;
    transform:translateY(-6px);
    transition:.18s;
    z-index:1200;
}

.ajax-search-panel.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.ajax-search-status{
    padding:12px;
    color:#666;
    font-size:13px;
}

.ajax-search-item{
    width:100%;
    display:grid;
    grid-template-columns:46px 1fr auto;
    gap:10px;
    align-items:center;
    padding:9px;
    border-radius:10px;
    text-align:left;
}

.ajax-search-item:hover,
.ajax-search-item:focus{
    background:#f6fbf7;
    outline:none;
}

.ajax-search-item img{
    width:46px;
    height:46px;
    object-fit:contain;
    border-radius:8px;
    background:#fafafa;
}

.ajax-search-thumb-placeholder{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#ecfdf5;
    color:#047857;
    font-weight:800;
}

/* ==========================================================
   DYNAMIC FOOTER
========================================================== */

.site-footer{
    margin-top:34px;
    background:#111827;
    color:#d1d5db;
}

.footer-back-top{
    display:block;
    padding:14px;
    text-align:center;
    background:#243142;
    color:#fff;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.footer-back-top:hover{
    background:#334155;
}

.footer-main{
    padding:34px 0 30px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.footer-grid{
    display:grid;
    grid-template-columns:1.35fr repeat(4,minmax(130px,1fr));
    gap:28px;
}

.footer-logo{
    display:inline-flex;
    align-items:center;
    max-width:168px;
    min-height:48px;
    padding:8px 10px;
    border-radius:8px;
    background:#fff;
}

.footer-logo img{
    max-width:100%;
    max-height:42px;
    object-fit:contain;
}

.footer-brand-block p{
    max-width:340px;
    margin:14px 0 16px;
    color:#cbd5e1;
    line-height:1.6;
}

.footer-contact{
    display:grid;
    gap:8px;
}

.footer-contact a,
.footer-contact span{
    display:flex;
    gap:8px;
    align-items:flex-start;
    color:#e5e7eb;
    text-decoration:none;
    font-size:13px;
}

.footer-contact i{
    color:#22c55e;
}

.footer-link-column h3{
    margin:0 0 12px;
    color:#fff;
    font-size:15px;
    font-weight:900;
}

.footer-link-column a{
    display:block;
    margin:0 0 9px;
    color:#cbd5e1;
    text-decoration:none;
    font-size:13px;
    line-height:1.35;
}

.footer-link-column a:hover,
.footer-contact a:hover{
    color:#fff;
    text-decoration:underline;
}

.footer-middle{
    padding:22px 0;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#0f172a;
}

.footer-middle-grid{
    display:grid;
    grid-template-columns:1.4fr auto 1fr;
    gap:24px;
    align-items:center;
}

.footer-app strong,
.footer-social strong,
.footer-payments strong{
    display:block;
    margin-bottom:8px;
    color:#fff;
}

.footer-app span{
    display:block;
    color:#cbd5e1;
    font-size:13px;
}

.footer-app-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}

.footer-app-buttons a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:0 13px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:8px;
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
}

.footer-social div{
    display:flex;
    gap:10px;
}

.footer-social a{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#1f2937;
    color:#fff;
    text-decoration:none;
}

.footer-social a:hover{
    background:#22c55e;
    color:#052e16;
}

.footer-payments{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-end;
}

.footer-payments strong{
    width:100%;
    text-align:right;
}

.footer-payments span{
    padding:7px 10px;
    border-radius:7px;
    background:#fff;
    color:#111827;
    font-size:12px;
    font-weight:900;
}

.footer-bottom{
    padding:15px 0;
    background:#0b1120;
    color:#94a3b8;
    font-size:12px;
}

.footer-bottom .container{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:10px;
}

.cms-page{
    background:#f5f7f6;
    padding:28px 16px 44px;
}

.cms-page-shell{
    max-width:960px;
    margin:0 auto;
    padding:28px;
    background:#fff;
    border:1px solid #e7ece9;
    border-radius:8px;
}

.cms-page-shell h1{
    margin:0 0 16px;
    color:#111827;
    font-size:30px;
}

.cms-page-content{
    color:#475569;
    line-height:1.8;
}

@media(max-width:900px){
    .footer-grid,
    .footer-middle-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-brand-block{
        grid-column:1 / -1;
    }

    .footer-payments{
        justify-content:flex-start;
    }

    .footer-payments strong{
        text-align:left;
    }
}

@media(max-width:560px){
    .footer-grid,
    .footer-middle-grid{
        grid-template-columns:1fr;
    }

    .footer-main{
        padding:26px 0;
    }
}

.ajax-search-copy strong{
    display:block;
    font-size:14px;
    line-height:1.25;
}

.ajax-search-copy small{
    display:block;
    margin-top:2px;
    color:#666;
    font-size:12px;
}

.ajax-search-price{
    color:#0C831F;
    font-size:14px;
    font-weight:700;
}

.search-highlight{
    animation:searchPulse 1.1s ease;
}

@keyframes searchPulse{
    0%,100%{ box-shadow:none; }
    35%{ box-shadow:0 0 0 3px rgba(12,131,31,.18); }
}

.delivery-badge{
    position:absolute;
    top:10px;
    right:10px;
    margin-top:0;
    background:#f1f8f2;
    color:#0C831F;
    border:1px solid #d7ecd9;
}

.product-image{
    margin-top:26px;
}

.product-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    margin-top:7px;
}

.rating-pill{
    display:inline-flex;
    align-items:center;
    gap:3px;
    min-width:0;
    color:#0C831F;
    font-size:11px;
    font-weight:700;
}

.rating-pill i{
    font-size:10px;
    color:#f6a800;
}

.review-count{
    min-width:0;
    color:#777;
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.variation-picker{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:6px;
    margin-top:8px;
    color:#666;
    font-size:11px;
}

.variation-picker select{
    min-width:0;
    width:100%;
    height:28px;
    border:1px solid #e1e1e1;
    border-radius:7px;
    background:#fff;
    color:#333;
    font-size:11px;
    padding:0 7px;
    outline:none;
}

.variation-picker select:focus{
    border-color:#0C831F;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
    gap:14px;
}

.location-gate{
    position:fixed;
    inset:0;
    z-index:11000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,.55);
}

.location-gate.active{
    display:flex;
}

body.location-gate-open{
    overflow:hidden;
}

.location-card{
    position:relative;
    width:min(100%,380px);
    max-height:calc(100vh - 24px);
    overflow:auto;
    background:#fff;
    border-radius:16px;
    padding:18px;
    text-align:center;
    box-shadow:0 24px 80px rgba(0,0,0,.28);
}

.location-logo{
    width:78px;
    height:48px;
    display:grid;
    place-items:center;
    margin:0 auto 8px;
}

.location-logo img{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
}

.location-card h2{
    font-size:20px;
    line-height:1.15;
    margin-bottom:6px;
}

.location-card p{
    color:#666;
    font-size:13px;
    line-height:1.35;
    margin-bottom:0;
}

.location-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:16px;
}

.location-denied .location-actions{
    display:none;
}

.location-primary,
.location-secondary{
    min-height:44px;
    border:0;
    border-radius:10px;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}

.location-primary{
    background:#0C831F;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.location-secondary{
    background:#fff;
    color:#0C831F;
    border:1px solid #0C831F;
}

.location-primary:disabled,
.location-secondary:disabled{
    cursor:not-allowed;
    opacity:.72;
}

.location-loading{
    display:grid;
    justify-items:center;
    gap:8px;
    margin-top:18px;
    color:#475348;
}

.location-loading[hidden]{
    display:none !important;
}

.location-loading span{
    width:28px;
    height:28px;
    border:3px solid #d9eadc;
    border-top-color:#0C831F;
    border-radius:50%;
    animation:location-spin .8s linear infinite;
}

.location-loading strong{
    color:#111827;
    font-size:14px;
}

.location-loading small{
    color:#667085;
    font-size:12px;
}

@keyframes location-spin{
    to{transform:rotate(360deg)}
}

.location-retry{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:38px;
    margin-top:12px;
    padding:0 16px;
    border:1px solid #d6ded8;
    border-radius:999px;
    background:#fff;
    color:#0C831F;
    font-weight:800;
}

.location-retry[hidden]{
    display:none !important;
}

.manual-location-form{
    display:none;
    margin-top:14px;
    text-align:left;
}

.manual-location-form.active{
    display:block;
}

.manual-location-form label{
    display:block;
    color:#555;
    font-size:12px;
    font-weight:700;
    margin:10px 0 5px;
}

.manual-location-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 126px;
    gap:8px;
}

.manual-location-form input{
    width:100%;
    height:40px;
    border:1px solid #dedede;
    border-radius:9px;
    padding:0 10px;
    outline:none;
    font-size:13px;
}

.manual-location-form input:focus{
    border-color:#0C831F;
}

.manual-pincode-status{
    min-height:18px;
    margin-top:8px;
    font-size:12px;
    line-height:1.35;
    color:#667085;
}

.manual-pincode-status[data-tone="success"]{
    color:#0C831F;
    font-weight:800;
}

.manual-pincode-status[data-tone="error"]{
    color:#ba1a1a;
    font-weight:800;
}

.manual-pincode-status[data-tone="info"]{
    color:#0C831F;
    font-weight:800;
}

.place-search-control{
    display:grid;
    grid-template-columns:1fr 104px;
    gap:8px;
}

.place-search-control .location-primary{
    min-height:44px;
    border:0;
    cursor:pointer;
}

.place-search-control .location-primary:disabled{
    cursor:not-allowed;
    opacity:.72;
}

.place-result-card.is-unserviceable{
    border-color:#ffd0d0;
    background:#fff8f8;
}

.place-result-status{
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:6px;
    padding:3px 7px;
    border-radius:999px;
    background:#e9f8ed;
    color:#0C831F;
    font-size:10px;
    font-weight:900;
}

.place-result-card.is-unserviceable .place-result-status{
    background:#fff0f0;
    color:#b42318;
}

.place-search-results{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}

.place-search-empty{
    grid-column:1/-1;
    padding:10px 12px;
    border:1px dashed #d7dfd8;
    border-radius:10px;
    color:#667064;
    font-size:13px;
    line-height:1.35;
    background:#fbfdfb;
}

.place-result-card{
    width:100%;
    min-height:88px;
    padding:10px;
    border:1px solid #dce8de;
    border-radius:12px;
    background:#f8fff9;
    color:#17211a;
    text-align:left;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(12,131,31,.07);
}

.place-result-card:hover,
.place-result-card:focus{
    border-color:#0C831F;
    box-shadow:0 0 0 3px rgba(12,131,31,.1);
    outline:none;
}

.place-result-name{
    display:block;
    color:#111827;
    font-size:13px;
    line-height:1.2;
    font-weight:900;
}

.place-result-meta,
.place-result-pin{
    display:block;
    margin-top:4px;
    color:#5f6b62;
    font-size:11px;
    line-height:1.25;
    font-weight:750;
}

.place-result-suggestion{
    display:block;
    margin-top:4px;
    color:#0C831F;
    font-size:10px;
    line-height:1.15;
    font-weight:900;
}

.place-result-pin{
    color:#0C831F;
    font-size:12px;
}

.manual-submit{
    width:100%;
    margin-top:16px;
}

.location-message{
    min-height:19px;
    margin-top:14px;
    color:#666;
    font-size:13px !important;
}

.location-vote-box{
    margin-top:18px;
    padding:14px;
    border:1px solid #d9eadc;
    border-radius:16px;
    background:#f7fff8;
}

.location-vote-box[hidden]{
    display:none !important;
}

.location-vote-box .location-primary,
.location-vote-box .location-secondary{
    width:100%;
    margin-top:8px;
}

.location-vote-roller{
    width:100%;
    min-height:72px;
    display:grid;
    place-items:center;
    margin-bottom:12px;
    border-radius:14px;
    background:
        linear-gradient(135deg,rgba(12,131,31,.1),rgba(255,193,7,.13)),
        #fff;
    border:1px dashed rgba(12,131,31,.35);
}

.location-vote-roller span{
    color:#0C831F;
    font-size:34px;
    line-height:1;
    font-weight:950;
}

.location-vote-roller small{
    color:#5f6f62;
    font-size:12px;
    font-weight:800;
}

.location-vote-thanks{
    min-height:20px;
    margin:10px 0 0 !important;
    color:#0C831F !important;
    font-size:14px !important;
    font-weight:800;
}

.location-vote-top{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:6px;
    margin-top:10px;
}

.location-vote-top span{
    padding:5px 8px;
    border-radius:999px;
    background:#fff;
    border:1px solid #e1eadf;
    color:#425044;
    font-size:11px;
    font-weight:800;
}

@media(max-width:768px){
    .header-top{
        grid-template-columns:1fr 44px 56px;
    }

    .cart-btn{
        width:56px;
        height:40px;
        flex-direction:column;
        gap:1px;
        border-radius:10px;
    }

    .cart-btn i{
        font-size:17px;
        line-height:1;
    }

    .cart-btn .cart-info{
        align-items:center;
    }

    .cart-btn span{
        display:none;
    }

    .cart-btn small{
        display:block;
        max-width:50px;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
        font-size:10px;
    }

    .cart-btn small:empty{
        display:none;
    }

    .product-slider .product-card{
        flex-basis:45%;
        max-width:45%;
        padding:10px;
    }

    .discount-badge,
    .delivery-badge{
        top:8px;
        font-size:9px;
        padding:3px 6px;
        border-radius:6px;
    }

    .discount-badge{
        left:8px;
    }

    .delivery-badge{
        right:8px;
    }

    .product-image{
        margin-top:26px;
    }

    .product-title{
        margin-top:8px;
        font-size:12px;
        height:33px;
    }

    .product-meta{
        gap:4px;
    }

    .rating-pill,
    .review-count,
    .variation-picker,
    .variation-picker select{
        font-size:10px;
    }

    .variation-picker{
        grid-template-columns:1fr;
        gap:4px;
    }

    .weight{
        display:none;
    }

    .floating-cart{
        left:10px;
        right:10px;
        bottom:10px;
        min-height:48px;
        border-radius:12px;
        padding:7px 10px;
        gap:10px;
    }

    .floating-cart-icon{
        width:34px;
        height:34px;
        border-radius:9px;
        background:rgba(255,255,255,.18);
        display:flex;
        align-items:center;
        justify-content:center;
        font-size:18px;
        flex-shrink:0;
    }

    .floating-cart-left{
        flex:1;
        min-width:0;
        gap:0;
    }

    .floating-cart-count{
        font-size:12px;
        line-height:1.15;
    }

    .floating-cart-price{
        font-size:13px;
        font-weight:700;
        line-height:1.15;
    }

    .floating-cart-btn{
        height:34px;
        padding:0 8px;
        border-radius:9px;
        background:rgba(255,255,255,.16);
        font-size:12px;
        white-space:nowrap;
    }

    .ajax-search-panel{
        position:fixed;
        top:126px;
        left:16px;
        right:16px;
        max-height:55vh;
    }

    .ajax-search-item{
        grid-template-columns:40px 1fr auto;
        gap:8px;
        padding:8px;
    }

    .ajax-search-item img{
        width:40px;
        height:40px;
    }

    .ajax-search-copy strong{
        font-size:13px;
    }

    .location-card{
        padding:16px 12px;
        border-radius:14px;
    }

    .location-card:before{
        content:"";
        position:absolute;
        top:-18px;
        left:62px;
        border-left:18px solid transparent;
        border-right:18px solid transparent;
        border-bottom:18px solid #fff;
    }

    .location-card h2{
        font-size:18px;
    }

    .location-card p{
        font-size:12px;
    }

    .location-actions{
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin-top:24px;
    }

    .location-primary,
    .location-secondary{
        min-height:42px;
        border-radius:10px;
        font-size:14px;
    }

    }

/* ==========================================================
   CATEGORY PAGE BLINKIT STYLE
========================================================== */

.category-page{
    margin:0;
    background:#f5f6f8;
    min-height:100vh;
}

.category-shell{
    width:min(100% - 32px,1280px);
    margin:0 auto;
}

.category-topbar{
    position:sticky;
    top:78px;
    z-index:80;
    min-height:42px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    background:#fff;
    border:1px solid #e6e6e6;
    border-bottom:none;
    padding:11px 14px;
}

.category-topbar h1{
    font-size:15px;
    line-height:1.2;
    font-weight:800;
}

.category-topbar span{
    color:#666;
    font-size:12px;
}

.category-page .category-layout{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    gap:0;
    align-items:start;
    border:1px solid #e6e6e6;
    background:#fff;
}

.category-page .category-sidebar{
    position:sticky;
    top:121px;
    height:calc(100vh - 121px);
    overflow-y:auto;
    background:#fff;
    border-radius:0;
    border-right:1px solid #ececec;
    padding:0;
    scrollbar-width:thin;
}

.category-page .category-sidebar h3{
    display:none;
}

.category-page .category-sidebar ul{
    list-style:none;
}

.category-page .category-sidebar li{
    position:relative;
    margin:0;
    padding:0;
    border-radius:0;
    background:transparent;
    color:inherit;
}

.category-page .category-sidebar li:hover{
    background:transparent;
}

.category-page .category-sidebar-main:hover{
    background:#f5f8f6;
}

.category-page .category-sidebar > ul > li.active:before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:4px;
    border-radius:0 4px 4px 0;
    background:#0C831F;
}

.category-page .category-sidebar-main{
    min-height:70px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    padding:10px 12px 10px 16px;
    text-align:left;
    text-decoration:none;
    color:inherit;
}

.category-page .category-sidebar img{
    width:42px;
    height:42px;
    flex:0 0 auto;
    object-fit:cover;
    border-radius:9px;
    background:#f7f7f7;
}

.category-page .category-sidebar span{
    flex:1;
    min-width:0;
    color:#293241;
    font-size:13px;
    line-height:1.15;
    font-weight:800;
}

.category-page .category-sidebar-main i{
    color:#64748b;
    font-size:14px;
    transition:transform .18s ease;
}

.category-page .category-sidebar-item.expanded > .category-sidebar-main i{
    transform:rotate(180deg);
}

.category-page .category-sidebar-sublist{
    display:none;
    padding:0 8px 10px 18px;
    margin:-4px 0 0;
}

.category-page .category-sidebar-item.expanded > .category-sidebar-sublist{
    display:block;
}

.category-page .category-sidebar-sublist li{
    margin:0;
}

.category-page .category-sidebar-sublist a{
    min-height:50px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:7px 9px;
    border-radius:10px;
    color:#53606f;
    background:#fff;
    border:1px solid #edf1ee;
    font-size:12px;
    line-height:1.2;
    font-weight:750;
    text-decoration:none;
}

.category-page .category-sidebar-sublist img{
    width:34px;
    height:34px;
    flex:0 0 auto;
    object-fit:cover;
    border-radius:8px;
    background:#f7f7f7;
}

.category-page .category-sidebar-sublist span{
    flex:1;
    min-width:0;
    color:inherit;
    font-size:12px;
    line-height:1.15;
    font-weight:800;
}

.category-page .category-sidebar-sublist li.active a,
.category-page .category-sidebar-sublist a:hover{
    background:#eaf7ed;
    border-color:#bfe8c7;
    color:#0C831F;
}

.category-page .category-products{
    min-width:0;
    background:#f5f6f8;
}

.category-page .product-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
    gap:8px;
    padding:8px;
}

.category-page .product-card{
    min-width:0;
    display:flex;
    flex-direction:column;
    padding:8px;
    border-radius:8px;
    border-color:#e5e5e5;
    box-shadow:none;
    scroll-margin-top:140px;
}

.category-page .product-card:hover{
    transform:none;
    box-shadow:0 3px 14px rgba(0,0,0,.06);
}

.category-filter-bar{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:end;
    margin:0 0 16px;
    padding:12px;
    background:#fff;
    border:1px solid #eef0ef;
    border-radius:8px;
}

.category-filter-bar label{
    display:flex;
    flex-direction:column;
    gap:5px;
    font-size:12px;
    font-weight:700;
    color:#475569;
}

.category-filter-bar input,
.category-filter-bar select{
    min-height:38px;
    border:1px solid #dbe3df;
    border-radius:7px;
    padding:0 10px;
    background:#fff;
}

.category-filter-bar .filter-check{
    min-height:38px;
    flex-direction:row;
    align-items:center;
}

.category-filter-bar button,
.category-filter-bar a{
    min-height:38px;
    border-radius:7px;
    padding:9px 14px;
    text-decoration:none;
    font-weight:800;
}

.category-filter-bar button{
    border:0;
    background:#0f766e;
    color:#fff;
}

.category-filter-bar a{
    color:#0f766e;
    border:1px solid #a7f3d0;
}

.category-page .discount-badge{
    top:8px;
    left:8px;
    z-index:2;
    width:38px;
    padding:4px 3px;
    border-radius:0 0 6px 6px;
    background:#1f7bf2;
    color:#fff;
    font-size:10px;
    line-height:1.05;
    text-align:center;
}

.category-page .product-image{
    order:1;
    height:150px;
    margin:0;
    border-radius:8px;
    overflow:hidden;
    background:#f1eadf;
}

.category-page .product-image img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
}

.category-page .delivery-badge{
    order:2;
    position:static;
    align-self:flex-start;
    margin:6px 0 0;
    padding:0 4px;
    border:0;
    border-radius:4px;
    background:#f5f5f5;
    color:#222;
    font-size:10px;
    line-height:16px;
}

.category-page .product-title{
    order:3;
    height:40px;
    margin-top:7px;
    font-size:13px;
    line-height:1.25;
    font-weight:800;
}

.category-page .product-meta,
.category-page .variation-picker{
    display:none;
}

.category-page .weight{
    order:4;
    display:block;
    margin-top:5px;
    color:#666;
    font-size:12px;
}

.category-page .product-bottom{
    order:5;
    margin-top:auto;
    padding-top:10px;
    align-items:flex-end;
    gap:8px;
}

.category-page .price{
    font-size:14px;
    line-height:1.1;
}

.category-page .mrp{
    margin-top:2px;
    font-size:11px;
}

.category-page .add-btn{
    min-width:66px;
    height:32px;
    border-radius:6px;
    font-size:13px;
}

.category-page .qty-box{
    width:74px;
    height:32px;
    border-radius:6px;
}

.category-page .qty-box button{
    height:32px;
}

@media(min-width:1180px){
    .category-page .product-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .category-page{
        padding-bottom:72px;
    }

    .category-shell{
        width:100%;
    }

    .category-topbar{
        top:112px;
        min-height:43px;
        border-left:0;
        border-right:0;
        padding:11px 14px;
    }

    .category-topbar h1{
        font-size:17px;
    }

    .category-topbar span{
        display:none;
    }

    .category-page .category-layout{
        grid-template-columns:82px minmax(0,1fr);
        border-left:0;
        border-right:0;
        border-bottom:0;
    }

    .category-page .category-sidebar{
        top:155px;
        height:calc(100dvh - 155px);
    }

    .category-page .category-sidebar-main{
        min-height:93px;
        gap:6px;
        padding:8px 4px;
    }

    .category-page .category-sidebar-main img{
        width:54px;
        height:54px;
    }

    .category-page .category-sidebar-main span{
        font-size:12px;
        line-height:1.08;
    }

    .category-page .product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        padding:8px;
    }

    .category-page .product-card{
        padding:7px;
        border-radius:9px;
        scroll-margin-top:164px;
    }

    .category-page .product-image{
        height:112px;
    }

    .category-page .discount-badge{
        top:7px;
        left:7px;
        width:34px;
        font-size:9px;
        padding:4px 2px;
    }

    .category-page .delivery-badge{
        margin-top:5px;
        font-size:9px;
        line-height:15px;
    }

    .category-page .product-title{
        height:34px;
        font-size:12px;
        line-height:1.2;
    }

    .category-page .weight{
        font-size:12px;
        margin-top:5px;
    }

    .category-page .product-bottom{
        padding-top:8px;
        gap:5px;
    }

    .category-page .price{
        font-size:13px;
    }

    .category-page .mrp{
        font-size:10px;
    }

    .category-page .add-btn{
        min-width:58px;
        height:30px;
        font-size:12px;
    }

    .category-page .qty-box{
        width:66px;
        height:30px;
    }

    .category-page .qty-box button{
        width:22px;
        height:30px;
        font-size:16px;
    }

    .category-page .qty{
        font-size:13px;
    }

    .floating-cart{
        left:14px;
        right:14px;
        bottom:10px;
        min-height:44px;
        padding:6px 9px;
        border-radius:12px;
        gap:9px;
    }

    .floating-cart-icon{
        width:32px;
        height:32px;
        border-radius:9px;
        font-size:18px;
    }

    .floating-cart-count{
        font-size:12px;
    }

    .floating-cart-price{
        font-size:13px;
    }

    .floating-cart-btn{
        height:32px;
        padding:0 9px;
        font-size:14px;
        border-radius:9px;
    }
}

/* ==========================================================
   PRODUCT DETAIL PAGE
========================================================== */

.product-detail-page{
    background:#f5f6f8;
    min-height:100vh;
    padding:22px 0 96px;
}

.product-detail-shell,
.product-detail-section,
.product-reviews-section{
    width:min(100% - 32px,1180px);
    margin:0 auto;
}

.product-detail-shell{
    display:grid;
    grid-template-columns:minmax(0,560px) minmax(360px,1fr);
    gap:18px;
    align-items:start;
}

.product-gallery-card,
.product-detail-panel,
.product-reviews-section{
    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:14px;
}

.product-gallery-card{
    position:sticky;
    top:100px;
    overflow:hidden;
}

.product-gallery-track{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
}

.product-gallery-track::-webkit-scrollbar{
    display:none;
}

.product-gallery-slide{
    flex:0 0 100%;
    min-width:100%;
    aspect-ratio:1 / .78;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f6f1e8;
    scroll-snap-align:start;
}

.product-gallery-slide img{
    width:78%;
    height:78%;
    object-fit:contain;
}

.product-gallery-dots{
    position:absolute;
    left:0;
    right:0;
    bottom:14px;
    display:flex;
    justify-content:center;
    gap:8px;
}

.product-gallery-dots span{
    width:8px;
    height:8px;
    border-radius:50%;
    background:#d7d7d7;
}

.product-gallery-dots span.active{
    width:20px;
    border-radius:999px;
    background:#0C831F;
}

.product-detail-panel{
    padding:22px;
}

.product-detail-pills{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:14px;
}

.product-time-pill,
.product-review-jump{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:34px;
    border-radius:18px;
    padding:0 12px;
    background:#f4f4f4;
    color:#1d1d1d;
    font-size:14px;
    font-weight:800;
}

.product-review-jump{
    background:#fff;
    color:#0C831F;
}

.product-review-jump i,
.review-stars i{
    color:#f6a800;
}

.product-detail-panel h1{
    font-size:34px;
    line-height:1.15;
    margin:0 0 12px;
}

.product-bought-line{
    display:flex;
    align-items:center;
    gap:7px;
    color:#0C831F;
    font-size:17px;
    font-weight:800;
    margin-bottom:26px;
}

.product-bought-line i{
    color:#ff6b00;
}

.product-unit-block h2{
    font-size:20px;
    margin-bottom:14px;
}

.product-unit-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.unit-card{
    min-height:132px;
    overflow:hidden;
    border:1px solid #dedede;
    border-radius:12px;
    background:#fff;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    font-weight:800;
}

.unit-card.selected{
    border:2px solid #0C831F;
    background:#f3fff5;
}

.unit-card span{
    margin:-34px -1px 12px;
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#1f7bf2;
    color:#fff;
    font-size:13px;
}

.unit-card strong{
    font-size:18px;
}

.unit-card b{
    font-size:24px;
}

.unit-card small{
    color:#999;
    font-size:13px;
    text-decoration:line-through;
}

.product-info-dropdown{
    margin-top:18px;
    border:1px solid #d9eddd;
    border-radius:12px;
    background:linear-gradient(180deg,#f3fff5,#fff);
    overflow:hidden;
}

.product-info-dropdown summary{
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0C831F;
    font-size:18px;
    font-weight:800;
    cursor:pointer;
    list-style:none;
}

.product-info-dropdown summary::-webkit-details-marker{
    display:none;
}

.product-info-dropdown div{
    border-top:1px solid #e5f3e7;
    padding:16px;
    color:#555;
    font-size:14px;
}

.product-info-dropdown ul{
    margin:10px 0 0 18px;
}

.product-info-dropdown li{
    margin-top:6px;
}

.product-detail-buy{
    margin-top:18px;
    padding:16px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}

.product-detail-buy:hover{
    transform:none;
    box-shadow:none;
}

.product-detail-buy strong,
.mobile-buy-price strong{
    display:block;
    font-size:34px;
    line-height:1;
}

.product-detail-buy small,
.mobile-buy-price small{
    display:block;
    margin-top:6px;
    color:#555;
    font-size:13px;
}

.product-detail-buy .add-btn,
.mobile-product-buy .add-btn{
    min-width:190px;
    height:54px;
    border-radius:12px;
    background:#0C831F;
    color:#fff;
    font-size:17px;
    border-color:#0C831F;
}

.product-detail-buy .qty-box,
.mobile-product-buy .qty-box{
    width:190px;
    height:54px;
    border-radius:12px;
}

.product-detail-buy .qty-box button,
.mobile-product-buy .qty-box button{
    width:52px;
    height:54px;
}

.product-detail-section{
    margin-top:22px;
}

.product-detail-section-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
}

.product-detail-section-header h2{
    font-size:22px;
}

.product-detail-rail{
    padding-bottom:2px;
}

.product-reviews-section{
    margin-top:22px;
    padding:18px;
}

.product-detail-section-header span{
    color:#666;
    font-size:14px;
    font-weight:700;
}

.product-review-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.review-card{
    min-width:0;
    border:1px solid #ececec;
    border-radius:12px;
    background:#fff;
    padding:14px;
}

.review-stars{
    display:flex;
    gap:3px;
    margin-bottom:10px;
}

.review-card h3{
    font-size:16px;
    margin-bottom:8px;
}

.review-card p{
    color:#555;
    font-size:14px;
}

.review-card small{
    display:block;
    margin-top:12px;
    color:#777;
    font-size:12px;
}

.media-review img,
.video-thumb{
    width:100%;
    aspect-ratio:16 / 10;
    border-radius:10px;
    background:#f7f1e8;
    object-fit:contain;
    margin-bottom:12px;
}

.video-thumb{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}

.video-thumb img{
    width:70%;
    height:70%;
    object-fit:contain;
}

.video-thumb span{
    position:absolute;
    inset:auto;
    width:48px;
    height:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(12,131,31,.92);
    color:#fff;
    font-size:24px;
}

.mobile-product-buy{
    display:none;
}

.product-title a{
    display:block;
}

.location-gate.location-denied .location-card{
    border-top:4px solid #d93025;
}

.location-gate.location-denied .location-message{
    color:#ba1a1a;
    font-weight:700;
}

.delivery-location{
    max-width:100%;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.location-message[data-tone="error"]{
    color:#ba1a1a;
    font-weight:800;
}

.location-message[data-tone="warning"]{
    color:#a15c00;
    font-weight:800;
}

.location-message[data-tone="info"]{
    color:#0C831F;
    font-weight:800;
}

@media(max-width:768px){
    .location-gate{
        align-items:flex-end;
        padding:0;
    }

    .location-card{
        width:100%;
        max-height:78dvh;
        border-radius:22px 22px 0 0;
        padding:16px 14px calc(14px + env(safe-area-inset-bottom));
    }

    .location-logo{
        width:70px;
        height:44px;
        margin-bottom:8px;
    }

    .location-card h2{
        font-size:18px;
    }

    .place-search-results{
        grid-template-columns:1fr;
    }

    .place-search-control{
        grid-template-columns:1fr 94px;
    }

    .manual-location-grid{
        grid-template-columns:minmax(0,1fr) 112px;
        gap:8px;
    }

    .header .container{
        width:calc(100% - 32px);
    }

    .header-top{
        grid-template-columns:minmax(0,1fr) 48px 76px;
        gap:12px;
        padding:14px 0 12px;
    }

    .cart-btn{
        width:76px;
        height:48px;
        border-radius:14px;
        padding:0 8px;
    }

    .cart-btn i{
        font-size:20px;
    }

    .account-btn{
        width:48px;
        height:48px;
    }

    .delivery-title{
        font-size:17px;
        line-height:21px;
    }

    .delivery-location{
        font-size:13px;
    }

    .mobile-search{
        padding:0 0 14px;
    }

    .mobile-search .search-box{
        height:48px;
        border-radius:14px;
    }

    .category-page .category-layout{
        display:grid !important;
        grid-template-columns:88px minmax(0,1fr) !important;
        gap:0 !important;
        align-items:start;
    }

    .category-page .category-sidebar{
        display:block !important;
        position:sticky;
        top:160px;
        height:calc(100dvh - 160px);
        overflow-y:auto;
    }

    .category-page .category-sidebar-main{
        min-height:94px;
        padding:8px 5px;
    }

    .category-page .category-sidebar-main img{
        width:56px;
        height:56px;
    }

    .category-page .category-sidebar-main span{
        font-size:12px;
        line-height:1.08;
    }

    .category-page .category-products{
        width:100%;
        min-width:0;
    }

    .category-page .product-grid{
        width:100%;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px;
        padding:8px;
    }

    .category-page .product-card{
        width:100%;
        min-width:0;
        min-height:250px;
        overflow:hidden;
    }

    .category-page .product-image{
        height:112px;
        width:100%;
    }

    .category-page .product-bottom{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        align-items:end;
    }

    .category-page .add-btn{
        min-width:62px;
    }

    .category-page .qty-box{
        width:66px;
    }

    .product-detail-page{
        padding:0 0 104px;
        background:#fff;
    }

    .product-detail-shell,
    .product-detail-section,
    .product-reviews-section{
        width:100%;
    }

    .product-detail-shell{
        display:block;
    }

    .product-gallery-card{
        position:relative;
        top:auto;
        border:0;
        border-radius:0;
    }

    .product-gallery-slide{
        aspect-ratio:1 / .82;
        background:#f4eadb;
    }

    .product-gallery-slide img{
        width:82%;
        height:82%;
    }

    .product-detail-panel{
        position:relative;
        margin-top:-6px;
        border:0;
        border-radius:18px 18px 0 0;
        padding:18px 16px 0;
    }

    .product-detail-pills{
        gap:10px;
        margin-bottom:12px;
    }

    .product-time-pill,
    .product-review-jump{
        min-height:32px;
        padding:0 10px;
        font-size:14px;
    }

    .product-detail-panel h1{
        font-size:25px;
        line-height:1.18;
    }

    .product-bought-line{
        font-size:16px;
        margin-bottom:24px;
    }

    .product-unit-block h2{
        font-size:20px;
    }

    .product-unit-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px;
    }

    .unit-card{
        min-height:112px;
        border-radius:12px;
        gap:4px;
    }

    .unit-card span{
        min-height:30px;
        margin:-30px -1px 8px;
        font-size:12px;
    }

    .unit-card strong{
        font-size:16px;
    }

    .unit-card b{
        font-size:22px;
    }

    .unit-card small{
        font-size:12px;
    }

    .product-info-dropdown{
        margin-top:16px;
    }

    .product-info-dropdown summary{
        min-height:54px;
        font-size:18px;
    }

    .desktop-product-buy{
        display:none;
    }

    .product-detail-section{
        padding:0 12px;
        margin-top:22px;
    }

    .product-detail-section-header{
        margin-bottom:12px;
    }

    .product-detail-section-header h2{
        font-size:20px;
    }

    .product-detail-rail .product-card{
        flex:0 0 45%;
        max-width:45%;
    }

    .product-reviews-section{
        border:0;
        border-radius:0;
        padding:24px 12px 4px;
    }

    .product-review-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .mobile-product-buy{
        position:fixed;
        left:0;
        right:0;
        bottom:0;
        z-index:9800;
        min-height:78px;
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        padding:10px 14px calc(10px + env(safe-area-inset-bottom));
        border-radius:0;
        border:0;
        border-top:1px solid #e8e8e8;
        box-shadow:0 -8px 24px rgba(0,0,0,.08);
        background:#fff;
    }

    .mobile-product-buy:hover{
        transform:none;
        box-shadow:0 -8px 24px rgba(0,0,0,.08);
    }

    .mobile-buy-price{
        flex:0 0 42%;
        min-width:0;
    }

    .mobile-buy-price strong{
        font-size:36px;
    }

    .mobile-product-buy .cart-action{
        flex:1;
        display:flex;
        justify-content:flex-end;
    }

    .mobile-product-buy .add-btn,
    .mobile-product-buy .qty-box{
        width:100%;
        min-width:0;
        max-width:220px;
        height:56px;
        border-radius:12px;
        font-size:18px;
    }

    .mobile-product-buy .qty-box button{
        height:56px;
    }
}

@media(max-width:390px){
    .category-page .category-layout{
        grid-template-columns:82px minmax(0,1fr) !important;
    }

    .category-page .product-grid{
        gap:6px;
        padding:6px;
    }

    .category-page .product-card{
        min-height:242px;
        padding:6px;
    }

    .category-page .product-image{
        height:102px;
    }

    .product-unit-grid{
        gap:8px;
    }

    .unit-card{
        min-height:106px;
    }

    .mobile-buy-price strong{
        font-size:32px;
    }

    .mobile-product-buy .add-btn,
    .mobile-product-buy .qty-box{
        font-size:16px;
    }
}

/* ==========================================================
   PRODUCT DETAIL REFRESH
========================================================== */

.product-detail-page{
    background:#f5f7f6;
    padding-bottom:30px;
}

.product-breadcrumb{
    max-width:1240px;
    margin:0 auto;
    padding:14px 16px 0;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    color:#64748b;
    font-size:13px;
}

.product-breadcrumb a{
    color:#0f766e;
    text-decoration:none;
    font-weight:700;
}

.product-breadcrumb strong{
    color:#334155;
}

.product-detail-shell{
    max-width:1240px;
    margin:14px auto 0;
    padding:0 16px;
    display:grid;
    grid-template-columns:minmax(300px,430px) minmax(0,1fr) 320px;
    gap:16px;
    align-items:start;
}

.product-gallery-card,
.product-detail-panel,
.product-buy-card{
    background:#fff;
    border:1px solid #e7ece9;
    border-radius:8px;
    box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.product-gallery-card{
    position:sticky;
    top:92px;
    padding:16px;
}

.product-detail-offer{
    position:absolute;
    top:16px;
    left:16px;
    z-index:3;
    padding:6px 9px;
    border-radius:0 0 8px 8px;
    background:#2563eb;
    color:#fff;
    font-size:12px;
    font-weight:900;
}

.product-gallery-track{
    height:430px;
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    border-radius:8px;
    background:#f7f8f8;
}

.product-gallery-track::-webkit-scrollbar{
    display:none;
}

.product-gallery-slide{
    min-width:100%;
    height:100%;
    display:grid;
    place-items:center;
    scroll-snap-align:start;
    margin:0;
}

.product-gallery-slide img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:contain;
    padding:20px;
}

.product-gallery-thumbs{
    display:flex;
    gap:8px;
    margin-top:12px;
    overflow-x:auto;
}

.product-gallery-thumbs button{
    width:62px;
    height:62px;
    flex:0 0 62px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
    padding:4px;
}

.product-gallery-thumbs button.active{
    border-color:#0f766e;
    box-shadow:0 0 0 2px rgba(15,118,110,.12);
}

.product-gallery-thumbs img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.product-detail-panel{
    padding:22px;
}

.product-brand-line{
    display:flex;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
    color:#0f766e;
    font-size:13px;
    font-weight:900;
}

.product-brand-line span:last-child{
    color:#16a34a;
}

.product-detail-panel h1{
    margin:0;
    color:#111827;
    font-size:26px;
    line-height:1.2;
    letter-spacing:0;
}

.product-detail-pills{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:9px;
}

.product-time-pill,
.product-review-jump{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:30px;
    padding:0 10px;
    border-radius:7px;
    background:#f1f5f3;
    color:#111827;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.product-review-jump{
    background:#ecfdf5;
    color:#047857;
}

.product-bought-line{
    margin:14px 0 0;
    display:flex;
    gap:7px;
    align-items:center;
    color:#ea580c;
    font-size:13px;
    font-weight:800;
}

.product-unit-block{
    margin-top:22px;
}

.product-unit-block h2,
.product-info-dropdown summary{
    color:#111827;
    font-size:16px;
    font-weight:900;
}

.product-unit-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(132px,1fr));
    gap:10px;
    margin-top:10px;
}

.unit-card{
    min-height:104px;
    border:1px solid #e2e8f0;
    border-radius:8px;
    background:#fff;
    padding:10px;
    text-align:left;
}

.unit-card.selected{
    border-color:#0f766e;
    background:#f0fdf4;
    box-shadow:0 0 0 2px rgba(15,118,110,.12);
}

.unit-card span{
    display:inline-flex;
    margin-bottom:6px;
    padding:3px 6px;
    border-radius:5px;
    background:#2563eb;
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.unit-card strong,
.unit-card b,
.unit-card small{
    display:block;
}

.unit-card b{
    margin-top:8px;
    color:#111827;
    font-size:18px;
}

.unit-card small{
    margin-top:3px;
    color:#64748b;
}

.product-promise-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
    margin-top:22px;
}

.product-promise-grid div{
    padding:12px;
    border-radius:8px;
    background:#f8fafc;
    border:1px solid #edf2f0;
}

.product-promise-grid i{
    color:#0f766e;
    font-size:18px;
}

.product-promise-grid strong,
.product-promise-grid span{
    display:block;
}

.product-promise-grid strong{
    margin-top:6px;
    color:#111827;
    font-size:13px;
}

.product-promise-grid span{
    margin-top:2px;
    color:#64748b;
    font-size:12px;
}

.product-info-dropdown{
    margin-top:18px;
    padding:14px 0 0;
    border-top:1px solid #e7ece9;
}

.product-info-dropdown summary{
    cursor:pointer;
}

.product-info-dropdown div{
    margin-top:10px;
    color:#475569;
    line-height:1.6;
}

.product-info-dropdown ul{
    padding-left:18px;
}

.product-buy-card{
    position:sticky;
    top:92px;
    padding:18px;
}

.product-buy-card-top{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding-bottom:14px;
    border-bottom:1px solid #edf2f0;
    color:#64748b;
    font-size:13px;
}

.product-buy-card-top strong{
    color:#111827;
}

.product-buy-price{
    display:flex;
    align-items:flex-end;
    gap:10px;
    margin-top:18px;
}

.product-buy-price strong{
    color:#111827;
    font-size:32px;
    line-height:1;
}

.product-buy-price del{
    color:#94a3b8;
    font-size:15px;
}

.product-buy-card > small{
    display:block;
    margin-top:6px;
    color:#64748b;
}

.product-buy-card .product-detail-buy{
    margin-top:16px;
    padding:0;
    border:0;
    box-shadow:none;
    min-height:0;
}

.product-buy-card .cart-action,
.product-buy-card .add-btn,
.product-buy-card .qty-box{
    width:100%;
}

.product-buy-card .add-btn{
    min-height:46px;
    border-radius:8px;
    font-size:15px;
    font-weight:900;
}

.product-buy-service{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.product-buy-service div{
    display:flex;
    gap:9px;
    align-items:flex-start;
    color:#475569;
    font-size:13px;
}

.product-buy-service i{
    color:#0f766e;
}

@media(max-width:1100px){
    .product-detail-shell{
        grid-template-columns:minmax(280px,420px) minmax(0,1fr);
    }

    .product-buy-card{
        position:static;
        grid-column:1 / -1;
    }
}

@media(max-width:760px){
    .product-breadcrumb{
        display:none;
    }

    .product-detail-shell{
        grid-template-columns:1fr;
        gap:10px;
        padding:0;
        margin-top:0;
    }

    .product-gallery-card,
    .product-detail-panel,
    .product-buy-card{
        border-radius:0;
        border-left:0;
        border-right:0;
        box-shadow:none;
    }

    .product-gallery-card{
        position:static;
        padding:12px;
    }

    .product-gallery-track{
        height:310px;
    }

    .product-detail-panel{
        padding:16px;
    }

    .product-detail-panel h1{
        font-size:21px;
    }

    .product-promise-grid{
        grid-template-columns:1fr;
    }

    .product-buy-card{
        display:none;
    }
}

/* ==========================================================
   REQUESTED STOREFRONT UPDATES
========================================================== */

html,
body{
    min-height:100%;
}

body{
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

main{
    flex:1 0 auto;
    min-height:auto;
}

.site-footer{
    flex-shrink:0;
    margin-top:auto;
}

.hero{
    margin-top:12px;
}

.hero-slider{
    background:#fff;
}

.slides{
    height:clamp(210px,32vw,420px);
    background:#fff;
}

.slide img{
    object-fit:contain !important;
    background:#fff;
}

.offer-section{
    margin:12px 0 8px;
}

.offer-section .section-header,
.category-section .section-header{
    margin-bottom:10px;
}

.category-section{
    margin:14px 0 22px;
}

.category-section-header h2{
    margin:0;
    font-size:28px;
    line-height:1.15;
}

.category-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:20px 22px;
}

.category-card{
    padding:0;
    background:transparent;
    border-radius:0;
    box-shadow:none;
    justify-content:flex-start;
}

.category-card:hover{
    transform:none;
    box-shadow:none;
}

.category-card img{
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    margin:0 0 10px;
    padding:14px;
    border-radius:14px;
    background:#eafcff;
    object-fit:contain;
}

.category-card span{
    width:100%;
    min-height:42px;
    color:#111;
    font-size:16px;
    line-height:1.2;
    font-weight:900;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

main > .product-section{
    width:min(100% - 32px,var(--container));
    margin:20px auto;
}

.product-slider{
    gap:10px;
    padding-bottom:4px;
}

.product-slider .product-card{
    flex-basis:178px;
}

.product-card{
    padding:8px;
    border-radius:8px;
}

.product-card:hover{
    transform:none;
}

.product-card .product-meta,
.product-card .variation-picker{
    display:none;
}

.product-image{
    height:104px;
    margin-top:8px;
}

.product-image img{
    max-height:98px;
}

.delivery-badge{
    margin-top:4px;
    padding:3px 6px;
    font-size:10px;
}

.product-title{
    height:34px;
    margin-top:7px;
    font-size:13px;
}

.weight{
    margin-top:4px;
}

.product-bottom{
    margin-top:8px;
}

.price{
    font-size:15px;
}

.add-btn{
    min-width:58px;
    height:31px;
    border-radius:7px;
    font-size:12px;
}

.qty-box{
    width:66px;
    height:31px;
    border-radius:7px;
}

.qty-box button{
    height:31px;
}

.category-filter-bar{
    display:none !important;
}

.category-page .product-image img{
    object-fit:contain;
    padding:8px;
}

.product-detail-shell{
    max-width:1380px;
    grid-template-columns:minmax(0,1fr) minmax(340px,400px);
    gap:14px;
}

.product-gallery-card{
    grid-row:1 / span 2;
    position:sticky;
    top:92px;
    padding:8px;
}

.product-gallery-layout{
    display:flex;
    align-items:stretch;
    gap:12px;
}

.product-gallery-thumbs{
    order:0;
    width:66px;
    flex:0 0 66px;
    margin:0;
    display:flex;
    flex-direction:column;
    gap:9px;
    overflow-y:auto;
    overflow-x:hidden;
    max-height:520px;
}

.product-gallery-thumbs button{
    width:62px;
    height:62px;
    flex:0 0 62px;
}

.product-main-image-box{
    position:relative;
    min-width:0;
    flex:1;
    overflow:hidden;
    border-radius:8px;
    background:#fff;
    padding-top:32px;
}

.product-gallery-track{
    height:min(45vw,520px);
    min-height:360px;
    background:#f8f6f0;
    border-radius:8px;
}

.product-gallery-slide{
    overflow:hidden;
    background:#f8f6f0;
}

.product-gallery-slide img{
    width:100%;
    height:100%;
    padding:0;
    object-fit:contain;
    transition:transform .28s ease;
    transform-origin:center;
}

.product-gallery-slide:hover img{
    transform:scale(1.65);
    cursor:zoom-in;
}

.product-detail-offer{
    top:8px;
    left:8px;
    border-radius:7px;
    background:#ef3b2d;
    font-size:11px;
    line-height:1.1;
    padding:5px 7px;
    max-width:64px;
    text-align:center;
}

.product-detail-delivery{
    position:absolute;
    top:8px;
    right:8px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:5px 8px;
    border-radius:8px;
    background:rgba(255,255,255,.94);
    color:#14532d;
    font-size:11px;
    line-height:1.15;
    font-weight:900;
    box-shadow:0 4px 12px rgba(0,0,0,.06);
}

.product-detail-delivery i{
    width:18px;
    height:18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#0C831F;
    color:#fff;
}

.product-gallery-dots{
    z-index:5;
}

.product-detail-trigger{
    width:100%;
    margin-top:12px;
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 14px;
    border:1px solid #e2e8d8;
    border-radius:8px;
    background:#fbfdf7;
    text-align:left;
}

.product-detail-trigger span{
    min-width:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    column-gap:10px;
    align-items:center;
}

.product-detail-trigger span > i{
    grid-row:1 / span 2;
    color:#111827;
    font-size:24px;
}

.product-detail-trigger strong{
    color:#111827;
    font-size:16px;
}

.product-detail-trigger small{
    color:#475569;
    font-size:13px;
}

.product-detail-panel,
.product-buy-card{
    grid-column:2;
    padding:14px;
}

.product-buy-card{
    position:sticky;
    top:92px;
}

.product-detail-modal{
    position:fixed;
    inset:0;
    z-index:12000;
    display:none;
}

.product-detail-modal.active{
    display:block;
}

.product-detail-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.48);
}

.product-detail-modal-card{
    position:absolute;
    left:50%;
    top:50%;
    width:min(92vw,560px);
    max-height:84vh;
    overflow:auto;
    transform:translate(-50%,-50%);
    padding:22px;
    border-radius:10px;
    background:#fff;
    box-shadow:0 22px 70px rgba(0,0,0,.26);
}

.product-detail-modal-close{
    position:absolute;
    top:12px;
    right:12px;
    width:36px;
    height:36px;
    border-radius:50%;
    background:#f1f5f9;
}

.product-detail-modal-card h2{
    margin:0 42px 12px 0;
}

.product-detail-modal-card p,
.product-detail-modal-card li{
    color:#475569;
    line-height:1.65;
}

.product-detail-modal-card ul{
    padding-left:20px;
    margin:12px 0;
}

body.product-details-open{
    overflow:hidden;
}

@media(max-width:900px){
    .category-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:18px 16px;
    }

    .category-card span{
        font-size:15px;
    }
}

@media(max-width:760px){
    .hero{
        margin-top:8px;
    }

    .slides{
        height:180px;
    }

    .offer-section{
        margin:8px 0 4px;
    }

    .category-section{
        margin:10px 0 16px;
    }

    .category-section-header h2{
        font-size:23px;
    }

    .category-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:16px 14px;
    }

    .category-card img{
        padding:10px;
        border-radius:10px;
        margin-bottom:7px;
    }

    .category-card span{
        min-height:38px;
        font-size:13px;
    }

    main > .product-section{
        width:calc(100% - 24px);
        margin:16px auto;
    }

    .product-slider .product-card{
        flex:0 0 39%;
        max-width:39%;
    }

    .product-card{
        padding:7px;
    }

    .product-image{
        height:88px;
    }

    .product-image img{
        max-height:84px;
    }

    .product-detail-page{
        padding:0 0 24px;
    }

    .product-detail-shell{
        grid-template-columns:1fr;
        gap:0;
        padding:0;
        margin-top:0;
    }

    .product-gallery-card{
        grid-row:auto;
        position:static;
        padding:0;
        border:0;
    }

    .product-gallery-layout{
        display:block;
    }

    .product-gallery-thumbs{
        display:none;
    }

    .product-main-image-box{
        border-radius:0 0 18px 18px;
    }

    .product-gallery-track{
        height:auto;
        min-height:0;
        aspect-ratio:1 / .76;
        border-radius:0 0 18px 18px;
    }

    .product-gallery-slide img{
        padding:0;
    }

    .product-gallery-slide:hover img{
        transform:none;
    }

    .product-gallery-slide:active img{
        transform:scale(1.24);
    }

    .product-detail-offer{
        top:10px;
        left:10px;
        font-size:10px;
        max-width:56px;
        padding:5px 6px;
    }

    .product-detail-delivery{
        top:10px;
        right:10px;
        max-width:132px;
        font-size:10px;
        padding:5px 7px;
    }

    .product-detail-delivery i{
        width:17px;
        height:17px;
    }

    .product-gallery-dots{
        left:30px;
        right:auto;
        bottom:18px;
        justify-content:flex-start;
    }

    .product-detail-trigger{
        width:calc(100% - 32px);
        margin:12px 16px 0;
    }

    .product-detail-panel,
    .product-buy-card{
        grid-column:auto;
    }

    .product-buy-card{
        display:block;
        position:static;
        margin:0;
        border-left:0;
        border-right:0;
        border-radius:0;
        box-shadow:none;
    }

    .product-buy-card .desktop-product-buy{
        display:block;
    }

    .product-buy-card .product-detail-buy{
        display:block;
    }

    .product-buy-service{
        display:none;
    }

    .mobile-product-buy{
        display:none !important;
    }
}

@media(max-width:430px){
    .category-grid{
        gap:14px 12px;
    }

    .category-card span{
        font-size:12px;
    }

    .product-slider .product-card{
        flex-basis:43%;
        max-width:43%;
    }
}

/* ==========================================================
   SHYAMANSH QUICK-COMMERCE REFRESH
   Original design inspired by modern instant grocery flows.
========================================================== */

:root{
    --brand:#0f766e;
    --brand-dark:#115e59;
    --brand-soft:#dff7f2;
    --accent:#f59e0b;
    --accent-soft:#fff4d6;
    --coral:#fb7185;
    --ink:#172026;
    --muted-ink:#607083;
    --surface:#ffffff;
    --page:#f4f7f9;
    --line:#e6edf2;
    --shadow-soft:0 10px 30px rgba(15,23,42,.08);
    --shadow-card:0 8px 18px rgba(15,23,42,.06);
}

body{
    background:var(--page);
    color:var(--ink);
}

.container{
    width:min(100% - 28px,1280px);
}

.header{
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--line);
    box-shadow:0 8px 28px rgba(15,23,42,.05);
    backdrop-filter:saturate(140%) blur(12px);
}

.header-top{
    height:76px;
    grid-template-columns:132px minmax(190px,248px) minmax(280px,1fr) 48px 132px;
    gap:14px;
}

.logo{
    min-width:0;
    display:flex;
    align-items:center;
}

.logo img{
    height:50px;
    width:auto;
    max-width:132px;
    object-fit:contain;
}

.location-box{
    min-width:0;
    padding:8px 10px;
    border-radius:10px;
    background:#f8fbfb;
}

.delivery-title{
    display:flex;
    align-items:center;
    gap:6px;
    color:var(--ink);
    font-size:17px;
    line-height:1.15;
}

.delivery-title:before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--coral);
    box-shadow:0 0 0 5px rgba(251,113,133,.14);
    flex:0 0 auto;
}

.delivery-location{
    min-width:0;
    color:var(--muted-ink);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.desktop-search,
.mobile-search .search-box{
    min-width:0;
    height:50px;
    border:1px solid #d9e4ea;
    border-radius:10px;
    background:#f2f6f7;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.desktop-search i,
.mobile-search .search-box i{
    color:var(--brand);
}

.desktop-search input,
.mobile-search input{
    color:var(--ink);
    font-weight:600;
}

.desktop-search input::placeholder,
.mobile-search input::placeholder{
    color:#728292;
    font-weight:600;
}

.account-btn{
    background:#f2f6f7;
    color:var(--ink);
    border:1px solid #dce7ed;
}

.cart-btn{
    min-width:0;
    padding:0 12px;
    background:var(--brand);
    border-radius:10px;
    box-shadow:0 10px 18px rgba(15,118,110,.2);
}

.cart-btn:hover{
    background:var(--brand-dark);
}

.cart-info{
    align-items:flex-start;
}

.cart-info small{
    color:rgba(255,255,255,.86);
    font-weight:700;
}

.quick-header-strip{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 0 12px 146px;
    overflow-x:auto;
    scrollbar-width:none;
}

.quick-header-strip::-webkit-scrollbar{
    display:none;
}

.quick-header-strip a,
.quick-header-strip button{
    flex:0 0 auto;
    min-height:32px;
    padding:7px 12px;
    border:1px solid #dbe6ed;
    border-radius:999px;
    background:#fff;
    color:#365064;
    font-size:13px;
    font-weight:800;
}

.quick-header-strip a{
    background:var(--accent-soft);
    border-color:#f5d88c;
    color:#84510a;
}

.quick-header-strip button:hover,
.quick-header-strip a:hover{
    border-color:var(--brand);
    color:var(--brand-dark);
}

.storefront-utility{
    padding:16px 0 4px;
}

.storefront-utility-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(420px,520px);
    gap:14px;
    align-items:stretch;
}

.storefront-copy,
.storefront-promises{
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    box-shadow:var(--shadow-card);
}

.storefront-copy{
    padding:16px 18px;
    background:
        linear-gradient(120deg,rgba(15,118,110,.1),rgba(245,158,11,.13)),
        #fff;
}

.storefront-copy span{
    color:var(--brand-dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.storefront-copy h1{
    max-width:780px;
    margin-top:5px;
    color:var(--ink);
    font-size:clamp(22px,3vw,36px);
    line-height:1.08;
    font-weight:900;
}

.storefront-promises{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    overflow:hidden;
}

.storefront-promises div{
    min-width:0;
    padding:16px 14px;
    display:grid;
    gap:5px;
    border-left:1px solid var(--line);
}

.storefront-promises div:first-child{
    border-left:0;
}

.storefront-promises i{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border-radius:10px;
    color:var(--brand-dark);
    background:var(--brand-soft);
    font-size:19px;
}

.storefront-promises strong{
    font-size:14px;
    line-height:1.15;
}

.storefront-promises small{
    color:var(--muted-ink);
    font-size:12px;
}

.hero{
    margin-top:12px;
}

.hero-slider,
.offer-card{
    border:1px solid var(--line);
    border-radius:10px;
    box-shadow:var(--shadow-card);
}

.slides{
    height:clamp(190px,27vw,340px);
}

.hero-prev,
.hero-next{
    color:var(--brand-dark);
}

.dot.active{
    background:var(--brand);
}

.offer-grid{
    gap:12px;
}

.offer-card:hover{
    transform:translateY(-2px);
}

.category-section,
.product-section{
    scroll-margin-top:120px;
}

.category-section-header h2,
.section-header h2{
    color:var(--ink);
    font-weight:900;
    letter-spacing:0;
}

.see-all{
    color:var(--brand);
}

.category-grid{
    grid-template-columns:repeat(10,minmax(0,1fr));
    gap:14px;
}

.category-card{
    min-width:0;
}

.category-card img{
    background:
        radial-gradient(circle at 70% 20%,rgba(255,255,255,.72),transparent 32%),
        linear-gradient(135deg,#e2faf4,#fff7dd);
    border:1px solid #dbeee9;
    border-radius:10px;
    box-shadow:0 6px 14px rgba(15,23,42,.05);
}

.category-card:nth-child(3n+2) img{
    background:
        radial-gradient(circle at 25% 20%,rgba(255,255,255,.8),transparent 34%),
        linear-gradient(135deg,#fff0f2,#eaf4ff);
}

.category-card:nth-child(3n+3) img{
    background:
        radial-gradient(circle at 75% 18%,rgba(255,255,255,.76),transparent 34%),
        linear-gradient(135deg,#f0f7ff,#fff4d6);
}

.category-card span{
    color:#233140;
    font-weight:850;
    text-align:center;
}

main > .product-section{
    padding:0;
}

.product-slider{
    gap:12px;
    padding:2px 2px 10px;
}

.product-slider .product-card{
    flex:0 0 186px;
}

.category-page .product-card,
.product-card{
    min-width:0;
    border:1px solid #dfe8ee;
    border-radius:10px;
    background:#fff;
    box-shadow:0 4px 10px rgba(15,23,42,.04);
}

.category-page .product-card:hover,
.product-card:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-soft);
}

.discount-badge,
.category-page .discount-badge{
    top:8px;
    left:8px;
    max-width:68px;
    padding:5px 6px;
    border-radius:7px;
    background:var(--coral);
    color:#fff;
    font-size:10px;
    line-height:1.05;
    font-weight:900;
}

.delivery-badge,
.category-page .delivery-badge{
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:4px;
    background:#f0f7f4;
    color:#245a35;
    border-radius:6px;
    font-size:10px;
    font-weight:900;
}

.delivery-badge i{
    font-size:11px;
}

.product-image,
.category-page .product-image{
    border-radius:9px;
    background:linear-gradient(180deg,#fbfcfd,#f5f8fa);
}

.product-title,
.category-page .product-title{
    color:var(--ink);
    font-weight:850;
    letter-spacing:0;
}

.product-title a{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.weight,
.category-page .weight{
    color:var(--muted-ink);
    font-weight:750;
}

.price,
.category-page .price{
    color:#101820;
    font-weight:950;
}

.mrp,
.category-page .mrp{
    color:#8a98a7;
}

.add-btn,
.category-page .add-btn{
    border:1px solid var(--brand);
    background:#f7fffc;
    color:var(--brand);
    box-shadow:none;
    font-weight:950;
}

.add-btn:hover,
.category-page .add-btn:hover{
    background:var(--brand);
    color:#fff;
}

.qty-box,
.category-page .qty-box{
    background:var(--brand);
    border-color:var(--brand);
    color:#fff;
}

.qty-box button,
.category-page .qty-box button{
    color:#fff;
}

.ajax-search-panel{
    border:1px solid var(--line);
    border-radius:10px;
    box-shadow:0 18px 48px rgba(15,23,42,.18);
}

.ajax-search-item{
    border-radius:8px;
}

.ajax-search-item:hover,
.ajax-search-item:focus{
    background:#f1faf8;
}

.ajax-search-price{
    color:var(--brand);
}

.location-card{
    border-radius:12px;
}

.location-primary{
    background:var(--brand);
}

.location-secondary{
    color:var(--brand);
}

.floating-cart{
    background:var(--brand);
    box-shadow:0 16px 32px rgba(15,118,110,.28);
}

.floating-cart.is-visible{
    display:flex !important;
}

.site-footer{
    background:#101820;
}

@media(max-width:1100px){
    .header-top{
        grid-template-columns:118px minmax(170px,220px) minmax(240px,1fr) 46px 118px;
        gap:10px;
    }

    .category-grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .container{
        width:calc(100% - 24px);
    }

    .header-top{
        height:auto;
        grid-template-columns:minmax(0,1fr) 44px 78px;
        gap:9px;
        padding:10px 0 8px;
    }

    .logo{
        display:none;
    }

    .location-box{
        padding:0;
        background:transparent;
    }

    .delivery-title{
        font-size:17px;
    }

    .delivery-location{
        max-width:100%;
        font-size:12px;
    }

    .account-btn,
    .cart-btn{
        height:42px;
        border-radius:10px;
    }

    .cart-btn{
        width:78px;
        font-size:13px;
    }

    .mobile-search{
        padding:0 0 8px;
    }

    .mobile-search .search-box{
        height:46px;
    }

    .quick-header-strip{
        margin:0 -12px;
        padding:0 12px 10px;
    }

    .quick-header-strip a,
    .quick-header-strip button{
        min-height:30px;
        padding:6px 10px;
        font-size:12px;
    }

    .storefront-utility{
        padding:10px 0 0;
    }

    .storefront-utility-grid{
        grid-template-columns:1fr;
        gap:10px;
    }

    .storefront-copy{
        padding:13px;
    }

    .storefront-copy h1{
        font-size:22px;
        line-height:1.12;
    }

    .storefront-promises{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .storefront-promises div{
        padding:11px 8px;
    }

    .storefront-promises i{
        width:30px;
        height:30px;
        border-radius:8px;
        font-size:16px;
    }

    .storefront-promises strong{
        font-size:12px;
    }

    .storefront-promises small{
        display:none;
    }

    .slides{
        height:160px;
    }

    .hero-slider,
    .offer-card{
        border-radius:9px;
    }

    .offer-grid{
        gap:10px;
    }

    .offer-card{
        flex-basis:248px;
        max-width:248px;
        min-width:248px;
    }

    .category-grid{
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:13px 11px;
    }

    .category-card img{
        padding:9px;
    }

    .category-card span{
        min-height:34px;
        font-size:12px;
    }

    .section-header{
        margin-bottom:10px;
    }

    .category-section-header h2,
    .section-header h2{
        font-size:21px;
    }

    .product-slider{
        gap:10px;
    }

    .product-slider .product-card{
        flex:0 0 44%;
        max-width:44%;
    }

    .product-card,
    .category-page .product-card{
        border-radius:9px;
    }

    .product-title,
    .category-page .product-title{
        height:35px;
        font-size:12px;
    }

    .product-bottom{
        align-items:end;
        gap:6px;
    }

    .add-btn{
        min-width:56px;
    }
}

@media(max-width:430px){
    .product-slider .product-card{
        flex-basis:46%;
        max-width:46%;
    }

    .storefront-promises{
        grid-template-columns:1fr 1fr 1fr;
    }
}

/* ==========================================================
   FRONT PAGE STRUCTURE: HEADER, BANNER, CATEGORIES, PRODUCTS
========================================================== */

@media(max-width:768px){
    .header-top{
        grid-template-columns:minmax(0,1fr) 44px 50px;
    }

    .cart-btn{
        width:50px;
        min-width:50px;
        height:42px;
        padding:0;
        display:grid;
        place-items:center;
        position:relative;
        overflow:visible;
    }

    .cart-btn i{
        font-size:21px;
        line-height:1;
    }

    .cart-btn .cart-info{
        display:none !important;
    }

    .cart-btn[data-count]::after{
        content:attr(data-count);
        position:absolute;
        right:-4px;
        top:-6px;
        min-width:18px;
        height:18px;
        padding:0 5px;
        display:flex;
        align-items:center;
        justify-content:center;
        border:2px solid #fff;
        border-radius:999px;
        background:#f59e0b;
        color:#fff;
        font-size:11px;
        font-weight:900;
        line-height:1;
        box-shadow:0 4px 10px rgba(15,23,42,.2);
    }

    .hero{
        width:100vw;
        margin:0 0 12px 50%;
        transform:translateX(-50%);
    }

    .hero .container{
        width:100%;
        max-width:none;
        margin:0;
    }

    .hero-slider{
        border-left:0;
        border-right:0;
        border-radius:0;
        box-shadow:none;
        touch-action:pan-y;
    }

    .slides{
        height:clamp(164px,46vw,230px);
    }

    .slide img{
        object-fit:cover !important;
    }

    .hero-dots{
        bottom:9px;
    }

    .dot{
        width:7px;
        height:7px;
    }

    .category-section{
        margin-top:10px;
    }

    main > .product-section{
        margin-top:14px;
    }
}

/* Full-width homepage banner on desktop and mobile */
.hero{
    width:100vw;
    margin:0 0 16px 50%;
    transform:translateX(-50%);
}

.hero .container{
    width:100%;
    max-width:none;
    margin:0;
}

.hero-slider{
    border-left:0;
    border-right:0;
    border-radius:0;
    box-shadow:none;
    touch-action:pan-y;
}

.slides{
    height:auto;
    min-height:0;
    aspect-ratio:var(--hero-slide-ratio, 1600 / 672);
}

.slide,
.slide picture,
.slide img{
    object-fit:contain !important;
    background:#fff;
}

@media(max-width:768px){
    .hero{
        margin-bottom:12px;
    }

    .slides{
        aspect-ratio:var(--hero-slide-ratio, 1600 / 672);
    }
}

/* ==========================================================
   LIVE MOBILE REQUESTS
========================================================== */

.deal-section{
    padding:14px 14px 16px;
    border:1px solid #dfe8ee;
    border-radius:10px;
    background:linear-gradient(135deg,#fff7dc,#f0fbf7 58%,#ffffff);
    box-shadow:0 10px 22px rgba(15,23,42,.06);
}

.deal-section .section-header{
    align-items:flex-start;
}

.deal-countdown{
    width:max-content;
    margin-top:7px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border-radius:8px;
    background:#101820;
    color:#fff;
    font-size:12px;
    font-weight:850;
}

.deal-countdown span{
    color:#f8d776;
}

.deal-countdown strong{
    min-width:74px;
    font-variant-numeric:tabular-nums;
    letter-spacing:0;
}

.deal-countdown.expired{
    background:#475569;
}

.product-mobile-bar,
.product-mobile-actions{
    display:none;
}

.floating-cart.just-added{
    animation:cartNudge .18s ease-out;
}

@keyframes cartNudge{
    0%{opacity:.92; transform:translateY(4px) scale(.995);}
    100%{opacity:1; transform:translateY(0) scale(1);}
}

@media(max-width:768px){
    .offer-section{
        display:none !important;
    }

    .deal-section{
        width:calc(100% - 24px);
        margin:12px auto 16px;
        padding:12px 10px 13px;
        border-radius:9px;
    }

    .deal-countdown{
        font-size:11px;
    }
}

@media(max-width:760px){
    .product-detail-body .header{
        display:none;
    }

    .product-detail-body{
        background:#f4f6fb;
    }

    .product-detail-page{
        padding:0 0 calc(118px + env(safe-area-inset-bottom));
        background:#f4f6fb;
    }

    .product-mobile-bar{
        min-height:64px;
        padding:8px 16px;
        display:grid;
        grid-template-columns:40px minmax(0,1fr) 42px;
        gap:10px;
        align-items:center;
        background:#fff;
        position:sticky;
        top:0;
        z-index:60;
        border-bottom:1px solid #f1f3f5;
    }

    .product-mobile-back,
    .product-mobile-search{
        width:40px;
        height:40px;
        display:grid;
        place-items:center;
        border:0;
        border-radius:50%;
        background:#fff;
        color:#050505;
        font-size:27px;
        text-decoration:none;
    }

    .product-mobile-search{
        font-size:28px;
    }

    .product-mobile-search-overlay{
        position:fixed;
        inset:0;
        z-index:9500;
        display:none;
        background:#fff;
    }

    .product-mobile-search-overlay.active{
        display:block;
    }

    .product-mobile-search-sheet{
        min-height:100%;
        padding:12px 14px 20px;
        background:#fff;
    }

    .product-mobile-search-field{
        min-height:48px;
        display:grid;
        grid-template-columns:36px 24px minmax(0,1fr);
        align-items:center;
        gap:6px;
        border:1px solid #e5e7eb;
        border-radius:12px;
        background:#f8fafc;
        padding:0 10px 0 4px;
    }

    .product-mobile-search-field button{
        width:36px;
        height:36px;
        display:grid;
        place-items:center;
        border:0;
        background:transparent;
        color:#111827;
        font-size:22px;
    }

    .product-mobile-search-field > i{
        color:#64748b;
        font-size:18px;
    }

    .product-mobile-search-field input{
        min-width:0;
        height:44px;
        border:0;
        outline:0;
        background:transparent;
        color:#111827;
        font-size:16px;
        font-weight:700;
    }

    .product-mobile-search-results{
        position:static !important;
        display:block;
        max-height:calc(100vh - 82px);
        margin-top:12px;
        border:0;
        box-shadow:none;
        overflow:auto;
    }

    .product-mobile-search-results.active{
        display:block;
    }

    .product-mobile-location{
        min-width:0;
        display:grid;
        gap:3px;
    }

    .product-mobile-location strong{
        color:#050505;
        font-size:20px;
        line-height:1.05;
        font-weight:950;
    }

    .product-mobile-location button{
        min-width:0;
        width:100%;
        display:block;
        border:0;
        background:transparent;
        color:#242424;
        font-size:14px;
        line-height:1.25;
        text-align:left;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .product-gallery-card{
        padding:0 !important;
        background:#f4f6fb;
    }

    .product-main-image-box{
        padding-top:0 !important;
        border-radius:0 !important;
        background:#f7f3ec;
    }

    .product-gallery-track{
        height:auto !important;
        aspect-ratio:1 / .94;
        border-radius:0 !important;
        background:#f7f3ec;
    }

    .product-gallery-slide{
        background:#f7f3ec;
    }

    .product-gallery-slide img{
        width:100%;
        height:100%;
        object-fit:contain;
        padding:4px;
    }

    .product-reference-page .product-gallery-slide img{
        object-fit:cover;
        padding:0;
    }

    .product-reference-page .product-gallery-dots{
        display:none !important;
    }

    .product-detail-offer,
    .product-detail-delivery{
        display:none;
    }

    .product-gallery-dots{
        left:0 !important;
        right:0 !important;
        bottom:12px !important;
        justify-content:center !important;
    }

    .product-detail-trigger{
        order:4;
        width:100% !important;
        min-height:68px;
        margin:12px 0 0 !important;
        padding:10px 12px;
        border-radius:12px;
        background:#fff;
        border-color:#e3e6ea;
    }

    .product-detail-trigger span{
        grid-template-columns:42px minmax(0,1fr);
    }

    .product-detail-trigger strong{
        font-size:15px;
    }

    .product-detail-trigger small{
        font-size:12px;
        line-height:1.35;
    }

    .product-detail-panel{
        position:relative;
        z-index:3;
        width:calc(100vw - 24px) !important;
        max-width:calc(100vw - 24px) !important;
        box-sizing:border-box;
        overflow:visible;
        margin:-28px 12px 0 !important;
        padding:0 14px 8px !important;
        border-radius:18px 18px 0 0;
        background:#fff;
        display:flex;
        flex-direction:column;
        box-shadow:0 -10px 22px rgba(15,23,42,.06);
    }

    .product-brand-line,
    .product-bought-line,
    .product-promise-grid{
        display:none !important;
    }

    .product-detail-pills{
        order:1;
        width:max-content;
        max-width:calc(100% - 8px);
        min-height:28px;
        margin:-14px 0 9px;
        padding:0 7px;
        display:flex;
        align-items:center;
        flex-wrap:nowrap;
        gap:5px;
        border:1px solid #e5e7eb;
        border-radius:9px;
        background:#fff;
        box-shadow:0 4px 14px rgba(15,23,42,.10);
        z-index:4;
    }

    .product-detail-panel h1{
        order:2;
        margin:0;
        font-size:24px !important;
        line-height:1.18;
        font-weight:950;
    }

    .product-detail-subtitle{
        order:3;
        margin:8px 0 0;
        color:#202124;
        font-size:14px;
        line-height:1.4;
    }

    .product-time-pill,
    .product-review-jump{
        min-height:26px;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        color:#101010;
        font-size:11px;
        box-shadow:none;
    }

    .product-time-pill{
        display:inline-flex;
        align-items:center;
        gap:5px;
        flex:0 0 auto;
        font-weight:900;
    }

    .product-time-pill i{
        color:#168a21;
        font-size:12px;
    }

    .product-rating-divider{
        width:1px;
        height:20px;
        flex:0 0 auto;
        background:#d8dde4;
    }

    .product-review-jump{
        border:0;
        box-shadow:none;
        background:transparent;
        color:#6b7280;
        gap:5px;
        display:inline-flex;
        align-items:center;
        padding:0;
        font-weight:850;
        white-space:nowrap;
    }

    .product-rating-stars{
        display:inline-flex;
        align-items:center;
        gap:1px;
        color:#f6b500;
        font-size:12px;
        line-height:1;
    }

    .product-rating-stars i,
    .product-review-jump i{
        color:#f6b500;
    }

    .product-review-count{
        color:#737985;
        font-size:11px;
    }

    .product-mobile-actions{
        display:none;
    }

    .product-mobile-actions button{
        width:34px;
        height:34px;
        display:grid;
        place-items:center;
        border:0;
        background:#fff;
        color:#050505;
        font-size:25px;
    }

    .product-unit-block{
        order:5;
        width:calc(100vw - 52px) !important;
        max-width:calc(100vw - 52px) !important;
        min-width:0;
        overflow:visible;
        margin-top:22px;
    }

    .product-unit-block h2{
        font-size:18px;
        margin:0;
    }

    .product-unit-grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        width:calc(100vw - 52px) !important;
        max-width:calc(100vw - 52px) !important;
        min-width:0 !important;
        box-sizing:border-box;
        gap:8px;
        margin:12px 0 0;
        padding:0;
        overflow:visible;
        scroll-snap-type:none;
    }

    .product-unit-grid::-webkit-scrollbar{
        display:none;
    }

    .unit-card{
        position:relative;
        display:block;
        min-width:0;
        min-height:78px;
        padding:27px 8px 8px;
        border:1.5px solid #cfd4dc;
        border-radius:12px;
        background:#fff;
        text-align:left;
        overflow:hidden;
        scroll-snap-align:none;
        box-shadow:0 2px 8px rgba(15,23,42,.04);
    }

    .unit-card span{
        position:absolute;
        top:0 !important;
        left:0;
        right:0;
        height:22px;
        min-height:0;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        margin:0 !important;
        padding:0 8px;
        border-radius:0;
        background:linear-gradient(90deg,#4f9df8 0%,#f3f8ff 100%);
        color:#fff;
        font-size:10px;
        line-height:1;
        font-weight:950;
        text-transform:uppercase;
        z-index:1;
    }

    .unit-card strong{
        display:block;
        color:#1f2937;
        font-size:15px;
        line-height:1.05;
        font-weight:850;
    }

    .unit-card b{
        display:inline-block;
        margin-top:7px;
        color:#111827;
        font-size:17px;
        line-height:1;
        font-weight:950;
    }

    .unit-card small{
        display:inline-block;
        margin-left:3px;
        color:#6b7280;
        font-size:10px;
        line-height:1;
        font-weight:800;
        text-decoration:line-through;
    }

    .unit-card.selected{
        border-color:#15803d;
        background:#f8fff9;
        box-shadow:inset 0 0 0 1px #15803d,0 4px 12px rgba(21,128,61,.10);
    }

    .unit-card:not(.selected) span{
        background:linear-gradient(90deg,#4f9df8 0%,#eef5ff 100%);
    }

    .product-buy-card{
        position:fixed !important;
        top:auto !important;
        left:0;
        right:0;
        bottom:0;
        z-index:9000;
        min-height:82px;
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 140px;
        grid-template-rows:auto auto auto;
        column-gap:10px;
        row-gap:2px;
        align-items:center;
        margin:0 !important;
        padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
        border:0;
        border-top:1px solid #e5e7eb;
        border-radius:0 !important;
        background:#fff;
        box-shadow:0 -8px 24px rgba(15,23,42,.08);
    }

    .product-buy-card-top{
        grid-column:1;
        grid-row:1;
        padding:0;
        border:0;
        display:block;
        color:#737985;
        font-size:14px;
    }

    .product-buy-card-top span{
        display:none;
    }

    .product-buy-card-top strong{
        display:block;
        margin:0;
        color:#737985;
        font-size:15px;
        line-height:1;
        font-weight:750;
    }

    .product-buy-price{
        grid-column:1;
        grid-row:2;
        margin:0;
        display:flex;
        align-items:baseline;
        gap:5px;
        flex-wrap:wrap;
    }

    .product-buy-price strong{
        font-size:22px;
        line-height:1;
    }

    .product-buy-price del{
        display:inline;
        color:#737985;
        font-size:14px;
        font-weight:750;
    }

    .product-unit-rate{
        display:none;
    }

    .product-buy-discount{
        padding:3px 7px;
        border-radius:6px;
        background:#e6f0ff;
        color:#2664c5;
        font-size:12px;
        line-height:1;
        font-weight:900;
    }

    .product-buy-card > small{
        grid-column:1;
        grid-row:3;
        margin:0;
        color:#737985;
        font-size:11px;
    }

    .product-buy-card .desktop-product-buy{
        grid-column:2;
        grid-row:1 / 4;
        display:block !important;
        align-self:center;
    }

    .product-buy-card .add-btn{
        height:48px;
        min-height:48px;
        border-radius:9px;
        font-size:16px;
        text-transform:none;
        background:#17850f;
    }

    .product-buy-card .qty-box{
        height:48px;
        min-height:48px;
        border-radius:9px;
    }

    .product-buy-card .qty-box button{
        height:48px;
        width:44px;
    }

    .product-detail-page + .floating-cart{
        bottom:calc(96px + env(safe-area-inset-bottom));
        z-index:8999;
    }
}

@media(max-width:768px){
    .category-page .category-sidebar-main{
        position:relative;
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
    }

    .category-page .category-sidebar-main i{
        position:absolute;
        right:5px;
        bottom:7px;
        font-size:10px;
    }

    .category-page .category-sidebar-sublist{
        padding:0 5px 8px;
        margin:-4px 0 3px;
    }

    .category-page .category-sidebar-sublist a{
        min-height:76px;
        flex-direction:column;
        justify-content:center;
        gap:5px;
        padding:5px 4px;
        border-radius:7px;
        font-size:10px;
        line-height:1.15;
        text-align:center;
    }

    .category-page .category-sidebar-sublist img{
        width:40px;
        height:40px;
        border-radius:8px;
    }

    .category-page .category-sidebar-sublist span{
        width:100%;
        font-size:10px;
        line-height:1.1;
        text-align:center;
    }
}

.product-card .variation-picker,
.category-page .product-card .variation-picker{
    order:4;
    width:max-content;
    max-width:100%;
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:4px;
    color:#64748b;
    font-size:10px;
    line-height:1;
}

.product-card .variation-picker > span,
.category-page .product-card .variation-picker > span{
    flex:0 0 auto;
    color:#6b7280;
    font-size:10px;
    line-height:1;
    font-weight:850;
}

.product-card .variation-picker select,
.category-page .product-card .variation-picker select{
    width:94px;
    max-width:94px;
    min-width:68px;
    height:24px;
    border:1px solid #dfe6df;
    border-radius:6px;
    background:#fff;
    color:#1f2937;
    font-size:10px;
    line-height:1;
    font-weight:800;
    padding:0 18px 0 7px;
    outline:none;
}

.product-card .variation-picker select:focus,
.category-page .product-card .variation-picker select:focus{
    border-color:#0C831F;
    box-shadow:0 0 0 2px rgba(12,131,31,.08);
}

.product-card .weight,
.category-page .product-card .weight{
    display:none;
}

@media(max-width:480px){
    .product-card .variation-picker,
    .category-page .product-card .variation-picker{
        gap:4px;
        margin-top:3px;
    }

    .product-card .variation-picker > span,
    .category-page .product-card .variation-picker > span{
        font-size:9px;
    }

    .product-card .variation-picker select,
    .category-page .product-card .variation-picker select{
        width:82px;
        max-width:82px;
        height:23px;
        font-size:9px;
        padding-left:6px;
    }
}

.product-card.search-highlight,
.category-page .product-card.search-highlight{
    outline:3px solid rgba(12,131,31,.5);
    outline-offset:2px;
    background:#f0fff4;
    animation:searchPulseStrong 1.05s ease-in-out 3;
    scroll-margin-top:170px;
}

@keyframes searchPulseStrong{
    0%,100%{
        box-shadow:0 4px 10px rgba(15,23,42,.04);
    }
    50%{
        box-shadow:0 0 0 6px rgba(12,131,31,.16), 0 12px 28px rgba(12,131,31,.15);
    }
}

.product-card.product-out-of-stock .product-image img{
    opacity:.62;
    filter:grayscale(.45);
}

.stock-badge,
.out-stock-badge{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:4px 8px;
    border-radius:6px;
    background:#111827;
    color:#fff;
    font-size:11px;
    font-weight:800;
    line-height:1;
    box-shadow:0 8px 18px rgba(15,23,42,.16);
}

.product-card.product-out-of-stock .add-btn,
.product-card .add-btn:disabled{
    border-color:#d1d5db !important;
    background:#f3f4f6 !important;
    color:#6b7280 !important;
    cursor:not-allowed;
    box-shadow:none !important;
}

.product-card.product-out-of-stock .qty-box{
    display:none !important;
}

.product-detail-stock-warning,
.cart-stock-warning{
    margin-top:6px;
    color:#b42318;
    font-size:12px;
    font-weight:800;
}

.cart-plus:disabled,
.drawer-plus:disabled,
.plus-btn:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.product-slider{
    cursor:grab;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
}

.product-slider.is-dragging{
    cursor:grabbing;
    scroll-behavior:auto;
    user-select:none;
}

.product-slider.is-dragging *{
    user-select:none;
}

.product-mobile-search-overlay{
    display:none;
}

@media(min-width:761px){
    .product-detail-body .product-mobile-bar,
    .product-detail-body .product-mobile-search-overlay{
        display:none !important;
    }

    .product-detail-page{
        padding:10px 0 22px;
        background:#f6f8f7;
    }

    .product-breadcrumb{
        max-width:1120px;
        padding:8px 12px 0;
        font-size:12px;
        gap:6px;
    }

    .product-detail-shell{
        width:min(100% - 32px,1120px);
        max-width:1120px;
        margin:10px auto 0;
        padding:0;
        grid-template-columns:minmax(300px,390px) minmax(0,1fr) 250px;
        gap:12px;
        align-items:start;
    }

    .product-gallery-card{
        grid-row:1 / span 2;
        position:sticky;
        top:82px;
        padding:8px;
        border-radius:8px;
        box-shadow:0 6px 18px rgba(15,23,42,.045);
    }

    .product-gallery-layout{
        gap:8px;
    }

    .product-gallery-thumbs{
        width:52px;
        flex-basis:52px;
        gap:7px;
        max-height:372px;
    }

    .product-gallery-thumbs button{
        width:50px;
        height:50px;
        flex-basis:50px;
        padding:3px;
        border-radius:7px;
    }

    .product-main-image-box{
        padding-top:0;
        border-radius:7px;
        background:#f8f6f0;
    }

    .product-detail-offer,
    .product-detail-delivery{
        display:none !important;
    }

    .product-gallery-track{
        height:372px;
        min-height:0;
        border-radius:7px;
        background:#f8f6f0;
    }

    .product-gallery-slide{
        background:#f8f6f0;
    }

    .product-gallery-slide img{
        width:100%;
        height:100%;
        padding:0;
        object-fit:contain;
        transform:none !important;
    }

    .product-gallery-slide:hover img{
        transform:none !important;
        cursor:default;
    }

    .product-gallery-dots{
        bottom:8px;
    }

    .product-gallery-dots span{
        width:6px;
        height:6px;
    }

    .product-gallery-dots span.active{
        width:15px;
    }

    .product-detail-panel,
    .product-buy-card{
        grid-column:auto;
        padding:12px;
        border-radius:8px;
        box-shadow:0 6px 18px rgba(15,23,42,.045);
    }

    .product-brand-line{
        margin-bottom:6px;
        font-size:12px;
    }

    .product-detail-panel h1{
        font-size:22px !important;
        line-height:1.15;
        margin:0;
    }

    .product-detail-subtitle{
        margin:4px 0 0;
        font-size:13px;
        line-height:1.3;
    }

    .product-detail-pills{
        margin-top:10px;
        gap:6px;
    }

    .product-time-pill,
    .product-review-jump{
        min-height:26px;
        padding:0 8px;
        border-radius:6px;
        font-size:11px;
    }

    .product-rating-stars{
        gap:1px;
        font-size:11px;
    }

    .product-detail-trigger{
        min-height:50px;
        margin-top:10px;
        padding:9px 10px;
        gap:10px;
    }

    .product-detail-trigger span{
        grid-template-columns:28px minmax(0,1fr);
        column-gap:8px;
    }

    .product-detail-trigger span > i{
        font-size:19px;
    }

    .product-detail-trigger strong{
        font-size:13px;
    }

    .product-detail-trigger small{
        font-size:11px;
        line-height:1.25;
    }

    .product-bought-line,
    .product-promise-grid,
    .product-buy-service{
        display:none !important;
    }

    .product-unit-block{
        margin-top:14px;
    }

    .product-unit-block h2{
        font-size:15px;
        margin:0;
    }

    .product-unit-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:8px;
        margin-top:9px;
        overflow:visible;
    }

    .unit-card{
        position:relative;
        min-height:74px;
        padding:25px 7px 7px;
        border:1.5px solid #cfd4dc;
        border-radius:10px;
        text-align:left;
        overflow:hidden;
        box-shadow:0 2px 8px rgba(15,23,42,.035);
    }

    .unit-card span{
        position:absolute;
        top:0 !important;
        left:0;
        right:0;
        height:21px;
        min-height:0;
        margin:0 !important;
        padding:0 7px;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        border-radius:0;
        background:linear-gradient(90deg,#4f9df8 0%,#f3f8ff 100%);
        color:#fff;
        font-size:9px;
        line-height:1;
        font-weight:950;
        text-transform:uppercase;
    }

    .unit-card strong{
        display:block;
        color:#1f2937;
        font-size:14px;
        line-height:1.05;
    }

    .unit-card b{
        display:inline-block;
        margin-top:6px;
        color:#111827;
        font-size:16px;
        line-height:1;
    }

    .unit-card small{
        display:inline-block;
        margin-left:3px;
        color:#6b7280;
        font-size:9px;
        line-height:1;
        font-weight:800;
        text-decoration:line-through;
    }

    .unit-card.selected{
        border-color:#15803d;
        background:#f8fff9;
        box-shadow:inset 0 0 0 1px #15803d,0 3px 10px rgba(21,128,61,.09);
    }

    .product-buy-card{
        position:sticky;
        top:82px;
    }

    .product-buy-card-top{
        padding-bottom:9px;
        font-size:12px;
    }

    .product-buy-price{
        margin-top:12px;
        gap:6px;
        flex-wrap:wrap;
    }

    .product-buy-price strong{
        font-size:24px;
    }

    .product-buy-price del{
        font-size:12px;
    }

    .product-buy-discount{
        font-size:11px;
        padding:3px 6px;
    }

    .product-buy-card > small{
        margin-top:4px;
        font-size:11px;
    }

    .product-buy-card .product-detail-buy{
        margin-top:12px;
    }

    .product-buy-card .add-btn{
        min-height:40px;
        height:40px;
        border-radius:7px;
        font-size:13px;
    }

    .product-buy-card .qty-box,
    .product-buy-card .qty-box button{
        height:40px;
        min-height:40px;
    }

    .product-detail-section,
    .product-reviews-section{
        width:min(100% - 32px,1120px);
        max-width:1120px;
        margin-top:14px;
    }

    .product-detail-section-header{
        margin-bottom:8px;
    }

    .product-detail-section-header h2{
        font-size:17px;
    }

    .product-reviews-section{
        padding:12px;
    }

    .review-card{
        padding:10px;
    }

    .review-card h3{
        font-size:14px;
    }

    .review-card p{
        font-size:12px;
        line-height:1.4;
    }
}

@media(min-width:761px) and (max-width:1120px){
    .product-detail-shell{
        grid-template-columns:minmax(280px,360px) minmax(0,1fr);
    }

    .product-buy-card{
        grid-column:2;
        position:static;
    }
}

@media(min-width:769px){
    .product-detail-body .floating-cart,
    .product-detail-page + .floating-cart{
        display:none !important;
        visibility:hidden !important;
        pointer-events:none !important;
    }

    .offer-section{
        display:none !important;
    }
}

.product-carousel{
    position:relative;
}

.product-slide-btn{
    display:none;
}

@media(min-width:769px){
    .product-carousel .product-slider{
        width:100%;
    }

    .product-slide-btn{
        position:absolute;
        top:50%;
        z-index:8;
        display:flex;
        align-items:center;
        justify-content:center;
        width:36px;
        height:58px;
        border:1px solid #d9e2e6;
        border-radius:8px;
        background:#fff;
        color:#111827;
        box-shadow:0 8px 22px rgba(15,23,42,.14);
        font-size:26px;
        line-height:1;
        font-weight:900;
        transform:translateY(-50%);
        cursor:pointer;
    }

    .product-slide-prev{
        left:-12px;
    }

    .product-slide-next{
        right:-12px;
    }

    .product-slide-btn:hover:not(:disabled){
        color:#0C831F;
        border-color:#0C831F;
    }

    .product-slide-btn:disabled,
    .product-carousel:not(.is-scrollable) .product-slide-btn{
        opacity:0;
        pointer-events:none;
    }
}

@media(max-width:768px){
    .product-buy-card{
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
        box-sizing:border-box !important;
        padding-left:14px !important;
        padding-right:14px !important;
        overflow:hidden;
    }

    .product-buy-card .product-detail-buy,
    .product-buy-card .mobile-product-buy,
    .product-buy-card .add-btn{
        width:100%;
        max-width:100%;
        min-width:0;
        box-sizing:border-box;
    }
}


/* SHYAMANSH CUSTOMER PUSH */
.notification-opt-in{position:fixed;right:18px;bottom:84px;z-index:9000;display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #087319;border-radius:7px;background:#0c831f;color:#fff;font-weight:800;box-shadow:0 8px 22px rgba(12,80,27,.22)}.notification-opt-in[hidden]{display:none}.customer-push-toast{position:fixed;right:18px;top:90px;z-index:9999;display:flex;align-items:center;gap:10px;width:min(360px,calc(100% - 24px));padding:13px;border:1px solid #d9e8dc;border-radius:8px;background:#fff;color:#17201a;text-align:left;box-shadow:0 12px 32px rgba(18,44,24,.18)}.customer-push-toast>i{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:#e5f7e8;color:#0c831f}.customer-push-toast span{display:grid;gap:3px}.customer-push-toast small{color:#667269;line-height:1.35}@media(max-width:600px){.notification-opt-in{right:12px;bottom:76px}.customer-push-toast{right:12px;top:74px}}