/* ==========================================================================
   National Casino Greece — Animations
   ========================================================================== */

@keyframes ncFadeInUp {
  from { opacity: 0; transform: translateY(28px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ncFadeIn { from { opacity: 0; } to { opacity: 1; } }

@keyframes coinFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33%       { transform: translateY(-16px) rotate(12deg); }
  66%       { transform: translateY(-6px) rotate(-7deg); }
}

@keyframes ncGoldPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(212,160,23,0), var(--sh-gold); }
  50%       { box-shadow: 0 0 30px rgba(212,160,23,0.45), var(--sh-gold); }
}

@keyframes ncRedPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(192,21,42,0), var(--sh-red); }
  50%       { box-shadow: 0 0 26px rgba(192,21,42,0.5), var(--sh-red); }
}

@keyframes ringPulseNC {
  0%, 100% { transform: translate(-50%,-50%) scale(1);   opacity: 0.7; }
  50%       { transform: translate(-50%,-50%) scale(1.07); opacity: 0.3; }
}

@keyframes shimmerNC {
  0%   { opacity: 0; transform: translateX(-100%); }
  40%  { opacity: 1; }
  100% { opacity: 0; transform: translateX(100%); }
}

@keyframes ncStickySlideUp {
  from { transform: translateY(110%); }
  to   { transform: translateY(0); }
}

@keyframes ncArrowBounce {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(4px); }
}

@keyframes laurelSway {
  0%, 100% { transform: rotate(-3deg); }
  50%       { transform: rotate(3deg); }
}

/* ---------- Hero entrance ---------- */
.hero__badge {
  opacity: 0;
  animation: ncFadeInUp 700ms var(--ease-out) 100ms both;
}
.hero h1 {
  opacity: 0;
  animation: ncFadeInUp 850ms var(--ease-out) 280ms both;
}
.hero__desc {
  opacity: 0;
  animation: ncFadeInUp 700ms var(--ease-out) 500ms both;
}
.hero__actions {
  opacity: 0;
  animation: ncFadeInUp 700ms var(--ease-out) 680ms both;
}
.hero__stats {
  opacity: 0;
  animation: ncFadeInUp 700ms var(--ease-out) 880ms both;
}

/* Brand media floating */
.brand-media img {
  animation: coinFloat 8s ease-in-out infinite;
}

/* Sticky slide up */
.sticky-promo {
  animation: ncStickySlideUp 500ms var(--ease-out) 1s both;
}

/* CTA gold pulse */
.btn--gold {
  animation: ncGoldPulse 3s ease-in-out infinite;
}

/* Arrow ghost bounce */
.btn--ghost .btn-arrow {
  animation: ncArrowBounce 1.5s ease-in-out infinite;
}
