/* Design System — Fundação São Francisco
   Tokens. Fonte da verdade: MIV. Manter idêntico a tokens.json (npm run check:tokens).
   Camadas: --fsf-* (primitivos, não usar em componentes) → --ds-* (semânticos).
   Breakpoints (literais nas media queries): sm 480px · md 768px · lg 1024px · xl 1280px */

@font-face{font-family:UnivaNova;src:url('../fontes/Web Fonts/UnivaNova-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:UnivaNova;src:url('../fontes/Web Fonts/UnivaNova-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:UnivaNova;src:url('../fontes/Web Fonts/UnivaNova-Bold.woff2') format('woff2');font-weight:700;font-display:swap}

:root{
  /* Primitivos — azul (700 = Azul Primário do MIV) */
  --fsf-blue-50:#F5F7FA;--fsf-blue-100:#D2DDE8;--fsf-blue-200:#B1C3D7;--fsf-blue-300:#90AAC5;--fsf-blue-400:#7091B4;
  --fsf-blue-500:#5078A2;--fsf-blue-600:#306090;--fsf-blue-700:#00457C;--fsf-blue-800:#063A65;--fsf-blue-900:#0A2F4E;
  /* Primitivos — azul claro (400 = Azul Claro Secundário do MIV) */
  --fsf-sky-50:#F9FCFE;--fsf-sky-100:#D2E9F6;--fsf-sky-200:#AAD6EE;--fsf-sky-300:#80C3E5;--fsf-sky-400:#67B8E0;
  --fsf-sky-500:#58A0C4;--fsf-sky-600:#4A89A9;--fsf-sky-700:#3D728F;--fsf-sky-800:#305C75;--fsf-sky-900:#23475D;
  /* Primitivos — verde (400 = Verde Suave do MIV) */
  --fsf-green-50:#FBFDFA;--fsf-green-100:#E1ECD8;--fsf-green-200:#C8DBB6;--fsf-green-300:#AFCA94;--fsf-green-400:#A1C181;
  --fsf-green-500:#89A876;--fsf-green-600:#728F6A;--fsf-green-700:#5C775F;--fsf-green-800:#466053;--fsf-green-900:#324A47;
  /* Primitivos — cinza (100 = Cinza Claro do MIV, 900 = tinta do MIV) */
  --fsf-gray-50:#F3F5F4;--fsf-gray-100:#E5E5E5;--fsf-gray-200:#C9CDD0;--fsf-gray-300:#ADB5BB;--fsf-gray-400:#939EA6;
  --fsf-gray-500:#788892;--fsf-gray-600:#5F727E;--fsf-gray-700:#475C6B;--fsf-gray-800:#2F4858;--fsf-gray-900:#173446;
  --fsf-white:#FFFFFF;
  /* Primitivos — status (PROPOSTA, pendente de aprovação da Mirador) */
  --fsf-red-700:#B42318;--fsf-red-50:#FEF3F2;--fsf-red-200:#FECDCA;
  --fsf-amber-700:#B54708;--fsf-amber-50:#FEF6E7;--fsf-amber-200:#FEDF89;

  /* Semânticos — cor */
  --ds-color-text:var(--fsf-gray-900);
  --ds-color-text-muted:var(--fsf-gray-600);
  --ds-color-text-inverse:var(--fsf-white);
  --ds-color-text-link:var(--fsf-blue-700);
  --ds-color-surface:var(--fsf-white);
  --ds-color-surface-subtle:var(--fsf-gray-50);
  --ds-color-surface-brand:var(--fsf-blue-700);
  --ds-color-surface-accent:var(--fsf-sky-100);
  --ds-color-border:var(--fsf-gray-100);
  --ds-color-border-strong:var(--fsf-gray-500);
  --ds-color-action:var(--fsf-blue-700);
  --ds-color-action-hover:var(--fsf-blue-800);
  --ds-color-action-active:var(--fsf-blue-900);
  --ds-color-action-secondary:var(--fsf-blue-50);
  --ds-color-focus-ring:var(--fsf-sky-400);
  --ds-color-disabled-bg:var(--fsf-gray-100);
  --ds-color-disabled-text:var(--fsf-gray-600);
  --ds-color-decor:var(--fsf-green-400);
  --ds-color-info:var(--fsf-blue-700);
  --ds-color-info-text:var(--fsf-blue-700);
  --ds-color-info-bg:var(--fsf-blue-50);
  --ds-color-info-border:var(--fsf-blue-200);
  --ds-color-success:var(--fsf-green-800);
  --ds-color-success-text:var(--fsf-green-800);
  --ds-color-success-bg:var(--fsf-green-50);
  --ds-color-success-border:var(--fsf-green-300);
  --ds-color-warning:var(--fsf-amber-700);
  --ds-color-warning-text:var(--fsf-amber-700);
  --ds-color-warning-bg:var(--fsf-amber-50);
  --ds-color-warning-border:var(--fsf-amber-200);
  --ds-color-danger:var(--fsf-red-700);
  --ds-color-danger-text:var(--fsf-red-700);
  --ds-color-danger-bg:var(--fsf-red-50);
  --ds-color-danger-border:var(--fsf-red-200);
  --ds-gradient-brand:linear-gradient(110deg,#00457C 0%,#67B8E0 100%);
  --ds-gradient-nature:linear-gradient(110deg,#A1C181 0%,#67B8E0 100%);
  --ds-gradient-light:linear-gradient(110deg,#FFFFFF 0%,#67B8E0 100%);

  /* Semânticos — tipografia */
  --ds-font-family:UnivaNova,Calibri,"Segoe UI",system-ui,sans-serif;
  --ds-font-weight-light:300;--ds-font-weight-regular:400;--ds-font-weight-bold:700;
  --ds-font-size-micro:14px;--ds-font-size-caption:16px;--ds-font-size-support:18px;
  --ds-font-size-body:20px;--ds-font-size-lead:24px;--ds-font-size-subhead:30px;
  --ds-font-size-h2:clamp(32px,4vw,44px);--ds-font-size-h1:clamp(40px,6vw,64px);--ds-font-size-display:clamp(48px,8vw,88px);
  --ds-line-height-body:1.65;--ds-line-height-heading:1.3;--ds-line-height-display:1.1;
  --ds-letter-spacing-caps:.08em;

  /* Semânticos — espaço (base 4px) */
  --ds-space-1:4px;--ds-space-2:8px;--ds-space-3:12px;--ds-space-4:16px;--ds-space-5:20px;--ds-space-6:24px;
  --ds-space-8:32px;--ds-space-10:40px;--ds-space-12:48px;--ds-space-16:64px;--ds-space-20:80px;--ds-space-24:96px;--ds-space-32:128px;

  /* Raio (PROPOSTA até conferência no MIV), sombra, foco */
  --ds-radius-sm:4px;--ds-radius-md:8px;--ds-radius-lg:16px;--ds-radius-pill:999px;
  --ds-shadow-sm:0 1px 2px rgba(0,69,124,.08),0 1px 3px rgba(0,69,124,.06);
  --ds-shadow-md:0 4px 12px rgba(0,69,124,.10),0 2px 4px rgba(0,69,124,.06);
  --ds-shadow-lg:0 16px 40px rgba(0,69,124,.16),0 4px 12px rgba(0,69,124,.08);
  --ds-focus-shadow:0 0 0 2px var(--fsf-blue-700);

  /* Movimento */
  --ds-duration-fast:120ms;--ds-duration-base:200ms;--ds-duration-slow:320ms;
  --ds-ease-standard:cubic-bezier(.2,0,0,1);--ds-ease-exit:cubic-bezier(.4,0,1,1);

  /* Camadas */
  --ds-z-base:0;--ds-z-dropdown:100;--ds-z-sticky:200;--ds-z-overlay:300;--ds-z-modal:400;--ds-z-toast:500;

  /* Layout */
  --ds-container-max:1200px;--ds-gutter:16px;--ds-control-height:44px;
}
@media (min-width:768px){:root{--ds-gutter:24px}}
@media (prefers-reduced-motion: reduce){:root{--ds-duration-fast:0ms;--ds-duration-base:0ms;--ds-duration-slow:0ms}}
