
    :root {
      --main-color: #485238;
      --secondary-color: #ffffff;
      --primary: #485238;
      --bg: #f4f4f4;
    }

    * { box-sizing: border-box; margin: 0; padding: 0; }

    body {
      margin: 0;
      background: var(--bg);
      font-family: Arial, Helvetica, sans-serif;
    }

 section {
  background-color: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px 0;  /* menos aire arriba y abajo */
  margin-top: 0;
  min-height: auto; /* ya no fuerza altura completa */
}
   
a.forgot-password {
  color: #000000;      /* color que prefieras */
  text-decoration: none;
  font-size: 14px;
  margin-bottom: 12px; /* 👈 espacio hacia abajo */
  display: inline-block; /* necesario para que respete el margin */
}
a.forgot-password:hover {
  text-decoration: underline;
}


    /* Botones */
    button {
      cursor: pointer;
      border-radius: 20px;
      border: 1px solid var(--main-color);
      background: var(--main-color);
      color: #ffffff;
      font-size: 12px;
      font-weight: bold;
      padding: 12px 45px;
      letter-spacing: 1px;
      text-transform: uppercase;
      transition: transform 80ms ease-out;
    }
    button:hover { background:#ffffff ; color:var(--main-color); }
    button:active { transform: scale(0.95); }
    button:focus { outline: none; }
    button.ghost { background: transparent; border-color: #ffffff; }
    button.ghost:hover { background: #485238; color: var(--secondary-color); }

    /* Formularios */
    form {
      background-color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 0 50px;
      height: 100%;
      text-align: center;
    }
    input {
      background-color: #eee;
      border: none;
      padding: 12px 15px;
      margin: 8px 0;
      width: 100%;
    }

    /* Contenedor principal */
    .login-container {
      background-color: #ffffff;
      border-radius: 10px;
      box-shadow: 0 14px 28px rgba(0,0,0,0.25), 
                  0 10px 10px rgba(0,0,0,0.22);
      position: relative;
      overflow: hidden;
      height: 768px;
      width: 480px;
      max-width: 100%;
       margin-top: 0px; /* ajusta este valor a tu gusto */
    }
    .form-container {
      position: absolute;
      top: 0;
      width: 100%;
      transition: all 0.6s ease-in-out;
    }
    .sign-in-container { top: 0; height: 50%; z-index: 2; }
    .sign-up-container { top: 0; height: 50%; opacity: 0; z-index: 1; }

    .login-container.right-panel-active .sign-in-container { transform: translateY(100%); }
    .login-container.right-panel-active .sign-up-container {
      transform: translateY(100%);
      opacity: 1; z-index: 5; animation: show 0.6s;
    }
    @keyframes show {
      0%,49.99% { opacity: 0; z-index: 1; }
      50%,100% { opacity: 1; z-index: 5; }
    }

    /* Overlay */
    .overlay-container {
      position: absolute;
      left: 0;
      top: 50%;
      height: 50%;
      width: 100%;
      overflow: hidden;
      transition: transform 0.6s ease-in-out;
      z-index: 100;
    }
    .overlay {
      background: url("../imagenes/nuestrocafe.png") no-repeat center center;
      background-size: cover;
      color: #ffffff;
      position: relative;
      top: -100%;
      width: 100%;
      height: 200%;
      transition: transform 0.6s ease-in-out;
    }
    .overlay::before {
      content: "";
      position: absolute;
      top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(0,0,0,0.5);
      z-index: 0;
    }
    .overlay-panel {
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      padding: 0 40px;
      text-align: center;
      left: 0;
      width: 100%;
      height: 50%;
      z-index: 1;
    }

    .overlay-left { transform: translateY(-20%); }
    .login-container.right-panel-active .overlay-left { transform: translateY(0); }
    .overlay-right { bottom: 0; transform: translateY(0); }
    .login-container.right-panel-active .overlay-right { transform: translateY(20%); }

    /* Responsivo */
    @media (min-width: 768px) {
      .login-container { width: 768px; height: 480px; }
      .form-container { height: 100%; width: 50%; }
      .sign-in-container { left: 0; width: 50%; height: 100%; }
      .sign-up-container { left: 0; width: 50%; height: 100%; }
      .login-container.right-panel-active .sign-in-container { transform: translateX(100%); }
      .login-container.right-panel-active .sign-up-container { transform: translateX(100%); }

      .overlay-container { left: 50%; top: 0; height: 100%; width: 50%; }
      .login-container.right-panel-active .overlay-container { transform: translateX(-100%); }

      .overlay { top: 0; left: -100%; height: 100%; width: 200%; }
      .login-container.right-panel-active .overlay { transform: translateX(50%); }

      .overlay-panel { top: 0; height: 100%; width: 50%; }
      .overlay-left { transform: translateX(-20%); }
      .login-container.right-panel-active .overlay-left { transform: translateX(0); }
      .overlay-right { right: 0; top: 0; left: 50%; }
      .login-container.right-panel-active .overlay-right { transform: translateX(20%); }
    }



    /* Estilos del modal */
.modal {
  display: none; /* Oculto por defecto */
  position: fixed;
  z-index: 2000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-content {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 350px;
  text-align: center;
  position: relative;
}

.modal-content input {
  width: 100%;
  padding: 10px;
  margin: 10px 0;
}

.modal-content button {
  margin-top: 10px;
  width: 100%;
}

.close {
  position: absolute;
  top: 10px; right: 15px;
  font-size: 20px;
  cursor: pointer;
}

    /* ✅ VERSIÓN MÓVIL MEJORADA */
@media (max-width: 767px) {
  /* Contenedor principal adaptable */
  .login-container {
    width: 90%;
    max-width: 400px;
    height: auto;
    background-color: var(--primary); /* fondo verde igual */
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.25),
                0 10px 10px rgba(0,0,0,0.22);
    overflow: hidden;
  }

  /* Quita el overlay para evitar el corte */
  .overlay-container {
    display: none !important;
  }

  /* Formularios con el mismo estilo y posición */
  .form-container {
    position: relative;
    width: 100%;
    height: auto;
    opacity: 1 !important;
    transform: none !important;
    background-color: #fff;
    border-radius: 10px;
    padding: 30px 25px;
  }

  .sign-in-container,
  .sign-up-container {
    left: 0;
    width: 100%;
    height: auto;
  }

  /* Ajusta el espaciado general */
  section {
    background-color: var(--primary);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
  }

  /* Estilo de título y textos */
  form h1 {
    font-size: 24px;
    margin-bottom: 15px;
    color: var(--main-color);
  }

  input {
    font-size: 15px;
    border-radius: 5px;
  }

  button {
    font-size: 14px;
    padding: 12px 35px;
    border-radius: 25px;
  }

  a.forgot-password {
    color: #000;
    font-size: 14px;
    text-decoration: none;
    margin-bottom: 12px;
    display: inline-block;
  }

  a.forgot-password:hover {
    text-decoration: underline;
  }
}
