cards.forEach(card => {
// For desktop - hover behavior
if (window.matchMedia("(hover: hover)").matches) {
card.addEventListener('mouseover', () => {
gsap.to(card, {
rotationY: "180deg",
duration: 0.8,
ease: "power2.inOut",
force3D: true
});
});
card.addEventListener('mouseout', () => {
gsap.to(card, {
rotationY: "0deg",
duration: 0.8,
ease: "power2.inOut",
force3D: true
});
});
}
// For mobile - click/tap behavior
else {
card.addEventListener('click', () => {
isFlipped = !isFlipped;
gsap.to(card, {
rotationY: isFlipped ? "180deg" : "0deg",
duration: 0.8,
ease: "power2.inOut",
force3D: true
});
});
}
});