:root {
  /* ===== CPW Brand Colors ===== */
  /* Derived from CPW-wordmark-color.png:
     "CostPlus" = deep royal blue, "Wellness" = sky blue, "MARK CUBAN" = dark navy */
  --color-primary:       #2D5CB8;   /* deep blue — buttons, links, highlights */
  --color-primary-hover: #2449A0;   /* darker on hover */
  --color-accent:        #5CB8F5;   /* sky blue — badges, tags, secondary elements */
  --color-accent-light:  #D6EEFF;   /* very light sky blue — badge backgrounds */
  --color-primary-dark:  #1A3A6B;   /* dark navy — header background */
  --color-primary-dark2: #122a52;   /* deeper navy — header gradient end */

  /* ===== Neutral Palette ===== */
  --color-bg:            #F0F4FA;   /* light blue-gray page background */
  --color-surface:       #FFFFFF;   /* card / panel background */
  --color-surface-hover: #F7FAFF;   /* card hover state */
  --color-border:        #DDE3EE;   /* subtle card border */
  --color-border-focus:  #2D5CB8;   /* focused input border */

  /* ===== Text ===== */
  --color-text:          #1A1A2E;   /* near-black body text */
  --color-text-secondary:#374151;   /* secondary labels */
  --color-text-muted:    #6B7280;   /* muted / metadata text */
  --color-text-inverse:  #FFFFFF;   /* text on dark backgrounds */

  /* ===== Status ===== */
  --color-pcp-bg:        #EEF9F0;
  --color-pcp-text:      #166534;
  --color-pcp-border:    #86EFAC;

  /* ===== Typography ===== */
  --font-family:   'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-size-xs:  0.75rem;    /*  12px */
  --font-size-sm:  0.875rem;   /*  14px */
  --font-size-md:  1rem;       /*  16px */
  --font-size-lg:  1.125rem;   /*  18px */
  --font-size-xl:  1.25rem;    /*  20px */
  --font-size-2xl: 1.5rem;     /*  24px */
  --font-size-3xl: 2rem;       /*  32px */

  --font-weight-normal:  400;
  --font-weight-medium:  500;
  --font-weight-semibold:600;
  --font-weight-bold:    700;

  --line-height-tight:  1.25;
  --line-height-normal: 1.5;
  --line-height-relaxed:1.75;

  /* ===== Spacing ===== */
  --space-1:  0.25rem;   /*  4px */
  --space-2:  0.5rem;    /*  8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */

  /* ===== Border Radius ===== */
  --radius-sm:   0.25rem;   /*  4px */
  --radius-md:   0.5rem;    /*  8px */
  --radius-lg:   0.75rem;   /* 12px */
  --radius-xl:   1rem;      /* 16px */
  --radius-full: 9999px;

  /* ===== Shadows ===== */
  --shadow-sm:  0 1px 2px 0 rgba(26, 58, 107, 0.06);
  --shadow-md:  0 4px 6px -1px rgba(26, 58, 107, 0.08), 0 2px 4px -1px rgba(26, 58, 107, 0.06);
  --shadow-lg:  0 10px 15px -3px rgba(26, 58, 107, 0.10), 0 4px 6px -2px rgba(26, 58, 107, 0.06);

  /* ===== Transitions ===== */
  --transition-fast:   150ms ease;
  --transition-normal: 250ms ease;

  /* ===== Layout ===== */
  --max-width:        1100px;
  --search-max-width: 900px;
  --header-height:    72px;
}
