/* Language controls only; the approved page layouts remain in their own CSS. */
.i18n-loading body { visibility: hidden; }
.language-switch { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 5px; margin-left: 8px; white-space: nowrap; color: var(--deep-teal); font-family: var(--font-sans); font-size: 11px; }
.language-switch button { position: relative; min-width: 25px; min-height: 32px; padding: 5px 2px; border: 0; background: none; color: inherit; font: inherit; cursor: pointer; opacity: .5; }
.language-switch button.is-active { opacity: 1; font-weight: 600; }
.language-switch button.is-active::after { content: ''; position: absolute; bottom: 3px; left: 3px; right: 3px; height: 1px; background: currentColor; }
.language-switch button:hover { opacity: 1; }
.language-switch > span { opacity: .35; }
.language-switch button:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
@media (min-width: 768px) and (max-width: 1050px) {
  .primary-nav:has(.language-switch), .main-nav:has(.language-switch) { gap: 16px; margin-left: auto; }
  .language-switch { margin-left: 0; gap: 2px; }
  .header-inner:has(.language-switch) { gap: 16px; }
}
@media (max-width: 767px) {
  .primary-nav:has(.language-switch), .main-nav:has(.language-switch) { flex-wrap: wrap; }
  .language-switch { flex-basis: 100%; justify-content: flex-end; margin-left: 0; }
  .language-switch button { min-height: 40px; padding-inline: 5px; }
}
