.elementor-38819 .elementor-element.elementor-element-f9dcbd9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-38819 .elementor-element.elementor-element-6fa90f0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-38819 .elementor-element.elementor-element-330488a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-38819 .elementor-element.elementor-element-ed37ca9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-38819 .elementor-element.elementor-element-faec91d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-38819 .elementor-element.elementor-element-6f0f6ac{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-38819 .elementor-element.elementor-element-6fa90f0{--width:15%;}.elementor-38819 .elementor-element.elementor-element-330488a{--width:85%;}.elementor-38819 .elementor-element.elementor-element-faec91d{--width:30%;}.elementor-38819 .elementor-element.elementor-element-6f0f6ac{--width:70%;}}/* Start custom CSS for container, class: .elementor-element-faec91d */<style>
/* --- STYLE DU MENU STABILISÉ --- */
.menu-lateral-container {
    position: sticky;       /* Reste collé */
    position: -webkit-sticky; /* Pour Safari */
    top: 100px;             /* Marge par rapport au haut de l'écran */
    
    /* C'EST CETTE LIGNE QUI EMPÊCHE LE SAUT : */
    align-self: flex-start; 
    
    max-height: 80vh;       /* Hauteur max : 80% de l'écran */
    overflow-y: auto;       /* Scroll interne si le menu est trop long */
    padding-right: 10px;
}

/* Scrollbar discrète pour le menu */
.menu-lateral-container::-webkit-scrollbar { width: 4px; }
.menu-lateral-container::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }

/* Boutons principaux (H2) */
.toc-btn-h2 {
    display: flex; justify-content: space-between; align-items: center;
    width: 100%; text-align: left; padding: 12px 15px; margin-top: 5px;
    background: #fff; border: 1px solid #ddd; border-radius: 4px;
    cursor: pointer; font-weight: bold; color: #333; transition: 0.2s;
    font-size: 14px;
}

.toc-btn-h2:hover { background: #f9f9f9; border-color: #bbb; }
.toc-btn-h2.actif { background: #333; color: #fff; border-color: #333; }

/* Indicateur flèche */
.toc-arrow::after { content: '▼'; font-size: 10px; margin-left: 10px; transition: 0.3s; opacity: 0.5;}
.toc-btn-h2.open .toc-arrow::after { transform: rotate(180deg); }

/* Conteneur des sous-menus (H3) */
.toc-sub-container {
    display: none; background: #f9f9f9; margin-bottom: 5px;
    border-left: 2px solid #333; margin-left: 5px;
}
.toc-sub-container.open { display: block; animation: slideDown 0.3s ease-out; }

/* Boutons secondaires (H3) */
.toc-btn-h3 {
    display: block; width: 100%; text-align: left;
    padding: 8px 15px 8px 20px; /* Indentation */
    background: transparent; border: none; border-bottom: 1px solid #eee;
    cursor: pointer; font-size: 13px; color: #666; transition: 0.2s;
}
.toc-btn-h3:hover { color: #000; background: #eee; }
.toc-btn-h3.actif { color: #0073aa; font-weight: bold; background: #e6f0f5; }

@keyframes slideDown { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
</style>

<div id="mon-sommaire-dynamique" class="menu-lateral-container">
    </div>/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6f0f6ac *//* Ajoutez ceci au début du style de la colonne de droite */
.colonne-droite-wrapper {
    min-height: 600px; /* Garde une hauteur stable même si la page est vide */
}/* End custom CSS */