/**
 * Shared GrassGames top navigation chrome.
 * Link from any page under the site root, e.g. href="../common/site-nav.css"
 * Mobile-first: larger tap targets and type below md breakpoint.
 */

/* Header stack: navbar + optional news ticker */
.gg-site-header {
	margin-bottom: 1rem;
}

.gg-site-header > .gg-site-navbar {
	margin-bottom: 0;
	border-bottom: none;
	box-shadow: none;
}

/* Navbar stands alone when ticker is hidden */
.gg-site-header.gg-site-header--no-ticker > .gg-site-navbar {
	border-bottom: 1px solid rgba(13, 31, 45, 0.12);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.gg-site-navbar {
	border-bottom: 1px solid rgba(13, 31, 45, 0.12);
	background: linear-gradient(180deg, #fafcfd 0%, #eef3f6 100%) !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75) inset;
	margin-bottom: 1rem;
	/* Taller bar on phones */
	padding-top: 0.75rem;
	padding-bottom: 0.75rem;
}

@media (min-width: 768px) {
	.gg-site-navbar {
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}
}

.gg-site-navbar .navbar-brand {
	padding-top: 0.35rem;
	padding-bottom: 0.35rem;
	margin-right: 0.5rem;
	line-height: 1;
}

/* Larger logo on small screens; scales down on tablet/desktop */
.gg-navbar-brand-logo {
	display: block;
	height: 48px;
	width: auto;
	max-width: min(300px, 78vw);
	object-fit: contain;
}

@media (min-width: 768px) {
	.gg-navbar-brand-logo {
		height: 40px;
		max-width: 260px;
	}
}

/* Touch-friendly menu button */
.gg-site-navbar .gg-navbar-toggler {
	padding: 0.55rem 0.75rem;
	font-size: 1.125rem;
	border-radius: 0.35rem;
}

.gg-site-navbar .navbar-toggler-icon {
	width: 1.35em;
	height: 1.35em;
}

/* Nav links: readable size, comfortable taps */
.gg-site-navbar .nav-link {
	font-weight: 600;
	font-size: 1.0625rem;
	padding: 0.65rem 0.85rem;
}

@media (min-width: 768px) {
	.gg-site-navbar .nav-link {
		font-size: 1rem;
		font-weight: 500;
		padding: 0.5rem 0.75rem;
	}
}

/* Collapsed menu: full-width row, clear separation from logo */
@media (max-width: 767.98px) {
	.gg-site-navbar .gg-navbar-collapse {
		margin-top: 0.65rem;
		padding-top: 0.5rem;
		border-top: 1px solid rgba(13, 31, 45, 0.1);
	}

	.gg-site-navbar .gg-navbar-nav {
		width: 100%;
		text-align: left;
	}

	.gg-site-navbar .gg-navbar-nav .nav-item {
		width: 100%;
	}

	.gg-site-navbar .gg-navbar-nav .nav-link {
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
		border-radius: 0.25rem;
	}

	/* Dropdowns expand in the column; keep menus full width for easier reading */
	.gg-site-navbar .dropdown-menu {
		font-size: 1.0625rem;
		width: 100%;
		min-width: 100%;
		margin-top: 0;
		border-radius: 0.35rem;
	}

	.gg-site-navbar .dropdown-item {
		padding: 0.48rem 1rem;
		font-size: 1.0625rem;
		line-height: 1.3;
		white-space: normal;
	}
}

@media (min-width: 768px) {
	.gg-site-navbar .dropdown-item {
		font-size: 1rem;
		line-height: 1.3;
		padding: 0.28rem 0.95rem;
	}

	/* Let dropdowns paint outside the collapse box; avoids clipping at the viewport edge */
	.gg-site-navbar,
	.gg-site-navbar .navbar-collapse {
		overflow: visible;
	}
}

/* --- News ticker (under navbar, e.g. account header) --- */

.gg-news-ticker {
	background: linear-gradient(
		180deg,
		rgba(228, 236, 241, 0.72) 0%,
		rgba(216, 227, 234, 0.62) 100%
	);
	border: 1px solid rgba(13, 31, 45, 0.08);
	border-top: 1px solid rgba(13, 31, 45, 0.05);
	border-radius: 0 0 0.2rem 0.2rem;
	overflow: hidden;
	/* Decorative strip only; avoids transformed track stealing clicks in edge cases */
	pointer-events: none;
}

.gg-news-ticker__viewport {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
}

/* Scroll duration set from JS (data-gg-ticker-duration-ms) so phase + delay apply before the animation starts (avoids cross-page jump). */
.gg-news-ticker__track {
	display: flex;
	width: max-content;
	animation: none;
	will-change: transform;
}

.gg-news-ticker__segment {
	flex: 0 0 auto;
	padding: 0.32rem 1.35rem 0.36rem;
	white-space: nowrap;
	font-size: 0.8125rem;
	line-height: 1.4;
	font-weight: 500;
	color: rgba(21, 48, 64, 0.86);
	letter-spacing: 0.01em;
}

@media (max-width: 767.98px) {
	.gg-news-ticker__segment {
		font-size: 0.875rem;
		padding: 0.38rem 1rem 0.4rem;
		color: rgba(21, 48, 64, 0.88);
	}
}

@keyframes gg-news-ticker-scroll {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gg-news-ticker__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: 100% !important;
		transform: none;
	}

	.gg-news-ticker__segment[aria-hidden="true"] {
		display: none;
	}

	.gg-news-ticker__segment {
		white-space: normal;
		text-align: center;
		padding: 0.5rem 0.85rem;
		font-size: 0.875rem;
	}
}
