[hidden]{display:none!important}.booking-modal{max-width:560px}.booking-modal h2{font-size:39px;margin-top:12px;margin-bottom:15px}.booking-date{margin-bottom:20px}.booking-modal .guest-select{padding:13px 0}.table-choice{padding:20px 0 15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.table-choice strong{display:block;font-size:17px;font-weight:500;margin-top:7px}.table-choice p{font-size:10px;color:var(--muted);margin-top:3px}.table-choice .text-link{font-size:10px;white-space:nowrap}.reservation-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.reservation-fields .table-field{margin-top:18px}.booking-modal .table-field{font-size:10px}.booking-modal .table-field input{font-size:11px}.booking-modal .booking-total{margin-top:22px}.booking-modal .booking-breakdown{margin-bottom:17px}.reservation-consent{display:flex;align-items:flex-start;gap:10px;font-size:9px;color:var(--muted);line-height:1.7;margin:0 0 20px;cursor:pointer}.reservation-consent input{accent-color:var(--gold);width:15px;height:15px;flex-shrink:0;margin:2px 0 0}.field-error{padding:11px 13px;margin:12px 0;background:#a2672b1c;border:1px solid #d9bc8055;border-radius:3px;color:#f0d8ad;font-size:11px;line-height:1.7}#reservation-submit{width:100%;font-size:12px;min-height:53px}#reservation-submit:disabled{opacity:.45;transform:none;cursor:default}.booking-modal .booking-disclaimer{font-size:9px;margin-top:14px}.booking-direct{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;margin-top:22px;padding-top:17px;color:var(--muted)}.booking-direct .booking-phone{margin:0;font-size:10px}.booking-direct a:hover{color:var(--gold)}.reservation-receipt{padding:15px 0 4px}.receipt-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:29px;margin-bottom:22px}.reservation-receipt h3{font-size:27px;font-weight:400;letter-spacing:-.04em;line-height:1.3}.reservation-receipt>p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:15px}.receipt-details{margin-top:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;flex-direction:column;gap:12px}.receipt-details span{font-size:9px;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;line-height:1.9}.receipt-details strong{font-size:17px;font-weight:400}.reservation-receipt #receipt-state{font-size:11px;color:var(--gold)}.reservation-receipt .text-link{margin-top:14px;font-size:10px}.reservation-receipt>.button{margin-top:24px;width:100%;justify-content:center;font-size:11px;min-height:46px}.reservation-receipt[data-status=approved] .receipt-icon{background:#d9bc801e}.reservation-receipt[data-status=rejected] .receipt-icon,.reservation-receipt[data-status=cancelled] .receipt-icon{border-color:#a6ac9d;color:#a6ac9d}.floor-modal{width:min(96vw,1220px);padding:28px 30px}.floor-modal>h2{font-size:29px;margin:12px 0 22px}.floor-modal .modal-close{position:sticky;float:right;top:0;margin-top:-10px;margin-right:-15px}
@media(max-width:560px){.booking-modal{padding:31px 22px;max-height:94svh}.booking-modal h2{font-size:34px}.booking-date{font-size:8px;margin-bottom:17px}.table-choice{gap:12px;padding-top:17px}.table-choice strong{font-size:15px}.table-choice .text-link{font-size:9px}.reservation-fields{grid-template-columns:1fr;gap:0}.reservation-fields .table-field{margin-top:14px}.booking-modal .table-field input{padding:11px;font-size:11px}.booking-modal .table-field{margin-top:14px}.booking-modal .booking-total{font-size:10px;margin-top:19px}.booking-modal .booking-total strong{font-size:28px}.booking-modal .booking-breakdown{font-size:9px;margin-bottom:17px}.reservation-consent{font-size:9px}.booking-modal .booking-disclaimer{font-size:8px}.booking-direct{gap:12px;flex-wrap:wrap;font-size:9px;margin-top:18px;padding-top:14px}.booking-direct .booking-phone{font-size:9px}#reservation-submit{font-size:11px;min-height:49px;padding:13px 16px}.floor-modal{padding:24px 15px;max-height:94svh}.floor-modal>h2{font-size:25px;margin-bottom:18px}.floor-modal .modal-close{margin-right:-5px}.reservation-receipt h3{font-size:26px}.reservation-receipt>p{font-size:11px}.receipt-details span{font-size:8px}}

/* Form labels, consent and receipts must remain readable on a phone. */
.booking-date{font-size:13px;line-height:1.8}.booking-modal .guest-select>span{font-size:15px}.table-choice{flex-wrap:wrap}.table-choice>div{min-width:0}.table-choice strong{font-size:21px;line-height:1.5}.table-choice p{font-size:15px;line-height:1.7}.table-choice .text-link{font-size:15px;min-height:44px;display:inline-flex;align-items:center}
.booking-modal .table-field{font-size:15px;line-height:1.7}.booking-modal .table-field input{font-size:17px;line-height:1.6;min-height:48px}.booking-modal .booking-total{font-size:15px}.booking-modal .booking-total strong{font-size:34px}.booking-modal .booking-breakdown{font-size:14px;line-height:1.8}.reservation-consent{font-size:14px;line-height:1.8}.reservation-consent input{width:18px;height:18px;margin-top:3px}.field-error{font-size:15px;line-height:1.8}#reservation-submit{font-size:15px;min-height:54px}.booking-modal .booking-disclaimer{font-size:14px;line-height:1.8}.booking-direct,.booking-direct .booking-phone{font-size:15px}.booking-direct{flex-wrap:wrap;gap:12px}.booking-direct a{display:inline-flex;align-items:center;min-height:44px}
.reservation-receipt>p{font-size:16px;line-height:1.85}.receipt-details span{font-size:14px;line-height:1.85}.receipt-details strong{font-size:21px}.reservation-receipt #receipt-state{font-size:15px}.reservation-receipt .text-link{font-size:15px;line-height:1.7}.reservation-receipt>.button{font-size:15px;min-height:50px}
@media(max-width:560px){.booking-date{font-size:12px}.table-choice{flex-direction:column;align-items:flex-start;gap:5px}.table-choice strong{font-size:20px}.table-choice p{font-size:14px}.table-choice .text-link{font-size:15px;white-space:normal}.booking-modal .table-field,.booking-modal .booking-total{font-size:15px}.booking-modal .table-field input{font-size:17px;padding:12px}.booking-modal .booking-total strong{font-size:32px}.booking-modal .booking-breakdown,.reservation-consent,.booking-modal .booking-disclaimer{font-size:14px}.booking-direct,.booking-direct .booking-phone{font-size:14px}.reservation-receipt>p{font-size:15px}.receipt-details span{font-size:14px}#reservation-submit{font-size:15px;min-height:52px}}

#selected-table-capacity{color:var(--gold);font-weight:500;line-height:1.8}.booking-modal .guest-select{flex-wrap:wrap;gap:14px}.booking-modal .guest-select>div{margin-left:auto}.booking-modal .table-field input{font-size:16px}#receipt-table{white-space:pre-line;line-height:1.8}#receipt-pricing{color:var(--gold);font-size:15px;line-height:1.9}.booking-modal .booking-breakdown{overflow-wrap:anywhere}
@media(max-width:560px){.booking-modal .booking-total{flex-wrap:wrap;gap:8px 18px}.booking-modal .booking-total>span{flex:1 1 190px}.booking-modal .booking-total strong{margin-left:auto}.booking-modal .table-field input{font-size:16px}#receipt-pricing{font-size:14px}}
