@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { /* Wix-inspired: white base, near-black ink, single Wix-Blue accent */ --background: 0 0% 100%; --foreground: 0 0% 7%; --card: 0 0% 100%; --card-foreground: 0 0% 7%; --popover: 0 0% 100%; --popover-foreground: 0 0% 7%; /* INK — primary action is black */ --primary: 0 0% 5%; --primary-foreground: 0 0% 100%; /* WIX BLUE — links, focus, active states, accents */ --brand: 217 100% 53%; --brand-foreground: 0 0% 100%; --brand-hover: 219 90% 46%; --secondary: 0 0% 96%; --secondary-foreground: 0 0% 7%; --muted: 0 0% 96%; --muted-foreground: 0 0% 42%; --accent: 0 0% 96%; --accent-foreground: 0 0% 7%; --destructive: 4 86% 58%; --destructive-foreground: 0 0% 100%; --success: 157 100% 30%; --warning: 24 100% 50%; --border: 0 0% 89%; --input: 0 0% 89%; --ring: 217 100% 53%; --radius: 0.875rem; } .dark { --background: 0 0% 5%; --foreground: 0 0% 98%; --card: 0 0% 8%; --card-foreground: 0 0% 98%; --popover: 0 0% 8%; --popover-foreground: 0 0% 98%; --primary: 0 0% 100%; --primary-foreground: 0 0% 5%; --brand: 217 100% 60%; --brand-foreground: 0 0% 100%; --brand-hover: 217 100% 66%; --secondary: 0 0% 13%; --secondary-foreground: 0 0% 98%; --muted: 0 0% 13%; --muted-foreground: 0 0% 64%; --accent: 0 0% 13%; --accent-foreground: 0 0% 98%; --destructive: 4 80% 58%; --destructive-foreground: 0 0% 100%; --success: 157 70% 45%; --warning: 24 100% 55%; --border: 0 0% 16%; --input: 0 0% 16%; --ring: 217 100% 60%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; font-feature-settings: "rlig" 1, "calt" 1, "ss01" 1; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } /* Headings use the Wix Madefor Display face by default */ h1, h2, h3, .font-display { font-family: var(--font-display), var(--font-sans), ui-sans-serif, system-ui, sans-serif; letter-spacing: -0.02em; } } @layer utilities { /* Subtle Wix-style radial wash for hero sections */ .bg-hero-wash { background-image: radial-gradient( 60% 60% at 50% 0%, hsl(var(--brand) / 0.1), transparent 70% ); } .text-balance { text-wrap: balance; } }