/* Full print view styles (for WeasyPrint/PDF generation) */
/* Note: Montserrat font and variables are imported from variables.css */

body.print-view {
    font-family: var(--font-family);
    font-size: 10pt;
    line-height: 1.5;
    color: var(--text-primary);
    background: #fff;
    padding: 1cm;
    orphans: 2;
    widows: 2;
}

/* Cover/Header */
.print-header {
    text-align: center;
    margin-bottom: 2cm;
    padding-bottom: 1cm;
    border-bottom: 2px solid var(--text-strong);
}

.print-header h1 {
    font-size: 24pt;
    font-weight: 700;
    color: var(--brand-primary);
    margin-bottom: 0.5cm;
    line-height: 1.15;
}

.print-header .lead {
    font-size: 12pt;
    color: var(--text-secondary);
}

.print-header .protocol-meta {
    margin-top: 1cm;
}

.print-header table {
    margin: 0 auto;
    text-align: left;
}

.print-header th {
    padding-right: 1cm;
    font-weight: 700;
    color: var(--text-primary);
}

/* Table of Contents */
.toc {
    margin-bottom: 2cm;
}


.toc-category h5 {
    font-size: 12pt;
    font-weight: 700;
    margin-bottom: 0.25cm;
}

.toc-category ul {
    margin-left: 1cm;
    font-size: 10pt;
    line-height: 1.15;
}

.toc a
{
    text-decoration: none;
    color: var(--text-primary);
}
/* Sections */

.indicator-section h3 {
    font-size: 14pt;
    font-weight: 700;
    color: var(--text-primary);
    padding-top: 16pt;
    padding-bottom: 4pt;
    line-height: 1.15;
    page-break-after: avoid;
}

/* Score cards for print - TABLE BASED (Google Doc style) */
.scores-print .score-table-container {
    margin-bottom: 0.5cm;
    break-inside: avoid;
}

.scores-print .score-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 0.25cm;
}

.scores-print .score-table-header {
    padding: 5pt;
    border: 1pt solid var(--border-color);
    font-weight: 700;
    font-size: 10pt;
    text-align: center;
    vertical-align: top;
}

.scores-print .score-table-cell {
    padding: 5pt;
    border: 1pt solid var(--border-color);
    font-size: 10pt;
    vertical-align: top;
    line-height: 1.5;
}

.scores-print .score-table-images {
    padding: 5pt;
    border: 1pt solid var(--border-color);
    text-align: center;
    vertical-align: top;
}

.scores-print .score-table-images img {
    width: 100%;
    height: auto;
    max-height: none;
}

.scores-print .score-description {
    margin: 0;
    line-height: 1.5;
}

.scores-print .score-conditions {
    margin-top: 0.25cm;
}

.scores-print .score-conditions ul {
    margin: 0;
    padding-left: 1em;
    font-size: 9pt;
    font-family: monospace;
}

/* Score table references */
.scores-print .score-references {
    font-size: 9pt;
    color: var(--text-secondary);
    line-height: 1.4;
}

.scores-print .reference-item {
    margin-bottom: 0.1cm;
}

/* Force background colors to print - for both cards and tables */
.bg-score-0,
.score-0 .score-card-header,
.scores-print .bg-score-0 {
    background-color: var(--score-0-bg) !important;
    color: var(--text-primary) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
}

.bg-score-1,
.score-1 .score-card-header,
.scores-print .bg-score-1 {
    background-color: var(--score-1-bg) !important;
    color: var(--text-primary) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
}

.bg-score-2,
.score-2 .score-card-header,
.scores-print .bg-score-2 {
    background-color: var(--score-2-bg) !important;
    color: var(--text-primary) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
}

.bg-score-3,
.score-3 .score-card-header,
.scores-print .bg-score-3 {
    background-color: var(--score-3-bg) !important;
    color: var(--text-primary) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
}

/* Calculation print */
.calculation-print {
    background: var(--background-light);
    padding: 0.5cm;
    border-radius: 0.25cm;
    margin-bottom: 0.5cm;
    border: 1pt solid var(--text-secondary);
}

.calculation-print h5 {
    font-size: 11pt;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.25cm;
}

/* Subindicators print */
.subindicators-print {
    margin-bottom: 0.5cm;
}

.subindicators-print h5 {
    font-size: 11pt;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: 0.25cm;
}

.subind-compact {
    margin-bottom: 0.25cm;
}

.subind-compact h6 {
    font-size: 10pt;
    font-weight: 700;
    margin-bottom: 0.1cm;
}

.subind-score-mini {
    display: inline-block;
    padding: 0.1cm 0.25cm;
    margin: 0.05cm;
    border-left: 2pt solid var(--border-color);
    background: var(--background-light);
    font-size: 9pt;
}

/* Protocol application print */
.protocol-application-print {
    border: 1pt solid #979797;
    background: #f8f9fa;
}

.protocol-application-print h5 {
    font-size: 11pt;
    font-weight: 700;
    color: #000;
    margin-bottom: 8pt;
    margin-top: 4pt;
}

/* Bibliography print */
.bibliography-print {
    font-size: 9pt;
    color: var(--text-primary);
}

.bibliography-print h6 {
    font-size: 10pt;
    font-weight: 700;
    margin-bottom: 0.1cm;
}

/* Footer */
.print-footer {
    margin-top: 2cm;
    font-size: 9pt;
    color: var(--text-secondary);
}

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

.no-break {
    page-break-inside: avoid;
    break-inside: avoid;
}

/* Page setup for WeasyPrint */
@page {
    size: A4;
    margin: 2cm;

    @bottom-center {
        content: counter(page);
        font-size: 9pt;
    }
}

@page :first {
    @bottom-center {
        content: none;
    }
}

h1 {
    font-size: 16pt;
    font-weight: 700;
    color: var(--brand-primary);
    line-height: 1.15;
    margin-top: 36pt;
    margin-bottom: 18pt;
}

/* Reduce vertical space if h1 is directly followed by h2 */
h1 + h2 {
    margin-top: 0pt;
}

/* Reduce vertical space if h2 is directly followed by h3 */
h2 + h3 {
    margin-top: 8pt;
}

/* Reduce vertical space if h3 is directly followed by h4 */
h3 + h4 {
    margin-top: 8pt;
}

h2 {
    font-size: 14pt;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.15;
    margin-top: 26pt;
    margin-bottom: 8pt;
}

h3 {
    font-size: 12pt;
    font-weight: 700;
    line-height: 1.15;
    margin-top: 26pt;
    margin-bottom: 8pt;
}

h4 {
    font-size: 11pt;
    font-weight: 700;
    line-height: 1.15;
    margin-top: 26pt;
    margin-bottom: 8pt;
}

h5 {
    font-size: 10pt;
    font-weight: 700;
    line-height: 1.15;
    margin-top: 24pt;
    margin-bottom: 6pt;
}




table {
    width: 100%;
    border-collapse: collapse;
    font-size: 9pt;
    margin: 0.5cm 0;
}

th,
td {
    border: 1pt solid var(--border-color);
    padding: 5pt;
    vertical-align: top;
}

th {
    background-color: var(--brand-primary);
    color: #ffffff;
    font-weight: 700;
}

a {
    color: var(--link-color);
    text-decoration: underline;
}

.markdown-content img {
    max-width: 100%;
    max-height: 8cm;
}

.markdown-content pre {
    background: var(--background-light);
    padding: 0.25cm;
    font-size: 8pt;
    overflow-wrap: break-word;
    white-space: pre-wrap;
    border: 1pt solid var(--text-secondary);
}

.markdown-content ul,
.markdown-content ol {
    margin-left: 36pt;
    line-height: 1.5;
}

.markdown-content li {
    margin-bottom: 0.1cm;
}

/* Hide per-section footnotes in print view (we consolidate at end) */
.print-view .markdown-content .footnote {
    display: none;
}

/* Footnote citation superscript in print */
.footnote-ref {
    font-size: 7pt;
    vertical-align: baseline;
    position: relative;
    top: -0.3em;
    text-decoration: none;
    color: var(--link-color);
}

/* Final References section */
.references-section {
    margin-top: 2cm;
}

.references-section h1 {
    font-size: 18pt;
    font-weight: 700;
    color: var(--brand-primary);
    margin-bottom: 1cm;
    line-height: 1.15;
}

.references-list {
    padding-left: 2.5em;
    font-size: 9pt;
    line-height: 1.5;
}

.references-list li {
    margin-bottom: 0.5em;
    word-wrap: break-word;
}

.references-list li::marker {
    font-weight: 700;
}
