/* ENSIGNA TOURS · V9.0.7.5
   Hotfix de acceso/cambio obligatorio de PIN.
   El documento es el único dueño del desplazamiento vertical. */

html,
body.v4-page {
  min-height: 100% !important;
  height: auto !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y pinch-zoom !important;
}

body.v9075-auth-mode,
body.v9075-forced-pin-change {
  min-height: 100dvh !important;
  height: auto !important;
  overflow-y: auto !important;
  overscroll-behavior-y: auto !important;
  touch-action: pan-y pinch-zoom !important;
}

body.v9075-auth-mode #auth,
body.v9075-auth-mode #auth .v4-auth-grid,
body.v9075-auth-mode #auth .v4-card,
body.v9075-forced-pin-change #auth,
body.v9075-forced-pin-change #auth .v4-auth-grid,
body.v9075-forced-pin-change #auth .v4-card {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
  overscroll-behavior: auto !important;
  contain: none !important;
  transform: none !important;
  touch-action: pan-y pinch-zoom !important;
}

body.v9075-auth-mode #auth .v4-auth-grid {
  align-items: start !important;
}

/* Cuando se exige un PIN nuevo no compiten otros flujos de acceso. */
body.v9075-forced-pin-change #auth .v4-auth-grid {
  grid-template-columns: minmax(0, 680px) !important;
  justify-content: center !important;
}

body.v9075-forced-pin-change #loginForm,
body.v9075-forced-pin-change #pinRecoveryRequestForm,
body.v9075-forced-pin-change #accessChoice,
body.v9075-forced-pin-change #activateForm,
body.v9075-forced-pin-change #registerForm {
  display: none !important;
}

body.v9075-forced-pin-change #pinRecoveryResetForm {
  display: block !important;
  width: 100% !important;
  max-width: 680px !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

#pinRecoveryResetStatus {
  display: none;
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 12px;
  font-size: .94rem;
  line-height: 1.35;
}

#pinRecoveryResetStatus.is-visible { display: block; }
#pinRecoveryResetStatus.is-error {
  background: #fff1f1;
  color: #9b1c1c;
  border: 1px solid #ffd1d1;
}
#pinRecoveryResetStatus.is-success {
  background: #ecfff4;
  color: #08723d;
  border: 1px solid #bcebd0;
}

#pinRecoverySaveButton[disabled] {
  cursor: wait !important;
  opacity: .72 !important;
}

@media (max-width: 720px) {
  body.v9075-auth-mode .v4-main,
  body.v9075-forced-pin-change .v4-main {
    overflow: visible !important;
    min-height: auto !important;
  }

  body.v9075-auth-mode .v4-container,
  body.v9075-forced-pin-change .v4-container {
    overflow: visible !important;
    max-height: none !important;
  }

  body.v9075-forced-pin-change #auth .v4-auth-grid {
    display: block !important;
    width: 100% !important;
  }

  body.v9075-forced-pin-change #pinRecoveryResetForm {
    margin: 0 !important;
    max-width: none !important;
  }

  #pinRecoverySaveButton {
    width: 100% !important;
    min-height: 48px !important;
  }
}
