@page {
  size: A4 portrait;
  margin: 1cm;
}

/* Media queries pour gérer l'affichage écran vs impression */
@media screen {
  #print-only-content {
    display: none !important;
  }
}

@media print {
  body {
    background-color: white;
    font-size: 11pt;
    font-family: Arial, Helvetica, sans-serif;
    color: black;
    margin: 0;
    padding: 0;
    line-height: 1em;
  }

  /* Masquer le contenu web à l'impression */
  #web-content {
    display: none !important;
  }

  /* Afficher le contenu impression */
  #print-only-content {
    display: block !important;
  }

  /* En-tête d'impression */
  #header-print {
    text-align: center;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 2px solid black;
  }

  #header-print h1 {
    margin: 0;
    font-size: 20pt;
    color: #333;
  }

  #header-print h2 {
    margin: 3px 0 0 0;
    font-size: 14pt;
    color: #666;
    font-weight: normal;
  }

  /* Bloc de compétences - à plat sur toute la largeur */
  #competences-print {
    width: calc(100% - 16px);
    border: 1px solid black;
    padding: 8px;
    margin-bottom: 10px;
    margin-left: 8px;
    page-break-inside: avoid;
    page-break-after: auto;
    box-sizing: border-box;
  }

  #competences-print .competences-header h2 {
    font-size: 12pt;
    margin: 0 0 6px 0;
    text-decoration: underline;
  }

  #competences-print .competences-content {
    font-size: 9pt;
    line-height: 1.3;
  }

  #competences-print .category {
    margin-bottom: 4px;
  }

  #competences-print .category-title {
    font-weight: bold;
    margin-right: 8px;
  }

  #competences-print .category-items {
    display: inline;
  }

  /* Expériences */
  #experiences-print-container {
    width: 100%;
    padding: 0px 10px;
  }

  /* Mission niveau 1 - détaillée */
  .mission-detail .client-header {
    margin-bottom: 8px;
    display: flex;
    align-items: flex-start;
  }

  .client-header .logo {
    border-radius: 1px;
  }

  .mission-detail .logo {
    max-width: 60px;
    max-height: 60px;
    margin-right: 10px;
    float: left;
  }

  .mission-detail .client-name {
    font-size: 14pt;
    /*margin: 0 0 3px 0;*/
    color: #333;
  }

  .mission-detail .client-resume {
    font-size: 9pt;
    font-style: italic;
    margin: 0;
    margin-block: 0;
    color: #666;
  }

  .mission-detail .contrat {
    /*margin-bottom: 8px;*/
  }

  .mission-detail .contrat-header .titre {
    font-size: 11pt;
    /*margin: 6px 0 3px 0;*/
    color: #444;
  }

  .mission-detail .periode {
    font-size: 10pt;
    color: #666;
    margin: 0;
  }

  .mission-detail .detail {
    font-size: 10pt;
    font-style: italic;
    margin: 5px 0;
  }

  .mission-detail .missions-section h4 {
    font-size: 10pt;
    margin: 6px 0 3px 0;
    text-decoration: underline;
  }

  .mission-detail .mission {
    list-style: none;
    margin-bottom: 6px;
    font-size: 9pt;
  }

  .mission-detail .mission>span {
    font-weight: bold;
  }

  .mission-detail .details_mission {
    margin: 3px 0 3px 15px;
  }

  .mission-detail .details_mission span {
    font-style: italic;
    text-decoration: underline;
  }

  .mission-detail .detail_mission {
    font-size: 8pt;
    margin-left: 10px;
    list-style-type: disc;
  }

  .mission-detail .technos {
    margin: 0;
    font-size: inherit;
    color: var(--muted);
    padding: 0;
    background: rgba(0, 0, 0, 0.03);
    border-radius: 6px;
    margin-top: 0;
  }

  .mission-detail .technos span {
    font-style: italic;
    text-decoration: underline;
  }

  .mission-detail .techno {
    display: inline;
    font-size: 8pt;
  }

  .mission-detail .techno:not(:last-child):after {
    content: ", ";
  }

  .mission-detail .techno_version {
    font-size: 7pt;
    color: #888;
  }

  /* Mission niveau 2 - résumé */
  .mission-resume {
    page-break-inside: avoid;
  }

  .mission-resume .client-header {
    margin-bottom: 6px;
    display: flex;
    align-items: flex-start;
  }

  .mission-resume .logo {
    max-width: 50px;
    max-height: 50px;
    margin-right: 8px;
    float: left;
  }

  .mission-resume .client-name {
    font-size: 12pt;
    margin: 0 0 2px 0;
    color: #333;
  }

  .mission-resume .client-resume {
    font-size: 8pt;
    font-style: italic;
    margin: 2px 0;
    color: #666;
  }

  .mission-resume .contrat-header .titre {
    font-size: 10pt;
    /*margin: 5px 0 2px 0;*/
    color: #444;
  }

  .mission-resume .periode {
    font-size: 9pt;
    color: #666;
    margin: 0;
  }

  .mission-resume .missions-section h4 {
    font-size: 9pt;
    margin: 5px 0 2px 0;
    text-decoration: underline;
    margin-block: 0;
  }

  .mission-resume .missions-section ul {
    font-size: 9pt;
    margin-block: 0;
  }

  .mission-resume .mission {
    list-style: none;
    margin-bottom: 5px;
    font-size: 8pt;
  }

  .mission-resume .mission>span {
    font-weight: bold;
  }

  .mission-resume .technos {
    margin: 2px 0 2px 10px;
  }

  .mission-resume .technos span {
    font-style: italic;
  }

  .mission-resume .techno {
    display: inline;
    font-size: 8pt;
  }

  .mission-resume .techno:not(:last-child):after {
    content: ", ";
  }

  .mission-resume .techno_version {
    font-size: 7pt;
    color: #888;
  }

  /* Autres missions niveau 1 - résumé court */
  .autres-missions-niveau1 {
    padding-top: 10px;
    break-inside: avoid;
  }

  .autres-missions-niveau1 h2 {
    font-size: 12pt;
    margin: 8px 0 5px 0;
    text-decoration: underline;
    color: #333;
  }

  /* Autres missions niveau 2 - résumé court */
  .autres-missions-niveau2 {
    margin-top: 10px;
    break-inside: avoid;
  }

  .autres-missions-niveau2 h2 {
    font-size: 12pt;
    margin: 8px 0 5px 0;
    text-decoration: underline;
    color: #333;
  }

  /* Mission en résumé court (pour niveau 1 et 2 secondaires) */
  .mission-resume-court {
    margin-bottom: 8px;
    page-break-inside: avoid;
  }

  .mission-resume-court h3 {
    font-size: 10pt;
    margin: 5px 0 2px 0;
    color: #444;
  }

  .mission-resume-court .client-resume-court {
    font-size: 8pt;
    font-style: italic;
    margin: 2px 0 4px 0;
    color: #666;
  }

  /*.mission-resume-court .contrat-resume {
    margin-left: 10px;
    margin-bottom: 5px;
  }*/

  .mission-resume-court .titre-periode {
    font-size: 9pt;
    margin: 3px 0;
    color: #555;
  }

  .mission-resume-court .titre-periode strong {
    font-weight: bold;
  }

  /* Autres missions - léger */
  .missions-leger {
    margin-top: 10px;
  }

  .missions-leger h2 {
    font-size: 12pt;
    margin: 8px 0 5px 0;
    text-decoration: underline;
    color: #333;
  }

  .mission-leger {
    margin-bottom: 6px;
    page-break-inside: avoid;
  }

  .mission-leger h3 {
    font-size: 10pt;
    margin: 5px 0 2px 0;
    color: #444;
  }

  /*.contrat-leger {
    margin-left: 10px;
    margin-bottom: 3px;
  }*/

  .contrat-leger .periode {
    font-size: 8pt;
    font-weight: bold;
    color: #666;
  }

  .missions-list {
    margin: 2px 0 2px 10px;
    padding-left: 10px;
  }

  .missions-list li {
    font-size: 8pt;
    list-style-type: disc;
    margin: 1px 0;
  }

  /* Gestion des sauts de page */
  table,
  figure,
  img {
    page-break-inside: avoid;
  }

  hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 8px 0;
  }

  /* Suppression des éléments inutiles à l'impression */
  #formations {
    display: none !important;
  }
}