/* ============================================================
   Soléna Énergie — Design tokens (design system Soléna Énergie)
   ============================================================ */
:root {
  /* Couleurs — Forest (primaire) */
  --forest-900: #0c3117;
  --forest-800: #124324;
  --forest-700: #17562a;
  --forest-600: #1e6835;
  --forest-500: #2a7d45;
  /* Leaf (accent) */
  --leaf-700: #3f8f33;
  --leaf-600: #4a9d3c;
  --leaf-500: #5dad4d;
  --leaf-400: #79c069;
  --leaf-300: #9fd492;
  --leaf-200: #c7e7bf;
  --leaf-100: #e6f4e1;
  /* Sun */
  --sun-500: #f4b740;
  --sun-400: #f8c766;
  /* Neutres */
  --neutral-0: #ffffff;
  --neutral-50: #f6f8f5;
  --neutral-100: #eef1ec;
  --neutral-200: #dde3d9;
  --neutral-300: #c3ccbd;
  --neutral-400: #9aa593;
  --neutral-500: #6f7b69;
  --neutral-600: #505a4b;
  --neutral-700: #384034;
  --neutral-800: #232a21;
  --neutral-900: #141a12;
  /* Statuts */
  --success-500: #4a9d3c;
  --warning-500: #f4b740;
  --danger-500: #d1483a;
  --info-500: #2f77b8;
  /* Alias sémantiques */
  --color-primary: var(--forest-700);
  --color-primary-hover: var(--forest-800);
  --color-primary-active: var(--forest-900);
  --color-accent: var(--leaf-500);
  --color-accent-hover: var(--leaf-600);
  --color-accent-active: var(--leaf-700);
  --text-strong: var(--forest-900);
  --text-body: var(--neutral-800);
  --text-muted: var(--neutral-500);
  --text-inverse: var(--neutral-0);
  --text-accent: var(--forest-700);
  --text-on-accent: var(--forest-900);
  --surface-page: var(--neutral-50);
  --surface-card: var(--neutral-0);
  --surface-raised: var(--neutral-0);
  --surface-sunken: var(--neutral-100);
  --surface-brand: var(--forest-700);
  --surface-brand-soft: var(--leaf-100);
  --surface-inverse: var(--forest-900);
  --border-subtle: var(--neutral-200);
  --border-default: var(--neutral-300);
  --border-strong: var(--neutral-400);
  --border-brand: var(--leaf-500);
  --focus-ring: var(--leaf-500);

  /* Typographie */
  --font-display: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body: 'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'SFMono-Regular', 'Menlo', 'Consolas', monospace;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;
  --fs-display: 4.5rem;
  --fs-h1: 3rem;
  --fs-h2: 2.25rem;
  --fs-h3: 1.75rem;
  --fs-h4: 1.375rem;
  --fs-lead: 1.25rem;
  --fs-body: 1rem;
  --fs-sm: 0.875rem;
  --fs-xs: 0.75rem;
  --lh-tight: 1.05;
  --lh-snug: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.7;
  --ls-tight: -0.02em;
  --ls-snug: -0.01em;
  --ls-normal: 0;
  --ls-wide: 0.04em;
  --ls-caps: 0.12em;

  /* Espacements */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;

  /* Rayons, ombres, dégradés, animations */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-xl: 28px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --shadow-xs: 0 1px 2px rgba(12, 49, 23, 0.06);
  --shadow-sm: 0 2px 8px rgba(12, 49, 23, 0.07);
  --shadow-md: 0 8px 24px rgba(12, 49, 23, 0.10);
  --shadow-lg: 0 18px 48px rgba(12, 49, 23, 0.14);
  --shadow-focus: 0 0 0 3px rgba(93, 173, 77, 0.35);
  --gradient-brand: linear-gradient(135deg, #5dad4d 0%, #17562a 100%);
  --gradient-leaf: linear-gradient(135deg, #79c069 0%, #4a9d3c 100%);
  --gradient-hero: linear-gradient(160deg, #0c3117 0%, #17562a 55%, #2a7d45 100%);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur-base: 200ms;
  --dur-slow: 360ms;
}
