/* ==========================================================
   Print stylesheet — renders the /resume page as a clean,
   professional CV when printing / saving as PDF.
   Linked with media="print", so everything here is print-only.

   Design: single deep-blue accent (degrades to dark gray on
   B/W printers), typographic hierarchy, hairline separators
   between entries instead of boxes.
   ========================================================== */

@page {
    size: A4;
    margin: 13mm 15mm;
}

/* Force a light, ink-friendly palette regardless of theme */
:root,
:root[data-theme="dark"],
:root[data-theme="light"] {
    --bg: #fff;
    --bg-elevated: #fff;
    --bg-card: #fff;
    --bg-card-hover: #fff;
    --border-color: #ddd;
    --border-color-strong: #bbb;
    --text: #111;
    --text-muted: #444;
    --text-faint: #777;
    --gradient: none;
    --gradient-flat: none;
    --shadow-glow: none;
    --shadow-card: none;
    --shadow-elevated: none;
    --print-accent: #1d4ed8;
    --print-ink: #0f172a;
    --print-soft: #555;
}

/* No animations or transitional states on paper — print always captures
   final values, never a mid-transition frame. */
*,
*::before,
*::after {
    transition: none !important;
    animation: none !important;
}

html,
body {
    background: #fff !important;
    color: var(--print-ink) !important;
    font-size: 10pt;
}

/* Screen chrome that has no place on paper */
#masthead,
.site-footer,
.hero-bg,
.hero-cta,
#announcement,
.career-filter,
.career-empty,
.photo-profile-container,
.section-counters,
.section-eyebrow,
.console-container,
.skill-chip-bar,
#projects,
#contact,
.modal,
.modal-backdrop,
.dropdown-menu,
.btn,
button,
input {
    display: none !important;
}

/* Print-only elements (hidden on screen via theme.css) */
.print-only {
    display: block !important;
}

.site-main {
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
}

.mt-n5 {
    margin-top: 0 !important;
}

/* CVs read left-aligned */
.site-section,
.site-section .container {
    text-align: left !important;
}

.site-section .container {
    background: #fff !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}

/* Section titles: small caps with an accent underline */
.site-section h3 {
    font-size: 12pt;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--print-accent) !important;
    border-bottom: 1pt solid #ccd3e0;
    padding-bottom: 3pt;
    margin: 0 0 6pt;
}

.site-section p {
    color: var(--print-soft) !important;
    font-size: 9pt;
    font-style: italic;
    margin: 0 0 10pt;
}

/* Scroll-reveal elements must always be visible on paper */
.reveal,
.reveal-stagger,
.reveal-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

/* CV header (print-only block rendered by the resume page)
================================================== */
.print-cv-header {
    text-align: left;
    border-bottom: 2pt solid var(--print-accent);
    padding-bottom: 8pt;
    margin-bottom: 12pt;
}

.print-cv-header h1 {
    font-size: 21pt;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0;
    color: var(--print-ink);
}

.print-cv-header .print-cv-role {
    font-size: 11.5pt;
    font-weight: 600;
    font-style: normal;
    color: var(--print-accent) !important;
    margin: 2pt 0 3pt;
}

.print-cv-contacts {
    font-size: 8.5pt;
    color: var(--print-soft);
    margin: 0;
    font-family: 'JetBrains Mono', 'Consolas', monospace;
}

/* Timeline flattened into a clean linear list
================================================== */
.cd-container {
    width: 100% !important;
    max-width: 100% !important;
    background: #fff !important;
    border: none !important;
    padding: 0 !important;
}

#cd-timeline {
    margin: 0 !important;
    padding: 0 !important;
}

#cd-timeline::before,
#cd-timeline-head,
.cd-timeline-img,
.cd-timeline-content::before {
    display: none !important;
}

/* One entry = date line, title, company/location, details —
   separated by a hairline, never split across pages. */
.cd-timeline-block {
    margin: 0 0 9pt !important;
    padding-bottom: 8pt;
    border-bottom: 0.5pt solid #e2e6ee;
    page-break-inside: avoid;
    break-inside: avoid;
}

.cd-timeline-block:last-child {
    border-bottom: none;
}

.cd-timeline-date {
    position: static !important;
    width: auto !important;
    margin: 0 0 1pt !important;
    padding: 0 !important;
    text-align: left !important;
    color: var(--print-accent) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 8.5pt;
    font-weight: 700;
    letter-spacing: 0.03em;
}

.cd-timeline-content {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: var(--print-ink) !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 9pt !important;
    transform: none !important;
}

.cd-timeline-content h5 {
    font-size: 11pt;
    font-weight: 700;
    color: var(--print-ink) !important;
    margin: 0 0 1pt;
}

.cd-timeline-content h5 i {
    color: var(--print-accent);
    font-size: 9pt;
}

/* Company · location line: plain, subtle */
.cd-timeline-content .timeline-content-info {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 0 2pt !important;
    color: var(--print-soft) !important;
    font-size: 8.5pt;
}

.cd-timeline-content .timeline-content-info i {
    color: #99a3b5;
}

/* Field labels (Description / Tasks / tag categories) */
.cd-timeline-content h6 {
    font-size: 7.5pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #7a8497 !important;
    margin: 3pt 0 1pt;
}

.cd-timeline-content .mt-2 {
    margin-top: 2pt !important;
}

.cd-timeline-content p,
.cd-timeline-content span,
.cd-timeline-content li,
.cd-timeline-content div {
    color: #26303f !important;
}

.cd-timeline-content ul {
    margin: 0 0 2pt 11pt;
    padding: 0;
}

.cd-timeline-content ul li {
    font-size: 9pt;
    line-height: 1.35;
}

/* Certification / formation logos: small stamps */
.cd-timeline-content img {
    width: 36pt !important;
    height: 36pt !important;
    margin: 2pt 0 !important;
}

.cd-timeline-content .text-center {
    text-align: left !important;
}

/* Tech tags: compact light chips (backgrounds forced for PDF export) */
.tags {
    justify-content: flex-start !important;
}

.tags li {
    background: #eef2f8 !important;
    color: #33405a !important;
    border: none !important;
    border-radius: 2pt !important;
    padding: 1pt 5pt !important;
    margin: 1pt 2pt 1pt 0 !important;
    font-size: 7.5pt !important;
    flex-grow: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

a {
    color: var(--print-ink) !important;
    text-decoration: none !important;
}
