/* Make each widget behave like a real block */
.ba-widget {
  display: block;
  width: 100%;
  position: relative;
  margin-bottom: 40px; /* spacing between sliders */
}

/* Prevent stacking overlap */
.ba-slider {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* Ensure Elementor container respects height */
.elementor-widget-ba_slider {
  width: 100%;
}
.ba-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* Bottom image */
.ba-slider img:first-of-type {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Top image (After) */
.ba-slider img:nth-of-type(2) {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: 2;

  clip-path: inset(0 0 0 var(--ba-pos));
}

/* Divider line */
.ba-slider::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--ba-pos);
  height: 100%;
  width: 2px;
  background: #fff;
  transform: translateX(-1px);
  z-index: 3;
}
.ba-handle {
  position: absolute;
  top: 50%;
  left: var(--ba-pos);
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  background: #fff;
  border-radius: 999px;
  z-index: 5;
  box-shadow: 0 10px 25px rgba(0,0,0,.25);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* Arrow icon */
.ba-handle::before {
  content: "↔";
  font-size: 20px;
  color: #333;
}