/* Opt-in only: existing slideshow instances keep their original layout. */
.gymful-hero-area-split.e-con {
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: var(--hero-split-widget-height, var(--hero-split-min-height, 720px));
  overflow: visible;
  background-color: #252b26;
  border-radius: var(--hero-split-radius, 12px);
  /* Boxed Elementor containers normally apply block padding to the inner. */
  padding-block: var(--padding-top, 80px) max(var(--padding-bottom, 80px), var(--hero-split-extras-space, 0px));
}

.gymful-hero-area-split.e-con.gymful-hero-split--full-bleed {
  width: var(--hero-split-viewport-width, 100vw);
  max-width: var(--hero-split-viewport-width, 100vw);
  margin-inline: calc((100% - var(--hero-split-viewport-width, 100vw)) / 2);
}

.gymful-hero-area-split.e-con:not(.e-con-boxed),
.gymful-hero-area-split.e-con > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, var(--hero-split-form-width, 45%));
  align-items: var(--hero-split-align, center);
  gap: var(--hero-split-gap, 64px);
}

.gymful-hero-area-split.e-con > .e-con-inner {
  /* The background must anchor to the outer hero, beyond the boxed inner. */
  position: static;
  width: 100%;
  max-width: var(--hero-split-max-width, 1280px);
  min-width: 0;
  padding: 0;
  margin-inline: auto;
}

.gymful-hero-area-split .gymful-hero-area-copy.e-con,
.gymful-hero-area-split .gymful-hero-area-copy > .e-con-inner,
.gymful-hero-area-split .gymful-hero-area-copy .elementor-widget-gymful_hero_slideshow,
.gymful-hero-area-split .gymful-hero-area-copy .elementor-widget-gymful_hero_slideshow > .elementor-widget-container {
  position: static;
}

.gymful-hero-area-split .gymful-hero-area-copy.e-con,
.gymful-hero-area-split .gymful-hero-area-form.e-con {
  min-width: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  align-self: var(--hero-split-align, center);
}

.gymful-hero-area-split .gymful-hero-area-copy.e-con {
  order: 0;
}

.gymful-hero-area-split .gymful-hero-area-form.e-con {
  position: relative;
  z-index: 1;
  order: 1;
  overflow: visible;
  /* Card color, border, padding and shadow use native container controls. */
}

/* The router keeps ClubPlanner's original submit input for native submission.
   Its compact-mode inline sizing can survive button conversion. Anchor that
   invisible input inside the card instead of letting its static position add
   horizontal scroll. The visible button and native submit path are unchanged. */
.gymful-hero-area-split .gymful-hero-area-form .cpp-form input[type="submit"].commit-original-submit {
  inset: 0 auto auto 0 !important;
  clip-path: inset(50%);
}

.gymful-hero-slideshow.gymful-hero-slideshow--split {
  position: static;
  isolation: auto;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  user-select: text;
}

.gymful-hero-slideshow--split > .gymful-hero-slideshow__list {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border-radius: var(--hero-split-radius, 12px);
  pointer-events: none;
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__slide,
.gymful-hero-slideshow--split .gymful-hero-slideshow__slide.is-current {
  pointer-events: none;
}

.gymful-hero-slideshow--split > .gymful-hero-slideshow__content {
  position: relative;
  inset: auto;
  z-index: 1;
  display: block;
  padding: 0;
  pointer-events: auto;
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__content-inner {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__heading {
  font-size: clamp(42px, 5vw, 78px);
  line-height: .98;
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__text {
  max-width: 580px;
  font-size: clamp(17px, 1.45vw, 23px);
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__buttons:empty {
  display: none;
}

.gymful-hero-slideshow--split .gymful-hero-slideshow__button {
  white-space: normal;
  text-align: center;
  overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
  .gymful-hero-area-split.e-con {
    min-height: var(--hero-split-widget-height, var(--hero-split-min-height, 0px));
  }

  .gymful-hero-area-split.e-con:not(.e-con-boxed),
  .gymful-hero-area-split.e-con > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: var(--hero-split-gap, 36px);
  }

  .gymful-hero-area-split .gymful-hero-area-copy.e-con,
  .gymful-hero-area-split .gymful-hero-area-form.e-con {
    align-self: start;
  }
}

@media (max-width: 767px) {
  .gymful-hero-area-split.e-con:not(.e-con-boxed),
  .gymful-hero-area-split.e-con > .e-con-inner {
    gap: var(--hero-split-gap, 28px);
  }

  .gymful-hero-slideshow--split .gymful-hero-slideshow__heading {
    font-size: clamp(34px, 10.5vw, 48px);
  }

  .gymful-hero-slideshow--split .gymful-hero-slideshow__buttons {
    gap: 12px;
    margin-top: 24px;
  }
}
