/* ==========================================================================
   Northgate Mortgage Partners: design tokens
   --------------------------------------------------------------------------
   BRAND COLORS LIVE HERE AND NOWHERE ELSE.
   To match a client's brand, replace the six --brand-* values below. Every
   button, heading, badge, footer and form control on the site derives from
   them, so a rebrand is a one-file change with no markup edits.
   ========================================================================== */

:root, [data-theme="light"] {

  /* ---- BRAND (swap these) -------------------------------------------- */
  --brand-primary:        #14304f;   /* deep navy   */
  --brand-primary-dark:   #0d2138;
  --brand-primary-light:  #23547f;
  --brand-accent:         #c08a2e;   /* warm gold   */
  --brand-accent-dark:    #a3711f;
  --brand-accent-light:   #ddb15f;
  /* -------------------------------------------------------------------- */

  /* Surfaces */
  --color-bg:               #f6f7f9;
  --color-surface:          #ffffff;
  --color-surface-2:        #f0f2f5;
  --color-surface-offset:   #e6e9ee;
  --color-divider:          #d5d9e0;
  --color-border:           #c9cfd9;

  /* Text */
  --color-text:             #16202e;
  --color-text-muted:       #566071;
  --color-text-faint:       #656d7c;
  --color-text-inverse:     #f8fafc;

  /* Primary role colors */
  --color-primary:           var(--brand-primary);
  --color-primary-hover:     var(--brand-primary-dark);
  --color-primary-active:    #071628;
  --color-primary-soft:      #dfe7ef;
  --color-primary-tint:      #eef3f8;

  /* Accent role colors */
  --color-accent:            var(--brand-accent);
  --color-accent-hover:      var(--brand-accent-dark);
  --color-accent-active:     #8a5e13;
  --color-accent-soft:       #f7edd9;
  /* Accent used as TEXT on a light surface. Brand gold is 3.04:1 on white,
     below the 4.5:1 AA floor; this variant is 5.6:1. */
  --color-accent-text:       #8a5f14;

  /* Semantic */
  --color-success:          #1f7a3d;
  --color-error:            #b3261e;
  --color-warning:          #a3711f;

  /* Radius */
  --radius-sm:   0.25rem;
  --radius-md:   0.5rem;
  --radius-lg:   0.75rem;
  --radius-xl:   1rem;
  --radius-2xl:  1.5rem;
  --radius-full: 9999px;

  /* Motion */
  --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-slow:        340ms cubic-bezier(0.16, 1, 0.3, 1);

  /* Elevation */
  --shadow-sm: 0 1px 3px rgba(22,32,46,0.08);
  --shadow-md: 0 4px 16px rgba(22,32,46,0.10);
  --shadow-lg: 0 12px 40px rgba(22,32,46,0.14);
  --shadow-xl: 0 24px 64px rgba(22,32,46,0.18);

  /* Content widths */
  --content-narrow:  680px;
  --content-default: 960px;
  --content-wide:    1200px;

  /* Type scale */
  --text-xs:   clamp(0.75rem,  0.71rem + 0.20vw, 0.8125rem);
  --text-sm:   clamp(0.875rem, 0.84rem + 0.18vw, 0.9375rem);
  --text-base: clamp(1rem,     0.97rem + 0.16vw, 1.0625rem);
  --text-lg:   clamp(1.125rem, 1.05rem + 0.40vw, 1.375rem);
  --text-xl:   clamp(1.375rem, 1.15rem + 1.00vw, 2rem);
  --text-2xl:  clamp(1.875rem, 1.35rem + 2.10vw, 3rem);
  --text-3xl:  clamp(2.25rem,  1.40rem + 3.20vw, 3.75rem);

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

  /* Fonts */
  --font-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body:    'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Layout constants */
  --header-h: 72px;
}

/* ---- Dark mode ------------------------------------------------------- */
[data-theme="dark"] {
  --color-bg:              #0b1520;
  --color-surface:         #101d2b;
  --color-surface-2:       #152436;
  --color-surface-offset:  #1b2d42;
  --color-divider:         #243951;
  --color-border:          #2d4560;

  --color-text:            #dde5ee;
  --color-text-muted:      #93a3b8;
  --color-text-faint:      #8090a6;
  --color-text-inverse:    #0b1520;

  --color-primary:         #5b9bd5;
  --color-primary-hover:   #78b0e2;
  --color-primary-active:  #94c3ee;
  --color-primary-soft:    #16293d;
  --color-primary-tint:    #132435;

  --color-accent:          #e0ab54;
  --color-accent-hover:    #eec076;
  --color-accent-active:   #f6d296;
  --color-accent-soft:     #35280f;
  --color-accent-text:     #e0ab54;

  --color-success:         #4caf6a;
  --color-error:           #ef5350;

  --shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.45);
  --shadow-lg: 0 12px 40px rgba(0,0,0,0.55);
  --shadow-xl: 0 24px 64px rgba(0,0,0,0.65);
}
