Sync product data with LLM text responses
The bot's text generation logic is separated from the product card selection logic. This causes the bot to display correct product cards but fail to mention product details like price in the chat text itself, even when referencing the right product.