.mpl-global-newsbar {
	position: relative;
	z-index: 1;
	width: 100%;
	flex: 0 0 auto;
	min-height: var(--mpl-newsbar-height);
	background: var(--mpl-newsbar-bg);
	color: var(--mpl-newsbar-text);
	font: inherit;
	line-height: 1.2;
	overflow: hidden;
	box-sizing: border-box;
	--mpl-newsbar-glow: #00ccff;
	--mpl-newsbar-item-gap: 160px;
}

/*
 * Der Elementor-Header sitzt oft als fixed-Container bei top:0.
 * Die Newsbar liegt deshalb selbst fixed ganz oben und schiebt
 * den Header per JS um --mpl-newsbar-offset nach unten.
 */
.mpl-global-newsbar--fixed-top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 10001;
}

[data-elementor-type="header"] > .mpl-global-newsbar,
.e-con-inner > .mpl-global-newsbar {
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	align-self: stretch;
	order: -1;
}

.mpl-global-newsbar *,
.mpl-global-newsbar *::before,
.mpl-global-newsbar *::after {
	box-sizing: border-box;
}

.mpl-global-newsbar__viewport {
	width: 100%;
	overflow: hidden;
}

.mpl-global-newsbar__track {
	display: flex;
	align-items: center;
	width: max-content;
	min-width: 100%;
	min-height: var(--mpl-newsbar-height);
	will-change: transform, opacity;
}

/*
 * Abstand zwischen Botschaften = gap.
 * Seitliches Padding = halber Gap, damit der Übergang
 * zwischen den beiden Ticker-Sequenzen denselben Abstand hat.
 */
.mpl-global-newsbar__sequence {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: var(--mpl-newsbar-item-gap);
	padding: 8px calc(var(--mpl-newsbar-item-gap) / 2);
	white-space: nowrap;
}

.mpl-global-newsbar__item {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	flex: 0 0 auto;
}

.mpl-global-newsbar__text {
	margin: 0;
	color: inherit;
	text-shadow:
		0 0 6px rgba(0, 204, 255, 0.85),
		0 0 14px rgba(0, 204, 255, 0.55),
		0 0 28px rgba(0, 204, 255, 0.35);
}

.mpl-global-newsbar__text p {
	margin: 0;
}

.mpl-global-newsbar__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 8px 18px;
	border: 1px solid rgba(0, 204, 255, 0.35);
	border-radius: 999px;
	background: var(--mpl-newsbar-button-bg);
	color: var(--mpl-newsbar-button-text);
	-webkit-text-fill-color: var(--mpl-newsbar-button-text);
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	box-shadow:
		0 0 5px rgba(0, 204, 255, 0.45),
		0 0 12px rgba(0, 204, 255, 0.28),
		0 0 20px rgba(0, 204, 255, 0.16);
	transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
}

/*
 * Ticker-Klon: Themes/A11y-CSS blenden [aria-hidden] oft aus
 * (Text weg, Glow/Rahmen bleiben) – explizit sichtbar halten.
 */
.mpl-global-newsbar__sequence--clone,
.mpl-global-newsbar__sequence--clone * {
	visibility: visible !important;
	opacity: 1 !important;
}

.mpl-global-newsbar__sequence--clone .mpl-global-newsbar__text,
.mpl-global-newsbar__sequence--clone .mpl-global-newsbar__text * {
	color: var(--mpl-newsbar-text) !important;
	-webkit-text-fill-color: var(--mpl-newsbar-text) !important;
}

.mpl-global-newsbar__sequence--clone .mpl-global-newsbar__button {
	color: var(--mpl-newsbar-button-text) !important;
	-webkit-text-fill-color: var(--mpl-newsbar-button-text) !important;
}

a.mpl-global-newsbar__button:hover,
a.mpl-global-newsbar__button:focus {
	color: var(--mpl-newsbar-button-text);
	-webkit-text-fill-color: var(--mpl-newsbar-button-text);
	opacity: .95;
	transform: translateY(-1px);
	box-shadow:
		0 0 6px rgba(0, 204, 255, 0.55),
		0 0 14px rgba(0, 204, 255, 0.35),
		0 0 24px rgba(0, 204, 255, 0.2);
}

.mpl-newsbar--ticker .mpl-global-newsbar__track {
	animation: mplGlobalNewsbarTicker var(--mpl-newsbar-speed) linear infinite;
}

.mpl-newsbar--ticker:hover .mpl-global-newsbar__track,
.mpl-newsbar--ticker:focus-within .mpl-global-newsbar__track {
	animation-play-state: paused;
}

.mpl-newsbar--fade .mpl-global-newsbar__track,
.mpl-newsbar--none .mpl-global-newsbar__track {
	width: 100%;
	min-width: 0;
	justify-content: center;
}

.mpl-newsbar--fade .mpl-global-newsbar__track {
	animation: mplGlobalNewsbarFade .55s ease both;
}

.mpl-newsbar--fade .mpl-global-newsbar__sequence,
.mpl-newsbar--none .mpl-global-newsbar__sequence {
	flex-wrap: wrap;
	justify-content: center;
	max-width: var(--mpl-newsbar-max-width);
	margin: 0 auto;
	gap: 24px 48px;
	padding: 8px 24px;
	white-space: normal;
}

@keyframes mplGlobalNewsbarTicker {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@keyframes mplGlobalNewsbarFade {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767px) {
	.mpl-global-newsbar {
		--mpl-newsbar-item-gap: 100px;
	}

	.mpl-global-newsbar__sequence {
		font-size: 13px;
	}

	.mpl-global-newsbar__item {
		gap: 10px;
	}

	.mpl-global-newsbar__button {
		padding: 7px 14px;
	}

	.mpl-newsbar--ticker .mpl-global-newsbar__track {
		animation-duration: calc(var(--mpl-newsbar-speed) * .9);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mpl-global-newsbar__track {
		animation: none !important;
		transform: none !important;
	}

	.mpl-newsbar--ticker .mpl-global-newsbar__sequence--clone {
		display: none;
	}

	.mpl-newsbar--ticker .mpl-global-newsbar__track {
		width: 100%;
		justify-content: center;
	}

	.mpl-newsbar--ticker .mpl-global-newsbar__sequence {
		flex-wrap: wrap;
		justify-content: center;
		white-space: normal;
		gap: 16px 32px;
		padding: 8px 16px;
	}
}
