/**
 * Countdown Deal - Animations CSS
 * 
 * CSS animations for product cards
 * 
 * @package Countdown_Deal
 * @author Templines
 * @link https://templines.com
 * @since 1.0.0
 */

/* Base animation class */
.cd-animated {
    opacity: 0;
    visibility: hidden;
    will-change: transform, opacity;
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.cd-animated.cd-visible {
    opacity: 1;
    visibility: visible;
}

/* Fade animation */
.cd-animation-fade {
    opacity: 0;
}

.cd-animation-fade.cd-visible {
    opacity: 1;
}

/* Fade Up animation */
.cd-animation-fade-up {
    opacity: 0;
    transform: translateY(30px);
}

.cd-animation-fade-up.cd-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade Down animation */
.cd-animation-fade-down {
    opacity: 0;
    transform: translateY(-30px);
}

.cd-animation-fade-down.cd-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade Left animation */
.cd-animation-fade-left {
    opacity: 0;
    transform: translateX(30px);
}

.cd-animation-fade-left.cd-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Fade Right animation */
.cd-animation-fade-right {
    opacity: 0;
    transform: translateX(-30px);
}

.cd-animation-fade-right.cd-visible {
    opacity: 1;
    transform: translateX(0);
}

/* Zoom In animation */
.cd-animation-zoom-in {
    opacity: 0;
    transform: scale(0.9);
}

.cd-animation-zoom-in.cd-visible {
    opacity: 1;
    transform: scale(1);
}

/* Zoom Out animation */
.cd-animation-zoom-out {
    opacity: 0;
    transform: scale(1.1);
}

.cd-animation-zoom-out.cd-visible {
    opacity: 1;
    transform: scale(1);
}

/* Slide Up animation */
.cd-animation-slide-up {
    transform: translateY(100%);
    opacity: 0;
}

.cd-animation-slide-up.cd-visible {
    transform: translateY(0);
    opacity: 1;
}

/* Slide Down animation */
.cd-animation-slide-down {
    transform: translateY(-100%);
    opacity: 0;
}

.cd-animation-slide-down.cd-visible {
    transform: translateY(0);
    opacity: 1;
}

/* Slide Left animation */
.cd-animation-slide-left {
    transform: translateX(100%);
    opacity: 0;
}

.cd-animation-slide-left.cd-visible {
    transform: translateX(0);
    opacity: 1;
}

/* Slide Right animation */
.cd-animation-slide-right {
    transform: translateX(-100%);
    opacity: 0;
}

.cd-animation-slide-right.cd-visible {
    transform: translateX(0);
    opacity: 1;
}
