.vf-carousel {
  max-width: 100%;
  min-width: 100%;
  position: relative;
}

.vf-carousel-track {
  display: flex;
  column-gap: calc(12rem / var(--vf-font-size-rem-px));
  min-width: calc(100% - 88rem / var(--vf-font-size-rem-px));
  overflow: auto hidden;
  margin: 0 calc(44rem / var(--vf-font-size-rem-px));
  scroll-snap-type: x mandatory;
}

.vf-carousel-track > * {
  scroll-snap-align: start;
}

.vf-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.vf-carousel-prev,
.vf-carousel-next {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  background-color: rgb(231 231 231);
  border: 1px solid rgb(231 231 231);
  color: rgb(23 23 23);
  padding: 0;
  position: relative;
  overflow: hidden;
  width: calc(34rem / var(--vf-font-size-rem-px));
  aspect-ratio: 1 / 1;
  transition: all var(--vf-transition-duration) var(--vf-transition-easing);
}

.vf-carousel-prev:enabled:hover,
.vf-carousel-next:enabled:hover {
  cursor: pointer;
  background-color: rgb(189 30 30);
  border-color: rgb(189 30 30);
  color: rgb(255 255 255);
}

.vf-carousel-prev:disabled,
.vf-carousel-next:disabled {
  color: rgb(172 172 175);
  cursor: not-allowed;
}
