/* Hover Animations CSS */

/* Base transition for all interactive elements */
.interactive {
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275),
                box-shadow 0.3s ease,
                opacity 0.3s ease;
}

/* Card hover effects */
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 24px rgba(105, 56, 239, 0.15);
}

/* Image hover effects */
.img-hover {
    transition: transform 0.5s ease;
    overflow: hidden;
}

.img-hover:hover {
    transform: scale(1.05);
}

/* Button hover effects */
.btn-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-hover:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Icon hover effects */
.icon-hover {
    transition: transform 0.3s ease;
}

.icon-hover:hover {
    transform: translateX(5px);
}

/* Link hover effects */
.link-hover {
    transition: color 0.3s ease, opacity 0.3s ease;
}

.link-hover:hover {
    opacity: 1;
}

/* Dark mode specific adjustments */
.dark-theme .card-hover:hover {
    box-shadow: 0 8px 24px rgba(105, 56, 239, 0.25);
}

.dark-theme .btn-hover:hover {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

/* Mobile optimizations */
@media (prefers-reduced-motion: reduce) {
    .interactive,
    .card-hover,
    .img-hover,
    .btn-hover,
    .icon-hover,
    .link-hover {
        transition: none !important;
        transform: none !important;
    }
} 