/* Brand source: https://zonsteakhouse.it/ — original monogram, Inter, Playfair Display. */
@font-face{font-family:"Zon Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url("brand/inter-latin.woff2") format("woff2")}
@font-face{font-family:"Zon Playfair";font-style:normal;font-weight:400 900;font-display:swap;src:url("brand/playfair-display-latin.woff2") format("woff2")}
:root{
 --zon-navy:#002447;--zon-background:#00182b;--zon-deep:#00101d;
 --zon-gold:#d5b386;--zon-gold-soft:#e4cba6;--zon-sand:#f2ebe0;
 --zon-surface:#fffdf8;--zon-selection:#f4e9d9;--zon-line:#ded4c5;
 --zon-muted:#625d55;--zon-control-border:#958573;--zon-focus:#8b6837;
 --zon-disabled:#ebe7df;--zon-disabled-text:#615c54;--zon-nav-text:#d2dae1;
 --zon-font-body:"Zon Inter",Arial,sans-serif;
 --zon-font-heading:"Zon Playfair",Georgia,serif;
 --ink:var(--zon-navy);--muted:var(--zon-muted);--paper:var(--zon-sand);
 --white:var(--zon-surface);--line:var(--zon-line);--gold:var(--zon-gold);--gold-light:var(--zon-selection);
 --flow-ink:var(--zon-navy);--flow-muted:var(--zon-muted);--flow-line:var(--zon-line);--flow-focus:var(--zon-focus);
 font-family:var(--zon-font-body);background:var(--zon-sand);color:var(--zon-navy)
}
::selection{background:var(--zon-gold-soft);color:var(--zon-navy)}
.topbar,.is-booking .topbar{background:var(--zon-deep);color:var(--zon-surface);border-bottom:1px solid #d5b38640}
.wordmark,.is-booking .wordmark{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;min-height:44px;flex:0 0 44px;text-decoration:none}
.wordmark img{display:block;width:44px;height:38px;object-fit:contain}
.topbar .top-location,.is-booking .top-location{font-family:var(--zon-font-body);color:var(--zon-surface);font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.045em;line-height:1.3}
.topbar .top-location small,.is-booking .top-location small{font-size:12px;color:var(--zon-gold);font-weight:400;text-transform:none;letter-spacing:0}
.topbar .quiet-link{color:#e4e8eb;text-underline-offset:4px}
.topbar a:focus-visible,.flow-steps button:focus-visible{outline-color:var(--zon-gold)}
.is-booking{background:var(--zon-background)}
.flow-steps:before{background:#597083}
.flow-steps button{color:var(--zon-nav-text);font-family:var(--zon-font-body)}
.flow-step-number{background:var(--zon-background);color:var(--zon-nav-text);border-color:#8193a1}
.flow-steps .current button{color:var(--zon-gold);font-weight:600}
.flow-steps .current .flow-step-number{background:var(--zon-gold);border-color:var(--zon-gold);color:var(--zon-navy)}
.flow-steps .complete button{color:var(--zon-gold-soft)}
.flow-steps .complete .flow-step-number{background:var(--zon-navy);border-color:var(--zon-gold);color:var(--zon-gold)}
.flow-card{background:var(--zon-surface);border-color:var(--zon-line);border-radius:12px}
.flow-actions{background:var(--zon-surface)}
.flow-heading h1,.narrow h1,.admin-content h1,.setup-intro h1,.receipt h1{font-family:var(--zon-font-heading);font-weight:600;letter-spacing:-.025em;line-height:1.18;color:var(--zon-navy)}
.flow-heading h1{font-size:34px}
.admin-sidebar h2,.receipt-card h2,.setup-form h2{font-family:var(--zon-font-heading);font-weight:600}
.flow-next,.button.primary{background:var(--zon-gold);border-color:var(--zon-gold);color:var(--zon-navy);border-radius:4px;font-weight:650}
.flow-next:disabled{background:var(--zon-disabled);color:var(--zon-disabled-text);border-color:var(--zon-line)}
.flow-back,.flow-secondary,.flow-pagination button,.flow-field input,.flow-field textarea,.flow-field select,.date-control,.date-choice,.people-picker>button,.people-shortcuts button,.flow-shifts button,.flow-times button{background:var(--zon-surface);border-color:var(--zon-control-border);border-radius:6px}
.date-choice.selected,.people-shortcuts .selected,.flow-times button.selected{background:var(--zon-selection);border-color:var(--zon-navy)}
.flow-shifts button.selected{background:var(--zon-navy);border-color:var(--zon-navy);color:var(--zon-surface)}
.flow-pagination button:disabled{background:var(--zon-disabled);color:var(--zon-disabled-text);border-color:var(--zon-line)}
.flow-field input::placeholder,.flow-field textarea::placeholder{color:var(--zon-muted)}
.flow-demo{background:var(--zon-selection);color:var(--zon-navy)}
.password-input button{background:var(--zon-selection);color:var(--zon-navy)}
.flow-note summary::marker{color:var(--zon-navy)}
.flow-complete-icon{background:var(--zon-selection);color:var(--zon-navy)}
.flow-error,.flow-warning,.notice.error{border:1px solid #bb8571;border-radius:6px;background:#fff0e8;color:#713b29}
.field input,.field select,.field textarea{border-color:var(--zon-control-border);background:var(--zon-surface);border-radius:6px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--zon-focus);outline:3px solid var(--zon-focus);outline-offset:2px}
.button.secondary{border-color:var(--zon-control-border);border-radius:4px}
.admin-sidebar{background:#e9dfcf}.admin-sidebar nav a.active{background:var(--zon-navy);color:var(--zon-surface);border-radius:4px}
.panel,.receipt-card{background:var(--zon-surface)}
.loading{color:var(--zon-muted)}
.is-booking .loading{color:var(--zon-gold-soft)}
#toast{background:var(--zon-navy);color:var(--zon-surface)}
@media(hover:hover){
 .flow-next:not(:disabled):hover,.primary:hover:not(:disabled){background:var(--zon-gold-soft);border-color:var(--zon-gold-soft);color:var(--zon-navy)}
 .flow-back:hover,.date-choice:hover,.people-shortcuts button:hover,.flow-times button:hover,.flow-pagination button:not(:disabled):hover,.flow-shifts button:not(.selected):hover,.secondary:hover:not(:disabled){background:var(--zon-selection);border-color:var(--zon-focus)}
 .topbar .quiet-link:hover{color:var(--zon-gold)}
}
@media(max-width:600px){.flow-heading h1{font-size:30px}.topbar .top-location,.is-booking .top-location{font-size:12px}}
@media(max-height:740px){.flow-heading h1{font-size:29px}}
@media(max-height:620px){.flow-heading h1{font-size:27px}}
@media(max-width:350px){.flow-heading h1{font-size:26px}.topbar .top-location,.is-booking .top-location{font-size:11px}.wordmark img{width:40px;height:35px}}
.topbar .top-location,.is-booking .top-location,body:not(.is-booking) .top-location{flex:1;min-width:0;max-width:none;border:0;padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.receipt-header,.receipt-facts span,.chip{font-size:12px}.receipt-facts strong{font-size:14px}.receipt-card>p,.receipt .small{font-size:14px;line-height:1.5}
