/* La langue reste visible, avec des cibles de 44 px et un état sélectionné.
   Autoriser le retour à la ligne protège les noms complets dans l'en-tête. */
.app-header { flex-wrap: wrap; }
.site-nav-connected { flex-wrap: wrap; }
.language-switch {
  position: relative;
  flex: 0 0 auto;
  margin: 0;
}
.language-switch summary {
  min-height: 44px;
  padding: 12px;
  border: 1px solid #e5e5e3;
  border-radius: 8px;
  background: #f6f6f4;
  font-size: 14px;
  cursor: pointer;
}
.language-options {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 10;
  display: grid;
  gap: 2px;
  min-width: 160px;
  padding: 6px;
  margin: 0;
  border: 1px solid #e5e5e3;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px #00000014;
}
.language-switch button {
  min-height: 44px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: #53534e;
  font: inherit;
  font-size: 14px;
  cursor: pointer;
  text-align: left;
}
.language-switch button[aria-pressed="true"] {
  background: #fff;
  border-color: #e5e5e3;
  color: #a71118;
  font-weight: 600;
}
.language-switch button:focus-visible { outline: 2px solid #a71118; outline-offset: 2px; }
.language-switch summary:focus-visible { outline: 2px solid #a71118; outline-offset: 2px; }
@media (max-width: 560px) {
  .site-nav .language-switch { margin-left: auto; }
}
