/* *************************************
**********FONDO LE LOGIN**************
**************************************** */
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: 'Montserrat', sans-serif;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    background-image: url('/static/img/login3.jpg');
    background-size: cover;
}

/* *************************************
**********TAMAÑO DE FORM**************
**************************************** */
.container-form {
  display: flex;
  border-radius: 20px;
  box-shadow: 0 5px 7px rgba(0, 0, 0, .1);
  height: 640px; /* altura form */
  max-width: 1100px; /* ancho form */
  transition: all 1s ease;
  margin: 10px;
}

/* *************************************
**********UE WILLIAM BOOTH**************
**************************************** */
.information {
  width: 40%;
  display: flex;
  align-items: center;
  text-align: center;
  background-color: rgba(101, 27, 69, 0.8); /* Fondo más transparente izquierdo */
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
}

.info-childs {
  width: 100%;
  padding: 0 30px;
}

/* stilo img robot */
.imagen-bienvenida {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover;   
  margin-top: 15px;
  animation: floatRotate 4s ease-in-out infinite;
}

@keyframes floatRotate {
  0% {transform: translateY(0) rotate(0deg);}
  25% {transform: translateY(-10px) rotate(3deg);}
  50% {transform: translateY(0) rotate(0deg);}
  75% {transform: translateY(10px) rotate(-3deg);}
  100% {transform: translateY(0) rotate(0deg);}
}

/* texto ue william booth */
.bienvenido-texto {
  font-size: 32px;
  font-weight: bold;
  color: #f5f5f5; /* blanco cálido */
  text-decoration: none;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;

  text-shadow: 
    1px 1px 2px rgba(255, 255, 255, 0.5),  /* sombra*/
    2px 2px 4px rgba(255, 220, 220, 0.3);  
  
  transition: color 0.4s ease, text-shadow 0.4s ease;
}

.bienvenido-texto:hover {
  color: #FFD700; /* dorado fuerte */
  text-shadow: 
    1px 1px 2px rgba(0,0,0,0.6), /* sombra */ 
    3px 3px 6px rgba(0,0,0,0.35), 
    0 0 5px rgba(255, 215, 0, 0.6); 
}

.bienvenido-texto span {
  display: inline-block;
}

/* cursor parpadeante */
.bienvenido-texto span.active::after {
  content: '|';           /* barra de cursor */
  color: #f5f5f5;   
  margin-left: 2px;
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}

/* cursor hover */
.bienvenido-texto:hover span.active::after {
  color: #FFD700;
}

.info-childs p { /*color parrafo*/
  margin: 15px 0 ;
  color: #f3d9e0;
}

.info-childs input {
  background-color: transparent;
  outline: none;
  border: solid 2px #9191bd;
  border-radius: 20px;
  padding: 10px 20px;
  color: #9191bd;
  cursor: pointer;
  transition: background-color .3s ease;
}

.info-childs input:hover {
  background-color: #9191bd;
  border: none;
  color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
}

/* *************************************
**********FORMULARIO********************
**************************************** */
.form-information {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60%;
  text-align: center;
  background-color: rgba(248, 248, 248, 0.9); /* Fondo más transparente */
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
}

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

/* stilo de gif */
.user-gif {
    width: 325px; /* ancho de GIF */
    height: auto;  
}

/* sesion */
.sesion-texto {
  font-size: 28px; 
  font-weight: bold; 
  color: #3f3f3f; 
  text-decoration: none; 
  display: inline-block; 
}

.sesion-texto:hover {
  color: #585a5e; 
  text-decoration: none; 
}

.form-information-childs p {
  color: #555;
}

.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, .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, .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;
}

/* Estilo de botón con icono */
.btn-submit {
  width: 325px;
  background: linear-gradient(135deg, #B22222, #2563eb); /* gradiente diagonal */
  color: #fff;
  border-radius: 20px;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  margin-top: 10px;
  margin-left: auto;  
  margin-right: auto;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.btn-submit i {
  margin-right: 10px; /* Espacio entre icono y texto */
  font-size: 18px; /* Tamaño del icono */
}

/* Hover: invertir */
.btn-submit:hover {
  background: linear-gradient(135deg, #2563eb, #B22222); 
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

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

/* Estilos generales */
.form-login {
  position: relative;
  opacity: 0; 
  animation: slideIn 1s forwards; 
  animation-delay: 0.5s;
}

@keyframes slideIn {
  0% {
      transform: translateY(-50px); 
      opacity: 0;
  }
  100% {
      transform: translateY(0); 
      opacity: 1;
  }
}

/*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;
  }
}

/* Estilos de mensajes de error */
.campo-error {
    color: #e63946;
    font-size: 12px;
    text-align: center;
    margin: 0;
    padding: 0;
    font-weight: 500;
    position: relative;
    top: -8px; /* ajusta según se vea bien */
    line-height: 1;
}


/* ********************************************
************* ESTILO CAPTCHA **************
***********************************************/
/* Título "Captcha" */
.captcha-label {
    font-weight: bold;
    font-size: 14px;
    color: #333;
    margin-bottom: 5px; /* margen controlado */
}

.captcha-label i {
    color: #28a745; /* icono verde */
    margin-right: 4px;
}

/* Contenedor del captcha (imagen + input) */
.captcha-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4px; /* margen inferior reducido */
}

.captcha-container + .campo-error {
    margin-top: 12px;  /* espacio de error captcha*/
}

/* Imagen del captcha */
.captcha-container img {
    display: block;
    max-width: 180px;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin-bottom: 4px;
}

/* Campo de texto del captcha */
.captcha-container input {
    width: 320px;       
    height: 37px;       
    padding: 8px 10px;  
    font-size: 16px;    
    border: 1px solid #bbb;
    border-radius: 50px;
    outline: none;
    transition: all 0.3s ease;
}

.captcha-container input:focus {
    border-color: #4A90E2;
    box-shadow: 0 0 6px rgba(74,144,226,0.4);
}

/* Reducir tamaño del placeholder */
.captcha-container input::placeholder {
    font-size: 13px;  
    color: #666;      
}

/* Texto explicativo debajo del input */
.captcha-help {
    font-size: 14px;
    color: #555;
    margin-top: 4px;
    text-align: center;
}

/* Botón de refrescar captcha */
.btn-refresh {
    font-size: 13px;
    padding: 6px 14px;
    cursor: pointer;
    border: 2px solid #218838; 
    border-radius: 30px;
    background: linear-gradient(135deg, #d4edda, #a8e6a3); 
    color: #155724; 
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s ease;
    margin: 5px auto 0 auto;
}

.btn-refresh i {
    transition: transform 0.4s ease;
}

.btn-refresh:hover {
    background: linear-gradient(135deg, #28a745, #218838); 
    color: white;
    border-color: #28a745;
}

.btn-refresh:hover i {
    transform: rotate(180deg);
}

.btn-refresh:active {
    transform: scale(0.95);
}




