# Kerbs Theme Source: https://kart.bnomei.com/docs/kerbs-theme Updated: 2026-02-20T12:54:37+00:00 Summary: Kerbs is a Svelte5 shop frontend for Kirby Kart with Pico.css styling, CSS-based theme tweaks, layouts/blocks support, SEO-ready, easy setup. ## Stylable but not customizable The Kirby Kart plugin includes a hardwired, JavaScript-based shop frontend called **Kerbs**. It is built with [Svelte 5](https://svelte.dev) and interfaces with the underlying Kart plugin through an [Inertia.js](https://inertiajs.com) adapter. This setup greatly simplifies using Kirby as a headless CMS with stateful PHP sessions. It uses [unlazy by Johann Schopplich](https://unlazy.byjohann.dev) to load images lazily. The theme's styling is based on [Pico.css](https://picocss.com), allowing you to modify fonts, colours, and other design aspects through CSS. On any template, you can choose not to use the theme and instead utilise Kirby directly, allowing you to pick features from the theme if desired, selectively. You can take a look at the [Kerbs theme preview here](https://kerbs.bnomei.com). **To summarise: You can select when to use the theme and how it looks, but you can not change the layout of the theme itself. However, you can use layouts and blocks on a few templates.** ## Setup You will need to copy a few folders and files from the plugins folder into the root of your project. Some of them might overwrite files from the [PHP-based setup](https://kart.bnomei.com/docs/setup/prefabs). - Copy `blueprints-kerbs/pages/default.yml` into `site/blueprints/pages`, which will allow pages with the `default` template to be rendered by Kerbs - Copy all files in `templates-kerbs` into `site/templates`, which will make the theme render for each respective template - Copy the `snippets/kerbs/layout.php` from the plugins folder as `site/snippets/kerbs/layout.php`, which will allow you to apply custom styles and optimise SEO - Create content files for cart and account at `content/cart/cart.txt` and `content/account/account.txt` ## Kerbs As you might have noticed when copying the templates for Kerbs, all of them only have a single line of code: `language()?->code() ?? 'en' ?>">
= css('assets/css/pico.pumpkin.min.css') ?> = css('@auto') ?> = js('@auto') ?> option('turnstile.sitekey')) { ?> = $slot ?>