/* ------------------------------------------------------------------
   Language switcher (RU / KZ / EN)
   Translations are server-rendered; no Google Translate chrome here.
------------------------------------------------------------------ */
.lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 1rem;
	letter-spacing: 0.12em;
	line-height: 1;
	white-space: nowrap;
}

.lang-switch__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 26px;
	min-height: 28px;
	padding: 0 2px;
	color: inherit;
	opacity: 0.55;
	border-bottom: 1px solid transparent;
	transition: opacity 0.2s ease, border-color 0.2s ease;
}

.lang-switch__link:hover,
.lang-switch__link:focus-visible {
	opacity: 1;
}

.lang-switch__link.is-active {
	opacity: 1;
	border-bottom-color: currentColor;
}

.lang-switch__link:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: 3px;
}

.header-right .lang-switch {
	margin-right: 6px;
	padding-right: 12px;
	border-right: 1px solid currentColor;
	opacity: 0.8;
}

/* Mobile menu: the old static spans are now real links. */
.mobile-langs {
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
}

.mobile-langs .screen-reader-text {
	position: absolute;
}

.mobile-langs .lang-switch__link {
	min-width: 44px;
	min-height: 44px;
	padding: 0 6px;
	font-size: 1.2rem;
	color: #999;
}

.mobile-langs .lang-switch__link.is-active {
	color: var(--be-beige);
}

/* Kazakh words are longer than Russian; let headings and links wrap instead
   of creating horizontal overflow on narrow screens. */
body.be-lang-kz .section-title,
body.be-lang-kz .catalog-title,
body.be-lang-kz .page-title,
body.be-lang-kz .menu-item > a,
body.be-lang-kz .footer-title {
	overflow-wrap: anywhere;
}

@media (max-width: 900px) {
	.header-right .lang-switch {
		display: none;
	}
}

@media (max-width: 420px) {
	.mobile-menu-foot {
		min-width: 0;
	}

	.mobile-langs {
		max-width: 100%;
	}
}
