* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Montserrat", sans-serif;
}

#particles-js {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: #252835; /* Color de fondo sólido */
}

body {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  width: 160%; /* Ocupa todo el ancho de la pantalla */
  max-width: 1200px; /* Pero no excede este ancho en pantallas grandes */
  margin: 0 auto;
  overflow: hidden;
  font-family: "Montserrat", sans-serif;
}

.container-form {
  display: flex;
  border-radius: 20px;
  box-shadow: 0 5px 7px rgba(255, 255, 255, 0.726);
  height: 450px; /* Ajusta el alto total del login*/
  width: 80%; /* Ajusta el ancho total de la pantalla */
  max-width: 800px; /* O define un ancho máximo específico */
  transition: all 1s ease;
  margin: 10px;
  overflow: hidden; /* Evita que el contenido se desborde */
}

.information {
  position: relative;
  width: 50%; /* Aumenta el ancho de .information */
  height: 100%;
  overflow: hidden;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  padding: 40px;
}

.background-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
  z-index: -1;
}

.form-information {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50%; /* Aumenta el ancho de .form-information */
  text-align: center;
  background-color: #f8f8f8;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  padding: 40px;
}

.form-information-childs {
  padding: 0 30px;
}

.form-information-childs h2 {
  color: #333;
  font-size: 3rem;
  font-family: "Tektur", sans-serif;
  font-weight: 589;
  font-style: normal;
  font-variation-settings: "wdth" 80.7;
}

.form-information-childs p {
  color: #555;
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  font-style: normal;
}

.icons {
  margin: 15px 0;
}

.icons i {
  border-radius: 50%;
  padding: 15px;
  cursor: pointer;
  margin: 0 10px;
  color: #9191bd;
  border: solid thin #9191bd;
  transition: background-color 0.3s ease;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.icons i:hover {
  background-color: #c7c7f3;
  color: #fff;
}

.form {
  margin: 30px 0 0 0;
}

.form label {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  border-radius: 20px;
  padding: 0 10px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.form label input {
  width: 100%;
  padding: 10px;
  background-color: #fff;
  border: none;
  outline: none;
  border-radius: 20px;
  color: #333;
}

.form label i {
  color: #a7a7a7;
}

.form input[type="submit"] {
  background-color: #9191bd;
  color: #fff;
  border-radius: 20px;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  margin-top: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.form input[type="submit"]:hover {
  background-color: #7a7a9a;
}

.hide {
  position: absolute;
  transform: translateY(-300%);
}

/* Estilos para el mensaje de error dentro de .icons */
/* Estilos generales para el contenedor de error */
/* Estilos para el mensaje de error dentro de .icons */
/* Contenedor para alertas */
.icons .alerta {
  display: block;
  width: 100%;
  max-width: 290px;
  text-align: center;
  padding: 0.5rem 1rem;
  border-radius: 7px;
  font-weight: 500;
  font-size: 0.9rem;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  margin-bottom: 10px;
  color: #fff;
  animation: fade-in 0.5s ease-in-out;
}

/* Colores específicos para cada tipo de error */
.icons .alerta.falta-datos {
  background-color: #ffc107; /* Amarillo para advertencia */
}

.icons .alerta.credenciales-incorrectas {
  background-color: #f66060; /* Rojo para error */
}

.icons .alerta.usuario-desactivado {
  background-color: #a9a9a9; /* Gris para notificación */
}

.icons .alerta.usuario-bloqueado {
  background-color: #d9534f; /* Rojo oscuro para bloqueo */
  background-image: linear-gradient(to right, #d9534f, #f7605f);
}

/* Animación de entrada */
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Estilo para el mensaje de bloqueo con contador */
#login-alert {
  font-size: 14px;
  color: #fff;
  background-color: #d9534f;
  padding: 10px;
  border-radius: 5px;
  text-align: center;
  margin-top: 15px;
  animation: fade-in 0.5s ease-in-out;
}


/*RESPONSIVE FORM*/

@media screen and (max-width: 750px) {
  html {
    font-size: 12px;
  }
}

@media screen and (max-width: 580px) {
  html {
    font-size: 15px;
  }

  .container-form {
    height: auto;
    flex-direction: column;
  }

  .information {
    width: 100%;
    padding: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0;
  }

  .form-information {
    width: 100%;
    padding: 20px;
    border-bottom-left-radius: 20px;
    border-top-right-radius: 0;
  }
}
/* Estilo para los campos deshabilitados */
input[disabled] {
  background-color: #f2f2f2; /* Fondo gris claro */
  color: #a1a1a1; /* Texto más tenue */
  cursor: not-allowed; /* Icono de no permitido */
  border: 1px solid #ddd; /* Borde gris claro */
}
