/* Animaciones al scroll */

/* Estado inicial - invisible y desplazado */
.categoria-card,
.producto-card,
.caracteristica-item {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Estado animado - visible */
.categoria-card.animate-in,
.producto-card.animate-in,
.caracteristica-item.animate-in {
    opacity: 1;
    transform: translateY(0);
}

/* Animación alternativa para más dinamismo */
@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Aplicar animaciones específicas */
.categoria-card.animate-in {
    animation: slideInUp 0.6s ease-out forwards;
}

.producto-card.animate-in {
    animation: slideInUp 0.6s ease-out forwards;
}

.caracteristica-item.animate-in {
    animation: fadeInScale 0.6s ease-out forwards;
}
