I will give ballpark numbers in a wide range, then tell them if they are comfortable with that range and want to get and exact figure before proceeding with production, that we need to get a small down payment and more detailed info/measurements, etc. to begin some preliminary layout work which will help determine exactly what this project will cost them and what they are gonna get for their buck. I usually just get enough to help cover my time for the bid portion in case they bail but usually that is enough to keep them locked in. Most people don't want to walk away after they have put money down, even if it was only 50 bucks or whatever. The amount I ask for depends on the general size of the project but is usually somewhere around only 10%. -just enough to keep them serious without making them feel uneasy about using me for the first time and shelling out a bunch of money up front.
Then to proceed with any serious design work/proofing and production once the project specs are determined, I get another down payment installment of 50% of the total cost with the balance due at time of completion (unless other payment terms are set up in advance). They are also informed that any changes in size, etc. may cause price differences but that they will know for sure exactly what the final price will be before actual production begins.
This seems to work really well for me and has really reduced my wasted time on tire kickers.