- Add PLAN_NAME_TO_STRIPE_ID mapping helper
- Maps: Chat IA → essential, Chat + Voz → profesional, Empresa IA → premium
- Fixes bug where wrong plan IDs were sent to Stripe (e.g. 'chat ia' instead of 'essential')
- Test calls verified for all 3 tiers across verticals
- Use searchParams from Next.js useSearchParams hook instead of window.location
- Add searchParams as useEffect dependency to properly update when URL changes
- Add fallback for vertical content to prevent SSR hydration issues
This fixes the bug where all demo pages showed real-estate content.
- Add business name, contact name fields to form
- Add vertical-specific fields (tables for restaurant, properties for real-estate, etc.)
- Save leads to localStorage matching CRM schema
- Add success message after submission
- Wire to existing /leads CRM