.prod_card.animate-up {
    opacity: 1;
}

.reveal-hidden {
    opacity: 0;
    visibility: hidden; 
}

@keyframes slideInLeft {
    0% { opacity: 0; transform: translateX(-60px); }
    100% { opacity: 1; transform: translateX(0); }
}
.animate-left {
    animation: slideInLeft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    visibility: visible;
}

@keyframes slideInRight {
    0% { opacity: 0; transform: translateX(60px); }
    100% { opacity: 1; transform: translateX(0); }
}
.animate-right {
    animation: slideInRight 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    visibility: visible;
}

@keyframes slideInUp {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}
.animate-up {
    animation: slideInUp 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    visibility: visible;
}

@keyframes fadeInSimple {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
.animate-fade {
    animation: fadeInSimple 0.8s ease-out forwards;
    visibility: visible;
}

.delay-200 { animation-delay: 0.2s; }
.delay-500 { animation-delay: 0.5s; }

@media (max-width: 768px) {
    @keyframes slideInLeft { 0% { opacity: 0; transform: translateX(-20px); } 100% { opacity: 1; transform: translateX(0); } }
    @keyframes slideInRight { 0% { opacity: 0; transform: translateX(20px); } 100% { opacity: 1; transform: translateX(0); } }
}