.elementor-28 .elementor-element.elementor-element-77472f7{--display:flex;--min-height:177px;--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-end;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;}.elementor-28 .elementor-element.elementor-element-57fa9d1{--display:flex;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );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 );line-height:var( --e-global-typography-text-line-height );}.elementor-28 .elementor-element.elementor-element-6a5b767{text-align:start;}.elementor-28 .elementor-element.elementor-element-6a5b767 img{width:340px;}.elementor-28 .elementor-element.elementor-element-21710f4{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-28 .elementor-element.elementor-element-21a859e .elementor-menu-toggle{margin-left:auto;background-color:var( --e-global-color-text );}.elementor-28 .elementor-element.elementor-element-21a859e .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:900;line-height:32px;}.elementor-28 .elementor-element.elementor-element-21a859e .elementor-nav-menu--main .elementor-item{color:#7C04A2;fill:#7C04A2;}.elementor-28 .elementor-element.elementor-element-21a859e{--e-nav-menu-horizontal-menu-item-margin:calc( 44px / 2 );}.elementor-28 .elementor-element.elementor-element-21a859e .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:44px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );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 );line-height:var( --e-global-typography-text-line-height );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-28 .elementor-element.elementor-element-77472f7{--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:center;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-28 .elementor-element.elementor-element-0af4415 img{max-width:25px;}}@media(min-width:768px){.elementor-28 .elementor-element.elementor-element-77472f7{--content-width:94%;}.elementor-28 .elementor-element.elementor-element-57fa9d1{--width:30%;}.elementor-28 .elementor-element.elementor-element-21710f4{--width:70%;}}@media(max-width:1024px) and (min-width:768px){.elementor-28 .elementor-element.elementor-element-77472f7{--content-width:96%;}.elementor-28 .elementor-element.elementor-element-57fa9d1{--width:50%;}.elementor-28 .elementor-element.elementor-element-21710f4{--width:50%;}}@media(max-width:767px){.elementor-28 .elementor-element.elementor-element-77472f7{--content-width:94%;--min-height:120px;--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:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-28 .elementor-element.elementor-element-77472f7.e-con{--align-self:center;}.elementor-28 .elementor-element.elementor-element-57fa9d1{--width:50%;}.elementor-widget-theme-site-logo .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-28 .elementor-element.elementor-element-21710f4{--width:50%;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-28 .elementor-element.elementor-element-21a859e .elementor-nav-menu .elementor-item{font-size:16px;line-height:22px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for nav-menu, class: .elementor-element-21a859e *//* Uniquement pour les écrans larges (Desktop) */
@media (min-width: 1025px) {

    /* On s'assure que le lien est le point de référence */
    .elementor-nav-menu .menu-item a.elementor-item {
        position: relative !important;
        display: inline-flex !important;
        align-items: center;
    }

    /* Création du trait */
    .elementor-nav-menu .menu-item a.elementor-item::after {
        content: "";
        position: absolute;
        bottom: 8px; /* Ajustez pour monter/descendre le trait sous le mot */
        
        /* MAGIE : On utilise les variables de padding d'Elementor ou des valeurs fixes 
           pour que le trait s'arrête pile au bord du texte */
        left: 20px;  /* Doit correspondre au padding horizontal de vos liens */
        right: 20px; /* Idem ici */
        
        height: 2px;
        background-color: #007bff; /* Votre bleu */
        
        /* Animation fluide */
        transform: scaleX(0);
        transition: transform 0.3s ease-in-out;
        transform-origin: center; /* Le trait s'ouvre depuis le milieu */
    }

    /* Activation au survol et sur la page active */
    .elementor-nav-menu .menu-item a.elementor-item:hover::after,
    .elementor-nav-menu .menu-item a.elementor-item.elementor-item-active::after,
    .elementor-nav-menu .menu-item.current-menu-item a::after {
        transform: scaleX(1);
    }
}

/* Sur Mobile : On s'assure que rien ne s'affiche */
@media (max-width: 1024px) {
    .elementor-item::after {
        display: none !important;
    }
}/* End custom CSS */