/* ABA 365 — colour system. Base palette values are taken verbatim from the
   brand ID board (PALETA DE CORES). Logo-gradient stops are sampled from the
   master logotype. */
:root{
  /* --- Brand base (ID board) --- */
  --aba-vermelho:#C0392B;
  --aba-terracota:#E07A5F;
  --aba-azul-claro:#7DBCE3;
  --aba-azul-profundo:#0D1B2A;
  --aba-off-white:#F7F7F5;
  --aba-cinza:#60666D;

  /* --- Logo gradient stops (red → orange → blue, the "365" arc) --- */
  --aba-grad-1:#C0392B;
  --aba-grad-2:#E2703A;
  --aba-grad-3:#4A9BDB;
  --aba-grad-4:#7DBCE3;

  /* --- Navy ramp (deep blue is the anchor of the system) --- */
  --navy-900:#0D1B2A;
  --navy-800:#12243A;
  --navy-700:#1A3149;
  --navy-600:#24425F;
  --navy-500:#33587A;

  /* --- Warm ramp --- */
  --red-700:#96271C;
  --red-600:#C0392B;
  --red-500:#D24B39;
  --orange-500:#E2703A;
  --orange-400:#E07A5F;
  --orange-300:#EFA98D;
  --orange-100:#FBE7DE;

  /* --- Cool ramp --- */
  --blue-600:#2C7CB8;
  --blue-500:#4A9BDB;
  --blue-400:#7DBCE3;
  --blue-200:#BEDDF1;
  --blue-100:#E6F2FA;

  /* --- Neutrals --- */
  --neutral-0:#FFFFFF;
  --neutral-50:#F7F7F5;
  --neutral-100:#EFEFEC;
  --neutral-200:#E2E2DE;
  --neutral-300:#C9CBCD;
  --neutral-500:#60666D;
  --neutral-700:#3B4148;
  --neutral-900:#0D1B2A;

  /* --- Semantic: surface --- */
  --surface-page:var(--neutral-50);
  --surface-card:var(--neutral-0);
  --surface-sunken:var(--neutral-100);
  --surface-inverse:var(--navy-900);
  --surface-inverse-raised:var(--navy-800);
  --surface-accent-soft:var(--blue-100);
  --surface-warm-soft:var(--orange-100);

  /* --- Semantic: text --- */
  --text-heading:var(--navy-900);
  --text-body:var(--neutral-700);
  --text-muted:var(--neutral-500);
  --text-accent:var(--red-600);
  --text-on-inverse:var(--neutral-0);
  --text-on-inverse-muted:#9FB0C2;
  --text-link:var(--blue-600);
  --text-link-hover:var(--navy-900);

  /* --- Semantic: border --- */
  --border-subtle:var(--neutral-200);
  --border-strong:var(--neutral-300);
  --border-inverse:rgba(255,255,255,.16);
  --border-accent:var(--orange-500);

  /* --- Semantic: interactive --- */
  --action-primary:var(--red-600);
  --action-primary-hover:var(--red-700);
  --action-secondary:var(--navy-900);
  --action-secondary-hover:var(--navy-700);
  --action-cool:var(--blue-600);
  --action-cool-hover:var(--navy-900);
  --focus-ring:var(--blue-500);

  /* --- Semantic: status --- */
  --status-positive:#2E7D63;
  --status-positive-soft:#E2F1EC;
  --status-warning:var(--orange-500);
  --status-warning-soft:var(--orange-100);
  --status-critical:var(--red-600);
  --status-critical-soft:#FAE3E0;
  --status-info:var(--blue-600);
  --status-info-soft:var(--blue-100);
}
/* Inverse (navy) sections: opt in with class="aba-inverse" */
.aba-inverse{
  --surface-page:var(--navy-900);
  --surface-card:var(--navy-800);
  --surface-sunken:var(--navy-700);
  --text-heading:var(--neutral-0);
  --text-body:#C7D3DF;
  --text-muted:#9FB0C2;
  --text-link:var(--blue-400);
  --text-link-hover:var(--neutral-0);
  --border-subtle:rgba(255,255,255,.16);
  --border-strong:rgba(255,255,255,.28);
}
