$ file://design-md-library/ _
$ cat ./design-md-library/ e-commerce-minimal _
$ cat ./design-md/e-commerce-minimal/metadata.yaml

E-Commerce Minimal

A product-first, conversion-focused e-commerce design system with sharp geometry, restrained monochrome palettes, and clear purchase flows for storefronts and PDPs.

Tags
ecommerceminimalstorefrontproduct-detail-pagecheckoutconversion

Live Preview

View Live
Tokens: COLOR
Items: 14

primary

Hex: #1A1A1A

primary hover

Hex: #333333

background

Hex: #FFFFFF

background warm

Hex: #F8F7F4

surface

Hex: #FFFFFF

border

Hex: #E8E8E8

border light

Hex: #F0F0F0

text primary

Hex: #1A1A1A

text secondary

Hex: #666666

text muted

Hex: #999999

success

Hex: #2E7D32

error

Hex: #C62828

sale

Hex: #C62828

warning

Hex: #E65100
Tokens: SPACING
Items: 17
base
4px
space-1
4px
space-2
8px
space-3
12px
space-4
16px
space-6
24px
space-8
32px
space-10
40px
space-12
48px
space-16
64px
space-20
80px
gutter
24px
page-margin-desktop
48px
page-margin-tablet
24px
page-margin-mobile
16px
max-content-width
1440px
max-product-grid-width
1200px
Tokens: ROUNDED
Items: 2
none
0px
full
9999px
Tokens: TYPOGRAPHY
Items: 10

display

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 40px
Weight: 500
Letter Spacing: -0.5px

h1

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 28px
Weight: 500
Letter Spacing: -0.3px

h2

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 22px
Weight: 500
Letter Spacing: -0.2px

h3

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 16px
Weight: 500
Letter Spacing: 0px

price lg

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 24px
Weight: 600
Letter Spacing: 0px

price md

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 16px
Weight: 500
Letter Spacing: 0px

body

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 15px
Weight: 400
Letter Spacing: 0px

small

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 13px
Weight: 400
Letter Spacing: 0px

caption

The quick brown fox jumps over the lazy dog

Family: Satoshi, DM Sans, -apple-system, sans-serif
Size: 11px
Weight: 500
Letter Spacing: 1px

mono

The quick brown fox jumps over the lazy dog

Family: JetBrains Mono, monospace
Size: 13px
Weight: 400
Letter Spacing: 0px

Tailwind v3 Config

{
  "theme": {
    "extend": {
      "colors": {
        "primary": "#1a1a1a",
        "primary-hover": "#333333",
        "background": "#ffffff",
        "background-warm": "#f8f7f4",
        "surface": "#ffffff",
        "border": "#e8e8e8",
        "border-light": "#f0f0f0",
        "text-primary": "#1a1a1a",
        "text-secondary": "#666666",
        "text-muted": "#999999",
        "success": "#2e7d32",
        "error": "#c62828",
        "sale": "#c62828",
        "warning": "#e65100"
      },
      "fontFamily": {
        "display": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "h1": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "h2": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "h3": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "price-lg": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "price-md": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "body": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "small": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "caption": [
          "Satoshi, DM Sans, -apple-system, sans-serif"
        ],
        "mono": [
          "JetBrains Mono, monospace"
        ]
      },
      "fontSize": {
        "display": [
          "40px",
          {
            "letterSpacing": "-0.5px",
            "fontWeight": "500"
          }
        ],
        "h1": [
          "28px",
          {
            "letterSpacing": "-0.3px",
            "fontWeight": "500"
          }
        ],
        "h2": [
          "22px",
          {
            "letterSpacing": "-0.2px",
            "fontWeight": "500"
          }
        ],
        "h3": [
          "16px",
          {
            "letterSpacing": "0px",
            "fontWeight": "500"
          }
        ],
        "price-lg": [
          "24px",
          {
            "letterSpacing": "0px",
            "fontWeight": "600"
          }
        ],
        "price-md": [
          "16px",
          {
            "letterSpacing": "0px",
            "fontWeight": "500"
          }
        ],
        "body": [
          "15px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ],
        "small": [
          "13px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ],
        "caption": [
          "11px",
          {
            "letterSpacing": "1px",
            "fontWeight": "500"
          }
        ],
        "mono": [
          "13px",
          {
            "letterSpacing": "0px",
            "fontWeight": "400"
          }
        ]
      },
      "borderRadius": {
        "none": "0px",
        "full": "9999px"
      },
      "spacing": {
        "base": "4px",
        "space-1": "4px",
        "space-2": "8px",
        "space-3": "12px",
        "space-4": "16px",
        "space-6": "24px",
        "space-8": "32px",
        "space-10": "40px",
        "space-12": "48px",
        "space-16": "64px",
        "space-20": "80px",
        "gutter": "24px",
        "page-margin-desktop": "48px",
        "page-margin-tablet": "24px",
        "page-margin-mobile": "16px",
        "max-content-width": "1440px",
        "max-product-grid-width": "1200px"
      }
    }
  }
}

Tailwind v4 @theme

// No content available

DESIGN.md

---
version: alpha
name: E-Commerce Minimal
description: A product-first e-commerce design system for storefronts, PDPs, and checkout flows with sharp geometry, restrained color, and conversion-focused clarity.
colors:
  primary: "#1A1A1A"
  primary-hover: "#333333"
  background: "#FFFFFF"
  background-warm: "#F8F7F4"
  surface: "#FFFFFF"
  border: "#E8E8E8"
  border-light: "#F0F0F0"
  text-primary: "#1A1A1A"
  text-secondary: "#666666"
  text-muted: "#999999"
  success: "#2E7D32"
  error: "#C62828"
  sale: "#C62828"
  warning: "#E65100"
typography:
  display:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 40px
    fontWeight: 500
    lineHeight: 1.15
    letterSpacing: -0.5px
  h1:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 28px
    fontWeight: 500
    lineHeight: 1.2
    letterSpacing: -0.3px
  h2:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 22px
    fontWeight: 500
    lineHeight: 1.25
    letterSpacing: -0.2px
  h3:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 16px
    fontWeight: 500
    lineHeight: 1.35
    letterSpacing: 0px
  price-lg:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 24px
    fontWeight: 600
    lineHeight: 1.2
    letterSpacing: 0px
  price-md:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 16px
    fontWeight: 500
    lineHeight: 1.3
    letterSpacing: 0px
  body:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 15px
    fontWeight: 400
    lineHeight: 1.65
    letterSpacing: 0px
  small:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.5
    letterSpacing: 0px
  caption:
    fontFamily: Satoshi, DM Sans, -apple-system, sans-serif
    fontSize: 11px
    fontWeight: 500
    lineHeight: 1.4
    letterSpacing: 1px
  mono:
    fontFamily: JetBrains Mono, monospace
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.4
    letterSpacing: 0px
rounded:
  none: 0px
  full: 9999px
spacing:
  base: 4px
  space-1: 4px
  space-2: 8px
  space-3: 12px
  space-4: 16px
  space-6: 24px
  space-8: 32px
  space-10: 40px
  space-12: 48px
  space-16: 64px
  space-20: 80px
  gutter: 24px
  page-margin-desktop: 48px
  page-margin-tablet: 24px
  page-margin-mobile: 16px
  max-content-width: 1440px
  max-product-grid-width: 1200px
components:
  button-primary:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.background}"
    typography: "{typography.caption}"
    rounded: "{rounded.none}"
    padding: 16px 32px
    height: 52px
    width: 100%
  button-primary-hover:
    backgroundColor: "{colors.primary-hover}"
  button-primary-active:
    backgroundColor: "#000000"
  button-primary-disabled:
    backgroundColor: "{colors.border}"
    textColor: "{colors.text-muted}"
  button-secondary:
    backgroundColor: transparent
    textColor: "{colors.text-primary}"
    rounded: "{rounded.none}"
    borderColor: "{colors.border}"
    height: 52px
  button-link:
    backgroundColor: transparent
    textColor: "{colors.text-primary}"
    typography: "{typography.small}"
  product-card:
    backgroundColor: "{colors.surface}"
    textColor: "{colors.text-primary}"
    rounded: "{rounded.none}"
    padding: 0px
  product-image-frame:
    backgroundColor: "{colors.background-warm}"
    rounded: "{rounded.none}"
  size-pill:
    backgroundColor: "{colors.background}"
    textColor: "{colors.text-primary}"
    rounded: "{rounded.none}"
    borderColor: "{colors.border}"
    height: 40px
    padding: 0 16px
  size-pill-selected:
    backgroundColor: "{colors.primary}"
    textColor: "{colors.background}"
  cart-flyout:
    backgroundColor: "{colors.surface}"
    width: 420px
  cart-divider:
    backgroundColor: "{colors.border-light}"
---

## Brand & Style

The product is the hero and the interface is the stage. This system is built for direct-to-consumer storefronts, product detail pages, and checkout flows where clarity and trust drive conversion better than urgency patterns.

The visual personality is clean, premium, and product-forward. Product photography carries the emotional tone while UI chrome stays restrained: sharp corners, minimal decoration, near-monochrome palette, and direct microcopy.

## Colors

The palette is intentionally narrow: black, white, warm off-white, and restrained grays.

- Primary black (`#1A1A1A`) drives critical actions, key text, and high-priority emphasis.
- Warm neutral (`#F8F7F4`) supports product image framing and alternating section backgrounds.
- Sale red (`#C62828`) is the single high-attention accent and should be reserved for discount pricing and sale badges.
- Semantic success (`#2E7D32`), warning (`#E65100`), and error (`#C62828`) communicate status without introducing extra decorative color systems.

## Typography

Typography uses a single sans-serif family for most UI (`Satoshi` with `DM Sans` and system fallbacks) to keep rhythm consistent and visual noise low. `JetBrains Mono` is reserved for technical identifiers such as order numbers and SKUs.

- Medium weight (`500`) is the dominant display weight.
- Body remains regular (`400`) with generous line-height for readability.
- Prices use stronger emphasis (`600`) without relying on oversized treatment everywhere.
- Product names remain sentence case, and labels use subtle uppercase styling only where needed (for example badges and nav labels).

## Layout & Spacing

The layout model is a fixed max-width commerce grid with responsive column behavior:

- Product grid: 4 columns desktop, 3 tablet, 2 mobile.
- Product detail page: 2-column desktop split (55/45), stacked on mobile.
- Cart: right flyout on desktop, full-screen panel on mobile.

Spacing follows a strict 4px-derived scale to maintain consistency across product cards, selectors, navigation, and checkout surfaces. Page margins are `48px` desktop, `24px` tablet, and `16px` mobile.

## Elevation & Depth

Depth is intentionally restrained. Most surfaces are flat, and hierarchy is created through spacing, typography, and tonal contrast rather than heavy shadow stacks.

- None: default for cards, product tiles, and primary page surfaces.
- SM (`0 2px 8px rgba(0,0,0,0.06)`): dropdowns and lightweight overlays.
- MD (`0 4px 24px rgba(0,0,0,0.08)`): cart flyout and lightbox contexts.

Product images should create perceived depth through photography itself, not interface ornamentation.

## Shapes

The shape language is sharp and architectural:

- Buttons, cards, image frames, selectors, and inputs use `0px` corner radius.
- Circular affordances (for example color swatches and counters) can use fully rounded treatment where the object itself is semantically circular.

This all-sharp rule is a core brand signature and should remain consistent across states and breakpoints.

## Components

### Buttons

Primary actions (especially "Add to Bag" and cart checkout) are full-width, high-contrast, and fixed-height (`52px`) with uppercase caption styling. Secondary actions use transparent backgrounds with subtle borders. Disabled states must reduce contrast clearly and never masquerade as available actions.

### Product Cards and Grid

Cards are structurally simple: image first, details second. No card shadow, border, or decorative framing. Product imagery sits on warm neutral backgrounds with consistent `3:4` ratio and internal breathing room. Entire cards are clickable to support fast browse-to-detail flow.

### Product Detail Patterns

PDP structure prioritizes decision readiness above the fold: category label, name, price, variant selectors, and primary CTA remain visible without unnecessary scrolling. Supporting details (materials, care, shipping, sizing) belong in lightweight accordion sections.

### Variant Selectors

Size uses horizontal sharp pills (`40px` height) with high-contrast selected state. Color selectors use circular swatches with a clear selected ring and explicit text/tooltips for accessible color naming.

### Cart Flyout

Cart flyout uses a right-aligned panel (`420px` desktop) with clear line-item hierarchy: image, product metadata, quantity controls, remove action, subtotal, and sticky full-width checkout button. Use subtle separators and avoid promotional clutter.

### Navigation

Navigation is centered-logo with split left/right groups, uppercase utility labels, and restrained interaction states. On mobile, simplify to hamburger-left, logo-center, bag-right. Sticky state may introduce a bottom border for scannability.

## Do's and Don'ts

### Do

- Let product photography dominate pages.
- Keep pricing transparent and immediately visible.
- Maintain consistent product image ratio (`3:4`) and warm-neutral framing.
- Preserve sharp-corner geometry across core UI elements.
- Support robust keyboard focus, descriptive alt text, and WCAG AA contrast.

### Don't

- Don't use urgency dark patterns (fake timers, manipulative counters).
- Don't introduce decorative badges or loud promotional chrome.
- Don't round buttons/cards/images in this system.
- Don't hide price or total cost until late checkout steps.
- Don't use carousel-heavy browsing patterns in place of scannable product grids.