.dsbc-section {
  margin: 2rem 0;
}

.dsbc-section-title {
  margin: 0 0 1.5rem;
}

.dsbc-title-left {
  text-align: left;
}

.dsbc-title-center {
  text-align: center;
}

.dsbc-title-right {
  text-align: right;
}

.dsbc-slider {
  position: relative;
  --dsbc-per-view: var(--dsbc-per-view-desktop, 6);
  --dsbc-space: clamp(8px, 2.2vw, 24px);
}

@media (max-width: 991px) {
  .dsbc-slider {
    --dsbc-per-view: var(--dsbc-per-view-tablet, 4);
  }
}

@media (max-width: 767px) {
  .dsbc-slider {
    --dsbc-per-view: var(--dsbc-per-view-mobile, 2);
  }
}

.dsbc-slider.swiper,
.dsbc-slider .swiper-wrapper,
.dsbc-slider .swiper-slide {
  height: auto;
}

.dsbc-slider .swiper-wrapper {
  align-items: stretch;
}

.dsbc-slider.dsbc-center .swiper-wrapper {
  justify-content: center;
}

.dsbc-slider:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  gap: var(--dsbc-space, 20px);
}

.dsbc-slider:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 auto;
  width: calc((100% - (var(--dsbc-per-view, 1) - 1) * var(--dsbc-space, 20px)) / var(--dsbc-per-view, 1));
  height: auto;
}

.dsbc-slider[data-dsbc-engine="bootstrap"] .carousel-inner {
  display: block;
  overflow: hidden;
  width: 100%;
}

.dsbc-slider[data-dsbc-engine="bootstrap"] .dsbc-track {
  display: flex;
  gap: var(--dsbc-space, 20px);
  transition: transform 0.45s ease;
  will-change: transform;
}

.dsbc-slider.dsbc-carousel-ready .carousel-inner {
  display: block;
}

.dsbc-items-source {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dsbc-space, 20px);
  justify-content: center;
}

.dsbc-carousel-ready .dsbc-items-source {
  display: none;
}

.dsbc-carousel-item {
  flex: 0 0 auto;
}

.dsbc-slider[data-dsbc-engine="bootstrap"] .dsbc-track .dsbc-carousel-item {
  width: calc((100% - (var(--dsbc-per-view, 1) - 1) * var(--dsbc-space, 20px)) / var(--dsbc-per-view, 1));
  flex: 0 0 auto;
}

.dsbc-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.dsbc-link:hover,
.dsbc-link:focus {
  text-decoration: none;
}

.dsbc-item {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
  width: 100%;
}

.dsbc-thumb {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: var(--dsbc-radius, 0);
  border: var(--dsbc-border-width, 0) solid var(--dsbc-border-color, #ddd);
  overflow: hidden;
  display: block;
  box-sizing: border-box;
}

.dsbc-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: inherit;
  display: block;
}

.dsbc-title {
  margin: 0;
}

.dsbc-slider .swiper-button-next,
.dsbc-slider .swiper-button-prev {
  color: #111;
}

.dsbc-slider .swiper-pagination-bullet {
  background: #111;
  opacity: 0.4;
}

.dsbc-slider .swiper-pagination-bullet-active {
  opacity: 1;
}
