/*
 *  print.css — Two-column CV (dark red sidebar + white content)
 *  media="print" only — Bootstrap never applies here.
 */

/* ─── Page ─── */
@page { size: A4; margin: 0; }

* {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    box-sizing: border-box;
}

html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    font-family: 'open_sansregular', Arial, sans-serif;
    font-size: 9pt;
    color: #222;
}

/* ─── Hide screen chrome ─── */
#loader, #lang-toggle, .mobile-header, .mobile-skills,
.section-footer, .stat-pills { display: none !important; }
.about-intro .lead { display: none !important; }

/* ─── Flatten Bootstrap wrappers ─── */
#wrapper, .container, .row {
    display: block !important;
    position: static !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: none !important;
    box-shadow: none !important;
    background: none !important;
}
.row::before, .row::after { display: none !important; }

/* ══════════════════════════════════════════
   RED STRIPE — fixed, repeats on every page
   This is a background-only element (no content)
══════════════════════════════════════════ */
.print-sidebar-bg {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 62mm !important;
    height: 100% !important;
    background: #7a1e1e !important;
    z-index: 0;
}

/* ══════════════════════════════════════════
   LEFT SIDEBAR CONTENT
   position:absolute paints once on page 1
══════════════════════════════════════════ */
.col-lg-3.col-md-4 {
    display: block !important;
    position: absolute !important;
    z-index: 1;
    top: 0 !important;
    left: 0 !important;
    width: 62mm !important;
    min-height: 297mm !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    overflow: hidden !important;
    background: #7a1e1e !important;
}

.profile {
    display: block !important;
    background: transparent !important;
    border: none !important;
    border-top: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
}

/* Hide name/job — shown in right col instead */
.profile-name { display: none !important; }

/* Photo: circle, centred */
.profile-image {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 18px 0 12px !important;
    margin: 0 !important;
    clip-path: none !important;
    width: 100% !important;
}

.profile-image img {
    display: block !important;
    width: 38mm !important;
    height: 38mm !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: top center !important;
    border: 2px solid rgba(255,255,255,.3) !important;
}

/* Contact info */
ul.profile-information {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 14px 4px !important;
    border-top: 1px solid rgba(255,255,255,.2) !important;
}

ul.profile-information li {
    display: block !important;
    padding: 5px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    float: none !important;
}

ul.profile-information li:last-child { border-bottom: none !important; }

.info-label {
    display: block !important;
    font-family: 'open_sanssemibold', Arial, sans-serif !important;
    font-size: 5.5pt !important;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: rgba(255,255,255,.55) !important;
    margin-bottom: 1px;
    min-width: 0 !important;
}

.info-value {
    display: block !important;
    font-size: 7pt !important;
    color: #ffffff !important;
    word-break: break-word !important;
    line-height: 1.35;
}

/* Plain text links — no underline, no blue, no href shown */
.info-value a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.info-value a::after { content: none !important; }

/* Skills */
.sidebar-skills {
    display: block !important;
    border-top: 1px solid rgba(255,255,255,.2) !important;
    margin-top: 6px;
}

.sidebar-section-title {
    padding: 8px 14px 4px !important;
    display: block !important;
}

.sidebar-section-title h2 {
    font-family: 'open_sansextrabold', Arial, sans-serif !important;
    font-size: 6pt !important;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(255,255,255,.55) !important;
    margin: 0 0 4px !important;
}

.zigzag-divider {
    display: block !important;
    stroke: rgba(255,255,255,.3) !important;
    fill: none !important;
    overflow: visible;
}

.skills-list {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 14px 6px !important;
}

.skills-list li { display: block !important; margin-bottom: 6px !important; float: none !important; }
.skills-list li:last-child { margin-bottom: 0 !important; }

.skills-list h4 {
    font-size: 6.5pt !important;
    text-transform: uppercase;
    letter-spacing: .03em;
    color: #ffffff !important;
    margin-bottom: 3px !important;
    line-height: 1.3;
}

.skill-bar {
    display: block !important;
    height: 3px !important;
    background: rgba(255,255,255,.2) !important;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}

.skill-fill {
    display: block !important;
    height: 100% !important;
    background: #ffffff !important;
    border-radius: 10px;
    animation: none !important;
}

/* Languages */
.sidebar-languages {
    display: block !important;
    border-top: 1px solid rgba(255,255,255,.2) !important;
    padding-bottom: 16px !important;
}

.lang-list {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 14px !important;
}

.lang-list li { display: block !important; margin-bottom: 7px !important; float: none !important; }
.lang-list li:last-child { margin-bottom: 0 !important; }

.lang-row { display: block !important; margin-bottom: 3px; }

.lang-name {
    display: inline !important;
    font-family: 'open_sanssemibold', Arial, sans-serif !important;
    font-size: 7pt !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #ffffff !important;
}

.lang-level {
    display: inline !important;
    font-size: 6.5pt !important;
    color: rgba(255,255,255,.55) !important;
    margin-left: 5px;
}

.lang-level::before { content: "· "; }

.lang-bar {
    display: block !important;
    height: 3px !important;
    background: rgba(255,255,255,.2) !important;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
}

.lang-fill {
    display: block !important;
    height: 100% !important;
    background: #ffffff !important;
    border-radius: 10px;
    animation: none !important;
}

/* ══════════════════════════════════════════
   RIGHT CONTENT
══════════════════════════════════════════ */
.col-md-9 {
    display: block !important;
    float: none !important;
    position: static !important;
    margin-left: 62mm !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    background: #ffffff !important;
}

section#about {
    display: block !important;
    background: #ffffff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    border: none !important;
}

/* Right-col name header */
.profile-name-print {
    display: block !important;
    padding: 16px 18px 10px !important;
    border-bottom: 2pt solid #7a1e1e !important;
}

.profile-name-print .pnp-name {
    display: block;
    font-family: 'open_sansextrabold', Arial, sans-serif !important;
    font-size: 15pt !important;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: #1a1a1a !important;
    margin-bottom: 3px;
}

.profile-name-print .pnp-title {
    display: block;
    font-family: 'open_sansitalic', Arial, sans-serif !important;
    font-size: 8.5pt !important;
    color: #555 !important;
}

/* cv-section: allow page breaks inside long sections (experience)
   but keep heading glued to whatever follows it */
.cv-section {
    break-inside: auto;
    page-break-inside: auto;
}

/* Section heading: display props + never orphan at bottom of page */
.main-title {
    display: block !important;
    padding: 8px 18px 4px !important;
    border-bottom: 1.5pt solid #7a1e1e !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
}

.main-title h1 {
    font-family: 'open_sansextrabold', Arial, sans-serif !important;
    font-size: 7.5pt !important;
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #7a1e1e !important;
    margin: 0 !important;
}

/* The content block immediately after a heading:
   break-before:avoid pairs with the heading's break-after:avoid.
   Together they form an unbreakable heading+first-content unit. */
.content {
    padding: 5px 18px 3px !important;
}

/* First exp inside content: also avoid breaking away from heading */



/* Who am I */
.about-intro .body {
    font-size: 7.5pt !important;
    color: #444 !important;
    line-height: 1.5 !important;
}

/* Timeline */
.timeline { display: block !important; position: static !important; }
.timeline:before, .timeline:after { display: none !important; }

.exp {
    display: block !important;
    padding-left: 0 !important;
    margin-bottom: 4mm !important;
    page-break-inside: avoid;
    break-inside: avoid;
}

.exp:last-child { margin-bottom: 0 !important; }
.exp:after { display: none !important; }

.hgroup { margin-bottom: 3px !important; }

.hgroup h4 {
    font-family: 'open_sansbold', Arial, sans-serif !important;
    font-size: 8.5pt !important;
    color: #1a1a1a !important;
    margin: 0 0 1px !important;
    line-height: 1.2;
}

.hgroup h6 {
    font-size: 7pt !important;
    color: #666 !important;
    margin: 0 0 2px !important;
    display: flex !important;
    align-items: center;
    gap: 4px;
    font-style: normal !important;
}

.hgroup h6 i { color: #bbb !important; font-size: 7pt !important; }

span.current {
    display: inline-flex !important;
    background: #7a1e1e !important;
    color: #ffffff !important;
    font-size: 5.5pt !important;
    padding: 1px 4px !important;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-style: normal !important;
}

.exp p {
    font-size: 7.5pt !important;
    color: #444 !important;
    line-height: 1.45 !important;
    margin: 0 0 2px !important;
}

.exp ul { list-style: none !important; margin: 2px 0 0 !important; padding: 0 !important; }

.exp ul li {
    position: relative !important;
    padding-left: 10px !important;
    font-size: 7.5pt !important;
    color: #444 !important;
    line-height: 1.4 !important;
    margin-bottom: 2px !important;
}

.exp ul li::before {
    content: "✓";
    position: absolute;
    left: 0; top: 0;
    color: #7a1e1e !important;
    font-size: 7pt !important;
    font-weight: bold;
}

/* Courses */
.courses-grid {
    display: block !important;
    columns: 2 !important;
    column-gap: 6mm !important;
}

.course-badge {
    display: block !important;
    border: none !important;
    box-shadow: none !important;
    padding: 1mm 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
}

.course-badge .course-name   { display: block; font-size: 7.5pt !important; color: #1a1a1a !important; }
.course-badge .course-issuer { display: block; font-size: 6.5pt !important; color: #666 !important; font-style: italic; }
.course-badge .course-meta   { display: flex; font-size: 6.5pt !important; color: #888 !important; gap: 4px; align-items: center; }
.course-badge .course-meta i { font-size: 6pt !important; }

/* Interests */
.interests { display: block !important; }

.interest-item {
    display: inline !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.interest-item .ico { display: none !important; }
.interest-item::after { content: " · "; color: #7a1e1e !important; }
.interest-item:last-child::after { content: "" !important; }

.interest-item h3 {
    display: inline !important;
    font-size: 8pt !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    color: #444 !important;
    font-family: 'open_sansregular', Arial, sans-serif !important;
}


/* Physical page-break element — inserted before Education and Courses.
   display:block is required; the break properties apply to block boxes only. */
.print-page-break {
    display: block !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    page-break-after: always !important;
    break-after: page !important;
}
