/* ==========================================================================
   bds.com.py · print stylesheet for the CV pages (/cv/ and /es/cv/ only)
   Linked with media="print" after site.css, so equal-specificity rules here win.
   Target: two A4 pages, black on white, 9.5pt Archivo. Printing the CV page
   to PDF is how /marcos-codas-cv.pdf is made.
   If it runs past two pages, add data-print="skip" to any element to drop it.
   ========================================================================== */

@page {
  size: A4;
  margin: 12mm 14mm;
}

/* ---------- Tokens: black on white, print sizes -------------------------- */
:root {
  color-scheme: light;
  --paper: #fff;
  --paper-2: #fff;
  --ink: #000;
  --ink-2: #1a1a1a;
  --ink-3: #4a4a4a;
  --rule: #aaa;
  --red: #000;
  --red-ink: #000;
  --ph-bg: #ffe27a;
  --ph-ink: #000;

  --t-base: 9.5pt;
  --t-s: 8.5pt;
  --t-xs: 7.5pt;
  --t-l: 11pt;
  --t-xl: 13pt;
}

html { font-size: 9.5pt; scroll-behavior: auto; }
body {
  background: #fff;
  color: #000;
  font-family: "Archivo", "Helvetica Neue", Arial, sans-serif;
  font-size: 9.5pt;
  line-height: 1.33;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ---------- Hide what does not belong on paper --------------------------- */
.skip-link,
.topbar,
.site-footer,
figure,
img,
svg,
video,
script,
[data-print="skip"] { display: none !important; }

.wrap { max-width: none; margin: 0; padding: 0; }

a { color: #000; text-decoration: none; }
a:hover { color: #000; }

/* ---------- Type --------------------------------------------------------- */
h1, h2, h3 { margin: 0 0 1.5mm; line-height: 1.1; break-after: avoid; page-break-after: avoid; }
h2 { font-size: 13pt; font-stretch: 100%; }
h3 { font-size: 10pt; margin-top: 3mm; }
p { margin: 0 0 1.6mm; orphans: 3; widows: 3; }
ul, ol { margin: 0 0 1.6mm; }
.kicker { font-size: 7pt; margin: 0 0 1mm; color: #444; }
.small { font-size: 8.5pt; }
.muted { color: #444; }
.lede { font-size: 10pt; }

/* ---------- Printed header: name, CV, email, site ------------------------ */
.cv-head { padding: 0 0 3mm; margin: 0; border-bottom: 1.2pt solid #000; }
.cv-head h1 {
  font-size: 22pt; font-stretch: 100%; font-weight: 800; letter-spacing: -0.01em;
  text-transform: uppercase; line-height: 1; margin: 0 0 1.5mm;
}
.cv-head h1::before { content: "Marcos Codas  "; }
.cv-head p { max-width: none; margin: 0 0 0.8mm; font-size: 9pt; }
.cv-head p.small { font-weight: 600; }

/* ---------- Sections: single column, label above ------------------------- */
.section {
  display: block;
  padding: 3mm 0 1mm;
  border-top: 0.6pt solid #000;
  margin: 0;
}
.section__label { font-size: 7pt; margin: 0 0 1mm; color: #000; }
.section__label .n { margin-right: 0.4em; }
.section__body, .section__notes { max-width: none; min-width: 0; }

/* Notes: small inline run of text under each section, not a column */
.section__notes { margin: 1mm 0 0; font-size: 7pt; line-height: 1.3; color: #333; }
.section__notes .kicker { display: none; }
.note {
  display: inline;
  margin: 0 3mm 0 0;
  padding: 0;
  font-size: 7pt;
  color: #333;
  background: none;
}
.note__n { position: static; display: inline; vertical-align: super; font-size: 0.75em; margin-right: 0.2em; color: #000; }
sup.ref { font-size: 0.65em; }
sup.ref a { color: #000; }

/* ---------- Figures (the big numbers), timeline -------------------------- */
dl.figures {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(32mm, 1fr));
  gap: 0 4mm;
  margin: 2mm 0;
}
dl.figures > div { padding: 1mm 0 1.5mm; border-top: 0.8pt solid #000; break-inside: avoid; }
dl.figures dd { font-size: 14pt; font-stretch: 100%; }
dl.figures dt { font-size: 7.5pt; color: #333; margin-top: 0.5mm; }

ol.timeline { margin: 1.5mm 0 2mm; }
ol.timeline > li {
  grid-template-columns: 24mm 1fr;
  gap: 3mm;
  padding: 1mm 0;
  border-top: 0.4pt solid #999;
  break-inside: avoid;
}
ol.timeline time { font-size: 8.5pt; }

ul.xyz, ul.also { padding-left: 4mm; margin: 0 0 2mm; }
ul.xyz li, ul.also li { margin: 0 0 0.8mm; break-inside: avoid; }

/* ---------- Tables: keep real table layout (undo the mobile blocks) ------ */
table.record { display: table; width: 100%; border-collapse: collapse; font-size: 8.5pt; margin: 1mm 0 3mm; }
table.record thead { display: table-header-group; }
table.record tbody { display: table-row-group; }
table.record tr { display: table-row; padding: 0; border: 0; break-inside: avoid; page-break-inside: avoid; }
table.record th,
table.record td {
  display: table-cell;
  padding: 1mm 3mm 1mm 0;
  border: 0;
  border-top: 0.4pt solid #999;
  text-align: left;
  vertical-align: top;
}
table.record thead th { border-top: 0.8pt solid #000; font-size: 7.5pt; color: #333; }
table.record td:first-child { white-space: nowrap; }
table.record td[data-label]::before,
table.record td:first-child::before { content: none; display: none; }
table.record caption { font-size: 7.5pt; color: #333; padding-bottom: 1mm; break-after: avoid; }

/* ---------- Details printed expanded ------------------------------------- */
details { margin: 1mm 0 2mm; }
details > summary { font-weight: 700; list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details::details-content { content-visibility: visible; display: block; height: auto; }
details:not([open]) > :not(summary) { display: block; }
details dl { margin: 1mm 0 0; columns: 2; column-gap: 6mm; font-size: 8pt; }
details dl > div { break-inside: avoid; margin: 0 0 0.8mm; }
details dt { display: inline; font-weight: 600; }
details dt::after { content: ": "; }
details dd { display: inline; margin: 0; }

/* ---------- Placeholders stay visible, also on a mono-ink printer -------- */
mark.ph {
  background: #ffe27a;
  color: #000;
  font-size: 0.85em;
  padding: 0 0.25em;
  border-bottom: 0.6pt dashed #000;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Quotes, if a page ever has them: plain */
blockquote.quote { margin: 1.5mm 0; padding-left: 3mm; border-left: 1pt solid #000; break-inside: avoid; }
