/**
 * NND Hero Cover - Ken Burns Effect
 * @package     Astroid Framework
 * @author      Net 'n' Design
 * @copyright   Copyright (C) 2024 Net 'n' Design
 */

/* ========================================
   Ken Burns Effect Animations
   ======================================== */

/* Base Ken Burns setup */
.nnd-herocover.effect-kenburns .nnd-herocover-bg {
    will-change: transform;
    animation-timing-function: linear;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

/* Zoom In */
.nnd-herocover.effect-kenburns[data-kenburns="zoom-in"] .nnd-herocover-bg {
    animation-name: nnd-kenburns-zoom-in;
    transform: scale(1);
}

@keyframes nnd-kenburns-zoom-in {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.2);
    }
}

/* Zoom Out */
.nnd-herocover.effect-kenburns[data-kenburns="zoom-out"] .nnd-herocover-bg {
    animation-name: nnd-kenburns-zoom-out;
    transform: scale(1.2);
}

@keyframes nnd-kenburns-zoom-out {
    0% {
        transform: scale(1.2);
    }
    100% {
        transform: scale(1);
    }
}

/* Pan Left to Right */
.nnd-herocover.effect-kenburns[data-kenburns="pan-left"] .nnd-herocover-bg {
    animation-name: nnd-kenburns-pan-left;
    transform: scale(1.1) translateX(-5%);
}

@keyframes nnd-kenburns-pan-left {
    0% {
        transform: scale(1.1) translateX(-5%);
    }
    100% {
        transform: scale(1.1) translateX(5%);
    }
}

/* Pan Right to Left */
.nnd-herocover.effect-kenburns[data-kenburns="pan-right"] .nnd-herocover-bg {
    animation-name: nnd-kenburns-pan-right;
    transform: scale(1.1) translateX(5%);
}

@keyframes nnd-kenburns-pan-right {
    0% {
        transform: scale(1.1) translateX(5%);
    }
    100% {
        transform: scale(1.1) translateX(-5%);
    }
}

/* Zoom In with Pan */
.nnd-herocover.effect-kenburns[data-kenburns="zoom-pan"] .nnd-herocover-bg {
    animation-name: nnd-kenburns-zoom-pan;
    transform: scale(1) translateX(-3%);
}

@keyframes nnd-kenburns-zoom-pan {
    0% {
        transform: scale(1) translateX(-3%);
    }
    100% {
        transform: scale(1.15) translateX(3%);
    }
}

/* Animation Duration Classes */
.nnd-herocover.effect-kenburns[data-kenburns-speed="slow"] .nnd-herocover-bg {
    animation-duration: 25s;
}

.nnd-herocover.effect-kenburns[data-kenburns-speed="medium"] .nnd-herocover-bg {
    animation-duration: 15s;
}

.nnd-herocover.effect-kenburns[data-kenburns-speed="fast"] .nnd-herocover-bg {
    animation-duration: 8s;
}

/* Disable for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .nnd-herocover.effect-kenburns .nnd-herocover-bg {
        animation: none !important;
        transform: scale(1) translateX(0) !important;
    }
}
