@media print {

  /* ─── PAGE ─── */
  @page {
    margin: 1.5cm 1.5cm 2cm 1.5cm;
    size: A4 portrait;
  }

  /* ─── MASQUÉS ─── */
  header,
  .formation-compact-bar,
  .btn-retour-formations,
  .hero-bg-video,
  .modal,
  #formulaire-inscription,
  #prochaines-dates .btn,
  #prochaines-dates .btn-ogma,
  .left-bloc .btn,
  .left-bloc + .btn,
  .left-bloc + a.btn,
  .left-bloc-image,
  .no-print,
  .footer,
  footer {
    display: none !important;
  }

  /* ─── RESET GLOBAL ─── */
  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  body {
    background: white !important;
    color: #111 !important;
    font-size: 10.5pt;
    font-family: "Open Sans", Arial, sans-serif;
  }

  .main-container {
    margin-top: 0 !important;
  }

  .container,
  .container-fluid {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ─── LAYOUT : colonne unique ─── */
  /* La sidebar desktop est déjà cachée (d-none d-lg-block).
     La sidebar mobile (d-block d-lg-none) dans le flux reste visible. */
  .col-lg-9,
  .col-lg-3 {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  .row.flex-lg-nowrap {
    display: block !important;
  }

  /* ─── AOS : forcer la visibilité ─── */
  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* ─── BANDEAU TITRE ─── */
  .formation-container {
    break-after: avoid;
  }

  .formation-title {
    background: #1F3C8F !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    padding: 1rem 1.5rem !important;
    border-radius: 0 !important;
    margin-bottom: 1rem !important;
  }

  .formation-title h1 {
    font-size: 18pt !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    margin-bottom: 0 !important;
  }

  /* ─── SIDEBAR → BOX INFOS EN HAUT ─── */
  .left-bloc {
    background: #f4f6fb !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color: #111 !important;
    border: 1px solid #c8d3e8 !important;
    border-radius: 8px !important;
    padding: 0.75rem 1rem !important;
    margin-bottom: 1.25rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem 1.5rem !important;
  }

  .left-bloc-item {
    width: calc(50% - 0.75rem) !important;
    padding-bottom: 0.4rem !important;
    font-size: 9.5pt !important;
  }

  .left-bloc-item .icon,
  .left-bloc .icon {
    color: #1F3C8F !important;
    width: 28px !important;
    font-size: 1.1rem !important;
  }

  .left-bloc strong,
  .left-bloc-item strong {
    color: #1F3C8F !important;
    font-size: 8.5pt !important;
    text-transform: uppercase;
    letter-spacing: 0.3px;
  }

  .formation-mode,
  .mode-label {
    color: #1F3C8F !important;
    background: transparent !important;
  }

  /* ─── CONTENU PRINCIPAL ─── */
  .formation-main-content {
    background: white !important;
    border: none !important;
    border-radius: 0 !important;
  }

  .formation-main-content h2 {
    font-size: 13pt !important;
    margin-top: 1.2rem !important;
    margin-bottom: 0.5rem !important;
    color: #1F3C8F !important;
    border-bottom: 1px solid #c8d3e8;
    padding-bottom: 0.25rem;
    break-after: avoid;
  }

  /* ─── CARTES ─── */
  .card {
    background: white !important;
    border: 1px solid #ddd !important;
    border-radius: 6px !important;
    break-inside: avoid;
    margin-bottom: 0.75rem !important;
  }

  .card-body {
    background: white !important;
    color: #111 !important;
    padding: 0.75rem !important;
  }

  /* Cartes sessions (prochaines dates) */
  #prochaines-dates .card {
    border-left: 3px solid #1F3C8F !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ─── BLOCS SECTION ─── */
  .row.px-4.mt-4 {
    break-inside: avoid;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ─── ICÔNES Bootstrap (font) ─── */
  .bi {
    color: #1F3C8F !important;
  }

  /* ─── BADGES ─── */
  .badge {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    border: 1px solid #888 !important;
    font-size: 8.5pt !important;
  }

  /* ─── LISTES ─── */
  ul, ol {
    padding-left: 1.2rem !important;
  }

  li {
    font-size: 10pt !important;
  }

  /* ─── MODALITÉS ─── */
  .modalite-formation-card {
    background: #f9f9f9 !important;
    border: 1px solid #ddd !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    break-inside: avoid;
  }

}
