/* Scroll Arrow Frontend Styles */
.scroll-arrow {
    display: inline-block;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s ease;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.scroll-arrow:hover {
    transform: scale(1.1);
}

/* Animation Classes */
.bounce-smooth {
    animation: bounce-smooth 2s infinite ease-in-out;
}

.bounce-pulse {
    animation: bounce-pulse 2s infinite ease-in-out;
}

.bounce-float {
    animation: bounce-float 3s infinite ease-in-out;
}

.bounce-swing {
    animation: bounce-swing 2s infinite ease-in-out;
}

.bounce-none {
    animation: none;
}

/* Keyframe Animations */
@keyframes bounce-smooth {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

@keyframes bounce-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.7;
    }
}

@keyframes bounce-float {
    0%, 100% {
        transform: translateY(0px);
    }
    33% {
        transform: translateY(-8px);
    }
    66% {
        transform: translateY(-4px);
    }
}

@keyframes bounce-swing {
    0%, 100% {
        transform: rotate(0deg);
    }
    25% {
        transform: rotate(-10deg);
    }
    75% {
        transform: rotate(10deg);
    }
}

/* Pause animation on hover for better UX */
.scroll-arrow:hover {
    animation-play-state: paused;
}

/* Link wrapper styles */
a .scroll-arrow {
    color: inherit;
}

a:hover .scroll-arrow {
    text-decoration: none;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .scroll-arrow {
        font-size: 0.8em !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-arrow {
        animation: none !important;
    }
}