/* Print Stylesheet for A4 Output */
@media print {
  @page {
    size: A4 portrait;
    margin: 18mm 15mm 18mm 15mm;
  }

  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 12pt;
    line-height: 1.7;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Hide all UI chrome */
  .site-header,
  .mobile-nav,
  .form-column,
  .preview-toolbar,
  .site-footer,
  .source-banner,
  .checklist-panel,
  .ad-slot-container,
  .toast-msg,
  .hero,
  .category-tabs,
  .trust-strip,
  .breadcrumb-nav,
  .modal-backdrop,
  button,
  .no-print {
    display: none !important;
  }

  /* Keep only the live document preview. Detail headings, source banners,
     editor controls, checklists, related links and footer are not document content. */
  body > main.container > :not(.editor-layout),
  .editor-layout > :not(.preview-column),
  .preview-column > :not(.paper-container) {
    display: none !important;
  }

  /* Reset layout to full width */
  .container {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .editor-layout {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .preview-column {
    position: static !important;
    width: 100% !important;
    display: block !important;
    gap: 0 !important;
  }

  .paper-container {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
    display: block !important;
    overflow: visible !important;
  }

  #preview-container {
    display: block !important;
  }

  .a4-sheet {
    max-width: 100% !important;
    width: 100% !important;
    min-height: auto !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
    font-family: 'Batang', 'KoPubWorld Batang', 'Times New Roman', serif !important;
    color: #000000 !important;
  }

  /* Prevent awkward page breaks */
  .doc-title {
    margin-top: 0 !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .doc-article {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .doc-table {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .doc-date {
    page-break-after: avoid;
    break-after: avoid;
  }

  .doc-signatures {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .doc-footer-disclaimer {
    page-break-inside: avoid;
    break-inside: avoid;
  }
}
