I’ve been using this app by Avocado Labs in my store on the landing page and an extra „delivery zones” page for a few months now and can’t recommend it enough. It complements both Zapiet (lives in the cart) or Shopify Local Delivery (lives in the checkout) and moves this very important question of many of my 1st time visitors from the end to the beginning of the shopper journey. And with extensive styling options I was able to make it look just like a native widget. It’s one of the few apps out on the Shopify appstore where you can suggest a feature to the dev and he actually implements your feedback
Have you tried checking the AppJetty Zipcode Validator extension?
I would recommend you to give it a try.
It is a zip code validating extension that helps customers know about the product availability in their desired location. Besides, it lets you restrict the delivery orders from specific areas. You can also whitelist and blacklist the zip codes where delivery is unavailable. That means you can restrict adding products to carts from specific zip codes, exactly the kind of solution you’re looking for.
Further, it allows you to customize the zip code widget according to the requirements. You can even customize the display messages. Last but not least, you can show your customers the estimated time and delivery.
You can learn more about it here - AppJetty Zipcode Validator .