Kodza

Footer Shop

A shop footer: four promises with icons, a newsletter field whose button rolls to Subscribed, columns that fold on phones, a country and currency menu, the payment methods.

Footer No dependencies footersite footerecommerceshopnewslettercountry selectorcurrencypayment methodsaccordionwoocommerce Added Oct 2026
/anim/footer-shop/ GitHub Fullscreen

With your AI

Just ask.

Say it to your AI. It gets the exact code below, not its best guess, and knows where it goes.

Add the Kodza Footer Shop to my page.

Not plugged in yet?
claude mcp add -t http kodza https://kodza.dev/api/mcp
Also in Codex, Cursor and VS Code.
kodza-footer-shop.html
<footer class="kodza-footer-shop">
  <div class="kodza-footer-shop__inner">
    <ul class="kodza-footer-shop__promises" aria-label="Our promises">
      <li>
        <a class="kodza-footer-shop__promise" href="/returns/">
          <svg class="kodza-footer-shop__icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M9 14L4 9l5-5" /><path d="M4 9h10.5a5.5 5.5 0 0 1 0 11H11" /></svg>
          <span class="kodza-footer-shop__claim">Free returns, 30 days</span>
          <span class="kodza-footer-shop__small">Changed your mind? The label's on us.</span>
        </a>
      </li>
      <li>
        <a class="kodza-footer-shop__promise" href="/shipping/">
          <svg class="kodza-footer-shop__icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M3.5 7.5L12 3l8.5 4.5v9L12 21l-8.5-4.5z" /><path d="M3.5 7.5L12 12l8.5-4.5" /><path d="M12 12v9" /><path d="M7.8 5.3l8.4 4.5" /></svg>
          <span class="kodza-footer-shop__claim">Ships in 48 hours</span>
          <span class="kodza-footer-shop__small">Tracked, from our workshop in Marseille.</span>
        </a>
      </li>
      <li>
        <a class="kodza-footer-shop__promise" href="/payment/">
          <svg class="kodza-footer-shop__icon" viewBox="0 0 24 24" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2" /><path d="M3 10h18" /><path d="M7 15h3" /></svg>
          <span class="kodza-footer-shop__claim">Pay how you like</span>
          <span class="kodza-footer-shop__small">Card, Apple Pay or PayPal. Never stored here.</span>
        </a>
      </li>
      <li>
        <a class="kodza-footer-shop__promise" href="/contact/">
          <svg class="kodza-footer-shop__icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 4a8 8 0 0 1 0 16c-1.3 0-2.6-.3-3.7-.9L4 20l.9-4.3A8 8 0 0 1 12 4z" /><path d="M8.5 12h.01M12 12h.01M15.5 12h.01" /></svg>
          <span class="kodza-footer-shop__claim">A human answers</span>
          <span class="kodza-footer-shop__small">Weekdays, 9 to 6. No bot, no ticket number.</span>
        </a>
      </li>
    </ul>

    <div class="kodza-footer-shop__main">
      <div class="kodza-footer-shop__brand">
        <a class="kodza-footer-shop__logo" href="/" aria-label="Galet, home"><svg viewBox="0 0 24 24" width="22" height="22" aria-hidden="true"><path d="M3 12.5C3 7 7.5 3 13 3s8 3.4 8 7.6C21 15.6 16.6 18 11.4 18 6.4 18 3 16.2 3 12.5z" /></svg><span>galet</span></a>
        <p class="kodza-footer-shop__pitch">Pieces for the table, made to outlast the trend.</p>
        <form class="kodza-footer-shop__form" action="/newsletter/" method="post">
          <div class="kodza-footer-shop__box">
            <label class="kodza-footer-shop__field">
              <input class="kodza-footer-shop__input" type="email" name="email" placeholder=" " autocomplete="email" required data-error="That does not look like an email.">
              <span class="kodza-footer-shop__label">Email</span>
            </label>
            <button class="kodza-footer-shop__send" type="submit" data-sending="Sending" data-sent="Subscribed"><span class="kodza-footer-shop__say"><span>Subscribe</span></span></button>
          </div>
          <p class="kodza-footer-shop__note">
            <span class="kodza-footer-shop__hint">One letter a month. New pieces, no countdowns.</span>
            <span class="kodza-footer-shop__error" aria-live="polite"></span>
            <span class="kodza-footer-shop__done" role="status" data-failed="Couldn't reach the list. Try again in a minute.">Done. Confirm it from your inbox.</span>
          </p>
        </form>
      </div>

      <nav class="kodza-footer-shop__nav" aria-label="Footer">
        <div class="kodza-footer-shop__col">
          <p class="kodza-footer-shop__title">Shop</p>
          <ul class="kodza-footer-shop__links">
            <li><a class="kodza-footer-shop__link" href="/new/">New in</a></li>
            <li><a class="kodza-footer-shop__link" href="/kitchen/">Kitchen</a></li>
            <li><a class="kodza-footer-shop__link" href="/table/">Table</a></li>
            <li><a class="kodza-footer-shop__link" href="/bath/">Bath</a></li>
            <li><a class="kodza-footer-shop__link" href="/linen/">Linen</a></li>
            <li><a class="kodza-footer-shop__link" href="/gift-cards/">Gift cards</a></li>
          </ul>
        </div>
        <div class="kodza-footer-shop__col">
          <p class="kodza-footer-shop__title">Help</p>
          <ul class="kodza-footer-shop__links">
            <li><a class="kodza-footer-shop__link" href="/shipping/">Shipping</a></li>
            <li><a class="kodza-footer-shop__link" href="/returns/">Returns</a></li>
            <li><a class="kodza-footer-shop__link" href="/track/">Track an order</a></li>
            <li><a class="kodza-footer-shop__link" href="/care/">Care guide</a></li>
            <li><a class="kodza-footer-shop__link" href="/contact/">Contact</a></li>
          </ul>
        </div>
        <div class="kodza-footer-shop__col">
          <p class="kodza-footer-shop__title">Galet</p>
          <ul class="kodza-footer-shop__links">
            <li><a class="kodza-footer-shop__link" href="/story/">Our story</a></li>
            <li><a class="kodza-footer-shop__link" href="/makers/">Makers</a></li>
            <li><a class="kodza-footer-shop__link" href="/journal/">Journal</a></li>
            <li><a class="kodza-footer-shop__link" href="/stockists/">Stockists</a></li>
            <li><a class="kodza-footer-shop__link" href="/trade/">Trade</a></li>
          </ul>
        </div>
      </nav>
    </div>

    <div class="kodza-footer-shop__base">
      <div class="kodza-footer-shop__legal">
        <div class="kodza-footer-shop__region">
          <button class="kodza-footer-shop__picker" type="button" aria-expanded="false">
            <svg class="kodza-footer-shop__globe" viewBox="0 0 16 16" aria-hidden="true"><circle cx="8" cy="8" r="6.25" /><path d="M1.75 8h12.5" /><path d="M8 1.75c-2.1 2-2.1 10.5 0 12.5M8 1.75c2.1 2 2.1 10.5 0 12.5" /></svg>
            <span class="kodza-footer-shop__sr">Country and currency: </span>
            <span class="kodza-footer-shop__value">France · EUR €</span>
            <svg class="kodza-footer-shop__chevron" viewBox="0 0 16 16" aria-hidden="true"><path d="M4 10l4-4 4 4" /></svg>
          </button>
          <ul class="kodza-footer-shop__places" aria-label="Country and currency">
            <li><a class="kodza-footer-shop__place" href="/en-fr/" hreflang="en-FR" aria-current="true"><span class="kodza-footer-shop__country">France</span><span class="kodza-footer-shop__currency">EUR €</span></a></li>
            <li><a class="kodza-footer-shop__place" href="/en-be/" hreflang="en-BE"><span class="kodza-footer-shop__country">Belgium</span><span class="kodza-footer-shop__currency">EUR €</span></a></li>
            <li><a class="kodza-footer-shop__place" href="/en-de/" hreflang="en-DE"><span class="kodza-footer-shop__country">Germany</span><span class="kodza-footer-shop__currency">EUR €</span></a></li>
            <li><a class="kodza-footer-shop__place" href="/en-gb/" hreflang="en-GB"><span class="kodza-footer-shop__country">United Kingdom</span><span class="kodza-footer-shop__currency">GBP £</span></a></li>
            <li><a class="kodza-footer-shop__place" href="/en-us/" hreflang="en-US"><span class="kodza-footer-shop__country">United States</span><span class="kodza-footer-shop__currency">USD $</span></a></li>
            <li><a class="kodza-footer-shop__place" href="/en-jp/" hreflang="en-JP"><span class="kodza-footer-shop__country">Japan</span><span class="kodza-footer-shop__currency">JPY ¥</span></a></li>
          </ul>
        </div>
        <p class="kodza-footer-shop__copy">© <span class="kodza-footer-shop__year">2026</span> Galet</p>
        <ul class="kodza-footer-shop__row">
          <li><a class="kodza-footer-shop__link" href="/terms/">Terms</a></li>
          <li><a class="kodza-footer-shop__link" href="/privacy/">Privacy</a></li>
          <li><a class="kodza-footer-shop__link" href="/cookies/">Cookies</a></li>
        </ul>
      </div>
      <ul class="kodza-footer-shop__pay" aria-label="Payment methods">
        <li>Visa</li>
        <li>Mastercard</li>
        <li>Amex</li>
        <li>Apple Pay</li>
        <li>PayPal</li>
      </ul>
    </div>
  </div>
</footer>

Checked

Checked before you paste.

Robots poked at it before you did. Every component goes through the same checks, and again each time it changes.

What ranLast run
Accessibilityaxe-core 4.10.2: the WCAG 2.1 A and AA rules, plus best practices. 0 issues
KeyboardThe Tab key gets there, and the focus ring shows when it does. Passed
Reduced motionTurn on reduced motion and what moved just appears. Nothing loops. Passed
Light and darkThe same checks on both themes, contrast included. Passed
WordPressPasted into Twenty Twenty-Five, Twenty Twenty-One, Astra, Blocksy, GeneratePress, Hello Elementor, Kadence and OceanWP. Nothing to flag. 8 / 8 themes
Robots checked this. A human with VoiceOver hasn't yet.
KeyboardPress them in the preview
In the email field
  • Subscribes, or says what is wrong with the addressEnter
On the country button
  • Opens the list on the current countryEnter/Space/↓
  • Opens the list on the last country↑
In the country list
  • Next or previous country, round the end↓/↑
  • First or last countryHome/End
  • Jumps to the next country starting with that letterA–Z
  • Goes to that country's storeEnter
  • Closes the list and moves onTab
While the country list is open
  • Closes it, focus back on the buttonEsc
On a column title, on a phone
  • Unfolds its links, or folds them backEnter/Space

More like this

More in Footer