diff --git a/.claude/skills/premium-frontend-designer/COMPONENT_RULES.md b/.claude/skills/premium-frontend-designer/COMPONENT_RULES.md new file mode 100644 index 0000000..866f574 --- /dev/null +++ b/.claude/skills/premium-frontend-designer/COMPONENT_RULES.md @@ -0,0 +1,236 @@ +# Component Rules + +Per-element rules. Apply when designing or reviewing the corresponding component. + +--- + +## Buttons + +**Primary** +- Gradient gold: `bg-gradient-to-r from-gold-light via-gold to-gold-deep` +- Text: `text-obsidian` (dark on gold for contrast) +- Shape: `rounded-full px-7 py-3.5 text-sm font-medium tracking-wide` +- Shadow: `shadow-[0_10px_40px_-12px_rgba(212,164,55,0.6)]` +- Hover shadow only: `hover:shadow-[0_18px_50px_-12px_rgba(242,194,91,0.8)]` +- Optional `magnetic` wrapper for cursor pull effect on desktop. + +**Outline** +- `border border-bone/20 text-bone hover:border-gold/60 hover:text-gold-light` +- Same shape as primary. + +**Ghost** +- `text-bone hover:text-gold-light` — no border, no fill. + +**Forbidden** +- Bright red CTA buttons (unless brand color is red). +- Square corners on action buttons. +- Solid `#000` or `#fff` backgrounds. +- Loading text inside button that breaks layout — use a spinner icon + word swap with fixed min-width. +- Success/error message **inside** button — render outside as a banner. + +--- + +## Cards + +**Standard card** +```tsx +
+ {/* hover amber glow (decorative) */} + {/* content */} + {/* gold underline sweep at bottom */} +
+``` + +**Premium / featured card** (used for cert card, sale card, hero CTA) +- `border-gold/25` +- `bg-gradient-to-br from-[#1a1407] via-[#0c0a06] to-[#1e1409]` +- `shadow-[0_30px_120px_-30px_rgba(212,164,55,0.45)]` +- Often has animated `shimmer` hairline on top edge. + +**Grid layout** +- `grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-N gap-4 md:gap-5` +- Apply `cardGrid` + `cardCell` variants for staggered entry. + +**Inside the card** +- Top row: small icon disc (`size-11 glass-gold`) + optional mono micro-label. +- Heading: `font-display text-2xl md:text-3xl`. +- Body: `text-sm text-mist leading-relaxed`. +- Bottom: optional "Learn more" link or gold underline sweep. + +--- + +## Section heading + +```tsx +
{/* or items-start for left-aligned */} + Section name + +

+ Plain words and a{" "} + gold accent phrase. +

+
+ +

+ One refined sentence describing the section. +

+
+
+``` + +**Rules** +- Always `text-balance` on h2 for clean wrapping. +- `text-pretty` on subtitle. +- Use SectionLabel with sequential index per page (01, 02, 03…). No mono font. +- One gold-accent phrase max per heading — overdoing gold cheapens it. + +--- + +## Navbar + +- Fixed top: `fixed inset-x-0 top-0 z-50`. +- Logo left, nav center/right, primary CTA + WhatsApp icon right. +- Scrolled state: `backdrop-blur-xl bg-obsidian/70 border-b border-bone/5`. +- Nav links: `text-sm font-medium tracking-[0.005em] text-bone/85 hover:text-gold-light`. +- Active state via `usePathname()` → `text-gold-light` + full-width underline + `aria-current="page"`. +- Mobile: hamburger right, menu drawer below, links close on click. + +--- + +## Footer + +**Layout — 4 columns, no duplication** + +| Column 1 | Column 2 | Column 3 | Column 4 | +|---|---|---|---| +| Brand + contact | Navigation | Services | Legal & App | +| Logo, tagline, phone, email, WhatsApp, Instagram | Home + all top-level routes | Specific service items | Privacy Policy + 2 store badges | + +**Rules** +- No page link appears in two columns. +- Privacy Policy lives only under Legal. +- App badges only in Legal & App column (footer) — official SVGs at 132 px width, 8 px gap. +- External links open in new tab with rel attrs. +- Background: `bg-obsidian` with subtle "LUXAM"-style watermark behind content (translate-y-[18%], opacity 0.025). +- Bottom row: `© YYYY {brand}. All rights reserved.` + tagline + agency credit (subtle, gold-underlined on hover). + +--- + +## Forms + +- Field wrapper: `