/* Project-specific overrides beyond Tailwind utilities. */

[x-cloak] {
    display: none !important;
}

@keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.animate-marquee {
    animation: marquee 30s linear infinite;
}

.animate-marquee:hover {
    animation-play-state: paused;
}

/* Page-hero banner (views/components/page-hero.php) */
@keyframes float-particle {
    0%, 100% { transform: translateY(0) scale(1); opacity: .5; }
    50%      { transform: translateY(-16px) scale(1.2); opacity: 1; }
}

.particle-float {
    animation-name: float-particle;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

/* Brand partner badges (views/components/brand-partners.php) */
.partner-badge {
    transition: transform .3s ease, filter .3s ease;
}

.partner-badge-item:hover .partner-badge {
    transform: scale(1.1);
    filter: drop-shadow(0 0 14px rgba(255, 184, 0, .55));
}

/* Hero slider (views/components/hero.php) */
@keyframes hero-kenburns {
    from { transform: scale(1); }
    to   { transform: scale(1.1); }
}

.hero-kenburns {
    animation: hero-kenburns 3.2s ease-out forwards;
}

@keyframes hero-progress-fill {
    from { transform: scaleX(0); }
    to   { transform: scaleX(1); }
}

.hero-progress {
    animation: hero-progress-fill 3s linear forwards;
}

@keyframes hero-float {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}

.hero-float {
    animation: hero-float 4s ease-in-out infinite;
}

/* Shared pause helper — bound to Alpine's `paused` state so the zoom,
   progress fill, and float animations all freeze together on hover. */
.hero-anim-paused {
    animation-play-state: paused;
}
