/* Subcategory Button Styles */
.subcategory-list {
    margin: 0 0 16px 0;
    padding: 0;
    list-style: none;
    display: none;
    flex-direction: column;
    gap: 8px !important;
}

.subcategory-list.show {
    display: flex;
}

.subcategory-btn {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
    color: #333;
    border: none;
    border-radius: 18px;
    padding: 10px 10px;
    margin-bottom: 2px !important;
    margin-top: 2px !important;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
}

.subcategory-btn:hover, .subcategory-btn.active {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #fff;
    transform: translateY(-2px);
}

/* Category Transition Animations */
.subcategory-list {
    transition: all 0.5s ease;
    transform: translateY(0);
    opacity: 1;
}

.subcategory-list:not(.show) {
    transform: translateY(-10px);
    opacity: 0;
}

/* Service Card Animations */
.service-card {
    transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
    transform: translateY(0) scale(1);
}

.service-card.fade-out {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
}

.service-card.fade-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@keyframes cardFadeIn {
    from {
        opacity: 0;
        transform: translateY(30px) scale(0.9);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.service-card.animate-in {
    animation: cardFadeIn 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
