/* components/reusable/bootstrap-evf-markdown.css
   Purpose:
   - Style reusable markdown content surfaces rendered into .evf-markdown.
   May contain:
   - Shared markdown selectors that consume app color roles from the EVF color files
   - Short selector-local aliases for readability
   Must not contain:
   - Raw palette definitions
   - Long-lived global EVF tokens
   - Bootstrap token remaps
   - Page-local markdown tweaks
   Dependencies:
   - Requires colors/bootstrap-evf-colors-base.css and colors/bootstrap-evf-colors-app.css to be loaded first.
   Scope:
   - Shared reusable component selectors only.
*/

.evf-markdown {
    color: var(--evf-markdown-text);
    line-height: 1.6;
    background-color: var(--evf-markdown-bg);
    border: 1px solid var(--evf-markdown-border);
    border-radius: 0.5rem;
    padding: 1rem 1.1rem;
    box-shadow: var(--evf-markdown-inset-shadow);
}

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

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

.evf-markdown.evf-markdown-loading {
    min-height: 12rem;
}

.evf-markdown h1,
.evf-markdown h2,
.evf-markdown h3,
.evf-markdown h4,
.evf-markdown h5,
.evf-markdown h6 {
    color: var(--evf-markdown-heading);
    font-weight: 500;
    line-height: 1.2;
    margin-top: 1.1rem;
    margin-bottom: 0.55rem;
}

.evf-markdown h1 {
    font-size: var(--bs-h2-font-size, calc(1.325rem + 0.9vw));
}

.evf-markdown h2 {
    font-size: var(--bs-h3-font-size, calc(1.3rem + 0.6vw));
}

.evf-markdown h3 {
    font-size: var(--bs-h4-font-size, calc(1.275rem + 0.3vw));
}

.evf-markdown h4 {
    font-size: var(--bs-h5-font-size, 1.25rem);
}

.evf-markdown h5 {
    font-size: var(--bs-h6-font-size, 1rem);
}

.evf-markdown h6 {
    font-size: 0.95rem;
}

.evf-markdown p,
.evf-markdown ul,
.evf-markdown ol,
.evf-markdown blockquote,
.evf-markdown pre,
.evf-markdown table {
    margin-bottom: 0.9rem;
}

.evf-markdown a {
    color: var(--evf-markdown-link);
}

.evf-markdown a:hover,
.evf-markdown a:focus {
    color: var(--evf-markdown-link-hover);
}

.evf-markdown hr {
    border-color: var(--evf-markdown-border);
    opacity: 0.7;
}

.evf-markdown blockquote {
    margin-left: 0;
    padding: 0.6rem 0.9rem;
    border-left: 0.25rem solid var(--evf-markdown-quote-border);
    background-color: var(--evf-markdown-quote-bg);
    color: var(--evf-markdown-quote-text);
}

.evf-markdown code {
    color: var(--evf-markdown-code-text);
    background-color: var(--evf-markdown-code-bg);
    border: 1px solid var(--evf-markdown-border);
    border-radius: 0.25rem;
    padding: 0.08rem 0.3rem;
}

.evf-markdown pre {
    background-color: var(--evf-markdown-pre-bg);
    border: 1px solid var(--evf-markdown-border);
    border-radius: 0.375rem;
    padding: 0.75rem;
    overflow: auto;
}

.evf-markdown pre code {
    color: inherit;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.evf-markdown table {
    width: 100%;
    border-collapse: collapse;
}

.evf-markdown th,
.evf-markdown td {
    border: 1px solid var(--evf-markdown-border);
    padding: 0.45rem 0.6rem;
    vertical-align: top;
}

.evf-markdown th {
    color: var(--evf-markdown-table-header-text);
    background-color: var(--evf-markdown-table-header-bg);
    font-weight: 600;
}

.evf-markdown tbody tr:nth-child(even) td {
    background-color: var(--evf-markdown-table-row-alt-bg);
}
