.booking-notify {
  box-sizing: border-box;
  width: min(514px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 68px 46px 54px;
  border: 0;
  border-radius: 20px;
  background: #fafaf7;
  color: #294362;
  text-align: center;
  font-family: var(--font-body, Inter, sans-serif);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.booking-notify::backdrop { background: rgba(15, 32, 49, .72); }
.booking-notify [hidden] { display: none !important; }
.booking-notify h2 { margin: 14px 0 16px; font-family: var(--font-headline); font-size: 46px; font-weight: 400; line-height: 1.08; letter-spacing: -.04em; color: #294362; }
.booking-notify h2:focus { outline: none; }
.booking-notify .booking-notify__eyebrow { margin: 0; font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.booking-notify .booking-notify__intro { margin: 0 0 24px; font-size: 15px; line-height: 1.55; color: #526982; }
.booking-notify form { text-align: left; }
.booking-notify label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 600; }
.booking-notify input[type="email"] { box-sizing: border-box; width: 100%; min-height: 46px; padding: 12px 14px; border: 1px solid #bccbd7; border-radius: 5px; background: white; color: #294362; font: inherit; font-size: 16px; }
.booking-notify .booking-notify__button { display: block; width: 100%; min-height: 44px; margin: 10px 0 0; padding: 12px 20px; border: 0; border-radius: 99px; background: #294362; color: white; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.4; text-transform: uppercase; cursor: pointer; }
.booking-notify__button:disabled { opacity: .65; cursor: wait; }
.booking-notify .booking-notify__close { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0 0 2px; border: 1.5px solid #294362; border-radius: 50%; background: transparent; color: #294362; font: 23px/1 Arial, sans-serif; cursor: pointer; }
.booking-notify .booking-notify__fine { margin: 24px 0 0; font-size: 11px; line-height: 1.45; color: #526982; }
.booking-notify .booking-notify__consent { margin: 14px 0 0; font-size: 10px; line-height: 1.45; color: #526982; }
.booking-notify a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.booking-notify .booking-notify__error { margin-top: 12px; font-size: 13px; color: #9b2727; }
.booking-notify__check { display: grid; place-items: center; width: 54px; height: 54px; margin: 26px auto 24px; border-radius: 50%; background: #d6e9d6; font-size: 25px; }
.booking-notify [data-booking-success] { padding-bottom: 26px; }
.booking-notify :is(button, input, a):focus-visible { outline: 3px solid #7295b7; outline-offset: 3px; }
@media (max-width: 540px) {
  .booking-notify { padding: 60px 24px 32px; }
  .booking-notify h2 { font-size: 38px; }
  .booking-notify .booking-notify__intro { font-size: 14px; }
}
