.elementor-widget-easyslider {
  --e-easyslider-slides-to-display: 1;
  --e-easyslider-gap: 0px;
  --e-easyslider-slide-height: initial;
  --e-easyslider-slide-container-height: initial;
  position: relative;
}

.elementor-widget-easyslider .e-easyslider {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  /* Match Nested Carousel: don't clip nested editor content by default. */
  overflow: visible;
  box-sizing: border-box;
}

.elementor-widget-easyslider .e-easyslider > .swiper-wrapper {
  display: flex;
  width: 100%;
  height: var(--e-easyslider-slide-height, initial);
  box-sizing: content-box;
}

.elementor-widget-easyslider .e-easyslider > .swiper-wrapper > .swiper-slide {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: var(--e-easyslider-slide-height, initial);
  /* Critical for nested widgets — Nested Carousel / early EasySlider used visible. */
  overflow: visible;
  box-sizing: border-box;
}

/*
 * Nested containers are direct children of .swiper-slide
 * (same DOM pattern as Elementor Pro Nested Carousel).
 */
.elementor-widget-easyslider .e-easyslider > .swiper-wrapper > .swiper-slide > .e-con {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  height: var(--e-easyslider-slide-container-height, initial);
  box-sizing: border-box;
}

.elementor-widget-easyslider .swiper-slide > .e-con.easyslider-content-hidden {
  visibility: hidden;
  opacity: 0;
}

/* Editor: force nested content + handles to stay visible and clickable. */
.elementor-editor-active .elementor-widget-easyslider .e-easyslider,
.elementor-editor-active .elementor-widget-easyslider .e-easyslider > .swiper-wrapper,
.elementor-editor-active .elementor-widget-easyslider .e-easyslider > .swiper-wrapper > .swiper-slide {
  overflow: visible !important;
}

.elementor-editor-active .elementor-widget-easyslider .swiper-slide > .e-con {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  pointer-events: auto !important;
}

.elementor-editor-active .elementor-widget-easyslider .e-easyslider.swiper-fade .swiper-slide {
  pointer-events: auto;
  opacity: 1 !important;
}

.elementor-editor-active .elementor-widget-easyslider .e-easyslider.swiper-fade .swiper-slide:not(.swiper-slide-active) {
  /* Keep inactive slides out of the way without killing their nested views. */
  visibility: hidden;
  pointer-events: none;
}

.elementor-editor-active .elementor-widget-easyslider .swiper-slide .elementor-empty-view {
  min-height: 120px;
}

.elementor-widget-easyslider .swiper:not(.swiper-initialized) > .swiper-wrapper,
.elementor-widget-easyslider .swiper-container:not(.swiper-container-initialized) > .swiper-wrapper {
  gap: var(--e-easyslider-gap);
  overflow: hidden;
}

.elementor-widget-easyslider .swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide,
.elementor-widget-easyslider .swiper-container:not(.swiper-container-initialized) > .swiper-wrapper > .swiper-slide {
  --e-easyslider-number-of-gaps: max(calc(var(--e-easyslider-slides-to-display) - 1), 0);
  --e-easyslider-gaps-width-total: calc(var(--e-easyslider-number-of-gaps) * var(--e-easyslider-gap));
  max-width: calc((100% - var(--e-easyslider-gaps-width-total)) / var(--e-easyslider-slides-to-display, 1));
}

.elementor-widget-easyslider .e-easyslider.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.elementor-widget-easyslider .e-easyslider.swiper-fade .swiper-slide-active,
.elementor-widget-easyslider .e-easyslider.swiper-fade .swiper-slide-active > .e-con {
  pointer-events: auto;
}

.elementor-widget-easyslider .easyslider-arrow,
.elementor-widget-easyslider .easyslider-arrow.swiper-button-prev,
.elementor-widget-easyslider .easyslider-arrow.swiper-button-next,
.elementor-widget-easyslider .easyslider-arrow.elementor-swiper-button {
  all: unset;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute !important;
  top: 50%;
  z-index: 20;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  transform: translateY(-50%);
  -webkit-appearance: none;
  appearance: none;
}

.elementor-widget-easyslider .easyslider-arrow::before,
.elementor-widget-easyslider .easyslider-arrow::after,
.elementor-widget-easyslider .swiper-button-prev::after,
.elementor-widget-easyslider .swiper-button-next::after {
  content: none !important;
  display: none !important;
}

.elementor-widget-easyslider .easyslider-arrow-prev,
.elementor-widget-easyslider .easyslider-arrow.swiper-button-prev {
  left: 10px !important;
  right: auto !important;
}

.elementor-widget-easyslider .easyslider-arrow-next,
.elementor-widget-easyslider .easyslider-arrow.swiper-button-next {
  right: 10px !important;
  left: auto !important;
}

.elementor-widget-easyslider.easyslider-arrows-v-start .easyslider-arrow {
  top: 0 !important;
  bottom: auto !important;
  transform: none !important;
}

.elementor-widget-easyslider.easyslider-arrows-v-end .easyslider-arrow {
  top: auto !important;
  bottom: 0 !important;
  transform: none !important;
}

.elementor-widget-easyslider .easyslider-arrow svg,
.elementor-widget-easyslider .easyslider-arrow i {
  display: block;
  width: 1em;
  height: 1em;
  pointer-events: none;
}

.elementor-widget-easyslider.elementor-arrows-position-outside,
.elementor-widget-easyslider.elementor-pagination-position-outside .e-easyslider {
  overflow: visible;
}

.elementor-widget-easyslider.elementor-arrows-position-outside .easyslider-arrow-prev {
  left: auto !important;
  right: 100% !important;
}

.elementor-widget-easyslider.elementor-arrows-position-outside .easyslider-arrow-next {
  right: auto !important;
  left: 100% !important;
}

.elementor-widget-easyslider .e-easyslider :is(.swiper-pagination, .swiper-pagination-bullets),
.elementor-widget-easyslider .e-easyslider.swiper-horizontal > .swiper-pagination-bullets,
.elementor-widget-easyslider .e-easyslider .swiper-pagination-bullets.swiper-pagination-horizontal {
  position: absolute !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  left: 50% !important;
  right: auto !important;
  width: auto !important;
  bottom: 14px !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  z-index: 21;
  text-align: center;
  pointer-events: none;
}

.elementor-widget-easyslider.easyslider-dots-v-top .e-easyslider :is(.swiper-pagination, .swiper-pagination-bullets),
.elementor-widget-easyslider.easyslider-dots-v-top .e-easyslider.swiper-horizontal > .swiper-pagination-bullets {
  top: 14px !important;
  bottom: auto !important;
}

.elementor-widget-easyslider.easyslider-dots-h-start .e-easyslider :is(.swiper-pagination, .swiper-pagination-bullets),
.elementor-widget-easyslider.easyslider-dots-h-start .e-easyslider.swiper-horizontal > .swiper-pagination-bullets {
  left: auto !important;
  right: auto !important;
  inset-inline-start: 0 !important;
  inset-inline-end: auto !important;
  transform: none !important;
  justify-content: flex-start;
}

.elementor-widget-easyslider.easyslider-dots-h-end .e-easyslider :is(.swiper-pagination, .swiper-pagination-bullets),
.elementor-widget-easyslider.easyslider-dots-h-end .e-easyslider.swiper-horizontal > .swiper-pagination-bullets {
  left: auto !important;
  right: auto !important;
  inset-inline-end: 0 !important;
  inset-inline-start: auto !important;
  transform: none !important;
  justify-content: flex-end;
}

.elementor-widget-easyslider .e-easyslider .swiper-pagination-bullet {
  display: block;
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  opacity: 0.45;
  cursor: pointer;
  pointer-events: auto;
  vertical-align: middle;
}

.elementor-widget-easyslider .e-easyslider .swiper-pagination-bullet-active {
  opacity: 1;
}

.elementor-widget-easyslider.elementor-pagination-position-outside .e-easyslider {
  padding-bottom: 36px;
}

.elementor-widget-easyslider.elementor-pagination-position-outside.easyslider-dots-v-top .e-easyslider {
  padding-bottom: 0;
  padding-top: 36px;
}

/*
 * Content animation — Elementor Slides / Animate.css 3.5.2
 * Applied to the slide's nested container (.e-con) on the frontend only.
 */
.elementor-widget-easyslider .swiper-slide > .e-con.animated {
  animation-duration: 1.25s;
  animation-fill-mode: both;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

.elementor-widget-easyslider .swiper-slide > .e-con.animated.fadeInDown {
  animation-name: fadeInDown;
}

.elementor-widget-easyslider .swiper-slide > .e-con.animated.fadeInUp {
  animation-name: fadeInUp;
}

.elementor-widget-easyslider .swiper-slide > .e-con.animated.fadeInRight {
  animation-name: fadeInRight;
}

.elementor-widget-easyslider .swiper-slide > .e-con.animated.fadeInLeft {
  animation-name: fadeInLeft;
}

.elementor-widget-easyslider .swiper-slide > .e-con.animated.zoomIn {
  animation-name: zoomIn;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-widget-easyslider .swiper-slide > .e-con.animated {
    animation: none !important;
  }
}
