.splide {
  --default-padding: 1rem;

  /* Calculate track width */
  --track-width-full: 100%;
  --track-width-contained: calc(100% - var(--default-padding) * 2);
  --track-width: min(var(--track-width-full), var(--track-width-contained));
  --padding-width: calc((100% - var(--track-width)) / 2);

  /* Calculate slide width */
  --items-rounded: round(up, var(--items));
  --gaps: calc(var(--items-rounded) - 1);
  --gaps-width-total: calc((var(--gaps) * var(--gap)));

}

/* Responsive adjustments */
.splide {
  --track-width-full: calc(100% + var(--default-padding) * 2);
  --items: var(--items-xs);
  --gap: var(--gap-xs);
}
@media (min-width: 576px) {
  .splide {
    --track-width-full: 516px;
    --items: var(--items-sm);
    --gap: var(--gap-sm);
  }
}
@media (min-width: 768px) {
  .splide {
    --track-width-full: 696px;
    --items: var(--items-md);
    --gap: var(--gap-md);
  }
}
@media (min-width: 992px) {
  .splide {
    --track-width-full: 936px;
    --items: var(--items-lg);
    --gap: var(--gap-lg);
  }
}
@media (min-width: 1200px) {
  .splide {
    --track-width-full: 1116px;
    --items: var(--items-xl);
    --gap: var(--gap-xl);
  }
}
@media (min-width: 1400px) {
  .splide {
    --track-width-full: 1296px;
    --items: var(--items-xxl);
    --gap: var(--gap-xxl);
  }
}

/* Safari performance fixes */
.splide__list {
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

/* Slide width calculation */
.splide__slide {
  width: calc((100% - var(--gaps-width-total)) / var(--items));
}

.splide[data-items="auto"] .splide__slide {
  width: auto;
}


/* Centre when fit */
.splide[data-center-when-fit="true"]:not(.is-overflow) .splide__list {
    justify-content: center;
}



/* Buttons */

.splideButtons {
  padding: 0 var(--padding-width);
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: flex-end;
  margin-top: 1rem;
}

.splide:not(.is-overflow) .splideButtons {
  display: none;
}

.splideButtons button {
  background: none;
  border: none;
  padding: 0;
}
