/* The language links remain visible beside the mobile menu, including without JS. */
.header {
  gap: 24px;
}
.main-nav {
  margin-left: auto;
  gap: clamp(16px, 2vw, 30px);
}
.main-nav > a {
  white-space: nowrap;
}
.language-switch {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--border);
  border-radius: 999px;
}
.language-switch a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border-radius: 999px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--brand);
}
.language-switch a[aria-current=true] {
  color: white;
  background: var(--brand);
}
.language-switch a:not([aria-current]):hover {
  background: var(--surface-blue);
}
@media (max-width: 1200px) {
  .header .brand { order: 0; margin-right: auto; }
  .language-switch { order: 1; }
  .menu-toggle { order: 2; }
  .main-nav { order: 3; margin-left: 0; gap: 4px; }
  .main-nav > a { white-space: normal; }
}
@media (max-width: 600px) {
  .header { gap: 10px; }
  .header .brand-logo { width: 94px; }
  .js .menu-toggle { min-width: 82px; padding-inline: 12px; gap: 8px; }
  .language-switch a { min-width: 34px; min-height: 40px; }
  html[lang=fr] .floating-nav { gap: 0; }
  html[lang=fr] .floating-nav a { padding-inline: 6px; }
  html[lang=fr] .floating-nav a[aria-label="Ce que nous faisons"] { white-space: normal; max-width: 90px; text-align: center; line-height: 1.25; }
}
@media (max-width: 360px) {
  .header { column-gap: 6px; }
  .header .brand-logo { width: 78px; }
  .js .menu-toggle { min-width: 76px; padding-inline: 10px; }
  .language-switch a { min-width: 32px; }
  html[lang=fr] .floating-nav a { padding-inline: 4px; }
}
@media (max-width: 360px) {
  html[lang=fr] .floating-nav a[aria-label="Ce que nous faisons"] { max-width: 74px; }
}
