/* ==========================================================================
   Buy Property Data — Design Tokens (v3 · "Property Intelligence Core")
   Lavender surface, royal-blue brand (#2563eb) with #004ac6 depth,
   Plus Jakarta Sans + JetBrains Mono, midnight dark modules.
   ========================================================================== */

:root {
  /* ---- Brand ---- */
  --brand-primary: #2563eb;   /* interactive brand */
  --brand-hover:   #1d4ed8;
  --brand-active:  #1e40af;
  --brand-deep:    #004ac6;   /* depth / anchors */
  --brand-white:   #ffffff;
  --brand-black:   #020617;

  /* ---- Blue scale ---- */
  --blue-50:  #eff6ff; --blue-100: #dbeafe; --blue-200: #bfdbfe; --blue-300: #93c5fd;
  --blue-400: #60a5fa; --blue-500: #3b82f6; --blue-600: #2563eb; --blue-700: #1d4ed8;
  --blue-800: #1e40af; --blue-900: #1e3a8a; --blue-950: #172554;

  /* ---- Neutral (slate) scale ---- */
  --neutral-50:  #f8fafc; --neutral-100: #f1f5f9; --neutral-200: #e2e8f0; --neutral-300: #cbd5e1;
  --neutral-400: #94a3b8; --neutral-500: #64748b; --neutral-600: #475569; --neutral-700: #334155;
  --neutral-800: #1e293b; --neutral-900: #0f172a;

  /* ---- Lavender surfaces (Core) ---- */
  --surface:              #faf8ff;  /* page canvas */
  --surface-white:        #ffffff;  /* cards */
  --surface-container-low:#f2f3ff;
  --surface-container:    #eaedff;
  --surface-container-high:#e3e7ff;
  --surface-variant:      #dce1fb;

  /* ---- Dark (midnight) ---- */
  --dark-950: #020617;  /* inverted canvas */
  --dark-900: #0f172a;  /* dark card */
  --dark-800: #1e293b;  /* dark card hover */
  --dark-border: rgb(255 255 255 / 0.08);
  --dark-heading: #f8fafc;
  --dark-body: #cbd5e1;
  --dark-muted: #94a3b8;

  /* ---- Accents ---- */
  --accent-emerald: #10b981; --accent-emerald-dark: #059669;
  --emerald-bg: #ecfdf5; --emerald-border: #a7f3d0; --emerald-text: #065f46;
  --accent-sky: #0ea5e9; --sky-bg: #f0f9ff; --sky-border: #bae6fd; --sky-text: #0369a1;
  --accent-amber: #f59e0b; --amber-bg: #fffbeb; --amber-border: #fde68a; --amber-text: #92400e;
  --accent-rose: #ef4444;

  /* ---- Semantic ---- */
  --success-bg: var(--emerald-bg); --success-border: var(--emerald-border); --success-text: var(--emerald-text); --success-main: var(--accent-emerald);
  --warning-bg: var(--amber-bg); --warning-border: var(--amber-border); --warning-text: var(--amber-text); --warning-main: var(--accent-amber);
  --danger-bg: #fef2f2; --danger-border: #fecaca; --danger-text: #991b1b; --danger-main: var(--accent-rose);
  --info-bg: var(--blue-50); --info-border: var(--blue-200); --info-text: var(--blue-800); --info-main: var(--brand-primary);

  /* ---- Background roles ---- */
  --bg-page: var(--surface);
  --bg-surface: var(--surface-white);
  --bg-muted: var(--surface-container-low);
  --bg-blue: var(--surface-container);
  --bg-dark: var(--dark-950);
  --bg-dark-deep: var(--dark-950);

  /* ---- Text roles ---- */
  --text-primary: #101828;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-inverse: var(--dark-heading);
  --text-brand: var(--brand-primary);

  /* ---- Border roles ---- */
  --border-default: #e2e8f0;
  --border-subtle: #eef1f6;
  --border-strong: #cbd5e1;
  --border-lavender: var(--surface-variant);

  /* ---- Typography ---- */
  --font-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700; --fw-extrabold: 800;

  --lh-tight: 1.14; --lh-heading: 1.22; --lh-snug: 1.4; --lh-base: 1.6; --lh-relaxed: 1.7;

  --fs-hero: clamp(2.5rem, 3.2vw + 1.4rem, 3.5rem);   /* 40 -> 56 */
  --fs-h1:   clamp(1.75rem, 1.8vw + 1rem, 2.25rem);   /* 28 -> 36 */
  --fs-h2:   clamp(1.625rem, 1.6vw + 1rem, 2.25rem);  /* 26 -> 36 */
  --fs-h3:   1.5rem;    /* 24 headline-md */
  --fs-h4:   1.25rem;   /* 20 headline-sm */
  --fs-h5:   1.125rem;  /* 18 title-md */
  --fs-h6:   1rem;
  --fs-lg:   1rem;      /* body-lg 16 */
  --fs-base: 0.9375rem; /* body-md 15 */
  --fs-sm:   0.8125rem; /* body-sm 13 */
  --fs-xs:   0.75rem;   /* label-badge 12 */
  --fs-stat: 2rem;      /* label-numeric-stat 32 */
  --fs-micro: 0.6875rem;/* label-micro-caps 11 */

  /* ---- Radius ---- */
  --radius-sm: 6px; --radius-md: 8px; --radius-lg: 12px; --radius-xl: 16px; --radius-2xl: 24px;
  --radius-pill: 9999px; --radius-circle: 50%;

  /* ---- Shadows ---- */
  --shadow-xs: 0 1px 2px 0 rgb(15 23 42 / 0.04);
  --shadow-sm: 0 1px 3px 0 rgb(15 23 42 / 0.05), 0 1px 2px -1px rgb(15 23 42 / 0.05);
  --shadow-md: 0 10px 15px -3px rgb(15 23 42 / 0.08), 0 4px 6px -4px rgb(15 23 42 / 0.03);
  --shadow-lg: 0 20px 25px -5px rgb(15 23 42 / 0.10), 0 8px 10px -6px rgb(15 23 42 / 0.04);
  --shadow-card-hover: var(--shadow-md);
  --shadow-2xl: 0 25px 50px -12px rgb(15 23 42 / 0.18);
  --shadow-glow-sm: 0 0 15px -3px rgb(37 99 235 / 0.20);
  --shadow-glow: 0 0 20px -5px rgb(37 99 235 / 0.25);
  --shadow-brand: 0 8px 16px -6px rgb(37 99 235 / 0.28);

  /* ---- Spacing (8pt) ---- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px; --space-5: 20px;
  --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px;
  --space-20: 80px; --space-24: 96px; --space-30: 120px;

  /* ---- Layout ---- */
  --container-wide: 1280px; --container-max: 1280px; --container-narrow: 896px;
  --gutter: clamp(16px, 4vw, 32px); --header-height: 64px;
  --section-y: clamp(56px, 7vw, 96px); --section-y-sm: clamp(40px, 5vw, 64px); --section-y-lg: clamp(64px, 8vw, 112px);

  /* ---- Transitions / z ---- */
  --transition-fast: 150ms ease; --transition-base: 200ms ease; --transition-slow: 300ms ease;
  --z-header: 100; --z-dropdown: 200; --z-overlay: 300; --z-modal: 400;
}
