/* Estilos próprios que não cabem em classes utilitárias do Tailwind. */

/* Texto de apoio e enunciados preservam as quebras de parágrafo vindas do banco */
.texto-prova {
  white-space: pre-line;
  line-height: 1.65;
}

/* Alternativa marcada no simulado */
.alternativa input:checked + span {
  border-color: rgb(79 70 229);
  background-color: rgb(238 242 255);
}

/* Tipografia do material de estudo (HTML gerado a partir de Markdown) */
.material { line-height: 1.75; color: rgb(30 41 59); }
.material > * + * { margin-top: 1rem; }
.material h2 { font-size: 1.35rem; font-weight: 700; margin-top: 2rem; color: rgb(15 23 42); }
.material h3 { font-size: 1.1rem; font-weight: 600; margin-top: 1.5rem; color: rgb(55 48 163); }
.material h2:first-child, .material h3:first-child { margin-top: 0; }
.material ul, .material ol { padding-left: 1.4rem; }
.material ul { list-style: disc; }
.material ol { list-style: decimal; }
.material li + li { margin-top: 0.35rem; }
.material strong { color: rgb(15 23 42); }
.material blockquote {
  border-left: 4px solid rgb(99 102 241);
  background: rgb(238 242 255);
  border-radius: 0 0.5rem 0.5rem 0;
  padding: 0.75rem 1rem;
}
.material table { width: 100%; border-collapse: collapse; font-size: 0.925rem; display: block; overflow-x: auto; }
.material th, .material td { border: 1px solid rgb(226 232 240); padding: 0.5rem 0.75rem; text-align: left; vertical-align: top; }
.material th { background: rgb(248 250 252); font-weight: 600; }
.material img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto 0.25rem; border-radius: 0.5rem; }
.material img + em { display: block; text-align: center; font-size: 0.85rem; color: rgb(100 116 139); }
.material a { color: rgb(67 56 202); text-decoration: underline; }
/* Videoaulas: ícone de play antes do link do YouTube */
.material a.link-video::before {
  content: "\25B6\FE0E"; /* ▶ com seletor de texto: sem o FE0E, Windows desenha o emoji azul */
  display: inline-block;
  margin-right: 0.4rem;
  font-size: 0.7rem;
  color: #fff;
  background: rgb(220 38 38);
  border-radius: 0.25rem;
  padding: 0.05rem 0.35rem;
  vertical-align: 0.1rem;
  text-decoration: none;
}

.alternativa input:focus-visible + span {
  outline: 2px solid rgb(79 70 229);
  outline-offset: 2px;
}
