.lcw-switcher {
	display: inline-block;
	font: inherit;
}

.lcw-switcher label {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}

.lcw-switcher .lcw-label {
	font-size: 0.875rem;
	font-weight: 600;
}

.lcw-switcher select {
	min-width: 13rem;
	max-width: 100%;
	min-height: 2.5rem;
	padding: 0.35rem 2rem 0.35rem 0.65rem;
	border: 1px solid #c7c7c7;
	border-radius: 6px;
	background-color: #fff;
	color: #1e1e1e;
	font: inherit;
}

.lcw-floating {
	position: fixed;
	z-index: 99999;
	bottom: 18px;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 5px 22px rgba(0, 0, 0, 0.16);
}

.lcw-floating.lcw-bottom-right {
	right: 18px;
}

.lcw-floating.lcw-bottom-left {
	left: 18px;
}

.lcw-switcher-compact label {
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.lcw-switcher-compact select {
	min-width: 11rem;
	max-width: min(18rem, calc(100vw - 60px));
}

@media (max-width: 1024px) {
	.lcw-floating {
		bottom: calc(var(--lcw-mobile-avoidance, 0px) + 12px + env(safe-area-inset-bottom, 0px));
		max-width: calc(100vw - 24px);
		padding: 8px;
		box-sizing: border-box;
		transition: bottom 180ms ease-out;
	}

	.lcw-floating.lcw-bottom-right {
		right: 12px;
	}

	.lcw-floating.lcw-bottom-left {
		left: 12px;
	}

	.lcw-switcher-compact .lcw-label {
		display: none;
	}

	.lcw-floating .lcw-switcher,
	.lcw-floating .lcw-switcher label {
		width: auto !important;
		max-width: 100%;
	}

	.lcw-floating .lcw-switcher select {
		width: auto !important;
		min-width: 0;
		max-width: min(13rem, calc(100vw - 42px));
		min-height: 44px;
		padding: 0.45rem 2rem 0.45rem 0.7rem;
		font-size: 16px !important;
		line-height: 1.25;
		box-sizing: border-box;
	}
}

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