/* ============================================
   SANCHES GÁS E ÁGUA - ESTILO LOGIN
   Específico para página de login
   ============================================ */

/* Container Principal */
.login-container {
  max-width: 400px;
  margin: 5rem auto 3rem;  /* Espaço do topo para centralizar */
  padding: 2rem;
  background: var(--cor-branco);
  border-radius: var(--raio-borda-grande);
  box-shadow: var(--sombra-media);
  text-align: center;
}

/* Títulos */
.login-container h1 {
  color: var(--cor-verde-escuro);
  margin-bottom: 0.5rem;
}

.subtitle {
  color: var(--cor-texto-secundario);
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

/* Alertas (se houver erros) */
#alertContainer {
  margin-bottom: 1.5rem;
}

/* Formulário */
#loginForm {
  text-align: left;
}

/* Grupos de Input */
.form-group {
  margin-bottom: 1.5rem;
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--cor-texto);
}

input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid var(--cor-cinza-medio);
  border-radius: var(--raio-borda);
  font-size: 1rem;
  transition: border-color var(--transicao-rapida);
}

input:focus {
  border-color: var(--cor-verde-claro);
  outline: none;
}

/* Grupo de Senha com Toggle */
.password-group {
  position: relative;
}

.toggle-password {
  position: absolute;
  right: 1rem;
  top: 2.5rem;  /* Ajuste para alinhar com input */
  cursor: pointer;
  color: var(--cor-texto-secundario);
  font-size: 1.2rem;
}

/* Lembrar Email */
.remember-group {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  font-size: 0.95rem;
}

.remember-group input {
  width: auto;
  margin-right: 0.75rem;
}

/* Botão Entrar */
.login-btn {
  width: 100%;
  background: var(--cor-verde-claro);
  color: var(--cor-branco);
  padding: 1rem;
  border: none;
  border-radius: var(--raio-borda);
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  transition: background var(--transicao-media);
}

.login-btn:hover {
  background: var(--cor-verde-escuro);
}

/* Botão Google */
.google-btn {
  width: 100%;
  background: var(--cor-branco);
  border: 1px solid var(--cor-cinza-medio);
  color: var(--cor-texto);
  padding: 1rem;
  margin-top: 1rem;
  border-radius: var(--raio-borda);
  font-weight: 600;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  transition: border-color var(--transicao-rapida);
}

.google-btn:hover {
  border-color: var(--cor-verde-claro);
}

.google-btn img {
  height: 20px;
  width: auto;
}

/* Link Esqueci Senha */
.forgot-link {
  display: block;
  margin-top: 1rem;
  color: var(--cor-verde-claro);
  font-size: 0.95rem;
  text-align: center;
}

.forgot-link:hover {
  color: var(--cor-laranja);
}

/* Spinner de Loading */
.loading-spinner {
  display: none;  /* Escondido por default */
  flex-direction: column;
  align-items: center;
  margin-top: 1.5rem;
}

.loading {
  width: 40px;
  height: 40px;
  border: 4px solid var(--cor-cinza-claro);
  border-top: 4px solid var(--cor-verde-claro);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Link Voltar */
.back-link {
  display: block;
  margin-bottom: 1.5rem;
  color: var(--cor-verde-claro);
  font-size: 0.95rem;
  text-align: left;
}

.back-link:hover {
  color: var(--cor-laranja);
}

/* Responsivo Mobile */
@media (max-width: 480px) {
  .login-container {
    margin: 3rem 1rem;
    padding: 1.5rem;
  }
}