Prior owner was a smoker so I think the smell is in the seats. I'm replacing the carpet as well. Unless anyone has a way to remove smoke smell
Get your hands on an Ozone Generator, leave it run, in the car, for 24-48 hours and you will never smell a whiff of cigarette smoke.
I happen to have one that I bought for my heavily smoked in office. It had become so rank when you opened the door in the morning, you wanted to gag.
I bought the unit, made a little platform for it to sit on top of a cubicle divider and let it run all night. The next morning when I opened the door it smelled as fresh as a thunderstorm.
I continued to use that generator for a couple more years, with people still smoking in the office, and it remained as fresh as a daisy.
My daughter, in Pennsylvania complained that her rental house smelled of mildew or something. I recommended the Ozone to her and she was able to find a place that rented them. She kept it for a week and had no more complaints about the smell.
I kept my little generator and when I just bought a 2006 Explore, before Christmas, it too had a faint smell of a long ago smoker. The second owner that I bought it from had owned it since 2010. They did not smoke. The smell was slight but unmistakeable. I put my generator in it for over night and poof, no more smell.
I would shampoo your carpets with a non-ammonia cleaner and clean and condition your leather seats. Maybe light brush and vacuum the headliner, then use an ozone generator. You will be wowed and at a heck of a lot cheaper cost.