/* Print Layout Overrides for University Course Handbooks (A4 Optimized) */
@media print {
    /* Set page size and margins for A4 */
    @page {
        size: A4;
        margin: 1.5cm;
        @bottom-right {
            content: counter(page);
            font-family: var(--font-family);
            font-size: 9pt;
        }
    }

    /* Reset body styles for paper */
    body {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: Georgia, serif; /* High-readability print serif font */
        font-size: 10pt;
        line-height: 1.6;
    }

    /* Hide navigation components */
    .l-header,
    .l-sidebar,
    .l-footer,
    .l-toc-panel,
    .c-skip-link,
    .c-breadcrumbs,
    #theme-toggle,
    #search-container,
    .c-btn,
    .c-code-block__copy-btn,
    #reading-progress-bar,
    .c-search-overlay {
        display: none !important;
    }

    /* Standard block page breaks */
    .l-app-container {
        display: block !important;
        min-height: 0 !important;
    }

    .l-main-content {
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .l-content-grid {
        display: block !important;
        max-width: 100% !important;
    }

    .l-reading-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Heading rules for print page splitting */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
        color: #000000 !important;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    }

    h1 {
        font-size: 20pt;
        margin-top: 0;
        margin-bottom: var(--spacing-4);
    }

    h2 {
        font-size: 14pt;
        margin-top: var(--spacing-8);
        border-bottom: 1px solid #000000 !important;
        padding-bottom: var(--spacing-2);
    }

    h3 {
        font-size: 12pt;
        margin-top: var(--spacing-6);
    }

    p, ul, ol, table, pre, .c-callout, .c-card {
        page-break-inside: avoid;
        orphans: 3;
        widows: 3;
    }

    /* Table styling for print layout */
    .c-table-wrapper {
        border: 1px solid #000000 !important;
        border-radius: 0 !important;
        overflow: visible !important;
    }

    .c-table {
        border-collapse: collapse !important;
        width: 100% !important;
    }

    .c-table th, .c-table td {
        border: 1px solid #000000 !important;
        color: #000000 !important;
        padding: 0.5em !important;
        font-size: 9pt;
    }

    .c-table th {
        background-color: #f2f2f2 !important;
    }

    /* Code blocks formatting */
    .c-code-block {
        border: 1px solid #000000 !important;
        border-radius: 0 !important;
        background-color: transparent !important;
        page-break-inside: avoid;
    }

    .c-code-block__header {
        border-bottom: 1px solid #000000 !important;
        background-color: #f2f2f2 !important;
    }

    .c-code-block__pre {
        white-space: pre-wrap !important;
        font-size: 8.5pt !important;
        color: #000000 !important;
    }

    /* Math formulas centering */
    .MathJax_Display {
        margin: 1em 0 !important;
        page-break-inside: avoid !important;
    }

    /* Preserve educational graphics */
    figure, img, svg {
        page-break-inside: avoid !important;
        max-width: 100% !important;
        height: auto !important;
    }

    /* Footnotes and links annotation */
    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 80%;
        color: #333;
    }
}
