/**
 * Print.
 *
 * A game page is printed for one reason: to carry the specs and the download
 * details away from the screen. So the article, the spec table and the
 * requirements stay; navigation, hero art, sidebars, related rows and every
 * control go.
 *
 * Colours are inverted to ink on white — a dark theme printed as-is empties
 * a cartridge and reads worse.
 */

@media print {

	/* --- Palette ---------------------------------------------------------- */

	:root {
		--wpx-bg: #ffffff;
		--wpx-surface-1: #ffffff;
		--wpx-surface-2: #ffffff;
		--wpx-surface-3: #f4f4f4;
		--wpx-surface-4: #ebebeb;
		--wpx-border: #cccccc;
		--wpx-border-strong: #999999;
		--wpx-text: #000000;
		--wpx-text-muted: #222222;
		--wpx-text-dim: #555555;
		--wpx-accent: #000000;
		--wpx-secondary: #000000;
	}

	body,
	.wpx-shell,
	.wpx-main {
		background: #fff !important;
		color: #000 !important;
	}

	body::before,
	body::after { display: none !important; }

	/* --- Remove the furniture --------------------------------------------- */

	.wpx-header,
	.wpx-footer,
	.wpx-sidebar,
	.wpx-banner,
	.wpx-hero,
	.wpx-slider,
	.wpx-strip-wrap,
	.wpx-strip,
	.wpx-tabs__list,
	.wpx-related,
	.wpx-comments,
	.wpx-to-top,
	.wpx-pagination,
	.wpx-breadcrumbs,
	.wpx-search,
	.wpx-card__views,
	.wpx-badges,
	.wp-block-buttons,
	.wpx-stores,
	.wpx-ad { display: none !important; }

	/* --- Layout ------------------------------------------------------------ */

	.wpx-shell {
		display: block !important;
		width: auto !important;
		padding: 0 !important;
		max-width: none !important;
	}

	.wpx-game__lead { display: block; }

	.wpx-game__cover {
		float: right;
		width: 140px;
		margin: 0 0 12pt 12pt;
	}

	/* --- Type -------------------------------------------------------------- */

	@page { margin: 18mm; }

	body { font-size: 11pt; line-height: 1.5; }

	.wpx-game__title,
	h1 { font-size: 20pt; margin-block-end: 8pt; }

	.wpx-prose h2,
	.wpx-section-title {
		font-size: 14pt;
		margin-block: 14pt 6pt;
		padding-inline-start: 0;
		page-break-after: avoid;
		break-after: avoid;
	}

	.wpx-prose h2::before,
	.wpx-section-title::before { display: none; }

	.wpx-prose h3 { font-size: 12pt; page-break-after: avoid; break-after: avoid; }

	/* --- Keep blocks whole -------------------------------------------------- */

	.wpx-prose table,
	.wpx-req-table,
	.wpx-specs,
	figure,
	.wpx-prose li {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	.wpx-prose table { border: 1px solid #999; }
	.wpx-prose th, .wpx-prose td { border: 1px solid #ccc; padding: 4pt 6pt; }
	.wpx-prose thead th { background: #eee !important; border-block-end: 1px solid #999; }
	.wpx-prose tbody tr:nth-child(odd) { background: #fafafa !important; }

	/* --- Links -------------------------------------------------------------- */

	.wpx-prose a { color: #000; text-decoration: underline; }

	/* Print the destination after each link, since a printed page cannot be
	   clicked. Internal anchors and empty hrefs are skipped. */
	.wpx-prose a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 9pt;
		color: #555;
		word-break: break-all;
	}

	/* --- Details are printed open ------------------------------------------ */

	.wpx-prose details { border: 1px solid #ccc; }
	.wpx-prose details > *:not(summary) { display: block !important; }
	.wpx-prose summary { background: #f4f4f4 !important; font-weight: 700; }
	.wpx-prose summary::after { display: none; }

	/* --- No motion, no shadow ------------------------------------------------ */

	* {
		animation: none !important;
		transition: none !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	img { max-width: 100% !important; page-break-inside: avoid; break-inside: avoid; }
}
