/* ─── tokens.css : Horizon design tokens ─── */
/* Loaded before base.css/layout.css/components.css on every page. */

/* ─── @font-face : Europa Nuova ─── */
@font-face {
  font-family: 'Europa Nuova';
  font-style: normal; font-weight: 400;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaRegular.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Europa Nuova';
  font-style: italic; font-weight: 400;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaItalic.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Europa Nuova';
  font-style: normal; font-weight: 700;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaBold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Europa Nuova';
  font-style: italic; font-weight: 700;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaBoldItalic.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Europa Nuova';
  font-style: normal; font-weight: 800;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaExtraBold.woff') format('woff');
  font-display: swap;
}
@font-face {
  font-family: 'Europa Nuova';
  font-style: italic; font-weight: 800;
  src: url('/assets/fonts/europa-nuova/EuropaNuovaExtraBoldItalic.woff') format('woff');
  font-display: swap;
}

:root {
  /* ─── Brand ─── */
  --brand-orange:        #f07e26;
  --brand-orange-hover:  #d96a14;
  --brand-orange-soft:   #fff4e8;
  --brand-orange-on:     #ffffff;

  --brand-blue:          #009fe3;
  --brand-blue-hover:    #0086c2;
  --brand-blue-soft:     #e5f6fd;
  --brand-blue-on:       #ffffff;

  /* ─── Surfaces (light theme) ─── */
  --surface-app:         #f3f5f9;
  --surface-panel:       #ffffff;
  --surface-elev:        #fafbfc;
  --surface-overlay:     rgba(15, 25, 50, 0.45);

  /* ─── Text ─── */
  --text-strong:         #0f1626;
  --text-default:        #1c2230;
  --text-muted:          #5b6473;
  --text-faint:          #8a93a3;
  --text-on-brand:       #ffffff;
  --text-link:           var(--brand-blue);

  /* ─── Borders ─── */
  --border-subtle:       #eef0f4;
  --border-default:      #e6e9ef;
  --border-strong:       #cfd5df;

  /* ─── Status ─── */
  --status-success:      #28a049;
  --status-success-soft: #e8f7ee;
  --status-success-on:   #1d7a3b;

  --status-warning:      var(--brand-orange);
  --status-warning-soft: var(--brand-orange-soft);
  --status-warning-on:   #b85e10;

  --status-danger:       #d23f3f;
  --status-danger-soft:  #fde8e8;
  --status-danger-on:    #9a2424;

  --status-info:         var(--brand-blue);
  --status-info-soft:    var(--brand-blue-soft);
  --status-info-on:      #0a6794;

  /* ─── Elevation ─── */
  --shadow-xs:    0 1px 2px rgba(20, 30, 50, 0.04);
  --shadow-sm:    0 1px 2px rgba(20, 30, 50, 0.04), 0 4px 12px rgba(20, 30, 50, 0.04);
  --shadow-md:    0 2px 4px rgba(20, 30, 50, 0.05), 0 8px 24px rgba(20, 30, 50, 0.06);
  --shadow-lg:    0 4px 8px rgba(20, 30, 50, 0.06), 0 16px 40px rgba(20, 30, 50, 0.08);
  --shadow-focus: 0 0 0 3px rgba(240, 126, 38, 0.20);

  /* ─── Radii ─── */
  --radius-xs:   4px;
  --radius-sm:   6px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-pill: 9999px;

  /* ─── Spacing (4-pt scale) ─── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;
  --space-8:  32px;
  --space-10: 40px;
  --space-12: 48px;

  /* ─── Typography ─── */
  --font-sans: 'Europa Nuova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  --text-display: 32px;
  --text-h2:      22px;
  --text-h3:      16px;
  --text-body:    14px;
  --text-small:   13px;
  --text-tiny:    11px;

  --leading-tight: 1.2;
  --leading-body:  1.5;
}
