/* Shared public-site controls. Labels, native select behaviour and validation stay intact. */
body :is(main,.booking-details,.gate-form) :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=search],textarea,select):not([hidden]){
 border:0;border-bottom:1px solid #817a73;border-radius:0;background:transparent;color:inherit;box-shadow:none;padding:14px 3px;min-height:48px;font:400 16px/1.5 Inter,Arial,sans-serif;max-width:100%;box-sizing:border-box;transition:border-color .2s,box-shadow .2s
}
body :is(main,.booking-details,.gate-form) textarea{resize:vertical;min-height:115px}
body :is(main,.booking-details,.gate-form) :is(input:not([type]),input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=search],textarea,select):focus-visible{border-bottom-color:#622338;box-shadow:0 2px 0 #622338;outline:2px solid #622338;outline-offset:5px}
body :is(main,.booking-details,.gate-form) :is(input,textarea):user-invalid{border-bottom-color:#a22735}
body :is(main,.booking-details,.gate-form) :is(input,textarea)::placeholder{color:currentColor;opacity:.62}
body :is(main,.booking-details,.gate-form) :is(input,textarea,select):disabled{opacity:.5;cursor:not-allowed}
body .immersive-header{background:var(--header-surface,var(--flow-page-surface,var(--page-surface,#f1eeea)));color:var(--header-ink,var(--flow-page-ink,var(--page-ink,#171816)));border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
body .immersive-header .motion-wordmark,body .immersive-header .immersive-header-book,body .immersive-header .immersive-menu-trigger{color:inherit}
.immersive-header-quick{display:flex;gap:30px;margin-right:22px;align-items:center;font:500 13px/1.4 Inter,sans-serif}
.immersive-header-quick a{color:inherit;text-decoration:none;padding:12px 0;position:relative}
.immersive-header .immersive-header-quick a:is([aria-current],:hover,:focus-visible){color:inherit}
.immersive-header-quick a[aria-current=page]:after{content:"";position:absolute;left:0;bottom:4px;width:22px;border-bottom:2px solid currentColor}
.immersive-menu-primary .menu-link-note{display:block;font:400 12px/1.6 Inter,sans-serif;letter-spacing:0;margin-top:5px;color:#625c57}
.immersive-menu-primary>a{padding-block:8px}
.immersive-menu-primary>a:has(.menu-link-note){font-size:clamp(35px,4.4vw,65px)}
body.flow-site .offer-navigation{color:#171816}
@media(max-width:1000px){.immersive-header-quick{display:none}}
@media(max-width:640px){.immersive-menu-primary>a:has(.menu-link-note){font-size:36px}.immersive-menu-primary .menu-link-note{font-size:11px}.immersive-menu-primary{gap:6px}}
@media(prefers-reduced-motion:reduce){body :is(input,textarea,select){transition:none!important}}
/* Secondary booking copy stays readable beside the new light field treatment. */
body .booking-person p>span,body .booking-privacy{opacity:1;color:var(--ink,#171816)}

body .footer-links:has(>.footer-column:nth-child(4)){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
@media(max-width:1100px){body .footer-links:has(>.footer-column:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}}
/* In the dark theme the page ground is dark too, so the links take the page ink instead. */
:root[data-theme="dark"] body.flow-site .offer-navigation{color:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body.flow-site .offer-navigation{color:inherit}}
