/* ============================================================
   RESTROEASE TEMPLATE FLAIR: Vivid
   Modern contemporary bistro theme (light-first, rounded).
   Loaded AFTER the main VIBGYOR color theme so it only layers
   the layout flair (airy neutrals, soft radius, bold display
   type) on top — the primary/brand colors are derived from the
   main theme.
   ============================================================ */

@layer base {
:root {
  color-scheme: light dark;
  --radius: 0.9rem;
  --background: oklch(0.99 0.004 300);
  --foreground: oklch(0.22 0.02 320);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.22 0.02 320);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.22 0.02 320);
  --secondary: oklch(0.955 0.01 300);
  --secondary-foreground: oklch(0.35 0.03 320);
  --muted: oklch(0.955 0.01 300);
  --muted-foreground: oklch(0.56 0.02 320);
  --accent: oklch(0.955 0.01 300);
  --accent-foreground: oklch(0.35 0.03 320);
  --destructive: oklch(0.577 0.245 27.325);
  --destructive-foreground: oklch(0.985 0 0);
  --border: oklch(0.92 0.01 300);
  --input: oklch(0.92 0.01 300);
  --sidebar: oklch(0.985 0.004 300);
  --sidebar-foreground: oklch(0.22 0.02 320);
  --sidebar-accent: oklch(0.955 0.01 300);
  --sidebar-accent-foreground: oklch(0.35 0.03 320);
  --sidebar-border: oklch(0.92 0.01 300);
  --sidebar-ring: oklch(0.85 0 0);

  /* Theme-tinted accent derived from the main theme color */
  --primary: color-mix(in oklch, var(--brand-500) 72%, black);
  --primary-foreground: oklch(0.985 0.01 322);
  --ring: var(--primary);
  --chart-1: var(--primary);
  --chart-2: color-mix(in oklch, var(--brand-500) 55%, black);
  --chart-3: color-mix(in oklch, var(--brand-500) 40%, black);
  --chart-4: color-mix(in oklch, var(--brand-500) 60%, black);
  --chart-5: color-mix(in oklch, var(--brand-500) 30%, black);
  --sidebar-primary: var(--primary);
  --sidebar-primary-foreground: var(--primary-foreground);
}

  @media (prefers-color-scheme: dark) {
    :root {
      --background: oklch(0.16 0.02 320);
      --foreground: oklch(0.94 0.01 320);
      --card: oklch(0.21 0.025 320);
      --card-foreground: oklch(0.94 0.01 320);
      --popover: oklch(0.21 0.025 320);
      --popover-foreground: oklch(0.94 0.01 320);
      --secondary: oklch(0.27 0.025 320);
      --secondary-foreground: oklch(0.94 0.01 320);
      --muted: oklch(0.27 0.025 320);
      --muted-foreground: oklch(0.68 0.02 320);
      --accent: oklch(0.27 0.025 320);
      --accent-foreground: oklch(0.94 0.01 320);
      --destructive: oklch(0.704 0.191 22.216);
      --destructive-foreground: oklch(0.985 0 0);
      --border: oklch(1 0 0 / 12%);
      --input: oklch(1 0 0 / 16%);
      --sidebar: oklch(0.21 0.025 320);
      --sidebar-foreground: oklch(0.94 0.01 320);
      --sidebar-accent: oklch(0.27 0.025 320);
      --sidebar-accent-foreground: oklch(0.94 0.01 320);
      --sidebar-border: oklch(1 0 0 / 12%);
      --sidebar-ring: oklch(0.85 0 0);

      /* Theme-tinted accent derived from the main theme color */
      --primary: color-mix(in oklch, var(--brand-500) 76%, white);
      --primary-foreground: oklch(0.2 0.01 322);
      --ring: var(--primary);
      --chart-1: var(--primary);
      --chart-2: color-mix(in oklch, var(--brand-500) 55%, white);
      --chart-3: color-mix(in oklch, var(--brand-500) 40%, white);
      --chart-4: color-mix(in oklch, var(--brand-500) 60%, white);
      --chart-5: color-mix(in oklch, var(--brand-500) 30%, white);
      --sidebar-primary: var(--primary);
      --sidebar-primary-foreground: var(--primary-foreground);
    }
  }
}

@layer utilities {
  .font-display-vivid {
    font-family: var(--font-sans), system-ui, sans-serif;
  }
}