/* ORIÉZID — Color System
   Two on-brand registers, switched via [data-theme]:
     • Light / CI (default)  — Electric Blue on white. Product, CRM, everyday docs.
     • Obsidian / Luxe       — warm Gold on near-black. Client-facing proposals.
   Components reference SEMANTIC tokens (--surface-*, --text-*, --accent-*, --border-*)
   so the same markup renders correctly in either register. */

:root {
  /* ---- Raw palette · Light / CI ---- */
  --blue-electric: #1E3AFF;   /* accent */
  --blue-strong:   #1530D9;   /* hover / pressed accent */
  --blue-soft:     #EEF1FF;   /* soft accent wash */
  --ink:           #0A0A0A;   /* headings */
  --grey-body:     #404040;   /* body copy */
  --grey-muted:    #737373;   /* secondary / labels */
  --grey-hairline: #E5E5E5;   /* 1px rules */
  --grey-subtle:   #F7F8FA;   /* faint panel fill */
  --white:         #FFFFFF;

  /* ---- Raw palette · Obsidian / Luxe ---- */
  --obsidian:        #0C0E11; /* page */
  --obsidian-raised: #14171B; /* cards / panels */
  --gold:            #C4A464; /* accent */
  --gold-strong:     #D8BC82; /* hover accent (brighter) */
  --cream:           #ECE7DD; /* primary text */
  --cream-body:      #CFC9BC; /* body text */
  --warm-muted:      #8A8578; /* secondary / labels */

  /* ---- Status (discreet, shared) ---- */
  --green:  #1F8A5B;
  --amber:  #B6863C;
  --garnet: #B23A2E;

  /* ---- Semantic · Light (default) ---- */
  --surface-page:    var(--white);
  --surface-card:    var(--white);
  --surface-soft:    var(--blue-soft);   /* accent-tinted fill */
  --surface-subtle:  var(--grey-subtle); /* neutral panel */
  --surface-inverse: var(--obsidian);    /* dark block inside a light page */

  --text-primary:    var(--ink);
  --text-body:       var(--grey-body);
  --text-muted:      var(--grey-muted);
  --text-on-accent:  var(--white);       /* on blue fill */
  --text-on-inverse: var(--cream);       /* on dark block */

  --accent:          var(--blue-electric);
  --accent-strong:   var(--blue-strong);
  --accent-soft:     var(--blue-soft);
  --accent-contrast: var(--white);       /* text/icon over accent */

  --border-hairline: var(--grey-hairline);
  --border-strong:   #D4D4D4;
  --focus-ring:      rgba(30, 58, 255, 0.35);

  --success: var(--green);  --success-soft: #E7F4EE;
  --warning: var(--amber);  --warning-soft: #FAF1E1;
  --danger:  var(--garnet); --danger-soft:  #FBEAE7;
}

/* Explicit light scope — lets a light island sit inside an obsidian page */
[data-theme="light"] {
  --surface-page:    var(--white);
  --surface-card:    var(--white);
  --surface-soft:    var(--blue-soft);
  --surface-subtle:  var(--grey-subtle);
  --surface-inverse: var(--obsidian);
  --text-primary:    var(--ink);
  --text-body:       var(--grey-body);
  --text-muted:      var(--grey-muted);
  --text-on-accent:  var(--white);
  --text-on-inverse: var(--cream);
  --accent:          var(--blue-electric);
  --accent-strong:   var(--blue-strong);
  --accent-soft:     var(--blue-soft);
  --accent-contrast: var(--white);
  --border-hairline: var(--grey-hairline);
  --border-strong:   #D4D4D4;
  --focus-ring:      rgba(30, 58, 255, 0.35);
  --success-soft: #E7F4EE; --warning-soft: #FAF1E1; --danger-soft: #FBEAE7;
}

/* Obsidian / Luxe register */
[data-theme="obsidian"] {
  --surface-page:    var(--obsidian);
  --surface-card:    var(--obsidian-raised);
  --surface-soft:    rgba(196, 164, 100, 0.10); /* faint gold wash */
  --surface-subtle:  #101316;
  --surface-inverse: var(--cream);              /* rare cream block inside dark */

  --text-primary:    var(--cream);
  --text-body:       var(--cream-body);
  --text-muted:      var(--warm-muted);
  --text-on-accent:  var(--obsidian);           /* obsidian sits on gold */
  --text-on-inverse: var(--ink);

  --accent:          var(--gold);
  --accent-strong:   var(--gold-strong);
  --accent-soft:     rgba(196, 164, 100, 0.14);
  --accent-contrast: var(--obsidian);

  --border-hairline: rgba(236, 231, 221, 0.12); /* warm hairline */
  --border-strong:   rgba(236, 231, 221, 0.22);
  --focus-ring:      rgba(196, 164, 100, 0.45);

  --success: #6FB58C;  --success-soft: rgba(111,181,140,0.14);
  --warning: #D8B26A;  --warning-soft: rgba(216,178,106,0.14);
  --danger:  #D88579;  --danger-soft:  rgba(216,133,121,0.14);
}
