/* Le sélecteur de langue (js/langue.js) : un bouton dans un coin, au-dessus de
   l'écran de connexion comme de l'écran ouvert ; sa liste s'ouvre vers le haut.
   Absent tant qu'une seule langue est montrée.
   Couleurs de base.css (D65), chargée avant cette feuille par toutes les pages
   qui l'utilisent. */
.langues {
  position: fixed;
  left: 8px;
  bottom: 8px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--bord-fort);
  font: 700 13px/1 var(--police);
}
.langues button {
  min-width: 32px;
  min-height: 28px;
  padding: 6px 5px;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--texte-2);
  font: inherit;
  letter-spacing: .04em;
  cursor: pointer;
}
.langues-btn { color: var(--texte-2); }
.langues button:hover,
.langues button:focus-visible,
.langues-btn[aria-expanded="true"] { background: var(--surface-2); color: var(--texte-2); }
.langues-liste {
  position: absolute;
  left: 0;
  bottom: calc(100% + 4px);
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 2px;
  list-style: none;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 0 0 1px var(--bord-fort);
}
.langues-liste[hidden] { display: none; }
.langues-liste button { width: 100%; }
/* Au doigt : des cibles de 44 px. */
@media (pointer: coarse) {
  .langues button { min-width: 48px; min-height: 44px; }
}
.langues-err { max-width: 60vw; color: var(--danger-texte); font-weight: 400; }
.langues-err:not(:empty) { padding: 0 6px; }
@media print { .langues { display: none; } }
