/* ==========================================================================
   Abadat Widget Entrance Animations
   ========================================================================== */

@keyframes abadat-fade-up {
    from { opacity: 0; transform: translateY(25px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes abadat-fade {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes abadat-zoom {
    from { opacity: 0; transform: scale(0.95); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes abadat-slide-left {
    from { opacity: 0; transform: translateX(-30px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes abadat-slide-right {
    from { opacity: 0; transform: translateX(30px); }
    to   { opacity: 1; transform: translateX(0); }
}

.abadat-animate,
.abadat-animate-fade,
.abadat-animate-zoom,
.abadat-animate-left,
.abadat-animate-right {
    opacity: 0;
    will-change: transform, opacity;
    backface-visibility: hidden;
}

.abadat-animate.abadat-visible {
    animation: abadat-fade-up 0.6s ease-out forwards;
}

.abadat-animate-fade.abadat-visible {
    animation: abadat-fade 0.6s ease-out forwards;
}

.abadat-animate-zoom.abadat-visible {
    animation: abadat-zoom 0.6s ease-out forwards;
}

.abadat-animate-left.abadat-visible {
    animation: abadat-slide-left 0.6s ease-out forwards;
}

.abadat-animate-right.abadat-visible {
    animation: abadat-slide-right 0.6s ease-out forwards;
}

.abadat-animate-stagger > .abadat-animate.abadat-visible,
.abadat-animate-stagger > .abadat-animate-fade.abadat-visible,
.abadat-animate-stagger > .abadat-animate-zoom.abadat-visible,
.abadat-animate-stagger > .abadat-animate-left.abadat-visible,
.abadat-animate-stagger > .abadat-animate-right.abadat-visible {
    animation-fill-mode: both;
}

.abadat-animate-stagger > :nth-child(1) { animation-delay: 0s; }
.abadat-animate-stagger > :nth-child(2) { animation-delay: 0.08s; }
.abadat-animate-stagger > :nth-child(3) { animation-delay: 0.16s; }
.abadat-animate-stagger > :nth-child(4) { animation-delay: 0.24s; }
.abadat-animate-stagger > :nth-child(5) { animation-delay: 0.32s; }
.abadat-animate-stagger > :nth-child(6) { animation-delay: 0.40s; }
.abadat-animate-stagger > :nth-child(7) { animation-delay: 0.48s; }
.abadat-animate-stagger > :nth-child(8) { animation-delay: 0.56s; }

@media (prefers-reduced-motion: reduce) {
    .abadat-animate,
    .abadat-animate-fade,
    .abadat-animate-zoom,
    .abadat-animate-left,
    .abadat-animate-right {
        opacity: 1;
        animation: none;
    }
}
