foldout
Free + Pro Ecommerce template

Mercer — ecommerce storefront template

A storefront in Tailwind: home, shop with category sections, product page with variants and stock states, cart, shipping and returns, plus an FAQ and a 404 in Pro. No JavaScript, Schema.org Product markup, ready for Snipcart or a Buy Button.

  • HTML5
  • Tailwind 4
  • Schema.org
  • Dark mode
  • Snipcart-ready
  • No JS

Free and Pro

Pro

$9

Every page, the Pro-only pages, the source files, no attribution, and 12 months of updates and email support.

Home page, compiled CSS
yes
Shop, product, cart, shipping
yes
FAQ + 404 pages
yes
Dark mode (follows system)
yes
Tailwind source and partials
yes
Scroll animations (reveal, stagger, header shadow; reduced-motion aware)
yes
Credit link in footer
not required
Updates and support
12 months, email

Free archive

  • index.html
  • assets/css/style.css
  • README.md · LICENCE.txt

Pro archive

  • index.html · shop.html · product.html
  • cart.html · shipping.html
  • faq.html · 404.html (Pro only)
  • assets/css/style.css
  • src/pages/ · src/partials/ · build.mjs
  • assets/js/motion.js · assets/css/motion.css
  • README.md · LICENCE.txt (Pro)

Licence

Use it in unlimited personal and commercial projects, including client work.
Do not resell the template itself, alone or in a bundle.

Full licence terms →

What this template is for

Mercer is a storefront for a small catalogue — a dozen products, not a thousand. It puts the effort where a small store’s money is: a product page that sells, and a shop page that doesn’t need a search engine to be usable.

What’s inside

Five pages sharing one header, footer and product card through src/partials/, so a price format or a nav link changes in one place.

A product page that carries the variants

Colour and strap are radio inputs styled as chips — keyboard accessible, no JavaScript, and a sold-out option is a disabled radio with a strike-through, not a hidden one. Details, shipping and the guarantee sit in a native <details> accordion. Schema.org Product markup with price, availability and return policy is wired in for rich results.

Platform-neutral, with a fast path

The add-to-cart button already carries Snipcart’s data-item-* attributes: add their script and the store takes orders. For Shopify or Stripe, swap the button for their embed — the rest of the page stays. The cart page is a static order-review layout you keep or drop.

Filters that work without a backend

The shop sidebar links to sections on the page, so every filtered view has a real URL (shop.html#bags) and works with JavaScript off. When you move to a platform, those become collection pages.

What you will need to replace

Every photo is a labelled placeholder in a 4:5 slot. Prices, product names and the nine products in the grid are {{card …}} lines in the page sources — one line per product.

Compatibility

  • Chrome / Edge 109+
  • Safari 15.4+
  • Firefox 115+
  • iOS 15+
  • Android 10+

Read before you build

Version history

  • 1.2.0 2026-09-11

    Dark mode: follows the system, no JavaScript; cards sit a step above the page

  • 1.2.0 2026-09-11

    FAQ page and 404 added to Pro; free archive is now the home page

  • 1.0.0 2026-09-11

    First release

  • 25 KB
    product page + CSS
  • 0
    external requests
  • 0
    JavaScript
  • 7
    pages in Pro

Related templates

Bistro — restaurant website template preview

A restaurant site in Tailwind: menu with anchor sections, table booking form, gallery, hours and contact, plus a private-dining page and a 404 in Pro. Schema.org markup for the venue and the menu.

Aurora — SaaS landing page template preview

A one-page SaaS landing template with pricing, testimonials and FAQ, plus a full pricing page and a 404 in Pro. Tailwind, dark mode, zero external dependencies.

Harbor — real estate agency website template preview

An estate agency in Tailwind: listings with filters as real links, a property page with gallery, room sizes, floor plan, map and enquiry form, agents with direct numbers, plus a valuation funnel and a 404 in Pro. No JavaScript, RealEstateListing markup.

Tell us what happened

Goes straight to a person. No account, no ticket number.

What is this about?

We keep the message and the page it came from. Nothing else — not your IP, not your browser. Privacy.