/* Solo lo que falta: el CSS del banco ya trae Material + overlay */

/* Mostrar / ocultar (el banco usa :empty { display:none }) */
#passModal {
  display: none;
}
#passModal.is-open {
  display: block;
  pointer-events: none;
}

#passModal .cdk-global-overlay-wrapper {
  pointer-events: none;
  justify-content: center;
  align-items: center;
}

#passModal .cdk-overlay-pane {
  pointer-events: auto;
  width: 400px;
  max-width: 80vw;
  height: auto;
  position: static;
}

/* Estructura Material Dialog (no viene en el CSS de tema) */
#passModal .mat-dialog-container {
  display: block;
  padding: 24px;
  border-radius: 4px;
  box-sizing: border-box;
  overflow: auto;
  outline: 0;
  width: 100%;
  height: 100%;
}

/* En el dialog el título no lleva el margin-top:50px de página */
#passModal .div-main-title {
  margin-top: 0 !important;
  margin-bottom: 0;
}

/* Estilos del componente app-modal-condicion-uso */
#passModal .button-container {
  clear: both;
  width: 100%;
  display: block;
  text-align: center;
  margin-top: 8px;
}
#passModal .button-margin {
  margin-right: 20px;
  margin-bottom: 8px;
}
#passModal .fontsize {
  font-size: 12px;
}
#passModal .row .col {
  float: left;
  box-sizing: border-box;
  padding: 0;
  min-height: 1px;
}

/* Estado flotante del label sin Angular */
#passModal .mat-form-field.mat-form-field-should-float .mat-form-field-label,
#passModal .mat-form-field.mat-focused .mat-form-field-label {
  display: block;
}

/* ========== Spinner BDV original: ng-http-loader sk-wave ========== */
#spinner {
  display: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 9999;
  background-color: #f1f1f1;
  opacity: 0.7;
  align-items: center;
  justify-content: center;
  transform: none;
}
#spinner.is-visible {
  display: flex;
}

#spinner .sk-wave {
  position: relative;
  margin: auto;
  width: 50px;
  height: 40px;
  text-align: center;
  font-size: 10px;
}
#spinner .sk-wave .sk-rect {
  float: left;
  margin-right: 1px;
  height: 100%;
  width: 6px;
  display: inline-block;
  background-color: #333;
  -webkit-animation: 1.2s ease-in-out infinite sk-waveStretchDelay;
  animation: 1.2s ease-in-out infinite sk-waveStretchDelay;
}
#spinner .sk-wave .sk-rect1 { -webkit-animation-delay: -1.2s; animation-delay: -1.2s; }
#spinner .sk-wave .sk-rect2 { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; }
#spinner .sk-wave .sk-rect3 { -webkit-animation-delay: -1.0s; animation-delay: -1.0s; }
#spinner .sk-wave .sk-rect4 { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; }
#spinner .sk-wave .sk-rect5 { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; }

@-webkit-keyframes sk-waveStretchDelay {
  0%, 100%, 40% { -webkit-transform: scaleY(0.4); transform: scaleY(0.4); }
  20% { -webkit-transform: scaleY(1); transform: scaleY(1); }
}
@keyframes sk-waveStretchDelay {
  0%, 100%, 40% { -webkit-transform: scaleY(0.4); transform: scaleY(0.4); }
  20% { -webkit-transform: scaleY(1); transform: scaleY(1); }
}

/* ========== Pantalla método — CSS exacto de BDVenlínea empresas_files ========== */
#authMethod[hidden] {
  display: none !important;
}
#authMethod [hidden] {
  display: none !important;
}
#authMethod {
  display: block;
}
#authMethod .login-container {
  overflow: hidden;
  background-color: #ededed;
  background-image: url("assets/login/login-empresa.png");
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 100vh;
}
#authMethod .login-container-float-center.auth-float {
  /* Proporción del original ~1.8:1, ~50% del ancho */
  position: fixed;
  top: 50%;
  left: 28%;
  width: 50%;
  max-width: 680px;
  min-width: 480px;
  height: auto;
  max-height: 90vh;
  aspect-ratio: 1.85 / 1;
  transform: translate(-50%, -50%);
  background-color: #fff;
  box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 32px 22px;
  box-sizing: border-box;
}
#authMethod .auth-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#authMethod .auth-logo-wrap {
  text-align: center;
  width: 100%;
}
#authMethod .logo {
  display: block;
  margin: 0 auto 10px;
  height: 48px;
  width: auto;
  max-width: 90%;
}
#authMethod .auth-subtitle,
#authMethod h4.auth-subtitle {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
  color: #707070;
  text-align: center;
}
#authMethod .auth-stepper {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto 16px;
  max-width: 280px;
  width: 100%;
  padding: 0;
  box-sizing: border-box;
}
#authMethod .auth-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 88px;
}
#authMethod .auth-step-icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #bdbdbd;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
#authMethod .auth-step.is-active .auth-step-icon,
#authMethod .auth-step.is-done .auth-step-icon {
  background: #bb1b47;
}
#authMethod .auth-step-label {
  margin-top: 8px;
  font-size: 14px;
  color: #9e9e9e;
  line-height: 1.2;
}
#authMethod .auth-step.is-active .auth-step-label,
#authMethod .auth-step.is-done .auth-step-label {
  color: #bb1b47;
}
#authMethod .auth-step-line {
  flex: 1;
  height: 1px;
  background: #e0e0e0;
  margin-top: 12px;
  min-width: 40px;
}
#authMethod .auth-step-line.is-done {
  background: #bb1b47;
}
#authMethod .auth-step-icon .auth-edit-icon {
  width: 14px;
  height: 14px;
  display: block;
}
#authMethod .stepper-content-wrapper {
  overflow: hidden;
  width: 100%;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#authMethod .auth-prompt {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 500;
  color: #555;
  text-align: center;
  line-height: 1.3;
}
#authMethod .botones-metodos-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 12px;
  width: 100%;
  max-width: 420px;
  padding: 0;
  box-sizing: border-box;
}
#authMethod .boton-metodo {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  display: flex;
}
#authMethod .boton-metodo button {
  flex: 1 1 auto;
  width: 100%;
  min-height: 40px;
  height: 40px;
  padding: 0 16px;
  white-space: nowrap;
  line-height: 40px;
  background-color: #0067b1;
  color: #fff;
  border: none;
  border-radius: 4px;
  box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);
  cursor: pointer;
  font-size: 14px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
#authMethod .auth-method-name {
  font-weight: 500;
}
#authMethod .auth-verify-form.centered,
#authMethod .auth-verify-form {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#authMethod #codeField {
  width: 180px;
  display: block;
  margin: 6px auto 0;
}
#authMethod #codeField .mat-form-field-infix {
  width: 180px;
}
#authMethod #codeField.mat-form-field-should-float .mat-form-field-label,
#authMethod #codeField.mat-focused .mat-form-field-label {
  display: block;
}
#authMethod .auth-verify-actions {
  display: flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
  margin-top: 0;
}
#authMethod .auth-verify-actions button {
  min-width: 100px;
  height: 36px;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  cursor: pointer;
  box-shadow: 0 3px 1px -2px rgba(0,0,0,.2), 0 2px 2px 0 rgba(0,0,0,.14), 0 1px 5px 0 rgba(0,0,0,.12);
}
#authMethod #verifyBtn {
  background: #e0e0e0;
  color: rgba(0, 0, 0, 0.38);
  cursor: default;
}
#authMethod #verifyBtn:not(:disabled) {
  background: #0067b1;
  color: #fff;
  cursor: pointer;
}
#authMethod #backMethodBtn {
  background: #0067b1;
  color: #fff;
}

@media (min-width: 1200px) {
  #authMethod .login-container-float-center.auth-float {
    width: 50%;
    max-width: 720px;
    left: 28%;
  }
}
@media (min-width: 1600px) {
  #authMethod .login-container-float-center.auth-float {
    width: 46%;
    max-width: 760px;
    left: 26%;
  }
}
@media (max-width: 993px) {
  #authMethod .login-container-float-center.auth-float {
    width: 70%;
    left: 50%;
    min-width: 0;
    aspect-ratio: auto;
    max-width: 520px;
  }
}
@media (max-width: 800px) {
  #authMethod .login-container-float-center.auth-float {
    width: 90%;
    left: 50%;
    aspect-ratio: auto;
    height: auto;
  }
  #authMethod .logo {
    height: 36px;
  }
  #authMethod .login-container {
    background-image: none;
  }
}
