/**
Theme Name: Astra Bgfi
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites.
Version: 1.0.0
License: GNU General Public License v2 or later
Text Domain: astra-bgfi
Template: astra
*/

/* =========================================
   STYLES GÉNERAUX (Sidebar, Map, Header)
   ========================================= */

/* =========================================
   LAYOUT CENTRÉ (Global)
   Objectif: retrouver un design centré sur toutes les pages
   (Astra containers + Elementor sections "boxed")
   ========================================= */
:root {
  /*
   * Layout global (charte BGFI)
   * - Max: 1400px
   * - Desktop: laisser ~60px de marge latérale sur ~1280px
   *   => largeur utile ≈ 100vw - 120px
   */
  --bgfi-site-max-width: 1400px;
  --bgfi-site-gutter: 20px;
  --bgfi-site-gutter-tablet: 16px;
  --bgfi-site-gutter-mobile: 12px;
  --bgfi-boxed-bg: #e6e6e6;
  --bgfi-boxed-surface: #ffffff;
  --bgfi-boxed-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

  /*
   * Hauteurs (offset sticky/fixed)
   * Valeurs par défaut (fallback).
   *
   * Important: un script recalcule ensuite l'offset réel
   * à partir de la hauteur du header rendu (Elementor),
   * pour éviter tout "gap" entre header et menus sticky.
   *
   * On les centralise ici pour que:
   * - le menu latéral sticky soit collé sous le header
   * - le padding-top (quand header devient fixed) soit exact
   */
  --bgfi-nav-height: 35px;
  --bgfi-shortcuts-height: 60px;
  --bgfi-desktop-header-offset: calc(var(--bgfi-nav-height) + var(--bgfi-shortcuts-height));
}

/* Boxed global sur desktop: fond gris + page centrée */
@media (min-width: 1025px) {
  :root {
    --bgfi-site-max-width: min(1400px, calc(100vw - 120px));
  }

  body {
    background: var(--bgfi-boxed-bg) !important;
    /* Important: éviter le scroll horizontal sans casser position: sticky */
    overflow-x: hidden !important;
  }

  body #page,
  body .site {
    max-width: var(--bgfi-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: var(--bgfi-boxed-surface) !important;
    box-shadow: var(--bgfi-boxed-shadow) !important;
  }

  /*
   * Elementor Canvas (elementor-template-canvas) n'a souvent pas #page/.site,
   * donc on centre le "document" Elementor directement.
   */
  body.elementor-template-canvas > .elementor,
  body.elementor-template-canvas > .elementor-location-single {
    max-width: var(--bgfi-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: var(--bgfi-boxed-surface) !important;
    box-shadow: var(--bgfi-boxed-shadow) !important;
  }

  /*
   * Harmonisation des barres hautes (desktop)
   * Objectif: même rendu que "Banque Privée" + "Corporate" (barres centrées).
   *
   * NOTE: ces classes sont présentes dans tes templates Elementor:
   * - .barre-navigation-principale
   * - .barre-raccourcis
   */
  body .layout-global .barre-navigation-principale,
  body .layout-global .barre-raccourcis {
    max-width: var(--bgfi-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /*
   * Fallback (Banque Privée / Corporate / etc.)
   * Si la classe `.layout-global` a été retirée/modifiée dans Elementor,
   * on garde quand même les barres dans la largeur du layout global.
   */
  body .barre-navigation-principale,
  body .barre-raccourcis {
    max-width: var(--bgfi-site-max-width) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Elementor: empêcher les sections "stretched" de sortir du boxed (100vw) */
  body #page .elementor-section.elementor-section-stretched {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }

  /* Même correctif pour Elementor Canvas (sinon 100vw casse le centrage). */
  body.elementor-template-canvas .elementor-section.elementor-section-stretched {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* Astra : garder du padding, mais éviter un 2e max-width imbriqué */
body .ast-container,
body .site-content > .ast-container {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--bgfi-site-gutter) !important;
  padding-right: var(--bgfi-site-gutter) !important;
  box-sizing: border-box !important;
}

/* Elementor (ancienne structure sections) : seulement les sections boxed */
body .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100% !important;
  padding-left: var(--bgfi-site-gutter) !important;
  padding-right: var(--bgfi-site-gutter) !important;
  box-sizing: border-box !important;
}

/* Elementor (nouvelle structure containers) : centrer uniquement les containers NON full width */
body .e-con:not(.e-con-full) > .e-con-inner {
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--bgfi-site-gutter) !important;
  padding-right: var(--bgfi-site-gutter) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 1024px) {
  body .ast-container,
  body .site-content > .ast-container,
  body .elementor-section.elementor-section-boxed > .elementor-container,
  body .e-con:not(.e-con-full) > .e-con-inner {
    padding-left: var(--bgfi-site-gutter-tablet) !important;
    padding-right: var(--bgfi-site-gutter-tablet) !important;
  }
}

@media (max-width: 767px) {
  body .ast-container,
  body .site-content > .ast-container,
  body .elementor-section.elementor-section-boxed > .elementor-container,
  body .e-con:not(.e-con-full) > .e-con-inner {
    padding-left: var(--bgfi-site-gutter-mobile) !important;
    padding-right: var(--bgfi-site-gutter-mobile) !important;
  }
}

/* Très grands écrans: garder un rendu bien centré (iMac / 2K+) */
@media (min-width: 1600px) {
  :root {
    --bgfi-site-max-width: min(1400px, calc(100vw - 120px));
  }
}
 .sidebar {
    position: -webkit-sticky;
    position: sticky;
    width: 33.3333%;
    height: 100vh; /* Hauteur de l'écran pour une sidebar sticky */
    top: 0;
    left: 0;
    overflow-y: auto; /* Permet le scroll interne si le contenu est trop long */
    border-right: 1px solid rgba(0, 0, 0, 0.25);
    z-index: 900;
  }

  .map {
    position: absolute;
    left: 33.3333%;
    width: 66.6666%;
    top: 0;
    bottom: 0;
  }

  .heading {
    background: #fff;
    border-bottom: 1px solid #eee;
    height: 60px;
    line-height: 60px;
    padding: 0 10px;
  }

.titre-1-bgfi {
font-family: "Usenet","Arial", serif;
  }

.bgfi-sidebar-header h1, .bgfi-sidebar-header p {
color: #ffffff !important;
  }

h3, .elementor-widget-heading h3 {
  font-family: "nimbus-sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
}

p {
font-family: "nimbus-sans", sans-serif !important;
font-weight: 400;
font-style: normal;
}

.hoving-card {
  transition: 
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
  will-change: transform;
  border: 1px solid transparent;
}

.hoving-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
  border-color: #023059;
}

.hoving-card-1 {
  transition: 
    transform 0.35s ease,
    box-shadow 0.35s ease,
  will-change: transform;

}
.hoving-card-1:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);
}
/* =========================================
   STYLES DE RECHERCHE (Search Bar)
   Commun à Particuliers et PME/PMI
   ========================================= */
.e-search {
    --e-search-input-height: 28px !important;
}

.e-search-input-wrapper {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
}

.e-search-input {
    height: 28px !important;
    padding: 2px 8px !important;
    line-height: 1.2 !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

.e-search-submit {
    height: 28px !important;
    width: 28px !important;
    padding: 0 !important;
}

#search-516c0f8 {
    display: block;
    height: calc(1.2em + .70rem + 1px) !important;
    line-height: 1.5 !important;
}

.e-search-input-wrapper .fa-search {
    font-size: 14px !important;
    line-height: 30px !important;
}

.e-search-submit .fa-search {
    font-size: 14px !important;
}

.e-search-results-container {
    top: 35px !important;
}

.mt-36 {
	margin-top:36px;
}

@media (max-width: 767px) {
    .e-search-input,
    .e-search-input-wrapper,
    .e-search-submit {
        height: 35px !important;
    }
    
    .e-search-input {
        font-size: 13px !important;
    }
}


/* =========================================
   FORMULAIRE DE RECHERCHE MODERNE
   Widget BGFI pour barre de raccourcis
   ========================================= */

.bgfi-search-form-wrapper {
    display: inline-block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.bgfi-search-form {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    width: 100%;
    max-width: 100%;
}

.bgfi-search-input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 12px 16px;
    font-family: "nimbus-sans", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    color: #333333;
    background-color: #ffffff;
    border: 1.5px solid #e0e0e0;
    border-radius: 36px !important;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    outline: none;
}

input[type="search"] {
	border-radius: 36px !important;
}

.bgfi-search-input::placeholder {
    color: #999999;
    opacity: 1;
}

.bgfi-search-input:focus {
    border: 2px solid #003a74;
    box-shadow: 0 0 0 4px rgba(0, 58, 116, 0.12);
    outline: none;
}

.bgfi-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    min-width: 40px;
    padding: 0 16px;
    font-family: "nimbus-sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #003a74;
    background-color: transparent;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: transform 0.1s ease;
    box-sizing: border-box;
    outline: none;
}

.bgfi-search-submit:hover {
    background-color: transparent;
}

.bgfi-search-submit:hover i {
    color: #3098c8;
}

.bgfi-search-submit:active {
    transform: scale(0.98);
}

.bgfi-search-submit:focus {
    outline: 2px solid rgba(0, 58, 116, 0.5);
    outline-offset: 2px;
}

.bgfi-search-submit i {
    font-size: 16px;
    line-height: 1;
    color: #003a74;
    transition: color 0.3s ease;
}

.bgfi-search-submit-text {
    display: inline-block;
    white-space: nowrap;
    color: #003a74;
    transition: color 0.3s ease;
}

.bgfi-search-submit:hover .bgfi-search-submit-text {
    color: #3098c8;
}

/* Masquer le label pour les lecteurs d'écran uniquement */
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    word-wrap: normal !important;
}

/* Responsive : Tablette */
@media (max-width: 1024px) {
    .bgfi-search-input,
    .bgfi-search-submit {
        height: 38px;
        font-size: 14px;
    }
    
    .bgfi-search-input {
        padding: 10px 14px;
    }
    
    .bgfi-search-submit {
        min-width: 38px;
        padding: 0 14px;
    }
}

/* Responsive : Mobile */
@media (max-width: 767px) {
    .bgfi-search-form {
        gap: 6px;
    }
    
    .bgfi-search-input,
    .bgfi-search-submit {
        height: 36px;
        font-size: 13px;
    }
    
    .bgfi-search-input {
        padding: 8px 12px;
    }
    
    .bgfi-search-submit {
        min-width: 36px;
        padding: 0 12px;
    }
    
    .bgfi-search-submit i {
        font-size: 14px;
    }
}

/* Intégration dans la barre de raccourcis */
.barre-raccourcis .bgfi-search-form-wrapper {
    display: flex;
    align-items: center;
    height: 100%;
}

.barre-raccourcis .bgfi-search-form {
    max-width: 100%;
}

/* Ajustement pour petits écrans dans la barre de raccourcis */
@media (max-width: 480px) {
    .barre-raccourcis .bgfi-search-form-wrapper {
        width: 100%;
    }
    
    .barre-raccourcis .bgfi-search-form {
        width: 100%;
    }
}

/* =========================================
   STYLES COMMUNS AUX 4 SEGMENTS
   (Particuliers, PME/PMI, Privée, Corporate)
   Remplacement de "selector" par les classes de segment
   ========================================= */

/* 1. Conteneurs et Mise en page */
.segment-particuliers, 
.segment-pme, 
.segment-prive, 
.segment-corporate {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  /* IMPORTANT: ne pas mettre overflow-* ici, ça casse souvent position: sticky (menu latéral) */
  max-width: 100%;
}

/* 2. Typographie des Segments */
.segment-particuliers h1, .segment-particuliers h2, .segment-particuliers h3,
.segment-pme h1, .segment-pme h2, .segment-pme h3,
.segment-prive h1, .segment-prive h2, .segment-prive h3,
.segment-corporate h1, .segment-corporate h2, .segment-corporate h3 {
    color: #003a74;

}

.segment-particuliers p,
.segment-pme p,
.segment-prive p,
.segment-corporate p {
    line-height: 1.6;
    color: #333333;
}

/* 3. Sticky Header Logic - Menu d'en-tête et menu latéral */

/* Menu d'en-tête Sticky (Top Menu) */
.elementor-element-ca6d076,
.elementor-element-737f4cf,
/* Banque Privée (wrapper du header) */
.elementor-element-edc00bd,
/* Corporate (wrapper du header) */
.elementor-element-aa07968 {
    position: sticky !important;
    top: 0 !important;
    z-index: 2000 !important;
}

/* Sécurité: certains layouts (Elementor + boxed) peuvent casser sticky.
   On force un header "figé" sur desktop si sticky n'accroche pas. */
@media (min-width: 1025px) {
    html body .elementor-element-ca6d076,
    html body .elementor-element-737f4cf,
    html body .elementor-element-edc00bd,
    html body .elementor-element-aa07968 {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 3000 !important;
    }

    /* Décaler le contenu pour éviter que le header recouvre le haut de page */
    html body:has(.elementor-element-ca6d076),
    html body:has(.elementor-element-737f4cf),
    html body:has(.elementor-element-edc00bd),
    html body:has(.elementor-element-aa07968) {
        padding-top: var(--bgfi-desktop-header-offset);
    }
}

/* Menu latéral contextuel sticky (desktop) */
@media (min-width: 1025px) {
    /* Cible générique si la classe existe sur les 4 segments */
    .menu-laterale {
        position: sticky !important;
        top: var(--bgfi-desktop-header-offset) !important;
        /* IMPORTANT: overflow visible pour permettre les sous-menus en flyout */
        height: calc(100vh - var(--bgfi-desktop-header-offset)) !important;
        min-height: calc(100vh - var(--bgfi-desktop-header-offset)) !important;
        overflow: visible !important;
        align-self: flex-start !important;
        z-index: 1500 !important; /* sous le header */
    }

    /* Cibles précises (sécurité) */
    .elementor-element-99e8e51,
    .elementor-element-5444cc4,
    .elementor-element-1789563,
    .elementor-element-5522217 {
        position: sticky !important;
        top: var(--bgfi-desktop-header-offset) !important;
        height: calc(100vh - var(--bgfi-desktop-header-offset)) !important;
        min-height: calc(100vh - var(--bgfi-desktop-header-offset)) !important;
        overflow: visible !important;
        align-self: flex-start !important;
        z-index: 1500 !important;
    }

    /*
     * Elementor applique un `top:108px` en dur sur les widgets de menu contextuel
     * (1 par segment). On le normalise sur l'offset global du header pour
     * supprimer le gap sous "Raccourcis".
     */
    .elementor-element-055bd37,
    .elementor-element-b6b0a74,
    .elementor-element-ec71b0b,
    .elementor-element-c06d9fe {
        top: var(--bgfi-desktop-header-offset) !important;
    }

    /* Masquer la barre de défilement du menu latéral (tout en gardant le scroll) */
    .menu-laterale,
    .elementor-element-99e8e51,
    .elementor-element-5444cc4,
    .elementor-element-1789563,
    .elementor-element-5522217 {
        scrollbar-width: none;     /* Firefox */
        -ms-overflow-style: none;  /* IE/Edge legacy */
    }

    .menu-laterale::-webkit-scrollbar,
    .elementor-element-99e8e51::-webkit-scrollbar,
    .elementor-element-5444cc4::-webkit-scrollbar,
    .elementor-element-1789563::-webkit-scrollbar,
    .elementor-element-5522217::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }

    /* Flyout (desktop) : sous-menu à droite */
    .menu-laterale .elementor-nav-menu > li,
    .elementor-element-99e8e51 .elementor-nav-menu > li,
    .elementor-element-5444cc4 .elementor-nav-menu > li,
    .elementor-element-1789563 .elementor-nav-menu > li,
    .elementor-element-5522217 .elementor-nav-menu > li {
        position: relative !important;
    }

    .menu-laterale .elementor-nav-menu > li > .sub-menu,
    .elementor-element-99e8e51 .elementor-nav-menu > li > .sub-menu,
    .elementor-element-5444cc4 .elementor-nav-menu > li > .sub-menu,
    .elementor-element-1789563 .elementor-nav-menu > li > .sub-menu,
    .elementor-element-5522217 .elementor-nav-menu > li > .sub-menu {
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        z-index: 2500 !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateX(0) !important;
    }

    .menu-laterale .elementor-nav-menu > li:hover > .sub-menu,
    .menu-laterale .elementor-nav-menu > li:focus-within > .sub-menu,
    .elementor-element-99e8e51 .elementor-nav-menu > li:hover > .sub-menu,
    .elementor-element-99e8e51 .elementor-nav-menu > li:focus-within > .sub-menu,
    .elementor-element-5444cc4 .elementor-nav-menu > li:hover > .sub-menu,
    .elementor-element-5444cc4 .elementor-nav-menu > li:focus-within > .sub-menu,
    .elementor-element-1789563 .elementor-nav-menu > li:hover > .sub-menu,
    .elementor-element-1789563 .elementor-nav-menu > li:focus-within > .sub-menu,
    .elementor-element-5522217 .elementor-nav-menu > li:hover > .sub-menu,
    .elementor-element-5522217 .elementor-nav-menu > li:focus-within > .sub-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
}

/* Menu contextuel (mobile/tablette): éviter tout sticky/top qui crée des gaps */
@media (max-width: 1024px) {
    .elementor-element-055bd37,
    .elementor-element-b6b0a74,
    .elementor-element-ec71b0b,
    .elementor-element-c06d9fe {
        position: static !important;
        top: auto !important;
    }
}

/* Tentative générique pour rendre sticky les sections d'en-tête de chaque segment */
.segment-particuliers .elementor-section-wrap > .elementor-section:first-child,
.segment-pme .elementor-section-wrap > .elementor-section:first-child,
.segment-prive .elementor-section-wrap > .elementor-section:first-child,
.segment-corporate .elementor-section-wrap > .elementor-section:first-child {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
}

@media (min-width: 1200px) {
    .segment-particuliers, .segment-pme, .segment-prive, .segment-corporate {
        max-width: var(--bgfi-site-max-width);
    }
}

/* =========================================
   STYLES DES MENUS (Harmonisation)
   Appliqué sur les conteneurs de segments
   ========================================= */

/* Reset des styles Elementor */
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu .menu-link,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu .menu-link,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu .menu-link,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu .menu-link,
.segment-particuliers .elementor-nav-menu--dropdown .elementor-nav-menu .menu-link,
.segment-pme .elementor-nav-menu--dropdown .elementor-nav-menu .menu-link,
.segment-prive .elementor-nav-menu--dropdown .elementor-nav-menu .menu-link,
.segment-corporate .elementor-nav-menu--dropdown .elementor-nav-menu .menu-link {
    background: none !important;
    background-color: transparent !important;
}

/* Style de base des liens */
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link {
    position: relative !important;
    overflow: hidden !important;
    transition: color 0.3s ease !important;
    z-index: 1 !important;
    background: transparent !important;
}

/* Élément pseudo ::after (Animation de remplissage) */
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link::after,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link::after,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link::after,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 100% !important;
    transition: width 0.4s ease !important;
    z-index: -1 !important;
}

/* Animation au survol et focus */
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link::after,
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link::after,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link::after,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link::after,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link::after,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link::after,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link::after,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link::after {
    width: 100% !important;
}

/* Changement de couleur du texte au survol */
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link,
.segment-particuliers .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link,
.segment-pme .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link,
.segment-prive .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li:hover > .menu-link,
.segment-corporate .elementor-nav-menu--main .elementor-nav-menu > li:focus-within > .menu-link {
    color: white !important;
}

/* =========================================
   ADAPTATION MENU LATÉRAL POUR MOBILE
   ========================================= */

/* Les conteneurs des menus contextuels restent en position normale */
/* Elementor gère déjà leur affichage et comportement */

/* Responsive Menu Mobile */
@media (max-width: 1024px) {
    :root {
        --bgfi-mobile-header-offset: 60px;
    }
    /* Les boutons proxy restent visibles */
    .elementor-element-6265559 .bgfi-mobile-toggle {
        display: flex !important;
    }
    
    /* Masquer les toggles originaux Elementor sur mobile */
    [data-id="055bd37"] .elementor-menu-toggle,
    [data-id="b6b0a74"] .elementor-menu-toggle,
    [data-id="ec71b0b"] .elementor-menu-toggle,
    [data-id="c06d9fe"] .elementor-menu-toggle {
        display: none !important;
    }
    
    /* Overlay sombre quand le menu contextuel Elementor est ouvert */
    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        /* Sous les headers sticky (z-index: 1000) */
        z-index: 900;
        display: none !important;
        opacity: 0;
        transition: opacity 0.3s ease;
        pointer-events: none;
    }
    
    /* Afficher l'overlay quand un menu CONTEXTUEL est ouvert */
    body:has([data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"]) .menu-overlay,
    body:has([data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"]) .menu-overlay,
    body:has([data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"]) .menu-overlay,
    body:has([data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"]) .menu-overlay {
        display: block !important;
        opacity: 1;
        pointer-events: auto;
    }
    
    /* Positionner UNIQUEMENT les dropdowns "container" (évite de casser les sous-menus) */
    [data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container,
    [data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container,
    [data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container,
    [data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: var(--bgfi-mobile-header-offset) !important;
        left: 0 !important;
        width: 85% !important;
        max-width: 320px !important;
        background: #003a74 !important;
        z-index: 1100 !important;
        overflow-y: auto !important;
        max-height: calc(100vh - var(--bgfi-mobile-header-offset)) !important;
    }
    
    /* Quand le menu est caché, le masquer complètement */
    [data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"],
    [data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"],
    [data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"],
    [data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"] {
        display: none !important;
    }
    
    /* Quand le menu est visible, l'afficher */
    [data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"],
    [data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"],
    [data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"],
    [data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
        display: block !important;
    }

    /* =========================================
       MENU DES SEGMENTS (Header) - Mobile
       Empêcher l'expansion du conteneur et ouvrir uniquement le dropdown
       Conteneur concerné: .elementor-element-add7070
       ========================================= */
    .elementor-element-add7070 {
        /* Le conteneur ne doit pas s'agrandir avec le menu */
        overflow: visible !important;
    }

    .elementor-element-add7070 .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        /* Sortir le dropdown du flux pour éviter de pousser le layout
           + comportement plein écran (comme avant) */
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100vh !important;
        max-height: 100vh !important;
        overflow-y: auto !important;
        z-index: 1500 !important;
        background: rgba(0, 58, 116, 0.98) !important;
        padding: var(--bgfi-mobile-header-offset) 20px 20px !important;
        box-shadow: none !important;
        margin: 0 !important;
    }

    .elementor-element-add7070 .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="true"] {
        display: none !important;
    }

    .elementor-element-add7070 .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"] {
        display: block !important;
    }

    /* Le toggle du menu des segments doit rester au-dessus du menu plein écran */
    .elementor-element-add7070 .elementor-menu-toggle {
        position: relative !important;
        z-index: 1600 !important;
    }

    /* Quand le menu des segments (plein écran) est ouvert :
       cacher la recherche + toggle contextuel pour éviter qu'ils passent au-dessus */
    body:has(.elementor-element-add7070 .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 {
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body:has(.elementor-element-add7070 .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle {
        opacity: 0 !important;
        pointer-events: none !important;
    }
    
    /* Styles des items du menu dropdown */
    .elementor-nav-menu--dropdown .elementor-item {
        color: white !important;
        padding: 15px 20px !important;
        display: block !important;
    }
    
    .elementor-nav-menu--dropdown .elementor-item:hover {
        background: rgba(255, 255, 255, 0.1) !important;
    }
    
    /* Conteneur de la barre de recherche avec les menus et le bouton hamburger */
    .elementor-element-6265559 {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    
    /* Sur très petits écrans, passer en colonne */
    @media (max-width: 480px) {
        .elementor-element-6265559 {
            /* iPhone portrait: rester sur une seule ligne (toggle à côté de la recherche) */
            flex-direction: row !important;
            align-items: center !important;
            flex-wrap: nowrap !important;
            gap: 8px !important;
        }
    }

/* Mobile portrait : réduire la taille du formulaire de recherche */
@media (max-width: 480px) and (orientation: portrait) {
    .elementor-element-6265559 .wpr-search-form {
        width: 100% !important;
    }

    .elementor-element-6265559 .wpr-search-form-input-wrap {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .elementor-element-6265559 .wpr-search-form-input {
        height: 36px !important;
        padding: 6px 10px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    .elementor-element-6265559 .wpr-search-form-submit {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .elementor-element-6265559 .wpr-search-form-submit i {
        font-size: 16px !important;
        line-height: 1 !important;
    }
}
    
    /* Widget de recherche et ses éléments - alignement horizontal */
    .elementor-element-6265559 > .elementor-widget-wpr-search {
        flex: 1 !important;
        min-width: 0 !important;
        max-width: 100% !important;
        width: auto !important;
        display: flex !important;
        flex-direction: column !important;
    }
    
    .elementor-element-6265559 .elementor-widget-container {
        width: 100% !important;
    }
    
    /* La barre de recherche prend le reste de l'espace */
    .elementor-element-6265559 .elementor-search-form,
    .elementor-element-6265559 .e-search,
    .elementor-element-6265559 .wpr-search-form {
        flex: 1 !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    
    /* Bouton toggle proxy à côté de la recherche */
    .elementor-element-6265559 .bgfi-mobile-toggle {
        position: relative !important;
        z-index: 10000 !important;
        background: #003a74 !important;
        background-color: #003a74 !important;
        border: 2px solid white !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        flex-shrink: 0 !important;
        flex-grow: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
        align-self: center !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* S'assurer que la ligne recherche+toggle reste au-dessus de l'overlay */
    .elementor-element-6265559 {
        position: relative !important;
        z-index: 1200 !important;
    }
    
    /* Icônes Elementor dans le toggle proxy */
    .elementor-element-6265559 .bgfi-mobile-toggle i {
        color: white !important;
        font-size: 20px !important;
        transition: opacity 0.3s ease !important;
    }
    
    /* Masquer l'icône de fermeture par défaut */
    .elementor-element-6265559 .bgfi-mobile-toggle .elementor-menu-toggle__icon--close {
        display: none !important;
    }
    
    /* Masquer l'icône d'ouverture quand le menu est ouvert */
    .elementor-element-6265559 .bgfi-mobile-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--open {
        display: none !important;
    }
    
    /* Afficher l'icône de fermeture quand le menu est ouvert */
    .elementor-element-6265559 .bgfi-mobile-toggle[aria-expanded="true"] .elementor-menu-toggle__icon--close {
        display: inline-block !important;
    }

    /* Sécurité: si aria-expanded n'est pas synchronisé (Elementor), basculer l'icône
       quand un menu contextuel est réellement ouvert */
    body:has([data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="055bd37"] .elementor-menu-toggle__icon--open,
    body:has([data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="b6b0a74"] .elementor-menu-toggle__icon--open,
    body:has([data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="ec71b0b"] .elementor-menu-toggle__icon--open,
    body:has([data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="c06d9fe"] .elementor-menu-toggle__icon--open {
        display: none !important;
    }

    body:has([data-id="055bd37"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="055bd37"] .elementor-menu-toggle__icon--close,
    body:has([data-id="b6b0a74"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="b6b0a74"] .elementor-menu-toggle__icon--close,
    body:has([data-id="ec71b0b"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="ec71b0b"] .elementor-menu-toggle__icon--close,
    body:has([data-id="c06d9fe"] .elementor-nav-menu--dropdown.elementor-nav-menu__container[aria-hidden="false"])
    .elementor-element-6265559 .bgfi-mobile-toggle[data-menu-widget="c06d9fe"] .elementor-menu-toggle__icon--close {
        display: inline-block !important;
    }
    
    /* Animations pour les items du menu mobile */
    .elementor-nav-menu--main .elementor-nav-menu > li > .menu-link::after {
        transition: width 0.3s ease !important;
    }
    
}

/* Desktop - comportement normal */
@media (min-width: 1025px) {
    /* Les boutons toggle Elementor restent dans leur position d'origine */
    .elementor-element-6265559 .bgfi-mobile-toggle {
        display: none !important;
    }
    
    /* L'overlay n'est pas nécessaire sur desktop */
    .menu-overlay {
        display: none !important;
    }
}

/* Suppression effets sous-menus */
html body .elementor .sub-menu a::after,
html body .elementor .elementor-nav-menu--dropdown a::after {
    display: none !important;
}

.elementor-nav-menu .sub-menu {
    width: max-content !important;
    min-width: 250px !important;
    max-width: 400px !important;
    border: 1px solid #ffffff !important;
}

.elementor-nav-menu .sub-menu .elementor-sub-item {
    white-space: nowrap !important;
    padding: 5px 20px !important;
}

/* =========================================
   COULEURS DES ITEMS DE MENU (Global)
   ========================================= */

/* -- BLEU -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6261 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6317 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6300 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6303 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8482 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7672 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7003 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7005 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7004 > .menu-link::after {
    background: linear-gradient(to bottom, #3098c8, rgba(48, 152, 200, 0)) !important;
}

/* État Actif Bleu (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6261 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6261.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6317 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6317.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6300 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6300.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6303 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6303.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8482 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8482.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7672 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7672.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7003 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7003.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7005 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7005.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7004 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7004.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #3098c8, rgba(48, 152, 200, 0)) !important;
    color: white !important;
}

/* Sous-menus Bleu */
.elementor-nav-menu .menu-item-6261 .sub-menu .elementor-sub-item, 
.elementor-nav-menu .menu-item-7933 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-6317 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-6300 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-6303 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-8482 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-7003 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-7004 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-7005 .sub-menu .elementor-sub-item {
    background-color: #3098c8 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-6261 .sub-menu .elementor-sub-item:hover, 
.elementor-nav-menu .menu-item-7933 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-6317 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-6300 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-6303 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-8482 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-7003 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-7004 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-7005 .sub-menu .elementor-sub-item:hover {
    background-color: #2387b5 !important;
}


/* -- ROUGE / BORDEAUX -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7289 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6445 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8483 > .menu-link::after {
    background: linear-gradient(to bottom, #b03058, rgba(176, 48, 88, 0)) !important;
}

/* État Actif Rouge / Bordeaux (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7289 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7289.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6445 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6445.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8483 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8483.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #b03058, rgba(176, 48, 88, 0)) !important;
    color: white !important;
}

/* Sous-menus Rouge */
.elementor-nav-menu .menu-item-7289 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-6445 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-8483 .sub-menu .elementor-sub-item {
    background-color: #b03058 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-7289 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-6445 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-8483 .sub-menu .elementor-sub-item:hover {
    background-color: #9b2147 !important;
}


/* -- VERT -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6266 > .menu-link::after {
    background: linear-gradient(to bottom, #40a860, rgba(64, 168, 96, 0)) !important;
}

/* État Actif Vert (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6266 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6266.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #40a860, rgba(64, 168, 96, 0)) !important;
    color: white !important;
}

/* Sous-menus Vert */
.elementor-nav-menu .menu-item-6266 .sub-menu .elementor-sub-item {
    background-color: #40a860 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-6266 .sub-menu .elementor-sub-item:hover {
    background-color: #18853a !important;
}


/* -- ORANGE -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6292 > .menu-link::after {
    background: linear-gradient(to bottom, #e86828, rgba(232, 104, 40, 0)) !important;
}

/* État Actif Orange (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6292 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6292.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #e86828, rgba(232, 104, 40, 0)) !important;
    color: white !important;
}

/* Sous-menus Orange */
.elementor-nav-menu .menu-item-6292 .sub-menu .elementor-sub-item {
    background-color: #e86828 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-6292 .sub-menu .elementor-sub-item:hover {
    background-color: #c75016 !important;
}


/* -- ROUGE VIF -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6298 > .menu-link::after {
    background: linear-gradient(to bottom, #e04038, rgba(224, 64, 56, 0)) !important;
}

/* État Actif Rouge Vif (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6298 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6298.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #e04038, rgba(224, 64, 56, 0)) !important;
    color: white !important;
}

/* Sous-menus Rouge Vif */
.elementor-nav-menu .menu-item-6298 .sub-menu .elementor-sub-item {
    background-color: #e04038 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-6298 .sub-menu .elementor-sub-item:hover {
    background-color: #bd2f28 !important;
}


/* -- TURQUOISE -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6301 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6456 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7673 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8644 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7180 > .menu-link::after {
    background: linear-gradient(to bottom, #12bcbd, rgba(18, 188, 189, 0)) !important;
}

/* État Actif Turquoise (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6301 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6301.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6456 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-6456.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7673 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7673.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8644 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8644.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7180 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7180.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #12bcbd, rgba(18, 188, 189, 0)) !important;
    color: white !important;
}

/* Sous-menus Turquoise */
.elementor-nav-menu .menu-item-6301 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-6456 .sub-menu .elementor-sub-item {
    background-color: #12bcbd !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-6301 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-6456 .sub-menu .elementor-sub-item:hover {
    background-color: #0ca0a1 !important;
}


/* -- VIOLET / RSE -- */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8050 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8259 > .menu-link::after,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8481 > .menu-link::after {
    background: linear-gradient(to bottom, #982878, rgba(48, 152, 200, 0)) !important;
}

/* État Actif Violet (et ancêtre actif) */
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-7933.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8050 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8050.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8259 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8259.current-menu-ancestor > .menu-link,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8481 > .elementor-item-active,
.elementor-nav-menu--main .elementor-nav-menu > li.menu-item-8481.current-menu-ancestor > .menu-link {
    background: linear-gradient(to bottom, #982878, rgba(48, 152, 200, 0)) !important;
    color: white !important;
}

/* Sous-menus Violet */
.elementor-nav-menu .menu-item-7933 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-8050 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-8259 .sub-menu .elementor-sub-item,
.elementor-nav-menu .menu-item-8481 .sub-menu .elementor-sub-item {
    background-color: #982878 !important;
    color: white !important;
}
.elementor-nav-menu .menu-item-7933 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-8050 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-8259 .sub-menu .elementor-sub-item:hover,
.elementor-nav-menu .menu-item-8481 .sub-menu .elementor-sub-item:hover {
    background-color: #974c82 !important;
}


/* =========================================
   PAGE TITLES (Couleurs de fond)
   ========================================= */

/* Bleu (Gérer ses comptes, etc.) */
.post-666 .page-title, .post-1804 .page-title, .post-1393 .page-title,
.page-id-4986 .page-title, .page-id-7422 .page-title, .page-id-7420 .page-title,
.post-3145 .page-title, .post-6377 .page-title, .post-6340 .page-title,
.page-id-6394 .page-title, .page-id-6400 .page-title, .page-id-6437 .page-title,
.post-1720 .page-title, .post-3024 .page-title, .page-id-6932 .page-title,
.page-id-6943 .page-title, .page-id-6941 .page-title, .page-id-6973 .page-title,
.page-id-6975 .page-title, .page-id-4716 .page-title, .page-id-7039 .page-title,
.page-id-1729 .page-title,
.post-7642 .page-title, .post-7644 .page-title, .post-7646 .page-title,
.post-7648 .page-title, .post-7650 .page-title, .post-7652 .page-title,
.post-7660 .page-title, .post-8642 .page-title {
    background: linear-gradient(to bottom, #157cac, #3098c8) !important;
}
/* Variante Bleu Corporate */
.post-7642 .page-title {
     background: linear-gradient(to bottom, #3098c8, #46b2e4) !important;
}

/* Violet (Banque engagée) */
.page-id-7422 .page-title, .page-id-7420 .page-title,
.page-id-8255 .page-title, .page-id-8257 .page-title,
.page-id-8477 .page-title, .page-id-8472 .page-title {
    background: linear-gradient(to bottom, #7f0c5e, #db41af) !important;
}

/* Bordeaux (Banque à distance) */
.post-4934 .page-title, .post-7073 .page-title, .post-7068 .page-title,
.post-1789 .page-title, .post-7658 .page-title {
    background: linear-gradient(to bottom, #b03058, #dd5f83) !important;
    background-color: #b03058 !important;
}

/* Vert (Epargner) */
.post-6275 .page-title, .post-3090 .page-title {
    background: linear-gradient(to bottom, #40a860, #4ac46f) !important;
    background-color: #40a860 !important;
}

/* Orange (Emprunter) */
.post-3045 .page-title {
    background: linear-gradient(to bottom, #A73902, #e86828) !important;
    background-color: #e86828 !important;
}

/* Rouge (Bancassurance) */
.post-4135 .page-title {
    background: linear-gradient(to bottom, #9b2621, #e04038) !important;
    background-color: #e04038 !important;
}

/* Turquoise (Conseil et sécurité) */
.post-2000 .page-title,
.post-7178 .page-title,
.post-8642 .page-title,
.post-6454 .page-title {
    background: linear-gradient(to bottom, #129a9b, #12bcbd ) !important;
    background-color: #12bcbd !important;
}

/* Masquer Hero */
.page-id-63 .page-title, .page-id-63 .image-avant,
.page-id-369 .page-title, .page-id-369 .image-avant,
.page-id-367 .page-title, .page-id-367 .image-avant,
.page-id-2026 .page-title, .page-id-2026 .image-avant {
    display: none !important;
}


/* =========================================
   HAUTEUR ÉGALE DES CARTES
   Force les .cartes d'un même .cards-container
   à avoir toujours la même hauteur
   ========================================= */

.cards-container .cartes {
min-height : 280px !important;
}

/* =========================================
   MENU ACTIF BARRE DE NAVIGATION PRINCIPALE
   Couleur #E1EEB6 sur l'item actif et les
   ancêtres actifs (page enfant d'un segment)
   ========================================= */

/* Item actif (page courante) */
.barre-navigation-principale .elementor-item-active,
.barre-navigation-principale .current-menu-item > .menu-link {
    color: #E1EEB6 !important;
}

/* Item ancêtre actif (page enfant d'un segment) */
.barre-navigation-principale .current-menu-ancestor > .menu-link,
.barre-navigation-principale .current-menu-parent > .menu-link,
.barre-navigation-principale .current_page_ancestor > .menu-link {
    color: #E1EEB6 !important;
}
