/* Tavrov — camada de cuidado (15-a11y). Vale para TODAS as páginas e vem depois do estilo de cada uma.
   Contraste AA (WCAG 2.1, 4,5:1 texto normal), foco visível no teclado, toque de 44 px no celular,
   e respeito a quem pede menos movimento. Mudança sutil: o desenho continua o mesmo. */

/* cinza "apagado" passa de 3,5:1 para 4,9–5,6:1 nos fundos do site */
:root, :root[data-theme="dark"] { --faint: #9a8486; --brand-btn: #D63C41; }

/* botão cheio: branco sobre vermelho com 4,6:1 (o vermelho da marca segue igual em textos e bordas) */
.btn-primary, .chip.active, .nf-form button, .card .add.afil-btn, .pbtn.afil-btn, .catnav a.on,
.pfiltro button[aria-pressed="true"], .cta .btn, .vazio .btn, .afil-cta .btn, .e404 .btn {
  background: var(--brand-btn) !important; border-color: var(--brand-btn) !important; color: #fff !important;
}
.btn-primary:hover, .nf-form button:hover, .card .add.afil-btn:hover, .pbtn.afil-btn:hover,
.cta .btn:hover, .vazio .btn:hover, .afil-cta .btn:hover, .e404 .btn:hover { background: #C93338 !important; border-color: #C93338 !important; }
/* vermelho sobre o fundo vermelho-escuro dos chips */
.nf-chip, .pen-x { color: #EC5B60; }

/* foco visível: quem navega pelo teclado sempre sabe onde está */
:focus-visible { outline: 3px solid #D9B65E !important; outline-offset: 3px; border-radius: 6px; }
input:focus-visible, textarea:focus-visible { outline-offset: 1px; }

/* menos movimento para quem pediu isso ao sistema */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  .gin, .gfall { animation: none !important; } /* a peneira fica parada (antes só ficava mais lenta) */
}

/* toque de 44 px no celular */
@media (max-width: 640px) {
  .icon-btn, .card .heart { width: 44px !important; height: 44px !important; }
  .card .tag { max-width: calc(100% - 70px) !important; }
  .chip, .catnav a, .nf-chip, .pfiltro button { min-height: 44px; display: inline-flex; align-items: center; }
  .search { padding-top: 0; padding-bottom: 0; }
  .search input, .nf-form input { min-height: 44px; }
  a.brand { min-height: 44px; }
  .afil-laudo, .hp-link, .acoes .l, .back, .link2, .note a, .home-cats a, .foot-legal-links a { display: inline-flex; align-items: center; min-height: 44px; }
  footer .foot-grid a { display: flex; align-items: center; min-height: 44px; }
  footer .wrap > a, footer .wrap a[href^="/"], footer .wrap a[href^="mailto:"] { display: inline-block; padding: 12px 8px; min-width: 44px; text-align: center; }
}
