/* QTick Global Animations */

.animate-float {
    animation: float 6s ease-in-out infinite;
}

.animate-float-slow {
    animation: float 8s ease-in-out infinite;
}

.animate-float-medium {
    animation: float 5s ease-in-out infinite;
}

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

@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

/* Scroll Reveal Animation */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.5, 0, 0, 1);
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Attention Pulse for CTAs */
@keyframes attention-pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.4);
    }

    50% {
        transform: scale(1.05);
        box-shadow: 0 0 0 10px rgba(99, 102, 241, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(99, 102, 241, 0);
    }
}

.animate-attention {
    animation: attention-pulse 2s infinite;
}

/* Hero Entrance Animation */
@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    opacity: 0;
    animation: fade-in-up 0.8s ease-out forwards;
}

@keyframes slide-in-left {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-slide-in-left {
    opacity: 0;
    animation: slide-in-left 0.7s ease-out forwards;
}

@keyframes slide-in-right {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.animate-slide-in-right {
    opacity: 0;
    animation: slide-in-right 0.7s ease-out forwards;
}

.shadow-glow {
    filter: drop-shadow(0 0 8px rgba(236, 72, 153, 0.5));
}

/* Stable padding for cards with large rounded corners (40px radius) */
.feature-card-content-padding {
    padding: 3.5rem 4rem 4rem 4rem !important;
    /* pt-14, px-16, pb-16 equivalent */
}

@media (max-width: 768px) {
    .feature-card-content-padding {
        padding: 2rem !important;
        /* Reset to safe smaller padding for mobile */
    }
}