/* ═══════════════════════════════════════════════════════════════════
   Voxa · movimento compartilhado
   1. Suavização dos controles do site inteiro.
   2. Reveal do conteúdo quando uma aba abre.
   Sem !important em lugar nenhum: qualquer regra mais específica que
   já defina a própria transição continua vencendo.
   ═══════════════════════════════════════════════════════════════════ */

button,
summary,
[role='tab'],
[role='button'],
.va-side-item,
.va-menu-item,
.va-icon-btn,
.va-tile,
.vl-nav-link,
.vp-nav a,
.dx-chip,
.dx-connect,
.dx-row {
  transition-property: background-color, background-image, border-color, color,
                       box-shadow, transform, opacity, filter;
  transition-duration: .2s;
  transition-timing-function: cubic-bezier(.22, .68, .36, 1);
}

/* Foco sempre visível — controles sem estilo próprio herdam este. */
button:focus-visible,
[role='tab']:focus-visible,
[role='button']:focus-visible,
.va-side-item:focus-visible,
.va-menu-item:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── Reveal ────────────────────────────────────────────────────────
   `backwards` em vez de `both`: quando a animação termina, transform e
   opacity voltam para o CSS normal e o :hover dos cards continua
   funcionando.                                                       */
.dx-reveal {
  animation: dx-reveal .34s cubic-bezier(.22, .68, .36, 1) backwards;
}

.dx-reveal-group > * {
  animation: dx-reveal .34s cubic-bezier(.22, .68, .36, 1) backwards;
}
.dx-reveal-group > *:nth-child(1) { animation-delay: 0ms; }
.dx-reveal-group > *:nth-child(2) { animation-delay: 38ms; }
.dx-reveal-group > *:nth-child(3) { animation-delay: 76ms; }
.dx-reveal-group > *:nth-child(4) { animation-delay: 114ms; }
.dx-reveal-group > *:nth-child(5) { animation-delay: 152ms; }
.dx-reveal-group > *:nth-child(6) { animation-delay: 190ms; }
.dx-reveal-group > *:nth-child(7) { animation-delay: 214ms; }
.dx-reveal-group > *:nth-child(n+8) { animation-delay: 238ms; }

@keyframes dx-reveal {
  from { opacity: 0; transform: translateY(9px); }
}

@media (prefers-reduced-motion: reduce) {
  .dx-reveal,
  .dx-reveal-group > * { animation: none; }
  button,
  summary,
  [role='tab'],
  [role='button'],
  .va-side-item,
  .va-menu-item,
  .va-icon-btn,
  .va-tile,
  .vl-nav-link,
  .vp-nav a,
  .dx-chip,
  .dx-connect,
  .dx-row { transition-duration: 0s; }
}
