/* Language switcher */
.lang-switcher-wrap {
  position: relative;
  flex-shrink: 0;
}

.lang-switcher {
  position: relative;
}

.lang-switcher summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.7rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: inherit;
  background: rgb(255 255 255 / 0.08);
  border: 1px solid rgb(255 255 255 / 0.18);
  border-radius: 0.5rem;
  transition: background 0.15s, border-color 0.15s;
}

.site-header:not(.site-header--dark) .lang-switcher summary {
  color: var(--color-ink);
  background: rgb(15 23 42 / 0.04);
  border-color: rgb(15 23 42 / 0.12);
}

.lang-switcher summary::-webkit-details-marker {
  display: none;
}

.lang-switcher summary::after {
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  margin-left: 0.1rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: 0.7;
}

.lang-switcher[open] summary::after {
  transform: rotate(-135deg) translateY(1px);
}

.lang-switcher summary:hover {
  background: rgb(255 255 255 / 0.14);
  border-color: rgb(255 255 255 / 0.28);
}

.lang-switcher__menu {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 80;
  min-width: 11rem;
  margin: 0;
  padding: 0.35rem;
  list-style: none;
  background: rgb(12 16 32 / 0.98);
  border: 1px solid rgb(255 255 255 / 0.12);
  border-radius: 0.65rem;
  box-shadow: 0 16px 40px rgb(0 0 0 / 0.45);
  backdrop-filter: blur(16px);
}

.site-header:not(.site-header--dark) .lang-switcher__menu {
  background: #fff;
  border-color: rgb(226 232 240);
  box-shadow: var(--shadow-card);
}

.lang-switcher__menu a {
  display: block;
  padding: 0.5rem 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: rgb(226 232 240 / 0.95);
  border-radius: 0.4rem;
  text-decoration: none;
}

.site-header:not(.site-header--dark) .lang-switcher__menu a {
  color: var(--color-ink);
}

.lang-switcher__menu a:hover {
  background: rgb(236 72 153 / 0.2);
  color: #fff;
}

.site-header:not(.site-header--dark) .lang-switcher__menu a:hover {
  background: rgb(220 38 38 / 0.08);
  color: var(--color-brand);
}

.lang-switcher__menu a.is-active {
  background: rgb(236 72 153 / 0.25);
  color: #fff;
}

.site-header:not(.site-header--dark) .lang-switcher__menu a.is-active {
  background: rgb(220 38 38 / 0.1);
  color: var(--color-brand);
}

/* Chinese navigation letter-spacing */
html[lang="zh-CN"] .site-nav a,
html[lang="zh-CN"] .mobile-menu-panel a,
html[lang="zh-CN"] .fx-page-nav a,
html[lang="zh-CN"] .ts-hero-tabs a,
html[lang="zh-CN"] .gp-hero-tabs a,
html[lang="zh-CN"] .fq-hero-tabs a,
html[lang="zh-CN"] .fp-hero-tabs a {
  letter-spacing: 0.06em;
}

/* Russian button padding */
html[lang="ru"] .btn-download-header {
  padding: 0.75rem 1.55rem;
}

html[lang="ru"] .btn-primary-lg {
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1.75rem;
  padding-right: 1.75rem;
}

html[lang="ru"] .ts-btn-download,
html[lang="ru"] .floating-dl {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Arabic RTL */
html[lang="ar"] {
  direction: rtl;
}

html[lang="ar"] body {
  text-align: right;
}

html[lang="ar"] .ts-lead,
html[lang="ar"] .ts-quick-card p,
html[lang="ar"] .ts-list li,
html[lang="ar"] .ts-stack-card p,
html[lang="ar"] .ts-info-bar span,
html[lang="ar"] .fp-lead,
html[lang="ar"] .gp-lead,
html[lang="ar"] .fq-lead,
html[lang="ar"] .fx-lead,
html[lang="ar"] .hero-cinematic__desc,
html[lang="ar"] .hero-glass-card p {
  text-align: right;
}

html[lang="ar"] .ts-legal-cols,
html[lang="ar"] .ts-stack,
html[lang="ar"] .ts-block__content {
  text-align: right;
}

html[lang="ar"] .ts-list li {
  direction: rtl;
}

html[lang="ar"] .site-header .mx-auto.flex,
html[lang="ar"] .ts-block__grid,
html[lang="ar"] .fq-list__grid,
html[lang="ar"] .gp-hero__grid,
html[lang="ar"] .fp-block__grid,
html[lang="ar"] .hero-cinematic__grid,
html[lang="ar"] .fx-overview__top,
html[lang="ar"] .fx-feature-grid {
  direction: rtl;
}

html[lang="ar"] .lang-switcher__menu {
  right: auto;
  left: 0;
}

html[lang="ar"] .ts-quick-card,
html[lang="ar"] .fq-quick-card,
html[lang="ar"] .gp-quick-card {
  border-left: none;
  border-right: 3px solid var(--ts-magenta-bright, #ff4d8d);
}

html[lang="ar"] .floating-dl {
  right: auto;
  left: 1.5rem;
}

html[lang="ar"] .step-list li {
  padding-left: 0;
  padding-right: 3rem;
}

html[lang="ar"] .step-list li::before {
  left: auto;
  right: 0;
}
