/* Match the public event enquiry modal; scope every rule to the reservation. */
.reservation-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:28px;border:1px solid #34444a;border-radius:8px;background:#0e1c21;color:#fffcec;overflow-y:auto}
.reservation-dialog::backdrop{background:rgba(0,0,0,.76)}
.reservation-dialog-top{display:flex;justify-content:space-between;align-items:center;padding:0;gap:16px}
.reservation-dialog-top .kicker{color:#fb8f2c;margin:0}
.reservation-dialog>h2{font-size:clamp(1.8rem,5vw,2.5rem);margin:12px 0}
.reservation-dialog .reservation-close{background:transparent;border:0;color:#fff;font-size:30px;width:44px;height:44px;line-height:normal;cursor:pointer}
.reservation-dialog .booking-card{display:grid;gap:16px;max-width:none;padding:0;background:transparent;box-shadow:none}
.reservation-dialog .reservation-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.reservation-dialog .booking-card label{display:grid;gap:6px;margin:0;font-size:14px;color:#fffcec}
.reservation-dialog .booking-card label span{font-size:14px;color:inherit}
.reservation-dialog .booking-card input:not([type=checkbox]),.reservation-dialog .booking-card select,.reservation-dialog .booking-card textarea{width:100%;min-width:0;margin:0;padding:11px;border:1px solid #9ba7ab;border-radius:4px;background:#fff;color:#0b1214;font:inherit;font-size:16px}
.reservation-dialog .booking-card .reservation-ack{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.55}
.reservation-dialog .booking-card input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:#fb8f2c}
.reservation-dialog .booking-card .button{margin:0}
.reservation-dialog .form-note{margin:0;color:#c5cfd1;font-size:14px;line-height:1.55}
.reservation-dialog .reservation-result{margin:0;padding:12px;font-size:14px}
.reservation-dialog .reservation-result.is-loading{background:#24343b;color:#fffcec}
.reservation-dialog .reservation-result.is-success{background:#234237;color:#edfff5}
.reservation-dialog .reservation-result.is-error{background:#512d25;color:#fff1e9}
.reservation-dialog :focus-visible{outline:2px solid #fb8f2c;outline-offset:3px}
.reservation-dialog :disabled{opacity:.65}
@media(max-width:500px){.reservation-dialog{padding:18px}.reservation-dialog .reservation-fields{grid-template-columns:minmax(0,1fr)}}

/* Keep the modal centered; scrolling stays inside it and only vertically. */
html{scrollbar-gutter:stable}
html:has(.reservation-dialog[open]){overflow:hidden}
.reservation-dialog{inset:0;margin:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y pinch-zoom;scrollbar-gutter:stable;overflow-wrap:anywhere}
