.dish-copy{min-width:0;flex:1}.menu-category>h3 small{font:12px Inter,Arial,sans-serif;color:var(--muted);white-space:nowrap}.variant-label{display:block;font-size:11px;margin-top:14px;color:var(--muted)}.variant-label select{display:block;margin-top:5px;width:100%;font-size:12px}.dish-action{justify-content:space-between}.dish-action strong{font-variant-numeric:tabular-nums}.categories a[aria-current]{color:var(--accent);box-shadow:inset 0 -2px var(--accent)}.menu-source-note{max-width:75ch;margin-top:30px;font-size:12px;color:var(--muted)}#reset-menu{margin-top:0}.search{position:relative}.search input{font-size:16px}.menu-cart-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid var(--line);margin-top:28px}.menu-cart-link p{font-size:12px}.menu-cart-link .button{white-space:nowrap}
.reservation-inner{align-items:start;grid-template-columns:1fr 1.1fr}.reservation-booking{background:var(--bg);color:var(--ink);padding:32px;min-width:0}.reservation-booking .booking-heading h3{font-family:var(--font-heading);font-weight:500;font-size:36px;line-height:1.1}.reservation-booking .booking-heading p{margin:12px 0 0;color:var(--muted);font-size:12px}.booking-progress{display:flex;gap:24px;list-style:none;padding:20px 0 16px;margin:0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.booking-progress [aria-current]{color:var(--accent);font-weight:600}.reservation-booking form>.small{margin:12px 0 0}.reservation-booking .small{color:var(--muted);font-size:11px;line-height:1.65}.reservation-booking label{color:var(--ink)}.reservation-booking input,.reservation-booking select,.reservation-booking textarea{font-size:16px;min-width:0}.reservation-booking a:not(.button){text-decoration:underline;text-underline-offset:3px}.reservation-booking .button{background:var(--accent);color:white;border-color:var(--accent);margin-bottom:0}.reservation-booking .button:hover{background:var(--accent-hover)}.reservation-booking .button-outline{background:transparent;color:var(--ink);border-color:var(--line)}.reservation-booking .button-outline:hover{background:var(--panel)}.reservation-booking .text-link{color:var(--accent);margin-top:12px}.reservation-booking .form-error{color:var(--accent);margin-top:12px}.reservation-booking .booking-help{margin-top:14px}.reservation-booking #reservation-review{padding-top:22px}.reservation-booking #reservation-review>p{font-size:12px;margin-block:14px}.request-message{font:12px/1.8 Inter,Arial,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);padding:18px;margin-block:16px}.reservation-inline-hours{margin-top:32px;padding-top:25px;border-top:1px solid currentColor;max-width:390px}.reservation-inline-hours h3{font-size:17px;margin-bottom:12px}.reservation-inline-hours .hours>div{font-size:12px}.cart-dialog input,.cart-dialog select,.cart-dialog textarea{font-size:16px}#order-copy-status{margin-top:10px;color:var(--accent)}#reservation-booking{scroll-margin-top:100px}#reservation-review-title:focus{outline:2px solid var(--accent);outline-offset:4px}
@media(max-width:1023px){.reservation-inner{gap:28px}.reservation-booking{padding:24px}.reservation-booking .form-row{grid-template-columns:1fr}.reservation-inner h2{font-size:clamp(40px,5vw,60px)}}
@media(max-width:767px){.reservation-inner{grid-template-columns:1fr}.reservation-booking{padding:24px 20px}.reservation-booking .form-row{grid-template-columns:1fr 1fr}.reservation-booking .form-row:has(input[type=tel]){grid-template-columns:1fr}.reservation-inline-hours{display:none}.dish{gap:10px}.dish-action .button{font-size:11px;padding-inline:10px}.variant-label select{font-size:16px}.menu-cart-link{align-items:start;flex-direction:column}.menu-cart-link .button{width:100%}.booking-progress{gap:18px;font-size:11px}}
.reservation-booking p{color:var(--ink)}.reservation-booking .small{color:var(--muted)}.reservation-booking input,.reservation-booking select,.reservation-booking textarea{scroll-margin-top:110px}.cart-dialog .dialog-header{position:sticky;top:-30px;z-index:3;background:var(--bg);padding-block:12px;margin-top:-12px}.cart-dialog #order-review{border-top:0;margin-top:0;padding-top:0}.cart-dialog input,.cart-dialog select,.cart-dialog textarea{scroll-margin-top:110px}
@media(max-width:767px){.cart-dialog .dialog-header{top:-22px}}
@media(prefers-reduced-motion:reduce){.reservation-booking *{scroll-behavior:auto}}
.reservation-email-dialog{width:min(460px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:28px;overflow-y:auto;border-radius:4px}.reservation-email-dialog .dialog-header{align-items:center;margin-bottom:18px}.reservation-email-dialog .dialog-header h2{font-size:clamp(28px,6vw,36px);line-height:1.15}.reservation-email-dialog>p{font-size:14px}.reservation-email-dialog .small{font-size:12px;color:var(--muted)}.reservation-email-recipient{margin-top:14px;overflow-wrap:anywhere}.reservation-email-dialog .text-link{display:flex;align-items:center;min-height:44px;margin-top:10px}.reservation-email-notice{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}#reservation-email-copy-status:empty{display:none}
@media(max-width:767px){.reservation-email-dialog{padding:24px 20px}}
.reservation-section .reservation-email-dialog p{margin-bottom:0}.reservation-section .reservation-email-dialog .button-outline{background:transparent;border-color:var(--control-line);color:var(--accent)}.reservation-section .reservation-email-dialog .button-outline:hover{background:var(--panel);border-color:var(--accent);color:var(--accent-hover)}
