/* ================================================================
   JankArt Beauty – finom animációk
   A .reveal elemeket a main.js teszi láthatóvá görgetéskor.
   ================================================================ */

/* ===== NYITÓOLDALI BELÉPÉS ===== */
.hero .eyebrow,
.hero h1,
.hero-lead,
.hero-actions,
.scroll-cue {
  animation: hero-enter 900ms both cubic-bezier(.2, .7, .2, 1);
}

.hero h1 { animation-delay: 120ms; }
.hero-lead { animation-delay: 240ms; }
.hero-actions { animation-delay: 340ms; }
.scroll-cue { animation-delay: 780ms; }

@keyframes hero-enter {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== GÖRGETÉSKORI MEGJELENÉS ===== */
.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 750ms cubic-bezier(.2, .7, .2, 1), transform 750ms cubic-bezier(.2, .7, .2, 1);
}

.reveal.is-visible { opacity: 1; transform: translateY(0); }
.reveal--delay { transition-delay: 120ms; }
.reveal--delay-2 { transition-delay: 220ms; }
.reveal--delay-3 { transition-delay: 320ms; }
.reveal--delay-4 { transition-delay: 420ms; }

/* ===== LEBEGŐ KIJELÖLÉS ÉS HÁTTÉRMOTÍVUM ===== */
.scroll-cue i { animation: cue-pulse 1.8s ease-in-out infinite; }

@keyframes cue-pulse {
  0%, 100% { opacity: .45; transform: scaleX(.75); }
  50% { opacity: 1; transform: scaleX(1); }
}

.booking-cta::before,
.booking-cta::after { animation: ornament-drift 10s ease-in-out infinite alternate; }
.booking-cta::after { animation-delay: -5s; }

@keyframes ornament-drift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(18px, -12px, 0); }
}

.floating-button--message { animation: message-breathe 3s ease-in-out infinite; }

@keyframes message-breathe {
  0%, 100% { box-shadow: 0 8px 22px rgba(46, 40, 32, .16); }
  50% { box-shadow: 0 8px 30px rgba(184, 154, 99, .48); }
}

/* A mozgásérzékeny látogatók számára minden effekt azonnal megjelenik. */
@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow,
  .hero h1,
  .hero-lead,
  .hero-actions,
  .scroll-cue,
  .scroll-cue i,
  .booking-cta::before,
  .booking-cta::after,
  .floating-button--message {
    animation: none;
  }

  .reveal,
  .reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
