.elementor-widget-before-after-slider {
	width: 100%;
	min-width: 0;
}

.elementor-widget-before-after-slider > .elementor-widget-container {
	width: 100%;
	min-width: 0;
}

.ba-slider {
	--ba-slider-height: 500px;
	--ba-slider-position: 50%;
	--ba-slider-label-offset: 18px;
	--ba-slider-handle-size: 48px;
	--ba-slider-line-width: 3px;
	position: relative;
	isolation: isolate;
	width: 100%;
	height: var(--ba-slider-height);
	min-width: 0;
	min-height: 1px;
	overflow: hidden;
	background: #e5e7eb;
	cursor: ew-resize;
	touch-action: pan-y;
	-webkit-user-select: none;
	user-select: none;
}

.ba-slider--ratio-1-1,
.ba-slider--ratio-4-3,
.ba-slider--ratio-3-2,
.ba-slider--ratio-16-9,
.ba-slider--ratio-9-16,
.ba-slider--ratio-3-4,
.ba-slider--ratio-custom {
	height: auto;
}

.ba-slider--ratio-1-1 { aspect-ratio: 1 / 1; }
.ba-slider--ratio-4-3 { aspect-ratio: 4 / 3; }
.ba-slider--ratio-3-2 { aspect-ratio: 3 / 2; }
.ba-slider--ratio-16-9 { aspect-ratio: 16 / 9; }
.ba-slider--ratio-9-16 { aspect-ratio: 9 / 16; }
.ba-slider--ratio-3-4 { aspect-ratio: 3 / 4; }
.ba-slider--ratio-custom { aspect-ratio: var(--ba-slider-custom-ratio, 16 / 9); }

.ba-slider--direction-before-top,
.ba-slider--direction-before-bottom {
	cursor: ns-resize;
	touch-action: pan-x;
}

.ba-slider__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ba-slider__image--after {
	z-index: 1;
}

.ba-slider__image--before {
	z-index: 2;
}

.ba-slider.is-dragging .ba-slider__image--before {
	will-change: clip-path;
}

.ba-slider--direction-before-left .ba-slider__image--before {
	clip-path: inset(0 calc(100% - var(--ba-slider-position)) 0 0);
}

.ba-slider--direction-before-right .ba-slider__image--before {
	clip-path: inset(0 0 0 var(--ba-slider-position));
}

.ba-slider--direction-before-top .ba-slider__image--before {
	clip-path: inset(0 0 calc(100% - var(--ba-slider-position)) 0);
}

.ba-slider--direction-before-bottom .ba-slider__image--before {
	clip-path: inset(var(--ba-slider-position) 0 0 0);
}

.ba-slider .ba-slider__image img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: var(--ba-slider-pos-x, 50%) var(--ba-slider-pos-y, 50%);
	transform: scale(var(--ba-slider-zoom, 100%));
	transform-origin: var(--ba-slider-pos-x, 50%) var(--ba-slider-pos-y, 50%);
	pointer-events: none;
}

.ba-slider__label {
	position: absolute;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	max-width: calc(50% - (var(--ba-slider-label-offset) * 1.5));
	padding: 7px 11px;
	border-radius: 3px;
	background-color: rgb(0 0 0 / 62%);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	word-break: break-word;
	pointer-events: none;
}

.ba-slider--direction-before-left .ba-slider__label--before,
.ba-slider--direction-before-right .ba-slider__label--after {
	top: var(--ba-slider-label-offset);
	left: var(--ba-slider-label-offset);
}

.ba-slider--direction-before-left .ba-slider__label--after,
.ba-slider--direction-before-right .ba-slider__label--before {
	top: var(--ba-slider-label-offset);
	right: var(--ba-slider-label-offset);
	text-align: right;
}

.ba-slider--direction-before-top .ba-slider__label--before,
.ba-slider--direction-before-bottom .ba-slider__label--after {
	top: var(--ba-slider-label-offset);
	left: var(--ba-slider-label-offset);
	max-width: calc(100% - (var(--ba-slider-label-offset) * 2));
}

.ba-slider--direction-before-top .ba-slider__label--after,
.ba-slider--direction-before-bottom .ba-slider__label--before {
	bottom: var(--ba-slider-label-offset);
	left: var(--ba-slider-label-offset);
	max-width: calc(100% - (var(--ba-slider-label-offset) * 2));
}

.ba-slider__divider,
.ba-slider__handle {
	position: absolute;
	z-index: 6;
	pointer-events: none;
}

.ba-slider__divider {
	color: #fff;
}

.ba-slider--direction-before-left .ba-slider__divider,
.ba-slider--direction-before-right .ba-slider__divider {
	top: 0;
	left: var(--ba-slider-position);
	height: 100%;
	transform: translateX(-50%);
}

.ba-slider--direction-before-top .ba-slider__divider,
.ba-slider--direction-before-bottom .ba-slider__divider {
	top: var(--ba-slider-position);
	left: 0;
	width: 100%;
	transform: translateY(-50%);
}

.ba-slider__divider-line {
	display: block;
	background: currentColor;
	box-shadow: 0 0 2px rgb(0 0 0 / 25%);
}

.ba-slider--direction-before-left .ba-slider__divider-line,
.ba-slider--direction-before-right .ba-slider__divider-line {
	width: var(--ba-slider-line-width);
	height: 100%;
}

.ba-slider--direction-before-top .ba-slider__divider-line,
.ba-slider--direction-before-bottom .ba-slider__divider-line {
	width: 100%;
	height: var(--ba-slider-line-width);
}

.ba-slider__handle {
	width: var(--ba-slider-handle-size);
	height: var(--ba-slider-handle-size);
	border: 3px solid #fff;
	border-radius: 50%;
	background-color: rgb(0 0 0 / 15%);
	box-shadow: 0 2px 8px rgb(0 0 0 / 24%);
	color: #fff;
	transform: translate(-50%, -50%);
	pointer-events: auto;
	cursor: ew-resize;
}

.ba-slider--direction-before-left .ba-slider__handle,
.ba-slider--direction-before-right .ba-slider__handle {
	top: 50%;
	left: var(--ba-slider-position);
}

.ba-slider--direction-before-top .ba-slider__handle,
.ba-slider--direction-before-bottom .ba-slider__handle {
	top: var(--ba-slider-position);
	left: 50%;
	cursor: ns-resize;
}

.ba-slider--icon-arrows .ba-slider__handle::before,
.ba-slider--icon-arrows .ba-slider__handle::after {
	content: "";
	position: absolute;
	width: calc(var(--ba-slider-handle-size) * 0.16);
	height: calc(var(--ba-slider-handle-size) * 0.16);
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
}

.ba-slider--direction-before-left.ba-slider--icon-arrows .ba-slider__handle::before,
.ba-slider--direction-before-right.ba-slider--icon-arrows .ba-slider__handle::before {
	top: 50%;
	left: 28%;
	transform: translateY(-50%) rotate(-45deg);
}

.ba-slider--direction-before-left.ba-slider--icon-arrows .ba-slider__handle::after,
.ba-slider--direction-before-right.ba-slider--icon-arrows .ba-slider__handle::after {
	top: 50%;
	right: 28%;
	transform: translateY(-50%) rotate(135deg);
}

.ba-slider--direction-before-top.ba-slider--icon-arrows .ba-slider__handle::before,
.ba-slider--direction-before-bottom.ba-slider--icon-arrows .ba-slider__handle::before {
	top: 27%;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
}

.ba-slider--direction-before-top.ba-slider--icon-arrows .ba-slider__handle::after,
.ba-slider--direction-before-bottom.ba-slider--icon-arrows .ba-slider__handle::after {
	bottom: 27%;
	left: 50%;
	transform: translateX(-50%) rotate(-135deg);
}

.ba-slider__handle-custom-icon {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
	font-size: calc(var(--ba-slider-handle-size) * 0.42);
	line-height: 1;
}

.ba-slider__handle-custom-icon i,
.ba-slider__handle-custom-icon svg {
	display: block;
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.ba-slider__handle:focus-visible,
.ba-slider__fullscreen:focus-visible {
	outline: 3px solid #2563eb;
	outline-offset: 4px;
}

.ba-slider.is-dragging,
.ba-slider.is-dragging .ba-slider__handle {
	cursor: grabbing;
}

.ba-slider.is-snapping .ba-slider__image--before {
	transition: clip-path 180ms ease;
}

.ba-slider.is-snapping .ba-slider__divider,
.ba-slider.is-snapping .ba-slider__handle {
	transition: left 180ms ease, top 180ms ease;
}

.ba-slider__fullscreen {
	position: absolute;
	right: 14px;
	bottom: 14px;
	z-index: 8;
	display: grid;
	width: 38px;
	height: 38px;
	padding: 8px;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 55%);
	border-radius: 4px;
	background: rgb(0 0 0 / 58%);
	color: #fff;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ba-slider__fullscreen:hover {
	background: rgb(0 0 0 / 78%);
}

.ba-slider__fullscreen svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ba-slider:fullscreen,
.ba-slider.is-fullscreen-fallback {
	width: 100vw !important;
	height: 100vh !important;
	max-width: none !important;
	max-height: none !important;
	border-radius: 0 !important;
	aspect-ratio: auto !important;
	background: #111;
}

.ba-slider.is-fullscreen-fallback {
	position: fixed;
	inset: 0;
	z-index: 2147483647;
}

body.ba-slider-fullscreen-open {
	overflow: hidden;
}

.ba-slider-preset-minimal .ba-slider__label {
	background: transparent !important;
	color: #fff !important;
	text-shadow: 0 1px 4px rgb(0 0 0 / 80%);
}

.ba-slider-preset-minimal .ba-slider__handle {
	background: transparent !important;
	box-shadow: none !important;
}

.ba-slider-preset-dark .ba-slider__label,
.ba-slider-preset-dark .ba-slider__fullscreen {
	background: rgb(0 0 0 / 82%) !important;
	color: #fff !important;
}

.ba-slider-preset-dark .ba-slider__handle {
	background: rgb(0 0 0 / 72%) !important;
	color: #fff !important;
}

.ba-slider-preset-light .ba-slider__label,
.ba-slider-preset-light .ba-slider__fullscreen {
	border-color: rgb(17 24 39 / 30%) !important;
	background: rgb(255 255 255 / 88%) !important;
	color: #111827 !important;
}

.ba-slider-preset-light .ba-slider__handle {
	border-color: #fff !important;
	background: rgb(255 255 255 / 86%) !important;
	color: #111827 !important;
}

.ba-slider-preset-light .ba-slider__divider {
	color: #111827 !important;
}

.ba-slider__editor-note {
	padding: 24px;
	border: 1px dashed #9ca3af;
	background: #f9fafb;
	color: #374151;
	text-align: center;
}

@media (prefers-reduced-motion: reduce) {
	.ba-slider__image--before,
	.ba-slider__divider,
	.ba-slider__handle {
		transition: none !important;
	}
}
