.abha-pf-carousel {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.abha-pf-carousel__track {
  position: absolute;
  inset: 0;
}

.abha-pf-carousel__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1.1s ease-in-out;
  pointer-events: none;
  display: block;
  text-decoration: none;
  will-change: opacity;
}

.abha-pf-carousel__slide.is-active {
  opacity: 1;
}

.abha-pf-carousel__slide--race.is-active {
  pointer-events: auto;
  z-index: 1;
}

/* Race poster: show FULL image (ma'am + runner), no crop */
.abha-pf-carousel__slide--race {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, #e85d04 0%, #fff8f0 45%, #0b6e4f 100%);
}

.abha-pf-carousel__slide--race .abha-pf-carousel__poster {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  filter: contrast(1.04) saturate(1.05);
}

/* Hero host */
.elementor-347 .elementor-element-59c3665 {
  position: relative;
  isolation: isolate;
  transition: min-height 0.9s ease, height 0.9s ease, max-height 0.9s ease;
}

.elementor-347 .elementor-element-59c3665.abha-pf-carousel-host {
  background-image: none !important;
}

.elementor-347 .elementor-element-59c3665.abha-pf-carousel-host > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-image: none !important;
}

/* Hero text/button sit above slides */
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-host > .elementor-element:not(.abha-pf-carousel),
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-host > .e-con:not(.abha-pf-carousel),
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-host > .e-con-inner {
  position: relative;
  z-index: 2;
  transition: opacity 1.1s ease-in-out, visibility 1.1s ease-in-out;
}

/* Race slide: only poster — hide headings/button/overlay */
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text > .elementor-element:not(.abha-pf-carousel),
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text > .e-con:not(.abha-pf-carousel),
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text > .e-con-inner,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-widget-heading,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-widget-button,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-element-28507bf,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-element-c497fc5,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-element-e1550bf,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .elementor-element-c52c558 {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text::before,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text > .elementor-background-overlay,
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text > .elementor-motion-effects-container {
  opacity: 0 !important;
  visibility: hidden !important;
}

/* Match race poster aspect so 1366–1920+ screens fill edge-to-edge without crop */
.elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text {
  --min-height: 0px !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 1600 / 542;
  width: 100%;
  max-width: 100%;
  background: linear-gradient(90deg, #e85d04 0%, #fff8f0 45%, #0b6e4f 100%) !important;
}

/* Large laptops / desktops (≈1920): keep banner sharp and proportional */
@media (min-width: 1400px) {
  .elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text {
    aspect-ratio: 1600 / 542;
    /* ~650px at 1920 width; cap so ultrawide does not tower */
    max-height: min(72vh, 720px);
  }

  .elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text .abha-pf-carousel__slide--race .abha-pf-carousel__poster {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

@media (min-width: 1920px) {
  .elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text {
    max-height: min(70vh, 700px);
  }
}

@media (max-width: 767px) {
  .elementor-347 .elementor-element-59c3665.abha-pf-carousel-hide-text {
    aspect-ratio: 1600 / 620;
    max-height: none;
  }
}

/* Standalone shortcode */
.abha-pf-carousel--standalone {
  position: relative;
  width: 100%;
  min-height: 420px;
  aspect-ratio: 1600 / 542;
  max-height: min(72vh, 720px);
  pointer-events: auto;
  background: linear-gradient(90deg, #e85d04 0%, #fff8f0 45%, #0b6e4f 100%);
}

.abha-pf-carousel--standalone .abha-pf-carousel__slide {
  pointer-events: auto;
}

@media (max-width: 767px) {
  .abha-pf-carousel--standalone {
    min-height: 240px;
    max-height: none;
    aspect-ratio: 1600 / 620;
  }
}
