/* ============================================================
   BOOKATOON — Overrides (Etapas 2 e 4 da migração de @layer)

   Só as regras que precisam vencer de propósito, independente de
   especificidade — por isso ficam na ÚLTIMA layer declarada
   (tokens.css: "@layer tokens, base, components, sections, overrides;").
   Migradas de base.css/scenery.css/contact.css, valor idêntico, só o
   !important que já existia continua necessário (dentro de uma layer,
   !important ainda serve pra vencer a especificidade normal DENTRO da
   própria layer — o que muda é só a ordem relativa ENTRE layers).
   ============================================================ */
@layer overrides {

/* Kill-switch de movimento: motionEnabled()=false (js/main.js) desliga
   toda animação/transição do site, sem exceção. */
html[data-motion="off"] *,
html[data-motion="off"] *::before,
html[data-motion="off"] *::after {
  animation-duration: 0.01ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.01ms !important;
}

/* forced-colors: deixa o sistema mandar.
   !important necessário: components.css define border nessas mesmas
   classes fora de qualquer media query, com a mesma especificidade —
   sem isso essa regra nunca chega a valer (bug corrigido na Fase 2). */
@media (forced-colors: active) {
  .btn,
  .chip {
    border: 2px solid ButtonText !important;
  }
}

/* Enquanto a capa "abertura" está fechada, a coreografia do hero espera
   (migrado de scenery.css na Etapa 4). */
.intro-hold .hero,
.intro-hold .hero * {
  animation-play-state: paused !important;
}

/* Honeypot do formulário: fora da tela para pessoas/leitores de tela,
   visível para robôs (migrado de contact.css na Etapa 4). */
.campo-hp {
  position: absolute !important;
}

}
