.rpm-marquee-wrap {
	position: relative;
	display: flex;
	align-items: stretch;
	width: 100%;
	overflow: hidden;
	border-radius: 6px;
	background: linear-gradient(90deg, var(--rpm-bg1, #e50914), var(--rpm-bg2, #141414), var(--rpm-bg1, #e50914));
	font-family: inherit;
}

.rpm-marquee-wrap.rpm-glow-line::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 200%;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--rpm-accent1, #fff), var(--rpm-accent2, #ffd400), var(--rpm-accent1, #fff), transparent);
	animation: rpm-line-slide 4s linear infinite;
}

@keyframes rpm-line-slide {
	0% { transform: translateX(-50%); }
	100% { transform: translateX(0%); }
}

.rpm-label {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	background: var(--rpm-label-bg, #141414);
	color: var(--rpm-text, #fff);
	font-weight: 700;
	padding: 10px 18px;
	white-space: nowrap;
	clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
	padding-right: 30px;
	margin-right: -14px;
	position: relative;
	z-index: 2;
}

.rpm-marquee-wrap.rpm-pulse-label .rpm-label {
	animation: rpm-pulse 1.8s ease-in-out infinite;
}

@keyframes rpm-pulse {
	0%, 100% { box-shadow: 0 0 6px 0 var(--rpm-accent1, #fff); opacity: 0.85; }
	50% { box-shadow: 0 0 16px 2px var(--rpm-accent2, #ffd400); opacity: 1; }
}

.rpm-marquee-track-outer {
	flex: 1;
	overflow: hidden;
	position: relative;
	display: flex;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}

.rpm-marquee-track {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0 20px;
	white-space: nowrap;
	animation: rpm-scroll var(--rpm-speed, 25s) linear infinite;
	flex-shrink: 0;
}

.rpm-marquee-track li {
	margin-right: 40px;
}

.rpm-marquee-track a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--rpm-text, #fff);
	text-decoration: none;
	font-size: var(--rpm-font-size, 15px);
	font-weight: 500;
}

.rpm-marquee-track a:hover {
	text-decoration: underline;
}

.rpm-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--rpm-accent1, rgba(255,255,255,0.25));
	color: var(--rpm-bg1, #e50914);
	font-size: 10px;
	flex-shrink: 0;
}

@keyframes rpm-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-100%); }
}

.rpm-marquee-wrap.rpm-pause-hover:hover .rpm-marquee-track {
	animation-play-state: paused;
}

@media (max-width: 600px) {
	.rpm-label { padding: 8px 14px; padding-right: 24px; font-size: 14px; }
	.rpm-marquee-track a { font-size: 13px; }
}
