.ba-slider-143-wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.ba-slider-143-container {
	position: relative;
	width: 100%;
	/* Aspect ratio or height control could be added, defaulting to auto based on image */
	display: flex;
}

.ba-slider-143-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.ba-slider-143-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
	display: block;
}

.ba-slider-143-after {
	position: relative;
	z-index: 1;
}

.ba-slider-143-before {
	z-index: 2;
}

/* Ensure the before image container shrinks, but the image inside doesn't scale down, it gets cropped */
.ba-slider-143-before img {
	width: auto;
	min-width: 100vw; /* This is a bit tricky, needs JS to set actual parent width or rely on absolute positioning */
	/* Alternative approach: use max-width: none and let JS handle width, but we use a simpler trick: */
}

/* The correct way to handle the before image is to set the wrapper width, and let the image have fixed dimensions matching the container. Let's adjust JS for this. */
/* Actually, Elementor widget is contained, so we can use container width */

.ba-slider-143-label {
	position: absolute;
	bottom: 20px;
	padding: 8px 16px;
	color: #fff;
	background: rgba(0,0,0,0.5);
	font-weight: bold;
	z-index: 3;
	border-radius: 4px;
	pointer-events: none;
}

.ba-slider-143-label-before {
	left: 20px;
}

.ba-slider-143-label-after {
	right: 20px;
}

.ba-slider-143-handle-wrap {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 4;
	pointer-events: none;
	transform: translateX(-50%);
}

.ba-slider-143-divider {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 4px;
	background: #fff;
	transform: translateX(-50%);
}

.ba-slider-143-handle {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	height: 40px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.ba-slider-143-handle svg {
	width: 16px;
	height: 16px;
	color: #333;
}

.ba-slider-143-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	z-index: 5;
	cursor: ew-resize;
	margin: 0;
}