.lang-switch {
  display: inline-flex;
  align-items: center;
  margin-left: 0.1rem;
}

.lang-switch select[data-lang-select] {
  appearance: none;
  -webkit-appearance: none;
  max-width: 7.25rem;
  height: 2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius, 4px);
  background:
    linear-gradient(45deg, transparent 50%, var(--mute) 50%) calc(100% - 0.75rem) calc(50% - 0.1rem) / 0.3rem 0.3rem no-repeat,
    linear-gradient(135deg, var(--mute) 50%, transparent 50%) calc(100% - 0.5rem) calc(50% - 0.1rem) / 0.3rem 0.3rem no-repeat,
    var(--paper, #fff);
  color: var(--ink);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.35rem 1.45rem 0.35rem 0.55rem;
  cursor: pointer;
}

.lang-switch select[data-lang-select] option {
  color: #0f1724;
  background-color: #fff;
}

.lang-switch select[data-lang-select]:focus {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

[dir="rtl"] .site-header__inner,
[dir="rtl"] .nav,
[dir="rtl"] .footer-grid,
[dir="rtl"] .footer-meta {
  direction: rtl;
}

[dir="rtl"] .lang-switch {
  margin-left: 0;
  margin-right: 0.1rem;
}

[dir="rtl"] .lang-switch select[data-lang-select] {
  padding: 0.35rem 0.55rem 0.35rem 1.45rem;
  background:
    linear-gradient(45deg, transparent 50%, var(--mute) 50%) 0.5rem calc(50% - 0.1rem) / 0.3rem 0.3rem no-repeat,
    linear-gradient(135deg, var(--mute) 50%, transparent 50%) 0.75rem calc(50% - 0.1rem) / 0.3rem 0.3rem no-repeat,
    var(--paper, #fff);
}

/* Language switch: staggered fade (scheme C) */
.ys-lang-fade {
  transition:
    opacity 0.16s ease,
    transform 0.16s ease;
  will-change: opacity, transform;
}

.ys-lang-out,
.ys-lang-prep {
  opacity: 0;
  transform: translateY(0.18rem);
}

html.is-lang-switching .lang-switch select[data-lang-select] {
  pointer-events: none;
  opacity: 0.72;
}

@media (prefers-reduced-motion: reduce) {
  .ys-lang-fade {
    transition: none;
  }

  .ys-lang-out,
  .ys-lang-prep {
    opacity: 1;
    transform: none;
  }
}
