/* KONTUR CMS 0.6.0.86 – einheitlicher Modul-Scroll-Reveal
   Wichtig: GSAP-Teilobjekte (.cms-reveal-piece) duerfen NICHT durch die
   alte .reveal-Fallbackregel auf opacity:1/transform:none festgenagelt werden. */

/* Alte generische Reveal-Animation nur bei Elementen neutralisieren, die
   nicht vom zentralen GSAP/ScrollTrigger-Reveal uebernommen wurden. */
.cms-scroll-reveal .reveal:not(.cms-reveal-piece),
.cms-scroll-reveal-skip .reveal {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

.cms-scroll-reveal,
.cms-scroll-reveal-skip {
  visibility: visible;
}

/* GSAP kontrolliert diese Elemente vollstaendig. CSS-Transitions duerfen
   nicht parallel zur ScrollTrigger-Animation laufen. */
.cms-scroll-reveal .cms-reveal-piece {
  transition: none !important;
}

.cms-scroll-reveal.is-cms-reveal-running,
.cms-scroll-reveal.is-cms-reveal-running .cms-reveal-piece {
  will-change: transform, opacity;
}

.cms-scroll-type-text_image .cms-text-image > .card,
.cms-scroll-type-text_image .cms-text-image > img {
  backface-visibility: hidden;
}

/* Home-Kacheln werden ausschliesslich vom zentralen ScrollTrigger gesteuert. */
.cms-scroll-type-home_tiles .home-tile,
.cms-scroll-type-home_tiles .section-title {
  backface-visibility: hidden;
}

.cms-scroll-type-separator .sep62-image,
.cms-scroll-type-separator .sep62-inner {
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .cms-scroll-reveal,
  .cms-scroll-reveal *,
  .cms-scroll-reveal-skip,
  .cms-scroll-reveal-skip * {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
