Skip to content
Back to skills

Collection

ASecurity

Complete theming guide for the e-commerce storefront. Documents all styled components and provides instructions for applying new themes. Use when customizing store appearance, changing color schemes, or restyling the entire application.

  • 24 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
designtypescriptgoreactnextjsgit

Works with

  • cli

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add mattnigh/skills_collection --skill collection --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Collection?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Collection
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mattnigh-collection-97264f1a/badge)](https://www.skillsdirectory.com/skills/mattnigh-collection-97264f1a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ecommerce-theming
description: Complete theming guide for the e-commerce storefront. Documents all styled components and provides instructions for applying new themes. Use when customizing store appearance, changing color schemes, or restyling the entire application.
---

# E-Commerce Theming Guide

This skill provides a comprehensive map of all themed components in the storefront and instructions for applying new visual themes.

## Overview

This Next.js 16 e-commerce template uses a cohesive design system with **fully customizable** colors, typography, and styling patterns.

**IMPORTANT**: This is a TEMPLATE project. Color names and values shown in this guide (like "rose-gold", "champagne", etc.) are just the CURRENT EXAMPLE theme. When applying a new theme, you will:
1. Choose your own color palette completely from scratch
2. Name colors based on YOUR theme (e.g., "ocean-blue", "forest-green", "neon-pink")
3. Update all CSS variables and component references accordingly

The template structure stays the same, but colors are 100% dynamic and changeable based on your requirements.

## Theme Configuration Files

### 1. Tailwind Config (`tailwind.config.ts`)

**Location**: `d:\Projektit\Verkkokaupat\testi-kauppa\tailwind.config.ts`

This file defines:

- Font families (primary/secondary via CSS variables)
- Color system extending base Tailwind colors
- Border radius values
- Custom animations (shine, shimmer-x, shimmer-y)

**Custom colors defined**:

```typescript
colors: {
  // Shadcn/ui semantic colors (use HSL CSS variables)
  background: "hsl(var(--background))",
  foreground: "hsl(var(--foreground))",
  card: { DEFAULT, foreground },
  popover: { DEFAULT, foreground },
  primary: { DEFAULT, foreground },
  secondary: { DEFAULT, foreground },
  tertiary: { DEFAULT, foreground },
  muted: { DEFAULT, foreground },
  accent: { DEFAULT, foreground },
  destructive: { DEFAULT, foreground },
  border, input, ring,

  // Custom theme-specific colors (EXAMPLE - customize these!)
  // Current example: Jewelry theme
  "rose-gold": "hsl(var(--rose-gold))",      // → Rename to YOUR accent color
  champagne: "hsl(var(--champagne))",        // → Rename to YOUR secondary accent
  cream: "hsl(var(--cream))",                // → Rename to YOUR light background
  "warm-white": "hsl(var(--warm-white))",    // → Rename to YOUR main background
  "soft-blush": "hsl(var(--soft-blush))",    // → Rename to YOUR subtle accent
  "deep-burgundy": "hsl(var(--deep-burgundy))", // → Rename to YOUR dark accent
  charcoal: "hsl(var(--charcoal))",          // → Rename to YOUR text color
}
```

**Example for a different theme (Ocean Store)**:
```typescript
// Replace the above with:
"ocean-blue": "hsl(var(--ocean-blue))",      // Main accent
"seafoam": "hsl(var(--seafoam))",            // Secondary accent
"sand": "hsl(var(--sand))",                  // Light background
"pearl-white": "hsl(var(--pearl-white))",    // Main background
"coral": "hsl(var(--coral))",                // Subtle accent
"deep-navy": "hsl(var(--deep-navy))",        // Dark accent
"slate": "hsl(var(--slate))",                // Text color
```

### 2. Global CSS (`src/app/globals.css`)

**Location**: `d:\Projektit\Verkkokaupat\testi-kauppa\src\app\globals.css`

This file contains:

- **CSS Variable Definitions** (lines 6-50): All color values in HSL format
- **Dark Mode Variables** (lines 52-85): Alternative color scheme
- **Custom Utility Classes** (lines 143-254): Decorative effects

**How to change theme colors**:

1. Modify CSS variables in `:root` selector (lines 6-50)
2. Update custom color variables (lines 36-43)
3. Colors use HSL format: `hue saturation% lightness%`

**Color Variable Structure** (customize names AND values for your theme):

```css
:root {
  /* EXAMPLE: Current Jewelry Theme - REPLACE EVERYTHING BELOW */
  --rose-gold: 15 45% 65%;      /* Main accent - YOUR primary brand color */
  --champagne: 38 45% 78%;      /* Secondary accent - YOUR complementary color */
  --cream: 35 40% 95%;          /* Light background - YOUR soft background */
  --warm-white: 30 33% 98%;     /* Main background - YOUR page background */
  --soft-blush: 350 35% 90%;    /* Subtle accent - YOUR tertiary color */
  --deep-burgundy: 350 45% 30%; /* Dark accent - YOUR contrast/sale color */
  --charcoal: 20 15% 18%;       /* Main text - YOUR text color */
}
```

**These 7 color roles must be filled, but you choose the names and values**:
1. **Main Accent** - Primary brand color (buttons, links, highlights)
2. **Secondary Accent** - Complementary color (badges, secondary elements)
3. **Light Background** - Soft background for cards, sections
4. **Main Background** - Page background color
5. **Subtle Accent** - Tertiary/decorative color
6. **Dark Accent** - Contrast color for sales, warnings, errors
7. **Text Color** - Main text/foreground color

**Custom utility classes available** (rename these to match your theme):

- `.text-gradient-gold` - Gradient text effect (rename to match your theme, e.g., `.text-gradient-ocean`)
- `.text-gradient-rose` - Alternative gradient (customize colors and name)
- `.line-ornament` - Decorative line with centered element (theme-agnostic)
- `.diamond-shape` - Diamond clip-path for decorative elements (theme-agnostic)
- `.shimmer-gold` - Animated shimmer effect (rename and recolor, e.g., `.shimmer-blue`)
- `.card-lift` - Elegant hover lift animation (theme-agnostic)
- `.artistic-border` - Border with corner accents (theme-agnostic)
- `.octagon-clip` - Octagonal clip-path (theme-agnostic)

**Note**: Classes marked "theme-agnostic" don't need renaming, only color updates in their CSS.

### 3. Font Configuration (`src/lib/fonts.ts`)

**Location**: `d:\Projektit\Verkkokaupat\testi-kauppa\src\lib\fonts.ts` (likely)

Fonts are loaded via Next.js `next/font` and exposed as CSS variables:

- `--font-primary`: Used for headings, titles, prices
- `--font-secondary`: Used for body text, labels, descriptions

Applied in `globals.css` (lines 95-100):

```css
html {
  font-family: var(--font-secondary);
}
h1 {
  font-family: var(--font-primary);
}
```

## Component Styling Map

All components below use the theme colors and patterns. When restyling, update these files to match your new theme.

### Navigation Components

**Location**: `src/components/Navigation/`

1. **Navbar.tsx** - Main navigation bar

   - Uses `bg-warm-white`, `text-charcoal`
   - Border colors: `border-rose-gold/10`
   - Hover states with rose-gold accent

2. **NavbarLinks.tsx** - Desktop navigation links

   - Link hover effects
   - Active state indicators
   - Dropdown menus (if present)

3. **MobileLinks.tsx** - Mobile menu
   - Mobile drawer/menu styling
   - Hamburger icon states
   - Mobile-specific interactions

**Styling patterns**:

- Corner accent borders (animated on hover)
- Rose gold highlights on active/hover states
- Warm white backgrounds with subtle borders

### Homepage Components

**Location**: `src/components/`

1. **Hero.tsx** - Landing page hero section

   - Full-screen parallax hero
   - Decorative corner elements (lines 38-41)
   - Floating diamond decorations with animations (lines 62-89)
   - Gradient text effects: `.text-gradient-gold`
   - CTA buttons with charcoal/rose-gold styling
   - Framer Motion animations

2. **Homepage/CategorySection.tsx** - Category showcase

   - Grid layout for category cards
   - Hover effects with border animations
   - Category images with overlays

3. **Homepage/AboutMeSection.tsx** - About section on homepage
   - Text content styling
   - Decorative elements
   - Background treatments

**Styling patterns**:

- Parallax scrolling effects
- Staggered animations with Framer Motion
- Diamond-shaped decorative elements
- Corner border accents (see lines 149-157 in myorders/page.tsx for pattern)

### Product Components

**Location**: `src/components/`

1. **ProductCard.tsx** - Product grid cards

   - Card frame with corner accents (lines 38-45)
   - Image aspect ratio: square
   - Sale badge with burgundy background (lines 63-72)
   - Share button (appears on hover, lines 74-90)
   - "View product" slide-up indicator (lines 93-100)
   - Price display with sale/regular pricing
   - Availability indicator with colored dots
   - Hover effects: scale, corner expansion, overlay

2. **Product/ProductDetail.tsx** - Individual product page

   - Large product images with gallery
   - Variation selectors
   - Add to cart button styling
   - Product information layout
   - Related products section

3. **Product/Pagination.tsx** - Product list pagination

   - Page number styling
   - Active page indicator
   - Next/Previous buttons

4. **Product/SortOptions.tsx** - Product sorting dropdown
   - Dropdown menu styling
   - Sort option list
   - Selected state

**Styling patterns**:

- Animated corner borders: start at 6x6px, expand to 10x10px on hover
- Slide-up reveal effects on hover
- Image zoom transitions (scale-105)
- Gradient overlays on images
- Sale badges with decorative bottom border

### Cart & Checkout Components

**Location**: `src/components/Cart/`, `src/components/Checkout/`

**Cart Components**:

1. **Cart.tsx** - Cart drawer/modal
2. **CartItem.tsx** - Individual cart item
3. **CartPage.tsx** - Full cart page view
4. **CampaignAddedCartItems.tsx** - Campaign/promo items display
5. **CheckoutButton.tsx** - Proceed to checkout CTA

**Checkout Components**:

1. **CheckoutSteps.tsx** - Multi-step checkout indicator
2. **CustomerDataForm.tsx** - Customer information form
3. **SelectShipmentMethod.tsx** - Shipping method selector
4. **PaytrailCheckoutPage.tsx** - Paytrail payment integration
5. **PaytrailPaymentSelection.tsx** - Payment method selection
6. **StripeCheckoutPage.tsx** - Stripe payment integration
7. **/payment/success/{id}** - This is succesfull checkout route

**Styling patterns**:

- Form inputs with rose-gold focus rings
- Step indicators with active states
- Card-style containers with corner accents
- Submit buttons with hover transitions
- Validation states (error/success)

### Authentication & Dashboard Components

**Location**: `src/components/Auth/`, `src/components/CustomerDashboard/`

**Auth Components**:

1. **Loginform.tsx** - Login form
2. **RegisterForm.tsx** - Registration form
3. **DeleteWishListButton.tsx** - Remove wishlist item

**Dashboard Components**:

1. **EditCustomerForm.tsx** - Profile edit form

**Dashboard Pages** (`src/app/(auth)/(dashboard)/`):

1. **layout.tsx** - Dashboard layout wrapper
2. **mypage/page.tsx** - Dashboard home
3. **myorders/page.tsx** - Order history page (see example below)
4. **mywishlist/page.tsx** - Wishlist page

**Example Styling - Order Card** (from `myorders/page.tsx` lines 143-280):

```tsx
<div className="group relative bg-warm-white p-6 mb-6">
  {/* Border frame */}
  <div
    className="absolute inset-0 border border-rose-gold/10
                  group-hover:border-rose-gold/25 transition-colors"
  />

  {/* Corner accents - animate on hover */}
  <div
    className="absolute top-0 left-0 w-4 h-4 border-l border-t
                  border-rose-gold/20 group-hover:w-6 group-hover:h-6
                  transition-all duration-300"
  />
  {/* ...repeat for 4 corners */}
</div>
```

**Styling patterns**:

- Card layouts with corner decorations
- Status badges with color coding (champagne, rose-gold, burgundy)
- Gradient separator lines
- Icon integration from lucide-react
- Empty states with centered content

### About & Contact Components

**Location**: `src/components/Aboutpage/`, `src/components/Contactpage/`

1. **AboutBlock.tsx** - About page content blocks
2. **AboutCTA.tsx** - Call-to-action section (NEW)
3. **AboutHero.tsx** - About page hero (NEW)
4. **ContactForm.tsx** - Contact form

**About Page** (`src/app/(storefront)/about/page.tsx`)

**Styling patterns**:

- Content blocks with imagery
- Text hierarchy with primary/secondary fonts
- Decorative dividers
- CTA buttons matching global style

### Layout Components

1. **Footer.tsx** - Site footer

   - Multi-column layout
   - Social links
   - Copyright info
   - Decorative top border

2. **subtitle.tsx** - Reusable subtitle component
   - Consistent subtitle styling across pages
   - Decorative accents

**Page Layouts**:

- `src/app/layout.tsx` - Root layout
- `src/app/(storefront)/page.tsx` - Homepage layout
- `src/app/(storefront)/products/[...slug]/page.tsx` - Product pages
- `src/app/(storefront)/verify-email/page.tsx` - Email verification

## Styling Patterns & Conventions

### 1. Card Frame with Corner Accents

**Used in**: ProductCard, OrderCard, Dashboard cards, Empty states

```tsx
<div className="group relative bg-warm-white p-6">
  {/* Main border */}
  <div
    className="absolute inset-0 border border-rose-gold/10
                  group-hover:border-rose-gold/25 transition-colors"
  />

  {/* Animated corners (4 corners total) */}
  <div
    className="absolute top-0 left-0 w-6 h-6 border-l border-t
                  border-rose-gold/30 group-hover:w-10 group-hover:h-10
                  transition-all duration-500"
  />
  {/* ...top-right, bottom-left, bottom-right */}
</div>
```

### 2. Gradient Dividers

**Used in**: OrderCard, ProductDetail, Forms

```tsx
{
  /* Horizontal divider */
}
<div className="h-[1px] bg-gradient-to-r from-rose-gold/30 to-transparent" />;

{
  /* Full width with fade from center */
}
<div className="h-[1px] bg-gradient-to-r from-transparent via-rose-gold/40 to-transparent" />;
```

### 3. Status Badges

**Used in**: Order status, Product availability, Campaign labels

```tsx
<div
  className="inline-flex items-center gap-2 px-3 py-1.5
                border bg-rose-gold/20 text-charcoal
                border-rose-gold/40 font-secondary text-xs
                tracking-wider uppercase"
>
  <Icon className="w-3 h-3" />
  <span>STATUS TEXT</span>
</div>
```

### 4. Button Styles

**Primary CTA** (dark with accent hover):

```tsx
<button className="inline-flex items-center justify-center gap-3
                   px-8 py-3 bg-charcoal text-warm-white
                   font-secondary text-sm tracking-wider uppercase
                   transition-all duration-300 hover:bg-rose-gold">
```

**Secondary CTA** (outlined):

```tsx
<button className="inline-flex items-center gap-3 px-8 py-4
                   border border-charcoal/30 text-charcoal
                   font-secondary text-sm tracking-wider uppercase
                   hover:border-rose-gold hover:text-rose-gold">
```

### 5. Typography Hierarchy

- **Large Headings**: `font-primary text-4xl sm:text-5xl lg:text-6xl text-charcoal`
- **Section Titles**: `font-primary text-2xl md:text-3xl text-charcoal`
- **Body Text**: `font-secondary text-base text-charcoal/80`
- **Small Labels**: `font-secondary text-xs tracking-wider uppercase text-charcoal/70`
- **Prices**: `font-primary text-lg font-bold text-charcoal`

### 6. Decorative Elements

**Diamond bullets** (used in myorders header, line 304):

```tsx
<div className="w-1.5 h-1.5 bg-rose-gold/60 diamond-shape" />
```

**Section header pattern**:

```tsx
<div className="flex items-center gap-3 mb-2">
  <div className="w-1.5 h-1.5 bg-rose-gold/60 diamond-shape" />
  <h2 className="text-2xl md:text-3xl font-primary text-charcoal">
    Section Title
  </h2>
</div>
<p className="font-secondary text-charcoal/60 ml-5">
  Description text
</p>
```

### 7. Image Overlays

**On hover** (ProductCard, CategorySection):

```tsx
<div
  className="absolute inset-0 bg-gradient-to-t
                from-charcoal/20 via-transparent to-transparent
                opacity-0 group-hover:opacity-100
                transition-opacity duration-500"
/>
```

### 8. Empty States

**Pattern** (from myorders empty state, lines 314-337):

```tsx
<div className="relative bg-warm-white p-12 text-center">
  {/* Border + 4 corner accents */}
  <div className="absolute inset-0 border border-rose-gold/10" />
  <div
    className="absolute top-0 left-0 w-8 h-8 border-l border-t
                  border-rose-gold/30"
  />
  {/* ...3 more corners */}

  <div className="relative">
    <Icon className="w-16 h-16 text-charcoal/20 mx-auto mb-6" />
    <h3 className="text-xl font-primary text-charcoal mb-3">
      Empty State Title
    </h3>
    <p className="text-sm font-secondary text-charcoal/60 mb-6">Description</p>
    <Button>Call to Action</Button>
  </div>
</div>
```

## How to Apply a New Theme

**IMPORTANT REMINDER**: This is a completely dynamic theming system. You are NOT limited to the example colors shown in this guide. The workflow is:

1. **User specifies desired theme** - "I want ocean blues" or "I want forest greens" or "I want neon cyberpunk"
2. **Choose appropriate color names** - Name variables based on the theme (ocean-blue, forest-green, neon-pink, etc.)
3. **Update CSS variables** - Replace ALL color values in `globals.css`
4. **Update Tailwind config** - Rename color keys in `tailwind.config.ts`
5. **Find & replace in components** - Replace old color names with new names across all files

The structure below guides you through this process for ANY color scheme.

### Step 1: Choose Your Color Palette

Decide on your theme based on your e-commerce vertical or user requirements:

**Examples**:

- **Tech Store**: Dark grays, electric blue accents, modern sans-serif
- **Fashion Boutique**: Soft pastels, black & white, elegant serif
- **Organic Food**: Earthy greens, natural browns, warm cream
- **Luxury Watches**: Deep navy, gold accents, sophisticated serif
- **Handmade Crafts**: Vibrant colors, playful accents, friendly fonts

**Pick 5-7 colors** (the roles stay the same, names/values are YOUR choice):

1. **Main background** (lightest) - The page background color
   - Example names: `--warm-white`, `--pearl-white`, `--midnight-black`, `--cream-canvas`
2. **Secondary background** - Cards, sections, subtle background
   - Example names: `--cream`, `--sand`, `--charcoal-light`, `--soft-gray`
3. **Text color** (darkest) - Main text/foreground
   - Example names: `--charcoal`, `--slate`, `--ink-black`, `--pure-white`
4. **Primary accent** - Main brand color (buttons, links, highlights)
   - Example names: `--rose-gold`, `--ocean-blue`, `--forest-green`, `--neon-pink`
5. **Secondary accent** - Complementary color
   - Example names: `--champagne`, `--seafoam`, `--sage`, `--electric-purple`
6. **Subtle accent** - Tertiary/decorative
   - Example names: `--soft-blush`, `--coral`, `--mint`, `--lavender`
7. **Dark accent** - Contrast/sale/warning color
   - Example names: `--deep-burgundy`, `--deep-navy`, `--dark-forest`, `--crimson`

### Step 2: Update `globals.css`

**File**: `d:\Projektit\Verkkokaupat\testi-kauppa\src\app\globals.css`

Replace CSS variables in `:root` (lines 6-50):

```css
:root {
  /* Example: Tech Store Theme */
  --background: 220 15% 98%; /* Light gray-blue */
  --foreground: 220 20% 10%; /* Almost black */
  --card: 220 10% 95%; /* Slightly darker than bg */

  --primary: 220 90% 56%; /* Electric blue */
  --primary-foreground: 220 15% 98%;
  --secondary: 220 15% 88%;
  --secondary-foreground: 220 20% 10%;

  /* Custom theme colors */
  --electric-blue: 220 90% 56%; /* Replace rose-gold */
  --steel-gray: 220 10% 45%; /* Replace champagne */
  --light-gray: 220 10% 95%; /* Replace cream */
  --off-white: 220 15% 98%; /* Replace warm-white */
  --cyan-accent: 190 80% 50%; /* Replace soft-blush */
  --navy-dark: 220 50% 20%; /* Replace deep-burgundy */
  --charcoal: 220 20% 10%; /* Keep or adjust */
}
```

**Important**: If renaming custom colors (e.g., `rose-gold` → `electric-blue`), also update `tailwind.config.ts`.

### Step 3: Update `tailwind.config.ts`

**File**: `d:\Projektit\Verkkokaupat\testi-kauppa\tailwind.config.ts`

If you renamed custom colors, update color definitions (lines 56-62):

```typescript
colors: {
  // ... existing semantic colors ...

  // Rename custom colors to match your theme
  "electric-blue": "hsl(var(--electric-blue))",
  "steel-gray": "hsl(var(--steel-gray))",
  "light-gray": "hsl(var(--light-gray))",
  "off-white": "hsl(var(--off-white))",
  "cyan-accent": "hsl(var(--cyan-accent))",
  "navy-dark": "hsl(var(--navy-dark))",
  charcoal: "hsl(var(--charcoal))",
}
```

### Step 4: Update Fonts

**File**: `src/lib/fonts.ts` (create if doesn't exist)

Choose distinctive fonts following the `artistic-styling` skill guidelines:

**Good pairings**:

- **Tech**: JetBrains Mono (headings) + Inter (body) - but avoid if too generic
- **Editorial**: Playfair Display (headings) + Source Sans 3 (body)
- **Modern**: Outfit (headings) + Plus Jakarta Sans (body)
- **Luxury**: Cormorant Garamond (headings) + Montserrat (body)

```typescript
import { Plus_Jakarta_Sans, Outfit } from "next/font/google";

const primary = Outfit({
  subsets: ["latin"],
  variable: "--font-primary",
});

const secondary = Plus_Jakarta_Sans({
  subsets: ["latin"],
  variable: "--font-secondary",
});

export { primary, secondary };
```

### Step 5: Global Find & Replace

Use your IDE's find & replace to swap color class names across all components.

**Find**: `rose-gold`
**Replace**: `electric-blue` (or your primary accent)

**Find**: `champagne`
**Replace**: `steel-gray` (or your secondary accent)

**Find**: `warm-white`
**Replace**: `off-white` (or your main background)

**Find**: `deep-burgundy`
**Replace**: `navy-dark` (or your sale/warning color)

**Files to update** (all modified files from git status):

- All components in `src/components/`
- All pages in `src/app/`
- `globals.css` utility classes (lines 143-254)

### Step 6: Update Custom Utility Classes

**File**: `src/app/globals.css` (lines 143-254)

Update gradient utilities to match new colors:

```css
.text-gradient-gold {
  /* Change to your primary accent gradient */
  background: linear-gradient(
    135deg,
    hsl(220 90% 56%),
    hsl(190 80% 50%),
    hsl(220 90% 56%)
  );
  /* ... */
}

.shimmer-gold {
  /* Update shimmer colors */
  background: linear-gradient(
    110deg,
    transparent 20%,
    hsl(220 90% 70% / 0.4) 40%,
    hsl(220 90% 80% / 0.6) 50%,
    hsl(220 90% 70% / 0.4) 60%,
    transparent 80%
  );
  /* ... */
}
```

### Step 7: Test & Refine

1. **Run dev server**: `npm run dev`
2. **Check all pages**:
   - Homepage (`/`)
   - Product listing (`/products`)
   - Product detail (`/product/[slug]`)
   - Cart & Checkout
   - Dashboard pages (login first)
   - About & Contact
3. **Test interactions**:
   - Hover states
   - Focus states (forms)
   - Active states (navigation)
   - Animations
4. **Responsive design**:
   - Mobile (< 768px)
   - Tablet (768px - 1024px)
   - Desktop (> 1024px)

### Step 8: Adjust Opacity & Contrast

Fine-tune color opacities for subtle effects:

- Borders: `/10`, `/20`, `/30` opacity
- Hover states: `/20` → `/40` transition
- Backgrounds: `/30`, `/50` for overlays
- Text: `/60`, `/70`, `/80` for hierarchy

Check WCAG contrast ratios:

- Text on background: minimum 4.5:1
- Large text (18px+): minimum 3:1
- Use a contrast checker tool

## Integration with Artistic Styling Skill

This theme skill works alongside the `artistic-styling` skill (`.claude/skills/artistic-styling/SKILL.md`).

**When to use each**:

- **artistic-styling**: Creating NEW components or designing from scratch
- **ecommerce-theming**: Restyling EXISTING components with a new theme

**Shared principles**:

- Avoid generic fonts (Inter, Roboto) - use distinctive choices
- Use CSS variables for consistency
- Commit to a cohesive color palette
- High contrast typography (weight, size)
- Meaningful animations and micro-interactions
- Tailwind v4 compatibility (use `gap-*`, not `space-x-*`)

## Quick Reference: Component Checklist

When applying a new theme, update these component categories:

- [ ] **Theme Config**

  - [ ] `globals.css` - CSS variables
  - [ ] `tailwind.config.ts` - Color definitions
  - [ ] `src/lib/fonts.ts` - Font imports
  - [ ] `src/app/layout.tsx` - Font className application

- [ ] **Navigation** (3 files)

  - [ ] `Navbar.tsx`
  - [ ] `NavbarLinks.tsx`
  - [ ] `MobileLinks.tsx`

- [ ] **Homepage** (4 files)

  - [ ] `Hero.tsx`
  - [ ] `Homepage/CategorySection.tsx`
  - [ ] `Homepage/AboutMeSection.tsx`
  - [ ] `src/app/(storefront)/page.tsx`

- [ ] **Products** (5 files)

  - [ ] `ProductCard.tsx`
  - [ ] `Product/ProductDetail.tsx`
  - [ ] `Product/Pagination.tsx`
  - [ ] `Product/SortOptions.tsx`
  - [ ] `src/app/(storefront)/products/[...slug]/page.tsx`

- [ ] **Cart & Checkout** (10 files)

  - [ ] `Cart/Cart.tsx`
  - [ ] `Cart/CartItem.tsx`
  - [ ] `Cart/CartPage.tsx`
  - [ ] `Cart/CampaignAddedCartItems.tsx`
  - [ ] `Cart/CheckoutButton.tsx`
  - [ ] `Checkout/CheckoutSteps.tsx`
  - [ ] `Checkout/CustomerDataForm.tsx`
  - [ ] `Checkout/SelectShipmentMethod.tsx`
  - [ ] `Checkout/PaytrailCheckoutPage.tsx`
  - [ ] `Checkout/StripeCheckoutPage.tsx`

- [ ] **Auth & Dashboard** (8 files)

  - [ ] `Auth/Loginform.tsx`
  - [ ] `Auth/RegisterForm.tsx`
  - [ ] `Auth/DeleteWishListButton.tsx`
  - [ ] `CustomerDashboard/EditCustomerForm.tsx`
  - [ ] `src/app/(auth)/(dashboard)/layout.tsx`
  - [ ] `src/app/(auth)/(dashboard)/mypage/page.tsx`
  - [ ] `src/app/(auth)/(dashboard)/myorders/page.tsx`
  - [ ] `src/app/(auth)/(dashboard)/mywishlist/page.tsx`

- [ ] **About & Contact** (5 files)

  - [ ] `Aboutpage/AboutBlock.tsx`
  - [ ] `Aboutpage/AboutCTA.tsx`
  - [ ] `Aboutpage/AboutHero.tsx`
  - [ ] `Contactpage/ContactForm.tsx`
  - [ ] `src/app/(storefront)/about/page.tsx`

- [ ] **Layout & Common** (4 files)
  - [ ] `Footer.tsx`
  - [ ] `subtitle.tsx`
  - [ ] `src/app/layout.tsx`
  - [ ] `src/app/(storefront)/verify-email/page.tsx`

**Total**: ~45 files to update for complete theme change

## Example Theme Transformations

**These are just EXAMPLES - your theme can be ANYTHING you want!**

### Example 1: Artisan Jewelry → Modern Tech Store

**User Request**: "I want a tech store with electric blue and dark grays"

**Changes**:

1. CSS variables in `globals.css`:
   - `--rose-gold: 15 45% 65%` → `--electric-blue: 220 90% 56%`
   - `--champagne: 38 45% 78%` → `--steel-gray: 220 10% 45%`
   - `--warm-white: 30 33% 98%` → `--off-white: 220 15% 98%`
   - `--deep-burgundy: 350 45% 30%` → `--navy-dark: 220 50% 20%`

2. Global find/replace:
   - `rose-gold` → `electric-blue` (~113 occurrences)
   - `champagne` → `steel-gray` (~28 occurrences)
   - `warm-white` → `off-white` (~95 occurrences)
   - `deep-burgundy` → `navy-dark` (~12 occurrences)

3. Fonts: Outfit + IBM Plex Sans

### Example 2: Artisan Jewelry → Organic Food Store

**User Request**: "I want earthy greens and natural browns for an organic food shop"

**Changes**:

1. CSS variables in `globals.css`:
   - `--rose-gold: 15 45% 65%` → `--forest-green: 140 45% 40%`
   - `--champagne: 38 45% 78%` → `--sage: 110 25% 65%`
   - `--warm-white: 30 33% 98%` → `--natural-cream: 40 30% 97%`
   - `--deep-burgundy: 350 45% 30%` → `--earth-brown: 25 50% 25%`

2. Global find/replace:
   - `rose-gold` → `forest-green`
   - `champagne` → `sage`
   - `warm-white` → `natural-cream`
   - `deep-burgundy` → `earth-brown`

3. Fonts: Newsreader + Source Sans 3

### Example 3: Artisan Jewelry → Neon Cyberpunk Store

**User Request**: "I want neon pink and purple on dark background for streetwear"

**Changes**:

1. CSS variables in `globals.css`:
   - `--rose-gold: 15 45% 65%` → `--neon-pink: 330 100% 60%`
   - `--champagne: 38 45% 78%` → `--electric-purple: 270 80% 65%`
   - `--warm-white: 30 33% 98%` → `--midnight: 240 20% 8%`
   - `--charcoal: 20 15% 18%` → `--pure-white: 0 0% 100%` (text now white!)
   - `--deep-burgundy: 350 45% 30%` → `--hot-magenta: 320 100% 50%`

2. Global find/replace + invert light/dark usage
3. Fonts: Syne + JetBrains Mono

**Key Point**: Notice how each transformation is completely different - colors, names, even light/dark inversions. The system is FULLY FLEXIBLE.

## Notes

- This skill documents the current state as of the latest git commit
- All components listed have been styled with the current theme
- Patterns are consistent across components for easy theming
- Use this as a map when customizing for different e-commerce verticals
- Combine with `artistic-styling` skill for best results when creating new components

## CRITICAL REMINDER FOR CLAUDE

When a user asks to apply a new theme:

1. **DO NOT** assume they want rose-gold, champagne, or any current colors
2. **ASK** what colors/theme they want if not specified
3. **CREATE** new color variable names that match their theme
4. **REPLACE** all color values with their chosen palette
5. **UPDATE** both `globals.css` AND `tailwind.config.ts` with new names
6. **FIND & REPLACE** old color names with new names across ALL components

**Example user requests you might receive**:
- "I want ocean blues and sandy beiges"
- "Make it dark mode with neon accents"
- "I want a luxury gold and black theme"
- "Give me forest greens and earthy browns"
- "I want pastel pink and lavender"

For EACH request, create a unique color system from scratch. The template structure stays the same, but colors are 100% customizable.

Files in this skill

  • 0Chan-smc__claude-code-workflow-lab__claude__skills__frontend-dev-guidelines__SKILL.md15.1 KB
  • 17hz__nextjs-template__claude__skills__example-skill__SKILL.md316 B
  • 1ambda__dataops-platform__claude__skills__context-synthesis__SKILL.md3.5 KB
  • 1natsu172__dotfiles__claude__skills__git-analysis__SKILL.md5.4 KB
  • 1natsu172__dotfiles__claude__skills__github-pr-best-practices__SKILL.md7.7 KB
  • 23Maestro__prospect-pipeline__claude__skills__npid-fastapi-skill.md26.1 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-javascript__SKILL.md15.7 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-code-python__SKILL.md17.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-expression-syntax__SKILL.md9.4 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-mcp-tools-expert__SKILL.md12.5 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-node-configuration__SKILL.md16.6 KB
  • 360AYA25__ClaudeN8N__claude__skills__n8n-workflow-patterns__SKILL.md11.2 KB
  • 3x-Projetos__claude-memory-framework__claude__skills__scientist__SKILL.md14.8 KB
  • 5MinFutures__futures-arena__claude__skills__migration-tracker__SKILL.md16.2 KB
  • 5MinFutures__futures-arena__claude__skills__planning-guidelines__SKILL.md11.8 KB
  • 92Bilal26__TaskPilotAI__claude__skills__assessment-builder__SKILL.md17.5 KB
  • 92Bilal26__TaskPilotAI__claude__skills__book-scaffolding__SKILL.md19.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__code-validation-sandbox__SKILL.md6.2 KB
  • 92Bilal26__TaskPilotAI__claude__skills__exercise-designer__SKILL.md18.1 KB
  • 92Bilal26__TaskPilotAI__claude__skills__learning-objectives__SKILL.md24.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…