/**
 * Animazioni Scroll - Stili CSS
 * Supporta animazioni per elementi standard e SVG
 */

/* Stato iniziale - elemento nascosto */
.animation-hidden {
    opacity: 0 !important;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Stato visibile */
.animation-visible {
    opacity: 1 !important;
}

/* Fade Up - Dal basso verso l'alto */
[data-animate="fade-up"].animation-hidden {
    transform: translateY(30px) !important;
}

[data-animate="fade-up"].animation-visible {
    transform: translateY(0) !important;
}

/* Fade Down - Dall'alto verso il basso */
[data-animate="fade-down"].animation-hidden {
    transform: translateY(-30px) !important;
}

[data-animate="fade-down"].animation-visible {
    transform: translateY(0) !important;
}

/* Fade Left - Da destra verso sinistra */
[data-animate="fade-left"].animation-hidden {
    transform: translateX(30px) !important;
}

[data-animate="fade-left"].animation-visible {
    transform: translateX(0) !important;
}

/* Fade Right - Da sinistra verso destra */
[data-animate="fade-right"].animation-hidden {
    transform: translateX(-30px) !important;
}

[data-animate="fade-right"].animation-visible {
    transform: translateX(0) !important;
}

/* Scale - Zoom in */
[data-animate="scale"].animation-hidden {
    transform: scale(0.9) !important;
}

[data-animate="scale"].animation-visible {
    transform: scale(1) !important;
}

/* Rotate - Rotazione */
[data-animate="rotate"].animation-hidden {
    transform: rotate(-5deg) !important;
}

[data-animate="rotate"].animation-visible {
    transform: rotate(0) !important;
}

/* SVG Draw - Animazione disegno per SVG */
[data-animate="draw"] {
    transition-duration: 1.5s !important;
}

[data-animate="draw"].animation-hidden path,
[data-animate="draw"].animation-hidden circle,
[data-animate="draw"].animation-hidden rect,
[data-animate="draw"].animation-hidden line,
[data-animate="draw"].animation-hidden polyline,
[data-animate="draw"].animation-hidden polygon {
    stroke-dasharray: 1000 !important;
    stroke-dashoffset: 1000 !important;
    transition: stroke-dashoffset 1.5s ease-in-out !important;
}

[data-animate="draw"].animation-visible path,
[data-animate="draw"].animation-visible circle,
[data-animate="draw"].animation-visible rect,
[data-animate="draw"].animation-visible line,
[data-animate="draw"].animation-visible polyline,
[data-animate="draw"].animation-visible polygon {
    stroke-dashoffset: 0 !important;
}

/* Scribble - Animazione ellisse disegnata */
[data-animate="scribble"] {
    position: relative;
    display: inline-block;
    opacity: 1 !important;
    /* Mantieni il testo sempre visibile */
}

/* Non nascondere il testo dello scribble */
[data-animate="scribble"].animation-hidden {
    opacity: 1 !important;
}

[data-animate="scribble"].animation-visible {
    opacity: 1 !important;
}

/* Combinazioni */
[data-animate="fade-scale"].animation-hidden {
    transform: translateY(30px) scale(0.9) !important;
}

[data-animate="fade-scale"].animation-visible {
    transform: translateY(0) scale(1) !important;
}