.csp-carousel.swiper-container {
  overflow: hidden;
}

.csp-carousel .csp-carousel__track {
  display: flex;
  flex-wrap: nowrap;
  overflow: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  box-sizing: border-box;
  transform: none !important;
  transition: none !important;
}

.csp-carousel .csp-carousel__track::-webkit-scrollbar {
  display: none;
}

.csp-carousel--vertical .csp-carousel__track {
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  height: 100%;
}

.csp-carousel--no-touch .csp-carousel__track {
  overflow: hidden;
  pointer-events: none;
  touch-action: none;
}

.csp-carousel .swiper-slide {
  flex-shrink: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  width: auto !important;
  height: auto !important;
  margin-right: 0 !important;
  transform: none !important;
}

.csp-carousel[data-slides-per-view="1"] .swiper-slide {
  flex: 0 0 100%;
  max-width: 100%;
}

.csp-carousel[data-slides-per-view="2"] .swiper-slide {
  flex: 0 0 calc((100% - var(--csp-space-between, 0px)) / 2);
  max-width: calc((100% - var(--csp-space-between, 0px)) / 2);
  margin-right: var(--csp-space-between, 0px);
}

.csp-carousel[data-slides-per-view="2"] .swiper-slide:last-child {
  margin-right: 0;
}

.csp-carousel[data-slides-per-view="3"] .swiper-slide {
  flex: 0 0 calc((100% - 2 * var(--csp-space-between, 0px)) / 3);
  max-width: calc((100% - 2 * var(--csp-space-between, 0px)) / 3);
  margin-right: var(--csp-space-between, 0px);
}

.csp-carousel[data-slides-per-view="3"] .swiper-slide:last-child {
  margin-right: 0;
}

.csp-carousel[data-space-between="20"] {
  --csp-space-between: 20px;
}

.csp-carousel[data-space-between="30"] {
  --csp-space-between: 30px;
}

.csp-carousel[data-space-between="0"] {
  --csp-space-between: 0px;
}

.csp-carousel--vertical .swiper-slide {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100% !important;
}

.csp-carousel__pagination.swiper-pagination-bullets,
#kv_pagination.swiper-pagination-bullets,
#mj_pagination.swiper-pagination-bullets {
  text-align: center;
}

.swiper-pagination-bullets .swiper-pagination-bullet {
  display: inline-block;
  border-radius: 50%;
  vertical-align: middle;
}

#kv_swiper .swiper-slide iframe {
  height: 100%;
}

#mj_swiper.csp-carousel[data-slides-per-view="1"] .swiper-slide {
  flex: 0 0 100%;
  width: 100% !important;
  max-width: 100%;
}

#mj_swiper.csp-carousel[data-slides-per-view="3"] .swiper-slide {
  flex: 0 0 calc(100% / 3);
  width: calc(100% / 3) !important;
  max-width: calc(100% / 3);
  margin-right: 0 !important;
}

#mj_swiper.csp-carousel .swiper-slide .mj_box {
  width: 100%;
  max-width: none;
}
