/*
 * Language switcher (plan fix 11). Desktop = the 16 Jan build's dropdown (captured 2026-09-28): button px12 py8 14/20
 * gap 8 + chevron 16, coloured like the nav; menu top-full, mt 8, py 8, white, radius 12, shadow-lg, border gray-100,
 * min-width 140; rows px16 py8 14/20, hover gray-50, current orange/500. Mobile = the old full-width select box look
 * (px16 py12, radius 12, border gray-200, 14px, mb 16) opening the same list inline.
 */
.lang-switch { position: relative; }
.lang-switch__button {
	display: flex;
	align-items: center;
	gap: calc(var(--spacing) * 2);
	padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3);
	font-size: var(--text-sm);
	line-height: var(--text-sm-lh);
	color: var(--nav-color, var(--color-gray-700));
	white-space: nowrap;
	transition: color var(--duration-fast) var(--ease-default);
}
.lang-switch__button:hover, .lang-switch__button[aria-expanded="true"] { color: var(--nav-hover, var(--color-brand-orange)); }
.lang-switch__menu {
	position: absolute;
	top: 100%;
	inset-inline-end: 0;
	margin-top: calc(var(--spacing) * 2);
	padding-block: calc(var(--spacing) * 2);
	min-width: 140px;
	background-color: var(--color-white);
	border: 1px solid var(--color-gray-100);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-lg);
	z-index: 10;
}
.lang-switch__item {
	display: block;
	width: 100%;
	padding: calc(var(--spacing) * 2) calc(var(--spacing) * 4);
	font-size: var(--text-sm);
	line-height: var(--text-sm-lh);
	text-align: start;
	color: var(--color-gray-700);
	transition: background-color var(--duration-fast) var(--ease-default), color var(--duration-fast) var(--ease-default);
}
.lang-switch__item:hover { background-color: var(--color-gray-50); }
.lang-switch__item.is-current { color: var(--color-brand-orange); font-weight: var(--font-weight-medium); }

.lang-switch--mobile { margin-bottom: calc(var(--spacing) * 4); }
.lang-switch--mobile .lang-switch__button {
	width: 100%;
	justify-content: space-between;
	padding: calc(var(--spacing) * 3) calc(var(--spacing) * 4);
	border: 1px solid var(--color-gray-200);
	border-radius: var(--radius-xl);
	background-color: var(--color-white);
	color: var(--color-brand-dark);
	line-height: normal;
}
.lang-switch--mobile .lang-switch__button:hover, .lang-switch--mobile .lang-switch__button[aria-expanded="true"] { color: var(--color-brand-dark); border-color: var(--color-gray-300); }
.lang-switch--mobile .lang-switch__menu { position: static; margin-top: calc(var(--spacing) * 2); min-width: 0; box-shadow: none; }

/* Plan fix 4 (1024 nav on one line): 1024–1279 the desktop button shows the language code; measured need was 1033px in a 960px row. */
.lang-switch__code { display: none; }
@media (min-width: 64rem) and (max-width: 79.999rem) {
	.lang-switch--desktop .lang-switch__button { padding-inline: calc(var(--spacing) * 2); }
	.lang-switch--desktop .lang-switch__code { display: inline; }
	.lang-switch--desktop .lang-switch__current {
		position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap;
	}
}
