/*
|--------------------------------------------------------------------------
| Markdown-Inhalte
|--------------------------------------------------------------------------
|
| Gemeinsame Darstellung für CommonMark / GitHub Flavored Markdown.
| Die Klasse .markdown-content wird nur auf bereits gerenderten,
| serverseitig abgesicherten Markdown-Inhalten verwendet.
|
*/

.markdown-content {
    color: var(--text-secondary);
    line-height: 1.8;
    overflow-wrap: anywhere;
}

.markdown-content > :first-child {
    margin-top: 0;
}

.markdown-content > :last-child {
    margin-bottom: 0;
}

.markdown-content p {
    margin: 0 0 var(--spacing-4);
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
    margin:
        var(--spacing-7)
        0
        var(--spacing-3);

    color: var(--text-primary);
    line-height: 1.3;
}

.markdown-content h1 { font-size: 1.75rem; }
.markdown-content h2 { font-size: 1.5rem; }
.markdown-content h3 { font-size: 1.25rem; }

.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
    font-size: var(--font-size-lg);
}

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

.markdown-content em { font-style: italic; }
.markdown-content del { opacity: 0.8; }

.markdown-content a {
    color: var(--color-primary);
    font-weight: var(--font-weight-semibold);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
}

.markdown-content a:hover { text-decoration-thickness: 2px; }

.markdown-content a:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
    border-radius: var(--radius-sm);
}

.markdown-content ul,
.markdown-content ol {
    margin: 0 0 var(--spacing-4) var(--spacing-6);
    padding: 0;
}

.markdown-content li { margin-bottom: var(--spacing-2); }

.markdown-content li > ul,
.markdown-content li > ol {
    margin-top: var(--spacing-2);
    margin-bottom: 0;
}

.markdown-content blockquote {
    margin: var(--spacing-5) 0;
    padding: var(--spacing-4) var(--spacing-5);
    border-left: 4px solid var(--color-primary);
    border-radius: var(--radius-md);
    background: rgba(37, 99, 235, 0.1);
    color: var(--text-primary);
}

.markdown-content blockquote > :last-child { margin-bottom: 0; }

.markdown-content hr {
    height: 1px;
    margin: var(--spacing-7) 0;
    border: 0;
    background: var(--border-color);
}

.markdown-content code {
    padding: 0.15em 0.4em;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm);
    background: var(--background-page);
    color: var(--text-primary);
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
        "Liberation Mono", "Courier New", monospace;
    font-size: 0.92em;
}

.markdown-content pre {
    max-width: 100%;
    margin: var(--spacing-5) 0;
    padding: var(--spacing-5);
    overflow-x: auto;
    border: var(--border-width) solid var(--border-color);
    border-radius: var(--radius-lg);
    background: var(--background-page);
}

.markdown-content pre code {
    padding: 0;
    border: 0;
    background: transparent;
}

.markdown-content table {
    width: 100%;
    margin: var(--spacing-5) 0;
    border-collapse: collapse;
    border: var(--border-width) solid var(--border-color);
    background: var(--background-page);
}

.markdown-content th,
.markdown-content td {
    padding: var(--spacing-3) var(--spacing-4);
    border: var(--border-width) solid var(--border-color);
    text-align: left;
    vertical-align: top;
}

.markdown-content th {
    background: rgba(37, 99, 235, 0.12);
    color: var(--text-primary);
    font-weight: var(--font-weight-semibold);
}

.markdown-content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: var(--spacing-5) 0;
    border-radius: var(--radius-lg);
}

.markdown-content input[type="checkbox"] {
    margin-right: var(--spacing-2);
    accent-color: var(--color-primary);
}

.markdown-content .task-list-item { list-style: none; }
.markdown-content .task-list-item-checkbox { pointer-events: none; }

@media (max-width: 768px) {
    .markdown-content h1 { font-size: 1.5rem; }
    .markdown-content h2 { font-size: 1.3rem; }

    .markdown-content table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }
}
