/* Estilo global: fuente Syne */
body {
  margin: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f8f9fa;
  font-family: 'Syne', sans-serif;
}

.card {
  max-width: 400px;
  width: 100%;
  border: none;
}

.card-header {
  background-color: #212E21; /* color principal */
}

.card-header h4 {
  margin: 0;
  font-weight: 600; /* un poco más grueso */
}

.card-body {
  padding: 2rem;
}

/* color principal en el botón */
.btn-primary {
  background-color: #212E21;
  border-color: #212E21;
}

.btn-primary:hover {
  background-color: #EBFC72; /* un tono un poco más oscuro */
  border-color: #EBFC72;
  color: #212E21;
}

/* Botón secundario */
.btn-outline-secondary {
  color: #212E21;
  border-color: #212E21;
}

.btn-outline-secondary:hover {
  background-color: #f8f9fa;
  color: #212E21;
}

/* Textos */
label {
  font-weight: 600;
}

/* Mensajes de error */
.alert {
  border-radius: 4px;
  margin-bottom: 1.5rem;
  padding: 0.75rem 1rem;
}

.alert-danger {
  background-color: rgba(220, 53, 69, 0.1);
  border-color: rgba(220, 53, 69, 0.25);
  color: #dc3545;
}

.alert-success {
  background-color: rgba(40, 167, 69, 0.1);
  border-color: rgba(40, 167, 69, 0.25);
  color: #28a745;
}

/* Enlace de olvidé contraseña */
.forgot-password {
  display: block;
  text-align: right;
  font-size: 0.85rem;
  margin-top: 0.5rem;
  color: #212E21;
  text-decoration: none;
}

/* Estilo al pasar el cursor (hover) */
.forgot-password:hover {
  color: #212E21; /* Mantenemos el mismo color base */
  text-decoration: underline; /* Añadimos subrayado */
  opacity: 0.8; /* Reducimos ligeramente la opacidad para un efecto sutil */
}

/* Código de error */
.error-code {
  font-size: 5rem;
  font-weight: bold;
  color: #f8f9fa;
  text-shadow: 2px 2px 0 #212E21;
  margin-bottom: 1rem;
}

/* Ajuste para pantallas más amplias en formularios de recuperación */
.card.card-reset {
  max-width: 450px;
}