/* --- IMPORT DES POLICES (Montserrat imite parfaitement le 'Muginn Sans' du Brand Book) --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&family=Montserrat:wght@700;800;900&display=swap');

/* --- VARIABLES DE COULEURS (Brand Book Muginn) --- */
:root {
    --deep-sea: #050b14;
    --cyber-steel: #e2e8f0;
    --muninn-green: #00ffa3;
    --huginn-purple: #8b5cf6;
    --alert-red: #ff3366;
    --glass-bg: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.08);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    background-color: var(--deep-sea);
    color: var(--cyber-steel);
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
}

/* TYPOGRAPHIE DES TITRES (InspirÃ© du "Muginn Sans") */
h1, h2, h3, h4 { 
    font-family: 'Montserrat', sans-serif; 
    font-weight: 800;
    letter-spacing: -0.5px; 
    color: white; 
}

/* --- NAVIGATION --- */
#navbar {
    position: fixed; top: 0; width: 100%; padding: 20px 50px;
    display: flex; justify-content: space-between; align-items: center;
    z-index: 1000; background: rgba(5, 11, 20, 0.95);
    border-bottom: 1px solid var(--glass-border); backdrop-filter: blur(10px);
}
.logo { display: flex; align-items: center; gap: 15px; text-decoration: none;}
.logo-icon { font-size: 2rem; }
.logo-text h1 { font-size: 1.8rem; font-weight: 900; line-height: 1; margin:0; letter-spacing: 1px;}
.logo-text p { font-size: 0.65rem; color: var(--cyber-steel); letter-spacing: 3px; font-weight: 600; margin:0; font-family: 'Montserrat', sans-serif;}
.nav-links { list-style: none; display: flex; gap: 30px; align-items: center; }
.nav-links a { color: var(--cyber-steel); text-decoration: none; font-size: 0.9rem; font-weight: 600; transition: 0.3s; }
.nav-links a:hover, .nav-links a.active { color: var(--muninn-green); }

/* --- EFFETS DE LUMIÃˆRE (GLOW) --- */
.glow-bg {
    position: absolute; width: 400px; height: 400px; border-radius: 50%;
    filter: blur(100px); z-index: 0; opacity: 0.25; pointer-events: none;
}
.glow-green { background: var(--muninn-green); top: 20%; left: 10%; }
.glow-purple { background: var(--huginn-purple); bottom: 10%; right: 10%; }

/* --- EN-TÃŠTES DE PAGES --- */
.page-header {
    padding: 160px 50px 80px; text-align: center; position: relative;
    border-bottom: 1px solid var(--glass-border); 
    background: radial-gradient(circle at top, rgba(139, 92, 246, 0.1), transparent 50%);
    z-index: 10;
}
.page-header h1 { font-size: 3.5rem; margin-bottom: 20px; line-height: 1.1; }
.page-header p { font-size: 1.1rem; color: #a0aec0; max-width: 800px; margin: 0 auto; }

/* --- LAYOUTS & GRILLES --- */
.container { max-width: 1200px; margin: 0 auto; padding: 60px 20px; position: relative; z-index: 10;}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }

/* --- CARTES GLASSMORPHISM --- */
.card {
    background: var(--glass-bg); border: 1px solid var(--glass-border);
    border-radius: 12px; padding: 40px; backdrop-filter: blur(10px);
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.card:hover { transform: translateY(-5px); border-color: rgba(255,255,255,0.2); }
.card.green:hover { border-color: var(--muninn-green); box-shadow: 0 10px 30px rgba(0,255,163,0.1); }
.card.purple:hover { border-color: var(--huginn-purple); box-shadow: 0 10px 30px rgba(139,92,246,0.1); }

.card h3 { font-size: 1.8rem; margin-bottom: 15px; }
.card h4 { font-size: 1rem; color: var(--muninn-green); margin-bottom: 20px; font-family: 'Inter', sans-serif; font-weight: 600; text-transform: uppercase;}
.card ul { margin-left: 20px; color: #a0aec0; }
.card li { margin-bottom: 12px; }

/* --- BOUTONS --- */
.btn { 
    padding: 15px 35px; text-decoration: none; font-family: 'Montserrat', sans-serif; 
    font-weight: 700; font-size: 0.9rem; border-radius: 4px; text-transform: uppercase; 
    transition: all 0.3s ease; display: inline-block; margin-top: 20px;
}
.btn-primary { 
    background: var(--muninn-green); color: var(--deep-sea); 
    box-shadow: 0 0 15px rgba(0, 255, 163, 0.3);
}
.btn-primary:hover { 
    box-shadow: 0 0 30px rgba(0, 255, 163, 0.6); transform: translateY(-2px); 
}

/* --- TABLES --- */
.cyber-table { width: 100%; border-collapse: collapse; margin-top: 20px; }
.cyber-table th, .cyber-table td { padding: 15px; text-align: left; border-bottom: 1px solid var(--glass-border); }
.cyber-table th { color: var(--muninn-green); font-family: 'Montserrat', sans-serif; }

footer { text-align: center; padding: 40px; border-top: 1px solid var(--glass-border); margin-top: 50px; font-size: 0.8rem; color: #718096; }

.logo-image {
    height: 60px; /* Ajuste cette valeur selon la taille que tu souhaites */
    width: auto;
    object-fit: contain;
}

/* --- ICÃ”NES DES MODULES (Cartes Muninn & Huginn) --- */
.module-icon {
    width: 120px;          /* Largeur fixe de l'icÃ´ne, tu peux modifier cette valeur (ex: 50px ou 60px) */
    height: auto;         /* Garde les proportions de l'image intactes */
    object-fit: contain;  /* S'assure que l'image ne soit pas dÃ©formÃ©e */
    border-radius: 20px;   /* Optionnel : adoucit lÃ©gÃ¨rement les angles de l'image */
}

/* --- BARRE DE PROGRESSION --- */
#progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 5px;
    width: 0%;
    background: linear-gradient(90deg, #00ffa3, #8b5cf6);
    z-index: 99999;
    transition: width 0.1s ease-out;
    box-shadow: 0 0 10px #00ffa3;
}

/* --- BOUTON RETOUR HAUT (ALIGNÉ AVEC WIDGET) --- */
#backToTop {
    position: fixed;
    bottom: 30px;  /* Même hauteur que le widget (Alignement vertical) */
    right: 90px;    /* Décalé à droite (20px marge + 60px widget + 10px écart) */
    
    width: 60px;
    height: 60px;
    
    background: rgba(5, 11, 20, 0.9);
    border: 2px solid #00ffa3;
    border-radius: 12px;
    color: #00ffa3;
    
    z-index: 990;
    display: none;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 0 15px rgba(0, 255, 163, 0.15);
    backdrop-filter: blur(5px);
}

#backToTop:hover {
    background: #00ffa3;
    color: #050b14;
    transform: translateY(-5px) scale(1.05);
    box-shadow: 0 0 30px rgba(0, 255, 163, 0.6);
}

#backToTop.show {
    display: flex;
    animation: slideInLeft 0.4s ease-out; /* Animation venant de la gauche */
}

@keyframes slideInLeft {
    from { opacity: 0; transform: translateX(-20px); }
    to { opacity: 1; transform: translateX(0); }
}