/* CSS2/estilos.css */
body.login {
background-image: url('fondo.jpg');
  background-size: cover;        /* la imagen cubre todo el fondo */
  background-position: center;   /* centra la imagen */
  background-repeat: no-repeat;  /* evita que se repita */
  color: #111;
  font-family: 'DM Sans', sans-serif;
  text-align: center;
  margin: 0;
  padding: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 400;
}

.contenedor {
  background-color: #ffffff;
  padding: 110px 90px;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  width: 90%;         /* ocupa el 90% en móviles */
  max-width: 400px;   /*  en pantallas grandes no pasa de 400px */
  text-align: center;
}


.logo {
  display: block;
  margin: 0 auto 20px auto;
  max-width: 80%;   /*  se adapta a la pantalla */
  height: auto;
  max-height: 150px;
  object-fit: contain;
  position: relative;
  top: -100px; /* mueve la imagen 20px hacia arriba */
}


.titulolog {
  position: relative;
  margin-bottom: 20px;
  top: -100px; /* súbelo solo visualmente */

}


.icono-campo {
  width: 36px;
  vertical-align: middle;
  margin-right: 20px;
  left: 15px; /* mueve el icono hacia la izquierda */
  top: -10px;
  position: relative;
}

form {
  position: relative;
  top: -90px; /* súbelo 80px, ajusta a tu gusto */
  left: -128px;
}

form b {
  font-size: 19px;   /* tamaño de User Name y Password */
  font-weight: bold;
}

input[type="text"],
input[type="password"] {
  font-size: 16px;
  width: 100%;       /*  se adapta al ancho */
   padding: 5px 12px;
  font-size: 16px;
  border: 1px solid #ccc;     /* borde gris claro */
  border-radius: 10px;        /* esquinas redondeadas */
  transition: 0.3s;         /* animación suave */
  border: 1px solid #ccc;
  border-radius: 10px;
  background-color: #b4b4b4;
  border-bottom: 2px solid #5A4522;
  box-sizing: border-box;
  outline: none;             /* quita el borde azul feo */
  background-color: #b4b4b4; /* gris muy claro */
  border-bottom: 2px solid #5A4522;
  box-shadow: none;
  margin-left: 140px;
}


.btn-login {
  width: 100%;       /* botón ocupa todo el ancho */
  background-color: #6e5135;
  color: #fff;
  font-size: 16px;
  padding: 10px 100px;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  transition: 0.3s;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  margin-left: 140px;
  margin-top: 28px;
  box-shadow: 0 4px 0 #5A4522;  /* sombra dura abajo = efecto 2D */
  cursor: pointer;
  transition: all 0.2s ease-in-out;


}

.btn-login:hover {
  background-color: #d99b08; /* tono más oscuro al pasar el mouse */ 
  box-shadow: 0 6px 10px rgba(0,0,0,0.3); 
  transform: translateY(-2px); /* se levanta 2px */ 
  box-shadow: 0 6px 0 #a87905;
}

.btn-login:active {
  transform: translateY(2px);   /* baja 2px */
  box-shadow: 0 2px 0 #a87905;
}

center {
  font-size: 12px;
  margin-top: 20px;
  display: block;
  position: absolute;  /* lo pega abajo */
  bottom: 1px;        /* distancia desde el borde inferior */
  left: 0;
  right: 0;
  text-align: center;
  font-size: 12px;     /* letra más pequeña */
  color: #333;         /* gris oscuro */
  font-family: Verdana, Arial, sans-serif;
}

center a {
  color: #111;           /* link en negro */
  text-decoration: none; /* quita subrayado */
}

center a:hover {
  text-decoration: underline;
}
body.login {
  position: relative; /* necesario para el overlay */
  background-image: url('/CSS3/Welcome.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'DM Sans', sans-serif;
  color: #111;
}

body.login::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(241, 179, 9, 0.3); /* amarillo con 40% de transparencia */
  pointer-events: none; /* para que no bloquee clics */
  z-index: 0; /* detrás del contenido */
}

/* Asegúrate que tu contenedor esté sobre el overlay */
.contenedor {
  position: relative;
  z-index: 1;
}


/* Media queries para mejorar en pantallas muy pequeñas */
@media (max-width: 414px) and (orientation: portrait) {
  .contenedor {
  background-color: #fffdcc7a;
  padding: 65px 90px;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  width: 90%;         /* ocupa el 90% en móviles */
  max-width: 400px;   /*  en pantallas grandes no pasa de 400px */
  text-align: center;
  }
  .logo {
    content: url('logo-mobile.jpg');
    display: block;
    margin: 0 auto 20px auto;
    max-width: 80%;   /*  se adapta a la pantalla */
    height: auto;
    max-height: 150px;
    object-fit: contain;
    position: relative;
    top: -70px; /* mueve la imagen 20px hacia arriba */
  }
  .titulolog {
    font-size: 22px;
  }

  .icono-campo {
  width: 36px;
  vertical-align: middle;
  margin-right: 20px;
  left: 22px; /* mueve el icono hacia la izquierda */
  top: -10px;
  position: relative;
}

form {
  position: relative;
  top: -90px; /* súbelo 80px, ajusta a tu gusto */
  left: -125px;
}

form b {
  font-size: 19px;   /* tamaño de User Name y Password */
  font-weight: bold;
}

html, body {
  overflow-x: hidden;
}

input[type="text"],
input[type="password"] {
  font-size: 16px;
  width: 100%;       /*  se adapta al ancho */
   padding: 10px 12px;
  font-size: 16px;
  border: 1px solid #ccc;     /* borde gris claro */
  border-radius: 10px;        /* esquinas redondeadas */
  transition: 0.3s;         /* animación suave */
  border: 1px solid #ccc;
  border-radius: 10px;
  background-color: #b4b4b4;
  border-bottom: 2px solid #5A4522;
  box-sizing: border-box;
  outline: none;             /* quita el borde azul feo */
  background-color: #b4b4b4; /* gris muy claro */
  border-bottom: 2px solid #5A4522;
  box-shadow: none;
  margin-left: 140px;
}


}

/* Media queries para mejorar en pantallas muy pequeñas */
@media (max-height: 599px) {
 
  .contenedor {
  background-color: #ffffff;
  padding: 50px 40px;
  border-radius: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  width: 90%;         /* ocupa el 90% en móviles */
  max-width: 400px;   /*  en pantallas grandes no pasa de 400px */
  text-align: center;
}

.logo {
  display: block;
  margin: 0 auto 20px auto;
  max-width: 60%;   /*  se adapta a la pantalla */
  height: auto;
  max-height: 140px;
  object-fit: contain;
  position: relative;
  top: -50px; /* mueve la imagen 20px hacia arriba */
}

.titulolog {
  position: relative;
  margin-bottom: 20px;
  top: -80px; /* súbelo solo visualmente */

}

}
