/* ============================================================
   PubForge – markdownParser.css
   Rendered Markdown output styling, theme-aware
   ============================================================ */

/* ---- Base prose container --------------------------------- */
.wp-body,
.md-rendered {
  font-family: var(--font-ui);
  font-size: 0.9rem;
  line-height: 1.8;
  color: var(--text);
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* ---- Headings --------------------------------------------- */
.wp-body h1,
.wp-body h2,
.wp-body h3,
.wp-body h4,
.wp-body h5,
.wp-body h6 {
  font-family: var(--font-display);
  color: var(--text);
  margin: 1.5em 0 0.5em;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.wp-body h1 { font-size: 1.7rem; border-bottom: 1px solid var(--border); padding-bottom: 0.3em; }
.wp-body h2 { font-size: 1.35rem; border-bottom: 1px solid var(--border); padding-bottom: 0.25em; }
.wp-body h3 { font-size: 1.1rem; }
.wp-body h4 { font-size: 0.95rem; font-weight: 700; }
.wp-body h5 { font-size: 0.88rem; font-weight: 700; color: var(--text-muted); }
.wp-body h6 { font-size: 0.82rem; font-weight: 700; color: var(--text-subtle); }

/* ---- Paragraphs & spacing --------------------------------- */
.wp-body p { margin: 0 0 1.1em; }
.wp-body p:last-child { margin-bottom: 0; }

/* ---- Strong, Em, Strike ----------------------------------- */
.wp-body strong { font-weight: 700; color: var(--text); }
.wp-body em { font-style: italic; }
.wp-body s, .wp-body del { text-decoration: line-through; color: var(--text-muted); }

/* ---- Links ------------------------------------------------ */
.wp-body a {
  color: var(--primary);
  text-decoration: none;
  border-bottom: 1px solid var(--primary-dim);
  transition: border-color 0.15s, color 0.15s;
}
.wp-body a:hover {
  border-bottom-color: var(--primary);
  color: var(--primary-hover);
}

/* ---- Lists ------------------------------------------------ */
.wp-body ul,
.wp-body ol {
  margin: 0 0 1.1em 1.5em;
  padding: 0;
}

.wp-body ul { list-style: disc; }
.wp-body ol { list-style: decimal; }

.wp-body li {
  margin-bottom: 0.3em;
  padding-left: 0.2em;
}

.wp-body ul ul,
.wp-body ol ol,
.wp-body ul ol,
.wp-body ol ul {
  margin: 0.3em 0 0.3em 1.2em;
}

/* ---- Blockquotes ------------------------------------------ */
.wp-body blockquote {
  margin: 1.2em 0;
  padding: 0.8em 1.2em;
  border-left: 4px solid var(--primary);
  background: var(--primary-dim);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  color: var(--text-muted);
  font-style: italic;
}

.wp-body blockquote p { margin: 0; }

/* ---- Inline Code ------------------------------------------ */
.wp-body code {
  font-family: var(--font-mono);
  font-size: 0.83em;
  background: var(--surface);
  color: var(--primary);
  padding: 0.15em 0.45em;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}

/* ---- Code Blocks ------------------------------------------ */
.wp-body pre {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1em 1.2em;
  overflow-x: auto;
  margin: 1.2em 0;
  position: relative;
}

.dark .wp-body pre {
  background: #0d1117;
  border-color: #30363d;
}

.wp-body pre code {
  font-family: var(--font-mono);
  font-size: 0.82em;
  background: none;
  color: var(--text);
  padding: 0;
  border: none;
  border-radius: 0;
  display: block;
  line-height: 1.7;
  white-space: pre;
  word-wrap: normal;
  overflow-wrap: normal;
}

/* Basic CSS syntax-like coloring via class hints */
.wp-body pre code .kw  { color: #ff7b72; }   /* keywords */
.wp-body pre code .str { color: #a5d6ff; }   /* strings */
.wp-body pre code .cmt { color: #8b949e; font-style: italic; } /* comments */
.wp-body pre code .num { color: #79c0ff; }   /* numbers */
.wp-body pre code .fn  { color: #d2a8ff; }   /* functions */

/* Code block language label */
.wp-body pre[data-lang]::before {
  content: attr(data-lang);
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 0.7rem;
  font-family: var(--font-mono);
  color: var(--text-subtle);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ---- Horizontal Rule -------------------------------------- */
.wp-body hr {
  border: none;
  border-top: 2px solid var(--border);
  margin: 2em 0;
  border-radius: 1px;
}

/* ---- Images ----------------------------------------------- */
.wp-body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius);
  display: block;
  margin: 1em auto;
  border: 1px solid var(--border);
}

/* ---- Tables ----------------------------------------------- */
.wp-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.2em 0;
  font-size: 0.85rem;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.wp-body thead {
  background: var(--surface);
}

.wp-body th {
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
  font-size: 0.8rem;
  color: var(--text-muted);
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--border);
}

.wp-body td {
  padding: 9px 14px;
  border-bottom: 1px solid var(--border);
  color: var(--text);
}

.wp-body tr:last-child td { border-bottom: none; }

.wp-body tbody tr:hover { background: var(--surface); }

/* ---- Scrollbars inside pre -------------------------------- */
.wp-body pre::-webkit-scrollbar { height: 4px; }
.wp-body pre::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
