/**
 * TENARYA — Announcement Bar
 *
 * CSS-only continuous marquee.
 * Parent / Below Header background is preserved.
 * No JavaScript or external dependencies.
 */

.tenarya-announcement {
	--tenarya-announcement-text: #ffffff;
	--tenarya-announcement-separator: rgba(255, 255, 255, 0.5);
	--tenarya-announcement-gap: 20px;
	--tenarya-announcement-duration: 25s;

	width: 100%;
	overflow: hidden;

	color: var(--tenarya-announcement-text);

	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
}

.tenarya-announcement__viewport {
	width: 100%;
	overflow: hidden;
}

.tenarya-announcement__track {
	display: flex;
	width: max-content;

	animation:
		tenarya-announcement-scroll
		var(--tenarya-announcement-duration)
		linear
		infinite;

	will-change: transform;
}

.tenarya-announcement__group {
	display: flex;
	flex: 0 0 auto;
	align-items: center;

	gap: var(--tenarya-announcement-gap);

	padding:
		9px
		calc(var(--tenarya-announcement-gap) / 2);
}

.tenarya-announcement__group > span:not(.tenarya-announcement__separator) {
	flex: 0 0 auto;
	white-space: nowrap;
}

.tenarya-announcement__separator {
	flex: 0 0 auto;

	color: var(--tenarya-announcement-separator);

	font-size: 9px;
	font-weight: 400;
	line-height: 1;
}

/*
 * Pause animation for mouse and keyboard users.
 */
.tenarya-announcement:hover .tenarya-announcement__track,
.tenarya-announcement:focus .tenarya-announcement__track,
.tenarya-announcement:focus-within .tenarya-announcement__track {
	animation-play-state: paused;
}

.tenarya-announcement:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.9);
	outline-offset: -3px;
}

/*
 * Four identical groups are used.
 * Moving 25% equals exactly one complete group,
 * producing a seamless loop.
 */
@keyframes tenarya-announcement-scroll {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(-25%, 0, 0);
	}
}

/*
 * Mobile.
 */
@media (max-width: 767px) {
	.tenarya-announcement {
		--tenarya-announcement-gap: 18px;
		--tenarya-announcement-duration: 20s;

		font-size: 13px;
	}

	.tenarya-announcement__group {
		padding-top: 8px;
		padding-bottom: 8px;
	}
}

/*
 * Respect user's reduced-motion preference.
 */
@media (prefers-reduced-motion: reduce) {
	.tenarya-announcement__track {
		width: 100%;
		animation: none;
		transform: none;
	}

	.tenarya-announcement__group {
		display: none;
	}

	.tenarya-announcement__group:first-child {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;

		gap: 6px 16px;

		padding: 9px 16px;
	}
}