/* =========================================================
   Croakitoad Core universal shell
   Shared site canvas, design tokens, and reusable components.
   Individual modules retain ownership of their unique layouts.
   ========================================================= */

:root {
	--ct-green: #70e58a;
	--ct-green-dark: #55dc76;
	--ct-green-soft: rgba(112, 229, 138, .12);
	--ct-bg: #080808;
	--ct-bg-deep: #050605;
	--ct-panel: #151815;
	--ct-panel-soft: #1b1f1b;
	--ct-text: #f3f5f3;
	--ct-muted: #b9c0ba;
	--ct-border: rgba(255, 255, 255, .12);
	--ct-border-green: rgba(112, 229, 138, .34);
	--ct-content-width: 1180px;
	--ct-radius: 18px;
	--ct-radius-small: 12px;
	--ct-shadow: 0 18px 44px rgba(0, 0, 0, .34);
	--ct-section-space: clamp(48px, 7vw, 76px);
	/* v4.8.2 — Option A refined: smoother atmospheric blend with a little more site-wide green depth. */
	--ct-atmo-green-1: rgba(80, 156, 95, .18);
	--ct-atmo-green-1-soft: rgba(58, 120, 72, .10);
	--ct-atmo-green-2: rgba(44, 112, 67, .12);
	--ct-atmo-green-3: rgba(62, 126, 78, .08);
	--ct-atmo-green-4: rgba(34, 78, 48, .05);
	--ct-atmo-vignette: rgba(0, 0, 0, .22);
}

html {
	background: #040504;
}

body.croakitoad-core-active {
	margin: 0;
	color: var(--ct-text);
	background-color: #050706;
	background-image:
		radial-gradient(ellipse at center, transparent 28%, var(--ct-atmo-vignette) 100%),
		radial-gradient(1200px 540px at 16% -2%, var(--ct-atmo-green-1) 0%, var(--ct-atmo-green-1-soft) 32%, rgba(30, 62, 39, .04) 52%, transparent 78%),
		radial-gradient(980px 460px at 88% 10%, var(--ct-atmo-green-2) 0%, rgba(30, 76, 46, .045) 44%, transparent 76%),
		radial-gradient(1400px 760px at 50% 58%, var(--ct-atmo-green-4) 0%, transparent 70%),
		radial-gradient(1200px 640px at 50% 100%, var(--ct-atmo-green-3) 0%, transparent 74%),
		linear-gradient(180deg, #0a130d 0%, #09110c 14%, #08100b 28%, #070d09 46%, #060a08 66%, #050706 82%, #040504 100%);
	background-attachment: fixed;
	background-repeat: no-repeat;
}

body.croakitoad-core-active,
body.croakitoad-core-active button,
body.croakitoad-core-active input,
body.croakitoad-core-active select,
body.croakitoad-core-active textarea {
	font-family: inherit;
}

body.croakitoad-core-active *,
body.croakitoad-core-active *::before,
body.croakitoad-core-active *::after {
	box-sizing: border-box;
}

/* ---------- GeneratePress / WordPress shell ---------- */
body.croakitoad-core-active .site,
body.croakitoad-core-active .site-content,
body.croakitoad-core-active .content-area,
body.croakitoad-core-active .site-main,
body.croakitoad-core-active .inside-article,
body.croakitoad-core-active .entry-content {
	background: transparent !important;
}

body.croakitoad-core-active .site-content {
	padding-top: 0 !important;
	padding-bottom: 52px;
}

body.croakitoad-core-active.page .inside-article {
	padding-top: 0;
	box-shadow: none;
}

body.croakitoad-core-active.page .entry-header:empty,
body.croakitoad-core-active.page .entry-title:empty {
	display: none;
}

body.croakitoad-core-active .grid-container,
body.croakitoad-core-active .inside-header,
body.croakitoad-core-active .inside-navigation {
	max-width: var(--ct-content-width);
}

/* ---------- Universal header / navigation ---------- */
body.croakitoad-core-active .site-header,
body.croakitoad-core-active #site-navigation,
body.croakitoad-core-active .main-navigation {
	background: rgba(8,10,8,.96) !important;
}

body.croakitoad-core-active .site-header {
	position: relative;
	z-index: 100;
	border-bottom: 0;
}

body.croakitoad-core-active .inside-header {
	margin-inline: auto;
}

body.croakitoad-core-active .main-navigation {
	position: relative;
	z-index: 101;
	border-bottom: 2px solid var(--ct-green);
	box-shadow: 0 10px 28px rgba(0,0,0,.26);
}

body.croakitoad-core-active .inside-navigation {
	margin-inline: auto;
}

body.croakitoad-core-active .main-navigation .main-nav ul li a,
body.croakitoad-core-active .main-navigation .menu-toggle,
body.croakitoad-core-active .main-navigation .menu-bar-item > a {
	color: #f5f7f5;
	font-weight: 750;
	letter-spacing: .01em;
}

body.croakitoad-core-active .main-navigation .main-nav ul li:hover > a,
body.croakitoad-core-active .main-navigation .main-nav ul li:focus-within > a,
body.croakitoad-core-active .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body.croakitoad-core-active .main-navigation .main-nav ul li[class*="current_page_"] > a {
	color: var(--ct-green);
	background: rgba(112,229,138,.08);
}

body.croakitoad-core-active .main-navigation ul ul {
	background: #101310;
	border: 1px solid var(--ct-border);
	box-shadow: var(--ct-shadow);
}

/* ---------- Universal text ---------- */
body.croakitoad-core-active h1,
body.croakitoad-core-active h2,
body.croakitoad-core-active h3,
body.croakitoad-core-active h4,
body.croakitoad-core-active h5,
body.croakitoad-core-active h6 {
	color: #fff;
}

body.croakitoad-core-active p,
body.croakitoad-core-active li {
	color: inherit;
}

body.croakitoad-core-active a {
	color: var(--ct-green);
	text-underline-offset: 3px;
}

body.croakitoad-core-active a:hover,
body.croakitoad-core-active a:focus-visible {
	color: #a5f6b7;
}

body.croakitoad-core-active ::selection {
	color: #071008;
	background: var(--ct-green);
}

/* ---------- Reusable Croakitoad components ---------- */
.ct-shell,
.croakitoad-shell {
	width: min(100% - 32px, var(--ct-content-width));
	margin-inline: auto;
	color: var(--ct-text);
}

.ct-section,
.croakitoad-section {
	padding-block: var(--ct-section-space);
}

.ct-card,
.croakitoad-card {
	border: 1px solid var(--ct-border);
	border-radius: var(--ct-radius);
	background: linear-gradient(145deg, rgba(28,32,28,.96), rgba(17,19,17,.96));
	box-shadow: var(--ct-shadow);
}

.ct-eyebrow,
.croakitoad-eyebrow {
	margin: 0 0 10px;
	color: var(--ct-green);
	font-size: .78rem;
	font-weight: 850;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.ct-button,
.croakitoad-button,
body.croakitoad-core-active .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 11px 18px;
	border: 1px solid rgba(112,229,138,.42);
	border-radius: 999px;
	background: linear-gradient(135deg, var(--ct-green), var(--ct-green-dark));
	box-shadow: 0 10px 24px rgba(85,220,118,.17);
	color: #071008 !important;
	font-weight: 850;
	line-height: 1.1;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.ct-button:hover,
.ct-button:focus-visible,
.croakitoad-button:hover,
.croakitoad-button:focus-visible,
body.croakitoad-core-active .wp-block-button__link:hover,
body.croakitoad-core-active .wp-block-button__link:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(85,220,118,.24);
	filter: brightness(1.05);
}

.ct-button--secondary,
.croakitoad-button-secondary {
	background: rgba(255,255,255,.04);
	color: #fff !important;
}

/* ---------- Forms and search ---------- */
body.croakitoad-core-active input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
body.croakitoad-core-active select,
body.croakitoad-core-active textarea {
	max-width: 100%;
	border: 1px solid var(--ct-border);
	border-radius: var(--ct-radius-small);
	background: #101310;
	color: #fff;
}

body.croakitoad-core-active input::placeholder,
body.croakitoad-core-active textarea::placeholder {
	color: #858d86;
}

body.croakitoad-core-active input:focus,
body.croakitoad-core-active select:focus,
body.croakitoad-core-active textarea:focus {
	border-color: var(--ct-green);
	outline: 2px solid rgba(112,229,138,.17);
	outline-offset: 1px;
}

body.croakitoad-core-active button,
body.croakitoad-core-active input[type="submit"] {
	cursor: pointer;
}

/* ---------- Accessibility ---------- */
body.croakitoad-core-active :focus-visible {
	outline: 2px solid var(--ct-green);
	outline-offset: 3px;
}

/* ---------- Mobile ---------- */
@media (max-width: 768px) {
	:root {
		--ct-section-space: 46px;
	}

	body.croakitoad-core-active .site-content {
		padding-bottom: 36px;
	}

	body.croakitoad-core-active .inside-header,
	body.croakitoad-core-active .inside-navigation {
		padding-inline: 16px;
	}

	body.croakitoad-core-active {
		background-attachment: scroll;
	}

	.ct-shell,
	.croakitoad-shell {
		width: min(100% - 24px, var(--ct-content-width));
	}
}

@media (prefers-reduced-motion: reduce) {
	body.croakitoad-core-active *,
	body.croakitoad-core-active *::before,
	body.croakitoad-core-active *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* =========================================================
   Croakitoad Core Theme v1.1.0 additions
   Safe, CSS-only rollout: tighter heroes + stable capsule rows.
   ========================================================= */

:root {
	--ct-hero-pad-top: clamp(28px, 4vw, 48px);
	--ct-hero-pad-bottom: clamp(30px, 4.5vw, 54px);
	--ct-hero-gap: clamp(14px, 2vw, 22px);
	--ct-capsule-gap: 12px;
	--ct-capsule-height: 42px;
}

/* Tighter universal hero spacing. These selectors intentionally target only
   established Croakitoad/hero naming patterns inside page content. */
body.croakitoad-core-active .entry-content > .ct-hero,
body.croakitoad-core-active .entry-content > .croakitoad-hero,
body.croakitoad-core-active .entry-content > .about-hero,
body.croakitoad-core-active .entry-content > .community-hero,
body.croakitoad-core-active .entry-content > .newsletter-hero,
body.croakitoad-core-active .entry-content > .shop-hero,
body.croakitoad-core-active .entry-content > .cpw-hero,
body.croakitoad-core-active .entry-content > .game-library-hero,
body.croakitoad-core-active .entry-content > .marathon-hero,
body.croakitoad-core-active .entry-content > [class^="ct-"][class*="hero"],
body.croakitoad-core-active .entry-content > [class^="croakitoad-"][class*="hero"] {
	padding-top: var(--ct-hero-pad-top) !important;
	padding-bottom: var(--ct-hero-pad-bottom) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.croakitoad-core-active .ct-hero__inner,
body.croakitoad-core-active .croakitoad-hero__inner,
body.croakitoad-core-active .hero-inner,
body.croakitoad-core-active [class^="ct-"][class*="hero"] > .inner,
body.croakitoad-core-active [class^="croakitoad-"][class*="hero"] > .inner {
	gap: var(--ct-hero-gap);
}

body.croakitoad-core-active .ct-hero h1,
body.croakitoad-core-active .croakitoad-hero h1,
body.croakitoad-core-active .about-hero h1,
body.croakitoad-core-active .community-hero h1,
body.croakitoad-core-active .newsletter-hero h1,
body.croakitoad-core-active .shop-hero h1,
body.croakitoad-core-active .cpw-hero h1 {
	margin-top: 0 !important;
	margin-bottom: clamp(10px, 1.5vw, 16px) !important;
}

body.croakitoad-core-active .ct-hero p:last-of-type,
body.croakitoad-core-active .croakitoad-hero p:last-of-type,
body.croakitoad-core-active .about-hero p:last-of-type,
body.croakitoad-core-active .community-hero p:last-of-type,
body.croakitoad-core-active .newsletter-hero p:last-of-type,
body.croakitoad-core-active .shop-hero p:last-of-type,
body.croakitoad-core-active .cpw-hero p:last-of-type {
	margin-bottom: 0;
}

/* One-row desktop capsule system. Existing page classes are included so this
   works without rewriting page content first. */
body.croakitoad-core-active :is(
	.ct-capsules,
	.croakitoad-capsules,
	.hero-capsules,
	.hero-pills,
	.stat-pills,
	.stats-pills,
	.hero-stats,
	.quick-stats,
	.capsule-row,
	.pill-row,
	.badge-row
) {
	display: flex !important;
	align-items: stretch !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: var(--ct-capsule-gap) !important;
	width: min(100%, var(--ct-content-width));
	margin-inline: auto !important;
	padding-inline: 0;
}

body.croakitoad-core-active :is(
	.ct-capsules,
	.croakitoad-capsules,
	.hero-capsules,
	.hero-pills,
	.stat-pills,
	.stats-pills,
	.hero-stats,
	.quick-stats,
	.capsule-row,
	.pill-row,
	.badge-row
) > * {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 0 !important;
	min-width: 0;
	min-height: var(--ct-capsule-height);
	margin: 0 !important;
	white-space: nowrap;
	text-align: center;
}

/* Prevent a slightly narrow desktop viewport from dropping one capsule onto
   its own line. It scrolls as one neat row instead. */
@media (min-width: 769px) and (max-width: 1220px) {
	body.croakitoad-core-active :is(
		.ct-capsules,
		.croakitoad-capsules,
		.hero-capsules,
		.hero-pills,
		.stat-pills,
		.stats-pills,
		.hero-stats,
		.quick-stats,
		.capsule-row,
		.pill-row,
		.badge-row
	) {
		justify-content: flex-start !important;
		overflow-x: auto;
		overflow-y: hidden;
		padding: 2px 2px 10px;
		scrollbar-width: thin;
		-webkit-overflow-scrolling: touch;
	}

	body.croakitoad-core-active :is(
		.ct-capsules,
		.croakitoad-capsules,
		.hero-capsules,
		.hero-pills,
		.stat-pills,
		.stats-pills,
		.hero-stats,
		.quick-stats,
		.capsule-row,
		.pill-row,
		.badge-row
	) > * {
		flex: 0 0 auto !important;
		min-width: max-content;
		padding-inline: 18px;
	}
}

@media (max-width: 768px) {
	:root {
		--ct-hero-pad-top: 24px;
		--ct-hero-pad-bottom: 34px;
		--ct-capsule-gap: 9px;
	}

	body.croakitoad-core-active :is(
		.ct-capsules,
		.croakitoad-capsules,
		.hero-capsules,
		.hero-pills,
		.stat-pills,
		.stats-pills,
		.hero-stats,
		.quick-stats,
		.capsule-row,
		.pill-row,
		.badge-row
	) {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch !important;
		overflow: visible;
	}

	body.croakitoad-core-active :is(
		.ct-capsules,
		.croakitoad-capsules,
		.hero-capsules,
		.hero-pills,
		.stat-pills,
		.stats-pills,
		.hero-stats,
		.quick-stats,
		.capsule-row,
		.pill-row,
		.badge-row
	) > * {
		width: 100%;
		white-space: normal;
	}

	body.croakitoad-core-active :is(
		.ct-capsules,
		.croakitoad-capsules,
		.hero-capsules,
		.hero-pills,
		.stat-pills,
		.stats-pills,
		.hero-stats,
		.quick-stats,
		.capsule-row,
		.pill-row,
		.badge-row
	) > *:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: min(100%, 320px);
		justify-self: center;
	}
}

/* =========================================================
   Croakitoad Core Theme v1.2.0
   Homepage hero: four signature badges + compact social dock.
   ========================================================= */

body.croakitoad-core-active .croakitoad-core-hero {
	position: relative;
	padding-top: clamp(26px, 3.4vw, 42px) !important;
	padding-bottom: clamp(26px, 3.8vw, 46px) !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	justify-content: center !important;
	gap: 10px !important;
	width: min(100%, 1040px) !important;
	margin: clamp(18px, 2.5vw, 28px) auto 0 !important;
	overflow: visible !important;
	padding: 0 !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 7px;
	min-width: 0 !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	margin: 0 !important;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 13px;
	background: rgba(12,15,12,.76);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 22px rgba(0,0,0,.18);
	color: #f7f8f7;
	font-size: clamp(.72rem, .8vw, .86rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	text-align: center;
	white-space: nowrap !important;
}

body.croakitoad-core-active .ct-signature-badge strong {
	font-size: inherit;
	font-weight: 900;
}

body.croakitoad-core-active .ct-signature-badge--twitch {
	border-color: rgba(145,70,255,.7) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 22px rgba(145,70,255,.13) !important;
}
body.croakitoad-core-active .ct-signature-badge--games {
	border-color: rgba(232,190,78,.78) !important;
	background: linear-gradient(135deg, rgba(88,66,14,.54), rgba(25,22,12,.78)) !important;
	box-shadow: inset 0 1px 0 rgba(255,235,166,.12), 0 8px 24px rgba(232,190,78,.13) !important;
}
body.croakitoad-core-active .ct-signature-badge--youtube {
	border-color: rgba(255,0,0,.58) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 22px rgba(255,0,0,.11) !important;
}
body.croakitoad-core-active .ct-signature-badge--established {
	border-color: rgba(112,229,138,.58) !important;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 22px rgba(112,229,138,.11) !important;
}

/* Compact icon-only social dock in the hero corner. */
body.croakitoad-core-active .ct-core-socials.ct-social-dock {
	position: absolute !important;
	top: 16px;
	right: 18px;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex-wrap: wrap !important;
	gap: 6px !important;
	max-width: 330px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	z-index: 3;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 32px !important;
	min-width: 32px !important;
	min-height: 32px !important;
	padding: 0 !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	border-radius: 10px !important;
	background: rgba(8,10,8,.72) !important;
	color: #f5f7f5 !important;
	box-shadow: 0 6px 16px rgba(0,0,0,.2) !important;
	text-decoration: none !important;
	transition: transform .18s ease, border-color .18s ease, color .18s ease !important;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-link:hover,
body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-link:focus-visible {
	transform: translateY(-2px);
	border-color: var(--ct-green) !important;
	color: var(--ct-green) !important;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	font-size: 0 !important;
	line-height: 1;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock svg {
	display: block;
	width: 17px;
	height: 17px;
	fill: currentColor;
}

@media (max-width: 900px) {
	body.croakitoad-core-active .ct-core-socials.ct-social-dock {
		position: static !important;
		max-width: none;
		justify-content: center !important;
		margin: 15px auto 0 !important;
	}

	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		gap: 7px !important;
	}

	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
		padding-inline: 8px !important;
		font-size: clamp(.66rem, 1.55vw, .78rem);
	}
}

@media (max-width: 680px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
		white-space: normal !important;
	}
}


/* =========================================================
   Croakitoad Core Theme v1.2.1
   Pixel-polish pass: true equal badges + one-line social dock.
   ========================================================= */

/* Leave a clean, predictable lane for the social dock. */
body.croakitoad-core-active .croakitoad-core-hero {
	overflow: visible !important;
}

/* Four genuinely equal columns across the usable hero width. */
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	column-gap: 12px !important;
	width: 100% !important;
	max-width: 1040px !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
	width: 100% !important;
	height: 50px !important;
	min-height: 50px !important;
	padding: 8px 14px !important;
	gap: 10px !important;
	justify-content: flex-start !important;
	border-radius: 12px !important;
	line-height: 1 !important;
}

/* Neutralize legacy pill styling that was still affecting the new inner spans. */
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge > span,
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge > strong {
	margin: 0 !important;
	padding: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	font-size: 14px !important;
	line-height: 1 !important;
	border: 1px solid rgba(255,255,255,.14) !important;
	border-radius: 999px !important;
	background: rgba(255,255,255,.045) !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
	display: block !important;
	flex: 1 1 auto !important;
	font-size: clamp(.72rem, .78vw, .84rem) !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em !important;
	text-align: left !important;
	white-space: nowrap !important;
}

body.croakitoad-core-active .ct-signature-badge--twitch .ct-signature-badge__icon {
	color: #b894ff !important;
	border-color: rgba(145,70,255,.38) !important;
	background: rgba(145,70,255,.10) !important;
}
body.croakitoad-core-active .ct-signature-badge--games .ct-signature-badge__icon {
	color: #ffd96b !important;
	border-color: rgba(232,190,78,.42) !important;
	background: rgba(232,190,78,.10) !important;
}
body.croakitoad-core-active .ct-signature-badge--youtube .ct-signature-badge__icon {
	color: #ff6b6b !important;
	border-color: rgba(255,0,0,.34) !important;
	background: rgba(255,0,0,.09) !important;
	font-size: 12px !important;
	padding-left: 1px !important;
}
body.croakitoad-core-active .ct-signature-badge--established .ct-signature-badge__icon {
	color: #99f0ad !important;
	border-color: rgba(112,229,138,.34) !important;
	background: rgba(112,229,138,.09) !important;
}

/* Socials: lower inside the hero, never wrap on desktop, never clip. */
body.croakitoad-core-active .ct-core-socials.ct-social-dock {
	top: 30px !important;
	right: 28px !important;
	flex-wrap: nowrap !important;
	max-width: none !important;
	width: max-content !important;
	white-space: nowrap !important;
	gap: 6px !important;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-link {
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	border-radius: 9px !important;
}

body.croakitoad-core-active .ct-core-socials.ct-social-dock .ct-core-social-icon,
body.croakitoad-core-active .ct-core-socials.ct-social-dock svg {
	width: 15px !important;
	height: 15px !important;
}

/* Move the dock into normal flow before it can collide with the large title. */
@media (max-width: 1180px) {
	body.croakitoad-core-active .ct-core-socials.ct-social-dock {
		position: static !important;
		width: 100% !important;
		justify-content: center !important;
		margin: 0 auto 16px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		padding: 2px 0 4px !important;
	}
}

@media (max-width: 900px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
		padding-inline: 10px !important;
		gap: 8px !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__icon {
		flex-basis: 27px !important;
		width: 27px !important;
		height: 27px !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
		font-size: clamp(.64rem, 1.35vw, .76rem) !important;
	}
}

@media (max-width: 680px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
		white-space: normal !important;
	}
}

/* =========================================================
   Croakitoad Core Theme v1.2.2
   Navigation cleanup + centered badge contents + lower social dock.
   ========================================================= */

/* Remove the decorative navigation underline so the Watch Live button has
   comfortable breathing room and the header ends cleanly. */
body.croakitoad-core-active .main-navigation,
body.croakitoad-core-active #site-navigation,
body.croakitoad-core-active .inside-navigation {
	border-bottom: 0 !important;
}

body.croakitoad-core-active .inside-navigation::before,
body.croakitoad-core-active .inside-navigation::after,
body.croakitoad-core-active .main-navigation::before,
body.croakitoad-core-active .main-navigation::after {
	border-bottom: 0 !important;
	background-image: none !important;
}

body.croakitoad-core-active .main-navigation .main-nav > ul,
body.croakitoad-core-active .main-navigation .main-nav > ul > li,
body.croakitoad-core-active .main-navigation .main-nav > ul > li > a {
	border-bottom: 0 !important;
	box-shadow: none !important;
}

/* Center each icon-and-label pair as one balanced unit inside its equal-width
   badge. This removes the left-heavy appearance of Twitch and YouTube. */
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
	justify-content: center !important;
	padding-inline: 16px !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
	flex: 0 1 auto !important;
	width: auto !important;
	text-align: center !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__icon {
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
}

/* The play symbol is visually wider than the other glyphs. Optical centering
   keeps it evenly spaced from both the red border and its label. */
body.croakitoad-core-active .ct-signature-badge--youtube .ct-signature-badge__icon {
	padding: 0 0 0 2px !important;
	font-size: 11px !important;
}

/* Give the social row a little more space beneath the header divider. */
body.croakitoad-core-active .ct-core-socials.ct-social-dock {
	top: 40px !important;
}

@media (max-width: 1180px) {
	body.croakitoad-core-active .ct-core-socials.ct-social-dock {
		top: auto !important;
	}
}

@media (max-width: 900px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
		padding-inline: 8px !important;
	}
}

/* =========================================================
   Croakitoad Core Theme v1.2.3
   Final hero highlight row: no boxes, equal spacing, tighter placement.
   ========================================================= */

/* Bring the milestone row closer to the hero tagline. */
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 1040px !important;
	margin: 24px auto 0 !important;
	padding: 0 !important;
	column-gap: 12px !important;
	row-gap: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Replace the colored boxes with four evenly distributed text highlights. */
body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: auto !important;
	min-height: 30px !important;
	margin: 0 !important;
	padding: 2px 8px !important;
	gap: 8px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	white-space: nowrap !important;
	text-align: center !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 14px !important;
	line-height: 1 !important;
}

body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
	display: inline-block !important;
	flex: 0 1 auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: clamp(.76rem, .82vw, .9rem) !important;
	font-weight: 850 !important;
	line-height: 1.15 !important;
	letter-spacing: -.01em !important;
	text-align: center !important;
	white-space: nowrap !important;
	text-shadow: 0 1px 10px rgba(0,0,0,.7) !important;
}

/* Keep each highlight distinctive through text/icon color, not a container. */
body.croakitoad-core-active .ct-signature-badge--twitch,
body.croakitoad-core-active .ct-signature-badge--twitch .ct-signature-badge__icon,
body.croakitoad-core-active .ct-signature-badge--twitch .ct-signature-badge__label {
	color: #c8a9ff !important;
}

body.croakitoad-core-active .ct-signature-badge--games,
body.croakitoad-core-active .ct-signature-badge--games .ct-signature-badge__icon,
body.croakitoad-core-active .ct-signature-badge--games .ct-signature-badge__label {
	color: #ffd85a !important;
}

body.croakitoad-core-active .ct-signature-badge--youtube,
body.croakitoad-core-active .ct-signature-badge--youtube .ct-signature-badge__icon,
body.croakitoad-core-active .ct-signature-badge--youtube .ct-signature-badge__label {
	color: #ff7373 !important;
}

body.croakitoad-core-active .ct-signature-badge--established,
body.croakitoad-core-active .ct-signature-badge--established .ct-signature-badge__icon,
body.croakitoad-core-active .ct-signature-badge--established .ct-signature-badge__label {
	color: #8ff0a7 !important;
}

body.croakitoad-core-active .ct-signature-badge--youtube .ct-signature-badge__icon {
	padding: 0 !important;
	font-size: 12px !important;
	transform: translateY(-.25px) !important;
}

/* Keep the four highlights on one line across normal desktop/laptop widths. */
@media (min-width: 681px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		column-gap: 4px !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges > .ct-signature-badge {
		padding-inline: 3px !important;
		gap: 5px !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
		font-size: clamp(.62rem, 1.35vw, .75rem) !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__icon {
		width: 15px !important;
		height: 15px !important;
		font-size: 12px !important;
	}
}

@media (max-width: 680px) {
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		row-gap: 10px !important;
		margin-top: 20px !important;
	}
	body.croakitoad-core-active .ct-core-hero-stats.ct-signature-badges .ct-signature-badge__label {
		white-space: normal !important;
	}
}

/* =========================================================
   Croakitoad Core Theme v1.3.0
   Universal page-shell pass.
   Keeps page-specific components intact while standardizing
   canvas, content width, outer gutters, and section rhythm.
   ========================================================= */

:root {
	--ct-page-gutter: clamp(16px, 3vw, 32px);
	--ct-page-top: clamp(24px, 4vw, 44px);
	--ct-page-bottom: clamp(44px, 6vw, 76px);
	--ct-section-gap: clamp(26px, 4vw, 44px);
	--ct-heading-gap: clamp(14px, 2vw, 22px);
}

/* Remove theme-generated white/boxed page canvases everywhere. */
body.croakitoad-core-active #page,
body.croakitoad-core-active #primary,
body.croakitoad-core-active #main,
body.croakitoad-core-active article.page,
body.croakitoad-core-active article.type-page,
body.croakitoad-core-active .site,
body.croakitoad-core-active .site-content,
body.croakitoad-core-active .content-area,
body.croakitoad-core-active .site-main,
body.croakitoad-core-active .inside-article,
body.croakitoad-core-active .entry-content {
	background-color: transparent !important;
	box-shadow: none !important;
}

/* A predictable full-width outer canvas with one shared content gutter. */
body.croakitoad-core-active .site-content.grid-container,
body.croakitoad-core-active .site-content,
body.croakitoad-core-active .content-area,
body.croakitoad-core-active .site-main {
	width: 100% !important;
	max-width: none !important;
	margin-inline: auto !important;
}

body.croakitoad-core-active article.page > .inside-article,
body.croakitoad-core-active article.type-page > .inside-article {
	padding: 0 !important;
}

body.croakitoad-core-active .entry-content {
	margin: 0 !important;
	padding: 0 var(--ct-page-gutter) var(--ct-page-bottom) !important;
}

body.croakitoad-core-active .entry-content > :first-child {
	margin-top: 0 !important;
}

body.croakitoad-core-active .entry-content > :last-child {
	margin-bottom: 0 !important;
}

/* Known Croakitoad app roots all share the same outer width and centering. */
body.croakitoad-core-active :is(
	.ct-shop,
	.cpw-wrap,
	.croakitoad-game-library-wrapper,
	.croakitoad-game-library,
	.ct-community,
	.ct-community-hub,
	.ct-shell,
	.croakitoad-shell
) {
	width: min(100%, var(--ct-content-width)) !important;
	max-width: var(--ct-content-width) !important;
	margin-inline: auto !important;
}

/* Plugins that already include their own internal padding should not receive
   a second artificial outer inset from GeneratePress. */
body.croakitoad-core-active.ct-shop-page-active .entry-content,
body.croakitoad-core-active.cpw-plugin-page .entry-content {
	padding-top: 0 !important;
}

/* Consistent space between the navigation divider and the first page block. */
body.croakitoad-core-active .entry-content > :is(
	.ct-shop,
	.cpw-db-app,
	.croakitoad-game-library-wrapper,
	.ct-community,
	.ct-community-hub,
	.ct-shell,
	.croakitoad-shell
) {
	padding-top: var(--ct-page-top);
}

/* Homepage owns its hero-to-navigation relationship, so avoid adding a
   duplicate top gap there. */
body.croakitoad-core-active .entry-content > .croakitoad-homepage,
body.croakitoad-core-active .entry-content > .croakitoad-home,
body.croakitoad-core-active .entry-content > .croakitoad-home-hero {
	padding-top: 0 !important;
}

/* Shared vertical rhythm for the major custom page systems. */
body.croakitoad-core-active .ct-shop-section,
body.croakitoad-core-active .cpw-section,
body.croakitoad-core-active .croakitoad-game-library-wrapper > section,
body.croakitoad-core-active .ct-community > .ct-section,
body.croakitoad-core-active .ct-community-hub > .ct-section,
body.croakitoad-core-active .ct-shell > .ct-section {
	margin-top: 0 !important;
	margin-bottom: var(--ct-section-gap) !important;
}

body.croakitoad-core-active :is(
	.ct-shop-section,
	.cpw-section,
	.croakitoad-game-library-wrapper > section,
	.ct-community > .ct-section,
	.ct-community-hub > .ct-section,
	.ct-shell > .ct-section
):last-child {
	margin-bottom: 0 !important;
}

/* Section headings line up and breathe consistently without changing each
   plugin's typography or visual identity. */
body.croakitoad-core-active :is(
	.ct-shop-section__heading,
	.cpw-section-head,
	.ct-section-heading
) {
	margin-bottom: var(--ct-heading-gap) !important;
}

body.croakitoad-core-active :is(
	.ct-shop-section__heading,
	.cpw-section-head,
	.ct-section-heading
) h2 {
	margin-top: 0 !important;
}

/* Newsletter uses ordinary editor content instead of a shortcode root. */
body.croakitoad-core-active.croakitoad-newsletter-page .entry-content {
	width: min(100%, var(--ct-content-width)) !important;
	max-width: var(--ct-content-width) !important;
	margin-inline: auto !important;
	padding-top: var(--ct-page-top) !important;
}

/* Keep standard WordPress content pages aligned with the same readable shell
   without constraining custom full-width app roots. */
body.croakitoad-core-active.page:not(.ct-shop-page-active):not(.cpw-plugin-page) .entry-content > :not(.croakitoad-home-hero):not(.ct-shop):not(.cpw-db-app):not(.croakitoad-game-library-wrapper):not(.ct-community):not(.ct-community-hub) {
	max-width: var(--ct-content-width);
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px) {
	:root {
		--ct-page-gutter: 14px;
		--ct-page-top: 20px;
		--ct-page-bottom: 42px;
		--ct-section-gap: 26px;
	}

	body.croakitoad-core-active .entry-content {
		padding-inline: var(--ct-page-gutter) !important;
	}
}

/* =========================================================
   Croakitoad Core v4 authoritative shell
   ========================================================= */
:root {
    --ct-page-gutter: 24px;
    --ct-page-bottom: 64px;
}
body.croakitoad-core-v4 .site-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding-top: 0 !important;
}
body.croakitoad-core-v4 .entry-content {
    width: 100%;
    max-width: none;
}
body.croakitoad-core-v4.search .site-content,
body.croakitoad-core-v4.error404 .site-content,
body.croakitoad-core-v4.archive .site-content,
body.croakitoad-core-v4.single .site-content {
    padding-top: 0 !important;
}
