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

:root {
    --print-text: #111;
    --print-muted: #3f3f46;
    --print-border: #d4d4d8;
    --print-accent: var(--color-primary, #0891b2);
}

* {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
}

html,
body {
    margin: 0 !important;
    padding: 0 0 5mm !important;
    background: #fff !important;
    color: var(--print-text) !important;
    font-size: 9pt;
    line-height: 1.3;
    font-family: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

/* Hide UI chrome and all non-print content */
.navbar,
.mobile-menu,
.print-toolbar-wrap,
.back-to-top,
.theme-toggle,
.hero-scroll,
.hero-cta,
.callout-section,
.cta-with-bg,
.cta-secondary,
.private-entry,
.exp-toggle,
.hobby-grid,
.nav-actions,
.nav-hamburger,
#contact,
.footer,
#cases,
.case-swipe-hint,
.experience-minor,
.study-marker,
.study-timeline::before,
.study-context,
.study-item-certificate,
.study-logo,
.study-cert-pill i {
    display: none !important;
}

/* For normal CV routes: print only experience + study sections */
body:not(.is-letter-route) .print-section {
    display: none !important;
}

body:not(.is-letter-route) [data-print-section="experience"],
body:not(.is-letter-route) [data-print-section="study"] {
    display: block !important;
}

.print-contact-header {
    display: block !important;
    margin: 0 0 1.2mm !important;
    padding: 0 0 0.9mm !important;
    border-bottom: 1px solid color-mix(in srgb, var(--print-accent) 32%, var(--print-border));
}

.print-contact-layout {
    display: grid;
    grid-template-columns: 12mm 1fr;
    gap: 2mm;
    align-items: center;
}

.print-contact-photo {
    width: 12mm;
    height: 12mm;
    border-radius: 2mm;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--print-accent) 45%, #dbe1e8);
}

.print-contact-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.print-contact-meta {
    min-width: 0;
}

.print-contact-header h2 {
    margin: 0 0 0.35mm !important;
    font-size: 10.1pt !important;
    letter-spacing: 0.01em;
    font-weight: 700;
    color: var(--print-accent) !important;
}

.print-contact-header p {
    margin: 0 !important;
    font-size: 7.3pt !important;
    line-height: 1.22;
    color: var(--print-muted) !important;
}

.print-contact-site {
    margin-top: 0.25mm !important;
    font-size: 6.9pt !important;
}

.print-contact-site a {
    font-weight: 700;
    color: var(--print-accent) !important;
}

.print-page-footer {
    display: block !important;
    position: fixed;
    left: 7mm;
    right: 7mm;
    bottom: 2.4mm;
    margin: 0;
    padding-top: 0.7mm;
    border-top: 1px solid color-mix(in srgb, var(--print-accent) 20%, #dbe1e8);
    font-size: 6.2pt !important;
    line-height: 1.18;
    text-align: center;
    color: #64748b !important;
    background: #fff;
}

.print-contact-header a {
    color: var(--print-muted) !important;
    text-decoration: none;
}

/* Container and section rhythm */
.container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.section,
section,
.section-alt,
.section-study {
    margin: 0 0 1mm !important;
    padding: 0 !important;
    background: #fff !important;
}

#experience,
#study {
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.section-title {
    margin: 1cm 0 0.7mm !important;
    font-size: 15pt !important;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: 0.02em;
    font-weight: 700;
    font-family: inherit;
    color: var(--print-accent) !important;
}

.section-title::after {
    content: '';
    display: block;
    width: 28mm;
    height: 1px;
    margin-top: 0.55mm;
    background: color-mix(in srgb, var(--print-accent) 56%, var(--print-border));
}

/* Experience layout */
.experience-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.4mm !important;
}

.experience-card {
    margin: 0 !important;
    padding: 0 0 0.6mm !important;
    border: 0 !important;
    border-left: 2.8px solid color-mix(in srgb, var(--print-accent) 62%, #cbd5e1) !important;
    padding-left: 1.45mm !important;
    border-radius: 0 !important;
    background: #fff !important;
    break-inside: auto;
    page-break-inside: auto;
}

.experience-card:last-child {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.experience-card-header {
    display: none !important;
}

.experience-card-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1.8mm;
    row-gap: 0.12mm;
    align-items: start;
    padding: 0 !important;
}

.experience-employer {
    display: block !important;
    grid-column: 1 / -1;
    margin: 0 0 0.35mm !important;
    font-size: 6.3pt !important;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--print-accent) 78%, #334155) !important;
}

.experience-card-body h3 {
    grid-column: 1;
    margin: 0 !important;
    font-size: 8.5pt !important;
    font-weight: 700;
    line-height: 1.18;
    color: var(--print-text) !important;
}

.experience-subrole-title {
    grid-column: 1;
    margin-top: 6mm !important;
    margin-bottom: 0 !important;
    padding-top: 0.5mm;
    border-top: 1px solid #d7dbe2;
}

.experience-subrole-title + .experience-period {
    margin-top: 1.2mm !important;
    padding-top: 0.5mm;
    border-top: 0;
}

.experience-period {
    grid-column: 2;
    float: none;
    display: inline;
    width: auto;
    text-align: right;
    margin: 0 !important;
    font-size: 6.6pt !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--print-accent) 72%, #475569) !important;
    font-weight: 700;
}

.experience-card-body p {
    grid-column: 1 / -1;
    margin: 0.1mm 0 0.15mm !important;
    font-size: 7.1pt !important;
    line-height: 1.22;
    color: var(--print-muted) !important;
}

.exp-details {
    display: none !important;
    max-height: none !important;
    margin-top: 0 !important;
}

/* Study layout */
.study-shell,
.study-timeline,
.study-item {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

.study-item {
    margin: 0 0 1.4mm !important;
    break-inside: auto;
    page-break-inside: auto;
}

.study-content,
.study-item-featured .study-content,
.study-item-compact .study-content {
    margin: 0 !important;
    padding: 0 0 0.4mm !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 1.8mm;
    row-gap: 0.12mm;
    align-items: start;
    border: 0 !important;
    border-bottom: 0 !important;
    border-left: 2.8px solid color-mix(in srgb, var(--print-accent) 62%, #cbd5e1) !important;
    padding-left: 1.45mm !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.study-item:last-child .study-content {
    padding-bottom: 0 !important;
}

.study-content::before {
    display: none !important;
}

.study-content h3 {
    grid-column: 1;
    margin: 0 !important;
    font-size: 8.5pt !important;
    font-weight: 700;
    line-height: 1.2;
    color: var(--print-text) !important;
}

.study-meta,
.study-period,
.case-meta {
    margin: 0 0 0.28mm !important;
    font-size: 6.5pt !important;
    line-height: 1.25;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: color-mix(in srgb, var(--print-accent) 72%, #475569) !important;
}

.study-meta {
    display: contents;
}

.study-institution {
    grid-column: 1 / -1;
    margin: 0.1mm 0 0.2mm !important;
    padding-right: 0 !important;
}

.study-period {
    grid-column: 2;
    grid-row: 1;
    margin: 0 !important;
    padding-right: 0 !important;
    text-align: right;
    justify-self: end;
}

.study-period::before {
    display: none !important;
}

.study-content p,
.lead,
p,
li {
    color: var(--print-muted) !important;
}

.study-content p {
    grid-column: 1 / -1;
    margin: 0 0 0.3mm !important;
    font-size: 7.1pt !important;
    line-height: 1.22;
}

.study-content p:last-child {
    margin-bottom: 0 !important;
}

.animate-in,
.hero-animate {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
}

/* Letter route print: only the letter body */
body.is-letter-route header.hero,
body.is-letter-route section:not(#sollicitatie-blok),
body.is-letter-route .callout-section,
body.is-letter-route .cta-banner,
body.is-letter-route #contact,
body.is-letter-route footer,
body.is-letter-route .private-actions,
body.is-letter-route .private-read-more,
body.is-letter-route .private-form,
body.is-letter-route .private-error,
body.is-letter-route .private-intro {
    display: none !important;
}

body.is-letter-route .private-entry {
    display: block !important;
    padding: 0 !important;
    background: none !important;
}

body.is-letter-route .private-entry .container {
    max-width: 100% !important;
    padding: 0 !important;
}

body.is-letter-route .private-shell {
    max-width: 100% !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
}

body.is-letter-route .private-shell-head {
    border-bottom: 1px solid var(--print-border);
    padding: 0 0 1.6mm !important;
    margin-bottom: 2mm;
}

body.is-letter-route .private-shell-head p {
    font-size: 7pt;
    color: #666 !important;
}

body.is-letter-route .private-shell-head h2 {
    font-size: 11.5pt;
    color: var(--print-text) !important;
}

body.is-letter-route .private-shell-body {
    padding: 0 !important;
}

body.is-letter-route .private-letter h1 {
    font-size: 11pt;
    margin: 0 0 1.2mm !important;
}

body.is-letter-route .private-letter h2 {
    font-size: 9.2pt;
    margin: 2mm 0 0.8mm !important;
}

body.is-letter-route .private-letter p,
body.is-letter-route .private-letter li {
    font-size: 8pt !important;
    line-height: 1.36;
    color: var(--print-muted) !important;
}

body.is-letter-route .private-letter ul {
    margin: 0 0 1.2mm !important;
    padding-left: 4.8mm !important;
}

body.is-letter-route .private-letter-footer {
    margin-top: 1.6mm !important;
    font-size: 8pt !important;
    color: var(--print-text) !important;
}

/* Letter route + CV print mode: print CV sections instead of the letter */
body.is-letter-route.print-mode-cv .private-entry {
    display: none !important;
}

body.is-letter-route.print-mode-cv .print-section {
    display: none !important;
}

body.is-letter-route.print-mode-cv #experience,
body.is-letter-route.print-mode-cv #study {
    display: block !important;
}

body.is-letter-route.print-mode-cv section.print-contact-header:not(#sollicitatie-blok) {
    display: block !important;
}

body.is-letter-route.print-mode-letter section.print-contact-header:not(#sollicitatie-blok) {
    display: block !important;
}

body.is-letter-route.print-mode-letter .print-contact-header .container,
body.is-letter-route.print-mode-letter .private-entry .container {
    padding-left: 4mm !important;
    padding-right: 4mm !important;
}

body.is-letter-route.print-mode-letter .print-contact-header {
    margin: 0 0 4mm !important;
    padding: 0 0 2mm !important;
}

body.is-letter-route.print-mode-letter .print-contact-layout,
body.is-letter-route.print-mode-letter .private-shell-head,
body.is-letter-route.print-mode-letter .private-letter {
    max-width: 170mm;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.is-letter-route.print-mode-letter .private-shell-head {
    border-bottom: 1px solid color-mix(in srgb, var(--print-accent) 32%, var(--print-border)) !important;
    padding: 0 0 2.1mm !important;
    margin-bottom: 3.4mm !important;
}

body.is-letter-route.print-mode-letter .private-shell::before {
    display: none !important;
}

body.is-letter-route.print-mode-letter .letter-meta {
    row-gap: 1mm;
}

body.is-letter-route.print-mode-letter .letter-author {
    color: var(--print-text) !important;
    font-weight: 700;
}

body.is-letter-route.print-mode-letter .private-letter footer.letter-closing {
    display: block !important;
    margin-top: 3.4mm !important;
    padding-top: 0 !important;
    border-top: 0 !important;
}

body.is-letter-route.print-mode-letter .letter-closing p {
    margin: 0.6mm 0 0 !important;
}

body.is-letter-route.print-mode-letter .letter-signature {
    font-weight: 700;
    color: var(--print-text) !important;
}
