/* Pulse */
.pulse{
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* ===== Slide-In Animationen ===== */

/* Slide In von Links */
.slide-in-left {
    opacity: 0;
    transform: translateX(-100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-in-left.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Slide In von Rechts */
.slide-in-right {
    opacity: 0;
    transform: translateX(100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-in-right.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Slide In von Oben */
.slide-in-top {
    opacity: 0;
    transform: translateY(-100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-in-top.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Slide In von Unten */
.slide-in-bottom {
    opacity: 0;
    transform: translateY(100px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.slide-in-bottom.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Fade In (ohne Bewegung) */
.fade-in {
    opacity: 0;
    transition: opacity 0.6s ease-out;
}

.fade-in.animate {
    opacity: 1;
}

/* Zoom In */
.zoom-in {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.zoom-in.animate {
    opacity: 1;
    transform: scale(1);
}

/* Flip In */
.flip-in {
    opacity: 0;
    transform: perspective(400px) rotateY(90deg);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.flip-in.animate {
    opacity: 1;
    transform: perspective(400px) rotateY(0);
}