/* ========================================
   Print stylesheet — formats the page as a CV
   ======================================== */

@page {
  size: A4;
  margin: 1.5cm 2cm;
}

* {
  color: #000 !important;
  background: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 9.5pt;
  line-height: 1.5;
}

/* ----------------------------------------
   Hide non-CV elements
   ---------------------------------------- */

.skip-link,
.hero__bar,
.hero__scroll,
.hero__issue,
.hero__vertical,
.hero__stamp,
.hero__dash,
.hero__portrait,
.hero__ctas,
.hero::after,
.section--accent,
.section__number,
.footer,
.lang-switcher,
.theme-toggle {
  display: none !important;
}

/* ----------------------------------------
   Hero -> CV header
   ---------------------------------------- */

.hero {
  min-height: auto !important;
  padding: 0 !important;
  border-bottom: 2pt solid #000;
  margin-bottom: 0.5cm;
  padding-bottom: 0.3cm !important;
}

.hero__canvas {
  padding: 0 !important;
  display: block !important;
}

.hero__name {
  font-size: 22pt !important;
  line-height: 1 !important;
  letter-spacing: -0.02em !important;
}

.hero__name-line--indent {
  padding-left: 0 !important;
  display: inline !important;
}

.hero__name-line {
  display: inline !important;
}

.hero__bottom {
  margin-top: 0.2cm !important;
}

.hero__tagline {
  font-size: 9pt !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Print-only contact line */
.hero__canvas::after {
  content: 'mail@joaooliveira.eu · joaooliveira.eu · Copenhagen, Denmark';
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 8pt;
  color: #555 !important;
  margin-top: 0.15cm;
}

/* ----------------------------------------
   Sections -> CV sections
   ---------------------------------------- */

.section {
  padding: 0.3cm 0 0.1cm !important;
  page-break-inside: avoid;
}

.section__head {
  margin-bottom: 0.2cm !important;
  border-bottom: 0.5pt solid #ccc;
  padding-bottom: 0.1cm;
}

.section__title {
  font-size: 8pt !important;
  letter-spacing: 0.12em !important;
}

.container,
.container--narrow {
  max-width: none !important;
  padding: 0 !important;
}

/* ----------------------------------------
   About -> Summary
   ---------------------------------------- */

.section__body p {
  font-size: 9pt !important;
  line-height: 1.5 !important;
  max-width: none !important;
}

.section__body p + p {
  margin-top: 0.15cm !important;
}

.section__body--dropcap > p:first-child::first-letter {
  font-size: 1em !important;
  float: none !important;
  padding: 0 !important;
  font-weight: normal !important;
  font-family: inherit !important;
}

/* ----------------------------------------
   Skills
   ---------------------------------------- */

.skills__row {
  padding: 0.1cm 0 !important;
  border-bottom-color: #eee !important;
}

.skills dt {
  font-size: 7pt !important;
  min-width: 5rem !important;
}

.skills dd {
  font-size: 8.5pt !important;
}

/* ----------------------------------------
   Experience
   ---------------------------------------- */

.experience-item {
  padding: 0.15cm 0 !important;
  border-bottom-color: #eee !important;
  page-break-inside: avoid;
}

.experience-item__role {
  font-size: 10pt !important;
}

.experience-item__date {
  font-size: 7pt !important;
}

.experience-item__company {
  font-size: 8.5pt !important;
}

/* ----------------------------------------
   Education
   ---------------------------------------- */

.education-item {
  padding: 0.15cm 0 !important;
  border-bottom-color: #eee !important;
  page-break-inside: avoid;
}

.education-item__institution {
  font-size: 10pt !important;
}

.education-item__date {
  font-size: 7pt !important;
}

.education-item__degree {
  font-size: 8.5pt !important;
}

.education-item__location {
  font-size: 7pt !important;
}

.education-item__note {
  font-size: 8pt !important;
  max-width: none !important;
}

/* ----------------------------------------
   Work -> Selected Projects
   ---------------------------------------- */

.work-category {
  margin-top: 0.2cm !important;
  page-break-inside: avoid;
}

.work-category__name {
  font-size: 7pt !important;
  letter-spacing: 0.12em !important;
}

.work-category__desc {
  font-size: 8pt !important;
  margin-top: 0.05cm !important;
}

.work-item {
  padding: 0.1cm 0 !important;
  border-bottom-color: #eee !important;
  display: flex !important;
  page-break-inside: avoid;
}

.work-item__title {
  font-size: 9pt !important;
}

.work-item__desc {
  font-size: 8pt !important;
}

.work-item__arrow {
  display: none !important;
}

/* ----------------------------------------
   Elsewhere -> Links
   ---------------------------------------- */

.elsewhere a {
  font-size: 9pt !important;
  padding: 0.08cm 0 !important;
}

.elsewhere a::after {
  content: ' (' attr(href) ')';
  font-size: 7pt;
  color: #888 !important;
}

.elsewhere__arrow {
  display: none !important;
}

/* ----------------------------------------
   General print rules
   ---------------------------------------- */

a {
  text-decoration: none !important;
}

h1, h2, h3 {
  page-break-after: avoid;
}

.experience-list,
.skills {
  page-break-inside: avoid;
}
