body {
	/* Override the page background to match the component's dark theme */
	background-color: #000000;
}

.premium-moving-bg-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000000;
	overflow: hidden;
	z-index: -1;
	pointer-events: none; /* No interaction, acts as background */
}

.premium-moving-bg-container {
	position: absolute;
	top: 50%;
	left: 50%;
	/* Oversized container to ensure corners are covered after rotation */
	width: 220vw;
	height: 200vh;
	transform: translate(-50%, -50%) rotate(-12deg);
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
}

.premium-moving-row {
	display: flex;
	white-space: nowrap;
	width: 200%; /* Important: contains 2 identical child items to allow a seamless 50% translation */
	will-change: transform;
}

.premium-moving-text {
	width: 50%; /* Each duplicated block takes up half the row */
	color: rgba(255, 255, 255, 0.06);
	font-family: sans-serif;
	font-weight: 900;
	font-size: clamp(60px, 9vw, 150px);
	text-transform: uppercase;
	letter-spacing: 4px;
	line-height: 1;
	display: flex;
	align-items: center;
}

/* Animations */
@keyframes moveLeft {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

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

.row-left {
	animation: moveLeft linear infinite;
}

.row-right {
	animation: moveRight linear infinite;
}

/* Specific Row Timings */
.row-time-24 { animation-duration: 24s; }
.row-time-28 { animation-duration: 28s; }
.row-time-31 { animation-duration: 31s; }
.row-time-27 { animation-duration: 27s; }
.row-time-34 { animation-duration: 34s; }
