/* ============================================
   MAIN CSS - Point d'Entrée Principal
   Mandataire Auto Design System v2.0
   
   ARCHITECTURE:
   ├── variables.css   → Design Tokens (couleurs, espacements, etc.)
   ├── base.css        → Reset & styles de base
   ├── layout.css      → Navigation, footer, grilles, sections
   ├── components.css  → Boutons, cartes, formulaires, modals
   ├── utilities.css   → Classes utilitaires
   └── pages/          → Styles spécifiques aux pages
   
   ============================================ */

/* ==========================================
   IMPORTS - ORDRE IMPORTANT
   ========================================== */

/* 1. Design Tokens - Variables globales */
@import url('./variables.css');

/* 2. Base - Reset et typographie */
@import url('./base.css');

/* 3. Layout - Structure de page */
@import url('./layout.css');

/* 4. Components - Éléments UI */
@import url('./components.css');

/* 5. Utilities - Classes utilitaires */
@import url('./utilities.css');

/* 6. Pages - Styles spécifiques (optionnel) */
@import url('./pages/home.css');
@import url('./pages/catalog.css');
@import url('./pages/vehicle-detail.css');

/* ==========================================
   STYLES GLOBAUX ADDITIONNELS
   ========================================== */

/* Fonts Google - Chargement optimisé */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap');

/* ==========================================
   RESPONSIVE NAVIGATION MOBILE
   ========================================== */

@media (max-width: 1023px) {
    .nav-links {
        display: none;
    }
    
    .nav-actions .btn:not(.btn-primary) {
        display: none;
    }
}

/* ==========================================
   PAGE TRANSITIONS (optionnel)
   ========================================== */

.page-enter {
    opacity: 0;
    transform: translateY(20px);
}

.page-enter-active {
    opacity: 1;
    transform: translateY(0);
    transition: all var(--transition-normal);
}

/* ==========================================
   DARK MODE SUPPORT (si activé)
   ========================================== */

@media (prefers-color-scheme: dark) {
    /* Auto dark mode basé sur les préférences système */
    /* Décommenter si vous voulez activer le mode sombre automatique */
    /*
    :root {
        --bg-primary: #0D1117;
        --bg-secondary: #161B22;
        --bg-tertiary: #21262D;
        --text-primary: #F0F6FC;
        --text-secondary: #8B949E;
        --text-muted: #6E7681;
        --border-color: #30363D;
        --border-light: #21262D;
    }
    */
}

/* ==========================================
   PERFORMANCE OPTIMIZATIONS
   ========================================== */

/* Optimisation du rendu des images */
img {
    content-visibility: auto;
}

/* Optimisation des animations */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ==========================================
   ÉTAT DE CHARGEMENT
   ========================================== */

.loading-overlay {
    position: fixed;
    inset: 0;
    background: var(--bg-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-top);
    transition: opacity var(--transition-normal);
}

.loading-overlay.hidden {
    opacity: 0;
    pointer-events: none;
}

.loading-spinner {
    width: 48px;
    height: 48px;
    border: 3px solid var(--border-color);
    border-top-color: var(--accent-primary);
    border-radius: var(--radius-full);
    animation: spin 0.8s linear infinite;
}

/* ==========================================
   FOCUS STYLES AMÉLIORÉS
   ========================================== */

:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--accent-primary);
    outline-offset: 2px;
}

/* ==========================================
   IMPRESSION
   ========================================== */

@media print {
    .navbar,
    .footer,
    .whatsapp-float,
    .scroll-top,
    .top-bar {
        display: none !important;
    }
    
    .page {
        padding-top: 0 !important;
    }
    
    body {
        font-size: 12pt;
        background: white;
        color: black;
    }
    
    a {
        color: black;
        text-decoration: underline;
    }
    
    .btn {
        border: 1px solid black;
        background: white !important;
        color: black !important;
    }
}

