/* =========================================================
   MARKDOWN BASE THEME (Integrazione con theme.css)
   ========================================================= */

.markdown {
    /* ---- CSS Variables ---- */
    --font-body:
        system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
        Helvetica, Arial, sans-serif;
    --font-mono:
        ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono",
        monospace;

    /* Collegamento dinamico alle variabili di theme.css */
    --color-bg: var(--color-body);
    --color-text: var(--color-text);
    --color-muted: var(--color-text-secondary);
    --color-border: var(--color-gray);
    --color-accent: var(--color-accent);
    --color-accent-hover: var(--color-text);
    --color-quote-bg: var(--color-gray-lighter);

    /* Variabili specifiche per il codice per risolvere il contrasto */
    --color-inline-code-bg: var(--color-gray);
    --color-pre-bg: #2b2b2b;
    --color-pre-text: #f8f8f2;

    --radius-sm: 4px;
    --radius-md: 6px;

    --line-height: 1.65;

    font-family: var(--font-body);
    color: var(--color-text);
    /* background: var(--color-bg); */
    line-height: var(--line-height);
    font-size: 16px;
    padding: 0 1em 1em 1em;
}

@media (min-width: 800px) {
    .markdown {
        /* max-width: 72ch; */
        /* margin: 0 auto; */
        padding: 0 2em 2em 2em;
        border: solid 1px var(--color-border);
        border-radius: 4px;
    }
}

/* =========================================================
     HEADINGS
     ========================================================= */

.markdown h1,
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
    font-weight: 600;
    line-height: 1.25;
    margin-top: 2.2rem;
    margin-bottom: 1rem;
    color: var(--color-text);
}

.markdown h1,
.markdown h2 {
    text-transform: uppercase;
    letter-spacing: 1px;
}

.markdown h1 {
    font-size: 2.2rem;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.3em;
}

.markdown h2 {
    font-size: 1.8rem;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.3em;
}

.markdown h3 {
    font-size: 1.5rem;
}
.markdown h4 {
    font-size: 1.25rem;
}
.markdown h5 {
    font-size: 1.05rem;
}
.markdown h6 {
    font-size: 0.95rem;
    color: var(--color-muted);
}

/* =========================================================
     PARAGRAPHS & INLINE TEXT
     ========================================================= */

.markdown p {
    margin: 1rem 0;
}

.markdown strong {
    font-weight: 600;
}

.markdown em {
    font-style: italic;
}

.markdown del {
    text-decoration: line-through;
    color: var(--color-muted);
}

/* =========================================================
     LINKS
     ========================================================= */

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

.markdown a:hover {
    color: var(--color-accent-hover);
    text-decoration: underline;
}

/* Auto-linked URLs */
.markdown a:where([href^="http"]) {
    word-break: break-word;
}

/* =========================================================
     LISTS (ordered, unordered, task lists)
     ========================================================= */

.markdown ul,
.markdown ol {
    padding-left: 2rem;
    margin: 1rem 0;
}

.markdown li {
    margin: 0.4rem 0;
}

.markdown li > p {
    margin: 0.5rem 0;
}

/* Task lists */
.markdown input[type="checkbox"] {
    margin-right: 0.5em;
    transform: translateY(1px);
}

.markdown .task-list {
    list-style: none;
    padding: 0;
}

/* =========================================================
     BLOCKQUOTES
     ========================================================= */

.markdown blockquote {
    margin: 1.5rem 0;
    padding: 0.75rem 1rem;
    color: var(--color-text);
    background: var(--color-quote-bg);
    border-left: 4px solid var(--color-accent);
}

.markdown blockquote blockquote {
    margin-left: 0;
    background: var(--color-bg);
}

/* =========================================================
     CODE
     ========================================================= */

/* Inline code (parole singole nel testo) */
.markdown code {
    font-family: var(--font-mono);
    background: var(--color-inline-code-bg);
    /* color: var(--color-text); */
    padding: 0.2em 0.4em;
    border-radius: var(--radius-sm);
    font-size: 0.95em;
}

/* Code blocks (interi blocchi di codice) */
.markdown pre {
    background: var(--color-pre-bg); /* Sfondo blu scuro (titlebar) */
    color: var(--color-pre-text); /* Testo bianco */
    padding: 1rem;
    overflow-x: auto;
    border-radius: var(--radius-md);
    margin: 1.5rem 0;
    border: 1px solid var(--color-accent); /* Bordo di accento per staccarlo dal resto */
}

.markdown pre code {
    background: none;
    color: inherit; /* Eredita il colore bianco del pre */
    padding: 0;
    font-size: 0.9em;
    line-height: 1.5;
}

/* =========================================================
     TABLES
     ========================================================= */

.markdown table {
    border-collapse: collapse;
    margin: 1.5rem 0;
    width: 100%;
    font-size: 0.95em;
    border-radius: 4px;
    overflow: hidden;
    border-style: hidden;
    box-shadow: 0 0 0 1px #cccccc;
}

.markdown th,
.markdown td {
    border: 1px solid #cccccc;
    padding: 0.6em 0.8em;
    color: #2e2e2e;
    background: #ffffff;
}

.markdown th {
    font-weight: 600;
    background: #e0e0e0;
}

.markdown tr:nth-child(even) td {
    background: #f5f5f5;
}

/* =========================================================
     HORIZONTAL RULE
     ========================================================= */

.markdown hr {
    border: none;
    border-top: 1px solid var(--color-border);
    margin: 2.5rem 0;
}

/* =========================================================
     IMAGES & MEDIA
     ========================================================= */

.markdown img {
    max-width: 100%;
    display: block;
    margin: 1.5rem auto;
}

.markdown figure {
    margin: 1.5rem 0;
}

.markdown figcaption {
    font-size: 0.85em;
    color: var(--color-muted);
    text-align: center;
}

/* =========================================================
     DEFINITION LISTS (dl, dt, dd)
     ========================================================= */

.markdown dl {
    margin: 1.5rem 0;
}

.markdown dt {
    font-weight: 600;
}

.markdown dd {
    margin-left: 1.5rem;
    margin-bottom: 0.8rem;
    color: var(--color-muted);
}

/* =========================================================
     FOOTNOTES (markdown-it-footnote)
     ========================================================= */

.markdown .footnotes {
    font-size: 0.9em;
    color: var(--color-muted);
    border-top: 1px solid var(--color-border);
    margin-top: 3rem;
}

.markdown .footnotes ol {
    padding-left: 1.5rem;
}

.markdown sup {
    font-size: 0.75em;
}

/* =========================================================
     INLINE HTML SAFETY
     ========================================================= */

.markdown iframe {
    max-width: 100%;
}

.markdown video {
    max-width: 100%;
}
