/**
 * Markdown content rendering
 * --------------------------------------------------
 * Styles applied to server-rendered Markdown output. The PHP `markdown` Twig
 * filter wraps converted content in <div class="markdown-body">. These rules
 * give pages/articles modern, readable, responsive typography regardless of
 * the surrounding theme.
 */
.markdown-body {
  --md-text: #24292f;
  --md-muted: #57606a;
  --md-border: #d0d7de;
  --md-bg-subtle: #f6f8fa;
  --md-accent: #0969da;
  color: var(--md-text);
  font-size: 1.05rem;
  line-height: 1.7;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.markdown-body > *:first-child { margin-top: 0; }
.markdown-body > *:last-child { margin-bottom: 0; }

/* Headings */
.markdown-body h1,
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
  margin: 1.25em 0 0.5em;
  font-weight: 600;
  line-height: 1.25;
  color: var(--md-text);
}
.markdown-body h1 { font-size: 2rem; padding-bottom: 0.3em; border-bottom: 1px solid var(--md-border); }
.markdown-body h2 { font-size: 1.6rem; padding-bottom: 0.3em; border-bottom: 1px solid var(--md-border); }
.markdown-body h3 { font-size: 1.3rem; }
.markdown-body h4 { font-size: 1.1rem; }

/* Paragraphs & inline */
.markdown-body p { margin: 0 0 1.1em; }
.markdown-body a { color: var(--md-accent); text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-body strong { font-weight: 600; }

/* Lists */
.markdown-body ul,
.markdown-body ol { margin: 0 0 1.1em; padding-left: 1.8em; }
.markdown-body li { margin: 0.25em 0; }
.markdown-body li > ul,
.markdown-body li > ol { margin: 0.25em 0; }

/* Responsive media */
.markdown-body img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
  margin: 1.2em auto;
}
.markdown-body iframe,
.markdown-body video {
  max-width: 100%;
}

/* Blockquote */
.markdown-body blockquote {
  margin: 0 0 1.1em;
  padding: 0.4em 1.1em;
  color: var(--md-muted);
  border-left: 4px solid var(--md-border);
  background: var(--md-bg-subtle);
}
.markdown-body blockquote > :last-child { margin-bottom: 0; }

/* Code */
.markdown-body code {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Consolas, monospace;
  font-size: 0.9em;
  padding: 0.2em 0.4em;
  background: var(--md-bg-subtle);
  border-radius: 4px;
}
.markdown-body pre {
  margin: 0 0 1.1em;
  padding: 1em;
  overflow: auto;
  background: var(--md-bg-subtle);
  border-radius: 6px;
  line-height: 1.45;
}
.markdown-body pre code {
  padding: 0;
  background: transparent;
  font-size: 0.875em;
}

/* Tables — scroll on small screens */
.markdown-body table {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow: auto;
  border-collapse: collapse;
  margin: 0 0 1.1em;
}
.markdown-body table th,
.markdown-body table td {
  padding: 0.5em 0.9em;
  border: 1px solid var(--md-border);
}
.markdown-body table th { background: var(--md-bg-subtle); font-weight: 600; text-align: left; }
.markdown-body table tr:nth-child(2n) td { background: var(--md-bg-subtle); }

/* Horizontal rule */
.markdown-body hr {
  height: 1px;
  margin: 2em 0;
  border: 0;
  background: var(--md-border);
}

@media (max-width: 600px) {
  .markdown-body { font-size: 1rem; }
  .markdown-body h1 { font-size: 1.6rem; }
  .markdown-body h2 { font-size: 1.35rem; }
}
