/**
 * @file theme.css
 * Kenton Panas, M.D. — Brand customization for Mercury theme.
 *
 * Navy/blue medical professional palette.
 * Brand colors:
 *   Navy:       #1a3a5c  oklch(0.342 0.071 251.856)
 *   Blue:       #2196F3  oklch(0.658 0.169 248.823)
 *   Light Blue: #4fc3f7  oklch(0.773 0.127 231.134)
 *   Sky Blue:   #29b6f6  oklch(0.734 0.145 234.631)
 *   Charcoal:   #282828  oklch(0.277 0.000 263.283)
 *   Dark Navy:  #0f2540  oklch(0.262 0.058 254.797)
 */

:root {
  /* Backgrounds */
  --background: oklch(1 0 0);
  --foreground: oklch(0.262 0.058 254.797);

  /* Cards */
  --card: oklch(0.975 0.002 250);
  --card-foreground: oklch(0.262 0.058 254.797);

  /* Primary — Navy blue brand color */
  --primary: oklch(0.342 0.071 251.856);
  --primary-foreground: oklch(1 0 0);

  /* Secondary — Light gray with blue tint */
  --secondary: oklch(0.95 0.008 250);
  --secondary-foreground: oklch(0.342 0.071 251.856);

  /* Muted */
  --muted: oklch(0.96 0.005 250);
  --muted-foreground: oklch(0.45 0.03 252);

  /* Accent — Light blue */
  --accent: oklch(0.773 0.127 231.134);
  --accent-foreground: oklch(0.262 0.058 254.797);

  /* Destructive */
  --destructive: oklch(0.637 0.208 25.331);
  --destructive-foreground: oklch(1 0 0);

  /* Borders & inputs */
  --border: oklch(0.88 0.01 250);
  --input: oklch(0.88 0.01 250);

  /* Typography — Poppins for headings feel, system for body */
  --font-sans: "Outfit", "Helvetica Neue", Arial, Helvetica, sans-serif;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: "Fira Mono", "Menlo", "Consolas", "Liberation Mono", monospace;

  /* Rounded corners */
  --radius: 0.5rem;

  /* Shadows */
  --shadow-x: 0;
  --shadow-y: 1px;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-opacity: 0.1;
  --shadow-color: oklch(0.262 0.058 254.797);
  --shadow-2xs: 0 1px 3px 1px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0 1px 3px 1px hsl(0 0% 0% / 0.05), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
  --shadow-sm: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
  --shadow: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
  --shadow-md: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 4px 6px -2px hsl(0 0% 0% / 0.1);
  --shadow-lg: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 8px 10px -2px hsl(0 0% 0% / 0.1);
  --shadow-xl: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 12px 14px -3px hsl(0 0% 0% / 0.1);
  --shadow-2xl: 0 1px 3px 1px hsl(0 0% 0% / 0.1), 0 16px 18px -3px hsl(0 0% 0% / 0.1);
  --tracking-normal: 0em;
  --spacing: 0.25rem;

  --navbar-height: calc(var(--spacing) * 15);

  @media (min-width: 768px) {
    --navbar-height: calc(var(--spacing) * 18);
  }
}

.dark {
  /* Dark mode — navy-based */
  --background: oklch(0.262 0.058 254.797);
  --foreground: oklch(0.97 0.002 250);
  --card: oklch(0.342 0.071 251.856);
  --card-foreground: oklch(0.97 0.002 250);
  --primary: oklch(0.658 0.169 248.823);
  --primary-foreground: oklch(1 0 0);
  --secondary: oklch(0.40 0.04 252);
  --secondary-foreground: oklch(0.97 0.002 250);
  --muted: oklch(0.342 0.071 251.856);
  --muted-foreground: oklch(0.75 0.03 250);
  --accent: oklch(0.773 0.127 231.134);
  --accent-foreground: oklch(0.262 0.058 254.797);
  --destructive: oklch(0.637 0.208 25.331);
  --destructive-foreground: oklch(1 0 0);
  --border: oklch(0.40 0.04 252);
  --input: oklch(0.40 0.04 252);
  --font-sans: "Outfit", "Helvetica Neue", Arial, Helvetica, sans-serif;
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: "Fira Mono", "Menlo", "Consolas", "Liberation Mono", monospace;
  --radius: 0.5rem;
  --shadow-x: 0;
  --shadow-y: 1px;
  --shadow-blur: 3px;
  --shadow-spread: 0px;
  --shadow-opacity: 0.1;
  --shadow-color: oklch(0 0 0);
  --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05);
  --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
  --shadow: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 1px 2px -1px hsl(0 0% 0% / 0.1);
  --shadow-md: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 2px 4px -1px hsl(0 0% 0% / 0.1);
  --shadow-lg: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 4px 6px -1px hsl(0 0% 0% / 0.1);
  --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 8px 10px -1px hsl(0 0% 0% / 0.1);
  --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.1), 0 12px 14px -1px hsl(0 0% 0% / 0.1);
}
