/* Print-specific styles for medical document formatting */

@media print {
  /* Hide non-essential elements */
  .no-print,
  .hidden-print { 
    display: none !important; 
  }
  
  .print-only { 
    display: block !important; 
  }

  /* Page-break helpers */
  .avoid-break,
  .page-break-inside-avoid {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  
  /* Reset body styles for print */
  body { 
    font-family: Georgia, serif !important;
    font-size: 12pt !important;
    line-height: 1.4 !important;
    color: #1a1a1a !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Page formatting */
  @page {
    margin: 1in;
    size: A4;
  }
  
  /* Typography for medical document */
  h1 {
    font-size: 18pt !important;
    font-weight: bold !important;
    margin-bottom: 12pt !important;
    color: #000 !important;
  }
  
  h2 {
    font-size: 16pt !important;
    font-weight: bold !important;
    margin-top: 18pt !important;
    margin-bottom: 8pt !important;
    color: #000 !important;
  }
  
  h3 {
    font-size: 14pt !important;
    font-weight: bold !important;
    margin-top: 12pt !important;
    margin-bottom: 6pt !important;
    color: #000 !important;
  }
  
  p {
    font-size: 12pt !important;
    line-height: 1.4 !important;
    margin-bottom: 6pt !important;
    color: #000 !important;
  }
  
  /* Table formatting for quiz results */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 12pt 0 !important;
  }
  
  th, td {
    border: 1px solid #000 !important;
    padding: 6pt !important;
    text-align: left !important;
    font-size: 11pt !important;
  }
  
  th {
    background-color: #f0f0f0 !important;
    font-weight: bold !important;
  }
  
  /* Page breaks */
  .page-break { 
    page-break-before: always !important; 
  }
  
  .page-break-after { 
    page-break-after: always !important; 
  }
  
  .avoid-break { 
    page-break-inside: avoid !important; 
  }
  
  .category-score {
    margin: 4pt 0 !important;
    padding: 2pt 0 !important;
    border-bottom: 1px dotted #666 !important;
  }
  
  .journal-entry {
    background-color: #f9f9f9 !important;
    padding: 6pt !important;
    margin: 6pt 0 !important;
    border-left: 3px solid #666 !important;
  }
  
  .signature-section {
    margin-top: 24pt !important;
    border-top: 2px solid #000 !important;
    padding-top: 12pt !important;
  }
  
  /* Chart/graph alternative for print */
  .print-chart {
    border: 1px solid #000 !important;
    padding: 8pt !important;
    margin: 12pt 0 !important;
  }
  
  .chart-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8pt !important;
    margin-top: 6pt !important;
    font-size: 10pt !important;
  }
  
  /* Remove shadows, colours, etc. that don't print well */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }

  /* Preserve logo and other content images */
  img {
    max-width: 100% !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }
  
  /* Ensure links are visible */
  a {
    color: #000 !important;
    text-decoration: underline !important;
  }
  
  /* Footer — flows naturally after the last content block, not fixed/overlapping */
  .print-footer {
    margin-top: 24pt !important;
    padding-top: 8pt !important;
    border-top: 0.5pt solid #ccc !important;
    font-size: 8pt !important;
    color: #888 !important;
    text-align: center !important;
  }
  
  /* Header for medical context — layout controlled via inline styles */
  .medical-header {
    margin-bottom: 18pt !important;
  }
  
  .patient-info {
    margin-bottom: 12pt !important;
    padding: 6pt !important;
    border: 1px solid #000 !important;
    background-color: #f9f9f9 !important;
  }
}