The storefront is a grid of products (columns and products-per-page are
owner-configurable in Design), with search and category filter chips the
owner can each hide independently, plus a sort dropdown (default, price
low→high, price high→low, name A→Z/Z→A).
Clicking a product opens its own page: image gallery, badge, price (shows
"From " on a multi-variant product until a variant is picked),
optional crossed-out previous price, an "Included VAT" line if the owner
turned that on, description, and a variant picker if it has variants.
Out-of-stock products are hidden from the grid entirely by default
(the owner's "when out of stock" choice) — or, if the owner chose to keep
them visible, shown with a disabled "Out of stock" button and an optional
notice badge.
Cart
There's a real cart (saved in the customer's browser, survives a reload)
— browsing never skips straight to checkout. A cart icon in the header
opens it as a modal; once it has items, a sticky bottom bar and a floating
cart button (after scrolling) also appear as shortcuts.
Adding, changing quantity, or removing items all happen from the cart
without leaving the page. Quantity is capped at whatever stock is left for
that exact product/variant. A product with variants can't be added until
a variant is chosen — the button prompts for one instead of adding blind.