.dwbcs-carousel{
  width:100%;
  position:relative;
}

.dwbcs-viewport{
  overflow:hidden;
  width:100%;
  position:relative;
}

.dwbcs-track{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  will-change:transform;
  transform:translate3d(0,0,0);
}

.dwbcs-slide{
  flex:0 0 auto;
}

.dwbcs-link,
.dwbcs-link:hover{
  display:block;
  text-decoration:none;
}

.dwbcs-img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

/* Drag UX */
.dwbcs-carousel.is-drag-enabled .dwbcs-viewport{
  cursor:grab;
  touch-action:pan-y;
  -webkit-user-select:none;
  user-select:none;
}
.dwbcs-carousel.is-dragging .dwbcs-viewport{
  cursor:grabbing;
}

/* Arrows */
.dwbcs-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  background:#000;
  color:#fff;
  border:none;
  width:36px;
  height:36px;
  border-radius:50%;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:20;
  opacity:0.85;
  transition:opacity .2s ease, transform .2s ease;
}
.dwbcs-arrow:hover{ opacity:1; }
.dwbcs-prev{ left:8px; }
.dwbcs-next{ right:8px; }

@media (max-width:640px){
  .dwbcs-arrow{ display:none; }
}

/* Optional edge fade */
.dwbcs-carousel.has-fade::before,
.dwbcs-carousel.has-fade::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:56px;
  pointer-events:none;
  z-index:15;
}
.dwbcs-carousel.has-fade::before{
  left:0;
  background:linear-gradient(to right, var(--dwbcs-fade-color, #fff), rgba(255,255,255,0));
}
.dwbcs-carousel.has-fade::after{
  right:0;
  background:linear-gradient(to left, var(--dwbcs-fade-color, #fff), rgba(255,255,255,0));
}
