/* Bascule de langue — Repère
 *
 * Cette feuille ne contient que la bascule FR/EN. Elle est volontairement
 * séparée de `home-v2.css` : celle-ci pèse plus de deux mille lignes et est
 * servie avec une empreinte de version. Y glisser trois règles obligerait à
 * changer cette empreinte sur toutes les pages françaises publiées, donc à
 * réinvalider chez tous les visiteurs une feuille qu'ils ont déjà en cache.
 *
 * Aucune règle existante n'est redéfinie ici. Retirer le fichier et les deux
 * liens qu'il style ramène le site exactement à son état d'avant.
 */

.lang-switch {
  padding: 10px 0;
  color: var(--body);
  font-size: 0.86rem;
  font-weight: 620;
  text-decoration: none;
  white-space: nowrap;
  transition: color 160ms ease;
}

/* Le filet ne sépare la bascule des liens de navigation que lorsque ces
   liens existent. Sous 720 px, `.nav-links` disparaît et le filet se
   retrouverait seul contre le logo : il est retiré avec eux. */
.nav-shell .lang-switch::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0.85em;
  margin-right: 30px;
  background: var(--line);
  vertical-align: -0.05em;
}

@media (hover: hover) and (pointer: fine) {
  .nav-shell .lang-switch:hover {
    color: var(--ink);
  }
}

/* Pied de page : fond sombre, donc la palette du footer et non celle du
   corps. Un demi-cran de graisse au-dessus des autres liens, parce qu'un
   anglophone descendu jusque-là le cherche activement. */
.site-footer nav .lang-switch {
  padding: 0;
  color: var(--white);
  font-weight: 680;
}

.site-footer nav .lang-switch::before {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .site-footer nav .lang-switch:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
  }
}

@media (max-width: 720px) {
  .nav-shell .lang-switch {
    font-size: 0.8rem;
  }

  .nav-shell .lang-switch::before {
    display: none;
  }
}

/* Message d'état du formulaire asynchrone.
 *
 * Ces règles ne servent qu'aux pages anglaises : elles sont portées par
 * « form[data-form-async] », attribut qu'aucune page française n'a. Le
 * formulaire français poste normalement et n'affiche jamais ce message.
 *
 * Les couleurs viennent des jetons de Maintenance — bronze pour la
 * confirmation, une brique sourde pour l'erreur, la seule valeur littérale
 * du fichier faute de jeton d'erreur dans la palette existante. */
form[data-form-async] .formulaire-etat {
  margin: 14px 0 0;
  padding: 12px 14px;
  border-radius: var(--radius-control);
  font-size: 0.94rem;
}

form[data-form-async] .formulaire-etat.est-succes {
  background: var(--green-light);
  color: var(--green-dark);
}

form[data-form-async] .formulaire-etat.est-erreur {
  background: rgba(140, 58, 44, 0.12);
  color: #8c3a2c;
}

form[data-form-async] .formulaire-etat:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}
