/* 1) html e body ocupam toda a altura, sem margens */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

/* 2) background + overlay no body.login-page */
body.login-page {
  position: relative;
  background: url('../img/estilo.jpg') no-repeat center center fixed;
  background-size: cover;
}
body.login-page::before {
  content: "";
  position: fixed;
  inset: 0;
  background-color: rgba(0,0,0,0.4);
  z-index: 1;
}

/* 3) torne o .container um flex container de 100% */
body.login-page .container {
  display: flex;
  align-items: center;      /* centraliza verticalmente */
  justify-content: center;  /* centraliza horizontalmente */
  height: 100%;
  padding: 0;               /* remove eventuais paddings do container */
}

/* 4) card acima do overlay, sem margens extras */
.login-card {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 380px;
  background-color: rgba(255,255,255,0.85);
  border: 1px solid rgba(255,255,255,0.6);
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin: 0;                /* sem margin-bottom que causava scroll */
}

/* 5) inputs e botão 100% */
.login-card .input-group,
.login-card .btn {
  width: 100%;
}

/* 6) mobile: um pouquinho de margem lateral apenas */
@media (max-width: 576px) {
  body.login-page .container {
    padding: 1rem;
  }
}
