/* GameCool 5.1 — paid acquisition, compact consent and retention UI. */
:root {
	--gc51-ink: #eef7ff;
	--gc51-muted: #a8bac8;
	--gc51-panel: #0d1a25;
	--gc51-line: rgb(255 255 255 / 12%);
	--gc51-mint: #55e7ba;
	--gc51-sky: #45bff2;
	--gc51-gold: #ffc85b;
}

.gc51-paid-landing .entry-header,
.gc51-paid-landing .page-header {
	display: none;
}

.gc51-landing {
	width: min(1440px, calc(100vw - 32px));
	max-width: none;
	margin: 28px 0 70px 50%;
	color: var(--gc51-ink);
	transform: translateX(-50%);
}

.gc51-landing__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(340px, .98fr);
	gap: clamp(24px, 5vw, 76px);
	align-items: center;
	min-height: 570px;
	padding: clamp(34px, 6vw, 86px);
	overflow: hidden;
	border: 1px solid var(--gc51-line);
	border-radius: 30px;
	background:
		radial-gradient(circle at 75% 20%, rgb(69 191 242 / 20%), transparent 33%),
		radial-gradient(circle at 10% 90%, rgb(85 231 186 / 12%), transparent 30%),
		linear-gradient(140deg, #07111c, #10283a 58%, #13202a);
	box-shadow: 0 32px 90px rgb(0 0 0 / 28%), inset 0 1px rgb(255 255 255 / 8%);
}

.gc51-eyebrow {
	margin: 0 0 12px;
	color: var(--gc51-mint);
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.gc51-landing h1 {
	max-width: 760px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 6.4vw, 84px);
	font-weight: 950;
	letter-spacing: -.065em;
	line-height: .96;
}

.gc51-lead {
	max-width: 680px;
	margin: 24px 0 0;
	color: var(--gc51-muted);
	font-size: clamp(17px, 1.6vw, 21px);
	line-height: 1.62;
}

.gc51-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.gc51-button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	padding: 0 20px;
	border: 1px solid var(--gc51-line);
	border-radius: 12px;
	color: #fff;
	font-weight: 850;
	text-decoration: none;
}

.gc51-button--primary {
	border-color: transparent;
	background: linear-gradient(135deg, var(--gc51-mint), #37c6e8);
	color: #06151c;
	box-shadow: 0 14px 36px rgb(85 231 186 / 18%);
}

.gc51-button--quiet {
	background: rgb(255 255 255 / 5%);
}

.gc51-button:hover,
.gc51-button:focus-visible,
.gc51-game-card:hover,
.gc51-game-card:focus-visible {
	transform: translateY(-3px);
}

.gc51-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin: 24px 0 0;
	padding: 0;
	color: #bad0dc;
	font-size: 13px;
	font-weight: 750;
	list-style: none;
}

.gc51-trust li::before {
	margin-right: 6px;
	color: var(--gc51-mint);
	content: "✓";
}

.gc51-feature {
	position: relative;
	display: flex;
	min-height: 430px;
	flex-direction: column;
	justify-content: flex-end;
	padding: 28px;
	overflow: hidden;
	border: 1px solid rgb(255 255 255 / 17%);
	border-radius: 24px;
	background-image: linear-gradient(180deg, transparent 32%, rgb(2 8 13 / 92%) 95%), var(--gc51-art, linear-gradient(135deg, #18425b, #291c34));
	background-position: center;
	background-size: cover;
	box-shadow: 0 26px 70px rgb(0 0 0 / 40%);
	color: #fff;
	text-decoration: none;
	transition: transform .22s ease, box-shadow .22s ease;
}

.gc51-feature::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgb(255 255 255 / 9%), transparent 28%);
	content: "";
	pointer-events: none;
}

.gc51-feature span,
.gc51-feature strong,
.gc51-feature small {
	position: relative;
}

.gc51-feature span {
	color: var(--gc51-mint);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gc51-feature strong {
	margin-top: 7px;
	font-size: clamp(28px, 3vw, 43px);
	letter-spacing: -.04em;
	line-height: 1.05;
}

.gc51-feature small {
	margin-top: 10px;
	color: #d8e7ef;
	font-size: 14px;
	font-weight: 800;
}

.gc51-game-section {
	padding: clamp(60px, 8vw, 104px) 0 30px;
}

.gc51-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px;
}

.gc51-section-heading h2,
.gc51-faq h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(30px, 4vw, 50px);
	letter-spacing: -.04em;
}

.gc51-section-heading > p {
	max-width: 430px;
	margin: 0;
	color: var(--gc51-muted);
}

.gc51-game-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.gc51-game-card {
	overflow: hidden;
	border: 1px solid var(--gc51-line);
	border-radius: 18px;
	background: var(--gc51-panel);
	box-shadow: 0 16px 42px rgb(0 0 0 / 18%);
	color: #fff;
	text-decoration: none;
	transition: transform .2s ease, border-color .2s ease;
}

.gc51-game-card:hover {
	border-color: rgb(85 231 186 / 46%);
}

.gc51-game-card__art {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background-image: linear-gradient(180deg, transparent 48%, rgb(3 9 14 / 78%)), var(--gc51-art, linear-gradient(135deg, #173f54, #28203a));
	background-position: center;
	background-size: cover;
}

.gc51-game-card__art b {
	position: absolute;
	right: 12px;
	bottom: 12px;
	padding: 7px 11px;
	border-radius: 99px;
	background: var(--gc51-mint);
	color: #07151b;
	font-size: 11px;
	font-weight: 900;
}

.gc51-game-card__body {
	display: block;
	padding: 16px;
}

.gc51-game-card__body strong,
.gc51-game-card__body small {
	display: block;
}

.gc51-game-card__body strong {
	font-size: 17px;
	letter-spacing: -.02em;
}

.gc51-game-card__body small {
	min-height: 40px;
	margin-top: 7px;
	color: var(--gc51-muted);
	font-size: 13px;
	line-height: 1.45;
}

.gc51-proof {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin-top: 66px;
	overflow: hidden;
	border: 1px solid var(--gc51-line);
	border-radius: 20px;
	background: var(--gc51-line);
}

.gc51-proof > div {
	padding: 26px;
	background: #0b1822;
}

.gc51-proof strong,
.gc51-proof span {
	display: block;
}

.gc51-proof strong {
	color: #fff;
	font-size: 18px;
}

.gc51-proof span {
	margin-top: 7px;
	color: var(--gc51-muted);
	line-height: 1.5;
}

.gc51-faq {
	max-width: 920px;
	margin: 86px auto 0;
}

.gc51-faq details {
	padding: 18px 0;
	border-bottom: 1px solid var(--gc51-line);
}

.gc51-faq summary {
	cursor: pointer;
	color: #fff;
	font-size: 18px;
	font-weight: 820;
}

.gc51-faq p {
	margin: 10px 0 0;
	color: var(--gc51-muted);
}

/* Existing consent plugin stays authoritative; this only makes its UI compact. */
.gc51-consent-compact {
	position: fixed !important;
	right: auto !important;
	bottom: 12px !important;
	left: 12px !important;
	z-index: 2147482000 !important;
	width: min(420px, calc(100vw - 24px)) !important;
	max-width: 420px !important;
	max-height: calc(100vh - 24px) !important;
	padding: 14px !important;
	overflow: auto !important;
	border-radius: 14px !important;
	box-shadow: 0 18px 60px rgb(0 0 0 / 36%) !important;
	font-size: 13px !important;
	line-height: 1.42 !important;
}

.gc51-consent-compact h2,
.gc51-consent-compact h3,
.gc51-consent-compact p {
	margin-top: 0 !important;
	margin-bottom: 8px !important;
}

.gc51-consent-compact button,
.gc51-consent-compact .button {
	min-height: 36px !important;
	padding: 7px 12px !important;
	font-size: 12px !important;
}

/* Remove the native chip scrollbar without removing keyboard scrolling. */
.gc-genre-filter,
.gc-genre-filters,
.gc-filter-chips {
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.gc-genre-filter::-webkit-scrollbar,
.gc-genre-filters::-webkit-scrollbar,
.gc-filter-chips::-webkit-scrollbar {
	display: none;
}

/* Post-game second-run loop. */
.gc51-retention {
	width: min(560px, calc(100% - 24px));
	margin: 14px auto 0;
	padding: 14px;
	border: 1px solid rgb(85 231 186 / 26%);
	border-radius: 14px;
	background: linear-gradient(135deg, rgb(7 20 29 / 96%), rgb(15 39 51 / 96%));
	box-shadow: 0 18px 46px rgb(0 0 0 / 32%);
	color: #fff;
	text-align: left;
}

.gc51-retention > p {
	margin: 0;
	color: var(--gc51-mint);
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .13em;
}

.gc51-retention h3 {
	margin: 3px 0 10px;
	color: #fff;
	font-size: 21px;
	letter-spacing: -.03em;
}

.gc51-retention__actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
}

.gc51-retention__next,
.gc51-retention__daily {
	display: flex;
	min-height: 46px;
	justify-content: center;
	padding: 8px 12px;
	border-radius: 10px;
	font-weight: 850;
	text-decoration: none;
}

.gc51-retention__next {
	flex-direction: column;
	background: var(--gc51-mint);
	color: #07151b;
}

.gc51-retention__next span {
	font-size: 9px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.gc51-retention__daily {
	align-items: center;
	border: 1px solid var(--gc51-line);
	background: rgb(255 255 255 / 6%);
	color: #fff;
}

.gc51-retention > small {
	display: block;
	margin-top: 8px;
	color: var(--gc51-muted);
	font-size: 10px;
}

@media (max-width: 980px) {
	.gc51-landing__hero { grid-template-columns: 1fr; }
	.gc51-feature { min-height: 360px; }
	.gc51-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.gc51-landing { width: calc(100vw - 20px); margin-top: 10px; }
	.gc51-landing__hero { min-height: 0; padding: 28px 20px 20px; border-radius: 20px; }
	.gc51-landing h1 { font-size: clamp(39px, 13vw, 58px); }
	.gc51-feature { min-height: 270px; padding: 20px; }
	.gc51-section-heading { display: block; }
	.gc51-section-heading > p { margin-top: 10px; }
	.gc51-game-grid { gap: 10px; }
	.gc51-game-card__body { padding: 12px; }
	.gc51-game-card__body small { display: none; }
	.gc51-proof { grid-template-columns: 1fr; }
	.gc51-consent-compact { max-height: 44vh !important; }
	.gc51-retention__actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.gc51-button,
	.gc51-game-card,
	.gc51-feature { transition: none; }
}

