/**
 * StarRUO site header: top bar marquee.
 *
 * Elementor has no marquee control, so the scrolling is done here. The top
 * bar container carries the class sr-marquee and the inner track carries
 * sr-marquee-track; the track holds two identical icon lists and slides by
 * exactly half its width, so the loop is seamless.
 */

.sr-marquee { overflow: hidden; }

/* Elementor sizes containers and widgets to their parent with high-specificity
   rules, so the widths here have to win outright. */
.sr-marquee .sr-marquee-track {
	flex: 0 0 auto !important;
	flex-wrap: nowrap;
	width: max-content !important;
	max-width: none !important;
	animation: sr-marquee 60s linear infinite;
	will-change: transform;
}

.sr-marquee .sr-marquee-track > .elementor-widget { flex: 0 0 auto !important; width: max-content !important; max-width: none !important; }
.sr-marquee .sr-marquee-track .elementor-icon-list-items { flex-wrap: nowrap; width: max-content; }
.sr-marquee .sr-marquee-track .elementor-icon-list-item { white-space: nowrap; }
.sr-marquee:hover .sr-marquee-track { animation-play-state: paused; }

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

@media (prefers-reduced-motion: reduce) {
	.sr-marquee .sr-marquee-track { animation: none; }
}

/* Header menu - rounded pill behind the current item (Elementor has no radius control for the pointer). */
.sr-mainnav .elementor-nav-menu--main .elementor-item::before { border-radius: 100px; }
.sr-mainnav .elementor-nav-menu--main .elementor-item { transition: color .2s ease; }
.sr-mainnav .elementor-nav-menu--main .elementor-item.elementor-item-active { font-weight: 600; }


/* Off-canvas menu - current page gets a mint marker. */
.sr-offnav .elementor-nav-menu--dropdown a.elementor-item-active { font-weight: 600; }
.sr-offnav .elementor-nav-menu--dropdown a.elementor-item-active::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-right: 12px;
	border-radius: 50%;
	background: #8FD9B0;
	box-shadow: 0 0 0 3px rgba(143, 217, 176, .3);
}

/* Header menu - green underline grows in on hover; the current page keeps its pill. */
.sr-mainnav .elementor-nav-menu--main .elementor-item::after {
	content: "" !important;
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 5px;
	top: auto;
	height: 2px;
	border-radius: 2px;
	background: #0A4E2F !important;
	opacity: 1 !important;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
.sr-mainnav .elementor-nav-menu--main .elementor-item:hover::after,
.sr-mainnav .elementor-nav-menu--main .elementor-item:focus-visible::after { transform: scaleX(1); transform-origin: left center; }
.sr-mainnav .elementor-nav-menu--main .elementor-item.elementor-item-active::after { transform: scaleX(0); }
@media (prefers-reduced-motion: reduce) {
	.sr-mainnav .elementor-nav-menu--main .elementor-item::after { transition: none; }
}
