/* Custom CSS for animations and gradients */
.gradient-bg {
    background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: gradientShift 15s ease infinite;
    width: 100%;
    height: 100%;
}

@keyframes gradientShift {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

.animate-text-gradient {
    background-size: 200% auto;
    animation: textGradient 3s linear infinite;
}

@keyframes textGradient {
    to {
        background-position: 200% center;
    }
}

.feature-card {
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Dark mode support */
.dark .gradient-bg {
    opacity: 0.3;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.dark ::-webkit-scrollbar-track {
    background: #1f2937;
}

.dark ::-webkit-scrollbar-thumb {
    background: #4b5563;
}

/* Pricing toggle animation */
#billing-toggle {
    transform: translateX(0);
}

#billing-toggle.yearly {
    transform: translateX(100%);
}

/* Price animation */
.price-crossed {
    position: relative;
    display: inline-block;
}

.price-crossed::after {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 2px;
    background: #ef4444;
    transform: rotate(-15deg);
    animation: strike 0.3s ease-out;
}

@keyframes strike {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gradient-bg {
        animation-duration: 20s;
    }
}