
:root{--plum:#220243;--plum-2:#3b1161;--mint:#01a981;--mint-light:#ddf8ef;--orange:#e85d19;--orange-dark:#bc3f06;--orange-light:#fff0e6;--cream:#fbf8f3;--white:#fff;--ink:#21182b;--muted:#716b75;--line:#e8e1ea;--danger:#c83c4a;--shadow:0 12px 36px rgba(34,2,67,.10);--r-sm:10px;--r-md:16px;--r-lg:24px;--r-xl:32px;--sidebar:248px;--container-max:1500px;--container-pad:clamp(24px,5vw,72px);--gutter:24px}
.grid-12{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gutter)}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}
.material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:normal;font-style:normal;display:inline-block;line-height:1;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga'}
.icon.material-symbols-outlined{display:inline-flex;align-items:center;justify-content:center;line-height:1}
*{box-sizing:border-box}html{scroll-behavior:smooth}a{text-decoration:none}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,-apple-system,system-ui,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}button,a,input,textarea,select{font:inherit}button,a{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(1,188,143,.35);outline-offset:2px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:700}h1{font-size:clamp(2rem,4vw,3.75rem);line-height:1.03;letter-spacing:-.035em;margin-bottom:16px}h2{font-size:clamp(1.35rem,2vw,2rem);line-height:1.12;letter-spacing:-.02em;margin-bottom:8px}h3{font-size:1.1rem;margin-bottom:4px}.app-shell{min-height:100vh}
.customer-page{--orange:#03bc8f;--orange-dark:#03bc8f;--orange-light:#e2faf4;background:#fff}
.customer-page .app-shell,.customer-page main,.customer-page .hero,.customer-page .store-page{background:#fff}
.customer-page .button.orange{color:#062b22}
.customer-page .button.orange:hover{background:#02a97f}
.customer-page .story-ring{background:linear-gradient(140deg,#03bc8f,#7ee4cb,var(--plum))}
.customer-page .story-ring.pickup{background:#03bc8f}
.customer-page .store-overlay .rating{color:#7ee4cb}
.customer-page .restaurant-card{border:0;border-radius:0;background:transparent;overflow:visible}
.customer-page .restaurant-card:hover{box-shadow:none}
.customer-page .restaurant-card .image-wrap{border-radius:20px;overflow:hidden;box-shadow:0 10px 24px rgba(45,11,57,.10)}
.customer-page .restaurant-card .card-body{padding:16px 2px 0}
.customer-page .restaurant-card .card-body>footer{border-top:0}
.brand{border:0;background:none;color:inherit;display:flex;align-items:center;padding:0;flex:0 0 auto}
.topnav-links b,.mobile-nav b{margin-left:8px;background:var(--orange);color:#fff;border-radius:20px;min-width:20px;height:20px;display:inline-grid;place-items:center;font-size:.65rem;padding:0 4px;vertical-align:middle}
.role-switch{display:flex;gap:4px;background:var(--cream);padding:4px;border-radius:12px;flex:0 0 auto}
.role-switch a{width:34px;height:34px;border-radius:9px;color:var(--muted);display:flex;align-items:center;justify-content:center}
.role-switch a.active{background:var(--plum);color:#fff}.pulse{display:inline-block;width:8px;height:8px;background:var(--mint);border-radius:50%;box-shadow:0 0 0 4px rgba(1,188,143,.13)}
.main-wrap{min-height:100vh}
.topnav{border-bottom:1px solid rgba(34,2,67,.1);background:var(--white);position:sticky;top:0;z-index:20}
.topnav-inner{max-width:1500px;margin:0 auto;height:88px;display:flex;align-items:center;gap:32px;padding:0 clamp(24px,5vw,72px)}
.topnav-links{display:flex;align-items:center;gap:32px;flex:1;min-width:0;font-weight:600}
.topnav-links--centered{justify-content:center}
.topnav-links a{color:var(--muted);font-weight:600;white-space:nowrap}
.topnav-links a.active{color:var(--plum)}
.topnav-actions{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.signin-pill{height:44px;padding:0 24px;border-radius:999px;background:var(--mint);color:var(--plum);font-weight:700;display:inline-flex;align-items:center;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.signin-pill:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(1,188,143,.2)}
.hamburger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:4px;flex:0 0 auto}
.hamburger span{width:18px;height:2px;background:var(--ink);border-radius:2px}
.mobile-nav{display:flex;flex-direction:column;border-top:1px solid var(--line);background:#fff;padding:8px clamp(24px,4vw,64px) 16px}
.mobile-nav[hidden]{display:none}
.mobile-nav a{min-height:52px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink)}
.mobile-nav a:last-child{border-bottom:0}
.mobile-nav a.active{color:var(--plum)}
.mobile-nav-form{display:contents}
.mobile-nav-form button{width:100%;min-height:52px;border-bottom:1px solid var(--line);border-top:0;border-left:0;border-right:0;background:none;display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink);text-align:left;font:inherit}.address{display:flex;gap:8px;align-items:center;border:0;background:none;padding:8px;border-radius:10px}.address>span{display:flex;flex-direction:column;align-items:flex-start;font-weight:800}.address small,.restaurant-title small{font-size:.65rem;letter-spacing:.08em;color:var(--muted);font-weight:800}.top-actions{display:flex;gap:8px}.circle,.profile{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;position:relative}.circle i{position:absolute;top:-2px;right:-2px;background:var(--orange);color:#fff;border-radius:10px;font-size:.65rem;width:17px;height:17px;font-style:normal;display:grid;place-items:center}.profile{background:var(--plum);color:white;border:0}.restaurant-title{display:flex;align-items:center;gap:12px}.restaurant-title>span:last-child{display:flex;flex-direction:column;font-weight:800}.avatar{width:40px;height:40px;border-radius:12px;background:var(--mint-light);color:#08644f;display:grid;place-items:center;font-weight:900}.address-menu{position:absolute;top:66px;left:clamp(22px,4vw,60px);width:min(420px,calc(100vw - 32px));background:white;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:16px;z-index:50}.address-menu>strong{display:block;margin-bottom:8px}.address-menu>button:not(.add),.address-menu>a:not(.add){width:100%;border:1px solid transparent;background:none;display:flex;align-items:center;gap:12px;text-align:left;border-radius:12px;padding:12px}.address-menu button.selected,.address-menu a.selected{border-color:var(--mint);background:var(--mint-light)}.address-menu button span,.address-menu a span{display:flex;flex:1;flex-direction:column}.address-menu small{color:var(--muted)}.address-menu .add{border:0;background:none;color:var(--orange-dark);font-weight:800;padding:12px}.address-menu p{background:var(--cream);font-size:.7rem;color:var(--muted);padding:8px;border-radius:10px;margin:8px 0 0}main{min-height:calc(100vh - 76px)}.hero{min-height:460px;background:var(--cream);color:var(--ink);display:block;overflow:hidden;max-width:var(--container-max);margin:0 auto;padding:clamp(48px,7vw,96px) clamp(24px,5vw,72px);position:relative}
.hero-track{width:100%}.hero-copy{grid-column:span 7}.hero-collage{grid-column:span 5}.hero:after{content:"";position:absolute;width:380px;height:380px;border:1px solid var(--line);border-radius:50%;right:-70px;bottom:-220px}.hero-copy{position:relative;z-index:2}.hero-copy h1{max-width:600px;margin-top:16px}.hero-copy h1 em{color:var(--orange);font-style:normal}.hero-copy>p{color:var(--muted);max-width:500px;font-size:1.1rem}.hero-collage{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:16px;height:340px}.collage-main{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);height:100%}.collage-main img{height:100%}.collage-stack{display:flex;flex-direction:column;gap:16px;height:100%}.collage-small{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);flex:1;min-height:0}.collage-small img{height:100%}.hero .mini-card{position:absolute;bottom:-16px;left:-16px;background:#fff;color:var(--ink);padding:12px 16px;border-radius:14px;font-size:.8rem;font-weight:800;box-shadow:var(--shadow);z-index:3}.content-section,.page{max-width:1500px;margin:0 auto;padding:48px clamp(24px,5vw,72px)}.content-section+.content-section,.content-section+.discovery-hero{padding-top:8px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.store-layout .section-title{margin-top:40px}.section-title small,.page-heading small{font-size:.65rem;letter-spacing:.08em;font-weight:900;color:var(--orange-dark)}.section-title h2{margin:4px 0 0}.link,.text-button,.text-a{border:0;background:none;color:var(--plum);font-weight:800}.stories{display:flex;gap:24px;overflow-x:auto;padding:0px 4px 8px}.stories button,.stories a{border:0;background:none;min-width:78px;display:flex;align-items:center;flex-direction:column;gap:4px}.story-ring{width:72px;height:72px;padding:4px;background:linear-gradient(140deg,var(--orange),#ffb43b,var(--mint));border-radius:50%;position:relative}.story-ring.pickup{background:var(--orange)}.story-ring img{border-radius:50%;height:100%;border:3px solid white}.story-ring i{position:absolute;inset:0;display:grid;place-items:center;color:white;font-style:normal;text-shadow:0 2px 7px black}.stories small{font-size:.7rem;color:var(--muted)}.greeting-row{margin-bottom:16px}.greeting-hi{color:var(--muted);margin:0 0 8px;font-size:.9rem}.greeting-row h2{margin:0;font-size:1.6rem}.home-greeting .large-search{margin-bottom:24px}.greeting-categories-title h2{font-size:1rem}.cuisine-table.cuisine-slider .cuisine-tile.active{background:var(--plum);border-color:var(--plum);color:white}.cuisine-table.cuisine-slider .cuisine-tile.active .cuisine-tile-image{background:rgba(255,255,255,.16);color:white}.section-title-actions{display:flex;align-items:center;gap:16px}.carousel-nav{display:flex;gap:8px}.carousel-arrow{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:white;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--ink);transition:.15s}.carousel-arrow:hover{background:var(--cream);border-color:var(--plum)}.restaurant-grid.carousel{display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:3px;-ms-overflow-style:none;scrollbar-width:none}.restaurant-grid.carousel::-webkit-scrollbar{display:none}.restaurant-grid.carousel>.restaurant-card{flex:0 0 280px;scroll-snap-align:start}.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.restaurant-grid.stacked{grid-template-columns:1fr;max-width:640px}.restaurant-grid.wide{grid-template-columns:repeat(4,1fr)}.restaurant-card{position:relative;background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:.2s;min-width:0}.restaurant-card:hover{transform:translateY(-3px);border-color:var(--plum)}.image-wrap{position:relative;aspect-ratio:1.7;display:block}.image-wrap img{height:100%}.image-wrap>.badge{position:absolute;left:12px;top:12px}.image-wrap>button,.image-wrap>a{position:absolute;right:12px;top:12px;width:36px;height:36px;border:0;background:white;border-radius:50%;font-size:1.25rem}.card-body{padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto}.card-body p{color:var(--muted);font-size:.8rem;margin-bottom:12px}.card-body>footer{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px;display:flex;align-items:center;gap:8px}.card-body>footer span:last-child{margin-left:auto;color:var(--muted);font-size:.75rem}.badge{display:inline-flex;width:max-content;align-items:center;border-radius:99px;background:var(--mint-light);color:#075f4a;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;padding:4px 8px}.badge.orange{background:var(--orange-light);color:var(--orange-dark)}.badge.plum{background:#efe6f7;color:var(--plum)}.badge.light{background:#f3eff4;color:#615669}.split-section{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.split-section .reorder{grid-column:span 7}.split-section .promo{grid-column:span 5}.reorder,.promo{border-radius:var(--r-lg);padding:32px;background:white;border:1px solid var(--line)}.reorder>small{color:var(--orange-dark);font-weight:900;font-size:.65rem;letter-spacing:.08em}.reorder>div{display:flex;align-items:center;gap:16px}.reorder img{width:64px;height:64px;border-radius:14px}.reorder span{display:flex;flex-direction:column;flex:1}.reorder span small{color:var(--muted)}.promo{background:var(--mint);color:#062b22;position:relative;overflow:hidden}.promo:after{content:"✦";position:absolute;font-size:8rem;right:-15px;bottom:-50px;color:rgba(255,255,255,.25)}.promo p{margin-bottom:16px}.promo button,.promo a{border:0;background:none;font-weight:900;padding:0}.cuisines{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.cuisines button,.cuisines a{min-height:54px;background:white;border:1px solid var(--line);border-radius:14px;font-weight:800}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px}.page-heading h1{font-size:clamp(2.2rem,4vw,3.25rem);margin:4px 0}.page-heading p{color:var(--muted);margin:0}.large-search{height:56px;background:white;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;padding:0 8px 0 16px;gap:8px}.large-search input{border:0;outline:0;flex:1;background:transparent;min-width:0}.large-search button,.large-search a{height:40px;border:0;background:var(--plum);color:white;border-radius:10px;padding:0 24px;font-weight:800}.large-search .dish-filter-clear{width:32px;height:32px;padding:0;border-radius:50%;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.large-search .dish-filter-clear[hidden]{display:none}.large-search .dish-filter-clear:hover{background:var(--line)}.dish-filter-empty{color:var(--muted);margin:16px 0 0}.dish-filter-bar{margin-bottom:24px}.menu-search-sticky{position:sticky;top:88px;z-index:15;background:#fff;padding-top:16px;margin-top:-16px}.filter-row{display:flex;gap:8px;margin:16px 0;overflow-x:auto;padding-bottom:4px}.filter-row button,.filter-row a{white-space:nowrap;min-height:40px;padding:0 16px;border:1px solid var(--line);background:white;border-radius:99px;font-weight:800;font-size:.75rem}.filter-row button.active,.filter-row a.active{background:var(--plum);color:white;border-color:var(--plum)}.filter-row button.sort,.filter-row a.sort{margin-left:auto}.result-note{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px}.dish-carousel-group{margin-bottom:28px}.dish-carousel-restaurant-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--ink)}.dish-carousel-logo{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--cream);display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--plum);flex:0 0 auto}.dish-carousel-logo img{width:100%;height:100%;object-fit:cover}.dish-carousel-restaurant-info{display:flex;flex-direction:column;gap:2px;min-width:0}.dish-carousel-restaurant-info b{font-weight:800;font-size:.95rem}.dish-carousel-restaurant-info small{color:var(--muted);font-size:.78rem;display:flex;align-items:center;gap:4px}.dish-carousel-restaurant-info small .icon{color:#ffc861}.dish-carousel-chevron{margin-left:auto;color:var(--muted);display:flex;flex:0 0 auto}.dish-carousel-row{display:flex;align-items:flex-start;gap:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}.dish-carousel-row::-webkit-scrollbar{display:none}.dish-carousel-card{flex:0 0 auto;scroll-snap-align:start;width:78%;max-width:300px;color:var(--ink)}.dish-carousel-card-image{position:relative;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}.dish-carousel-card-image img{width:100%;height:100%;object-fit:cover}.dish-carousel-card-body{padding:10px 2px 0}.dish-carousel-card-body a{color:var(--ink);display:block}.dish-carousel-card-body b{font-weight:800;font-size:.95rem;line-height:1.3}.dish-carousel-card-body span{display:block;margin-top:3px;font-weight:700;color:var(--muted);font-size:.85rem}.dish-carousel-card .cart-action{position:absolute;right:10px;bottom:10px}.dish-carousel-card .cart-action .add-to-cart-form button{width:38px;height:38px;border:3px solid white;background:var(--orange);color:#fff;border-radius:50%;font-size:1.2rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 10px rgba(3,188,143,.4)}.dish-carousel-card-flat{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;background:white;border:1px solid var(--line);border-radius:14px}.dish-carousel-card-flat .dish-carousel-card-body{padding:0}.dish-carousel-card-flat .cart-action{position:static}.dish-carousel-card-flat .cart-action .add-to-cart-form button{width:34px;height:34px;border:0;box-shadow:none;border-radius:10px;font-size:1.1rem}.dish-carousel-qty-stepper{background:#fff;border-radius:20px;padding:3px 8px;border:3px solid white;box-shadow:0 4px 12px rgba(34,2,67,.15)}.dish-carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}.dish-carousel-dot{width:6px;height:6px;border-radius:50%;background:var(--line);transition:.2s}.dish-carousel-dot.active{background:var(--orange);width:18px;border-radius:4px}.empty-state{margin-top:32px;border:1px dashed #cbbfd0;border-radius:var(--r-lg);text-align:center;padding:32px;color:var(--muted)}.empty-state>span{font-size:1.8rem}.store-hero{max-width:1500px;margin:24px auto 0;padding:0 clamp(24px,5vw,72px);height:390px}.store-hero-disclaimer{max-width:1500px;margin:6px auto 0;padding:0 clamp(24px,5vw,72px);font-size:.65rem;color:var(--muted)}.store-hero-frame{position:relative;height:100%;border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.store-hero-frame>img{height:100%}.store-hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(22,2,40,.88),transparent 70%)}.store-overlay{position:absolute;z-index:2;inset:auto clamp(22px,5vw,70px) 35px;display:flex;align-items:flex-end;justify-content:space-between;color:white}.store-overlay>div:first-child{min-width:0}.store-overlay h1{margin:12px 0 4px}.store-overlay p{margin-bottom:4px}.heart{width:48px;height:48px;border:0;background:white;border-radius:50%;font-size:1.4rem}.store-actions{display:flex;align-items:center;gap:10px}.phone-reveal{position:relative}.phone-popover{position:fixed;background:white;color:var(--ink);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow);white-space:nowrap;display:flex;align-items:center;gap:10px;font-weight:800;z-index:999}.phone-popover a{color:var(--plum)}.phone-popover-close{border:0;background:var(--line);color:var(--ink);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:1.1rem;line-height:1;font-weight:900;cursor:pointer;margin-left:8px}.phone-popover-close:hover{background:#d8d0dd}.store-bar{max-width:1500px;margin:16px auto 0;background:white;border:1px solid var(--line);border-radius:14px;padding:16px clamp(24px,5vw,72px);display:flex;align-items:center;gap:clamp(16px,5vw,72px)}.store-bar>span{display:flex;flex-direction:column}.store-bar small{color:var(--muted)}.store-bar .button,.store-bar .a{margin-left:auto}.store-layout{max-width:1500px;margin:auto;padding:32px clamp(24px,5vw,72px);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}.story-strip{display:flex;gap:16px;margin-bottom:24px;overflow-x:auto}.story-strip button,.story-strip a{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;min-width:78px;flex:0 0 auto}.story-strip span{width:72px;height:72px;border-radius:50%;border:3px solid var(--orange);padding:0px;position:relative}.story-strip img{height:100%;border-radius:50%}.story-strip b{font-weight:700;font-size:.7rem;color:var(--ink);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:78px}.loyalty{background:var(--plum);color:white;border-radius:var(--r-lg);padding:16px;display:flex;gap:16px;margin-bottom:24px}.loyalty-icon{width:48px;height:48px;background:var(--mint);color:var(--plum);border-radius:15px;display:grid;place-items:center;font-size:1.5rem}.loyalty p{color:#cdbddc;margin:8px 0 12px}.progress{display:flex;gap:8px}.progress i{width:50px;max-width:20%;height:6px;background:rgba(255,255,255,.2);border-radius:5px}.progress i:nth-child(-n+2){background:var(--mint)}.menu-tabs{display:flex;gap:16px;border-bottom:1px solid var(--line);overflow-x:auto;margin-bottom:32px;padding:5px 0}.menu-tabs button,.menu-tabs a{border:0;background:none;padding:12px 0;white-space:nowrap;font-weight:700;color:var(--muted)}[id^="cat-"]{scroll-margin-top:210px}.menu-tabs button.active,.menu-tabs a.active{color:var(--orange);border-bottom:3px solid var(--orange)}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.menu-list article{background:white;border:1px solid var(--line);border-radius:14px;padding:8px;display:grid;grid-template-columns:55fr 45fr;gap:16px;min-height:104px;position:relative}.menu-list article.no-image{grid-template-columns:1fr;padding-right:52px}.menu-list article h3{margin-bottom:4px;display:flex;align-items:center;font-size:1.05rem;font-weight:600;font-family:Inter,-apple-system,system-ui,"Segoe UI",sans-serif}.menu-list article p{font-size:.8rem;color:var(--muted);margin:0 0 8px}.menu-list article b{display:block;margin-top:0px;font-size:.95rem;font-weight:400;font-family:Inter,-apple-system,system-ui,"Segoe UI",sans-serif}.badge-row{display:flex;gap:6px;margin-bottom:6px}.badge.veg{background:var(--mint-light);color:#075f4a}.badge.nonveg{background:#fdecea;color:#b3261e}.diet-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px}.diet-dot.veg{background:var(--mint)}.diet-dot.nonveg{background:var(--danger)}.dish-image{width:100%;aspect-ratio:2/1;max-height:100%;min-width:0;position:relative}.dish-image img{width:100%;height:100%;object-fit:cover;border-radius:10px}.menu-list article .cart-action{position:absolute;right:8px;bottom:8px}.menu-list article .cart-action .add-to-cart-form button{width:34px;height:34px;border:0;background:var(--orange);color:#fff;border-radius:10px;font-size:1.125rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.about-card{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;height:max-content;position:sticky;top:100px}.about-card p{color:var(--muted);font-size:.8rem}.about-card button,.about-card a{display:block;border:0;background:none;color:var(--plum);font-weight:800;padding:8px 0}.button,.a{min-height:44px;border:0;border-radius:12px;padding:0 16px;font-weight:900}.button[disabled]{opacity:.7;cursor:default}.btn-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes btn-spin{to{transform:rotate(360deg)}}.button.primary{background:var(--plum);color:white}.button.orange{background:var(--orange);color:white}.button.orange:hover{background:var(--orange-dark)}.button.mint{background:var(--mint);color:#082d24}.button.secondary{background:white;border:1px solid #cfc5d3;color:var(--plum)}.button.danger{background:#fff0f1;color:var(--danger);border:1px solid #f0c7cb}.button.light{background:white;color:var(--plum)}.narrow{max-width:900px}.notice{border-radius:14px;padding:16px 16px;display:flex;gap:12px;margin-bottom:16px}.notice>span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font-weight:900}.notice p{margin:0;display:flex;flex-direction:column}.notice.plum{background:#eee5f5;color:var(--plum)}.notice.plum>span{background:var(--plum);color:white}.notice.orange{background:var(--orange-light);color:#7c2f0c}.notice.orange>span{background:var(--orange);color:white}.notice.mint{background:var(--mint-light);color:#075f4a}.notice.mint>span{background:var(--mint);color:#062b22}.order-group,.multi-order,.history-card{background:white;border:1px solid var(--line);border-radius:20px;padding:16px;margin:16px 0}
.store-bar{width:calc(100% - 2 * clamp(24px,5vw,72px));max-width:1356px}
.heart{color:var(--plum);box-shadow:0 8px 24px rgba(20,2,40,.18);transition:.15s}
.heart:hover{background:var(--mint-light);transform:translateY(-1px)}
.heart.is-active{background:var(--mint);color:#062b22}
.heart.is-active .icon{font-variation-settings:'FILL' 1,'wght' 650,'GRAD' 0,'opsz' 24!important}
.checkout-card{background:none;border:0;border-radius:0;padding:0;margin:16px 0}.order-group header{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.order-group header div{flex:1}.order-group header h3{margin:0}.order-group header>button,.order-group header>a{border:0;background:none}.line-item{display:flex;justify-content:space-between;padding:12px 4px;border-bottom:1px solid #f3eef4}.order-group footer{padding-top:16px;display:flex;justify-content:space-between;color:var(--muted)}.checkout-card>div{display:flex;justify-content:space-between;gap:16px;padding:4px}.checkout-card>div>span{flex:1;min-width:0}.checkout-card>div>b{flex:0 0 auto;white-space:nowrap;text-align:right}.checkout-card .total{font-size:1.1rem;padding:4px;margin-bottom:12px}
.qty-stepper{display:flex;align-items:center;justify-content:center;gap:8px}.line-item.cart-line{display:grid;grid-template-columns:1fr 96px auto;align-items:center;gap:12px}
.qty-stepper form{display:inline-flex}
.qty-stepper button{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--ink);font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.qty-stepper button:hover{background:var(--cream)}
.qty-stepper b{min-width:14px;text-align:center}.checkout-card p{background:var(--cream);padding:12px;border-radius:10px;color:var(--muted);font-size:.75rem}.checkout-card .button,.checkout-card .a{width:100%;height:52px}.checkout-card .text-button,.checkout-card .text-a{width:100%;padding:16px}.segmented{display:flex;background:white;border:1px solid var(--line);padding:4px;border-radius:12px}.segmented button,.segmented a{border:0;background:none;padding:8px 16px;border-radius:9px;font-weight:800}.segmented button.active,.segmented a.active{background:var(--plum);color:white}.multi-order>header{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.multi-order>header h2{margin-top:8px}.order-status{display:grid;grid-template-columns:42px 1fr auto;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.order-status:last-child{border-bottom:0}.order-status>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:900}.order-status.accepted>span{background:var(--mint-light);color:#067057}.order-status.pending>span{background:var(--orange-light);color:var(--orange-dark)}.order-status p{color:var(--muted);margin:0}.order-status button,.order-status a{border:0;background:none;font-weight:800}.timeline{display:flex;gap:4px;margin-top:8px}.timeline i{height:5px;background:#ddd;width:55px;border-radius:4px}.timeline i:nth-child(-n+2){background:var(--mint)}.history-card>div{display:flex;justify-content:space-between;padding:16px 0;border-top:1px solid var(--line)}.history-card span{display:flex;flex-direction:column}.history-card small{color:var(--muted)}.history-card button,.history-card a{border:0;background:none;color:var(--orange-dark);font-weight:800}.account-grid{display:grid;grid-template-columns:300px 1fr;gap:16px}.profile-card{background:var(--plum);color:white;border-radius:var(--r-lg);padding:32px;text-align:center;grid-row:span 2}.profile.large{width:82px;height:82px;margin:auto;background:var(--mint);color:var(--plum);font-size:1.4rem}.profile-card h2{margin-top:16px}.profile-card p{color:#cdbddc}.settings-list{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.settings-list>button,.settings-list>a{width:100%;min-height:70px;border:0;border-bottom:1px solid var(--line);background:none;padding:12px 16px;display:flex;align-items:center;gap:16px;text-align:left}.settings-list>button:last-child,.settings-list>a:last-child{border:0}.settings-list .icon{width:36px;height:36px;flex:0 0 auto;background:var(--cream);border-radius:10px;display:grid;place-items:center}.settings-list .settings-copy{display:flex;flex-direction:column;flex:1;min-width:0}.settings-list small{color:var(--muted)}.settings-list em{font-style:normal}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metrics article{background:white;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column}.metrics article>span{color:var(--muted);font-size:.75rem}.metrics article>b{font-size:1.8rem;letter-spacing:-.04em;margin:8px 0}.metrics article small{color:#168064}.orange-text{color:var(--orange)}.ops-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.live-orders,.queue-summary,.panel{background:white;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}.new-order{border:1px solid var(--line);border-radius:16px;padding:16px;margin-top:12px}.new-order header,.new-order footer{display:flex;justify-content:space-between;gap:8px}.new-order p{color:var(--muted)}.new-order footer{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.order-flags{display:flex;gap:8px}.queue-summary>button,.queue-summary>a{width:100%;height:53px;border:0;border-bottom:1px solid var(--line);background:none;display:flex;align-items:center;justify-content:space-between}.queue-summary button span,.queue-summary a span{display:flex;align-items:center;gap:8px}.queue-summary i,.queue-column header i{width:9px;height:9px;border-radius:50%;background:var(--plum)}i.orange{background:var(--orange)!important}i.mint{background:var(--mint)!important}i.light{background:#aaa!important}.capacity{padding-top:24px}.capacity>span{display:block;background:#eee;height:8px;border-radius:9px;margin:12px 0}.capacity>span i{display:block;width:68%;background:var(--mint);height:100%;border-radius:9px}.capacity small{color:var(--muted)}.kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}.queue-column{background:#f1ecef;border-radius:20px;padding:12px}.queue-column>header{display:flex;align-items:center;justify-content:space-between;padding:8px}.queue-column>header>span{display:flex;gap:8px;align-items:center}.queue-column article{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:8px}.order-id{display:flex;justify-content:space-between}.order-id small{color:var(--orange-dark);font-weight:800}.queue-column article p{color:var(--muted);font-size:.8rem}.queue-column article footer{display:flex;gap:8px;margin-top:16px}.queue-column article footer button,.queue-column article footer a{height:38px;border:1px solid var(--line);background:white;border-radius:9px;flex:1;font-weight:800}.queue-column article footer button:last-child,.queue-column article footer a:last-child{background:var(--plum);color:white}.menu-toolbar{display:flex;gap:8px;margin-bottom:16px}.menu-toolbar .large-search{flex:1}.management-layout{display:grid;grid-template-columns:230px 1fr;gap:16px}.category-list,.inventory{background:white;border:1px solid var(--line);border-radius:20px;padding:16px}.category-list button,.category-list a{width:100%;border:0;background:none;border-radius:10px;min-height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 8px}.category-list button.active,.category-list a.active{background:var(--plum);color:white}.category-list button.add,.category-list a.add{color:var(--orange-dark);justify-content:flex-start}.inventory>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:4px 0 16px}.inventory>header p{color:var(--muted);margin:0}.inventory>article{display:grid;grid-template-columns:26px 80px 1fr auto 32px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.inventory article img{height:70px;border-radius:12px}.inventory article p{font-size:.8rem;color:var(--muted);margin-bottom:4px}.drag{color:#a89eaa}.inventory article>button,.inventory article>a{border:0;background:none}.switch{display:flex;align-items:center;gap:8px}.switch input{position:absolute;opacity:0}.switch>span{width:42px;height:24px;border-radius:20px;background:#bbb;position:relative}.switch>span:after{content:"";position:absolute;width:18px;height:18px;background:white;border-radius:50%;top:3px;left:3px;transition:.2s}.switch input:checked+span{background:var(--mint)}.switch input:checked+span:after{left:21px}.switch small{width:55px}.validation-state{margin-top:16px;background:#fff5e8;border:1px solid #f3d7b8;border-radius:13px;padding:12px;display:flex;align-items:center;gap:12px}.validation-state>span{width:28px;height:28px;background:var(--orange);color:white;border-radius:50%;display:grid;place-items:center;font-weight:900}.validation-state>div{flex:1}.validation-state p{margin:0;color:var(--muted)}.validation-state button,.validation-state a{border:0;background:none;font-weight:800;color:var(--orange-dark)}.engage-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:16px}.active-stories{display:grid;grid-template-columns:1fr 1fr;gap:16px}.active-stories article{border:1px solid var(--line);border-radius:16px;overflow:hidden;padding-bottom:12px}.active-stories img{height:180px}.active-stories .badge,.active-stories h3,.active-stories p,.active-stories footer{margin-left:12px;margin-right:12px}.active-stories .badge{margin-top:12px}.active-stories p{color:var(--muted)}.active-stories footer{border-top:1px solid var(--line);padding-top:8px;display:flex;justify-content:space-between;font-size:.75rem}.active-stories footer button,.active-stories footer a{border:0;background:none}.guideline{background:var(--cream);padding:12px;border-radius:12px;display:flex;gap:12px;margin-top:16px}.guideline>span{width:25px;height:25px;background:var(--plum);color:white;border-radius:50%;display:grid;place-items:center}.guideline p{margin:0;font-size:.75rem;display:flex;flex-direction:column}.streak-big{background:var(--plum);color:white;border-radius:18px;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center}.streak-big>span{width:50px;height:50px;background:var(--mint);color:var(--plum);border-radius:15px;display:grid;place-items:center;font-size:1.4rem}.streak-big>b{font-size:1.4rem;margin-top:8px}.streak-big small{color:#cdbddc}.streak-big>div{display:flex;gap:4px;margin:16px 0}.streak-big i{width:38px;height:6px;background:rgba(255,255,255,.2);border-radius:5px}.streak-big i:nth-child(-n+2){background:var(--mint)}.loyalty-panel dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0}.loyalty-panel .button,.loyalty-panel .a{width:100%;margin-top:8px}.fineprint{font-size:.7rem;color:var(--muted)}.settings-dashboard{display:grid;grid-template-columns:1fr 360px;gap:16px}.open-card,.setup-card,.approval{background:white;border:1px solid var(--line);border-radius:20px;padding:16px}.open-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.open-card>div{display:grid;grid-template-columns:12px 1fr}.open-card .pulse{grid-row:1/3;align-self:center}.open-card h2,.open-card p{margin:0}.open-card p{color:var(--muted)}.settings-dashboard .settings-list{grid-row:span 2}.setup-card h2{margin-top:12px}.checklist{display:flex;flex-direction:column;gap:8px;margin:16px 0;color:#186c57}.approval{display:flex;align-items:center;gap:12px}.approval>span{width:36px;height:36px;border-radius:50%;background:var(--mint-light);color:#067057;display:grid;place-items:center;font-weight:900}.approval>div{flex:1}.approval p{margin:0;color:var(--muted);font-size:.75rem}.approval button,.approval a{border:0;background:none;font-weight:800}.toast{position:fixed;z-index:100;bottom:25px;right:25px;background:var(--ink);color:white;border-radius:13px;padding:12px 16px;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}.toast span{color:var(--mint);font-weight:900}.modal-backdrop{position:fixed;z-index:90;inset:0;background:rgba(25,8,34,.64);display:grid;place-items:center;padding:16px;backdrop-filter:blur(4px)}.modal{background:white;border-radius:24px;width:min(480px,100%);max-height:92vh;overflow:auto;padding:24px;position:relative}.modal-close{position:absolute;z-index:3;right:14px;top:14px;width:36px;height:36px;border:0;border-radius:50%;background:white;color:var(--ink);font-size:1.5rem}.modal-image{height:220px;margin:-24px -24px 16px}.modal-image img{height:100%;border-radius:24px 24px 0 0}.modal>h2{margin-top:8px}.modal>p{color:var(--muted)}.dish-price{display:flex;justify-content:space-between;margin:16px 0}.field-label{display:flex;flex-direction:column;font-weight:800;gap:8px;margin:16px 0}.field-label small{color:var(--muted);font-weight:400}.field-label textarea,.field-label select{border:1px solid var(--line);border-radius:11px;padding:12px;background:white;color:var(--ink)}.field-label select option{background:white;color:var(--ink)}.modal>.button,.modal>.a{width:100%;margin-top:8px}.story-modal{background:#130819;padding:0;width:390px;color:white;overflow:hidden}.story-view{height:min(780px,90dvh);position:relative}.story-view>img{height:100%;opacity:.72}.story-progress{position:absolute;top:15px;left:15px;right:50px;display:flex;gap:4px}.story-progress i{height:3px;background:white;flex:1;border-radius:3px}.story-progress i~i{background:rgba(255,255,255,.35)}.story-caption{position:absolute;inset:auto 22px 24px}.story-caption p{color:#ddd}.story-caption h2 a,.story-caption p a{color:inherit;text-decoration:none}.story-caption .button,.story-caption .a{width:100%;margin-top:8px;text-align:left}.story-caption>button:last-child,.story-caption>a:last-child{display:block;border:0;background:none;color:#ddd;margin:12px 0 0;text-align:left}.accept-summary{background:var(--cream);border-radius:14px;padding:12px}.accept-summary p{display:flex;justify-content:space-between;margin:4px}.choice-list{display:flex;gap:8px}.choice-list button,.choice-list a{flex:1;border:1px solid var(--line);background:white;border-radius:10px;padding:12px}.choice-list button:first-child,.choice-list a:first-child{border-color:var(--orange);background:var(--orange-light)}

@media(max-width:900px){.topnav-links,.role-switch{display:none}.hamburger{display:flex}.topnav-actions{margin-left:auto}}
@media(max-width:1100px){.restaurant-grid.wide{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.engage-grid{grid-template-columns:1fr}.loyalty-panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}.loyalty-panel .section-title{grid-column:1/-1}.settings-dashboard{grid-template-columns:1fr 300px}}
@media(min-width:761px) and (max-width:1100px){.restaurant-grid{grid-template-columns:repeat(2,1fr)}.hero{padding:72px 48px}.store-layout{grid-template-columns:minmax(0,1fr)}.about-card{position:static}.kanban{grid-template-columns:repeat(4,minmax(250px,1fr));overflow-x:auto}.management-layout{grid-template-columns:190px 1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.brand-lockup{display:flex;align-items:center;gap:8px}
.brand-icon{width:38px;height:38px;border-radius:9px;display:block;flex:0 0 auto}
.brand-text{display:flex;flex-direction:column;line-height:1.08;min-width:0}
.brand-name{font-family:'Elms Sans',-apple-system,sans-serif;font-weight:400;font-size:1.25rem;color:var(--ink);letter-spacing:-.01em;white-space:nowrap}
.brand-tagline{font-family:'Elms Sans',-apple-system,sans-serif;font-weight:400;font-size:.65rem;color:var(--muted);letter-spacing:.08em;white-space:nowrap}
.brand-lockup--auth{margin:0 auto 24px;justify-content:center}
.brand-lockup--auth .brand-icon{width:44px;height:44px}
.brand-lockup--auth .brand-name{font-size:1.4rem}
.brand-lockup--auth .brand-tagline{font-size:.65rem}
.icon{display:inline-grid;place-items:center;flex:0 0 auto;line-height:0}
.mobile-nav a{position:relative}
.mobile-nav a .icon{width:22px;height:22px}
.link,.text-button,.text-a,.promo button,.promo a,.about-card button,.about-card a,.history-card button,.history-card a,.approval button,.approval a{min-height:44px;display:inline-flex;align-items:center}
.address{min-height:44px}
.image-wrap>button,
.image-wrap>a,.modal-close{width:44px;height:44px}
.queue-column article footer button,
.queue-column article footer a{min-height:44px}
.hero-search input{font-size:.9rem}
.hero-search button,
.hero-search a{min-width:82px}
.address{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;column-gap:8px;text-align:left}
.address>.icon{width:24px;height:24px;display:grid;place-items:center;align-items:center}
.address>.address-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}
.address>.address-copy b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.address-menu>button:not(.add),
.address-menu>a:not(.add){display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;column-gap:12px;min-height:72px}
.address-menu button>.icon{width:36px;height:36px;display:grid;place-items:center;align-items:center;flex:none}
.address-menu button>.address-option-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.35}
.address-menu button>.address-option-copy small{white-space:normal;text-align:left}
.address-menu>button:not(.add):not(.selected),
.address-menu>a:not(.add):not(.selected){grid-template-columns:36px minmax(0,1fr)}

/* Responsive quality pass: consistent fields, rails, controls, and compact headers. */
.large-search{color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}
.large-search:focus-within{border-color:rgba(34,2,67,.32);box-shadow:0 0 0 4px rgba(34,2,67,.07)}
.large-search input{color:var(--ink)}
.large-search input::placeholder{color:#8a828e;opacity:1}
.filter-row,.stories,.menu-tabs,.category-list,.store-bar,.pill-row{scrollbar-width:none;overscroll-behavior-x:contain}
.hscroll-shell{position:relative}
.hscroll-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:white;box-shadow:var(--shadow);display:grid;place-items:center;font-size:1.25rem;line-height:1;z-index:5;color:var(--ink)}
.hscroll-arrow:hover{border-color:var(--plum)}
.hscroll-prev{left:-4px}
.hscroll-next{right:-4px}
.hscroll-arrow[hidden]{display:none}
@media(hover:none),(pointer:coarse){.hscroll-arrow{display:none!important}}
.filter-row::-webkit-scrollbar,.stories::-webkit-scrollbar,.menu-tabs::-webkit-scrollbar,.category-list::-webkit-scrollbar,.store-bar::-webkit-scrollbar{display:none}
.filter-row button,
.filter-row a{min-height:44px}
.image-wrap>button,
.image-wrap>a,.heart,.circle{display:grid;place-items:center}
.image-wrap>button,
.image-wrap>a{box-shadow:0 4px 14px rgba(34,2,67,.12)}
.restaurant-title,.restaurant-title>span:last-child{min-width:0}
.category-list button>span{display:inline-flex;align-items:center;gap:8px}
.inventory>header{gap:16px}

/* Anchor-as-button centering fix: <button> gets free content-centering from the
   UA stylesheet; the <a> twins added for GET-navigation equivalents do not, so any
   rule with a fixed box (min-height/height/width) needs it declared explicitly. */
.role-switch a,.cuisines a,.filter-row a,.segmented a,.large-search a,.hero-search a{
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.image-wrap>a,.dish-image a,.modal-close,.queue-column article footer a{
  display:flex;align-items:center;justify-content:center;
}
.heart{display:flex;align-items:center;justify-content:center}
.image-wrap>button,.dish-image button,.queue-column article footer button{
  display:flex;align-items:center;justify-content:center;
}
a.button{display:inline-flex;align-items:center;justify-content:center;text-align:center}
video{display:block;width:100%;object-fit:cover}
.active-stories video{height:180px}
.story-ring video{border-radius:50%;height:100%;border:3px solid white;object-fit:cover}
.dish-image video,.food-orbit video{height:100%}

/* Hero carousel */
.discovery-hero{max-width:var(--container-max);margin:0 auto;padding:48px clamp(24px,5vw,72px) 36px;background:#fff}
.discovery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.discovery-heading>div{max-width:900px}
.discovery-heading>small,.discovery-heading small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dark);font-weight:900}
.discovery-heading h1{font-size:clamp(2rem,3.6vw,3.4rem);margin:8px 0 8px;max-width:850px}
.discovery-heading p{color:var(--muted);margin:0}
.craving-carousel{display:flex;gap:24px;overflow-x:auto;margin-top:28px;padding:2px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:none}
.craving-carousel::-webkit-scrollbar{display:none}
.craving-card{flex:0 0 clamp(132px,11vw,164px);min-width:0;scroll-snap-align:start;text-align:center}
.craving-image{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:0 auto;border-radius:50%;overflow:hidden;background:var(--mint-light);color:var(--orange);box-shadow:0 9px 22px rgba(34,2,67,.11)}
.craving-image img{height:100%;transition:transform .2s}
.craving-card:hover .craving-image img{transform:scale(1.035)}
.craving-card b{display:block;margin:12px 2px 1px;font-size:.9rem}
.craving-card small{display:block;margin-inline:2px;color:var(--muted);font-size:.75rem}
.related-filter-group{margin-top:16px}
.related-filter-group>strong{display:block;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-dark)}
.related-filter-row{margin-top:8px;margin-bottom:20px}
.hero-track{display:grid}
.hero-slide{display:none;grid-column:1;grid-row:1;grid-template-columns:repeat(12,1fr);gap:24px;min-height:400px;align-items:center}
.hero-slide.active{display:grid}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow);font-size:1.4rem;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.hero-arrow.prev{left:clamp(8px,2vw,26px)}
.hero-arrow.next{right:clamp(8px,2vw,26px)}
.hero-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:16px;z-index:4;display:flex;gap:8px}
.hero-dot{width:8px;height:8px;border-radius:50%;background:var(--line);border:0;padding:0}
.hero-dot.active{background:var(--orange);width:22px;border-radius:5px;transition:.2s}

/* USP strip */
.usp-strip{display:flex;margin-top:16px;background:var(--mint);border-radius:10px;padding:20px 24px}
.usp-message{color:#fff;font-weight:800;font-size:1.25rem;line-height:1.4;margin:0}
.meal-card.usp-slide{flex:0 0 168px;border:0;background:var(--mint);border-radius:10px;display:flex;align-items:center;padding:16px}
.meal-card.usp-slide:hover{border-color:transparent}
.usp-slide .usp-message{font-size:1.1rem}

/* Cuisine table */
.cuisine-table{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:2px;padding:8px 0 8px}
.cuisine-tile{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 20px 4px 4px;display:flex;flex-direction:row;align-items:center;gap:12px;text-align:left;font-weight:800}
.cuisine-table .cuisine-tile{flex:0 0 auto;scroll-snap-align:start}
.cuisine-tile:hover{border-color:var(--plum);transition:.15s}
.cuisine-tile-image{width:46px;height:46px;border-radius:50%;overflow:hidden;background:#f5f3ef;display:flex;align-items:center;justify-content:center;color:var(--orange);flex:0 0 auto}
.cuisine-tile-image img{height:100%;object-fit:cover}
.cuisine-tile b{white-space:nowrap}

/* Meal-period dish card carousel (home page discovery hero) */
.meal-card-row{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:2px;padding:8px 2px 12px;scrollbar-width:none}
.meal-card-row::-webkit-scrollbar{display:none}
.meal-card{flex:0 0 168px;scroll-snap-align:start;border-radius:10px;overflow:hidden;background:#fff;border:1px solid var(--line);transition:.15s}
.meal-card:hover{border-color:var(--plum)}
.meal-card img{aspect-ratio:4/5;object-fit:cover}
.meal-card-copy{display:flex;flex-direction:column;gap:2px;padding:12px}
.meal-card-copy small{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.meal-card-copy b{font-size:.9rem;line-height:1.25;color:var(--ink)}
.meal-card-dish{display:block}
.meal-card-image-link{display:block;position:relative}
.meal-card-image-link img{width:100%}
.meal-card-dish .meal-card-copy{padding-bottom:8px}
.meal-card-dish form{padding:0 12px 12px}
.meal-card-dish .button.full{width:100%;height:38px;font-size:.8rem}
.meal-card-dots{display:flex;gap:6px;justify-content:center;margin-top:4px}
.meal-card-dot{width:6px;height:6px;border-radius:50%;background:var(--line);border:0;padding:0;transition:.2s}
.meal-card-dot.active{background:var(--orange);width:18px;border-radius:4px}
.cuisine-slider{scrollbar-width:none}
.cuisine-slider::-webkit-scrollbar{display:none}
.hero-cuisine-slider{margin-top:24px}

/* Footer */
.site-footer{margin-top:16px;background:var(--plum);color:#ded4e7;border-top:1px solid rgba(255,255,255,.12)}
.footer-inner{max-width:var(--container-max);margin:0 auto;padding:72px var(--container-pad) 36px;display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer-brand{max-width:320px}
.footer-brand .brand-icon{width:46px;height:46px}
.footer-brand .brand-name{font-size:1.5rem;color:#fff}
.footer-brand .brand-tagline{font-size:.7rem;color:rgba(255,255,255,.7)}
.footer-brand p{font-family:Lora,Georgia,serif;color:#ded4e7;font-size:1.25rem;line-height:1.4;margin-top:18px}
.footer-links{display:flex;gap:56px;flex-wrap:wrap}
.footer-links>div{display:flex;flex-direction:column;gap:12px}
.footer-links small{font-size:.75rem;letter-spacing:.08em;font-weight:700;color:rgba(255,255,255,.55)}
.footer-links a{color:#ded4e7;font-weight:400;font-size:.95rem}
.footer-links a:hover{color:var(--mint)}
.footer-store-badge{display:inline-block;line-height:0}
.footer-store-badge img{width:140px;height:auto;display:block}
.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:24px var(--container-pad);max-width:var(--container-max);margin:0 auto;display:flex;justify-content:space-between;color:rgba(255,255,255,.65);font-size:.75rem}

/* Blog section */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:block;transition:.2s}
.blog-card:hover{transform:translateY(-3px);border-color:var(--plum)}
.blog-card-image{aspect-ratio:1.6}
.blog-card-image img{height:100%}
.blog-card-body{padding:16px}
.blog-card-body small{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.08em}
.blog-card-body h3{margin:8px 0 8px}
.blog-card-body p{color:var(--muted);font-size:.85rem;margin-bottom:8px}

/* FAQ accordion */
.faq-accordion{display:flex;flex-direction:column;gap:8px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 16px}
.faq-item summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;font-weight:800;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .faq-caret{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--plum)}
.faq-item[open] .faq-caret{transform:rotate(45deg)}
.faq-item[open]{border-color:var(--plum)}
.faq-item p{color:var(--muted);margin:12px 0 0;font-size:.85rem}

/* Newsletter band */
.newsletter-band{background:var(--plum);color:#fff;margin-top:16px}
.newsletter-inner{max-width:640px;margin:0 auto;padding:56px var(--container-pad);text-align:center}
.newsletter-inner small{font-size:.65rem;letter-spacing:.08em;font-weight:900;color:var(--mint)}
.newsletter-inner h2{margin:8px 0 8px;color:#fff}
.newsletter-inner p{color:#cdbddc;margin-bottom:24px}
.newsletter-form{display:flex;gap:8px;max-width:440px;margin:0 auto}
.newsletter-form input{flex:1;height:52px;border:0;border-radius:12px;padding:0 16px;font-size:.9rem}
.newsletter-form button{height:52px;white-space:nowrap}

/* Design system — buttons */
.button.ghost{background:transparent;border:1.5px solid var(--plum);color:var(--plum)}
.button.ghost:hover{background:var(--cream)}
.button:disabled,.button[disabled]{opacity:.5;pointer-events:none}
.button.sm{min-height:36px;padding:0 16px;font-size:.8rem}
.button.lg{min-height:52px;padding:0 24px}
.button.icon{width:44px;height:44px;padding:0;border-radius:50%}

/* Design system — form inputs */
.field-label input[type="text"],.field-label input[type="email"],.field-label input[type="tel"],.field-label input[type="password"],.field-label input[type="number"]{border:1px solid var(--line);border-radius:11px;padding:12px;background:white;font:inherit;color:var(--ink)}
.field-label input:focus,.field-label select:focus,.field-label textarea:focus{outline:0;border-color:var(--plum);box-shadow:0 0 0 4px rgba(34,2,67,.08)}
.field-label input:disabled,.field-label select:disabled{background:var(--cream);color:var(--muted)}
.field-label-title{display:inline-flex;align-items:baseline;gap:4px}
.required-star{color:var(--orange-dark);font-weight:900}

/* Fixed +971 prefix ahead of the mobile number field — see address_form.html */
.phone-input-group{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:11px;background:white;overflow:hidden}
.phone-input-group:focus-within{outline:0;border-color:var(--plum);box-shadow:0 0 0 4px rgba(34,2,67,.08)}
.phone-prefix{display:flex;align-items:center;padding:0 10px;background:var(--cream);color:var(--muted);font-weight:800;border-right:1px solid var(--line)}
.phone-input-group input{border:0!important;border-radius:0!important;box-shadow:none!important;flex:1;min-width:0}

/* Searchable area combobox */
.combo{position:relative}
.combo-input{width:100%;border:1px solid var(--line);border-radius:11px;padding:12px 40px 12px 12px;background:white;font:inherit;color:var(--ink)}
.combo-caret{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;display:flex}
.combo-input:focus{outline:0;border-color:var(--plum);box-shadow:0 0 0 4px rgba(34,2,67,.08)}
.combo-list{position:fixed;max-height:240px;overflow-y:auto;overscroll-behavior:contain;background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:100}
.combo-option{display:flex;align-items:baseline;gap:6px;width:100%;text-align:left;border:0;background:none;padding:10px;border-radius:10px;font-weight:600;color:var(--ink)}
.combo-option small{color:var(--muted);font-weight:400}
.combo-option[hidden],.combo-group[hidden]{display:none}
.combo-option:hover{background:var(--cream)}
.combo-empty{color:var(--muted);font-size:.85rem;padding:12px 10px;margin:0;text-align:center}

/* Design system — radio cards (selectors) */
.radio-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.radio-card{position:relative;border:1.5px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;background:#fff;transition:.15s}
.radio-card input{position:absolute;opacity:0}
.radio-card .radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;display:grid;place-items:center}
.radio-card .radio-dot:after{content:"";width:9px;height:9px;border-radius:50%;background:var(--plum);opacity:0;transform:scale(.5);transition:.15s}
.radio-card input:checked~.radio-dot{border-color:var(--plum)}
.radio-card input:checked~.radio-dot:after{opacity:1;transform:scale(1)}
.radio-card:has(input:checked){border-color:var(--plum);background:#faf7fd}

/* Design system — checkbox */
.checkbox-field{position:relative;display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}
.checkbox-field input{position:absolute;opacity:0}
.checkbox-field .checkbox-box{width:20px;height:20px;border-radius:6px;border:2px solid var(--line);display:grid;place-items:center;flex:0 0 auto;color:transparent;font-size:.7rem;font-weight:900;background:#fff}
.checkbox-field input:checked~.checkbox-box{background:var(--plum);border-color:var(--plum);color:#fff}

/* Design system — alerts */
.alert{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:16px 16px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--plum)}
.alert .icon{flex:0 0 auto;margin-top:0px;color:var(--plum)}
.alert p{margin:0;flex:1;font-size:.85rem;color:var(--ink)}
.alert b{display:block;margin-bottom:0px}
.alert.info{border-left-color:var(--plum)}
.alert.info .icon{color:var(--plum)}
.alert.success{border-left-color:var(--mint)}
.alert.success .icon{color:#067057}
.alert.warning{border-left-color:#e8a319}
.alert.warning .icon{color:#a66a06}
.alert.danger{border-left-color:var(--danger)}
.alert.danger .icon{color:var(--danger)}

/* Address picker card — 12-col-aligned modal */
.button.full{width:100%}
.address-modal-page{max-width:var(--container-max);margin:0 auto;padding:clamp(32px,4vw,56px) var(--container-pad)}
.address-card{position:relative;max-width:520px;margin:0 auto;background:#fff;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}
.address-card-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--cream);color:var(--ink);display:flex;align-items:center;justify-content:center;z-index:1}
.address-card-close:hover{background:var(--line)}
.address-card-body{padding:24px;padding-right:56px;display:flex;flex-direction:column;gap:16px}
.required-mark{color:var(--orange-dark)}

/* Clickable cuisine/location pills */
.rating{display:inline-flex;align-items:center;gap:0px;color:var(--orange-dark);font-size:.75rem;font-weight:800;vertical-align:middle}
.store-overlay .rating{color:#ffc861}
.pill-row{display:flex;flex-wrap:nowrap;gap:8px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.pill-row::-webkit-scrollbar{display:none}
.pill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--cream);color:var(--muted);border-radius:99px;padding:4px 8px;font-size:.7rem;font-weight:800;flex:0 0 auto}
.pill:hover{border-color:var(--plum);color:var(--plum)}
.pill.location{background:transparent}
.store-overlay .pill{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1);color:#fff}
.store-overlay .pill:hover{border-color:#fff;background:rgba(255,255,255,.2);color:#fff}

/* Vegetarian / non-vegetarian dish mark */
.diet-mark{display:inline-block;flex:0 0 auto;width:13px;height:13px;border:1.5px solid var(--mint);border-radius:3px;position:relative;margin-right:8px}
.diet-mark:after{content:"";position:absolute;inset:2.5px;border-radius:50%;background:var(--mint)}
.diet-mark.nonveg{border-color:var(--danger)}
.diet-mark.nonveg:after{background:var(--danger)}

/* Address experience — premium surface and radius hierarchy. */
.address-card{
  border:0;
  border-radius:28px;
  box-shadow:0 24px 72px rgba(34,2,67,.12),0 2px 8px rgba(34,2,67,.05);
}
.address-card-close{border:0}
.address-card-body{padding:24px;padding-right:56px;gap:16px}
.address-card-body .field-label{margin:0;gap:8px}
.address-card-body .grid-12{gap:16px}
.address-card-body .field-label input,
.address-card-body .field-label select,
.address-card-body .field-label textarea{
  min-height:50px;
  border:0;
  border-radius:14px;
  background:#f7f3f7;
  box-shadow:inset 0 0 0 1px rgba(34,2,67,.06);
  transition:background .18s ease,box-shadow .18s ease;
}
.address-card-body .field-label input:hover,
.address-card-body .field-label select:hover,
.address-card-body .field-label textarea:hover{background:#f3eef4}
.address-card-body .field-label input:focus,
.address-card-body .field-label select:focus,
.address-card-body .field-label textarea:focus{
  background:#fff;
  box-shadow:0 0 0 3px rgba(34,2,67,.10),inset 0 0 0 1.5px var(--plum);
}
.address-card-body .radio-cards{gap:8px}
.address-card-body .radio-card{
  min-height:50px;
  border:0;
  border-radius:14px;
  background:#f7f3f7;
}
.address-card-body .radio-card:hover{background:#f3eef4}
.address-card-body .radio-card:has(input:checked){
  background:#f5effa;
  box-shadow:inset 0 0 0 1.5px var(--plum);
}
.address-card-body>.button.full{min-height:52px;border-radius:14px}
.address-card--home-modal{max-width:480px;width:100%;max-height:92vh;overflow:auto}

/* Customer mobile navigation — thumb-friendly and safe-area aware. */
.mobile-bottom-nav{display:none}
@media(max-width:760px){.grid-12{grid-template-columns:repeat(4,1fr)}.col-1,.col-2,.col-3{grid-column:span 1}.col-4,.col-5,.col-6{grid-column:span 2}.col-7,.col-8,.col-9{grid-column:span 3}.col-10,.col-11,.col-12{grid-column:span 4}body{font-size:14px}.topnav-inner{height:76px;padding:0 16px;gap:8px}.menu-search-sticky{top:76px}.topnav .brand-icon{width:28px;height:28px}.topnav .brand-name{font-size:1rem}.topnav .brand-tagline{display:none}.topnav-actions{gap:8px;flex:1;min-width:0;justify-content:flex-end}.address small{display:none}.profile{width:38px;height:38px}.signin-pill{height:38px;padding:0 16px;font-size:.85rem}.restaurant-title .avatar{display:none}.restaurant-title small{display:block}.mobile-nav{padding-inline:16px}.hero{min-height:auto;display:block;padding:32px 16px}.hero h1{font-size:2.4rem;max-width:100%}.hero-collage{margin-top:24px;height:220px}.collage-main,.collage-stack{height:100%}.hero .mini-card{display:none}.content-section,.page{padding:32px 16px}.content-section+.content-section,.content-section+.discovery-hero{padding-top:8px}.restaurant-grid,.restaurant-grid.wide{grid-template-columns:1fr;gap:16px}.restaurant-grid .restaurant-card:nth-child(n+4){display:none}.split-section{grid-template-columns:1fr}.split-section .reorder,.split-section .promo{grid-column:1/-1}.cuisines{grid-template-columns:repeat(2,1fr)}.page-heading{display:block}.page-heading .segmented,.page-heading>.button,.page-heading>.a{margin-top:16px}.filter-row{margin-left:-16px;margin-right:-16px;padding-left:16px}.filter-row button.sort,.filter-row a.sort{margin-left:0;margin-right:16px}.result-note{align-items:flex-start;gap:8px}.result-note .badge{display:none}.store-hero{height:330px}.store-overlay{inset:auto 18px 20px}.store-overlay h1{font-size:1.7rem}.store-bar{border-radius:14px;gap:8px;padding:12px 16px;overflow-x:auto}.store-bar span{min-width:90px}.store-bar .button,.store-bar .a{min-width:105px}.store-layout{padding:32px 16px;display:block}.loyalty{padding:16px}.menu-list{grid-template-columns:1fr}.about-card{margin-top:16px;position:static}.notice{font-size:.8rem}.order-status{grid-template-columns:36px 1fr}.order-status>button,.order-status>a{grid-column:2}.account-grid{grid-template-columns:1fr}.profile-card{grid-row:auto}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metrics article{padding:16px}.metrics article>b{font-size:1.5rem}.ops-grid{grid-template-columns:1fr}.kanban{grid-template-columns:1fr;overflow:visible}.menu-toolbar{flex-wrap:wrap}.menu-toolbar .large-search{flex-basis:100%}.management-layout{grid-template-columns:1fr;min-width:0}.category-list{min-width:0}.category-list{display:flex;overflow-x:auto;gap:4px}.category-list h3{display:none}.inventory{min-width:0}.inventory>header{flex-wrap:wrap}.inventory>header>div{min-width:0}.inventory>header>div[style]{width:100%;flex-wrap:wrap}.category-list button,.category-list a{width:auto;white-space:nowrap}.inventory>article{grid-template-columns:20px 64px 1fr auto;grid-template-areas:"drag img content link" "drag img switch switch";row-gap:8px}.inventory article img{height:60px}.inventory article .drag{grid-area:drag}.inventory article .item-photo-form{grid-area:img}.inventory article>div{grid-area:content;min-width:0}.inventory article>a{grid-area:link;align-self:start}.inventory article form.inline{grid-area:switch;justify-self:start}.engage-grid{grid-template-columns:1fr}.active-stories{grid-template-columns:1fr 1fr}.active-stories img{height:140px}.loyalty-panel{display:block}.settings-dashboard{grid-template-columns:1fr}.open-card{display:block}.open-card .button,.open-card .a{margin-top:16px}.settings-dashboard .settings-list{grid-row:auto}.address-menu{left:16px;top:60px}.toast{top:calc(16px + env(safe-area-inset-top));bottom:auto;left:16px;right:16px}#cart-toast{top:auto;bottom:calc(88px + env(safe-area-inset-bottom))}.modal{max-height:85vh}.story-modal{max-height:calc(100vh - 30px)}.menu-list article{grid-template-columns:55fr 45fr}[id^="cat-"]{scroll-margin-top:190px}.section-title .link{margin-block:-8px}.topnav .address{min-height:44px}.stories button,.stories a{min-height:112px}.address{grid-template-columns:minmax(0,1fr);column-gap:8px;padding-inline:4px;min-width:0;max-width:min(48vw,200px)}.address>.icon:first-child{display:none}.address>.address-copy small{display:none}.address-menu>button:not(.add),.address-menu>a:not(.add){grid-template-columns:36px minmax(0,1fr) auto}.address-menu>button:not(.add):not(.selected),.address-menu>a:not(.add):not(.selected){grid-template-columns:36px minmax(0,1fr)}.topnav-desktop-only{display:none!important}
  .discovery-hero{padding:28px 16px 24px}
  .discovery-heading{display:block}
  .discovery-heading h1{font-size:2.4rem;margin-top:8px}
  .discovery-heading p{max-width:330px}
  .craving-carousel{gap:16px;margin:24px -16px 0;padding:2px 16px 12px;scroll-padding-left:16px;scroll-snap-type:x mandatory}
  .craving-card{flex:0 0 78px}
  .meal-card{flex-basis:136px}
  .meal-card-copy{padding:10px}
  .meal-card-copy b{font-size:.85rem}
  .craving-image{width:72px;height:72px}
  .restaurant-title{width:100%;min-width:0;flex:1;overflow:hidden}
  .restaurant-title>span:last-child{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .restaurant-title small{line-height:1.35}
  .filter-row{scroll-snap-type:x proximity}
  .filter-row button,
  .filter-row a{scroll-snap-align:start}
  .card-body{padding:16px}
  .inventory>article{column-gap:8px}
  .inventory article p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-slide{min-height:0}.hero-arrow{display:none}.hero-dots{bottom:8px}
  .usp-strip{padding:16px}
  .usp-message{font-size:1.1rem}
  .usp-slide{flex-basis:136px}
  .usp-slide .usp-message{font-size:.95rem}
  .cuisine-slider-section{padding-top:24px}
  .cuisine-table.cuisine-slider{display:flex;grid-template-columns:none;gap:8px;overflow-x:auto;margin-inline:-16px;padding:2px 16px 8px;scroll-snap-type:x mandatory;scroll-padding-left:16px}
  .cuisine-slider .cuisine-tile{flex:0 0 auto;padding:4px 16px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#fff;gap:8px;scroll-snap-align:start}
  .cuisine-slider .cuisine-tile:hover{transform:none}
  .cuisine-slider .cuisine-tile-image{width:34px;height:34px}
  .cuisine-slider .cuisine-tile b{width:auto;white-space:nowrap;font-size:.75rem;line-height:1.25}
  .hero-cuisine-slider{margin-top:20px}
  .restaurant-grid.carousel{gap:16px;margin-inline:-16px;padding:0 16px 12px;scroll-padding-left:16px;scroll-snap-type:x mandatory}
  .restaurant-grid.carousel>.restaurant-card{display:block;flex:0 0 min(78vw,296px);border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none;scroll-snap-align:start}
  .restaurant-grid.carousel>.restaurant-card:hover{transform:none;box-shadow:none}
  .restaurant-grid.carousel .image-wrap{aspect-ratio:1.28;border-radius:20px;overflow:hidden;box-shadow:0 10px 24px rgba(45,11,57,.12)}
  .restaurant-grid.carousel .card-body{display:block;padding:12px 2px 0}
  .restaurant-grid.carousel .card-body h3{margin-bottom:8px;font-size:1.1rem;line-height:1.2}
  .restaurant-grid.carousel .pill-row{min-height:24px}
  .restaurant-grid.carousel .card-body>footer{border-top:0;padding-top:8px}
  .carousel-nav{display:none}
  .footer-inner{padding:32px 16px 16px;flex-direction:column;gap:24px}.footer-bottom{padding:16px 16px;flex-direction:column;gap:8px}.blog-grid{grid-template-columns:1fr}.radio-cards{grid-template-columns:1fr}.newsletter-form{flex-direction:column}.newsletter-form button{width:100%}.address-modal-page{padding:0}.address-modal-page .address-card{max-width:100%;border-radius:0;border:0;min-height:100vh}
.modal-backdrop{padding:0;align-items:stretch}
.modal-backdrop .address-card{max-width:100%;width:100%;max-height:100%;border-radius:0;margin:0}
  .topnav .brand-icon{width:28px;height:28px}
  .topnav .brand-name{font-size:1rem}
  .topnav .brand-tagline{display:none}
  .address-modal-page{padding:12px}
  .address-modal-page .address-card{
    min-height:0;
    border-radius:24px;
  }
  .address-card-body{padding:16px;padding-right:48px;gap:16px}
  .address-card-body .grid-12{gap:16px}
  .modal-backdrop{align-items:end}
  .modal-backdrop .address-card{
    max-height:calc(100dvh - 12px);
    min-height:0;
    border-radius:24px 24px 0 0;
  }
  /* The full-bleed override above (address-modal-page's edge-to-edge card) doesn't apply here —
     this is the bottom-sheet variant shown over the home page, which needs a gap from the
     screen edges on both sides to read as a floating sheet rather than a flush panel. */
  .modal-backdrop .address-card--home-modal{
    margin:0 12px;
    width:calc(100% - 24px);
  }
  .customer-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .customer-shell .hamburger{display:none}
  .mobile-bottom-nav{
    position:fixed;
    z-index:80;
    left:0;
    right:0;
    bottom:0;
    min-height:72px;
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:start;
    background:rgba(255,255,255,.96);
    box-shadow:0 -8px 28px rgba(34,2,67,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .mobile-bottom-nav a,
  .mobile-bottom-nav button{
    position:relative;
    min-width:0;
    min-height:56px;
    padding:6px 2px 2px;
    border:0;
    border-radius:14px;
    background:transparent;
    color:var(--muted);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    font-size:.62rem;
    font-weight:800;
    line-height:1;
  }
  .mobile-bottom-nav a.active{color:var(--plum)}
  .mobile-bottom-nav a.active .icon{font-variation-settings:'FILL' 1,'wght' 600,'GRAD' 0,'opsz' 24!important}
  /* Cart needs to stand out from the other four (plain, equal-weight) tabs — a filled accent
     pill behind the whole tab (icon + label), always, not just on :active, so it reads as the
     primary action rather than just another nav item. */
  .mobile-bottom-nav a.mobile-bottom-cart{
    background:var(--mint);
    color:#fff;
    border-radius:16px;
  }
  .mobile-bottom-cart span{color:#fff}
  .mobile-bottom-nav a.mobile-bottom-cart.active{background:var(--plum)}
  .mobile-bottom-nav .cart-badge{
    position:absolute;
    top:4px;
    left:calc(50% + 7px);
    min-width:17px;
    height:17px;
    color:#fff;
    display:grid;
    place-items:center;
    font-size:.65rem;
    font-weight:800;
    line-height:1;
  }
  .mobile-bottom-nav .cart-badge[hidden]{display:none}
  .customer-shell .site-footer{margin-bottom:0} .store-layout .section-title{margin-top:32px}}

/* Custom select (progressive enhancement of native <select> — see base.html script) */
.select-shell{position:relative}
.select-shell select{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.select-trigger{
  width:100%;
  text-align:left;
  border:1px solid var(--line);
  border-radius:11px;
  padding:12px 40px 12px 12px;
  background:white;
  color:var(--ink);
  font:inherit;
  font-weight:700;
  cursor:pointer;
  position:relative;
  display:block;
}
.select-trigger.placeholder{color:var(--muted);font-weight:600}
.select-trigger:after{
  content:"";
  position:absolute;
  right:15px;
  top:50%;
  width:8px;
  height:8px;
  border-right:2px solid var(--muted);
  border-bottom:2px solid var(--muted);
  transform:translateY(-65%) rotate(45deg);
  pointer-events:none;
}
.select-trigger:focus-visible{outline:0;border-color:var(--plum);box-shadow:0 0 0 4px rgba(34,2,67,.08)}
.select-backdrop{
  position:fixed;
  inset:0;
  background:rgba(20,10,30,.4);
  z-index:130;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s;
}
.select-backdrop.open{opacity:1;pointer-events:auto}
.select-panel{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  background:var(--cream);
  border-radius:20px 20px 0 0;
  max-height:min(70vh,520px);
  display:flex;
  flex-direction:column;
  z-index:131;
  transform:translateY(100%);
  transition:transform .22s cubic-bezier(.32,.72,0,1);
  box-shadow:0 -10px 32px rgba(20,10,30,.2);
}
.select-panel.open{transform:translateY(0)}
.select-panel-header{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding:12px 8px 8px 16px;
  border-bottom:1px solid var(--line);
  flex:0 0 auto;
}
.select-panel-title{font-weight:800;margin-right:auto;font-size:.95rem}
.select-panel-done{border:0;background:none;color:var(--plum);font-weight:800;font-size:.9rem;padding:8px 16px;cursor:pointer}
.select-panel-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 0 max(8px,env(safe-area-inset-bottom))}
.select-group-label{padding:16px 16px 8px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:800}
.select-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  text-align:left;
  border:0;
  background:none;
  padding:16px 16px;
  font:inherit;
  font-size:.95rem;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
}
.select-option:active,.select-option:hover{background:var(--line)}
.select-option[aria-selected="true"]{color:var(--plum);font-weight:800}
.select-option .select-check{color:var(--plum);font-weight:900;opacity:0}
.select-option[aria-selected="true"] .select-check{opacity:1}
@media (min-width:640px){
  .select-backdrop{background:transparent}
  .select-panel{
    left:auto;
    right:auto;
    bottom:auto;
    border-radius:var(--r-md);
    width:min(340px,90vw);
    transform:translateY(-4px);
    opacity:0;
    transition:transform .15s,opacity .15s;
    box-shadow:var(--shadow);
  }
  .select-panel.open{transform:translateY(0);opacity:1}
  .select-panel-header{display:none}
}
.restaurant-card .card-body{padding:16px;display:block}
.restaurant-card .card-body h3{margin-bottom:4px;font-size:1rem}
.card-rating{display:inline-flex;align-items:center;gap:4px;font-weight:800;font-size:.85rem;color:var(--ink)}
.card-rating .icon{color:var(--orange)}
.card-rating-count{font-weight:600;color:var(--muted)}
.card-rating-source{font-weight:600;font-size:.7rem;color:var(--muted);margin-left:2px}
.card-sub{color:var(--muted);font-size:.8rem;margin:4px 0 0}
.card-badge{position:absolute;left:10px;top:10px;background:var(--mint);color:#062b22;font-weight:900;font-size:.7rem;letter-spacing:.08em;padding:4px 8px;border-radius:8px;z-index:2}
.card-logo{position:absolute;left:10px;bottom:10px;width:57px;height:57px;border-radius:12px;background:white;box-shadow:0 6px 16px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.85rem;color:var(--plum);overflow:hidden;z-index:2}
.card-logo img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.card-logo{width:48px;height:48px;font-size:.75rem}.card-badge{font-size:.7rem;padding:4px 8px}}
.menu-section-title{margin-top:28px}
.menu-section-title h2{font-family:Inter,-apple-system,system-ui,"Segoe UI",sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:0;margin:0}
.notice[hidden]{display:none}
.star-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px}
.star-input input{position:absolute;opacity:0;pointer-events:none}
.star-input label{cursor:pointer;color:#ddd}
.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:var(--orange)}
.modal-backdrop[hidden]{display:none}
.order-customer{font-weight:700;color:var(--ink);margin:6px 0 0}
.order-item-list{list-style:none;margin:6px 0 0;padding:0;color:var(--muted);font-size:.8rem}
.order-item-list li{padding:1px 0}
.queue-column article>a{display:inline-block;margin-top:8px;font-size:.75rem;font-weight:800;color:var(--plum)}
.accordion{border:1px solid var(--line);border-radius:16px;overflow:hidden;margin:16px 0;background:white}
.accordion-toggle{width:100%;display:flex;align-items:center;gap:10px;border:0;background:none;padding:14px 16px;font-weight:800;text-align:left;color:var(--ink)}
.accordion-toggle span{flex:1;text-align:left}
.accordion-chevron{display:flex;transition:transform .2s}
.accordion-toggle.is-open .accordion-chevron{transform:rotate(180deg)}
.accordion-body{padding:0 16px 16px;border-top:1px solid var(--line);padding-top:14px}
.accordion-body p{margin:0;line-height:1.5}
.category-list a.subcategory{padding-left:24px;font-size:.85rem}
.category-list a.inactive{opacity:.5}
.category-list a.inactive:not(.active) span:before{content:"○ "}
.item-photo-form{margin:0}
.item-photo-label{position:relative;display:block;cursor:pointer}
.item-photo-label img{transition:opacity .15s}
.item-photo-label:hover img{opacity:.7}
.item-photo-edit{position:absolute;right:3px;bottom:3px;width:22px;height:22px;background:rgba(0,0,0,.65);border-radius:50%;display:grid;place-items:center;color:#fff}
.ops-subcategory-heading{margin:20px 0 8px;font-size:.95rem;display:flex;align-items:center;gap:8px}
.ops-subcategory-heading small{color:var(--muted);font-weight:600}
.item-price-form{display:flex;align-items:center;gap:4px;margin:0}
.item-price-form span{color:var(--muted);font-weight:800;font-size:.8rem}
.item-price-form input{width:70px;border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-weight:800;font-size:.9rem;color:var(--ink);background:white}
.item-price-form input:focus{border-color:var(--plum)}
.reorder form{margin:0}
.rating-pill .icon{color:#ffc861}
.rating-count{opacity:.8;font-weight:600}
.kanban-column-new{--k-accent:#ff6b6b;--k-bg:#fff1f1}
.kanban-column-preparing{--k-accent:#f7a325;--k-bg:#fff8ec}
.kanban-column-ready{--k-accent:#4a90e2;--k-bg:#eef5fd}
.kanban-column-delivered{--k-accent:#01a981;--k-bg:#e8faf4}
.kanban-column{border-radius:20px;padding:12px;background:var(--k-bg);min-width:0}
.kanban-column-header{background:var(--k-accent);color:#fff;border-radius:14px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:800;margin-bottom:12px}
.kanban-count{background:rgba(255,255,255,.35);border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:.7rem;font-weight:900}
.kanban-column-body{display:flex;flex-direction:column;gap:10px}
.kanban-empty{color:var(--muted);font-size:.8rem;padding:8px 4px}
.kanban-card{background:#fff;border-radius:16px;padding:14px;box-shadow:0 2px 8px rgba(34,2,67,.06)}
.kanban-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.kanban-card-tag{background:var(--k-accent);color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 9px;border-radius:99px}
.kanban-card-expand{border:0;background:none;color:var(--muted);width:24px;height:24px;display:grid;place-items:center;cursor:pointer;transition:transform .2s;padding:0}
.kanban-card-expand.is-open{transform:rotate(180deg)}
.kanban-card-id{font-weight:800;font-size:1.1rem;margin:0 0 8px;font-family:Inter,-apple-system,system-ui,"Segoe UI",sans-serif}
.kanban-card-meta p{font-size:14px;font-weight:400;color:var(--ink);margin:0 0 4px;line-height:1.4}
.kanban-card-meta p:last-child{margin-bottom:0}
.kanban-card-meta a{color:var(--plum);font-weight:600}.kanban-card-note{background:var(--orange-light);color:var(--orange-dark);font-size:.8rem;font-weight:600;border-radius:10px;padding:8px 10px;margin:8px 0 0;line-height:1.35;word-break:break-word}
.kanban-timer{color:var(--muted)!important;font-variant-numeric:tabular-nums}
.kanban-card-details{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.kanban-card-details .order-item-list{margin:0 0 8px}
.kanban-card-details a{font-size:.8rem;font-weight:800;color:var(--plum)}
.kanban-card-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.kanban-btn-primary{height:38px;border:0;border-radius:9px;background:var(--plum);color:#fff;font-weight:800}
.kanban-btn-primary.full{width:100%}
.kanban-card-links{display:flex;justify-content:space-between;flex-wrap:wrap;row-gap:8px}
.kanban-whatsapp-form{flex:1 1 100%;display:flex;gap:6px;align-items:center;order:1}
.kanban-whatsapp-form input{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:.8rem;min-width:0;flex:1}
.kanban-text-link{border:0;background:none;padding:0;font-size:.75rem;font-weight:700;color:var(--muted);display:inline-flex;align-items:center;gap:3px}
.kanban-text-link:hover{color:var(--plum)}
.text-link-danger{border:0;background:none;padding:0;font-size:.85rem;font-weight:800;color:var(--danger)}
.kanban-text-link-danger{color:var(--danger)}
.prep-minutes-field{display:flex;flex-direction:column;align-items:center;gap:2px}
.prep-minutes-field input{width:60px;min-height:44px;border:1px solid var(--line);border-radius:10px;text-align:center;font-weight:700}
.prep-minutes-field small{color:var(--muted);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.dish-qty-stepper{background:#fff;border-radius:20px;padding:4px 8px;border:1px solid var(--line);display:inline-flex}

.hscroll-shell-sticky{position:sticky;top:88px;background:#fff;z-index:10}
@media(max-width:760px){.hscroll-shell-sticky{top:76px}}
.auth-back-link{display:inline-flex;align-items:center;gap:4px;margin-bottom:16px;font-size:.85rem}
.card-fulfilment{font-size:.72rem;color:var(--muted);margin:2px 0 0}
.icon-link{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--ink)}
.icon-link:hover,.icon-link.active{background:var(--cream)}
.icon-link .cart-badge{position:absolute;top:0;right:0;background:var(--orange);color:#fff;border-radius:20px;min-width:16px;height:16px;display:inline-grid;place-items:center;font-size:.6rem;padding:0 3px;font-weight:800}
.search-suggest-wrap{position:relative;margin-bottom:24px}
.search-suggest-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;z-index:50;max-height:320px;overflow-y:auto}
.search-suggest-group{margin-bottom:6px}
.search-suggest-group:last-child{margin-bottom:0}
.search-suggest-option{display:block;width:100%;text-align:left;border:0;background:none;padding:10px;border-radius:10px;font-weight:600;color:var(--ink)}
.search-suggest-option:hover{background:var(--cream)}

/* iOS auto-zooms the whole page when focusing any input under 16px — the mobile body font-size
   (set to 14px above) leaks into every input/select/textarea using font:inherit, so pin them
   back to 16px specifically on mobile. Appended after the main mobile media query so it wins on
   source order without needing to touch that block directly. */
@media(max-width:760px){
  input,select,textarea,.combo-input,.auth-card input,
  .field-label input[type="text"],.field-label input[type="email"],.field-label input[type="tel"],
  .field-label input[type="password"],.field-label input[type="number"]{font-size:16px}
}

/* Cross-restaurant control-room dashboard (web/live_orders.html) — a single always-on screen,
   sized for an iPad rather than a phone: big readable rows, strong color coding, no nav chrome
   needed since it's meant to be pinned via "Add to Home Screen" and left running. */
.live-orders-page .page-heading{align-items:center}
.live-orders-status{display:flex;align-items:center;gap:16px}
#live-orders-clock{font-family:ui-monospace,monospace;font-size:1.1rem;font-weight:700;color:var(--muted)}
.live-orders-bulk-bar{display:flex;align-items:center;gap:12px;margin-top:16px;padding:12px 16px;border-radius:var(--r-md);background:var(--mint-light)}
#live-orders-bulk-count{font-weight:700}
.live-orders-list{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.live-order-row{display:grid;grid-template-columns:auto 1.4fr 1fr 1.3fr .9fr 1.1fr .9fr auto;align-items:center;gap:12px;padding:16px 20px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--white);font-size:1rem;cursor:pointer}
.live-order-row:hover{border-color:var(--plum)}
.live-order-select input{width:20px;height:20px}
.live-order-restaurant{font-weight:800}
.live-order-code{font-family:ui-monospace,monospace;font-weight:700;color:var(--muted)}
.live-order-elapsed{font-family:ui-monospace,monospace;font-weight:800;font-size:1.15rem}
.live-order-total{font-weight:700;text-align:right}
.live-order-late-tag{color:var(--danger);font-weight:800}
.live-order-ok-tag{color:var(--muted);font-weight:600}
.live-order-action-btn{white-space:nowrap}
.live-order-new{border-color:var(--orange);background:var(--orange-light)}
.live-order-urgent{border-color:var(--danger);background:#fdecee;animation:live-order-pulse 1.2s ease-in-out infinite}
.live-order-late{border-color:var(--danger);background:#fdecee}
@keyframes live-order-pulse{0%,100%{box-shadow:0 0 0 0 rgba(200,60,74,.35)}50%{box-shadow:0 0 0 8px rgba(200,60,74,0)}}
@media(max-width:900px){
  .live-order-row{grid-template-columns:auto 1fr 1fr;grid-template-areas:"select restaurant total" "select code status" "select elapsed eta" "select action action"}
  .live-order-select{grid-area:select}
  .live-order-restaurant{grid-area:restaurant}
  .live-order-total{grid-area:total}
  .live-order-code{grid-area:code}
  .live-order-status{grid-area:status;text-align:right}
  .live-order-elapsed{grid-area:elapsed}
  .live-order-eta{grid-area:eta;text-align:right}
  .live-order-action{grid-area:action}
}

/* Subtle "back to menu" link under a restaurant's name on the cart page (web/cart.html) —
   deliberately muted/small, not the bold plum .text-a treatment used elsewhere, since this is a
   secondary escape hatch next to the cart's own primary actions, not something to compete for
   attention with them. */
.cart-back-link{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:.75rem;font-weight:600;margin-top:2px}
.cart-back-link:hover{color:var(--plum)}

/* ETA countdown on the ops queue's kanban cards (web/_kanban_card.html + ops_queue.html's
   updateEtas) — plain muted text normally, escalating to an orange pulse once within 2 minutes
   of the estimate and a flat red once past it, so a card in trouble is obvious even at a glance
   across the whole board. */
.kanban-eta{font-weight:700;color:var(--muted)}
.kanban-card-eta-warning{box-shadow:0 0 0 2px var(--orange)}
.kanban-card-eta-warning .kanban-eta{color:var(--orange-dark);animation:kanban-eta-pulse 1.2s ease-in-out infinite}
.kanban-card-eta-late{box-shadow:0 0 0 2px var(--danger)}
.kanban-card-eta-late .kanban-eta{color:var(--danger)}
@keyframes kanban-eta-pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* Combined ETA alert bar (web/ops_queue.html) — one place listing every order currently within
   2 minutes of (or past) its estimate, instead of a chime per card. Sticky so it stays in view
   once scrolled to, since the ringing itself doesn't need visibility but acting on it does. */
.eta-alert-bar{position:sticky;top:8px;z-index:20;background:var(--danger);color:#fff;border-radius:var(--r-md);padding:14px 20px;margin-bottom:20px;box-shadow:var(--shadow)}
.eta-alert-bar-header{display:flex;align-items:center;gap:8px;font-weight:900;margin-bottom:8px}
.eta-alert-rows{display:flex;flex-direction:column;gap:8px}
.eta-alert-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(255,255,255,.12);border-radius:10px;padding:8px 12px;font-weight:700}
.eta-alert-row-actions{display:flex;gap:8px}
.eta-alert-row-actions .button{min-height:36px;padding:0 12px;font-size:.8rem}
