/* Globale Textmarkierung (Highlighting) */

::selection {
	background-color: #d946ef;
	/* fuchsia-500 */
	
	color: white;
}
/* Sponsoren Marquee Animation */

@keyframes marquee {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

.animate-marquee {
	display: flex;
	width: max-content;
	animation: marquee 30s linear infinite;
}

.animate-marquee:hover {
	animation-play-state: paused;
}
/* Scroll-Animationen (Ersatz für React-Motion) */

.fade-in-up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-in-up.visible {
	opacity: 1;
	transform: translateY(0);
}

/* CSS mask for smooth fading edges on marquee */
.marquee-mask {
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

@keyframes gradient-pan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.animate-gradient-pan {
    background-size: 200% auto;
    animation: gradient-pan 4s linear infinite;
}

