@media print {

  /* -----------------------------------------------
     Page setup
  ----------------------------------------------- */
  @page {
    size: A4;
    margin: 10mm 12mm;
  }

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

  /* -----------------------------------------------
     Hide non-essential elements
  ----------------------------------------------- */
  .top-bar,
  .footer,
  .no-print {
    display: none !important;
  }

  /* -----------------------------------------------
     Reset backgrounds & layout for paper
  ----------------------------------------------- */
  body,
  .light-mode,
  .container-fluid,
  .main-content-wrapper {
    background: #fff !important;
    color: #1a1a1a !important;
  }

  .resume-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    max-width: 100% !important;
    background: #fff !important;
  }

  .container-fluid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* -----------------------------------------------
     Header: photo + nom + titre
  ----------------------------------------------- */
  .resume-header {
    padding: 0.75rem 1.5rem !important;
    background: #f0f4fa !important;
    border-radius: 0 !important;
  }

  .resume-profile-holder {
    position: relative !important;
    padding-top: 0 !important;
  }

  .resume-profile-pic {
    position: static !important;
    margin-left: 0 !important;
    top: auto !important;
    left: auto !important;
    max-width: 70px !important;
    border: 3px solid #dce3ef !important;
    margin-bottom: 0.4rem !important;
  }

  .resume-name {
    font-size: 1.3rem !important;
    color: #0f1e33 !important;
  }

  .resume-role-title {
    font-size: 0.78rem !important;
    color: #354765 !important;
  }

  .resume-contact {
    font-size: 0.72rem !important;
    border-color: #c2cee1 !important;
    color: #354765 !important;
    padding: 0.4rem 0 !important;
  }

  /* -----------------------------------------------
     Body: force two-column layout
     Bootstrap grid collapses below 992px in print —
     we override flex widths directly.
  ----------------------------------------------- */
  .resume-body {
    padding: 0.5rem 0.75rem !important;
  }

  .resume-body > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
  }

  .resume-body .col-main {
    flex: 0 0 66.6667% !important;
    max-width: 66.6667% !important;
    width: 66.6667% !important;
    border-right: 1px solid #dce3ef !important;
    padding-right: 1rem !important;
  }

  .resume-body .col-12.col-lg-4 {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
    width: 33.3333% !important;
    padding-left: 0.75rem !important;
  }

  /* -----------------------------------------------
     Section headings
  ----------------------------------------------- */
  .resume-section {
    margin-bottom: 0.6rem !important;
  }

  .resume-section-heading {
    font-size: 0.72rem !important;
    letter-spacing: 0.08rem !important;
    color: #0f1e33 !important;
    padding-top: 0.3rem !important;
    padding-bottom: 0.3rem !important;
  }

  .light-mode .resume-section-heading-icon {
    background: #8497bc !important;
    color: #fff !important;
    width: 22px !important;
    height: 22px !important;
    font-size: 0.72rem !important;
  }

  /* -----------------------------------------------
     Timeline
  ----------------------------------------------- */
  .resume-timeline {
    padding-left: 1.25rem !important;
  }

  .resume-timeline:before {
    background: #b1c1d8 !important;
  }

  .resume-timeline-item {
    padding-bottom: 0.5rem !important;
  }

  .resume-timeline-item-header {
    page-break-after: avoid;
    break-after: avoid;
  }

  .resume-timeline-item:before {
    border-color: #b1c1d8 !important;
    background-color: #e4e9f2 !important;
  }

  .resume-position-meta {
    font-size: 0.65rem !important;
    color: #354765 !important;
  }

  .resume-position-time {
    color: #4f6591 !important;
  }

  .light-mode .resume-company-name {
    background: #e4e9f2 !important;
    color: #1a1a1a !important;
    font-size: 0.65rem !important;
    padding: 0.05rem 0.35rem !important;
  }

  .resume-position-title {
    font-size: 0.82rem !important;
    color: #0f1e33 !important;
    margin-bottom: 0.1rem !important;
  }

  .resume-timeline-item-desc p {
    font-size: 0.72rem !important;
    color: #354765 !important;
    margin-bottom: 0.1rem !important;
  }

  .resume-timeline-item-desc li {
    font-size: 0.7rem !important;
    color: #354765 !important;
    margin-bottom: 0.05rem !important;
  }

  .resume-timeline-list {
    padding-left: 0.6rem !important;
    margin-bottom: 0 !important;
  }

  .resume-timeline-item-desc ul {
    margin-bottom: 0 !important;
    padding-left: 1rem !important;
  }

  /* -----------------------------------------------
     Summary
  ----------------------------------------------- */
  .resume-summary-desc {
    font-size: 0.75rem !important;
    color: #354765 !important;
  }

  /* -----------------------------------------------
     Skills badges
  ----------------------------------------------- */
  .light-mode .resume-skill-badge {
    background: #4f6591 !important;
    color: #fff !important;
    font-size: 0.6rem !important;
    padding: 0.2rem 0.45rem !important;
    margin-bottom: 0.2rem !important;
  }

  /* -----------------------------------------------
     Language level bars
  ----------------------------------------------- */
  .resume-lang-name {
    font-size: 0.75rem !important;
    color: #0f1e33 !important;
  }

  .light-mode .resume-level-indicator .item {
    background: #e4e9f2 !important;
    min-height: 7px !important;
  }

  .light-mode .resume-level-indicator .item.item-full {
    background: #8497bc !important;
  }

  .resume-level-indicator .item.item-half:after {
    background: #8497bc !important;
  }

  /* -----------------------------------------------
     Education
  ----------------------------------------------- */
  .resume-degree {
    font-size: 0.75rem !important;
    color: #0f1e33 !important;
  }

  .resume-degree-org,
  .resume-degree-time {
    font-size: 0.7rem !important;
    color: #4f6591 !important;
  }

  hr {
    border-color: #dce3ef !important;
    margin: 0.4rem 0 !important;
  }

  a {
    color: #0f1e33 !important;
    text-decoration: none !important;
  }
}
