 /* ================= Global Styles ================= */
            #prenom-graphique-complet {
                font-family: 'Jost', sans-serif !important;
                max-width: 900px !important;
                margin: 0 auto !important;
                padding: 20px !important;
                background-color: #fff !important;
                box-sizing: border-box !important;
                line-height: normal !important;
                color: #46293F !important;
                font-size: 16px !important;
            }

            .slider-container2 {
                height: 100px !important;
                border-radius: 0px;
            }
            
            /* Règle de réinitialisation pour éviter les héritages CSS indésirables */
            #prenom-graphique-complet * {
                box-sizing: border-box !important;
                font-family: 'Jost', sans-serif !important;
            }

            #prenom-graphique-complet .pg-container {
                background-color: white;
                border-radius: 10px;
                box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
                padding: 20px;
                margin-bottom: 20px;
                overflow: hidden; /* Empêcher le débordement */
                max-width: 100%; /* S'assurer que le conteneur ne dépasse pas sa taille parente */
            }

            #prenom-graphique-complet h3 {
                text-align: center;
                color: #46293F;
                /*margin-bottom: 80px;*/
                /* Augmenté la marge sous les titres h3 */
                font-size: 24px;
                font-weight: 600;
            }
            
            /* On garde l'exception pour #chart-title qui doit ressembler à un h1 */
            #prenom-graphique-complet h3#chart-title {
                margin-bottom: 40px;
                font-size: 24px;
                font-weight: 600;
            }

            #prenom-graphique-complet .loading {
                text-align: center;
                padding: 20px;
                color: #666;
            }

            #prenom-graphique-complet .error {
                color: #d62e4e;
                padding: 10px;
                text-align: center;
                border: 1px solid #d62e4e;
                border-radius: 5px;
                margin: 10px 0;
                background-color: rgba(214, 46, 78, 0.1);
            }

            .stats {
                display: flex;
                justify-content: center;
                /* Centrer au lieu de space-around */
                margin: 20px 0;
                text-align: center;
                flex-wrap: wrap;
                /* Permet aux éléments de passer à la ligne sur petit écran */
                gap: 25px;
                /* Pas d'espace entre les blocs */
            }

            .stat-box {
                background-color: #FFE6BA;
                padding: 15px;
                border-radius: 5px;
                min-width: 120px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
                flex: 1;
                /* Permet aux boîtes de s'étendre */
                min-width: 120px;
                /* Taille minimale */
                max-width: 200px;
                /* Taille maximale */
                margin: 0;
                /* Supprime toutes les marges */
                box-sizing: border-box; /* Inclure padding et border dans la largeur */
            }

            #prenom-graphique-complet .stat-value {
                font-size: 24px;
                font-weight: bold;
                color: #A78F64;
            }

            #prenom-graphique-complet .stat-label {
                font-size: 14px;
                color: #A78F64;
                margin-top: 5px;
            }

            #prenom-graphique-complet .chart-container {
                position: relative;
                height: 400px;
                margin-top: 20px;
            }

            /* ================= Section Graphique (Chart.js) ================= */
            /* Pas de styles additionnels pour le graphique Chart.js */

            /* ================= Section Carte (D3) ================= */
            #prenom-graphique-complet #map-wrapper {
                position: relative;
                max-width: 800px;
                margin: 25px auto 20px auto;
            }

            /* Style spécifique pour éviter le débordement des éléments */
            #chart-section, #map-section {
                width: 100%;
                box-sizing: border-box;
            }
            
            /* Slider personnalisé pour la carte */
            .slider-container {
                position: relative;
                margin: 50px 0 35px;
                /* Augmenté la marge supérieure */
                text-align: center;
                display: block;
                /* Afficher par défaut sur desktop */
            }

            /* Select pour mobile - caché par défaut */
            #year-select {
                display: none;
                /* Caché par défaut */
                width: 80%;
                padding: 12px 20px;
                margin: 20px auto;
                background: #FFE6BA;
                border: none;
                border-radius: 30px;
                color: #A78F64;
                font-size: 1.1em;
                font-weight: 500;
                text-align: center;
                box-shadow: 0 2px 5px rgba(167, 143, 100, 0.2);
                -webkit-appearance: none;
                -moz-appearance: none;
                appearance: none;
                background-image: url("data:image/svg+xml;utf8,<svg fill='%23A78F64' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
                background-repeat: no-repeat;
                background-position: right 10px center;
                cursor: pointer;
                transition: all 0.2s ease;
            }
            
            #year-select:focus {
                outline: none;
                box-shadow: 0 2px 8px rgba(167, 143, 100, 0.3);
            }

            #prenom-graphique-complet .slider-year-label {
                position: absolute;
                bottom: 0px;
                /* Encore plus éloigné du slider */
                left: 50%;
                transform: translateX(-50%);
                font-weight: 500;
                background: #FFE6BA;
                padding: 8px 20px;
                /* Padding augmenté */
                border-radius: 30px;
                /* Même rayon que la liste déroulante */
                border: none;
                font-size: 1.25em;
                /* Taille de police augmentée */
                color: #A78F64;
                box-shadow: 0 2px 5px rgba(167, 143, 100, 0.2);
            }

            #prenom-graphique-complet #year-slider {
                width: 100%;
                margin: 0;
                display: block;
                -webkit-appearance: none;
                height: 8px;
                background: #FFE6BA;
                border-radius: 4px;
                outline: none;
            }

            #prenom-graphique-complet #year-slider::-webkit-slider-runnable-track {
                height: 8px;
                background: #FFE6BA;
                border-radius: 4px;
            }

            #prenom-graphique-complet #year-slider::-moz-range-track {
                height: 8px;
                background: #FFE6BA;
                border-radius: 4px;
            }

            #prenom-graphique-complet #year-slider::-webkit-slider-thumb {
                -webkit-appearance: none;
                width: 20px;
                height: 20px;
                background: #A78F64;
                border-radius: 50%;
                cursor: pointer;
                margin-top: -6px;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
            }

            #prenom-graphique-complet #year-slider::-moz-range-thumb {
                width: 20px;
                height: 20px;
                background: #A78F64;
                border-radius: 50%;
                cursor: pointer;
                border: none;
                box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
            }

            #prenom-graphique-complet .slider-minmax {
                position: relative;
                width: 100%;
                height: 0;
                margin-bottom: 15px;
                /* Ajouté une marge en bas */
            }

            #prenom-graphique-complet .slider-minmax span {
                position: absolute;
                top: -5px;
                /* Augmenté la distance avec le slider */
                font-size: 0.85em;
                color: #46293F;
                font-weight: 500;
            }

            #prenom-graphique-complet .slider-minmax span:first-child {
                left: 0;
            }

            #prenom-graphique-complet .slider-minmax span:last-child {
                right: 0;
            }

            /* SVG de la carte */
            #map-svg {
                width: 100%;
                height: auto;
                border: 1px solid #A78F64;
                border-radius: 6px;
                background: #FFFBF5;
                box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
                aspect-ratio: 1 / 1;
                max-height: 80vh;
            }

            /* Tooltip redesigné pour suivre le curseur */
            .tooltip-dept {
                position: fixed;
                /* Fixed au lieu d'absolute pour suivre le curseur */
                pointer-events: none;
                background: rgba(255, 255, 255, 0.98);
                border: 1px solid #A78F64;
                padding: 8px 12px;
                font-size: 0.9em;
                border-radius: 4px;
                opacity: 0;
                transition: opacity 0.2s;
                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
                z-index: 100;
                max-width: 200px;
                text-align: center;
                transform: translate(-50%, -120%);
                /* Centré horizontalement et décalé au-dessus du curseur */
            }

            .tooltip-dept strong {
                color: #46293F;
                display: block;
                margin-bottom: 0px;
                /* Réduit la marge inférieure */
                border-bottom: 1px solid #FFE6BA;
                padding-bottom: 2px;
                /* Réduit le padding inférieur */
            }

            .tooltip-dept::after {
                content: '';
                position: absolute;
                bottom: -6px;
                left: 50%;
                transform: translateX(-50%);
                width: 0;
                height: 0;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                border-top: 6px solid #fff;
            }

            .selected {
                stroke: #46293F !important;
                stroke-width: 2px !important;
                stroke-opacity: 0.8;
            }

            #departements path {
                transition: fill 0.3s, stroke-width 0.2s, stroke 0.2s;
            }

            #departements path:hover {
                stroke: #A78F64 !important;
                stroke-width: 1.5px !important;
                cursor: pointer;
            }

            #legende {
                margin-top: 15px;
                padding: 10px 15px;
                font-size: 0.85em;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 20px;
                background: #FFFBF5;
                border-radius: 6px;
                border: 1px solid #FFE6BA;
            }

            #prenom-graphique-complet #legende div {
                display: flex;
                align-items: center;
            }

            #prenom-graphique-complet .legende-color {
                display: inline-block;
                width: 20px;
                height: 15px;
                margin-right: 4px;
                border-radius: 2px;
                vertical-align: middle;
                position: relative;
                top: -1px;
                /* Ajustement pour aligner avec le texte */
            }

            #selected-dept-info {
                margin-top: 15px;
                padding: 12px 15px;
                border: 1px solid #FFE6BA;
                border-radius: 6px;
                background: #FFFBF5;
                font-size: 0.95em;
                color: #46293F;
                text-align: center;
            }

            @media screen and (max-width: 600px) {
                #prenom-graphique-complet h3, #prenom-graphique-complet h3#chart-title, #prenom-graphique-complet #map-wrapper h3 {
                    font-size: 20px; /* Taille fixe en pixels pour tous les titres h3 */
                    margin-bottom: 15px;
                }

                #prenom-graphique-complet .slider-container {
                    display: none;
                    /* Cacher le slider sur mobile */
                }

                #prenom-graphique-complet #year-select {
                    display: block;
                    /* Afficher la liste déroulante sur mobile */
                }

                #prenom-graphique-complet #map-franck-container {
                    padding: 10px;
                }

                #prenom-graphique-complet #map-svg {
                    aspect-ratio: 1 / 1;
                    max-height: none;
                    height: auto;
                }

                #prenom-graphique-complet .tooltip-dept {
                    display: none !important;
                }

                #prenom-graphique-complet #legende {
                    flex-wrap: wrap;
                    gap: 10px;
                    justify-content: space-around;
                    font-size: 0.8em;
                }

                #prenom-graphique-complet #selected-dept-info {
                    font-size: 0.85em;
                    padding: 8px 10px;
                }

                #prenom-graphique-complet .stats {
                    flex-direction: column;
                    /* Passage en colonne sur très petits écrans */
                    align-items: center;
                }

                #prenom-graphique-complet .stat-box {
                    width: calc(100% - 10px); /* Réduire la largeur pour tenir compte des paddings */
                    max-width: 100%;
                    box-sizing: border-box; /* Inclure padding et border dans la largeur */
                    margin: 5px 0;
                }
            }