/* ===== Legal Document Styles ===== */

.legal-content {
    max-width: 800px;
    margin: 0 auto;
    padding: 7rem 1.5rem 4rem;
}

/* Header */
.legal-header {
    margin-bottom: 2.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--border);
}

.legal-header h1 {
    font-family: var(--font-mono, 'JetBrains Mono', monospace);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}

.legal-meta {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin: 0;
}

/* Typography */
.legal-content p {
    margin: 0.75rem 0;
    line-height: 1.8;
    color: var(--text-primary);
    font-size: 0.9rem;
}

.legal-content strong {
    font-weight: 700;
    color: var(--text-primary);
}

.legal-content em {
    font-style: italic;
}

.legal-content a {
    color: var(--accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-content a:hover {
    opacity: 0.8;
}

/* Headings within content (mammoth outputs strong in li, but just in case) */
.legal-content h2 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
    color: var(--text-primary);
}

.legal-content h3 {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 1.5rem 0 0.75rem;
    color: var(--text-primary);
}

/* Legal numbered lists — numbering injected as text by build.py */
.legal-content ol {
    list-style: none;
    padding-left: 0;
    margin: 0.5rem 0;
}

.legal-content ol ol {
    padding-left: 0;
    margin: 0.25rem 0;
}

.legal-content ol > li {
    margin: 0.4rem 0;
    line-height: 1.8;
    font-size: 0.9rem;
    color: var(--text-primary);
}

/* Numbering span */
.legal-num {
    font-weight: 600;
    color: var(--text-secondary);
}

/* Indentation by numbering level */
.legal-content li.level-0 {
    padding-left: 0;
    margin-top: 1.5rem;
}

.legal-content li.level-1 {
    padding-left: 2rem;
}

.legal-content li.level-2 {
    padding-left: 4rem;
}

/* Unordered lists */
.legal-content ul {
    padding-left: 1.5rem;
    margin: 0.5rem 0;
}

.legal-content ul > li {
    margin: 0.3rem 0;
    line-height: 1.8;
    font-size: 0.9rem;
    color: var(--text-primary);
    list-style: disc;
}

/* Tables */
.legal-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.5rem 0;
    font-size: 0.85rem;
}

.legal-content th,
.legal-content td {
    border: 1px solid var(--text-muted);
    padding: 0.625rem 0.75rem;
    text-align: left;
    vertical-align: top;
    color: var(--text-primary);
}

.legal-content th {
    font-weight: 600;
    background: var(--bg-tertiary);
}

.legal-content tr:nth-child(even) td {
    background: var(--bg-secondary);
}

.legal-content td ul,
.legal-content td ol {
    margin: 0;
    padding-left: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
    .legal-content {
        padding: 5.5rem 1rem 3rem;
    }

    .legal-header h1 {
        font-size: 1.4rem;
    }

    .legal-content table {
        font-size: 0.8rem;
    }

    .legal-content th,
    .legal-content td {
        padding: 0.5rem;
    }
}

@media (max-width: 480px) {
    .legal-content {
        padding: 5rem 0.75rem 2rem;
    }

    .legal-header h1 {
        font-size: 1.2rem;
    }

    .legal-content ol ol {
        padding-left: 1rem;
    }
}
