/* Compact language selector — shared by the French and US sites. */
.language-switcher { position: relative; flex: 0 0 auto; }
.language-switcher-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid rgba(102, 145, 231, .38);
  border-radius: 12px; color: #eef4ff; background: rgba(11, 25, 52, .72); cursor: pointer;
  font: inherit; line-height: 1; transition: border-color .2s ease, background .2s ease;
}
.language-switcher-button:hover, .language-switcher-button:focus-visible { border-color: #5fa8ff; background: rgba(24, 58, 112, .85); outline: none; }
.language-switcher-flag { font-size: 16px; line-height: 1; }
.language-switcher-caret { width: 0; height: 0; border-left: 3px solid transparent; border-right: 3px solid transparent; border-top: 4px solid currentColor; opacity: .75; }
.language-switcher-menu {
  position: absolute; z-index: 80; top: calc(100% + 8px); right: 0; display: grid; min-width: 132px;
  padding: 6px; border: 1px solid rgba(102, 145, 231, .4); border-radius: 12px;
  background: #0a1428; box-shadow: 0 16px 34px rgba(0, 0, 0, .35);
}
.language-switcher-menu[hidden] { display: none; }
.language-switcher-option { display: flex; align-items: center; gap: 8px; padding: 8px 9px; border-radius: 8px; color: #eaf1ff; text-decoration: none; font-size: 13px; font-weight: 700; }
.language-switcher-option:hover, .language-switcher-option:focus-visible { background: rgba(46, 104, 218, .28); outline: none; }
.language-switcher-option[aria-current="true"] { color: #8fc4ff; }
.language-switcher-mobile { display: none; }
@media (max-width: 980px) {
  .language-switcher { display: none; }
  .main-nav.open .language-switcher-mobile { display: block; }
  .language-switcher-mobile { display: none; }
}
