.multilipi-language-switcher[data-multilipi-ignore] {
	color: #1d2327;
	font: inherit;
	line-height: 1.4;
}

/* Keeps the conditional-content shortcode marker out of the page layout while
 * retaining a stable DOM boundary for server/browser translation exclusion. */
multilipi-no-translate {
	display: contents;
}

.multilipi-language-switcher[data-multilipi-ignore] ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.multilipi-language-switcher[data-multilipi-ignore] a {
	color: inherit;
	font: inherit;
}

.multilipi-language-switcher[data-multilipi-ignore] .is-current a {
	font-weight: 700;
	text-decoration: underline;
}

.multilipi-language-switcher--dropdown details {
	position: relative;
}

.multilipi-language-switcher--dropdown summary {
	display: flex;
	align-items: center;
	gap: .45rem;
	cursor: pointer;
	list-style: none;
}

.multilipi-language-switcher--dropdown summary::-webkit-details-marker {
	display: none;
}

.multilipi-language-switcher--dropdown summary::after {
	content: "▾";
	font-size: .8em;
}

.multilipi-language-switcher__prompt {
	font-weight: 700;
}

.multilipi-language-switcher--dropdown details > ul {
	margin-top: .5rem;
}

.multilipi-language-switcher--floating {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: max(1rem, env(safe-area-inset-bottom));
	z-index: 2147483647;
	max-width: calc(100vw - 2rem);
	padding: .7rem .85rem;
	border: 1px solid rgba(0, 0, 0, .16);
	border-radius: .6rem;
	background: var(--mlp-button-primary, #fff);
	color: var(--mlp-button-secondary, #1d2327);
	box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}
/* When JS has applied position_from data-attr, this class no longer controls position */
.multilipi-language-switcher--floating[style] {
	right: unset;
	bottom: unset;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/*
 * Catalog switchers render their own shell. Keep the legacy floating nav only
 * for positioning, even when the API does not provide explicit coordinates.
 */
.multilipi-language-switcher--floating.multilipi-language-switcher--enhanced {
	max-width: none;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.multilipi-language-switcher--floating details > ul {
	position: absolute;
	right: 0;
	bottom: calc(100% + .6rem);
	display: grid;
	min-width: max-content;
	max-width: min(20rem, calc(100vw - 2rem));
	gap: 0;
	padding: .35rem;
	border: 1px solid rgba(0, 0, 0, .16);
	border-radius: .5rem;
	background: #fff;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}

.multilipi-language-switcher--floating details > ul a {
	display: block;
	padding: .5rem .65rem;
	border-radius: .25rem;
	text-decoration: none;
}

.multilipi-language-switcher--floating details > ul a:focus,
.multilipi-language-switcher--floating details > ul a:hover {
	background: #f0f0f1;
	text-decoration: underline;
}

@media print {
	.multilipi-language-switcher--floating {
		display: none;
	}
}
