/* CounselPress — Color tokens
   Restrained, editorial law-firm palette: deep navy, warm ivory, white, slate, muted brass.
   Base scales first, semantic aliases at the bottom. */

:root {
  /* ---- Navy (primary brand, authority) ---- */
  --navy-900: #0E1B29;
  --navy-800: #14273A;
  --navy-700: #1B3049; /* Alderstone Navy — primary */
  --navy-600: #274058;
  --navy-500: #3A5470;

  /* ---- Ivory (warm neutral surfaces) ---- */
  --ivory-50:  #FBF8F1;
  --ivory-100: #F5EFE3; /* warm ivory surface */
  --ivory-200: #EBE3D2;

  /* ---- Slate (cool neutral / text) ---- */
  --slate-900: #1F2A33;
  --slate-800: #2C3A45;
  --slate-700: #3E4C59;
  --slate-600: #566372;
  --slate-500: #6B7885;
  --slate-400: #93A0AD;
  --slate-300: #C3CBD3;
  --slate-200: #DDE3E9;
  --slate-100: #EEF1F4;
  --slate-50:  #F6F8FA;
  --white:     #FFFFFF;

  /* ---- Brass (muted metallic accent — used sparingly) ---- */
  --brass-700: #7C6326;
  --brass-600: #98793A; /* muted brass — primary accent */
  --brass-500: #AE8E4C;
  --brass-400: #C4A567;
  --brass-200: #DCC998;
  --brass-100: #EDE3CB;

  /* ---- Semantic status (muted, non-alarming) ---- */
  --green-600:  #3E6B4F;
  --green-100:  #DDEAE0;
  --amber-600:  #9A6B24;
  --amber-100:  #F0E4CD;
  --red-600:    #8E3B34;
  --red-100:    #F0DAD7;
  --blue-600:   #2F5068;
  --blue-100:   #DAE4EC;

  /* =========================================================
     Semantic aliases — reference these in components
     ========================================================= */

  /* Backgrounds & surfaces */
  --color-bg:            var(--white);
  --color-bg-alt:        var(--ivory-100);
  --color-surface:       var(--white);
  --color-surface-ivory: var(--ivory-100);
  --color-surface-navy:  var(--navy-700);
  --color-surface-sunken:var(--slate-50);

  /* Text */
  --text-heading:  var(--navy-800);
  --text-body:     var(--slate-700);
  --text-muted:    var(--slate-500);
  --text-subtle:   var(--slate-400);
  --text-on-navy:  var(--ivory-50);
  --text-on-navy-muted: #A9B7C6;
  --text-inverse:  var(--white);

  /* Accent */
  --accent:        var(--brass-600);
  --accent-strong: var(--brass-700);
  --accent-soft:   var(--brass-100);
  --accent-on-navy:var(--brass-400);

  /* Lines & borders */
  --border:        var(--slate-200);
  --border-strong: var(--slate-300);
  --border-on-navy:rgba(255,255,255,0.14);
  --rule:          var(--slate-200);

  /* Interaction */
  --focus-ring:    var(--brass-600);
  --link:          var(--navy-700);
  --link-hover:    var(--brass-700);

  /* Status semantic */
  --success:       var(--green-600);
  --success-bg:    var(--green-100);
  --warning:       var(--amber-600);
  --warning-bg:    var(--amber-100);
  --danger:        var(--red-600);
  --danger-bg:     var(--red-100);
  --info:          var(--blue-600);
  --info-bg:       var(--blue-100);

  /* Selection */
  --selection-bg:  var(--brass-100);
  --selection-fg:  var(--navy-800);
}

::selection { background: var(--selection-bg); color: var(--selection-fg); }
