    :root {
        --corporate-orange: #FF5733;    /* Orange culturel */
        --corporate-gris: #5a5d68;      /* Gris élégant plus foncé */
        --corporate-light: #f0f4ff;    /* Bleu très clair */
        --artistic-orange: #FF6B35;    /* Orange ivoirien artistique */
        --neutral-white: #FFFFFF;      /* Blanc pur */
        --neutral-light: #f8f9fa;      /* Gris très clair */
        --dark-overlay: rgba(0, 0, 0, 0.7); /* Overlay sombre */
        --body-bg: #F7F3F0;            /* Nouvelle couleur de fond */
        }
        /* Styles optimisés pour le préloader */
        /* Préloader optimisé */
        .preloader {
            position: fixed;
            inset: 0;
            z-index: 9999;
            background: #f3f4f6;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            transition: opacity 0.3s ease, visibility 0.3s ease; /* Réduit de 0.5s à 0.3s */
        }

        .preloader.hidden {
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            display: none !important; /* Force le masquage */
        }

        .preloader-logo {
            display: flex;
            margin-bottom: 2rem;
        }

        .preloader-letter {
            font-size: 3rem;
            font-weight: bold;
            color: #FF5733;
            opacity: 0;
            transform: translateY(-20px);
            margin: 0 0.25rem;
            transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); /* Animation plus rapide et fluide */
        }


        /* Optimisation des animations */
        @keyframes letterAppear {
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Version simplifiée sans animation complexe */
        .preloader-letter.fast-load {
            animation: none;
            transition: opacity 0.2s ease, transform 0.2s ease;
        }

        /* Animation simplifiée pour les lettres */
        @keyframes letterAppear {
            0% {
                opacity: 0;
                transform: translateY(-20px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .preload-background {
            background: linear-gradient(45deg, #2c3e50, #4a5568);
            transition: opacity 0.5s ease;
        }

        body {
            width: 100%;
            margin: 0;
            font-family: 'Poppins', sans-serif;
            scroll-behavior: smooth;
            background: var(--body-bg);
            color: #333;
            overflow-x: hidden;
            padding-top: 70px;
        }
        .preload-background {
            background: linear-gradient(45deg, #2c3e50, #4a5568);
            transition: opacity 0.5s ease;
        }
        body.preloader-active {
            overflow: hidden;
            height: 100vh;
        }

        body:not(.preloader-active) {
            overflow: auto;
            height: auto;
        }

        /* Assurer que le contenu principal est visible */
        main {
            opacity: 1 !important;
            visibility: visible !important;
        }

        .hero-image.loaded ~ .preload-background {
            opacity: 0;
            pointer-events: none;
        }
        /* Bannière avec carousel - Animations accélérées */
        .carousel-slides>div {
            transition: opacity 0.6s ease-in-out;
            /* Réduit de 1s à 0.6s */
        }

        .artistic-font {
            font-family: 'Playfair Display', serif;
        }

        .menu-item.active {
            color: var(--corporate-orange);
        }

        .menu-item.active::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 15px;
            right: 15px;
            height: 2px;
            background: var(--corporate-orange);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        /* Header amélioré */
        .header {
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            background: var(--body-bg); /* Fond clair */
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 15px rgba(0, 0, 0, 0.1); /* Ombre plus légère */
            border-bottom: 1px solid rgba(0, 0, 0, 0.05); /* Bordure subtile */
        }

        .header.scrolled {
            padding: 8px 0;
            background: var(--body-bg);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
        }
        .menu-item {
            position: relative;
            padding: 10px 15px;
            cursor: pointer;
            font-weight: 500;
            transition: color 0.4s ease-out;
            color: #333; /* Texte foncé */
            font-size: 13px;
            text-transform: capitalize;
        }

        .menu-item:hover,
        .menu-item.active {
            color: var(--corporate-orange);
        }

        .menu-item:hover::after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 15px;
            right: 15px;
            height: 2px;
            background: var(--corporate-orange);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        /* Mega menu amélioré */
        .mega-menu {
            display: none;
            opacity: 0;
            transform: translateY(-10px);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .mega-menu {
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
            border-top: 3px solid var(--corporate-orange);
            top: 100%;
            z-index: 1000;
            transition: opacity 0.4s ease-out, transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            background: var(--body-bg); /* Fond clair */
        }

        .mega-menu.active {
            display: block;
            opacity: 1;
            transform: translateY(0);
        }

        /* Styles pour les en-têtes de page */
        .page-header {
            background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
        }


        /* Boutons */
        .btn-primary {
            display: inline-block;
            background-color: #f97316;
            color: white;
            padding: 12px 24px;
            border-radius: 6px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            background-color: #ea580c;
            transform: translateY(-2px);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }

        .btn-secondary {
            display: inline-block;
            background-color: white;
            color: #f97316;
            padding: 12px 24px;
            border-radius: 6px;
            font-weight: 600;
            border: 2px solid #f97316;
            transition: all 0.3s ease;
        }

        .btn-secondary:hover {
            /* background-color: #fff7ed; */
            transform: translateY(-2px);
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
        }

        /* Style pour la bannière d'information */
        .info-banner {
            background: linear-gradient(135deg, var(--corporate-orange) 0%, #e67e22 100%);
            box-shadow: 0 4px 12px rgba(230, 126, 34, 0.2);
            position: relative;
            overflow: hidden;
        }

        .info-banner::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h20L0 20z' fill='%23ffffff' fill-opacity='0.05'/%3E%3C/svg%3E");
            pointer-events: none;
        }

        .info-banner p {
            text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
            position: relative;
            z-index: 1;
        }

        /* Animation douce pour attirer l'attention */
        @keyframes pulse-gentle {
            0% { transform: scale(1); }
            50% { transform: scale(1.02); }
            100% { transform: scale(1); }
        }

        .info-banner {
            animation: pulse-gentle 6s infinite ease-in-out;
        }
        .info-messages {
            transition: transform 0.8s ease-in-out;
        }

        /* Tableaux */
        table {
            border-collapse: collapse;
            width: 100%;
        }

        th, td {
            padding: 12px 16px;
            text-align: left;
        }

        tbody tr:hover {
            background-color: #f9fafb;
        }

        /* Assurer que le header a une position relative pour le positionnement absolu des mega menus */
        .header {
            position: relative;
        }
        /* Ajoutez cette règle CSS */
        .mobile-menu-open {
            overflow: hidden;
            position: fixed;
            width: 100%;
        }

        /* Assurez-vous que le menu mobile prend toute la hauteur */
        .mobile-menu-container {
            height: 100vh;
            overflow-y: auto;
        }
        .mobile-menu-container {
            height: 100vh;
            overflow-y: auto;
        }

        body.mobile-menu-open {
            overflow: hidden;
            position: fixed;
            width: 100%;
        }

        /* Amélioration de la détection du survol */
        .menu-item:hover + .mega-menu,
        .mega-menu:hover {
            display: block;
            opacity: 1;
            transform: translateY(0);
        }

        .mega-col h4 {
            position: relative;
            padding-bottom: 10px;
            margin-bottom: 15px;
            color: var(--corporate-orange);
        }

        .mega-col h4::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 50px;
            height: 2px;
            background: var(--corporate-orange);
            transition: width 0.4s ease-out;
        }

        .mega-col h4:hover::after {
            width: 70px;
        }

        .mega-col li a {
            color: #333; /* Texte foncé */
            text-transform: capitalize;
        }

        .mega-col li a:hover {
            color: var(--corporate-orange);
            transform: translateX(5px);
        }

        .mega-col li a i {
            transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .mega-col li a:hover i {
            transform: translateX(5px);
        }
        /* Hero section améliorée */
        .hero {
            min-height: 100vh;
            position: relative;
        }

        .hero-content {
            max-width: 800px;
            z-index: 20;
        }

        /* Animation du logo */
        .logo-container {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 8px;
            border-radius: 50%;
            transition: all 0.3s ease;
        }

        .logo-bg {
            width: 56px;
            height: 56px;
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .logo-container:hover {
            transform: translateY(-2px);
        }

        /* Animation de rebond au survol */
        @keyframes logoBounce {
            0%, 20%, 53%, 80%, 100% {
                transform: translate3d(0,0,0);
            }
            40%, 43% {
                transform: translate3d(0, -8px, 0);
            }
            70% {
                transform: translate3d(0, -4px, 0);
            }
            90% {
                transform: translate3d(0, -2px, 0);
            }
        }
        .logo-container:hover img {
                animation: logoBounce 1s ease;
            }
    /* Nouveau style pour forcer tous les textes en blanc en mode sombre */
        .dark-mode,
        .dark-mode *:not(.btn):not(.service-icon):not(.benefit-icon):not(.license-icon):not(.social-icons a):not(.theme-toggle i) {
            color: #ffffff !important;
        }

        /* S'assurer que les titres et textes spécifiques restent visibles */
        .dark-mode .section-title h2,
        .dark-mode .about-content,
        .dark-mode .service-content,
        .dark-mode .artist-content,
        .dark-mode .event-content,
        .dark-mode .news-content,
        .dark-mode .stat-number,
        .dark-mode .stat-text,
        .dark-mode .benefit-content h3,
        .dark-mode .benefit-content p,
        .dark-mode .license-name,
        .dark-mode .license-description,
        .dark-mode .partner-name,
        .dark-mode .partner-desc {
            color: #ffffff !important;
        }

        /* Conserver la couleur orange pour certains éléments en mode sombre */
        .dark-mode .text-corporate-orange,
        .dark-mode .service-icon,
        .dark-mode .benefit-icon,
        .dark-mode .license-icon,
        .dark-mode .social-icons a:hover,
        .dark-mode .theme-toggle i {
            color: var(--corporate-orange) !important;
        }

        /* Ajustements supplémentaires pour la lisibilité */
        .dark-mode .menu-item:hover,
        .dark-mode .menu-item.active {
            color: var(--corporate-orange) !important;
        }

        .dark-mode .service-link {
            color: var(--corporate-orange) !important;
        }

        .dark-mode .btn-outline {
            color: var(--neutral-white) !important;
            border-color: var(--neutral-white);
        }

        .dark-mode .btn-outline:hover {
            color: var(--corporate-orange) !important;
            background: var(--neutral-white);
        }


        /* Forcer le mode sombre sur tous les éléments */
        .dark-mode,
        .dark-mode *:not(.btn):not(.service-icon):not(.benefit-icon):not(.license-icon):not(.social-icons a):not(.theme-toggle i) {
            background-color: var(--body-bg) !important;
            color: #e5e7eb !important;
        }

        /* Correction spécifique pour les cartes */
        .dark-mode .stat-card,
        .dark-mode .service-card,
        .dark-mode .testimonial-card,
        .dark-mode .news-card,
        .dark-mode .artist-card,
        .dark-mode .event-card,
        .dark-mode .license-card,
        .dark-mode .partner-card {
            background: #2d2d2d !important;
            color: #e5e7eb !important;
            border-color: rgba(255, 255, 255, 0.1) !important;
        }

        /* Correction pour les sections spécifiques */
        .dark-mode .newsletter,
        .dark-mode .testimonials,
        .dark-mode .membership-section,
        .dark-mode .licenses-section,
        .dark-mode .social-fund,
        .dark-mode .partners-section,
        .dark-mode .rating-section {
            background: #1a1a1a !important;
            color: #e5e7eb !important;
        }

        /* Correction pour les inputs et textareas */
        .dark-mode input,
        .dark-mode textarea,
        .dark-mode select {
            background-color: #2d2d2d !important;
            color: #e5e7eb !important;
            border-color: rgba(255, 255, 255, 0.2) !important;
        }

        /* Correction pour les titres et textes */
        .dark-mode h1,
        .dark-mode h2,
        .dark-mode h3,
        .dark-mode h4,
        .dark-mode h5,
        .dark-mode h6,
        .dark-mode p,
        .dark-mode span,
        .dark-mode li {
            color: #e5e7eb !important;
        }

        /* Correction pour les liens */
        .dark-mode a {
            color: var(--corporate-orange) !important;
        }

        .dark-mode a:hover {
            color: #ff8c66 !important;
        }
        .hero h1 {
            font-size: 3.8rem;
            font-weight: 700;
            line-height: 1.2;
            min-height: 4.5rem;
            color: var(--neutral-white);
            font-family: 'Playfair Display', serif;
            text-shadow: 0 2px 15px rgba(0, 0, 0, 0.4);
        }

        .hero p {
            font-size: 1.3rem;
            max-width: 600px;
            text-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
            color: var(--neutral-white);
        }

        /* Boutons améliorés */
        .btn {
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            padding: 14px 32px;
            border-radius: 10px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border: 2px solid transparent;
        }

        .btn:hover {
            transform: translateY(-4px);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
        }

        .btn:active {
            transform: translateY(0);
        }

        .btn-primary {
            background: var(--corporate-orange);
            color: var(--neutral-white);
        }

        .btn-primary:hover {
            background: #e04a2b;
        }

        .btn-outline {
            background: transparent;
            border: 2px solid var(--neutral-white);
            color: var(--neutral-white);
        }

        .btn-outline:hover {
            background: var(--neutral-white);
            color: var(--corporate-orange);
        }

        /* section */
        .section-title h2 {
        position: relative;
        display: inline-block;
        }

        .section-title h2::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 80px;
        height: 4px;
        background: var(--corporate-orange);
        transform-origin: left center;
        }

        .section-title h2::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 80px;
        height: 4px;
        background: var(--corporate-orange);
        transform-origin: left center;
        transition: width 0.4s ease-out; /* Ajout de la transition */
    }

    .section-title h2:hover::after {
        width: 100%; /* Le trait s'étend sur toute la largeur au survol */
    }

    .section-title.center h2::after {
        left: 50%;
        transform: translateX(-50%);
        transform-origin: center; /* Pour l'animation centrée */
    }

    .section-title.center h2:hover::after {
        width: 100%;
        left: 50%;
        transform: translateX(-50%); /* Conserver le centrage pendant l'animation */
    }

        /* Cartes améliorées */
        .stat-card,
        .service-card,
        .testimonial-card,
        .news-card,
        .artist-card,
        .event-card {
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            border-radius: 16px;
            overflow: hidden;
            background: var(--neutral-white); /* Fond blanc */
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.08); /* Ombre plus subtile */
            position: relative;
            border: 1px solid rgba(0, 0, 0, 0.05); /* Bordure légère */
            color: #333; /* Texte foncé */
        }

        .stat-card:hover,
        .service-card:hover,
        .testimonial-card:hover,
        .news-card:hover,
        .artist-card:hover,
        .event-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
        }

        .service-card {
            height: 100%;
        }

        .service-icon {
            width: 80px;
            height: 80px;
            border-radius: 50%;
            background: rgba(255, 87, 51, 0.1); /* Fond plus subtil */
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 24px;
            transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            color: var(--corporate-orange);
        }

        .service-card:hover .service-icon {
            transform: scale(1.1);
        }

        .service-icon i {
            font-size: 32px;
        }

        .service-link {
            color: var(--corporate-orange);
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .service-link i {
            margin-left: 5px;
            transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .service-link:hover i {
            transform: translateX(8px);
        }

        /* Section témoignages */
        .testimonials {
            background: #f5f5f7; /* Fond gris clair */
            position: relative;
            overflow: hidden;
        }

        .testimonials::before {
            content: '';
            position: absolute;
            top: -50%;
            right: -50px;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.05);
            animation: pulse 6s infinite cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .testimonial-text {
            position: relative;
        }

        .testimonial-text::before {
            content: '"';
            position: absolute;
            top: -40px;
            left: -20px;
            font-size: 6rem;
            color: rgba(0, 0, 0, 0.05);
            font-family: serif;
        }

        /* Newsletter */
        .newsletter {
            background: #f0f2f5; /* Fond gris très clair */
        }

        .newsletter-input {
            border: 2px solid rgba(0, 0, 0, 0.1);
            background: rgba(255, 255, 255, 0.8);
            color: #333;
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            padding: 16px 24px;
        }

        .newsletter-input:focus {
            border-color: var(--corporate-orange);
            outline: none;
            box-shadow: 0 0 0 4px rgba(255, 87, 51, 0.2);
        }

        .newsletter-input::placeholder {
            color: rgba(0, 0, 0, 0.5);
        }

        .newsletter-btn {
            background: var(--corporate-orange);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            padding: 16px 32px;
            font-weight: 600;
            color: white;
        }

        .newsletter-btn:hover {
            background: #e04a2b;
            transform: translateY(-3px);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        /* Footer amélioré */
        .footer {
            background: #2c2c3a; /* Fond sombre */
            color: #e5e7eb;
            text-transform: capitalize;
        }

        .footer h4 {
            position: relative;
            padding-bottom: 15px;
            margin-bottom: 24px;
            color: var(--corporate-orange);
        }

        .footer h4::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 50px;
            height: 3px;
            background: var(--corporate-orange);
            transition: width 0.4s ease-out;
        }

        .footer h4:hover::after {
            width: 70px;
        }

        .footer a {
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            padding: 6px 0;
            display: block;
            color: #e5e7eb;
        }

        .footer a:hover {
            color: var(--corporate-orange);
            transform: translateX(8px);
        }
        .footer .social-icons a:hover {
            color: #fff;
        }

        .social-icons a {
            display: inline-flex;
            width: 42px;
            height: 42px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.12);
            align-items: center;
            justify-content: center;
            margin-right: 12px;
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            color: white;
        }

        .social-icons a:hover {
            background: var(--corporate-orange);
            transform: translateY(-6px);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        }

        /* Bouton retour en haut */
        .back-to-top {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: var(--corporate-orange);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            position: fixed;
            bottom: 30px;
            left: 30px;
            z-index: 101;
            cursor: pointer;
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.3);
        }

        .back-to-top.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .back-to-top:hover {
            background: var(--artistic-orange);
            transform: translateY(-5px) scale(1.05);
        }


        /* Nouvelle section [Membre] */
         /* Nouveaux styles pour la section "Pourquoi Devenir Membre" */
         .membership-section {
            position: relative;
            overflow: hidden;
        }

        .membership-container {
            position: relative;
            z-index: 10;
        }

        .benefit-item {
            display: flex;
            margin-bottom: 2.5rem;
            position: relative;
        }

        .benefit-icon {
            min-width: 70px;
            height: 70px;
            background: rgba(255, 87, 51, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 1.5rem;
            color: var(--corporate-orange);
            font-size: 1.8rem;
            transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .benefit-content h3 {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: #333;
        }

        .benefit-content p {
            color: #555;
            line-height: 1.7;
        }

        .benefit-item:hover .benefit-icon {
            transform: scale(1.1) rotate(5deg);
            background: rgba(255, 87, 51, 0.15);
        }

        .animation-container {
            position: relative;
            height: 500px;
            perspective: 1000px;
        }

        .floating-image {
            position: absolute;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
            transition: transform 0.4s ease, box-shadow 0.4s ease;
            transform-style: preserve-3d;
        }

        .floating-image:hover {
            transform: translateY(-10px) scale(1.03);
            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
        }

        .floating-image-1 {
            width: 300px;
            height: 200px;
            top: 0;
            right: 0;
            z-index: 3;
            animation: float-1 8s ease-in-out infinite;
            transform: rotate(5deg);
        }

        .floating-image-2 {
            width: 280px;
            height: 180px;
            bottom: 50px;
            left: 0;
            z-index: 2;
            animation: float-2 10s ease-in-out infinite;
            transform: rotate(-3deg);
        }

        .floating-image-3 {
            width: 250px;
            height: 170px;
            top: 150px;
            left: 100px;
            z-index: 1;
            animation: float-3 12s ease-in-out infinite;
            transform: rotate(2deg);
        }

        .floating-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        @keyframes float-1 {
            0% { transform: translateY(0) rotate(5deg); }
            50% { transform: translateY(-15px) rotate(5deg); }
            100% { transform: translateY(0) rotate(5deg); }
        }

        @keyframes float-2 {
            0% { transform: translateY(0) rotate(-3deg); }
            50% { transform: translateY(-20px) rotate(-3deg); }
            100% { transform: translateY(0) rotate(-3deg); }
        }

        @keyframes float-3 {
            0% { transform: translateY(0) rotate(2deg); }
            50% { transform: translateY(-25px) rotate(2deg); }
            100% { transform: translateY(0) rotate(2deg); }
        }

        .membership-bg-element {
            position: absolute;
            top: 10%;
            right: 10%;
            width: 200px;
            height: 200px;
            border-radius: 50%;
            background: rgba(255, 107, 53, 0.05);
            z-index: 0;
            animation: pulse 8s infinite;
        }

        .membership-bg-element-2 {
            position: absolute;
            bottom: 10%;
            left: 15%;
            width: 150px;
            height: 150px;
            border-radius: 50%;
            background: rgba(90, 93, 104, 0.05);
            z-index: 0;
            animation: pulse 10s infinite 2s;
        }

        @media (max-width: 768px) {
            .animation-container {
                height: 400px;
                margin-top: 3rem;
            }

            .floating-image-1,
            .floating-image-2,
            .floating-image-3 {
                width: 80%;
                max-width: 300px;
                position: relative;
                margin: 0 auto 2rem;
                top: auto;
                right: auto;
                left: auto;
                bottom: auto;
                animation: none;
            }
        }

        /* Ajout de section [User]

        /* Nouveaux styles pour la section Licences */
        .licenses-section {
            position: relative;
            min-height: 800px;
            display: flex;
            align-items: center;
            padding: 100px 0;
            overflow: hidden;
        }

        .licenses-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.7);
            z-index: 1;
        }

        .licenses-parallax {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120%;
            background-image: url('https://images.unsplash.com/photo-1511671782779-c97d3d27a1d4?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');
            background-size: cover;
            background-position: center;
            background-attachment: fixed;
            z-index: 0;
        }

        .licenses-content {
            position: relative;
            z-index: 2;
            color: white;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        .licenses-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr); /* 6 colonnes */
            gap: 15px;
            margin-top: 50px;
        }
        @media (max-width: 1200px) {
            .licenses-grid {
                grid-template-columns: repeat(4, 1fr); /* 4 colonnes sur écrans moyens */
            }
        }

        @media (max-width: 992px) {
            .licenses-grid {
                grid-template-columns: repeat(3, 1fr); /* 3 colonnes sur tablettes */
            }
        }

        @media (max-width: 768px) {
            .licenses-grid {
                grid-template-columns: repeat(2, 1fr); /* 2 colonnes sur mobiles */
            }
        }

        @media (max-width: 480px) {
            .licenses-grid {
                grid-template-columns: 1fr; /* 1 colonne sur très petits écrans */
            }
        }
        .license-card {
            background: rgba(255, 255, 255, 0.1);
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            border-radius: 12px;
            padding: 20px 15px;
            text-align: center;
            transition: all 0.4s ease;
            border: 1px solid rgba(255, 255, 255, 0.15);
            transform: translateY(0);
            height: 100%; /* Hauteur uniforme */
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .license-card:hover {
            background: rgba(255, 87, 51, 0.2);
            transform: translateY(-10px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
        }

        .license-icon {
            width: 60px;
            height: 60px;
            background: rgba(255, 87, 51, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px;
            font-size: 24px;
            color: var(--corporate-orange);
            transition: all 0.4s ease;
        }

        .license-card:hover .license-icon {
            background: var(--corporate-orange);
            color: white;
            transform: scale(1.1) rotate(5deg);
        }

        .license-name {
            font-size: 16px;
            font-weight: 600;
            margin-bottom: 8px;
        }

        .license-description {
            font-size: 13px;
            opacity: 0.8;
            line-height: 1.4;
            margin-bottom: 10px;
        }

        .licenses-btn {
            margin-top: 50px;
            text-align: center;
        }

    .license-card {
        animation: float-card 6s infinite ease-in-out;
    }

    .license-card:nth-child(odd) {
        animation-delay: 0.5s;
    }

    .license-card:nth-child(even) {
        animation-delay: 1s;
    }

    .license-card:nth-child(3n) {
        animation-delay: 1.5s;
    }

    .license-card:nth-child(5n) {
        animation-delay: 2s;
    }

    /* Amélioration de l'animation float-card */
    @keyframes float-card {
        0% {
            transform: translateY(0) rotate(0deg);
        }
        33% {
            transform: translateY(-8px) rotate(0.5deg);
        }
        66% {
            transform: translateY(-4px) rotate(-0.5deg);
        }
        100% {
            transform: translateY(0) rotate(0deg);
        }
    }

    /* Ajouter une transition pour l'effet hover */
    .license-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
        /* Chatbot amélioré */
        .chatbot-icon {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: var(--corporate-orange);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 100;
            cursor: pointer;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            opacity: 0;
            transform: translateY(20px);
        }

        .chatbot-icon.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .chatbot-icon:hover {
            transform: scale(1.15);
            background: var(--artistic-orange);
        }

        .chatbot-container {
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1);
            border-radius: 18px;
            overflow: hidden;
            transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
        }

        .chatbot-header {
            background: var(--corporate-orange);
            color: white;
        }

        .chatbot-body {
            background: #f9f9f9; /* Fond clair */
            color: #333; /* Texte foncé */
        }

        .chat-message {
            max-width: 80%;
            padding: 14px 18px;
            border-radius: 20px;
            margin-bottom: 18px;
            line-height: 1.5;
            animation: fadeIn 0.5s ease-out;
        }

        .bot-message {
            background: rgba(255, 87, 51, 0.1); /* Fond très léger */
            border: 1px solid rgba(255, 87, 51, 0.15);
            border-bottom-left-radius: 4px;
            align-self: flex-start;
            color: #333;
        }

        .user-message {
            background: rgba(90, 93, 104, 0.1); /* Fond très léger */
            color: #333;
            border-bottom-right-radius: 4px;
            align-self: flex-end;
        }

        .chatbot-input {
            border: 1px solid rgba(0, 0, 0, 0.1);
            background: rgba(255, 255, 255, 0.8);
            color: #333;
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            padding: 14px 18px;
        }

        .chatbot-input:focus {
            border-color: var(--corporate-orange);
            outline: none;
            box-shadow: 0 0 0 4px rgba(255, 87, 51, 0.2);
        }

        .chatbot-send {
            background: var(--corporate-orange);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            color: white;
        }

        .chatbot-send:hover {
            background: var(--artistic-orange);
            transform: scale(1.05);
        }

        .chatbot-icon {
            opacity: 1 !important; /* Forcer l'opacité */
            transform: translateY(0) !important; /* Forcer la position */
            pointer-events: auto !important; /* Activer les interactions */
        }

        /* S'assurer que le chatbot est visible */
        .chatbot-icon:not(.hidden) {
            display: flex !important;
        }

        /* Animation d'apparition du chatbot */
        @keyframes chatbotAppear {
            from {
                opacity: 0;
                transform: translateY(20px) scale(0.8);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        .chatbot-icon {
            animation: chatbotAppear 0.5s ease-out forwards;
        }

        /* Animations */
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(15px); }
            to { opacity: 1; transform: translateY(0); }
        }

        @keyframes pulse {
            0% { transform: scale(1); opacity: 0.05; }
            50% { transform: scale(1.1); opacity: 0.1; }
            100% { transform: scale(1); opacity: 0.05; }
        }

        @keyframes float {
            0% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
            100% { transform: translateY(0px); }
        }

        /* Espacement des sections */
        .stats-section,
        .about,
        .services-section,
        .testimonials,
        .news,
        .artists-section,
        .events-section,
        .newsletter,
        .footer {
            padding-top: 6rem;
            padding-bottom: 6rem;
        }

        .newsletter {
            padding-top: 5rem;
            padding-bottom: 5rem;
        }

        .footer {
            padding-top: 7rem;
            padding-bottom: 3rem;
        }

        /* Style artistique */
        .artistic-element {
            position: absolute;
            opacity: 0.1;
            z-index: 0;
        }

        .artistic-pattern {
            background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23333' fill-opacity='0.1' fill-rule='evenodd'/%3E%3C/svg%3E");
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.1;
        }

        .section-title {
            position: relative;
            margin-bottom: 3rem;
        }

        .section-title h2 {
            font-family: 'Playfair Display', serif;
            font-weight: 700;
            color: #333; /* Texte foncé */
            position: relative;
            display: inline-block;
        }

        .section-title h2::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 0;
            width: 80px;
            height: 4px;
            background: var(--corporate-orange);
        }

        .section-title.center h2::after {
            left: 50%;
            transform: translateX(-50%);
        }

        .section-title p {
            color: rgba(0, 0, 0, 0.7); /* Texte gris foncé */
        }

        @media (max-width: 480px) {
            .licenses-grid {
                grid-template-columns: 1fr;
                gap: 15px;
            }

            .license-card {
                padding: 20px 15px;
                margin: 0 auto;
                max-width: 300px;
            }
        }
                /* Optimisations mobiles */
        @media (max-width: 768px) {
            .hero {
                min-height: 80vh;
            }

            .hero h1 {
                font-size: 2.5rem;
            }

            .hero p {
                font-size: 1.1rem;
            }

            .hero-buttons {
                flex-direction: column;
            }

            .hero-buttons .btn {
                margin-bottom: 15px;
                width: 100%;
                text-align: center;
            }

            .stats-container {
                grid-template-columns: 1fr 1fr;
            }

            .services-grid,
            .artists-grid,
            .events-grid {
                grid-template-columns: 1fr;
            }

            /* Adaptation mobile pour le bouton retour */
            .back-to-top {
                bottom: 30px;
                left: 20px;
                width: 40px;
                height: 40px;
            }

            /* Espacement mobile */
            .stats-section,
            .about,
            .services-section,
            .testimonials,
            .news,
            .artists-section,
            .events-section,
            .newsletter,
            .footer {
                padding-top: 4rem;
                padding-bottom: 4rem;
            }
        }

        /* Correction des variables CSS */
        .bg-corporate-orange { background-color: var(--corporate-orange); }
        .bg-corporate-gris { background-color: var(--corporate-gris); }
        .bg-corporate-light { background-color: var(--corporate-light); }
        .bg-artistic-orange { background-color: var(--artistic-orange); }
        .bg-neutral-white { background-color: var(--neutral-white); }
        .bg-neutral-light { background-color: var(--neutral-light); }

        .text-corporate-orange { color: var(--corporate-orange); }
        .text-corporate-gris { color: var(--corporate-gris); }
        .text-corporate-light { color: var(--corporate-light); }
        .text-artistic-orange { color: var(--artistic-orange); }
        .text-neutral-white { color: var(--neutral-white); }
        .text-neutral-light { color: var(--neutral-light); }

        .border-corporate-orange { border-color: var(--corporate-orange); }
        .border-corporate-gris { border-color: var(--corporate-gris); }
        .border-artistic-orange { border-color: var(--artistic-orange); }

        .hover\:bg-corporate-orange:hover { background-color: var(--corporate-orange); }
        .hover\:bg-corporate-gris:hover { background-color: var(--corporate-gris); }
        .hover\:bg-artistic-orange:hover { background-color: var(--artistic-orange); }

        .hover\:text-corporate-orange:hover { color: var(--corporate-orange); }
        .hover\:text-corporate-gris:hover { color: var(--corporate-gris); }
        .hover\:text-artistic-orange:hover { color: var(--artistic-orange); }

        /* Correction du menu mobile */
        .mobile-menu-container {
            z-index: 60;
            background: var(--body-bg);
        }

        .mobile-menu-overlay {
            z-index: 50;
        }

        /* Correction de l'overlay hero */
        .hero-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to right, rgba(0, 0, 0, 0.8), transparent);
            opacity: 0.8;
        }

        /* Améliorations pour le nouveau thème */
        .stat-card, .service-card, .news-card, .artist-card, .event-card {
            color: #333;
        }

        .stat-icon {
            background: rgba(255, 255, 255, 0.1) !important;
        }

        .stat-number {
            color: #333 !important;
        }

        .stat-text {
            color: rgba(0, 0, 0, 0.7) !important;
        }

        .about-content, .service-content, .artist-content, .event-content, .news-content {
            color: rgba(0, 0, 0, 0.9);
        }

        .feature-item, .feature-text {
            color: rgba(0, 0, 0, 0.9) !important;
        }

        .newsletter-container {
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(0, 0, 0, 0.05);
        }

        /* Nouveaux ajustements */
        .mobile-menu-item {
            color: #333;
        }

        .mobile-submenu a {
            color: #666;
            text-transform: uppercase;
            font-size: 14px;
        }

        .mobile-menu-overlay {
            background: rgba(0,0,0,0.5);
        }

        /* NOUVEAUX STYLES POUR LES AMÉLIORATIONS */

        /* Slider À Propos */
        .about-slider {
            position: relative;
            width: 100%;
            height: 500px;
            overflow: hidden;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        .slider-container {
            display: flex;
            transition: transform 0.8s ease-in-out;
            height: 100%;
        }

        .slider-slide {
            min-width: 100%;
            height: 100%;
            position: relative;
        }

        .slider-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .slider-content {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 30px;
        }

        .slider-content h3 {
            font-size: 1.8rem;
            margin-bottom: 10px;
            color: white;
        }

        .slider-content p {
            margin-bottom: 20px;
            font-size: 1.1rem;
        }

        .slider-nav {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            padding: 0 20px;
            z-index: 10;
        }

        .slider-btn {
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            cursor: pointer;
            transition: all 0.3s ease;
            -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
        }

        .slider-btn:hover {
            background: var(--corporate-orange);
            transform: scale(1.1);
        }

        .slider-indicators {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 10;
        }

        .slider-indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.5);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .slider-indicator.active {
            background: var(--corporate-orange);
            transform: scale(1.2);
        }

            .slider-content a {
            pointer-events: auto;
            position: relative;
            z-index: 15;
        }
        /* Styles pour les contrôles média */
        .media-controls {
            position: relative;
            z-index: 30;
        }

        .media-control-btn {
            background: rgba(255, 255, 255, 0.2);
            color: white;
            border: none;
            padding: 8px 12px;
            border-radius: 20px;
            cursor: pointer;
            transition: all 0.3s ease;
            -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
            font-size: 0.8rem;
        }

        .media-control-btn:hover,
        .media-control-btn.active {
            background: var(--corporate-orange);
            transform: translateY(-2px);
        }

        .hero-video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
        }

        /* Ajustements pour les iframes vidéo */
        .hero-video iframe {
            pointer-events: none; /* Empêche l'interaction avec l'iframe */
        }

        /* Pour les mobiles, masquer les vidéos et n'afficher que les images */
        @media (max-width: 768px) {
            .hero-video {
                display: none;
            }

            .media-controls {
                flex-wrap: wrap;
                gap: 8px;
            }

            .media-control-btn {
                font-size: 0.7rem;
                padding: 6px 10px;
            }
        }

        /* Section Fond d'Action Sociale - PARALLAX AMÉLIORÉ */
        .social-fund {
            position: relative;
            min-height: 600px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 100px 0;
            isolation: isolate;
        }

        .parallax-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120%;
            overflow: hidden;
            z-index: -2;
        }

        .parallax-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 120%;
            background-image: url('../images/WhatsApp Image 2024-08-12 à 12.12.12_4aabe9f8.jpg');
            background-size: cover;
            background-position: center;
            transform: translate3d(0,0,0);
            will-change: transform;
        }

        .parallax-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(45deg, rgba(255, 87, 51, 0.1), rgba(0, 0, 0, 0.8));
            z-index: -1;
        }

        .social-fund-content {
            max-width: 800px;
            text-align: center;
            color: white;
            z-index: 10;
            padding: 0 20px;
        }

        .social-fund h2 {
            font-size: 2.8rem;
            margin-bottom: 20px;
            color: white;
        }

        .social-fund p {
            font-size: 1.2rem;
            margin-bottom: 30px;
            max-width: 700px;
            margin-left: auto;
            margin-right: auto;
        }

        .social-fund-stats {
            display: flex;
            justify-content: center;
            gap: 40px;
            margin-top: 40px;
            flex-wrap: wrap;
        }

        .social-stat {
            text-align: center;
            min-width: 150px;
            background: rgba(255, 255, 255, 0.1);
            padding: 20px;
            border-radius: 12px;
            -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
            border: 1px solid rgba(255, 255, 255, 0.15);
        }

        .social-stat-number {
            font-size: 3rem;
            font-weight: 700;
            margin-bottom: 10px;
            color: var(--corporate-orange);
        }

        .social-stat-label {
            font-size: 1.1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        /* Effet de particules flottantes */
        .floating-particles {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            pointer-events: none;
        }

        .particle {
            position: absolute;
            background: rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            opacity: 0.5;
            animation: floatParticle linear infinite;
        }

        @keyframes floatParticle {
            0% { transform: translateY(0) translateX(0); }
            100% { transform: translateY(-100vh) translateX(20px); }
        }


        /* Nouveaux styles pour le mode sombre */
        body.dark-mode {
            --body-bg: #1a1a1a;
            --neutral-white: #2d2d2d;
            --neutral-light: #333;
            color: #e5e7eb;
            background: var(--body-bg);
        }

        .dark-mode .header,
        .dark-mode .header.scrolled {
            background: var(--body-bg);
            box-shadow: 0 2px 15px rgba(255, 255, 255, 0.05);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .dark-mode .menu-item {
            color: #e5e7eb;
        }

        .dark-mode .mega-menu {
            background: #2d2d2d;
            box-shadow: 0 8px 25px rgba(255, 255, 255, 0.05);
        }

        .dark-mode .mega-col li a {
            color: #e5e7eb;
        }

        .dark-mode .stat-card,
        .dark-mode .service-card,
        .dark-mode .testimonial-card,
        .dark-mode .news-card,
        .dark-mode .artist-card,
        .dark-mode .event-card {
            background: #2d2d2d;
            color: #e5e7eb;
            box-shadow: 0 8px 25px rgba(255, 255, 255, 0.05);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .dark-mode .section-title h2,
        .dark-mode .about-content,
        .dark-mode .service-content,
        .dark-mode .artist-content,
        .dark-mode .event-content,
        .dark-mode .news-content {
            color: #e5e7eb;
        }

        .dark-mode .section-title p {
            color: rgba(255, 255, 255, 0.7);
        }

        .dark-mode .newsletter-container {
            background: rgba(45, 45, 45, 0.8);
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        .dark-mode .newsletter-input {
            background: rgba(255, 255, 255, 0.1);
            color: #e5e7eb;
            border-color: rgba(255, 255, 255, 0.2);
        }

        .dark-mode .newsletter-input::placeholder {
            color: rgba(255, 255, 255, 0.5);
        }

        .dark-mode .testimonials {
            background: #222;
        }

        .dark-mode .chatbot-body {
            background: #2d2d2d;
            color: #e5e7eb;
        }

        .dark-mode .chatbot-input {
            background: rgba(255, 255, 255, 0.1);
            color: #e5e7eb;
            border-color: rgba(255, 255, 255, 0.2);
        }

        /* Bouton mode sombre */
        .theme-toggle {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-left: 15px;
        }

        .theme-toggle:hover {
            background: rgba(255, 255, 255, 0.2);
            transform: scale(1.1);
        }

        .theme-toggle i {
            font-size: 18px;
            color: var(--corporate-orange);
        }

        .dark-mode .theme-toggle {
            background: rgba(255, 255, 255, 0.2);
        }

        @media (max-width: 768px) {
            .theme-toggle {
                margin-left: 10px;
                width: 35px;
                height: 35px;
            }

            .theme-toggle i {
                font-size: 16px;
            }
        }

            /* Styles pour la section de notation */
        .rating-section {
            /* background: #f8f9fa; */
        }

        .star.active {
            color: #FFD700; /* Couleur or pour les étoiles actives */
        }

        .star.hover {
            color: #FFD700;
            transform: scale(1.2);
            transition: transform 0.2s ease;
        }

        .rating-form textarea {
            resize: none;
        }

        .rating-stats {
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.8s ease;
        }

        .rating-stats.visible {
            opacity: 1;
            transform: translateY(0);
        }

            /* Style pour le nouveau bouton de défilement vers le bas */
        .back-to-bottom {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background: var(--corporate-gris);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            position: fixed;
            bottom: 30px;
            left: 90px; /* Positionné à droite du bouton retour en haut */
            z-index: 101;
            cursor: pointer;
            opacity: 0;
            transform: translateY(20px);
            transition: all 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
            border: 2px solid rgba(255, 255, 255, 0.3);
        }

        .back-to-bottom.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .back-to-bottom:hover {
            background: var(--corporate-orange);
            transform: translateY(-5px) scale(1.05);
        }

        /* Ajustement pour mobile */
        @media (max-width: 768px) {
            .back-to-bottom {
                bottom: 30px;
                left: 70px; /* Ajusté pour mobile */
                width: 40px;
                height: 40px;
            }
        }

        .container-paternaire {
            max-width: 1200px;
            margin: 0 auto;
        }

        .section-title {
            text-align: center;
            margin-bottom: 40px;
        }

        .section-title h2 {
            font-size: 2.5rem;
            color: var(--corporate-orange);
            margin-bottom: 15px;
        }

        .section-title p {
            font-size: 1.1rem;
            color: var(--corporate-gris);
            max-width: 600px;
            margin: 0 auto;
        }

        /* Styles pour le carrousel */
        .partners-section {
            padding: 60px 0;
            background: var(--neutral-white);
            border-radius: 15px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
            margin: 40px 0;
        }

        .carousel-container {
            position: relative;
            max-width: 1000px;
            margin: 0 auto;
            overflow: hidden;
        }

        .carousel-track {
            display: flex;
            transition: transform 0.5s ease-in-out;
        }

        .carousel-slide {
            min-width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .carousel-slide, img{
            display: flex;
            justify-content: center;
        }

        .partner-card {
            background: var(--neutral-light);
            border-radius: 10px;
            padding: 30px;
            text-align: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            max-width: 300px;
            margin: 0 auto;
        }

        .partner-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        }

        .partner-logo {
            width: 150px;
            height: 80px;
            display: flex;
            align-items: center;
            object-fit: contain;
            margin-bottom: 20px;
        }

        .partner-name {
            font-size: 1.2rem;
            font-weight: 600;
            color: var(--corporate-gris);
            margin-bottom: 10px;
        }

        .partner-desc {
            font-size: 0.9rem;
            color: #777;
            line-height: 1.5;
        }

        .carousel-nav {
            display: flex;
            justify-content: center;
            margin-top: 30px;
        }

        .carousel-dot {
            width: 12px;
            height: 12px;
            background: #ddd;
            border-radius: 50%;
            margin: 0 8px;
            cursor: pointer;
            transition: background 0.3s ease;
        }

        .carousel-dot.active {
            background: var(--corporate-orange);
        }

        .carousel-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: var(--corporate-orange);
            color: white;
            width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            z-index: 10;
            transition: background 0.3s ease;
        }

        .carousel-arrow:hover {
            background: #e04a2b;
        }

        .carousel-arrow.prev {
            left: 15px;
        }

        .carousel-arrow.next {
            right: 15px;
        }

        @media (max-width: 768px) {
            .carousel-arrow {
                width: 35px;
                height: 35px;
            }

            .partner-card {
                padding: 20px;
            }

            .section-title h2 {
                font-size: 2rem;
            }
        }
        .youtube-player iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
        }

        .youtube-player {
            position: relative;
            overflow: hidden;
            background: #000; /* Fond noir pour éviter l'affichage gris */
        }

        [x-cloak] { display: none !important; }

            .rotate-180 {
                transform: rotate(180deg);
            }

            .flag-icon {
                display: inline-block;
                width: 16px;
                height: 12px;
                background-size: cover;
                vertical-align: middle;
            }

            .flag-icon-fr {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 2'%3E%3Cpath fill='%23002395' d='M0 0h1v2H0z'/%3E%3Cpath fill='%23EEE' d='M1 0h1v2H1z'/%3E%3Cpath fill='%23ED2939' d='M2 0h1v2H2z'/%3E%3C/svg%3E");
            }

            .flag-icon-gb {
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3Cpath fill='%23012169' d='M0 0v30h60V0z'/%3E%3Cpath fill='%23FFF' d='M0 0v2h60V0zm0 4v2h60V4zm0 4v2h60V8zm0 4v2h60v-2zm0 4v2h60v-2zm0 4v2h60v-2zm0 4v2h60v-2zm0 4v2h60v-2z'/%3E%3Cpath fill='%23C8102E' d='M0 2v2h60V2zM0 6v2h60V6zM0 10v2h60v-2zM0 14v2h60v-2zM0 18v2h60v-2zM0 22v2h60v-2zM0 26v2h60v-2z'/%3E%3Cpath fill='%23FFF' d='M26 0v12h8V0zM0 12v6h60v-6z'/%3E%3Cpath fill='%23C8102E' d='M28 0v12h4V0zM0 14v2h60v-2z'/%3E%3C/svg%3E");
            }
                /* Transitions entre les pages */
        .page-transition-enter {
            opacity: 0;
            transform: translateX(50px);
        }

        .page-transition-enter-active {
            opacity: 1;
            transform: translateX(0);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        .page-transition-exit {
            opacity: 1;
            transform: translateX(0);
        }

        .page-transition-exit-active {
            opacity: 0;
            transform: translateX(-50px);
            transition: opacity 0.5s ease, transform 0.5s ease;
        }

        /* Pour le contenu principal */
        .main-content {
            position: relative;
            min-height: 100vh;
        }
         /* Styles améliorés pour la pagination */
        .pagination {
            display: flex;
            justify-content: center;
            margin-top: 2rem;
        }

        .pagination li {
            margin: 0 0.25rem;
        }

        .pagination a,
        .pagination span {
            display: flex;
            align-items: center;
            justify-content: center;
            min-width: 2.5rem;
            height: 2.5rem;
            border: 1px solid #e5e7eb;
            border-radius: 0.5rem;
            padding: 0 0.5rem;
            color: #4b5563;
            font-weight: 500;
            transition: all 0.2s ease;
        }

        .pagination a:hover {
            background-color: #f3f4f6;
            border-color: #d1d5db;
        }

        .pagination .active {
            background-color: #FF5733;
            color: white;
            border-color: #FF5733;
        }

        .pagination .disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
                /* Ajouter à la fin du fichier */
        @media (max-width: 1278px) {
        .xl\\:flex {
                display: none !important;
            }

            .xl\\:block {
                display: none !important;
            }

            .xl\\:hidden {
                display: block !important;
            }
            }

            @media (min-width: 1279px) {
            .xl\\:flex {
                display: flex !important;
            }

            .xl\\:block {
                display: block !important;
            }

            .xl\\:hidden {
                display: none !important;
            }
        }

    .social-fund-slider {
        overflow: hidden;
    }

    .social-slide {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 1s ease-in-out;
        /* z-index: 1; */
    }

    .social-slide.active {
        opacity: 1;
        z-index: 2;
    }

    .parallax-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .parallax-bg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        transform: translateZ(0);
    }

    .parallax-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.6);
    }

    .social-slider-nav {
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
        display: flex;
        gap: 15px;
    }

    .social-slider-prev,
    .social-slider-next {
        background: rgba(255, 255, 255, 0.3);
        border: none;
        color: white;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .social-slider-prev:hover,
    .social-slider-next:hover {
        background: var(--corporate-orange);
    }

    .social-slider-indicators {
        position: absolute;
        bottom: 20px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
        display: flex;
        gap: 10px;
    }

    .social-indicator {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.5);
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .social-indicator.active {
        background: var(--corporate-orange);
        transform: scale(1.2);
    }

    .social-fund-content {
        position: relative;
        z-index: 5;
    }

           /* Cartes de services améliorées */
        .services-section {
            padding: 100px 0;
            background: white;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 30px;
        }

        .service-card {
            background: white;
            border-radius: 15px;
            padding: 40px 30px;
            text-align: center;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            transition: var(--transition);
            position: relative;
            overflow: hidden;
            z-index: 1;
            border: 1px solid rgba(243, 146, 0, 0.1);
        }

        .service-card:before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 0;
            background: linear-gradient(135deg, var(--corporate-orange) 0%, #ffab2e 100%);
            transition: height 0.5s ease;
            z-index: -1;
            opacity: 0;
        }

        .service-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 35px rgba(243, 146, 0, 0.15);
            color: white;
            border-color: transparent;
        }

        .service-card:hover:before {
            height: 100%;
            opacity: 1;
        }

        .service-card:hover .service-icon {
            background: rgba(255, 255, 255, 0.15);
            color: white;
            transform: scale(1.1) rotate(5deg);
        }

        .service-card:hover h3,
        .service-card:hover p {
            color: white;
        }

        .service-card:hover .service-link {
            color: white;
            transform: translateX(5px);
        }

        .service-icon {
            width: 80px;
            height: 80px;
            margin: 0 auto 25px;
            background: rgba(243, 146, 0, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: var(--corporate-orange);
            transition: var(--transition);
        }

        .service-content h3 {
            font-size: 1.4rem;
            font-weight: 600;
            margin-bottom: 15px;
            color: var(--corporate-gris);
            transition: var(--transition);
        }

        .service-content p {
            color: #666;
            margin-bottom: 20px;
            transition: var(--transition);
        }

        .service-link {
            color: var(--corporate-orange);
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 5px;
            transition: var(--transition);
        }

        .service-link i {
            font-size: 0.9rem;
            transition: var(--transition);
        }

        .service-link:hover {
            gap: 10px;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .mission-slider {
                height: 400px;
                margin-bottom: 40px;
            }

            .mission-slide-content h3 {
                font-size: 1.5rem;
            }

            .services-grid {
                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            }
        }

        @media (max-width: 768px) {
            .section-title h2 {
                font-size: 2rem;
            }

            .mission-slider {
                height: 350px;
            }

            .mission-slider-arrow {
                width: 40px;
                height: 40px;
                font-size: 1rem;
            }

            .service-card {
                padding: 30px 20px;
            }
        }

        @media (max-width: 576px) {
            .mission-slider {
                height: 300px;
            }

            .mission-slide-content {
                padding: 15px;
            }

            .mission-slide-content h3 {
                font-size: 1.3rem;
            }

            .service-icon {
                width: 70px;
                height: 70px;
                font-size: 1.7rem;
            }

            .service-content h3 {
                font-size: 1.2rem;
            }
        }
        /* Animation Keyframes */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes pulse {
            0% {
                transform: scale(1);
            }
            50% {
                transform: scale(1.05);
            }
            100% {
                transform: scale(1);
            }
        }

        @keyframes float {
            0% {
                transform: translateY(0) rotate(0deg);
            }
            50% {
                transform: translateY(-10px) rotate(5deg);
            }
            100% {
                transform: translateY(0) rotate(0deg);
            }
        }

        @keyframes imageFade {
            0% { opacity: 0; }
            10% { opacity: 1; }
            30% { opacity: 1; }
            40% { opacity: 0; }
            100% { opacity: 0; }
        }

        /* Mission Section Styles */
        .mission-section {
            padding: 100px 0;
            position: relative;
            overflow: hidden;
        }

        .mission-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, rgba(255,107,0,0.03) 0%, rgba(51,51,51,0.03) 100%);
            z-index: -1;
        }

        .mission-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .mission-content {
            opacity: 1; /* Changement important */
            transform: translateY(0); /* Changement important */
        }

        .mission-content h3 {
            font-size: 1.8rem;
            color: var(--corporate-gris);
            margin-bottom: 20px;
            position: relative;
            padding-left: 20px;
        }

        .mission-content h3::before {
            content: '';
            position: absolute;
            left: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 8px;
            height: 40px;
            background-color: var(--corporate-orange);
            border-radius: 4px;
        }

        .mission-content p {
            margin-bottom: 25px;
            color: var(--text-light);
            font-size: 1.05rem;
        }

        .values-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 25px;
            margin-top: 30px;
        }

        .value-card {
            background: var(--neutral-white);
            border-radius: 12px;
            padding: 25px;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: all 0.4s ease;
            position: relative;
            overflow: hidden;
            opacity: 1; /* Changement important */
            transform: translateY(0); /* Changement important */
            cursor: pointer;
            border: 1px solid rgba(0, 0, 0, 0.05);
        }

        .value-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 5px;
            height: 0;
            background: var(--corporate-orange);
            transition: height 0.4s ease;
        }

        .value-card:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }

        .value-card:hover::before {
            height: 100%;
        }

        .value-card:hover .value-icon {
            background: var(--corporate-orange);
            color: white;
            transform: rotate(10deg) scale(1.1);
        }


        .value-icon {
            width: 60px;
            height: 60px;
            background: rgba(255, 107, 0, 0.1);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            color: var(--corporate-orange);
            font-size: 1.5rem;
            transition: all 0.4s ease;
        }

        .value-content h4 {
            font-size: 1.2rem;
            margin-bottom: 10px;
            color: var(--corporate-gris);
        }

        .value-content p {
            font-size: 0.95rem;
            color: #666;
            margin-bottom: 0;
            line-height: 1.5;
        }

        /* Animation pour les cartes de valeurs */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .value-card {
            animation: fadeInUp 0.8s ease forwards;
        }

        /* Mission Visual with Image Fade */
        .mission-visual {
            position: relative;
            opacity: 1; /* Changement important */
            transform: translateY(0); /* Changement important */
            height: 500px;
        }

        .image-slider {
            position: relative;
            width: 100%;
            height: 100%;
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
        }

        /* Styles pour les slides de mission */
        .slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition: opacity 1.2s ease;
            background-size: cover;
            background-position: center;
            border-radius: 15px;
        }

        .slide.active {
            opacity: 1;
        }

        .slide-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            padding: 30px;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            color: white;
            transform: translateY(0); /* Correction */
            opacity: 1; /* Correction */
        }

        .slide-title {
            font-size: 1.4rem;
            margin-bottom: 10px;
            font-weight: 600;
            color: white;
        }

        .slide-desc {
            font-size: 0.95rem;
            opacity: 0.9;
            color: white;
        }
        .slider-nav {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 10;
        }

        .slider-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.5);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .slider-dot.active {
            background: var(--corporate-orange);
            transform: scale(1.2);
        }

        .floating-element {
            position: absolute;
            z-index: 2;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
            animation: float 6s infinite ease-in-out;
        }

        .floating-element-1 {
            width: 120px;
            height: 120px;
            top: -30px;
            right: -30px;
            background: var(--corporate-orange);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 2rem;
            animation-delay: 0s;
        }

        .floating-element-2 {
            width: 100px;
            height: 100px;
            bottom: 50px;
            left: -40px;
            background: var(--white);
            display: flex;
            align-items: center;
            justify-content: center;
            animation-delay: 1s;
        }

        .floating-element-2 img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .floating-element-3 {
            width: 80px;
            height: 80px;
            bottom: -20px;
            right: 50px;
            background: var(--corporate-gris);
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 1.5rem;
            animation-delay: 2s;
        }

        /* Styles pour les badges statistiques */
        .stats-badge {
            position: absolute;
            width: 100px;
            height: 100px;
            border-radius: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: white;
            font-weight: 700;
            z-index: 3;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
            opacity: 1; /* Changement important - rendre visible par défaut */
            transform: scale(1); /* Changement important - échelle normale */
            transition: all 0.6s ease;
            text-align: center;
        }

        .stats-badge-1 {
            background: var(--corporate-orange);
            bottom: -30px;
            left: -30px;
        }

        .stats-badge-2 {
            background: var(--corporate-gris);
            top: -30px;
            right: -30px;
        }

        .stats-badge .number {
            font-size: 1.8rem;
            font-weight: 800;
            line-height: 1;
            margin-bottom: 2px;
        }

        .stats-badge .label {
            font-size: 0.8rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        /* Animation pour l'apparition des badges */
        @keyframes badgeAppear {
            0% {
                opacity: 0;
                transform: scale(0.8) rotate(-10deg);
            }
            100% {
                opacity: 1;
                transform: scale(1) rotate(0deg);
            }
        }

        .stats-badge {
            animation: badgeAppear 0.8s ease-out forwards;
        }

        .stats-badge-1 {
            animation-delay: 0.3s;
        }

        .stats-badge-2 {
            animation-delay: 0.5s;
        }

        /* Button */
        .btn {
            display: inline-block;
            padding: 12px 30px;
            background: var(--corporate-orange);
            color: white;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
            border: 2px solid var(--corporate-orange);
            text-align: center;
        }

        .btn:hover {
            background: transparent;
            color: var(--corporate-orange);
            transform: translateY(-3px);
            box-shadow: 0 10px 20px rgba(255, 107, 0, 0.2);
        }

        .btn-outline {
            background: transparent;
            color: var(--corporate-orange);
        }

        .btn-outline:hover {
            background: var(--corporate-orange);
            color: white;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .mission-container {
                grid-template-columns: 1fr;
                gap: 40px;
            }

            .mission-visual {
                order: -1;
                height: 400px;
            }

            .values-grid {
                grid-template-columns: 1fr;
            }

            .floating-element {
                display: none;
            }
        }

        /* Section À Propos */
        .about {
            padding: 100px 0;
        }

        .about-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 40px;
            align-items: center;
        }

        /* Slider Styles */
        .about-slider {
            position: relative;
            width: 100%;
            height: 500px;
            overflow: hidden;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        .slider-container {
            display: flex;
            transition: transform 0.8s ease-in-out;
            height: 100%;
        }

        .slider-slide {
            min-width: 100%;
            height: 100%;
            position: relative;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.8s ease, visibility 0.8s ease;
        }

        .slider-slide.active {
            opacity: 1;
            visibility: visible;
        }

        .slider-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .slider-content {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 30px;
            z-index: 20;
        }

        .slider-content h3 {
            font-size: 1.8rem;
            margin-bottom: 10px;
            color: white;
        }

        .slider-content p {
            margin-bottom: 20px;
            font-size: 1.1rem;
        }

        .btn {
            display: inline-block;
            padding: 12px 30px;
            background: var(--corporate-orange);
            color: white;
            border-radius: 30px;
            text-decoration: none;
            font-weight: 500;
            transition: all 0.3s ease;
            border: 2px solid var(--corporate-orange);
        }

        .btn:hover {
            background: transparent;
            color: var(--corporate-orange);
            transform: translateY(-3px);
        }

        .slider-nav {
            position: absolute;
            top: 65%;
            left: 0;
            right: 0;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
            padding: 0 20px;
            z-index: 30;
            pointer-events: none; /* Permet aux clics de passer à travers sauf sur les boutons */
        }

        .slider-btn {
            width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            cursor: pointer;
            transition: all 0.3s ease;
            -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
            pointer-events: auto; /* Permet les clics sur les boutons */
        }

        .slider-btn:hover {
            background: var(--corporate-orange);
            transform: scale(1.1);
        }

        .slider-indicators {
            position: absolute;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
            z-index: 30;
        }

        .slider-indicator {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.5);
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .slider-indicator.active {
            background: var(--corporate-orange);
            transform: scale(1.2);
        }

        /* Contenu À Propos */
        .about-content p {
            margin-bottom: 20px;
            line-height: 1.6;
        }

        .features {
            margin: 30px 0;
        }

        .feature-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 15px;
        }

        .feature-icon {
            color: var(--corporate-orange);
            margin-top: 5px;
            margin-right: 15px;
        }

        .feature-text {
            flex: 1;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .about-container {
                grid-template-columns: 1fr;
            }

            .about-slider {
                height: 400px;
            }
        }

        @media (max-width: 768px) {
            .section-title h2 {
                font-size: 2rem;
            }

            .about-slider {
                height: 350px;
            }

            .slider-content {
                padding: 20px;
            }

            .slider-content h3 {
                font-size: 1.5rem;
            }
            .slider-btn {
                width: 40px;
                height: 40px;
            }

            .slider-nav {
                padding: 0 10px;
            }
        }
/* Styles responsives pour le chatbot */
.chatbot-container {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Mobile First Approach */
.chatbot-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: var(--corporate-orange);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    opacity: 0;
    transform: translateY(20px);
}

.chatbot-icon.visible {
    opacity: 1;
    transform: translateY(0);
}

.chatbot-icon:hover {
    transform: scale(1.1);
    background: var(--artistic-orange);
}

/* Container du chatbot */
.chatbot-container {
    width: calc(100vw - 32px);
    max-width: 400px;
    height: auto;
    max-height: 70vh;
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
}

/* Header */
.chatbot-header {
    background: var(--corporate-orange);
    color: white;
    padding: 16px;
    border-radius: 12px 12px 0 0;
    flex-shrink: 0;
}

.chatbot-close {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

/* Corps du chatbot */
.chatbot-body {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    min-height: 200px;
    max-height: 40vh;
}

/* Messages */
.chat-message {
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 18px;
    margin-bottom: 12px;
    line-height: 1.4;
    word-wrap: break-word;
    animation: fadeInUp 0.3s ease;
}

.bot-message {
    background: #f1f3f4;
    color: #333;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
}

.user-message {
    background: var(--corporate-orange);
    color: white;
    border-bottom-right-radius: 4px;
    align-self: flex-end;
    margin-left: auto;
}

/* Footer avec input */
.chatbot-footer {
    padding: 16px;
    border-top: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.chatbot-input {
    flex: 1;
    border: 1px solid #ddd;
    padding: 12px 16px;
    border-radius: 24px 0 0 24px;
    outline: none;
    font-size: 14px;
    transition: border-color 0.3s ease;
}

.chatbot-input:focus {
    border-color: var(--corporate-orange);
}

.chatbot-send {
    background: var(--corporate-orange);
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 0 24px 24px 0;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.chatbot-send:hover {
    background: var(--artistic-orange);
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mode sombre */
.dark-mode .chatbot-container {
    background: #2d2d2d;
    color: #e5e7eb;
}

.dark-mode .chatbot-body {
    background: #2d2d2d;
}

.dark-mode .bot-message {
    background: #3d3d3d;
    color: #e5e7eb;
}

.dark-mode .chatbot-input {
    background: #3d3d3d;
    color: #e5e7eb;
    border-color: #555;
}

.dark-mode .chatbot-footer {
    border-color: #444;
}

/* Responsive Design */
@media (max-width: 480px) {
    .chatbot-icon {
        width: 44px;
        height: 44px;
        bottom: 15px;
        right: 15px;
    }

    .chatbot-container {
        width: calc(100vw - 20px);
        bottom: 80px;
        right: 10px;
        left: 10px;
        max-width: none;
    }

    .chatbot-body {
        max-height: 50vh;
        padding: 12px;
    }

    .chat-message {
        max-width: 90%;
        padding: 10px 14px;
        font-size: 14px;
    }

    .chatbot-input {
        padding: 10px 14px;
        font-size: 16px; /* Évite le zoom sur iOS */
    }

    .chatbot-send {
        padding: 10px 16px;
    }
}

@media (max-width: 360px) {
    .chatbot-container {
        width: calc(100vw - 16px);
        right: 8px;
        left: 8px;
    }

    .chatbot-header h3 {
        font-size: 16px;
    }

    .chat-message {
        max-width: 95%;
    }
}

/* Tablettes */
@media (min-width: 768px) and (max-width: 1024px) {
    .chatbot-container {
        max-width: 400px;
        right: 20px;
        left: auto;
    }

    .chatbot-icon {
        width: 56px;
        height: 56px;
        bottom: 25px;
        right: 25px;
    }
}

/* Grands écrans */
@media (min-width: 1025px) {
    .chatbot-container {
        max-width: 400px;
    }

    .chatbot-icon {
        width: 60px;
        height: 60px;
    }
}

/* État désactivé pour l'input */
.chatbot-input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.chatbot-send:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Scrollbar personnalisée */
.chatbot-body::-webkit-scrollbar {
    width: 6px;
}

.chatbot-body::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.chatbot-body::-webkit-scrollbar-thumb {
    background: #c1c1c1;
    border-radius: 3px;
}

.chatbot-body::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
}

.dark-mode .chatbot-body::-webkit-scrollbar-track {
    background: #3d3d3d;
}

.dark-mode .chatbot-body::-webkit-scrollbar-thumb {
    background: #666;
}

.dark-mode .chatbot-body::-webkit-scrollbar-thumb:hover {
    background: #888;
}
/* Styles améliorés pour l'animation du typewriter */
#typewriter {
    min-height: 4.5rem;
    display: inline-block;
    position: relative;
}

/* Curseur personnalisé avec animation */
.typed-cursor {
    opacity: 1;
    animation: typedjsBlink 0.7s infinite;
    font-weight: 300;
}

@keyframes typedjsBlink {
    0% { opacity: 1; }
    50% { opacity: 0; }
    100% { opacity: 1; }
}

/* Animation de fade améliorée pour le typewriter */
.typewriter-fade-in {
    animation: typewriterFadeIn 1.2s ease-out forwards;
}

.typewriter-fade-out {
    animation: typewriterFadeOut 0.8s ease-in forwards;
}

@keyframes typewriterFadeIn {
    0% {
        opacity: 0;
        transform: translateY(15px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes typewriterFadeOut {
    0% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(-10px);
    }
}

/* Ajustements pour la section hero */
.hero h1 {
    font-size: 3.8rem;
    font-weight: 700;
    line-height: 1.2;
    min-height: 4.5rem;
    color: var(--neutral-white);
    font-family: 'Playfair Display', serif;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.4);
    position: relative;
}

/* Assurer une transition fluide */
.hero-content {
    position: relative;
    z-index: 20;
}
/* Styles pour la section social fund - CORRIGÉS */
.social-fund {
    position: relative;
    min-height: 600px;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding: 100px 0;
}

.social-fund-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.social-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.social-slide.active {
    opacity: 1;
}

.parallax-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.parallax-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.social-slider-indicators {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: flex;
    gap: 15px;
}

.social-indicator {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.social-indicator.active {
    background: var(--corporate-orange);
    transform: scale(1.2);
}

.social-fund-content {
    position: relative;
    z-index: 2;
    color: white;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.social-fund-stats {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
    flex-wrap: wrap;
}

.social-stat {
    text-align: center;
    min-width: 150px;
}

.social-stat-number {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--corporate-orange);
}

.social-stat-label {
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Animation des particules */
.floating-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

.particle {
    position: absolute;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    opacity: 0.5;
    animation: floatParticle linear infinite;
}

@keyframes floatParticle {
    0% {
        transform: translateY(100vh) translateX(0) rotate(0deg);
        opacity: 0;
    }
    10% {
        opacity: 0.5;
    }
    90% {
        opacity: 0.5;
    }
    100% {
        transform: translateY(-100px) translateX(20px) rotate(180deg);
        opacity: 0;
    }
}

/* Responsive */
@media (max-width: 768px) {
    .social-fund {
        min-height: 500px;
        padding: 60px 0;
    }

    .social-fund-stats {
        gap: 20px;
    }

    .social-stat {
        min-width: 120px;
    }

    .social-stat-number {
        font-size: 2rem;
    }
}
