/*
 * animations.css — Global Transitions & Animations
 * Digital Apache v3
 *
 * PURPOSE: Reusable transition utilities, hover motions,
 * and keyframe animations.
 * All keyframes prefixed with da- to prevent plugin conflicts.
 * No @media queries. No hardcoded values. No transition: all.
 *
 * DEPENDENCIES: tokens.css → reset.css → base.css → animations.css
 * LOAD ORDER: Eighth.
 */

/* ============================================
   TRANSITION UTILITIES
   Property list matches --transition-base
   in tokens.css exactly.
============================================ */

.transition--fast {
    transition: background-color var(--duration-fast) var(--ease-default),
        border-color var(--duration-fast) var(--ease-default),
        color var(--duration-fast) var(--ease-default),
        opacity var(--duration-fast) var(--ease-default),
        box-shadow var(--duration-fast) var(--ease-default),
        transform var(--duration-fast) var(--ease-default);
}

.transition--base {
    transition: var(--transition-base);
}

.transition--slow {
    transition: background-color var(--duration-slow) var(--ease-default),
        border-color var(--duration-slow) var(--ease-default),
        color var(--duration-slow) var(--ease-default),
        opacity var(--duration-slow) var(--ease-default),
        box-shadow var(--duration-slow) var(--ease-default),
        transform var(--duration-slow) var(--ease-default);
}

/* ============================================
   HOVER MOTIONS
============================================ */

.hover--lift {
    transition: var(--transition-base);
}

.hover--lift:hover {
    transform: translateY(calc(-1 * var(--space-1)));
}

/* ============================================
   KEYFRAMES
============================================ */

@keyframes da-pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes da-fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

/* ============================================
   ANIMATION CLASSES
============================================ */

.animate--pulse {
    animation: da-pulse var(--duration-pulse) infinite var(--ease-in-out);
}

.animate--fade-in {
    animation: da-fade-in var(--duration-slow) var(--ease-in-out) forwards;
}

/* End of animations.css */