/* Styling for NPSI legal document pages (/legal/**). */

.legal-page {
    max-width: 920px;
    margin: 0 auto;
    padding: 40px 20px 80px;
    color: #222;
}

.legal-page h1 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: .35rem;
}

.legal-revision-line {
    color: #555;
    font-size: 1rem;
    margin-bottom: 1.5rem;
}

.legal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 2rem;
}

.legal-summary {
    background: #f3f7f4;
    border-left: 4px solid #2e7d32;
    border-radius: 6px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 2rem;
}

.legal-summary h2 {
    font-size: 1.15rem;
    font-weight: 700;
    margin-bottom: .75rem;
}

.legal-summary ul {
    margin-bottom: 0;
    padding-left: 1.1rem;
}

.legal-summary li {
    margin-bottom: .4rem;
}

.legal-toc {
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
    background: #fafafa;
}

.legal-toc h2 {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #555;
    margin-bottom: .75rem;
}

.legal-toc ol {
    columns: 2;
    column-gap: 2rem;
    font-size: .92rem;
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .legal-toc ol { columns: 1; }
}

/* Rendered EULA body */
.legal-body {
    font-size: 1rem;
    line-height: 1.65;
}

.legal-body h1 { font-size: 1.6rem; margin: 2rem 0 1rem; }
.legal-body h2 { font-size: 1.3rem; margin: 2rem 0 .75rem; scroll-margin-top: 90px; }
.legal-body h3 { font-size: 1.1rem; margin: 1.5rem 0 .5rem; }
.legal-body p { margin-bottom: 1rem; }
.legal-body table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.legal-body th, .legal-body td { border: 1px solid #ccc; padding: .5rem .65rem; vertical-align: top; }

.legal-meta-foot {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid #ddd;
    font-size: .9rem;
    color: #555;
}

.legal-hash {
    word-break: break-all;
    font-family: monospace;
    font-size: .8rem;
}

/* ---- Print: clean printable EULA, no site chrome ---- */
@media print {
    #js-header,
    #contacts-section,
    .js-go-to,
    .legal-actions,
    .legal-toc,
    .legal-print-hide {
        display: none !important;
    }

    body > div[style*="padding-bottom"] {
        padding-bottom: 0 !important;
    }

    .legal-page {
        max-width: 100%;
        padding: 0;
        color: #000;
    }

    .legal-body {
        font-size: 11pt;
        line-height: 1.4;
    }

    .legal-body h2 {
        page-break-after: avoid;
        break-after: avoid;
    }

    a[href]::after {
        content: "";
    }
}
