/* Strong scoping to beat Elementor specificity */
.elementor-widget-icy-image-compare .icy-compare{
	position: relative !important;
	width: 100% !important;
	overflow: hidden !important;
	user-select: none !important;
	touch-action: none !important;
	--pos: 50%;
}

/* Stop Elementor global img rules from interfering */
.elementor-widget-icy-image-compare .icy-compare__img{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	max-width: none !important;
}

.elementor-widget-icy-image-compare .icy-compare__img--before{
	z-index: 1 !important;
}

.elementor-widget-icy-image-compare .icy-compare__img--after{
	z-index: 2 !important;
	clip-path: inset(0 calc(100% - var(--pos)) 0 0) !important;
}

.elementor-widget-icy-image-compare .icy-compare__range{
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0 !important;
	cursor: ew-resize !important;
	z-index: 4 !important;

	/* IMPORTANT: fix RTL reversed drag behavior on mobile */
	direction: ltr !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle{
	position: absolute !important;
	top: 0 !important;
	left: var(--pos) !important;
	transform: translateX(-50%) !important;
	height: 100% !important;
	width: 0 !important;
	z-index: 3 !important;
	pointer-events: none !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle::before{
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	width: 2px !important;
	height: 100% !important;
	background: rgba(255,255,255,0.9) !important;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.15) !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle-knob{
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,0.95) !important;
	box-shadow: 0 6px 20px rgba(0,0,0,0.18) !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle-knob::before,
.elementor-widget-icy-image-compare .icy-compare__handle-knob::after{
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 0 !important;
	height: 0 !important;
	border-top: 7px solid transparent !important;
	border-bottom: 7px solid transparent !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle-knob::before{
	left: 12px !important;
	border-right: 9px solid rgba(0,0,0,0.55) !important;
}

.elementor-widget-icy-image-compare .icy-compare__handle-knob::after{
	right: 12px !important;
	border-left: 9px solid rgba(0,0,0,0.55) !important;
}
