/* Print layout for /<lang>/cv/ (linked with media="print"): plain single column, black on
   white, A4, no skin effects, link URLs written out. Aim: two pages at most. */
@page { size: A4; margin: 20mm 22mm 18mm; }

@media print {
  /* Flatten the skin's colour tokens so nothing can come out tinted or dark. */
  :root, html, html[data-yorha], html[data-yorha][data-theme="dark"], html[data-yorha][data-theme="light"] {
    --bg: #fff; --bg-elevated: #fff; --bg-soft: #fff;
    --text: #000; --text-muted: #000; --text-faint: #222;
    --border: #000; --border-soft: #888; --accent: #000; --accent-ink: #000; --accent-soft: transparent;
    --yo-ink: #000; --yo-fill: #fff; --yo-line: transparent; --yo-glow: transparent;
    color-scheme: light;
  }
  html, body, body.yorha { background: #fff !important; color: #000 !important; }
  body.yorha {
    font-family: "Helvetica Neue", Arial, sans-serif !important; font-size: 10.5pt; line-height: 1.5;
    letter-spacing: 0 !important; margin: 0;
  }
  *, *::before, *::after { animation: none !important; transition: none !important; box-shadow: none !important; text-shadow: none !important; }

  /* Skin effects and page chrome that must not print. */
  .yo-bg, .yo-bgfx, .ds-eye, .yo-bgbtn, .yo-bgmenu, .ember-field, .yo-boot, .yo-wipe, .yo-search, .yo-dialog,
  .yo-progress, .yo-hint, .yo-copy, .yo-mark-menu, .site-header, .site-footer, .admin-bar,
  .cookie-banner, .flash-wrapper, .cv-print-line, .cv-preview, canvas, img, svg, video, iframe,
  .kicker, .kicker::before, .hero .hero-inner::before, .hero .hero-inner::after { display: none !important; }

  .site-shell { position: static !important; }
  .container, .container.reading { max-width: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
  /* The skin draws dashed rules between sections; print uses one thin rule under each heading instead. */
  main section, body.yorha main section { border: 0 !important; padding: 0 !important; }
  .hero-inner { max-width: none !important; padding: 0 !important; }
  .cv-head { margin: 0 0 2mm !important; }
  .cv-body { padding: 0 !important; }
  main section.cv-sec, body.yorha main section.cv-sec { margin: 0 !important; padding: 8mm 0 0 !important; }

  /* Short sections move to the next page whole rather than splitting. */
  #skills, #education, #experience, #languages { break-inside: avoid; }

  h1, h2, h3, body.yorha h1, body.yorha h2, body.yorha h3 {
    font-family: "Helvetica Neue", Arial, sans-serif !important; font-weight: 700 !important;
    text-transform: none !important; letter-spacing: 0 !important; color: #000 !important;
  }
  h1, body.yorha h1 { font-size: 26pt !important; line-height: 1.15; margin: 0 0 2mm !important; }
  h2, body.yorha h2 { font-size: 11pt !important; text-transform: uppercase !important; letter-spacing: 0.08em !important;
    border-bottom: 0.6pt solid #000 !important; margin: 0 0 4mm !important; padding-bottom: 1.5mm !important; break-after: avoid; }
  h3, body.yorha h3 { font-size: 11pt !important; line-height: 1.3; margin: 0 0 1mm !important; }
  p, li, dd, dt, span, a, strong, body.yorha p { color: #000 !important; font-family: inherit !important; }
  p { margin: 0 0 2mm; }
  .hero-subtitle { font-size: 10.5pt !important; margin: 0 0 3mm !important; }
  .cv-num, .cv-label, .cv-dates, .cv-note { font-family: inherit !important; font-size: 10pt !important; letter-spacing: 0 !important; color: #000 !important; }
  .cv-num { margin-right: 2mm; }
  .cv-contact { margin: 0 !important; gap: 1mm 8mm !important; font-family: inherit !important; font-size: 10pt !important; }
  .cv-label { text-transform: lowercase; margin-right: 1.5mm; font-weight: 700; }
  .cv-dates { margin-left: 3mm; }

  a { text-decoration: none !important; }
  /* Write the URL after each link, once: the project title and the contact links do not repeat it. */
  .cv-body a[href]::after { content: " (" attr(href) ")"; font-size: 9pt; word-break: break-all; }
  .cv-body a[href^="#"]::after, a[href^="mailto:"]::after, .cv-contact a::after, .cv-work h3 a::after { content: none !important; }

  .cv-item { break-inside: avoid; margin: 0 0 5mm !important; }
  .cv-meta { margin: 0 0 1mm !important; }
  .cv-links { display: block !important; margin: 1.5mm 0 0 !important; font-family: inherit !important; font-size: 10pt !important;
    text-transform: none !important; letter-spacing: 0 !important; }
  .cv-links a { display: block; margin: 0 0 0.5mm; }
  .pf-impact { font-family: inherit !important; font-size: 10.5pt !important; letter-spacing: 0 !important; margin: 0 0 1.5mm !important; }
  .pf-impact::before { content: none !important; }
  .cv-bullets { margin: 1mm 0 0 6mm !important; padding: 0 !important; list-style: disc; }
  .cv-bullets li { margin: 0 0 1mm; }
  .cv-skills { display: block !important; margin: 0 !important; }
  .cv-skills dt { font-family: inherit !important; font-size: 10.5pt !important; text-transform: none !important; letter-spacing: 0 !important;
    font-weight: 700; display: block; margin: 0 0 0.5mm !important; }
  .cv-skills dd { display: block; margin: 0 0 3.5mm !important; }
  .cv-langs { gap: 1mm 10mm !important; }

  .tag-list { display: block !important; margin: 0 0 1.5mm !important; padding: 0 !important; }
  .tag-list li { display: inline !important; border: 0 !important; padding: 0 !important; background: none !important; font-family: inherit !important; font-size: 10pt !important; letter-spacing: 0 !important; text-transform: none !important; }
  .tag-list li::before, .tag-list li::after { content: none !important; }
  .tag-list li + li::before { content: " · " !important; }
}
