/* style.css - Styles globaux Bourbon Digital */

/* --- CONFIGURATION GENERALE --- */
:root {
    --glass-border: rgba(255, 255, 255, 0.1);
    --glass-bg: rgba(15, 23, 42, 0.95); /* Slate 900 avec transparence */
    --brand-majorelle: #60A5FA; /* Bleu Majorelle (Charte) */
    --brand-google: #4285F4;    /* Bleu Google (Action) */
}

html {
    scroll-behavior: smooth;
}

/* --- NAVIGATION (Glassmorphism) --- */
.glass-nav {
    background: var(--glass-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--glass-border);
}

/* Méga Menu (Logique JavaScript) */
.mega-menu {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    z-index: 9999;
    position: absolute;
    max-height: 80vh;
    overflow-y: auto;
}

.mega-menu.open {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

/* --- UTILITAIRES VISUELS --- */

/* Dégradé Standard (Google) */
.gradient-text {
    background: linear-gradient(to right, #4285F4, #34A853);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Dégradé de Marque (Majorelle > Google Blue) */
.text-gradient-brand {
    background: linear-gradient(to right, var(--brand-majorelle), var(--brand-google));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Motif de fond (Hero - Style Strapi) */
.hero-pattern {
    background: 
        /* Dégradé principal violet vers noir */
        linear-gradient(135deg, 
            rgba(91, 33, 182, 0.3) 0%, 
            rgba(15, 23, 42, 0.8) 35%, 
            rgba(0, 0, 0, 0.9) 100%
        ),
        /* Motif géométrique superposé */
        radial-gradient(circle at 20% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(167, 139, 250, 0.08) 0%, transparent 50%),
        /* Grille subtile */
        linear-gradient(to right, rgba(139, 92, 246, 0.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(139, 92, 246, 0.03) 1px, transparent 1px);
    background-size: 60px 60px, 40px 40px, 60px 60px, 60px 60px, 60px 60px;
    background-position: center, 20% 80%, 80% 20%, 0 0, 0 0;
}

/* Motif de fond (Brand Center - Grille) */
.grid-pattern {
    background-size: 40px 40px;
    background-image: linear-gradient(to right, rgba(79, 70, 229, 0.05) 1px, transparent 1px),
                      linear-gradient(to bottom, rgba(79, 70, 229, 0.05) 1px, transparent 1px);
}

/* --- MICRO-INTERACTIONS --- */

/* Effet de clic sur les cartes de couleur */
.color-card:active {
    transform: scale(0.98);
}

/* Effet de brillance au survol */
.hover-glow {
    transition: box-shadow 0.3s ease;
}
.hover-glow:hover {
    box-shadow: 0 0 20px rgba(66, 133, 244, 0.2);
}

/* --- ANIMATIONS --- */

/* Barre de chargement (Page Accueil - Section Migration) */
@keyframes loading {
    0% { width: 0%; transform: translateX(-100%); }
    50% { width: 50%; }
    100% { width: 100%; transform: translateX(0); }
}

.animate-loading {
    animation: loading 2s ease-in-out infinite;
}

/* --- UTILITAIRES FONCTIONNELS --- */

/* Bannière Cookies (Z-Index élevé pour passer au-dessus du Header) */
#cookie-banner {
    z-index: 100 !important;
}
/* --- AJOUTER À LA FIN DE STYLE.CSS --- */

/* Animation de rotation (Pour l'orbite Time Zone) */
@keyframes spin-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.animate-orbit {
    animation: spin-slow 10s linear infinite;
}

/* Mode Présentation pour les commerciaux Bourbon Digital */
.presentation-mode .cookie-banner,
.presentation-mode footer,
.presentation-mode .popup-chat, 
.presentation-mode .marketing-banner {
    display: none !important; /* On cache les distractions */
}
.presentation-mode body {
    font-size: 110%; /* On grossit un peu pour le partage d'écran */
    overflow-x: hidden;
}
.presentation-mode header {
    position: static; /* On évite le header sticky qui mange l'écran en démo */
}

/* Mega Menu Styles */
.mega-menu-panel {
    visibility: hidden;
    opacity: 0;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 9999;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-10px);
    min-width: 700px;
    max-width: 800px;
}

.mega-menu-panel.open {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.mega-menu-item {
    transition: all 0.2s ease;
    border-radius: 8px;
}

.mega-menu-item:hover {
    background: rgba(30, 41, 59, 0.5);
    transform: translateX(4px);
}

.mega-menu-item .icon {
    transition: all 0.2s ease;
}

.mega-menu-item:hover .icon {
    transform: scale(1.1);
}

/* Delay pour éviter la fermeture accidentelle */
.mega-menu-wrapper {
    position: relative;
}

.mega-menu-wrapper:hover .mega-menu-panel {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}