/* Container picks up height from the "after" image */
.eba-before-after {
    position: relative;
    display: block; /* or block if you prefer full-width */
    overflow: hidden;       /* keep overflow hidden on the container */
  }
  
  /* "After" image wrapper stays static so container height = image height */
  .eba-after-image {
    position: relative;
  }
  .eba-after-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
  /* "Before" wrapper is clipped by width, but full-height of container */
  .eba-before-image {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    /* width: set dynamically by JS—don't give it a CSS width here */
  }
  
  /* Keep the before-image itself at natural aspect, but fill the wrapper's height */
  .eba-before-image img {
    position: absolute;
    top: 0;
    left: 0;
    width: auto !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover;
  }
  
  /* Separator & handle stay absolute as before */
  .eba-separator {
    position: absolute;
    top: 0;
    /* left is set by JS */
    transform: translateX(-50%);
    height: 100%;
  }
  .eba-handle {
    position: absolute;
    top: 50%;
    /* left is set by JS */
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }

  /* Label styles */
  .eba-label {
    position: absolute;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    z-index: 10;
    pointer-events: none;
    height: fit-content;
    width: fit-content;
  }

/* Remove default positions */
.eba-before-label,
.eba-after-label {
  top: unset;
  left: unset;
  right: unset;
  bottom: unset;
  margin: 0;
}

/* Horizontal orientation */
.eba-label[data-horizontal="left"] {
  left: 0;
  transform: translateX(0);
}
.eba-label[data-horizontal="center"] {
  left: 50%;
  transform: translateX(-50%);
}
.eba-label[data-horizontal="right"] {
  right: 0;
  transform: translateX(0);
}

/* Vertical orientation */
.eba-label[data-vertical="top"] {
  top: 0;
  transform: translateY(0);
}
.eba-label[data-vertical="center"] {
  top: 50%;
  transform: translateY(-50%);
}
.eba-label[data-vertical="bottom"] {
  bottom: 0;
  transform: translateY(0);
}

/* Combined center-center */
.eba-label[data-horizontal="center"][data-vertical="center"] {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* If both horizontal and vertical are set, combine transforms */
.eba-label[data-horizontal="center"][data-vertical="top"] {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.eba-label[data-horizontal="center"][data-vertical="bottom"] {
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
.eba-label[data-horizontal="left"][data-vertical="center"] {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.eba-label[data-horizontal="right"][data-vertical="center"] {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}