/* -----------------------------------------------------
   PAGE LOGIN - CENTRAGE GLOBAL
----------------------------------------------------- */
.login-wrapper {
  min-height: 80vh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 1rem;
  background: var(--couleur-fond-2); /* léger fond neutre */
}

/* -----------------------------------------------------
   CARD LOGIN - LA GRANDE CARTE CENTRÉE
----------------------------------------------------- */
.login-card {
  width: 100%;
  max-width: 420px;
  background: var(--couleur-surface);
  padding: 2.2rem;
  border-radius: var(--rayon);
  /* Charte §5 : aucune ombre sur les composants (retirée, alignement maquette). */
  border: 1px solid var(--couleur-filet);
  text-align: center;
}

/* -----------------------------------------------------
   TITRE
----------------------------------------------------- */
.login-card h1 {
  font-size: 2rem;
  margin-bottom: 1.6rem;
  color: var(--couleur-primaire);
}

/* -----------------------------------------------------
   FORM
----------------------------------------------------- */
.login-card form {
  text-align: left; /* labels alignés proprement */
  margin-bottom: 1.5rem;
}

.login-card label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 600;
  color: var(--couleur-texte);
}

.login-card input[type="text"],
.login-card input[type="email"],
.login-card input[type="password"] {
  width: 100%;
  padding: .75rem .85rem;
  border-radius: var(--rayon);
  border: 1px solid var(--couleur-filet-fort);
  background: var(--couleur-surface);
  font-size: 1rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.login-card input:focus {
  outline: none;
  /* Focus charte §6 : bordure Mousse + halo Lichen clair (l'ancien vert #4caf50 disparaît). */
  border-color: var(--couleur-primaire);
  box-shadow: 0 0 0 3px var(--couleur-primaire-fond);
}

/* -----------------------------------------------------
   MESSAGE ERREUR
----------------------------------------------------- */
.error-message {
  background: var(--couleur-alerte-fond);
  color: var(--couleur-alerte-texte);
  border: 1px solid var(--couleur-alerte);
  padding: .7rem 1rem;
  border-radius: var(--rayon);
  margin-bottom: 1rem;
}

/* -----------------------------------------------------
   BOUTON
----------------------------------------------------- */
.btn-primary {
  width: 100%;
  padding: .9rem;
  background: var(--couleur-primaire);
  color: var(--couleur-surface);
  border-radius: var(--rayon);
  font-size: 1.05rem;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: background .2s ease;
}

.btn-primary:hover {
  background: var(--couleur-primaire-sombre);
}

/* -----------------------------------------------------
   LIENS SECONDAIRES
----------------------------------------------------- */
.extra-links {
  text-align: center;
  margin-top: 1rem;
}

.extra-links a {
  color: var(--couleur-primaire);
  font-weight: 600;
}

/* -----------------------------------------------------
   RESPONSIVE
----------------------------------------------------- */
@media (max-width: 640px) {
  .login-card {
    padding: 1.6rem;
  }
}

/* Supprimer le cadre hérité de forms.css uniquement sur la page login */
.login-card form {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

