/* === RJ PATRIMOINE — Print (ebook) === */

@media print {
  /* Reset */
  *, *::before, *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  body {
    font-size: 10pt !important;
    line-height: 1.6 !important;
    color: #1a1a1a !important;
    background: #fff !important;
    font-family: 'DM Sans', Georgia, serif !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Cacher TOUT le chrome du site */
  .site-header, .site-footer, .mobile-panel, .mobile-overlay,
  .back-to-top, .btn, .hero-actions, .sidebar-stack,
  .skip-link, .toc-float-btn,
  .fr-footer__cta, .header-actions, .mobile-toggle,
  .cookieconsent, .rj-cookie-fab, [data-rj-disclaimer],
  .rail-card, .book-cover, .preview-cta, .g-preview,
  [data-mobile-toggle], [data-mobile-menu], [data-mobile-close],
  [data-back-to-top], [data-scroll-progress],
  a[class*="skip"], nav[class*="breadcrumb"], .breadcrumb,
  button[class*="cookie"], [class*="cookie-fab"],
  .cookie-consent, #cc-main, .cc_div { display: none !important; }

  /* Container */
  .container-rj, .container, .content-layout, .fr-hub-rail {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
  }
  .content-layout { grid-template-columns: 1fr !important; }

  /* Hero = couverture */
  .product-hero {
    background: #0D1410 !important;
    background-image: none !important;
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    page-break-after: always !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .product-hero::before { background: rgba(7,16,10,.88) !important; }
  .product-hero-copy {
    text-align: center !important;
    max-width: 80% !important;
    padding: 2cm !important;
    z-index: 2 !important;
    position: relative !important;
  }
  .product-hero-copy h1 {
    color: #fff !important;
    font-size: 20pt !important;
    line-height: 1.2 !important;
    margin-bottom: .8cm !important;
    text-shadow: none !important;
  }
  .product-hero-copy .kicker {
    color: #8C6B4A !important;
    font-size: 9pt !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
  }
  .hero-summary {
    color: rgba(255,255,255,.8) !important;
    font-size: 10pt !important;
    line-height: 1.5 !important;
    text-shadow: none !important;
  }
  .breadcrumb, .hero-video-bg, .hero-image, .product-hero .btn,
  .product-hero button, .hero-actions,
  .product-hero > div:not(.product-hero-copy),
  .product-hero > *:not(.container-rj):not(.product-hero-grid) { display: none !important; }

  /* Sections */
  .section-band, .section-white, .section-soft {
    padding: .3cm 0 !important;
    background: #fff !important;
  }
  .section-dark {
    background: #0D1410 !important;
    color: rgba(255,255,255,.9) !important;
    padding: .5cm .5cm !important;
  }
  .section-dark h2, .section-dark .section-title { color: #fff !important; }

  /* Typographie */
  h1 { font-size: 18pt !important; color: #19231E !important; margin: .8cm 0 .4cm !important; }
  h2 {
    font-size: 14pt !important;
    color: #19231E !important;
    margin-top: 1.2cm !important;
    margin-bottom: .3cm !important;
    page-break-before: always !important;
    page-break-after: avoid !important;
    border-bottom: 1px solid #ddd !important;
    padding-bottom: .2cm !important;
    letter-spacing: 0 !important;
  }
  h2:first-of-type { page-break-before: auto !important; }
  h3 { font-size: 11pt !important; color: #19231E !important; page-break-after: avoid !important; margin-top: .6cm !important; }
  h4 { font-size: 10pt !important; page-break-after: avoid !important; }
  p { margin-bottom: .25cm !important; orphans: 3 !important; widows: 3 !important; color: #333 !important; }

  /* Sommaire */
  .toc-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: .2cm .8cm !important;
    margin: .5cm 0 !important;
    page-break-after: always !important;
  }
  .toc-item {
    display: flex !important;
    gap: .2cm !important;
    padding: .12cm 0 !important;
    border-bottom: 1px dotted #ccc !important;
    font-size: 8.5pt !important;
    color: #333 !important;
    text-decoration: none !important;
  }
  .toc-num {
    font-weight: 700 !important;
    color: #3B6442 !important;
    min-width: .8cm !important;
  }

  /* Tables */
  table, .rj-table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: .4cm 0 !important;
    page-break-inside: avoid !important;
    font-size: 8pt !important;
    display: table !important;
  }
  .rj-table th, table th {
    background: #19231E !important;
    color: #fff !important;
    padding: 3pt 5pt !important;
    font-weight: 600 !important;
    text-align: left !important;
    font-size: 7.5pt !important;
    text-transform: none !important;
  }
  .rj-table td, table td {
    border: .5pt solid #ddd !important;
    padding: 2pt 4pt !important;
    color: #333 !important;
    font-size: 7.5pt !important;
  }
  .rj-table tr:nth-child(even) td, table tr:nth-child(even) td { background: #fafaf7 !important; }

  /* Boîtes */
  .key-box, .callout, .highlight-box, .constants-box {
    background: #EDF5EE !important;
    border-left: 3px solid #3B6442 !important;
    padding: .3cm .4cm !important;
    margin: .4cm 0 !important;
    page-break-inside: avoid !important;
    border-radius: 0 !important;
  }
  .warning-box {
    background: #FFF7ED !important;
    border-left: 3px solid #B45309 !important;
    padding: .3cm .4cm !important;
    margin: .4cm 0 !important;
    page-break-inside: avoid !important;
    border-radius: 0 !important;
  }
  .key-box h4, .warning-box h4, .callout strong {
    font-size: 8pt !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    margin: 0 0 .1cm !important;
  }
  .key-box h4 { color: #3B6442 !important; }
  .warning-box h4 { color: #B45309 !important; }
  .key-box p, .warning-box p, .callout p { font-size: 8.5pt !important; margin: 0 !important; color: #333 !important; }

  /* Listes */
  ul, ol { margin: .2cm 0 .2cm .8cm !important; }
  li { font-size: 9pt !important; color: #333 !important; }
  .check-item, .check-list li { margin-bottom: .1cm !important; font-size: 8.5pt !important; }

  /* Images */
  img { max-width: 100% !important; height: auto !important; }

  /* Lexique */
  .lex-entry {
    display: grid !important;
    grid-template-columns: 2.5cm 1fr !important;
    gap: .2cm !important;
    padding: .1cm 0 !important;
    border-bottom: .5pt solid #eee !important;
  }
  .lex-term { font-weight: 700 !important; color: #19231E !important; font-size: 8pt !important; }
  .lex-def { font-size: 8pt !important; color: #333 !important; }

  /* QR / CTA post-guide */
  .cta-final, .home-focus { page-break-before: always !important; }
  
  /* Page setup */
  @page {
    size: A4;
    margin: 2cm 1.8cm 3cm 1.8cm;
    @bottom-center {
      content: counter(page);
      font-family: 'DM Sans', sans-serif;
      font-size: 9pt;
      color: #aaa;
    }
  }
  @page:first {
    margin: 0;
    @bottom-center { content: none; }
  }
}
