` principal.
### Task 5: QR code glow animation
**Files:**
- Modify: `src/components/checkout/PixCheckout.tsx`
Animação CSS infinita na borda do container do QR code: `@keyframes` alternando `box-shadow` entre `0 0 30px rgba(201,169,97,0.4)` e `0 0 60px rgba(201,169,97,0.7)`. Usar via classe ou `motion.div` com `animate={{ boxShadow: [...] }}` loop.
### Task 6: Skeleton screens
**Files:**
- Create: `src/components/ui/skeleton.tsx`
- Modify: `src/components/reservation/StayDetailsStep.tsx`, `ImageGallery.tsx`, `PriceSummary.tsx` (mostram skeleton quando dados estão carregando)
Skeleton reutilizável com shimmer animado (CSS keyframes). Cada componente que hoje mostra "Carregando..." ganha um skeleton com o formato do conteúdo final.
### Task 7: SuccessScreen upgrade
**Files:**
- Install: `pnpm add canvas-confetti @types/canvas-confetti`
- Modify: `src/components/checkout/SuccessScreen.tsx`
- Confetti burst com cores da paleta do tenant (champagne + rose-gold + emerald)
- Check SVG desenhado com anime.js (`stroke-dashoffset` 0 → 1)
- Texto com reveal escalonado
### Task 8: Micro-interactions em botões
**Files:**
- Modify: `src/components/ui/button.tsx`
Adiciona `hover:scale-[1.02]` ao primary/secondary (já tem), e subtle `hover:glow-champagne` animado. Adiciona `active:scale-[0.98]` pra tactile feedback.
### Task 9: AnimatePresence entre fases do ReservationFlow
**Files:**
- Modify: `src/components/reservation/ReservationFlow.tsx`
Envolve o conteúdo de cada fase (form/checkout/success) com `
` e `` — slide + fade suave na transição.
---
## Validação
Ao final, tudo deve continuar passando:
```bash
pnpm typecheck
pnpm lint
pnpm test
pnpm build
```
Testes existentes continuam no verde. Novos testes não são obrigatórios (polish visual é difícil de testar automaticamente — QA visual manual).
## Critério de conclusão
- [ ] Hero aparece com stagger no boot
- [ ] Fotos viram carrossel swipable + lightbox
- [ ] Selecionar uma nova marca faz as opções "entrarem" em escalado
- [ ] Preço pulsa quando recalcula
- [ ] QR code tem glow pulsante
- [ ] Skeletons aparecem no lugar de "Carregando..."
- [ ] Tela de sucesso com confetti + check animado
- [ ] Transições entre etapas com slide suave
- [ ] Build < 700 KB (meta de não estourar com as libs novas)