/* Just MM Language Selector v1.1.1 — Just Mojo Media */

.jmmls {
	--jmmls-shadow: 0 6px 24px rgba(0, 0, 0, .12);
	font-size: var(--jmmls-font, 14px);
	line-height: 1.2;
	color: var(--jmmls-text, #1d2327);
	box-sizing: border-box;
}

.jmmls *,
.jmmls *::before,
.jmmls *::after {
	box-sizing: border-box;
}

.jmmls-floating {
	position: fixed;
	z-index: var(--jmmls-z, 9990);
}

.jmmls-pos-bottom-right { right: var(--jmmls-x, 20px); bottom: var(--jmmls-y, 20px); }
.jmmls-pos-bottom-left  { left: var(--jmmls-x, 20px);  bottom: var(--jmmls-y, 20px); }
.jmmls-pos-top-right    { right: var(--jmmls-x, 20px); top: var(--jmmls-y, 20px); }
.jmmls-pos-top-left     { left: var(--jmmls-x, 20px);  top: var(--jmmls-y, 20px); }
.jmmls-pos-middle-right { right: var(--jmmls-x, 20px); top: 50%; transform: translateY(-50%); }
.jmmls-pos-middle-left  { left: var(--jmmls-x, 20px);  top: 50%; transform: translateY(-50%); }

.jmmls-inline {
	display: inline-block;
}

.jmmls-box {
	display: flex;
	flex-direction: column;
	background: var(--jmmls-bg, #fff);
	border: 1px solid var(--jmmls-border, #e2e4e7);
	border-radius: var(--jmmls-radius, 8px);
	box-shadow: var(--jmmls-shadow);
	overflow: hidden;
	min-width: 0;
}

.jmmls-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--jmmls-accent, #e8620a);
	font: inherit;
	font-size: var(--jmmls-font, 14px);
	text-align: left;
	cursor: pointer;
	box-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	min-height: 0;
}

.jmmls-toggle:hover,
.jmmls-toggle:focus {
	background: var(--jmmls-hover, #f6f7f7);
	color: var(--jmmls-accent, #e8620a);
	outline: none;
}

.jmmls-toggle:focus-visible {
	outline: 2px solid var(--jmmls-accent, #e8620a);
	outline-offset: -2px;
}

.jmmls-list {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 60vh;
	overflow-y: auto;
}

.jmmls.is-open .jmmls-list {
	display: block;
}

.jmmls-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jmmls-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	color: var(--jmmls-text, #1d2327);
	text-decoration: none;
	box-shadow: none;
	white-space: nowrap;
}

.jmmls-link:hover,
.jmmls-link:focus {
	background: var(--jmmls-hover, #f6f7f7);
	color: var(--jmmls-text, #1d2327);
	text-decoration: none;
}

.jmmls-flag {
	display: block;
	flex: 0 0 auto;
	width: var(--jmmls-flag, 22px);
	height: calc(var(--jmmls-flag, 22px) * .75);
	border-radius: var(--jmmls-flag-radius, 3px);
	overflow: hidden;
	background: var(--jmmls-hover, #f0f0f1);
}

.jmmls-shape-circle .jmmls-flag {
	height: var(--jmmls-flag, 22px);
}

.jmmls-flag img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	max-width: none;
	box-shadow: none;
}

.jmmls-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.jmmls-flags-only .jmmls-label {
	display: none;
}

.jmmls-caret {
	display: flex;
	align-items: center;
	margin-left: auto;
	padding-left: 4px;
	transition: transform .18s ease;
}

.jmmls-flags-only .jmmls-caret {
	margin-left: 2px;
}

.jmmls.is-open .jmmls-caret {
	transform: rotate(180deg);
}

/* Bottom positions: list sits above the toggle, caret points up when closed. */
.jmmls-up .jmmls-caret {
	transform: rotate(180deg);
}

.jmmls-up.is-open .jmmls-caret {
	transform: rotate(0deg);
}

.jmmls-up .jmmls-list {
	border-bottom: 1px solid var(--jmmls-border, #e2e4e7);
}

.jmmls:not(.jmmls-up) .jmmls-list {
	border-top: 1px solid var(--jmmls-border, #e2e4e7);
}

.jmmls .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

@media (prefers-reduced-motion: reduce) {
	.jmmls-caret {
		transition: none;
	}
}
