/* Reliable modal behavior on mobile browsers. */
html.modal-v5-lock,
body.modal-v5-lock {
  overflow: hidden !important;
  overscroll-behavior: none;
}

.open-modal {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

.modal.modal-v5-open {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh;
  z-index: 2147483000 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

@supports (height: 100dvh) {
  .modal.modal-v5-open { min-height: 100dvh; }
}

@media (max-width: 767px) {
  .modal.modal-v5-open {
    padding: 12px !important;
  }

  .modal.modal-v5-open .modal__block {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    width: min(100%, 525px) !important;
    max-width: 525px !important;
    max-height: calc(100vh - 24px);
    margin: max(12px, env(safe-area-inset-top)) auto max(12px, env(safe-area-inset-bottom)) !important;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  @supports (height: 100dvh) {
    .modal.modal-v5-open .modal__block {
      max-height: calc(100dvh - 24px);
    }
  }

  .modal.modal-v5-open .modal__close {
    z-index: 3;
    touch-action: manipulation;
  }
}
