html, body {
    height: 100%;
    margin: 0;
    --bs-font-sans-serif: 'Nunito Sans', 'Montserrat', sans-serif;
    --bs-body-font-size: 0.9rem;
    --bs-border-radius: 0.2rem;
}

.auth-container {
  width: 500px;
  margin: auto;
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  background-color: var(--bs-light);
}

.form-control, .form-label {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
}

.btn {
    font-family: 'Montserrat', sans-serif;
    font-size: 0.9rem;
    border-radius: 0.3rem;
    font-weight: 600;
}

.btn-secondary {
    background-color: var(--bs-light);
    color: #505050;
}
.btn-secondary:hover {
    background-color: #e8e9eb;
    color: #505050;
}

.link-small-primary {
    font-size: 0.85rem;
    color: var(--bs-primary) !important;
    text-decoration: none;
    transition: color 0.2s;
    font-weight: 500;
}

.link-small-primary:hover {
    color: var(--bs-primary-dark, #0a58ca); 
    text-decoration: none;
}

.invalid-feedback {
  display: block;
  min-height: 1.25em; /* Ajusta según el tamaño de tu fuente */
  /* visibility: hidden; */
  margin-top: 0.25rem;
  font-size: 0.85rem;
}

.was-validated .form-control:invalid ~ .invalid-feedback,
.form-control.is-invalid ~ .invalid-feedback {
  visibility: visible;
}

.form-invalid-message {
  color: #dc3545; /* Rojo Bootstrap */
  text-align: center;
  font-size: 0.85rem;
  min-height: 1.25em; /* Reserva espacio para evitar saltos */
  margin-top: 0rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  display: block;
  opacity: 1;
  transition: opacity 1s;
}
.form-invalid-message.hide {
  opacity: 0;
  pointer-events: none;
}

.form-message {
  text-align: center;
  font-size: 0.85rem;
  min-height: 1.25em; /* Reserva espacio para evitar saltos */
  margin-top: 0rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  display: block;
  opacity: 1;
  transition: opacity 1s;
}

.valid {
  color: #0135c4; /* Verde Bootstrap */
}
.invalid {
  color: #dc3545; /* Rojo Bootstrap */
}