/* okosugyintezo-child — mozgás. FONTOS: a tartalom ALAPBÓL LÁTHATÓ.
   A rejtett kiinduló állapotot csak a JS által felvett html.oui-motion-ready adja meg,
   így JS-hiba / no-IntersectionObserver / reduced-motion esetén semmi nem ragad be. */

.oui-reveal {
  transition: opacity .68s cubic-bezier(.2, .8, .2, 1), transform .68s cubic-bezier(.2, .8, .2, 1);
}
html.oui-motion-ready .oui-reveal { opacity: 0; transform: translateY(24px); }
html.oui-motion-ready .oui-reveal.is-visible { opacity: 1; transform: translateY(0); }
html.oui-motion-ready .oui-delay-1 { transition-delay: 90ms; }
html.oui-motion-ready .oui-delay-2 { transition-delay: 180ms; }
html.oui-motion-ready .oui-delay-3 { transition-delay: 270ms; }
html.oui-motion-ready .oui-delay-4 { transition-delay: 360ms; }

/* Hero főcím: szavankénti "rise" — csak JS-siker után aktív. */
html.oui-motion-ready .oui-title-word {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, .58em, 0) rotate(1.2deg);
  will-change: transform, opacity;
}
html.oui-motion-ready .oui-hero-title.is-title-ready .oui-title-word {
  animation: oui-title-rise .78s cubic-bezier(.22, 1, .36, 1) forwards;
  animation-delay: var(--oui-word-delay, 0ms);
}
@keyframes oui-title-rise {
  to { opacity: 1; transform: translate3d(0, 0, 0) rotate(0); }
}

/* ===== Hero-vizuál: a "hívás → foglalás → összefoglaló" sorok szekvenciált belépése.
   Purpose: Explanation/Delight (hero, első nézet). Csak transform+opacity. ===== */
@keyframes oui-row-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
html.oui-motion-ready .oui-hero__card .oui-card__row { opacity: 0; animation: oui-row-in .6s var(--ease-out) forwards; }
html.oui-motion-ready .oui-hero__card .oui-card__row:nth-child(1) { animation-delay: .35s; }
html.oui-motion-ready .oui-hero__card .oui-card__row:nth-child(2) { animation-delay: .60s; }
html.oui-motion-ready .oui-hero__card .oui-card__row:nth-child(3) { animation-delay: .85s; }

@keyframes oui-float-in { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
html.oui-motion-ready .oui-hero__float { opacity: 0; animation: oui-float-in .7s var(--ease-out) 1.15s forwards; }

/* Hero-illusztráció finom belépője. */
@keyframes oui-hero-img-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
html.oui-motion-ready .oui-hero__img { animation: oui-hero-img-in .8s var(--ease-out) both; }

/* Szolgáltatás-hero embléma belépője. */
@keyframes oui-emblem-in { from { opacity: 0; transform: translateY(8px) scale(.9); } to { opacity: 1; transform: none; } }
html.oui-motion-ready .oui-hero__emblem { animation: oui-emblem-in .6s var(--ease-out) both; }

/* Főoldali hero event-kártyák staggered belépése (a stagger-magasságot margin adja, itt csak opacity+rise). */
@keyframes oui-evt-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
html.oui-motion-ready .oui-hero__evt { opacity: 0; animation: oui-evt-in .55s var(--ease-out) forwards; }
html.oui-motion-ready .oui-hero__evt:nth-child(1) { animation-delay: .45s; }
html.oui-motion-ready .oui-hero__evt:nth-child(2) { animation-delay: .60s; }
html.oui-motion-ready .oui-hero__evt:nth-child(3) { animation-delay: .75s; }

/* "ÉLŐ" jelvény: finom élő-jelző "ping" gyűrű (transform+opacity, olcsó). */
.oui-card__badge { position: relative; }
.oui-card__badge::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 0 2px rgba(47, 191, 143, .55); opacity: 0;
}
html.oui-motion-ready .oui-card__badge::after { animation: oui-ping 2.4s var(--ease-out) infinite; }
@keyframes oui-ping { 0% { transform: scale(1); opacity: .7; } 70%, 100% { transform: scale(1.7); opacity: 0; } }

/* Hero háttér-aurora: két nagyon lassú, halvány gradiens-réteg drift (marketing-derengés). */
@keyframes oui-aurora { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-11%, -8%, 0) scale(1.16); } }
html.oui-motion-ready .oui-hero::before { animation: oui-aurora 19s ease-in-out infinite alternate; }
html.oui-motion-ready .oui-hero::after { animation: oui-aurora 15s ease-in-out infinite alternate-reverse; }

/* GYIK: sima nyitás (height + opacity). Progressive enhancement — régi böngésző natívan pattan. */
@supports (interpolate-size: allow-keywords) {
  :root { interpolate-size: allow-keywords; }
  .oui-faq details::details-content {
    block-size: 0; opacity: 0; overflow: hidden;
    transition: block-size .3s var(--ease-out), opacity .28s var(--ease-out), content-visibility .3s allow-discrete;
  }
  .oui-faq details[open]::details-content { block-size: auto; opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  /* Biztosíték: ha valamiért ott a motion-ready, a tartalom akkor is látszik. */
  html.oui-motion-ready .oui-reveal { opacity: 1; transform: none; }
  html.oui-motion-ready .oui-title-word { opacity: 1; transform: none; }
  html.oui-motion-ready .oui-hero__card .oui-card__row,
  html.oui-motion-ready .oui-hero__float,
  html.oui-motion-ready .oui-hero__evt,
  html.oui-motion-ready .oui-hero__img { opacity: 1; transform: none; }
  html.oui-motion-ready .oui-hero::before,
  html.oui-motion-ready .oui-hero::after,
  html.oui-motion-ready .oui-ctaband::after { animation: none !important; transform: none; }
  html.oui-motion-ready .oui-card__badge::after { animation: none !important; opacity: 0; }
}
