.elementor-kit-5{--e-global-color-primary:#242424;--e-global-color-secondary:#020D36F2;--e-global-color-text:#242424;--e-global-color-accent:#E1BD6D;--e-global-color-d17ee96:#FBFBFB;--e-global-color-16b8a64:#1F3589;--e-global-color-e83eee5:#B500FF;--e-global-color-bd9c4a6:#1F3589;--e-global-typography-primary-font-family:"Source Sans Pro";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:26px;--e-global-typography-secondary-font-family:"Lora";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-line-height:34px;--e-global-typography-text-font-family:"Source Sans Pro";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Source Sans Pro";--e-global-typography-accent-font-weight:500;--e-global-typography-60b3be7-font-family:"Lora";--e-global-typography-60b3be7-font-size:15px;--e-global-typography-60b3be7-font-weight:500;--e-global-typography-c099510-font-family:"Source Sans Pro";--e-global-typography-c099510-font-size:13px;--e-global-typography-c099510-font-weight:500;--e-global-typography-5e24be8-font-family:"Cormorant Garamond";--e-global-typography-5e24be8-font-size:35px;--e-global-typography-5e24be8-font-weight:300;--e-global-typography-5e24be8-text-transform:uppercase;--e-global-typography-5e24be8-line-height:36px;--e-global-typography-5e24be8-letter-spacing:0.7px;--e-global-typography-5e24be8-word-spacing:0px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:var( --e-global-color-16b8a64 );font-weight:600;}.elementor-kit-5 a:hover{color:var( --e-global-color-accent );font-weight:600;}.elementor-kit-5 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h2{color:var( --e-global-color-16b8a64 );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5 h1{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h2{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:14px;--e-global-typography-secondary-font-size:22px;--e-global-typography-60b3be7-font-size:15px;--e-global-typography-5e24be8-font-size:26px;}.elementor-kit-5 h1{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-5 h2{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */.elementor-widget-heading{
  margin-top:    var(--gap-section) !important;
  margin-bottom: var(--gap-title)   !important;
  padding-bottom: 0 !important;
}

/* Le tout premier titre d'une zone ne doit pas avoir de marge haute */
.elementor-widget-heading:first-child {
  margin-top: 0 !important;
}

/* Reset interne du titre */
.elementor-widget-heading .elementor-heading-title{ 
    margin: 0 !important; 
    padding-bottom: 0 !important; 
}

/* Supprime les marges par défaut entre widgets */
.elementor-column .elementor-widget:not(:last-child),
.e-con .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}

/* Ajoute un petit souffle standard entre chaque bloc (sauf titres) */
.elementor .elementor-widget:not(:first-child){
  margin-top: var(--gap-medium) !important;
}

/* Force la grande marge spécifiquement pour les titres */
.elementor .elementor-widget-heading:not(:first-child){
  margin-top: var(--gap-section) !important;
}

/* Si un texte suit un titre, pas de marge en plus (le titre gère l'espace) */
.elementor-widget-heading + .elementor-widget-text-editor p:first-child{
  margin-top: 0 !important;
}

/* ================================================= */
/* 2. OPTIMISATION MOBILE (Uniquement les polices)   */
/* ================================================= */
@media (max-width: 767px) {

    /* --- HIÉRARCHIE VISUELLE (Pour éviter l'effet "Pâté") --- */
    
    /* Corps de texte : On force une taille standard (16px) */
    body .elementor-widget-text-editor,
    body .elementor-widget-text-editor p,
    body .elementor-widget-icon-list .elementor-icon-list-text {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }

    /* Titres (H1, H2) : On les force à être bien plus gros que le texte */
    body .elementor-widget-heading h1.elementor-heading-title,
    body .elementor-widget-heading h2.elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.2 !important;
        padding-bottom: 5px !important;
    }

    /* Sécurité : Cache les lignes vides accidentelles "Entrée" */
    .elementor-widget-text-editor p:empty {
        display: none !important;
    }
}






/* 1. Forcer l'ouverture des sous-sous-menus (Niveau 3) */
.elementor-kit-5 .elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu {
    display: block !important;
    height: auto !important;
    padding-left: 0px !important;
    border: none !important;
}

/* 2. Cacher les petites flèches sur les titres intermédiaires */
.elementor-kit-5 .elementor-nav-menu--dropdown ul.sub-menu li.menu-item-has-children > a .sub-arrow {
    display: none !important;
}

/* 3. Styler les titres de section (ex: Structuration, Donation...) */
.elementor-kit-5 .elementor-nav-menu--dropdown ul.sub-menu li.menu-item-has-children > a {
    font-weight: 700 !important;
    text-transform: uppercase;
    color: #bfa378 !important;
    padding-bottom: 5px;
    
    /* --- MODIFICATION ICI --- */
    margin-top: 35px !important; /* Grand espace au-dessus du titre */
    display: block !important;   /* Assure que l'espace est bien pris en compte */
    
    pointer-events: none;
}

/* 3-bis. Exception pour le tout premier titre (pour ne pas qu'il soit trop bas) */
.elementor-kit-5 .elementor-nav-menu--dropdown ul.sub-menu > li:first-child > a {
    margin-top: 10px !important;
}


/* --- Ajout des lignes de séparation fines --- */

/* 4. Ligne sous les titres principaux (Niveau 1 : ex: Ingénierie) */
.elementor-kit-5 .elementor-nav-menu--dropdown > ul > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
}

/* 5. Ligne sous les liens des sous-menus (Niveau 3 : ex: Bilan patrimonial) */
.elementor-kit-5 .elementor-nav-menu--dropdown ul.sub-menu ul.sub-menu li a {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding-bottom: 12px !important;
    padding-top: 12px !important;
    display: block;
}






/* --- STYLE GLOBAL DES TITRES H2 --- */

/* 1. On applique l'espacement à tous les H2 Elementor */
.elementor-widget-heading h2.elementor-heading-title {
    position: relative;
    /* 10px (haut) + 2px (trait) + 20px (bas) = 32px de marge totale */
    margin-bottom: 42px !important;
}

/* 2. On dessine le trait doré */
.elementor-widget-heading h2.elementor-heading-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -25px; /* Le trait se place à 10px sous le texte */
    width: 80px;   /* Longueur du trait */
    height: 1px;   /* Épaisseur du trait */
    background-color: #D4AF37; /* Couleur Or Clair */
}

/* 3. GESTION DES ALIGNEMENTS AUTOMATIQUE */

/* Si le H2 est CENTRÉ dans Elementor -> On centre le trait */
.elementor-widget-heading.elementor-align-center h2.elementor-heading-title::after {
    left: 50%;
    transform: translateX(-50%);
}

/* Si le H2 est aligné à DROITE -> On colle le trait à droite */
.elementor-widget-heading.elementor-align-right h2.elementor-heading-title::after {
    left: auto;
    right: 0;
}



/* Cache le bouton Accueil uniquement dans le menu déroulant mobile */
.elementor-kit-5 .elementor-nav-menu--dropdown .menu-item-home {
    display: none !important;
}/* End custom CSS */