:root{--ink:#1e1b18;--paper:#fbfaf7;--coral:#ef4f4f;--orange:#ff7538;--green:#239a55}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
button,a,input,select,textarea{transition:background-color .18s,color .18s,border-color .18s,opacity .18s,transform .18s}
button:active,a:active{transform:scale(.985)}
.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}
.nav-link{border-radius:999px;padding:.65rem 1rem;font-size:.875rem;font-weight:600;color:rgb(0 0 0/.56)}
.nav-link:hover,.nav-link.active{background:#1e1b18;color:white}
.form-label{display:block;font-size:.875rem;font-weight:600;color:rgb(30 27 24/.74)}
.form-input{display:block;width:100%;min-width:0;max-width:100%;border:1px solid rgb(0 0 0/.12);border-radius:.875rem;background:white;padding:.9rem 1rem;color:var(--ink);outline:0}
#order-type{width:100%;min-width:0;max-width:100%}
.form-input.hidden{display:none}
.reservation-modal-panel{min-width:0}
#reservation-form,#reservation-form>.grid{grid-template-columns:minmax(0,1fr)}
#reservation-form>* ,#reservation-form .form-label{min-width:0;max-width:100%}
#reservation-date{box-sizing:border-box;display:block;min-width:0;width:100%;max-width:100%;min-inline-size:0;inline-size:100%;max-inline-size:100%;-webkit-appearance:none;appearance:none}
#reservation-date::-webkit-date-and-time-value{min-width:0;text-align:left}
@media(min-width:640px){#reservation-form>.grid.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tip-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-top:.65rem}
.tip-preset{min-width:0;min-height:44px;border:1px solid rgb(0 0 0/.12);border-radius:.75rem;background:#fff;padding:.65rem .2rem;font-size:1rem;font-weight:600}
.tip-preset:hover{border-color:var(--coral)}
.tip-preset[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}
.tip-preset:focus-visible{outline:3px solid rgb(239 79 79/.3);outline-offset:2px}
.form-input:focus{border-color:var(--coral);box-shadow:0 0 0 4px rgb(239 79 79/.1)}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;border-radius:.875rem;background:#050505;padding:.85rem 1.1rem;font-weight:600;color:#fff}
.btn-primary:hover{background:var(--coral)}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgb(0 0 0/.12);border-radius:.875rem;background:#fff;padding:.8rem 1rem;font-weight:600}
.card{border-radius:1.5rem;background:white;box-shadow:0 12px 40px rgb(44 37 30/.06)}
.flash{animation:flash-in .25s ease-out,flash-out .3s ease-in 4s forwards}
@keyframes flash-in{from{opacity:0;transform:translateY(-8px)}}@keyframes flash-out{to{opacity:0;transform:translateY(-8px);visibility:hidden}}
.status-red{background:#fff0ee;color:#df2424}.status-orange{background:#fff3dc;color:#e86620}.status-green{background:#efffdc;color:#239a55}.status-slate{background:#ededeb;color:#46413e}
.modal-backdrop{position:fixed;inset:0;z-index:70;display:none;align-items:flex-end;justify-content:center;background:rgb(0 0 0/.68);padding:0}
.modal-backdrop.open{display:flex}.modal-panel{max-height:92vh;width:100%;max-width:min(520px,100vw);overflow:auto;border-radius:1.75rem 1.75rem 0 0;background:white;padding:1.25rem}
.language-picker{display:inline-flex;min-width:8.5rem;max-width:min(12rem,55vw);align-items:center;border:1px solid rgb(0 0 0/.12);border-radius:.875rem;background:#fff;padding:.1rem .35rem;color:var(--ink);font-size:.875rem;font-weight:600}
.language-picker-select{width:100%;min-width:0;max-width:100%;cursor:pointer;border:0;background:transparent;padding:.65rem 1.75rem .65rem .5rem;color:inherit;font:inherit;outline:0}
.language-picker-compact{min-width:7.5rem;max-width:min(10.5rem,48vw)}.language-picker-compact .language-picker-select{max-width:100%}
#cart-bar:active{transform:translateX(-50%) scale(.985)}
#cart-modal{align-items:flex-end;padding:0}
#cart-modal .modal-panel{max-width:min(520px,100vw);border-radius:1.75rem 1.75rem 0 0}
.city-filter-toolbar{margin-bottom:1.25rem}.city-filter-select-label{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid rgb(0 0 0/.1);border-radius:1rem;background:#fff;padding:.35rem .45rem .35rem 1rem;font-size:.875rem;font-weight:600;box-shadow:0 8px 26px rgb(44 37 30/.05)}.city-filter-select{min-width:0;max-width:65%;cursor:pointer;border:0;border-radius:.75rem;background:rgb(0 0 0/.04);padding:.7rem 2.25rem .7rem .8rem;color:var(--ink);font:inherit;outline:0}.city-filter-select:focus-visible{box-shadow:0 0 0 3px rgb(239 79 79/.2)}.city-filter-chips{display:none;gap:.55rem;overflow-x:auto;padding:.2rem 0}.city-filter-chip{flex:0 0 auto;border:1px solid rgb(0 0 0/.1);border-radius:999px;background:#fff;padding:.65rem 1rem;color:rgb(30 27 24/.66);font-size:.875rem;font-weight:600}.city-filter-chip:hover{border-color:rgb(0 0 0/.3);color:var(--ink)}.city-filter-chip:focus-visible{outline:3px solid rgb(239 79 79/.22);outline-offset:2px}.city-filter-chip.is-active{border-color:var(--ink);background:var(--ink);color:#fff}
.modal-quantity{min-width:1.5rem}.text-may-green{color:var(--green)}
.refresh-spinning{display:inline-block;animation:refresh-spin .65s linear infinite}
@keyframes refresh-spin{to{transform:rotate(360deg)}}
@media(min-width:640px){.city-filter-select-label{display:none}.city-filter-chips{display:flex}}
@media(min-width:640px){.modal-backdrop{align-items:center;padding:1.5rem}.modal-panel{border-radius:1.75rem}}
@media(min-width:640px){#cart-modal{align-items:flex-end;padding:0}#cart-modal .modal-panel{border-radius:1.75rem 1.75rem 0 0}}
@media(max-width:639px){input,select,textarea{font-size:17px!important}}
@media print{@page{size:A4;margin:15mm}body *{visibility:hidden!important}.print-sheet,.print-sheet *{visibility:visible!important}.print-sheet{position:absolute!important;left:0!important;right:0!important;top:0!important;margin:0 auto!important;box-shadow:none!important}.no-print{display:none!important}.print-page{break-after:page}.print-qr{width:var(--qr-size)!important;height:var(--qr-size)!important}.print-qr canvas,.print-qr img{width:100%!important;height:100%!important}}
