/* The Group's editorial palette, with a practical grocery-shopping interface. */
@font-face{font-family:Fragment;src:url('assets/fragment-mono.woff2') format('woff2');font-display:swap}
:root{--orange:#cf3907;--green:#36543a;--ink:#272e23;--muted:#727866;--line:#e0ddcf;--cream:#f4efdf}
body{background:#f6f3e9}.demo-strip{background:#171b14;color:#dacaac}#header{background:#cf3907}.brand{background:transparent}.head-inner{max-width:1480px}.eyebrow{font-family:Fragment,monospace;font-weight:400;letter-spacing:.1em}.primary,.secondary{border-radius:4px;transition:transform .2s,background .2s}.primary:hover,.secondary:hover{transform:translateY(-2px)}
.home-page{max-width:none;padding:0 0 70px}.home-page>.section,.home-page>.promo-row,.home-page>.store-story{max-width:1280px;margin-left:auto;margin-right:auto;width:90%}.hero-market{background:#171b14;color:#eee6d5;border-radius:0;min-height:580px;grid-template-columns:1fr 1fr;gap:5%;padding:64px max(5%,calc((100vw - 1280px)/2));margin-bottom:60px;align-items:center;overflow:hidden}.hero-content{padding:0}.hero-content .eyebrow{color:#c3a47b;font-size:10px}.hero-content h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(45px,5.2vw,76px);line-height:1.02;font-weight:400;letter-spacing:-.055em;margin:24px 0}.hero-content h1 em{color:#c3a47b}.hero-content p{color:#bec4b3;font-size:16px;line-height:1.7}.hero-content .primary{background:#dccaaa;color:#262c20;font-family:Fragment,monospace;font-size:11px;padding:18px 24px}.hero-points{font-family:Fragment,monospace;color:#bbbda8;font-size:9px;gap:18px;margin-top:30px}.hero-photo{background:#a75935;border:1px solid #d79b6860;border-left:10px solid #75432b;padding:27px 25px 35px;border-radius:3px 12px 12px 3px;box-shadow:6px 5px 0 #e3d9bf,11px 9px 0 #aaa18b,20px 30px 48px #0006;transform:perspective(1200px) rotateY(-7deg) rotate(3deg);transition:transform .65s;align-self:center}.hero-photo:hover{transform:perspective(1200px) rotateY(-2deg) rotate(0)}.hero-photo:before{content:'NABHO BAZAAR / THE NEIGHBOURHOOD EDITION';position:static;display:block;background:none;font-family:Fragment,monospace;color:#f4dbc0;font-size:9px;letter-spacing:.06em;line-height:1.7;margin-bottom:25px}.hero-photo img{position:static;display:block;width:100%;height:auto;aspect-ratio:720/321;object-fit:contain;border:6px solid #f1e5cb}.hero-photo>span{position:static;background:transparent;box-shadow:none;border-radius:0;border-top:1px solid #e5bc9180;padding:22px 0 0;margin-top:24px;justify-content:center;color:#f7e5cf;font-family:Fragment,monospace;font-size:10px}.section-title h2,.store-story h2,.promo h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em}.section-title h2{font-size:36px}.section-title{padding-bottom:17px;border-bottom:1px solid #d7d4c4}.section{margin-top:50px;margin-bottom:55px}.category-tile>span{border-radius:5px 14px 14px 5px;border-left:3px solid #0002;box-shadow:3px 3px 0 #d1ccb8}.category-tile strong{font-size:12px}.product{border-radius:6px;background:#fffef9;transition:transform .25s,box-shadow .25s}.product:hover{transform:translateY(-4px);box-shadow:0 12px 25px #32392712}.product-image{background:#f2f0e6;border-radius:4px}.product-name{font-size:14px;line-height:1.5;min-height:42px}.brand-name{font-size:10px;color:#6c7564}.pack{font-size:11px;color:#697363}.add{min-height:40px;background:#f1f5e9;border-radius:4px}.qty{height:40px;border-radius:4px}.qty button{height:38px;min-width:30px}.promo{border-radius:4px;position:relative;border:1px solid #cfc6ab;box-shadow:4px 4px 0 #ddd5be}.promo.green{background:#dde2ce}.promo.peach{background:#ead9bc}.promo h2{font-size:34px}.store-story{border-radius:5px;background:#eae2cd;border-color:#cec5ae;align-items:center}.store-story>img{height:auto;aspect-ratio:720/321;object-fit:contain}.store-story h2{font-size:36px}.store-story>div{padding:40px}.store-story p{color:#626953}#footer{max-width:none;background:#171b14;color:#e8dec9;padding:45px 5%}#footer strong{font-family:Georgia,serif;font-weight:400;font-size:28px}#footer p,#footer small{color:#b7bcaa}#footer a{color:#d4b98f}.category-sidebar{background:#fffcf3}.bill{background:#ece7d6}.card-panel,.order-card{background:#fffef9}.shop-heading h1,.narrow>h1,.profile-head h1{font-family:Georgia,serif;font-weight:400;font-size:44px;letter-spacing:-.045em}.checkout-layout>aside{align-self:start;position:sticky;top:120px}.product-grid .product-image{height:180px}.search{border-radius:5px}.reveal-in{animation:page-rise .65s both}.hero-content{animation:page-rise .8s both}.hero-photo{animation:book-arrive 1s both}@keyframes page-rise{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes book-arrive{from{opacity:0;translate:20px 15px}to{opacity:1;translate:0 0}}
@media(min-width:701px) and (max-width:1050px){.hero-market{gap:6%;min-height:490px;padding-top:45px;padding-bottom:45px}.hero-content h1{font-size:48px}.hero-photo{padding:20px 16px}.hero-points{flex-wrap:wrap}.categories{gap:12px}.product-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.home-page{padding:0 0 30px}.hero-market{grid-template-columns:1fr;gap:30px;padding:32px 22px 42px;min-height:0;margin-bottom:32px}.hero-content{padding:0}.hero-content .eyebrow{font-size:8px}.hero-content h1{font-size:clamp(41px,11vw,62px);margin:18px 0;line-height:1.04}.hero-content p{font-size:14px;max-width:none;margin-bottom:22px}.hero-content .primary{font-size:11px;min-height:46px;padding:14px 18px}.hero-points{display:none}.hero-photo{width:94%;max-width:430px;margin:auto;padding:18px 16px 20px;border-left-width:7px;transform:perspective(1000px) rotateY(-4deg) rotate(2deg)}.hero-photo:before{background:none;font-size:7px;margin-bottom:15px}.hero-photo img{object-position:center;border-width:4px}.hero-photo>span{font-size:8px;margin-top:15px;padding:13px 0 0;gap:6px}.hero-photo>span svg{width:14px}.home-page>.section,.home-page>.promo-row,.home-page>.store-story{width:calc(100% - 32px)}.section{margin-top:30px;margin-bottom:34px}.section-title h2{font-size:28px}.section-title{padding-bottom:12px}.section-title>a{font-size:11px}.eyebrow{font-size:8px}.category-tile strong{font-size:10px}.categories{gap:17px 10px}.product-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:10px}.product-rail>.product{min-width:0}.product{padding:10px}.product-image{height:145px}.product-name{font-size:13px;min-height:40px}.brand-name{font-size:10px}.pack{font-size:11px}.product-bottom strong{font-size:14px}.add{min-width:62px;font-size:11px;padding:9px 8px}.qty{min-width:76px}.promo-row{display:grid;grid-template-columns:1fr;overflow:visible;gap:16px}.promo{height:180px;padding:24px}.promo h2{font-size:31px}.promo .eyebrow{font-size:8px}.store-story>img{height:auto}.store-story>div{padding:26px}.store-story h2{font-size:31px}.store-story p{font-size:14px}.shop-heading h1,.narrow>h1,.profile-head h1{font-size:35px}.category-sidebar{max-height:calc(100dvh - 220px);overflow-y:auto}.category-sidebar button{font-size:9px;min-height:66px}.product-grid .product-image{height:120px}.product-grid .product-name{font-size:12px;min-height:54px}.product-grid .pack{font-size:10px}.search input{font-size:16px;padding:12px 0}.search{min-width:0}.delivery strong{font-size:11px}.delivery small{font-size:10px}.checkout-layout>aside{position:static}.primary,.secondary{min-height:44px}.cart-item strong{font-size:12px}.cart-item small{font-size:10px}.cart-item>b{font-size:12px}.cart-item .qty{min-width:66px}.form-row{grid-template-columns:1fr}dialog input,dialog select,dialog textarea{font-size:16px}#bottom-nav{background:#fffdf6}#bottom-nav>a{min-height:40px;font-size:10px}#cart-bar{bottom:88px}#footer{padding-bottom:110px}.home-page .product-bottom{flex-wrap:wrap}.head-inner{gap:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Authentication, CRM, Store Manager Desk & Backup */
.grocery-auth-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px 50px;border-radius:18px;background:linear-gradient(180deg, #fffcf5 0%, #f6f1e3 100%);margin:10px auto 40px;border:1px solid #e5dfd0;box-shadow:0 10px 30px #00000006}
.grocery-auth-stage.admin-theme{background:linear-gradient(180deg, #1b261f 0%, #111814 100%);color:#f1f5f0;border-color:#2a3a30}
.grocery-badge-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}
.grocery-badge-item{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:30px;font-size:11px;font-weight:700;letter-spacing:.02em;background:#fff;color:#283626;border:1px solid #d9d5c5;box-shadow:0 3px 10px #00000008;transition:transform .2s ease}
.grocery-badge-item:hover{transform:translateY(-2px)}
.admin-theme .grocery-badge-item{background:#233529;color:#cde0d2;border-color:#3b5643}

.auth-box{width:100%;max-width:440px;margin:0 auto;padding:34px 30px;background:#ffffff;border:1px solid #dfd8c7;border-radius:16px;box-shadow:0 15px 35px #1a2e1d10;transition:transform .25s ease,box-shadow .25s ease;animation:cardRise .5s ease}
.auth-box:hover{transform:translateY(-3px);box-shadow:0 20px 45px #1a2e1d18}
@keyframes cardRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.auth-box h2{font-family:Georgia,serif;font-weight:400;font-size:28px;margin-bottom:8px}
.auth-box p{color:var(--muted);font-size:13px;line-height:1.5}
.auth-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px;gap:8px}
.auth-tab{flex:1;padding:12px;font-size:13px;font-weight:700;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;text-align:center;transition:all .2s;background:transparent}
.auth-tab.active{color:var(--green);border-color:var(--green);background:#f2f7ef;border-radius:6px 6px 0 0}

.admin-login-wrap{width:100%;max-width:450px;margin:0 auto;padding:42px 34px;background:#1a231c;border:1px solid #36483c;border-radius:16px;box-shadow:0 20px 45px #00000050;animation:cardRise .5s ease}
.admin-login-wrap h1{font-family:Georgia,serif;font-size:32px;font-weight:400;color:#f3efe5;margin:12px 0 8px}
.admin-login-wrap p.muted{color:#a9b5a8;font-size:13px}
.admin-login-wrap label{color:#dee7dc}
.admin-login-wrap input{background:#233027;color:#fff;border-color:#384d3e}
.admin-login-wrap input:focus{border-color:#659f77;box-shadow:0 0 0 3px #659f7733}
.admin-login-wrap .fine{color:#97a596}
.admin-login-wrap .fine b{color:#ecd6ad}

/* Social & OTP Auth Styles */
.social-divider{display:flex;align-items:center;text-align:center;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.05em;margin:18px 0}
.social-divider:before,.social-divider:after{content:'';flex:1;border-bottom:1px solid var(--line)}
.social-divider:not(:empty):before{margin-right:12px}
.social-divider:not(:empty):after{margin-left:12px}
.google-btn-wrap{display:flex;justify-content:center;margin-bottom:16px;min-height:44px}
.otp-digit-group{display:flex;gap:8px;justify-content:center;margin:14px 0}
.otp-input{width:46px;height:54px;font-size:24px;font-weight:700;text-align:center;border:2px solid #cfc8b8;border-radius:10px;background:#fff;transition:border-color .2s,box-shadow .2s}
.otp-input:focus{border-color:var(--green);box-shadow:0 0 0 3px #36543a22;outline:none}
.otp-helper{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-top:10px}
.resend-btn{background:none;border:none;color:var(--green);font-weight:700;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}
.resend-btn[disabled]{opacity:.5;cursor:not-allowed;text-decoration:none}
.test-otp-notice{background:#fdf6e7;border:1px solid #e9d5a1;color:#856404;padding:8px 12px;border-radius:8px;font-size:11px;margin:12px 0;display:flex;align-items:center;gap:6px}

/* Interactive Animated Map Pin */
.delivery-pin{position:relative;width:34px;height:42px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.delivery-pin .pin-head{width:32px;height:32px;background:var(--orange);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 14px #00000030;border:3px solid #fff;display:flex;align-items:center;justify-content:center;animation:pinDrop .4s cubic-bezier(0.175, 0.885, 0.32, 1.275)}
.delivery-pin .pin-icon{transform:rotate(45deg);font-size:15px;line-height:1}
.delivery-pin .pin-shadow{position:absolute;bottom:0;width:16px;height:6px;background:#00000033;border-radius:50%;filter:blur(1px);animation:pinShadow .4s ease}
.delivery-pin .pin-pulse{position:absolute;bottom:-4px;width:36px;height:12px;border-radius:50%;border:2px solid var(--orange);animation:radarPulse 1.8s infinite ease-out;pointer-events:none}
@keyframes pinDrop{0%{transform:translateY(-24px) scale(1.1) rotate(-45deg);opacity:0}100%{transform:translateY(0) scale(1) rotate(-45deg);opacity:1}}
@keyframes pinShadow{0%{transform:scale(0.3);opacity:0}100%{transform:scale(1);opacity:1}}
@keyframes radarPulse{0%{transform:scale(0.4);opacity:0.9}100%{transform:scale(2.2);opacity:0}}

.geocoded-badge{display:inline-flex;align-items:center;gap:6px;background:#e9f5ed;color:#1e6a32;border:1px solid #c2e5cd;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600;margin-top:8px}

.auth-hero-banner{text-align:center;position:relative;z-index:2;margin-bottom:24px}
.auth-hero-banner h1{font-family:Georgia,serif;font-size:clamp(32px, 4vw, 42px);font-weight:400;margin:10px 0 8px;letter-spacing:-0.03em}
.auth-hero-banner p{color:#646e5e;font-size:14px;max-width:420px;margin:0 auto}
.admin-theme .auth-hero-banner h1{color:#f7f4ea}
.admin-theme .auth-hero-banner p{color:#a6b6a6}

.admin-nav-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:14px;margin:20px 0 25px;border-bottom:1px solid var(--line)}
.admin-nav-btn{padding:10px 16px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;background:#eae5d6;color:#3d4838;transition:all .15s}
.admin-nav-btn.active{background:var(--green);color:#fff}
.admin-nav-btn:hover:not(.active){background:#ded8c5}
.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:28px}
.kpi-card{background:#fffef9;border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.kpi-card small{font-size:11px;color:var(--muted);display:block;margin-bottom:6px}
.kpi-card strong{font-size:24px;font-family:Manrope,sans-serif;color:var(--ink)}
.badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.02em}
.badge.green{background:#e2f0de;color:#1e6a32}
.badge.orange{background:#fde8df;color:#c04011}
.badge.blue{background:#e3f0f7;color:#19618a}
.badge.gray{background:#ebebe8;color:#5a5e58}
.audit-list{display:flex;flex-direction:column;gap:12px}
.audit-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#fffef9;border:1px solid var(--line);border-radius:8px}
.audit-item div strong{font-size:13px;display:block;margin-bottom:2px}
.audit-item div p{font-size:11px;color:var(--muted);margin:0}
.audit-item time{font-size:11px;color:#858f7e;white-space:nowrap}
.backup-card{background:#f5f0e1;border:1px solid #d4c8ad;border-radius:12px;padding:26px;margin-bottom:24px}
.backup-card h3{font-family:Georgia,serif;font-size:22px;margin:0 0 10px}
.backup-card p{font-size:13px;color:#545e4c;margin:0 0 18px;line-height:1.6}
.backup-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.client-chip{display:inline-flex;align-items:center;gap:6px;background:#fff3eb;color:#be3c0e;padding:6px 12px;border-radius:20px;font-weight:700;font-size:11px}
@media(max-width:900px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.kpi-grid{grid-template-columns:1fr}}

.store-announcement{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 4%;background:#1d2920;color:#e8f0e5;font-size:11px;font-weight:600;letter-spacing:.02em}
.store-announcement span{color:#cedacb}
.store-announcement .staff-link{color:#d6bf94;font-size:11px;text-decoration:none;padding:3px 8px;border-radius:4px;background:#2d3e32;transition:background .2s}
.store-announcement .staff-link:hover{background:#3b5041;color:#fff}
@media(max-width:700px){.store-announcement{font-size:9px;padding:8px 12px}.store-announcement span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Head Account Link: Always visible next to basket */
.head-account{display:inline-flex!important;align-items:center;text-decoration:none}
.head-account .client-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:700;background:#ffffff24;color:#fff;border:1px solid #ffffff44;transition:background .2s,transform .2s;white-space:nowrap}
.head-account .client-chip:hover{background:#ffffff40;transform:translateY(-1px)}
.head-account .client-chip.guest{background:#ffffff18;color:#fff;border-color:#ffffff35}
.desktop-cart{display:inline-flex!important}

@media(max-width:700px){
 .head-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
 .desktop-cart{padding:8px 12px;font-size:11px}
 .head-account .client-chip{padding:5px 9px;font-size:10px}
}


/* Quick-Commerce Product Gallery & Section Shelves */
.gallery-card{position:relative;background:#fff;border:1px solid #e8e5dc;border-radius:14px;padding:12px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease;overflow:hidden}
.gallery-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1c2e2012}
.gallery-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.gallery-select-tag{font-size:9px;font-weight:800;color:#9b4e18;background:#fef4eb;padding:2px 8px;border-radius:4px;letter-spacing:.03em;text-transform:lowercase}
.wishlist-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:4px;border-radius:50%;display:grid;place-items:center;transition:color .2s,transform .2s}
.wishlist-btn:hover{color:#e11d48;transform:scale(1.15)}
.gallery-img-wrap{background:#f8f7f2;border-radius:10px;height:140px;width:100%;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;margin-bottom:10px}
.gallery-img-wrap img{max-height:100%;max-width:100%;object-fit:contain;transition:transform .25s ease}
.gallery-img-wrap:hover img{transform:scale(1.06)}
.gallery-price-line{display:flex;align-items:baseline;gap:6px;margin:2px 0}
.price-chip{font-family:Manrope,sans-serif;font-size:15px;font-weight:800;color:#183b27}
.gallery-mrp{font-size:11px;color:#9ca3af;text-decoration:line-through}
.gallery-save-tag{display:inline-block;font-size:10px;font-weight:800;color:#15803d;margin-bottom:4px}
.gallery-name{font-size:12px;font-weight:700;color:#222a24;text-align:left;line-height:1.4;margin:2px 0 4px;padding:0;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border:none;background:none;cursor:pointer}
.gallery-name:hover{color:var(--orange)}
.gallery-pack{font-size:10px;color:#78847b;margin-bottom:8px;display:block}
.gallery-perks{display:flex;flex-direction:column;gap:3px;font-size:9px;color:#6b7280;margin-bottom:12px;padding:6px;background:#f9fafb;border-radius:6px}
.gallery-card-actions{margin-top:auto}
.gallery-card-actions .add{width:100%;border:1.5px solid #e11d48;color:#e11d48;background:#fff;border-radius:8px;font-size:12px;font-weight:800;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;transition:all .15s ease}
.gallery-card-actions .add:hover{background:#fff1f2}
.gallery-card-actions .qty{width:100%;border:1.5px solid #e11d48;background:#fff;color:#e11d48;border-radius:8px;height:36px}
.gallery-card-actions .qty button{color:#e11d48;font-weight:800}

/* Shop Category Shelf Rows */
.shop-sections-container{display:flex;flex-direction:column;gap:34px}
.category-shelf-section{background:#ffffff;border:1px solid #e8e4d8;border-radius:16px;padding:22px;box-shadow:0 3px 12px #00000004}
.shelf-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #f0ede4}
.shelf-header-left{display:flex;align-items:center;gap:10px}
.shelf-indicator{width:10px;height:24px;border-radius:4px;display:inline-block}
.shelf-header-left h3{font-family:Georgia,serif;font-size:20px;font-weight:600;margin:0;color:#202820}
.shelf-count{font-size:11px;color:#859085;font-weight:600;background:#f4f1e8;padding:2px 8px;border-radius:12px}
.shelf-view-all{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--orange);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s}
.shelf-view-all:hover{background:#fdf2ec}
.gallery-shelf-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1100px){.gallery-shelf-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.gallery-shelf-row{display:flex;overflow-x:auto;gap:12px;padding-bottom:10px;scroll-snap-type:x proximity;margin:0 -10px;padding-left:10px;padding-right:10px}}
@media(max-width:768px){.gallery-shelf-row>.gallery-card{flex:0 0 170px;scroll-snap-align:start}}

/* Zepto Style Full Product Detail Dialog / Screen */
dialog.wide{width:min(680px,calc(100% - 24px));padding:0;border-radius:24px;overflow:hidden;background:#f7f6f0;border:none;box-shadow:0 25px 80px #00000040}
dialog.wide .modal-head{display:none}
.product-detail-container{display:flex;flex-direction:column;max-height:88dvh;overflow-y:auto;scroll-behavior:smooth;padding-bottom:80px;background:#f8f7f2}
.pdp-top-bar{position:sticky;top:0;z-index:20;background:#ffffffea;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid #ebe7dc}
.pdp-circle-btn{width:36px;height:36px;border-radius:50%;background:#f3efe4;border:none;cursor:pointer;display:grid;place-items:center;color:#333;transition:background .15s}
.pdp-circle-btn:hover{background:#e8e1cf}
.pdp-mini-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.pdp-mini-thumb{width:34px;height:34px;object-fit:contain;border-radius:6px;background:#fff;border:1px solid #e8e3d5}
.pdp-mini-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:240px}
.pdp-mini-title span{font-size:11px;color:#183b27;font-weight:700}
.pdp-mini-title del{font-size:10px;color:#999;margin-left:4px}
.pdp-top-actions{display:flex;gap:8px}

.pdp-hero-gallery{background:#ffffff;padding:24px 20px 16px;text-align:center;border-bottom:1px solid #ece7dc}
.pdp-img-stage{position:relative;display:inline-block;width:100%;max-width:320px;height:240px}
.pdp-main-image{width:100%;height:100%;object-fit:contain}
.pdp-hero-discount{position:absolute;top:0;left:0;background:#15803d;color:#fff;font-size:11px;font-weight:800;padding:4px 8px;border-radius:6px}
.pdp-gallery-dots{display:flex;gap:6px;justify-content:center;margin-top:16px}
.pdp-dot{width:6px;height:6px;border-radius:50%;background:#d8d2c4}
.pdp-dot.active{width:18px;border-radius:10px;background:#2d3a30}

.pdp-card{background:#ffffff;margin:12px 16px 0;padding:18px 20px;border-radius:16px;border:1px solid #ebe6da;box-shadow:0 2px 8px #00000004}
.pdp-core-card{margin-top:12px}
.pdp-speed-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pdp-speed-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;color:#c2410c;background:#fff4ed;padding:4px 10px;border-radius:6px}
.pdp-select-badge{font-size:10px;font-weight:800;color:#78350f;background:#fef3c7;padding:3px 8px;border-radius:4px}
.pdp-brand-name{font-size:11px;font-weight:800;letter-spacing:.05em;color:#78867a;display:inline-block;margin:6px 0 2px}
.pdp-title{font-family:Georgia,serif;font-size:22px;font-weight:500;line-height:1.3;margin:4px 0 6px;color:#18221b}
.pdp-pack-size{font-size:12px;color:#727e74;margin-bottom:14px}
.pdp-price-wrap{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.pdp-prices{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pdp-price{font-family:Manrope,sans-serif;font-size:26px;font-weight:800;color:#172e21}
.pdp-mrp{font-size:13px;color:#89958c}
.pdp-tax-note{font-size:11px;color:#94a3b8}
.pdp-savings-badge{background:#eef7ee;color:#15803d;border:1px solid #ccebd0;font-size:11px;font-weight:800;padding:4px 10px;border-radius:6px}
.pdp-cashback-strip{display:flex;align-items:center;gap:8px;background:#fdf6e7;border:1px solid #f3e2b9;color:#854d0e;padding:10px 14px;border-radius:10px;font-size:12px}

.pdp-badges-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 16px 0}
.pdp-usp-item{background:#fff;border:1px solid #ebe6da;border-radius:12px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px}
.pdp-usp-icon-wrap{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;flex-shrink:0}
.pdp-usp-item strong{font-size:12px;display:block;margin-bottom:2px;color:#1d2920}
.pdp-usp-item small{font-size:10px;color:#78867a;line-height:1.4;display:block}

.pdp-section-header{font-family:Georgia,serif;font-size:18px;margin:0 0 12px;color:#1c2920}
.pdp-section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pdp-serve-badge{font-size:10px;font-weight:700;color:#6b7280;background:#f3f4f6;padding:3px 8px;border-radius:6px}
.pdp-desc-text{font-size:13px;color:#526155;line-height:1.6;margin:0 0 16px}
.pdp-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#faf8f2;border-radius:10px;padding:12px;margin-bottom:14px}
.pdp-meta-cell small{font-size:9px;color:#88948a;font-weight:800;display:block;margin-bottom:4px;letter-spacing:.04em}
.pdp-meta-cell strong{font-size:12px;color:#1e2e22}
.pdp-perks-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.pdp-perk-box{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f5f3ec;border-radius:10px}
.pdp-perk-box span{font-size:18px}
.pdp-perk-box strong{font-size:11px;display:block}
.pdp-perk-box small{font-size:9px;color:#7a867c}
.pdp-ingredients{font-size:11px;color:#657368;border-top:1px solid #f0ede4;padding-top:10px}

/* Nutritional breakdown pills & table */
.pdp-nutrition-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pdp-nut-pill{padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600}
.pdp-nut-pill.fire{background:#fff1f2;color:#e11d48}
.pdp-nut-pill.protein{background:#f3e8ff;color:#7e22ce}
.pdp-nut-pill.carbs{background:#ecfeff;color:#0e7490}
.pdp-nut-pill.fats{background:#fef9c3;color:#a16207}
.pdp-nutrition-table{display:flex;flex-direction:column;gap:8px}
.pdp-nut-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f3efe6;font-size:12px}
.pdp-nut-row:last-child{border-bottom:none}
.nut-label{color:#64748b}
.nut-value{color:#0f172a}

/* Similar Products Rail */
.pdp-rail-card{padding:18px 16px}
.pdp-rail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.pdp-rail-head h3{font-family:Georgia,serif;font-size:18px;margin:0;color:#18221b}
.pdp-rail-sub{font-size:10px;color:#78867a;font-weight:600}
.pdp-horizontal-rail{display:flex;overflow-x:auto;gap:12px;padding-bottom:10px;scroll-snap-type:x proximity}
.pdp-horizontal-rail>.gallery-card{flex:0 0 160px;scroll-snap-align:start}

/* Sticky Bottom Action Bar */
.pdp-sticky-bar{position:fixed;bottom:0;left:0;right:0;background:#ffffff;box-shadow:0 -6px 20px #00000012;padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;z-index:30}
.pdp-sticky-price strong{font-family:Manrope,sans-serif;font-size:22px;color:#1c2d22;display:block}
.pdp-sticky-price del{font-size:11px;color:#9ca3af}
.pdp-sticky-actions-group{
 display:flex;
 align-items:center;
 gap:8px;
}

.pdp-sticky-action{
 display:flex;
 align-items:center;
}

.sticky-add{min-width:110px;background:#e11d48!important;color:#fff!important;border:none!important;font-size:13px;font-weight:800;border-radius:10px;padding:11px 18px;box-shadow:0 3px 10px #e11d4835;cursor:pointer;white-space:nowrap;transition:all .18s ease}
.sticky-add:hover{background:#be123c!important;transform:translateY(-1px)}
.sticky-qty{min-width:110px;height:42px;border-radius:10px;border:2px solid #e11d48;background:#fff1f2}
.sticky-qty button{font-size:18px;color:#e11d48;font-weight:800}
.sticky-qty span{font-size:14px;color:#e11d48;font-weight:800}

.pdp-btn-basket{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 background:#f5f2e8;
 color:#253d2b;
 border:1.5px solid #d9d2be;
 border-radius:10px;
 padding:10px 14px;
 font-size:12px;
 font-weight:700;
 cursor:pointer;
 transition:all .18s ease;
 white-space:nowrap;
 text-decoration:none!important;
}

.pdp-btn-basket:hover{
 background:#26432b;
 color:#ffffff;
 border-color:#26432b;
 transform:translateY(-1px);
}

.pdp-btn-basket svg{
 width:15px;
 height:15px;
}

.pdp-btn-checkout{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 background:#cf3907;
 color:#ffffff!important;
 border:none;
 border-radius:10px;
 padding:11px 18px;
 font-size:13px;
 font-weight:800;
 cursor:pointer;
 box-shadow:0 3px 12px #cf390740;
 transition:all .18s ease;
 white-space:nowrap;
 text-decoration:none!important;
}

.pdp-btn-checkout:hover{
 background:#e0430e;
 transform:translateY(-1px);
 box-shadow:0 5px 16px #cf390760;
}

.pdp-btn-checkout svg{
 width:13px;
 height:13px;
}

@media(max-width:600px){
 .pdp-sticky-bar{
  padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
  gap:8px;
 }
 .pdp-sticky-price strong{font-size:18px}
 .pdp-sticky-actions-group{gap:5px}
 .sticky-add{min-width:82px;padding:9px 12px;font-size:12px}
 .sticky-qty{min-width:82px;height:38px}
 .sticky-qty button{font-size:16px}
 .sticky-qty span{font-size:13px}
 .pdp-btn-basket{padding:9px 10px;font-size:11px;gap:4px}
 .pdp-btn-checkout{padding:9px 12px;font-size:12px;gap:4px}
}

/* ====================================================================
   Modern Delivery Address & Pin Map Modal
   ==================================================================== */
/* Dialog container enhancements specifically for address modal */
dialog.address-dialog{
 width:min(680px,calc(100% - 24px))!important;
 max-height:88dvh!important;
 max-height:88vh;
 padding:20px 22px!important;
 overflow-y:auto!important;
 overscroll-behavior:contain;
 border-radius:18px!important;
 box-sizing:border-box!important;
}
dialog.address-dialog::-webkit-scrollbar{width:6px}
dialog.address-dialog::-webkit-scrollbar-thumb{background:#00000022;border-radius:10px}

.modern-address-form{display:flex;flex-direction:column;gap:14px;margin-top:2px;width:100%;box-sizing:border-box}
.map-section-card{background:#ffffff;border:1px solid #e5e0d3;border-radius:14px;padding:12px 14px;box-shadow:0 3px 12px #00000008;display:flex;flex-direction:column;gap:10px;width:100%;box-sizing:border-box}
.map-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.map-head-text strong{font-size:13px;font-weight:800;color:#1d2920;display:block}
.map-head-text span{font-size:11px;color:#788476;display:block;margin-top:1px}

.map-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.btn-map-close{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:#f3eee3;border:1px solid #d4cdbd;border-radius:50%;color:#4b5749;cursor:pointer;transition:all .18s ease;flex-shrink:0}
.btn-map-close:hover{background:#e7e0d2;color:#18241a;transform:scale(1.08)}
.btn-map-close svg{width:14px;height:14px}

.btn-map-overlay-close{position:absolute;top:10px;right:10px;z-index:999;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.92);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid #d6cfbf;border-radius:50%;color:#323e31;cursor:pointer;box-shadow:0 3px 8px #00000022;transition:all .18s ease}
.btn-map-overlay-close:hover{background:#ffffff;color:#b91c1c;border-color:#b91c1c;transform:scale(1.1)}
.btn-map-overlay-close svg{width:14px;height:14px}

/* Map Place Search Bar & Dropdown */
.map-search-bar{position:relative;display:flex;align-items:center;background:#f7f5ed;border:1.5px solid #d6cfbe;border-radius:10px;padding:2px 10px;transition:border-color .18s,box-shadow .18s,background .18s;width:100%;box-sizing:border-box}
.map-search-bar:focus-within{background:#ffffff;border-color:var(--green);box-shadow:0 0 0 3px #36543a18}
.map-search-icon{display:inline-flex;align-items:center;justify-content:center;color:#6b7868;margin-right:6px;flex-shrink:0}
.map-search-icon svg{width:16px;height:16px}
.map-search-bar input{flex:1;min-width:0;border:none!important;background:transparent!important;padding:8px 4px!important;font-size:12px;color:#1e2e21;outline:none!important;box-shadow:none!important}
.map-search-clear{background:none;border:none;color:#859283;font-size:18px;font-weight:700;cursor:pointer;padding:0 4px;line-height:1;flex-shrink:0}
.map-search-clear:hover{color:#223023}

.map-search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#ffffff;border:1px solid #d4cdbc;border-radius:10px;box-shadow:0 8px 24px #00000020;max-height:220px;overflow-y:auto;z-index:1005}
.map-search-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid #f1ece1;cursor:pointer;transition:background .15s ease}
.map-search-item:last-child{border-bottom:none}
.map-search-item:hover{background:#f4f9f4}
.map-search-item.searching,.map-search-item.empty{cursor:default;color:#788677;font-size:12px;padding:14px}
.map-search-item.searching:hover,.map-search-item.empty:hover{background:#fff}
.search-item-icon{font-size:16px;line-height:1;margin-top:2px;flex-shrink:0}
.search-item-info strong{display:block;font-size:12px;font-weight:700;color:#18261b}
.search-item-info small{display:block;font-size:11px;color:#6d7a6c;margin-top:2px;line-height:1.35;word-break:break-word}

.btn-locate-gps{display:inline-flex;align-items:center;gap:6px;background:#e9f5ed;color:#1c6932;border:1.5px solid #a8dcba;border-radius:24px;padding:6px 12px;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #1c693214;white-space:nowrap}
.btn-locate-gps:hover{background:#d5edd9;border-color:#1c6932;transform:translateY(-1px);box-shadow:0 4px 10px #1c693225}
.btn-locate-gps svg{width:14px;height:14px}
.gps-pulse{width:7px;height:7px;background:#1c6932;border-radius:50%;display:inline-block;animation:locatePulse 1.6s infinite}
@keyframes locatePulse{0%{transform:scale(0.8);opacity:1}50%{transform:scale(1.4);opacity:0.4}100%{transform:scale(0.8);opacity:1}}

/* Fluid map frame that adjusts cleanly by aspect-ratio */
.map-frame-wrapper{position:relative;width:100%;aspect-ratio:16 / 9;min-height:180px;max-height:260px;border-radius:12px;overflow:hidden;border:1.5px solid #dcd7ca;box-shadow:inset 0 2px 6px #0000000d;box-sizing:border-box}
#addressForm #map{height:100%!important;width:100%!important;border-radius:0!important;border:none!important}

.geo-status-banner{position:absolute;bottom:8px;left:8px;right:8px;background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #d5cfbf;border-radius:8px;padding:6px 10px;display:flex;align-items:center;gap:6px;font-size:10.5px;color:#2c3a2f;box-shadow:0 3px 10px #00000014;z-index:999;transition:all .2s ease;pointer-events:none;box-sizing:border-box}
.geo-status-icon{font-size:13px;flex-shrink:0}
.geo-status-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}

.coords-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f9f7f2;border-radius:10px;padding:8px 10px;border:1px solid #ece7db;box-sizing:border-box}
.coord-field small{font-size:8.5px;font-weight:800;letter-spacing:.05em;color:#879284;display:block;margin-bottom:2px}
.coord-field input{width:100%;box-sizing:border-box;background:#ffffff;border:1px solid #d2cbbe;border-radius:6px;padding:5px 8px;font-size:11px;font-family:monospace;color:#243226}
.coord-field input:focus{border-color:#1c6932;outline:none}

.address-details-card{background:#ffffff;border:1px solid #e5e0d3;border-radius:14px;padding:14px;box-shadow:0 3px 12px #00000008;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box}
.address-details-card label{font-size:11px;font-weight:700;color:#505c4e;display:flex;flex-direction:column;gap:4px}
.address-details-card input{border:1.5px solid #d6d0c2;border-radius:8px;padding:9px 11px;font-size:12.5px;transition:border-color .15s,box-shadow .15s;background:#fdfcf9;width:100%;box-sizing:border-box}
.address-details-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px #36543a18;background:#fff;outline:none}

.address-type-selector{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.selector-title{font-size:10px;font-weight:800;letter-spacing:.04em;color:#505c4e;text-transform:uppercase}
.address-tag-pills{display:flex;gap:8px;width:100%;box-sizing:border-box}
.addr-pill{flex:1;min-width:0;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:#f4f1e8;border:1.5px solid #dbd5c6;border-radius:10px;font-size:11.5px;font-weight:700;color:#394637;cursor:pointer;transition:all .18s cubic-bezier(0.16, 1, 0.3, 1);box-sizing:border-box}
.addr-pill:hover{background:#ede9dc;border-color:#beb7a4;transform:translateY(-1px)}
.addr-pill.active{background:#e7f4eb;border-color:#1c6932;color:#1c6932;box-shadow:0 3px 8px #1c693220}
.addr-pill .pill-icon{font-size:13px;line-height:1}

.address-action-row{display:flex;gap:10px;margin-top:4px;width:100%;box-sizing:border-box}
.btn-adjust{flex:1;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;font-size:12.5px;font-weight:800;border-radius:10px;transition:all .18s ease;cursor:pointer;text-align:center;box-sizing:border-box}
.btn-adjust.primary{background:var(--green);color:#fff;border:none;box-shadow:0 4px 12px #26432b35}
.btn-adjust.primary:hover{background:#1f3623;box-shadow:0 6px 16px #26432b45;transform:translateY(-1px)}
.btn-adjust.secondary{background:#f1eee4;color:#495444;border:1.5px solid #d4cdbe}
.btn-adjust.secondary:hover{background:#e5e1d5;border-color:#bcb4a3}

/* Mobile Responsiveness for Phones: Zero cutoff, auto fluid aspect-ratio, full padding safety */
@media(max-width:700px){
 dialog.address-dialog{
  width:calc(100% - 16px)!important;
  max-height:92dvh!important;
  max-height:92vh;
  padding:14px 12px!important;
  border-radius:16px!important;
  margin:auto!important;
 }
 dialog.address-dialog .modal-head{margin-bottom:12px}
 dialog.address-dialog .modal-head h2{font-size:17px;letter-spacing:-0.01em}

 .modern-address-form{gap:10px}
 .map-section-card{padding:10px;border-radius:12px;gap:8px}
 .map-card-head{flex-direction:row;align-items:center;gap:6px}
 .map-head-text strong{font-size:12px}
 .map-head-text span{font-size:10px}
 .btn-locate-gps{padding:5px 9px;font-size:10px;gap:4px}
 .btn-map-close{width:28px;height:28px}
 
 /* Aspect-ratio 16:9 on mobile gives natural proportions without pushing form off-screen */
 .map-frame-wrapper{aspect-ratio:16 / 9;min-height:160px;max-height:210px;border-radius:10px}
 .geo-status-banner{bottom:6px;left:6px;right:6px;padding:5px 8px;font-size:9.5px}
 
 .coords-row{padding:6px 8px;gap:8px;border-radius:8px}
 .coord-field input{padding:4px 6px;font-size:10px}
 
 .address-details-card{padding:12px 10px;border-radius:12px;gap:10px}
 .address-details-card label{font-size:10px;gap:3px}
 .address-details-card input{padding:8px 10px;font-size:12px;border-radius:7px}
 
 .address-type-selector{gap:5px}
 .address-tag-pills{gap:6px}
 .addr-pill{height:36px;font-size:11px;padding:0 4px}
 
 .address-action-row{flex-direction:column;gap:8px}
 .btn-adjust{width:100%!important;height:42px;font-size:12px}
}

@media(max-width:400px){
 .map-card-head{flex-wrap:wrap}
 .map-head-actions{width:100%;justify-content:space-between}
 .map-frame-wrapper{aspect-ratio:4 / 3;min-height:150px;max-height:190px}
}

/* ====================================================================
   Cohesive Typography & Clean Button Styling (Non-AI, Authentic Feel)
   ==================================================================== */
/* Human, balanced typography */
body{
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif!important;
 -webkit-font-smoothing:antialiased;
 -moz-osx-font-smoothing:grayscale;
 text-rendering:optimizeLegibility;
}

h1,h2,h3,h4{
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,sans-serif!important;
 font-weight:700!important;
 letter-spacing:-0.025em!important;
}

.hero-content h1{
 font-family:Georgia,Cambria,"Times New Roman",serif!important;
 font-weight:400!important;
 letter-spacing:-0.035em!important;
}

/* Tighter, balanced margins between sections */
.section{margin:28px 0 32px!important}
.section-title{padding-bottom:10px!important;margin-bottom:14px!important}
.page{padding-top:16px!important}
.narrow>h1{margin-bottom:16px!important;font-size:28px!important}

/* Section action buttons: 'See everything', 'View all', 'Browse store' */
.btn-section-action{
 display:inline-flex;
 align-items:center;
 gap:6px;
 background:#f5f2e8;
 color:#2b4632;
 border:1.5px solid #d9d2be;
 border-radius:24px;
 padding:7px 16px;
 font-size:12px;
 font-weight:700;
 text-decoration:none!important;
 transition:all .18s cubic-bezier(0.16, 1, 0.3, 1);
 box-shadow:0 2px 6px #00000008;
 white-space:nowrap;
 cursor:pointer;
}

.btn-section-action:hover{
 background:#26432b;
 color:#ffffff!important;
 border-color:#26432b;
 transform:translateY(-1px);
 box-shadow:0 4px 12px #26432b30;
}

.btn-section-action svg{
 width:13px;
 height:13px;
 transition:transform .18s ease;
}

.btn-section-action:hover svg{
 transform:translateX(2px);
}

/* Shelf 'View all' action button */
.shelf-view-all{
 display:inline-flex!important;
 align-items:center!important;
 gap:6px!important;
 background:#fff6f1!important;
 color:#cf3907!important;
 border:1.5px solid #fbdacf!important;
 border-radius:20px!important;
 padding:6px 14px!important;
 font-size:11.5px!important;
 font-weight:700!important;
 transition:all .18s ease!important;
 box-shadow:0 2px 6px #cf390710!important;
}

.shelf-view-all:hover{
 background:#cf3907!important;
 color:#ffffff!important;
 border-color:#cf3907!important;
 transform:translateY(-1px)!important;
 box-shadow:0 4px 12px #cf390728!important;
}

/* Dedicated Back Navigation Buttons ('← Back to basket', '← Back to store', '← Continue Shopping') */
.btn-back-nav{
 display:inline-flex;
 align-items:center;
 gap:8px;
 background:#f3efe4;
 color:#324335;
 border:1.5px solid #dcd4c1;
 border-radius:10px;
 padding:8px 16px;
 font-size:12.5px;
 font-weight:700;
 text-decoration:none!important;
 transition:all .18s ease;
 box-shadow:0 2px 6px #0000000a;
}

.btn-back-nav:hover{
 background:#e7e0cf;
 color:#172419;
 border-color:#b8ac95;
 transform:translateX(-2px);
 box-shadow:0 4px 10px #00000014;
}

.back-arrow-icon{
 font-size:15px;
 line-height:1;
 transition:transform .18s ease;
}

.btn-back-nav:hover .back-arrow-icon{
 transform:translateX(-2px);
}

/* Ensure mobile adjusts properly */
@media(max-width:700px){
 .btn-section-action{padding:5px 12px;font-size:11px;gap:4px}
 .btn-back-nav{padding:6px 12px;font-size:11.5px}
 .section{margin:20px 0 24px!important}
 .narrow>h1{font-size:24px!important}
}

/* ====================================================================
   Floating Sticky Cart & Checkout Bar (Always Visible on Cart Addition)
   ==================================================================== */
#cart-bar{
 display:block!important;
 position:fixed!important;
 bottom:20px!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 width:min(620px,calc(100% - 28px))!important;
 z-index:150!important;
 pointer-events:none;
}

#cart-bar:empty{
 display:none!important;
}

.cart-floating-bar{
 pointer-events:auto;
 display:flex;
 align-items:center;
 justify-content:space-between;
 background:#1b2e21;
 color:#ffffff;
 padding:10px 14px;
 border-radius:16px;
 box-shadow:0 12px 32px #00000045,0 2px 8px #00000020;
 border:1.5px solid #36503c;
 animation:cartBarPop .25s cubic-bezier(0.16, 1, 0.3, 1);
 gap:12px;
}

@keyframes cartBarPop{
 from{opacity:0;transform:translateY(14px) scale(0.96)}
 to{opacity:1;transform:translateY(0) scale(1)}
}

.cart-bar-left{
 display:flex;
 flex-direction:column;
 gap:2px;
}

.cart-bar-badge{
 font-size:9.5px;
 font-weight:800;
 letter-spacing:.06em;
 color:#87b792;
 text-transform:uppercase;
}

.cart-bar-total{
 font-size:18px;
 font-weight:800;
 color:#ffffff;
 font-family:monospace;
 line-height:1.1;
}

.cart-bar-actions{
 display:flex;
 align-items:center;
 gap:8px;
}

.btn-cart-view{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 background:rgba(255,255,255,0.12);
 color:#e5ede6;
 border:1px solid rgba(255,255,255,0.2);
 border-radius:10px;
 padding:8px 14px;
 font-size:12px;
 font-weight:700;
 text-decoration:none!important;
 transition:all .18s ease;
 white-space:nowrap;
}

.btn-cart-view:hover{
 background:rgba(255,255,255,0.22);
 color:#ffffff;
}

.btn-cart-checkout{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:6px;
 background:#cf3907;
 color:#ffffff!important;
 border:none;
 border-radius:10px;
 padding:9px 18px;
 font-size:13px;
 font-weight:800;
 text-decoration:none!important;
 box-shadow:0 4px 14px #cf390750;
 transition:all .18s ease;
 white-space:nowrap;
}

.btn-cart-checkout:hover{
 background:#e0430e;
 transform:translateY(-1px);
 box-shadow:0 6px 18px #cf390770;
}

.btn-cart-checkout svg{
 width:13px;
 height:13px;
}

/* Mobile bottom nav spacing protection */
@media(max-width:700px){
 #cart-bar{
  bottom:64px!important;
  width:calc(100% - 16px)!important;
 }
 .cart-floating-bar{
  padding:8px 10px;
  border-radius:14px;
  gap:8px;
 }
 .cart-bar-total{font-size:16px}
 .btn-cart-view{padding:7px 10px;font-size:11px}
 .btn-cart-checkout{padding:8px 12px;font-size:12px}
}




