/* ===== SCROLL ANIMACIJE - POBOLJŠAN CSS ===== */

/* Osnovni stil - element je sakriven */
.scroll-animate {
    opacity: 0;
    transform: translateY(50px);
    transition: none;
    visibility: visible !important; /* Osiguraj da su elementi vidljivi */
}

.scroll-animate.animated {
    opacity: 1;
    transform: translateY(0);
    animation-duration: 0.8s;
    animation-fill-mode: both;
}

/* Footer animacije */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
    visibility: visible !important;
}

.animate-on-scroll.animated {
    opacity: 1;
    transform: translateY(0);
}

/* Glavne animacije */
.scroll-animate[data-animate="fadeInUp"].animated {
    animation-name: fadeInUpCustom;
}

.scroll-animate[data-animate="fadeInLeft"].animated {
    animation-name: fadeInLeftCustom;
}

.scroll-animate[data-animate="fadeInRight"].animated {
    animation-name: fadeInRightCustom;
}

.scroll-animate[data-animate="fadeInDown"].animated {
    animation-name: fadeInDownCustom;
}

/* Keyframes */
@keyframes fadeInUpCustom {
    from {
        opacity: 0;
        transform: translateY(50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeftCustom {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRightCustom {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInDownCustom {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Process step animacije */
.process-step.scroll-animate.animated {
    animation: slideInUpBounce 0.8s ease-out both;
}

@keyframes slideInUpBounce {
    0% {
        opacity: 0;
        transform: translateY(60px) scale(0.9);
    }
    60% {
        opacity: 1;
        transform: translateY(-10px) scale(1.02);
    }
    100% {
        transform: translateY(0) scale(1);
    }
}

/* Tab animacije */
.tab-pane .scroll-animate.animated {
    animation: fadeInUpContent 0.6s ease-out both;
}

@keyframes fadeInUpContent {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Cascade delay za process step-ove */
.process-step[data-delay="500"] { animation-delay: 0.1s; }
.process-step[data-delay="600"] { animation-delay: 0.2s; }
.process-step[data-delay="700"] { animation-delay: 0.3s; }
.process-step[data-delay="800"] { animation-delay: 0.4s; }

/* Cascade delay za tab content */
.tab-pane .scroll-animate[data-delay="800"] { animation-delay: 0.1s; }
.tab-pane .scroll-animate[data-delay="900"] { animation-delay: 0.2s; }
.tab-pane .scroll-animate[data-delay="1000"] { animation-delay: 0.3s; }
.tab-pane .scroll-animate[data-delay="1100"] { animation-delay: 0.4s; }

/* Footer cascade delay */
.newsletter-animation { transition-delay: 0.1s; }
.social-animation { transition-delay: 0.2s; }
.contact-animation { transition-delay: 0.3s; }
.logo-animation { transition-delay: 0.4s; }
.copyright-animation { transition-delay: 0.5s; }
/* Counter animacije */
.counter-number {
    transition: all 0.3s ease;
}

.counter-number.counting {
    animation: pulse 0.5s ease-in-out infinite alternate;
}

.counter-number.counted {
    color: #0056b3;
}

@keyframes pulse {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.05);
    }
}

