@media print {
  body,
  strong,
  p,
  span,
  ul li,
  .job-data label { 
    font-size: 12pt;
    line-height: 1.4; 
}

  /* Force portrait */
  @page {
    size: A4 portrait; /* <- change from landscape */
    margin: 40pt 30pt 40pt;
  }

.no-print {
    display: none!important;
}

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

h1 {
    font-size: 20pt;
}

h2, h2 b {
    font-size: 16pt;
}

main {
    border: none;
    box-shadow: none;
}

header {
    width: auto !important;
    max-width: 100% !important;
    padding-bottom: 0;
    box-shadow: none;
}

/* Force desktop layout for print */
.mobile {
    display: none !important;
}

.desktop {
    display: block !important;
}

.job-data > div {
    padding: 8px 0px 7px;
}

/* Hide contact person images */
.contact-box {
    padding-top: 0 !important;
}
.contact-person img {
    display: none !important;
}

section {
    max-width: 100% !important;
}

/* Force 2-column layout for print */
.grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 260px !important;
    column-gap: 30px !important;
}

.grid .side-col {
    width: auto !important;
}

section ul {
    list-style: none;
}

section ul li {
    position: relative;
}

section ul li::before {
    display: none;
}

section ul, section ul li {
    list-style: disc;
}

h1, h2, h3 {
    color: var(--primary-color)!important;
}

.grecaptcha-badge {
        display: none !important;
        visibility: hidden !important;
}

.job-data {
    margin-bottom: 40px;
}

 /* Prevent any accidental horizontal overflow that makes browsers rotate/scale */
  html, body { overflow: hidden; }
  * { max-width: 100% !important; box-sizing: border-box; }
}