/* ============================================================
   GVHV–MPLP · Colors
   Source: Huisstijlgids GVHV v1.1 (06.03.2021) §B
   PRIMARY may be used as solid backgrounds for the negative (white) logo.
   SECONDARY are supporting only — never dominant, never more than 3 per
   composition.
   ============================================================ */

:root {
  /* ---- Brand · primary (the four logo colors) ---- */
  --gvhv-grey:        #454142; /* PANTONE 4287 */
  --gvhv-aubergine:   #614C66; /* PANTONE 7666 */
  --gvhv-red:         #E5554F; /* PANTONE 2348 — the activist accent */
  --gvhv-cyan:        #47A0B2; /* PANTONE 2220 */

  /* ---- Brand · secondary (supporting accents only) ---- */
  --gvhv-blue:        #005E73; /* PANTONE 7470 */
  --gvhv-clay:        #D1B067; /* PANTONE 4023 */
  --gvhv-rose:        #D1618B; /* PANTONE 2046 */
  --gvhv-green:       #6AB96F; /* PANTONE 2256 */

  /* ---- Brand tints (10–15%) for soft fills / wash backgrounds ---- */
  --gvhv-red-soft:        #FBE7E6;
  --gvhv-cyan-soft:       #E4F1F4;
  --gvhv-aubergine-soft:  #ECE8EE;
  --gvhv-blue-soft:       #DDE9EC;
  --gvhv-clay-soft:       #F7F0DE;
  --gvhv-rose-soft:       #F8E8EF;
  --gvhv-green-soft:      #E7F4E9;

  /* ---- Brand shades for hover / pressed states ---- */
  --gvhv-red-dark:        #D13E38;
  --gvhv-red-darker:      #BE332D;
  --gvhv-cyan-dark:       #3A8593;
  --gvhv-aubergine-dark:  #4F3D54;
  --gvhv-blue-dark:       #004A5B;
  --gvhv-green-dark:      #57A65C;

  /* ---- Neutral ink scale (warm, anchored on brand grey) ---- */
  --ink-950: #2B2829;
  --ink-900: #353132;
  --ink-800: #454142; /* = brand grey */
  --ink-700: #5A5556;
  --ink-600: #726D6E;
  --ink-500: #8E8A8B;
  --ink-400: #ABA7A8;
  --ink-300: #C9C6C7;
  --ink-200: #E3E1E1;
  --ink-100: #F1F0F0;
  --ink-50:  #F8F7F6;
  --white:   #FFFFFF;

  /* ============ Semantic aliases ============ */
  --color-bg:            var(--ink-50);
  --color-surface:       var(--white);
  --color-surface-alt:   var(--ink-100);
  --color-surface-sunken:var(--ink-100);
  --color-surface-inverse:var(--ink-950);

  --text-strong:   var(--ink-950);
  --text-body:     var(--ink-800);
  --text-muted:    var(--ink-600);
  --text-subtle:   var(--ink-500);
  --text-inverse:  var(--white);
  --text-on-brand: var(--white);
  --text-link:     var(--gvhv-red);

  --border:        var(--ink-200);
  --border-strong: var(--ink-300);
  --border-inverse: rgba(255,255,255,0.22);

  /* primary = red (the campaigning voice) */
  --color-primary:        var(--gvhv-red);
  --color-primary-hover:  var(--gvhv-red-dark);
  --color-primary-active: var(--gvhv-red-darker);
  --color-primary-soft:   var(--gvhv-red-soft);
  --on-primary:           var(--white);

  /* secondary = cyan (calm, clinical, trustworthy) */
  --color-secondary:        var(--gvhv-cyan);
  --color-secondary-hover:  var(--gvhv-cyan-dark);
  --color-secondary-soft:   var(--gvhv-cyan-soft);
  --on-secondary:           var(--white);

  /* accent = aubergine */
  --color-accent:        var(--gvhv-aubergine);
  --color-accent-hover:  var(--gvhv-aubergine-dark);
  --color-accent-soft:   var(--gvhv-aubergine-soft);

  /* ---- Status ---- */
  --color-success:      var(--gvhv-green);
  --color-success-soft: var(--gvhv-green-soft);
  --color-info:         var(--gvhv-cyan);
  --color-info-soft:    var(--gvhv-cyan-soft);
  --color-warning:      var(--gvhv-clay);
  --color-warning-soft: var(--gvhv-clay-soft);
  --color-danger:       var(--gvhv-red);
  --color-danger-soft:  var(--gvhv-red-soft);

  /* ---- Focus ---- */
  --focus-ring: 0 0 0 3px rgba(229, 85, 79, 0.40);
  --focus-ring-cyan: 0 0 0 3px rgba(71, 160, 178, 0.40);
}
