/* ==========================================================================
   Design System Tokens
   ========================================================================== */

/* ===== CONTRACTOR PALETTES ===== */

/* ---------- Contractor Palette 1: Earth (brown/tan) ---------- */
:root[data-niche="contractor"][data-palette="1"] {
  --color-primary: #8B4513;
  --color-secondary: #D2B48C;
  --color-accent: #CD853F;
  --color-bg: #FFF8F0;
  --color-text: #2D1B0E;
  --color-text-light: #6B5744;
}

/* ---------- Contractor Palette 2: Industrial (slate/orange) ---------- */
:root[data-niche="contractor"][data-palette="2"] {
  --color-primary: #4A5568;
  --color-secondary: #ED8936;
  --color-accent: #E53E3E;
  --color-bg: #F7FAFC;
  --color-text: #1A202C;
  --color-text-light: #718096;
}

/* ---------- Contractor Palette 3: Clean (navy/white) ---------- */
:root[data-niche="contractor"][data-palette="3"] {
  --color-primary: #1A365D;
  --color-secondary: #E2E8F0;
  --color-accent: #3182CE;
  --color-bg: #FFFFFF;
  --color-text: #1A202C;
  --color-text-light: #4A5568;
}

/* ===== RESTAURANT PALETTES ===== */

/* ---------- Restaurant Palette 1: Warm (burgundy/gold) ---------- */
:root[data-niche="restaurant"][data-palette="1"] {
  --color-primary: #722F37;
  --color-secondary: #C9A84C;
  --color-accent: #8B0000;
  --color-bg: #FFF9F0;
  --color-text: #2C1810;
  --color-text-light: #6B4C3B;
}

/* ---------- Restaurant Palette 2: Fresh (green/cream) ---------- */
:root[data-niche="restaurant"][data-palette="2"] {
  --color-primary: #2D5016;
  --color-secondary: #F5F0E1;
  --color-accent: #6B8E23;
  --color-bg: #FDFDF5;
  --color-text: #1A2410;
  --color-text-light: #556B2F;
}

/* ---------- Restaurant Palette 3: Modern (black/amber) ---------- */
:root[data-niche="restaurant"][data-palette="3"] {
  --color-primary: #1A1A1A;
  --color-secondary: #F5A623;
  --color-accent: #D4920B;
  --color-bg: #FFFFFF;
  --color-text: #1A1A1A;
  --color-text-light: #555555;
}

/* ===== SALON PALETTES ===== */

/* ---------- Salon Palette 1: Soft (blush/rose) ---------- */
:root[data-niche="salon"][data-palette="1"] {
  --color-primary: #C48B9F;
  --color-secondary: #F5E6EC;
  --color-accent: #D4436B;
  --color-bg: #FFF5F8;
  --color-text: #3D2029;
  --color-text-light: #7A5A65;
}

/* ---------- Salon Palette 2: Elegant (purple/gold) ---------- */
:root[data-niche="salon"][data-palette="2"] {
  --color-primary: #5B2C6F;
  --color-secondary: #C9A84C;
  --color-accent: #7D3C98;
  --color-bg: #FAF5FF;
  --color-text: #2C1338;
  --color-text-light: #6C4A7A;
}

/* ---------- Salon Palette 3: Modern (teal/white) ---------- */
:root[data-niche="salon"][data-palette="3"] {
  --color-primary: #008080;
  --color-secondary: #E0F7F7;
  --color-accent: #20B2AA;
  --color-bg: #FFFFFF;
  --color-text: #1A2F2F;
  --color-text-light: #4A6B6B;
}

/* ===== MEDICAL PALETTES ===== */

/* ---------- Medical Palette 1: Clinical (blue/white) ---------- */
:root[data-niche="medical"][data-palette="1"] {
  --color-primary: #2B6CB0;
  --color-secondary: #EBF8FF;
  --color-accent: #3182CE;
  --color-bg: #FFFFFF;
  --color-text: #1A365D;
  --color-text-light: #4A6FA5;
}

/* ---------- Medical Palette 2: Warm (teal/cream) ---------- */
:root[data-niche="medical"][data-palette="2"] {
  --color-primary: #0D9488;
  --color-secondary: #F0FDFA;
  --color-accent: #14B8A6;
  --color-bg: #FAFEF9;
  --color-text: #134E4A;
  --color-text-light: #4A7C78;
}

/* ---------- Medical Palette 3: Professional (navy/gray) ---------- */
:root[data-niche="medical"][data-palette="3"] {
  --color-primary: #1E3A5F;
  --color-secondary: #E2E8F0;
  --color-accent: #4A6FA5;
  --color-bg: #F8FAFC;
  --color-text: #1A202C;
  --color-text-light: #64748B;
}

/* ===== RETAIL PALETTES ===== */

/* ---------- Retail Palette 1: Vibrant (coral/teal) ---------- */
:root[data-niche="retail"][data-palette="1"] {
  --color-primary: #E76F51;
  --color-secondary: #2A9D8F;
  --color-accent: #F4A261;
  --color-bg: #FFFBF5;
  --color-text: #264653;
  --color-text-light: #5A7D7B;
}

/* ---------- Retail Palette 2: Classic (navy/gold) ---------- */
:root[data-niche="retail"][data-palette="2"] {
  --color-primary: #1B2A4A;
  --color-secondary: #C9A84C;
  --color-accent: #B8860B;
  --color-bg: #FAFBFC;
  --color-text: #1B2A4A;
  --color-text-light: #5A6A8A;
}

/* ---------- Retail Palette 3: Minimal (black/white) ---------- */
:root[data-niche="retail"][data-palette="3"] {
  --color-primary: #111111;
  --color-secondary: #F5F5F5;
  --color-accent: #333333;
  --color-bg: #FFFFFF;
  --color-text: #111111;
  --color-text-light: #666666;
}

/* ===== LEGAL PALETTES ===== */

/* ---------- Legal Palette 1: Conservative (navy/burgundy) ---------- */
:root[data-niche="legal"][data-palette="1"] {
  --color-primary: #1B2A4A;
  --color-secondary: #722F37;
  --color-accent: #8B4513;
  --color-bg: #FAFBFC;
  --color-text: #1A202C;
  --color-text-light: #4A5568;
}

/* ---------- Legal Palette 2: Modern (slate/gold) ---------- */
:root[data-niche="legal"][data-palette="2"] {
  --color-primary: #475569;
  --color-secondary: #C9A84C;
  --color-accent: #B8860B;
  --color-bg: #FFFFFF;
  --color-text: #1E293B;
  --color-text-light: #64748B;
}

/* ---------- Legal Palette 3: Classic (forest/cream) ---------- */
:root[data-niche="legal"][data-palette="3"] {
  --color-primary: #2D4A22;
  --color-secondary: #F5F0E1;
  --color-accent: #4A6B3A;
  --color-bg: #FDFDF5;
  --color-text: #1A2E14;
  --color-text-light: #556B45;
}

/* ===== FITNESS PALETTES ===== */

/* ---------- Fitness Palette 1: Energetic (red/black) ---------- */
:root[data-niche="fitness"][data-palette="1"] {
  --color-primary: #DC2626;
  --color-secondary: #1A1A1A;
  --color-accent: #EF4444;
  --color-bg: #FAFAFA;
  --color-text: #111111;
  --color-text-light: #525252;
}

/* ---------- Fitness Palette 2: Fresh (lime/charcoal) ---------- */
:root[data-niche="fitness"][data-palette="2"] {
  --color-primary: #65A30D;
  --color-secondary: #2D2D2D;
  --color-accent: #84CC16;
  --color-bg: #FAFFF5;
  --color-text: #1A2E05;
  --color-text-light: #4A5D3A;
}

/* ---------- Fitness Palette 3: Bold (orange/navy) ---------- */
:root[data-niche="fitness"][data-palette="3"] {
  --color-primary: #EA580C;
  --color-secondary: #1E3A5F;
  --color-accent: #F97316;
  --color-bg: #FFFBF5;
  --color-text: #1C1917;
  --color-text-light: #57534E;
}

/* ===== REAL ESTATE PALETTES ===== */

/* ---------- Real Estate Palette 1: Luxury (gold/navy) ---------- */
:root[data-niche="real-estate"][data-palette="1"] {
  --color-primary: #B8860B;
  --color-secondary: #1B2A4A;
  --color-accent: #DAA520;
  --color-bg: #FFFDF5;
  --color-text: #1A1A0E;
  --color-text-light: #5A5A3E;
}

/* ---------- Real Estate Palette 2: Trust (blue/white) ---------- */
:root[data-niche="real-estate"][data-palette="2"] {
  --color-primary: #2563EB;
  --color-secondary: #EFF6FF;
  --color-accent: #3B82F6;
  --color-bg: #FFFFFF;
  --color-text: #1E3A5F;
  --color-text-light: #6B88A8;
}

/* ---------- Real Estate Palette 3: Modern (emerald/gray) ---------- */
:root[data-niche="real-estate"][data-palette="3"] {
  --color-primary: #059669;
  --color-secondary: #E5E7EB;
  --color-accent: #10B981;
  --color-bg: #F9FAFB;
  --color-text: #111827;
  --color-text-light: #6B7280;
}

/* ===== PET SERVICES PALETTES ===== */

/* ---------- Pet Services Palette 1: Playful (orange/teal) ---------- */
:root[data-niche="pet-services"][data-palette="1"] {
  --color-primary: #E67E22;
  --color-secondary: #16A085;
  --color-accent: #F39C12;
  --color-bg: #FFFAF0;
  --color-text: #2C1810;
  --color-text-light: #6B5B4F;
}

/* ---------- Pet Services Palette 2: Natural (green/brown) ---------- */
:root[data-niche="pet-services"][data-palette="2"] {
  --color-primary: #27AE60;
  --color-secondary: #8B6914;
  --color-accent: #2ECC71;
  --color-bg: #F9FFF5;
  --color-text: #1A3A1A;
  --color-text-light: #4A6B4A;
}

/* ---------- Pet Services Palette 3: Soft (lavender/cream) ---------- */
:root[data-niche="pet-services"][data-palette="3"] {
  --color-primary: #7C3AED;
  --color-secondary: #FFF8E7;
  --color-accent: #A78BFA;
  --color-bg: #FAF5FF;
  --color-text: #2D1B69;
  --color-text-light: #6B5B8D;
}

/* ===== CLEANING PALETTES ===== */

/* ---------- Cleaning Palette 1: Fresh (green/blue) ---------- */
:root[data-niche="cleaning"][data-palette="1"] {
  --color-primary: #16A34A;
  --color-secondary: #2563EB;
  --color-accent: #22C55E;
  --color-bg: #F0FFF4;
  --color-text: #14532D;
  --color-text-light: #3F6B52;
}

/* ---------- Cleaning Palette 2: Clean (white/sky blue) ---------- */
:root[data-niche="cleaning"][data-palette="2"] {
  --color-primary: #0EA5E9;
  --color-secondary: #F0F9FF;
  --color-accent: #38BDF8;
  --color-bg: #FFFFFF;
  --color-text: #0C4A6E;
  --color-text-light: #4A8DB5;
}

/* ---------- Cleaning Palette 3: Professional (teal/gray) ---------- */
:root[data-niche="cleaning"][data-palette="3"] {
  --color-primary: #0D9488;
  --color-secondary: #D1D5DB;
  --color-accent: #14B8A6;
  --color-bg: #F9FAFB;
  --color-text: #1F2937;
  --color-text-light: #6B7280;
}

/* ---------- Typography ---------- */
:root {
  --font-heading: 'Oswald', sans-serif;
  --font-body: 'Open Sans', sans-serif;

  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: 2.5rem;
  --fs-4xl: 3rem;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ---------- Spacing ---------- */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;

  /* ---------- Borders / Radius ---------- */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-full: 9999px;

  /* ---------- Shadows ---------- */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.1);

  /* ---------- Transitions ---------- */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
}

/* ===== NICHE FONT OVERRIDES ===== */
:root[data-niche="restaurant"] {
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Lato', sans-serif;
}
:root[data-niche="salon"] {
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Nunito', sans-serif;
}
:root[data-niche="medical"] {
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Source Sans 3', sans-serif;
}
:root[data-niche="retail"] {
  --font-heading: 'Poppins', sans-serif;
  --font-body: 'Roboto', sans-serif;
}
:root[data-niche="legal"] {
  --font-heading: 'Merriweather', serif;
  --font-body: 'Source Serif 4', serif;
}
:root[data-niche="fitness"] {
  --font-heading: 'Bebas Neue', sans-serif;
  --font-body: 'Inter', sans-serif;
}
:root[data-niche="real-estate"] {
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Raleway', sans-serif;
}
:root[data-niche="pet-services"] {
  --font-heading: 'Fredoka', sans-serif;
  --font-body: 'Quicksand', sans-serif;
}
:root[data-niche="cleaning"] {
  --font-heading: 'Montserrat', sans-serif;
  --font-body: 'Open Sans', sans-serif;
}
