
.auth-container {
  max-width: 400px;
  margin: 60px auto; 
  padding: 30px;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  background-color: #ffffff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.07);

  /* Centramos el texto, en caso lo quieras */
  text-align: center;

  /* Animación fade-in al cargar la página */
  opacity: 0;                   /* Inicialmente oculto */
  transform: translateY(10px);  /* Un ligero desplazamiento */
  animation: fadeInUp 0.7s forwards ease-in-out;
}

/* Título */
.auth-container h1 {
  margin-bottom: 20px;
  font-size: 24px;
  color: #333;
}

/* Texto de error */
.error-message {
  color: #d9534f; /* Un rojo agradable */
  font-weight: 600;
  margin-bottom: 15px;
}

/* Formulario */
.auth-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Labels */
.auth-form label {
  text-align: left;
  font-weight: 500;
  color: #555;
}

/* Inputs */
.auth-form input[type="email"],
.auth-form input[type="password"] {
  
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  outline: none;
  transition: border-color 0.2s;
}

.auth-form input[type="email"]:focus,
.auth-form input[type="password"]:focus {
  border-color: #007bff;
}

/* Botón principal */
.auth-button {
  cursor: pointer;
  background-color: #007bff;
  color: #ffffff;
  font-size: 16px;
  padding: 12px;
  border: none;
  border-radius: 4px;

  /* Animaciones al hacer hover / click */
  transition: background-color 0.3s, transform 0.2s;
}

.auth-button:hover {
  background-color: #0056b3;
}

.auth-button:active {
  transform: scale(0.95);
}

/* Texto para cambiar entre login y signup */
.switch-link {
  margin-top: 15px;
  font-size: 14px;
}

/* Enlaces dentro de switch-link */
.switch-link a {
  color: #007bff;
  text-decoration: none;
  transition: color 0.3s;
}

.switch-link a:hover {
  color: #0056b3;
}







/* Centrar la caja de login/register */
.auth-container {
  max-width: 400px;
  margin: 60px auto;
  padding: 30px;
  background-color: #fff;
  border: 1px solid #eaeaea;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
  text-align: center;
}

/* Transición fade-in */
.fade-in {
  opacity: 0;
  transform: translateY(15px);
  animation: fadeInUp 0.6s forwards ease-out;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.auth-form {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 20px;
}

.auth-form input {
  padding: 10px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.auth-form input:focus {
  border-color: #007bff;
}

.auth-button {
  background-color: #007bff;
  color: #fff;
  padding: 12px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}
.auth-button:hover {
  background-color: #0056b3;
}

/* Mensajes de error */
.error-message {
  color: #d9534f;
  margin-top: -5px;
  margin-bottom: 10px;
  font-weight: 500;
}

/* Mensajes flash */
.flash-messages {
  max-width: 400px;
  margin: 20px auto;
  padding: 0 20px;
}
.flash-message {
  padding: 10px;
  border-radius: 4px;
  margin-bottom: 10px;
}
.flash-message.success {
  background-color: #d4edda;
  color: #155724;
}
.flash-message.error {
  background-color: #f8d7da;
  color: #721c24;
}










/* -----------------------------
    Animaciones (keyframes)
----------------------------- */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* -----------------------------
    Responsive
----------------------------- */
@media (max-width: 768px) {
  .auth-container {
    margin: 30px auto; 
    padding: 20px;
  }

  header p {
    display: none;
  }

  .auth-container h1 {
    font-size: 20px;
    margin-bottom: 16px;
  }

  .auth-button {
    font-size: 15px;
    padding: 10px;
  }
}
