/*
 * print.css — chargé en media="print".
 *
 * Objectif : que l'article tienne au Cmd+P. Le point le plus important est le
 * passage des blocs de code en pre-wrap : à l'écran ils défilent
 * horizontalement, sur papier tout ce qui dépasse serait purement et
 * simplement tronqué.
 */

@page {
	margin: 18mm 16mm;
}

/* ─── Remise à plat des couleurs ────────────────────────────────────────────
   L'impression se fait toujours en clair, quel que soit le mode à l'écran.
   ────────────────────────────────────────────────────────────────────────── */

:root,
:root[data-theme="dark"],
:root[data-theme="light"] {
	color-scheme: light;

	--background: #ffffff;
	--foreground: #000000;
	--muted: #f2f2f2;
	--muted-foreground: #555555;
	--border: #cccccc;
	--accent: #eeeeee;
	--accent-foreground: #000000;
	--primary: #000000;
}

body {
	background: #ffffff !important;
	color: #000000 !important;
	font-size: 11pt;
	line-height: 1.5;
}

/* La texture papier n'a plus lieu d'être sur du papier. */
body::before {
	display: none !important;
}

/* ─── Éléments retirés ──────────────────────────────────────────────────────
   Tout ce qui ne sert qu'à naviguer disparaît.
   ────────────────────────────────────────────────────────────────────────── */

.site-header,
.site-footer,
.site-drawer,
.skip-link,
.breadcrumb,
.post-nav,
.entry-related,
.comment-form-wrap,
.archive-filters,
.search-form,
.cta-link,
.navigation.pagination,
.code-block__copy,
.heading-anchor,
.lang-switcher,
.theme-toggle,
.menu-toggle {
	display: none !important;
}

/* ─── Mise en page ──────────────────────────────────────────────────────── */

.wrap,
.site-main {
	max-width: none;
	width: auto;
	margin: 0;
	padding: 0;
	gap: 0;
	display: block;
}

.entry-content > * {
	max-width: none;
}

/* ─── Titres ────────────────────────────────────────────────────────────── */

.entry__title,
.page-header__title {
	font-size: 20pt;
	margin-block-end: 0.5rem;
}

.entry-content h2 {
	font-size: 15pt;
}

.entry-content h3 {
	font-size: 13pt;
}

.entry-content :is(h2, h3, h4) {
	break-after: avoid;
	page-break-after: avoid;
}

.entry-content p,
.entry-content li {
	orphans: 3;
	widows: 3;
}

/* ─── Blocs de code ─────────────────────────────────────────────────────────
   Le point critique. En pre-wrap, aucune ligne n'est perdue ; la continuation
   est décalée pour rester lisible. Le fond sombre de Prism est remplacé par un
   simple encadré, pour ne pas noircir la page.
   ────────────────────────────────────────────────────────────────────────── */

pre.wp-block-code,
.wp-block-preformatted {
	white-space: pre-wrap !important;
	word-break: break-word;
	overflow: visible !important;
	background: #f7f7f7 !important;
	border: 1px solid #cccccc !important;
	color: #000000 !important;
	font-size: 8.5pt;
	break-inside: avoid;
	page-break-inside: avoid;
}

pre.wp-block-code code,
pre.wp-block-code code * {
	color: #000000 !important;
	background: none !important;
	white-space: inherit !important;
}

/* Les commentaires restent reconnaissables, en gris. */
pre.wp-block-code .token.comment,
pre.wp-block-code .token.prolog,
pre.wp-block-code .token.doctype,
pre.wp-block-code .token.cdata {
	color: #666666 !important;
	font-style: italic;
}

/* ─── Images et tableaux ────────────────────────────────────────────────── */

.wp-block-image,
.wp-block-table,
figure,
blockquote {
	break-inside: avoid;
	page-break-inside: avoid;
}

.wp-block-image img {
	max-width: 100% !important;
	outline: none;
}

/* ─── Liens ─────────────────────────────────────────────────────────────────
   L'URL des liens externes est révélée : sur papier, un lien sans adresse est
   une information perdue. Les liens internes et les ancres restent nus.
   ────────────────────────────────────────────────────────────────────────── */

.entry-content a[href^="http"]::after {
	content: " (" attr(href) ")";
	font-family: var(--font-code);
	font-size: 8pt;
	color: #555555;
	word-break: break-all;
}

.entry-content a {
	text-decoration: underline;
	color: #000000 !important;
}

/* ─── Métadonnées ───────────────────────────────────────────────────────── */

.post-meta {
	color: #555555 !important;
	font-size: 9pt;
}

.entry__tags {
	font-size: 9pt;
}
