/* ESJ web release: charcoal, warm orange and gold; the restaurant's existing palette. */
:root{--esj-header-height:80px;--esj-chrome-height:140px;--esj-dock-height:90px}
html{scroll-padding-top:calc(var(--esj-chrome-height) + 16px)}
.esj-sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body .main-nav [hidden],body .esj-quick-checkout[hidden]{display:none!important}
body:is([data-public-route=menu],[data-public-route=rewards],[data-public-route=account])>.site-header~main>.hero{display:none}
body:is([data-public-route=rewards],[data-public-route=account]) #menu{display:none!important}
body .site-header,body .checkout-header,body .gift-page-header{position:sticky;top:0;z-index:45;width:100%;max-width:none;min-height:80px;margin:0;padding:calc(12px + env(safe-area-inset-top,0px)) max(24px,calc((100% - 1480px)/2)) 12px;background:#1a1a1af7;border-bottom:1px solid #ffffff18;backdrop-filter:blur(18px);color:#fff}
body .site-header .brand img{width:44px;height:48px}
body .site-header .brand{font-size:15px}
body .site-header .brand small{font-size:8px;letter-spacing:1.4px}
body .site-header .phone{min-height:44px;padding:10px 14px;background:#ffffff0a;color:#fff;border-color:#ffffff29;box-shadow:none}
body .site-header .phone small{display:none}
body .site-header-actions{gap:10px}
body .site-header #notificationBell{position:relative;inset:auto;transform:none;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #ffffff29;border-radius:15px;background:#ffffff0a;color:#f2c854;box-shadow:none;z-index:auto}
body .site-header #notificationBell .bell-icon{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;background:transparent;box-shadow:none}
body .site-header #notificationBell .bell-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body .site-header #notificationBell svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
.esj-header-gift{font:650 12px/1.4 system-ui;text-decoration:none;display:flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:14px;background:#ed742f;color:#21170d}
.esj-bottom-dock{display:contents}
body .main-nav{display:flex;position:sticky;top:var(--esj-header-height);z-index:42;gap:4px;justify-content:center;background:#fffdfaf7;border-block:1px solid #e8e0d5;backdrop-filter:blur(18px)}
body .main-nav :is(a,button){position:relative;white-space:nowrap;display:flex;align-items:center;gap:8px;text-decoration:none;font:650 12px/1.4 system-ui;background:transparent;border:0;border-radius:12px;color:#35302a}
body .main-nav .nav-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}
body .main-nav .is-active{background:#29251e;color:#fff;box-shadow:inset 0 -2px #ed742f}
body .main-nav .esj-nav-points{position:absolute;top:0;right:3px;min-width:21px;padding:2px 5px;border:2px solid #fffdf9;border-radius:20px;font:750 10px/1.2 system-ui;background:#25221c;color:#fff}
.esj-quick-checkout{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;justify-content:center;align-items:center;gap:12px;min-width:210px;min-height:54px;padding:12px 20px;border-radius:18px;border:1px solid #eb6822;background:#ed742f;color:#21170d;box-shadow:0 8px 28px #6f310d25;font:750 14px/1.4 system-ui;text-decoration:none}
.esj-quick-checkout svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
body.modal-open .esj-quick-checkout{display:none}
body[data-public-route=menu] main{max-width:1600px}
body #menu{padding-top:24px}
body #menu>.section-heading{align-items:center;margin-bottom:10px}
body #menu>.section-heading h2{font-size:clamp(27px,2.7vw,36px);margin:0}
body #menu>.section-heading :is(.eyebrow,.menu-intro){display:none}
body #menu .catalog-badge{font-size:11px;padding:6px 10px}
body[data-menu-layout=sections] #menu .menu-results{padding:0;margin:0}
body[data-menu-layout=sections] #menu:not([data-menu-search=true]) .menu-results>div{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
body[data-menu-layout=sections] #menu[data-menu-search=true] #categoryTitle{display:none}
body #menu .menu-tools{top:calc(var(--esj-chrome-height) + 12px)!important}
body #menu .explorer-intro{font-size:12px;margin-bottom:18px;gap:9px}
body #menu .explorer-pickup{padding:4px 8px;border-radius:8px;background:#fff0df}
body #menu .menu-picks>header{margin-bottom:11px}
body #menu .menu-picks .eyebrow{display:none}
body #menu .menu-picks h3{font-size:21px}
body #menu .menu-category-section{margin-bottom:27px}
.esj-clickable-card{cursor:pointer}
.esj-clickable-card:focus-within{outline:2px solid #bf5d22;outline-offset:3px}
.esj-option-section{border:1px solid #e8ded2;border-radius:19px;padding:0 18px;margin-bottom:12px;background:#fff}
.esj-option-section>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;cursor:pointer;list-style:none;padding:18px 0;font:750 15px/1.4 system-ui}
.esj-option-section>summary::-webkit-details-marker{display:none}
.esj-option-section>summary::after{content:'+';font-size:21px;font-weight:400;color:#a44c1b}
.esj-option-section[open]>summary::after{content:'−'}
.esj-option-section summary small{display:block;font:450 11px/1.5 system-ui;color:#857769;margin-top:5px}
.esj-option-section [data-option-summary]{margin-left:auto;max-width:38%;font:650 11px/1.4 system-ui;color:#97501f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esj-option-section fieldset{padding:0 0 18px;margin:0;border:0}
.esj-option-section .choice{padding:12px;min-height:50px;border-radius:13px}
.esj-option-section .choice strong{font:650 13px/1.4 system-ui}
.esj-option-section .choice:has(input:checked){border-color:#c87838;background:#fff4e8}
.esj-option-section .is-limit-reached{opacity:.45;cursor:default}
.esj-option-section input{accent-color:#b45a20}
body #cartBenefits{border:0;background:transparent;padding:0}
.esj-wallet-accordion{border:1px solid #e6d6c3;border-radius:18px;background:#fffbf5;overflow:hidden;margin:18px 0}
.esj-wallet-accordion>summary{display:flex;align-items:center;gap:12px;padding:17px;cursor:pointer;list-style:none;font:700 14px/1.5 system-ui}
.esj-wallet-accordion>summary::-webkit-details-marker{display:none}
.esj-wallet-accordion>summary:after{content:'+';margin-left:auto;color:#a54c1c;font-size:22px}
.esj-wallet-accordion[open]>summary:after{content:'−'}
.esj-wallet-accordion>summary small{display:block;font:450 11px/1.6 system-ui;color:#857260}
.esj-wallet-body{padding:0 17px 17px;border-top:1px solid #eee0ce}
.esj-wallet-body .benefit-fields{padding-top:16px}
.esj-wallet-body p{font-size:11px;line-height:1.6}
body[data-public-route=checkout] #checkoutNotice{border:1px solid #e7ddcf;border-radius:14px;background:#faf6ef;color:#6b543e;padding:12px 15px;font-size:12px}
body[data-public-route=checkout] .page-heading{padding-top:25px;margin-bottom:8px}
body[data-public-route=checkout] .page-heading h1{font-size:clamp(30px,3.2vw,44px)}
.esj-known-customer{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid #e5d6c4;border-radius:16px;background:#fffbf4;margin-bottom:18px}
.esj-known-customer strong{display:block;font:700 14px/1.4 system-ui}.esj-known-customer span{display:block;font:450 12px/1.6 system-ui;color:#796957}
body .gift-page-header :is(a,small){color:inherit}
body .checkout-header-actions>a{color:#fff}
body:not([data-public-route=rewards]) .esj-home-gift{display:none}
.esj-home-gift{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:40px;margin:32px 0;border:1px solid #eadac5;border-radius:26px;background:linear-gradient(125deg,#fffaf2,#f5e9d7)}
.esj-home-gift h2{font-size:36px}.esj-home-gift p:not(.eyebrow){font-size:14px;color:#746754}.esj-home-gift .text-button{margin-left:14px;font-size:12px}
.esj-home-gift img{width:100%;max-width:360px;justify-self:center;filter:drop-shadow(0 18px 15px #34230f24);transform:rotate(-5deg);border-radius:20px}
@media(min-width:1000px){
 body .main-nav{padding:6px 16px}
 body .main-nav :is(a,button){font-size:12px;padding:10px 18px;min-height:44px}
 body[data-menu-layout=sections] #menu{grid-template-columns:200px minmax(0,1fr);column-gap:25px}
 body #menu .categories{max-height:calc(100dvh - var(--esj-chrome-height) - 120px)}
 body #menu .product-grid{gap:12px}
 body[data-menu-style=horizontal] #menu :is(.explorer-grid,#products.product-grid)>.product-card{height:170px;grid-template-columns:minmax(0,1.3fr) minmax(110px,.9fr)}
 body #menu .product-copy{padding:14px}
 body #menu .product-copy h3{font:750 15px/1.35 system-ui;margin-bottom:7px}
 body #menu .product-copy p{font-size:11px;line-height:1.5;-webkit-line-clamp:3}
 body #menu .product-bottom strong{font-size:15px}
 body[data-menu-style=classic] #menu :is(.explorer-grid,#products.product-grid) .product-visual{height:140px}
 body[data-menu-layout=sections][data-menu-style=classic] #menu .menu-picks .product-card{flex-basis:155px;max-width:155px}
 body[data-menu-layout=sections][data-menu-style=classic] #menu .menu-picks .product-visual{height:120px;min-height:120px}
 body[data-menu-layout=sections][data-menu-style=classic] #menu .menu-picks .product-bottom button{top:78px}
 .gift-preview{top:calc(var(--esj-chrome-height) + 20px)}
}
@media(min-width:1280px){body #menu :is(.explorer-grid,#products.product-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1800px){body #menu :is(.explorer-grid,#products.product-grid){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:999px){
 body .site-header,body .checkout-header,body .gift-page-header{min-height:72px;padding:calc(12px + env(safe-area-inset-top,0px)) 16px 12px;gap:10px}
 body .site-header .brand{gap:8px;font-size:12px}
 body .site-header .brand img{width:34px;height:40px}
 body .site-header .brand small{font-size:6px;letter-spacing:.8px}
 body .site-header .phone{display:grid;place-items:center;width:42px;height:42px;padding:10px}
 body .site-header .phone>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body .site-header-actions{gap:7px}
 body .site-header .esj-header-gift{display:none}
 body .esj-bottom-dock{display:flex;position:fixed;inset:auto 0 0;align-items:center;flex-direction:column;gap:12px;z-index:40;pointer-events:none}
 body .esj-bottom-dock>.main-nav{position:relative;inset:auto;display:flex;justify-content:center;width:100%;margin:0;padding:6px 5px calc(8px + env(safe-area-inset-bottom,0px));gap:0;border-radius:20px 20px 0 0;pointer-events:auto;background:#fffdfaf7}
 body .main-nav :is(a,button){display:flex;align-items:center;justify-content:center;flex:1;flex-direction:column;gap:4px;min-width:0;max-width:125px;min-height:52px;padding:8px 2px;font-size:10px;border-radius:13px}
 body .main-nav span{font-size:10px}
 body .main-nav .nav-icon,body .main-nav .cart-symbol{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}
 body .main-nav .esj-nav-points{right:calc(50% - 25px);top:0}
 body .esj-bottom-dock>.esj-quick-checkout{position:relative;inset:auto;width:calc(100% - 28px);max-width:580px;pointer-events:auto;min-height:52px;border-radius:17px;margin:0 14px}
 body>footer{padding-bottom:calc(var(--esj-dock-height) + 28px)}
 body #menu .menu-tools{top:var(--esj-header-height)!important;z-index:30}
 body #menu>.section-heading{flex-wrap:wrap}
 body #menu .section-heading h2{font-size:28px}
 body #menu .categories{max-height:none}
 body[data-public-route=checkout] main{padding-inline:12px}
 body[data-public-route=checkout] .page-heading h1{font-size:30px}
 body .checkout-header .brand{gap:8px;font-size:11px}
 body .checkout-header .brand img{width:30px;height:36px}
 body .checkout-header-actions>a{font-size:10px}
 .esj-option-section{padding-inline:14px}
 .esj-option-section>summary{gap:8px;font-size:14px}
 .esj-home-gift{padding:28px 22px;grid-template-columns:1fr;gap:30px}.esj-home-gift h2{font-size:30px}.esj-home-gift img{max-width:280px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{transition:none}}

body #floatingAccount{display:none}
body #productDialog{height:auto;max-height:calc(100dvh - 40px)}
body #productDialog[open]>form#productForm{flex:0 1 auto;max-height:calc(100dvh - 42px)}
body #productForm>.dialog-scroll{flex:0 1 auto}
.esj-home-gift[hidden],.esj-known-customer[hidden]{display:none!important}

@media(max-width:999px){
 body #menu .product-copy h3{font:750 14px/1.35 system-ui}
 body[data-menu-layout=sections][data-menu-style=classic] #menu .menu-picks .product-visual{height:120px;min-height:120px}
 body[data-menu-layout=sections][data-menu-style=classic] #menu .menu-picks .product-bottom button{top:78px}
 body[data-public-route=checkout] .page-heading{padding:20px 4px 16px}
 body[data-public-route=checkout] .page-heading>.eyebrow{display:none}
 body[data-public-route=checkout] .page-heading h1{font-size:26px;margin-bottom:8px}
 body[data-public-route=checkout] .page-heading>p:not(.eyebrow){font-size:12px;margin-bottom:0}
 body[data-public-route=checkout] .checkout-steps{margin:14px auto 0}
 body[data-public-route=checkout] .checkout-steps li{flex-direction:row;justify-content:center;font-size:10px;gap:6px}
 body[data-public-route=checkout] .checkout-steps li::after{display:none}
 body[data-public-route=checkout] .step-number{width:26px;height:26px;font-size:11px;flex:none}
 body[data-public-route=checkout] .card-heading{padding:20px 22px 16px}
 body[data-public-route=checkout] .card-heading h2{font-size:25px}
}
