@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&family=Inter:wght@400;600&family=Poppins:wght@600;700&display=swap');

/* --- RÉINITIALISATION ET BASE --- */
html {
    overflow-x: hidden; 
    scroll-behavior: smooth;
    width: 100%;
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    font-family: "Nunito", sans-serif;
    color: #0A3D62;
    overflow-x: clip; 
}

/* --- TYPOGRAPHIE --- */
h1, h2 { font-family: "Poppins", sans-serif; }
h3, h4, h5, h6 { font-family: "Inter", sans-serif; }

/* --- NAVIGATION & STABILISATION --- */
#top-bar {
    max-height: 200px; 
    opacity: 1;
    transition: transform 0.4s ease, max-height 0.4s ease, opacity 0.3s ease;
    overflow: hidden;
    background: white;
}

/* La classe de masquage doit être radicale mais stable */
.hide-topbar {
    max-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-100%); /* Sort l'élément proprement */
    pointer-events: none;
}

#main-nav {
    position: sticky;
    top: 0;
    z-index: 50;
    transition: box-shadow 0.3s ease;
}

/* Logo dans la barre bleue : Toujours visible et stable */
#logo-nav {
    display: flex;
    align-items: center;
    opacity: 1 !important;
    width: auto !important;
    transform: none !important;
    pointer-events: auto;
}

/* Wrappeur des liens : Stable */
#nav-content-wrapper {
    transition: all 0.5s ease;
}

/* Liens de navigation */
.nav-link {
    position: relative;
    transition: color 0.3s ease;
}

.nav-link::after {
    content: '';
    position: absolute;
    width: 0;
    height: 3px;
    bottom: 2px;
    left: 0;
    background-color: #2ECC71;
    transition: width 0.3s ease;
}

.active-link::after { width: 100%; }
.active-link {
    color: #2ECC71 !important;
    font-weight: 600;
}

/* --- SÉLECTEUR WEGLOT (CHARTE GRAPHIQUE IDECOO) --- */
.wg-drop.country-selector {
    background: transparent !important;
    border: none !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
}

.wg-drop.country-selector .wgcurrent {
    border: none !important;
    color: #ffffff !important; /* Texte blanc pour correspondre à la navbar */
}

.wg-drop.country-selector ul {
    background: #0A3D62 !important; /* Fond bleu identique au menu */
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 12px !important;
}

.wg-drop.country-selector ul li a {
    color: #ffffff !important;
}

.wg-drop.country-selector ul li a:hover {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #2ECC71 !important;
}

/* --- LOGIQUE PROJETS & ANIMATIONS --- */
.project-item.active, .project-item:hover { background-color: #2ECC71; }
.project-item.active span, .project-item:hover span,
.project-item.active i, .project-item:hover i,
.project-item.active p, .project-item:hover p { color: #ffffff !important; }
.project-item.active h3, .project-item:hover h3 { color: #000000 !important; }

@keyframes scroll-logos {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

.animate-infinite-scroll {
    display: flex;
    width: max-content;
    animation: scroll-logos 25s linear infinite;
}

/* --- UTILITAIRES --- */
.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

.card-zoom-target, .image-zoom-target { 
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1); 
}

.group:hover .card-zoom-target { transform: scale(1.03); }
.group:hover .image-zoom-target { transform: scale(1.1); }

.organic-blob {
    clip-path: path("M 5.8,40.0 C 5.8,61.9 29.8,88.7 50.0,88.9 C 70.0,89.1 94.2,60.8 94.2,40.0 C 94.2,19.2 68.3,0.3 50.0,0.1 C 31.7,-0.1 5.8,18.1 5.8,40.0 Z");
}



