/* Concession Travel VIP v3.5.8
 * Performance-safe hero rendering and Elementor compatibility overrides.
 */
.ctf-hero {
  position: relative;
  isolation: isolate;
  background-image: none !important;
  overflow: hidden;
}
.ctf-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
.ctf-hero-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.ctf-hero::before {
  z-index: 1 !important;
}
.ctf-hero-grid {
  position: relative;
  z-index: 2 !important;
}
.ctf-hero-vehicle {
  z-index: 2 !important;
}
.ctf-hero-copy,
.ctf-hero-form {
  position: relative;
  z-index: 3 !important;
}

/* Prevent optimization plugins from hiding the LCP image before paint. */
.ctf-hero-lcp-image {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* Elementor should not add extra gaps around full-width Concession widgets. */
.elementor-widget-ctf-hero,
.elementor-widget-ctf-about,
.elementor-widget-ctf-services,
.elementor-widget-ctf-region-story,
.elementor-widget-ctf-fleet,
.elementor-widget-ctf-regions,
.elementor-widget-ctf-destinations,
.elementor-widget-ctf-why,
.elementor-widget-ctf-content,
.elementor-widget-ctf-cta {
  margin: 0 !important;
}
.elementor-widget-ctf-hero > .elementor-widget-container,
.elementor-widget-ctf-about > .elementor-widget-container,
.elementor-widget-ctf-services > .elementor-widget-container,
.elementor-widget-ctf-region-story > .elementor-widget-container,
.elementor-widget-ctf-fleet > .elementor-widget-container,
.elementor-widget-ctf-regions > .elementor-widget-container,
.elementor-widget-ctf-destinations > .elementor-widget-container,
.elementor-widget-ctf-why > .elementor-widget-container,
.elementor-widget-ctf-content > .elementor-widget-container,
.elementor-widget-ctf-cta > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

@media (max-width: 760px) {
  .ctf-hero-media img {
    object-position: center center;
  }
}

.ctf-editable-content-inner {
  width: min(980px, calc(100% - 40px));
  margin-inline: auto;
}
.ctf-editable-content-section.is-wide .ctf-editable-content-inner {
  width: min(1840px, calc(100% - 40px));
}

body.ctf-theme .ctf-hero {
  background-image: none !important;
}
@media (max-width: 760px) {
  body.ctf-theme .ctf-hero-media img {
    object-position: 70% center;
  }
}
