@import url("https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700;9..40,800&display=swap");
@font-face { font-family: "Drunk Painter"; src: url("assets/DrunkPainter.otf") format("opentype"); font-display: swap; }

:root { --ink:#171714; --paper:#f5f1e7; --tomato:#f45425; --green:#41753d; --line:#d6d0c2; --muted:#767167; --shadow:0 18px 42px rgba(22, 19, 14, .16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
@view-transition { navigation:auto; }
html[data-page-transition="to-staff"]::view-transition-old(root) { animation:slide-out-left .42s cubic-bezier(.22,.8,.28,1) both; }
html[data-page-transition="to-staff"]::view-transition-new(root) { animation:slide-in-right .42s cubic-bezier(.22,.8,.28,1) both; }
@keyframes slide-out-left { to { opacity:.75; transform:translateX(-100%); } }
@keyframes slide-in-right { from { opacity:.75; transform:translateX(100%); } }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans", Arial, Helvetica, sans-serif; letter-spacing:0; }
body.is-loading { overflow:hidden; }
button,input,textarea { font:inherit; }
button { cursor:pointer; border-radius:15px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.page-loader { position:fixed; z-index:100; inset:0; display:grid; place-content:center; gap:26px; background:var(--paper); transition:opacity .35s ease, visibility .35s ease; }
.page-loader img { width:min(560px,86vw); height:240px; object-fit:contain; }
.page-loader span { width:70px; height:3px; margin:auto; overflow:hidden; background:var(--line); }
.page-loader span::after { content:""; display:block; width:38%; height:100%; background:var(--tomato); animation:loader-progress 1.1s ease-in-out infinite; }
.page-loader.is-hidden { opacity:0; visibility:hidden; pointer-events:none; }
@keyframes loader-progress { 0% { transform:translateX(-110%); } 100% { transform:translateX(290%); } }
.topbar { position:fixed; z-index:10; top:0; left:0; right:0; height:78px; padding:12px clamp(18px,4vw,58px); display:flex; justify-content:space-between; align-items:center; background:rgba(245,241,231,.5); border-bottom:1px solid rgba(214,208,194,.72); backdrop-filter:blur(14px); }
.topbar-left { display:flex; align-items:center; gap:12px; }
.brand img { display:block; width:155px; height:52px; object-fit:contain; object-position:left center; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.staff-link { display:inline-flex; align-items:center; min-height:38px; color:var(--ink); font-size:13px; font-weight:800; text-decoration:none; }
.staff-link { padding:0 14px; border:1px solid rgba(23,23,20,.78); border-radius:15px; background:rgba(244,84,37,.76); }
.staff-link:hover { background:rgba(255,108,66,.88); }
.language-toggle,.icon-button { border:1px solid var(--ink); background:transparent; color:var(--ink); }
.language-toggle { position:relative; width:82px; height:38px; padding:0 7px; display:flex; align-items:center; justify-content:space-between; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.38); font-size:17px; }
.language-toggle span { position:relative; z-index:1; line-height:1; }
.language-toggle i { position:absolute; z-index:0; top:3px; left:3px; width:30px; height:30px; border-radius:50%; background:var(--paper); box-shadow:0 1px 4px rgba(0,0,0,.2); transition:transform .18s ease; }
.language-toggle.english i { transform:translateX(44px); }
.menu-intro { position:relative; min-height:640px; height:82vh; max-height:820px; margin-top:0; display:flex; align-items:flex-end; overflow:hidden; background:#211b17; }
.hero-image,.hero-scrim { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; object-position:center; }
.hero-scrim { background:linear-gradient(90deg, rgba(17,15,13,.89) 0%, rgba(17,15,13,.6) 38%, rgba(17,15,13,.05) 75%), linear-gradient(0deg, rgba(17,15,13,.64), transparent 42%); }
.intro-content { position:relative; z-index:1; width:min(650px,100%); padding:0 clamp(22px,7vw,112px) clamp(48px,8vw,106px); color:#fff; }
.eyebrow { margin:0 0 10px; color:var(--tomato); font-size:12px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:"Drunk Painter", Impact, sans-serif; font-weight:400; letter-spacing:0; }
h1 { max-width:560px; margin-bottom:14px; font-size:clamp(56px,8vw,120px); line-height:.83; }
.intro-copy { max-width:390px; margin-bottom:28px; color:#f6f2e9; font-size:18px; line-height:1.45; }
.primary-link,.checkout-button { display:inline-flex; align-items:center; justify-content:center; min-height:51px; padding:0 23px; border:0; border-radius:15px; background:var(--tomato); color:#181512; font-weight:800; text-decoration:none; }
.hero-note { position:absolute; z-index:1; right:clamp(22px,4vw,58px); bottom:26px; color:#fff; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:1px; }
.menu-section { width:min(1400px,100%); margin:auto; padding:72px clamp(20px,4vw,58px) 72px; }
.site-footer { background:#111; color:#fff; }
.site-footer-inner { width:min(1400px,100%); min-height:104px; margin:auto; padding:22px clamp(20px,4vw,58px); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-copy p { margin:0; font-size:12px; font-weight:700; line-height:1.55; }
.footer-credit { display:table; color:transparent; background:linear-gradient(100deg, #fff 0%, #fff 38%, #8d4de8 45%, #d8b2ff 50%, #8d4de8 55%, #fff 62%, #fff 100%); background-size:260% 100%; background-position:100% 0; background-clip:text; -webkit-background-clip:text; animation:footer-shine 3s ease-in-out infinite; }
@keyframes footer-shine { 0%,62% { background-position:100% 0; } 100% { background-position:0 0; } }
.footer-links { display:flex; align-items:center; gap:10px; }
.footer-icon { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.6); border-radius:15px; background:rgba(255,255,255,.08); color:#fff; }
.footer-icon svg { width:18px; height:18px; stroke-width:1.8; }
.footer-icon:disabled { cursor:default; opacity:1; }
.menu-heading { display:flex; justify-content:space-between; gap:20px; align-items:end; }
.menu-heading h2,.cart h2,.checkout-dialog h2 { margin:0; font-size:54px; line-height:.9; }
.service-status { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; }
.service-status span:first-child { width:9px; height:9px; background:#58a953; border-radius:50%; }
.service-status.is-closed span:first-child { background:#c7382d; }
.category-tabs { display:flex; gap:8px; overflow-x:auto; padding:30px 0 18px; scrollbar-width:none; }
.category-tab,.diet-filter button { flex:0 0 auto; min-height:40px; padding:0 16px; border:1px solid var(--line); background:transparent; color:var(--ink); font-size:14px; font-weight:700; }
.category-tab.active,.diet-filter button.active { border-color:var(--ink); background:var(--ink); color:var(--paper); }
.menu-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:0 0 27px; border-bottom:1px solid var(--line); }
.search-field input { width:min(290px,42vw); padding:11px 0; border:0; border-bottom:1px solid var(--ink); border-radius:0; outline:none; background:transparent; color:var(--ink); }
.search-field input::placeholder { color:var(--muted); }
.diet-filter { display:flex; gap:7px; overflow-x:auto; }
.diet-filter button { min-height:34px; padding:0 11px; font-size:12px; }
.menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--line); }
.menu-card { position:relative; min-height:218px; padding:28px 146px 22px 24px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; transition:background .18s ease, transform .18s ease; }
.menu-card:hover { background:#ebe5d8; }
.menu-card.is-added { background:#dce9d8; transform:translateY(-3px); }
.card-top { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.menu-card h3 { margin:0; font-size:25px; line-height:1.02; }
.item-image-slot { position:absolute; top:24px; right:24px; width:98px; aspect-ratio:1; border:1px solid rgba(23,23,20,.14); background:rgba(255,255,255,.22); }
.tag { flex:0 0 auto; padding:5px 7px; background:#e2eee0; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.7px; text-transform:uppercase; }
.menu-card p { margin:13px 0 auto; color:#666158; font-size:13px; line-height:1.45; }
.card-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:20px; }
.price { display:flex; flex-direction:column; gap:3px; font-size:15px; font-weight:800; line-height:1.15; }
.price > span { display:block; }
.add-button { position:absolute; right:24px; bottom:22px; width:38px; height:38px; border:1px solid var(--ink); background:var(--tomato); color:var(--ink); font-size:25px; line-height:1; }

.empty-results { grid-column:1/-1; padding:50px 0; color:var(--muted); }
.cart { position:fixed; z-index:30; top:92px; right:18px; bottom:18px; width:min(460px,calc(100% - 36px)); padding:28px; display:flex; flex-direction:column; border:1px solid rgba(214,208,194,.72); border-radius:20px; background:rgba(245,241,231,.84); box-shadow:var(--shadow); backdrop-filter:blur(14px); transform:translateX(108%); transition:transform .25s ease; }
.cart.open { transform:translateX(0); }
.cart-header { display:flex; align-items:start; justify-content:space-between; padding-bottom:24px; border-bottom:1px solid var(--line); }
.icon-button { width:36px; height:36px; font-size:26px; line-height:1; }
.cart-items { flex:1; overflow:auto; }
.cart-item { display:grid; grid-template-columns:1fr auto; gap:9px; padding:18px 0; border-bottom:1px solid var(--line); }
.cart-item-name { font-weight:800; }
.cart-item-meta { margin-top:4px; color:var(--muted); font-size:12px; }
.quantity { display:flex; align-items:center; gap:7px; }
.quantity button { width:26px; height:26px; border:1px solid var(--line); background:transparent; color:var(--ink); font-size:16px; }
.cart-item-price { text-align:right; font-weight:800; }
.cart-empty { flex:1; display:grid; place-items:center; color:var(--muted); text-align:center; }
.cart-footer { padding-top:18px; border-top:1px solid var(--line); }
.total-row { display:flex; justify-content:space-between; padding-bottom:16px; font-size:15px; }
.total-row strong { font-size:21px; }
.checkout-button { width:100%; min-height:54px; font-size:15px; }
.checkout-button:disabled { cursor:not-allowed; opacity:.45; }
.overlay { position:fixed; z-index:25; inset:0; display:none; background:rgba(21,18,15,.47); }
.overlay.visible { display:block; }
.cart-trigger { position:fixed; z-index:20; right:20px; bottom:20px; min-width:200px; height:58px; padding:0 16px; display:flex; align-items:center; gap:12px; border:1px solid rgba(245,241,231,.16); border-radius:20px; background:rgba(23,23,20,.86); color:var(--paper); box-shadow:0 10px 24px rgba(0,0,0,.24); backdrop-filter:blur(14px); font-weight:800; }
.cart-trigger.is-updated { animation:cart-bump .28s ease-out; }
.cart-trigger-count { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--tomato); color:var(--ink); font-size:12px; }
.cart-trigger strong { margin-left:auto; }
@keyframes cart-bump { 50% { transform:translateY(-5px) scale(1.035); background:var(--tomato); color:var(--ink); } }
dialog { border:0; background:transparent; padding:0; }
dialog::backdrop { background:rgba(21,18,15,.58); }
.product-dialog { width:min(680px,calc(100% - 32px)); }
.dialog-shell,.checkout-form { position:relative; padding:34px; background:var(--paper); box-shadow:var(--shadow); }
.dialog-close { position:absolute; top:17px; right:17px; }
.detail-name { padding-right:45px; margin-bottom:10px; font-size:54px; }
.detail-description { max-width:550px; color:#656057; line-height:1.55; }
.item-note { display:block; margin:22px 0 0; color:#656057; font-size:13px; font-weight:800; }
.item-note textarea { width:100%; min-height:72px; margin-top:7px; padding:11px; border:1px solid var(--line); border-radius:0; background:#fbf9f3; color:var(--ink); font:inherit; font-weight:400; resize:vertical; }
.size-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:28px 0; }
.size-choice { min-height:76px; padding:12px 15px; display:flex; justify-content:space-between; align-items:center; border:1px solid var(--line); background:transparent; color:var(--ink); text-align:left; }
.size-choice.active { border:2px solid var(--ink); background:#ece5d7; }
.size-choice span { display:block; font-size:13px; font-weight:800; }.size-choice strong { font-size:18px; }
.detail-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.detail-actions .quantity button { width:36px; height:36px; background:transparent; }
.detail-actions .checkout-button { width:auto; }
.checkout-dialog { width:min(570px,calc(100% - 32px)); }
.checkout-form label { display:block; margin-top:17px; font-size:13px; font-weight:800; }.checkout-form input,.checkout-form textarea { width:100%; margin-top:7px; padding:12px; border:1px solid var(--line); border-radius:0; background:#fbf9f3; color:var(--ink); outline-color:var(--tomato); resize:vertical; }
.checkout-copy { color:#656057; font-size:14px; line-height:1.45; }.checkout-summary { margin:22px 0; padding:15px; background:#e9e1d2; font-size:13px; line-height:1.6; }
.success-dialog { width:min(440px,calc(100% - 32px)); background:var(--paper); box-shadow:var(--shadow); }
.success-dialog > div { padding:34px; text-align:center; }.success-dialog h2 { font-size:47px; }.success-dialog p:not(.eyebrow) { margin:20px 0 26px; color:#656057; line-height:1.5; }.success-dialog .tracking-link{margin:0 0 10px;color:var(--ink)}
@media (max-width: 860px) { .location-link{display:none}.menu-intro{min-height:590px;height:75vh}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card{min-height:205px}.menu-toolbar{align-items:flex-start;flex-direction:column}.search-field input{width:100%}.search-field{width:100%} }
@media (max-width: 560px) { .topbar{height:70px;padding:9px 12px}.topbar-left{gap:7px}.brand img{width:96px;height:48px}.topbar-actions{gap:6px}.staff-link{min-height:38px;padding:0 9px;font-size:12px}.language-toggle{width:72px;padding:0 6px;font-size:15px}.language-toggle i{width:28px;height:28px}.language-toggle.english i{transform:translateX(36px)}.menu-intro{margin-top:0;min-height:560px;height:75vh}.hero-image{object-position:63% center}.hero-scrim{background:linear-gradient(90deg,rgba(17,15,13,.86),rgba(17,15,13,.26)),linear-gradient(0deg,rgba(17,15,13,.66),transparent 50%)}.intro-content{padding:0 22px 66px}h1{font-size:65px}.intro-copy{font-size:16px}.hero-note{right:22px;bottom:22px;font-size:10px}.menu-section{padding:50px 16px 54px}.menu-heading h2,.cart h2,.checkout-dialog h2{font-size:42px}.service-status{font-size:11px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:184px;padding:24px 132px 24px 18px}.menu-card h3{font-size:24px}.item-image-slot{top:20px;right:18px;width:88px}.add-button{right:18px;bottom:20px}.cart{top:82px;right:12px;bottom:12px;width:calc(100% - 24px);padding:22px}.cart-trigger{right:12px;bottom:12px;left:auto;width:200px;min-width:0}.dialog-shell,.checkout-form{padding:28px 20px}.detail-name{font-size:43px}.detail-actions{align-items:stretch;flex-direction:column}.detail-actions .checkout-button{width:100%}.checkout-dialog,.product-dialog{width:calc(100% - 20px)}.site-footer-inner{min-height:112px;padding:20px 16px}.footer-copy p{font-size:11px}.footer-icon{width:36px;height:36px} }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
.menu-card.drinks { min-height:156px; }
.menu-card.drinks p { display:none; }
.menu-card.drinks .item-image-slot { display:none; }
@media (max-width: 760px) { .menu-grid { grid-template-columns:1fr; } }
@media (max-width: 560px) { .category-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; overflow:visible; padding:24px 0 18px; }.category-tab { min-width:0; min-height:52px; padding:6px 4px; white-space:normal; overflow-wrap:anywhere; font-size:11px; line-height:1.15; }.menu-card.drinks { min-height:132px; padding-top:20px; padding-bottom:18px; }.menu-card.drinks .add-button { bottom:16px; } }

.item-image { position:absolute; top:24px; right:24px; width:98px; aspect-ratio:1; object-fit:cover; border:1px solid rgba(23,23,20,.14); background:rgba(255,255,255,.22); }
@media (max-width: 560px) { .item-image { top:20px; right:18px; width:88px; } }
.success-content{position:relative;isolation:isolate;overflow:hidden;transition:background-color .3s ease,box-shadow .3s ease}.success-content.is-accepted{animation:order-accepted-flash 1.1s ease}.success-content.is-rejected{animation:order-rejected-flash 1.1s ease}.success-spinner{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 22px;border:3px solid rgba(244,84,37,.2);border-top-color:var(--tomato);border-radius:50%;animation:order-spinner .8s linear infinite}.success-spinner[hidden]{display:none}.success-spinner span{display:none}@keyframes order-spinner{to{transform:rotate(360deg)}}@keyframes order-accepted-flash{0%,100%{background:transparent;box-shadow:none}28%{background:rgba(71,125,68,.18);box-shadow:0 0 0 8px rgba(71,125,68,.16)}}@keyframes order-rejected-flash{0%,100%{background:transparent;box-shadow:none}28%{background:rgba(167,57,41,.18);box-shadow:0 0 0 8px rgba(167,57,41,.16)}}
.location-picker{display:grid;gap:8px;margin:2px 0 14px}.location-picker>span{font-size:13px;font-weight:800}.location-picker>div{display:flex;align-items:center;gap:8px}.location-button{min-height:42px;padding:0 14px;border:1px solid var(--ink);border-radius:15px;background:transparent;color:var(--ink);font-weight:800}.clear-location{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-weight:800}.location-picker p{margin:0;color:var(--green);font-size:12px;font-weight:700}.location-dialog{width:min(720px,calc(100% - 20px));border:0;padding:0;background:var(--paper);box-shadow:var(--shadow)}.location-dialog::backdrop{background:rgba(23,23,20,.62)}.location-dialog-shell{position:relative;padding:30px}.location-dialog h2{margin:0;font-size:40px}.delivery-map{height:min(52vh,390px);margin:20px 0 12px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.location-map-copy{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}.delivery-map-pin{background:transparent!important;border:0!important}.delivery-map-pin span{display:block;width:26px;height:26px;border:3px solid #fff;border-radius:50% 50% 50% 0;background:var(--tomato);box-shadow:0 4px 10px rgba(23,23,20,.28);transform:rotate(-45deg)}.delivery-map-pin span::after{content:"";display:block;width:7px;height:7px;margin:6px;border-radius:50%;background:#fff}@media(max-width:560px){.location-dialog-shell{padding:24px 16px}.location-dialog h2{font-size:34px}.delivery-map{height:48vh}}
.cart-empty[hidden]{display:none}
.menu-card.sandwiches{padding-right:72px}.menu-card.sandwiches .item-image-slot{display:none}@media(max-width:560px){.menu-card.sandwiches{padding-right:72px}}
.success-order-details{margin:0 0 20px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left}.success-order-details>p{margin:0 0 9px!important;color:var(--muted)!important;font-size:11px;font-weight:800}.success-order-details>div{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:12px;line-height:1.35}.success-order-details span{min-width:0}.success-order-details small{display:block;margin-top:2px;color:var(--muted);font-size:10px}.success-order-details strong{white-space:nowrap}.success-order-total{margin-top:7px!important;padding-top:10px!important;border-top:1px solid var(--line);font-size:14px!important;font-weight:800}

.order-status-trigger{position:fixed;z-index:20;left:20px;bottom:20px;max-width:280px;min-height:52px;padding:0 17px;border:1px solid rgba(23,23,20,.26);border-radius:15px;background:rgba(245,241,231,.9);box-shadow:0 8px 20px rgba(0,0,0,.14);backdrop-filter:blur(14px);color:var(--ink);font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-status-trigger[data-status="accepted"]{border-color:rgba(65,117,61,.55);color:#275724}.order-status-trigger[data-status="rejected"]{border-color:rgba(167,57,41,.55);color:#852a22}@media(max-width:560px){.order-status-trigger{right:12px;left:auto;bottom:82px;width:200px;max-width:calc(100% - 24px)}}
