/* ==========================================================================
   Design Tokens — Code 369 Portais Drupal
   ========================================================================== */

:root {

  /* ── Brand Colors ─────────────────────────────────────────────────────── */
  --c-primary:        #43286f;
  --c-primary-50:     #f5f2f9;
  --c-primary-100:    #e8e0f0;
  --c-primary-200:    #d0c1e1;
  --c-primary-300:    #b39bcb;
  --c-primary-400:    #9272b3;
  --c-primary-500:    #6f4b92;
  --c-primary-600:    #56377b;
  --c-primary-700:    #43286f;
  --c-primary-800:    #352057;
  --c-primary-900:    #271740;

  --c-accent:         var(--c-primary);
  --c-accent-50:      var(--c-primary-50);
  --c-accent-100:     var(--c-primary-100);
  --c-accent-200:     var(--c-primary-200);
  --c-accent-300:     var(--c-primary-300);
  --c-accent-400:     var(--c-primary-400);
  --c-accent-500:     var(--c-primary-500);
  --c-accent-600:     var(--c-primary-600);
  --c-accent-700:     var(--c-primary-700);
  --c-accent-800:     var(--c-primary-800);
  --c-accent-900:     var(--c-primary-900);

  /* ── Secondary / Government Blue ──────────────────────────────────────── */
  --c-gov:            #1a3a5c;
  --c-gov-light:      #2a5a8c;
  --c-gov-50:         #f0f5fa;

  /* ── Text ─────────────────────────────────────────────────────────────── */
  --c-text:           #1a1a2e;
  --c-text-secondary: #4a4a6a;
  --c-text-muted:     #8b8ba7;
  --c-text-inverse:   #ffffff;
  --c-text-link:      var(--c-primary-500);

  /* ── Backgrounds ──────────────────────────────────────────────────────── */
  --c-bg:             #ffffff;
  --c-bg-alt:         #f7f8fa;
  --c-bg-subtle:      #f0f2f5;
  --c-bg-muted:       #e8eaed;
  --c-bg-dark:        #0f1628;
  --c-bg-darker:      #0a0f1c;
  --c-bg-primary:     var(--c-primary-50);
  --c-bg-accent:      var(--c-primary-100);

  /* ── Borders ──────────────────────────────────────────────────────────── */
  --c-border:         #e2e5ea;
  --c-border-light:   #f0f1f4;
  --c-border-focus:   var(--c-primary-500);

  /* ── State ────────────────────────────────────────────────────────────── */
  --c-success:        #16a34a;
  --c-success-bg:     #f0fdf4;
  --c-warning:        #d97706;
  --c-warning-bg:     #fffbeb;
  --c-error:          #dc2626;
  --c-error-bg:       #fef2f2;
  --c-info:           #2563eb;
  --c-info-bg:        #eff6ff;

  /* ── Typography ───────────────────────────────────────────────────────── */
  --ff-body:          'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI',
                      Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  --ff-mono:          'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;

  --fs-2xs:           0.6875rem;
  --fs-xs:            0.75rem;
  --fs-sm:            0.875rem;
  --fs-base:          1rem;
  --fs-lg:            1.125rem;
  --fs-xl:            1.25rem;
  --fs-2xl:           1.5rem;
  --fs-3xl:           1.875rem;
  --fs-4xl:           2.25rem;
  --fs-5xl:           3rem;

  --fw-normal:        400;
  --fw-medium:        500;
  --fw-semibold:      600;
  --fw-bold:          700;
  --fw-extrabold:     800;

  --lh-tight:         1.15;
  --lh-snug:          1.3;
  --lh-normal:        1.5;
  --lh-relaxed:       1.75;

  --ls-tight:         -0.03em;
  --ls-normal:        0;
  --ls-wide:          0.025em;
  --ls-wider:         0.05em;

  /* ── Spacing ──────────────────────────────────────────────────────────── */
  --sp-1:             0.25rem;
  --sp-2:             0.5rem;
  --sp-3:             0.75rem;
  --sp-4:             1rem;
  --sp-5:             1.25rem;
  --sp-6:             1.5rem;
  --sp-8:             2rem;
  --sp-10:            2.5rem;
  --sp-12:            3rem;
  --sp-16:            4rem;
  --sp-20:            5rem;
  --sp-24:            6rem;

  /* ── Border Radius ────────────────────────────────────────────────────── */
  --radius-xs:        4px;
  --radius-sm:        8px;
  --radius-md:        10px;
  --radius-lg:        12px;
  --radius-xl:        16px;
  --radius-2xl:       20px;
  --radius-full:      9999px;

  /* ── Shadows ──────────────────────────────────────────────────────────── */
  --shadow-xs:        0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:        0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06);
  --shadow-md:        0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.06);
  --shadow-lg:        0 10px 15px rgba(0,0,0,0.1), 0 4px 6px rgba(0,0,0,0.05);
  --shadow-xl:        0 20px 25px rgba(0,0,0,0.1), 0 10px 10px rgba(0,0,0,0.04);

  /* ── Layout ───────────────────────────────────────────────────────────── */
  --max-w:            1200px;
  --max-w-narrow:     720px;
  --max-w-wide:       1400px;
  --header-h:         72px;
  --grid-gap:         24px;
  --section-py:       var(--sp-24);
  --section-py-mobile: var(--sp-16);

  /* ── Transitions ──────────────────────────────────────────────────────── */
  --ease:             cubic-bezier(0.4, 0, 0.2, 1);
  --t-fast:           0.15s;
  --t-base:           0.3s;
  --t-slow:           0.5s;

  /* ── Z-Index ──────────────────────────────────────────────────────────── */
  --z-base:           1;
  --z-dropdown:       100;
  --z-header:         1000;
  --z-overlay:        1020;
  --z-modal:          1030;
  --z-toast:          1040;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --t-fast: 0s;
    --t-base: 0s;
    --t-slow: 0s;
  }
}
