/* Profezz — overrides mínimos sobre o Tailwind (Play CDN) */

html, body { height: 100%; }
body { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
* { -webkit-tap-highlight-color: transparent; }

/* Scroll horizontal sem barra (barra de categorias) */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Foco visível para navegação por teclado */
:focus-visible { outline: 2px solid #0A0A0A; outline-offset: 2px; border-radius: 4px; }

/* Transições padrão */
a, button, .transition-base { transition: all .2s ease; }

/* Skip link de acessibilidade */
.skip-link {
  position: absolute; left: -9999px; top: 0;
  background: #0A0A0A; color: #fff; padding: 8px 14px; z-index: 70; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 0; top: 0; }

/* Respeitar prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Animação leve de entrada das views */
@keyframes fadeUp { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.view-enter { animation: fadeUp .22s ease both; }

/* Animações de modal */
@keyframes backdropIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalIn { from { opacity: 0; transform: scale(0.94) translateY(16px); } to { opacity: 1; transform: scale(1) translateY(0); } }
.backdrop-enter { animation: backdropIn .25s ease both; }
.modal-enter { animation: modalIn .32s cubic-bezier(0.34, 1.4, 0.64, 1) both; }
