/* Oculta únicamente el conmutador antiguo de Polylang dentro del header de Elementor. */
.mco-fls-enabled .elementor-location-header .lang-item,
.mco-fls-enabled header .elementor-nav-menu .lang-item,
.mco-fls-enabled .elementor-location-header .menu-item-language,
.mco-fls-enabled header .elementor-nav-menu .menu-item-language {
	display: none !important;
}

.mco-fls {
	--mco-fls-surface: #fffdfc;
	--mco-fls-soft: #f7e6d5;
	--mco-fls-text: #2f2926;
	--mco-fls-muted: #786a66;
	--mco-fls-border: #e9ded6;
	--mco-fls-accent: #b85b6a;
	--mco-fls-accent-dark: #8e3f4c;
	--mco-fls-shadow: 0 10px 28px rgba(47, 41, 38, 0.15);
	position: fixed;
	right: max(18px, env(safe-area-inset-right));
	bottom: calc(max(18px, env(safe-area-inset-bottom)) + var(--mco-fls-cookie-offset, 0px));
	z-index: 2147483000;
	margin: 0;
	padding: 0;
	font-family: "Lato", "Montserrat", Arial, sans-serif;
	font-size: 16px;
	line-height: 1;
	isolation: isolate;
	pointer-events: auto !important;
}

.mco-fls,
.mco-fls * {
	box-sizing: border-box;
}

.mco-fls > summary {
	list-style: none;
}

.mco-fls > summary::-webkit-details-marker {
	display: none;
}

.mco-fls__toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px !important;
	min-width: 72px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid var(--mco-fls-border) !important;
	border-radius: 999px !important;
	background: rgba(255, 253, 252, 0.96) !important;
	color: var(--mco-fls-text) !important;
	box-shadow: var(--mco-fls-shadow) !important;
	cursor: pointer !important;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
	pointer-events: auto !important;
}

.mco-fls__toggle:hover,
.mco-fls__toggle:focus-visible,
.mco-fls[open] .mco-fls__toggle {
	background: var(--mco-fls-accent) !important;
	border-color: var(--mco-fls-accent) !important;
	color: #ffffff !important;
	box-shadow: 0 12px 30px rgba(184, 91, 106, 0.28) !important;
}

.mco-fls__toggle:hover {
	transform: translateY(-1px);
}

.mco-fls__toggle:focus-visible {
	outline: 3px solid rgba(184, 91, 106, 0.26) !important;
	outline-offset: 3px;
}

.mco-fls__flag,
.mco-fls__option-flag {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	overflow: hidden !important;
	border-radius: 3px !important;
	background: #ffffff !important;
	box-shadow: 0 0 0 1px rgba(47, 41, 38, 0.1) !important;
}

.mco-fls__flag {
	width: 22px !important;
	height: 15px !important;
}

.mco-fls__option-flag {
	width: 27px !important;
	height: 18px !important;
}

.mco-fls img,
.mco-fls__flag img,
.mco-fls__option-flag img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	filter: none !important;
	mix-blend-mode: normal !important;
	transform: none !important;
	object-fit: cover !important;
}

.mco-fls__flag-fallback {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	color: var(--mco-fls-text) !important;
}

.mco-fls__code {
	display: inline-block !important;
	font-family: "Montserrat", "Lato", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	color: inherit !important;
}

.mco-fls__chevron {
	display: block !important;
	width: 13px !important;
	height: 13px !important;
	flex: 0 0 auto !important;
	color: inherit !important;
	transition: transform 160ms ease;
}

.mco-fls[open] .mco-fls__chevron {
	transform: rotate(180deg);
}

.mco-fls__menu {
	position: absolute !important;
	right: 0 !important;
	bottom: calc(100% + 10px) !important;
	width: 214px !important;
	margin: 0 !important;
	padding: 12px !important;
	border: 1px solid var(--mco-fls-border) !important;
	border-radius: 12px !important;
	background: var(--mco-fls-surface) !important;
	color: var(--mco-fls-text) !important;
	box-shadow: 0 16px 40px rgba(47, 41, 38, 0.18) !important;
	transform-origin: bottom right;
	animation: mco-fls-in 150ms ease both;
	pointer-events: auto !important;
}

.mco-fls:not([open]) .mco-fls__menu {
	display: none !important;
}

.mco-fls__title {
	display: block !important;
	margin: 1px 7px 9px !important;
	padding: 0 !important;
	font-family: "Montserrat", "Lato", Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	color: var(--mco-fls-muted) !important;
}

.mco-fls__list {
	display: grid !important;
	gap: 5px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.mco-fls__item {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.mco-fls__option {
	display: grid !important;
	grid-template-columns: 27px minmax(0, 1fr) auto auto !important;
	align-items: center !important;
	gap: 9px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 9px 10px !important;
	border: 1px solid transparent !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--mco-fls-text) !important;
	font-family: "Lato", "Montserrat", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
	transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
	pointer-events: auto !important;
}

.mco-fls__option:hover,
.mco-fls__option:focus-visible {
	background: var(--mco-fls-accent) !important;
	border-color: var(--mco-fls-accent) !important;
	color: #ffffff !important;
	outline: none !important;
}

.mco-fls__option:hover .mco-fls__option-name,
.mco-fls__option:hover .mco-fls__option-code,
.mco-fls__option:hover .mco-fls__check,
.mco-fls__option:focus-visible .mco-fls__option-name,
.mco-fls__option:focus-visible .mco-fls__option-code,
.mco-fls__option:focus-visible .mco-fls__check {
	color: #ffffff !important;
}

.mco-fls__option.is-current {
	background: var(--mco-fls-soft) !important;
	border-color: rgba(184, 91, 106, 0.12) !important;
	color: var(--mco-fls-text) !important;
}

.mco-fls__option.is-current:hover,
.mco-fls__option.is-current:focus-visible {
	background: var(--mco-fls-accent-dark) !important;
	border-color: var(--mco-fls-accent-dark) !important;
	color: #ffffff !important;
}

.mco-fls__option-name {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: inherit !important;
}

.mco-fls__option-code {
	font-family: "Montserrat", "Lato", Arial, sans-serif !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.08em !important;
	color: var(--mco-fls-muted) !important;
}

.mco-fls__check {
	display: block !important;
	width: 15px !important;
	height: 15px !important;
	color: var(--mco-fls-accent-dark) !important;
}

@keyframes mco-fls-in {
	from {
		opacity: 0;
		transform: translateY(6px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 767px) {
	.mco-fls {
		right: max(12px, env(safe-area-inset-right));
		bottom: calc(max(14px, env(safe-area-inset-bottom)) + var(--mco-fls-cookie-offset, 0px));
	}

	.mco-fls__toggle {
		min-width: 68px !important;
		height: 42px !important;
		padding-inline: 11px !important;
	}

	.mco-fls__menu {
		width: min(214px, calc(100vw - 24px)) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mco-fls__toggle,
	.mco-fls__chevron,
	.mco-fls__option {
		transition: none !important;
	}

	.mco-fls__menu {
		animation: none !important;
	}
}
