/* =====================================================================
   AGGalvão · Utilitários — classes soltas de espaçamento/texto e o botão
   do menu móvel. Carrega por último para vencer os demais (ver
   app/Views/layout/_estilos.php).
   ===================================================================== */

.texto-cinza  { color: var(--cinza); }
.texto-menor  { font-size: .76rem; }
.texto-forte  { font-weight: 600; color: var(--preto); }
.num          { font-variant-numeric: tabular-nums; }
.sem-margem   { margin: 0; }
.mt-1 { margin-top: .5rem; }  .mt-2 { margin-top: 1rem; }  .mt-3 { margin-top: 1.5rem; }
.mb-1 { margin-bottom: .5rem; } .mb-2 { margin-bottom: 1rem; }
.flex        { display: flex; gap: .5rem; align-items: center; }

/* Substitutos dos atributos style (a CSP não aceita style inline). Vêm depois de
   .flex/.texto-forte/.texto-cinza: mesma especificidade, quem vem depois ganha. */
.texto-vermelho   { color: var(--vermelho); }
.texto-verde      { color: var(--verde); }
.texto-preservado { white-space: pre-wrap; }
.texto-riscado    { text-decoration: line-through; }
.maiusculas       { text-transform: uppercase; }
.alinhar-topo     { align-self: start; }
.quebrar          { flex-wrap: wrap; }
.gap-estreito     { gap: .4rem; }
.gap-medio        { gap: .75rem; }
.grade-compacta   { gap: .9rem; }
.em-linha         { display: inline; }
.form-estreito    { max-width: 600px; }
.form-medio       { max-width: 760px; }
.divisor          { border: 0; border-top: 1px solid var(--borda); margin: 1.25rem 0; }
.subtitulo-secao  { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--cinza); }
.acoes-fim        { margin-left: auto; display: flex; gap: .5rem; }
.col-icone        { width: 28px; }
.so-leitores {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

.btn-menu { display: none; background: none; border: 0; cursor: pointer; color: var(--preto); padding: .25rem; }

/* ---------------------------------------------------------------------
   Responsivo
   --------------------------------------------------------------------- */
@media (max-width: 900px) {
    .btn-menu { display: inline-flex; }
}