/* === Hero-Slider: Layout von Templates übernehmen, volle Höhe === */
.hero-swiper {
  height: 115vh !important;
  min-height: 100svh;
}

/* Swiper Standard-Pagination sofort komplett deaktivieren */
.hero-swiper .swiper-pagination {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* 1. Stelle sicher, dass der Parent relativ positioniert ist */
.hero-text {
  position: relative;
}

.hero-text .elementor-widget-heading:first-child .elementor-heading-title {
  position: relative !important;
  z-index: 999 !important;
}

.hero-photo img,
.elementor-heading-title {
  /* Übergänge für Parallax komplett ausschalten
  transition: none !important; */
}

/* Die geklonte Überschrift, die über den Bildern liegen soll */
.hero-swiper .heading-parallax-copy {
  position: absolute;
  pointer-events: none;
  z-index: 2147483000;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}

/* optional: smoother auf hochauflösenden Displays */
.hero-swiper img {
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.hero-section {
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
}

.hero-swiper .swiper-wrapper,
.hero-swiper .swiper-slide {
  height: 100%;
}

.hero-swiper .swiper-slide {
  /* kein Grid/ Flex erzwingen – Template behält Kontrolle */
  display: block !important;
  position: relative;
  padding: 0 !important;
  box-sizing: border-box;
  overflow: hidden;
  /* verhindert sichtbare Offscreen-Elemente beim Einfahren */
}

/* Gerendertes Elementor-Template im Slide auf volle Höhe ziehen */
.hero-swiper .swiper-slide>.elementor {
  height: 100% !important;
}

/* Häufige Elementor-Variablen neutralisieren */
.hero-swiper .swiper-slide>.elementor>.e-con.e-parent {
  --min-height: 100% !important;
  --margin-top: 0 !important;
  --margin-bottom: 0 !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Falls Templates Overlay-Pseudoelemente nutzen: auf volle Höhe */
.hero-swiper .swiper-slide>.elementor>.e-con.e-parent::before {
  height: 100%;
}

/* Kleines Rendering-Upgrade, da wir translate3d per JS setzen */
.hero-swiper img {
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* === Arrows always above images === */
.hero-swiper .mtb-hero-prev,
.hero-swiper .mtb-hero-next {
  position: relative;
  z-index: 100 !important;
}

.hero-swiper .hero-photo {
  z-index: 1;
}

/* === Icon austauschen, Layout bleibt unberührt === */

.mtb-hero-next .elementor-button,
.mtb-hero-prev .elementor-button {
  font-size: 92px !important;
  font-weight: 700 !important;
}

/* 1) Altes Inline-SVG ausblenden */
.mtb-hero-prev .elementor-button-icon svg,
.mtb-hero-next .elementor-button-icon svg {
  opacity: 0 !important;
}

/* 2) Icon-Container-Position sicherstellen */
.mtb-hero-prev .elementor-button-icon,
.mtb-hero-next .elementor-button-icon {
  position: relative;
}

/* 3) Neues Icon per Mask in Weiß */
.mtb-hero-prev .elementor-button-icon::after,
.mtb-hero-next .elementor-button-icon::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  /* zwingend weiß */
  pointer-events: none;

  /* Maske zentriert und proportional skaliert */
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><g transform='translate(0,512) scale(0.1,-0.1)' fill='black' stroke='none'><path d='M1613 3912 c-25 -13 -586 -609 -1190 -1264 -36 -40 -43 -54 -43 -88 0 -34 7 -48 44 -88 672 -728 1165 -1251 1192 -1265 28 -16 39 -17 69 -7 61 20 92 89 64 141 -6 11 -240 266 -521 567 l-511 547 1987 5 1988 5 24 28 c33 38 33 96 0 134 l-24 28 -1988 5 -1988 5 511 547 c282 300 516 556 522 567 27 50 1 114 -56 137 -41 18 -41 18 -80 -4z'/></g></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><g transform='translate(0,512) scale(0.1,-0.1)' fill='black' stroke='none'><path d='M1613 3912 c-25 -13 -586 -609 -1190 -1264 -36 -40 -43 -54 -43 -88 0 -34 7 -48 44 -88 672 -728 1165 -1251 1192 -1265 28 -16 39 -17 69 -7 61 20 92 89 64 141 -6 11 -240 266 -521 567 l-511 547 1987 5 1988 5 24 28 c33 38 33 96 0 134 l-24 28 -1988 5 -1988 5 511 547 c282 300 516 556 522 567 27 50 1 114 -56 137 -41 18 -41 18 -80 -4z'/></g></svg>") center/contain no-repeat;
}

/* 4) Für den rechten Button: einfach umdrehen */
.mtb-hero-next .elementor-button-icon::after {
  transform: rotate(180deg);
  transform-origin: center;
}