/**
 * Variables CSS - Le Ballon Publicitaire
 *
 * @version 0.4.1
 */

:root {

    /* ============================================
       COULEURS
       ============================================ */

    --color-primary: #1FA8DC;
    --color-primary-dark: #0A4A6B;
    --color-primary-light: #5BC0E8;

    --color-accent: #F39200;

    --color-success: #1AB394;
    --color-eco: #3CB371;

    --color-black: #1a1a1a;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-text-lighter: #999999;
    --color-border: #e5e5e5;
    --color-bg-light: #f5f5f5;
    --color-bg-lighter: #fafafa;
    --color-white: #ffffff;
    --color-page-bg: #fcfcfc;       /* fond de page global */

    --color-error: #d63638;
    --color-warning: #dba617;
    --color-info: var(--color-primary);


    /* ============================================
       TYPOGRAPHIE
       ============================================ */

    /* Couture (font propriétaire) pour les titres display et le menu.
       Bebas Neue garde un rôle de fallback web-safe avant que Couture charge.
       Couture n'a que les variantes Bold (700) - donc à utiliser uniquement
       en font-weight: 700. */
    --font-display: 'Couture', 'Bebas Neue', 'Impact', 'Arial Narrow', sans-serif;

    /* Helvetica Neue auto-hébergée pour le texte courant et les titres standards */
    --font-body: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, Arial, sans-serif;
    --font-heading: 'Helvetica Neue', -apple-system, BlinkMacSystemFont, Arial, sans-serif;

    /* Tailles */
    --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;
    --fs-4xl: 3rem;
    --fs-5xl: 3.75rem;

    /* Graisses */
    --fw-light: 300;
    --fw-regular: 400;
    --fw-medium: 500;
    --fw-semibold: 600;
    --fw-bold: 700;

    /* Hauteurs de ligne */
    --lh-tight: 1.2;
    --lh-snug: 1.4;
    --lh-normal: 1.6;
    --lh-relaxed: 1.75;


    /* ============================================
       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: 2.5rem;
    --space-8: 3rem;
    --space-9: 4rem;
    --space-10: 5rem;
    --space-12: 6rem;


    /* ============================================
       LAYOUT
       ============================================ */

    --container-max: 1400px;
    --container-padding: 1.5rem;


    /* ============================================
       BORDURES & OMBRES
       ============================================ */

    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 16px;
    --radius-pill: 999px;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);


    /* ============================================
       TRANSITIONS
       ============================================ */

    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms ease;


    /* ============================================
       Z-INDEX
       ============================================ */

    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-header: 300;
    --z-modal: 1000;
    --z-tooltip: 1100;
}


/* ============================================
   RESPONSIVE - Padding container
   ============================================ */

@media (max-width: 768px) {
    :root {
        --container-padding: 0.75rem;
    }
}

@media (max-width: 380px) {
    :root {
        --container-padding: 0.5rem;
    }
}