/* ============================================================
   Oxygène — Color tokens
   Brand palette recovered from the identity logos:
     · Bleu Oxygène  #1a669e   (petrol / steel blue)  — primary
     · Or Oxygène    #ccad8c   (champagne / sable gold) — accent
   Everything below is derived from these two anchors plus a
   warm neutral ramp tuned to sit under the gold.
   ============================================================ */

:root {
  /* ---- Brand anchors ---- */
  --ox-blue: #1a669e;
  --ox-gold: #ccad8c;

  /* ---- Blue ramp ---- */
  --blue-950: #0a2337;
  --blue-900: #0d2e47;
  --blue-800: #103a5a;
  --blue-700: #14507c;
  --blue-600: #1a669e;   /* = --ox-blue */
  --blue-500: #2f7cb4;
  --blue-400: #5b9ac9;
  --blue-300: #92bcdd;
  --blue-200: #c2dbec;
  --blue-100: #e3eef6;
  --blue-50:  #f2f8fc;

  /* ---- Gold ramp ---- */
  --gold-900: #6e5836;
  --gold-800: #8f7350;
  --gold-700: #a8895f;
  --gold-600: #bd9b74;
  --gold-500: #ccad8c;   /* = --ox-gold */
  --gold-400: #d8bfa2;
  --gold-300: #e2cdb4;
  --gold-200: #ecdcc9;
  --gold-100: #f4ebe0;
  --gold-50:  #faf5ee;

  /* ---- Warm neutrals (blue-black ink → warm paper) ---- */
  --ink-900: #14202b;   /* headings on light */
  --ink-800: #1c2a37;
  --ink-700: #2b3a48;
  --neutral-600: #4a5866;
  --neutral-500: #6a7885;
  --neutral-400: #929daa;
  --neutral-300: #c3cbd3;
  --neutral-200: #e0e4e9;
  --neutral-150: #e9eae6;
  --neutral-100: #f1f0eb;
  --paper: #faf8f4;      /* warm off-white surface */
  --paper-alt: #f4f1ea;  /* slightly deeper paper */
  --white: #ffffff;

  /* ---- Semantic (muted, institutional) ---- */
  --success-600: #2f6b52;
  --success-100: #e3efe9;
  --warning-600: #b07a1f;
  --warning-100: #f6ecd7;
  --danger-600:  #a5423b;
  --danger-100:  #f3e0de;
  --info-600:    var(--blue-600);
  --info-100:    var(--blue-100);

  /* ============================================================
     Semantic aliases — reference these in components, not raw ramps
     ============================================================ */
  --color-bg:            var(--paper);
  --color-bg-alt:        var(--paper-alt);
  --color-surface:       var(--white);
  --color-surface-alt:   var(--gold-50);
  --color-surface-inverse: var(--blue-900);

  --text-primary:        var(--ink-900);
  --text-secondary:      var(--neutral-600);
  --text-muted:          var(--neutral-500);
  --text-on-brand:       #ffffff;
  --text-on-gold:        var(--ink-900);
  --text-inverse:        #f2f8fc;

  --color-brand:         var(--ox-blue);
  --color-brand-strong:  var(--blue-800);
  --color-brand-soft:    var(--blue-100);
  --color-accent:        var(--ox-gold);
  --color-accent-strong: var(--gold-700);
  --color-accent-text:   var(--gold-900);   /* or lisible sur fond clair — WCAG AA (~6.5:1 sur --paper) */
  --color-accent-soft:   var(--gold-100);

  --border-subtle:       var(--neutral-200);
  --border-default:      var(--neutral-300);
  --border-strong:       var(--neutral-400);
  --border-gold:         var(--gold-300);
  --border-brand:        var(--blue-600);

  --focus-ring:          color-mix(in oklab, var(--ox-blue) 55%, transparent);
}
