/* Shared by the launcher pages and the GWT header. Keep ads in the document flow. */
.site-sponsor {
	position: relative;
	z-index: 1;
	padding: 14px 16px 0;
}

.is-vip .site-sponsor {
	display: none;
}

.site-sponsor-panel {
	--ad-reserved-height: 280px;
	/* Reserve space from first paint while letting AdSense choose the ad dimensions. */
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(28px, auto)
		minmax(max(var(--ad-reserved-height), var(--ad-fallback-height, 0px)), auto)
		minmax(44px, auto);
	width: 100%;
	max-width: 900px;
	min-width: 0;
	margin: 0 auto;
	background: rgba(0, 0, 0, 0.28);
}

.site-sponsor-panel > .adsbygoogle {
	grid-area: 2 / 1;
	align-self: start;
	width: 100%;
}

.site-sponsor-panel > .adsbygoogle[data-ad-status="unfilled"] {
	display: none !important;
}

.ad-footer[hidden],
.support-message[hidden] {
	display: none;
}

.support-message,
.ad-label,
.ad-footer a {
	color: var(--text-dim, #c8bfae);
	font-family: var(--font-ui, Inter, system-ui, sans-serif);
	line-height: 16px;
	text-align: center;
}

.support-message {
	grid-area: 2 / 1;
	place-self: center;
	max-width: 36em;
	margin: 0;
	padding: 8px 12px;
	font-size: 13px;
}

.support-message a {
	color: var(--yellow, #ffcc1a);
	font-family: inherit;
	font-size: inherit;
	text-decoration: underline;
}

.ad-label {
	grid-row: 1;
	padding: 6px 0;
	font-size: 13px;
	font-weight: 600;
}

.ad-footer {
	display: flex;
	justify-content: center;
	grid-row: 3;
	padding: 16px 0 4px;
}

.ad-footer a {
	display: inline-block;
	padding: 4px 8px;
	font-size: 12px;
	text-decoration: underline;
}

@media (max-width: 720px) {
	.site-sponsor {
		padding: 10px 12px 0;
	}

	.site-sponsor-panel {
		--ad-reserved-height: 90px;
	}
}

@media (min-width: 274px) and (max-width: 720px) {
	.site-sponsor-panel {
		--ad-reserved-height: 250px;
	}
}
