/* Startzustand: Standardmäßig versteckt */
.reveal-left, 
.reveal-right,
.reveal-bottom {
  opacity: 0;
}

/* Animationen auslösen */
.reveal-left.is-visible {
  animation: flyInLeft 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
}

.reveal-right.is-visible {
  animation: flyInRight 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
}

.reveal-bottom.is-visible {
  animation: flyInBottom 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.1) forwards;
}

/* Keyframe von links: 0% -> 110% -> 100% */
@keyframes flyInLeft {
  0% {
    opacity: 0;
    translate: -100vw 0;
    scale: 0;
  }
  75% {
    opacity: 1;
    scale: 1.1; /* Kurz leicht vergrößern */
  }
  100% {
    opacity: 1;
    translate: 0 0;
    scale: 1;   /* Auf Endgröße einpendeln */
  }
}

/* Keyframe von rechts: 0% -> 110% -> 100% */
@keyframes flyInRight {
  0% {
    opacity: 0;
    translate: 100vw 0;
    scale: 0;
  }
  75% {
    opacity: 1;
    scale: 1.1; /* Kurz leicht vergrößern */
  }
  100% {
    opacity: 1;
    translate: 0 0;
    scale: 1;   /* Auf Endgröße einpendeln */
  }
}

/* Keyframe von unten: 0% -> 110% -> 100% */
@keyframes flyInBottom {
  0% {
    opacity: 0;
    translate: 0 100vh;
    scale: 0;
  }
  75% {
    opacity: 1;
    scale: 1.1; /* Kurz leicht vergrößern */
  }
  100% {
    opacity: 1;
    translate: 0 0;
    scale: 1;   /* Auf Endgröße einpendeln */
  }
}

/* 1. Globales Aufbrechen von horizontalem Overflow */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* 2. iOS-Safari Fix: Verhindert seitliches Über-Wischen (Bounce) */
body {
    position: relative;
    width: 100%;
}

/* 3. Fängt absolut positionierte Elemente auf Seitenebene ab */
#page,
#content,
.elementor {
    overflow: hidden;
    max-width: 100%;
}

