.elementor-9575 .elementor-element.elementor-element-d6b629e{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;}.elementor-9575 .elementor-element.elementor-element-e10c795{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-9575 .elementor-element.elementor-element-acb8adb{--display:flex;--min-height:0px;--justify-content:flex-start;--border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-9575 .elementor-element.elementor-element-acb8adb:not(.elementor-motion-effects-element-type-background), .elementor-9575 .elementor-element.elementor-element-acb8adb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E2DEDE;}.elementor-9575 .elementor-element.elementor-element-3cf89ab{--box-border-color:#8A0000;--box-border-radius:20px;--item-text-hover-decoration:underline;}.elementor-9575 .elementor-element.elementor-element-3cf89ab .elementor-toc__header-title{text-align:start;}.elementor-9575 .elementor-element.elementor-element-3cf89ab .elementor-toc__header{flex-direction:row;}.elementor-9575 .elementor-element.elementor-element-3cf89ab .elementor-toc__list-item{font-family:"Inter", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-459866ec{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--border-radius:20px 20px 20px 20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-9575 .elementor-element.elementor-element-249b94e{--display:flex;--gap:21px 0px;--row-gap:21px;--column-gap:0px;--border-radius:20px 20px 20px 20px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-9575 .elementor-element.elementor-element-249b94e:not(.elementor-motion-effects-element-type-background), .elementor-9575 .elementor-element.elementor-element-249b94e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E2DEDE;}.elementor-9575 .elementor-element.elementor-element-4e3e5c6{text-align:center;}.elementor-9575 .elementor-element.elementor-element-4e3e5c6 .elementor-heading-title{font-family:"chewy", Sans-serif;font-size:60px;}.elementor-9575 .elementor-element.elementor-element-a6703cf{--display:flex;--gap:12px 0px;--row-gap:12px;--column-gap:0px;}.elementor-9575 .elementor-element.elementor-element-f8106d9{font-family:"Inter", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-a5f90a9 .elementor-heading-title{font-family:"chewy", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-359ecdc{--display:flex;}.elementor-9575 .elementor-element.elementor-element-359ecdc > .elementor-shape-top .elementor-shape-fill, .elementor-9575 .elementor-element.elementor-element-359ecdc > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#8A0000;}.elementor-9575 .elementor-element.elementor-element-359ecdc > .elementor-shape-top svg, .elementor-9575 .elementor-element.elementor-element-359ecdc > .e-con-inner > .elementor-shape-top svg{height:78px;}.elementor-9575 .elementor-element.elementor-element-2b914b5{--display:flex;}.elementor-9575 .elementor-element.elementor-element-17d8e73 .elementor-heading-title{font-family:"chewy", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-fd507fb{--display:flex;}.elementor-9575 .elementor-element.elementor-element-fd507fb > .elementor-shape-top .elementor-shape-fill, .elementor-9575 .elementor-element.elementor-element-fd507fb > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#8A0000;}.elementor-9575 .elementor-element.elementor-element-fd507fb > .elementor-shape-top svg, .elementor-9575 .elementor-element.elementor-element-fd507fb > .e-con-inner > .elementor-shape-top svg{height:78px;transform:translateX(-50%) rotateY(180deg);}.elementor-9575 .elementor-element.elementor-element-c581cff{--display:flex;--margin-top:060px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9575 .elementor-element.elementor-element-876d676 .elementor-heading-title{font-family:"chewy", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-b7c17eb{--display:flex;}.elementor-9575 .elementor-element.elementor-element-b7c17eb > .elementor-shape-top .elementor-shape-fill, .elementor-9575 .elementor-element.elementor-element-b7c17eb > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#8A0000;}.elementor-9575 .elementor-element.elementor-element-b7c17eb > .elementor-shape-top svg, .elementor-9575 .elementor-element.elementor-element-b7c17eb > .e-con-inner > .elementor-shape-top svg{height:78px;}.elementor-9575 .elementor-element.elementor-element-a0cac28{--display:flex;}.elementor-9575 .elementor-element.elementor-element-de1c6a9 .elementor-heading-title{font-family:"chewy", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-15800ef{--display:flex;}.elementor-9575 .elementor-element.elementor-element-15800ef > .elementor-shape-top .elementor-shape-fill, .elementor-9575 .elementor-element.elementor-element-15800ef > .e-con-inner > .elementor-shape-top .elementor-shape-fill{fill:#8A0000;}.elementor-9575 .elementor-element.elementor-element-15800ef > .elementor-shape-top svg, .elementor-9575 .elementor-element.elementor-element-15800ef > .e-con-inner > .elementor-shape-top svg{height:78px;transform:translateX(-50%) rotateY(180deg);}.elementor-9575 .elementor-element.elementor-element-751a18a{--display:flex;--margin-top:60px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-9575 .elementor-element.elementor-element-b844d7c .elementor-heading-title{font-family:"chewy", Sans-serif;}.elementor-9575 .elementor-element.elementor-element-0d48ad8{--display:flex;}.elementor-9575 .elementor-element.elementor-element-7bf4ff8 .elementor-heading-title{font-family:"chewy", Sans-serif;}@media(min-width:768px){.elementor-9575 .elementor-element.elementor-element-d6b629e{--content-width:100%;}.elementor-9575 .elementor-element.elementor-element-e10c795{--width:81%;}.elementor-9575 .elementor-element.elementor-element-acb8adb{--width:30%;}.elementor-9575 .elementor-element.elementor-element-459866ec{--width:70%;}.elementor-9575 .elementor-element.elementor-element-249b94e{--width:100%;}}@media(max-width:1366px) and (min-width:768px){.elementor-9575 .elementor-element.elementor-element-e10c795{--width:100%;}}/* Start custom CSS for table-of-contents, class: .elementor-element-3cf89ab *//* ==========================================================================
   STYLE SUR MESURE : WIDGET TABLE DES MATIÈRES ELEMENTOR (THÈME SOMBRE)
   ========================================================================== */

/* 1. La boîte globale du widget (Mode Sombre) */
.elementor-widget-table-of-contents .elementor-widget-container {
    background-color: #1a1a1a !important; /* Fond noir/gris foncé */
    padding: 30px 25px !important;
    border-radius: 10px !important;
    border: 1px solid #2a2a2a !important; /* Bordure très discrète */
    box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.2) !important;
}

/* Assure l'effet "collant" (Sticky) du widget */
.elementor-widget-table-of-contents {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 120px; /* Espace avec le haut de l'écran */
}

/* 2. Le titre principal "Table des matières" */
.elementor-widget-table-of-contents .elementor-toc__header-title {
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #ed0009 !important; /* Titre en blanc */
    font-family: Chewy;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

/* Couleur du petit bouton (chevron) pour ouvrir/fermer le menu */
.elementor-widget-table-of-contents .elementor-toc__toggle-button {
    color: #ffffff !important;
}

/* 3. La liste principale (La ligne rouge sur la gauche) */
.elementor-widget-table-of-contents .elementor-toc__body > .elementor-toc__list-wrapper {
    list-style: none !important;
    padding: 0 0 0 15px !important; /* Espace entre la ligne et le texte */
    margin: 0 !important;
    border-left: 2px solid #ed0009 !important; /* Ligne rouge continue */
}

/* Enlever la bordure pour les sous-menus et décaler le texte */
.elementor-widget-table-of-contents .elementor-toc__list-item > .elementor-toc__list-wrapper {
    border-left: none !important;
    padding-left: 15px !important;
    margin: 5px 0 !important;
}

/* 4. Les éléments du menu (Nettoyage) */
.elementor-widget-table-of-contents .elementor-toc__list-item {
    margin: 0 !important;
    padding: 0 !important;
    list-style-type: none !important; /* On retire les puces par défaut */
}

.elementor-widget-table-of-contents .elementor-toc__list-item::marker {
    content: none !important;
}

/* Le design du texte cliquable */
.elementor-widget-table-of-contents .elementor-toc__list-item-text {
    display: block !important;
    padding: 10px 15px !important;
    color: #FFFFF !important; /* Gris clair pour les éléments inactifs */
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    transition: all 0.3s ease !important;
    border-radius: 6px !important; /* Bords légèrement arrondis comme sur l'image */
    margin-bottom: 4px !important;
    box-shadow: none !important;
}

/* 5. EFFET AU SURVOL (Hover) */
.elementor-widget-table-of-contents .elementor-toc__list-item-text:hover {
    color: #ed0009 !important; /* Le texte devient blanc pur */
    background-color: rgba(255, 255, 255, 0.05) !important; /* Léger fond gris/transparent */
}

/* 6. ÉTAT ACTIF (Section en cours - Bloc rouge) */
.elementor-widget-table-of-contents .elementor-toc__list-item-text.elementor-item-active {
    color: #ffffff !important;
    font-weight: 700 !important;
    background-color: #ed0009 !important; /* Fond entièrement rouge */
    border-radius: 6px !important;
}

/* 7. Adaptation pour mobile : Retrait de l'effet "collant" sur petits écrans */
@media (max-width: 880px) {
    .elementor-widget-table-of-contents {
        position: relative !important;
        top: 0 !important;
        margin-bottom: 30px !important;
    }
}/* End custom CSS */