/* Shared enquiry controls; each site's colours and typography remain in its theme. */
.request-form,.request-form *{box-sizing:border-box}
.request-form .form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:end}
.request-form .form-grid>label,.request-form .phone-fields>label{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-width:0;margin:0}
.request-form .form-grid .full{grid-column:1/-1}
.request-form .phone-fields{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:12px;align-items:end;min-width:0}
.request-form input:not([type=hidden]),.request-form select,.request-form .country-control{width:100%;min-width:0;max-width:100%;height:50px;min-height:50px;margin:0;font-size:16px;line-height:1.25}
.request-form input[type=date]{display:block;appearance:none;-webkit-appearance:none;text-align:left;padding-inline:12px}
.request-form input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.25em}
.request-form .country-control{position:relative;display:block}
.request-form .country-control select{height:50px;padding-right:24px}
.request-form .country-value{pointer-events:none;max-width:calc(100% - 26px);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.request-form select{padding-right:28px;text-overflow:ellipsis}
.request-form #passenger-control{display:block;min-width:0}
.request-form #capacity-hint,.request-form #phone-hint{margin:0;grid-column:1/-1;line-height:1.45}
.request-form textarea{width:100%;min-width:0;font-size:16px;margin:0;min-height:96px}
.request-form .form-channels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.request-form .form-channels button,.request-form .form-channels a{min-width:0;min-height:64px;margin:0;padding:8px 3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;line-height:1.2;text-decoration:none}
.request-form .form-channels button span,.request-form .form-channels a span{font-size:12px}
.request-form .contact-instruction{line-height:1.45;margin:14px 0 10px}
.request-form .guest-list-back{font:inherit;font-size:12px;min-height:32px;margin-top:6px;text-decoration:underline;background:transparent;border:0;padding:4px;cursor:pointer;color:inherit}
#booking-dialog{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
html{scroll-padding-bottom:100px}
@media(max-width:420px){.request-form{padding:20px 14px}.request-form .form-grid{gap:14px 10px}.request-form .phone-fields{gap:10px}.request-form h2{font-size:clamp(24px,7vw,32px);line-height:1.15}}
@media(max-width:340px){.request-form .form-grid{grid-template-columns:minmax(0,1fr)}.request-form .phone-fields{grid-template-columns:minmax(0,1fr)}}
.request-form .form-grid select,.request-form .country-control select{margin:0}
@media(min-width:341px){.request-form .form-grid>label:has(>input[name=email]),.request-form .form-grid>label:has(>input[name=date]){grid-column:auto}}
