/*
 * The all-page entry is deliberately self-contained. The article renderer
 * already owns its switcher, while this fallback must remain a compact pill
 * in the existing header and must never increase the header's block height.
 */
.nav-inner > .vesta-global-language-entry {
	box-sizing: border-box;
	color: #fff;
	flex: 0 0 auto;
	font-family: inherit;
	line-height: 1.2;
	margin-left: auto;
	position: relative;
	width: auto;
	z-index: 40;
}

.nav-inner > .vesta-global-language-entry > summary {
	align-items: center;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 0.55rem;
	justify-content: center;
	list-style: none;
	min-height: 44px;
	max-width: min(15rem, calc(100vw - 2rem));
	padding: 0.65rem 1rem;
	white-space: nowrap;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
	width: auto;
}

.nav-inner > .vesta-global-language-entry > summary:hover,
.nav-inner > .vesta-global-language-entry > summary:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
}

.nav-inner > .vesta-global-language-entry > summary::-webkit-details-marker {
	display: none;
}

.nav-inner > .vesta-global-language-entry > summary::after {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	height: 0.45rem;
	transform: translateY(-0.15rem) rotate(45deg);
	transition: transform 160ms ease;
	width: 0.45rem;
}

.nav-inner > .vesta-global-language-entry[open] > summary::after {
	transform: translateY(0.1rem) rotate(225deg);
}

.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu {
	background: #fff;
	border: 1px solid rgba(16, 38, 52, 0.12);
	border-radius: 1rem;
	box-shadow: 0 18px 42px rgba(10, 28, 43, 0.26);
	box-sizing: border-box;
	display: block;
	max-height: min(70vh, 30rem);
	max-width: calc(100vw - 2rem);
	min-width: 14rem;
	overflow-y: auto;
	padding: 0.45rem;
	position: absolute;
	right: 0;
	top: calc(100% + 0.6rem);
	width: min(16rem, calc(100vw - 2rem));
	z-index: 1000;
}

.nav-inner > .vesta-global-language-entry:not([open]) .vesta-language-switcher-menu {
	display: none;
}

.nav-inner > .vesta-global-language-entry .vesta-language-options {
	display: grid;
	gap: 0.15rem;
}

.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu a,
.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu span {
	border-radius: 0.7rem;
	box-sizing: border-box;
	color: #18364a;
	display: block;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	min-height: 2.7rem;
	padding: 0.7rem 0.8rem;
	text-decoration: none;
}

.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu a:hover,
.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu a:focus-visible {
	background: #edf4f7;
}

.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu span[aria-current="page"] {
	background: #e6f0f5;
	font-weight: 800;
}

.nav-inner > .vesta-global-language-entry .vesta-language-unavailable,
.vesta-language-switcher-menu .vesta-language-unavailable {
	color: #18364a;
	cursor: not-allowed;
	opacity: 0.38;
	pointer-events: none;
}

/* No explanatory suffix: the muted treatment already communicates state. */
.vesta-language-switcher-menu .vesta-language-unavailable small {
	display: none !important;
}

@media (max-width: 1024px) {
	.nav-inner > .vesta-global-language-entry {
		margin-left: 0;
	}

	.nav-inner > .vesta-global-language-entry > summary {
		min-height: 42px;
		padding: 0.6rem 0.85rem;
	}
}

@media (max-width: 380px) {
	.nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu {
		min-width: 0;
		right: -0.5rem;
		width: min(15rem, calc(100vw - 1rem));
	}
}

html[dir="rtl"] .nav-inner > .vesta-global-language-entry .vesta-language-switcher-menu {
	left: 0;
	right: auto;
	text-align: right;
}

/* Keep the plugin stylesheet harmless if the theme has no nav container. */
.vesta-global-language-entry {
	position: relative;
	z-index: 40;
}
