/* ── Dondi Carousel – Public Styles ────────────────────── */
.dondi-carousel-wrap {
  --dc-height:   320px;
  --dc-height-laptop: 300px;
  --dc-height-tablet: 260px;
  --dc-height-mobile: 220px;
  --dc-gap:      12px;
  --dc-visible:  4;
  --dc-visible-laptop: 3;
  --dc-visible-tablet: 2;
  --dc-visible-mobile: 1;
  --dc-overlay:  rgba(0,0,0,0.4);
  --dc-title-c:  #ffffff;
  --dc-title-sz: 18px;
  --dc-title-sz-mobile: 16px;
  --dc-valign:   flex-start;
  --dc-radius:   0px;
  --dc-font:     'Poppins', sans-serif;
  position: relative;
  width: 100%;
}

/* ── Track wrapper ───────────────────────────────────── */
.dondi-carousel__track-wrap {
  position: relative;
  width: 100%;
}

.dondi-carousel-wrap,
.dondi-carousel__track-wrap,
.dondi-carousel__viewport,
.dondi-carousel__track {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}

.dondi-carousel-wrap {
  padding-left: 0;
  padding-right: 0;
}

/* ── Viewport ─────────────────────────────────────────── */
.dondi-carousel__viewport {
  overflow: hidden;
  width: 100%;
  min-width: 0;
}

/* ── Track ────────────────────────────────────────────── */
.dondi-carousel__track {
  display: flex;
  gap: var(--dc-gap);
  transition: transform .45s cubic-bezier(.4,0,.2,1);
  will-change: transform;
  padding-left: 0;
  padding-right: 0;
}

/* ── Slide ────────────────────────────────────────────── */
.dondi-carousel__slide {
  flex: 0 0 calc((100% - var(--dc-gap) * (var(--dc-visible) - 1)) / var(--dc-visible));
  height: var(--dc-height);
  border-radius: var(--dc-radius);
  overflow: hidden;
  position: relative;
  display: flex;
  align-items: var(--dc-valign);
  justify-content: center;
  text-decoration: none;
  cursor: default;
}
a.dondi-carousel__slide { cursor: pointer; }


/* ── Background image ────────────────────────────────── */
.dondi-carousel__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .5s ease;
  z-index: 0;
}

/* ── Overlay ─────────────────────────────────────────── */
.dondi-carousel__overlay {
  position: absolute;
  inset: 0;
  background: var(--dc-overlay);
  z-index: 1;
}

/* ── Caption ─────────────────────────────────────────── */
.dondi-carousel__caption {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 14px 16px;
  text-align: center;
}
.dondi-carousel__title {
  font-family: var(--dc-font);
  font-size: var(--dc-title-sz);
  font-weight: var(--dc-title-weight);
  color: var(--dc-title-c);
  line-height: 1.3;
  display: block;
  text-shadow: none;
}

/* ── Nav arrows ──────────────────────────────────────── */
.dondi-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: #f2f2f2;
  backdrop-filter: blur(4px);
  color: #808080;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: none;
  padding: 8px;
}

.dondi-carousel__nav svg {
  width: 24px !important;
  height: 24px !important;
  stroke: #333;
}

.dondi-carousel__nav--prev {
  left: 12px;
  margin-right: 0;
}

.dondi-carousel__nav--next {
  right: 12px;
  margin-left: 0;
}

.dondi-carousel__nav:disabled {
  opacity: .3;
  pointer-events: none;
}

/* ── Responsive ───────────────────────────────────────── */
@media (max-width: 1280px) {
  .dondi-carousel__slide {
    flex: 0 0 calc((100% - var(--dc-gap) * (var(--dc-visible-laptop) - 1)) / var(--dc-visible-laptop));
    height: var(--dc-height-laptop);
  }
}

@media (max-width: 1024px) {
  .dondi-carousel__slide {
    flex: 0 0 calc((100% - var(--dc-gap) * (var(--dc-visible-tablet) - 1)) / var(--dc-visible-tablet));
    height: var(--dc-height-tablet);
  }
}

@media (max-width: 640px) {
  .dondi-carousel__slide {
    flex: 0 0 calc((100% - var(--dc-gap) * (var(--dc-visible-mobile) - 1)) / var(--dc-visible-mobile));
    height: var(--dc-height-mobile);
  }
  .dondi-carousel__title { font-size: var(--dc-title-sz-mobile); }
  .dondi-carousel__nav { width: 28px; height: 28px; }
}
