/* ==========================================================================
   DOSSIER DE PRÉSENTATION & BOOKING - EXPORT PDF (@media print)
   ========================================================================== */

@media print {
  @page {
    size: A4 portrait;
    margin: 15mm 15mm 15mm 15mm;
  }

  /* Reset body for print */
  body {
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 10pt;
    line-height: 1.4;
  }

  /* Hide interactive / non-printable elements */
  .site-header,
  .site-footer,
  .hero-actions,
  .video-responsive,
  .btn,
  .no-print {
    display: none !important;
  }

  /* Container adjustments */
  .container {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .section {
    padding-block: 10mm !important;
    border-bottom: 1px solid #ccc !important;
    page-break-inside: avoid;
  }

  /* Hero Section for Print */
  .hero {
    padding: 0 0 10mm 0 !important;
    background: none !important;
    border-bottom: 2px solid #111 !important;
    page-break-inside: avoid;
  }

  .hero-grid {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
  }

  .hero-media-preview {
    max-width: 140mm !important;
    box-shadow: none !important;
    border: 1px solid #ccc !important;
  }

  .section-title {
    color: #111111 !important;
    font-size: 16pt !important;
    margin-bottom: 4mm !important;
  }

  .section-tagline {
    color: #b91c1c !important;
    font-size: 8pt !important;
  }

  /* Cards in Print */
  .card {
    background: #ffffff !important;
    color: #111111 !important;
    border: 1px solid #ddd !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }

  .member-name {
    color: #111 !important;
    font-size: 11pt !important;
  }

  .member-role {
    color: #b91c1c !important;
  }

  .member-bio {
    color: #444 !important;
    font-size: 8.5pt !important;
  }

  /* Repertoire */
  .track-item {
    background: #fafafa !important;
    border: 1px solid #eee !important;
    border-left: 3px solid #b91c1c !important;
    color: #111 !important;
    page-break-inside: avoid;
  }

  .track-info-title {
    color: #111 !important;
  }

  .track-info-meta {
    color: #666 !important;
  }

  /* Table / Patch list */
  table {
    border-collapse: collapse !important;
    width: 100% !important;
    page-break-inside: avoid;
    font-size: 8.5pt !important;
  }

  table thead th {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
    padding: 4px 6px !important;
  }

  table td {
    border: 1px solid #e2e8f0 !important;
    padding: 4px 6px !important;
    color: #1e293b !important;
  }

  /* Stage plot container */
  .stage-plot-container {
    max-width: 160mm !important;
    margin-inline: auto !important;
    border: 1px solid #ccc !important;
  }

  /* Contact details */
  .contact-card {
    background: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
  }

  .contact-entry-value,
  .contact-entry-value a {
    color: #0f172a !important;
  }

  /* Force page breaks cleanly */
  .page-break {
    page-break-before: always;
    break-before: page;
  }

  /* Progressive disclosure expanded for print */
  #tech-details-container {
    display: block !important;
  }

  .tech-summary-card {
    display: none !important;
  }

  #bio-short-text {
    display: none !important;
  }

  #bio-full-text {
    display: block !important;
  }

  #contact-modal {
    display: none !important;
  }
}
