.logo {
  display: block;
  max-width: 150px; /* Ajusta el tamaño del logo según sea necesario */
  height: auto;
  margin: 0 auto 20px; /* Centra el logo y agrega un margen inferior */
}

/* Mantén los estilos existentes */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  font-family: "Roboto", sans-serif; /* Fuente global */
}

body {
  background-image: url(../images/bg3.png); /* Imagen de fondo */
  background-size: cover; /* La imagen cubre toda la pantalla */
  background-repeat: no-repeat; /* No se repite la imagen */
  background-position: center; /* La imagen está centrada */
  background-attachment: fixed; /* La imagen de fondo está fija */
}

main {
  width: 100%;
  padding: 20px;
  margin: auto;
  margin-top: 100px; /* Margen superior para separación */
}

.contenedor__todo {
  width: 100%;
  max-width: 800px; /* Ancho máximo del contenedor */
  margin: auto;
  position: relative;
}

.caja__trasera {
  width: 100%;
  padding: 10px 20px;
  display: flex;
  justify-content: center; /* Centra los elementos en la caja */
  -webkit-backdrop-filter: blur(10px); /* Filtro de desenfoque para Safari */
  backdrop-filter: blur(10px); /* Filtro de desenfoque para otros navegadores */
  background-color: #23ce3ac2; /* Color de fondo con transparencia */
}

.caja__trasera div {
  margin: 100px 40px;
  color: rgb(255, 255, 255); /* Color de texto blanco */
  transition: all 500ms; /* Transición suave */
}

.caja__trasera div p,
.caja__trasera button {
  margin-top: 30px;
}

.caja__trasera div h3 {
  font-weight: 400;
  font-size: 26px;
}

.caja__trasera div p {
  font-size: 16px;
  font-weight: 300;
}

.caja__trasera button {
  padding: 10px 40px;
  border: 2px solid #fff; /* Borde blanco */
  font-size: 14px;
  background: transparent;
  font-weight: 600;
  cursor: pointer; /* Cambia el cursor al pasar sobre el botón */
  color: white;
  outline: none;
  transition: all 300ms; /* Transición suave */
}

.caja__trasera button:hover {
  background: #fff; /* Fondo blanco al pasar el ratón */
  color: #23ce3ac2; /* Color del texto al pasar el ratón */
}

/* Formularios */
.contenedor__login-register {
  display: flex;
  align-items: center;
  flex-direction: column; /* Alinea los elementos en columna */
  width: 100%;
  max-width: 380px;
  position: relative;
  top: -413px; /* Ajusta la posición vertical del contenedor */
  left: 10px;
  transition: left 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Transición suave */
}

.contenedor__login-register form {
  width: 100%;
  padding: 20px;
  padding-top: 0; /* Remueve el padding superior para el logo */
  background: white;
  position: absolute;
  border-radius: 20px; /* Bordes redondeados */
  margin-top: 20px; /* Añade un margen superior */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Añade sombra para un mejor contraste */
}

.contenedor__login-register form h2 {
  font-size: 24px; /* Ajusta el tamaño de la fuente */
  text-align: center;
  margin-bottom: 20px;
  color: #000000c2; /* Color del texto */
}

.contenedor__login-register form input {
  width: 100%;
  margin-top: 20px;
  padding: 10px;
  border: groove;
  background: #f2f2f2; /* Fondo gris claro */
  font-size: 16px;
  outline: none;
}

.contenedor__login-register form button {
  padding: 10px 40px;
  margin-top: 20px; /* Ajusta el margen superior */
  border: none;
  font-size: 14px;
  background: #23ce3ac2; /* Color de fondo del botón */
  font-weight: 600;
  cursor: pointer;
  color: white;
  outline: none;
}

.formulario__login {
  opacity: 1;
  display: block;
}

.formulario__register {
  display: none;
}

/* Estilos responsivos para pantallas pequeñas */
@media screen and (max-width: 850px) {
  main {
    margin-top: 50px;
  }

  .caja__trasera {
    max-width: 350px;
    height: 300px;
    flex-direction: column;
    margin: auto;
  }

  .caja__trasera div {
    margin: 0px;
    position: absolute;
  }

  /* Formularios */
  .contenedor__login-register {
    top: -10px; /* Ajuste de la posición en pantallas pequeñas */
    left: -5px;
    margin: auto;
  }

  .contenedor__login-register form {
    position: relative;
  }
}
/* Estilos para la casilla de verificación representada por un símbolo */
.form-group {
  margin-top: 15px;
  display: flex;
  align-items: center; /* Alineación vertical para centrar con el texto */
}

.checkbox-symbol {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #000; /* Borde de la casilla */
  margin-right: 5px; /* Espacio entre la casilla y el texto */
  text-align: center;
  line-height: 20px; /* Alineación vertical del texto en la casilla */
  font-size: 16px;
  color: transparent; /* Color del símbolo cuando está desmarcado */
  cursor: pointer; /* Cambio del cursor para indicar que es interactivo */
}

.checkbox-symbol.checked {
  color: #28a745; /* Color del símbolo cuando está marcado */
}

.checkbox-symbol::before {
  content: "✔"; /* Símbolo de check cuando está marcado */
}

.form-group label {
  display: flex;
  align-items: center; /* Alineación vertical para centrar con la casilla */
  cursor: pointer; /* Cambia el cursor al pasar sobre el texto */
}

.checkbox-error {
  color: red; /* Color del mensaje de error */
  display: none; /* Ocultar el mensaje de error por defecto */
  margin-top: 5px;
}
.password-requirements {
  font-size: 0.9rem; /* Tamaño de fuente pequeño */
  color: #777; /* Color gris */
  margin-top: 5px; /* Espacio superior */
  line-height: 1.4; /* Altura de línea */
}
