.mobilise-page.mobilise-landlords .ml-booking,
.ofp-page .ml-booking {
  width: min(900px, calc(100vw - 40px));
  max-width: none;
  max-height: min(92dvh, 900px);
  padding: 0;
  overflow: hidden;
  border: 1px solid #e3dbe9;
  border-radius: 12px;
  background: #fbf9fc;
  color: #21183c;
  box-shadow: 0 24px 80px rgb(31 20 47 / 28%);
}
.mobilise-page.mobilise-landlords .ml-booking::backdrop,
.ofp-page .ml-booking::backdrop {
  background: rgb(29 20 40 / 62%);
  backdrop-filter: blur(3px);
}
.ml-booking__panel { display: flex; max-height: inherit; flex-direction: column; }
.ml-booking__header {
  display: flex;
  flex: none;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 27px 30px 21px;
  border-bottom: 1px solid #e8e1ec;
  background: #fff;
}
.ml-booking__eyebrow {
  margin: 0 0 8px;
  color: #7954a4;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .15em;
}
.ml-booking__header h2 {
  margin: 0;
  color: #21183c;
  font: 600 clamp(23px, 3vw, 32px)/1.12 var(--ml-display, "Space Grotesk", sans-serif);
  letter-spacing: -.045em;
}
.ml-booking__header #ml-booking-description {
  max-width: 640px;
  margin: 9px 0 0;
  color: #655d70;
  font-size: 13px;
  line-height: 1.6;
}
.ml-booking__close {
  position: relative;
  display: grid;
  width: 42px;
  height: 42px;
  flex: none;
  place-items: center;
  border: 1px solid #e1d8e9;
  border-radius: 8px;
  background: #fbf9fc;
  color: #38205e;
  cursor: pointer;
}
.ml-booking__close:hover { background: #f0eaf6; }
.ml-booking__close span { position: absolute; width: 16px; height: 1.5px; background: currentColor; }
.ml-booking__close span:first-child { transform: rotate(45deg); }
.ml-booking__close span:last-child { transform: rotate(-45deg); }
.ml-booking__close:focus-visible,
.ml-booking__footer a:focus-visible {
  outline: 3px solid #a786c7;
  outline-offset: 3px;
}
.ml-booking__content {
  min-height: 0;
  padding-inline: 30px;
  overflow: auto;
  overscroll-behavior: contain;
  background: #fff;
  text-align: left;
}
.ml-booking__loading {
  min-height: 38px;
  margin: 0;
  padding: 11px 0 7px;
  color: #655d70;
  font-size: 12px;
  text-align: left;
}
.ml-booking__frame-wrap {
  position: relative;
  min-height: 300px;
  height: min(58vh, 590px);
  background: #fff;
}
.ml-booking__frame { display: block; width: 100%; height: 100%; min-height: 300px; border: 0; background: #fff; }
.ml-booking__footer {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 14px 0 18px;
  border-top: 1px solid #e9e2ed;
  background: #fff;
  color: #6d6475;
  font-size: 12px;
}
.ml-booking__footer a { color: #58338c; font-weight: 700; text-underline-offset: 3px; }
@media (min-width: 801px) {
  .mobilise-page.mobilise-landlords .ml-header__guide {
    min-width: max-content;
    padding-inline: 13px;
    gap: 8px;
    font-size: 11px;
  }
}
@media (max-width: 600px) {
  .mobilise-page.mobilise-landlords .ml-booking,
  .ofp-page .ml-booking {
    width: calc(100vw - 20px);
    max-height: 94dvh;
    border-radius: 10px;
  }
  .ml-booking__header { gap: 12px; padding: 20px 16px 16px; }
  .ml-booking__content { padding-inline: 16px; }
  .ml-booking__header #ml-booking-description { font-size: 12px; }
  .ml-booking__close { width: 38px; height: 38px; }
  .ml-booking__frame-wrap { height: 58dvh; min-height: 260px; }
  .ml-booking__frame { min-height: 260px; }
  .ml-booking__footer { flex-wrap: wrap; padding: 13px 0 16px; font-size: 11px; }
}
