/* ==================================================================
   Переключатель языка — app/templates/includes/lang-switcher.twig

   Один на публичные страницы, вход и кабинет. Кнопка берёт цвет у шапки
   (светлой на лендинге, тёмной в боковой панели кабинета), меню — всегда
   светлая карточка поверх. Флагов нет: язык — не страна.
================================================================== */

.lsw { position: relative; display: inline-flex; flex: none; }

.lsw-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid rgba(127, 127, 127, .38);
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}

.lsw-btn:hover { border-color: currentColor; }
.lsw-btn:focus-visible { outline: 2px solid #f4512c; outline-offset: 2px; }
.lsw-btn svg { flex: none; width: 16px; height: 16px; }
.lsw-btn .lsw-chev { width: 14px; height: 14px; opacity: .7; transition: transform .15s ease; }
.lsw-btn[aria-expanded="true"] .lsw-chev { transform: rotate(180deg); }

.lsw-short { display: none; }
.lsw--short .lsw-name { display: none; }
.lsw--short .lsw-short { display: inline; }

.lsw-menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 1000;
	min-width: 176px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	color: #09262b;
	border: 1px solid rgba(9, 38, 43, .12);
	border-radius: 14px;
	box-shadow: 0 14px 34px rgba(9, 38, 43, .16);
	text-align: left;
}

.lsw-menu[hidden] { display: none; }
.lsw--up .lsw-menu { top: auto; bottom: calc(100% + 6px); }
.lsw--start .lsw-menu { right: auto; left: 0; }

.lsw-menu li { margin: 0; padding: 0; }

.lsw-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 44px;
	padding: 0 12px;
	border-radius: 10px;
	color: #09262b;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.lsw-item:hover, .lsw-item:focus { background: #f3eee6; color: #09262b; outline: none; }
.lsw-item:focus-visible { box-shadow: inset 0 0 0 2px #f4512c; }
.lsw-item[aria-current] { font-weight: 600; }
.lsw-item svg { flex: none; width: 16px; height: 16px; color: #f4512c; }

/* Телефон: на кнопке остаётся код языка, чтобы логотип, язык и «Войти»
   поместились в одну строку; в меню — полные самоназвания */
@media (max-width: 480px) {
	.lsw-btn { min-height: 38px; padding: 0 10px; gap: 5px; }
	.lsw-globe { display: none; }
	.lsw-name { display: none; }
	.lsw-short { display: inline; }
}

/* ---------- места установки ---------- */

/* Боковая панель кабинета: над карточкой профиля, меню открывается вверх */
.ea-side-lang { margin-top: auto; padding: 0 var(--ea-s3, 12px) var(--ea-s2, 8px); }
.ea-side-lang + .ea-side-me { margin-top: 0; }
.ea-side-lang .lsw-btn { color: rgba(255, 255, 255, .78); border-color: rgba(255, 255, 255, .2); }
.ea-side-lang .lsw-btn:hover { color: #fff; border-color: rgba(255, 255, 255, .5); }

/* Узкая панель (планшет): только значок языка */
@media (max-width: 1100px) {
	.ea-side-lang { display: flex; justify-content: center; padding-left: 0; padding-right: 0; }
	.ea-side-lang .lsw-btn { padding: 0 10px; }
	.ea-side-lang .lsw-name, .ea-side-lang .lsw-short, .ea-side-lang .lsw-chev { display: none; }
	.ea-side-lang .lsw-globe { display: block; }
}

/* Мобильная шапка кабинета: язык и профиль — у правого края */
.ea-mhead-right { margin-left: auto; }
.ea-mhead .lsw-btn { min-height: 34px; color: #fff; border-color: rgba(255, 255, 255, .28); }

/* Страница входа: справа сверху над формой; на телефоне — строкой над формой */
.ea-auth-main { position: relative; padding-top: 84px; }
.ea-auth-lang { position: absolute; top: 20px; right: 24px; color: var(--ea-ink, #09262b); }

@media (max-width: 767px) {
	.ea-auth-main { align-content: start; padding-top: 18px; }
	.ea-auth-lang { position: static; justify-self: end; margin-bottom: 12px; }
}

/* Шапка витрины (v3): на телефоне язык, «Войти» и меню теснее */
@media (max-width: 480px) {
	.sl-header-actions { gap: 6px; }
}
