/**
 * Variables CSS de Marque - Graphik Impact
 * 
 * @version 1.0.0
 * @date 2025-11-15
 * @description Custom properties CSS générées depuis brand-colors.js et brand-typography.js
 * @usage Importer ce fichier dans toutes les pages pour accès aux variables --gi-*
 * 
 * IMPORTANT: Ce fichier peut être regénéré automatiquement via:
 * - GRAPHIK_BRAND_COLORS.toCSSVariables()
 * - GRAPHIK_BRAND_TYPOGRAPHY.toCSSVariables()
 */

:root {
  /* ========================================
     COULEURS PRIMAIRES
     ======================================== */
  
  --gi-black: #000000;
  --gi-cyan: #009FE3;

  /* ========================================
     COULEURS SECONDAIRES PAR PÔLE
     ======================================== */
  
  --gi-strategy: #FBE40B;      /* Jaune - Stratégie */
  --gi-design: #654897;        /* Violet - Design */
  --gi-web: #EB5D18;           /* Orange - Web */
  --gi-social: #4E78BC;        /* Bleu - Social Media */
  --gi-photo: #5EBFBB;         /* Turquoise - Photo */
  --gi-print: #E20E7E;         /* Magenta - Print */

  /* ========================================
     COULEURS FONCTIONNELLES
     ======================================== */
  
  --gi-text-primary: #000000;
  --gi-text-secondary: #4B5563;
  --gi-text-tertiary: #9CA3AF;
  
  --gi-bg-primary: #FFFFFF;
  --gi-bg-secondary: #F9FAFB;
  --gi-bg-tertiary: #F3F4F6;
  
  --gi-border-primary: #E5E7EB;
  --gi-border-secondary: #D1D5DB;
  
  --gi-accent: var(--gi-cyan);
  --gi-accent-hover: #0088c7;
  
  /* États */
  --gi-success: #10B981;
  --gi-warning: #F59E0B;
  --gi-error: #EF4444;
  --gi-info: var(--gi-cyan);

  /* ========================================
     FAMILLES DE POLICES
     ======================================== */
  
  --gi-font-primary: "Outfit", system-ui, -apple-system, sans-serif;
  --gi-font-secondary: "Zalando Sans", system-ui, -apple-system, sans-serif;

  /* ========================================
     TAILLES DE POLICE (DESKTOP)
     ======================================== */
  
  /* Titres */
  --gi-text-h1-size: 48px;
  --gi-text-h1-lh: 1.2;
  --gi-text-h1-ls: -0.02em;
  
  --gi-text-h2-size: 36px;
  --gi-text-h2-lh: 1.3;
  --gi-text-h2-ls: -0.01em;
  
  --gi-text-h3-size: 28px;
  --gi-text-h3-lh: 1.4;
  --gi-text-h3-ls: 0;
  
  --gi-text-h4-size: 22px;
  --gi-text-h4-lh: 1.4;
  --gi-text-h4-ls: 0;
  
  --gi-text-h5-size: 18px;
  --gi-text-h5-lh: 1.5;
  --gi-text-h5-ls: 0;
  
  --gi-text-h6-size: 16px;
  --gi-text-h6-lh: 1.5;
  --gi-text-h6-ls: 0.01em;

  /* Corps de texte */
  --gi-text-body-size: 16px;
  --gi-text-body-lh: 1.6;
  --gi-text-body-ls: 0;
  
  --gi-text-bodyLarge-size: 18px;
  --gi-text-bodyLarge-lh: 1.7;
  --gi-text-bodyLarge-ls: 0;
  
  --gi-text-bodySmall-size: 14px;
  --gi-text-bodySmall-lh: 1.6;
  --gi-text-bodySmall-ls: 0;

  /* Éléments spéciaux */
  --gi-text-caption-size: 12px;
  --gi-text-caption-lh: 1.5;
  --gi-text-caption-ls: 0.01em;
  
  --gi-text-quote-size: 20px;
  --gi-text-quote-lh: 1.7;
  --gi-text-quote-ls: 0;
  
  --gi-text-label-size: 14px;
  --gi-text-label-lh: 1.4;
  --gi-text-label-ls: 0.01em;

  /* ========================================
     ESPACEMENTS
     ======================================== */
  
  --gi-spacing-xs: 4px;
  --gi-spacing-sm: 8px;
  --gi-spacing-md: 16px;
  --gi-spacing-lg: 24px;
  --gi-spacing-xl: 32px;
  --gi-spacing-2xl: 48px;
  --gi-spacing-3xl: 64px;

  /* ========================================
     RAYONS DE BORDURE
     ======================================== */
  
  --gi-radius-sm: 4px;
  --gi-radius-md: 8px;
  --gi-radius-lg: 12px;
  --gi-radius-xl: 16px;
  --gi-radius-full: 9999px;

  /* ========================================
     OMBRES
     ======================================== */
  
  --gi-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --gi-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --gi-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --gi-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);

  /* ========================================
     TRANSITIONS
     ======================================== */
  
  --gi-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --gi-transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --gi-transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ========================================
     Z-INDEX
     ======================================== */
  
  --gi-z-base: 0;
  --gi-z-dropdown: 1000;
  --gi-z-sticky: 1100;
  --gi-z-modal: 1200;
  --gi-z-popover: 1300;
  --gi-z-tooltip: 1400;
}

/* ========================================
   CLASSES UTILITAIRES - COULEURS
   ======================================== */

.text-black { color: var(--gi-black); }
.text-cyan { color: var(--gi-cyan); }
.text-strategy { color: var(--gi-strategy); }
.text-design { color: var(--gi-design); }
.text-web { color: var(--gi-web); }
.text-social { color: var(--gi-social); }
.text-photo { color: var(--gi-photo); }
.text-print { color: var(--gi-print); }

.bg-black { background-color: var(--gi-black); }
.bg-cyan { background-color: var(--gi-cyan); }
.bg-strategy { background-color: var(--gi-strategy); }
.bg-design { background-color: var(--gi-design); }
.bg-web { background-color: var(--gi-web); }
.bg-social { background-color: var(--gi-social); }
.bg-photo { background-color: var(--gi-photo); }
.bg-print { background-color: var(--gi-print); }

.border-black { border-color: var(--gi-black); }
.border-cyan { border-color: var(--gi-cyan); }
.border-strategy { border-color: var(--gi-strategy); }
.border-design { border-color: var(--gi-design); }
.border-web { border-color: var(--gi-web); }
.border-social { border-color: var(--gi-social); }
.border-photo { border-color: var(--gi-photo); }
.border-print { border-color: var(--gi-print); }

/* ========================================
   CLASSES UTILITAIRES - TYPOGRAPHIE
   ======================================== */

.font-primary { font-family: var(--gi-font-primary); }
.font-secondary { font-family: var(--gi-font-secondary); }

/* Titres (Desktop) */
.text-h1 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h1-size);
  line-height: var(--gi-text-h1-lh);
  letter-spacing: var(--gi-text-h1-ls);
  font-weight: 600;
}

.text-h2 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h2-size);
  line-height: var(--gi-text-h2-lh);
  letter-spacing: var(--gi-text-h2-ls);
  font-weight: 600;
}

.text-h3 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h3-size);
  line-height: var(--gi-text-h3-lh);
  font-weight: 500;
}

.text-h4 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h4-size);
  line-height: var(--gi-text-h4-lh);
  font-weight: 500;
}

.text-h5 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h5-size);
  line-height: var(--gi-text-h5-lh);
  font-weight: 400;
}

.text-h6 { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-h6-size);
  line-height: var(--gi-text-h6-lh);
  letter-spacing: var(--gi-text-h6-ls);
  font-weight: 400;
}

/* Corps de texte */
.text-body { 
  font-family: var(--gi-font-secondary);
  font-size: var(--gi-text-body-size);
  line-height: var(--gi-text-body-lh);
}

.text-body-large { 
  font-family: var(--gi-font-secondary);
  font-size: var(--gi-text-bodyLarge-size);
  line-height: var(--gi-text-bodyLarge-lh);
}

.text-body-small { 
  font-family: var(--gi-font-secondary);
  font-size: var(--gi-text-bodySmall-size);
  line-height: var(--gi-text-bodySmall-lh);
}

.text-caption { 
  font-family: var(--gi-font-secondary);
  font-size: var(--gi-text-caption-size);
  line-height: var(--gi-text-caption-lh);
  letter-spacing: var(--gi-text-caption-ls);
}

.text-quote { 
  font-family: var(--gi-font-secondary);
  font-size: var(--gi-text-quote-size);
  line-height: var(--gi-text-quote-lh);
  font-style: italic;
}

.text-label { 
  font-family: var(--gi-font-primary);
  font-size: var(--gi-text-label-size);
  line-height: var(--gi-text-label-lh);
  letter-spacing: var(--gi-text-label-ls);
  font-weight: 500;
}

/* ========================================
   RESPONSIVE - TABLET (max-width: 1024px)
   ======================================== */

@media (max-width: 1024px) {
  :root {
    --gi-text-h1-size: 40px;
    --gi-text-h2-size: 32px;
    --gi-text-h3-size: 24px;
    --gi-text-h4-size: 20px;
    --gi-text-h5-size: 17px;
    --gi-text-h6-size: 15px;
    --gi-text-bodyLarge-size: 17px;
    --gi-text-quote-size: 18px;
    --gi-text-label-size: 13px;
  }
}

/* ========================================
   RESPONSIVE - MOBILE (max-width: 768px)
   ======================================== */

@media (max-width: 768px) {
  :root {
    --gi-text-h1-size: 32px;
    --gi-text-h2-size: 28px;
    --gi-text-h3-size: 22px;
    --gi-text-h4-size: 18px;
    --gi-text-h5-size: 16px;
    --gi-text-h6-size: 14px;
    --gi-text-body-size: 15px;
    --gi-text-bodyLarge-size: 16px;
    --gi-text-bodySmall-size: 13px;
    --gi-text-caption-size: 11px;
    --gi-text-quote-size: 17px;
    --gi-text-label-size: 12px;
  }
}
