.language-stitcher-wrap {
	--language-stitcher-active-color: #000000 !important;
	--language-stitcher-deactivated-color: #E10600 !important;
	--language-stitcher-active-text-color: #FFFFFF !important;
	--language-stitcher-deactivated-text-color: #FFFFFF !important;
	--language-stitcher-border-color: #E10600 !important;
	--language-stitcher-golden-border-color: #E10600 !important;
	width: 100% !important;
}

.language-stitcher-align-left {
	text-align: left !important;
}

.language-stitcher-align-center {
	text-align: center !important;
}

.language-stitcher-align-right {
	text-align: right !important;
}

.language-stitcher-toggle {
	display: none !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.language-stitcher-button {
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 1px solid var(--language-stitcher-border-color) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 34px !important;
	min-width: 46px !important;
	padding: 8px 14px !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms ease !important;
}

.language-stitcher-button.is-active {
	background-color: var(--language-stitcher-active-color) !important;
	color: var(--language-stitcher-active-text-color) !important;
	opacity: 1 !important;
}

.language-stitcher-button.is-deactivated {
	background-color: var(--language-stitcher-deactivated-color) !important;
	color: var(--language-stitcher-deactivated-text-color) !important;
	opacity: 1 !important;
}

.language-stitcher-button:hover,
.language-stitcher-button:focus {
	opacity: 0.9 !important;
	outline: none !important;
	text-decoration: none !important;
	transform: translateY(-1px) !important;
}

.language-stitcher-button:focus-visible {
	outline: 2px solid var(--language-stitcher-border-color) !important;
	outline-offset: 3px !important;
}

.language-stitcher-separator {
	color: var(--language-stitcher-active-color) !important;
	display: none !important;
	opacity: 0.75 !important;
}

#language-stitcher-google-translate {
	height: 1px !important;
	left: -9999px !important;
	overflow: hidden !important;
	position: absolute !important;
	top: auto !important;
	width: 1px !important;
}

.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
body > .skiptranslate {
	display: none !important;
}

body.language-stitcher-active {
	top: 0 !important;
}

/* No-JS fallback: show the same mobile-style selector on every device. */
.language-stitcher-wrap:not(.language-stitcher-floating-shell) {
	bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
	left: calc(18px + env(safe-area-inset-left, 0px)) !important;
	position: fixed !important;
	right: auto !important;
	top: auto !important;
	text-align: left !important;
	width: auto !important;
	z-index: 2147483000 !important;
	pointer-events: none !important;
	transform: none !important;
}

.language-stitcher-select {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-color: var(--language-stitcher-active-color) !important;
	background-image: linear-gradient(45deg, transparent 50%, var(--language-stitcher-active-text-color) 50%), linear-gradient(135deg, var(--language-stitcher-active-text-color) 50%, transparent 50%) !important;
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 6px 6px, 6px 6px !important;
	border: 2px solid var(--language-stitcher-border-color) !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
	color: var(--language-stitcher-active-text-color) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em !important;
	line-height: 1 !important;
	min-height: 46px !important;
	min-width: 98px !important;
	padding: 11px 36px 11px 16px !important;
	pointer-events: auto !important;
	transition: background-color 160ms ease, color 160ms ease, opacity 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

.language-stitcher-select:hover,
.language-stitcher-select:focus {
	outline: none !important;
	transform: translateY(-1px) !important;
}

.language-stitcher-select:focus-visible {
	outline: 2px solid var(--language-stitcher-border-color) !important;
	outline-offset: 3px !important;
}

.language-stitcher-select option {
	background-color: var(--language-stitcher-active-color) !important;
	color: var(--language-stitcher-active-text-color) !important;
}

.language-stitcher-select option:checked {
	background-color: var(--language-stitcher-deactivated-color) !important;
	color: var(--language-stitcher-deactivated-text-color) !important;
}

/* JS portal: appended directly to body so Elementor sections cannot clip or move it. */
.language-stitcher-floating-shell {
	--language-stitcher-active-color: #000000 !important;
	--language-stitcher-deactivated-color: #E10600 !important;
	--language-stitcher-active-text-color: #FFFFFF !important;
	--language-stitcher-deactivated-text-color: #FFFFFF !important;
	--language-stitcher-border-color: #E10600 !important;
	--language-stitcher-golden-border-color: #E10600 !important;
	bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important;
	display: block !important;
	left: calc(18px + env(safe-area-inset-left, 0px)) !important;
	position: fixed !important;
	right: auto !important;
	top: auto !important;
	width: auto !important;
	z-index: 2147483000 !important;
	pointer-events: auto !important;
	transform: none !important;
}

.language-stitcher-floating-dropdown {
	display: inline-block !important;
	position: relative !important;
	text-align: left !important;
}

.language-stitcher-floating-trigger {
	appearance: none !important;
	-webkit-appearance: none !important;
	align-items: center !important;
	background-color: var(--language-stitcher-active-color) !important;
	border: 2px solid var(--language-stitcher-border-color) !important;
	border-radius: 999px !important;
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
	color: var(--language-stitcher-active-text-color) !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-weight: 800 !important;
	gap: 8px !important;
	justify-content: center !important;
	letter-spacing: 0.02em !important;
	line-height: 1 !important;
	min-height: 46px !important;
	min-width: 92px !important;
	padding: 11px 16px !important;
	position: relative !important;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease !important;
}

.language-stitcher-floating-trigger:hover,
.language-stitcher-floating-trigger:focus {
	outline: none !important;
	transform: translateY(-1px) !important;
}

.language-stitcher-floating-trigger:focus-visible {
	outline: 2px solid var(--language-stitcher-border-color) !important;
	outline-offset: 3px !important;
}

.language-stitcher-floating-trigger::after {
	border-left: 5px solid transparent !important;
	border-right: 5px solid transparent !important;
	border-top: 6px solid currentColor !important;
	content: '' !important;
	display: inline-block !important;
	height: 0 !important;
	transition: transform 160ms ease !important;
	width: 0 !important;
}

.language-stitcher-floating-shell.is-open .language-stitcher-floating-trigger::after {
	transform: rotate(180deg) !important;
}

.language-stitcher-floating-menu {
	background-color: var(--language-stitcher-active-color) !important;
	border: 2px solid var(--language-stitcher-border-color) !important;
	border-radius: 16px !important;
	bottom: calc(100% + 8px) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
	display: none !important;
	left: 0 !important;
	list-style: none !important;
	margin: 0 !important;
	min-width: 100% !important;
	overflow: hidden !important;
	padding: 5px !important;
	position: absolute !important;
	z-index: 2147483001 !important;
}

.language-stitcher-floating-shell.is-open .language-stitcher-floating-menu {
	display: grid !important;
	gap: 4px !important;
}

.language-stitcher-floating-option {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--language-stitcher-active-text-color) !important;
	cursor: pointer !important;
	display: flex !important;
	font-weight: 800 !important;
	justify-content: center !important;
	line-height: 1 !important;
	min-height: 38px !important;
	min-width: 82px !important;
	padding: 10px 16px !important;
	text-align: center !important;
	transition: background-color 160ms ease, color 160ms ease !important;
	width: 100% !important;
}

.language-stitcher-floating-option:hover,
.language-stitcher-floating-option:focus {
	background-color: rgba(225, 6, 0, 0.18) !important;
	outline: none !important;
}

.language-stitcher-floating-option.is-active,
.language-stitcher-floating-option[aria-selected='true'] {
	background-color: var(--language-stitcher-deactivated-color) !important;
	color: var(--language-stitcher-deactivated-text-color) !important;
}

.language-stitcher-floating-shell .language-stitcher-select,
.language-stitcher-floating-shell .language-stitcher-toggle {
	display: none !important;
}

/* Once the body-level portal is ready, hide the embedded copy to prevent duplicates on all devices. */
body.language-stitcher-floating-ready .language-stitcher-wrap:not(.language-stitcher-floating-shell) {
	bottom: auto !important;
	left: auto !important;
	position: static !important;
	width: auto !important;
	z-index: auto !important;
	pointer-events: none !important;
}

body.language-stitcher-floating-ready .language-stitcher-wrap:not(.language-stitcher-floating-shell) .language-stitcher-toggle,
body.language-stitcher-floating-ready .language-stitcher-wrap:not(.language-stitcher-floating-shell) .language-stitcher-select,
body.language-stitcher-floating-ready .language-stitcher-wrap:not(.language-stitcher-floating-shell) .screen-reader-text {
	display: none !important;
}

@media (max-width: 480px) {
	.language-stitcher-wrap:not(.language-stitcher-floating-shell),
	.language-stitcher-floating-shell {
		bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
		left: calc(14px + env(safe-area-inset-left, 0px)) !important;
	}
}

.language-stitcher-wrap .screen-reader-text {
	border: 0 !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
	word-wrap: normal !important;
}
