/* Fit Content Carousel — nested slides sized to content */

.elementor-widget-mp-fc-carousel {
  --mp-fc-carousel-swiper-slides-gap: 10px;
  --mp-fc-carousel-swiper-pagination-size: 0;
  --mp-fc-carousel-swiper-pagination-spacing: 10px;
  --mp-fc-carousel-swiper-offset-size: 0;
  --mp-fc-carousel-arrow-prev-top-align: 50%;
  --mp-fc-carousel-arrow-prev-top-position: 0px;
  --mp-fc-carousel-arrow-prev-caption-spacing: 15px;
  --mp-fc-carousel-arrow-next-top-align: 50%;
  --mp-fc-carousel-arrow-next-top-position: 0px;
  --mp-fc-carousel-arrow-next-caption-spacing: 15px;
  --mp-fc-carousel-arrow-prev-left-align: 0px;
  --mp-fc-carousel-arrow-prev-left-position: 0px;
  --mp-fc-carousel-arrow-next-right-align: 0px;
  --mp-fc-carousel-arrow-next-right-position: 0px;
  --mp-fc-carousel-arrow-next-translate-x: 0px;
  --mp-fc-carousel-arrow-next-translate-y: 0px;
  --mp-fc-carousel-arrow-prev-translate-x: 0px;
  --mp-fc-carousel-arrow-prev-translate-y: 0px;
  --mp-fc-carousel-swiper-padding-bottom: calc(
    var(--mp-fc-carousel-swiper-pagination-size) + var(--mp-fc-carousel-swiper-pagination-spacing)
  );
  --mp-fc-carousel-dots-vertical-position: 100%;
  --mp-fc-carousel-dots-vertical-offset: 0px;
  --mp-fc-carousel-dots-horizontal-position: 50%;
  --mp-fc-carousel-dots-horizontal-offset: 0px;
  --mp-fc-carousel-dots-horizontal-transform: -50%;
  --mp-fc-carousel-dots-vertical-transform: -100%;
  --mp-fc-carousel-fraction-vertical-position: 100%;
  --mp-fc-carousel-fraction-vertical-offset: 0px;
  --mp-fc-carousel-fraction-horizontal-position: 50%;
  --mp-fc-carousel-fraction-horizontal-offset: 0px;
  --mp-fc-carousel-fraction-horizontal-transform: -50%;
  --mp-fc-carousel-fraction-vertical-transform: -100%;
  height: fit-content;
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel {
  display: flex;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel > .swiper-wrapper > .swiper-slide-active.elementor-edit-area-active {
  overflow: initial;
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel.offset-left {
  padding-inline-start: var(--mp-fc-carousel-swiper-offset-size, 0);
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel.offset-both,
.elementor-widget-mp-fc-carousel .mp-fc-carousel.offset-right {
  padding-inline-end: var(--mp-fc-carousel-swiper-offset-size, 0);
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel.offset-both {
  padding-inline-start: var(--mp-fc-carousel-swiper-offset-size, 0);
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel > .swiper-wrapper .swiper-slide a.e-con {
  display: var(--display);
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel > .swiper-wrapper > .swiper-slide {
  flex-shrink: 0;
  width: fit-content;
  max-width: 100%;
  height: var(--mp-fc-carousel-slide-height, initial);
  box-sizing: border-box;
}

.elementor-widget-mp-fc-carousel .mp-fc-carousel > .swiper-wrapper > .swiper-slide > .e-con {
  width: fit-content;
  max-width: 100%;
  height: var(--mp-fc-carousel-slide-container-height, initial);
}

.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-next,
.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-prev {
  border-style: var(--mp-fc-carousel-arrow-normal-border-type);
  color: var(--mp-fc-carousel-arrow-normal-color, hsla(0, 0%, 93.3%, 0.9));
  font-size: var(--mp-fc-carousel-arrow-size, 25px);
  transition-duration: 0.25s;
  z-index: 2;
}

.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-next svg,
.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-prev svg {
  fill: var(--mp-fc-carousel-arrow-normal-color, hsla(0, 0%, 93.3%, 0.9));
}

.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-next:hover,
.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover {
  border-style: var(--mp-fc-carousel-arrow-hover-border-type);
  color: var(--mp-fc-carousel-arrow-hover-color, hsla(0, 0%, 93.3%, 0.9));
}

.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-next:hover svg,
.elementor-widget-mp-fc-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover svg {
  fill: var(--mp-fc-carousel-arrow-hover-color, hsla(0, 0%, 93.3%, 0.9));
}

.elementor-widget-mp-fc-carousel.elementor-element :is(.swiper, .swiper-container) ~ .elementor-swiper-button-next {
  right: calc(var(--mp-fc-carousel-arrow-next-right-align) + var(--mp-fc-carousel-arrow-next-right-position));
  top: calc(
    var(--mp-fc-carousel-arrow-next-top-align) + var(--mp-fc-carousel-arrow-next-top-position) -
      var(--mp-fc-carousel-arrow-next-caption-spacing)
  );
  transform: translate(var(--mp-fc-carousel-arrow-next-translate-x), var(--mp-fc-carousel-arrow-next-translate-y));
}

.elementor-widget-mp-fc-carousel.elementor-element :is(.swiper, .swiper-container) ~ .elementor-swiper-button-prev {
  left: calc(var(--mp-fc-carousel-arrow-prev-left-align) + var(--mp-fc-carousel-arrow-prev-left-position));
  top: calc(
    var(--mp-fc-carousel-arrow-prev-top-align) + var(--mp-fc-carousel-arrow-prev-top-position) -
      var(--mp-fc-carousel-arrow-prev-caption-spacing)
  );
  transform: translate(var(--mp-fc-carousel-arrow-prev-translate-x), var(--mp-fc-carousel-arrow-prev-translate-y));
}

.elementor-widget-mp-fc-carousel .elementor-swiper-button.hide {
  display: none;
}

.elementor-widget-mp-fc-carousel.elementor-pagination-type-bullets {
  --mp-fc-carousel-swiper-pagination-size: 6px;
}

.elementor-widget-mp-fc-carousel.elementor-pagination-type-fraction {
  --mp-fc-carousel-swiper-pagination-size: 16px;
}

.elementor-widget-mp-fc-carousel.elementor-pagination-type-progressbar {
  --mp-fc-carousel-swiper-pagination-size: 4px;
}

.elementor-widget-mp-fc-carousel .swiper-pagination-progressbar {
  height: var(--mp-fc-carousel-swiper-pagination-size);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--mp-fc-carousel-progressbar-normal-color, #000);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-progressbar .swiper-pagination-progressbar-fill:hover {
  background: var(--mp-fc-carousel-progressbar-hover-color, #000);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-fraction {
  color: var(--mp-fc-carousel-fraction-color, #000);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-bullet {
  background: var(--mp-fc-carousel-dots-normal-color, #000);
  height: var(--mp-fc-carousel-swiper-pagination-size);
  width: var(--mp-fc-carousel-swiper-pagination-size);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-bullet:hover {
  background: var(--mp-fc-carousel-dots-hover-color, #000);
  opacity: 1;
}

.elementor-widget-mp-fc-carousel .swiper-horizontal > .swiper-pagination-bullets,
.elementor-widget-mp-fc-carousel .swiper-pagination,
.elementor-widget-mp-fc-carousel .swiper-pagination-bullets.swiper-pagination-horizontal,
.elementor-widget-mp-fc-carousel .swiper-pagination-custom,
.elementor-widget-mp-fc-carousel .swiper-pagination-fraction {
  font-size: var(--mp-fc-carousel-swiper-pagination-size);
  line-height: var(--mp-fc-carousel-swiper-pagination-size);
}

.elementor-widget-mp-fc-carousel.elementor-pagination-position-outside:not(:has(> .elementor-widget-container)) > .swiper,
.elementor-widget-mp-fc-carousel.elementor-pagination-position-outside:not(:has(> .elementor-widget-container))
  > .swiper-container,
.elementor-widget-mp-fc-carousel.elementor-pagination-position-outside > .elementor-widget-container > .swiper,
.elementor-widget-mp-fc-carousel.elementor-pagination-position-outside
  > .elementor-widget-container
  > .swiper-container {
  padding-bottom: var(--mp-fc-carousel-swiper-padding-bottom);
}

.elementor-widget-mp-fc-carousel .swiper-pagination-bullets {
  height: max-content;
  inset-inline-start: calc(
    var(--mp-fc-carousel-dots-horizontal-position) + var(--mp-fc-carousel-dots-horizontal-offset)
  );
  top: calc(var(--mp-fc-carousel-dots-vertical-position) + var(--mp-fc-carousel-dots-vertical-offset));
  transform: translate(
    calc(var(--mp-fc-carousel-dots-horizontal-transform) * var(--direction-multiplier, 1)),
    var(--mp-fc-carousel-dots-vertical-transform)
  );
  width: max-content;
  z-index: 3;
}

.elementor-widget-mp-fc-carousel .swiper-pagination-fraction {
  height: max-content;
  inset-inline-start: calc(
    var(--mp-fc-carousel-fraction-horizontal-position) + var(--mp-fc-carousel-fraction-horizontal-offset)
  );
  top: calc(var(--mp-fc-carousel-fraction-vertical-position) + var(--mp-fc-carousel-fraction-vertical-offset));
  transform: translate(
    calc(var(--mp-fc-carousel-fraction-horizontal-transform) * var(--direction-multiplier, 1)),
    var(--mp-fc-carousel-fraction-vertical-transform)
  );
  width: max-content;
  z-index: 3;
}

/* Pre-init layout: content-sized slides with gap (no equal-fraction widths) */
.elementor-widget-mp-fc-carousel .swiper:not(.swiper-initialized) > .swiper-wrapper,
.elementor-widget-mp-fc-carousel .swiper-container:not(.swiper-container-initialized) > .swiper-wrapper {
  display: flex;
  gap: var(--mp-fc-carousel-swiper-slides-gap);
  overflow: hidden;
}

.elementor-widget-mp-fc-carousel .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide,
.elementor-widget-mp-fc-carousel .swiper-container:not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide {
  width: fit-content;
  max-width: 100%;
  flex-shrink: 0;
}

/* Linear / marquee easing */
.elementor-widget-mp-fc-carousel .mp-fc-carousel--linear > .swiper-wrapper,
.elementor-widget-mp-fc-carousel .mp-fc-carousel.mp-fc-carousel--linear > .swiper-wrapper {
  transition-timing-function: linear !important;
}

[data-core-v316-plus='true'] .elementor-widget-mp-fc-carousel .mp-fc-carousel .swiper-slide > .e-con {
  --padding-top: initial;
  --padding-right: initial;
  --padding-bottom: initial;
  --padding-left: initial;
}
