/* New Hampshire Forum — color.
   Six brand colors from the Brand Guidelines (p.17). Do not introduce colors
   outside this palette. Tints/shades below are derived for UI states only. */
:root{
  /* --- Brand core --- */
  --nhf-federal-navy:#182A4C;   /* Pantone 2767 C — anchors the system */
  --nhf-granite-white:#F6F1EA;  /* warm off-white page ground */
  --nhf-liberty-gold:#C1941A;   /* Pantone 1245 C — warmth, pride, CTAs */
  --nhf-mountain-stone:#879DAF; /* Pantone 5425 C — cool secondary */
  --nhf-birch-silver:#DBD6CD;   /* warm neutral, rules and fills */
  --nhf-charter-red:#D12921;    /* Pantone 485 C — sparingly, for urgency */

  /* --- Derived navy ramp (UI states only) --- */
  --nhf-navy-900:#0D1730;
  --nhf-navy-800:#122140;
  --nhf-navy-700:#182A4C;
  --nhf-navy-600:#22375E;
  --nhf-navy-500:#33496F;
  --nhf-navy-300:#6B7C97;
  --nhf-navy-100:#C6CDD8;
  --nhf-navy-050:#E7EAEF;

  /* --- Derived gold ramp --- */
  --nhf-gold-700:#8F6D0F;
  --nhf-gold-600:#A87F14;
  --nhf-gold-500:#C1941A;
  --nhf-gold-300:#DDBB61;
  --nhf-gold-100:#F0E2BC;
  --nhf-gold-050:#FAF3E1;

  /* --- Derived neutral ramp (warm) --- */
  --nhf-paper:#FFFFFF;
  --nhf-cream-050:#FBF8F4;
  --nhf-cream-100:#F6F1EA;
  --nhf-cream-200:#EDE7DE;
  --nhf-cream-300:#DBD6CD;
  --nhf-cream-400:#BDB6AA;
  --nhf-cream-500:#948C7F;
  --nhf-cream-700:#5C564C;

  /* --- Derived stone ramp --- */
  --nhf-stone-600:#5E7488;
  --nhf-stone-500:#879DAF;
  --nhf-stone-300:#B4C3CE;
  --nhf-stone-100:#DDE4EA;

  /* --- Derived red ramp --- */
  --nhf-red-700:#9C1E18;
  --nhf-red-500:#D12921;
  --nhf-red-100:#F7D9D7;

  /* --- Semantic: surfaces --- */
  --surface-page:var(--nhf-cream-100);
  --surface-card:var(--nhf-paper);
  --surface-sunken:var(--nhf-cream-200);
  --surface-inverse:var(--nhf-federal-navy);
  --surface-inverse-raised:var(--nhf-navy-600);
  --surface-accent:var(--nhf-gold-050);
  --surface-muted:var(--nhf-cream-050);

  /* --- Semantic: text --- */
  --text-heading:var(--nhf-federal-navy);
  --text-body:#2C3A52;
  --text-muted:#6A7488;
  --text-on-inverse:var(--nhf-cream-100);
  --text-on-inverse-muted:var(--nhf-stone-300);
  --text-accent:var(--nhf-gold-600);
  --text-link:var(--nhf-federal-navy);
  --text-link-hover:var(--nhf-gold-600);

  /* --- Semantic: lines --- */
  --border-hairline:var(--nhf-cream-300);
  --border-strong:var(--nhf-federal-navy);
  --border-subtle:rgba(24,42,76,.12);
  --border-on-inverse:rgba(246,241,234,.22);
  --rule-accent:var(--nhf-liberty-gold);

  /* --- Semantic: interactive --- */
  --action-primary:var(--nhf-liberty-gold);
  --action-primary-hover:var(--nhf-gold-600);
  --action-primary-active:var(--nhf-gold-700);
  --action-primary-text:var(--nhf-federal-navy);
  --action-secondary:var(--nhf-federal-navy);
  --action-secondary-hover:var(--nhf-navy-600);
  --action-secondary-active:var(--nhf-navy-900);
  --action-secondary-text:var(--nhf-cream-100);
  --focus-ring:var(--nhf-liberty-gold);

  /* --- Semantic: status --- */
  --status-alert:var(--nhf-charter-red);
  --status-alert-surface:var(--nhf-red-100);
  --status-info:var(--nhf-mountain-stone);
  --status-info-surface:var(--nhf-stone-100);
  --status-consensus:var(--nhf-liberty-gold);
}

/* Inverse scope: navy sections. Apply to any container that sits on navy. */
[data-theme="inverse"]{
  --surface-page:var(--nhf-federal-navy);
  --surface-card:var(--nhf-navy-600);
  --surface-sunken:var(--nhf-navy-800);
  --text-heading:var(--nhf-cream-100);
  --text-body:var(--nhf-cream-100);
  --text-muted:var(--nhf-stone-300);
  --text-link:var(--nhf-cream-100);
  --text-link-hover:var(--nhf-gold-300);
  --border-hairline:rgba(246,241,234,.22);
  --border-subtle:rgba(246,241,234,.14);
  --border-strong:var(--nhf-cream-100);
  --action-secondary:var(--nhf-cream-100);
  --action-secondary-text:var(--nhf-federal-navy);
}
