/* ============================================================
   FAVEL — Design Tokens & CSS Custom Properties
   "Facilitez votre communication"
   ============================================================ */

:root {

  /* ─── COULEURS PRIMAIRES ─── */
  --color-primary:        #7C3AED;
  --color-primary-dark:   #5B21B6;
  --color-primary-darker: #3B0764;
  --color-primary-light:  #A78BFA;
  --color-primary-pale:   #EDE9FE;
  --color-primary-bg:     #F5F3FF;

  /* ─── COULEURS NEUTRES ─── */
  --color-white:    #FFFFFF;
  --color-black:    #0F0A1E;
  --color-dark:     #1A1226;
  --color-dark-2:   #231832;
  --color-gray-900: #2D2040;
  --color-gray-700: #4A3F65;
  --color-gray-500: #7A6E8F;
  --color-gray-400: #9C93B4;
  --color-gray-200: #D1CCE3;
  --color-gray-100: #F2F0F9;
  --color-gray-50:  #F8F7FF;

  /* ─── COULEURS SÉMANTIQUES ─── */
  --color-whatsapp:       #25D366;
  --color-whatsapp-dark:  #1DA851;
  --color-success:        #10B981;
  --color-warning:        #F59E0B;
  --color-error:          #EF4444;

  /* ─── DÉGRADÉS ─── */
  --gradient-primary:       linear-gradient(135deg, #7C3AED 0%, #4F46E5 100%);
  --gradient-primary-soft:  linear-gradient(135deg, #A78BFA 0%, #7C3AED 100%);
  --gradient-dark:          linear-gradient(135deg, #0F0A1E 0%, #1A1226 50%, #231832 100%);
  --gradient-hero:          linear-gradient(135deg, #0F0A1E 0%, #1e1040 40%, #2d1b69 100%);
  --gradient-cta:           linear-gradient(135deg, #6D28D9 0%, #7C3AED 50%, #4F46E5 100%);
  --gradient-card:          linear-gradient(180deg, rgba(124,58,237,0.05) 0%, rgba(124,58,237,0) 100%);
  --gradient-whatsapp:      linear-gradient(135deg, #25D366 0%, #128C7E 100%);
  --gradient-glass:         linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.03) 100%);

  /* ─── OMBRES ─── */
  --shadow-xs:   0 1px 2px 0 rgba(15, 10, 30, 0.05);
  --shadow-sm:   0 1px 3px 0 rgba(15, 10, 30, 0.10), 0 1px 2px -1px rgba(15, 10, 30, 0.10);
  --shadow-md:   0 4px 6px -1px rgba(15, 10, 30, 0.10), 0 2px 4px -2px rgba(15, 10, 30, 0.10);
  --shadow-lg:   0 10px 15px -3px rgba(15, 10, 30, 0.10), 0 4px 6px -4px rgba(15, 10, 30, 0.10);
  --shadow-xl:   0 20px 25px -5px rgba(15, 10, 30, 0.10), 0 8px 10px -6px rgba(15, 10, 30, 0.10);
  --shadow-2xl:  0 25px 50px -12px rgba(15, 10, 30, 0.25);
  --shadow-violet:    0 8px 30px rgba(124, 58, 237, 0.3);
  --shadow-violet-lg: 0 20px 60px rgba(124, 58, 237, 0.4);
  --shadow-whatsapp:  0 8px 30px rgba(37, 211, 102, 0.35);

  /* ─── TYPOGRAPHIE ─── */
  --font-heading: 'Outfit', 'Inter', sans-serif;
  --font-body:    'Inter', 'Outfit', sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg:   1.125rem;  /* 18px */
  --text-xl:   1.25rem;   /* 20px */
  --text-2xl:  1.5rem;    /* 24px */
  --text-3xl:  1.875rem;  /* 30px */
  --text-4xl:  2.25rem;   /* 36px */
  --text-5xl:  3rem;      /* 48px */
  --text-6xl:  3.75rem;   /* 60px */
  --text-7xl:  4.5rem;    /* 72px */

  --line-height-tight:  1.25;
  --line-height-snug:   1.375;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.625;
  --line-height-loose:  2;

  --font-weight-normal:    400;
  --font-weight-medium:    500;
  --font-weight-semibold:  600;
  --font-weight-bold:      700;
  --font-weight-extrabold: 800;
  --font-weight-black:     900;

  /* ─── ESPACEMENT ─── */
  --space-1:  0.25rem;   /* 4px */
  --space-2:  0.5rem;    /* 8px */
  --space-3:  0.75rem;   /* 12px */
  --space-4:  1rem;      /* 16px */
  --space-5:  1.25rem;   /* 20px */
  --space-6:  1.5rem;    /* 24px */
  --space-8:  2rem;      /* 32px */
  --space-10: 2.5rem;    /* 40px */
  --space-12: 3rem;      /* 48px */
  --space-16: 4rem;      /* 64px */
  --space-20: 5rem;      /* 80px */
  --space-24: 6rem;      /* 96px */
  --space-32: 8rem;      /* 128px */

  /* ─── BORDER RADIUS ─── */
  --radius-sm:   0.375rem;  /* 6px */
  --radius-md:   0.5rem;    /* 8px */
  --radius-lg:   0.75rem;   /* 12px */
  --radius-xl:   1rem;      /* 16px */
  --radius-2xl:  1.5rem;    /* 24px */
  --radius-3xl:  2rem;      /* 32px */
  --radius-full: 9999px;

  /* ─── TRANSITIONS ─── */
  --transition-fast:    0.15s ease;
  --transition-normal:  0.25s ease;
  --transition-slow:    0.4s ease;
  --transition-spring:  0.3s cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ─── Z-INDEX ─── */
  --z-header:  100;
  --z-modal:   200;
  --z-overlay: 150;
  --z-fab:     90;
  --z-toast:   300;

  /* ─── LAYOUT ─── */
  --container-max:    1280px;
  --container-narrow: 780px;
  --header-height:    72px;
  --header-height-mobile: 64px;
}
