/* Simple language selector shared by the portfolio and its full-page demos. */
.language-switch {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  margin-left: 4px;
  padding: 4px 0;
  color: var(--muted, #6b746f);
  background: transparent;
  border: 0;
  font:
    700 11px Manrope,
    Arial,
    sans-serif;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.language-switch span[data-language-option] {
  position: relative;
  padding: 4px 0;
  transition:
    color 0.2s ease,
    opacity 0.2s ease;
}

.language-switch span[data-language-option]:not([aria-current='true']) {
  opacity: 0.55;
}

.language-switch span[data-language-option][aria-current='true'] {
  color: var(--green, var(--accent, #285940));
  opacity: 1;
}

.language-switch span[data-language-option][aria-current='true']::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: currentColor;
  content: '';
}

.language-switch .language-divider {
  color: currentColor;
  font-weight: 400;
  opacity: 0.35;
}

.language-switch:hover span[data-language-option] {
  opacity: 1;
}

.language-switch:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--green, var(--accent, #285940)) 45%, transparent);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .language-switch span[data-language-option] {
    transition: none;
  }
}

@media (max-width: 720px) {
  .language-switch {
    margin-left: 0;
  }
}
