.ws-carousel-slide {
  position: relative;
  block-size: 100%;
  color: inherit;
}

.ws-carousel-slide__inner {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
  overflow: hidden;
  color: inherit;
  isolation: isolate;
}

.ws-carousel-slide__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  border-radius: inherit;
}

.ws-carousel-slide__background-layer {
  position: absolute;
  inset: 0;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  transition:
    transform 1200ms ease,
    opacity 700ms ease,
    filter 700ms ease;

  will-change:
    transform,
    opacity,
    filter;
}

.ws-carousel-slide__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.ws-carousel-slide__effects {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.ws-carousel-slide__content {
  position: relative;
  z-index: 5;
  inline-size: 100%;
  max-inline-size: var(--ws-carousel-slide-content-max, 560px);
  color: inherit;
}

.ws-carousel-slide--content-full .ws-carousel-slide__content {
  max-inline-size: 100%;
}

.ws-carousel-slide__overlay--gradient-bottom {
  background:
    linear-gradient(
      to top,
      rgb(0 0 0 / .75),
      transparent
    );
}

.ws-carousel-slide__overlay--gradient-top {
  background:
    linear-gradient(
      to bottom,
      rgb(0 0 0 / .75),
      transparent
    );
}

.ws-carousel-slide__overlay--dark {
  background:
    rgb(0 0 0 / .45);
}

.ws-carousel-slide__overlay--light {
  background:
    rgb(255 255 255 / .24);
}
.ws-carousel-slide__background-layer[class*="ws-image-"] {
  inline-size: 100%;
  block-size: 100%;
}

.ws-carousel-slide__background video,
.ws-carousel-slide__background iframe {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.ws-carousel-pro__card {
  position: relative;
}

.ws-carousel-pro__card,
.ws-carousel-slide,
.ws-carousel-slide__inner {
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
}

.ws-carousel-slide__background-layer {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.ws-carousel-pro__slide.is-active
.ws-carousel-slide__background-layer {
  transform: scale(1.04);
}

.ws-carousel-pro__slide.is-prev
.ws-carousel-slide__background-layer {
  transform: translateX(-2%) scale(1.01);
}

.ws-carousel-pro__slide.is-next
.ws-carousel-slide__background-layer {
  transform: translateX(2%) scale(1.01);
}

.ws-carousel-slide--layout-overlay .ws-carousel-slide__inner {
  display: flex;
  inline-size: 100%;
  min-block-size: inherit;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.ws-carousel-slide--pos-top-left .ws-carousel-slide__inner {
  align-items: flex-start;
  justify-content: flex-start;
}

.ws-carousel-slide--pos-top-center .ws-carousel-slide__inner {
  align-items: flex-start;
  justify-content: center;
}

.ws-carousel-slide--pos-top-right .ws-carousel-slide__inner {
  align-items: flex-start;
  justify-content: flex-end;
}

.ws-carousel-slide--pos-center-left .ws-carousel-slide__inner {
  align-items: center;
  justify-content: flex-start;
}

.ws-carousel-slide--pos-center .ws-carousel-slide__inner {
  align-items: center;
  justify-content: center;
}

.ws-carousel-slide--pos-center-right .ws-carousel-slide__inner {
  align-items: center;
  justify-content: flex-end;
}

.ws-carousel-slide--pos-bottom-left .ws-carousel-slide__inner {
  align-items: flex-end;
  justify-content: flex-start;
}

.ws-carousel-slide--pos-bottom-center .ws-carousel-slide__inner {
  align-items: flex-end;
  justify-content: center;
}

.ws-carousel-slide--pos-bottom-right .ws-carousel-slide__inner {
  align-items: flex-end;
  justify-content: flex-end;
}


.ws-carousel-slide--layout-centered .ws-carousel-slide__inner {
  display: grid;
  place-items: center;
  padding: clamp(2rem, 5vw, 5rem);
  text-align: center;
}

.ws-carousel-slide--layout-centered .ws-carousel-slide__content {
  margin-inline: auto;
}


.ws-carousel-slide--layout-card .ws-carousel-slide__inner {
  padding: clamp(1.5rem, 3vw, 3rem);
}


.ws-carousel-slide--layout-split .ws-carousel-slide__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.ws-carousel-slide--layout-split.ws-carousel-slide--media-left .ws-carousel-slide__content {
  order: 2;
}

.ws-carousel-slide--layout-split.ws-carousel-slide--media-right .ws-carousel-slide__content {
  order: 1;
}


.ws-carousel-slide--align-left {
  text-align: left;
}

.ws-carousel-slide--align-center {
  text-align: center;
}

.ws-carousel-slide--align-right {
  text-align: right;
}


.ws-carousel-slide--theme-inherit {
  color: inherit;
}

.ws-carousel-slide--theme-light {
  background: Canvas;
  color: CanvasText;
}

.ws-carousel-slide--theme-dark {
  background: CanvasText;
  color: Canvas;
}

.ws-carousel-slide__content > * {
  margin-block-start: 0;
}

.ws-carousel-slide__content > * + * {
  margin-block-start: 1rem;
}

.ws-carousel-slide__content .wp-block-buttons {
  margin-block-start: 1.5rem;
}


@media (max-width: 768px) {
  .ws-carousel-slide--layout-split .ws-carousel-slide__inner {
    grid-template-columns: 1fr;
  }

  .ws-carousel-slide__content {
    max-inline-size: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ws-carousel-slide,
  .ws-carousel-slide * {
    transition: none !important;
    animation: none !important;
  }
}

.ws-carousel-pro__slide {
  min-block-size: 520px;
}

.ws-carousel-slide,
.ws-carousel-slide__inner,
.ws-carousel-pro__card {
  inline-size: 100%;
  min-block-size: inherit;
}

.ws-carousel-slide__inner {
  display: flex;
  position: relative;
}

.ws-carousel-slide__background,
.ws-carousel-slide__background-layer {
  inline-size: 100%;
  block-size: 100%;
}

.ws-carousel-slide__background-layer {
  min-block-size: inherit;
}


.ws-carousel-pro__slide {
  min-block-size: 520px;
}

.ws-carousel-pro__card,
.ws-carousel-slide,
.ws-carousel-slide__inner {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
}

.ws-carousel-slide__inner {
  overflow: hidden;
  isolation: isolate;
}

.ws-carousel-slide__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
  overflow: hidden;
  border-radius: inherit;
}

.ws-carousel-slide__background-layer {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;

  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

  transition:
    transform 1200ms ease,
    opacity 700ms ease,
    filter 700ms ease;

  will-change: transform, opacity, filter;
}

.ws-carousel-slide__background video,
.ws-carousel-slide__background iframe {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.ws-carousel-slide__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.ws-carousel-slide__effects {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.ws-carousel-slide__content {
  position: relative;
  z-index: 5;
  inline-size: 100%;
  max-inline-size: var(--ws-carousel-slide-content-max, 560px);
  color: inherit;
}

.ws-carousel-slide--content-full .ws-carousel-slide__content {
  max-inline-size: 100%;
}

.ws-carousel-slide--layout-overlay .ws-carousel-slide__inner {
  display: flex;
  inline-size: 100%;
  min-block-size: inherit;
  padding: clamp(1.5rem, 4vw, 4rem);
}

.ws-carousel-slide--content-full .ws-carousel-slide__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ws-carousel-pro__slide {
  min-block-size: 520px;
}

.ws-carousel-pro__card,
.ws-carousel-slide,
.ws-carousel-slide__inner {
  position: relative;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
}

.ws-carousel-slide__inner {
  overflow: hidden;
  isolation: isolate;
}

.ws-carousel-slide__background {
  position: absolute;
  inset: 0;
  z-index: 0;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
}

.ws-carousel-slide__background-layer {
  position: absolute;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  min-block-size: inherit;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.ws-carousel-slide__overlay {
  z-index: 2;
}

.ws-carousel-slide__content {
  position: relative;
  z-index: 5;
}
