.ngba-slider{
  --ngba-pos:50%;
  --ngba-height:520px;
  --ngba-object-position:center center;
  position:relative;
  width:100%;
  height:var(--ngba-height);
  min-height:240px;
  overflow:hidden;
  border-radius:20px;
  background:#111;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  cursor:ew-resize;
  touch-action:none;
  user-select:none;
  isolation:isolate;
}
.ngba-slider:focus-visible{outline:3px solid rgba(237,48,43,.45);outline-offset:4px}
.ngba-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none!important;
  object-fit:cover;
  object-position:var(--ngba-object-position);
  pointer-events:none;
  user-select:none;
  display:block;
}
.ngba-after{z-index:1}
.ngba-before-wrap{
  position:absolute;
  inset:0 auto 0 0;
  width:var(--ngba-pos);
  height:100%;
  overflow:hidden;
  z-index:2;
}
.ngba-before{
  width:100vw;
  max-width:none!important;
}
.ngba-divider{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--ngba-pos);
  width:3px;
  background:#fff;
  transform:translateX(-50%);
  z-index:4;
  box-shadow:0 0 0 1px rgba(0,0,0,.08),0 0 20px rgba(0,0,0,.3);
}
.ngba-handle{
  position:absolute;
  top:50%;
  left:50%;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111;
  transform:translate(-50%,-50%);
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  transition:transform .2s ease,box-shadow .2s ease;
}
.ngba-slider:hover .ngba-handle,.ngba-slider.is-dragging .ngba-handle{transform:translate(-50%,-50%) scale(1.06);box-shadow:0 14px 38px rgba(0,0,0,.35)}
.ngba-label{
  position:absolute;
  top:20px;
  z-index:5;
  padding:9px 15px;
  border-radius:999px;
  color:#fff;
  font:700 14px/1.1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  letter-spacing:.01em;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  pointer-events:none;
  opacity:1;
  visibility:visible;
  transition:opacity .25s ease,visibility .25s ease,transform .25s ease;
}
.ngba-label-before{left:20px;background:rgba(10,13,18,.82);backdrop-filter:blur(8px)}
.ngba-label-after{right:20px;background:#ed302b}
.ngba-label.is-hidden{opacity:0;visibility:hidden}
.ngba-label-before.is-hidden{transform:translateX(-10px)}
.ngba-label-after.is-hidden{transform:translateX(10px)}
.ngba-tooltip{
  position:absolute;
  left:50%;
  bottom:24px;
  z-index:6;
  display:flex;
  align-items:center;
  gap:10px;
  max-width:calc(100% - 28px);
  padding:12px 18px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(10,13,18,.88);
  color:#fff;
  font:500 14px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:nowrap;
  transform:translateX(-50%);
  opacity:1;
  visibility:visible;
  pointer-events:none;
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  backdrop-filter:blur(10px);
  transition:opacity .35s ease,visibility .35s ease,transform .35s ease;
}
.ngba-tooltip-icon{color:#ed302b;font-size:20px;line-height:1}
.ngba-tooltip.is-hidden{opacity:0;visibility:hidden;transform:translate(-50%,10px)}
@media(max-width:767px){
  .ngba-slider{height:clamp(300px,72vw,520px);border-radius:14px}
  .ngba-label{top:12px;padding:8px 12px;font-size:12px}
  .ngba-label-before{left:12px}.ngba-label-after{right:12px}
  .ngba-handle{width:48px;height:48px}
  .ngba-tooltip{bottom:14px;padding:10px 14px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.ngba-handle,.ngba-label,.ngba-tooltip{transition:none}}
