/**
 * App-wide question ID (red) and question text (exam-paper blue serif) display.
 * Typography: Source Serif 4. Stems always sit in .bv-question-stem-card (design tokens).
 */

:root {
  --bv-question-id-color: #c62828;
  --bv-question-text-color: #006bb6;
  --bv-question-text-font: "Source Serif 4", Georgia, "Times New Roman", serif;
  --bv-question-text-size: 16px;
  --bv-question-text-line-height: 1.5;
}

@media (min-width: 768px) {
  :root {
    --bv-question-text-size: 17px;
  }
}

@media (min-width: 1024px) {
  :root {
    --bv-question-text-size: 18px;
  }
}

/* —— Question stem card (BVUNZO design tokens) —— */
.bv-question-stem-card {
  background: var(--bg-card-alt, #fafbfc);
  border: 1px solid var(--border-soft, #e5eaf0);
  border-radius: var(--radius-sm, 12px);
  padding: var(--space-3, 12px) var(--space-4, 16px);
  box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.04));
  max-width: 100%;
}

@media (max-width: 767px) {
  .bv-question-stem-card {
    padding: var(--space-2, 8px) var(--space-3, 12px);
  }
}

/* Avoid double boxes when an outer panel already wraps the stem card */
.question-content:has(> .bv-question-stem-card),
.question-content:has(> .question-stem > .question-stem__text > .bv-question-stem-card),
.sq-question-card__content.question-content:has(.bv-question-stem-card) {
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.admin-live-preview:has(> .bv-question-stem-card) {
  padding: 0;
  border: none;
  background: transparent;
}

.admin-live-preview > .bv-question-stem-card {
  width: 100%;
}

/* Admin live preview (Add Question, etc.): card when preview follows question textarea */
textarea[data-preview-mode="question-text"] + .admin-live-preview,
textarea[data-preview-mode="markdown-lines"] + .admin-live-preview {
  padding: 0;
  border: none;
  background: transparent;
}

textarea[data-preview-mode="question-text"] + .admin-live-preview > .admin-live-preview__body,
textarea[data-preview-mode="markdown-lines"] + .admin-live-preview > .admin-live-preview__body {
  background: var(--bg-card-alt, #fafbfc);
  border: 1px solid var(--border-soft, #e5eaf0);
  border-radius: var(--radius-sm, 12px);
  padding: var(--space-3, 12px) var(--space-4, 16px);
  box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 0, 0, 0.04));
}

@media (max-width: 767px) {
  textarea[data-preview-mode="question-text"] + .admin-live-preview > .admin-live-preview__body,
  textarea[data-preview-mode="markdown-lines"] + .admin-live-preview > .admin-live-preview__body {
    padding: var(--space-2, 8px) var(--space-3, 12px);
  }
}

/* —— Question IDs (display only; labels/inputs unchanged) —— */
.bv-question-id,
.explorer-question-id,
.question-id-badge,
.sq-question-card__id code,
.not-found-id-value,
.no-scheme-id,
.no-scheme-id a,
.sa-answer-card__id,
.sa-answer-card__link,
a[href*="question_id="] {
  color: var(--bv-question-id-color) !important;
}

/* —— Question text (stem / prompt; not answer options) —— */
.bv-question-stem-card .bv-question-text,
.bv-question-text,
.question-stem__text,
.explorer-question-text-wrap,
.question-text-markdown,
.question-stem-markdown-body,
.question-text-pre,
.question-text,
.mcq-text,
.question-pre,
.question-text-block,
.edit-q-drop-image-preview__math,
.admin-live-preview .question-text-pre {
  color: var(--bv-question-text-color);
  font-family: var(--bv-question-text-font);
  font-size: var(--bv-question-text-size);
  line-height: var(--bv-question-text-line-height);
  font-weight: 400;
}

.bv-question-stem-card .bv-math,
.bv-question-stem-card .katex,
.bv-question-text .bv-math,
.bv-question-text .katex,
.question-stem__text .bv-math,
.question-stem__text .katex,
.question-text-markdown .bv-math,
.question-text-markdown .katex,
.question-stem-markdown-body .bv-math,
.question-stem-markdown-body .katex,
.explorer-question-text-wrap .bv-math,
.explorer-question-text-wrap .katex,
.question-text-pre.bv-math,
.question-text-pre .katex,
.question-text.bv-math,
.question-text .katex,
.mcq-text.bv-math,
.mcq-text .katex,
.question-pre.bv-math,
.question-pre .katex,
.question-text-block .bv-math,
.question-text-block .katex,
.edit-q-drop-image-preview__math .bv-math,
.edit-q-drop-image-preview__math .katex,
.admin-live-preview .question-text-pre.bv-math,
.admin-live-preview .question-text-pre .katex {
  color: var(--bv-question-text-color) !important;
  font-family: var(--bv-question-text-font) !important;
  font-size: 1em;
  font-weight: 400;
}

/* Layout */
.question-text-markdown,
.question-stem__text,
.explorer-question-text-wrap {
  max-width: 100%;
  margin: 0;
  padding: 0;
}

.bv-question-stem-card .question-text-markdown {
  width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.question-stem__text {
  margin-top: var(--space-2, 8px);
}

.explorer-question-text-wrap {
  margin-top: var(--space-2, 8px);
}

.explorer-question-image-wrap .explorer-question-text-wrap:first-child {
  margin-top: 0;
}

.question-stem-markdown-body.md-document,
.question-text-markdown .question-stem-markdown-body {
  text-align: left;
}

.question-stem-markdown-body.md-document .md-p,
.question-text-markdown .question-stem-markdown-body .md-p {
  margin: 0 0 0.4em;
}

.question-stem-markdown-body.md-document .md-p:last-child,
.question-text-markdown .question-stem-markdown-body .md-p:last-child {
  margin-bottom: 0;
}

.question-stem-markdown-body .md-h,
.question-stem-markdown-body .md-h1,
.question-stem-markdown-body .md-h2,
.question-stem-markdown-body .md-h3,
.question-stem-markdown-body .md-h4 {
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  margin: 0.4em 0 0.2em;
}

.question-stem-markdown-body.md-document .md-display-math,
.question-text-markdown .question-stem-markdown-body .md-display-math {
  margin: 0.4em 0;
  overflow-x: auto;
}

.question-stem-markdown-body .katex-display {
  margin: 0.4em 0;
}

.bv-question-stem-card .bv-question-aligned {
  display: grid;
  gap: 0.2em;
  max-width: 100%;
}

.bv-question-stem-card .bv-question-aligned__row {
  min-width: 0;
  overflow-wrap: anywhere;
}

.bv-question-stem-card .bv-question-aligned__row--indent {
  padding-inline-start: clamp(0.75rem, 5vw, 1.25rem);
}

.bv-question-stem-card .bv-question-aligned__row .bv-math {
  max-width: 100%;
}

.question-stem-markdown-body .md-strong,
.question-stem-markdown-body .md-p,
.question-stem-markdown-body .md-h {
  color: var(--bv-question-text-color);
}

.question-stem__text .katex .mathnormal,
.explorer-question-text-wrap .katex .mathnormal,
.bv-question-stem-card .katex .mathnormal,
.question-text-pre .katex .mathnormal,
.question-text .katex .mathnormal,
.mcq-text .katex .mathnormal,
.question-pre .katex .mathnormal {
  font-family: var(--bv-question-text-font) !important;
  font-style: italic;
}

.question-stem__text .katex .mathrm,
.explorer-question-text-wrap .katex .mathrm,
.bv-question-stem-card .katex .mathrm,
.question-text-pre .katex .mathrm,
.question-text .katex .mathrm,
.mcq-text .katex .mathrm,
.question-pre .katex .mathrm {
  font-family: var(--bv-question-text-font) !important;
  font-style: normal;
}
