/* ============================================================
   legal.css — shared typography overrides for legal doc pages
   Covers: data_processing_agreement, terms_of_service,
           privacy_policy, responsible_disclosure
   ============================================================ */

/* Layout wrapper for legal content pages */
.legal-content-wrapper {
    max-width: 1100px;
    padding-top: 100px !important;
}

/* Two-column layout: sidebar + main content */
.legal-layout {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
}

/* Sticky sidebar */
.legal-sidebar {
    width: 210px;
    flex-shrink: 0;
    position: sticky;
    top: 90px;
}

/* Main content grows to fill remaining space */
.legal-main {
    flex: 1;
    min-width: 0;
}

/* Sidebar navigation */
.legal-nav-label {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #adb5bd;
    margin-bottom: .6rem;
    padding-left: .75rem;
}

.legal-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.legal-nav-list li + li {
    margin-top: .15rem;
}

.legal-nav-link {
    display: block;
    padding: .45rem .75rem;
    border-radius: .375rem;
    font-size: .875rem;
    color: #495057;
    text-decoration: none;
    transition: background .15s, color .15s;
}

.legal-nav-link:hover {
    background: #f1f3f5;
    color: #212529;
    text-decoration: none;
}

.legal-nav-link.active {
    background: #e9ecef;
    color: #212529;
    font-weight: 600;
}

/* Collapse sidebar to horizontal pill row on small screens */
@media (max-width: 767px) {
    .legal-layout {
        flex-direction: column;
        gap: 1.25rem;
    }

    .legal-sidebar {
        width: 100%;
        position: static;
    }

    .legal-nav-label {
        display: none;
    }

    .legal-nav-list {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }

    .legal-nav-link {
        border: 1px solid #dee2e6;
        font-size: .8rem;
        padding: .35rem .7rem;
    }

    .legal-nav-link.active {
        border-color: #adb5bd;
    }
}

.md-legal { font-size: .95rem; line-height: 1.75; color: #343a40; }
.md-legal h1 { font-size: 1.9rem; font-weight: 700; color: #1a1a2e; margin-bottom: .25rem; }
.md-legal h2 { font-size: 1.1rem; font-weight: 700; color: #212529; text-transform: uppercase;
               letter-spacing: .06em; margin-top: 2rem; margin-bottom: 1rem; text-align: center; }
.md-legal hr  { border-color: #dee2e6; margin: 1.5rem 0; }
.md-legal em  { color: #6c757d; font-style: italic; }
.md-legal ol, .md-legal ul { padding-left: 1.4rem; margin-bottom: 1rem; }
.md-legal li  { margin-bottom: .55rem; }
.md-legal li > ul, .md-legal li > ol { margin-top: .4rem; margin-bottom: .2rem; }
.md-legal table { width: 100%; border-collapse: collapse; margin-bottom: 1rem; font-size: .9rem; }
.md-legal th  { background: #f8f9fa; font-weight: 600; text-align: left; padding: .6rem .8rem;
               border: 1px solid #dee2e6; }
.md-legal td  { padding: .6rem .8rem; border: 1px solid #dee2e6; vertical-align: top; }
.md-legal tr:nth-child(even) td { background: #f8f9fa; }
.md-legal blockquote {
    background: #fff8e1;
    border-left: 4px solid #ffc107;
    border-radius: 0 8px 8px 0;
    padding: .9rem 1.1rem;
    margin: .5rem 0 1rem;
    color: #5a4a00;
}
.md-legal blockquote p { margin: 0; }
.md-legal strong { font-weight: 600; color: #212529; }
.md-legal blockquote strong { color: #3d3100; }
@media (max-width: 576px) { .md-legal h1 { font-size: 1.4rem; } }
