GOOD THINGS. EVERY DAY.Considered essentials, a little less ordinary.Independent by design.
vender
VENDER / DEVELOPER REFERENCE

The everyday toolkit.

The building blocks of a considered store. Explore working patterns, inspect the states, and copy the markup into your next project.

Build with the library. Copy a pattern or download its source with dependency notes. Interactive examples use the shared storefront shell.
Component integration guide ↗WooCommerce & Shopify boundaries ↗

01 / FOUNDATION

Color, type and rhythm.

Shared tokens live in assets/css/base.css and home.css. This preview supports one light theme.

Paper--paper
Ink--ink
Accent--coral
Teal--teal

Good things. Every day.

Arial / Helvetica / sans-serif. A restrained scale, generous spacing and a shared fluid page gutter.

:root {
  --paper: #faf8f3;
  --ink: #173c3c;
  --coral: #c43e28;
  --gap: clamp(24px, 4.5vw, 72px);
}
02 / ACTIONS

One clear next step.

Links navigate; buttons perform actions. Disabled controls retain a readable label.

Explore the collection ↗
<a class="primary" href="shop.html">
  Explore the collection ↗
</a>
<button data-open="search">Search products</button>
03 / PRODUCTS

A shared product language.

These cards use the same fixtures, quick-add and wishlist behavior as the shop. Try an item with sizes and one without.

HTML for one product card. Include assets/css/base.css and assets/css/home.css for styling, plus assets/js/catalog-data.js before assets/js/store.js for quick-add. assets/js/wishlist.js and assets/css/wishlist.css add the save control. Quick-add also requires the shared quick-view and bag dialogs from this page.

<article class="product-card">
  <div class="card-image">
    <a href="product.html?id=canvas">
      <img src="assets/img/sneaker.webp" width="1254" height="1254"
           alt="The Everyday Canvas in Midnight / Ecru" loading="lazy">
    </a>
    <button type="button" data-add="canvas"
            aria-label="Choose options for The Everyday Canvas">+</button>
  </div>
  <div class="card-info">
    <div>
      <h3><a href="product.html?id=canvas">The Everyday Canvas</a></h3>
      <p>Midnight / Ecru</p>
    </div>
    <span>€68</span>
  </div>
</article>
04 / FORMS

Small details, clear choices.

Native labels and validation. This example clears entries after success and never saves or sends them.

Preferred reply

05 / FEEDBACK

Leave nobody guessing.

Use text as well as color. Show a recovery action when a state needs one.

Disclosure: care instructions

Use native details/summary for optional content. Keep the summary descriptive and keyboard-accessible.

Dialogs close with Escape and restore focus to their opener. The header wishlist uses a dropdown with outside-click and focus-leave dismissal.

COMMERCE PATTERN / MERCHANDISING

Price, promotion and availability.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

Midnight canvas sneakers−21%
WEAR / MIDNIGHT

The Everyday Canvas

Original price €68Sale price €54

In stock · choose your size

Explore the sneaker ↗
Sage ceramic cupCurrently unavailable
HOME / SAGE

The Morning Cup

€24

Good things are worth the wait.

Illustrative promotion and stock states. Demo product pages retain their standard prices and availability.

<div class="merch-grid">
  <article class="merch-item"><div class="merch-image"><img src="assets/img/sneaker.webp" alt="Midnight canvas sneakers"><span class="merch-label sale">−21%</span></div><div class="merch-copy"><span class="eyebrow">WEAR / MIDNIGHT</span><h3>The Everyday Canvas</h3><p class="merch-price merch-price-sale"><span class="sr-only">Original price </span><del>€68</del><span class="sr-only">Sale price </span><strong>€54</strong></p><p class="merch-stock">In stock · choose your size</p><a href="product.html?id=canvas">Explore the sneaker ↗</a></div></article>
  <article class="merch-item"><div class="merch-image"><img src="assets/img/tote.webp" alt="Caramel canvas tote"><span class="merch-label">Just landed</span></div><div class="merch-copy"><span class="eyebrow">CARRY / CARAMEL</span><h3>The Take-it-all Tote</h3><p class="merch-price">€48</p><p class="merch-stock">Ready for your everyday</p><a href="product.html?id=tote">Meet your new companion ↗</a></div></article>
  <article class="merch-item"><div class="merch-image"><img src="assets/img/cup.webp" alt="Sage ceramic cup"><span class="merch-label unavailable">Currently unavailable</span></div><div class="merch-copy"><span class="eyebrow">HOME / SAGE</span><h3>The Morning Cup</h3><p class="merch-price">€24</p><p class="merch-stock">Good things are worth the wait.</p><button class="text-button" disabled>Sold out</button></div></article>
</div><p class="kit-caption">Illustrative promotion and stock states. Demo product pages retain their standard prices and availability.</p>
COMMERCE PATTERN / PRODUCT OPTIONS

A choice you can see.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

Size — choose one

Try colour, image and price changes →

<fieldset class="kit-options"><legend>Size — choose one</legend><label><input type="radio" name="kit-size" value="EU 38"> EU 38</label><label><input type="radio" name="kit-size" value="EU 39" checked> EU 39</label><label><input type="radio" name="kit-size" value="EU 40"> EU 40</label><label><input type="radio" name="kit-size" disabled> EU 43 · sold out</label></fieldset><p><a href="product.html?id=canvas">Try colour, image and price changes →</a></p>
COMMERCE PATTERN / CART & DELIVERY

Show the next milestone.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

A LITTLE CLOSER

Good things.
Free delivery.

Add €32 more to unlock free standard delivery.

68%

Calculated after discounts. Standard delivery only.

Find your next everyday favorite ↗
YOUR BAG / EXAMPLE
Midnight canvas sneakers

The Everyday Canvas

Midnight / Ecru · EU 39

1 item · €68
Subtotal
€68
Standard delivery
€5
Total Tax included
€73
View your actual bag
<div class="delivery-example"><div class="delivery-milestone"><span class="eyebrow">A LITTLE CLOSER</span><h3>Good things.<br>Free delivery.</h3><p>Add <strong>€32</strong> more to unlock free standard delivery.</p><label class="delivery-label" for="kit-delivery"><span>Your bag · €68</span><span>€100</span></label><progress id="kit-delivery" value="68" max="100">68%</progress><p class="delivery-footnote">Calculated after discounts. Standard delivery only.</p><a href="shop.html">Find your next everyday favorite ↗</a></div><div class="delivery-summary"><span class="eyebrow">YOUR BAG / EXAMPLE</span><div class="delivery-product"><img src="assets/img/sneaker.webp" alt="Midnight canvas sneakers"><div><h3>The Everyday Canvas</h3><p>Midnight / Ecru · EU 39</p><span>1 item · €68</span></div></div><dl class="kit-totals"><div><dt>Subtotal</dt><dd>€68</dd></div><div><dt>Standard delivery</dt><dd>€5</dd></div><div class="delivery-total"><dt>Total <small>Tax included</small></dt><dd>€73</dd></div></dl><a class="primary" href="cart.html">View your actual bag <span>↗</span></a></div></div>
COMMERCE PATTERN / PRODUCT INFORMATION

Details that adapt to the niche.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

Material
Cotton canvas
Dimensions
38 × 42 cm
Care
Spot clean gently
Gifting & packaging

Example content: present packaging choices and gift-note limits here. Connect fulfillment options in a platform edition.

<dl class="kit-totals"><div><dt>Material</dt><dd>Cotton canvas</dd></div><div><dt>Dimensions</dt><dd>38 × 42 cm</dd></div><div><dt>Care</dt><dd>Spot clean gently</dd></div></dl><details class="catalog-disclosure"><summary>Gifting & packaging</summary><p>Example content: present packaging choices and gift-note limits here. Connect fulfillment options in a platform edition.</p></details>
COMMERCE PATTERN / PRODUCT COMPARISON

Help shoppers weigh their options.

Open the working comparison page ↗ — select up to three products using Compare on product cards.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

Illustrative everyday bags
Feature Tote Pouch
Price €48 €26
Best for Daily carry Small essentials
Explore View tote View pouch
<div class="kit-table"><table><caption>Illustrative everyday bags</caption><thead><tr><th scope="col">Feature</th><th scope="col">Tote</th><th scope="col">Pouch</th></tr></thead><tbody><tr><th scope="row">Price</th><td>€48</td><td>€26</td></tr><tr><th scope="row">Best for</th><td>Daily carry</td><td>Small essentials</td></tr><tr><th scope="row">Explore</th><td><a href="product.html?id=tote">View tote</a></td><td><a href="product.html?id=pouch">View pouch</a></td></tr></tbody></table></div>
COMMERCE PATTERN / REVIEWS & EMPTY STATES

Credible feedback, honest states.

Reusable HTML example. Styling: assets/css/components.css; links use the Vender demo routes.

Illustrative review · fictional customer

★★★★☆

A useful everyday companion.

“Room for the daily essentials, with an easy shape to carry.”

Alex · Example review

No reviews yet

Be the first to share your experience. Reviews require a connected review service.

<article class="kit-review"><span>Illustrative review · fictional customer</span><p aria-label="4 out of 5 stars">★★★★☆</p><h3>A useful everyday companion.</h3><p>“Room for the daily essentials, with an easy shape to carry.”</p><p>Alex · Example review</p></article><div class="catalog-notice"><strong>No reviews yet</strong><p>Be the first to share your experience. Reviews require a connected review service.</p></div>
COMMERCE PATTERN / GIFTING

Make it a little more personal.

HTML and assets/css/components.css for presentation; assets/js/components.js powers this example.

THE FINISHING TOUCH

A good thing to give.

Add a personal note to your everyday essential.

Caramel canvas tote
<form id="kit-gift" class="kit-gift"><div><span class="eyebrow">THE FINISHING TOUCH</span><h3>A good thing to give.</h3><p>Add a personal note to your everyday essential.</p><label class="catalog-choice"><input type="checkbox" name="wrap"> Gift wrap · €4</label><label for="gift-note">Your message <span>(optional, 160 characters)</span></label><textarea id="gift-note" name="note" maxlength="160" rows="3" placeholder="A little something for you…"></textarea><button class="primary" type="submit">Preview gift options ↗</button><p id="gift-status" role="status"></p></div><img src="assets/img/tote.webp" alt="Caramel canvas tote"></form>
COMMERCE PATTERN / BUNDLES

Better together.

HTML and assets/css/components.css for presentation; assets/js/components.js powers this example.

YOUR MORNING RITUAL

A slower start.

Total €46

Uses the local demo bag. Items retain their individual prices; no bundle discount is applied.

<form id="kit-bundle"><span class="eyebrow">YOUR MORNING RITUAL</span><h3 class="bundle-title">A slower start.</h3><div class="bundle-grid"><label><img src="assets/img/cup.webp" alt="Sage ceramic cup"><span><input type="checkbox" name="bundle" value="cup" checked> The Morning Cup <strong>€24</strong></span></label><label><img src="assets/img/bowl.webp" alt="Speckled ceramic bowl"><span><input type="checkbox" name="bundle" value="bowl" checked> The Everyday Bowl <strong>€22</strong></span></label></div><div class="bundle-action"><p>Total <strong id="bundle-total" aria-live="polite">€46</strong></p><button class="primary" type="submit">Add selected to bag ↗</button></div><p id="bundle-status" role="status"></p><p class="kit-caption">Uses the local demo bag. Items retain their individual prices; no bundle discount is applied.</p></form>
COMMERCE PATTERN / AVAILABILITY

Worth coming back for.

HTML and assets/css/components.css for presentation; assets/js/components.js powers this example.

BACK-IN-STOCK NOTIFICATION

Your size. Next time.

The Everyday Canvas · Midnight / Ecru · EU 43

Form preview only. No email is saved or sent, and no notification subscription is created.

<form id="kit-stock" class="stock-example"><span class="eyebrow">BACK-IN-STOCK NOTIFICATION</span><h3>Your size. Next time.</h3><p>The Everyday Canvas · Midnight / Ecru · EU 43</p><label for="stock-email">Email address</label><div class="stock-composer"><input id="stock-email" type="email" required autocomplete="off" placeholder="you@example.com"><button class="primary" type="submit">Notify me ↗</button></div><p id="stock-status" role="status"></p><p class="kit-caption">Form preview only. No email is saved or sent, and no notification subscription is created.</p></form>
COMMERCE PATTERN / COLLECTION NAVIGATION

Find your everyday.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

<div class="collection-tiles"><a href="shop.html?category=Wear"><img src="assets/img/overshirt.webp" alt="Slate overshirt"><span>Wear <b>Easy layers ↗</b></span></a><a href="shop.html?category=Carry"><img src="assets/img/tote.webp" alt="Caramel tote"><span>Carry <b>Take it with you ↗</b></span></a><a href="shop.html?category=Home"><img src="assets/img/cup.webp" alt="Sage cup"><span>Home <b>Small daily rituals ↗</b></span></a></div>
COMMERCE PATTERN / FILTER CONTROLS

Less searching. More finding.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

<form id="kit-filter" class="filter-example"><label>Collection<select name="category"><option value="All">All essentials</option><option>Wear</option><option>Carry</option><option>Home</option></select></label><label>Maximum price<select name="budget"><option value="100">Up to €100</option><option value="50">Up to €50</option><option value="25">Up to €25</option></select></label><button type="reset" class="text-button">Clear filters</button></form><p id="filter-summary" role="status"></p><div id="kit-filter-results" class="product-grid"></div>
COMMERCE PATTERN / PAGINATION

A collection at your pace.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

<div id="kit-page-results" class="product-grid"></div><nav class="kit-pagination" aria-label="Example product pagination"><button type="button" data-kit-page="previous">← Previous</button><div><button type="button" data-kit-page="1" aria-current="page">1</button><button type="button" data-kit-page="2">2</button></div><button type="button" data-kit-page="next">Next →</button></nav><p id="kit-page-status" role="status"></p>
COMMERCE PATTERN / SHIPPING OPTIONS

Choose how it gets there.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

Example €68 basket + delivery€73

Selection updates this example only. Live delivery rates and estimates must come from the commerce platform.

<form id="kit-shipping" class="shipping-options"><label><input type="radio" name="shipping" value="5" checked><span><strong>Standard delivery</strong><small>Illustrative estimate · 3–5 working days</small></span><b>€5</b></label><label><input type="radio" name="shipping" value="12"><span><strong>Express delivery</strong><small>Illustrative estimate · 1–2 working days</small></span><b>€12</b></label><div class="shipping-total"><span>Example €68 basket + delivery</span><strong id="kit-shipping-total" role="status">€73</strong></div><p class="kit-caption">Selection updates this example only. Live delivery rates and estimates must come from the commerce platform.</p></form>
COMMERCE PATTERN / ORDER PROGRESS

Every step, a little clearer.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

EXAMPLE ORDER / VD-1042

On its way to you.

  1. Order confirmed

    Your everyday essentials are reserved.

  2. Packed with care

    Ready for the next part of the journey.

  3. In transit

    Your parcel is on its way. Tracking is a demo.

  4. Delivered

    Still to come.

Explore order tracking ↗
<div class="order-example"><span class="eyebrow">EXAMPLE ORDER / VD-1042</span><h3>On its way to you.</h3><ol class="kit-timeline"><li><span aria-hidden="true">✓</span><div><strong>Order confirmed</strong><p>Your everyday essentials are reserved.</p></div></li><li><span aria-hidden="true">✓</span><div><strong>Packed with care</strong><p>Ready for the next part of the journey.</p></div></li><li aria-current="step"><span aria-hidden="true">3</span><div><strong>In transit</strong><p>Your parcel is on its way. Tracking is a demo.</p></div></li><li><span aria-hidden="true">4</span><div><strong>Delivered</strong><p>Still to come.</p></div></li></ol><a class="text-button" href="tracking.html">Explore order tracking ↗</a></div>
COMMERCE PATTERN / MEMBER PROMOTION

A place for your favorites.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

THE VENDER CLUB

Good things.
A little closer.

Keep your favorites together and make room for what’s next.

Explore the club ↗
  • 01
    Your personal edit

    Save the pieces you keep coming back to.

  • 02
    Every order, together

    A home for purchases and their progress.

  • 03
    Something to look forward to

    Discover the next collection.

Membership benefits are illustrative; no account or subscription is created by this component.

<div class="club-example"><div><span class="eyebrow">THE VENDER CLUB</span><h3>Good things.<br>A little closer.</h3><p>Keep your favorites together and make room for what’s next.</p><a class="primary" href="members-club.html">Explore the club ↗</a></div><ul><li><span>01</span><div><strong>Your personal edit</strong><p>Save the pieces you keep coming back to.</p></div></li><li><span>02</span><div><strong>Every order, together</strong><p>A home for purchases and their progress.</p></div></li><li><span>03</span><div><strong>Something to look forward to</strong><p>Discover the next collection.</p></div></li></ul></div><p class="kit-caption">Membership benefits are illustrative; no account or subscription is created by this component.</p>
COMMERCE PATTERN / EDITORIAL PROMOTION

More than the things we carry.

Styles: components.css. Interactive examples also use assets/js/components.js, assets/js/catalog-data.js and assets/js/store.js with the shared storefront dialogs.

Everyday canvas tote
THE JOURNAL / EVERYDAY LIFE

A bag for the day.
And everything in it.

Small essentials, familiar routines, and a little room for the unexpected.

Read the story ↗
<article class="editorial-example"><img src="assets/img/tote.webp" alt="Everyday canvas tote"><div><span class="eyebrow">THE JOURNAL / EVERYDAY LIFE</span><h3>A bag for the day.<br>And everything in it.</h3><p>Small essentials, familiar routines, and a little room for the unexpected.</p><a href="journal-a-bag-for-the-day.html">Read the story ↗</a></div></article>
COMMERCE PATTERN / SIZE REFERENCE

Find your everyday fit.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

FIT NOTES / CANVAS SNEAKER

A little guidance.
A better fit.

Measure heel to toe while standing. Compare your measurement with the example chart.

Illustrative measurements only. Replace with verified supplier sizing before release.

Example size guide
EU size Foot length
38 24 cm
39 24.5 cm
40 25 cm
41 26 cm
<div class="size-reference"><div><span class="eyebrow">FIT NOTES / CANVAS SNEAKER</span><h3>A little guidance.<br>A better fit.</h3><p>Measure heel to toe while standing. Compare your measurement with the example chart.</p><p class="kit-caption">Illustrative measurements only. Replace with verified supplier sizing before release.</p></div><div class="kit-table"><table><caption>Example size guide</caption><thead><tr><th scope="col">EU size</th><th scope="col">Foot length</th></tr></thead><tbody><tr><th scope="row">38</th><td>24 cm</td></tr><tr><th scope="row">39</th><td>24.5 cm</td></tr><tr><th scope="row">40</th><td>25 cm</td></tr><tr><th scope="row">41</th><td>26 cm</td></tr></tbody></table></div></div>
COMMERCE PATTERN / PRODUCT QUESTIONS

A few things worth knowing.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

How does the canvas sneaker fit?

Open the size guide on the product page to explore the example measurements. A live store should provide verified fit guidance.

How should I care for it?

Gently spot clean the canvas with a damp cloth. These are sample care notes; follow the manufacturer’s instructions for your product.

Can I send this as a gift?

The gifting component previews wrap and a personal note. Fulfillment options require a connected store.

Still wondering? Get in touch ↗
<div class="product-questions"><details open><summary>How does the canvas sneaker fit?</summary><p>Open the size guide on the product page to explore the example measurements. A live store should provide verified fit guidance.</p></details><details><summary>How should I care for it?</summary><p>Gently spot clean the canvas with a damp cloth. These are sample care notes; follow the manufacturer’s instructions for your product.</p></details><details><summary>Can I send this as a gift?</summary><p>The gifting component previews wrap and a personal note. Fulfillment options require a connected store.</p></details><a href="contact.html">Still wondering? Get in touch ↗</a></div>
COMMERCE PATTERN / REVIEW SUMMARY

The everyday verdict.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

ILLUSTRATIVE CUSTOMER RATINGS

4.6/ 5

Based on 20 fictional ratings

<div class="rating-example"><div><span class="eyebrow">ILLUSTRATIVE CUSTOMER RATINGS</span><p class="rating-score">4.6<span>/ 5</span></p><p>Based on 20 fictional ratings</p></div><div class="rating-bars"><label>5 stars <meter min="0" max="20" value="14">14 of 20</meter><span>14</span></label><label>4 stars <meter min="0" max="20" value="4">4 of 20</meter><span>4</span></label><label>3 stars <meter min="0" max="20" value="2">2 of 20</meter><span>2</span></label><label>2 stars <meter min="0" max="20" value="0">0 of 20</meter><span>0</span></label><label>1 star <meter min="0" max="20" value="0">0 of 20</meter><span>0</span></label></div></div>

Write an example review

Local form demonstration. Nothing is published, saved or sent.

<form id="component-review-form" class="catalog-form"><h3>Write an example review</h3><label for="review-rating">Rating<select id="review-rating" required><option value="">Choose a rating</option><option>5 — Excellent</option><option>4 — Good</option><option>3 — Average</option><option>2 — Fair</option><option>1 — Poor</option></select></label><label for="review-title">Review title<input id="review-title" required maxlength="80" autocomplete="off"></label><label for="review-copy">Your review<textarea id="review-copy" required maxlength="1000" rows="4"></textarea></label><button class="primary" type="submit">Preview review →</button><p id="review-form-status" role="status"></p><p class="kit-caption">Local form demonstration. Nothing is published, saved or sent.</p></form><div id="review-form-preview"></div>
COMMERCE PATTERN / RECENTLY VIEWED

Worth another look.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

A sample of previously explored essentials.

Example history is held in this page only. This component does not track your browsing.

<div class="recent-heading"><p>A sample of previously explored essentials.</p><button type="button" id="kit-clear-recent" class="text-button">Clear example history</button></div><div id="kit-recent-products" class="product-grid"></div><p id="kit-recent-status" role="status"></p><button type="button" id="kit-restore-recent" class="text-button" hidden>Restore example items ↗</button><p class="kit-caption">Example history is held in this page only. This component does not track your browsing.</p>
COMMERCE PATTERN / GIFT CARD

Let them find their favorite.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

vender

A little something.
Just for you.

€50GIFT CARD / DESIGN PREVIEW
THE GIFT OF CHOICE

Their kind of good thing.

Choose an amount

€50 selected. Preview only; no gift card is issued.

A native edition needs gift-card issuance, delivery and redemption supplied by the platform or an integration.

<form id="kit-gift-card" class="gift-card-example"><div class="gift-card-art"><span>vender</span><p>A little something.<br>Just for you.</p><strong id="gift-card-face">€50</strong><small>GIFT CARD / DESIGN PREVIEW</small></div><div><span class="eyebrow">THE GIFT OF CHOICE</span><h3>Their kind of good thing.</h3><fieldset class="kit-options"><legend>Choose an amount</legend><label><input type="radio" name="amount" value="25"> €25</label><label><input type="radio" name="amount" value="50" checked> €50</label><label><input type="radio" name="amount" value="100"> €100</label></fieldset><p id="gift-card-status" role="status">€50 selected. Preview only; no gift card is issued.</p><p class="kit-caption">A native edition needs gift-card issuance, delivery and redemption supplied by the platform or an integration.</p></div></form>
COMMERCE PATTERN / COUPON ENTRY

A little extra, taken off.

Styles: components.css. Interactive examples use assets/js/components.js; product cards also require the shared catalog, store scripts and dialogs.

EXAMPLE ORDER / €68 SUBTOTAL

Have a welcome code?

Discount
€0.00
Subtotal after discount
€68.00

Isolated example: WELCOME10 takes 10% off €68. Shipping and taxes are not recalculated here. Your actual bag is unchanged.

<form id="kit-coupon" class="coupon-example"><span class="eyebrow">EXAMPLE ORDER / €68 SUBTOTAL</span><h3>Have a welcome code?</h3><label for="kit-coupon-code">Discount code</label><div class="stock-composer"><input id="kit-coupon-code" name="code" autocomplete="off" placeholder="Try WELCOME10" required><button class="primary" type="submit">Apply code ↗</button></div><p id="kit-coupon-status" role="status"></p><dl class="kit-totals"><div><dt>Discount</dt><dd id="kit-coupon-saving">€0.00</dd></div><div><dt>Subtotal after discount</dt><dd id="kit-coupon-total">€68.00</dd></div></dl><button type="button" id="kit-remove-coupon" class="text-button" hidden>Remove discount</button><p class="kit-caption">Isolated example: WELCOME10 takes 10% off €68. Shipping and taxes are not recalculated here. Your actual bag is unchanged.</p></form>
06 / JOURNEYS

Review the whole experience.

Integration limits and source ownership are documented in CUSTOMIZATION.md and INTEGRATIONS.md alongside these files.

From our door to yoursDelivery information
A little room to decideReturns & exchanges
A real conversationGet in touch
A NOTE FROM VENDER

Good things, in your inbox.

New collections, everyday inspiration. Just the occasional note.

Preview only. Your email won’t be stored or sent.

Shop Vender.

Looking for something?

Open full search ↗

Your bag.

A few good things, ready to go.

Subtotal€0

Local demo bag. Orders and payments are not connected.

View your bag

A closer look.

Your shopping assistant.

Local guided demo, not live AI. Answers use this preview’s products and policies. Messages are not saved or sent.