After the detailing I would go with lots of Febreeze, just like Surfbeetle. I used to have a Freightliner that had a few different drivers smoking in it. Many doses of Febreeze helped alot. It was an on going project to get the smell out of the seats, carpet, bunks, etc, but it's possible. When the warmer weather comes, leave the windows cracked on days it won't rain. Febreeze it every day until it's better and you'll be fine.