body.booking-modal-open { overflow: hidden; }
.booking-notice { box-sizing: border-box; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 40px); margin: auto; padding: 0; border: 1px solid #e4d9cc; border-radius: 24px; background: #fdfcf9; color: #292825; box-shadow: 0 28px 100px #251b1940; font: 14px/1.65 Manrope, Arial, sans-serif; text-align: center; }
.booking-notice::backdrop { background: #211a17a6; backdrop-filter: blur(5px); }
.booking-notice-content { position: relative; padding: 38px 34px 26px; }
.booking-notice .booking-notice-close { position: absolute; top: 8px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #706c65; font: 28px/1 Arial, sans-serif; cursor: pointer; }
.booking-notice .booking-notice-eyebrow { margin: 0 20px 19px; color: #79583f; font-size: 10px; letter-spacing: .12em; }
.booking-notice h2 { margin: 0 0 17px; font: 500 28px/1.2 Manrope, Arial, sans-serif; letter-spacing: -.04em; }
.booking-notice p { margin: 0 0 17px; }
.booking-notice .booking-notice-highlight { font-weight: 600; }
.booking-notice #booking-notice-description { color: #706c65; }
.booking-notice-choice { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 0; margin: 8px 0 16px; cursor: pointer; text-align: left; }
.booking-notice input { appearance: auto; width: 20px; height: 20px; flex: 0 0 20px; margin: 0; accent-color: #79583f; }
.booking-notice a.booking-notice-proceed { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 18px; border-radius: 28px; border: 1px solid #79583f; background: #79583f; color: white; font-weight: 600; text-decoration: none; cursor: pointer; }
.booking-notice a.booking-notice-proceed[aria-disabled="true"] { opacity: .42; cursor: not-allowed; }
.booking-notice .booking-notice-footnote { margin: 15px 0 0; font-size: 10px; color: #706c65; }
.booking-notice :focus-visible { outline: 3px solid #a48155; outline-offset: 4px; }
@media(max-width: 480px) { .booking-notice-content { padding: 43px 22px 24px; } .booking-notice h2 { font-size: 25px; } }
