/* Eco Autumn — light mode (dark later) */
:root {
  /* Colors */
  --color-primary: #2f6f4f;
  --color-primary-hover: #255a40;
  --color-primary-soft: #e8f3ec;
  --color-accent-amber: #b7792b;
  --color-accent-terracotta: #a65d45;
  --color-accent-brown: #6b4f3b;
  --color-bg: #f7f5f0;
  --color-surface: #ffffff;
  --color-surface-hover: color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));
  --color-border: #a8a294;
  --color-border-subtle: #d7d1c7;
  --color-text: #1f2937;
  --color-text-muted: #57616f;
  --color-success: #15803d;
  --color-warning: #b45309;
  --color-danger: #b42318;

  /* Typography */
  --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem;
  --fs-3xl: 2.25rem;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.2;
  --lh-base: 1.5;
  --lh-relaxed: 1.7;

  /* Spacing */
  --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;
  --space-16: 64px;
  --space-20: 80px;

  /* Breakpoints */
  --bp-sm: 40em;
  --bp-md: 48em;
  --bp-lg: 64em;
  --bp-xl: 80em;

  /* Component sizes */
  --h-btn: 44px;
  --h-btn-sm: 36px;
  --h-btn-lg: 52px;
  --h-input: 40px;

  /* Border radius */
  --radius-xs: 4px;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 18px;
  --radius-xl: 24px;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 1px 2px rgba(14,18,27,0.05);
  --shadow-sm: 0 2px 6px rgba(14, 18, 27, 0.08);
  --shadow-md: 0 8px 20px rgba(14, 18, 27, 0.08);
  --shadow-lg: 0 12px 28px rgba(14,18,27,0.12);
  --shadow-xl: 0 24px 48px rgba(14,18,27,0.18);
  --shadow-focus: 0 0 0 3px rgba(47,111,79,0.35);

  /* Motion */
  --duration-fast: 150ms;
  --duration-base: 250ms;
  --duration-slow: 400ms;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);

  /* Z-index */
  --z-base: 1;
  --z-dropdown: 10;
  --z-sticky: 20;
  --z-overlay: 30;
  --z-modal: 40;
  --z-toast: 50;
  --z-tooltip: 60;

  /* Icon sizes */
  --icon-sm: 16px;
  --icon-md: 20px;
  --icon-lg: 24px;

  /* Aliases — unifient les fallback dispersés dans templates/CSS.
     Tout override local (DPP public, theming dynamique) reste prioritaire
     grâce à la cascade. */
  --border-color: var(--color-border-subtle);
  --surface-muted: var(--color-bg);
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
