/* This file owns ALL print geometry (page size, margins, page padding), so a human
   printing from the browser (Ctrl+P) gets the same result as the generated PDFs. The
   PDF scripts must NOT pass their own margins; they rely on this @page rule. */
@page {
  size: A4;
  margin: 12mm;
}

body {
  background: #fff;
}

.page {
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.non-printable {
  display: none;
}

.page-footer {
  display: none;
}

/* ===== Header ===== */
.header {
  padding-bottom: 8px;
}

.header h1 {
  font-size: 18pt;
}

.header-headline {
  font-size: 10pt;
}

.header-motto {
  font-size: 8.5pt;
  margin-top: 3px;
}

.header-contact {
  margin-top: 6px;
  gap: 4px 12px;
  font-size: 8pt;
}

.header-contact a {
  color: #444;
}

.header-contact a[data-print-text] {
  font-size: 0;
}

.header-contact a[data-print-text]::after {
  content: attr(data-print-text);
  font-size: 8pt;
}

/* ===== Sections ===== */
.content {
  margin-top: 8px;
}

.section {
  margin-top: 10px;
  break-inside: avoid-page;
  page-break-inside: avoid;
}

.section.section-experience {
  break-inside: auto;
  page-break-inside: auto;
}

.section h2 {
  font-size: 8pt;
  margin-bottom: 6px;
  break-after: avoid-page;
  page-break-after: avoid;
}

/* ===== Body text scale ===== */
body,
.prose-list,
.prose-list p,
.experience-highlights li,
.list-compact li,
.list-item-meta {
  font-size: 8.6pt;
  line-height: 1.3;
}

.prose-list p {
    margin: 0 0 5px;
}

/* ===== Experience timeline ===== */
.list-experience {
  padding-left: 24px;
}

.experience-item {
  margin-bottom: 9px;
  break-inside: avoid-page;
  page-break-inside: avoid;
}

.experience-title {
  font-size: 9.5pt;
}

.experience-company,
.experience-dates,
.experience-description {
  font-size: 8.4pt;
}

.experience-description {
  margin: 1px 0 5px;
}

.experience-highlights li {
  margin: 2px 0;
}

/* ===== Skills / Education / Certifications ===== */
.section-skills .list-compact li {
  margin: 2px 0;
}

.section-skills .list-item-title {
  flex-basis: 120px;
  font-size: 8pt;
}

#educationList {
  gap: 5px 24px;
}

#educationList .list-item-title {
  font-size: 9pt;
}

#educationList .list-item-meta,
#educationList .list-item-date {
  font-size: 8pt;
  margin-top: 1px;
}

.cert-list.cols2 {
  column-gap: 24px;
}

.cert-list li {
  margin: 2px 0;
  line-height: 1.2;
}

.cert-list .list-item-title {
  font-size: 8.4pt;
}

/* ===== Cover letter ===== */
.cover-letter-body {
  font-size: 10.5pt;
  line-height: 1.4;
}

.cover-letter-body p {
  margin: 0 0 8pt;
}
