/* Booking and content additions reuse the site's existing typography and buttons. */
.lang-toggle a {display:inline-flex;align-items:center;justify-content:center;padding:.45rem .65rem;text-decoration:none;color:inherit;border:1px solid currentColor;border-radius:.2rem;}
.lang-toggle a[aria-current="page"] {font-weight:700;text-decoration:underline;text-underline-offset:.2em;}
#request-form select {display:block;width:100%;max-width:100%;padding:.7rem;font:inherit;background:transparent;color:inherit;border:1px solid currentColor;border-radius:.2rem;}
#request-form [aria-invalid="true"] {outline:2px solid currentColor;outline-offset:2px;}
#request-form button[disabled] {opacity:.65;cursor:wait;}
.hero-primary {flex-wrap:wrap;}
.enquiry-help {font-size:.9rem;line-height:1.65;}
.direct-booking-panel {margin:0 0 1.25rem;padding:1rem;border:1px solid currentColor;border-radius:.35rem;}
.direct-booking-panel .enquiry-help {margin-top:0;}
.form-message-copy {display:block;white-space:pre-line;}
.form-message-actions {margin-top:1rem;white-space:normal;}
.form-message-actions .enquiry-help {margin:.65rem 0 0;}
.table-scroll {max-width:100%;overflow-x:auto;}
.room-comparison {width:100%;border-collapse:collapse;font-size:.95rem;}
.room-comparison th,.room-comparison td {text-align:start;vertical-align:top;padding:.8rem;border-bottom:1px solid currentColor;}
#faq details {padding:1rem 0;border-bottom:1px solid currentColor;}
#faq summary {cursor:pointer;font-weight:600;}
#faq p {max-width:75ch;line-height:1.7;}
#contact {scroll-margin-top:7rem;}
#form-msg {overflow-wrap:anywhere;white-space:normal;}
@media(max-width:600px) {.hero-primary {flex-wrap:wrap;} .room-comparison th,.room-comparison td {padding:.55rem;font-size:.85rem;} .stats .stat figure {font-size:clamp(1.2rem,5vw,2rem);}}
