/* Print styles — clean output for legal pages (mentions légales, CGV, etc.) */
@media print {
  .site-header,
  .site-footer,
  .pre-footer,
  .nav-toggle,
  .skip-link,
  .btn-row,
  .draft-notice,
  .hero .blob,
  .float-card,
  .lang-switch {
    display: none !important;
  }

  /* Neutralise dark backgrounds so text prints black-on-white */
  .page-hero,
  .hero,
  .section--dark {
    background: #fff !important;
    color: #000 !important;
    padding: 0 0 1rem !important;
  }
  .page-hero *,
  .hero *,
  .section--dark * {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
  }
  .page-hero::after,
  .hero::after,
  .section--dark::before { display: none !important; }

  /* Gradient text -> solid black for print */
  .text-gradient,
  .error-code {
    background: none !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
  }

  body { color: #000; background: #fff; font-size: 11pt; }
  a { color: #000; text-decoration: underline; }

  .legal-layout { display: block !important; }
  .legal-toc { display: none !important; }
  .legal-body { max-width: 100% !important; }
  .legal-section,
  .callout,
  .card {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
    break-inside: avoid;
  }

  .container { max-width: 100%; padding: 0; }
  main { padding: 0; }
  .section { padding: 0.5rem 0 !important; }
}
