:root {
    --primary: #3b82f6;
    --secondary: #f97316;
    --accent: #8b5cf6;
}

.category-card:hover {
    transform: translateY(-4px);
    transition: all 0.3s ease;
}

.support-icon {
    background: linear-gradient(135deg, var(--primary), #1e40af);
}

.faq-item {
    transition: all 0.3s ease;
}

.faq-item.active .faq-answer {
    max-height: 200px;
    opacity: 1;
}

.faq-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.contact-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.animate-fade-in-up {
    animation: fadeInUp 0.8s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.search-box:focus {
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}