  /* FONTOS: 0%-nál nincs transform, hogy az induló irány megmaradjon */
  @keyframes eaFadeSlideScale {
    0%   { opacity: 0; }
    100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
  }

  /* Editorban ne rejtsük el */
  .ea-anim-yes { will-change: transform, opacity; }

  /* FRONTEND-only kezdeti állapot (irány itt dől el) */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes {
    opacity: 0;
  }

  /* Text split módnál a konténer maradjon látható, a belső unitok animálnak */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-text-split-yes {
    opacity: 1;
    transform: none !important;
  }

  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-text-split-yes.ea-inview {
    animation: none !important;
  }

  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-text-split-yes .ea-split-unit {
    display: inline-block;
    opacity: 0;
    transform: translate3d(0, var(--ea-split-distance, 18px), 0);
    transition-property: transform, opacity, filter;
    transition-duration: var(--ea-split-duration, 650ms);
    transition-timing-function: var(--ea-ease, cubic-bezier(0.2, 0.8, 0.4, 1));
    transition-delay: calc(var(--ea-split-stagger, 35ms) * var(--ea-split-i, 0));
    filter: blur(var(--ea-split-blur, 0px));
    will-change: transform, opacity, filter;
  }

  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-text-split-yes.ea-inview .ea-split-unit {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0px);
  }

  /* Noise overlay */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-noise-overlay-yes {
    position: relative;
    overflow: hidden;
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-noise-overlay-yes::after {
    content: "";
    position: absolute;
    inset: -20%;
    pointer-events: none;
    z-index: 2;
    opacity: var(--ea-noise-opacity, 0.08);
    background-image:
      radial-gradient(circle at 20% 20%, rgba(255,255,255,0.35) 0 1px, transparent 1px),
      radial-gradient(circle at 80% 30%, rgba(255,255,255,0.25) 0 1px, transparent 1px),
      radial-gradient(circle at 40% 80%, rgba(0,0,0,0.25) 0 1px, transparent 1px);
    background-size: 24px 24px, 18px 18px, 30px 30px;
    mix-blend-mode: soft-light;
    animation: eaNoiseShift var(--ea-noise-speed, 1800ms) steps(8) infinite;
  }

  @keyframes eaNoiseShift {
    0% { transform: translate3d(0,0,0); }
    25% { transform: translate3d(-1.5%, 1%, 0); }
    50% { transform: translate3d(1%, -1.5%, 0); }
    75% { transform: translate3d(-0.75%, -1%, 0); }
    100% { transform: translate3d(0,0,0); }
  }

  /* Glare sweep */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-glare-sweep-yes {
    position: relative;
    overflow: hidden;
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-glare-sweep-yes::before {
    content: "";
    position: absolute;
    inset: -40% -80%;
    pointer-events: none;
    z-index: 3;
    opacity: var(--ea-glare-opacity, 0.18);
    background: linear-gradient(
      var(--ea-glare-angle, 25deg),
      transparent 35%,
      rgba(255, 255, 255, 0.75) 50%,
      transparent 65%
    );
    transform: translate3d(-120%, 0, 0);
    animation: eaGlareSweep var(--ea-glare-duration, 4200ms) ease-in-out infinite;
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-glare-hover-only-yes::before {
    animation-play-state: paused;
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-glare-hover-only-yes:hover::before {
    animation-play-state: running;
  }

  @keyframes eaGlareSweep {
    0% { transform: translate3d(-120%, 0, 0); }
    48% { transform: translate3d(120%, 0, 0); }
    100% { transform: translate3d(120%, 0, 0); }
  }

  /* Scene sync (globális scroll progress alapú) */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-scene-sync-yes {
    --ea-scene-p: 0;
    transform: translate3d(0, calc((1 - var(--ea-scene-p)) * var(--ea-scene-shift, 0px)), 0);
    opacity: calc(var(--ea-scene-from, 1) + ((var(--ea-scene-to, 1) - var(--ea-scene-from, 1)) * var(--ea-scene-p)));
    transition: transform 90ms linear, opacity 90ms linear;
  }

  /* GPU-safe: nehezebb effektek visszafogása */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-gpu-safe-yes .ea-split-unit {
    filter: none !important;
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-gpu-safe-yes.ea-noise-overlay-yes::after {
    opacity: calc(var(--ea-noise-opacity, 0.08) * 0.6);
    animation-duration: calc(var(--ea-noise-speed, 1800ms) * 1.5);
  }
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-gpu-safe-yes.ea-glare-sweep-yes::before {
    opacity: calc(var(--ea-glare-opacity, 0.18) * 0.6);
    animation-duration: calc(var(--ea-glare-duration, 4200ms) * 1.4);
  }

  /* ── Sima irányok (fel/le/bal/jobb) ───────────────────────────────
     CSAK akkor érvényesüljenek, ha NINCS diagonál osztály az elemen. */
  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes:not([class*="ea-anim-diag-"]).ea-anim-dir-up    { transform: translate3d(0,  var(--ea-distance, 20px), 0)   scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes:not([class*="ea-anim-diag-"]).ea-anim-dir-down  { transform: translate3d(0, calc(var(--ea-distance, 20px) * -1), 0) scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes:not([class*="ea-anim-diag-"]).ea-anim-dir-left  { transform: translate3d(calc(var(--ea-distance, 20px) * -1), 0, 0) scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes:not([class*="ea-anim-diag-"]).ea-anim-dir-right { transform: translate3d(  var(--ea-distance, 20px), 0, 0)   scale(var(--ea-scale, .8)); }

  /* ── Diagonális irányok (külön sorhoz) ──────────────────────────── */
  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes.ea-anim-diag-top-left     { transform: translate3d(calc(var(--ea-distance, 20px) * -1), calc(var(--ea-distance, 20px) * -1), 0) scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes.ea-anim-diag-top-right    { transform: translate3d(  var(--ea-distance, 20px),        calc(var(--ea-distance, 20px) * -1), 0) scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes.ea-anim-diag-bottom-left  { transform: translate3d(calc(var(--ea-distance, 20px) * -1),   var(--ea-distance, 20px), 0) scale(var(--ea-scale, .8)); }

  body:not(.elementor-edit-mode):not(.elementor-editor-active)
  .ea-anim-yes.ea-anim-diag-bottom-right { transform: translate3d(  var(--ea-distance, 20px),            var(--ea-distance, 20px), 0) scale(var(--ea-scale, .8)); }

  /* In-view végállapot animáció */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-inview {
    animation-name: eaFadeSlideScale;
    animation-duration: var(--ea-duration, 700ms);
    animation-timing-function: var(--ea-ease, cubic-bezier(0.2, 0.8, 0.4, 1));
    animation-delay: var(--ea-delay, 100ms);
    animation-fill-mode: forwards;
  }

  /* Mobil tiltás esetén legyen az elem azonnal látható és animációmentes */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-anim-mobile-disabled {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }

  /* Timeline mód: ne a klasszikus in-view animáció állapotát örökölje */
body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-timeline-mode-yes {
  opacity: 1;
  animation: none !important;
  transform: none;
}

  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-anim-yes.ea-scene-sync-yes {
    opacity: 1 !important;
    animation: none !important;
  }

  /* Scroll után fixen maradó elem */
  body:not(.elementor-edit-mode):not(.elementor-editor-active) .ea-sticky-fixed {
    position: fixed !important;
    top: var(--ea-sticky-top, 0px);
    z-index: var(--ea-sticky-z, 999);
    margin: 0 !important;
    box-sizing: border-box;
  }
