/* Les champs de la connexion élève, posés dans la carte de la page Academy.
   Cette feuille n'existe que pour login.php : la page /academy/ n'a pas de
   formulaire, et son style à elle ne doit pas bouger d'un pixel. */

/* LA CARTE RESPIRE, ELLE NE BÂILLE PAS. Le décor d'origine est prévu pour une
   carte de quatre liens ; avec un formulaire dedans, ses espaces laissaient de
   grandes plages vides entre le titre, les champs et le bouton. On resserre —
   ici seulement, la page /academy/ garde les siens. */
.academy-login-card { padding: 1.7rem 1.7rem 1.5rem }
.academy-login-card h2 { margin-bottom: .5rem; font-size: 1.7rem }
.academy-login-card > p { margin: 0; line-height: 1.45 }

.academy-login-card form { display: grid; gap: .7rem; margin: 1.15rem 0 0 }
.academy-login-card form > div { display: grid; gap: .28rem }
.academy-login-card label { color: #6b625c; font-size: .88rem; font-weight: 600 }
.academy-login-card input {
  min-height: 46px; padding: .7rem .95rem;
  border: 1px solid #ecd7cc; border-radius: 12px;
  background: #fff; color: #211d1b; font: inherit; font-size: 1rem;
}
.academy-login-card input:focus-visible { outline: 3px solid #176b87; outline-offset: 2px; border-color: #cf8f75 }

/* Le bouton d'envoi porte le même dessin que le geste principal de la carte —
   la règle d'origine ne visait que les liens, et un <button> n'en est pas un. */
.academy-login-card button[type="submit"] {
  display: flex; min-height: 46px; margin-top: .3rem;
  align-items: center; justify-content: center;
  border: 0; border-radius: 999px;
  background: linear-gradient(90deg, #cf8f75, #f0d1c1);
  color: #2b2d2f; font: inherit; font-weight: 700; cursor: pointer;
}
.academy-login-card button[type="submit"]:is(:hover, :focus-visible) { filter: brightness(.97) }

/* Le message d'erreur, dans le rouge unique de la charte. */
.academy-login-card .alert {
  margin: 1.1rem 0 0; padding: .8rem 1rem;
  border: 1px solid #e3b7ad; border-radius: 12px;
  background: #fbeeea; color: #7d2b1f; font-size: .92rem;
}

/* LES TROIS RECOURS SONT DISCRETS, ET C'EST TOUT LE POINT.
   La carte transforme n'importe quel lien en bouton bordé : « Première
   connexion », « Mot de passe oublié » et « Contacter l'administration » se
   retrouvaient en trois pavés pleine largeur sous le formulaire, plus gros que
   le geste qu'on vient faire ici. Ils prenaient toute la place alors qu'ils ne
   servent qu'en cas de pépin.
   Ils redeviennent trois liens en petit, sur une ligne, séparés par des points.
   La zone cliquable reste haute de 44 px — un lien discret n'est pas un lien
   qu'on doit viser. */
.academy-login-card .academy-liens {
  display: flex; flex-wrap: wrap; gap: .2rem .9rem;
  margin-top: 1.1rem; padding-top: .8rem;
  align-items: center; justify-content: center;
  border-top: 1px solid #f0e3dc;
}
.academy-login-card .academy-liens a {
  display: inline-flex; min-height: 44px; margin: 0;
  align-items: center;
  border: 0; border-radius: 0; background: none;
  /* #767069 et pas plus clair : mesuré 4,89 sur le blanc de la carte, contre
     3,77 pour le gris d'avant — sous le seuil de lisibilité. Discret ne veut
     pas dire effacé : ces trois liens servent à quelqu'un qui n'arrive plus
     à entrer, c'est-à-dire au moment où l'on a le moins envie de plisser
     les yeux. */
  color: #767069; font-size: .82rem; font-weight: 500;
  text-decoration: none;
}
.academy-login-card .academy-liens a:is(:hover, :focus-visible) {
  color: #a35839; text-decoration: underline; text-underline-offset: 3px;
}
/* Le point de séparation ne se lit pas, il se voit : hors du flux du texte. */
.academy-login-card .academy-liens a:not(:last-child)::after {
  margin-left: .9rem; color: #d8cec6; content: "·";
}
