.language-switch {
  display: inline-flex;
  align-items: center;
  flex: none;
  gap: 4px;
  color: var(--stone, #777);
  font-family: var(--sans, sans-serif);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

.language-switch button,
.topnav .language-switch button,
.ac-rail-foot .language-switch button {
  min-width: 22px;
  border: 0;
  border-radius: 999px;
  padding: 5px 4px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  letter-spacing: 0;
  transition: background-color 160ms ease, color 160ms ease;
}

.language-switch button:hover,
.language-switch button:focus-visible {
  color: var(--near-black, #18181a);
  outline: none;
}

.language-switch button:focus-visible {
  box-shadow: 0 0 0 2px rgba(154, 70, 63, 0.22);
}

.language-switch button.on {
  background: var(--near-black, #18181a);
  color: var(--ivory, #f7f6f4);
}

.language-switch button:disabled { cursor: wait; opacity: 0.56; }
.language-switch--nav { margin-left: 1px; }

.language-switch--rail {
  align-self: flex-end;
  margin: auto 8px 11px 0;
}

.language-switch--rail + .ac-rail-foot {
  margin-top: 0;
}

@media (max-width: 560px) {
  .language-switch { gap: 2px; }
  .language-switch button,
  .topnav .language-switch button { min-width: 20px; padding: 5px 3px; }
  .language-switch--nav { margin-left: -2px; }
}

@media (max-width: 1100px) {
  .language-switch--rail {
    display: flex;
    width: max-content;
    margin: 8px 4px 0 auto;
  }

  .language-switch--rail + .ac-rail-foot {
    margin-top: 8px;
  }
}
