/* ============================================================
   BRIVA POOLS — COLOR TOKENS
   Source: BP Brand Guidelines 2025 (Color, p.07)
   Primary: Cascade + Drift (60% combined). Secondary supports.
   ============================================================ */

:root {
  /* --- Brand raw palette --- */
  --bp-cascade: #157C89;   /* primary teal — 30% usage */
  --bp-drift:   #2F4D5F;   /* primary deep slate — 30% usage */
  --bp-canvas:  #FDFBF7;   /* warm off-white — base surface */
  --bp-mist:    #DCEBED;   /* pale aqua — soft fills */
  --bp-dune:    #EFE1CB;   /* warm sand — accent surface */
  --bp-forge:   #48443D;   /* warm charcoal — ink */

  /* --- Cascade tints/shades (teal ramp) --- */
  --bp-cascade-900: #0c4750;
  --bp-cascade-800: #0f5d68;
  --bp-cascade-700: #157C89;  /* base */
  --bp-cascade-600: #1c93a2;
  --bp-cascade-500: #2faab9;
  --bp-cascade-300: #8fcfd7;
  --bp-cascade-200: #bce2e7;
  --bp-cascade-100: #e2f2f4;

  /* --- Drift tints/shades (slate ramp) --- */
  --bp-drift-900: #1b2e3a;
  --bp-drift-800: #243d4c;
  --bp-drift-700: #2F4D5F;  /* base */
  --bp-drift-500: #4a6c80;
  --bp-drift-300: #8aa3b1;
  --bp-drift-200: #b6c6cf;
  --bp-drift-100: #e3eaee;

  /* --- Warm neutrals (Forge ramp on Canvas) --- */
  --bp-ink-900: #2b2823;
  --bp-ink-700: #48443D;   /* Forge base */
  --bp-ink-500: #6f6a60;
  --bp-ink-400: #928c80;
  --bp-ink-300: #b8b2a6;
  --bp-ink-200: #ded8cb;
  --bp-ink-100: #f1ece2;

  /* --- Semantic / status (derived in-palette) --- */
  --bp-success: #2f7d5b;
  --bp-success-soft: #dcefe5;
  --bp-warning: #c08a2e;
  --bp-warning-soft: #f6e9cf;
  --bp-danger:  #b4473f;
  --bp-danger-soft: #f3ddda;
  --bp-info: var(--bp-cascade-700);
  --bp-info-soft: var(--bp-cascade-100);

  /* ============================================================
     SEMANTIC ALIASES — use these in product code
     ============================================================ */

  /* Surfaces */
  --surface-page:    var(--bp-canvas);
  --surface-card:    #ffffff;
  --surface-sunken:  #f6f1e8;
  --surface-mist:    var(--bp-mist);
  --surface-dune:    var(--bp-dune);
  --surface-brand:   var(--bp-cascade-700);
  --surface-brand-deep: var(--bp-drift-700);
  --surface-inverse: var(--bp-drift-900);

  /* Text */
  --text-strong:   var(--bp-drift-900);
  --text-body:     var(--bp-ink-700);
  --text-muted:    var(--bp-ink-500);
  --text-subtle:   var(--bp-ink-400);
  --text-on-brand: var(--bp-canvas);
  --text-inverse:  var(--bp-canvas);
  --text-brand:    var(--bp-cascade-800);
  --text-link:     var(--bp-cascade-800);

  /* Borders & lines */
  --border-soft:   var(--bp-ink-200);
  --border-default:#e0d9cc;
  --border-strong: var(--bp-ink-300);
  --border-brand:  var(--bp-cascade-700);
  --divider:       #ece5d8;

  /* Interactive accents */
  --accent:        var(--bp-cascade-700);
  --accent-hover:  var(--bp-cascade-800);
  --accent-press:  var(--bp-cascade-900);
  --accent-soft:   var(--bp-cascade-100);
  --focus-ring:    color-mix(in srgb, var(--bp-cascade-700) 45%, transparent);
}
