.usl-slider { position: relative; overflow: hidden; width: 100%; }
.usl-slider-track { display:flex; width:100%; height:100%; transition: transform 500ms ease; will-change: transform; }
.usl-slide { min-width:100%; height:100%; position:relative; background-size:cover; background-position:center; background-repeat:no-repeat; }
.usl-slide-overlay { position:absolute; inset:0; }
.usl-slide-inner { position:relative; z-index:2; padding:80px 6vw; height:100%; display:flex; align-items:center; box-sizing:border-box; }

.usl-box {
  max-width:560px;
  background: var(--box-bg, rgba(0,0,0,0.45));
  border: 1px solid var(--box-border, rgba(255,255,255,0.18));
  backdrop-filter: blur(10px);
  border-radius:18px;
  padding:22px;
  color: var(--box-text, #fff);
  box-sizing:border-box;
}
.usl-box.right { margin-left:auto; }
.usl-box.center { margin-left:auto; margin-right:auto; }

.usl-title { font-size:clamp(26px,3vw,42px); line-height:1.1; margin:0 0 10px; }
.usl-text { font-size:16px; line-height:1.5; margin:0 0 16px; opacity:.92; }
.usl-cta {
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:12px;
  text-decoration:none;
  background: var(--cta-bg, #fff);
  color: var(--cta-text, #111);
  font-weight:600;
}

.usl-nav { position:absolute; inset:auto 0 18px 0; display:flex; justify-content:center; gap:8px; z-index:3; }
.usl-dot { width:9px; height:9px; border-radius:999px; background:rgba(255,255,255,0.45); border:1px solid rgba(255,255,255,0.25); cursor:pointer; }
.usl-dot.is-active { background:rgba(255,255,255,0.95); }

.usl-arrows { position:absolute; inset:0; z-index:3; pointer-events:none; }
.usl-arrow {
  pointer-events:all;
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.25);
  background:rgba(0,0,0,0.35);
  color:#fff;
  cursor:pointer;
}
.usl-arrow.prev { left:18px; }
.usl-arrow.next { right:18px; }

.usl-slider[data-config*='"vertical":true'] .usl-slider-track {
  flex-direction: column;
}
.usl-slider[data-config*='"vertical":true'] .usl-slide {
  width:100%;
  min-width:100%;
  flex: 0 0 100%;
}

@media (max-width:720px){
  .usl-slide-inner { padding:28px 18px 56px; }
  .usl-box { max-width:100%; }
  .usl-arrow { width:38px; height:38px; }
  .usl-arrow.prev { left:10px; }
  .usl-arrow.next { right:10px; }
}
