/* Ordering-first layout. Brand tokens remain in theme.css. */
body{background:var(--cream)}
.header{height:92px;padding-inline:max(24px,calc((100vw - 1440px)/2));gap:35px;background:var(--cream)}
.brand img{width:82px;height:82px}.desktop-nav{gap:24px}.desktop-nav a{padding:12px 0}.cart-trigger{background:var(--ink);color:white;border:0}.cart-trigger b{background:var(--action)}
.hero{max-width:1488px;min-height:0;padding:28px 24px;gap:0;grid-template-columns:1fr 1fr}
.hero-copy{padding:34px 40px;background:#eee8de;border-radius:18px 0 0 18px;align-self:stretch}
.hero h1{font-size:clamp(38px,4vw,60px);max-width:570px;letter-spacing:-2px}.hero .eyebrow{margin-bottom:16px}.hero-copy>p{max-width:500px;margin:18px 0 22px;font-size:14px}.hero-note{margin-top:22px}.hero-image{min-height:370px;border-radius:0 18px 18px 0}.hero-label{padding:12px 16px;bottom:18px;left:18px}.hero-label strong{font-size:20px}.hero-label span:last-child{display:none}
.promise-strip{max-width:1440px;margin:0 auto;border:0;border-bottom:1px solid var(--line);padding:12px 20px 22px;justify-content:space-between;gap:12px;font-size:10px}
.menu-section{max-width:1488px;padding:36px 24px 64px}.section-heading{align-items:center}.section-heading h2{font-size:36px}.section-heading .eyebrow{font-size:10px;margin-bottom:8px}.search{background:white;border:1px solid var(--line);border-radius:10px;padding:13px 16px;width:320px;max-width:100%}.search input{font-size:14px}
.categories{position:sticky;top:92px;z-index:12;background:var(--cream);padding:16px 0;margin:12px 0 0;border-bottom:1px solid var(--line);scrollbar-width:thin}.categories button{min-height:44px;border-radius:8px;background:white;padding:10px 18px}.categories button[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}.menu-context{margin:15px 0 22px}
.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start}.products{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.product{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:10px;box-shadow:0 3px 12px #21150c03}.product-image{border-radius:9px;aspect-ratio:1.25}.product .weight{padding:0 6px;margin-top:14px;font-size:11px}.product-title{margin:2px 6px 10px;font-size:21px;line-height:1.2}.product-desc{margin:0 6px 20px;font-size:12px;line-height:1.6}.product-bottom{padding:0 6px 6px;flex-wrap:wrap}.price{font-size:21px}.add{background:#fbf0ec;border:0;min-height:44px;font-weight:600;padding:10px 13px}.product-title:hover{color:var(--action)}
.order-aside{position:sticky;top:181px;background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.order-aside h2{font-size:25px;letter-spacing:-.5px}.aside-lines{margin-top:16px;max-height:38vh;overflow:auto}.aside-line{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}.aside-line strong{font-size:13px;line-height:1.5}.aside-line span{color:var(--muted);font-size:12px}.aside-empty{font-size:13px;line-height:1.7;color:var(--muted);padding:25px 0}.aside-total{display:flex;justify-content:space-between;gap:12px;padding:20px 0;font-size:17px;font-weight:bold}.order-aside .primary{font-size:13px;min-height:46px;padding:12px}.aside-note{font-size:10px;color:var(--muted);line-height:1.6;margin-top:14px}.site-footer{padding-block:40px 55px;max-width:1440px;margin:0 auto}.mobile-navigation{display:none}
@media(min-width:1650px){.hero{min-height:0}.header{padding-inline:max(24px,calc((100vw - 1440px)/2))}}
@media(max-width:1190px){.order-layout{grid-template-columns:1fr}.order-aside{display:none}.products{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-copy{padding:30px}.hero-image{min-height:340px}}
@media(max-width:700px){html{scroll-padding-top:166px}.header{height:76px;padding:0 16px;gap:12px}.brand img{width:68px;height:68px}.header-right{gap:10px}.desktop-nav{display:none}.mobile-navigation{display:flex;gap:22px;padding:10px 16px;border-bottom:1px solid var(--line);overflow:auto;white-space:nowrap;font-size:12px;background:var(--cream)}.mobile-navigation a{min-height:30px;display:flex;align-items:center}.hero{display:grid;grid-template-columns:1fr;padding:16px;gap:0}.hero-copy{border-radius:14px 14px 0 0;padding:23px}.hero h1{font-size:39px;letter-spacing:-1.3px}.hero-copy>p{font-size:13px;max-width:none;margin:14px 0 18px}.hero .eyebrow{font-size:9px;line-height:1.5;margin-bottom:13px}.hero-image{min-height:210px;border-radius:0 0 14px 14px}.hero-label{left:12px;bottom:12px;padding:9px 12px}.hero-label strong{font-size:17px}.hero-label span{font-size:9px}.promise-strip{padding:4px 16px 18px;font-size:8px;gap:9px}.promise-strip i{font-size:14px}.menu-section{padding:24px 16px 40px}.section-heading h2{font-size:29px}.search{width:100%;margin-top:17px;padding:12px}.categories{top:76px;margin-top:10px;margin-right:0;padding:12px 0;gap:6px}.categories button{font-size:12px;padding:9px 13px;min-height:42px}.menu-context{line-height:1.5;font-size:10px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{padding:7px;border-radius:11px}.product-image{aspect-ratio:1.08}.product .weight{font-size:9px;padding:0 3px;margin:11px 0 5px}.product-title{font-size:17px;margin:0 3px 9px}.product-desc{font-size:11px;margin:0 3px 15px}.product-bottom{padding:0 3px 3px;gap:8px}.price{font-size:19px}.add{width:100%;justify-content:space-between;font-size:12px}.site-footer{padding:32px 16px 110px}.mobile-cart:not([hidden]){bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.order-layout{gap:0}}
@media(max-width:360px){.products{grid-template-columns:1fr}.product-image{aspect-ratio:1.5}.hero h1{font-size:34px}}
.menu-section{padding-top:0}.menu-section>.categories{margin-top:0;margin-bottom:24px}.menu-section>.section-heading{margin-top:0}@media(max-width:700px){.menu-section{padding-top:0}.menu-section>.categories{margin-top:0;margin-bottom:20px}}
.order-layout{grid-template-columns:minmax(0,1fr)}.products{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1050px){.products{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:360px){.products{grid-template-columns:1fr}}
.hero-image{aspect-ratio:4/3;min-height:0;align-self:stretch}.hero-image>img{object-position:center}.hero-label{display:none}@media(max-width:700px){.hero-image{aspect-ratio:4/3;min-height:0}}
/* Single-line category navigation */
.category-bar{position:sticky;top:92px;z-index:12;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;background:var(--cream);margin:0 0 28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-bar .categories{grid-column:2;position:static;display:flex;flex-wrap:nowrap;justify-content:space-between;overflow-x:auto;overscroll-behavior-x:contain;gap:0;margin:0;padding:0 3px;border:0;scrollbar-width:none}
.category-bar .categories::-webkit-scrollbar{display:none}
.category-bar .category-tab{position:relative;flex:1 0 auto;display:flex;justify-content:center;align-items:center;min-height:64px;padding:17px clamp(10px,1.1vw,21px);font-family:var(--heading);font-size:16px;font-weight:800;letter-spacing:-.2px;white-space:nowrap;color:var(--ink);transition:color .18s,background .18s}
.category-tab+.category-tab:before{content:"";position:absolute;left:0;top:23px;width:1px;height:18px;background:linear-gradient(transparent,var(--muted),transparent);opacity:.35}
.category-tab:after{content:"";position:absolute;bottom:0;height:3px;left:20%;right:20%;border-radius:3px 3px 0 0;background:var(--action);transform:scaleX(0);transition:transform .18s}
.category-bar .category-tab:hover,.category-bar .category-tab[aria-current=page]{color:var(--action);background:color-mix(in srgb,var(--action) 4%,transparent)}
.category-tab[aria-current=page]:after{transform:scaleX(1)}
.category-bar .category-tab:focus-visible,.category-arrow:focus-visible{outline:2px solid var(--action);outline-offset:-3px}
.category-arrow{display:grid;place-items:center;width:28px;height:44px;padding:0;background:transparent;color:var(--ink);border-radius:14px}
.category-bar:not(.has-overflow) .category-arrow{display:none}
.category-arrow:disabled{opacity:.2}.category-arrow svg{width:19px;height:19px;stroke-width:2}
html{scroll-padding-top:180px}
@media(max-width:700px){.category-bar{top:76px;margin-bottom:24px}.category-bar .category-tab{font-size:15px;min-height:54px;padding:14px 15px}.category-tab+.category-tab:before{top:18px}.category-bar .categories{justify-content:flex-start}html{scroll-padding-top:145px}}
@media(prefers-reduced-motion:reduce){.category-tab,.category-tab:after{transition:none}}

.category-prev{grid-column:1;grid-row:1}.category-next{grid-column:3;grid-row:1}.category-bar .categories{grid-row:1}

/* Purchase action keeps the same footprint when switching to quantity. */
.product-purchase{width:132px;flex-shrink:0}.product-purchase .add{width:100%;min-height:44px;justify-content:space-between}.product-stepper{display:grid;grid-template-columns:44px minmax(32px,1fr) 44px;align-items:center;min-height:44px;border:1px solid var(--action);border-radius:8px;background:var(--paper);color:var(--action);overflow:hidden}.product-stepper button{border:0;background:transparent;color:inherit;width:44px;min-height:44px;font:500 24px/1 var(--body);cursor:pointer}.product-stepper button:hover{background:var(--cream)}.product-stepper button:disabled{opacity:.35;cursor:default}.product-stepper output{text-align:center;font:800 18px/1 var(--heading);color:var(--ink);font-variant-numeric:tabular-nums}.product-stepper button:focus-visible{outline:2px solid var(--action);outline-offset:-4px;border-radius:6px}.purchase-count{background:var(--paper);color:var(--action);border-radius:50%;min-width:24px;min-height:24px;display:grid;place-items:center;font-weight:700}@media(max-width:700px){.product-purchase{width:100%}}
.purchase-variant{display:block;width:100%;border:0;background:transparent;color:var(--muted);font:11px/1.4 var(--body);padding:6px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.portion-list{display:grid;gap:10px;margin:24px 0}.portion-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:10px}.portion-select{display:grid;gap:6px;text-align:left;background:transparent;border:0;padding:4px;color:var(--ink);cursor:pointer;font:inherit}.portion-select strong{font-size:14px}.portion-select span{font-size:15px;font-weight:700}.portion-select[aria-pressed=true] strong{color:var(--action)}.detail-stepper{width:132px}.detail-copy>.detail-stepper{margin-bottom:24px}@media(max-width:450px){.portion-row{grid-template-columns:minmax(0,1fr) 120px;padding:10px;gap:8px}.portion-row .detail-stepper{width:120px;grid-template-columns:40px 38px 40px}.portion-row .detail-stepper button{width:40px}}
.menu-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.menu-tools select{max-width:100%;min-height:44px;padding:10px 32px 10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:14px var(--body)}.menu-tools select:focus-visible{outline:3px solid var(--action);outline-offset:3px}@media(max-width:700px){.menu-tools{width:100%;display:grid;grid-template-columns:1fr}.menu-tools .search{width:100%;box-sizing:border-box}.menu-tools select{width:100%}}
.product-badges{position:absolute;top:12px;left:12px;right:12px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}.product-badge{padding:6px 10px;border-radius:8px;background:var(--paper);color:var(--ink);font:800 12px/1.4 var(--heading);box-shadow:0 2px 8px #0001}.badge-new{background:var(--ink);color:var(--cream)}.badge-spicy{background:var(--action);color:var(--paper)}
.portion-spicy{display:inline-flex;align-items:center;gap:5px;width:fit-content;background:var(--action);color:var(--paper);padding:4px 9px;border-radius:6px;font:800 12px/1.4 var(--heading)}.portion-select .portion-spicy{grid-column:1/-1;margin-top:4px}.detail-copy>.portion-spicy{margin:8px 0 16px}
.detail-purchase-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:24px 0}.detail-purchase-row .price{margin:0;white-space:nowrap}.detail-purchase-row .detail-stepper{flex-shrink:0;margin:0}
/* Catalog title and controls need their own space above product cards. */
.menu-section>.section-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px 32px;margin:28px 0 28px;padding:0}
.menu-section>.section-heading>div:first-child{flex:1 1 320px;min-width:0}
.menu-section>.section-heading h2{font-size:clamp(26px,2.6vw,36px);line-height:1.2;margin:0;letter-spacing:-.025em;text-wrap:balance}
.menu-section>.section-heading .menu-tools{flex:0 1 auto;max-width:100%}
.menu-section>.section-heading .search{margin-top:0}
@media(max-width:700px){.menu-section>.section-heading{margin:22px 0 24px;gap:18px}.menu-section>.section-heading>div:first-child{flex-basis:100%}.menu-section>.section-heading .menu-tools{flex:1 1 100%}}
