/* BCM FoodHub customer styles — extracted for production */

:root{--ink:#17261c;--green:#0b9b5a;--violet:#6d28d9;--pink:#e85d9c;--paper:#fffdf7;--line:#e2e8e2}*{box-sizing:border-box}body{margin:0;font:15px/1.5 Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% 5%,#e1ffd8,transparent 20%),radial-gradient(circle at 94% 2%,#ffddef,transparent 22%),var(--paper)}header{height:74px;padding:0 max(18px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fffffff0;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{font-size:22px;font-weight:900}.brand b{color:var(--green)}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}.button{border-radius:13px;background:linear-gradient(135deg,var(--violet),var(--pink));padding:11px 15px;color:white;font-weight:800}.shell{width:min(1120px,calc(100% - 32px));margin:30px auto}.hero{padding:58px;border-radius:28px;background:linear-gradient(120deg,#32105d,#7c3aed 54%,#e85d9c);color:white;box-shadow:0 24px 45px #44226d28}.hero h1{font-size:clamp(36px,6vw,65px);line-height:1;margin:10px 0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.card,.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 10px 22px #17381c0a}.card:hover{transform:translateY(-4px);box-shadow:0 18px 30px #57227b19}.price{font-size:19px;font-weight:900;color:var(--violet)}.form{display:grid;gap:10px;max-width:480px}.form input,.form textarea,.form select{border:1px solid #d7dfd7;border-radius:12px;padding:12px;width:100%}.order{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:10px 0}.tag{font-size:11px;border-radius:999px;padding:5px 8px;background:#e7f8ed;color:#087a43;font-weight:800}.notice{padding:12px;border-radius:12px;background:#edfff0;color:#087a43;margin:12px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stats div{background:#fff;border-radius:16px;padding:16px;border:1px solid var(--line)}.stats strong{display:block;font-size:32px;color:var(--violet)}@media(max-width:700px){header{padding:0 16px}.hero{padding:35px 25px}.grid,.stats{grid-template-columns:repeat(2,1fr)}.order{align-items:flex-start;flex-direction:column}}
nav{display:flex;gap:10px;align-items:center}nav button:not(.button),.panel button:not(.button){background:#f1e9ff;color:#5b2498;padding:8px 11px;border-radius:10px;font-weight:800}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.section-head input{padding:11px;border:1px solid var(--line);border-radius:12px}.card{cursor:pointer}.product-detail{max-width:720px;margin:20px auto}.option-group{margin:18px 0}.choices{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}.choices button{padding:10px 13px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:800}.choices button small{display:block;color:#71677a}.choices button.selected{color:#fff;background:linear-gradient(135deg,var(--violet),var(--pink));border-color:transparent;box-shadow:0 8px 18px #7c3aed3d}.choices button.selected small{color:#fff}.order-total{margin:16px 0;display:flex;justify-content:space-between;padding:13px;background:#f3eaff;border-radius:13px}.order-total strong{color:var(--violet);font-size:20px}dialog{border:0;border-radius:20px;box-shadow:0 20px 50px #1118;width:min(420px,calc(100% - 28px))}dialog::backdrop{background:#1d0b3a99}.close{float:right;background:none;color:#444;font-size:22px}
.message{padding:11px;border-radius:12px;background:#f4f4f8}.message.customer{background:#eee3ff;margin-left:12%}.message.super_admin{background:#e6faeb;margin-right:12%}
/* Mobile-first account refresh: lively but calm. */
.profile-card{max-width:560px;margin:auto;overflow:hidden;position:relative}.profile-card:before{content:'';position:absolute;width:190px;height:190px;border-radius:50%;background:linear-gradient(135deg,#d7c5ff,#ffd4ec);right:-80px;top:-90px}.profile-orb{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;color:#fff;background:linear-gradient(135deg,var(--violet),var(--pink));font-size:25px;box-shadow:0 12px 23px #7c3aed40;animation:softFloat 3s ease-in-out infinite}.profile-card details{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.profile-card summary{font-weight:850;color:var(--violet);cursor:pointer}.order{animation:cardIn .35s ease both}.notice{animation:noticeIn .4s ease both}@keyframes softFloat{50%{transform:translateY(-6px) rotate(8deg)}}@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes noticeIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@media(max-width:700px){nav button:not(.button){display:none}.shell{width:min(100% - 22px,650px);margin:16px auto}.panel{border-radius:16px}.profile-card{padding:16px}.hero{border-radius:20px}.choices button{flex:1;min-width:120px}}

.address-mini{display:flex;justify-content:space-between;gap:10px;padding:12px;margin:9px 0;border:1px solid var(--line);border-radius:13px;background:#fff;font-size:13px}.address-mini button{padding:6px;border-radius:8px;background:#f1e9ff;color:#5b2498;margin-left:4px}@media(max-width:500px){.address-mini{flex-direction:column}.address-mini button{margin:6px 4px 0 0}}

.review-box{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.review{padding:10px;margin:8px 0;border-radius:12px;background:#faf8ff}.review b{color:#f3a622;display:block}.review strong{display:block;margin-top:4px}.review p{margin:4px 0}.muted{color:#6d6876}

.loyalty-pill{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;background:#fff3b8;color:#795700;border-radius:999px;font-weight:850;font-size:13px;box-shadow:0 6px 13px #dcae2630}

.coupon-row{display:flex;gap:8px;margin:10px 0}.coupon-row input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px;text-transform:uppercase}.coupon-row button{border-radius:10px;padding:10px;background:#efe4ff;color:#5b2498;font-weight:850}#coupon-result{font-size:13px;color:#087a43;font-weight:800;margin-bottom:8px}

.cake-quote{margin-top:22px;background:linear-gradient(125deg,#f4ecff,#fff3f8);border-color:#dfc4ff}.cake-quote h2{font-size:28px;line-height:1.05;margin:8px 0}.cake-quote .form{max-width:620px;margin-top:16px}.cake-quote textarea{min-height:100px}

.verify-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:12px 0}.verify-row input{max-width:110px;padding:8px;border:1px solid var(--line);border-radius:9px}.verify-row button{padding:8px;border-radius:9px;background:#efe4ff;color:#5b2498;font-weight:800}
.tracking{display:flex;overflow-x:auto;gap:0;padding:16px 2px 4px;margin-top:10px;width:100%;scrollbar-width:thin}.track-step{min-width:122px;position:relative;padding:0 9px 0 27px;color:#9892a0;font-size:10px;font-weight:750}.track-step:before{content:'';position:absolute;left:0;right:0;top:9px;height:2px;background:#e4dfea;z-index:0}.track-step:first-child:before{left:13px}.track-step:last-child:before{right:calc(100% - 13px)}.track-step i{position:absolute;left:4px;top:0;width:18px;height:18px;border-radius:50%;background:#e4dfea;color:#fff;font-size:10px;font-style:normal;display:grid;place-items:center;z-index:1}.track-step.done{color:#4d1e7e}.track-step.done:before{background:#ad7bed}.track-step.done i{background:#7c3aed}.track-step.now i{background:#e85d9c;box-shadow:0 0 0 5px #f8d9ec;animation:trackingPulse 1.5s ease infinite}.track-step span{display:block;margin-top:25px;line-height:1.25}.order-track{flex-wrap:wrap}@keyframes trackingPulse{50%{transform:scale(1.16);box-shadow:0 0 0 8px #f8d9ec80}}@media(max-width:600px){.track-step{min-width:112px}.tracking{margin-left:-4px;width:calc(100% + 8px)}}

.product-img{width:100%;height:132px;object-fit:cover;border-radius:13px;margin-bottom:10px;background:#f1e9ff}.card .product-img{transition:transform .25s}.card:hover .product-img{transform:scale(1.025)}

#install-app{padding:8px;border-radius:10px;background:#fff1b8;color:#715300;font-weight:850}

.chips{display:flex;gap:8px;overflow:auto;padding:4px 0 12px}.chips button{white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:800;color:#5b2498}.chips button.active{background:#6d28d9;color:#fff;border-color:#6d28d9}

.order.unread{border-left:4px solid #e85d9c;background:#fff7fb}.order.unread b:before{content:'New';font-size:9px;text-transform:uppercase;letter-spacing:.7px;background:#e85d9c;color:#fff;padding:3px 5px;border-radius:5px;margin-right:6px}

.brand{display:flex;align-items:center;gap:4px;position:relative}.brand small{position:absolute;left:0;top:25px;white-space:nowrap;font-size:7px;letter-spacing:.7px;color:#8a8291;text-transform:uppercase}.bcm-footer{margin-top:44px;padding:26px max(18px,calc((100% - 1120px)/2));background:#201038;color:#e9ddff;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px}.bcm-footer strong{color:#fff}.bcm-footer b{color:#f5ca54}.app-loader{position:fixed;inset:0;z-index:999;background:radial-gradient(circle at 50% 40%,#fff3bd,#e8cbff 30%,#40136b);display:grid;place-items:center;transition:opacity .35s,visibility .35s}.app-loader.hide{opacity:0;visibility:hidden}.loader-mark{padding:28px 34px;text-align:center;border-radius:24px;background:#fff;box-shadow:0 22px 55px #21063d55;font-size:28px;font-weight:950;color:#201038;animation:brandPop .55s ease both}.loader-mark b{color:#0b9b5a}.loader-mark small,.loader-mark span{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#7a6d82;margin-top:8px}.loader-mark span{color:#6d28d9;font-weight:800;letter-spacing:.5px;text-transform:none;animation:loaderPulse 1.2s infinite}@keyframes brandPop{from{transform:translateY(16px) scale(.9);opacity:0}to{transform:none;opacity:1}}@keyframes loaderPulse{50%{opacity:.4;transform:translateY(2px)}}@media(max-width:600px){.bcm-footer{padding:22px 16px}.brand small{font-size:6px}}

@media(max-width:700px){.bcm-footer{display:none}}

.about-card{max-width:760px;margin:auto;background:linear-gradient(135deg,#fff,#f4ebff)}.about-card h1{font-size:clamp(30px,6vw,54px);line-height:1.02;margin:12px 0}.about-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.about-steps article{padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.about-steps b{display:block;width:26px;height:26px;border-radius:50%;background:#6d28d9;color:#fff;text-align:center;padding-top:3px;margin-bottom:7px}.about-steps span{font-size:12px;font-weight:750}.about-brand{margin-top:25px;padding-top:16px;border-top:1px solid var(--line);font-size:18px}.about-brand small{display:block;color:#81748c;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:3px}@media(max-width:600px){.about-steps{grid-template-columns:1fr}.about-card{padding:18px}}

.hero-about{margin-top:12px;padding:8px 0;background:transparent;color:#fff;border-bottom:1px solid #ffffff66;font-weight:800}

.mobile-nav{display:none}@media(max-width:700px){body{padding-bottom:82px}.mobile-nav{position:fixed;z-index:100;left:10px;right:10px;bottom:10px;height:64px;padding:5px;border-radius:20px;display:flex;justify-content:space-around;align-items:center;background:#201038;box-shadow:0 15px 34px #21063d55}.mobile-nav button{border:0;background:transparent;color:#d9cdea;min-width:48px;height:53px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:9px;font-weight:800}.mobile-nav i{font-style:normal;font-size:19px;line-height:18px}.mobile-nav .mobile-bag{background:linear-gradient(135deg,#e85d9c,#8c3ee1);color:#fff;transform:translateY(-14px);box-shadow:0 9px 18px #7c3aed77}.mobile-nav .mobile-bag i{font-size:22px}.mobile-nav .mobile-bag span{font-size:10px}}

.delivery-date-label{display:block;font-size:12px;font-weight:800;margin:11px 0;color:#5b2498}.delivery-date-label input{display:block;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:9px}

.food-info{display:grid;gap:3px;padding:10px;margin:9px 0;border-radius:11px;background:#f3f9f4;font-size:12px}.food-info b{color:#087a43}.food-info.allergen{background:#fff3ed}.food-info.allergen b{color:#a74a20}

.prep-note{padding:10px;margin:10px 0;border-radius:10px;background:#fff1c9;color:#795700;font-weight:800;font-size:12px}.checkline{font-size:13px;font-weight:800;color:#5b2498}

.store-logo{width:64px;height:64px;object-fit:cover;border-radius:18px;background:#fff;padding:4px;margin-bottom:9px;box-shadow:0 9px 20px #21063d44}

.store-reply{margin-top:8px;padding:8px;border-radius:8px;background:#e8f7eb;color:#145b31;font-size:12px}

.stock-label{display:block;margin-top:5px;color:#746a7b;font-size:11px;font-weight:750}

.legal-card{max-width:800px;margin:auto}.legal-card h1{font-size:clamp(30px,6vw,50px);line-height:1.04}.legal-card details{padding:14px 0;border-bottom:1px solid var(--line)}.legal-card summary{cursor:pointer;font-weight:900;color:#5b2498}.legal-card details p{font-size:13px;line-height:1.6;color:#4d4554}.legal-card details[open] summary{margin-bottom:8px}

.data-export{margin-top:15px;font-size:13px}

.privacy-actions{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.privacy-actions h3{margin:0}.privacy-actions p{font-size:12px;color:#71677a}.danger-button{padding:10px 12px;border-radius:10px;border:1px solid #f1b7be;background:#fff1f2;color:#ac2b3e;font-weight:850}

.delivery-exception{display:grid;gap:3px;padding:11px;margin-top:10px;border-radius:12px;background:#fff2e9;color:#a94b20;font-size:12px}.delivery-exception span{color:#7d5a4c}

#maintenance-banner{padding:12px 18px;background:#fff1c9;color:#795700;text-align:center;font-size:13px;font-weight:800;position:sticky;top:0;z-index:90}

/* Fail-safe: loader is cosmetic and may never block customer access. */
.app-loader.hide{pointer-events:none!important}
/* Marketplace bag counter — high-contrast, tactile and mobile-friendly. */
.bag-icon-wrap.has-items{filter:drop-shadow(0 4px 6px rgba(88,32,155,.22))}
.bag-count-inside{position:absolute;right:-10px;top:-10px;z-index:3;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:linear-gradient(135deg,#ffcf3f,#ef7d25);color:#3a145f;font:900 10px/1 Arial,sans-serif;letter-spacing:-.2px;box-shadow:0 4px 10px rgba(196,91,17,.35);animation:bag-counter-in .35s cubic-bezier(.2,1.5,.45,1)}
.circle-btn:hover .bag-count-inside,.nav-bag:hover .bag-count-inside{transform:translateY(-2px) scale(1.08)}
@keyframes bag-counter-in{0%{opacity:0;transform:scale(.3) rotate(-18deg)}70%{opacity:1;transform:scale(1.18) rotate(6deg)}100%{transform:scale(1)}}
@media(max-width:700px){.mobile-nav .bag-count-inside{right:-9px;top:-8px;min-width:17px;height:17px;font-size:9px}}


/* ==== Extracted from index.php head ==== */


/* --- block 1 --- */

html.bcm-payment-route #app-loader,html.bcm-payment-route .app-loader{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* V22 full-screen popup pages with top Back buttons */
.customer-popup-back-btn{border:0;border-radius:999px;background:#e8f8ed;color:#087a43;font-weight:950;padding:10px 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 8px 18px rgba(8,122,67,.08)}
.customer-popup-head{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px max(14px,calc((100vw - 860px)/2));background:rgba(255,255,255,.97);border-bottom:1px solid #dceede;backdrop-filter:blur(14px);text-align:left}.customer-popup-head h2,.customer-popup-head h3{margin:0!important;color:#123e27!important;letter-spacing:-.6px}.customer-popup-head small,.customer-popup-head p{display:block;margin:2px 0 0!important;color:#6b7a70!important;font-size:12px!important;line-height:1.35}.customer-popup-body{width:min(860px,calc(100% - 32px));margin:0 auto;padding:20px 0 calc(90px + env(safe-area-inset-bottom));text-align:left}.customer-popup-center{text-align:center;max-width:640px}.customer-popup-page{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;padding:0!important;overflow:auto!important;background:#fff!important;box-shadow:none!important;display:block!important;text-align:left!important}.customer-popup-backdrop{position:fixed!important;inset:0!important;display:block!important;padding:0!important;place-items:stretch!important;background:rgba(2,20,10,.72)!important;backdrop-filter:blur(8px)!important;z-index:260!important}.customer-popup-page .legal-updated{margin:2px 0 0!important}.legal-modal-backdrop,.native-notification-backdrop,.simple-cookie-overlay,.onboarding-overlay,.support-popup-backdrop{position:fixed!important;inset:0!important;display:block!important;place-items:stretch!important;align-items:stretch!important;justify-content:stretch!important;padding:0!important;background:rgba(2,20,10,.72)!important;backdrop-filter:blur(8px)!important}.legal-modal,.native-notification-popup,.simple-cookie-card,.onboarding-card,.support-popup{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;border-radius:0!important;padding:0!important;overflow:auto!important;background:#fff!important;box-shadow:none!important;display:block!important;text-align:left!important}.legal-modal-close,.onboarding-close{display:none!important}.native-notification-icon,.simple-cookie-mark,.onboarding-image{margin:18px auto 14px!important}.native-notification-actions,.simple-cookie-actions,.onboarding-buttons,.support-popup-actions{width:min(640px,100%);margin:18px auto 0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}.support-popup-head{position:sticky!important;top:0!important;z-index:5!important;border-radius:0!important}.support-popup-body{min-height:calc(100dvh - 150px)!important}.support-popup-close{border-radius:999px!important}.help-chat-overlay{padding:0!important;align-items:stretch!important;justify-content:flex-start!important}.help-chat-page-head{width:100%;background:rgba(7,94,84,.96)!important;border-bottom:1px solid rgba(255,255,255,.18)!important}.help-chat-page-head h2{color:#fff!important;text-shadow:none!important;text-align:left!important;margin:0!important}.help-chat-page-head small{color:rgba(255,255,255,.78)!important}.help-chat-page-head .customer-popup-back-btn{background:rgba(255,255,255,.16);color:#fff;box-shadow:none}.help-chat-overlay .chat-container{width:min(760px,calc(100% - 24px))!important;max-width:none!important;height:calc(100dvh - 82px)!important;margin:12px auto 0!important}.store-info-modal-head{grid-template-columns:auto minmax(0,1fr) auto!important}.store-info-back{flex:0 0 auto}.customer-refund-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.customer-refund-summary .refund-metric{border:1px solid var(--line);background:#f8fcf8;border-radius:16px;padding:14px}.customer-refund-summary span{display:block;color:var(--soft);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.55px}.customer-refund-summary strong{display:block;margin-top:4px;font-size:18px;line-height:1.2}@media(max-width:700px){.customer-popup-head{grid-template-columns:auto minmax(0,1fr);padding:12px}.customer-popup-head .store-info-close,.customer-popup-head .support-popup-close,.customer-popup-head .chat-close{display:none!important}.customer-popup-body{width:100%;padding:14px 12px calc(96px + env(safe-area-inset-bottom))}.customer-popup-head h2,.customer-popup-head h3{font-size:18px!important}.native-notification-actions,.simple-cookie-actions,.onboarding-buttons,.support-popup-actions{grid-template-columns:1fr!important;width:100%}.customer-refund-summary{grid-template-columns:1fr}.help-chat-overlay .chat-container{width:100%!important;height:calc(100dvh - 70px)!important;margin:0!important;border-radius:0!important}.simple-cookie-card details{max-height:none!important}.onboarding-text{min-height:0!important}}

  

/* V23 no-native browser workflow dialogs: full-screen prompt/confirm/alert pages with Back */
.app-dialog-backdrop{position:fixed;inset:0;z-index:360;display:block;padding:0;background:rgba(2,20,10,.72);backdrop-filter:blur(9px)}
.app-dialog-page{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;overflow:auto;background:var(--paper,var(--panel,#fff));color:var(--ink,#17261c);box-shadow:none;border:0;display:flex;flex-direction:column}
.app-dialog-head{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:14px max(14px,calc((100vw - 760px)/2));background:var(--paper,var(--panel,#fff));border-bottom:1px solid var(--line,#dceede);backdrop-filter:blur(14px)}
.app-dialog-head h2{margin:0;font-size:22px;letter-spacing:-.7px;color:var(--ink,#17261c)}.app-dialog-head small{display:block;color:var(--soft,var(--muted,#64748b));font-size:12px;margin-top:2px}.app-dialog-back-btn{border:0;border-radius:999px;background:#e8f8ed;color:#087a43;font-weight:950;padding:10px 14px;min-height:40px;display:inline-flex;align-items:center;gap:6px}.app-dialog-body{width:min(760px,calc(100% - 32px));margin:0 auto;padding:22px 0 calc(98px + env(safe-area-inset-bottom));text-align:left}.app-dialog-message{white-space:pre-wrap;line-height:1.58;color:var(--soft,var(--muted,#64748b));font-size:15px;margin:0 0 16px}.app-dialog-lines{display:grid;gap:8px;margin:14px 0}.app-dialog-line{padding:10px 12px;border:1px solid var(--line,#dceede);border-radius:13px;background:rgba(127,127,127,.06);font-size:13px;line-height:1.45}.app-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.app-dialog-actions.single{grid-template-columns:1fr}.app-dialog-page .field textarea{min-height:120px}@media(max-width:650px){.app-dialog-head{padding:12px}.app-dialog-head h2{font-size:18px}.app-dialog-body{width:100%;padding:14px 12px calc(104px + env(safe-area-inset-bottom))}.app-dialog-actions{grid-template-columns:1fr}.app-dialog-actions .btn{width:100%;min-height:44px}.app-dialog-page .field input,.app-dialog-page .field textarea,.app-dialog-page .field select{font-size:16px;min-height:46px}}

/* === BCM polish: motion, micro-interactions, mobile comfort === */
@keyframes bcmFadeIn{from{opacity:0}to{opacity:1}}
@keyframes bcmFadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes bcmToastIn{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes bcmModalIn{from{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:none}}
.bcm-view-wrap{animation:bcmFadeIn .28s ease}
.toast{animation:bcmToastIn .28s cubic-bezier(.2,.9,.3,1.15)}
.customer-popup-backdrop{animation:bcmFadeIn .22s ease}
.customer-popup-page{animation:bcmModalIn .26s cubic-bezier(.2,.9,.3,1.1)}
.btn:active{transform:scale(.97)}
.product,.store-tile,.insta-store-card,.fd-brand-card,.store-personality-card{transition:transform .18s ease,box-shadow .18s ease}
.product:hover,.store-tile:hover,.insta-store-card:hover,.fd-brand-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(20,70,34,.12)}
.stat.clickable,.fd-section .btn{transition:transform .16s ease}
.stat.clickable:active{transform:scale(.97)}
@media(max-width:650px){input,select,textarea{font-size:16px}}
/* ==== BCM cart choreography: open-accept-close on add, dance while full ==== */
.fd-round-btn.fd-cart-btn{overflow:visible}
.fd-round-btn.fd-cart-btn .bag-icon-wrap{width:26px;height:26px}
.bag-icon-wrap.has-items{animation:cartDance 2.6s ease-in-out infinite}
@keyframes cartDance{0%,22%{rotate:0deg}27%{rotate:-9deg}34%{rotate:8deg}41%{rotate:-6deg}48%{rotate:5deg}55%{rotate:-3deg}62%,100%{rotate:0deg}}
.bag-icon-wrap.swallow{animation:cartLogoPop .75s cubic-bezier(.2,.9,.3,1)}
.bag-icon-wrap.swallow .cart-logo-basket{animation:cartBasketBite .75s cubic-bezier(.2,.9,.3,1)}
.bag-icon-wrap.swallow .cart-logo-wheel.left{animation:cartWheelHop .75s cubic-bezier(.2,.9,.3,1)}
.bag-icon-wrap.swallow .cart-logo-wheel.right{animation:cartWheelHop .75s .05s cubic-bezier(.2,.9,.3,1)}
.food-delivery-nav .nav-bag{position:relative;flex:0 0 56px;max-width:56px;height:56px;border-radius:19px;background:linear-gradient(135deg,#075b32,#0b9b5a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transform:translateY(-14px);box-shadow:0 12px 24px rgba(7,91,50,.35);border:0;cursor:pointer;overflow:visible}
.food-delivery-nav .nav-bag .cart-emoji{font-size:20px;line-height:1;display:block}
.food-delivery-nav .nav-bag .nav-cart-label{font-size:9px;font-weight:900;color:inherit;line-height:1;display:block}
.food-delivery-nav .nav-bag .nav-cart-count{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ffd94d;color:#14321f;font-size:9px;font-weight:950;display:grid;place-items:center;border:2px solid #fff;box-shadow:0 4px 8px rgba(0,0,0,.18)}
.food-delivery-nav .nav-bag.has-items{animation:navBagDance 2.6s ease-in-out infinite}
@keyframes navBagDance{0%,22%{rotate:0deg}27%{rotate:-8deg}34%{rotate:8deg}41%{rotate:-5deg}48%{rotate:4deg}55%{rotate:-2deg}62%,100%{rotate:0deg}}
.food-delivery-nav .nav-bag.swallow-bag{animation:bagDockSwallow .75s cubic-bezier(.2,.9,.3,1),bagDockFloat 3.6s .75s ease-in-out infinite!important}
@media(max-width:850px){.food-delivery-nav .nav-bag{height:70px!important;max-width:70px!important;flex:0 0 70px!important;transform:translateY(-25px);border-radius:25px!important}}
@media(max-width:650px){.food-delivery-nav .nav-bag{transform:translateY(-20px);height:56px;max-width:56px;flex:0 0 56px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.bag-icon-wrap.has-items,.food-delivery-nav .nav-bag.has-items,.food-delivery-nav .nav-bag.swallow-bag,.bcm-view-wrap{animation:none!important}}



/* --- block 2 --- */

:root{--ink:#161221;--soft:#6e687b;--paper:#fffdf9;--wash:#f7f3ff;--line:#e9e3ef;--purple:#6d28d9;--purple-dark:#4c1d95;--purple-pale:#efe7ff;--gold:#f59e0b;--green:#087f5b;--red:#bd1f35;--card:#fff;--shadow:0 16px 44px rgba(55,28,95,.11)}
    *{box-sizing:border-box} html{background:var(--paper)} body{margin:0;background:var(--paper);font-family:'DM Sans',Arial,sans-serif;color:var(--ink);line-height:1.45} button,input,select,textarea{font:inherit} button{cursor:pointer} button:disabled{cursor:not-allowed;opacity:.55} a{color:inherit;text-decoration:none}
    .shell{min-height:100vh;padding-bottom:45px}.topline{background:#20113d;color:#fff;font-size:12px;font-weight:700;padding:8px 20px;text-align:center;letter-spacing:.02em}.header{height:78px;background:rgba(255,253,249,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100vw - 1180px)/2));position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}
    .brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;color:var(--ink);font-weight:800;text-align:left}.brand-mark{width:44px;height:44px;border-radius:13px;box-shadow:0 7px 18px rgba(109,40,217,.28)}.brand-name{font-family:'Playfair Display',serif;font-weight:900;font-size:22px;letter-spacing:-1px;line-height:.95}.brand-name small{font-family:'DM Sans',sans-serif;display:block;color:var(--purple);font-size:9px;letter-spacing:1.8px;margin-top:5px}.header-actions{display:flex;align-items:center;gap:9px}.head-link{border:0;background:none;color:var(--soft);font-weight:700;font-size:14px;padding:9px}.head-link:hover{color:var(--purple)}.circle-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;position:relative;color:var(--ink)}.count{position:absolute;right:-5px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--purple);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center}
    .container{width:min(1180px,calc(100% - 40px));margin:0 auto}.page{padding:32px 0}.hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:350px;border-radius:28px;overflow:hidden;background:linear-gradient(130deg,#32126c,#7c25d3 57%,#a855f7);color:#fff;box-shadow:var(--shadow)}.hero-copy{padding:52px}.eyebrow{font-size:11px;letter-spacing:1.35px;text-transform:uppercase;font-weight:800;color:#c4b5fd}.hero h1,.title{font-family:'Playfair Display',serif;letter-spacing:-1.4px;line-height:1.02}.hero h1{font-size:clamp(38px,5vw,61px);margin:12px 0}.hero p{font-size:16px;max-width:550px;color:#ede9fe}.hero-art{position:relative;overflow:hidden;background:radial-gradient(circle at 37% 42%,#fbbf24 0 10%,transparent 10.3%),radial-gradient(circle at 69% 68%,rgba(255,255,255,.2) 0 13%,transparent 13.3%)}.hero-art:before{content:'';position:absolute;width:260px;height:190px;border:22px solid #fff;border-top:0;border-radius:0 0 70px 70px;left:17%;bottom:30px;transform:rotate(-8deg);box-shadow:0 20px 0 rgba(58,16,115,.2)}.hero-art:after{content:'✦';font-size:120px;position:absolute;right:10%;top:10%;color:#fef3c7;opacity:.85}.hero-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.btn{border:0;border-radius:12px;padding:12px 17px;font-size:14px;font-weight:800;transition:transform .16s,box-shadow .16s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:var(--purple);box-shadow:0 8px 18px rgba(109,40,217,.22)}.hero .btn-primary{background:#fff;color:var(--purple-dark)}.btn-light{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);color:#fff}.btn-outline{background:#fff;border:1px solid #d8ccef;color:var(--purple-dark)}.btn-danger{background:#fff1f2;border:1px solid #fecdd3;color:var(--red)}.btn.small{padding:8px 11px;font-size:12px;border-radius:10px}.btn.full{width:100%}
    .quick-search{margin:-24px auto 0;max-width:880px;position:relative;z-index:2;display:flex;gap:8px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(29,12,54,.13)}.quick-search input{border:0;outline:0;flex:1;padding:7px 10px;min-width:0}.quick-search button{border:0;border-radius:10px;background:var(--purple);color:#fff;font-weight:800;padding:11px 16px}
    .section{margin-top:48px}.section-head{display:flex;gap:15px;align-items:end;justify-content:space-between;margin-bottom:18px}.section-head h2{font-family:'Playfair Display',serif;letter-spacing:-.7px;font-size:29px;margin:0}.section-head p{margin:4px 0 0;color:var(--soft);font-size:14px}.text-link{border:0;background:transparent;color:var(--purple);font-weight:800;padding:5px 0}.category-row,.horizontal-row{display:flex;gap:12px;overflow:auto;padding:2px 1px 12px;scrollbar-width:thin}.category{min-width:142px;min-height:95px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;text-align:left;background-size:cover;background-position:center;position:relative;overflow:hidden;color:#fff}.category:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,10,46,.78),rgba(24,10,46,.08))}.category span{position:relative;z-index:1;font-weight:800;font-size:14px;display:block;line-height:1.15}.store-tile{min-width:238px;max-width:238px;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 5px 17px rgba(36,14,74,.05);text-align:left;padding:0}.store-tile-image{height:115px;background-size:cover;background-position:center;position:relative}.verified{position:absolute;bottom:9px;left:9px;background:#fff;color:var(--green);font-size:10px;font-weight:900;padding:5px 8px;border-radius:10px}.store-tile-info{padding:12px}.store-tile-info strong{display:block;font-size:14px}.muted{color:var(--soft)}.tiny{font-size:12px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(31,15,53,.04);display:flex;flex-direction:column;text-align:left}.product-image{height:185px;background-size:cover;background-position:center;position:relative;cursor:pointer}.pill{position:absolute;left:10px;top:10px;padding:5px 8px;border-radius:9px;font-size:10px;line-height:1;background:#fff;color:var(--purple-dark);font-weight:900;text-transform:uppercase}.pill.gold{background:#fffbeb;color:#a16207}.pill.green{background:#ecfdf5;color:#087f5b}.product-copy{padding:13px;display:flex;flex-direction:column;flex:1}.product-name{font-weight:800;font-size:14px;line-height:1.25}.product-store{font-size:11px;color:var(--soft);margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-row{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-size:16px;font-weight:900}.old-price{font-size:11px;color:var(--soft);text-decoration:line-through;margin-left:4px}.add{border:0;background:var(--purple-pale);color:var(--purple-dark);width:34px;height:34px;border-radius:10px;font-size:21px;font-weight:600}.add:hover{background:var(--purple);color:#fff}.empty{padding:45px 20px;text-align:center;color:var(--soft);background:#fff;border:1px dashed #d9cee7;border-radius:18px}.notice{padding:12px 14px;border-radius:12px;margin:12px 0;font-size:13px}.notice.info{background:#f5f3ff;color:#5b21b6}.notice.success{background:#ecfdf5;color:#047857}.notice.warning{background:#fffbeb;color:#a16207}.notice.error{background:#fff1f2;color:#b4233c}
    .layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px}.side{align-self:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px;position:sticky;top:96px}.side button{display:block;border:0;background:transparent;width:100%;text-align:left;border-radius:10px;padding:11px;color:var(--soft);font-weight:700}.side button.active,.side button:hover{background:var(--purple-pale);color:var(--purple-dark)}.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:22px}.panel+.panel{margin-top:16px}.panel-title{font-family:'Playfair Display',serif;font-size:25px;margin:0 0 5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;text-align:left}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#514b5c}.field input,.field textarea,.field select{width:100%;border:1px solid #dcd4e6;border-radius:10px;background:#fff;padding:11px 12px;color:var(--ink);outline:none}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-pale)}.check-row{display:flex;align-items:center;gap:8px;font-size:13px}.check-row input{accent-color:var(--purple)}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:10px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.35px}.status.approved,.status.completed,.status.delivered{color:#047857;background:#ecfdf5}.status.pending,.status.paid,.status.preparing{color:#a16207;background:#fffbeb}.status.draft,.status.confirmed,.status.packed{color:#5b21b6;background:#f3e8ff}.status.rejected,.status.cancelled,.status.suspended{color:#b4233c;background:#fff1f2}.status.shipped,.status.in-transit{color:#075985;background:#e0f2fe}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff}.stat .num{font-family:'Playfair Display',serif;font-size:26px;font-weight:900}.stat .label{font-size:11px;color:var(--soft);font-weight:800;text-transform:uppercase;letter-spacing:.4px}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:.45px;color:var(--soft);text-align:left;padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 10px;border-bottom:1px solid #f0ecf5;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.split{display:flex;justify-content:space-between;align-items:center;gap:10px}.tag{display:inline-block;border-radius:999px;background:var(--wash);color:var(--purple-dark);padding:5px 9px;font-size:11px;font-weight:800}.store-banner{min-height:275px;background-size:cover;background-position:center;border-radius:24px;overflow:hidden;position:relative;color:#fff;display:flex;align-items:flex-end}.store-banner:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,7,41,.9),rgba(20,7,41,.04) 75%)}.store-banner-copy{padding:28px;position:relative;max-width:800px}.store-banner h1{font-family:'Playfair Display',serif;font-size:42px;letter-spacing:-1px;margin:0}.store-banner p{margin:8px 0 0;color:#ede9fe}.detail-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px}.detail-image{min-height:400px;border-radius:22px;background-size:cover;background-position:center;position:relative}.detail-copy h1{font-family:'Playfair Display',serif;font-size:38px;line-height:1.05;letter-spacing:-1px;margin:10px 0}.detail-price{font-size:28px;font-weight:900;margin:17px 0}.cart-line{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:13px;padding:12px 0;border-bottom:1px solid var(--line)}.cart-line:last-child{border-bottom:0}.cart-thumb{width:70px;height:70px;border-radius:12px;background-size:cover;background-position:center}.quantity{display:flex;align-items:center;gap:9px}.quantity button{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:#fff;font-weight:900}.summary{background:#fbfaff;border-radius:14px;padding:14px;margin-top:16px}.summary .row{display:flex;justify-content:space-between;margin:7px 0;font-size:14px}.summary .total{padding-top:11px;border-top:1px solid var(--line);font-size:18px;font-weight:900;margin-top:11px}
    /* --- Auth page motion --- */
    .auth-wrap{max-width:480px;margin:28px auto;position:relative;z-index:1;animation:authRise .7s cubic-bezier(.22,1,.36,1) both}
    @keyframes authRise{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:none}}
    .auth-brand{text-align:center;margin-bottom:20px;animation:authRise .8s .08s cubic-bezier(.22,1,.36,1) both}
    .auth-brand .brand-mark,.auth-brand .brand-full-logo{animation:authLogoFloat 4.5s ease-in-out infinite}
    @keyframes authLogoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
    .login-wall{position:relative;overflow:hidden;min-height:100vh}
    .login-wall::before,.login-wall::after{content:'';position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;z-index:0;animation:authBlob 12s ease-in-out infinite}
    .login-wall::before{width:320px;height:320px;background:radial-gradient(circle,rgba(111,231,151,.35),transparent 70%);top:-80px;left:-60px}
    .login-wall::after{width:280px;height:280px;background:radial-gradient(circle,rgba(14,122,67,.22),transparent 70%);bottom:10%;right:-40px;animation-delay:-5s}
    @keyframes authBlob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,24px) scale(1.08)}}
    .login-wall-body{position:relative;z-index:1}
    .login-wall-body .auth-wrap .panel,
    .auth-wrap .otp-verify-box,
    .auth-wrap .notice,
    .auth-wrap .field input,
    .auth-wrap .field select{animation:authRise .65s cubic-bezier(.22,1,.36,1) both}
    .auth-wrap .field:nth-child(1){animation-delay:.05s}
    .auth-wrap .field:nth-child(2){animation-delay:.1s}
    .auth-wrap .field:nth-child(3){animation-delay:.15s}
    .auth-wrap .btn-primary{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
    .auth-wrap .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(11,122,67,.28)}
    .auth-wrap .btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.25) 50%,transparent 60%);transform:translateX(-120%);animation:authSheen 3.5s ease-in-out infinite}
    @keyframes authSheen{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
    .otp-channel-btn{transition:transform .18s,border-color .18s,box-shadow .18s,background .18s}
    .otp-channel-btn:hover{transform:translateY(-2px)}
    .otp-channel-btn.active{animation:channelPulse 1.8s ease-in-out infinite}
    @keyframes channelPulse{0%,100%{box-shadow:0 0 0 3px rgba(11,122,67,.12)}50%{box-shadow:0 0 0 5px rgba(11,122,67,.2)}}
    .otp-digit{transition:border-color .15s,box-shadow .15s,transform .15s}
    .otp-digit.filled{animation:digitPop .25s ease}
    @keyframes digitPop{from{transform:scale(.85)}to{transform:scale(1)}}
    .login-sms-card,.auth-wrap .notice.info,.auth-wrap .notice.success{backdrop-filter:blur(8px);border:1px solid rgba(11,122,67,.12);box-shadow:0 8px 24px rgba(11,122,67,.06)}
    .auth-wrap h1.title{background:linear-gradient(120deg,#0b7a43,#1a9a5c 40%,#0b7a43 80%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleShine 6s linear infinite}
    @keyframes titleShine{to{background-position:200% center}}

    /* orig auth-wrap handled above */
.auth-brand{text-align:center;margin-bottom:20px}.auth-brand img{width:65px;border-radius:19px;box-shadow:0 10px 23px rgba(109,40,217,.24)}.mode-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.choice{border:1px solid var(--line);background:#fff;padding:12px;border-radius:12px;text-align:left}.choice.active{border-color:var(--purple);box-shadow:0 0 0 2px var(--purple-pale)}.choice strong{display:block;font-size:13px}.choice span{font-size:11px;color:var(--soft)}.toast{position:fixed;right:20px;bottom:20px;z-index:80;max-width:360px;background:#21113f;color:#fff;padding:13px 16px;border-radius:13px;box-shadow:var(--shadow);font-size:13px;font-weight:700}.toast.error{background:#991b2f}.toast.success{background:#047857}.mobile-nav{display:none}
    @media(max-width:850px){.header{padding:0 20px;height:70px}.header-actions .head-link{display:none}.brand-mark{width:39px;height:39px}.brand-name{font-size:20px}.container{width:min(100% - 28px,680px)}.page{padding:22px 0}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:34px 25px}.hero-art{height:135px}.hero-art:before{width:180px;height:120px;left:27%;bottom:11px;border-width:16px}.quick-search{margin-top:-17px}.product-grid{grid-template-columns:repeat(2,1fr);gap:11px}.product-image{height:145px}.layout{display:block}.side{position:static;display:flex;overflow:auto;margin-bottom:15px;gap:4px}.side button{min-width:max-content}.stat-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail-image{min-height:300px}.detail-copy h1{font-size:32px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:65px;display:flex;background:#fff;border-top:1px solid var(--line);z-index:50;justify-content:space-around;padding:5px 4px}.mobile-nav button{border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--soft);font-size:10px;font-weight:800;gap:2px;min-width:55px}.mobile-nav button.active{color:var(--purple)}.shell{padding-bottom:72px}.store-banner h1{font-size:31px}.store-banner-copy{padding:21px}.header-actions>.circle-btn:first-of-type{display:none}.panel{padding:16px}.table-wrap{margin:0 -4px}.data-table{min-width:650px}.topline{font-size:10px}.section{margin-top:35px}}
  
    
    /* Mandatory login wall — shoppers must sign in before browsing */
    
.login-wall{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#f3faf5;padding:0;margin:0;position:relative;overflow:hidden}
.login-wall-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.login-blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.55;animation:login-blob-float 14s ease-in-out infinite}
.login-blob.b1{width:280px;height:280px;background:#a7f3c4;top:-60px;left:-40px;animation-duration:16s}
.login-blob.b2{width:220px;height:220px;background:#86efac;bottom:10%;right:-50px;animation-duration:18s;animation-delay:-4s}
.login-blob.b3{width:160px;height:160px;background:#fde68a;top:42%;left:55%;opacity:.35;animation-duration:12s;animation-delay:-2s}
.login-blob.b4{width:120px;height:120px;background:#bbf7d0;bottom:-20px;left:20%;animation-duration:20s;animation-delay:-6s}
@keyframes login-blob-float{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(18px,-22px) scale(1.06)}
  66%{transform:translate(-14px,12px) scale(.96)}
}
.login-wall-sparkles{position:absolute;inset:0;background-image:
  radial-gradient(circle at 18% 22%, rgba(255,255,255,.9) 0 2px, transparent 3px),
  radial-gradient(circle at 72% 18%, rgba(255,255,255,.7) 0 1.5px, transparent 3px),
  radial-gradient(circle at 40% 78%, rgba(255,255,255,.6) 0 2px, transparent 3px),
  radial-gradient(circle at 85% 62%, rgba(255,255,255,.8) 0 1.5px, transparent 3px);
  animation:login-sparkle 5s ease-in-out infinite alternate;opacity:.7}
@keyframes login-sparkle{from{opacity:.35;transform:translateY(0)}to{opacity:.85;transform:translateY(-6px)}}
.login-wall-hero{flex:0 0 auto;min-height:30vh;display:flex;align-items:flex-end;justify-content:center;padding:36px 20px 8px;position:relative;z-index:1;background:transparent}
.login-wall-brand{position:relative;z-index:1;text-align:center;width:100%;max-width:420px}
.login-logo-wrap{
  width:auto;height:auto;margin:0 auto 18px;border-radius:0;
  background:transparent;box-shadow:none;
  display:grid;place-items:center;animation:login-logo-in .7s cubic-bezier(.22,1,.36,1) both;
  overflow:visible;padding:0
}
.login-logo-wrap img,.login-logo-wrap .brand-full-logo,.login-logo-wrap .brand-mark{
  width:min(200px,62vw)!important;height:auto!important;max-height:120px!important;
  object-fit:contain;border-radius:0!important;
  box-shadow:none!important;margin:0!important;background:transparent!important;
  filter:drop-shadow(0 8px 18px rgba(11,122,67,.18))
}
@keyframes login-logo-in{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
.login-wall-brand h1{font-size:28px;letter-spacing:-1px;margin:0 0 8px;color:#123e27;font-weight:900;animation:login-logo-in .7s .08s cubic-bezier(.22,1,.36,1) both}
.login-wall-brand p{margin:0 auto;color:#5a6b60;font-size:14px;line-height:1.5;max-width:320px;animation:login-logo-in .7s .14s cubic-bezier(.22,1,.36,1) both}
.login-wall-body{flex:1;display:flex;justify-content:center;padding:12px 18px 20px;position:relative;z-index:1}
.login-wall-body .auth-wrap{max-width:420px;width:100%;margin:0}
.login-wall-body .auth-brand{display:none}
.login-wall-body .panel{border:0;box-shadow:none;padding:8px 0 0;background:transparent}
.login-wall-body .btn-primary{background:linear-gradient(180deg,#0d8f4e,#0b7a43);border-radius:16px;padding:15px 17px;font-size:15px;box-shadow:0 10px 22px rgba(11,122,67,.28)}
.login-wall-body .btn-outline{border-radius:16px;padding:13px 17px;border-color:#d5e5d9}
.login-wall-body .field{margin-bottom:14px}
.login-wall-body .field input{
  border-radius:16px;padding:14px 16px;border:1.5px solid #d5e5d9;background:#fff;
  box-shadow:0 4px 14px rgba(18,61,31,.04);transition:border-color .2s,box-shadow .2s
}
.login-wall-body .field input:focus{border-color:#0b7a43;box-shadow:0 0 0 4px rgba(11,122,67,.12)}
.login-sms-card{
  background:linear-gradient(135deg,#f0fdf4,#ecfdf5 40%,#fff);
  border:1px solid #c6ebd3;border-radius:18px;padding:14px 16px;margin-bottom:18px;
  box-shadow:0 8px 20px rgba(11,122,67,.06)
}
.login-sms-card strong{display:block;color:#0b7a43;font-size:14px;margin-bottom:4px}
.login-sms-card span{display:block;color:#5a6b60;font-size:12px;line-height:1.45}
.login-phone-stack{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.login-phone-stack .btn-primary{margin-top:2px;width:100%}
.login-wall-footer{text-align:center;padding:0 24px 26px;font-size:12px;color:#68746c;line-height:1.55;max-width:420px;margin:0 auto;position:relative;z-index:1}
.login-wall-footer button.legal-link,.login-wall-footer a.legal-link{
  color:#0b7a43;font-weight:800;text-decoration:underline;text-underline-offset:2px;
  border:0;background:none;padding:0;cursor:pointer;font:inherit
}
.login-social{display:flex;flex-direction:column;gap:9px;margin-top:14px}
.login-social .btn{border-radius:999px;padding:12px 16px;font-weight:800;border:1px solid #e0e8df;background:#fff;color:#17261c;display:flex;align-items:center;justify-content:center;gap:10px}
.login-divider{display:flex;align-items:center;gap:12px;margin:16px 0 4px;color:#9aa69e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.login-divider:before,.login-divider:after{content:'';flex:1;height:1px;background:#e0e8df}
.legal-modal-backdrop{position:fixed;inset:0;background:rgba(8,40,22,.55);z-index:120;display:grid;place-items:center;padding:18px;animation:login-logo-in .25s ease}
.legal-modal{
  width:min(520px,100%);max-height:min(78vh,640px);overflow:auto;background:#fff;border-radius:22px;
  padding:22px 20px 18px;box-shadow:0 28px 60px rgba(0,0,0,.28);position:relative
}
.legal-modal h2{margin:0 0 6px;font-size:22px;letter-spacing:-.6px;color:#123e27}
.legal-modal .legal-updated{font-size:11px;color:#7a8a80;margin-bottom:14px}
.legal-modal h3{margin:16px 0 6px;font-size:14px;color:#0b7a43}
.legal-modal p,.legal-modal li{font-size:13px;line-height:1.55;color:#3d4a42;margin:0 0 10px}
.legal-modal ul{padding-left:18px;margin:0 0 10px}
.legal-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:12px;border:1px solid #e0e8df;background:#f8fbf8;font-size:18px;font-weight:800;color:#123e27}
@media(max-width:650px){
  .login-wall-hero{min-height:26vh;padding-top:28px}
  .login-wall-brand h1{font-size:24px}
  .login-logo-wrap{width:auto;height:auto}
  .login-logo-wrap img,.login-logo-wrap .brand-full-logo{width:min(180px,70vw)!important;max-height:110px!important;height:auto!important}
}
@media(prefers-reduced-motion:reduce){
  .login-blob,.login-wall-sparkles,.login-logo-wrap{animation:none!important}
}

    /* BCM FoodHub market refresh — inspired by the clarity of modern grocery apps, with its own brand system. */
    :root{--ink:#17261c;--soft:#68746c;--paper:#fafbf8;--wash:#f1f7f2;--line:#e0e8df;--purple:#0b7a43;--purple-dark:#075a31;--purple-pale:#ddf2e3;--gold:#f3b63e;--green:#0b7a43;--card:#fff;--shadow:0 14px 36px rgba(18,61,31,.10)}
    html,body{background:#fafbf8}.topline{background:#0a3d25;padding:9px 20px;font-size:11px;letter-spacing:.04em}.header{height:82px;background:rgba(255,255,255,.96);border-color:#e3ebe3;box-shadow:0 1px 0 rgba(11,61,32,.03)}.brand-mark{border-radius:50%;box-shadow:0 7px 17px rgba(11,122,67,.22)}.brand-name{font-family:'DM Sans',sans-serif;font-size:20px;letter-spacing:-.9px}.brand-name small{color:var(--purple);font-size:8px;letter-spacing:1.35px}.header-actions{gap:5px}.head-link{font-size:13px}.head-link:hover{background:#f0f7f1;border-radius:999px}.circle-btn{border-color:#dfe9e0;background:#f8fbf8}.circle-btn:hover{background:var(--purple-pale)}.delivery-chip{border:1px solid #dfe9e0;background:#f8fbf8;color:var(--ink);padding:7px 12px;border-radius:13px;text-align:left;display:flex;align-items:center;gap:8px;margin-left:auto;margin-right:12px;font-weight:800}.delivery-chip span:first-child{color:var(--purple);font-size:18px}.delivery-chip small{display:block;color:var(--soft);font-size:9px;font-weight:700;line-height:1}.delivery-chip strong{display:block;font-size:11px;line-height:1.4}
    .hero{grid-template-columns:1.12fr .88fr;min-height:335px;border-radius:24px;background:linear-gradient(122deg,#0b6f3e,#0f944f 60%,#43b86d);box-shadow:0 17px 38px rgba(11,122,67,.18)}.hero-copy{padding:45px 50px}.hero h1,.title,.section-head h2,.panel-title{font-family:'DM Sans',sans-serif;font-weight:800;letter-spacing:-1.5px}.hero h1{font-size:clamp(38px,5vw,57px)}.hero p{color:#e4f7e9}.eyebrow{color:#cbf5d6}.hero-art{background:radial-gradient(circle at 31% 35%,#ffd76a 0 9%,transparent 9.3%),radial-gradient(circle at 70% 65%,rgba(255,255,255,.23) 0 14%,transparent 14.4%),linear-gradient(155deg,rgba(255,255,255,.13),transparent)}.hero-art:before{border-color:#fff;border-radius:0 0 68px 68px;box-shadow:0 20px 0 rgba(4,71,35,.18)}.hero-art:after{content:'✦';color:#fff8cf}.hero-facts{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px;color:#e5f7e9;font-size:11px;font-weight:800}.hero-facts span{display:flex;align-items:center;gap:5px}.btn{border-radius:10px}.btn-primary{box-shadow:0 8px 18px rgba(11,122,67,.18)}.btn-outline{border-color:#b9ddc5;color:var(--purple-dark)}.quick-search{max-width:980px;margin-top:-22px;border-radius:15px;padding:8px 9px;box-shadow:0 11px 28px rgba(20,54,30,.13)}.quick-search:before{content:'⌕';font-size:23px;color:var(--soft);padding:0 4px}.quick-search input{font-size:14px}.quick-search button{background:var(--purple);border-radius:9px}.section-head h2{font-size:27px}.category-row{gap:15px;padding:3px 4px 14px}.category{min-width:122px;min-height:122px;border-radius:50%;padding:0;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 2px 8px rgba(27,68,39,.08)}.category:before{background:linear-gradient(0deg,rgba(7,47,25,.82),rgba(7,47,25,.02) 68%)}.category span{position:absolute;left:9px;right:9px;bottom:12px;text-align:center;font-size:12px}.store-tile{border-radius:14px;box-shadow:0 4px 12px rgba(25,62,33,.06)}.store-tile:hover,.product:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,62,33,.1)}.store-tile,.product{transition:transform .16s,box-shadow .16s}.product-grid{gap:13px}.product{border-radius:14px;box-shadow:none}.product-image{height:175px;background-color:#f1f5f0}.product-copy{padding:12px}.product-name{font-size:13px}.product-store{font-size:10px}.price{font-size:15px}.add{width:36px;height:36px;border-radius:50%;background:var(--purple);color:#fff;font-size:20px}.add:hover{background:#075a31}.pill{border-radius:999px;box-shadow:0 2px 7px rgba(0,0,0,.08)}.panel{border-color:#e2eae2;border-radius:15px;box-shadow:0 3px 14px rgba(28,70,35,.035)}.side{border-radius:14px;border-color:#e2eae2}.side button.active,.side button:hover{background:var(--purple-pale);color:var(--purple-dark)}.tag{background:var(--purple-pale);color:var(--purple-dark)}.summary{background:#f5faf5}.toast{background:#102617}.toast.success{background:#087f4b}
    /* First paint loader + React loader: a fast, branded marketplace hand-off. */
    #app-loader,.app-loader{position:fixed;inset:0;z-index:9999;background:linear-gradient(145deg,#f8fcf8,#e7f5ea);display:flex;align-items:center;justify-content:center;transition:opacity .28s ease,visibility .28s ease}.app-loader{z-index:9998}.loader-card{width:min(290px,calc(100% - 48px));text-align:center}.loader-logo{width:78px;height:78px;border-radius:25px;box-shadow:0 14px 30px rgba(11,122,67,.18);animation:loader-pop 1.5s ease-in-out infinite}.loader-kicker{margin:15px 0 5px;color:#123e27;font-size:18px;font-weight:900;letter-spacing:-.6px}.loader-copy{margin:0;color:#6b7a70;font-size:12px;font-weight:700}.loader-track{height:5px;margin:20px auto 0;border-radius:999px;background:#d7ebdc;overflow:hidden;width:155px}.loader-track i{display:block;width:48%;height:100%;background:linear-gradient(90deg,#0a7a43,#55c978);border-radius:999px;animation:loader-slide 1.05s ease-in-out infinite}.loader-dots{display:flex;justify-content:center;gap:5px;margin-top:14px}.loader-dots i{width:6px;height:6px;border-radius:50%;background:#67b982;animation:loader-dot .9s ease-in-out infinite}.loader-dots i:nth-child(2){animation-delay:.13s}.loader-dots i:nth-child(3){animation-delay:.26s}#app-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}@keyframes loader-pop{0%,100%{transform:scale(.96) rotate(-2deg)}50%{transform:scale(1.04) rotate(2deg)}}@keyframes loader-slide{0%{transform:translateX(-110%)}55%,100%{transform:translateX(220%)}}@keyframes loader-dot{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-5px);opacity:1}}
    /* A compact, black performance dock for mobile: original BCM interaction treatment. */
    @media(max-width:850px){.header{height:66px}.delivery-chip{display:none}.header-actions>.circle-btn{display:none}.header-actions>.circle-btn:nth-last-child(1){display:grid}.header-actions>.circle-btn:nth-last-child(1){width:36px;height:36px}.hero{border-radius:18px}.hero-copy{padding:31px 23px}.hero-facts{gap:10px;font-size:10px}.hero-art{height:118px}.category{min-width:96px;min-height:96px}.category span{font-size:10px;left:5px;right:5px;bottom:9px}.quick-search{margin-top:-13px}.product-image{height:137px}.mobile-nav{left:14px;right:14px;bottom:13px;width:auto;height:68px;display:flex;background:#111311;border:1px solid rgba(255,255,255,.12);border-radius:22px;box-shadow:0 17px 35px rgba(0,0,0,.27);padding:7px 6px;justify-content:space-between}.mobile-nav button{position:relative;flex:1;min-width:0;color:#9ca39e;font-size:10px;font-weight:800;letter-spacing:.05px;gap:3px}.mobile-nav button .nav-symbol{font-size:19px;line-height:18px}.mobile-nav button.active{color:#fff}.mobile-nav button.active:before{content:'';position:absolute;top:1px;width:24px;height:3px;border-radius:99px;background:#65db8b}.mobile-nav .nav-bag{transform:translateY(-20px);height:56px;max-width:56px;flex:0 0 56px;border-radius:18px;background:#6ded93!important;color:#092815!important;box-shadow:0 10px 20px rgba(81,220,127,.35);font-weight:900}.mobile-nav .nav-bag .nav-symbol{font-size:21px}.mobile-nav .nav-bag:before{display:none}.mobile-nav .nav-bag span:last-child{font-size:9px}.shell{padding-bottom:93px}.toast{bottom:94px;left:16px;right:16px;max-width:none}.topline{display:none}}




    
    
.cake-builder-layout{display:flex;flex-direction:column;gap:18px;align-items:stretch}
.cake-stage{position:relative;top:0;background:
  radial-gradient(ellipse 80% 40% at 50% 100%,rgba(11,122,67,.08),transparent 55%),
  linear-gradient(165deg,#e8f6ec 0%,#f7fcf8 42%,#fff 100%);
  border:1px solid #cfe8d6;border-radius:22px;padding:28px 20px 36px;min-height:340px;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden}
.cake-stage:before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 18%,rgba(255,255,255,.85),transparent 50%),
  radial-gradient(ellipse at 70% 60%,rgba(255,220,150,.12),transparent 40%);
  pointer-events:none;z-index:0}
.cake-stage-label{position:absolute;top:14px;left:14px;right:14px;z-index:2;font-size:11px;font-weight:800;color:#3d6b4c;text-align:center}
.cake-3d-scene{perspective:1100px;perspective-origin:50% 35%;height:300px;width:100%;display:flex;align-items:flex-end;justify-content:center;position:relative;z-index:1}
.cake-3d{position:relative;transform-style:preserve-3d;
  transform:rotateX(20deg) rotateY(-22deg) translateZ(0);
  /* brief assemble on mount/remount, then continuous turntable */
  animation:cake-assemble .75s cubic-bezier(.22,1,.36,1) both,
            cake-turntable 10s ease-in-out .75s infinite;
  transition:filter .4s ease;
  will-change:transform;filter:drop-shadow(0 18px 22px rgba(40,25,10,.18))}
.cake-3d:hover{animation-play-state:paused;transform:rotateX(14deg) rotateY(16deg) scale(1.05)}
@keyframes cake-turntable{
  0%{transform:rotateX(20deg) rotateY(-22deg) translateY(0)}
  25%{transform:rotateX(18deg) rotateY(-4deg) translateY(-3px)}
  50%{transform:rotateX(19deg) rotateY(20deg) translateY(0)}
  75%{transform:rotateX(17deg) rotateY(6deg) translateY(-2px)}
  100%{transform:rotateX(20deg) rotateY(-22deg) translateY(0)}
}
@keyframes cake-assemble{
  0%{opacity:.35;transform:rotateX(28deg) rotateY(-32deg) scale(.84) translateY(28px)}
  55%{opacity:1;transform:rotateX(17deg) rotateY(-8deg) scale(1.04) translateY(-5px)}
  100%{opacity:1;transform:rotateX(20deg) rotateY(-22deg) scale(1) translateY(0)}
}
.cake-tier{position:absolute;left:50%;transform-style:preserve-3d;transform:translateX(-50%);
  transition:bottom .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1),height .55s cubic-bezier(.22,1,.36,1),opacity .4s ease;
  animation:tier-rise .7s cubic-bezier(.22,1,.36,1) both}
.cake-tier:nth-child(1){animation-delay:.05s}
.cake-tier:nth-child(2){animation-delay:.14s}
.cake-tier:nth-child(3){animation-delay:.24s}
@keyframes tier-rise{
  from{opacity:0;transform:translateX(-50%) translateY(28px) scale(.92)}
  to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}
}
.cake-tier-body{position:relative;margin:0 auto;border-radius:50%;transform-style:preserve-3d}
.cake-tier-top{
  position:absolute;left:0;right:0;top:0;height:16px;border-radius:50%;
  transform:translateY(-8px) rotateX(78deg);
  box-shadow:inset 0 2px 8px rgba(255,255,255,.55),inset 0 -3px 10px rgba(0,0,0,.08),0 1px 0 rgba(255,255,255,.4);
  overflow:hidden
}
.cake-tier-top:after{
  content:'';position:absolute;inset:-20%;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 48%,transparent 62%);
  animation:frost-sheen 4.5s ease-in-out infinite
}
@keyframes frost-sheen{
  0%,100%{transform:translateX(-30%) rotate(0deg);opacity:.35}
  50%{transform:translateX(30%) rotate(0deg);opacity:.7}
}
.cake-tier-side{
  border-radius:0 0 42% 42%/0 0 22% 22%;
  box-shadow:
    0 10px 18px rgba(40,20,10,.2),
    inset 0 -8px 14px rgba(0,0,0,.07),
    inset 0 6px 10px rgba(255,255,255,.22);
  position:relative;overflow:hidden;
  transition:background .45s ease,border-color .45s ease,box-shadow .45s ease
}
.cake-tier-side:before{
  content:'';position:absolute;left:8%;right:8%;top:28%;height:2px;border-radius:2px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  opacity:.7;pointer-events:none
}
.cake-tier-side:after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.14),transparent 28%,transparent 72%,rgba(0,0,0,.11)),
    linear-gradient(180deg,rgba(255,255,255,.18) 0%,transparent 35%,rgba(0,0,0,.06) 100%);
  pointer-events:none
}
.cake-drip{
  position:absolute;top:-2px;width:9px;
  border-radius:0 0 10px 10px;opacity:.95;
  transform-origin:top center;
  animation:drip-fall .85s cubic-bezier(.2,.8,.2,1) both;
  box-shadow:inset 0 -2px 3px rgba(0,0,0,.12),0 2px 3px rgba(0,0,0,.08)
}
@keyframes drip-fall{
  0%{height:0;opacity:0;transform:scaleY(0)}
  40%{opacity:1;transform:scaleY(1.05)}
  70%{transform:scaleY(.96)}
  100%{opacity:.95;transform:scaleY(1)}
}
.cake-sprinkle{
  position:absolute;width:5px;height:2.5px;border-radius:1px;z-index:4;
  animation:sprinkle-settle .6s ease both;
  box-shadow:0 1px 1px rgba(0,0,0,.15)
}
@keyframes sprinkle-settle{
  from{opacity:0;transform:translateY(-10px) rotate(0deg)}
  to{opacity:1;transform:translateY(0) rotate(var(--rot,20deg))}
}
.cake-cherry{
  position:absolute;width:15px;height:15px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,#ff8a8a 0%,#e11d48 55%,#9f1239 100%);
  box-shadow:0 3px 5px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.35);
  z-index:5;animation:cherry-bob 3.2s ease-in-out infinite
}
.cake-cherry:before{
  content:'';position:absolute;top:-7px;left:6px;width:2px;height:9px;
  background:linear-gradient(180deg,#3d7a4f,#1b4332);border-radius:2px
}
.cake-cherry:after{
  content:'';position:absolute;top:-9px;left:7px;width:6px;height:4px;
  background:#2d6a4f;border-radius:50% 0 50% 0;transform:rotate(-30deg);opacity:.9
}
@keyframes cherry-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.cake-candle{
  position:absolute;width:5px;height:24px;
  background:linear-gradient(90deg,#fff8e7,#ffe8a3 40%,#fff 70%,#f5d78e);
  border-radius:2px;z-index:6;bottom:100%;
  box-shadow:1px 0 0 rgba(0,0,0,.06);animation:candle-sway 2.8s ease-in-out infinite
}
.cake-candle:nth-of-type(2){animation-delay:.4s}
@keyframes candle-sway{0%,100%{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}
.cake-flame{
  position:absolute;top:-14px;left:50%;width:10px;height:14px;margin-left:-5px;
  background:radial-gradient(ellipse at 50% 80%,#fff 0%,#ffe566 25%,#ff9800 55%,#ff3d00 100%);
  border-radius:50% 50% 50% 50%/60% 60% 40% 40%;
  animation:flame-flicker .28s ease-in-out infinite alternate;
  filter:blur(.2px);transform-origin:center bottom;
  box-shadow:0 0 8px 2px rgba(255,160,40,.55),0 0 16px 4px rgba(255,100,20,.25)
}
.cake-flame:after{
  content:'';position:absolute;left:25%;right:25%;bottom:15%;height:40%;
  background:rgba(255,255,255,.85);border-radius:50%;filter:blur(1px)
}
@keyframes flame-flicker{
  from{transform:scaleY(.88) scaleX(1.05) rotate(-3deg);opacity:.9}
  to{transform:scaleY(1.12) scaleX(.9) rotate(4deg);opacity:1}
}
.cake-plate{
  width:210px;height:16px;border-radius:50%;
  background:radial-gradient(ellipse at 50% 40%,#fff 0%,#f0f0f0 55%,#d4d4d4 100%);
  box-shadow:0 12px 24px rgba(0,0,0,.14),inset 0 2px 4px rgba(255,255,255,.8),inset 0 -3px 6px rgba(0,0,0,.08);
  margin-top:-2px;position:relative;z-index:0;
  animation:plate-breathe 10s ease-in-out infinite
}
.cake-plate:after{
  content:'';position:absolute;left:12%;right:12%;top:3px;height:4px;border-radius:50%;
  background:rgba(255,255,255,.5)
}
@keyframes plate-breathe{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.02)}}
.cake-message-tag{
  margin-top:14px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.9);
  font-size:12px;font-weight:700;color:#2d4a36;max-width:90%;text-align:center;
  backdrop-filter:blur(6px);box-shadow:0 4px 12px rgba(0,0,0,.06);
  animation:step-in .4s ease both
}
.cake-form-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.cake-progress{height:6px;background:#e0ebe2;border-radius:99px;overflow:hidden;margin-bottom:14px}
.cake-progress>i{display:block;height:100%;background:linear-gradient(90deg,#0b7a43,#3ecf7a);border-radius:inherit;transition:width .45s cubic-bezier(.22,1,.36,1)}
.cake-step-title{font-size:22px;font-weight:900;letter-spacing:-.6px;margin:0 0 4px}
.cake-step-desc{font-size:13px;color:var(--soft);margin:0 0 16px}
.option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.option-chip{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 10px;text-align:center;font-size:12px;font-weight:800;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s,background .18s}
.option-chip:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(11,122,67,.1)}
.option-chip:active{transform:translateY(0) scale(.97)}
.option-chip.active{border-color:var(--purple);background:var(--purple-pale);color:var(--purple-dark);box-shadow:0 0 0 2px rgba(11,122,67,.14)}
.cake-nav{display:flex;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.cake-nav .btn{flex:1}
.step-enter{animation:step-in .4s cubic-bezier(.22,1,.36,1) both}
@keyframes step-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:850px){
  .cake-stage{min-height:300px;padding-bottom:28px}
  .cake-3d-scene{height:240px}
  .option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .cake-3d,.cake-flame,.cake-drip,.cake-tier,.cake-cherry,.cake-candle,.cake-plate,.cake-tier-top:after,.cake-sprinkle{animation:none!important}
}


    .cake-builder{max-width:1100px;margin:0 auto}
    .cake-steps{display:flex;gap:6px;overflow:auto;padding:4px 0 14px}
    .cake-step-pill{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:11px;font-weight:800;color:var(--soft);white-space:nowrap}
    .cake-step-pill.active{background:var(--purple);border-color:var(--purple);color:#fff}
    .cake-step-pill.done{background:var(--purple-pale);color:var(--purple-dark);border-color:#b9ddc5}
    .cake-preview{border-radius:18px;padding:18px;background:linear-gradient(145deg,#f2fbf4,#fff);border:1px solid #cfe8d6;margin-bottom:16px}
    .cake-preview h3{margin:0 0 6px;font-size:18px}
    .option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
    .option-chip{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 10px;text-align:center;font-size:12px;font-weight:800}
    .option-chip.active{border-color:var(--purple);background:var(--purple-pale);color:var(--purple-dark);box-shadow:0 0 0 2px rgba(11,122,67,.12)}
    .quote-store-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;text-align:left;margin:0 0 10px;width:100%}
    .quote-store-card.selected{border-color:var(--purple);box-shadow:0 0 0 2px rgba(11,122,67,.12)}
    .arrive-check{padding:12px;border-radius:12px;background:#f5faf5;margin:12px 0;font-size:13px}
    .arrive-check.ok{background:#ecfdf5;color:#047857}
    .arrive-check.bad{background:#fff1f2;color:#b4233c}
    .arrive-check.warn{background:#fffbeb;color:#a16207}
    .store-cutoff-banner{padding:12px 14px;border-radius:12px;background:linear-gradient(120deg,#fff7df,#fff);border:1px solid #f0e0a8;margin:12px 0;font-size:13px;font-weight:700}
    .addon-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
    @media(max-width:650px){.option-grid{grid-template-columns:repeat(2,1fr)}}


    .header-search-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#f8fbf8;display:grid;place-items:center;color:var(--ink);margin-left:6px;flex-shrink:0}
    .header-search-btn:hover{background:var(--purple-pale);color:var(--purple-dark)}
    .header-search-btn svg{width:18px;height:18px}
    .brand-with-search{display:flex;align-items:center;gap:4px;min-width:0}
    .category-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
    .category-menu-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;text-align:left;padding:0;min-height:120px;position:relative;color:#fff}
    .category-menu-card:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,47,25,.82),rgba(7,47,25,.15));z-index:1}
    .category-menu-card span{position:relative;z-index:2;display:block;padding:14px;font-weight:900;font-size:15px}
    .category-menu-card small{position:relative;z-index:2;display:block;padding:0 14px 14px;font-size:11px;opacity:.9;font-weight:700}
    @media(max-width:850px){
      .header-actions .head-link{display:none}
      .header-search-btn{width:36px;height:36px}
    }


    .stores-filters{display:flex;gap:8px;overflow:auto;padding:4px 0 16px;scrollbar-width:thin}
    .stores-filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:800;color:var(--soft);white-space:nowrap}
    .stores-filter-chip.active{background:var(--purple);border-color:var(--purple);color:#fff}
    .stores-minimal-list{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
    .stores-minimal-row{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;width:100%;background:#fff;border-left:0;border-right:0;border-top:0}
    .stores-minimal-row:last-child{border-bottom:0}
    .stores-minimal-row:hover{background:#f7fcf8}
    .stores-minimal-logo{width:64px;height:64px;border-radius:14px;object-fit:cover;background:#e8f2ea}
    .stores-minimal-name{font-size:15px;font-weight:900;letter-spacing:-.3px}
    .stores-minimal-meta{font-size:12px;color:var(--soft);margin-top:3px}
    .stores-minimal-types{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
    .stores-minimal-types span{font-size:10px;font-weight:800;padding:3px 7px;border-radius:6px;background:var(--purple-pale);color:var(--purple-dark)}
    .stores-search-bar{display:flex;gap:8px;margin-bottom:12px}
    .stores-search-bar input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;outline:none}
    .stores-search-bar input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-pale)}

    /* Frontend completeness pack: sticky CTA, order detail, offline, share */
    .offline-banner{position:fixed;top:0;left:0;right:0;z-index:100;background:#991b2f;color:#fff;text-align:center;padding:8px 14px;font-size:12px;font-weight:800}
    .sticky-product-bar{position:fixed;left:14px;right:14px;bottom:86px;z-index:55;display:none;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#111311;color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.28)}
    .sticky-product-bar strong{flex:1;font-size:13px;line-height:1.25}
    .sticky-product-bar .btn{white-space:nowrap}
    @media(max-width:850px){.sticky-product-bar{display:flex}}
    .order-detail-timeline{display:grid;gap:0;margin:16px 0}
    .order-step{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:0 0 16px}
    .order-step .dot{width:14px;height:14px;border-radius:50%;background:#dfe9e0;margin-top:4px;border:3px solid #fff;box-shadow:0 0 0 1px #c5d8c9}
    .order-step.active .dot{background:#0b7a43;box-shadow:0 0 0 1px #0b7a43}
    .order-step.done .dot{background:#28a45a}
    .order-step .line{grid-column:1;width:2px;background:#e0e9e2;margin:0 auto;min-height:18px}
    .share-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
    .gallery-thumbs{display:flex;gap:8px;overflow:auto;margin-top:10px}
    .gallery-thumbs button{width:64px;height:64px;border-radius:12px;border:2px solid transparent;background-size:cover;background-position:center;padding:0}
    .gallery-thumbs button.active{border-color:var(--purple)}
    .cart-save-later{border:0;background:transparent;color:var(--purple);font-size:12px;font-weight:800;padding:3px 0}
    .stock-warn{color:#a16207;font-size:11px;font-weight:800;margin-top:4px}
    .gift-preview{padding:12px;border-radius:12px;background:#f7fcf8;border:1px dashed #8fc7a0;margin-top:10px;font-size:13px}
    .checkout-sticky-summary{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:12px 0;margin-top:16px}
    .recent-rail{display:flex;gap:12px;overflow:auto;padding:4px 0 12px}
    .confetti-msg{animation:hero-fade .5s ease}
    @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

    /* Account hub and true-cart interaction details. */
    .page{animation:page-in .34s ease both}@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
    .cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.cart-list{padding:5px 21px}.cart-line{grid-template-columns:82px 1fr auto;gap:15px;padding:17px 0;animation:cart-in .35s ease both}.cart-thumb{width:82px;height:82px;border-radius:14px}.cart-line-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:9px}.cart-remove{border:0;background:transparent;color:#a84a4a;padding:3px 0;font-size:12px;font-weight:800}.cart-aside{position:sticky;top:100px}.delivery-meter{height:8px;background:#dfeee2;border-radius:999px;overflow:hidden;margin:10px 0 7px}.delivery-meter i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#0b7a43,#5bd07e);transition:width .45s cubic-bezier(.2,.9,.3,1)}.cart-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.cart-benefits div{padding:10px;border-radius:10px;background:#f5faf5;color:#42604b;font-size:11px;font-weight:700}.cart-bump{animation:cart-bump .35s ease}.cart-bump .count{animation:cart-count .55s ease}@keyframes cart-in{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes cart-bump{50%{transform:scale(1.13)}}@keyframes cart-count{50%{transform:scale(1.3)}}
    .account-hero{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(125deg,#edf8ef,#fff)}.profile-intro{display:flex;gap:15px;align-items:center}.profile-avatar{width:68px;height:68px;border-radius:50%;background:#0b7a43;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-meta h1{font-size:26px;margin:0}.profile-meta p{margin:3px 0 0}.account-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.account-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:14px;text-align:left}.account-card strong{display:block;font-size:16px}.account-card span{font-size:11px;color:var(--soft);font-weight:700}.account-tab-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.address-card,.order-card,.message-card,.event-card{padding:15px 0;border-bottom:1px solid var(--line)}.address-card:last-child,.order-card:last-child,.message-card:last-child,.event-card:last-child{border-bottom:0}.address-card h4,.order-card h4{margin:0 0 4px}.status-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.timeline-track{display:flex;gap:5px;margin:12px 0 5px}.timeline-track i{height:5px;border-radius:99px;flex:1;background:#e0e9e2}.timeline-track i.active{background:#28a45a}.store-follow-card{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.store-follow-card img{width:52px;height:52px;border-radius:12px;object-fit:cover}.coupon-card{padding:14px;border:1px dashed #8fc7a0;border-radius:12px;background:#f7fcf8;margin:9px 0}.message-bubble{padding:10px 12px;border-radius:12px;background:#f1f7f2;margin:7px 0;font-size:13px}.message-bubble.mine{background:#def3e4;margin-left:22px}.seller-download{display:block;border:0;width:100%;text-align:left;border-radius:14px;padding:16px;background:linear-gradient(130deg,#0a6035,#149153);color:#fff;margin-top:16px}.seller-download strong{display:block;font-size:15px}.seller-download span{font-size:12px;color:#dcf8e4}.settings-list{display:grid;gap:11px}.settings-list label{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}.settings-list input{accent-color:var(--purple)}[data-theme="dark"]{--ink:#edf7ef;--soft:#b1c0b4;--paper:#102018;--wash:#1b3224;--line:#294335;--purple:#68d78b;--purple-dark:#a7efba;--purple-pale:#1b422a;--card:#15291d;--shadow:0 14px 36px rgba(0,0,0,.3)}[data-theme="dark"] .header,[data-theme="dark"] .panel,[data-theme="dark"] .product,[data-theme="dark"] .store-tile,[data-theme="dark"] .side,[data-theme="dark"] .stat,[data-theme="dark"] .account-card,[data-theme="dark"] .field input,[data-theme="dark"] .field textarea,[data-theme="dark"] .field select{background:#15291d;color:var(--ink)}[data-theme="dark"] .delivery-chip,[data-theme="dark"] .circle-btn,[data-theme="dark"] .quick-search,[data-theme="dark"] .summary{background:#1a3022;color:var(--ink)}
    @media(max-width:850px){.cart-layout{grid-template-columns:1fr}.cart-aside{position:static}.cart-list{padding:3px 15px}.cart-line{grid-template-columns:65px 1fr}.cart-line>strong{grid-column:2;text-align:left}.cart-thumb{width:65px;height:65px}.cart-benefits{grid-template-columns:1fr 1fr}.account-hero{padding:17px}.account-grid{grid-template-columns:repeat(2,1fr)}.profile-meta h1{font-size:22px}}


    .store-showcase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.store-directory-card{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden;text-align:left;box-shadow:0 4px 14px rgba(25,62,33,.05);transition:transform .16s,box-shadow .16s}.store-directory-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(25,62,33,.1)}.store-directory-media{height:168px;background-size:cover;background-position:center;position:relative}.store-directory-media:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,35,18,.35),transparent 55%)}.store-directory-body{padding:14px}.store-directory-name{font-size:16px;font-weight:900;letter-spacing:-.3px}.store-directory-description{font-size:12px;color:var(--soft);line-height:1.45;margin:7px 0 0}.store-directory-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;font-weight:800;color:var(--green)}.store-bag-selector{display:flex;gap:8px;overflow:auto;padding:8px 0 14px}.store-bag-tab{border:1px solid var(--line);background:#fff;min-width:170px;border-radius:12px;padding:9px;text-align:left}.store-bag-tab.active{border-color:var(--purple);background:var(--purple-pale);box-shadow:0 0 0 2px rgba(11,122,67,.1)}.store-bag-tab strong{display:block;font-size:12px}.store-bag-tab span{display:block;font-size:10px;color:var(--soft);margin-top:2px}.separate-bag-note{margin:12px 0 0;font-size:12px;color:#42604b;background:#f1f8f2;padding:10px;border-radius:10px}@media(max-width:850px){.store-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.store-directory-media{height:125px}.store-directory-body{padding:11px}.store-directory-name{font-size:13px}.store-directory-description{font-size:11px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-store-row .store-tile{min-width:76vw;max-width:76vw}.home-store-row .store-tile-image{height:142px}.store-bag-tab{min-width:145px}.cart-layout{grid-template-columns:1fr}.cart-aside{position:static}}@media(max-width:420px){.store-showcase{grid-template-columns:1fr}.store-directory-media{height:150px}.home-store-row .store-tile{min-width:82vw;max-width:82vw}}


    .discover-welcome{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 19px;border:1px solid #cde9d5;border-radius:16px;background:linear-gradient(120deg,#ecfaef,#fff);margin-top:28px}.discover-welcome h2{font-size:22px;letter-spacing:-.7px;margin:3px 0}.discover-welcome p{margin:0;color:var(--soft);font-size:13px}.discover-rail{display:flex;gap:13px;overflow:auto;padding:2px 1px 12px;scroll-snap-type:x mandatory}.discover-rail .product{min-width:205px;max-width:205px;scroll-snap-align:start}.discover-label{display:inline-flex;gap:5px;align-items:center;padding:5px 8px;border-radius:8px;background:var(--purple-pale);color:var(--purple-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.maker-story-card{min-width:235px;max-width:235px;border:0;border-radius:17px;overflow:hidden;position:relative;height:250px;background-size:cover;background-position:center;color:#fff;text-align:left;padding:0;scroll-snap-align:start}.maker-story-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,37,18,.85),transparent 65%)}.maker-story-card div{position:absolute;z-index:1;left:14px;right:14px;bottom:13px}.maker-story-card strong{display:block;font-size:16px}.maker-story-card span{font-size:11px;opacity:.9}.achievement-row{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.achievement{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #c8e4cf;background:#f4fbf5;color:#21633a;border-radius:999px;font-size:11px;font-weight:800}.maker-panel{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center}.maker-avatar{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#e2f3e5;display:grid;place-items:center;color:var(--green);font-size:19px;font-weight:900}.store-insights{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:15px}.store-insight{padding:11px;border:1px solid var(--line);border-radius:11px;background:#fbfefb}.store-insight strong{display:block;font-size:15px}.store-insight span{display:block;font-size:10px;color:var(--soft);margin-top:2px;font-weight:700}.gallery-rail{display:flex;gap:9px;overflow:auto;padding-bottom:8px}.gallery-image{height:145px;min-width:200px;border-radius:13px;background-size:cover;background-position:center}.delivery-calendar{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.delivery-day{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;text-align:center}.delivery-day.active{border-color:#8dcd9e;background:#edf9ef}.delivery-day .day{font-size:10px;color:var(--soft);font-weight:800;text-transform:uppercase}.delivery-day strong{display:block;font-size:12px;margin-top:4px}.product-story{padding:14px;background:#f7fcf7;border-radius:13px;margin-top:15px;font-size:13px;line-height:1.55}.search-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.search-suggestion{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:var(--purple-dark)}.store-search-result{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);text-align:left;width:100%;border-left:0;border-right:0;border-top:0;background:transparent}.store-search-result:last-child{border-bottom:0}.store-search-thumb{width:42px;height:42px;border-radius:10px;background-size:cover;background-position:center}.premium-skeleton{height:160px;border-radius:15px;background:linear-gradient(100deg,#edf3ee 30%,#f8fcf8 50%,#edf3ee 70%);background-size:200% 100%;animation:shimmer 1.25s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media(max-width:850px){.discover-welcome{padding:14px}.discover-welcome h2{font-size:19px}.discover-rail .product{min-width:170px;max-width:170px}.discover-rail .product-image{height:135px}.maker-story-card{min-width:190px;max-width:190px;height:215px}.store-insights{grid-template-columns:1fr 1fr}.delivery-calendar{grid-template-columns:1fr 1fr}.gallery-image{height:120px;min-width:160px}.maker-panel{grid-template-columns:auto 1fr}.detail-grid{gap:18px}}


    /* Compact premium home banner with subtle marketplace motion. */
    .home-hero{min-height:248px;grid-template-columns:1.35fr .65fr;background:linear-gradient(120deg,#075b32 0%,#0b8649 55%,#39b966 100%);position:relative}.home-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.1),transparent 35%,rgba(255,255,255,.08));background-size:220% 100%;animation:hero-sheen 8s ease-in-out infinite}.home-hero .hero-copy{padding:30px 38px;position:relative;z-index:1}.home-hero h1{font-size:clamp(31px,4vw,48px);max-width:530px;margin:8px 0}.home-hero p{font-size:14px;max-width:500px;margin:0}.home-hero .hero-facts{margin-top:11px}.home-hero .hero-buttons{margin-top:15px}.home-hero .btn{padding:10px 14px}.home-hero .hero-art{min-height:248px;background:radial-gradient(circle at 28% 34%,#ffd86b 0 10%,transparent 10.3%),radial-gradient(circle at 70% 67%,rgba(255,255,255,.28) 0 14%,transparent 14.3%),linear-gradient(145deg,rgba(255,255,255,.12),transparent)}.home-hero .hero-art:before{animation:hero-float 3.2s ease-in-out infinite}.home-hero .hero-art:after{animation:hero-spark 2.8s ease-in-out infinite}.home-hero .hero-facts span{animation:hero-fade .8s both}.home-hero .hero-facts span:nth-child(2){animation-delay:.12s}.home-hero .hero-facts span:nth-child(3){animation-delay:.24s}@keyframes hero-float{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-9px)}}@keyframes hero-spark{0%,100%{transform:scale(.9) rotate(-8deg);opacity:.65}50%{transform:scale(1.08) rotate(8deg);opacity:1}}@keyframes hero-sheen{0%,100%{background-position:100% 0}50%{background-position:0 0}}@keyframes hero-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.home-hero{min-height:0;grid-template-columns:1fr;border-radius:18px}.home-hero .hero-copy{padding:23px 22px}.home-hero h1{font-size:31px}.home-hero .hero-art{min-height:96px;height:96px}.home-hero .hero-art:before{width:140px;height:92px;left:34%;bottom:8px;border-width:14px}.home-hero .hero-facts{font-size:9px;gap:8px}.home-hero .hero-buttons{margin-top:12px}.home-hero .hero-buttons .btn{font-size:12px}.home-hero .hero-art:after{font-size:82px}}


    .interactive-store-banner{cursor:pointer;min-height:285px}.interactive-store-banner:focus{outline:3px solid var(--green);outline-offset:3px}.banner-info-button{border:1px solid rgba(255,255,255,.45);background:rgba(8,40,20,.5);color:#fff;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;backdrop-filter:blur(8px);margin-top:11px}.banner-info-button:hover{background:#fff;color:var(--green-dark)}.store-category-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 13px}.store-category-tab{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 13px;white-space:nowrap;color:var(--soft);font-size:12px;font-weight:800}.store-category-tab.active{background:var(--purple);border-color:var(--purple);color:#fff}.store-product-category{margin-top:20px}.store-product-category:first-child{margin-top:0}.store-product-category h3{font-size:18px;margin:0 0 10px}.store-info-backdrop{position:fixed;inset:0;background:rgba(4,28,13,.58);z-index:90;display:grid;place-items:center;padding:18px;animation:info-fade .18s ease}.store-info-modal{width:min(630px,100%);max-height:min(88vh,760px);overflow:auto;background:#fff;border-radius:21px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.3);animation:info-rise .22s ease}.store-info-modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.store-info-modal h2{font-size:27px;letter-spacing:-1px;margin:5px 0}.store-info-close{border:0;background:#edf5ee;color:var(--green-dark);width:34px;height:34px;border-radius:10px;font-size:20px}.store-info-modal .maker-panel{padding:13px;background:#f6fbf7;border-radius:13px;margin-top:15px}.store-info-modal .achievement-row{margin:13px 0}.store-info-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.store-info-detail{border:1px solid var(--line);border-radius:11px;padding:10px;font-size:12px}.store-info-detail span{display:block;color:var(--soft);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.store-info-detail strong{display:block;margin-top:3px;font-size:13px}@keyframes info-fade{from{opacity:0}to{opacity:1}}@keyframes info-rise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:850px){.interactive-store-banner{min-height:230px}.interactive-store-banner .store-banner-copy{padding:19px}.interactive-store-banner h1{font-size:30px}.store-info-modal{padding:17px;border-radius:18px}.store-info-modal h2{font-size:23px}.store-info-details{grid-template-columns:1fr}.store-category-tabs{margin:0 -2px}.store-product-category h3{font-size:17px}}

    .native-permission-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 17px;border:1px solid #bfe0c8;border-radius:15px;background:linear-gradient(120deg,#ecfaef,#fff);margin-top:16px}.native-permission-card h3{margin:0;font-size:16px}.native-permission-card p{margin:3px 0 0;color:var(--soft);font-size:12px}.native-permission-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:650px){.native-permission-card{display:block}.native-permission-actions{justify-content:flex-start;margin-top:12px}.native-permission-actions .btn{flex:1}}
    .brand-full-logo{width:248px;height:auto;display:block;filter:drop-shadow(0 3px 7px rgba(11,122,67,.08))}.auth-brand .brand-mark{box-shadow:0 10px 23px rgba(11,122,67,.24)}@media(max-width:850px){.brand-full-logo{width:180px}.auth-brand .brand-mark{width:65px!important;height:65px!important}}
    .store-media-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.store-tile-image>.verified,.store-directory-media>.verified{z-index:2}.store-directory-media>.store-media-image{z-index:0}.store-directory-media:after{z-index:1;pointer-events:none}.store-directory-media .verified{position:absolute}.store-search-image{width:42px;height:42px;border-radius:10px;object-fit:cover;background:#e7f2e9}.maker-story-card>.store-media-image{z-index:0}.maker-story-card>div{z-index:2}

    .insta-store-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.insta-store-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;text-align:left;box-shadow:0 4px 15px rgba(21,72,37,.06);transition:transform .22s cubic-bezier(.2,.9,.25,1),box-shadow .22s}.insta-store-card:hover{transform:translateY(-5px);box-shadow:0 16px 28px rgba(21,72,37,.14)}.insta-store-hero{height:126px;background:linear-gradient(135deg,#dff4e4,#bde8c8);background-size:cover;background-position:center;position:relative}.insta-store-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,44,23,.25),transparent 70%)}.insta-store-logo{position:absolute;width:68px;height:68px;left:14px;bottom:-34px;z-index:2;border-radius:18px;object-fit:cover;background:#fff;border:3px solid #fff;box-shadow:0 7px 14px rgba(0,0,0,.13)}.insta-store-verified{position:absolute;right:10px;bottom:10px;z-index:2;background:#fff;color:#087a43;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900}.insta-store-body{padding:44px 14px 14px}.insta-store-title{font-size:16px;font-weight:900;letter-spacing:-.35px}.insta-store-meta{font-size:11px;color:var(--soft);margin-top:4px}.insta-store-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.insta-store-chip{padding:5px 7px;border-radius:7px;background:#f2f8f3;color:#24663b;font-size:10px;font-weight:800}.insta-store-link{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--purple);font-size:12px;font-weight:900}.add-dance{animation:add-dance .5s cubic-bezier(.2,.9,.3,1)}.product{transition:transform .18s,box-shadow .18s}.product:active{transform:scale(.98)}.btn:active,.add:active{transform:scale(.94)}@keyframes add-dance{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-12deg) scale(1.2)}50%{transform:rotate(12deg) scale(1.13)}75%{transform:rotate(-6deg) scale(1.08)}100%{transform:rotate(0) scale(1)}}@media(max-width:850px){.insta-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.insta-store-hero{height:105px}.insta-store-logo{width:58px;height:58px;left:11px;bottom:-29px;border-radius:15px}.insta-store-body{padding:36px 11px 11px}.insta-store-title{font-size:13px}.insta-store-chips{display:none}.insta-store-link{font-size:11px}.insta-store-verified{font-size:9px;padding:4px 6px}}@media(max-width:420px){.insta-store-grid{grid-template-columns:1fr}.insta-store-hero{height:135px}.insta-store-logo{width:66px;height:66px;bottom:-33px}.insta-store-body{padding-top:42px}}


    .insta-store-slider{display:flex;gap:11px;overflow:auto;padding:3px 1px 13px;scroll-snap-type:x mandatory}.insta-mini-store{min-width:178px;max-width:178px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;text-align:left;scroll-snap-align:start;box-shadow:0 3px 10px rgba(21,72,37,.05);transition:transform .18s,box-shadow .18s}.insta-mini-store:hover{transform:translateY(-3px);box-shadow:0 10px 19px rgba(21,72,37,.12)}.insta-mini-top{display:flex;gap:8px;align-items:center}.insta-mini-logo{width:45px;height:45px;border-radius:12px;object-fit:cover;background:#e6f2e8}.insta-mini-name{font-size:12px;font-weight:900;line-height:1.2}.insta-mini-meta{font-size:10px;color:var(--soft);margin-top:3px}.insta-mini-foot{font-size:10px;font-weight:800;color:var(--green);margin-top:9px;padding-top:8px;border-top:1px solid var(--line)}.maker-spotlight{border:1px solid #bfe1c7;border-radius:18px;overflow:hidden;background:linear-gradient(120deg,#f2fbf4,#fff);padding:16px}.maker-spotlight-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.maker-spotlight-maker{display:flex;gap:10px;align-items:center}.maker-spotlight-logo{width:50px;height:50px;border-radius:14px;object-fit:cover;background:#dff1e2}.native-notification-backdrop{position:fixed;inset:0;background:rgba(5,28,13,.56);z-index:110;display:grid;place-items:center;padding:18px;animation:notify-fade .22s ease}.native-notification-popup{width:min(390px,100%);border-radius:22px;background:#fff;padding:22px;box-shadow:0 28px 70px rgba(0,0,0,.28);text-align:center;animation:notify-pop .25s cubic-bezier(.2,.9,.3,1)}.native-notification-icon{width:62px;height:62px;border-radius:20px;background:#e4f6e8;color:#087a43;display:grid;place-items:center;font-size:30px;margin:0 auto 13px}.native-notification-popup h2{font-size:22px;letter-spacing:-.7px;margin:0}.native-notification-popup p{font-size:13px;color:var(--soft);line-height:1.5}.native-notification-actions{display:flex;gap:8px;margin-top:15px}.native-notification-actions .btn{flex:1}@keyframes notify-fade{from{opacity:0}to{opacity:1}}@keyframes notify-pop{from{transform:translateY(12px) scale(.96);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@media(max-width:650px){.insta-mini-store{min-width:152px;max-width:152px}.maker-spotlight{padding:13px}.maker-spotlight-head{align-items:flex-start}.native-notification-popup{padding:19px}.native-notification-actions{flex-direction:column}}


    .product-image{overflow:hidden;background:#eef5ef}.product-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity .35s ease,transform .6s cubic-bezier(.2,.9,.3,1)}.product-image.loaded img{opacity:1;transform:scale(1)}.product:hover .product-image.loaded img{transform:scale(1.045)}.product-store-row{display:flex;gap:7px;align-items:center;margin-top:7px}.product-store-logo{width:22px;height:22px;border-radius:7px;object-fit:cover;background:#e5f2e8}.product-store-row .product-store{margin:0}.product-detail-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.product-detail-chip{font-size:9px;font-weight:800;padding:4px 6px;border-radius:6px;background:#f2f8f3;color:#3b6b4a}.flying-product{position:fixed;z-index:120;pointer-events:none;width:58px;height:58px;border-radius:14px;object-fit:cover;box-shadow:0 12px 24px rgba(6,61,29,.26);animation:fly-swallow .75s cubic-bezier(.18,.9,.25,1) forwards;will-change:transform,opacity}
@keyframes fly-swallow{0%{opacity:1;transform:translate(0,0) scale(1) rotate(0)}35%{opacity:1;transform:translate(calc(var(--dx,40vw)*.45),calc(var(--dy,40vh)*.25 - 40px)) scale(.85) rotate(-8deg)}70%{opacity:.95;transform:translate(calc(var(--dx,40vw)*.92),calc(var(--dy,40vh)*.88)) scale(.35) rotate(12deg)}100%{opacity:0;transform:translate(var(--dx,40vw),var(--dy,40vh)) scale(.08) rotate(18deg)}}
.bag-icon-wrap{display:inline-grid;place-items:center;position:relative;width:22px;height:22px}
.bag-icon-wrap svg{width:100%;height:100%;overflow:visible;display:block}
.bag-icon-wrap .bag-mouth{transform-origin:50% 20%;transform:scaleY(.35)}
.bag-icon-wrap.swallow{animation:bag-swallow-bounce .75s cubic-bezier(.2,.9,.3,1)}
.bag-icon-wrap.swallow .bag-mouth{animation:bag-mouth-open .75s cubic-bezier(.2,.9,.3,1)}
@keyframes bag-swallow-bounce{0%{transform:scale(1)}25%{transform:scale(1.18)}55%{transform:scale(0.96)}100%{transform:scale(1)}}
@keyframes bag-mouth-open{0%{transform:scaleY(.35)}18%{transform:scaleY(.35)}32%{transform:scaleY(1.35)}55%{transform:scaleY(1.25)}72%{transform:scaleY(.45)}100%{transform:scaleY(.35)}}
.circle-btn .bag-icon-wrap{width:20px;height:20px}
.mobile-nav .nav-bag .bag-icon-wrap{width:24px;height:24px}
.mobile-nav .nav-bag.swallow-bag{animation:nav-bag-swallow .75s cubic-bezier(.2,.9,.3,1)}
@keyframes nav-bag-swallow{0%{transform:translateY(-20px) scale(1)}30%{transform:translateY(-22px) scale(1.08)}100%{transform:translateY(-20px) scale(1)}}
@media(prefers-reduced-motion:reduce){.flying-product,.bag-icon-wrap.swallow,.bag-icon-wrap.swallow .bag-mouth,.mobile-nav .nav-bag.swallow-bag{animation-duration:.01ms!important}}.heart-pop{animation:heart-pop .48s cubic-bezier(.2,.9,.3,1)}@keyframes heart-pop{0%{transform:scale(1)}45%{transform:scale(1.35) rotate(-8deg)}100%{transform:scale(1)}}.loading-copy{animation:loading-breathe 1.8s ease-in-out infinite}@keyframes loading-breathe{50%{opacity:.45;transform:translateY(2px)}}@media(max-width:850px){.product-detail-chip{font-size:8px}.product-store-logo{width:20px;height:20px}.flying-product{width:50px;height:50px}.product-image img{transition-duration:.4s}}


    .payment-page{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:32px 0}.payment-page .confetti-msg{animation:none!important;opacity:1!important;transform:none!important}.payment-card{width:min(520px,100%);text-align:center;padding:30px}.payment-icon{width:82px;height:82px;border-radius:28px;display:grid;place-items:center;margin:0 auto 17px;font-size:39px}.payment-icon.success{background:#e4f7e9;color:#087a43}.payment-icon.pending{background:#fff7df;color:#9b7014;animation:none!important}.payment-icon.cancel{background:#fff0f1;color:#b33a49}.payment-card h1{font-size:30px;letter-spacing:-1px;margin:0}.payment-card p{font-size:14px;color:var(--soft);line-height:1.55}.payment-steps{display:flex;gap:6px;margin:18px 0}.payment-steps i{height:6px;border-radius:10px;background:#e1ece3;flex:1}.payment-steps i.active{background:#21a65b}.payment-order-box{padding:13px;border:1px solid var(--line);border-radius:12px;background:#f9fcf9;text-align:left;margin:16px 0;font-size:13px}@keyframes payment-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 12px rgba(243,185,53,.14)}}


    
    /* ========== BCM Account menu: clean hamburger on mobile, horizontal tabs on desktop ========== */
    .account-shell{display:grid;grid-template-columns:1fr;gap:16px;position:relative}
    .account-menu-bar{position:relative;z-index:60;width:100%}

    /* Toggle bar (shown on mobile only) */
    .account-mobile-toggle{
      display:none;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      width:100%;
      min-height:64px;
      padding:8px 10px 8px 8px;
      border:1px solid rgba(11,122,67,.18);
      border-radius:16px;
      background:linear-gradient(135deg,#fff 0%,#f0fbf3 55%,#e6f6eb 100%);
      color:var(--ink);
      box-shadow:0 6px 16px rgba(10,78,39,.08);
      font:inherit;
      text-align:left;
      transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;
    }
    .account-mobile-toggle:hover{transform:translateY(-1px);border-color:rgba(11,122,67,.35);box-shadow:0 10px 22px rgba(10,78,39,.12)}
    .account-menu-bar.menu-open .account-mobile-toggle{border-color:var(--purple);box-shadow:0 12px 28px rgba(10,78,39,.16)}

    .account-toggle-user{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
    .account-toggle-user > span:last-child{display:grid;gap:1px;min-width:0}
    .account-toggle-user small{font-size:9px;letter-spacing:1.1px;color:var(--green,#0b7a43);font-weight:900;text-transform:uppercase}
    .account-toggle-user strong{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
    .account-toggle-avatar{
      width:46px;height:46px;flex:0 0 46px;
      display:grid;place-items:center;overflow:hidden;
      border-radius:14px;
      background:linear-gradient(145deg,var(--purple),#17a455);
      color:#fff;font-size:15px;font-weight:900;
      box-shadow:0 5px 12px rgba(11,122,67,.22);
    }
    .account-toggle-avatar img{width:100%;height:100%;object-fit:cover}

    .account-toggle-action{display:flex;align-items:center;gap:8px;flex-shrink:0;font-size:11px;font-weight:900;color:var(--green,#0b7a43)}
    .account-toggle-action > span:first-child{display:inline}
    .account-hamburger{
      width:38px;height:38px;display:grid;place-content:center;gap:4px;
      border-radius:11px;background:var(--purple);
      box-shadow:0 4px 10px rgba(11,122,67,.22);
    }
    .account-hamburger i{display:block;width:16px;height:2px;border-radius:99px;background:#fff;transition:transform .22s ease,opacity .22s ease}
    .menu-open .account-hamburger i:first-child{transform:translateY(6px) rotate(45deg)}
    .menu-open .account-hamburger i:nth-child(2){opacity:0}
    .menu-open .account-hamburger i:last-child{transform:translateY(-6px) rotate(-45deg)}

    /* Backdrop when menu open (mobile) */
    .account-menu-backdrop{
      display:none;position:fixed;inset:0;z-index:55;
      background:rgba(8,30,18,.38);backdrop-filter:blur(2px);
      -webkit-backdrop-filter:blur(2px);
    }
    .account-menu-bar.menu-open .account-menu-backdrop{display:block}

    /* Menu panel */
    .account-menu-links{
      display:none;
      position:absolute;z-index:56;
      top:calc(100% + 8px);left:0;right:0;
      max-height:min(72vh,640px);overflow:auto;
      padding:12px;
      border:1px solid rgba(11,122,67,.16);
      border-radius:18px;
      background:linear-gradient(145deg,#fff,#f5fcf6);
      box-shadow:0 20px 48px rgba(5,48,23,.2);
      animation:account-menu-in .22s cubic-bezier(.2,.9,.3,1);
      -webkit-overflow-scrolling:touch;
    }
    .account-menu-links.open{display:block}

    @keyframes account-menu-in{
      from{opacity:0;transform:translateY(-8px) scale(.985)}
      to{opacity:1;transform:translateY(0) scale(1)}
    }

    .account-menu-popover-head{
      display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
      padding:4px 4px 12px;border-bottom:1px solid #dcecdf;margin-bottom:4px;
    }
    .account-menu-popover-head > div{display:grid;gap:2px;min-width:0;flex:1}
    .account-menu-popover-head span{
      display:block;color:var(--green,#0b7a43);font-size:9px;font-weight:900;
      letter-spacing:1.1px;text-transform:uppercase;
    }
    .account-menu-popover-head strong{
      display:block;font-size:16px;line-height:1.25;font-weight:800;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink);
    }
    .account-menu-popover-head small{
      display:block;font-size:11px;color:var(--soft);line-height:1.3;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .account-menu-close{
      flex:0 0 34px;width:34px;height:34px;margin:0;padding:0;
      border:0;border-radius:10px;background:#e9f6ec;color:var(--green,#0b7a43);
      font-size:22px;line-height:1;font-weight:700;
    }
    .account-menu-close:hover{background:#d4efdb}

    .account-menu-grid{
      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:8px;
    }
    .account-menu-grid button{
      position:relative;display:flex;align-items:center;gap:8px;min-width:0;
      margin:0;padding:11px 10px;border:1px solid #dfede2;border-radius:12px;
      background:#fff;color:var(--ink);font-size:12px;font-weight:800;
      text-align:left;box-shadow:none;
      transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;
    }
    .account-menu-grid button:hover{
      transform:translateY(-1px);border-color:#9bd6ab;background:#f3fbf5;
      box-shadow:0 4px 10px rgba(10,78,39,.07);
    }
    .account-menu-grid button.active{
      border-color:var(--purple);background:linear-gradient(135deg,#ecfaef,#dbf5e2);color:var(--green-dark,#075a31);
    }
    .account-menu-item-icon{
      width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;
      border-radius:8px;background:#eef7ef;font-size:13px;
    }
    .account-menu-grid button.active .account-menu-item-icon{background:var(--purple);color:#fff}
    .account-menu-grid button > span:nth-child(2){
      overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;
    }
    .account-menu-grid button b{margin-left:auto;color:var(--purple);font-size:11px;flex-shrink:0}
    .account-menu-grid button.logout{
      grid-column:1 / -1;justify-content:center;
      border-color:#f0cbd1;background:#fff7f8;color:#aa3043;
    }
    .account-menu-grid button.logout .account-menu-item-icon{background:#ffe6e9;color:#aa3043}

    /* Desktop: hide toggle, show horizontal scroll tabs */
    @media (min-width:851px){
      .account-mobile-toggle{display:none !important}
      .account-menu-backdrop{display:none !important}
      .account-menu-links{
        display:block !important;position:static !important;
        width:auto;max-height:none;overflow:visible;padding:0;
        border:1px solid var(--line);border-radius:16px;background:#fff;
        box-shadow:0 4px 14px rgba(10,78,39,.05);animation:none;
      }
      .account-menu-popover-head{display:none !important}
      .account-menu-grid{
        display:flex !important;flex-wrap:nowrap;align-items:center;gap:6px;
        overflow-x:auto;overscroll-behavior-x:contain;padding:10px;
        scrollbar-width:thin;-webkit-overflow-scrolling:touch;
      }
      .account-menu-grid button{
        flex:0 0 auto;min-height:40px;padding:8px 12px;font-size:12px;
        border-radius:10px;
      }
      .account-menu-grid button.logout{grid-column:auto;margin-left:4px}
      .account-menu-grid button b{display:none}
      .account-menu-item-icon{width:20px;height:20px;flex-basis:20px;font-size:11px}
    }

    /* Mobile: force hamburger */
    @media (max-width:850px){
      .account-shell{gap:14px}
      .account-mobile-toggle{display:flex !important}
      .account-menu-links{display:none}
      .account-menu-links.open{display:block}
      .account-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
      .account-menu-grid button{min-height:44px;padding:10px 8px;font-size:11px}
      .account-menu-grid button.logout{min-height:42px}
    }

    @media (max-width:480px){
      .account-toggle-action > span:first-child{display:none}
      .account-mobile-toggle{min-height:58px;padding:7px 8px 7px 7px;border-radius:14px}
      .account-toggle-avatar{width:42px;height:42px;flex-basis:42px;border-radius:12px;font-size:13px}
      .account-toggle-user strong{font-size:13px}
      .account-hamburger{width:36px;height:36px}
      .account-menu-links{padding:10px;border-radius:16px;max-height:min(68vh,560px)}
      .account-menu-popover-head strong{font-size:15px}
      .account-menu-popover-head small{font-size:10px}
      .account-menu-grid button{font-size:10px;padding:9px 7px;gap:6px;min-height:42px}
      .account-menu-item-icon{width:22px;height:22px;flex-basis:22px;font-size:12px}
    }

    @media (max-width:360px){
      .account-menu-grid{grid-template-columns:1fr;gap:5px}
      .account-menu-grid button{min-height:40px;font-size:11px}
      .account-menu-grid button.logout{grid-column:auto}
    }

    /* Keep assistant / legal styles that lived near the old block */
    /* Kari chat — polished */
.kari-shell{
  display:flex;flex-direction:column;
  height:min(72vh,640px);max-height:calc(100dvh - 150px);min-height:380px;
  overflow:hidden;padding:0!important;border:1px solid #e4dcf2;
  background:linear-gradient(180deg,#faf8ff 0%,#fff 40%);
  border-radius:18px;box-shadow:0 10px 40px rgba(60,30,90,.07);
}
.kari-header{
  flex-shrink:0;display:flex;align-items:center;gap:12px;
  padding:14px 16px;border-bottom:1px solid #ebe4f5;
  background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
}
.kari-avatar{
  width:44px;height:44px;border-radius:16px;
  background:linear-gradient(145deg,#6d28d9 0%,#a78bfa 100%);
  display:grid;place-items:center;color:#fff;font-weight:900;font-size:17px;
  flex-shrink:0;box-shadow:0 6px 16px rgba(109,40,217,.35);
}
.kari-header .panel-title{letter-spacing:-.3px}
.assistant-chat{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;
  display:flex;flex-direction:column;gap:12px;
  padding:14px 14px 16px;-webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;scroll-behavior:smooth;
}
.assistant-message{
  max-width:88%;padding:12px 15px;border-radius:18px;
  background:#fff;font-size:14px;line-height:1.5;align-self:flex-start;
  border-bottom-left-radius:6px;color:#1f1630;
  box-shadow:0 1px 3px rgba(40,20,60,.06);border:1px solid #efeaf7;
}
.assistant-message.user{
  align-self:flex-end;
  background:linear-gradient(135deg,#6d28d9,#7c3aed);color:#fff;
  border:none;border-bottom-right-radius:6px;border-bottom-left-radius:18px;
  box-shadow:0 4px 14px rgba(109,40,217,.28);
}
.assistant-suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.assistant-suggestions button{
  border:1px solid #ddd4ea;background:#faf7ff;border-radius:999px;
  padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;color:#5b21b6;
  transition:background .15s,transform .15s;
}
.assistant-suggestions button:hover{background:#efe6ff;transform:translateY(-1px)}
.kari-composer{
  flex-shrink:0;padding:10px 12px 12px;
  background:rgba(255,255,255,.95);border-top:1px solid #ebe4f5;z-index:2;
}
.kari-input-wrap{
  display:flex;align-items:flex-end;gap:8px;
  background:#f4f0fb;border:1.5px solid #ddd4ea;border-radius:24px;
  padding:8px 8px 8px 16px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03),0 4px 16px rgba(80,40,120,.05);
  transition:border-color .15s,box-shadow .15s;
}
.kari-input-wrap:focus-within{
  border-color:#a78bfa;
  box-shadow:0 0 0 3px rgba(124,58,237,.16),0 4px 16px rgba(80,40,120,.08);
  background:#fff;
}
.kari-input-wrap textarea{
  flex:1;border:0;background:transparent;resize:none;
  min-height:26px;max-height:120px;padding:7px 0;font:inherit;color:#1f1630;
  outline:none;line-height:1.4;
}
.kari-input-wrap textarea::placeholder{color:#9b8fb0}
.kari-send{
  width:42px;height:42px;border-radius:50%;border:0;
  background:linear-gradient(145deg,#6d28d9,#8b5cf6);color:#fff;font-size:18px;font-weight:800;
  cursor:pointer;flex-shrink:0;display:grid;place-items:center;
  box-shadow:0 4px 12px rgba(109,40,217,.4);transition:transform .15s,opacity .15s;
}
.kari-send:not(:disabled):hover{transform:scale(1.06)}
.kari-send:not(:disabled):active{transform:scale(.96)}
.kari-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}

70%{box-shadow:0 0 0 12px rgba(239,68,68,0)}
  100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
}



    .assistant-message{max-width:86%;padding:11px 13px;border-radius:13px;background:#f2f8f3;font-size:13px;line-height:1.5}
    .assistant-message.user{align-self:flex-end;background:var(--purple);color:#fff}
    .assistant-suggestions{display:flex;gap:7px;flex-wrap:wrap}
    .assistant-suggestions button{border:1px solid #bfe1c7;background:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;color:var(--green-dark,#075a31)}
    .legal-section{padding:15px 0;border-bottom:1px solid var(--line)}
    .legal-section:last-child{border-bottom:0}
    .legal-section h3{font-size:16px;margin:0 0 7px}
    .legal-section p{font-size:13px;color:var(--soft);line-height:1.6;margin:0}
    .contact-card{padding:14px;border:1px solid #c3e2cb;border-radius:13px;background:#f4fbf5;margin-bottom:12px}


.ad-slider{position:relative;margin:12px 0 18px;border-radius:22px;overflow:hidden;background:#0d1a12;box-shadow:0 18px 50px rgba(10,40,22,.2)}
.ad-slider-track{display:flex;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.ad-slide{min-width:100%;position:relative;aspect-ratio:21/9;min-height:200px;max-height:340px;background:#122218}
.ad-slide img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.ad-slide-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:22px 22px 28px;text-align:left;z-index:2;pointer-events:none}
.ad-slide-copy.overlay-dark{background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.35) 40%,rgba(0,0,0,.78) 100%)}
.ad-slide-copy.overlay-light{background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.85) 100%);color:#123!important}
.ad-slide-copy.overlay-brand{background:linear-gradient(180deg,rgba(7,91,50,.2) 0%,rgba(7,91,50,.85) 100%)}
.ad-slide-copy.overlay-none{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.55) 100%)}
.ad-badge,.ad-slide-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#16a34a;color:#fff;font-weight:800;font-size:12px;margin-bottom:8px}
.ad-slide-copy h3,.ad-slide-headline{margin:0 0 6px;font-size:clamp(20px,4.5vw,34px);font-weight:900;line-height:1.15;max-width:min(92%,28ch);text-shadow:0 2px 14px rgba(0,0,0,.35)}
.ad-slide-copy p,.ad-slide-sub{margin:0 0 12px;font-size:clamp(13px,2.8vw,16px);font-weight:600;max-width:min(92%,36ch);opacity:.95;line-height:1.35}
.ad-cta,.ad-slide-cta{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;margin-top:4px;padding:11px 18px;border-radius:999px;border:0;background:#fff;color:#0b1a12;font-weight:900;font-size:13px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.25)}
.ad-slide-copy.overlay-light .ad-cta,.ad-slide-copy.overlay-light .ad-slide-cta{background:#0b7a43;color:#fff}
.ad-slide-store{font-size:12px;font-weight:700;opacity:.9;margin-bottom:6px}
.ad-nav,.ad-slider-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);color:#0b1a12;font-size:22px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center}
.ad-prev,.ad-slider-nav.prev{left:12px}
.ad-next,.ad-slider-nav.next{right:12px}
.ad-dots,.ad-slider-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:7px;z-index:4}
.ad-dots button,.ad-slider-dots button{width:8px;height:8px;border-radius:99px;border:0;background:rgba(255,255,255,.45);padding:0;cursor:pointer}
.ad-dots button.is-active,.ad-dots button.on,.ad-slider-dots button.on{width:22px;background:#fff}
.ad-slider-progress{position:absolute;left:0;bottom:0;height:3px;background:#22c55e;width:100%;transform-origin:left;z-index:5}
@keyframes adProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:640px){
  .ad-slide{aspect-ratio:4/3;max-height:280px;min-height:220px}
  .ad-slide-copy{padding:16px 16px 32px}
  .ad-nav,.ad-slider-nav{width:34px;height:34px;font-size:18px}
}

.ad-slider-progress{position:absolute;left:0;bottom:0;height:3px;background:#39b966;z-index:4;border-radius:0 2px 0 0}
@media(max-width:850px){.ad-slide{max-height:180px;aspect-ratio:16/10}.ad-slider-nav{opacity:.9;width:32px;height:32px}}
@media (min-width:720px){.ad-slide{max-height:280px}}


    
    /* Accessibility helpers */
    .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    .sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
    :focus-visible{outline:3px solid var(--purple);outline-offset:2px}
    .otp-digit:focus-visible{outline:none}
    .otp-channel-btn:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
    .btn:focus-visible,.text-link:focus-visible,.head-link:focus-visible,.circle-btn:focus-visible{outline:3px solid var(--purple);outline-offset:2px}
    .auth-error-live{margin:0 0 12px}
    .otp-verify-box:focus-within{box-shadow:0 0 0 2px rgba(11,122,67,.08)}

    /* OTP verification bar — register form */
    .otp-verify-box{margin-top:16px;padding:18px 16px;border:1px solid #bfe1c7;border-radius:16px;background:linear-gradient(145deg,#f4fbf5,#fff)}
    .otp-verify-box > strong{display:block;font-size:14px;font-weight:900;letter-spacing:-.2px;margin-bottom:4px;color:var(--ink)}
    .otp-verify-hint{margin:0 0 12px;font-size:12px;color:var(--soft);font-weight:600;line-height:1.4}
    .otp-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
    .otp-channel-btn{border:1.5px solid var(--line);background:#fff;border-radius:14px;padding:14px 12px;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
    .otp-channel-btn:hover{border-color:#9bd6ab;background:#f7fcf8}
    .otp-channel-btn.active{border-color:var(--purple);background:var(--purple-pale);box-shadow:0 0 0 3px rgba(11,122,67,.12)}
    .otp-channel-btn strong{display:block;font-size:14px;font-weight:900;color:var(--ink);margin-bottom:3px}
    .otp-channel-btn.active strong{color:var(--purple-dark)}
    .otp-channel-btn span{display:block;font-size:11px;color:var(--soft);font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .otp-send-btn{width:100%;margin-bottom:16px}
    .otp-digits-label{display:block;font-size:12px;font-weight:800;color:#514b5c;margin-bottom:10px;text-align:center}
    .otp-digits-row{display:flex;gap:10px;justify-content:center;align-items:center;margin-bottom:10px}
    .otp-digit{
      width:54px;height:58px;border-radius:14px;
      border:2px solid #d0e4d5;background:#fff;
      text-align:center;font-size:26px;font-weight:900;font-variant-numeric:tabular-nums;
      color:var(--ink);outline:none;caret-color:var(--purple);
      transition:border-color .15s,box-shadow .15s,background .15s;
      -moz-appearance:textfield;
    }
    .otp-digit::-webkit-outer-spin-button,.otp-digit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
    .otp-digit:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(11,122,67,.16);background:#f8fcf9}
    .otp-digit.filled{border-color:#0b7a43;background:#f0faf3}
    .otp-digit.ready{border-color:#0b7a43}
    .otp-digit.disabled{opacity:.55;pointer-events:none}
    .otp-status{text-align:center;font-size:12px;font-weight:700;margin:0 0 8px;color:var(--soft)}
    .otp-status.ok{color:#047857}
    .otp-status.bad{color:#b4233c}
    .otp-alt-link{display:block;text-align:center;margin-top:6px;border:0;background:transparent;color:var(--purple);font-size:12px;font-weight:800;cursor:pointer;padding:4px}
    .otp-alt-link:disabled{opacity:.5;cursor:not-allowed}
    @media(max-width:420px){
      .otp-digit{width:42px;height:50px;font-size:20px;border-radius:12px}
      .otp-digits-row{gap:6px}
      .otp-channel-btn{padding:12px 10px}
      .otp-channel-btn strong{font-size:13px}
    }
    /* 6-digit SMS OTP row */
    .otp-digits-row.sms-6 .otp-digit{width:48px;height:54px;font-size:22px}
    @media(max-width:420px){
      .otp-digits-row.sms-6 .otp-digit{width:40px;height:48px;font-size:18px}
    }


    /* --- Premium Style Additions --- */
    /* Accessibility & Focus Outline */
    *:focus-visible {
      outline: 3px solid var(--purple) !important;
      outline-offset: 2px !important;
    }
    
    /* Onboarding Tutorial Overlay */
    .onboarding-overlay {
      position: fixed;
      inset: 0;
      background: rgba(17, 9, 39, 0.85);
      backdrop-filter: blur(8px);
      z-index: 1000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      animation: fadeIn 0.3s ease;
    }
    .onboarding-card {
      background: #fff;
      border-radius: 24px;
      width: min(520px, 100%);
      padding: 40px;
      box-shadow: 0 25px 60px rgba(0,0,0,0.35);
      position: relative;
      text-align: center;
      animation: scaleIn 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    .onboarding-close {
      position: absolute;
      top: 18px;
      right: 18px;
      border: 0;
      background: var(--wash);
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: var(--soft);
      font-size: 18px;
    }
    .onboarding-image {
      font-size: 72px;
      margin-bottom: 24px;
      animation: float 3s ease-in-out infinite;
    }
    .onboarding-title {
      font-family: 'Playfair Display', serif;
      font-size: 28px;
      color: var(--ink);
      margin: 0 0 12px;
    }
    .onboarding-text {
      color: var(--soft);
      font-size: 15px;
      line-height: 1.6;
      margin: 0 0 28px;
      min-height: 72px;
    }
    .onboarding-steps {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-bottom: 28px;
    }
    .onboarding-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--line);
      transition: all 0.3s ease;
    }
    .onboarding-dot.active {
      background: var(--purple);
      width: 24px;
      border-radius: 4px;
    }
    .onboarding-buttons {
      display: flex;
      gap: 12px;
      justify-content: space-between;
      align-items: center;
    }
    
    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-8px); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    @keyframes scaleIn {
      from { opacity: 0; transform: scale(0.9) translateY(15px); }
      to { opacity: 1; transform: scale(1) translateY(0); }
    }

    /* Skeleton Shimmer Animations */
    .skeleton-image {
      height: 185px;
      background: #edf3ee;
      border-radius: 14px;
    }
    .skeleton-text {
      height: 14px;
      background: #edf3ee;
      border-radius: 4px;
      margin-bottom: 10px;
    }
    .skeleton-text.short { width: 40%; }
    .skeleton-text.medium { width: 65%; }
    .skeleton-text.long { width: 85%; }
    .skeleton-btn {
      height: 38px;
      background: #edf3ee;
      border-radius: 10px;
    }

    /* Premium Offline Banner */
    .offline-banner-premium {
      background: linear-gradient(135deg, #7f1d1d, #b91c1c);
      color: #fee2e2;
      font-size: 13px;
      font-weight: 700;
      padding: 10px 20px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.15);
      animation: slideDown 0.4s cubic-bezier(0.2, 0.9, 0.3, 1);
      position: sticky;
      top: 78px;
      z-index: 25;
    }
    .offline-pulse {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #ef4444;
      box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7);
      animation: offlinePulseAnimation 1.6s infinite;
    }
    @keyframes offlinePulseAnimation {
      0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
      70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
    }
    @keyframes slideDown {
      from { transform: translateY(-100%); }
      to { transform: translateY(0); }
    }

    /* Voice Search Micro-experience */.voice-search-btn:hover {
      background: var(--purple);
      color: #fff;
    }70% { transform: scale(1.05); box-shadow: 0 0 0 18px rgba(109, 40, 217, 0); }
      100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(109, 40, 217, 0); }
    }@keyframes waveBounce {
      from { transform: scaleY(0.3); }
      to { transform: scaleY(1); }
    }

    /* Order Tracking Map Styles */
    .leaflet-container {
      font-family: inherit;
    }
    .tracking-map-legend {
      background: #fff;
      padding: 12px;
      border-radius: 8px;
      font-size: 11px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }
    .tracking-map-legend-item {
      display: flex;
      align-items: center;
      gap: 6px;
    }
    
    /* Interactive Active Filter Tags */
    .active-filter-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }
    .filter-tag {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--wash);
      border: 1px solid var(--line);
      border-radius: 8px;
      padding: 6px 10px;
      font-size: 11px;
      font-weight: 700;
      color: var(--purple-dark);
    }
    .filter-tag button {
      border: 0;
      background: transparent;
      padding: 0;
      color: var(--soft);
      font-size: 13px;
      line-height: 1;
    }
    .filter-tag button:hover {
      color: var(--red);
    }

    /* Crash Analytics Panel Styles */
    .crash-log-table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 12px;
      font-size: 12px;
    }
    .crash-log-table th, .crash-log-table td {
      border: 1px solid var(--line);
      padding: 8px;
      text-align: left;
    }
    .crash-log-table th {
      background: var(--wash);
      font-weight: 800;
    }
    .crash-log-table tr:nth-child(even) {
      background: #fafafc;
    }
    .stack-trace-box {
      font-family: monospace;
      white-space: pre-wrap;
      background: #1e1b29;
      color: #fda4af;
      padding: 12px;
      border-radius: 8px;
      font-size: 11px;
      max-height: 200px;
      overflow-y: auto;
      margin-top: 4px;
    }

    /* Premium Native Notification Popup Overrides */
    .native-notification-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(17, 9, 39, 0.7) !important;
      backdrop-filter: blur(10px) !important;
      z-index: 1050 !important;
      display: grid;
      place-items: center;
      padding: 18px;
      animation: notify-fade 0.3s ease;
    }
    .native-notification-popup {
      width: min(440px, 100%) !important;
      border-radius: 24px !important;
      background: #fff !important;
      padding: 36px !important;
      box-shadow: 0 25px 60px rgba(109, 40, 217, 0.25) !important;
      text-align: center;
      position: relative;
      animation: notify-pop 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
    }
    .native-notification-icon {
      width: 72px !important;
      height: 72px !important;
      border-radius: 22px !important;
      background: var(--purple-pale) !important;
      color: var(--purple) !important;
      display: grid !important;
      place-items: center !important;
      font-size: 32px !important;
      margin: 0 auto 20px !important;
      animation: notify-bell-wiggle 2.5s ease-in-out infinite !important;
    }
    .native-notification-popup h2 {
      font-family: 'Playfair Display', serif !important;
      font-size: 24px !important;
      color: var(--ink) !important;
      margin: 0 0 10px !important;
      letter-spacing: -0.5px !important;
    }
    .native-notification-popup p {
      font-size: 14px !important;
      color: var(--soft) !important;
      line-height: 1.6 !important;
      margin: 0 0 25px !important;
    }
    .native-notification-actions {
      display: flex !important;
      gap: 12px !important;
      margin-top: 20px !important;
    }
    .native-notification-actions .btn {
      flex: 1 !important;
      padding: 12px !important;
      font-size: 14px !important;
      font-weight: 800 !important;
      border-radius: 12px !important;
    }
    
    @keyframes notify-bell-wiggle {
      0%, 100% { transform: rotate(0); }
      10% { transform: rotate(15deg); }
      20% { transform: rotate(-15deg); }
      30% { transform: rotate(10deg); }
      40% { transform: rotate(-10deg); }
      50% { transform: rotate(5deg); }
      60% { transform: rotate(-5deg); }
      70% { transform: rotate(0); }
    }

    /* Auth page — richer motion */
    .login-wall-body{position:relative;overflow-x:hidden;min-height:100vh}
    .login-wall-body::before,
    .login-wall-body::after{content:'';position:fixed;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;opacity:.55;animation:authOrb 14s ease-in-out infinite alternate}
    .login-wall-body::before{width:420px;height:420px;background:radial-gradient(circle,#6fe797 0%,transparent 70%);top:-80px;left:-100px}
    .login-wall-body::after{width:380px;height:380px;background:radial-gradient(circle,#f1bc45 0%,transparent 70%);bottom:10%;right:-80px;animation-delay:-4s;opacity:.35}
    @keyframes authOrb{0%{transform:translate(0,0) scale(1)}100%{transform:translate(40px,30px) scale(1.15)}}
    .auth-wrap{position:relative;z-index:1}
    .auth-wrap .panel,
    .auth-wrap .otp-verify-box{backdrop-filter:blur(14px);background:rgba(255,255,255,.88);border:1px solid rgba(11,122,67,.14);box-shadow:0 20px 50px rgba(11,122,67,.1),0 2px 0 rgba(255,255,255,.6) inset;transition:transform .25s ease,box-shadow .25s ease}
    .auth-wrap .otp-verify-box:hover{box-shadow:0 24px 56px rgba(11,122,67,.14)}
    .otp-channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .otp-channel-btn{border:1.5px solid #d5e8db;background:#fff;border-radius:14px;padding:14px 12px;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s,background .2s}
    .otp-channel-btn:hover{transform:translateY(-2px);border-color:#9bd6ab}
    .otp-channel-btn.active{border-color:#0b7a43;background:linear-gradient(145deg,#f0faf3,#e4f6ea);box-shadow:0 0 0 3px rgba(11,122,67,.14)}
    .otp-channel-btn strong{display:block;font-size:14px;font-weight:900;color:#16351f;margin-bottom:3px}
    .otp-channel-btn.active strong{color:#0b7a43}
    .otp-channel-btn span{display:block;font-size:11px;color:#5a6b60;font-weight:600;line-height:1.3}
    .auth-brand{text-align:center;margin-bottom:8px}
    .auth-brand .brand-mark,.auth-brand img{filter:drop-shadow(0 8px 18px rgba(11,122,67,.25));animation:logoFloat 4s ease-in-out infinite}
    @keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
    .auth-wrap .btn-primary{letter-spacing:.2px}
    .auth-wrap .otp-digit{transition:border-color .15s,box-shadow .15s,transform .12s}
    .auth-wrap .otp-digit:focus{transform:scale(1.06)}
    .auth-wrap .otp-digit.filled{animation:digitPop .25s ease}
    @keyframes digitPop{0%{transform:scale(.9)}60%{transform:scale(1.08)}100%{transform:scale(1)}}
    .login-sms-card{padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,rgba(240,250,243,.95),rgba(255,255,255,.9));border:1px solid rgba(11,122,67,.12);margin-bottom:14px}
    .login-sms-card strong{display:block;font-size:15px;margin-bottom:4px;color:#0b7a43}
    .login-sms-card span{font-size:12px;color:#5a6b60;line-height:1.45;font-weight:600}

  
    /* —— Auth screen motion & atmosphere —— */
    .auth-wrap{position:relative;isolation:isolate}
    .auth-atmosphere{pointer-events:none;position:fixed;inset:0;z-index:0;overflow:hidden}
    .auth-atmosphere .blob{position:absolute;border-radius:50%;filter:blur(48px);opacity:.45;animation:blob-float 18s ease-in-out infinite}
    .auth-atmosphere .blob.b1{width:min(52vw,420px);height:min(52vw,420px);background:radial-gradient(circle,#9ef0b8,#3dbf72 50%,transparent 70%);top:-8%;left:-10%;animation-delay:0s}
    .auth-atmosphere .blob.b2{width:min(48vw,380px);height:min(48vw,380px);background:radial-gradient(circle,#ffe7a3,#f1bc45 45%,transparent 70%);bottom:5%;right:-12%;animation-delay:-6s;opacity:.35}
    .auth-atmosphere .blob.b3{width:min(40vw,300px);height:min(40vw,300px);background:radial-gradient(circle,#b8f0d4,#0b7a43 50%,transparent 70%);top:40%;left:55%;animation-delay:-11s;opacity:.3}
    @keyframes blob-float{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(4%,-6%) scale(1.08)}66%{transform:translate(-5%,4%) scale(.94)}}
    .auth-wrap > *{position:relative;z-index:1}
    .auth-brand{animation:auth-rise .7s cubic-bezier(.22,1,.36,1) both}
    .auth-card,.auth-wrap .form-grid,.login-phone-stack,.otp-verify-box,.notice{animation:auth-rise .75s cubic-bezier(.22,1,.36,1) both}
    .auth-wrap .notice{animation-delay:.05s}
    .auth-wrap .form-grid{animation-delay:.1s}
    .login-phone-stack{animation-delay:.08s}
    .otp-verify-box{animation-delay:.12s}
    @keyframes auth-rise{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
    .auth-wrap .btn-primary{position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
    .auth-wrap .btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(11,122,67,.28)}
    .auth-wrap .btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:none}
    .auth-wrap .btn-primary:hover::after{animation:btn-sheen .7s ease}
    @keyframes btn-sheen{to{transform:translateX(120%)}}
    .otp-channel-btn{position:relative}
    .otp-channel-btn.active{animation:channel-pop .35s cubic-bezier(.22,1,.36,1)}
    @keyframes channel-pop{0%{transform:scale(.96)}60%{transform:scale(1.03)}100%{transform:scale(1)}}
    .auth-wrap input:focus,.auth-wrap select:focus{transition:box-shadow .2s,border-color .2s}
    .auth-sparkle{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px #6fe797;animation:sparkle 3.5s ease-in-out infinite;opacity:0}
    @keyframes sparkle{0%,100%{opacity:0;transform:scale(.4)}40%,60%{opacity:.85;transform:scale(1)}}
    @media (prefers-reduced-motion:reduce){
      .auth-atmosphere .blob,.auth-brand,.auth-wrap .form-grid,.login-phone-stack,.otp-verify-box,.notice,.otp-channel-btn.active{animation:none!important}
    }

  

  
    /* Login: fixed viewport, no page scroll, footer always visible */
    .login-wall{
      height:100vh!important;
      height:100dvh!important;
      min-height:0!important;
      max-height:100vh!important;
      max-height:100dvh!important;
      overflow:hidden!important;
      display:flex!important;
      flex-direction:column!important;
      justify-content:flex-start!important;
      box-sizing:border-box!important;
      padding:max(8px, env(safe-area-inset-top)) 16px max(8px, env(safe-area-inset-bottom))!important;
    }
    .login-wall-hero{
      flex:0 0 auto!important;
      min-height:0!important;
      padding:4px 8px 0!important;
      align-items:center!important;
    }
    .login-wall-brand{max-width:380px;margin:0 auto}
    .login-wall-brand h1{
      font-size:clamp(20px,5.5vw,26px)!important;
      margin:4px 0 4px!important;
      line-height:1.15!important;
    }
    .login-wall-brand p{
      font-size:12.5px!important;
      line-height:1.4!important;
      max-width:32ch;
      margin:0 auto!important;
      display:-webkit-box;
      -webkit-line-clamp:2;
      -webkit-box-orient:vertical;
      overflow:hidden;
    }
    .login-logo-wrap{margin:0 auto 6px!important}
    .login-logo-wrap img,
    .login-logo-wrap .brand-full-logo,
    .login-logo-wrap .brand-mark{
      width:min(140px,42vw)!important;
      max-height:58px!important;
      height:auto!important;
    }
    .login-wall-body{
      flex:1 1 auto!important;
      min-height:0!important;
      display:flex!important;
      align-items:center!important;
      justify-content:center!important;
      padding:6px 0!important;
      overflow:hidden!important;
      width:100%;
      max-width:400px;
      margin:0 auto;
    }
    .login-wall-body .auth-wrap{
      width:100%;
      max-width:100%;
      margin:0!important;
      max-height:100%;
      overflow:auto; /* only the form card scrolls if register is long */
      -webkit-overflow-scrolling:touch;
    }
    .login-wall-body .panel,
    .auth-wrap .panel{
      padding:14px 14px!important;
      border-radius:16px!important;
      background:rgba(255,255,255,.94)!important;
      box-shadow:0 10px 28px rgba(11,122,67,.08)!important;
    }
    .login-wall-body .field{margin:8px 0!important}
    .login-wall-body .field label{font-size:12px;font-weight:800;color:#3d5346;margin-bottom:3px}
    .login-wall-body .field input{
      padding:12px 13px!important;
      border-radius:12px!important;
      font-size:16px!important;
      border:1.5px solid #c5dccb!important;
      background:#fff;
    }
    .login-wall-body .btn-primary.full,
    .login-wall-body .btn.btn-primary.full{
      margin-top:4px;
      padding:13px 14px!important;
      border-radius:12px!important;
      font-size:15px!important;
      font-weight:800;
    }
    .login-wall-body .btn-outline.full,
    .login-wall-body .btn.btn-outline.full{
      margin-top:8px!important;
      padding:11px 14px!important;
      border-radius:12px!important;
      font-size:13.5px!important;
      font-weight:700;
      background:#fff;
      border:1.5px solid #c5dccb;
    }
    .login-wall-body .notice{margin:8px 0;padding:10px 11px;border-radius:11px;font-size:12.5px}
    .login-wall-footer{
      flex:0 0 auto!important;
      position:relative!important;
      padding:6px 12px max(10px, env(safe-area-inset-bottom))!important;
      margin:0 auto!important;
      font-size:11px!important;
      line-height:1.45!important;
      color:#68746c;
      max-width:400px;
      width:100%;
      text-align:center;
      z-index:2;
    }
    /* Email-step only: keep everything compact so footer stays on screen */
    @media(max-height:780px){
      .login-logo-wrap img{max-height:48px!important;width:min(120px,38vw)!important}
      .login-wall-brand h1{font-size:20px!important}
      .login-wall-brand p{font-size:11.5px!important}
      .login-wall-body .panel{padding:12px 12px!important}
    }

  
    

  
    /* Auth login: fit viewport, no clipped fields, footer always on screen */
    html.auth-screen, body.auth-screen {
      height: 100% !important;
      overflow: hidden !important;
      overscroll-behavior: none;
      background: #f3faf5 !important;
    }
    body.auth-screen #root {
      height: 100% !important;
      overflow: hidden !important;
    }
    .login-wall {
      height: 100% !important;
      max-height: 100dvh !important;
      min-height: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      padding: max(10px, env(safe-area-inset-top)) 16px max(10px, env(safe-area-inset-bottom)) !important;
      box-sizing: border-box !important;
      background: #f3faf5 !important;
    }
    .login-wall-hero {
      flex: 0 0 auto !important;
      min-height: 0 !important;
      padding: 6px 4px 0 !important;
      align-items: center !important;
    }
    .login-wall-brand {
      max-width: 360px;
      margin: 0 auto;
      text-align: center;
    }
    .login-logo-wrap {
      margin: 0 auto 8px !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    .login-logo-wrap img,
    .login-logo-wrap .brand-full-logo,
    .login-logo-wrap .brand-mark {
      width: min(150px, 48vw) !important;
      max-height: 58px !important;
      height: auto !important;
      object-fit: contain !important;
      border-radius: 0 !important;
      box-shadow: none !important;
      background: transparent !important;
    }
    .login-wall-brand h1 {
      font-size: clamp(20px, 5.5vw, 26px) !important;
      margin: 4px 0 6px !important;
      line-height: 1.15 !important;
      color: #123e27 !important;
    }
    .login-wall-brand p {
      font-size: 12.5px !important;
      line-height: 1.4 !important;
      margin: 0 auto !important;
      max-width: 34ch !important;
      color: #5a6b60 !important;
    }
    .login-wall-body {
      flex: 1 1 auto !important;
      min-height: 0 !important;
      width: 100% !important;
      max-width: 400px !important;
      margin: 0 auto !important;
      padding: 8px 0 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: center !important;
      overflow-y: auto !important;
      overflow-x: hidden !important;
      -webkit-overflow-scrolling: touch;
    }
    .login-wall-body .auth-wrap {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      flex: 0 0 auto;
    }
    .login-wall-body .panel {
      padding: 16px 14px !important;
      border-radius: 18px !important;
      background: #fff !important;
      border: 1px solid #d8e8dc !important;
      box-shadow: 0 10px 28px rgba(11,122,67,.08) !important;
      overflow: visible !important;
    }
    .login-wall-body .field {
      margin: 0 0 12px !important;
    }
    .login-wall-body .field label {
      font-size: 12px !important;
      font-weight: 800 !important;
      color: #3d5346 !important;
      margin-bottom: 5px !important;
      display: block !important;
    }
    .login-wall-body .field input {
      width: 100% !important;
      box-sizing: border-box !important;
      padding: 13px 14px !important;
      border-radius: 12px !important;
      font-size: 16px !important;
      border: 1.5px solid #c5dccb !important;
      background: #fff !important;
    }
    .login-wall-body .field input:focus {
      border-color: #0b7a43 !important;
      box-shadow: 0 0 0 3px rgba(11,122,67,.14) !important;
      outline: none !important;
    }
    .login-wall-body .btn-primary.full,
    .login-wall-body .btn.btn-primary.full {
      width: 100% !important;
      margin-top: 4px !important;
      padding: 14px 16px !important;
      border-radius: 12px !important;
      font-size: 15px !important;
      font-weight: 800 !important;
    }
    .login-wall-body .btn-outline.full,
    .login-wall-body .btn.btn-outline.full {
      width: 100% !important;
      margin-top: 10px !important;
      padding: 12px 16px !important;
      border-radius: 12px !important;
      font-size: 14px !important;
      background: #fff !important;
      border: 1.5px solid #c5dccb !important;
    }
    .login-wall-body .text-link {
      font-size: 13px !important;
      font-weight: 700 !important;
      color: #0b7a43 !important;
    }
    .login-wall-body .notice {
      margin: 0 0 12px !important;
      padding: 10px 12px !important;
      border-radius: 12px !important;
      font-size: 13px !important;
    }
    .login-wall-footer {
      flex: 0 0 auto !important;
      padding: 8px 6px 4px !important;
      font-size: 11px !important;
      line-height: 1.45 !important;
      text-align: center !important;
      color: #68746c !important;
      max-width: 400px !important;
      margin: 0 auto !important;
      width: 100% !important;
    }
    .login-wall-footer .legal-link {
      color: #0b7a43 !important;
      font-weight: 700 !important;
      text-decoration: underline !important;
      background: none !important;
      border: 0 !important;
      padding: 0 !important;
      font-size: inherit !important;
    }
    /* Hide decorative blobs on short screens to reduce clutter */
    @media (max-height: 700px) {
      .login-wall-brand p { display: none !important; }
      .login-logo-wrap img { max-height: 48px !important; width: min(130px, 42vw) !important; }
      .login-wall-brand h1 { font-size: 20px !important; }
      .login-wall-body .panel { padding: 12px 12px !important; }
      .login-wall-body .field { margin-bottom: 8px !important; }
      .login-wall-body .field input { padding: 11px 12px !important; }
      .login-wall-body .btn-primary.full, .login-wall-body .btn.btn-primary.full { padding: 12px !important; }
    }
    @media (max-height: 600px) {
      .login-wall-hero { padding-top: 2px !important; }
      .login-wall-brand h1 { font-size: 18px !important; margin-bottom: 2px !important; }
      .login-logo-wrap { margin-bottom: 4px !important; }
    }

  
.ad-slider{position:relative;overflow:hidden;border-radius:18px;margin:0 0 22px;background:#1a1a1a;min-height:200px}
.ad-slider-track{display:flex;transition:transform .45s ease}
.ad-slide{min-width:100%;position:relative;aspect-ratio:2.2/1;max-height:320px}
.ad-slide img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}
.ad-slide-copy{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.ad-slide-copy.overlay-dark{background:linear-gradient(transparent,rgba(0,0,0,.72))}
.ad-slide-copy.overlay-light{background:linear-gradient(transparent,rgba(255,255,255,.85));color:#111!important}
.ad-slide-copy h3{margin:0;font-size:clamp(18px,3vw,28px);font-weight:800}
.ad-slide-copy p{margin:0;font-size:14px;opacity:.95;max-width:520px}
.ad-badge{display:inline-block;background:var(--purple,#7c3aed);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;text-transform:uppercase}
.ad-cta{margin-top:8px!important;border:0;cursor:pointer;font-weight:800}
.ad-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.85);font-size:22px;cursor:pointer;z-index:2;line-height:1}
.ad-prev{left:10px}.ad-next{right:10px}
.ad-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:6px;z-index:2}
.ad-dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.45);padding:0;cursor:pointer}
.ad-dots button.is-active{background:#fff;transform:scale(1.2)}
.ad-slider-progress{position:absolute;left:0;bottom:0;height:3px;background:var(--purple,#7c3aed);width:100%;transform-origin:left;animation:adProgress 5.5s linear forwards}
@keyframes adProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:640px){.ad-slide{aspect-ratio:16/10;max-height:240px}}

.kari-typing-bubble{padding:12px 16px;min-width:56px;width:fit-content}
.kari-typing-dots{display:flex;align-items:center;gap:5px;height:14px}
.kari-typing-dots span{width:7px;height:7px;border-radius:50%;background:#8b7aa0;opacity:.35;animation:kariDot 1.2s ease-in-out infinite}
.kari-typing-dots span:nth-child(1){animation-delay:0s}
.kari-typing-dots span:nth-child(2){animation-delay:.2s}
.kari-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes kariDot{
  0%,80%,100%{transform:translateY(0);opacity:.35}
  40%{transform:translateY(-5px);opacity:1}
}

/* Neon market refresh — lively, legible and very BCM. */
:root{--purple:#7c3aed;--purple-dark:#4c1d95;--purple-pale:#f0e8ff;--green:#0c9b5b;--ink:#172018;--paper:#fffdf7;--gold:#ffb923;--shadow:0 18px 50px rgba(78,36,136,.16)}
html{background:radial-gradient(circle at 8% 12%,#e4fcce 0,transparent 19%),radial-gradient(circle at 96% 4%,#f5d6ff 0,transparent 24%),#fffdf7}body{background:transparent!important}.header{border-bottom:1px solid rgba(124,58,237,.13);box-shadow:0 8px 25px rgba(55,20,85,.05)}.topline{background:linear-gradient(90deg,#32105d,#7c3aed 50%,#e85d9c);position:relative;overflow:hidden}.topline:after{content:' ✦  fresh finds, no boring bites  ✦';margin-left:12px;color:#fef08a}.hero{background:linear-gradient(120deg,#32105d 0%,#7c3aed 52%,#e85d9c 100%);position:relative;isolation:isolate}.hero:after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,#ffdb75 0 9%,rgba(255,255,255,.2) 10% 11%,transparent 12%);right:-130px;bottom:-170px;opacity:.7;z-index:-1;animation:spinSlow 20s linear infinite}.hero-copy{animation:riseIn .7s ease both}.btn-primary{background:linear-gradient(135deg,#7c3aed,#e85d9c);box-shadow:0 10px 20px rgba(124,58,237,.25)}.product,.store-tile,.panel{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.product:hover,.store-tile:hover{transform:translateY(-7px) rotate(-.25deg);box-shadow:0 18px 35px rgba(69,29,118,.15);border-color:#d8b4fe}.product-image{overflow:hidden}.product-image:after{content:'yum!';position:absolute;right:10px;bottom:10px;background:#fff;color:#7c3aed;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;opacity:0;transform:translateY(8px);transition:.2s}.product:hover .product-image:after{opacity:1;transform:none}.category{transform:translateZ(0);transition:.22s}.category:hover{transform:translateY(-5px) rotate(-1deg);box-shadow:0 13px 22px rgba(50,16,93,.22)}.quick-search{border:2px solid rgba(124,58,237,.14)}.quick-search:focus-within{border-color:#a855f7;box-shadow:0 14px 35px rgba(124,58,237,.19)}.notice{border-left:4px solid var(--purple)}.toast{border:1px solid rgba(255,255,255,.26);background:linear-gradient(130deg,#251044,#6d28d9)}.add{transition:.2s}.add:hover{transform:rotate(90deg) scale(1.1)}.mobile-nav{box-shadow:0 -10px 28px rgba(67,22,105,.1)}@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes spinSlow{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}


/* The loading screen: a tiny cake heist. Cake has legs, banana blaster has apples. */
.loader-card,.loader-inner,.loader>div{position:relative!important;isolation:isolate;text-align:center}.loader-card{width:min(410px,calc(100vw - 38px))!important;padding:24px 14px!important}.loader-chase{height:166px;max-width:330px;margin:0 auto 4px;border-radius:30px;position:relative;overflow:hidden;background:linear-gradient(135deg,#32105d,#873ce2 52%,#ee6a9f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 22px 40px rgba(60,14,102,.22)}.loader-chase:before{content:'';position:absolute;inset:auto -20px 16px;height:22px;border-radius:50%;background:rgba(255,255,255,.17);filter:blur(1px)}.loader-chase:after{content:'LOADING SNACK ATTACK';position:absolute;left:0;right:0;bottom:12px;color:#fff9d4;font-size:8px;font-weight:900;letter-spacing:2px}.chase-icon{position:absolute!important;width:57px!important;height:57px!important;object-fit:contain;right:32px;top:45px;border-radius:18px!important;background:#fff;padding:7px;box-shadow:0 10px 18px rgba(24,8,55,.25);animation:iconDodge 1.15s ease-in-out infinite!important}.cake-runner{position:absolute;left:24px;top:47px;width:90px;height:80px;animation:cakeDash 1.15s ease-in-out infinite}.cake-face{font-size:49px;display:block;filter:drop-shadow(0 7px 3px rgba(20,0,40,.25));transform:rotate(-8deg)}.banana-blaster{position:absolute;right:0;top:26px;font-size:25px;transform:rotate(-25deg)}.cake-legs{position:absolute;left:22px;top:47px;font-size:25px;letter-spacing:-6px;color:#2b1743;animation:legRun .18s steps(2) infinite}.apple{position:absolute;font-size:17px;z-index:3;opacity:0}.apple.one{left:108px;top:66px;animation:appleFly 1.15s .1s linear infinite}.apple.two{left:109px;top:77px;animation:appleFly 1.15s .48s linear infinite}.loader-kicker{margin:13px 0 4px!important;color:#311055!important;font-size:19px!important}.loader-copy{font-weight:800!important;color:#7a488d!important}.loader-track{background:#eadcff!important;width:205px!important}.loader-track i{background:linear-gradient(90deg,#ffb923,#e85d9c,#7c3aed)!important}.loader-dots i{background:#e85d9c!important}@keyframes cakeDash{0%,100%{transform:translateX(0) translateY(0)}45%{transform:translateX(42px) translateY(-7px)}55%{transform:translateX(42px) translateY(-7px)}75%{transform:translateX(6px) translateY(2px)}}@keyframes legRun{to{transform:translateY(4px) rotate(6deg)}}@keyframes iconDodge{0%,100%{transform:translateX(0) rotate(-4deg)}50%{transform:translateX(-20px) translateY(-12px) rotate(8deg)}}@keyframes appleFly{0%{opacity:0;transform:translate(0,0) rotate(0) scale(.6)}12%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(150px,-21px) rotate(450deg) scale(1.1)}}
@media(max-width:480px){.loader-chase{height:148px}.cake-runner{left:12px}.chase-icon{right:18px}.loader-card{padding-left:0!important;padding-right:0!important}}@media(prefers-reduced-motion:reduce){.cake-runner,.cake-legs,.banana-blaster,.chase-icon,.apple{animation:none!important}}


/* Cake-person upgrade: an absurdly determined dessert circles the fleeing logo. */
.loader-chase{height:190px!important}.chase-icon{left:50%!important;right:auto!important;top:58px!important;margin-left:-28px;animation:iconPanic .55s ease-in-out infinite!important}.cake-runner{left:27px!important;top:35px!important;width:74px!important;height:112px!important;transform-origin:138px 60px;animation:cakeCircle 2.35s linear infinite!important}.cake-person{position:relative;width:74px;height:112px;animation:personUpright 2.35s linear infinite}.cake-head{display:block;position:absolute;left:12px;top:0;font-size:45px;line-height:1;filter:drop-shadow(0 5px 3px rgba(20,0,40,.28));z-index:4}.cake-body{position:absolute;left:24px;top:42px;width:29px;height:38px;border-radius:14px 14px 9px 9px;background:linear-gradient(90deg,#70e4cf,#3cb7d4);border:3px solid #fff4df;box-shadow:0 4px 0 rgba(27,19,61,.2);z-index:2}.cake-body:after{content:'★';position:absolute;left:7px;top:6px;color:#ffcc47;font-size:15px}.cake-legs{left:23px!important;top:74px!important;font-size:27px!important;letter-spacing:-8px!important;z-index:1;color:#382153;animation:personLegs .18s steps(2) infinite!important}.cake-arm{position:absolute;z-index:5;font-size:22px;top:43px}.cake-arm.left{left:6px;transform:rotate(23deg)}.cake-arm.right{right:-2px;transform:rotate(-28deg)}.banana-blaster{right:-11px!important;top:34px!important;font-size:28px!important;z-index:6;transform:rotate(-15deg)!important}.apple.one{left:106px!important;top:67px!important;animation:appleCircleFly 2.35s .45s linear infinite!important}.apple.two{left:106px!important;top:82px!important;animation:appleCircleFly 2.35s 1.58s linear infinite!important}.loader-chase:after{content:'CAKE PERSON VS. THE RUNAWAY LOGO'!important}@keyframes cakeCircle{to{transform:rotate(360deg)}}@keyframes personUpright{to{transform:rotate(-360deg)}}@keyframes personLegs{to{transform:translateY(5px) rotate(7deg)}}@keyframes iconPanic{0%,100%{transform:translate(0,0) rotate(-7deg)}35%{transform:translate(11px,-8px) rotate(8deg)}70%{transform:translate(-10px,7px) rotate(-3deg)}}@keyframes appleCircleFly{0%,18%{opacity:0;transform:translate(0,0) scale(.5)}23%{opacity:1}45%{opacity:1;transform:translate(58px,-11px) scale(1)}52%,100%{opacity:0;transform:translate(66px,-18px) rotate(390deg) scale(.8)}}@media(max-width:480px){.loader-chase{height:174px!important}.cake-runner{transform-origin:128px 55px;left:16px!important;top:28px!important}.chase-icon{top:53px!important}}


/* Straight-line cartoon chase: the cake-person sprints off screen and loops back from the left. */
.loader-chase{height:176px!important}.chase-icon{left:auto!important;right:27px!important;margin-left:0!important;top:50px!important;animation:logoFlee 1.05s ease-in-out infinite!important}.cake-runner{left:-92px!important;top:27px!important;width:76px!important;height:114px!important;transform-origin:center!important;animation:cartoonSprint 2.65s linear infinite!important}.cake-person{animation:none!important}.cake-head{animation:headBob .18s steps(2) infinite}.cake-body{animation:bodyBob .18s steps(2) infinite}.cake-legs{animation:personLegs .13s steps(2) infinite!important}.cake-arm.left{animation:armPump .25s steps(2) infinite}.cake-arm.right{animation:armPump .25s .12s steps(2) infinite reverse}.banana-blaster{animation:bananaWobble .25s steps(2) infinite!important}.apple.one{left:132px!important;top:62px!important;animation:appleDash 2.65s .68s linear infinite!important}.apple.two{left:132px!important;top:79px!important;animation:appleDash 2.65s 1.8s linear infinite!important}.loader-chase:after{content:'CAKE PERSON IS ON THE CASE'!important}.loader-percent{margin:8px auto 0;display:inline-flex;min-width:54px;justify-content:center;padding:4px 10px;border-radius:999px;background:#fff1b1;color:#642e97;font-size:12px;font-weight:950;letter-spacing:.4px;box-shadow:0 5px 12px rgba(78,25,121,.14)}@keyframes cartoonSprint{0%{transform:translateX(0)}100%{transform:translateX(445px)}}@keyframes logoFlee{0%,100%{transform:translateX(0) rotate(-5deg)}50%{transform:translateX(-13px) translateY(-8px) rotate(7deg)}}@keyframes headBob{to{transform:translateY(-3px) rotate(2deg)}}@keyframes bodyBob{to{transform:translateY(3px)}}@keyframes armPump{to{transform:rotate(35deg) translateY(4px)}}@keyframes bananaWobble{to{transform:rotate(-27deg) translateY(3px)}}@keyframes appleDash{0%,25%{opacity:0;transform:translate(0,0) scale(.5)}30%{opacity:1}48%{opacity:1;transform:translate(95px,-7px) rotate(200deg)}53%,100%{opacity:0;transform:translate(124px,-13px) rotate(420deg)}}@media(max-width:480px){.cake-runner{animation-duration:2.2s!important}.chase-icon{right:16px!important}.loader-chase{height:160px!important}@keyframes cartoonSprint{100%{transform:translateX(365px)}}}@media(prefers-reduced-motion:reduce){.cake-runner,.chase-icon,.cake-head,.cake-body,.cake-arm,.banana-blaster,.apple{animation:none!important}}


/* Golden-runner chase: a decorated cake makes a bouncy escape. */
.loader-chase{height:188px!important;background:linear-gradient(135deg,#5a237f,#b7479a 54%,#f3b53f)!important}.loader-chase:after{content:'FRESHLY BAKED. FASTLY CHASED.'!important}.cake-runner{left:50%!important;top:43px!important;width:86px!important;height:106px!important;margin-left:-45px;transform-origin:center!important;animation:cakeEscape 3.1s ease-in-out infinite!important}.cake-person{width:86px!important;height:106px!important;animation:none!important}.cake-head{left:5px!important;top:0!important;font-size:64px!important;animation:cakeBounce .42s ease-in-out infinite!important}.cake-body,.cake-arm,.banana-blaster,.apple{display:none!important}.cake-legs{left:25px!important;top:55px!important;font-size:28px!important;animation:cakeFeet .18s steps(2) infinite!important}.bcm-runner{position:absolute;left:-70px;top:58px;width:65px;height:86px;z-index:7;animation:runnerChase 3.1s ease-in-out infinite}.bcm-runner img{width:41px;height:41px;border-radius:50%;padding:5px;background:#ffd45b;border:3px solid #fff5ba;box-shadow:0 6px 10px rgba(50,16,75,.27);display:block;margin:0 auto}.bcm-runner:before{content:'';position:absolute;left:21px;top:36px;width:23px;height:28px;border-radius:12px 12px 8px 8px;background:linear-gradient(90deg,#eaa922,#ffe276);border:2px solid #fff5b5}.bcm-runner:after{content:'⌁⌁';position:absolute;left:19px;top:57px;letter-spacing:-8px;font-size:25px;color:#3f2460;animation:runnerLegs .16s steps(2) infinite}.delivery-bag{position:absolute;right:-2px;top:45px;font-size:24px;z-index:2;animation:bagSwing .3s ease-in-out infinite alternate}.chase-icon{display:none!important}@keyframes cakeEscape{0%,12%{transform:translateX(0)}44%{transform:translateX(102px)}51%{transform:translateX(102px)}75%{transform:translateX(-145px)}100%{transform:translateX(0)}}@keyframes runnerChase{0%,6%{transform:translateX(0);opacity:0}10%{opacity:1}44%{transform:translateX(216px);opacity:1}51%{transform:translateX(216px);opacity:1}75%{transform:translateX(-32px);opacity:1}96%,100%{transform:translateX(0);opacity:0}}@keyframes cakeBounce{50%{transform:translateY(-9px) rotate(3deg)}}@keyframes cakeFeet{to{transform:translateY(5px) rotate(6deg)}}@keyframes runnerLegs{to{transform:translateY(5px) rotate(8deg)}}@keyframes bagSwing{to{transform:rotate(12deg) translateY(2px)}}@media(max-width:480px){.cake-runner{animation-duration:2.8s!important}.bcm-runner{animation-duration:2.8s!important}.cake-head{font-size:58px!important}}@media(prefers-reduced-motion:reduce){.cake-runner,.bcm-runner,.cake-head,.cake-legs,.bcm-runner:after,.delivery-bag{animation:none!important}}


/* BCM FoodHub road runner loader — full-screen and intentionally simple. */
#app-loader,.app-loader,.loader{background:radial-gradient(circle at 50% 36%,#fff9d7 0,#ffe4a3 23%,#6f2d98 100%)!important}.loader-card{padding:32px 24px!important;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.7);border-radius:30px;box-shadow:0 28px 70px rgba(40,10,65,.3)!important}.loader-chase{display:none!important}.loader-main-logo{width:76px!important;height:76px!important;object-fit:contain;display:block;margin:0 auto 18px;border-radius:23px;background:#fff;padding:8px;box-shadow:0 12px 25px rgba(77,23,110,.2);animation:roadLogoPop .85s ease both}.bcm-road-loader{width:70px;height:50px;box-sizing:border-box;margin:3px auto 12px;background:conic-gradient(from 135deg at top,#0000,#fff 1deg 90deg,#0000 91deg) right -20px bottom 8px/18px 9px,linear-gradient(#fff 0 0) bottom/100% 8px,#17131d;background-repeat:no-repeat;border-bottom:8px solid #17131d;position:relative;animation:roadMove 2s infinite linear;filter:drop-shadow(0 7px 7px rgba(26,10,36,.23))}.bcm-road-loader:before{content:"";position:absolute;width:10px;height:14px;background:#81daf4;left:10px;animation:roadPackage 2s infinite cubic-bezier(0,200,1,200)}.bcm-road-loader:after{content:'BCM';position:absolute;left:28px;top:12px;color:#ffd14e;font:bold 7px Arial;letter-spacing:.4px}.loader-kicker{margin-top:3px!important}.loader-percent{font-size:14px!important;background:#5e237d!important;color:#fff7c1!important}@keyframes roadMove{100%{background-position:left -20px bottom 8px,bottom}}@keyframes roadPackage{0%,50%{bottom:8px}90%,100%{bottom:8.1px}}@keyframes roadLogoPop{from{opacity:0;transform:translateY(-12px) scale(.85)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.bcm-road-loader,.bcm-road-loader:before,.loader-main-logo{animation:none!important}}


/* Product customisation: selected choices are unmistakable. */
.option-chip{position:relative!important;min-height:43px!important;padding:9px 12px!important;border-radius:14px!important;transition:transform .18s ease,box-shadow .18s ease!important}.option-chip.is-selected{background:linear-gradient(135deg,#6d28d9,#e85d9c)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 17px rgba(124,58,237,.28)!important;transform:translateY(-2px)}.option-chip.is-selected:before{content:'✓';display:inline-grid;place-items:center;width:16px;height:16px;margin-right:5px;border-radius:50%;background:#fff;color:#7c3aed;font-size:10px;font-weight:900}.option-price{display:block;font-size:10px;opacity:.8;margin-top:2px;font-weight:800}.selection-total{margin:11px 0 2px;padding:11px 13px;border-radius:14px;background:linear-gradient(105deg,#f2e9ff,#fff3f8);border:1px solid #dfc4ff;display:flex;align-items:center;justify-content:space-between;gap:10px}.selection-total strong{font-size:17px;color:#6d28d9}.selection-total small{display:block;color:#6e687b;font-weight:700}

    /* Uploaded BCM FoodHub brand artwork */
    .brand-full-logo{width:min(230px,47vw)!important;height:auto!important;max-height:70px!important;object-fit:contain!important;object-position:left center}.brand-mark{width:45px!important;height:45px!important;object-fit:contain!important;border-radius:13px!important}.loader-main-logo{object-fit:contain!important;border-radius:18px!important}


    .stores-refreshing{font-size:11px;font-weight:800;color:var(--purple);margin:0 0 8px;animation:none}@keyframes storesRefresh{to{opacity:.45}}

    /* Minimal BCM FoodHub loader */
    #app-loader{background:linear-gradient(145deg,#fffdf7,#f2e9ff)!important;transition:opacity .32s,visibility .32s}.simple-loader-card{width:min(290px,calc(100vw - 40px));margin:0 auto;padding:28px 24px;text-align:center;border:1px solid #e4d5f7;border-radius:24px;background:#fff;box-shadow:0 20px 45px rgba(72,26,116,.16);color:#25103f}.simple-loader-icon{position:relative;width:78px;height:78px;margin:0 auto 14px}.simple-loader-icon img{width:78px;height:78px;object-fit:contain;border-radius:22px;animation:iconFloat 1.4s ease-in-out infinite}.simple-loader-icon i{position:absolute;inset:-6px;border:2px solid transparent;border-top-color:#6d28d9;border-right-color:#e85d9c;border-radius:50%;animation:loaderSpin 1s linear infinite}.simple-loader-card strong{display:block;font-size:19px;letter-spacing:-.5px}.simple-loader-card small{display:block;margin-top:3px;color:#877891;font-size:8px;letter-spacing:1.15px;text-transform:uppercase}.simple-loader-card p{margin:18px 0 9px;color:#6d6474;font-size:12px;font-weight:750}.simple-loader-card p b{color:#6d28d9}.simple-loader-bar{height:7px;overflow:hidden;border-radius:999px;background:#ece5f4}.simple-loader-bar i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0b9b5a,#6d28d9,#e85d9c);transition:width .1s linear}@keyframes loaderSpin{to{transform:rotate(360deg)}}@keyframes iconFloat{50%{transform:translateY(-4px)}}
    /* Final header alignment: predictable logo / delivery / search-cart columns. */
    @media(min-width:851px){.header{display:grid!important;grid-template-columns:minmax(190px,1fr) auto minmax(260px,1fr)!important;align-items:center!important}.brand-with-search{justify-self:start}.delivery-chip{justify-self:center}.header-actions{justify-self:end!important;display:flex!important;align-items:center!important;white-space:nowrap}.quick-header-actions{margin-left:7px!important}}
    @media(max-width:850px){.header-actions .quick-header-actions{margin-left:auto!important}.quick-header-actions{border-radius:14px!important;gap:3px!important}.quick-header-actions .header-search-btn,.quick-header-actions .circle-btn{width:36px!important;height:36px!important;flex-basis:36px!important}.brand-with-search{display:flex!important;align-items:center!important}.brand{max-width:100%!important}}

    /* Header cart-only control */
    .quick-header-actions.bag-only{height:44px!important;min-width:44px!important;padding:3px!important;border-radius:15px!important}.quick-header-actions.bag-only .circle-btn{width:38px!important;height:38px!important;flex-basis:38px!important}
    @media(max-width:850px){.quick-header-actions.bag-only{height:42px!important;min-width:42px!important}.quick-header-actions.bag-only .circle-btn{width:36px!important;height:36px!important;flex-basis:36px!important}}




/* BCM green U-cart: cleaner cart mark using the app's green palette. */
.bag-icon-wrap{width:28px;height:28px;display:inline-grid;place-items:center;position:relative;color:#0b7a43;filter:drop-shadow(0 5px 9px rgba(11,122,67,.22));transition:transform .22s cubic-bezier(.2,.9,.3,1),filter .22s}
.bag-icon-wrap svg{width:100%;height:100%;overflow:visible;display:block}.cart-logo-disc{fill:#ecfdf5;stroke:rgba(11,122,67,.24);stroke-width:1.5}.cart-logo-u{fill:none;stroke:#0b9b5a;stroke-width:7.2;filter:drop-shadow(0 2px 0 rgba(7,91,50,.12))}.cart-logo-handle{fill:none;stroke:#087a43;stroke-width:4.2;opacity:.96}.cart-logo-rail{fill:none;stroke:#087a43;stroke-width:4.4}.cart-logo-basket{fill:#0b9b5a;stroke:#075b32;stroke-width:1.5}.cart-logo-cut{fill:none;stroke:#f1fff5;stroke-width:3.2;opacity:.94}.cart-logo-wheel{fill:#14321f;stroke:#ecfdf5;stroke-width:1.7}.cart-logo-spark{fill:#65db8b;transform-origin:50px 18px;animation:cartSpark 2.8s ease-in-out infinite}.bag-count-inside{position:absolute;right:-7px;top:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:linear-gradient(135deg,#087a43,#0b9b5a);border:2px solid #fff;color:#fff;font-size:9px;font-weight:950;line-height:14px;display:grid;place-items:center;box-shadow:0 4px 10px rgba(11,122,67,.35)}
.bag-icon-wrap.has-items{filter:drop-shadow(0 7px 12px rgba(11,122,67,.32))}.bag-icon-wrap.swallow{animation:cartLogoPop .75s cubic-bezier(.2,.9,.3,1)}.bag-icon-wrap.swallow .cart-logo-basket{animation:cartBasketBite .75s cubic-bezier(.2,.9,.3,1)}.bag-icon-wrap.swallow .cart-logo-wheel.left{animation:cartWheelHop .75s cubic-bezier(.2,.9,.3,1)}.bag-icon-wrap.swallow .cart-logo-wheel.right{animation:cartWheelHop .75s .05s cubic-bezier(.2,.9,.3,1)}.circle-btn .bag-icon-wrap{width:30px;height:30px}.quick-header-actions .circle-btn{overflow:visible}.mobile-nav .nav-bag .bag-icon-wrap{width:38px;height:38px;filter:drop-shadow(0 6px 10px rgba(7,91,50,.22))}@keyframes cartSpark{0%,100%{transform:scale(.85) rotate(0);opacity:.65}50%{transform:scale(1.15) rotate(10deg);opacity:1}}@keyframes cartLogoPop{0%{transform:scale(1) rotate(0)}28%{transform:scale(1.18) rotate(-5deg)}58%{transform:scale(.94) rotate(3deg)}100%{transform:scale(1) rotate(0)}}@keyframes cartBasketBite{0%,100%{transform:translateY(0)}35%{transform:translateY(-3px) scaleY(.9)}62%{transform:translateY(1px) scaleY(1.04)}}@keyframes cartWheelHop{0%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}70%{transform:translateY(1px)}}

/* Animated glass mobile dock with green BCM FoodHub cart button. */
@media(max-width:850px){
  .mobile-nav{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;height:76px!important;padding:8px 8px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:28px!important;background:linear-gradient(145deg,rgba(12,28,18,.94),rgba(16,45,27,.9))!important;backdrop-filter:blur(18px);box-shadow:0 20px 44px rgba(5,36,18,.34),inset 0 1px 0 rgba(255,255,255,.12)!important;overflow:visible;isolation:isolate;align-items:center;justify-content:space-between!important}
  .mobile-nav:before{content:'';position:absolute;inset:6px;border-radius:23px;background:linear-gradient(90deg,rgba(11,122,67,.34),rgba(101,219,139,.2),rgba(109,40,217,.14));filter:blur(10px);opacity:.78;z-index:-1;animation:dockGlow 5.2s ease-in-out infinite}.mobile-nav:after{content:'';position:absolute;left:12%;right:12%;bottom:-7px;height:18px;border-radius:50%;background:rgba(101,219,139,.24);filter:blur(18px);z-index:-2;animation:dockShadow 3.4s ease-in-out infinite}
  .mobile-nav button{position:relative;z-index:1;flex:1;min-width:0;border:0;background:transparent!important;color:#bed2c5!important;font-size:10px!important;font-weight:900!important;letter-spacing:.1px;gap:4px!important;transition:transform .24s cubic-bezier(.2,.9,.3,1),color .2s;will-change:transform}.mobile-nav button .nav-symbol{width:31px;height:31px;border-radius:13px;display:grid;place-items:center;font-size:18px!important;line-height:1;background:rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:transform .26s cubic-bezier(.2,.9,.3,1),background .26s,box-shadow .26s;color:inherit}.mobile-nav button > span:last-child{transition:transform .24s,opacity .24s}.mobile-nav button.active{color:#fff!important;transform:translateY(-2px)}.mobile-nav button.active:before{display:none!important}.mobile-nav button.active:not(.nav-bag) .nav-symbol{background:linear-gradient(135deg,#087a43,#65db8b);box-shadow:0 9px 18px rgba(11,122,67,.34);transform:translateY(-7px) scale(1.06)}.mobile-nav button.active:not(.nav-bag) > span:last-child{transform:translateY(-4px)}.mobile-nav button:not(.nav-bag):after{content:'';position:absolute;bottom:3px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#65db8b;opacity:0;transform:scale(.3);transition:.24s}.mobile-nav button.active:not(.nav-bag):after{opacity:1;transform:scale(1)}.mobile-nav button:not(.nav-bag):active .nav-symbol{transform:translateY(-4px) scale(.92)}
  .mobile-nav .nav-bag{height:70px!important;max-width:70px!important;flex:0 0 70px!important;transform:translateY(-25px);border-radius:25px!important;background:linear-gradient(135deg,#075b32 0%,#0b7a43 48%,#65db8b 100%)!important;color:#fff!important;border:3px solid rgba(255,255,255,.72)!important;box-shadow:0 18px 33px rgba(11,122,67,.4),0 6px 0 rgba(7,91,50,.16)!important;animation:bagDockFloat 3.6s ease-in-out infinite;overflow:visible}.mobile-nav .nav-bag:before{display:none!important}.mobile-nav .nav-bag:after{content:'';position:absolute;inset:-7px;border-radius:30px;background:conic-gradient(from 0deg,#075b32,#0b9b5a,#65db8b,#075b32);filter:blur(8px);opacity:.5;z-index:-1;animation:cartRing 6s linear infinite}.mobile-nav .nav-bag.active{transform:translateY(-30px) scale(1.04)}.mobile-nav .nav-bag.swallow-bag{animation:bagDockSwallow .75s cubic-bezier(.2,.9,.3,1),bagDockFloat 3.6s .75s ease-in-out infinite}.mobile-nav .nav-bag .nav-symbol{width:47px!important;height:47px!important;border-radius:18px!important;background:#fff!important;color:#0b7a43!important;box-shadow:0 8px 16px rgba(7,91,50,.2)!important;transform:none!important}.mobile-nav .nav-bag .nav-cart-label{display:none!important}.mobile-nav .nav-bag .bag-count-inside{right:-6px;top:-7px;border-color:#fffdf7;background:#14321f;color:#fff}.shell{padding-bottom:104px!important}.toast{bottom:106px!important}
}
@keyframes dockGlow{0%,100%{transform:translateX(-4px);opacity:.6}50%{transform:translateX(4px);opacity:.95}}@keyframes dockShadow{50%{transform:scaleX(.82);opacity:.55}}@keyframes bagDockFloat{0%,100%{transform:translateY(-25px)}50%{transform:translateY(-31px)}}@keyframes bagDockSwallow{0%{transform:translateY(-25px) scale(1) rotate(0)}32%{transform:translateY(-34px) scale(1.1) rotate(-4deg)}68%{transform:translateY(-22px) scale(.95) rotate(3deg)}100%{transform:translateY(-25px) scale(1) rotate(0)}}@keyframes cartRing{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.cart-logo-spark,.bag-icon-wrap.swallow,.bag-icon-wrap.swallow .cart-logo-basket,.bag-icon-wrap.swallow .cart-logo-wheel,.mobile-nav:before,.mobile-nav:after,.mobile-nav .nav-bag,.mobile-nav .nav-bag:after,.mobile-nav .nav-bag.swallow-bag{animation-duration:.01ms!important;animation-iteration-count:1!important}}



/* Search + Uber-style profile refresh */
.search-page .search-shell{padding:14px;background:linear-gradient(180deg,#fff,#f6fbf7);border-color:#dceede}.search-main-bar{margin:0;max-width:none;box-shadow:0 12px 26px rgba(11,122,67,.1)}.search-main-bar span{display:grid;place-items:center;width:34px;color:var(--green);font-size:18px}.advanced-search-toggle{width:100%;margin-top:12px;border:1px solid #d6e8d8;background:#fff;border-radius:14px;padding:12px 13px;display:flex;align-items:center;gap:9px;text-align:left;color:var(--ink);font-weight:900}.advanced-search-toggle b{margin-left:auto;background:#e9f8ed;color:#087a43;border-radius:999px;padding:5px 9px;font-size:11px}.advanced-search-toggle i{font-style:normal;color:var(--green);font-size:16px}.advanced-search-toggle.open{border-color:#8cd59e;box-shadow:0 0 0 3px rgba(11,122,67,.08)}.advanced-search-panel{margin-top:12px;padding:14px;border-radius:16px;background:#f7fcf8;border:1px solid #dceede;animation:advancedDrop .2s ease}.advanced-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.active-filter-tags.compact{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.filter-tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#ecfdf5;color:#087a43;padding:6px 9px;font-size:11px;font-weight:900}.filter-tag button{border:0;background:transparent;color:#075b32;font-weight:900;padding:0}.search-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.search-suggestion{border:1px solid #dfe9e1;background:#fff;color:#42604b;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.search-refreshing{margin-bottom:12px;color:#087a43;font-size:12px;font-weight:900}@keyframes advancedDrop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.address-top-btn{border:1px solid #dceede;background:#fff;border-radius:999px;padding:7px 11px;display:flex;align-items:center;gap:8px;color:#17391f;font-weight:900;box-shadow:0 7px 18px rgba(11,122,67,.08)}.address-top-btn>span:first-child{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#e8f8ed;color:#087a43}.address-top-btn small{display:block;font-size:8px;letter-spacing:.75px;color:#6d7f70}.address-top-btn strong{display:block;font-size:12px;line-height:1}.uber-account-shell{max-width:940px;margin:0 auto;display:grid;gap:14px}.uber-profile-card{border:1px solid #dceede;background:linear-gradient(135deg,#0b7a43,#0b9b5a);color:#fff;border-radius:26px;padding:18px;box-shadow:0 18px 40px rgba(11,122,67,.18);position:relative;overflow:hidden}.uber-profile-card:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;top:-70px;background:rgba(255,255,255,.12)}.uber-profile-top{position:relative;z-index:1;display:flex;align-items:center;gap:14px}.uber-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#087a43;font-size:22px;font-weight:950;box-shadow:0 8px 18px rgba(0,0,0,.16);overflow:hidden}.uber-avatar img{width:100%;height:100%;object-fit:cover}.uber-profile-copy{flex:1;min-width:0}.uber-profile-copy h1{font-size:26px;margin:0 0 3px;letter-spacing:-.7px}.uber-profile-copy p{margin:0;color:#dff8e6;font-size:12px}.uber-profile-actions{display:flex;gap:8px;flex-wrap:wrap}.uber-profile-actions .btn{background:#fff;color:#087a43}.uber-quick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:1;margin-top:16px}.uber-quick-row button{border:1px solid rgba(255,255,255,.28);border-radius:17px;background:rgba(255,255,255,.14);color:#fff;padding:12px;text-align:left;backdrop-filter:blur(8px);font-weight:900}.uber-quick-row button.active,.uber-quick-row button:hover{background:#fff;color:#087a43}.uber-quick-row b{display:block;font-size:22px;line-height:1}.uber-quick-row span{display:block;font-size:11px;margin-top:3px}.uber-menu-list{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 8px 22px rgba(21,72,37,.06)}.uber-menu-list button,.uber-menu-list a{width:100%;border:0;background:#fff;color:var(--ink);display:flex;align-items:center;gap:12px;padding:15px 16px;text-align:left;border-bottom:1px solid #eef4ef;font-weight:850}.uber-menu-list button:last-child,.uber-menu-list a:last-child{border-bottom:0}.uber-menu-list button.active{background:#effaf2;color:#087a43}.uber-menu-icon{width:34px;height:34px;border-radius:12px;background:#edf8ef;color:#087a43;display:grid;place-items:center;font-size:15px;flex:0 0 34px}.uber-menu-list button.active .uber-menu-icon{background:#087a43;color:#fff}.uber-menu-list small{display:block;color:#7b887e;font-weight:700;margin-top:2px}.uber-panel-wrap{min-width:0}.account-hero{display:none}.uber-dashboard-note{padding:18px;border-radius:18px;background:#fff;border:1px dashed #cfe4d2;color:#42604b}@media(max-width:850px){.address-top-btn{padding:6px}.address-top-btn span+span{display:none}.uber-profile-card{border-radius:22px;padding:15px}.uber-profile-top{align-items:flex-start}.uber-profile-actions{width:100%;margin-top:10px}.uber-profile-actions .btn{flex:1}.uber-quick-row{gap:8px}.uber-quick-row button{padding:10px 9px}.uber-quick-row b{font-size:19px}.uber-menu-list button{padding:14px}.advanced-search-panel .form-grid{grid-template-columns:1fr}.advanced-actions{justify-content:stretch}.advanced-actions .btn{flex:1}}



/* Profile header fix: prevent edit button overlap and make member meta cleaner. */
.uber-profile-top{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px}.uber-profile-copy{min-width:0}.uber-profile-copy h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:4px}.uber-member-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.uber-member-meta span,.uber-member-meta b{display:inline-flex;align-items:center;min-height:25px;border-radius:999px;padding:5px 9px;font-size:11px;line-height:1.1}.uber-member-meta span{max-width:100%;overflow:hidden;text-overflow:ellipsis;background:rgba(255,255,255,.15);color:#ecfff1;font-weight:800}.uber-member-meta b{background:#fff;color:#087a43;font-weight:950;box-shadow:0 6px 14px rgba(0,0,0,.12)}.uber-profile-actions{justify-content:flex-end;align-self:start;position:relative;z-index:2}.uber-profile-actions .btn{white-space:nowrap;border-radius:999px;padding:9px 13px}@media(max-width:700px){.uber-profile-top{grid-template-columns:58px minmax(0,1fr);align-items:start}.uber-avatar{width:58px;height:58px}.uber-profile-copy h1{font-size:22px;white-space:normal;line-height:1.05}.uber-profile-actions{grid-column:1/-1;justify-content:stretch;margin-top:4px}.uber-profile-actions .btn{width:100%;justify-content:center}.uber-member-meta{gap:6px}.uber-member-meta span,.uber-member-meta b{font-size:10px;padding:5px 8px}.uber-member-meta span{max-width:100%}}



/* Account detail pages and header address text */
.address-top-btn.text-only{max-width:210px;min-width:128px;justify-content:flex-start}.address-top-btn.text-only>span{min-width:0;display:block}.address-top-btn.text-only small{display:block}.address-top-btn.text-only strong{display:block;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-detail-page{min-height:calc(100vh - 80px);padding-top:18px}.account-detail-head{position:sticky;top:76px;z-index:25;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 0 14px;background:linear-gradient(180deg,var(--paper),rgba(255,253,249,.92));backdrop-filter:blur(12px)}.account-detail-head h1{margin:0;font-size:24px;letter-spacing:-.7px}.account-detail-head span{font-size:10px;font-weight:950;color:var(--green);letter-spacing:.8px}.account-detail-back,.account-detail-close{border:0;background:#fff;color:#087a43;border:1px solid #dceede;box-shadow:0 7px 16px rgba(11,122,67,.08)}.account-detail-back{border-radius:999px;padding:10px 13px;font-weight:950}.account-detail-close{width:40px;height:40px;border-radius:50%;font-size:22px;line-height:1}.account-detail-body{animation:accountDetailIn .22s ease}.account-detail-body>.panel,.account-detail-body>div>.panel{box-shadow:0 10px 28px rgba(21,72,37,.06)}@keyframes accountDetailIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:850px){.address-top-btn.text-only{min-width:0;max-width:42vw;padding:7px 9px}.address-top-btn.text-only strong{max-width:34vw}.account-detail-head{top:66px;padding:8px 0 12px}.account-detail-head h1{font-size:20px}.account-detail-back{padding:9px 11px}.account-detail-close{width:37px;height:37px}.account-detail-page{padding-top:10px}}



/* Calm motion + cleaner detail pages/address pill */
.auth-wrap h1.title,.cart-logo-spark,.mobile-nav:before,.mobile-nav:after,.mobile-nav .nav-bag:after{animation:none!important}.mobile-nav .nav-bag{animation:none!important}.hero:after{animation:none!important}.otp-channel-btn.active{animation:none!important}.auth-wrap .btn-primary::after{display:none!important}.account-detail-head.simple{display:flex!important;justify-content:flex-start;grid-template-columns:none;background:transparent;backdrop-filter:none;top:72px}.account-detail-head.simple .account-detail-back{font-size:13px;padding:11px 15px}.address-top-btn.text-only{border:1px solid #cdebd5;background:linear-gradient(135deg,#fff,#f2fbf4);border-radius:16px;padding:8px 13px;box-shadow:0 9px 20px rgba(11,122,67,.1)}.address-top-btn.text-only small{color:#087a43}.address-top-btn.text-only strong{color:#14321f}.otp-full-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 12% 8%,#dbffe7,transparent 26%),radial-gradient(circle at 88% 10%,#f1e7ff,transparent 23%),#fffdf7}.otp-full-card{width:min(460px,100%);background:#fff;border:1px solid #dceede;border-radius:26px;padding:22px;box-shadow:0 22px 55px rgba(11,122,67,.14)}.otp-full-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.otp-back-btn{border:0;border-radius:999px;background:#edf8ef;color:#087a43;padding:10px 13px;font-weight:950}.otp-full-icon{width:58px;height:58px;border-radius:20px;background:linear-gradient(135deg,#087a43,#65db8b);color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 10px 22px rgba(11,122,67,.24)}.otp-full-card h1{font-size:28px;line-height:1.05;margin:0;letter-spacing:-.8px}.otp-full-card p{color:#5d7062}.otp-resend-row{display:flex;gap:10px;margin-top:12px}.otp-resend-row .btn{flex:1}.legal-accordion{display:grid;gap:10px;margin-top:14px}.legal-accordion details{border:1px solid #dceede;border-radius:15px;background:#fff;overflow:hidden}.legal-accordion summary{cursor:pointer;list-style:none;padding:15px 16px;font-weight:950;color:#14321f;display:flex;justify-content:space-between;gap:12px}.legal-accordion summary::-webkit-details-marker{display:none}.legal-accordion summary:after{content:'⌄';color:#087a43}.legal-accordion details[open] summary{background:#effaf2;color:#087a43}.legal-accordion details[open] summary:after{content:'⌃'}.legal-accordion .legal-copy{padding:0 16px 16px;color:#425a49;font-size:13px;line-height:1.65}.legal-accordion .legal-copy ul{padding-left:18px;margin:8px 0}.legal-accordion .legal-copy li{margin:5px 0}@media(max-width:650px){.otp-full-card{border-radius:22px;padding:18px}.otp-full-top{align-items:flex-start}.otp-full-icon{width:50px;height:50px;border-radius:17px}.otp-full-card h1{font-size:24px}.otp-resend-row{flex-direction:column}.account-detail-head.simple{top:64px}.address-top-btn.text-only{max-width:48vw}}



/* Stop account flicker/count bouncing: calm account transitions and hide volatile counts. */
.uber-account-shell,.uber-profile-card,.uber-menu-list,.account-detail-body,.account-detail-page,.uber-quick-row button{animation:none!important;transition:none!important}.uber-quick-row small{display:none!important}.auth-wrap,.auth-card,.panel{animation-duration:.01ms!important}.delivery-chip .delivery-icon-hidden{display:none!important}.delivery-chip.no-icon{padding-left:14px}.delivery-chip.no-icon span:last-child{display:none!important}


/* Account API loop fix: account pages no longer update parent state on each data refresh. */


/* Phone-style notifications + WhatsApp-style help chat */
.uber-quick-row small.quick-count{display:grid!important;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#0b7a43;color:#fff;place-items:center;font-size:11px;font-weight:950;box-shadow:0 8px 18px rgba(11,122,67,.22);margin-left:auto}.uber-quick-row button{position:relative;gap:8px}.phone-inbox-panel{padding:0;overflow:hidden;background:#f5f7f6;border-radius:26px;border:1px solid #dceede}.phone-inbox-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 12px;background:linear-gradient(180deg,#fff,#f5fbf7)}.phone-inbox-title h2{margin:0;font-size:25px}.phone-inbox-title p{margin:4px 0 0;color:#68766b;font-size:13px}.phone-message-list{display:grid;gap:2px;padding:8px;background:#fff}.phone-message-row{width:100%;border:0;background:#fff;display:grid;grid-template-columns:48px 1fr auto;gap:12px;text-align:left;align-items:center;padding:13px 11px;border-radius:16px;color:#17261c}.phone-message-row:hover{background:#eef9f2}.phone-message-row.unread{background:#f2fff6}.phone-message-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#087a43,#5bd586);color:#fff;font-weight:950;box-shadow:0 8px 18px rgba(11,122,67,.2);text-transform:uppercase}.phone-message-main strong{display:block;font-size:14px;line-height:1.2}.phone-message-main p{margin:4px 0 0;color:#5f7065;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(560px,58vw)}.phone-message-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;color:#7c8a80;font-size:11px}.phone-unread-dot{width:10px;height:10px;border-radius:50%;background:#0b7a43;box-shadow:0 0 0 4px rgba(11,122,67,.1)}.phone-notice-detail{background:#fff;min-height:480px;display:flex;flex-direction:column}.phone-detail-head{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid #e2eee5;background:#f8fbf8}.phone-back{border:0;background:#e8f7ed;color:#087a43;border-radius:999px;padding:9px 13px;font-weight:950}.phone-detail-body{padding:20px;background:linear-gradient(180deg,#f5faf7,#fff);flex:1}.phone-detail-bubble{max-width:690px;background:#e8f8ee;border:1px solid #cdebd5;border-radius:24px 24px 24px 7px;padding:17px 18px;box-shadow:0 12px 26px rgba(11,122,67,.08);white-space:pre-wrap;line-height:1.65;color:#1a3322}.phone-detail-bubble h3{margin:0 0 8px;font-size:20px}.phone-detail-date{margin-top:10px;color:#6c7b70;font-size:12px}.phone-empty{padding:44px 20px;text-align:center;color:#6c7b70}.support-wa{padding:0;overflow:hidden;border-radius:26px;background:#efeae2;border:1px solid #ded8cc}.support-wa-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#075e54;color:#fff}.support-wa-contact{display:flex;align-items:center;gap:11px}.support-wa-avatar{width:43px;height:43px;border-radius:50%;background:#dcf8c6;color:#075e54;display:grid;place-items:center;font-weight:950}.support-wa-contact h2{margin:0;font-size:18px;color:#fff}.support-wa-contact p{margin:2px 0 0;color:rgba(255,255,255,.78);font-size:12px}.support-wa-actions{display:flex;gap:7px;flex-wrap:wrap}.support-wa-actions button{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850}.support-wa-body{min-height:380px;max-height:560px;overflow:auto;padding:18px;background-color:#efeae2;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35) 0 1px,transparent 1px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.28) 0 1px,transparent 1px);background-size:22px 22px}.wa-thread{display:grid;gap:8px;margin-bottom:14px}.wa-date-pill{justify-self:center;background:rgba(255,255,255,.78);color:#607065;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:850;box-shadow:0 4px 10px rgba(0,0,0,.04)}.wa-bubble{max-width:78%;border-radius:18px 18px 18px 4px;background:#fff;padding:10px 12px;box-shadow:0 2px 8px rgba(0,0,0,.05);font-size:13px;line-height:1.45;white-space:pre-wrap}.wa-bubble.mine{justify-self:end;background:#dcf8c6;border-radius:18px 18px 4px 18px}.wa-bubble small{display:block;margin-top:5px;color:#77857b;text-align:right;font-size:10px}.wa-empty{text-align:center;color:#607065;background:rgba(255,255,255,.7);border-radius:18px;padding:25px 16px}.support-wa-composer{display:grid;grid-template-columns:minmax(110px,180px) 1fr auto;gap:8px;padding:12px;background:#f7f7f7;border-top:1px solid #ddd}.support-wa-composer input,.support-wa-composer textarea{border:0;background:#fff;border-radius:999px;padding:12px 14px;outline:none;box-shadow:inset 0 0 0 1px #e3e3e3}.support-wa-composer textarea{border-radius:18px;resize:none;min-height:46px;max-height:110px}.support-wa-send{border:0;border-radius:50%;width:46px;height:46px;background:#25d366;color:#fff;font-weight:950;font-size:18px;box-shadow:0 8px 18px rgba(37,211,102,.25)}.help-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.help-tile{border:1px solid #dceede;background:#fff;border-radius:16px;padding:12px;text-align:left}.help-tile strong{display:block;color:#123e27}.help-tile span{font-size:12px;color:#68766b}@media(max-width:700px){.phone-inbox-top{align-items:flex-start;flex-direction:column}.phone-message-row{grid-template-columns:42px 1fr auto;padding:11px 8px}.phone-message-avatar{width:40px;height:40px}.phone-message-main p{max-width:56vw}.support-wa-header{align-items:flex-start;flex-direction:column}.support-wa-body{max-height:58vh;padding:12px}.support-wa-composer{grid-template-columns:1fr auto}.support-wa-composer input{grid-column:1/-1}.help-tiles{grid-template-columns:1fr}.wa-bubble{max-width:88%}}



/* Payment route safety + support message popup */
.support-wa-start{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px;background:#f7f7f7;border-top:1px solid #ddd}.support-wa-start .btn{border-radius:999px}.support-popup-backdrop{position:fixed;inset:0;background:rgba(8,20,13,.58);z-index:120;display:grid;place-items:end center;padding:16px}.support-popup{width:min(520px,100%);background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.28);animation:supportPopupUp .18s ease-out}.support-popup-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#075e54;color:#fff;padding:14px 16px}.support-popup-head h3{margin:0;font-size:18px;color:#fff}.support-popup-head p{margin:2px 0 0;font-size:12px;color:rgba(255,255,255,.78)}.support-popup-close{border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:50%;width:36px;height:36px;font-size:20px;font-weight:900}.support-popup-body{background:#efeae2;padding:14px;display:grid;gap:10px}.support-popup-body input,.support-popup-body textarea{width:100%;border:0;background:#fff;border-radius:18px;padding:13px 14px;outline:none;box-shadow:inset 0 0 0 1px #e3e3e3}.support-popup-body textarea{min-height:126px;resize:vertical}.support-popup-actions{display:flex;gap:9px;justify-content:flex-end;background:#f7f7f7;padding:12px 14px}.support-popup-actions .btn-primary{background:#25d366;color:#073d2b}.payment-card code{font-size:12px;background:#eef8f0;color:#075e32;border-radius:8px;padding:2px 5px}@keyframes supportPopupUp{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:700px){.support-popup-backdrop{align-items:end;padding:0}.support-popup{border-radius:24px 24px 0 0}.support-wa-start{position:sticky;bottom:0}.support-popup-actions{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}



/* Follow, wishlist, reviews, coupons and polished address pill */
.address-top-btn.pretty-address{min-width:210px;max-width:280px;border:1px solid #bfe6c9;background:linear-gradient(135deg,#ffffff 0%,#f0fff4 55%,#e5f9eb 100%);border-radius:20px;padding:9px 11px;box-shadow:0 12px 30px rgba(11,122,67,.13);position:relative;overflow:hidden}.address-top-btn.pretty-address:before{content:'';position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#087a43,#65db8b)}.address-copy{display:grid;gap:2px;min-width:0}.address-copy small{font-size:8px;letter-spacing:1px;font-weight:950;color:#087a43}.address-copy strong{font-size:13px;line-height:1.1;color:#102d1b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-copy em{font-style:normal;font-size:10px;color:#5e7464;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-change-chip{margin-left:auto;border-radius:999px;background:#087a43;color:#fff;font-size:9px;font-weight:950;padding:5px 7px;box-shadow:0 8px 16px rgba(11,122,67,.18)}.review-compose{margin-top:16px;padding:16px;border-radius:18px;background:linear-gradient(180deg,#f7fcf8,#fff);border:1px solid #dceede}.review-list{display:grid;gap:10px;margin-top:12px}.review-card{border:1px solid #e0eee3;background:#fff;border-radius:16px;padding:13px;box-shadow:0 6px 16px rgba(11,122,67,.05)}.review-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.review-card strong{color:#14321f}.review-stars{color:#f59e0b;font-weight:950;letter-spacing:.6px}.coupon-card strong{color:#0b7a43}.store-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}@media(max-width:850px){.address-top-btn.pretty-address{min-width:0;max-width:52vw;padding:8px 10px}.address-copy strong{max-width:34vw}.address-copy em{display:none}.address-change-chip{display:none}}



/* Header address street-only visibility fix */
.address-top-btn.street-address{min-width:230px;max-width:320px;padding:11px 12px 11px 14px;border-radius:18px;border:1px solid #aee2bd;background:linear-gradient(135deg,#ffffff 0%,#f3fff6 60%,#e8faee 100%);box-shadow:0 14px 30px rgba(11,122,67,.16);gap:10px}.address-top-btn.street-address:before{height:4px}.address-top-btn.street-address>span:first-child{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;color:inherit!important;display:flex!important;flex-direction:column!important;place-items:initial!important;align-items:flex-start!important;gap:3px!important;min-width:0!important;flex:1}.address-top-btn.street-address .address-copy strong{font-size:14px;line-height:1.15;font-weight:950;color:#082b18;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-top-btn.street-address .address-copy em{font-style:normal;font-size:10.5px;line-height:1.1;color:#557260;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-top-btn.street-address .address-change-chip{font-size:9px;padding:6px 8px;background:#0b7a43;color:#fff}@media(max-width:850px){.address-top-btn.street-address{min-width:0;max-width:54vw;padding:9px 10px}.address-top-btn.street-address .address-copy strong{max-width:38vw;font-size:13px}.address-top-btn.street-address .address-copy em,.address-top-btn.street-address .address-change-chip{display:none}}




/* Help Center floating chat icon + full-screen glass chatbot */
.help-center-wrap{position:relative;padding-bottom:96px;overflow:visible}.help-center-intro{padding:18px;background:linear-gradient(180deg,#f7fbf8,#fff);border-bottom:1px solid #dceede}.help-page-only{padding:18px}.help-page-only .wa-empty{background:#f7fbf8;border:1px dashed #bfe6ca;color:#466454}.help-chat-fab{position:fixed;right:20px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:95;border:0;border-radius:999px;background:linear-gradient(135deg,#0b7a43,#25d366);color:#fff;display:flex;align-items:center;gap:9px;padding:13px 17px;box-shadow:0 18px 44px rgba(11,122,67,.34);font-weight:950;letter-spacing:-.2px}.help-chat-fab-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:19px}.help-chat-fab-text{font-size:14px}.help-chat-badge{position:absolute;top:-6px;right:-5px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#ff3b30;color:#fff;display:grid;place-items:center;font-size:11px;border:2px solid #fff;box-shadow:0 8px 18px rgba(255,59,48,.25)}
.help-chat-overlay{position:fixed;inset:0;z-index:170;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:24px;background-image:linear-gradient(135deg,rgba(1,39,22,.78),rgba(4,78,44,.45)),url('https://cdn.pixabay.com/photo/2018/01/14/23/12/nature-3082832_1280.jpg');background-size:cover;background-position:center center;font-family:'Lato',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;animation:helpChatIn .16s ease-out}.help-chat-overlay h2{text-shadow:1px 1px 2px rgba(0,0,0,1);color:#fff;letter-spacing:1px;text-transform:uppercase;text-align:center;margin:0 0 14px;font-size:20px}.help-chat-overlay .chat-container{background-color:rgba(0,0,0,.44);border-radius:25px;box-shadow:0 0 10px 5px rgba(0,0,0,.7);overflow:hidden;padding:15px 15px 78px;position:relative;width:390px;max-width:calc(100vw - 28px);height:min(74vh,680px);display:flex;flex-direction:column}.help-chat-overlay .chat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;margin-bottom:10px}.help-chat-overlay .chat-contact{display:flex;align-items:center;gap:10px;min-width:0}.help-chat-overlay .chat-contact .support-wa-avatar{box-shadow:0 10px 10px rgba(0,0,0,.55)}.help-chat-overlay .chat-contact strong{display:block;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.help-chat-overlay .chat-contact small{display:block;color:rgba(255,255,255,.78);font-size:11px}.help-chat-overlay .chat-close{border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:50%;width:38px;height:38px;font-size:22px;font-weight:950}.help-chat-overlay .chat-quick{display:flex;gap:7px;overflow:auto;margin:0 -2px 11px;padding:1px 2px 8px}.help-chat-overlay .chat-quick button{white-space:nowrap;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.88);color:#075e54;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:900;box-shadow:0 6px 13px rgba(0,0,0,.18)}.help-chat-overlay .chat{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;list-style-type:none;padding:6px 2px 12px;margin:0;overflow:auto;flex:1;-webkit-overflow-scrolling:touch}.help-chat-overlay .chat:before{content:"";margin-top:auto}.help-chat-overlay .chat-container{background:linear-gradient(180deg,#f3faf5 0%,#eef6f1 100%)!important;background-image:none!important}.help-chat-overlay .chat-top{background:#0b7a43;color:#fff;border-radius:16px 16px 0 0;padding:12px 14px}.help-chat-overlay .chat-top small{color:rgba(255,255,255,.85)}.help-chat-overlay .message{display:flex;align-items:flex-end;gap:8px;background:transparent;border-radius:0;box-shadow:none;position:relative;margin:0 0 10px;max-width:92%;min-height:0;color:#102116;line-height:1.4;white-space:pre-wrap;padding:0}.help-chat-overlay .message.left{align-self:flex-start;padding:0}.help-chat-overlay .message.right{align-self:flex-end;justify-content:flex-end;padding:0;background:transparent}.help-chat-overlay .message .bubble-body{background:#fff;border:1px solid #e5ebe7;border-radius:16px 16px 16px 4px;padding:10px 12px;box-shadow:0 4px 14px rgba(11,122,67,.06);max-width:100%}.help-chat-overlay .message.right .bubble-body{background:#d9f5e5;border-color:#b8e6cb;border-radius:16px 16px 4px 16px}.help-chat-overlay .message.welcome .bubble-body{background:#fff;border-style:dashed}.help-chat-overlay .logo{display:none}.help-chat-overlay .support-wa-avatar.sm{width:28px;height:28px;min-width:28px;font-size:12px;margin:0}.help-chat-overlay .message p{margin:0;font-size:14px}.help-chat-overlay .message small{display:block;margin-top:4px;color:#6b7c72;text-align:right;font-size:10px}.help-chat-overlay .message.left small{text-align:left}.help-chat-overlay .text_input{font-size:16px;position:absolute;bottom:0;left:0;right:0;padding:12px 58px 12px 14px;width:100%;min-height:52px;max-height:110px;border:0;border-top:1px solid #e5ebe7;outline:none;resize:none;font:inherit;background:#fff;box-shadow:none;border-radius:0 0 16px 16px}.help-chat-overlay .chat-send{position:absolute;right:10px;bottom:8px;border:0;border-radius:50%;width:40px;height:40px;background:#0b7a43;color:#fff;font-weight:900;font-size:16px;box-shadow:0 6px 16px rgba(11,122,67,.25)}.help-chat-overlay .chat-send:disabled{opacity:.45;filter:grayscale(.35)}.help-chat-badge{background:#e11d48;color:#fff;font-weight:800}@keyframes helpChatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.help-chat-fab{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));padding:12px 14px}.help-chat-fab-text{display:none}.help-center-wrap{padding-bottom:112px}.help-chat-overlay{padding:12px}.help-chat-overlay h2{font-size:17px}.help-chat-overlay .chat-container{width:100%;height:calc(100dvh - 36px);max-width:none}.help-chat-overlay .message{max-width:96%}}







/* BCM Search UX refresh — live results, cleaner green glass search bar. */
.quick-search{border:1px solid rgba(11,122,67,.16)!important;background:linear-gradient(135deg,#ffffff 0%,#f3fff7 100%)!important;border-radius:24px!important;box-shadow:0 18px 45px rgba(11,122,67,.13)!important;padding:9px!important;align-items:center!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.quick-search:focus-within{border-color:rgba(11,122,67,.55)!important;box-shadow:0 22px 58px rgba(11,122,67,.19)!important;transform:translateY(-1px)}.quick-search span{width:43px!important;height:43px!important;min-width:43px!important;border-radius:16px!important;background:linear-gradient(135deg,#0b7a43,#19b96e)!important;color:#fff!important;display:grid!important;place-items:center!important;font-size:18px!important;font-weight:950!important;box-shadow:0 10px 22px rgba(11,122,67,.25)!important}.quick-search input{font-size:15px!important;font-weight:750!important;color:#14251a!important;padding:0 10px!important}.quick-search input::placeholder{color:#789183!important}.quick-search button{border-radius:18px!important;background:linear-gradient(135deg,#0b7a43,#0fa35a)!important;color:#fff!important;box-shadow:0 12px 26px rgba(11,122,67,.24)!important;min-width:92px!important}.search-shell{position:relative;overflow:hidden;border:1px solid rgba(11,122,67,.13)!important;background:radial-gradient(circle at 12% 0,rgba(109,237,147,.18),transparent 36%),#fff!important;box-shadow:0 18px 52px rgba(12,58,31,.08)!important}.search-shell:before{content:'Find it fast';position:absolute;right:18px;top:14px;color:rgba(11,122,67,.08);font-size:34px;font-weight:950;letter-spacing:-1.8px;pointer-events:none}.search-main-bar{margin:0!important;max-width:none!important}.advanced-search-toggle{border:1px solid rgba(11,122,67,.16)!important;background:#f7fff9!important;border-radius:18px!important;color:#13351f!important;box-shadow:none!important}.advanced-search-toggle.open{background:#0b7a43!important;color:#fff!important}.advanced-search-toggle b{background:#e8f9ed!important;color:#0b7a43!important}.advanced-search-toggle.open b{background:rgba(255,255,255,.18)!important;color:#fff!important}.search-suggestions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.search-suggestion,.filter-tag{border:1px solid rgba(11,122,67,.13)!important;background:#fff!important;color:#0b7a43!important;border-radius:999px!important;font-weight:900!important}.search-suggestion:hover,.filter-tag:hover{background:#ecfdf3!important}.search-results-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 6px;padding:15px 16px;border-radius:22px;background:linear-gradient(135deg,#0b7a43,#17a665);color:#fff;box-shadow:0 18px 42px rgba(11,122,67,.18)}.search-results-banner strong{display:block;font-size:16px;letter-spacing:-.25px}.search-results-banner span{display:block;margin-top:2px;font-size:12px;color:rgba(255,255,255,.82)}.search-results-banner .text-link{color:#fff!important;background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px!important;padding:8px 11px!important;font-size:12px!important}.search-refreshing{background:#ecfdf3!important;color:#0b7a43!important;border:1px solid rgba(11,122,67,.12)!important;border-radius:999px!important;padding:8px 12px!important;font-weight:900!important}.search-page .product-grid{animation:none}@keyframes searchFade{from{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:650px){.quick-search{border-radius:20px!important;padding:7px!important}.quick-search span{width:37px!important;height:37px!important;min-width:37px!important;border-radius:14px!important}.quick-search input{font-size:13px!important}.quick-search button{min-width:74px!important;padding:10px 13px!important;border-radius:15px!important}.search-shell:before{display:none}.search-results-banner{margin-top:13px;border-radius:19px;padding:13px}.search-results-banner strong{font-size:14px}.search-results-banner span{font-size:11px}.search-results-banner .text-link{font-size:11px!important;padding:7px 10px!important}.search-suggestions{overflow:auto;flex-wrap:nowrap;padding-bottom:5px}}



/* BCM Home Premium Marketplace v3 — beautiful mobile-first homepage and micro-interactions. */
.home-page.beautiful-home{animation:pageSoftIn .26s ease both}.bcm-hero-v3{position:relative;isolation:isolate;overflow:hidden;border-radius:34px;min-height:440px;background:radial-gradient(circle at 88% 14%,rgba(109,237,147,.34),transparent 25%),radial-gradient(circle at 12% 4%,rgba(255,228,150,.58),transparent 31%),linear-gradient(135deg,#071b10 0%,#0b4d2c 48%,#0b7a43 100%);color:#fff;box-shadow:0 30px 90px rgba(11,61,32,.23);border:1px solid rgba(255,255,255,.13);padding:50px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:30px;align-items:center}.bcm-hero-v3:before{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.12);border-radius:28px;pointer-events:none}.bcm-hero-copy{position:relative;z-index:3}.bcm-hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:1.3px;color:#d9ffe5}.bcm-hero-v3 h1{margin:18px 0 14px;font-size:clamp(46px,6vw,86px);line-height:.88;letter-spacing:-4px;font-weight:1000;font-family:'DM Sans',Inter,system-ui,sans-serif;color:#fff}.bcm-hero-v3 h1 span{display:block}.bcm-hero-v3 p{margin:0 0 26px;max-width:560px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.84)}.home-craving-search{width:min(620px,100%);display:flex;align-items:center;gap:10px;padding:9px;border-radius:25px;background:rgba(255,255,255,.98);box-shadow:0 22px 55px rgba(0,0,0,.18);border:1px solid rgba(255,255,255,.45)}.home-craving-search span{width:48px;height:48px;min-width:48px;border-radius:18px;display:grid;place-items:center;background:#eafbf0;color:#0b7a43;font-size:21px;font-weight:900}.home-craving-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#0e2517;font-size:16px;font-weight:850}.home-craving-search input::placeholder{color:#718273}.home-craving-search button{border:0;border-radius:18px;background:#0b7a43;color:#fff;font-weight:950;padding:15px 20px;box-shadow:0 12px 28px rgba(11,122,67,.28)}.home-craving-search button:active{animation:buttonTap .24s ease}.food-card-orbit{position:relative;z-index:2;min-height:330px}.floating-food-card{position:absolute;display:flex;align-items:center;gap:12px;min-width:196px;border-radius:26px;background:rgba(255,255,255,.93);color:#102016;border:1px solid rgba(255,255,255,.58);box-shadow:0 26px 60px rgba(0,0,0,.18);padding:14px;backdrop-filter:blur(16px);animation:floatFood 5.5s ease-in-out infinite}.floating-food-card b{font-size:35px;line-height:1}.floating-food-card strong{display:block;font-size:14px;line-height:1.1}.floating-food-card small{display:block;margin-top:4px;color:#6b786f;font-size:11px;font-weight:800}.floating-food-card.one{right:50px;top:6px;transform:rotate(-5deg);animation-delay:-.5s}.floating-food-card.two{left:16px;top:112px;transform:rotate(4deg);animation-delay:-2.2s}.floating-food-card.three{right:6px;bottom:18px;transform:rotate(6deg);animation-delay:-3.6s}.floating-food-card.four{left:88px;bottom:2px;transform:rotate(-7deg);animation-delay:-1.3s}.hero-trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-trust-row span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.1);color:#eaffef;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900}.popular-cravings{margin-top:30px}.craving-card{position:relative;isolation:isolate;overflow:hidden;min-width:154px;min-height:128px;border:0;border-radius:28px;text-align:left;padding:17px;background:#fff;box-shadow:0 20px 46px rgba(17,43,27,.09);transition:transform .22s ease,box-shadow .22s ease}.craving-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px rgba(17,43,27,.14)}.craving-card:active{animation:buttonTap .24s ease}.craving-card .emoji{display:block;font-size:36px;margin-bottom:14px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.1))}.craving-card strong{display:block;font-size:16px;color:#102016;font-weight:950}.craving-card small{display:block;margin-top:5px;color:#748175;font-size:11px;font-weight:800}.craving-card:nth-child(8n+1){background:linear-gradient(135deg,#fff8e4,#fff)}.craving-card:nth-child(8n+2){background:linear-gradient(135deg,#ffece7,#fff)}.craving-card:nth-child(8n+3){background:linear-gradient(135deg,#fff2c7,#fff)}.craving-card:nth-child(8n+4){background:linear-gradient(135deg,#edf9ff,#fff)}.craving-card:nth-child(8n+5){background:linear-gradient(135deg,#e8fce6,#fff)}.craving-card:nth-child(8n+6){background:linear-gradient(135deg,#fff0f6,#fff)}.craving-card:nth-child(8n+7){background:linear-gradient(135deg,#fff4df,#fff)}.craving-card:nth-child(8n+8){background:linear-gradient(135deg,#f1ecff,#fff)}.market-section-card{border-radius:30px;background:#fff;border:1px solid rgba(11,122,67,.08);box-shadow:0 22px 55px rgba(17,43,27,.08);padding:22px}.section-head .section-badge{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;font-size:11px;color:#0b7a43;font-weight:950;text-transform:uppercase;letter-spacing:.9px}.product{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;will-change:transform}.product:hover{transform:translateY(-4px)!important;box-shadow:0 20px 45px rgba(17,43,27,.12)!important;border-color:rgba(11,122,67,.18)!important}.product-image{overflow:hidden}.product-image img{transition:transform .28s ease!important}.product:hover .product-image img{transform:scale(1.045)!important}.product.carting .product-image img{transform:scale(.94)!important}.product.just-added{animation:cartCardBounce .42s ease}.product.just-added .add{animation:cartPulse .52s ease}.product.just-added .add:after{content:'✓ Added to cart';position:absolute;right:0;bottom:calc(100% + 8px);min-width:118px;padding:7px 9px;border-radius:999px;background:#0b7a43;color:#fff;font-size:11px;font-weight:950;box-shadow:0 12px 24px rgba(11,122,67,.22);animation:addedBubble .8s ease both}.add{position:relative;overflow:visible;transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important}.add:active{transform:scale(.93)!important}.add-text{display:none}.flying-product{border:2px solid #fff;box-shadow:0 15px 30px rgba(11,122,67,.28);animation:flyToCart .78s cubic-bezier(.2,.8,.2,1) forwards!important}.mobile-nav .nav-bag.swallow-bag,.bag-icon-wrap.swallow{animation:cartPulse .62s ease!important}.floating-cart-bar{position:fixed;left:50%;bottom:92px;z-index:69;transform:translateX(-50%);width:min(520px,calc(100% - 28px));border:0;border-radius:999px;background:#101510;color:#fff;box-shadow:0 22px 55px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px 10px 17px;font-weight:950;animation:cartBarIn .28s ease both}.floating-cart-bar .cart-bar-left{display:flex;align-items:center;gap:10px}.floating-cart-bar .cart-bar-count{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#0b7a43;color:#fff;animation:cartPulse .55s ease}.floating-cart-bar .cart-bar-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.floating-cart-bar .cart-bar-copy small{font-size:11px;color:#a9b8ad}.floating-cart-bar .cart-bar-cta{border-radius:999px;background:#fff;color:#101510;padding:10px 14px;font-size:12px}.mobile-nav{transition:transform .22s ease,box-shadow .22s ease}.mobile-nav .nav-bag{transition:transform .18s ease,box-shadow .18s ease}.mobile-nav .nav-bag:active{transform:translateY(-22px) scale(.94)!important}.store-personality-card{min-width:282px;max-width:282px;border:0;border-radius:30px;background:#fff;padding:0;overflow:hidden;text-align:left;box-shadow:0 22px 55px rgba(17,43,27,.1);transition:transform .22s ease,box-shadow .22s ease}.store-personality-card:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(17,43,27,.16)}.store-personality-image{height:158px;background-size:cover;background-position:center;position:relative}.store-personality-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.48))}.store-personality-top{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px}.store-status-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:rgba(255,255,255,.94);color:#0b7a43;font-size:10px;font-weight:950;padding:6px 8px}.store-status-pill.closed{color:#c0262f}.store-rating-pill{border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:11px;font-weight:950;padding:6px 8px}.store-personality-body{padding:16px}.store-personality-body strong{display:block;color:#102016;font-size:17px;font-weight:950;letter-spacing:-.3px}.store-personality-meta{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.store-personality-meta span{border-radius:999px;background:#f1faf4;color:#31503b;font-size:10px;font-weight:900;padding:6px 8px}.store-personality-types{color:#6c786f;font-size:12px;font-weight:800;line-height:1.35;min-height:17px}.store-personality-link{display:flex;align-items:center;justify-content:space-between;margin-top:14px;color:#0b7a43;font-size:13px;font-weight:950}.home-skeleton-grid{display:flex;gap:14px;overflow:hidden}.home-skeleton-card{min-width:220px;height:245px;border-radius:26px;background:#fff;padding:12px;border:1px solid rgba(11,122,67,.08);box-shadow:0 14px 36px rgba(17,43,27,.07)}.skeleton-shimmer{display:block;border-radius:18px;background:linear-gradient(90deg,#edf2ee 0%,#f9fbf9 45%,#edf2ee 90%);background-size:220% 100%;animation:skeletonShimmer 1.1s ease-in-out infinite}.home-skeleton-card .img{height:135px}.home-skeleton-card .line{height:14px;margin-top:13px}.home-skeleton-card .short{width:62%;height:12px}.home-skeleton-card .price{width:42%;height:18px}.smart-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.smart-home-grid .section{margin-top:0}@keyframes pageSoftIn{from{opacity:.84;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes floatFood{0%,100%{translate:0 0}50%{translate:0 -13px}}@keyframes buttonTap{0%{transform:scale(1)}45%{transform:scale(.97)}100%{transform:scale(1)}}@keyframes cartCardBounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-6px)}70%{transform:translateY(2px)}}@keyframes cartPulse{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}@keyframes addedBubble{0%{opacity:0;transform:translateY(8px) scale(.94)}16%,76%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-5px) scale(.98)}}@keyframes flyToCart{to{transform:translate(var(--dx),var(--dy)) scale(.18) rotate(12deg);opacity:.14}}@keyframes cartBarIn{from{opacity:0;transform:translateX(-50%) translateY(12px) scale(.98)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}@keyframes skeletonShimmer{to{background-position:-220% 0}}@media(max-width:900px){.bcm-hero-v3{min-height:0;border-radius:28px;padding:30px 22px 180px;display:block}.bcm-hero-v3 h1{font-size:clamp(43px,13vw,66px);letter-spacing:-2.7px}.bcm-hero-v3 p{font-size:15px}.home-craving-search{position:relative;border-radius:22px;padding:7px}.home-craving-search span{width:40px;height:40px;min-width:40px;border-radius:15px}.home-craving-search input{font-size:14px}.home-craving-search button{padding:12px 13px;border-radius:15px}.food-card-orbit{position:absolute;left:0;right:0;bottom:14px;min-height:160px;pointer-events:none}.floating-food-card{min-width:150px;border-radius:21px;padding:10px;gap:8px}.floating-food-card b{font-size:27px}.floating-food-card strong{font-size:12px}.floating-food-card small{font-size:9px}.floating-food-card.one{right:18px;top:0}.floating-food-card.two{left:18px;top:30px}.floating-food-card.three{right:28px;bottom:4px}.floating-food-card.four{left:64px;bottom:2px}.popular-cravings{margin-top:24px}.craving-card{min-width:126px;min-height:112px;border-radius:24px;padding:14px}.craving-card .emoji{font-size:31px;margin-bottom:11px}.craving-card strong{font-size:14px}.smart-home-grid{grid-template-columns:1fr}.store-personality-card{min-width:236px;max-width:236px;border-radius:26px}.store-personality-image{height:132px}.store-personality-body{padding:13px}.store-personality-body strong{font-size:15px}.floating-cart-bar{bottom:90px}.mobile-nav .nav-cart-label{display:block!important;font-size:9px!important}.add-text{display:inline}.product-grid .add,.discover-rail .add{width:auto!important;min-width:42px;padding:0 10px!important;border-radius:999px!important;font-size:14px!important}.product-grid .add .add-plus,.discover-rail .add .add-plus{display:none}.product-grid .add .add-text,.discover-rail .add .add-text{display:inline;font-size:10px;font-weight:950;text-transform:uppercase}}@media(max-width:520px){.bcm-hero-v3{margin-left:-2px;margin-right:-2px;padding:28px 18px 172px;border-radius:26px}.bcm-hero-v3 h1{font-size:44px}.bcm-hero-kicker{font-size:9px}.home-craving-search{box-shadow:0 16px 34px rgba(0,0,0,.16)}.home-craving-search input{font-size:13px}.home-craving-search button{font-size:12px;padding-left:11px;padding-right:11px}.hero-trust-row span{font-size:10px;padding:7px 9px}.craving-card{min-width:116px}.floating-food-card{min-width:134px}.floating-food-card.four{display:none}.store-personality-card{min-width:218px;max-width:218px}.floating-cart-bar{bottom:84px;padding:9px 9px 9px 13px}.floating-cart-bar .cart-bar-cta{padding:9px 11px}.floating-cart-bar .cart-bar-copy strong{font-size:13px}.floating-cart-bar .cart-bar-copy small{font-size:10px}}@media(prefers-reduced-motion:reduce){.home-page.beautiful-home,.floating-food-card,.product,.product-image img,.flying-product,.mobile-nav .nav-bag.swallow-bag,.bag-icon-wrap.swallow,.floating-cart-bar,.home-skeleton-card .skeleton-shimmer{animation:none!important;transition:none!important}.product:hover{transform:none!important}.product:hover .product-image img{transform:none!important}}



/* Hybrid rollback: old bottom nav restored and floating cart item bar removed. */
.floating-cart-bar{display:none!important}.home-page .smart-home-grid{display:block}.home-page .section-badge{display:inline-flex}.mobile-nav .nav-cart-label{display:none!important}.mobile-nav .nav-bag{flex:0 0 56px!important;max-width:56px!important}.mobile-nav .nav-bag span:last-child{display:none!important}@media(max-width:900px){.mobile-nav .nav-cart-label{display:none!important}}



/* Banner food shortcuts + restored visible cart button fix. */
.food-card-orbit{pointer-events:auto!important}.floating-food-card{border:0!important;text-align:left!important;cursor:pointer!important;font:inherit!important}.floating-food-card:hover{transform:translateY(-5px) rotate(var(--tilt,0deg));box-shadow:0 32px 70px rgba(0,0,0,.22)}.floating-food-card:focus-visible{outline:3px solid rgba(255,255,255,.9);outline-offset:3px}.floating-food-card.one{--tilt:-5deg}.floating-food-card.two{--tilt:4deg}.floating-food-card.three{--tilt:6deg}.floating-food-card.four{--tilt:-7deg}@media(max-width:900px){.food-card-orbit{pointer-events:none!important}.floating-food-card{pointer-events:auto!important}}
.mobile-nav .nav-bag{background:linear-gradient(135deg,#075b32 0%,#0b7a43 52%,#65db8b 100%)!important;color:#fff!important;border:3px solid #fff!important;box-shadow:0 16px 31px rgba(11,122,67,.42)!important;border-radius:22px!important;overflow:visible!important}.mobile-nav .nav-bag .nav-symbol{background:transparent!important;color:#fff!important;box-shadow:none!important;width:46px!important;height:46px!important;display:grid!important;place-items:center!important}.mobile-nav .nav-bag .cart-logo-disc{fill:rgba(255,255,255,.12)!important;stroke:rgba(255,255,255,.72)!important}.mobile-nav .nav-bag .cart-logo-u,.mobile-nav .nav-bag .cart-logo-handle,.mobile-nav .nav-bag .cart-logo-rail,.mobile-nav .nav-bag .cart-logo-cut{stroke:#fff!important}.mobile-nav .nav-bag .cart-logo-basket{fill:#fff!important;stroke:#dfffea!important}.mobile-nav .nav-bag .cart-logo-wheel{fill:#102016!important;stroke:#fff!important}.mobile-nav .nav-bag .cart-logo-spark{fill:#fff58a!important}.mobile-nav .nav-bag .bag-count-inside{background:#101510!important;color:#fff!important;border-color:#fff!important;box-shadow:0 6px 14px rgba(0,0,0,.22)!important}.mobile-nav .nav-bag .bag-icon-wrap{filter:drop-shadow(0 7px 12px rgba(0,0,0,.18))!important}



/* Hard fix: make banner cards tap targets and show a real cart icon in bottom nav. */
.bcm-hero-v3,.food-card-orbit{pointer-events:auto!important}.food-card-orbit{z-index:8!important}.floating-food-card{pointer-events:auto!important;z-index:9!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(255,255,255,.18)!important}.floating-food-card *{pointer-events:none!important}@media(max-width:900px){.food-card-orbit{pointer-events:auto!important}.floating-food-card{pointer-events:auto!important}}
.mobile-nav .nav-bag{display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(135deg,#075b32 0%,#0b7a43 55%,#37d77d 100%)!important;border:3px solid #fff!important;color:#fff!important;box-shadow:0 16px 32px rgba(11,122,67,.42),0 0 0 1px rgba(7,91,50,.1)!important;overflow:visible!important}.mobile-nav .nav-bag .cart-emoji{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;background:transparent!important;color:#fff!important;font-size:27px!important;line-height:1!important;text-shadow:0 3px 8px rgba(0,0,0,.22)!important;filter:none!important}.mobile-nav .nav-bag .nav-cart-count{position:absolute!important;right:-5px!important;top:-7px!important;min-width:22px!important;height:22px!important;padding:0 6px!important;border-radius:999px!important;background:#101510!important;color:#fff!important;border:2px solid #fff!important;font-size:10px!important;font-weight:950!important;line-height:18px!important;display:grid!important;place-items:center!important;box-shadow:0 7px 15px rgba(0,0,0,.22)!important}.mobile-nav .nav-bag .nav-cart-label{display:none!important}.mobile-nav .nav-bag svg,.mobile-nav .nav-bag .bag-icon-wrap{display:none!important}



/* Food delivery inspired home v7 — global profile/location/cart top nav and unread notification open fix. */
.view-home>.topline,.view-home>.header{display:none!important}.food-home-screen{background:#fbf8f4!important;min-height:100vh;padding-top:16px!important}.fd-home-top{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;align-items:center;gap:12px;margin:2px 0 14px}.fd-round-btn{width:44px;height:44px;border:1px solid #e8efe9;border-radius:18px;background:#fff;color:#14321f;display:grid;place-items:center;box-shadow:0 9px 22px rgba(11,61,32,.07);font-size:18px;font-weight:950;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.fd-round-btn:active{transform:scale(.94)}.fd-round-btn:hover{background:#f0faf3;box-shadow:0 14px 28px rgba(11,122,67,.12)}.fd-location-center{text-align:center;min-width:0}.fd-location-center small{display:block;color:#0b7a43;font-size:10px;line-height:1;text-transform:none;font-weight:900;letter-spacing:.1px}.fd-location-center strong{display:block;margin-top:4px;color:#110805;font-size:14px;line-height:1.15;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-search-bar{display:flex;align-items:center;gap:10px;height:58px;border-radius:25px;background:#fff;border:1px solid #edf1ed;box-shadow:0 15px 34px rgba(11,61,32,.08);padding:8px 9px;margin-bottom:16px}.fd-search-icon{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#0b7a43,#14b968);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 10px 20px rgba(11,122,67,.23)}.fd-search-bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#110805;font-size:13px;font-weight:800}.fd-search-bar input::placeholder{color:#9a9893}.fd-search-filter{width:41px;height:41px;border:0;border-radius:16px;background:#f2fbf5;color:#0b7a43;font-weight:950;font-size:18px}.fd-category-strip{display:flex;gap:10px;overflow:auto;padding:2px 1px 13px;margin:0 -1px;scroll-snap-type:x proximity}.fd-category-card{scroll-snap-align:start;min-width:82px;width:82px;min-height:92px;border:1px solid #edf1ed;border-radius:17px;background:#fff;box-shadow:0 12px 25px rgba(11,61,32,.06);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#110805;font-weight:900;transition:transform .18s ease,box-shadow .18s ease}.fd-category-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(11,122,67,.1)}.fd-category-card:active{transform:scale(.96)}.fd-category-card .fd-emoji{font-size:30px;line-height:1;filter:drop-shadow(0 8px 9px rgba(0,0,0,.08))}.fd-category-card span:last-child{font-size:11px}.fd-section{margin-top:20px}.fd-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.fd-section-head h2{margin:0;color:#110805;font-size:18px;line-height:1.05;font-weight:950;letter-spacing:-.45px}.fd-section-head p{margin:4px 0 0;color:#746c68;font-size:12px}.fd-see-all{border:0;background:transparent;color:#0b7a43;font-size:11px;font-weight:950;white-space:nowrap}.fd-product-row{display:flex;gap:13px;overflow:auto;padding:1px 1px 16px;margin:0 -1px;scroll-snap-type:x proximity}.fd-product-row .product{scroll-snap-align:start;min-width:168px;width:168px;border-radius:22px!important;border:0!important;background:#fff!important;box-shadow:0 17px 38px rgba(11,61,32,.09)!important}.fd-product-row .product-image{height:128px!important;border-radius:22px 22px 0 0!important;background:#fff8f4!important}.fd-product-row .product-image img{object-fit:cover!important}.fd-product-row .product-copy{padding:11px!important}.fd-product-row .product-name{font-size:12px!important}.fd-product-row .product-store{font-size:9px!important}.fd-product-row .price{font-size:14px!important}.fd-product-row .product-copy,.fd-product-row .price-row{position:relative;z-index:3}.fd-product-row .add{width:auto!important;min-width:52px!important;height:34px!important;border-radius:999px!important;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;background:#0b7a43!important;color:#fff!important;box-shadow:0 10px 20px rgba(11,122,67,.24)!important;font-size:12px!important;font-weight:950!important;pointer-events:auto!important;z-index:4}.fd-product-row .add .add-plus{display:none!important}.fd-product-row .add .add-text{display:inline!important;font-size:10px!important;font-weight:950!important;text-transform:uppercase;letter-spacing:.2px}.fd-round-btn.fd-cart-btn{position:relative;font-size:20px}.fd-cart-count{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#0b7a43;color:#fff;border:2px solid #fff;font-size:8px;font-weight:950;display:grid;place-items:center;box-shadow:0 6px 12px rgba(11,122,67,.22)}.fd-brands-row{display:flex;gap:12px;overflow:auto;padding:1px 1px 15px}.fd-brand-card{min-width:92px;width:92px;border:1px solid #edf1ed;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(11,61,32,.07);padding:12px 8px;text-align:center;color:#110805;transition:transform .18s ease,box-shadow .18s ease}.fd-brand-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(11,122,67,.11)}.fd-brand-logo{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#f0faf3;border:1px solid #e1efe5;display:block;margin:0 auto 9px}.fd-brand-card strong{display:block;font-size:10px;line-height:1.12;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fd-brand-card small{display:block;margin-top:4px;color:#0b7a43;font-size:8px;font-weight:950}.fd-store-personality-section .insta-store-slider{padding-bottom:16px}.food-delivery-nav{height:72px!important;left:14px!important;right:14px!important;bottom:13px!important;border-radius:28px!important;background:#fff!important;border:1px solid #e8efe9!important;box-shadow:0 18px 45px rgba(11,61,32,.14)!important;padding:7px!important;display:flex!important;justify-content:space-around!important;gap:4px!important}.food-delivery-nav button{border:0!important;background:transparent!important;color:#9a9893!important;border-radius:22px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;flex:1!important;font-size:10px!important;font-weight:900!important;letter-spacing:0!important;transform:none!important;height:58px!important;padding:0 5px!important}.food-delivery-nav button.active{background:#f0faf3!important;color:#0b7a43!important}.food-delivery-nav .nav-symbol{font-size:19px!important;line-height:1!important;width:auto!important;height:auto!important;background:transparent!important;color:inherit!important;box-shadow:none!important}.food-delivery-nav .nav-bag{transform:none!important;flex:1!important;max-width:none!important;height:58px!important;border-radius:22px!important;border:0!important;background:transparent!important;color:#9a9893!important;box-shadow:none!important;animation:none!important}.food-delivery-nav .nav-bag.active{transform:none!important;background:#f0faf3!important;color:#0b7a43!important}.food-delivery-nav .nav-bag:after,.food-delivery-nav .nav-bag:before{display:none!important}.food-delivery-nav .nav-bag .cart-emoji{display:block!important;font-size:20px!important;line-height:1!important;text-shadow:none!important;width:auto!important;height:auto!important}.food-delivery-nav .nav-bag .nav-cart-label{display:block!important;font-size:10px!important;color:inherit!important}.food-delivery-nav .nav-bag .nav-cart-count{position:absolute!important;top:5px!important;right:calc(50% - 24px)!important;min-width:17px!important;height:17px!important;padding:0 4px!important;border-radius:999px!important;background:#0b7a43!important;color:#fff!important;border:2px solid #fff!important;font-size:8px!important;font-weight:950!important;display:grid!important;place-items:center!important}.food-delivery-nav .nav-bag svg,.food-delivery-nav .nav-bag .bag-icon-wrap{display:none!important}@media(min-width:900px){.food-home-screen{border-radius:28px}.fd-home-top{max-width:1040px;margin-left:auto;margin-right:auto}.food-delivery-nav{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(520px,calc(100% - 28px))!important}}@media(max-width:650px){.food-home-screen{padding-left:14px!important;padding-right:14px!important}.fd-home-top{grid-template-columns:42px minmax(0,1fr) 42px}.fd-round-btn{width:41px;height:41px;border-radius:16px}.fd-search-bar{height:54px;border-radius:22px}.fd-search-icon,.fd-search-filter{width:38px;height:38px;border-radius:15px}.fd-category-card{min-width:76px;width:76px;min-height:86px}.fd-product-row .product{min-width:154px;width:154px}.fd-product-row .product-image{height:118px!important}.fd-section-head h2{font-size:16px}.food-delivery-nav{height:66px!important}.food-delivery-nav button,.food-delivery-nav .nav-bag{height:52px!important;font-size:9px!important}.food-delivery-nav .nav-symbol{font-size:18px!important}.food-delivery-nav .nav-bag .nav-cart-label{font-size:9px!important}}


/* Customer home v6 — live store categories, notification badges, fullscreen store information. */
.fd-location-center{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;-webkit-appearance:none!important;appearance:none!important;outline:none!important;color:inherit!important}.fd-location-center:hover,.fd-location-center:active{background:transparent!important;box-shadow:none!important}.fd-location-center:focus-visible{outline:2px solid rgba(11,122,67,.28)!important;outline-offset:5px!important;border-radius:14px!important}.fd-round-btn{position:relative}.fd-profile-badge,.account-unread-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ef4444;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:9px;font-weight:950;line-height:1;box-shadow:0 9px 18px rgba(239,68,68,.25)}.fd-profile-badge{position:absolute;top:-6px;right:-6px}.account-unread-badge{margin-left:auto;flex:0 0 auto}.uber-menu-list .uber-menu-copy{display:block;min-width:0;flex:1}.store-info-backdrop{position:fixed!important;inset:0!important;display:block!important;padding:0!important;background:rgba(2,20,10,.72)!important;z-index:130!important;animation:info-fade .18s ease!important}.store-info-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;overflow:auto!important;border-radius:0!important;background:#fff!important;padding:0 0 calc(26px + env(safe-area-inset-bottom))!important;box-shadow:none!important;animation:info-rise .2s ease!important}.store-info-modal-head{position:sticky!important;top:0!important;z-index:4!important;background:linear-gradient(180deg,#fff,#f7fbf8)!important;border-bottom:1px solid #dceede!important;padding:18px max(18px,calc((100vw - 960px)/2))!important;align-items:center!important}.store-info-close{width:44px!important;height:44px!important;border-radius:16px!important;background:#e9f8ee!important;font-size:24px!important}.store-info-modal>.achievement-row,.store-info-modal>.maker-panel,.store-info-modal>p,.store-info-modal>.store-info-details,.store-info-modal>.btn{width:min(960px,calc(100% - 32px))!important;margin-left:auto!important;margin-right:auto!important}.store-info-modal>.achievement-row{margin-top:18px!important}.store-info-modal>.maker-panel{margin-top:16px!important}.store-info-modal>p{font-size:16px!important;line-height:1.75!important}.store-info-details{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important}.store-info-detail{border-radius:16px!important;padding:16px!important;background:#fbfefc!important}.store-info-modal>.btn.full{display:block!important;max-width:960px!important;margin-top:20px!important}.fd-category-empty{border:1px dashed #dceede;background:rgba(255,255,255,.62);border-radius:18px;padding:13px 14px;color:#607065;font-size:12px;font-weight:800}@media(max-width:760px){.store-info-modal-head{padding:15px 16px!important}.store-info-modal h2{font-size:24px!important}.store-info-details{grid-template-columns:1fr!important}.store-info-modal>p{font-size:14px!important}.account-unread-badge{min-width:22px;height:22px}}

  
/* Customer home v7 — profile/location/cart top nav on every page, no old logo header. */
.fd-global-top{padding-top:14px;margin-top:0;margin-bottom:0;position:relative;z-index:35}.fd-global-top+.page{padding-top:18px}.view-home .food-home-screen{padding-top:12px!important}.fd-global-top .fd-location-center{background:transparent!important;border:0!important;box-shadow:none!important}.view-auth .fd-global-top{margin-bottom:8px}@media(max-width:650px){.fd-global-top{padding-top:10px}.fd-global-top+.page{padding-top:12px}}


/* V14: sticky 3-column global top nav + stable profile/cart badges */
.fd-home-top{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:10px!important;
  margin:2px auto 14px!important;
  width:100%!important;
  max-width:1040px;
  box-sizing:border-box!important;
  overflow:visible!important;
  padding:6px 4px 10px!important;
}
.fd-round-btn{
  width:44px!important;
  height:44px!important;
  border:1px solid #e8efe9!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#14321f!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 9px 22px rgba(11,61,32,.07)!important;
  font-size:18px!important;
  font-weight:950!important;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease!important;
  position:relative!important;
  overflow:visible!important;
  justify-self:center!important;
  flex-shrink:0!important;
}
.fd-profile-badge{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
  z-index:2!important;
}
.fd-cart-count,
.fd-cart-btn .fd-cart-count{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
  z-index:2!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  background:#0b7a43!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:8px!important;
  font-weight:950!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 6px 12px rgba(11,122,67,.22)!important;
}
.fd-global-top{
  padding-top:14px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  position:sticky!important;
  top:0!important;
  z-index:75!important;
  overflow:visible!important;
  background:rgba(251,248,244,.96)!important;
  border-bottom:1px solid rgba(232,239,233,.88)!important;
  box-shadow:0 10px 24px rgba(11,61,32,.07)!important;
  backdrop-filter:blur(16px)!important;
  -webkit-backdrop-filter:blur(16px)!important;
}
.shell .fd-global-top.container{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding-left:2px!important;
  padding-right:2px!important;
}
@media(max-width:650px){
  .fd-global-top{padding-top:max(10px,env(safe-area-inset-top,0px))!important}
  .fd-global-top+.page{padding-top:12px!important}
  .shell{width:calc(100% - 16px);margin:12px auto}
  .fd-home-top{grid-template-columns:48px minmax(0,1fr) 48px!important;gap:8px!important;padding:4px 0 8px!important}
  .fd-round-btn{width:42px!important;height:42px!important;border-radius:16px!important}
}



/* --- block 3 --- */

/* Bottom-nav notifications bell badge (replaces cart slot). */
.mobile-nav button .nav-notif-badge{position:absolute;top:1px;right:calc(50% - 12px);min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#ff2e5f;color:#fff;font-size:9px;font-weight:900;line-height:14px;text-align:center;border:1.5px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.25);letter-spacing:0;font-family:inherit;z-index:2;white-space:nowrap}
.mobile-nav button.active .nav-notif-badge{background:#ff2e5f}
@media(prefers-reduced-motion:reduce){.mobile-nav .nav-notif-badge{transition:none}}



/* --- block 4 --- */

/* Desktop navigation: replace the floating mobile dock with a proper top menu on wide screens */
.fd-desktop-nav-slot{display:none}
.fd-desktop-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;background:#fff;border:1px solid var(--line,#e6ece8);border-radius:18px;padding:8px;margin:10px auto 2px;box-shadow:0 8px 22px rgba(10,78,39,.07);width:100%}
.fd-desktop-nav button{border:0;background:transparent;display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:13px;font:inherit;font-size:13px;font-weight:800;color:#33473c;cursor:pointer;transition:background .18s,color .18s,transform .18s;position:relative}
.fd-desktop-nav button:hover{background:#eaf6ee;color:#0b7a43;transform:translateY(-1px)}
.fd-desktop-nav button.active{background:linear-gradient(135deg,#0b7a43,#0b9b5a);color:#fff;box-shadow:0 8px 16px rgba(11,122,67,.28)}
.fd-desktop-nav button .nav-symbol{font-size:17px;line-height:1}
.fd-desktop-nav button .nav-notif-badge{position:absolute;top:3px;right:4px;min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:#ff2e5f;color:#fff;font-size:9px;font-weight:900;line-height:17px;text-align:center}
.fd-desktop-nav button.fd-desktop-cart{margin-left:auto}
.fd-desktop-nav button.fd-desktop-cart.has-items{background:#111311;color:#fff;box-shadow:0 8px 18px rgba(0,0,0,.18)}
@media (min-width:1024px){
  .mobile-nav{display:none!important}
  .fd-desktop-nav-slot{display:block}
  .shell .bcm-view-wrap{padding-bottom:56px}
}



}


/* === BCM Account menu (restored from original customer app) === */
.uber-account-shell{max-width:940px;margin:0 auto;display:grid;gap:14px}
.uber-profile-card{border:1px solid #dceede;background:linear-gradient(135deg,#0b7a43,#0b9b5a);color:#fff;border-radius:26px;padding:18px;box-shadow:0 18px 40px rgba(11,122,67,.18);position:relative;overflow:hidden}
.uber-profile-card:after{content:'';position:absolute;width:190px;height:190px;border-radius:50%;right:-70px;top:-70px;background:rgba(255,255,255,.12)}
.uber-profile-top{position:relative;z-index:1;display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px}
.uber-avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#087a43;font-size:22px;font-weight:950;box-shadow:0 8px 18px rgba(0,0,0,.16);overflow:hidden}
.uber-avatar img{width:100%;height:100%;object-fit:cover}
.uber-profile-copy{flex:1;min-width:0}
.uber-profile-copy h1{font-size:26px;margin:0 0 3px;letter-spacing:-.7px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.uber-member-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}
.uber-member-meta span,.uber-member-meta b{color:#dff8e6;font-size:12px;font-weight:700}
.uber-profile-actions{display:flex;gap:8px;flex-wrap:wrap;position:relative;z-index:1}
.uber-profile-actions .btn{background:#fff;color:#087a43}
.uber-quick-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px;position:relative;z-index:1;margin-top:16px}
.uber-quick-row button{border:1px solid rgba(255,255,255,.28);border-radius:17px;background:rgba(255,255,255,.14);color:#fff;padding:12px;text-align:left;backdrop-filter:blur(8px);font-weight:900}
.uber-quick-row button.active,.uber-quick-row button:hover{background:#fff;color:#087a43}
.uber-quick-row b{display:block;font-size:22px;line-height:1}
.uber-quick-row span{display:block;font-size:11px;margin-top:3px}
.uber-quick-row .quick-count{display:block;margin-top:4px;font-size:11px;opacity:.9}
.uber-menu-list{display:block!important;visibility:visible!important;opacity:1!important;background:#fff;border:1px solid var(--line,#e6ece8);border-radius:22px;overflow:hidden;box-shadow:0 8px 22px rgba(21,72,37,.06)}
.uber-menu-list button,.uber-menu-list a{width:100%;border:0;background:#fff;color:var(--ink,#17261c);display:flex;align-items:center;gap:12px;padding:15px 16px;text-align:left;border-bottom:1px solid #eef4ef;font-weight:850;cursor:pointer}
.uber-menu-list button:last-child,.uber-menu-list a:last-child{border-bottom:0}
.uber-menu-list button.active{background:#effaf2;color:#087a43}
.uber-menu-icon{width:34px;height:34px;border-radius:12px;background:#edf8ef;color:#087a43;display:grid;place-items:center;font-size:15px;flex:0 0 34px}
.uber-menu-list button.active .uber-menu-icon{background:#087a43;color:#fff}
.uber-menu-list small{display:block;color:#7b887e;font-weight:700;margin-top:2px}
.uber-menu-list .uber-menu-copy{display:block;min-width:0;flex:1}
.uber-menu-list .logout{color:#b4233c}
.uber-panel-wrap{min-width:0;margin-top:4px}
.account-unread-badge{margin-left:auto;flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#ff2e5f;color:#fff;font-size:10px;font-weight:950;display:grid;place-items:center}
.uber-dashboard-note{padding:18px;border-radius:18px;background:#fff;border:1px dashed #cfe4d2;color:#42604b}
@media(max-width:850px){
  .uber-profile-card{border-radius:22px;padding:15px}
  .uber-profile-top{grid-template-columns:56px minmax(0,1fr);gap:12px}
  .uber-profile-actions{grid-column:1/-1;width:100%;margin-top:4px}
  .uber-profile-actions .btn{flex:1}
  .uber-quick-row{gap:8px}
  .uber-quick-row button{padding:10px 9px}
  .uber-quick-row b{font-size:19px}
  .uber-menu-list button{padding:14px}
}


/* === Visibility & contrast (account + global) 2026-09-08e === */

/* Global muted text: keep readable on light backgrounds */
.muted,.tiny.muted,p.muted,span.muted,small.muted{
  color:#3f5346!important;
  opacity:1!important;
}
.tiny{color:#3f5346}
.panel-title,h1,h2,h3{color:#12261a}
.settings-list label span:first-child{color:#3f5346!important;font-weight:800}
.settings-list label span:last-child{color:#12261a!important;font-weight:900}

/* Account page root */
.account-page-root{
  padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));
}

.uber-account-shell{
  max-width:940px;
  margin:0 auto;
  display:grid!important;
  gap:16px;
  width:100%;
}

/* Profile card — high contrast on green */
.uber-profile-card{
  color:#fff!important;
  background:linear-gradient(135deg,#0a6b3b,#0b9b5a)!important;
}
.uber-profile-copy h1{
  color:#ffffff!important;
  font-weight:950!important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
  opacity:1!important;
}
.uber-member-meta{
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  margin-top:8px;
}
.uber-member-email,
.uber-member-meta > span:not(.uber-member-since){
  display:inline-block!important;
  color:#ffffff!important;
  font-size:13px!important;
  font-weight:800!important;
  opacity:1!important;
  background:rgba(0,0,0,.22)!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  line-height:1.3;
}
.uber-member-since,
.uber-member-meta > b,
.uber-member-meta > span.uber-member-since{
  display:inline-block!important;
  color:#0a3d20!important;
  font-size:12px!important;
  font-weight:900!important;
  background:#ffffff!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  box-shadow:0 2px 10px rgba(0,0,0,.14);
  opacity:1!important;
  line-height:1.3;
}
.uber-profile-actions .btn,
.uber-profile-actions button{
  background:#ffffff!important;
  color:#0a6b3b!important;
  font-weight:900!important;
  border:0!important;
  opacity:1!important;
}

/* Quick row on green card */
.uber-quick-row button{
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.35)!important;
  background:rgba(0,0,0,.12)!important;
}
.uber-quick-row button b,
.uber-quick-row button span,
.uber-quick-row button small,
.uber-quick-row .quick-count{
  color:#ffffff!important;
  opacity:1!important;
}
.uber-quick-row button.active,
.uber-quick-row button:hover{
  background:#ffffff!important;
  color:#0a6b3b!important;
}
.uber-quick-row button.active b,
.uber-quick-row button.active span,
.uber-quick-row button.active small,
.uber-quick-row button:hover b,
.uber-quick-row button:hover span,
.uber-quick-row button:hover small{
  color:#0a6b3b!important;
}

/* Account menu — always visible, strong contrast */
.uber-menu-section{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative;
  z-index:3;
}
.uber-menu-heading{
  margin:2px 4px 10px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1a3d24!important;
  opacity:1!important;
}
.uber-menu-list{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  background:#ffffff!important;
  border:1px solid #c5d9cb!important;
  border-radius:22px!important;
  box-shadow:0 12px 30px rgba(21,72,37,.10)!important;
}
.uber-menu-list button,
.uber-menu-list a{
  display:flex!important;
  align-items:center;
  gap:12px;
  width:100%;
  padding:16px!important;
  border:0;
  border-bottom:1px solid #e6efe8!important;
  background:#ffffff!important;
  color:#12261a!important;
  font-weight:850!important;
  font-size:15px!important;
  text-align:left;
  cursor:pointer;
  opacity:1!important;
}
.uber-menu-list button:last-child{border-bottom:0!important}
.uber-menu-list button .uber-menu-copy,
.uber-menu-list button span{
  color:#12261a!important;
  opacity:1!important;
}
.uber-menu-list button small{
  display:block!important;
  color:#4a5f50!important;
  font-weight:700!important;
  font-size:11px!important;
  margin-top:3px;
  opacity:1!important;
}
.uber-menu-list button.active{
  background:#e7f7ec!important;
  color:#0a6b3b!important;
}
.uber-menu-list button.active .uber-menu-copy{color:#0a6b3b!important}
.uber-menu-icon{
  width:36px!important;
  height:36px!important;
  border-radius:12px!important;
  background:#e7f7ec!important;
  color:#0a6b3b!important;
  display:grid!important;
  place-items:center;
  font-size:16px!important;
  flex:0 0 36px;
  opacity:1!important;
}
.uber-menu-list button.active .uber-menu-icon{
  background:#0a6b3b!important;
  color:#ffffff!important;
}
.uber-menu-list button.logout,
.uber-menu-list button.logout .uber-menu-copy,
.uber-menu-list button.logout span{
  color:#9f1239!important;
}
.uber-menu-list button.logout .uber-menu-icon{
  background:#ffe4e6!important;
  color:#9f1239!important;
}

/* Dashboard note under menu */
.uber-dashboard-note{
  color:#1e3a28!important;
  background:#ffffff!important;
  border:1px solid #c5d9cb!important;
  border-radius:18px;
  padding:16px 18px;
}
.uber-dashboard-note strong{color:#0f2f1c!important;font-size:16px}
.uber-dashboard-note p,
.uber-dashboard-note .muted,
.uber-dashboard-note .tiny{
  color:#3f5346!important;
  opacity:1!important;
}

.uber-panel-wrap{display:block!important;min-width:0;margin-top:4px}
.account-panel-toolbar h2,
.account-panel-toolbar .panel-title{color:#12261a!important}

/* Panels / forms on account */
.panel{color:#12261a}
.panel .muted{color:#3f5346!important}
.notice.info{color:#0a4d2c!important;background:#e8f8ef!important}
.notice strong{color:#0a4d2c!important}

/* Mobile nav labels readable */
.mobile-nav span,
.food-delivery-nav span{color:#1a3d24;font-weight:800}
.mobile-nav button.active span,
.food-delivery-nav button.active span{color:#0a6b3b}

@media(max-width:850px){
  .uber-profile-copy h1{font-size:22px!important}
  .uber-member-email,.uber-member-since{font-size:12px!important}
  .uber-menu-list button{padding:15px 14px!important}
}


/* Screenshot-matching account menu (green card + white list) */
.uber-account-shell{max-width:940px;margin:0 auto;display:grid!important;gap:14px;width:100%}
.uber-profile-card{
  border:1px solid #dceede;
  background:linear-gradient(135deg,#0b7a43,#0b9b5a)!important;
  color:#fff;border-radius:26px;padding:18px;
  box-shadow:0 18px 40px rgba(11,122,67,.18);
  position:relative;overflow:hidden;
}
.uber-profile-copy h1{color:#fff!important;font-size:26px;margin:0 0 6px;font-weight:950}
.uber-member-meta{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:6px}
.uber-member-email{
  display:inline-block;color:#fff!important;font-size:13px;font-weight:800;
  background:rgba(0,0,0,.20);padding:6px 12px;border-radius:999px;
}
.uber-member-since{
  display:inline-block;color:#0a3d20!important;font-size:12px;font-weight:900;
  background:#fff!important;padding:6px 12px;border-radius:999px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.uber-profile-actions .btn{
  background:#fff!important;color:#0b7a43!important;font-weight:900;
  border-radius:999px;padding:10px 18px;width:100%;
}
.uber-profile-actions{width:100%;margin-top:8px}
.uber-profile-top{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center}
.uber-profile-actions{grid-column:1/-1}
.uber-quick-row{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px;margin-top:16px;position:relative;z-index:1;
}
.uber-quick-row button{
  border:1px solid rgba(255,255,255,.28);border-radius:17px;
  background:rgba(255,255,255,.14);color:#fff!important;padding:12px;text-align:left;font-weight:900;
}
.uber-quick-row button span,.uber-quick-row button b,.uber-quick-row button small{color:#fff!important}
.uber-quick-row button.active{background:#fff!important;color:#0b7a43!important}
.uber-quick-row button.active span,.uber-quick-row button.active b,.uber-quick-row button.active small{color:#0b7a43!important}

/* White account list under the card — always visible */
.uber-menu-list{
  display:block!important;visibility:visible!important;opacity:1!important;
  height:auto!important;max-height:none!important;overflow:visible!important;
  background:#fff!important;border:1px solid #d7e6db!important;border-radius:22px!important;
  box-shadow:0 8px 22px rgba(21,72,37,.06)!important;
}
.uber-menu-list button{
  display:flex!important;align-items:center;gap:12px;width:100%;
  padding:15px 16px;border:0;border-bottom:1px solid #eef4ef;
  background:#fff!important;color:#14261a!important;font-weight:850;text-align:left;
}
.uber-menu-list button:last-child{border-bottom:0}
.uber-menu-list button.active{background:#effaf2!important;color:#087a43!important}
.uber-menu-list .uber-menu-copy{color:#14261a!important;flex:1;min-width:0}
.uber-menu-list small{display:block;color:#5c6f62!important;font-weight:700;margin-top:2px;font-size:11px}
.uber-menu-icon{
  width:34px;height:34px;border-radius:12px;background:#edf8ef;color:#087a43;
  display:grid;place-items:center;font-size:15px;flex:0 0 34px;
}
.uber-menu-list button.active .uber-menu-icon{background:#087a43;color:#fff}
.uber-menu-list button.logout,.uber-menu-list button.logout .uber-menu-copy{color:#b4233c!important}
.account-unread-badge{
  margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:#ff2e5f;color:#fff;font-size:10px;font-weight:950;display:grid;place-items:center;
}
/* Hide hamburger popup UI if present in DOM */
.account-menu-bar{display:none!important}
.account-page-root{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}


/* === Responsive account menu === */
.account-responsive-menu{position:relative;z-index:40;width:100%}
.account-menu-trigger{
  display:none;
  width:100%;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid #cfe4d2;
  border-radius:16px;
  background:linear-gradient(135deg,#fff,#f0fbf3);
  box-shadow:0 8px 20px rgba(11,122,67,.08);
  text-align:left;
  color:#12261a;
  font:inherit;
  cursor:pointer;
}
.account-menu-trigger-icon{
  width:40px;height:40px;border-radius:12px;
  display:grid;place-items:center;
  background:#0b7a43;color:#fff;font-size:18px;font-weight:900;
  flex:0 0 40px;
}
.account-menu-trigger-copy{flex:1;min-width:0;display:grid;gap:2px}
.account-menu-trigger-copy strong{font-size:14px;font-weight:900;color:#12261a}
.account-menu-trigger-copy small{font-size:11px;font-weight:700;color:#4a5f50}
.account-menu-trigger-chevron{color:#0b7a43;font-size:12px;font-weight:900}

.account-menu-scrim{
  display:none;
  position:fixed;inset:0;z-index:45;
  background:rgba(8,30,18,.45);
  backdrop-filter:blur(2px);
}

.account-responsive-panel{
  background:#fff;
  border:1px solid #d7e6db;
  border-radius:22px;
  box-shadow:0 8px 22px rgba(21,72,37,.06);
  overflow:hidden;
}
.account-responsive-panel-head{display:none}
.account-responsive-list{display:flex;flex-direction:column}
.account-responsive-list button{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:15px 16px;border:0;border-bottom:1px solid #eef4ef;
  background:#fff;color:#14261a;font-weight:850;text-align:left;cursor:pointer;
}
.account-responsive-list button:last-child{border-bottom:0}
.account-responsive-list button.active{background:#effaf2;color:#087a43}
.account-responsive-icon{
  width:34px;height:34px;border-radius:12px;background:#edf8ef;color:#087a43;
  display:grid;place-items:center;font-size:15px;flex:0 0 34px;
}
.account-responsive-list button.active .account-responsive-icon{background:#087a43;color:#fff}
.account-responsive-label{flex:1;min-width:0;color:inherit}
.account-responsive-label small{display:block;color:#5c6f62;font-weight:700;margin-top:2px;font-size:11px}
.account-responsive-list button.logout,
.account-responsive-list button.logout .account-responsive-label{color:#b4233c}

/* Mobile: trigger + bottom sheet */
@media (max-width:850px){
  .account-menu-trigger{display:flex}
  .account-menu-scrim{display:block}
  .account-responsive-panel{
    position:fixed;left:0;right:0;bottom:0;z-index:50;
    max-height:min(78vh,640px);
    border-radius:22px 22px 0 0;
    transform:translateY(110%);
    transition:transform .28s cubic-bezier(.2,.9,.3,1);
    box-shadow:0 -12px 40px rgba(5,48,23,.2);
    overflow:auto;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));
  }
  .account-responsive-panel.is-open{transform:translateY(0)}
  .account-responsive-panel-head{
    display:flex;align-items:center;justify-content:space-between;
    position:sticky;top:0;z-index:2;
    padding:14px 16px;background:#fff;border-bottom:1px solid #e6efe8;
  }
  .account-responsive-panel-head strong{display:block;font-size:16px;color:#12261a}
  .account-responsive-panel-head small{display:block;font-size:11px;color:#5c6f62;font-weight:700}
  .account-responsive-close{
    width:40px;height:40px;border:0;border-radius:12px;
    background:#e8f6ec;color:#0b7a43;font-size:22px;font-weight:700;cursor:pointer;
  }
  /* When closed on mobile, hide panel from layout flow */
  .account-responsive-menu:not(.is-open) .account-responsive-panel{
    pointer-events:none;
  }
}

/* Desktop: always show full list, hide trigger/scrim */
@media (min-width:851px){
  .account-menu-trigger{display:none!important}
  .account-menu-scrim{display:none!important}
  .account-responsive-panel{
    display:block!important;
    position:static!important;
    transform:none!important;
    max-height:none!important;
    pointer-events:auto!important;
  }
  .account-responsive-panel-head{display:none!important}
}
/* Merchant storefront colours stay scoped to the existing shared storefront layout. */
.customer-store-theme{background:var(--store-background,#fffdf7);border-radius:18px;padding-left:18px;padding-right:18px}.customer-store-theme .btn-primary{background:var(--store-primary,#0b7a43);border-color:var(--store-primary,#0b7a43)}.customer-store-theme .store-category-tab.active{background:var(--store-primary,#0b7a43);border-color:var(--store-primary,#0b7a43)}.customer-store-theme .store-category-tab:not(.active):hover{border-color:var(--store-secondary,#f3b63e)}.customer-store-theme .store-product-category h3{border-left:3px solid var(--store-secondary,#f3b63e);padding-left:9px}
.verified-purchase{display:inline-flex;align-items:center;border-radius:999px;background:#e9f8ee;color:#13733b;font-size:10px;font-weight:850;padding:4px 8px;margin-left:8px}


/* —— Main marketplace homepage (platform store + discovery) —— */
.home-marketplace{padding-bottom:88px}
.mp-hero{background:linear-gradient(135deg,#0b7a43 0%,#0d5c38 48%,#12352a 100%);color:#fff;padding:28px 16px 32px;border-radius:0 0 24px 24px;margin:0 0 18px}
.mp-hero-inner{max-width:1100px;margin:0 auto;display:grid;gap:22px}
@media(min-width:860px){.mp-hero-inner{grid-template-columns:1.4fr .8fr;align-items:center}}
.mp-eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.85;margin:0 0 8px;font-weight:600}
.mp-hero h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(28px,5vw,42px);line-height:1.15;margin:0 0 12px}
.mp-lead{margin:0 0 16px;opacity:.92;font-size:15px;max-width:42ch}
.mp-search{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.mp-search input{flex:1;min-width:180px;border:0;border-radius:12px;padding:12px 14px;font:inherit}
.mp-hero-actions{display:flex;flex-wrap:wrap;gap:8px}
.mp-hero .btn-outline{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
.mp-hero .btn-primary{background:#fff;color:#0b7a43}
.mp-hero-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mp-stat-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 10px;text-align:center}
.mp-stat-card span{display:block;font-size:11px;opacity:.8;margin-bottom:4px}
.mp-stat-card strong{font-size:18px}
.mp-login-hint{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:0 16px 8px;max-width:1100px;margin:0 auto}
.mp-section{max-width:1100px;margin:0 auto 22px;padding:0 16px}
.mp-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}
.mp-section-head h2{margin:0;font-size:22px}
.mp-section-head p{margin:4px 0 0;color:var(--muted,#667);font-size:13px}
.mp-category-grid{display:flex;flex-wrap:wrap;gap:8px}
.mp-category-chip{border:1px solid #dce5dd;background:#fff;border-radius:999px;padding:8px 14px;font:inherit;cursor:pointer}
.mp-category-chip:hover{border-color:#0b7a43;color:#0b7a43}
.mp-platform-store{background:linear-gradient(180deg,#f3faf5,#fff);border-radius:18px;padding:18px 16px;border:1px solid #e2efe6}
.mp-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.mp-store-card{display:flex;align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #e6ebe7;border-radius:14px;padding:12px;cursor:pointer;font:inherit}
.mp-store-card:hover{border-color:#0b7a43;box-shadow:0 6px 18px rgba(11,122,67,.08)}
.mp-store-logo{width:48px;height:48px;border-radius:12px;background:#eef5f0;display:grid;place-items:center;overflow:hidden;flex-shrink:0;font-weight:700;color:#0b7a43}
.mp-store-logo img{width:100%;height:100%;object-fit:cover}
.mp-cta{max-width:1100px;margin:12px auto 28px;padding:20px 18px}
.mp-cta .split{display:grid;gap:20px}
@media(min-width:720px){.mp-cta .split{grid-template-columns:1fr 1fr}}


/* Merchant storefront theme (shared template + merchant colours) */
html.store-themed {
  --brand: var(--store-primary, #0b7a43);
  --purple: var(--store-secondary, #f3b63e);
}
html.store-themed body,
html.store-themed .shell.view-store,
html.store-themed .shell.view-product {
  background: var(--store-bg, #fffdf7);
}
html.store-themed .btn-primary,
html.store-themed .btn.primary {
  background: var(--store-primary, #0b7a43) !important;
  border-color: var(--store-primary, #0b7a43) !important;
}
html.store-themed .store-banner-copy .eyebrow,
html.store-themed .section-badge {
  color: var(--store-primary, #0b7a43);
}
html.store-themed .mobile-nav button.active,
html.store-themed .text-link {
  color: var(--store-primary, #0b7a43);
}


/* ===== SaaS / rent-a-shop marketing home ===== */
.saas-home { --saas-ink:#0f1f17; --saas-muted:#5a6b62; --saas-line:#d8e4dc; --saas-soft:#f3faf6; --saas-brand:#0b7a43; --saas-gold:#c9a227; }
.saas-home { color: var(--saas-ink); }
.saas-hero {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 40px;
  align-items: center;
  padding: 48px 0 56px;
  background: linear-gradient(165deg, #f3faf6 0%, #fff 55%, #faf6ec 100%);
  border-bottom: 1px solid var(--saas-line);
}
.saas-hero-inner { max-width: 560px; padding-left: 20px; padding-right: 20px; }
.saas-eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; font-weight: 700; color: var(--saas-brand); margin: 0 0 12px; }
.saas-hero h1 { font-size: clamp(32px, 5vw, 48px); line-height: 1.1; letter-spacing: -0.03em; margin: 0 0 16px; }
.saas-hero-accent { color: var(--saas-brand); }
.saas-hero-lead { font-size: 17px; line-height: 1.55; color: var(--saas-muted); margin: 0 0 22px; }
.saas-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 12px; }
.saas-cta { padding: 12px 22px; font-weight: 600; }
.saas-hero-note { margin: 0; }
.saas-hero-visual { padding-right: 24px; display: flex; justify-content: center; min-width: 0; }
.saas-storefront-preview {
  width: min(610px, 100%);
  margin: 0;
  text-align: center;
}
.saas-storefront-preview img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 24px;
  filter: drop-shadow(0 22px 28px rgba(15, 31, 23, .13));
}
.saas-storefront-preview figcaption {
  margin: 8px auto 0;
  color: var(--saas-muted);
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .015em;
}

.saas-section { padding: 56px 20px; }
.saas-section-alt { background: var(--saas-soft); border-top: 1px solid var(--saas-line); border-bottom: 1px solid var(--saas-line); }
.saas-section-head { text-align: center; max-width: 560px; margin: 0 auto 32px; }
.saas-section-head h2 { font-size: clamp(24px, 3vw, 32px); margin: 0 0 8px; letter-spacing: -0.02em; }
.saas-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1000px; margin: 0 auto; }
.saas-step { background: #fff; border: 1px solid var(--saas-line); border-radius: 16px; padding: 22px; }
.saas-step-num { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--saas-brand); color: #fff; font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.saas-step h3 { margin: 0 0 8px; font-size: 18px; }
.saas-step p { margin: 0; color: var(--saas-muted); line-height: 1.5; font-size: 14px; }

.saas-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; max-width: 1000px; margin: 0 auto; }
.saas-feature { background: #fff; border-radius: 14px; padding: 18px; border: 1px solid var(--saas-line); }
.saas-feature h3 { margin: 0 0 6px; font-size: 16px; }
.saas-feature p { margin: 0; font-size: 14px; color: var(--saas-muted); line-height: 1.45; }

.saas-pricing { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 260px)); gap: 16px; justify-content: center; }
.saas-price-card { background: #fff; border: 1px solid var(--saas-line); border-radius: 18px; padding: 24px; }
.saas-price-card-featured { border-color: var(--saas-brand); box-shadow: 0 12px 30px rgba(11, 122, 67, 0.12); position: relative; }
.saas-badge { position: absolute; top: 12px; right: 12px; margin: 0; font-size: 11px; font-weight: 700; background: var(--saas-gold); color: #1a1508; padding: 4px 8px; border-radius: 999px; }
.saas-price { font-size: 28px; font-weight: 700; margin: 8px 0 14px; }
.saas-price span { font-size: 14px; font-weight: 500; color: var(--saas-muted); }
.saas-price-card ul { margin: 0 0 18px; padding-left: 18px; color: var(--saas-muted); line-height: 1.7; font-size: 14px; }
.saas-price-card .full { width: 100%; }

.saas-split { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 28px; align-items: center; max-width: 960px; margin: 0 auto; }
.saas-split-note { background: #fff; border-radius: 14px; padding: 18px; border: 1px solid var(--saas-line); font-size: 14px; line-height: 1.6; color: var(--saas-muted); }
.saas-split-note p { margin: 0 0 8px; }
.saas-split-note p:last-child { margin: 0; }

.saas-cta-band { background: var(--saas-ink); color: #fff; padding: 48px 20px; text-align: center; }
.saas-cta-band h2 { margin: 0 0 10px; font-size: 28px; }
.saas-cta-band p { margin: 0 0 18px; opacity: 0.85; }
.saas-cta-band .btn-primary { background: #1aa35a; border-color: #1aa35a; }

@media (max-width: 900px) {
  .saas-hero { grid-template-columns: 1fr; padding: 32px 0 40px; }
  .saas-hero-visual { padding: 0 20px 8px; order: -1; }
  .saas-steps, .saas-feature-grid { grid-template-columns: 1fr; }
  .saas-pricing { grid-template-columns: 1fr; max-width: 360px; margin: 0 auto; }
  .saas-split { grid-template-columns: 1fr; }
}

/* Tenant shop host: hide SaaS marketing chrome if present */
html.tenant-host .saas-home { display: none !important; }
html.tenant-host body { background: var(--store-bg, #fffdf7); }

/* Merchant dashboard on main site */
.merchant-dash { padding-bottom: 96px; }
.merchant-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.merchant-head-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.merchant-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.merchant-tabs button { border: 1px solid #d8e4dc; background: #fff; border-radius: 999px; padding: 8px 14px; font-size: 13px; cursor: pointer; }
.merchant-tabs button.active { background: #0b7a43; color: #fff; border-color: #0b7a43; }
.merchant-panel { background: #fff; border: 1px solid #d8e4dc; border-radius: 16px; padding: 18px; }
.merchant-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 14px; }
.merchant-stats div { background: #f3faf6; border-radius: 12px; padding: 14px; text-align: center; }
.merchant-stats strong { display: block; font-size: 22px; }
.merchant-stats span { font-size: 12px; color: #5a6b62; }
.merchant-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eef5f0; }
.merchant-row:last-child { border-bottom: 0; }
@media (max-width: 640px) { .merchant-stats { grid-template-columns: 1fr; } }


/* Main site Shopify-style header */
.saas-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid #e6eee9;
}
.saas-site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.saas-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-weight: 800;
  font-size: 16px;
  color: #0f1f17;
  padding: 0;
}
.saas-logo img { border-radius: 8px; }
.saas-site-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  justify-content: center;
}
.saas-site-nav button,
.saas-site-nav a {
  border: 0;
  background: transparent;
  color: #2a3b33;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 12px;
  border-radius: 999px;
  cursor: pointer;
  text-decoration: none;
}
.saas-site-nav button:hover,
.saas-site-nav a:hover { background: #f3faf6; color: #0b7a43; }
.saas-site-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.saas-link-btn {
  border: 0;
  background: transparent;
  color: #0f1f17;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  padding: 8px 10px;
}
.saas-header-cta {
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 700 !important;
}
body:not(.tenant-host) .fd-home-top,
body:not(.tenant-host) .fd-global-top,
body:not(.tenant-host) .fd-desktop-nav-slot,
html:not(.tenant-host) .fd-home-top,
html:not(.tenant-host) .fd-desktop-nav-slot {
  display: none !important;
}
/* Main site: no marketplace bottom bar */
html:not(.tenant-host) .mobile-nav:not(.tenant-mobile-nav),
body:not(.tenant-host) .food-delivery-nav,
html:not(.tenant-host) .saas-mobile-nav {
  display: none !important;
}
html:not(.tenant-host) .shell,
html:not(.tenant-host) body {
  padding-bottom: 0 !important;
}
html:not(.tenant-host) .bcm-view-wrap {
  padding-bottom: 24px;
}

/* Tenant compact top bar */
.tenant-top-bar {
  position: sticky;
  top: 0;
  z-index: 90;
  background: #fff;
  border-bottom: 1px solid #e6eee9;
}
.tenant-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
}
.tenant-brand {
  border: 0;
  background: transparent;
  font-weight: 800;
  font-size: 16px;
  color: var(--store-primary, #0b7a43);
  cursor: pointer;
}
.tenant-top-actions { display: flex; gap: 8px; flex-wrap: wrap; }

/* CTA band — force readable light text on dark */
.saas-cta-band {
  background: #0f1f17 !important;
  color: #ffffff !important;
  padding: 56px 20px !important;
  text-align: center;
}
.saas-cta-band h2,
.saas-cta-band p {
  color: #ffffff !important;
  opacity: 1 !important;
}
.saas-cta-band h2 { font-size: clamp(26px, 5vw, 36px); font-weight: 800; margin: 0 0 12px; }
.saas-cta-band p { font-size: 16px; max-width: 520px; margin: 0 auto 20px; opacity: 0.92 !important; }
.saas-cta-band .btn-primary {
  background: #1aa35a !important;
  border-color: #1aa35a !important;
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(26, 163, 90, 0.35);
}

@media (max-width: 860px) {
  .saas-site-nav { display: none; }
  .saas-site-header-inner { gap: 8px; }
  .saas-logo span { font-size: 15px; }
}


/* —— WooCommerce-style header + hamburger (main site only) —— */
.woo-style-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
  box-shadow: 0 1px 0 rgba(0,0,0,0.04);
}
.woo-style-header .saas-site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 64px;
  gap: 12px;
}
.saas-header-right {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.woo-header-login {
  font-size: 14px;
  font-weight: 600;
  color: #1d2327;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 8px 10px;
}
.woo-header-login:hover { color: #0b7a43; }
.woo-header-cta {
  border-radius: 4px !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.woo-hamburger {
  width: 44px;
  height: 44px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  padding: 0;
}
.woo-hamburger:hover { border-color: #0b7a43; background: #f6f7f7; }
.woo-ham-bar {
  display: block;
  width: 18px;
  height: 2px;
  background: #1d2327;
  border-radius: 1px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.woo-hamburger.is-open .woo-ham-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.woo-hamburger.is-open .woo-ham-bar:nth-child(2) { opacity: 0; }
.woo-hamburger.is-open .woo-ham-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
.woo-menu-backdrop {
  position: fixed;
  inset: 0;
  top: 64px;
  background: rgba(0,0,0,0.35);
  z-index: 198;
}
.woo-dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  width: min(360px, 100vw);
  max-height: min(80vh, 640px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-top: 0;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  z-index: 199;
  display: none;
}
.woo-dropdown-menu.is-open { display: block; }
.woo-menu-inner { padding: 12px 0 16px; }
.woo-menu-label {
  margin: 12px 20px 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #757575;
}
.woo-menu-link {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 12px 20px;
  font-size: 15px;
  font-weight: 500;
  color: #1d2327;
  text-decoration: none;
  cursor: pointer;
  line-height: 1.3;
}
.woo-menu-link:hover,
.woo-menu-link:focus {
  background: #f0f0f1;
  color: #0b7a43;
}
.woo-menu-link.woo-menu-cta {
  font-weight: 700;
  color: #0b7a43;
}
.woo-style-header .saas-site-nav { display: none !important; }
html:not(.tenant-host) .saas-site-nav { display: none !important; }

@media (max-width: 640px) {
  .woo-header-cta { display: none; }
  .woo-dropdown-menu {
    left: 0;
    right: 0;
    width: 100%;
  }
}


/* Merchant dashboard hamburger nav */
.merchant-dash-nav {
  position: relative;
  margin: 0 0 18px;
  z-index: 50;
}
.merchant-dash-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.merchant-dash-current {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.merchant-dash-current strong {
  font-size: 16px;
  color: #1d2327;
}
.merchant-dash-hamburger {
  flex-shrink: 0;
}
.merchant-dash-menu {
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100%;
  border-radius: 0 0 8px 8px;
  margin-top: -1px;
}
.merchant-dash-menu .woo-menu-link.is-active {
  background: #edf7f1;
  color: #0b7a43;
  font-weight: 700;
}
.merchant-dash-backdrop {
  top: 0;
  z-index: 40;
}
.merchant-dash-nav .merchant-dash-menu {
  z-index: 55;
}
/* Hide old horizontal tabs if any remain */
.merchant-tabs { display: none !important; }


/* ============================================================
   Responsive mobile styles — main site, shop dashboard, storefront
   ============================================================ */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
}
img, video, svg {
  max-width: 100%;
  height: auto;
}
.container {
  width: 100%;
  max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Touch-friendly controls */
@media (max-width: 900px) {
  button,
  .btn,
  a.btn,
  input,
  select,
  textarea {
    font-size: 16px; /* reduces iOS zoom on focus */
  }
  .btn,
  button.btn {
    min-height: 44px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* —— Main SaaS homepage —— */
@media (max-width: 900px) {
  .saas-hero {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 28px 0 36px !important;
  }
  .saas-hero h1,
  .saas-hero-copy h1 {
    font-size: clamp(26px, 7vw, 34px) !important;
    line-height: 1.2 !important;
  }
  .saas-hero p,
  .saas-hero-copy p {
    font-size: 15px !important;
  }
  .saas-hero-actions,
  .saas-cta-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  .saas-hero-actions .btn,
  .saas-cta-row .btn {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
  .saas-split,
  .saas-grid,
  .saas-features,
  .saas-steps,
  .saas-pricing-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .saas-pricing-card,
  .saas-feature-card,
  .saas-step {
    width: 100%;
  }
  .saas-cta-band {
    padding: 40px 16px !important;
  }
  .saas-cta-band h2 {
    font-size: clamp(22px, 6vw, 28px) !important;
  }
  .saas-section {
    padding: 32px 0 !important;
  }
}

@media (max-width: 480px) {
  .saas-logo span {
    font-size: 14px;
  }
  .saas-logo img {
    width: 24px;
    height: 24px;
  }
  .woo-style-header .saas-site-header-inner {
    min-height: 56px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .woo-header-login {
    display: none; /* use hamburger for Log in on very small screens */
  }
  .woo-hamburger {
    width: 42px;
    height: 42px;
  }
}

/* Full-width dropdown on tablet and below */
@media (max-width: 860px) {
  .woo-dropdown-menu {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    border-left: 0;
    border-right: 0;
  }
  .woo-menu-link {
    padding: 14px 18px;
    font-size: 16px;
  }
  .woo-menu-backdrop {
    top: 56px;
  }
}

/* —— Merchant dashboard —— */
@media (max-width: 900px) {
  .merchant-dashboard,
  .merchant-shell,
  .merchant-page {
    padding: 12px 0 32px;
  }
  .merchant-panel {
    padding: 14px !important;
    border-radius: 10px;
  }
  .merchant-stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
  .merchant-stats > div {
    padding: 12px;
    border-radius: 8px;
    background: #f6f7f7;
  }
  .merchant-row {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .merchant-row .btn,
  .merchant-row button {
    width: 100%;
  }
  .form-grid {
    grid-template-columns: 1fr !important;
  }
  .merchant-table,
  .table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .merchant-table table,
  .table {
    min-width: 480px;
  }
  .merchant-dash-nav-bar {
    padding: 8px 12px;
  }
  .merchant-dash-current strong {
    font-size: 15px;
  }
}

@media (max-width: 480px) {
  .merchant-stats {
    grid-template-columns: 1fr !important;
  }
}

/* —— Tenant storefront top bar —— */
@media (max-width: 700px) {
  .tenant-top-inner {
    flex-wrap: wrap;
    min-height: auto;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .tenant-brand {
    width: 100%;
    text-align: left;
    font-size: 15px;
  }
  .tenant-top-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 6px;
  }
  .tenant-top-actions .btn {
    width: 100%;
    padding: 8px 6px !important;
    font-size: 12px !important;
    min-height: 40px;
  }
  .tenant-mobile-nav {
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
}

/* Product grids */
@media (max-width: 900px) {
  .product-grid,
  .products-grid,
  .fd-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (max-width: 420px) {
  .product-grid,
  .products-grid,
  .fd-product-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Cart / checkout */
@media (max-width: 800px) {
  .checkout-layout,
  .cart-layout,
  .checkout-grid {
    grid-template-columns: 1fr !important;
  }
  .checkout-sidebar,
  .order-summary {
    order: -1;
  }
}

/* Safe area for notched phones */
@supports (padding: max(0px)) {
  .woo-style-header {
    padding-left: max(0px, env(safe-area-inset-left));
    padding-right: max(0px, env(safe-area-inset-right));
  }
  .mobile-nav,
  .tenant-mobile-nav {
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }
}

/* Prevent double-tap zoom delay on interactive UI */
.woo-hamburger,
.woo-menu-link,
.saas-logo,
.merchant-dash-hamburger {
  touch-action: manipulation;
}


/* ============================================================
   Smooth scroll & motion
   ============================================================ */

html {
  scroll-behavior: smooth;
}

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

@keyframes bcm-fade-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes bcm-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes bcm-scale-in {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}
@keyframes bcm-slide-down {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Page sections */
.saas-home .saas-hero,
.saas-home .saas-section,
.saas-home .saas-cta-band {
  animation: bcm-fade-up 0.55s ease both;
}
.saas-home .saas-section:nth-of-type(2) { animation-delay: 0.05s; }
.saas-home .saas-section:nth-of-type(3) { animation-delay: 0.1s; }
.saas-home .saas-section:nth-of-type(4) { animation-delay: 0.15s; }

.saas-feature-card,
.saas-pricing-card,
.saas-step,
.saas-split-note p {
  animation: bcm-fade-up 0.5s ease both;
}
.saas-pricing-card:nth-child(1) { animation-delay: 0.05s; }
.saas-pricing-card:nth-child(2) { animation-delay: 0.12s; }
.saas-pricing-card:nth-child(3) { animation-delay: 0.18s; }
.saas-pricing-card:nth-child(4) { animation-delay: 0.24s; }

/* Header & menus */
.woo-style-header {
  transition: box-shadow 0.25s ease, background 0.25s ease;
}
.woo-dropdown-menu.is-open {
  animation: bcm-slide-down 0.22s ease both;
}
.woo-menu-backdrop {
  animation: bcm-fade-in 0.2s ease both;
}
.woo-menu-link {
  transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
}
.woo-menu-link:hover {
  padding-left: 24px;
}
.woo-hamburger {
  transition: border-color 0.2s ease, background 0.2s ease;
}
.woo-ham-bar {
  transition: transform 0.22s ease, opacity 0.22s ease;
}

/* Buttons */
.btn,
button.btn {
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}
.btn:hover,
button.btn:hover {
  transform: translateY(-1px);
}
.btn:active,
button.btn:active {
  transform: translateY(0);
}
.btn-primary {
  transition: transform 0.15s ease, box-shadow 0.25s ease, background 0.2s ease;
}
.btn-primary:hover {
  box-shadow: 0 8px 20px rgba(11, 122, 67, 0.28);
}

/* Cards */
.saas-feature-card,
.saas-pricing-card,
.merchant-panel,
.product-card {
  transition: transform 0.2s ease, box-shadow 0.25s ease, border-color 0.2s ease;
}
.saas-feature-card:hover,
.saas-pricing-card:hover,
.product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(15, 31, 23, 0.1);
}

/* Merchant dashboard */
.merchant-dash-menu.is-open {
  animation: bcm-slide-down 0.2s ease both;
}
.merchant-panel {
  animation: bcm-fade-in 0.35s ease both;
}
.merchant-stats > div {
  transition: transform 0.2s ease, background 0.2s ease;
}
.merchant-stats > div:hover {
  transform: translateY(-2px);
}

/* Storefront product cards */
.product-card img,
.fd-product-card img {
  transition: transform 0.35s ease;
}
.product-card:hover img,
.fd-product-card:hover img {
  transform: scale(1.04);
}

/* Soft focus for keyboard users */
.woo-menu-link:focus-visible,
.btn:focus-visible,
.woo-hamburger:focus-visible {
  outline: 2px solid #0b7a43;
  outline-offset: 2px;
}

/* SaaS plan comparison and merchant onboarding */
.saas-plan-comparison{max-width:1000px;margin:30px auto 0;padding:24px;background:#fff;border:1px solid var(--saas-line);border-radius:20px;box-shadow:0 12px 30px rgba(15,31,23,.045)}
.saas-plan-comparison h3{margin:0 0 14px;font-size:20px;letter-spacing:-.02em}
.saas-plan-table-wrap{overflow-x:auto;border:1px solid #e4ece6;border-radius:14px}
.saas-plan-table{width:100%;min-width:590px;border-collapse:collapse;font-size:13px;text-align:center}
.saas-plan-table th,.saas-plan-table td{padding:13px 14px;border-bottom:1px solid #e8eee9}
.saas-plan-table thead th{background:#f2faf4;color:#17492e;font-size:12px}
.saas-plan-table th:first-child{text-align:left}
.saas-plan-table tbody th{font-weight:700;color:#25382c;background:#fcfefc}
.saas-plan-table tbody tr:last-child th,.saas-plan-table tbody tr:last-child td{border-bottom:0}
.saas-billing-note{margin:16px 0 0!important;line-height:1.55}
.saas-supply-link{display:inline-block;color:#087a43;font-size:13px;font-weight:800;text-decoration:none;margin-top:10px}
.saas-supply-link:hover{text-decoration:underline}
.saas-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.saas-faq-grid details{padding:16px 18px;border:1px solid var(--saas-line);border-radius:15px;background:#fff}
.saas-faq-grid summary{cursor:pointer;font-weight:800;color:#173a26}
.saas-faq-grid details p{margin:10px 0 0;color:var(--saas-muted);font-size:14px;line-height:1.55}
.saas-footer{background:#10291b;color:#f5fff7;padding:42px 0 18px;margin-top:40px}
.saas-footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:28px}
.saas-footer-logo{display:flex;align-items:center;gap:10px;font-size:18px}
.saas-footer-logo img{border-radius:10px}
.saas-footer-brand p,.saas-footer-small{max-width:330px;color:#c3d8c9;font-size:13px;line-height:1.6}
.saas-footer h3{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px;color:#c9e6d1}
.saas-footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.saas-footer button,.saas-footer a{padding:0;border:0;background:transparent;color:#f5fff7;text-decoration:none;font-size:13px;cursor:pointer}
.saas-footer button:hover,.saas-footer a:hover{text-decoration:underline;color:#a4e2b8}
.saas-footer-bottom{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff25;margin-top:30px;padding-top:15px;color:#c3d8c9;font-size:12px}
.merchant-signup-page{max-width:1080px;margin:30px auto 56px}
.merchant-signup-card{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid #dce9df;border-radius:24px;background:#fff;box-shadow:0 20px 55px rgba(17,61,34,.09)}
.merchant-signup-intro{padding:38px;background:linear-gradient(150deg,#eaf7ee,#f7fbf4 70%,#fff7e8)}
.merchant-signup-intro h1{font-size:clamp(30px,4vw,42px);line-height:1.08;letter-spacing:-.04em;margin:8px 0 12px}
.merchant-signup-intro>p{color:#596b5f;line-height:1.55}
.signup-plan-summary{display:flex;flex-direction:column;gap:5px;margin-top:28px;padding:16px;background:#fff;border:1px solid #dbeade;border-radius:15px}
.signup-plan-summary strong{font-size:15px;color:#0b713d}
.signup-plan-summary span{font-size:12px;line-height:1.5;color:#607166}
.merchant-signup-form{padding:34px}
.merchant-signup-back{display:block;margin:14px auto 0;text-align:center}
@media(max-width:760px){.saas-plan-comparison{padding:16px;margin-top:22px}.saas-faq-grid{grid-template-columns:1fr}.saas-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.saas-footer-brand{grid-column:1/-1}.merchant-signup-page{margin:14px auto 36px}.merchant-signup-card{grid-template-columns:1fr;border-radius:18px}.merchant-signup-intro{padding:25px 22px}.merchant-signup-form{padding:23px 20px}}
@media(max-width:480px){.saas-footer{padding-top:32px}.saas-footer-grid{grid-template-columns:1fr 1fr}.saas-footer-bottom{flex-direction:column}.saas-plan-table{font-size:12px}.merchant-signup-intro h1{font-size:31px}}

/* SaaS merchant empty state */
.merchant-empty-hero{max-width:560px;margin:48px auto;padding:28px;border-radius:20px;background:var(--panel,#fff);border:1px solid var(--line,#dceede);box-shadow:0 12px 40px rgba(11,122,67,.08)}
.merchant-empty-hero h1{margin:8px 0 12px;font-size:1.75rem;letter-spacing:-.5px}
.merchant-empty-list{margin:16px 0 22px;padding-left:1.2rem;color:var(--muted,#5a6b60);line-height:1.55}
.merchant-empty-list li{margin-bottom:6px}
.merchant-dash .saas-eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#0b7a43}
