Skip to contentZum Inhalt springen
Anton Doll Holzmanufaktur Anton Doll Holzmanufaktur Grain System

HomeStart

Grain System is the design system for Anton Doll Holzmanufaktur: a single source of truth, monochrome (black/white), for the full e-commerce rebuild, built on the real antondoll.de catalog (104 products, 10 collections, 444 images). Foundations approved in black and white before introducing any accent color. Showcase architecture ported from Virtual Stripes (Zebra): accordion sidebar, numbered specimens, detail drawer, light/dark theme, keyboard shortcuts.Grain System ist das Design System von Anton Doll Holzmanufaktur: eine einzige verbindliche Quelle, monochrom (schwarz/weiß), für den kompletten E-Commerce-Neuaufbau auf Basis des echten antondoll.de-Katalogs (104 Produkte, 10 Kollektionen, 444 Bilder). Grundlagen in Schwarz-Weiß freigegeben, bevor eine Akzentfarbe eingeführt wird. Die Showcase-Architektur stammt von Virtual Stripes (Zebra): Sidebar mit Akkordeon, nummerierte Specimens, Detail-Drawer, Hell-/Dunkel-Modus, Tastaturkürzel.

Grain System documenta cada fundación y componente usado para reconstruir antondoll.de , tienda Shopify alemana de muebles y tablas de madera maciza hechos a mano, con mejor UI/UX. Fundaciones aprobadas en blanco y negro (PCB R34) antes de introducir cualquier acento de color.

104 productos · 10 colecciones · 444 imágenes scrapeadas vía la API JSON de Shopify. Navega con /, cambia tema con t.

01 HomeStart
The introduction to the Grain SystemDie Vorstellung des Grain System

ColorFarbe

Monochrome system: accent = black (#0A0A0A), never pure #000. The ink ramp runs from 50 to 900. ink-500 is the minimum legible as text (AA). Reserved for once the client approves a brand accent: today hierarchy is built with type, weight and spacing alone (PCB R34).Monochromes System: Akzent = Schwarz (#0A0A0A), niemals reines #000. Die Ink-Rampe reicht von 50 bis 900. ink-500 ist das Minimum für lesbaren Text (AA). Reserviert für den Moment, in dem der Kunde eine Markenakzentfarbe freigibt: heute entsteht Hierarchie ausschließlich über Typografie, Schriftgewicht und Abstand (PCB R34).

ink
#0A0A0A
ink-900
#171717
ink-700
#262626
ink-500
#737373 · 4.74:1
ink-400
#A3A3A3 · 2.90:1 · no-texto
ink-300
#CBD5E1
ink-200
#E5E5E5
ink-100
#F5F7FA
ink-50
#F9FAFB
white
#FFFFFF
ink
#FFFFFF
ink-900
#F5F5F5
ink-700
#E5E5E5
ink-500
#A3A3A3 · 4.69:1
ink-400
#737373 · 2.85:1 · no-texto
ink-300
#404040
ink-200
#2E2E2E
ink-100
#222222
ink-50
#1A1A1A
bg
#0A0A0A

Rampa invertida en dark: los neutros se aclaran al subir el número (espejo de la light) para mantener legibilidad sobre el fondo oscuro.

02 ColorFarbe
Monochrome ink ramp, near-black/near-whiteMonochrome Ink-Rampe, near-black/near-white
roble
#C8A876 · referencia de madera clara
nogal
#5B4536 · referencia de madera oscura
Referencia de madera
Roble y nogal · solo referencia fotográfica, no token de UI
star
#E0A500 · estrella llena · light
star-empty
#E5E5E5 · resto de la escala · light
star
#F2B900 · estrella llena · dark
★★★★★

La única excepción al monocromo: las estrellas de rating usan mostaza para destacar la prueba social. La escala vacía va en gris (star-empty), nunca mostaza tenue.

Acento de rating
Amarillo mostaza · único color del sistema · var(--star)

TypographyTypografie

A single family (Inter) for everything: UI, headings and product body copy. Body at 16px for long product descriptions (readability), UI chrome at 15px. text-wrap:balance on headings and pretty on paragraphs, applied globally instead of per element.Eine einzige Schriftfamilie (Inter) für alles: UI, Überschriften und Produkttext. Fließtext in 16px für lange Produktbeschreibungen (Lesbarkeit), UI-Chrome in 15px. text-wrap:balance auf Überschriften und pretty auf Absätzen, global statt pro Element gesetzt.

Figtree · Sans
Aa
ABCDEFG abcdefg
Única familia: cuerpo, encabezados, nav y botones. Marca monocromática, sin serif editorial por ahora.
Anton Doll Holzmanufaktur .eyebrow · 11px · 600 · 0.18em
Holzmanufaktur text-display · 56px · 500
Tablas de hornear en roble macizo text-h1 · 40px · 500
Tabla »Berta«, hecha a mano text-h2 · 28px · 500
Cada tabla se trabaja a mano en roble o nogal macizo, se trata con aceite certificado apto para alimentos y es apta para lavavajillas, pensada para durar generaciones. text-base · 16px · 400
Envío en 3-5 días hábiles · Alemania text-xs · 12px · 500
€199 Tabla »Berta« 55×50cm
104 Productos en catálogo
7 Colecciones
03 TypographyTypografie
Inter + display→caption scale, global text-wrapInter + Skala Display→Caption, globales text-wrap
text-display clamp(2.25rem, 4vw + 1rem, 3.5rem) · lh 1.08
Grain System
text-h1 clamp(1.75rem, 2.5vw + 1rem, 2.5rem) · lh 1.15
Muebles y tablas en madera maciza
text-h2 clamp(1.4rem, 1.4vw + 1rem, 1.75rem) · lh 1.2
Colecciones
text-base 16px · lh 1.6
Cuerpo de descripción de producto · 16px (desviación de marca)
text-sm 14px · lh 1.55
UI chrome: nav, labels, botones
text-xs 12px · lh 1.5
Caption, metadatos, precios secundarios
Escala tipográfica
tokens fontSize · tamaño y line-height reales

balance evita líneas huérfanas en encabezados largos de varias palabras

pretty se aplica a todos los párrafos del sitio, incluidas las descripciones largas de producto, para evitar viudas: la última línea nunca queda con una sola palabra suelta.

text-wrap
balance en headings · pretty en párrafos (global)

SpacingAbstände

All spacing lives in multiples of 4px: 4/8/12/16/24/32/48/64/96. Main container max-width 1280px. Cards: 32px padding compact, 40px feature. Product grids: 20-24px gap.Alle Abstände folgen Vielfachen von 4px: 4/8/12/16/24/32/48/64/96. Haupt-Container max-width 1280px. Cards: 32px Padding kompakt, 40px bei Feature-Cards. Produktraster: 20-24px Abstand.

4
8
12
16
24
32
48
64
96
04 SpacingAbstände
4px scale, section rhythm, 1280px container4px-Skala, Abschnittsrhythmus, Container 1280px
container-x · max-width 1280px
Tabla 55×50
Tabla 60×50
Tabla 60×60
gap: 20px
Container y grid de producto
max-width 1280px · gap 20-24px entre cards

RadiusRadius

"Very subtle" scale (same anatomy as Virtual Stripes): chip 6px, control 8px, input and button 10px, card 12px, pill 999px only for genuinely circular elements or status capsules. Concentric radii where nested (PCB R63)."Sehr dezente" Skala (gleiche Anatomie wie Virtual Stripes): Chip 6px, Control 8px, Input und Button 10px, Card 12px, Pill 999px nur für wirklich runde Elemente oder Status-Kapseln. Konzentrische Radien bei Verschachtelung (PCB R63).

chip 6px · tags de filtro
control 8px · checkbox/radio
input 10px · campos de texto
btn 10px · botones
card 12px · cards de producto
pill 999px · badges, toggle
05 RadiusRadius
chip 6, control 8, input/btn 10, card 12chip 6, control 8, input/btn 10, card 12
Radios concéntricos
card 12px con botón 10px anidado

ShadowsSchatten

5-level scale: sm (subtle cards), md (dropdowns), lg (modals), xl (drawers), 2xl (critical floating elements). Every token is layered: the first layer 0 0 0 1px mimics the border and adapts to any background; the rest add depth with vertical offset and blur ~2x distance. In dark mode the border layer is faint white and depth is dampened.5-stufige Skala: sm (dezente Cards), md (Dropdowns), lg (Modals), xl (Drawer), 2xl (kritische schwebende Elemente). Jedes Token ist mehrschichtig: die erste Schicht 0 0 0 1px imitiert den Rand und passt sich jedem Hintergrund an; die weiteren Schichten addieren Tiefe mit vertikalem Versatz und ~2x Distanz-Blur. Im Dark Mode ist die Randschicht schwach weiß, die Tiefe wird gedämpft.

sm
cards de producto
md
dropdowns
lg
modales
xl
drawers
2xl
toasts flotantes

sm como reposo por defecto · subir un nivel completo por salto de elevación

06 ShadowsSchatten
sm/md/lg/xl/2xl, layered per elevationsm/md/lg/xl/2xl, mehrschichtig pro Ebene
border · card producto
shadow-md · dropdown
Card de producto: border, no sombra
Consistencia con el material: sin elevación flotante

MotionBewegung

One easing for everything: cubic-bezier(0.16, 1, 0.3, 1). Reveals last 0.8s with 0.08s stagger, card-lift 0.5s, img-zoom 0.9s. The scroll observer always runs; under prefers-reduced-motion movement is disabled but content is never left invisible (opacity:1 is forced).Ein einziges Easing für alles: cubic-bezier(0.16, 1, 0.3, 1). Reveals dauern 0,8s mit 0,08s Staffelung, card-lift 0,5s, img-zoom 0,9s. Der Scroll-Observer läuft immer; unter prefers-reduced-motion wird die Bewegung deaktiviert, aber Inhalt bleibt nie unsichtbar (opacity:1 wird erzwungen).

reveal Tabla »Berta« en roble
07 MotionBewegung
Single ease-out-expo easing, reduced-motion safeEin einziges Easing ease-out-expo, reduced-motion-sicher
.reveal 0.8s opacity + translateY(24px) · stagger 0.08s
.card-lift 0.5s shadow swap + lift en hover de card de producto
.img-zoom 0.9s scale(1.06) en galería de producto
.toast-in 0.3s entrada de confirmación "Agregado al carrito"
Tabla de duraciones
reveals · card-lift · img-zoom · toast
@media (prefers-reduced-motion: reduce)

Desactiva shimmer de skeletons, img-zoom y el movimiento de reveals/card-lift. Los reveals fuerzan opacity:1; transform:none, así el catálogo nunca queda invisible para quien pidió menos movimiento.

Reduced motion
Contenido siempre visible · sin loops

IconsIcons

Inline linear icon library: viewBox 24×24, fill none, stroke currentColor, stroke-width 2, aria-hidden. Icon container: bg-ink-50/text-ink at rest, inverts to bg-ink/text-white on group hover (used for product benefits: solid wood, handmade, antibacterial).Inline-Icon-Bibliothek im linearen Stil: viewBox 24×24, fill none, stroke currentColor, stroke-width 2, aria-hidden. Icon-Container: bg-ink-50/text-ink im Ruhezustand, kehrt sich bei Gruppen-Hover zu bg-ink/text-white um (genutzt für Produktvorteile: Massivholz, handgefertigt, antibakteriell).

Madera maciza
Hecho a mano
Antibacteriano
Envío
Devolución
Carrito
Pago seguro
Reseña
Buscar
Favoritos
08 IconsIcons
Linear set, stroke 2, currentColor, 24×24Lineares Set, Stroke 2, currentColor, 24×24
reposo
hover (grupo)
Contenedor de icono
bg-ink-50/text-ink en reposo → invierte en hover del grupo de beneficios

ButtonsButtons

Three hierarchies: primary (black, 10px radius), ghost (ink-200 border), animated underline link. 5 mandatory states: normal, hover, focus-visible, active, disabled + loading. Weight 500, never 700. Used for "Add to cart" (primary) and "View details" (ghost).Drei Hierarchien: Primary (schwarz, 10px Radius), Ghost (ink-200-Rand), animierter unterstrichener Link. 5 Pflichtzustände: normal, hover, focus-visible, active, disabled + loading. Schriftgewicht 500, nie 700. Verwendet für "In den Warenkorb" (primary) und "Details ansehen" (ghost).

09 ButtonsButtons
Primary, ghost, link, 5 mandatory statesPrimary, Ghost, Link, 5 Pflichtzustände
Ghost
.btn-ghost · borde ink-200, fondo superficie
bg gray-900 · lift 1px
anillo doble 2px + 4px
.btn-spinner · dentro del botón
opacity .45 · sin pointer
Estados
hover · active · focus-visible · disabled · loading

Text inputsTexteingaben

Label always above the field (never placeholder-as-label). ink-200 border at rest, ink-300 on hover, ink + 2px ring on focus. Validate on blur, not on every keystroke. Persistent error with message and color, never border color alone.Label immer oberhalb des Feldes (nie Placeholder als Label). ink-200-Rand im Ruhezustand, ink-300 bei Hover, ink + 2px Ring bei Fokus. Validierung beim Verlassen des Feldes (blur), nicht bei jedem Tastendruck. Dauerhafter Fehler mit Meldung und Farbe, nie nur über die Randfarbe.

Estado de foco: borde accent + anillo fino de 1px.
10 Text inputsTexteingaben
Label above, inline validation on blurLabel oberhalb, Inline-Validierung beim Verlassen
Lo no obligatorio se marca, no lo obligatorio.
Campo opcional
patrón "(opcional)" en el label
Escribe un correo válido.
Estado error
borde + mensaje #B91C1C · validado en blur
Textarea
mismo lenguaje · alto fijo · resize vertical

Variant selectorVariantenauswahl

For product size/dimension (e.g. 55×50cm, 60×60cm on the "Berta" board): buttons that expose every option at once, not a select element. Reduces cognitive effort (Baymard/Polaris) and lets sold-out variants show struck through instead of hidden, avoiding the false impression of a smaller catalog.Für Produktgröße/-maß (z. B. 55×50cm, 60×60cm beim Brett "Berta"): Buttons, die alle Optionen sofort zeigen, kein Select-Element. Reduziert kognitiven Aufwand (Baymard/Polaris) und zeigt ausverkaufte Varianten durchgestrichen statt versteckt, ohne den falschen Eindruck eines kleineren Katalogs zu erwecken.

Tamaño
62×52cm agotado: visible y tachado, no oculto.
11 Variant selectorVariantenauswahl
Buttons, never a dropdown, sold out shown struck throughButtons, nie ein Dropdown, ausverkauft sichtbar durchgestrichen
Madera
Un solo grupo abierto claramente marca la selección activa.
Madera
segunda dimensión de variante, mismo patrón

Checkbox / RadioCheckbox / Radio

Square 18px checkbox with a 44px hit area; equivalent circular radio. Checked state is communicated by shape (check/dot) and color, never by a tone change alone that would fail for colorblind users.Quadratische 18px-Checkbox mit 44px Trefferfläche; entsprechendes rundes Radio. Der markierte Zustand wird über Form (Haken/Punkt) und Farbe kommuniziert, nie nur über einen Tonwechsel, der für farbenblinde Nutzer unsichtbar wäre.

Antes de finalizar tu pedido
12 Checkbox / RadioCheckbox / Radio
44px target, state via shape + color, not color alone44px Zielfläche, Zustand über Form + Farbe, nicht nur Farbe
Método de envío
Radio
circular · hit-area 44px · punto ink al marcar

Toggle / SwitchToggle / Switch

For immediate binary preferences (e.g. "Newsletter for new collections"). Unlike a checkbox, the state change applies instantly with no save button. Track ink-200 to ink when on, white thumb with a subtle shadow.Für sofortige binäre Einstellungen (z. B. "Newsletter für neue Kollektionen"). Anders als bei einer Checkbox greift die Zustandsänderung sofort, ohne Speichern-Button. Track ink-200 zu ink bei "an", weißer Thumb mit dezentem Schatten.

13 Toggle / SwitchToggle / Switch
Immediate on/off, no confirmationSofortiges An/Aus, ohne Bestätigung

BadgeBadge

Short, non-interactive labels: "Last 2 left", "New", "Handmade". When several compete, a fixed precedence order applies: active offer, then low stock, then new, showing only the highest-ranked one per card so they do not compete for attention.Kurze, nicht-interaktive Labels: "Nur noch 2 Stück", "Neu", "Handgefertigt". Konkurrieren mehrere, gilt eine feste Rangfolge: aktives Angebot, dann geringer Bestand, dann neu, sodass pro Card nur das ranghöchste gezeigt wird und keine Aufmerksamkeitskonkurrenz entsteht.

Nuevo Hecho a mano Roble macizo
14 BadgeBadge
Product status, 1-2 words, decorativeProduktstatus, 1-2 Wörter, dekorativ
Últimas 2 piezas
Badge, énfasis
.badge.badge--ink · ink lleno, texto blanco

Tag / ChipTag / Chip

Unlike a badge, the tag is interactive: active catalog filters (e.g. "Oak", "Walnut", "Size M") that can be removed with an X. Used in the collection filter bar.Anders als ein Badge ist der Tag interaktiv: aktive Katalogfilter (z. B. "Eiche", "Nussbaum", "Größe M"), die per X entfernt werden können. Verwendet in der Filterleiste der Kollektion.

Roble Nogal Mesas Tamaño M
15 Tag / ChipTag / Chip
Catalog filter, removableKatalogfilter, entfernbar
Nogal Tamaño M
Tag removible
botón con aria-label · equis ink

Alert / BannerAlert / Banner

Page- or section-level message blocks: subscription confirmation, low-stock notice, contact form error. Always icon plus text plus color; semantics never rely on tone alone for those who cannot distinguish colors.Nachrichtenblöcke auf Seiten- oder Abschnittsebene: Abo-Bestätigung, Hinweis auf geringen Bestand, Fehler im Kontaktformular. Immer Icon plus Text plus Farbe; die Bedeutung hängt nie allein vom Farbton ab.

Aviso
Los tamaños a medida ("Individuelle Größe") tardan aprox. 3 meses en producción.
Alert Info
status · var(--vs-text)
Pedido confirmado
Tu tabla »Berta« en roble entra a producción hoy mismo.
Alert Éxito
status · #15803d
Stock bajo
Quedan 2 piezas de este tamaño en inventario.
Alert Atención
status · #d97706
No pudimos procesar el pago
Revisa los datos de tu tarjeta e intenta de nuevo.
Alert Error
alert · #B91C1C

TooltipTooltip

Appears on hover/focus over a technical catalog term (e.g. "certified oil", "antibacterial from tannic acid") without needing to navigate elsewhere. Must be keyboard-accessible (focus), not mouse-only.Erscheint bei Hover/Fokus über einem technischen Katalogbegriff (z. B. "zertifiziertes Öl", "antibakteriell durch Gerbsäure"), ohne zu einer anderen Seite navigieren zu müssen. Muss per Tastatur (Fokus) erreichbar sein, nicht nur per Maus.

Cumple normativa UE para superficies en contacto directo con comida.
17 TooltipTooltip
Clarifies terms like "certified oil"Erklärt Begriffe wie "zertifiziertes Öl"

Progress barFortschrittsbalken

Determinate bar for processes with known steps: order shipping progress, multi-step contact form. Never indeterminate when real progress is knowable.Bestimmter Balken für Prozesse mit bekannten Schritten: Versandfortschritt der Bestellung, mehrstufiges Kontaktformular. Nie unbestimmt, wenn der reale Fortschritt bekannt ist.

Pedido »Berta«, en producción 60%
Formulario de encargo a medida Paso 2 de 3
18 Progress barFortschrittsbalken
Shipping progress, multi-step formVersandfortschritt, mehrstufiges Formular

SpinnerSpinner

For short waits with no knowable progress (form submit, add to cart). Lives inside the button that triggered it, never as a full-page overlay for quick actions.Für kurze Wartezeiten ohne bekannten Fortschritt (Formular senden, in den Warenkorb legen). Lebt innerhalb des auslösenden Buttons, nie als ganzseitiges Overlay für schnelle Aktionen.

19 SpinnerSpinner
Short, indeterminate load, inside the buttonKurzes, unbestimmtes Laden, innerhalb des Buttons
Cargando
Procesando pago
Autónomo
ring ink · dos tamaños · role=status

SkeletonSkeleton

Loading placeholder for product grids and gallery images while the Shopify CDN delivers the real asset. Subtle shimmer, disabled under reduced-motion (shown static instead).Lade-Platzhalter für Produktraster und Galeriebilder, während das Shopify-CDN das echte Asset liefert. Dezentes Shimmer, deaktiviert unter reduced-motion (dann statisch dargestellt).

20 SkeletonSkeleton
Shimmer while product images loadShimmer während Produktbilder laden
Reseña
avatar circular + líneas de texto

Avatar / InitialsAvatar / Initialen

Circle with initials or photo for product reviews ("Verified purchase, M.K."). Falls back to initials on an ink-50 background when no photo is available.Kreis mit Initialen oder Foto für Produktbewertungen ("Verifizierter Kauf, M.K."). Fällt auf Initialen vor ink-50-Hintergrund zurück, wenn kein Foto vorliegt.

Foto de perfil de cliente verificado
21 Avatar / InitialsAvatar / Initialen
Customer reviewsKundenbewertungen
+128
Avatar group
apilados · borde de superficie · contador +N

DividerDivider

Dividing line, always 1px. Emphasis state is communicated by color (ink-300 instead of ink-200), never by thickness: thickening causes layout shift and looks heavy.Trennlinie, immer 1px. Der Betonungszustand wird über Farbe kommuniziert (ink-300 statt ink-200), nie über Dicke: eine dickere Linie verursacht einen Layout-Sprung und wirkt schwer.


o
22 DividerDivider
1px hairline, never thicker1px Haarlinie, nie dicker
Entre secciones, ink-200
Cierre de especificaciones, ink-300
Énfasis
1px, mismo grosor · color ink-300, no ink-200

Product cardProduktkarte

Fixed order following the decision process: image (evaluate), name (identify), price (decide), CTA (act). Rating/availability are secondary metadata. ink-200 border plus flat background, no floating shadow, more consistent with the material than a soft elevation.Feste Reihenfolge entlang des Entscheidungsprozesses: Bild (bewerten), Name (identifizieren), Preis (entscheiden), CTA (handeln). Bewertung/Verfügbarkeit sind sekundäre Metadaten. ink-200-Rand plus flacher Hintergrund, kein schwebender Schatten, passender zum Material als eine weiche Erhebung.

Tabla »Berta« sobre encimera Últimas 2 piezas

Tabla »Berta« 62×52cm

€380
Card compacta de grid
4 tamaños reales · badge de stock bajo

TabsTabs

Alternative to the accordion when 2-4 sections must all appear simultaneously available without collapsing: "Specifications", "Care", "Shipping & returns" on the product page. Roving tabindex, only one tab with tabindex=0.Alternative zum Accordion, wenn 2-4 Abschnitte gleichzeitig verfügbar bleiben sollen, ohne einzuklappen: "Spezifikationen", "Pflege", "Versand & Rückgabe" auf der Produktseite. Roving Tabindex, nur ein Tab mit tabindex=0.

Roble macizo, aceite de linaza con cera dura certificado apto para alimentos. Canto tope reversible, uso en ambas caras. Tamaños: 55×50cm, 60×50cm, 60×60cm, 62×52cm.

24 TabsTabs
Specifications, Care, Shipping on the PDPSpezifikationen, Pflege, Versand auf der PDP

AccordionAccordion

Used on the FAQ page (wood care, shipping, returns) and for collapsible product details. Exclusive: opening one item closes the previous one, avoiding long cognitive scroll.Verwendet auf der FAQ-Seite (Holzpflege, Versand, Rückgabe) und für einklappbare Produktdetails. Exklusiv: Das Öffnen eines Punkts schließt den vorherigen, das vermeidet langes kognitives Scrollen.

  • Lava a mano y seca de inmediato; nunca en el lavavajillas. Trata la superficie periódicamente con un aceite certificado apto para alimentos para mantener la protección natural de la madera.
  • 2-4 días hábiles para piezas en stock. Los tamaños a medida tardan aproximadamente 3 meses en fabricarse antes de enviarse.
  • No. Los productos hechos a medida no admiten devolución. Los tamaños estándar sí, dentro de un plazo de 30 días.
25 AccordionAccordion
Exclusive FAQ, one item open at a timeExklusives FAQ, immer nur ein Punkt geöffnet

PaginationPaginierung

For collections with more products than fit on one screen. Numbers plus previous/next, with the current state announced to screen readers.Für Kollektionen mit mehr Produkten, als auf einen Bildschirm passen. Nummern plus Zurück/Weiter, aktueller Zustand wird Screenreadern mitgeteilt.

27 PaginationPaginierung
Collection grids with 20+ productsKollektionsraster mit 20+ Produkten

TableTabelle

For real tabular data: board dimension guide by size, oak vs. walnut comparison (hardness, tone, price). Numbers right-aligned, tabular-nums.Für echte tabellarische Daten: Maßtabelle der Bretter nach Größe, Vergleich Eiche vs. Nussbaum (Härte, Farbton, Preis). Zahlen rechtsbündig, tabular-nums.

Tamaños disponibles de la tabla de hornear y pasta »Berta« en roble macizo
Tamaño Material Precio
55×50cm Roble macizo €199
60×50cm Roble macizo €310
60×60cm Roble macizo €320
62×52cm Roble macizo €380
29 TableTabelle
Size guide, wood comparisonGrößentabelle, Holzvergleich
Madera Dureza (Janka) Tono Desde
Roble 6.0 kN Claro, veta marcada €199
Nogal 4.5 kN Oscuro, veta fina €249
Comparativa de maderas
Roble vs. nogal · dureza, tono, precio

ToastToast

Brief, non-blocking confirmation after adding a product to the cart or submitting the contact form. Auto-dismiss after 5s, with a manual close option.Kurze, nicht blockierende Bestätigung nach dem Hinzufügen eines Produkts zum Warenkorb oder dem Absenden des Kontaktformulars. Automatisches Ausblenden nach 5s, mit manueller Schließoption.

Añadido al carrito: Tabla »Berta« 55×50cm
31 ToastToast
"Added to cart" confirmationBestätigung "In den Warenkorb gelegt"
Tu mensaje fue enviado. Te responderemos en 1-2 días hábiles.
Confirmación de formulario
Envío de contacto exitoso

Empty stateEmpty State

For filtered collections with no results or an empty cart. Illustration/icon plus clear message plus recovery action ("View all products", "Browse collections").Für gefilterte Kollektionen ohne Treffer oder einen leeren Warenkorb. Illustration/Icon plus klare Nachricht plus Recovery-Aktion ("Alle Produkte ansehen", "Kollektionen durchsuchen").

No encontramos productos con estos filtros

Prueba a quitar algún filtro de madera o tamaño. Tenemos más de 100 productos en 7 colecciones.

33 Empty stateEmpty State
No results in a collection, empty cartKeine Treffer in einer Kollektion, leerer Warenkorb

Tu carrito está vacío

Explora nuestras tablas de madera maciza, mesas y bancos hechos a mano.

Carrito vacío
mismo patrón: icono + mensaje + CTA de recuperación

Step indicatorSchrittanzeige

Visible progress in the checkout flow for a store with a custom-size configurator: cart, shipping details, payment, confirmation. Reduces anxiety by showing how many steps remain.Sichtbarer Fortschritt im Checkout-Ablauf für einen Shop mit Maßkonfigurator: Warenkorb, Versanddaten, Zahlung, Bestätigung. Reduziert Unsicherheit, indem gezeigt wird, wie viele Schritte noch fehlen.

  1. Carrito
  2. Envío
  3. Pago
  4. Confirmación
34 Step indicatorSchrittanzeige
Checkout: cart, shipping, payment, confirmationCheckout: Warenkorb, Versand, Zahlung, Bestätigung

Mobile menuMobiles Menü

On mobile viewports, the navbar collapses into a full-screen overlay menu with the same collections, language, and account/cart access. Closes with X, click outside, or Escape.Auf mobilen Viewports klappt die Navbar zu einem Vollbild-Overlay-Menü mit denselben Kollektionen, Sprache und Konto-/Warenkorbzugriff zusammen. Schließt mit X, Klick außerhalb oder Escape.

  • 01 Mesas
  • 02 Tablas de corte
  • 03 Banquillos
  • 04 Bancos
  • 05 Estantes
  • 06 B-Ware
  • 07 Sale
DEENFR
Explorar catálogo
42 Mobile menuMobiles Menü
Full-screen overlay, collections + languageVollbild-Overlay, Kollektionen + Sprache
Hamburguesa 44px
objetivo táctil · muta a equis

PricePreis

Price is the most decisive data point on the PDP: largest size, heaviest weight, close to the CTA. "From €199" before choosing a variant (board size), exact price after selection. tabular-nums so digits do not jitter when switching variants.Der Preis ist der entscheidendste Wert auf der PDP: größte Schrift, höchstes Gewicht, nah am CTA. "Ab 199 €" vor der Variantenwahl (Brettgröße), exakter Preis nach der Auswahl. tabular-nums, damit Ziffern beim Variantenwechsel nicht springen.

Desde €199,00 55×50cm · el resto de tamaños hasta €380
Precio 'Desde' (sin variante elegida)
tamaño más económico · antes de seleccionar
60×60cm €320,00 Impuestos incluidos · envío calculado en el checkout
Precio exacto (variante seleccionada)
tabular-nums · sin salto de layout al cambiar

PDP above the foldPDP above the fold

These five elements must be visible without scrolling: name, price, variant selector, availability, buy button. Anything additional (long description, reviews, shipping) comes after.Diese fünf Elemente müssen ohne Scrollen sichtbar sein: Name, Preis, Variantenauswahl, Verfügbarkeit, Kaufbutton. Alles Zusätzliche (lange Beschreibung, Bewertungen, Versand) folgt danach.

Tabla de hornear »Tante Berta« en roble macizo

Tabla de hornear y pasta »Tante Berta«, roble macizo

4.8 · 126 reseñas
€199,00 Últimas 3 piezas
37 PDP above the foldPDP above the fold
Name, price, variant, stock, CTA, no scrollName, Preis, Variante, Bestand, CTA, ohne Scrollen

Sticky add-to-cart bar (mobile)Sticky-Warenkorb-Leiste (Mobile)

On mobile, the "Add to cart" button leaves the viewport within seconds. A sticky bottom bar (thumbnail, short name, price, CTA) appears once the original fold is crossed, keeping purchase intent alive while reading description/reviews.Auf Mobilgeräten verlässt der "In den Warenkorb"-Button den Viewport innerhalb von Sekunden. Eine fixierte untere Leiste (Miniaturbild, Kurzname, Preis, CTA) erscheint, sobald der ursprüngliche Fold überschritten wird, und hält die Kaufabsicht beim Lesen von Beschreibung/Bewertungen aufrecht.

Estado oculto (dentro del fold)
no aparece hasta cruzar el hero del producto
Tante Berta €199,00
Estado visible (tras el fold)
thumb + nombre + precio + CTA · fixed bottom

Product reviewsProduktbewertungen

The average rating sits immediately below the product name, visible from the very first moment. Buyer photos build more trust than text-only reviews; filterable by star rating.Die Durchschnittsbewertung steht direkt unter dem Produktnamen, vom ersten Moment an sichtbar. Käuferfotos schaffen mehr Vertrauen als reine Textbewertungen; filterbar nach Sternebewertung.

4.8
126 reseñas
MK
M.K. Compra verificada

"La calidad es excelente, se nota el trabajo artesanal."

39 Product reviewsProduktbewertungen
Anchor below the name, buyer photos, filterableAnker unter dem Namen, Käuferfotos, filterbar

Benefits + specificationsVorteile + Spezifikationen

Narrative description (2-4 benefit bullets: "solid wood", "antibacterial", "reversible") kept separate from technical specifications (dimensions, weight, care) in an accordion or tabs. Mixing both in one long paragraph penalizes whoever just wants one data point.Erzählende Beschreibung (2-4 Vorteils-Bullets: "Massivholz", "antibakteriell", "wendbar") getrennt von technischen Spezifikationen (Maße, Gewicht, Pflege) in Accordion oder Tabs. Beides in einem langen Absatz zu mischen benachteiligt, wer nur einen einzelnen Wert sucht.

  • Roble macizo de alta calidad
  • Usable también como tabla de corte
  • Veta cruzada evita deformación
  • Reversible, usable en ambos lados
  • Antibacteriano por el ácido tánico de la madera
  • Superficie aterciopelada
  • Encolado preciso
  • Hecho a mano
  • Fácil de guardar
  • Muy durable
Bullets de beneficio
check + frase corta · foco en el porqué de la compra

Madera: roble macizo · Tamaños: 55×50, 60×50, 60×60, 62×52cm · Peso: 4kg · Acabado: aceite de linaza certificado con cera dura.

Lavar a mano, secar de inmediato y tratar periódicamente con aceite certificado apto para alimentos. Ver instrucciones completas de cuidado.

Envío a toda Alemania y la UE. 30 días para devoluciones sin usar.

Specs técnicas (accordion)
Especificaciones · Cuidados · Envío, un item abierto a la vez

Collection heroKollektions-Hero

Opening pattern for collection pages (e.g. "Wooden boards"): large image of the material/product, brief editorial copy about the craft, CTA to browse the catalog.Eröffnungsmuster für Kollektionsseiten (z. B. "Holzbretter"): großes Bild von Material/Produkt, kurzer editorialer Text über das Handwerk, CTA zum Durchstöbern des Katalogs.

Tablas de madera

Cada tabla es una pieza hecha a mano

Roble macizo de alta calidad, encolado preciso y tratada con aceite certificado apto para alimentos. Antibacteriano por el ácido tánico de la madera.

Explorar tablas de corte
Tabla de hornear y pasta »Berta« en roble macizo
44 Collection heroKollektions-Hero
Material photo, editorial copy, CTAMaterialfoto, editorialer Text, CTA

Collection gridKollektionsraster

Applying a filter (wood, size, price) updates the result count in real time without reloading the page. Active filters removable individually as chips.Das Anwenden eines Filters (Holz, Größe, Preis) aktualisiert die Trefferzahl in Echtzeit, ohne die Seite neu zu laden. Aktive Filter einzeln als Chips entfernbar.

Trust bandVertrauensleiste

Trust seals (shipping, 30-day returns, secure payment) placed close to the buy button, not in the footer, since the signal's context must match the user's moment of anxiety.Vertrauenssiegel (Versand, 30 Tage Rückgabe, sichere Zahlung) nah am Kaufbutton platziert, nicht im Footer, da der Kontext des Signals mit dem Moment der Unsicherheit des Nutzers übereinstimmen muss.

Envío 2-4 días hábiles
De stock · piezas a medida ~3 meses
30 días de devolución
Solo tamaños estándar
Pago seguro
SEPA · Klarna · PayPal · Apple/Google Pay
46 Trust bandVertrauensleiste
Shipping, returns, guarantee near the CTAVersand, Rückgabe, Garantie nah am CTA

Reviews bandBewertungsleiste

Dedicated section with featured reviews and photos of customers using the boards/tables in their real kitchen, reinforcing the brand's craft perception.Eigener Bereich mit hervorgehobenen Bewertungen und Fotos von Kunden, die die Bretter/Tische in ihrer echten Küche nutzen, verstärkt die handwerkliche Wahrnehmung der Marke.

Tabla »Berta« en uso sobre una encimera de cocina

“La calidad es excelente, se nota el trabajo artesanal.”

MK
M.K.
Compra verificada
47 Reviews bandBewertungsleiste
Real customer photos using the productEchte Kundenfotos bei der Nutzung

CTA bandCTA-Leiste

Closing band for a page (PDP footer or end of collection) with a single clear CTA: browse more products or subscribe to updates.Abschlussleiste einer Seite (PDP-Fuß oder Ende einer Kollektion) mit einem einzigen klaren CTA: weitere Produkte entdecken oder Neuigkeiten abonnieren.

Explora el catálogo completo de tablas de madera maciza

Roble y nogal, hechas a mano, tratadas con aceite certificado apto para alimentos.

Ver catálogo
48 CTA bandCTA-Leiste
Page close, one clear CTASeitenabschluss, ein klarer CTA

Care instructionsPflegehinweise

Reusable block with the real care copy pulled from the catalog: hand-wash, dry immediately, treat periodically with certified food-safe oil. Appears on the PDP (tab/accordion) and on the FAQ page.Wiederverwendbarer Block mit dem echten Pflegetext aus dem Katalog: von Hand waschen, sofort trocknen, regelmäßig mit zertifiziertem, lebensmittelechtem Öl behandeln. Erscheint auf der PDP (Tab/Accordion) und auf der FAQ-Seite.

Lavar a mano
Agua tibia, sin remojo prolongado.
Secar de inmediato
Con un paño limpio, nunca al aire.
Tratar con aceite
Aceite certificado apto para alimentos, de forma periódica.

Nunca: lavavajillas ni remojo prolongado, reseca y agrieta la madera maciza.

49 Care instructionsPflegehinweise
Real copy: certified oil, hand-washingEchter Text: zertifiziertes Öl, Handwäsche

TokensTokens

Quick-reference view of every live token (color, spacing, radius, shadow, motion) in one place, to copy exact values without hunting through the source CSS.Schnellreferenz aller aktiven Tokens (Farbe, Abstand, Radius, Schatten, Bewegung) an einem Ort, um exakte Werte zu kopieren, ohne im Quell-CSS zu suchen.

Token Valor
--ink #0A0A0A
--ink-900 #171717
--ink-700 #262626
--ink-500 #737373
--ink-400 #A3A3A3
--ink-300 #CBD5E1
--ink-200 #E5E5E5
--ink-100 #F5F7FA
--ink-50 #F9FAFB
--surface #FFFFFF
--surface-2 #F9FAFB
--text-muted #737373
Color
12 tokens · copiar valor exacto
Token Valor
--r-chip 6px
--r-control 8px
--r-input 10px
--r-btn 10px
--r-card 12px
--r-pill 999px
Radios
6 tokens · copiar valor exacto
Token Valor
--shadow-sm 0 0 0 1px rgba(10,10,10,.04), 0 1px 2px rgba(10,10,10,.06)
--shadow-md 0 0 0 1px rgba(10,10,10,.04), 0 2px 4px -1px rgba(10,10,10,.08)
--shadow-lg 0 0 0 1px rgba(10,10,10,.04), 0 4px 8px -2px rgba(10,10,10,.10)
--shadow-xl 0 0 0 1px rgba(10,10,10,.04), 0 8px 16px -4px rgba(10,10,10,.12)
--shadow-2xl 0 0 0 1px rgba(10,10,10,.04), 0 16px 32px -8px rgba(10,10,10,.16)
Sombras
5 tokens · copiar valor exacto
Token Valor
4 0.25rem
8 0.5rem
16 1rem
24 1.5rem
32 2rem
48 3rem
64 4rem
Espaciado (4px)
7 tokens · copiar valor exacto
Token Valor
--ease-standard cubic-bezier(0.2, 0, 0, 1)
reveal 0.8s, stagger 0.08s
card-lift 0.5s cubic-bezier(.16,1,.3,1)
img-zoom 0.9s cubic-bezier(.16,1,.3,1)
Motion
4 tokens · copiar valor exacto

Conscious deviationsBewusste Abweichungen

Documented brand decisions: product description body copy at 16px (PCB R2) while UI chrome (nav, buttons, labels) uses 14-15px for density. Not to be corrected without approval.Dokumentierte Markenentscheidungen: Produktbeschreibungstext in 16px (PCB R2), während UI-Chrome (Nav, Buttons, Labels) aus Dichtegründen 14-15px nutzt. Nicht ohne Freigabe korrigieren.

Desviaciones intencionales verificadas contra la Product Craft Bible.
Regla base Estado en Grain System Razón
PCB R2 · body ≥16px de forma consistente Descripción de producto 16px, UI chrome (nav, botones, labels) 14-15px Densidad de la interfaz de compra vs. lectura larga de descripción de producto. Decisión de marca documentada.
S07 · sombra O borde, nunca ambos Cards de producto usan border ink-200 + fondo plano, sin sombra en reposo Más consistente con el material (madera maciza, plana) que una elevación blanda. card-lift añade sombra solo en hover.
Selector de variante: dropdown por default Siempre botones visibles, nunca <select> nativo Reduce esfuerzo cognitivo (Baymard/Polaris) y permite mostrar tamaños agotados tachados en vez de ocultarlos.
51 Conscious deviationsBewusste Abweichungen
Body 16px in descriptions vs. 14-15px in UIFließtext 16px in Beschreibungen vs. 14-15px im UI

Usage rulesNutzungsregeln

Condensed do/avoid: variant selector always as buttons (never a dropdown), price always visible without scrolling, red reserved for errors, spacing in multiples of 4px, focus always visible.Verdichtetes Do/Avoid: Variantenauswahl immer als Buttons (nie ein Dropdown), Preis immer ohne Scrollen sichtbar, Rot ausschließlich für Fehler, Abstände in Vielfachen von 4px, Fokus immer sichtbar.

Cada tarjeta corresponde a un specimen del sistema (ver Fundaciones, Componentes base, Producto). Este grid es un condensado de referencia rápida: para el detalle completo y ejemplos en vivo, abre el drawer de detalle del componente correspondiente.

52 Usage rulesNutzungsregeln
Do/avoid grid of the key rulesDo/Avoid-Raster der wichtigsten Regeln

A11y checklistA11y-Checkliste

Minimum checklist before publishing any e-commerce view: visible focus, AA contrast, 44px targets, respecting prefers-reduced-motion, native semantics (correct ARIA roles on tabs/accordion/dialog).Mindest-Checkliste vor Veröffentlichung jeder E-Commerce-Ansicht: sichtbarer Fokus, AA-Kontrast, 44px-Zielflächen, Beachtung von prefers-reduced-motion, native Semantik (korrekte ARIA-Rollen bei Tabs/Accordion/Dialog).

  • Foco visible Ring 2px con offset en todo elemento interactivo. Nunca outline:none sin reemplazo.
  • Contraste AA Texto ≥4.5:1. ink-400 es decorativo (falla AA); ink-500 es el mínimo legible como texto.
  • Targets de 44px Objetivos táctiles de al menos 44×44px, aunque el control visual sea más pequeño (checkbox, icon button).
  • Reduced motion El observer de scroll siempre corre; bajo prefers-reduced-motion se desactiva el movimiento pero el contenido nunca queda invisible.
  • Semántica nativa Elementos reales (button, input, details, dialog, table) antes que divs con ARIA.
  • Labels asociados Todo campo con label por for/id; errores con aria-invalid + aria-describedby.
53 A11y checklistA11y-Checkliste
Focus, contrast, 44px, motion, semanticsFokus, Kontrast, 44px, Bewegung, Semantik
Requisitos por componente
0 componentes con criterio a11y específico documentado