/* Image-based flags render consistently without relying on emoji fonts. */
.language-switch button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border-radius: 6px;
  background: transparent;
}
.language-switch img.language-flag {
  display: block;
  width: 28px;
  height: 20px;
  max-width: none;
  object-fit: cover;
  border-radius: 2px;
  outline: 1px solid transparent;
  outline-offset: 2px;
  opacity: .75;
  transition: outline-color .15s ease, opacity .15s ease;
}
.language-switch button[aria-pressed="true"] {
  background: transparent;
  text-decoration: none;
}
.language-switch button[aria-pressed="true"] img.language-flag {
  outline-color: #fff;
  opacity: 1;
}
.language-switch button:hover img.language-flag {
  opacity: 1;
}
.language-switch button:focus-visible {
  outline: none;
}
.language-switch button:focus-visible img.language-flag {
  outline: 2px solid #fff;
  opacity: 1;
}
