/* Keep the switcher independent of each page's content width and text length. */
html { scrollbar-gutter: stable; }
.language-switcher { position: absolute; top: 24px; right: max(16px, calc((100% - 1180px) / 2)); z-index: 2; display: flex; align-items: center; gap: 4px; width: fit-content; font: 700 13px/1.3 system-ui, sans-serif; }
.language-switcher a { display: inline-flex; align-items: center; justify-content: center; min-height: 32px; padding: 5px 9px; border: 1px solid #7b8990; border-radius: 8px; color: #f5f5ee; background: #142b27; font-size: 12px; text-decoration: none; }
.language-switcher a[aria-current="page"] { color: #142b27; background: #f5f5ee; }
.language-switcher a:focus-visible { outline: 3px solid #e8b958; outline-offset: 3px; }
.language-switcher .language-short { display: none; }
/* Reserve the same space the switcher occupied before positioning it. */
.page { padding-top: 72px; }
.topbar { min-height: 32px; padding-right: 150px; flex-wrap: wrap; justify-content: flex-start; }
html[lang="ru"] .stage-label, html[lang="ru"] .panel-label { line-height: 1.5; }
html[lang="ru"] .step-label, html[lang="ru"] .sum { flex-shrink: 0; }
html[lang="ru"] .aftercare .secondary { white-space: normal; text-align: center; }
html[lang="ru"] .hero-grid h1.franchise-title { line-height: 1.08; }
@media (max-width: 620px) {
  .language-switcher { top: 16px; }
  .page { padding-top: 64px; }
  .shell { padding-top: 16px; }
}
@media (max-width: 420px) {
  html[lang="ru"] .stage-head { flex-wrap: wrap; }
}
