.dev5-persons-modal {
  width: 100vw !important;
  max-width: 100vw;
  max-height: calc(100dvh - 0.75rem);
  overflow: hidden;
}

.dev5-persons-modal__body {
  max-height: inherit;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: calc(1.25rem + env(safe-area-inset-bottom));
}

.dev5-persons-modal .search-form__modal-main,
.dev5-persons-modal .persons-wrapper,
.dev5-persons-modal .js-persons-list,
.dev5-persons-modal .person-card {
  min-width: 0;
}

.dev5-persons-modal .person-card__title {
  font-weight: 700;
}

.dev5-persons-modal .person-card > .flex {
  flex-wrap: wrap;
  gap: 0.75rem;
}

.dev5-persons-modal .switcher-wrapper {
  min-width: 0;
  align-items: center;
  flex: 1 1 100%;
}

.dev5-persons-modal .switcher-wrapper label:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}

.dev5-persons-modal dropdown-picker {
  flex-shrink: 0;
}

.dev5-native-age-select {
  display: none;
}

.dev5-persons-modal .js-apply {
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 1rem !important;
}

#destList.dev5-default-destinations {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  max-height: min(34rem, calc(100dvh - 13rem));
}

.dev5-age-picker {
  position: fixed;
  z-index: 2147483647;
  overflow: hidden;
  border: 1px solid rgba(15, 26, 37, 0.18);
  border-radius: 0.45rem;
  background: #fff;
  box-shadow: 0 0.85rem 2.2rem rgba(4, 30, 46, 0.22);
  pointer-events: auto;
}

.dev5-age-picker__label {
  padding: 0.35rem 0.65rem 0.2rem;
  color: #0f1a25;
  font-size: 0.75rem;
  line-height: 1.25;
  font-weight: 700;
}

.dev5-age-picker__list {
  max-height: calc(var(--dev5-age-picker-max-height, 374px) - 1.75rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.05rem 0 0.25rem;
}

.dev5-age-picker__option {
  display: block;
  width: 100%;
  min-height: 1.25rem;
  padding: 0.05rem 0.65rem;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: #0f1a25;
  font-size: 0.75rem;
  line-height: 1.15;
  font-weight: 500;
  text-align: left;
  white-space: nowrap;
}

.dev5-age-picker__option.is-selected,
.dev5-age-picker__option:hover,
.dev5-age-picker__option:focus-visible {
  background: #026fb3;
  color: #fff;
  outline: none;
}

@media (min-width: 992px) {
  arrival-date-modal .search-form__modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  arrival-date-modal[data-calendar-placement="top"] .search-form__modal {
    top: auto;
    bottom: calc(100% + 0.75rem);
  }

  arrival-date-modal[data-calendar-placement="bottom"] .search-form__modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  .home-hero arrival-date-modal[data-calendar-placement="top"] .search-form__modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  persons-modal .dev5-persons-modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  persons-modal[data-persons-placement="top"] .dev5-persons-modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  persons-modal[data-persons-placement="bottom"] .dev5-persons-modal {
    top: calc(100% + 0.75rem);
    bottom: auto;
  }

  .dev5-persons-modal {
    left: 0;
    right: auto;
    width: min(450px, calc(100vw - 2rem)) !important;
    max-width: calc(100vw - 2rem);
    max-height: none;
    overflow: visible;
  }

  .search-option-modal[open] .dev5-persons-modal {
    max-height: none;
  }

  .dev5-persons-modal__body {
    max-height: none;
    overflow: visible;
  }

  .dev5-persons-modal .person-card > .flex {
    flex-wrap: nowrap;
    gap: 1.25rem;
  }

  .dev5-persons-modal .switcher-wrapper {
    flex-basis: auto;
  }

  #destList.dev5-default-destinations {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(44rem, calc(100vw - 4rem));
  }

  destination-modal #desiredLocation {
    width: min(48rem, calc(100vw - 4rem));
  }

  .dev5-age-picker__option {
    min-height: 1.25rem;
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
}

@media (max-width: 991.98px) {
  .dev5-native-child-age {
    position: relative;
  }

  .dev5-native-child-age .dev5-native-age-select {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 100%;
    border: 0;
    opacity: 0;
    cursor: pointer;
  }
}
