/*
 * Impression du CV (et génération de CV-2026.pdf par tools/build-cv-pdf.sh).
 * Même style que le site : seule la page Résumé est imprimée, sur 2 pages A4.
 * Chargée après style.css avec media="print" : ne surcharge que le nécessaire.
 */

@page {
  size: A4;
  margin: 13mm 14mm 12mm;
  background: #f9f3e9;
}

html, body { background: #f9f3e9; }
body { font-size: 9.4pt; line-height: 1.45; }

/* --- Ce qui n'a rien à faire sur papier ---------------------------------- */
.tabs,
.beyond,
.site-footer,
.lightbox,
.cv-side .btn,
#page-music, #page-photography, #page-filmmaking { display: none !important; }

/* Le CV s'imprime même si on était sur une autre page du site */
#page-resume, #page-resume[hidden] { display: block !important; }
.panel { animation: none; }
.print-only { display: block; }

main.wrap, .wrap { max-width: none; padding: 0; margin: 0; min-height: 0; }

/* --- En-tête ------------------------------------------------------------- */
.site-header { padding: 0 0 7mm; }
.header-inner { gap: 8mm; }
.name { font-size: 25pt; }
.role { font-size: 13.5pt; margin: 2mm 0 0.5mm; }
.tagline { font-size: 12.5pt; }
.avatar { width: 30mm; height: 30mm; }

/* --- Deux colonnes ---------------------------------------------------------
 * La colonne de gauche s'étend sur deux pages : en flux normal (pas de grille,
 * que WeasyPrint ne sait pas couper entre deux pages). La colonne de droite,
 * placée avant dans le HTML, flotte en haut à droite de la première page. */
.cv { display: block; }
.cv-main { margin-right: 58mm; }
.cv-side {
  float: right;
  width: 50mm;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}

/* Colonne de droite de la page 2 (Interests) : construite par
 * tools/build_cv_pdf.py, au début du poste marqué data-print-page2. Elle est
 * dans la colonne de gauche : marge négative pour la ramener dans la marge. */
[data-print-page2] { break-before: page; }
.cv-side-page2 { margin-right: -58mm; }
/* Insérée dans un poste : ne pas hériter du style des listes de postes */
.cv-side-page2 .side-block ul li { font-style: normal; color: var(--ink); margin: 0.8mm 0; }

.section-title { font-size: 15pt; margin: 0 0 2.5mm; break-after: avoid; }
.cv-side .section-title { font-size: 13pt; margin: 5mm 0 1.5mm; }
.cv-side .side-block:first-of-type .section-title { margin-top: 0; }
.cv-main .job + .section-title { margin-top: 4mm; }

.job { margin-bottom: 4mm; }
.job h3 { font-size: 10.6pt; break-after: avoid; }
.job .job-meta { font-size: 10pt; margin: 0.3mm 0 1.5mm; break-after: avoid; }
.job h4 { font-size: 9.4pt; margin: 2.5mm 0 0.5mm; break-after: avoid; }
.job ul { margin-bottom: 1.2mm; padding-left: 4.5mm; }
.job ul li { margin: 0.35mm 0; }
.job .tech { font-size: 8.8pt; }
.job li, .job p { orphans: 2; widows: 2; }
.job ul, .job h4 + ul { break-inside: avoid; }

.cv-side ul { padding-left: 4.5mm; }
.cv-side li { margin: 0.8mm 0; }
.contact dt { margin-top: 2mm; }

/* Liens : lisibles sur papier, sans soulignement */
a { color: inherit; text-decoration: none; }
