/* Styling for the college-agnostic random-subset quiz (quiz-random.js).
   Used by every /placement-test/prijemni-<college> page. */

.qz {
  --qz-accent: var(--red-flame, #eb5e28);
  --qz-accent-rgb: 235, 94, 40; /* --red-flame as rgb, for translucent fills */
  --qz-correct: #1a7f37;
  --qz-correct-bg: #e8f5ec;
  --qz-wrong: #b42318;
  --qz-wrong-bg: #fdecea;
}

/* Primary actions (Proveri rezultat / Uradi ponovo) in the brand accent */
.qz-btn {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--qz-accent);
  --bs-btn-border-color: var(--qz-accent);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #cf4e1e;
  --bs-btn-hover-border-color: #cf4e1e;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #bf471b;
  --bs-btn-active-border-color: #bf471b;
}

/* Flat: no focus glow, use an outline for accessibility instead */
.qz-btn:focus-visible {
  box-shadow: none;
  outline: 2px solid var(--qz-accent);
  outline-offset: 2px;
}

/* Flat: question/result cards have a border, no drop shadow */
.qz .card {
  box-shadow: none;
  border: 1px solid var(--bs-border-color, #dee2e6);
}

.qz-q-num {
  font-weight: 700;
  color: var(--bs-secondary, #6c757d);
}

/* A question the user tried to skip when submitting */
.qz-q.qz-unanswered {
  outline: 2px solid var(--qz-accent);
  outline-offset: -1px;
}

.qz-q.qz-unanswered .qz-q-num::after {
  content: " — niste odgovorili";
  color: var(--qz-accent);
  font-weight: 600;
}

/* Inline warning text (e.g. "odgovorite na sva pitanja") in the brand accent */
.qz-warn {
  color: var(--qz-accent);
}

/* Inline success text (e.g. "rezultat je poslat") */
.qz-ok {
  color: var(--qz-correct);
}

.qz-emailgate {
  border-color: var(--qz-accent);
}

.qz-q-text {
  font-size: 1.05rem;
  line-height: 1.6;
}

.qz-options .qz-opt {
  border: 1px solid var(--bs-border-color, #dee2e6);
  background: #fff;
  padding: 0.65rem 0.9rem;
  border-radius: 0.6rem;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

.qz-options .qz-opt:hover:not(:disabled) {
  border-color: var(--qz-accent);
}

.qz-options .qz-opt.active {
  border-color: var(--qz-accent);
  background: rgba(var(--qz-accent-rgb), 0.08);
  font-weight: 600;
}

.qz-options .qz-letter {
  display: inline-block;
  min-width: 1.6rem;
  font-weight: 700;
  color: var(--bs-secondary, #6c757d);
}

/* Graded states */
.qz-options .qz-opt.qz-correct {
  border-color: var(--qz-correct);
  background: var(--qz-correct-bg);
  color: var(--qz-correct);
  font-weight: 600;
  opacity: 1;
}

.qz-options .qz-opt.qz-wrong {
  border-color: var(--qz-wrong);
  background: var(--qz-wrong-bg);
  color: var(--qz-wrong);
  font-weight: 600;
  opacity: 1;
}

.qz-options .qz-opt.qz-muted {
  opacity: 0.6;
}

.qz-options .qz-opt:disabled {
  cursor: default;
}

.qz-score {
  color: var(--qz-accent);
}

/* Keep KaTeX inline math from breaking option/button height awkwardly */
.qz-q-text .katex,
.qz-opt .katex {
  font-size: 1.05em;
}
