/* Estilos generales del cuerpo de la página */
body {
  /* Fondo degradado con los colores del logo (azul, naranja, verde) */
  background: linear-gradient(135deg, #003366, #F7941D, #8CC63F);
  background-size: 400% 400%; /* Tamaño del degradado para la animación */
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Arial, sans-serif; /* Se añade una fuente estándar */
  
  /* Animación para el movimiento suave del fondo */
  animation: gradientAnimation 15s ease infinite;
}

/* Keyframes para la animación del degradado */
@keyframes gradientAnimation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Contenedor principal del formulario de login */
.login-container {
  background-color: rgba(255, 255, 255, 0.95); /* Aumenta la opacidad para mejorar legibilidad */
  padding: 40px;
  border-radius: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  max-width: 500px;
  width: 90%; /* Ajuste para mejor responsividad en móviles */
}

/* Logo dentro del contenedor */
.login-logo {
  width: 100px;
  margin: 0 auto 20px;
  display: block;
}

/* Título del formulario "Inicio de Sesión" */
.login-title {
  text-align: center;
  font-size: 24px;
  color: #003366; /* Color azul oscuro del logo */
  margin-bottom: 30px;
  font-weight: bold;
}

/* Estilo para los campos de entrada (usuario y contraseña) */
.form-control {
  border-radius: 30px;
  padding: 15px;
  border: 1px solid #ccc;
  transition: box-shadow 0.3s ease; /* Transición para el foco */
}

.form-control:focus {
  box-shadow: 0 0 10px rgba(0, 51, 102, 0.3); /* Sombra con el color azul del logo */
  border-color: #003366;
}

/* Botón principal de login */
.btn-primary {
  background-color: #003366; /* Color azul oscuro del logo */
  border-color: #003366;
  border-radius: 30px;
  padding: 12px 30px;
  font-size: 16px;
  transition: background-color 0.3s ease; /* Transición para el hover */
}

.btn-primary:hover {
  background-color: #004488; /* Un azul ligeramente más claro para el efecto hover */
  border-color: #004488;
}

/* Contenedor para botones de soporte o secundarios */
.support-btn {
  margin-top: 15px;
  text-align: center; /* Centra el botón de soporte */
}

.support-btn a {
  border-radius: 30px;
}

/* Mensaje de error */
.error-message {
  color: red;
  text-align: center;
  font-size: 16px;
  margin-top: 15px;
}

/* Mensaje de ánimo para conductores */
.mensaje-animo-conductores {
  max-width: 600px;
  margin: 0 auto 20px;
  padding: 12px 20px;
  border-radius: 10px;
  background-color: #e9f5e9; /* Un verde más sutil */
  color: #155724;
  box-shadow: 0 0 10px rgba(21, 87, 36, 0.2);
  text-align: center;
}

.mensaje-animo-conductores p {
  margin: 0;
  line-height: 1.5;
}