/* Ajustes do Trix para o tema do Panto (NOTES.md §35).
 *
 * Arquivo SEPARADO do `trix.css` de propósito: aquele é vendorizado e será
 * sobrescrito na próxima atualização da biblioteca. Editar o arquivo de
 * terceiro é perder a mudança em silêncio no dia do upgrade.
 *
 * O problema que isto resolve: os 14 ícones da barra são SVG embutido com
 * `fill="#000"` — pretos. O padrão do Panto é o tema ESCURO (D100), então eles
 * chegam praticamente invisíveis. `invert` é a correção certa aqui porque o
 * ícone é monocromático: inverter preto dá branco, e nada mais na imagem muda.
 *
 * A regra segue o mesmo mecanismo do resto do produto: `color-scheme` resolvido
 * por `data-theme` no `<html>`, com o escuro como padrão na ausência dele. */

:root .trix-button--icon::before,
:root[data-theme="dark"] .trix-button--icon::before {
  filter: invert(1);
}

:root[data-theme="light"] .trix-button--icon::before {
  filter: none;
}

/* Altura mínima para o campo não nascer como uma linha. A BORDA fica com as
 * classes do produto no próprio elemento — um `border: 0` aqui apagaria a
 * moldura desenhada lá, que foi o que aconteceu na primeira tentativa. */
trix-editor {
  min-height: 12rem;
}

/* O botão de anexo SAI da barra. O `trix-file-accept` já recusa o arquivo no
 * JavaScript, mas deixar o botão à vista é convidar a pessoa a escolher um
 * arquivo para depois nada acontecer — o pior dos dois mundos. Anexo é decisão
 * registrada (NOTES.md §35), não limitação temporária. */
trix-toolbar .trix-button-group--file-tools {
  display: none;
}

trix-toolbar .trix-button-group {
  border-color: var(--color-surface-line);
}

trix-toolbar .trix-button {
  background: transparent;
  border-color: var(--color-surface-line);
}

/* --- O conteúdo PUBLICADO (issue #29) --------------------------------------
 *
 * Até aqui este arquivo só vestia o EDITOR, porque o corpo do comunicado nunca
 * era renderizado em tela — ele saía por e-mail, onde o estilo é inline e o
 * meio impõe outras regras. As Novidades mudam isso: o mesmo HTML passa a ser
 * lido dentro do produto, e sem estas regras ele sai com a formatação padrão do
 * navegador — parágrafos colados, lista sem marcador, título sem hierarquia.
 *
 * As regras valem também DENTRO do editor, e isso é de propósito: quem escreve
 * vê o que quem lê vai ver.
 *
 * Nenhuma cor literal — todas saem de `tokens.css`, que é o único arquivo que
 * declara cor (AGENTS.md §4). Como os tokens são pares `light-dark()`, o mesmo
 * conteúdo serve os dois temas. */

.trix-content > * + * {
  margin-top: 0.875rem;
}

.trix-content h1,
.trix-content h2,
.trix-content h3 {
  color: var(--color-ink-strong);
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

/* O `h1` do Trix é o único botão de título da barra, então é ele que a pessoa
 * usa para SUBTÍTULO. Na página ele vive dentro de uma entrada cujo título já é
 * o `h2` da tela — deixá-lo em tamanho de manchete faria o corpo competir com o
 * próprio cabeçalho. */
.trix-content h1 { font-size: 1.0625rem; }
.trix-content h2 { font-size: 1rem; }
.trix-content h3 { font-size: 0.9375rem; }

.trix-content h1:not(:first-child),
.trix-content h2:not(:first-child),
.trix-content h3:not(:first-child) {
  margin-top: 1.5rem;
}

.trix-content ul,
.trix-content ol {
  padding-left: 1.25rem;
}

.trix-content ul { list-style: disc; }
.trix-content ol { list-style: decimal; }

.trix-content li + li {
  margin-top: 0.25rem;
}

.trix-content li::marker {
  color: var(--color-ink-faint);
}

.trix-content a {
  color: var(--color-ink-strong);
  text-decoration: underline;
  text-decoration-color: var(--color-surface-line-strong);
  text-underline-offset: 3px;
}

.trix-content a:hover {
  text-decoration-color: currentColor;
}

.trix-content blockquote {
  border-left: 2px solid var(--color-surface-line-strong);
  color: var(--color-ink-muted);
  padding-left: 0.875rem;
}

.trix-content strong { font-weight: 600; }
