Free CSS template · Shop

Auto Parts

A rugged auto-parts storefront with a dark, industrial palette and a grid that keeps part numbers easy to scan.

A modern 2026 rebuild of a long-running CSS Crème template: responsive, accessible, and framework-free. Preview it below, then copy the starter.

autoparts.example.com
Auto Parts
Free shop template: clean grid, fast checkout flow.

Design tokens

bg#15171C
surface#20232B
primary#F0892B
accent#E0B23E
muted#9098A4
text#EDEFF2

Type Inter · browse palettes →

Install the theme

Building with shadcn/ui? This template's color system is published as a real theme — light and dark, OKLCH tokens, contrast checked. One command drops it into your project.

npx shadcn@latest add https://csscreme.com/r/t/auto_parts.json
globals.css — CSS variables
:root {
  --background: oklch(98.8% 0.000 89.9);
  --foreground: oklch(26.3% 0.005 248.0);
  --card: oklch(97.3% 0.000 89.9);
  --card-foreground: oklch(26.3% 0.005 248.0);
  --popover: oklch(97.3% 0.000 89.9);
  --popover-foreground: oklch(26.3% 0.005 248.0);
  --primary: oklch(72.7% 0.160 57.3);
  --primary-foreground: oklch(15.2% 0.009 285.3);
  --secondary: oklch(97.9% 0.000 89.9);
  --secondary-foreground: oklch(26.3% 0.005 248.0);
  --muted: oklch(97.9% 0.000 89.9);
  --muted-foreground: oklch(53.8% 0.007 264.5);
  --accent: oklch(78.5% 0.139 86.4);
  --accent-foreground: oklch(15.2% 0.009 285.3);
  --destructive: oklch(62.6% 0.193 23.0);
  --destructive-foreground: oklch(15.2% 0.009 285.3);
  --border: oklch(83.9% 0.002 247.8);
  --input: oklch(83.9% 0.002 247.8);
  --ring: oklch(72.7% 0.160 57.3);
  --chart-1: oklch(72.7% 0.160 57.3);
  --chart-2: oklch(78.5% 0.139 86.4);
  --chart-3: oklch(90.4% 0.201 118.2);
  --chart-4: oklch(62.1% 0.227 17.9);
  --chart-5: oklch(75.5% 0.144 71.0);
  --sidebar: oklch(98.2% 0.000 89.9);
  --sidebar-foreground: oklch(26.3% 0.005 248.0);
  --sidebar-primary: oklch(72.7% 0.160 57.3);
  --sidebar-primary-foreground: oklch(15.2% 0.009 285.3);
  --sidebar-accent: oklch(97.9% 0.000 89.9);
  --sidebar-accent-foreground: oklch(26.3% 0.005 248.0);
  --sidebar-border: oklch(83.9% 0.002 247.8);
  --sidebar-ring: oklch(72.7% 0.160 57.3);
  --radius: 12px;
  --shadow-2xs: 0 1px 2px 0px rgb(35 37 39 / 0.05);
  --shadow-xs: 0 1px 3px 0px rgb(35 37 39 / 0.06);
  --shadow-sm: 0 1px 3px 0px rgb(35 37 39 / 0.08), 0 1px 2px -1px rgb(35 37 39 / 0.08);
  --shadow-md: 0 4px 6px -1px rgb(35 37 39 / 0.09), 0 2px 4px -2px rgb(35 37 39 / 0.09);
  --shadow-lg: 0 10px 15px -3px rgb(35 37 39 / 0.1), 0 4px 6px -4px rgb(35 37 39 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(35 37 39 / 0.12), 0 8px 10px -6px rgb(35 37 39 / 0.12);
  --shadow-2xl: 0 25px 50px -12px rgb(35 37 39 / 0.22);
}

.dark {
  --background: oklch(20.5% 0.010 268.2);
  --foreground: oklch(95.1% 0.005 258.3);
  --card: oklch(25.7% 0.016 269.1);
  --card-foreground: oklch(95.1% 0.005 258.3);
  --popover: oklch(25.7% 0.016 269.1);
  --popover-foreground: oklch(95.1% 0.005 258.3);
  --primary: oklch(72.7% 0.160 57.3);
  --primary-foreground: oklch(15.2% 0.009 285.3);
  --secondary: oklch(23.9% 0.014 267.0);
  --secondary-foreground: oklch(95.1% 0.005 258.3);
  --muted: oklch(23.9% 0.014 267.0);
  --muted-foreground: oklch(67.7% 0.020 258.4);
  --accent: oklch(78.5% 0.139 86.4);
  --accent-foreground: oklch(15.2% 0.009 285.3);
  --destructive: oklch(62.6% 0.193 23.0);
  --destructive-foreground: oklch(15.2% 0.009 285.3);
  --border: oklch(35.1% 0.013 261.7);
  --input: oklch(35.1% 0.013 261.7);
  --ring: oklch(72.7% 0.160 57.3);
  --chart-1: oklch(72.7% 0.160 57.3);
  --chart-2: oklch(78.5% 0.139 86.4);
  --chart-3: oklch(90.4% 0.201 118.2);
  --chart-4: oklch(62.1% 0.227 17.9);
  --chart-5: oklch(75.5% 0.144 71.0);
  --sidebar: oklch(23.2% 0.014 272.7);
  --sidebar-foreground: oklch(95.1% 0.005 258.3);
  --sidebar-primary: oklch(72.7% 0.160 57.3);
  --sidebar-primary-foreground: oklch(15.2% 0.009 285.3);
  --sidebar-accent: oklch(23.9% 0.014 267.0);
  --sidebar-accent-foreground: oklch(95.1% 0.005 258.3);
  --sidebar-border: oklch(35.1% 0.013 261.7);
  --sidebar-ring: oklch(72.7% 0.160 57.3);
  --shadow-2xs: 0 1px 2px 0px rgb(237 239 242 / 0.16);
  --shadow-xs: 0 1px 3px 0px rgb(237 239 242 / 0.18);
  --shadow-sm: 0 1px 3px 0px rgb(237 239 242 / 0.22), 0 1px 2px -1px rgb(237 239 242 / 0.22);
  --shadow-md: 0 4px 6px -1px rgb(237 239 242 / 0.26), 0 2px 4px -2px rgb(237 239 242 / 0.26);
  --shadow-lg: 0 10px 15px -3px rgb(237 239 242 / 0.3), 0 4px 6px -4px rgb(237 239 242 / 0.3);
  --shadow-xl: 0 20px 25px -5px rgb(237 239 242 / 0.34), 0 8px 10px -6px rgb(237 239 242 / 0.34);
  --shadow-2xl: 0 25px 50px -12px rgb(237 239 242 / 0.45);
}

Grab the starter

A complete, responsive single-file page themed to this template. Copy it into an index.html and open it. That's the whole setup.

index.html
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Auto Parts</title>
  <style>
    :root {
      --bg: #15171C; --surface: #20232B; --primary: #F0892B;
      --accent: #E0B23E; --text: #EDEFF2; --muted: #9098A4;
    }
    * { box-sizing: border-box; margin: 0; }
    body { font: 16px/1.6 Inter, system-ui, sans-serif; background: var(--bg); color: var(--text); }
    .wrap { max-width: 1080px; margin: 0 auto; padding: 80px 24px; }
    h1 { font-size: clamp(2rem, 6vw, 3.4rem); line-height: 1.05; letter-spacing: -.02em; }
    p { margin: 18px 0 0; color: var(--muted); font-size: 1.15rem; max-width: 52ch; }
    .btn { display: inline-block; margin-top: 28px; padding: 13px 26px; border-radius: 12px;
           background: var(--primary); color: #fff; text-decoration: none; font-weight: 600; }
    .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 48px; }
    .card { background: var(--surface); border: 1px solid color-mix(in srgb, var(--text) 12%, transparent);
            border-radius: 16px; padding: 24px; }
  </style>
</head>
<body>
  <main class="wrap">
    <h1>Auto Parts</h1>
    <p>A rugged auto-parts storefront with a dark, industrial palette and a grid that keeps part numbers easy to scan.</p>
    <a class="btn" href="#">Get started</a>
    <div class="grid">
      <div class="card">One</div><div class="card">Two</div><div class="card">Three</div>
    </div>
  </main>
</body>
</html>

About the Auto Parts template

Auto Parts began as one of CSS Crème's most-linked free templates. We rebuilt it from scratch for 2026: modern, responsive CSS with no framework to untangle, custom properties for every color so a rebrand takes minutes, and markup that stays readable months later. The preview above is the real layout; the starter is the real code.

Want to push it further? Pull a different palette, round the corners in the border-radius tool, or see the system decoded in a breakdown.

More shop templates: Electronix, Book Store, Musical Instruments.