/* GeneratePress header integration for 9MinGames. */
body.nmg-theme .site-header {
	position: sticky;
	top: 0;
	z-index: 60;
	border-bottom: 1px solid var(--nmg-border);
	background: rgba(7, 17, 31, .95);
	backdrop-filter: blur(18px);
}

body.admin-bar.nmg-theme .site-header { top: 32px; }

body.nmg-theme .inside-header {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	width: min(100% - clamp(28px, 5vw, 64px), var(--nmg-container));
	min-height: var(--nmg-header-height);
	margin-inline: auto;
	padding: 5px 0;
	gap: 14px;
}

body.nmg-theme .site-branding { flex: 0 0 auto; }
body.nmg-theme .site-branding .main-title,
body.nmg-theme .site-branding .main-title a {
	margin: 0;
	color: var(--nmg-text);
	font-size: clamp(1.25rem, 2.2vw, 1.65rem);
	font-weight: 850;
	line-height: 1;
	letter-spacing: -.045em;
	text-decoration: none;
}
body.nmg-theme .site-branding .main-title a::first-letter { color: var(--nmg-accent); }
body.nmg-theme .site-description { margin: 4px 0 0; color: var(--nmg-muted); font-size: .82rem; }

body.nmg-theme .main-navigation,
body.nmg-theme .main-navigation ul ul { background: transparent; }
body.nmg-theme #site-navigation {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	margin-left: auto;
}
body.nmg-theme #site-navigation > .inside-navigation {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	min-height: 38px;
	padding: 0;
	gap: 8px;
}
body.nmg-theme #site-navigation .main-nav { display: flex; align-items: center; min-width: 0; }
body.nmg-theme #site-navigation .main-nav > ul {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 2px;
	margin: 0;
	padding: 0;
}
body.nmg-theme #site-navigation .main-nav > ul > li { display: flex; align-items: center; }
body.nmg-theme #site-navigation .menu-bar-items {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 7px;
}

body.nmg-theme .main-navigation .main-nav ul li a,
body.nmg-theme .main-navigation .menu-bar-item > a,
body.nmg-theme .menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0 10px;
	border-radius: var(--nmg-radius-sm);
	color: var(--nmg-text-soft);
	font-size: .84rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}
body.nmg-theme .main-navigation .main-nav ul li > a:hover,
body.nmg-theme .main-navigation .main-nav ul li.sfHover > a,
body.nmg-theme .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body.nmg-theme .main-navigation .main-nav ul li[class*="current_page_"] > a {
	background: var(--nmg-accent-soft);
	color: #fff;
}

body.nmg-theme .main-navigation ul ul {
	min-width: 210px;
	padding: 8px;
	border: 1px solid var(--nmg-border);
	border-radius: var(--nmg-radius);
	background: rgba(8, 18, 31, .99);
	box-shadow: var(--nmg-shadow);
}

body.nmg-theme .nmg-header-search {
	display: flex;
	align-items: center;
	width: clamp(180px, 17vw, 250px);
	height: 36px;
	margin: 0;
	border: 1px solid var(--nmg-border);
	border-radius: 12px;
	background: var(--nmg-surface);
}
body.nmg-theme .nmg-header-search label { display: block; flex: 1 1 auto; min-width: 0; margin: 0; }
body.nmg-theme .nmg-header-search:focus-within { border-color: var(--nmg-accent); box-shadow: 0 0 0 3px var(--nmg-accent-soft); }
body.nmg-theme .nmg-header-search input[type="search"] {
	display: block;
	min-height: 34px;
	margin: 0;
	border: 0;
	background: transparent;
	padding: 0 8px 0 13px;
	font-size: .83rem;
	line-height: 34px;
	box-shadow: none;
}
body.nmg-theme .nmg-header-search button,
body.nmg-theme .nmg-header-icon {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	min-height: 34px;
	margin: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	padding: 0;
	color: var(--nmg-text-soft);
}
body.nmg-theme .nmg-header-search button:hover,
body.nmg-theme .nmg-header-icon:hover { background: var(--nmg-accent-soft); color: #fff; transform: none; }
body.nmg-theme .nmg-header-search svg,
body.nmg-theme .nmg-header-icon svg,
body.nmg-theme .nmg-mobile-nav svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* The quick navigation is rendered globally, so its base state must live in a globally loaded stylesheet. */
body.nmg-theme .nmg-mobile-nav { display: none; }

@media (min-width: 769px) {
	body.nmg-theme .mobile-menu-control-wrapper,
	body.nmg-theme #site-navigation > .inside-navigation > .menu-toggle { display: none !important; }
	body.nmg-theme #site-navigation,
	body.nmg-theme #site-navigation .main-nav,
	body.nmg-theme #site-navigation .main-nav > ul { display: flex !important; }
}

@media (max-width: 1060px) {
	body.nmg-theme .nmg-header-search { width: 180px; }
}

@media (max-width: 920px) and (min-width: 769px) {
	body.nmg-theme .nmg-header-search-item { display: none; }
}

@media (max-width: 768px) {
	body.admin-bar.nmg-theme .site-header { top: 46px; }
	body.nmg-theme .site-header .inside-header {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		width: min(100% - 28px, var(--nmg-container));
		min-height: 62px;
		padding: 8px 0;
		gap: 10px;
	}
	body.nmg-theme .site-branding { order: 1; flex: 1 1 auto; min-width: 0; }
	body.nmg-theme .mobile-menu-control-wrapper {
		display: flex;
		align-items: center;
		order: 2;
		flex: 0 0 auto;
		margin-left: auto;
		gap: 4px;
	}
	body.nmg-theme .mobile-menu-control-wrapper .menu-bar-items { display: flex; align-items: center; }
	body.nmg-theme .mobile-menu-control-wrapper .nmg-header-search-item { display: none; }
	body.nmg-theme .mobile-menu-control-wrapper .nmg-header-random-item { display: inline-flex; }
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		min-height: 42px;
		border: 1px solid var(--nmg-border);
		border-radius: 10px;
		background: transparent;
		padding: 0;
		font-size: 0;
		color: var(--nmg-text-soft);
	}
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle .gp-icon {
		display: block;
		width: 20px;
		height: 20px;
	}
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle .gp-icon svg {
		width: 20px;
		height: 20px;
		fill: currentColor;
	}
	body.nmg-theme #site-navigation {
		display: none;
		order: 3;
		flex: 0 0 100%;
		width: 100%;
		margin: 0;
	}
	body.nmg-theme #site-navigation.toggled { display: block; }
	body.nmg-theme #site-navigation > .inside-navigation {
		display: block;
		width: 100%;
		min-height: 0;
	}
	body.nmg-theme #site-navigation > .inside-navigation > .menu-toggle,
	body.nmg-theme #site-navigation > .inside-navigation > .menu-bar-items { display: none !important; }
	body.nmg-theme #site-navigation:not(.toggled) .main-nav,
	body.nmg-theme #site-navigation:not(.toggled) .main-nav > ul { display: none !important; }
	body.nmg-theme #site-navigation.toggled .main-nav,
	body.nmg-theme #site-navigation.toggled .main-nav > ul { display: block !important; }
	body.nmg-theme #site-navigation .main-nav { width: 100%; }
	body.nmg-theme #site-navigation .main-nav > ul {
		width: 100%;
		margin: 0;
		padding: 8px 0 10px;
		border-top: 1px solid var(--nmg-border);
	}
	body.nmg-theme #site-navigation .main-nav ul li { width: 100%; }
	body.nmg-theme #site-navigation .main-nav ul li a {
		justify-content: flex-start;
		width: 100%;
		min-height: 44px;
		padding: 0 12px;
		line-height: 1.2;
	}
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle .gp-icon svg { display: none; }
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle[aria-expanded="false"] .gp-icon svg:first-child { display: block; }
	body.nmg-theme .mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon svg:last-child { display: block; }
	body.nmg-theme { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
	body.nmg-theme .nmg-mobile-nav {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 80;
		display: grid;
		grid-template-columns: repeat(var(--nmg-mobile-nav-items, 4), minmax(0, 1fr));
		border-top: 1px solid var(--nmg-border);
		background: rgba(7, 17, 31, .96);
		backdrop-filter: blur(18px);
		padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));
	}
	body.nmg-theme .nmg-mobile-nav a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 2px;
		min-height: 50px;
		border-radius: 10px;
		color: var(--nmg-muted);
		font-size: .67rem;
		text-decoration: none;
	}
	body.nmg-theme .nmg-mobile-nav a[aria-current="page"],
	body.nmg-theme .nmg-mobile-nav a:hover { background: var(--nmg-accent-soft); color: #fff; }
	body.nmg-theme .nmg-mobile-nav svg { width: 21px; height: 21px; }
}

/* Dark branded header aligned with the game UI. The transparent logo receives a subtle light edge so every word remains readable. */
body.nmg-theme .site-header {
	border-bottom-color: rgba(109, 93, 252, .28);
	background:
		radial-gradient(circle at 14% -120%, rgba(109, 93, 252, .24), transparent 30rem),
		linear-gradient(135deg, rgba(16, 29, 49, .98), rgba(9, 20, 35, .98));
	box-shadow: 0 10px 30px rgba(0, 0, 0, .26);
}
body.nmg-theme .site-logo,
body.nmg-theme .site-branding { flex: 0 0 auto; }
body.nmg-theme .site-logo a {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
body.nmg-theme .site-logo .header-image {
	display: block;
	width: clamp(172px, 16vw, 215px);
	height: auto;
	filter:
		drop-shadow(1px 0 0 rgba(255, 255, 255, .44))
		drop-shadow(-1px 0 0 rgba(255, 255, 255, .44))
		drop-shadow(0 1px 0 rgba(255, 255, 255, .44))
		drop-shadow(0 -1px 0 rgba(255, 255, 255, .44))
		drop-shadow(0 8px 20px rgba(0, 0, 0, .34));
}
body.nmg-theme .site-header .main-navigation .main-nav ul li a,
body.nmg-theme .site-header .main-navigation .menu-bar-item > a,
body.nmg-theme .site-header .menu-toggle,
body.nmg-theme .site-header .nmg-header-icon {
	color: var(--nmg-text-soft);
}
body.nmg-theme .site-header .main-navigation .main-nav ul li > a:hover,
body.nmg-theme .site-header .main-navigation .main-nav ul li.sfHover > a,
body.nmg-theme .site-header .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body.nmg-theme .site-header .main-navigation .main-nav ul li[class*="current_page_"] > a,
body.nmg-theme .site-header .nmg-header-icon:hover,
body.nmg-theme .site-header .mobile-menu-control-wrapper .menu-toggle:hover,
body.nmg-theme .site-header .mobile-menu-control-wrapper .menu-toggle:focus {
	background: var(--nmg-accent-soft);
	color: #fff;
}
body.nmg-theme .site-header .nmg-header-search {
	border-color: rgba(173, 192, 216, .19);
	background: rgba(4, 12, 23, .5);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}
body.nmg-theme .site-header .nmg-header-search:focus-within {
	border-color: color-mix(in srgb, var(--nmg-accent) 72%, white);
	box-shadow: 0 0 0 3px var(--nmg-accent-soft);
}
body.nmg-theme .site-header .nmg-header-search input[type="search"] { color: var(--nmg-text); }
body.nmg-theme .site-header .nmg-header-search input[type="search"]::placeholder { color: var(--nmg-muted); }
body.nmg-theme .site-header .nmg-header-search button { color: var(--nmg-text-soft); }

@media (max-width: 768px) {
	body.nmg-theme .site-logo,
	body.nmg-theme .site-branding { order: 1; flex: 1 1 auto; min-width: 0; }
	body.nmg-theme .site-logo .header-image { width: clamp(150px, 48vw, 190px); }
	body.nmg-theme .site-header #site-navigation .main-nav > ul { border-top-color: var(--nmg-border); }
	body.nmg-theme .site-header .mobile-menu-control-wrapper .menu-toggle {
		border-color: var(--nmg-border);
		background: rgba(4, 12, 23, .42);
		color: var(--nmg-text-soft);
	}
}

/* Production visibility treatment for the Random Game action. */
body.nmg-theme .nmg-header-random-item .nmg-header-icon {
	flex-basis: 36px;
	width: 36px;
	height: 36px;
	min-height: 36px;
	border: 1px solid rgba(109, 93, 252, .72);
	border-color: color-mix(in srgb, var(--nmg-accent) 68%, white 10%);
	background: rgba(109, 93, 252, .24);
	background: color-mix(in srgb, var(--nmg-accent) 24%, transparent);
	color: #fff;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
body.nmg-theme .nmg-header-random-item .nmg-header-icon svg {
	width: 20px;
	height: 20px;
	stroke-width: 2;
}
body.nmg-theme .nmg-header-random-item .nmg-header-icon:hover,
body.nmg-theme .nmg-header-random-item .nmg-header-icon:focus-visible {
	border-color: #8f83ff;
	border-color: color-mix(in srgb, var(--nmg-accent) 78%, white 22%);
	background: var(--nmg-accent);
	color: #fff;
	box-shadow: 0 0 0 3px var(--nmg-accent-soft);
}

@media (max-width: 768px) {
	body.nmg-theme .mobile-menu-control-wrapper .nmg-header-random-item .nmg-header-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		min-height: 44px;
		border-radius: 11px;
	}
	body.nmg-theme .mobile-menu-control-wrapper .nmg-header-random-item .nmg-header-icon svg {
		width: 24px;
		height: 24px;
	}
}
