/* PixVisualize Elementor preview markup.
 * Enqueued in the Elementor editor preview iframe (see
 * ElementorController::enqueuePreviewStyles()) so the static preview rendered
 * by PixVisualizeWidget::content_template() matches the front-end slider. */
.pixvisualize-elementor-preview {
	position: relative;
	overflow: hidden;
	background: #f1f3f5;
	border-radius: 4px;
}

.pixvisualize-elementor-preview__image {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
}

.pixvisualize-elementor-preview__after {
	z-index: 1;
}

.pixvisualize-elementor-preview__before {
	z-index: 2;
}

.pixvisualize-elementor-preview__handle {
	position: absolute;
	z-index: 3;
}

.pixvisualize-elementor-preview__handle--horizontal {
	top: 0;
	bottom: 0;
	left: var(--pc-pos, 50%);
	transform: translateX(-50%);
}

.pixvisualize-elementor-preview__handle--vertical {
	left: 0;
	right: 0;
	top: var(--pc-pos, 50%);
	transform: translateY(-50%);
}

.pixvisualize-elementor-preview__handle-line {
	background-color: #fff;
}

.pixvisualize-elementor-preview__handle-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	color: #666;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	border: none;
	box-shadow: none;
	overflow: hidden;
}

.pixvisualize-elementor-preview__handle-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pixvisualize-elementor-preview__handle-icon .pixvisualize-elementor-preview__arrows svg {
	fill: none;
	stroke: currentcolor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.pixvisualize-elementor-preview__arrows {
	display: block;
	font-size: 12px;
	line-height: 1;
}

.pixvisualize-elementor-preview__label {
	position: absolute;
	z-index: 4;
}

.pixvisualize-elementor-preview--empty {
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	text-align: center;
	color: #8c8f94;
	font-size: 14px;
}

.pixvisualize-elementor-preview[data-orientation="horizontal"] .pixvisualize-elementor-preview__before {
	clip-path: inset(0 calc(100% - var(--pc-pos, 50%)) 0 0);
}

.pixvisualize-elementor-preview[data-orientation="vertical"] .pixvisualize-elementor-preview__after {
	z-index: 2;
	clip-path: inset(0 0 calc(100% - var(--pc-pos, 50%)) 0);
}

.pixvisualize-elementor-preview[data-orientation="vertical"] .pixvisualize-elementor-preview__before {
	z-index: 1;
}

.pixvisualize-preview-magnifier {
	position: absolute;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #fff;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
	z-index: 8;
	pointer-events: none;
	display: none;
}

.pixvisualize-preview-magnifier__img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none !important;
	max-height: none !important;
	display: block;
	object-fit: cover;
}
