:root{--paper:#f8f7f0;--white:#fffefa;--green:#234330;--deep:#193626;--soft:#edf0e4;--olive:#606b5f;--line:#e5e5d9;--ink:#232e24;--accent:#bd6338;--peach:#f8e9db;--radius:18px;--shadow:0 5px 16px #26362a0b;--font:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.55}
body:has(dialog[open]){overflow:hidden}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer;color:inherit}
button:disabled{opacity:.48;cursor:not-allowed}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid #bb683b;outline-offset:4px}
[hidden],.svg-library{display:none!important}
.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}
.topbar{position:sticky;top:0;z-index:4;border-bottom:1px solid #e8e7dc;background:#fbfaf4f5;backdrop-filter:blur(12px)}
.head-inner{height:73px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:inline-flex;align-items:center;flex:none}
.brand-logo{display:block;width:150px;height:auto;border-radius:5px}
.top-nav,.head-actions{display:flex;align-items:center;gap:32px}.top-nav{height:100%}
.top-nav>*{display:flex;align-items:center;height:100%;padding:0 4px;background:none;border:0;position:relative;font-weight:650;white-space:nowrap;color:#586457}
.top-nav [aria-current]{color:var(--green)}.top-nav [aria-current]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:var(--green)}
.head-actions{gap:12px}
.account,.head-cart,.text-button{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:700}
.language-toggle{display:grid;place-items:center;flex:none;min-width:40px;min-height:36px;padding:0 7px;border:1px solid #dce2d6;border-radius:9px;background:var(--soft);color:var(--green);font-size:12px;font-weight:850;white-space:nowrap}
.language-toggle:hover,.language-toggle:active{background:#dce7d8}
.account{background:transparent;border:0;padding:8px;color:var(--green);max-width:160px;white-space:nowrap}.account span{overflow:hidden;text-overflow:ellipsis}
.head-cart{border:0;background:var(--green);color:white;border-radius:12px;min-width:61px;padding:9px 12px}
.head-cart .icon{width:18px;height:18px}
.hero-carousel{position:relative;isolation:isolate;overflow:hidden;margin:28px 0 18px;background:#243f2c;border-radius:25px;color:#f7f4e7}
#hero-slides{display:grid;touch-action:pan-y pinch-zoom}
.hero{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:1fr 1.08fr;grid-area:1/1;margin:0;background:#243f2c;color:#f7f4e7;border-radius:25px;min-height:360px}
.hero-slide[aria-hidden="true"]{visibility:hidden;pointer-events:none}
.hero-carousel.is-ready .hero-slide[aria-hidden="false"]{animation:hero-reveal .3s ease-out}
.hero::before{content:"";position:absolute;z-index:-1;inset:0 48% 0 0;background:radial-gradient(ellipse at 12% 100%,#3e5840 0%,transparent 68%),repeating-radial-gradient(ellipse at 5% 95%,transparent 0 15px,#ffffff08 16px 17px,transparent 18px 34px)}
.hero-content{align-self:center;min-width:0;padding:36px clamp(30px,5vw,72px) 94px;position:relative;z-index:2}
.hero-eyebrow{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.15em;color:#dae1c8}
.hero-eyebrow>span,.hero-picture i{display:inline-block;width:6px;height:6px;border-radius:100%;background:#eaac76}
h1,h2,h3,p{margin:0}h1{margin:14px 0 11px;line-height:1.13;font-size:clamp(39px,5vw,68px);letter-spacing:.03em;font-weight:900}
.hero-title{margin:14px 0 11px;line-height:1.13;font-size:clamp(39px,5vw,68px);letter-spacing:.03em;font-weight:900;white-space:pre-line;overflow-wrap:anywhere}
h1 em,.hero-title em{color:#d9e5bb;font-style:normal}.hero p{font-size:14px;color:#e1e5d5}
.hero-button{display:inline-flex;align-items:center;gap:8px;height:44px;min-height:44px;margin-top:16px;border:1px solid #e9eedb66;background:#e9eedb14;color:#f5f6e9;border-radius:999px;padding:0 14px;font-size:13px;font-weight:700;white-space:nowrap}
.hero-button>span{text-decoration:none}
.hero-button .icon{width:15px;height:15px}.hero-button:hover{background:#e9eedb26;border-color:#f5f6e9a6;color:white}.hero-button:active{background:#e9eedb33}.hero-button:focus-visible{outline:2px solid #f3cc9c;outline-offset:2px}
.hero-picture{position:relative;overflow:hidden;min-height:100%}.hero-picture img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:50% 49%}
.hero-picture::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#243f2c 0%,#243f2c65 12%,transparent 39%)}
.hero-picture span{position:absolute;z-index:1;right:22px;bottom:82px;border:1px solid #ffffff62;backdrop-filter:blur(12px);background:#1e2b1eaa;border-radius:30px;padding:7px 12px;color:#fff9e8;font-size:11px;letter-spacing:.05em}
.hero-picture span b{margin-left:5px}.hero-picture span em{font-style:normal}.hero-picture i{margin-right:4px;vertical-align:middle}
.hero-controls{position:absolute;z-index:3;left:16px;right:16px;bottom:12px;display:flex;align-items:center;justify-content:space-between;background:transparent;backdrop-filter:none;border-radius:12px}
.hero-arrows,.hero-dots{display:flex;align-items:center;flex:none;gap:0}
.hero-dots{flex:0 1 auto;min-width:0;max-width:calc(100% - 132px);overflow-x:auto;scrollbar-width:none}.hero-dots::-webkit-scrollbar{display:none}
.hero-carousel[data-slide-count="1"] .hero-content{padding-bottom:36px}
.carousel-control,.carousel-dot{display:grid;place-items:center;width:44px;height:44px;min-width:44px;flex:none;border:0;border-radius:10px;background:transparent;color:#f4f5e7;padding:0;touch-action:manipulation}
.carousel-control:hover,.carousel-control:active,.carousel-dot:hover{background:#ffffff1c}.carousel-control:focus-visible,.carousel-dot:focus-visible{outline-color:#f3cc9c;outline-offset:-4px}
.carousel-control .icon{width:21px;height:21px;filter:drop-shadow(0 1px 2px #0009)}.carousel-dot>span{width:7px;height:7px;border-radius:99px;background:#ffffff66;box-shadow:0 1px 3px #0006;transition:width .2s ease,background .2s ease}.carousel-dot[aria-current="true"]>span{width:22px;background:#e5edcd}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes hero-reveal{from{opacity:.45}to{opacity:1}}
.delivery-bar{display:flex;align-items:center;gap:13px;padding:12px 16px;background:#eff0e5;border:1px solid #e6e8d9;border-radius:14px}
.delivery-icon{background:#dfe7d7;color:#34583e;width:36px;height:36px;display:grid;place-items:center;border-radius:10px;flex:none}
.delivery-bar strong,.delivery-bar small{display:block}.delivery-bar strong{color:var(--green);font-size:13px}.delivery-bar small{color:var(--olive);font-size:12px;margin-top:1px}
.text-button{margin-left:auto;color:var(--green);border:0;background:none;font-size:12px;padding:6px 1px;white-space:nowrap}.text-button .icon{width:15px;height:15px}
.shop-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border:1px solid #ebd8bd;border-radius:12px;background:#fbf0dc;color:#755331;font-size:12px}
.shop-status .secondary{flex:none}
.menu-section{margin-top:33px;scroll-margin-top:93px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:15px}
#menu-content{scroll-margin-top:85px}
.eyebrow{font-size:10px;letter-spacing:.21em;color:#6d795e;font-weight:850;margin-bottom:5px}
.section-heading h2{font-size:clamp(25px,3.4vw,34px);font-weight:900;line-height:1.24;letter-spacing:.055em;color:var(--deep)}
.search{display:flex;align-items:center;gap:7px;background:var(--white);padding:0 8px 0 11px;border:1px solid var(--line);color:var(--olive);border-radius:10px;width:min(100%,230px);min-height:40px}
.search .icon{width:17px;height:17px}.search input{width:100%;min-width:0;background:none;border:0;color:var(--ink);outline:none}.search:focus-within{outline:2px solid #9bab8f}
.search input::-webkit-search-cancel-button{appearance:none}
.search button{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:8px;background:none;color:var(--green);padding:0}
.search button:active{background:var(--soft)}
.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:24px}
.menu-main{min-width:0}
.promotions{margin:0 0 15px;padding:12px 14px;background:#fcf1e5;border:1px solid #efdbca;border-radius:15px}
.promo-heading{display:flex;align-items:center;gap:10px;color:#783f27}
.promo-heading h3{font-size:19px;line-height:1.2}.promo-heading .eyebrow{color:#935437;margin-bottom:2px}
.promo-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#f6dec9;color:#984727;flex:none}
.promo-empty{margin-top:7px;color:#755943;font-size:12px}
.promo-dishes{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(155px,30%,250px);gap:10px;overflow-x:auto;margin:10px -3px 0;padding:3px 3px 7px;scroll-padding-inline:3px;scroll-snap-type:inline proximity;scrollbar-width:thin;scrollbar-color:#cc9f83 transparent}
.promo-dishes .dish{scroll-snap-align:start;border-color:#ead6c5}
.promo-dishes .add{background:#f5e2d2;color:#834329}.promo-dishes .add:hover{background:#efd4bd}
.categories{display:flex;gap:6px;overflow-x:auto;padding:0 0 7px;scrollbar-width:thin;scrollbar-color:#cdd5c5 transparent}
.categories button{flex:0 0 auto;border:1px solid #e5e6da;background:var(--white);color:#4d5e4f;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}
.categories button:focus-visible{outline-offset:-4px}
.categories .active{background:var(--green);color:white;border-color:var(--green)}
.category-title{display:flex;align-items:center;gap:9px;color:var(--green);margin:18px 0 11px;font-size:18px;line-height:1.45}
.category-title::before{content:"";width:5px;height:17px;border-radius:4px;background:#b4c4a5}.category-title small{font-weight:500;font-size:11px;color:var(--olive)}
.dishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dish{min-width:0;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.dish[id]{scroll-margin-top:90px}
.dish-photo{position:relative;background:var(--soft);aspect-ratio:1.52;overflow:hidden}
.dish-photo img{width:100%;height:100%;display:block;object-fit:cover}
.dish .member-tag,.dish .offer-tag{position:absolute;top:8px;left:8px;padding:3px 6px;font-size:10px;border-radius:5px;font-weight:800}
.dish .member-tag{background:#f5ebd4;color:#794b32}.dish .offer-tag{background:#9a4727;color:#fff9f0}
.dish-body{padding:10px 11px 11px;display:flex;flex-direction:column;flex:1}
.dish h4{margin:0;font-size:15px;font-weight:850;line-height:1.32;color:var(--deep)}
.dish .en{margin:4px 0 8px;min-height:1.3em;color:#68766a;font-size:10px;line-height:1.25}
.dish-foot{display:flex;align-items:end;justify-content:space-between;gap:4px;margin-top:auto}
.dish-price{min-width:0}.dish-price strong{font-size:15px;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.dish-price small{display:block;color:#955432;font-size:10px;white-space:nowrap}
.dish-price strong .price-label{font-size:.74em}.price-amount{display:inline-block;white-space:nowrap}.dish-price .offer-price{color:#a24524}.dish-price .regular-price{color:var(--olive)}
.add,.step button,.close{display:grid;place-items:center;border:0;border-radius:9px;color:var(--green);background:var(--soft);padding:0}
.add{width:31px;height:31px;flex:none}.add:hover,.step button:hover,.close:hover{background:#dce7d8}
.add .icon{width:17px;height:17px}
.basket{position:sticky;top:94px;background:var(--white);padding:17px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.basket-heading{display:flex;align-items:center;gap:9px;color:var(--green);border-bottom:1px solid #eeeee3;padding-bottom:12px}
.basket-heading h3{font-size:17px;margin:0;font-weight:850}.count{margin-left:auto;background:var(--soft);padding:1px 7px;border-radius:12px;font-size:11px;font-weight:750}
.basket-empty{text-align:center;color:#637160;padding:19px 0 18px}.basket-empty .icon{width:21px;height:21px;color:#708b70}
.empty-icon{margin:0 auto 7px;display:grid;place-items:center;width:42px;height:42px;background:#eff1e8;border-radius:13px}
.basket-empty p{font-weight:750;font-size:12px;color:#475e48}.basket-empty small{font-size:11px}
.cart-rows{list-style:none;padding:0;margin:0;max-height:310px;overflow-y:auto}
.cart-row{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:11px 0;border-bottom:1px solid #eeeee3}
.cart-row>div:first-child{min-width:0;flex:1;overflow-wrap:anywhere}.cart-row>strong{flex:none;white-space:nowrap}
.cart-row strong{font-size:12px}.cart-row small{display:block;color:var(--olive);font-size:11px}
.step{display:flex;align-items:center;gap:6px;flex:none;font-size:12px;white-space:nowrap}.step button{width:25px;height:25px}.step .icon{width:14px;height:14px}
.cart-row .cart-preference{color:var(--green);font-weight:700;margin-block:3px}.cart-line-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:112px;align-items:center;justify-items:end;gap:3px;flex:none}.line-edit,.line-remove{border:0;background:none;color:var(--green);font-size:11px;font-weight:750;padding:5px 3px;text-decoration:underline;text-underline-offset:3px;min-height:32px}.line-remove{color:#8a5036;grid-area:1/2}.cart-line-actions .step{gap:4px;grid-column:1/-1;grid-row:2}
.option-dialog{width:min(470px,calc(100% - 26px))}.option-photo{width:100%;max-height:155px;object-fit:cover;border-radius:12px}.preference-field{min-width:0;border:0;margin:0;padding:0}.preference-field legend{font-weight:800;margin-bottom:8px;color:var(--green)}.preference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form .preference-choice{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fcfdf8;font-size:13px}.form .preference-choice:has(input:checked){border-color:var(--green);background:var(--soft)}.form .preference-choice input{width:18px;height:18px;min-height:0;margin:0;flex:none;accent-color:var(--green)}.option-quantity{display:flex;align-items:center;justify-content:space-between;gap:10px}.option-quantity .step button{width:44px;height:44px}.option-quantity output{min-width:26px;text-align:center}.dish-options>.primary{min-height:48px;justify-content:space-between}
dialog[data-view="checkout"]{height:min(860px,calc(var(--shop-viewport-height,100dvh) - 30px));overflow:hidden}dialog[data-view="checkout"]>.dialog-frame{height:100%;display:flex;flex-direction:column;padding-bottom:0}dialog[data-view="checkout"] .dialog-head{flex:none}dialog[data-view="checkout"] #dialog-body{flex:1;min-height:0;overflow:hidden}.form.checkout-form{display:flex;flex-direction:column;gap:0;height:100%;min-height:0}.checkout-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1;padding:0 2px 14px;display:grid;align-content:start;gap:12px;scroll-padding-block:12px 24px}.checkout-section{min-width:0;padding:12px;background:#f5f6ef;border:1px solid var(--line);border-radius:12px}.checkout-section>h3{font-size:14px;color:var(--green);margin:0 0 10px}.checkout-section>.hint{margin-top:8px}.checkout-section .location-text{padding:0;background:none;margin-bottom:8px}.checkout-section .cart-rows{max-height:none;overflow:visible}.checkout-section .cart-row:last-child{border-bottom:0}.checkout-notes>span{font-size:14px}.checkout-notes textarea{background:var(--white);min-height:80px}.checkout-footer{flex:none;margin-inline:-20px;padding:10px 20px max(12px,env(safe-area-inset-bottom));background:var(--white);border-top:1px solid var(--line);box-shadow:0 -6px 18px #26362a0b}.checkout-footer-row{display:flex;align-items:center;gap:12px}.checkout-footer-row>div{flex:none;min-width:84px}.checkout-footer-row small,.checkout-footer-row strong{display:block}.checkout-footer-row small{font-size:11px;color:var(--olive)}.checkout-footer-row strong{font-size:21px;color:var(--green);white-space:nowrap}.checkout-footer-row .primary{flex:1;min-height:48px;font-size:13px;padding:8px 10px}.checkout-footer .error,.checkout-footer .success{margin-bottom:7px}.checkout-footer .error{max-height:76px;overflow:auto}
.basket-total,.receipt-total{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;font-size:12px;font-weight:750;color:var(--olive);border-top:1px solid #eeeee3}
.basket-total strong,.receipt-total strong{font-size:17px;color:var(--deep)}
.primary{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;border:0;background:var(--green);color:white;font-weight:800;border-radius:10px;padding:10px 13px}
.primary:not(:disabled):hover,.head-cart:hover{background:#345a40}.primary .icon{width:16px;height:16px}
.basket-note{text-align:center;display:block;margin-top:8px;color:var(--olive);font-size:10px}
.empty{padding:32px 15px;text-align:center;color:var(--olive);border:1px dashed #d8dfd0;border-radius:12px;background:#f2f2e9}
.empty button{display:block;margin:10px auto 0}
.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:18px 0 24px;margin-top:38px;color:var(--olive);font-size:12px}
.footer-mark{width:75px;flex:none}
.staff-links{margin-left:auto;display:flex;gap:14px}.staff-links a:hover{text-decoration:underline}
.mobile-basket{display:none}
dialog{border:1px solid var(--line);width:min(470px,calc(100% - 26px));max-height:calc(100% - 30px);overflow:auto;color:var(--ink);border-radius:20px;padding:0;background:var(--white);box-shadow:0 18px 90px #17261844}
dialog::backdrop{background:#15271980;backdrop-filter:blur(3px)}
.dialog-frame{padding:20px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.dialog-head h2{min-width:0;color:var(--deep);font-size:21px;line-height:1.25;overflow-wrap:anywhere}.dialog-actions{display:flex;align-items:center;gap:6px;flex:none}.close{width:33px;height:33px}.close .icon{width:16px;height:16px}
.dialog-frame,#dialog-body,.form,.form label,.stack,.receipt{min-width:0}
#dialog-body{overflow-wrap:anywhere}
.form{display:grid;gap:12px}.form label{display:grid;gap:5px;font-weight:750;font-size:12px;color:var(--green)}
.form input,.form textarea,.form select{width:100%;min-width:0;padding:9px 10px;border:1px solid #d9dfd3;background:#fcfdf8;border-radius:9px;color:var(--ink)}
.delivery-slots{min-width:0;margin:12px 0 0;padding:0;border:0}.delivery-slots legend{margin-bottom:7px;font-size:12px;font-weight:750;color:var(--green)}
.slot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.form .slot-option{display:flex;align-items:center;gap:8px;min-height:56px;padding:9px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:#fcfdf8}.form .slot-option:has(input:checked){border-color:var(--green);background:var(--soft)}.form .slot-option:has(input:disabled){color:var(--olive);background:#f1f1eb;cursor:not-allowed}.form .slot-option input{width:18px;height:18px;min-height:0;flex:none;margin:0;accent-color:var(--green)}.slot-option>span{min-width:0}.slot-option strong,.slot-option small{display:block}.slot-option small{font-size:11px;font-weight:500}
.form input[type="hidden"]{display:none}
.account-email{padding:10px 12px;border:1px solid var(--line);border-radius:10px;overflow-wrap:anywhere}.account-email small{color:var(--olive)}
[data-email-configuration]:empty{display:none}
.resend-code{margin-top:14px;width:100%}
.form textarea{resize:vertical;min-height:70px}.form input[readonly]{background:var(--soft)}
.form .hint,.hint{color:var(--olive);font-size:12px;font-weight:500}.form .error{color:#932f28;font-weight:700;font-size:12px}.form .success{color:var(--green);font-size:12px;font-weight:750}
.dialog-switch{margin:12px 0 0;display:flex;align-items:center;justify-content:center;gap:5px;color:var(--olive);font-size:12px}
.link-button{border:0;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:2px;font-weight:800;padding:4px}
.secondary{border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--green);padding:8px 11px;font-size:12px;font-weight:750}
.inline-alert{padding:10px 12px;background:#f7efdf;color:#775331;border-radius:8px;font-size:12px;margin-bottom:12px}
.location-text{background:var(--soft);padding:8px 10px;border-radius:8px;color:var(--green);font-size:12px}
.stack{display:grid;gap:10px}.receipt{border:1px solid var(--line);border-radius:12px;padding:10px 12px}.receipt summary{cursor:pointer;display:flex;justify-content:space-between;gap:8px;color:var(--green);font-weight:800}
.receipt summary>span:first-child{min-width:0;overflow-wrap:anywhere}.receipt small{color:var(--olive);font-size:11px;display:block;font-weight:500}.receipt .cart-row{border:0;padding:4px 0}.receipt .cart-rows{padding:9px 0}.receipt-total{padding-bottom:0}
.status-pill{display:inline-block;background:var(--soft);border-radius:999px;padding:2px 7px;font-size:11px;white-space:nowrap;align-self:start}
.payment-detail{display:grid;gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:12px;color:var(--green);overflow-wrap:anywhere}
.payment-detail .inline-alert{margin:0}.payment-detail .primary{margin-top:4px}
.order-history{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--green)}
.order-history ol{list-style:none;margin:8px 0 0;padding-left:12px;border-left:2px solid #dce5d5}.order-history li{position:relative;margin-bottom:12px;padding-left:6px;overflow-wrap:anywhere}
.order-history li::before{content:"";position:absolute;left:-17px;top:6px;width:8px;height:8px;border-radius:50%;background:#82977b}.order-history li p{margin-top:3px}.order-history small{margin-top:3px}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}.pagination>span{font-size:11px;color:var(--olive);text-align:center}.pagination .secondary{min-width:72px;min-height:40px;flex:none}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:6;width:max-content;max-width:calc(100% - 24px);background:var(--deep);color:white;border-radius:9px;padding:9px 14px;font-weight:750;font-size:12px;box-shadow:var(--shadow);text-align:center;overflow-wrap:anywhere}
.toast:has(.toast-undo){display:flex;align-items:center;gap:10px;padding:6px 8px 6px 12px;text-align:left}.toast>span{min-width:0}.toast-undo{min-width:74px;min-height:44px;flex:none;border:1px solid #ffffff66;border-radius:7px;background:#ffffff17;color:white;padding:6px 10px;font-size:12px;font-weight:800;touch-action:manipulation}.toast-undo:focus-visible{outline-color:white;outline-offset:2px}
.dialog-toast{position:sticky;bottom:0;left:auto;transform:none;width:auto;max-width:100%;margin-top:10px}
@media(max-width:1050px){.container{width:calc(100% - 44px)}.menu-layout{grid-template-columns:minmax(0,1fr) 250px;gap:15px}.hero{min-height:330px}}
@media(max-width:850px){.menu-layout{grid-template-columns:minmax(0,1fr) 230px}.dishes{grid-template-columns:repeat(2,minmax(0,1fr))}.promo-dishes{grid-auto-columns:45%}.hero-content{padding-inline:30px}.top-nav{gap:14px}}
@media(max-width:680px){
 :root{--mobile-header:calc(59px + env(safe-area-inset-top));--mobile-bottom:max(8px,env(safe-area-inset-bottom));--mobile-cart-height:52px}
 .container{width:auto;margin-left:max(12px,env(safe-area-inset-left));margin-right:max(12px,env(safe-area-inset-right))}.topbar{padding-top:env(safe-area-inset-top)}
 .head-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;height:58px;gap:6px}.brand{min-height:44px;min-width:0}.brand .brand-logo{width:clamp(64px,24vw,112px);max-width:100%}
 .top-nav{margin-left:auto}.top-nav>*{font-size:12px;padding:0 3px}.top-nav a{display:none}
 .language-toggle{min-width:44px;min-height:44px}
 .head-actions{gap:4px;min-width:0}.account{padding:0;width:44px;min-width:44px;max-width:44px;flex:none;border:1px solid var(--line);border-radius:9px}.account #account-label{display:none}.account .icon{width:20px;height:20px}
 .head-cart{min-width:44px;gap:3px;flex:none;padding:6px 7px;border-radius:8px;font-size:12px}.head-cart .icon{width:15px;height:15px}
 .hero-carousel{margin-top:12px;margin-bottom:10px;border-radius:16px}.hero{height:160px;min-height:0;grid-template-columns:1.05fr 1fr;border-radius:16px}.hero-content{align-self:stretch;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:8px 0 54px 12px;margin-right:0}.hero h1,.hero .hero-title{flex:none;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;white-space:normal;font-size:clamp(19px,5.3vw,22px);line-height:1.1;margin:0}.hero p,.hero-eyebrow{display:none}.hero-button{flex:none;min-height:44px;margin-top:0;padding:0 12px;font-size:12px;gap:7px}.hero-button .icon{width:14px;height:14px}.hero-picture img{object-position:46% 52%}.hero-picture span{right:7px;bottom:60px;padding:4px 6px;font-size:8px}.hero-picture span b{margin-left:2px}.hero-picture i{width:4px;height:4px;margin-right:2px}
 .hero-controls{left:6px;right:6px;bottom:6px}
 .hero-carousel[data-slide-count="1"] .hero-content{padding-bottom:8px}
 .hero-picture>span{max-width:calc(100% - 14px);white-space:normal;line-height:1.35}.hero-picture span b{display:block;margin-left:0}
 .delivery-bar{padding:8px;gap:7px}.delivery-bar>div{min-width:0;flex:1;overflow-wrap:anywhere}.delivery-icon{width:29px;height:29px}.delivery-icon .icon{width:16px;height:16px}.delivery-bar strong{font-size:12px}.delivery-bar small{font-size:11px}.text-button{flex:none;font-size:12px;gap:4px;padding-inline:7px;border-radius:8px;background:#e1e8d8}
 .menu-section{margin-top:22px;scroll-margin-top:calc(var(--mobile-header) + 11px)}.section-heading{margin-bottom:10px;align-items:center;flex-wrap:wrap}.search{width:100%;padding-inline:10px 2px}.search input{font-size:16px}.search button{width:44px;height:44px}.eyebrow{font-size:8px}.menu-layout{display:block}.basket{display:none}
 .categories{position:sticky;top:var(--mobile-header);z-index:2;margin-inline:-3px;padding:5px 3px 7px;background:var(--paper)}.categories:empty{display:none}.categories button{min-width:44px;font-size:13px}
 #menu-content{scroll-margin-top:calc(var(--mobile-header) + 62px)}
 .dish[id],#promotions{scroll-margin-top:calc(var(--mobile-header) + 62px)}
 .promotions{padding:9px 10px;margin-bottom:10px}.promo-icon{width:31px;height:31px}.promo-icon .icon{width:17px;height:17px}.promo-heading h3{font-size:16px}.promo-dishes{gap:7px;grid-auto-columns:clamp(136px,46%,210px)}
 .dishes{gap:8px}.dish-body{padding:9px}.dish h4{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.dish .en{font-size:10px;line-height:1.4;overflow-wrap:anywhere}
 .dish-foot{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px}.dish-price strong{font-size:13px;white-space:normal}.dish-price .price-label{display:block;line-height:1.4}.dish-price small{font-size:10px;line-height:1.45;white-space:normal}.dish .member-tag,.dish .offer-tag{max-width:calc(100% - 16px);line-height:1.4}
 .add,.step button,.close{width:44px;height:44px}.add .icon,.step .icon{width:18px;height:18px}.category-title{font-size:16px;margin:12px 0 8px}.category-title small{flex:none;white-space:nowrap}
 .add:active,.step button:active,.close:active{background:#cfddcb}.promo-dishes .add:active{background:#edd0b8}
 .account,.head-cart,.hero-button,.text-button,.search,.search input,.categories button,.primary,.secondary,.link-button,.staff-links a,.receipt summary{min-height:44px}
 .footer{margin-top:22px;gap:7px;padding-block:7px;font-size:10px}.staff-links{gap:5px}.staff-links a{display:grid;place-items:center;min-width:44px;text-decoration:underline;text-underline-offset:3px}
 body:has(.mobile-basket:not([hidden])) .footer{margin-bottom:calc(var(--mobile-cart-height) + var(--mobile-bottom) + 9px)}
 .mobile-basket{position:fixed;z-index:3;bottom:var(--mobile-bottom);left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));min-height:var(--mobile-cart-height);background:var(--green);color:white;border:0;border-radius:12px;padding:11px 12px;box-shadow:0 8px 24px #1b2f1d40;display:flex;align-items:center;gap:8px;font-weight:750}
 .mobile-basket>span{min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}.mobile-basket small{font-size:11px;color:#dce6d4}.mobile-basket strong{margin-left:auto;white-space:nowrap;flex:none}.mobile-basket .icon{width:17px;height:17px}
 body:has(dialog[open]) .mobile-basket{visibility:hidden}
 body:has(.mobile-basket:not([hidden])) #toast{bottom:calc(var(--mobile-cart-height) + var(--mobile-bottom) + 8px)}
 dialog{position:fixed;top:calc(var(--shop-viewport-top,0px) + max(8px,env(safe-area-inset-top)));bottom:auto;left:0;right:0;width:calc(100% - max(10px,env(safe-area-inset-left)) - max(10px,env(safe-area-inset-right)));max-height:calc(var(--shop-viewport-height,100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)));margin:0 auto;overscroll-behavior:contain;scroll-padding-block:78px 16px}
 .dialog-frame{padding:0 12px max(12px,env(safe-area-inset-bottom))}.dialog-head{position:sticky;top:0;z-index:2;align-items:start;padding-block:8px;background:var(--white)}.dialog-head h2{font-size:19px;align-self:center}.dialog-actions{gap:4px}.close{flex:none}
 .form input,.form textarea,.form select{font-size:16px;min-height:44px;min-width:0;scroll-margin-block:85px 24px}.form textarea{min-height:88px}.form .slot-option input{min-height:0}.cart-rows{max-height:none;overflow:visible}
 .cart-row{gap:10px;align-items:start;padding-block:12px}.cart-row strong{font-size:13px}.step{gap:4px;align-self:center}.step>span{min-width:20px;text-align:center}
 .cart-line-actions{gap:2px}.line-edit,.line-remove{min-height:44px;padding-inline:3px}.cart-line-actions .step button{width:44px;height:44px}.cart-line-actions .step{gap:2px}.cart-line-actions .step>span{min-width:18px}.cart-line-actions{max-width:112px}.cart-line-actions .line-edit{white-space:normal;line-height:1.3;text-align:right}
 .option-dialog .dialog-frame{padding-bottom:max(12px,env(safe-area-inset-bottom))}.option-photo{max-height:120px}.form .preference-choice input{min-height:0}.preference-grid{gap:6px}.form .preference-choice{padding:8px;font-size:13px}.option-quantity .step button{width:44px;height:44px}
 dialog[data-view="checkout"]{height:calc(var(--shop-viewport-height,100dvh) - max(8px,env(safe-area-inset-top)) - max(8px,env(safe-area-inset-bottom)))}dialog[data-view="checkout"]>.dialog-frame{padding-bottom:0}.checkout-scroll{gap:10px;padding-bottom:10px}.checkout-section{padding:10px}.checkout-footer{margin-inline:-12px;padding:8px 12px max(10px,env(safe-area-inset-bottom))}.checkout-footer-row{gap:8px}.checkout-footer-row>div{min-width:78px}.checkout-footer-row strong{font-size:19px}.checkout-footer-row .primary{min-height:48px;line-height:1.3}.checkout-section .cart-row{gap:6px}.checkout-section .cart-row strong{font-size:13px}.checkout-section .cart-line-actions{max-width:108px}.checkout-section .cart-line-actions .line-remove{min-height:44px}.checkout-section .cart-line-actions .line-edit{min-height:44px}
 .cart-checkout{position:sticky;bottom:calc(-1 * max(12px,env(safe-area-inset-bottom)));z-index:1;margin:8px -12px calc(-1 * max(12px,env(safe-area-inset-bottom)));padding:0 12px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--white);box-shadow:0 -6px 18px #26362a0b}.cart-checkout .basket-total{border:0}.cart-checkout .primary{min-height:48px}
 .status-pill{max-width:48%;white-space:normal;text-align:center}
 .shop-status{align-items:start;flex-wrap:wrap;gap:8px}.shop-status .secondary{min-height:44px}
 .pagination .secondary{min-height:44px;min-width:70px}.dialog-switch{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-carousel.is-ready .hero-slide[aria-hidden="false"]{animation:none}.carousel-dot>span{transition:none}}
