.reservation-embed .reservation-shell,.tenant-reservation-page .reservation-shell{--reservation-gap:14px;--reservation-pad:16px;--reservation-radius:18px;--reservation-radius-sm:14px;--reservation-field-h:48px;--reservation-ink:var(--text-strong,var(--ink,#1c1917));--reservation-muted:var(--text-soft,#64748b);--reservation-line:var(--storefront-panel-border,var(--border,rgba(15,23,42,0.12)));--reservation-fill:var(--card,var(--storefront-panel-bg,#fff));--reservation-soft:var(--storefront-panel-bg-soft,var(--surface,#f7f8fa));--reservation-brand:var(--brand,#5c1a1a);--reservation-brand-fg:var(--storefront-action-fg,#fff);gap:var(--reservation-gap)}@media (max-width:480px){.tenant-reservation-page .reservation-shell{--reservation-gap:12px;--reservation-pad:14px;--reservation-radius:16px}}@media (min-width:1100px){.tenant-reservation-page .reservation-shell{--reservation-gap:18px;--reservation-pad:20px}}.tenant-reservation-page .reservation-page-head{margin:0}.tenant-reservation-page .reservation-page-head .menu-browser-copy,.tenant-reservation-page .reservation-shell .menu-browser-copy{padding:16px var(--reservation-pad);border-radius:var(--reservation-radius);border:1px solid var(--reservation-line);background:var(--reservation-fill);box-shadow:none}.tenant-reservation-page .reservation-shell .menu-browser-eyebrow{margin:0 0 6px;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--reservation-brand) 72%,var(--reservation-muted))}.tenant-reservation-page .reservation-page-head .menu-browser-copy h2,.tenant-reservation-page .reservation-shell .menu-browser-copy h2{margin:0;font-size:clamp(1.35rem,4.4vw,1.85rem);line-height:1.15;color:var(--reservation-ink)}.tenant-reservation-page .reservation-page-lead{margin:8px 0 0;max-width:52ch;color:var(--reservation-muted);font-size:.95rem;line-height:1.5}.tenant-reservation-page .reservation-check-link{margin:12px 0 0;font-size:.9rem;color:var(--reservation-muted)}.tenant-reservation-page .reservation-check-cta,.tenant-reservation-page .reservation-check-link a{display:inline-flex;align-items:center;min-height:32px;padding:0 2px;color:var(--reservation-brand);font-weight:750;text-decoration:none;text-underline-offset:3px}.tenant-reservation-page .reservation-check-link a:hover{text-decoration:underline}.tenant-reservation-page .reservation-layout{gap:var(--reservation-gap)}.tenant-reservation-page .reservation-primary-card,.tenant-reservation-page .reservation-secondary-card{padding:var(--reservation-pad);border-radius:var(--reservation-radius);border:1px solid var(--reservation-line);background:var(--reservation-fill);box-shadow:none}.tenant-reservation-page .reservation-form{display:grid;grid-gap:18px;gap:18px}.tenant-reservation-page .reservation-block{display:grid;grid-gap:12px;gap:12px}.tenant-reservation-page .reservation-block-head,.tenant-reservation-page .reservation-planner-head-compact{display:grid;grid-gap:4px;gap:4px}.tenant-reservation-page .reservation-block-kicker,.tenant-reservation-page .reservation-card-kicker,.tenant-reservation-page .reservation-planner-kicker{margin:0;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--reservation-brand) 70%,var(--reservation-muted))}.tenant-reservation-page .reservation-block-head h3,.tenant-reservation-page .reservation-planner-head-compact h3{margin:0;font-size:clamp(1.05rem,2.6vw,1.28rem);font-weight:800;line-height:1.2;color:var(--reservation-ink)}.tenant-reservation-page .reservation-form-grid{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;margin:0}@media (min-width:640px){.tenant-reservation-page .reservation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}}.tenant-reservation-page .reservation-field,.tenant-reservation-page .reservation-form label{display:grid;grid-gap:6px;gap:6px;margin:0;font-size:.8rem;font-weight:700;color:var(--reservation-ink)}.tenant-reservation-page .reservation-form .field,.tenant-reservation-page .reservation-form input.field,.tenant-reservation-page .reservation-form select.field,.tenant-reservation-page .reservation-form textarea.field{width:100%;min-height:var(--reservation-field-h);margin:0;padding:12px 14px;border-radius:12px;border:1px solid var(--reservation-line);background:var(--reservation-soft);color:var(--reservation-ink);font-size:1rem;font-weight:550;box-shadow:none}.tenant-reservation-page .reservation-form textarea.field{min-height:84px;resize:vertical}.tenant-reservation-page .reservation-form .field:focus,.tenant-reservation-page .reservation-form input.field:focus,.tenant-reservation-page .reservation-form select.field:focus,.tenant-reservation-page .reservation-form textarea.field:focus{outline:none;border-color:color-mix(in srgb,var(--reservation-brand) 42%,var(--reservation-line));box-shadow:0 0 0 4px color-mix(in srgb,var(--reservation-brand) 14%,transparent);background:var(--reservation-fill)}.tenant-reservation-page .reservation-field.is-invalid .field{border-color:var(--ui-alert-error-border,#dc2626);box-shadow:0 0 0 4px color-mix(in srgb,var(--ui-alert-error-fg,#dc2626) 12%,transparent)}.tenant-reservation-page .reservation-guest-stepper{display:grid;grid-gap:6px;gap:6px;align-content:start}.tenant-reservation-page .reservation-guest-stepper-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;min-height:var(--reservation-field-h);padding:4px;border-radius:12px;border:1px solid var(--reservation-line);background:var(--reservation-soft)}.tenant-reservation-page .reservation-guest-stepper-control strong{text-align:center;font-size:.98rem;font-weight:750;color:var(--reservation-ink)}.tenant-reservation-page .reservation-guest-step{width:40px;height:40px;border:0;border-radius:10px;background:var(--reservation-fill);color:var(--reservation-brand);font-size:1.25rem;font-weight:700;line-height:1;cursor:pointer}.tenant-reservation-page .reservation-guest-step:hover:not(:disabled){background:color-mix(in srgb,var(--reservation-brand) 10%,var(--reservation-fill))}.tenant-reservation-page .reservation-guest-step:disabled{opacity:.35;cursor:not-allowed}.tenant-reservation-page .reservation-table-options{padding:14px;border-radius:var(--reservation-radius-sm);border:1px solid var(--reservation-line);background:var(--reservation-soft)}.tenant-reservation-page .reservation-table-option-grid{grid-template-columns:1fr;gap:8px}@media (min-width:520px){.tenant-reservation-page .reservation-table-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tenant-reservation-page .reservation-table-option{padding:12px 14px;border-radius:12px;border:1px solid var(--reservation-line);background:var(--reservation-fill);box-shadow:none}.tenant-reservation-page .reservation-table-option.selected{border-color:color-mix(in srgb,var(--reservation-brand) 55%,var(--reservation-line));background:color-mix(in srgb,var(--reservation-brand) 8%,var(--reservation-fill));box-shadow:none}.tenant-reservation-page .reservation-table-option strong{color:var(--reservation-ink)}.tenant-reservation-page .reservation-planner-compact{gap:12px}.tenant-reservation-page .reservation-planner-stack{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;max-width:none}@media (min-width:860px){.tenant-reservation-page .reservation-planner-stack{grid-template-columns:minmax(240px,.92fr) minmax(220px,1.08fr);align-items:start;gap:18px}}.tenant-reservation-page .reservation-booking-side,.tenant-reservation-page .reservation-calendar-panel,.tenant-reservation-page .reservation-slots-panel{min-width:0}.tenant-reservation-page .reservation-booking-side{gap:14px}.tenant-reservation-page .reservation-planner-compact .calendar-picker-popover,.tenant-reservation-page .reservation-shell .calendar-picker-popover{padding:12px;border-radius:var(--reservation-radius-sm);border:1px solid var(--reservation-line);background:var(--reservation-soft);box-shadow:none}.tenant-reservation-page .reservation-shell .calendar-picker-head strong{color:var(--reservation-ink);font-size:.98rem}.tenant-reservation-page .reservation-shell .calendar-nav-btn{background:var(--reservation-fill);color:var(--reservation-ink);border:1px solid var(--reservation-line)}.tenant-reservation-page .reservation-shell .calendar-grid-weekdays span{color:var(--reservation-muted)}.tenant-reservation-page .reservation-shell .calendar-day{max-width:40px;color:var(--reservation-ink);font-size:.88rem}.tenant-reservation-page .reservation-shell .calendar-day:hover:not(:disabled):not(.selected){background:color-mix(in srgb,var(--reservation-brand) 10%,transparent)}.tenant-reservation-page .reservation-shell .calendar-day.selected{background:var(--reservation-brand);color:var(--reservation-brand-fg)}.tenant-reservation-page .reservation-day-summary{color:var(--reservation-muted);font-size:.9rem}.tenant-reservation-page .reservation-break-note{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--reservation-brand) 8%,var(--reservation-soft));color:var(--reservation-ink)}.tenant-reservation-page .time-slot-empty{background:var(--reservation-soft);color:var(--reservation-muted);border:1px solid var(--reservation-line)}.tenant-reservation-page .time-slot-select-label,.tenant-reservation-page .time-slot-title{color:var(--reservation-ink)}.tenant-reservation-page .time-slot-select{display:grid;grid-gap:6px;gap:6px}.tenant-reservation-page .time-slot-select .field,.tenant-reservation-page .time-slot-select-field{min-height:var(--reservation-field-h);border-radius:12px;border:1px solid var(--reservation-line);background:var(--reservation-soft);color:var(--reservation-ink)}.tenant-reservation-page .reservation-confirmation-actions{display:grid;grid-gap:10px;gap:10px}@media (min-width:640px){.tenant-reservation-page .reservation-confirmation-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.tenant-reservation-page .time-slot-chip{border-color:var(--reservation-line);background:var(--reservation-fill);color:var(--reservation-ink)}.tenant-reservation-page .time-slot-chip.selected{background:var(--reservation-brand);border-color:var(--reservation-brand);color:var(--reservation-brand-fg)}.tenant-reservation-page .reservation-submit-row{display:grid;grid-gap:10px;gap:10px}.tenant-reservation-page .reservation-form .reservation-submit-row .button,.tenant-reservation-page .reservation-submit-row .button{width:100%;min-height:48px;border-radius:14px;font-size:1rem;font-weight:750}.tenant-reservation-page .reservation-secondary-card .reservation-card-head-compact{margin-bottom:8px}.tenant-reservation-page .reservation-secondary-card h2{font-size:1.1rem;color:var(--reservation-ink)}.tenant-reservation-page .reservation-secondary-card p{color:var(--reservation-muted);line-height:1.5}.tenant-reservation-page .reservation-location-map{height:min(280px,42vw);min-height:180px;border-radius:14px;border-color:var(--reservation-line)}@media (max-width:720px){.tenant-reservation-page:not(.reservation-embed-page) .reservation-submit-dock{position:-webkit-sticky;position:sticky;bottom:0;z-index:8;margin:0 -4px -4px;padding:10px 4px calc(10px + env(safe-area-inset-bottom, 0px));background:linear-gradient(180deg,transparent,var(--reservation-fill) 28%)}.tenant-reservation-page .reservation-page-head .menu-browser-copy h2{font-size:1.45rem}}@media (max-width:480px){.tenant-reservation-page .reservation-shell .calendar-day{font-size:.82rem}.tenant-reservation-page .reservation-shell .calendar-picker-popover{padding:10px 8px}}@media (min-width:1100px){.tenant-reservation-page .reservation-layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.7fr)}}body[data-theme-tone=dark].tenant-reservation-page .reservation-shell{--reservation-fill:var(--card,#171c22);--reservation-soft:var(--surface,#12161b);--reservation-line:var(--border,rgba(255,255,255,0.12));--reservation-ink:var(--ink,#f4efe4);--reservation-muted:color-mix(in srgb,var(--ink,#f4efe4) 68%,transparent);--reservation-brand-fg:#111}body[data-theme-tone=dark].tenant-reservation-page .reservation-primary-card,body[data-theme-tone=dark].tenant-reservation-page .reservation-secondary-card,body[data-theme-tone=dark].tenant-reservation-page .reservation-shell .menu-browser-copy{background:var(--reservation-fill);border-color:var(--reservation-line)}body[data-theme-tone=dark].tenant-reservation-page .reservation-form .field,body[data-theme-tone=dark].tenant-reservation-page .reservation-guest-stepper-control,body[data-theme-tone=dark].tenant-reservation-page .reservation-shell .calendar-picker-popover{background:var(--reservation-soft);color:var(--reservation-ink)}body[data-theme-tone=dark].tenant-reservation-page .reservation-check-link a{color:var(--accent,#d4b16c)}body[data-commerce-accent].tenant-reservation-page .reservation-shell .menu-browser-copy,body[data-storefront-light=true].tenant-reservation-page .reservation-shell .menu-browser-copy{background:var(--reservation-fill)}