@Gill8
Firstly, are you using instant booking? If so, you could disable that. If you don't want to do that, go to the settings and click that the guest must be 'recommended by hosts'. That is not fool proof, as Airbnb is vague about what that actually means, but I have avoided instant bookings from guests with bad reviews this way in the past.
Otherwise, to block a guest, you need to click on the little flag next to one of their messages. You have to choose 'they're being offensive' as that's the only option that gives you the ability to block. I know it's not nice to accuse someone of being offensive if they haven't been, but there is not other choice right now, and I don't believe that Airbnb even act on it. It does mean they can neither message nor book with you.
Some hosts would say block out one of the dates that the guest wants to book on your calendar, but I don't see why we should lose other potential bookings because a guest can't follow the house rules.
Bear in mind also if you do not use IB, then an enquiry doesn't mean anything. You just have to respond to it within 24 hours. However, if that guest then sends a request to book, you have to either accept or decline within 24 hours. That will affect your acceptance rate and, quite possibly, your position in the search ranking. So, if you get an enquiry from a guest who you know is unsuitable, just be honest about it. Tell her that you cannot accept her based on her previous rules and that any type of smoking would be a major issue for you. Some people are persistent, but most will get the message and go away.