/* Print styles */
@page {
  margin: 2cm;
  size: a4;
}

/* Hide interactive elements */
nav,
.ab,
.m,
.d,
.w,
.an,
.ax,
#contact,
.a {
  display: none !important;
}

/* Print closed sections too (docs/css.md) */
details::details-content {
  display: block;
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features -- Safari 17: main.js beforeprint */
  content-visibility: visible;
}

/* stylelint-disable defensive-css/no-list-style-none -- print-only rule to hide native disclosure triangle */
summary {
  list-style: none !important;
}
/* stylelint-enable defensive-css/no-list-style-none */

summary::marker,
summary::-webkit-details-marker {
  display: none !important;
}

/* Base styles */
* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  color: #000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
}

html,
body {
  font-size: 10pt;
  line-height: 1.2;
  background: #fff !important;
}

main {
  font-size: 9pt;
  line-height: 1.5;
}

/* CV Header */
.ao {
  margin-bottom: 0.15in;
  break-after: avoid;

  h1 {
    margin: 0 0 0.1in;
    font-size: 18pt;
    font-weight: 600;
  }

  h2 {
    margin: 0 0 0.08in;
    font-size: 11pt;
    font-weight: 400;
  }

  .ai p {
    margin: 0.04in 0;
    font-size: 9pt;

    a {
      text-decoration: underline;
    }
  }
}

/* Sections */
section {
  margin-bottom: 0.1in;
  break-inside: avoid;

  h3 {
    margin: 0.2in 0 0.05in;
    padding: 0.02in 0;
    font-size: 11pt;
    font-weight: 600;
    border-bottom: 0.5pt solid #ccc;
    break-after: avoid;
  }
}

/* Articles */
article {
  margin-bottom: 0.06in;
  break-inside: avoid;

  h4 {
    margin: 0.1in 0 0.05in;
    font-size: 9pt;
    font-weight: 600;
  }

  li {
    margin-bottom: 0.04in;
    padding-left: 0.05in;
  }
}

/* Text elements */
p {
  margin: 0.04in 0;
  font-size: 9pt;
  line-height: 1.5;
}

a {
  text-decoration: none;
}
