.elementor-19 .elementor-element.elementor-element-07a7e95{--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:flex-start;--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-19 .elementor-element.elementor-element-f9f32f5{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-19 .elementor-element.elementor-element-f9f32f5:not(.elementor-motion-effects-element-type-background), .elementor-19 .elementor-element.elementor-element-f9f32f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-widget-heading .elementor-heading-title{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 );color:var( --e-global-color-primary );}.elementor-19 .elementor-element.elementor-element-9f30b90 .elementor-heading-title{font-family:"new-spirit", Sans-serif;font-size:24px;font-weight:400;color:var( --e-global-color-text );}.elementor-19 .elementor-element.elementor-element-c9eeb0f{--display:flex;--gap:20px 0px;--row-gap:20px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-19 .elementor-element.elementor-element-5ed8fd4 .jet-mega-menu.jet-mega-menu--layout-horizontal .jet-mega-menu-item__link--top-level,
							.elementor-19 .elementor-element.elementor-element-5ed8fd4 .jet-mega-menu.jet-mega-menu--layout-vertical .jet-mega-menu-item__link--top-level{font-family:"DM Sans", Sans-serif;}.elementor-19 .elementor-element.elementor-element-5ed8fd4{--jmm-top-items-ver-padding:9px;--jmm-top-items-hor-padding:0px;--jmm-top-items-gap:0px;--jmm-top-items-hor-align:flex-start;--jmm-top-item-title-color:var( --e-global-color-text );}.elementor-19 .elementor-element.elementor-element-d040bd5{--display:flex;--min-height:90px;--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;}.elementor-19 .elementor-element.elementor-element-d040bd5:not(.elementor-motion-effects-element-type-background), .elementor-19 .elementor-element.elementor-element-d040bd5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#121318AD;}.elementor-19 .elementor-element.elementor-element-1e622a6 .elementor-heading-title{font-family:"new-spirit", Sans-serif;font-size:24px;font-weight:400;color:var( --e-global-color-text );}.elementor-19 .elementor-element.elementor-element-4559749 .jet-inline-svg{max-width:150px;}.elementor-19 .elementor-element.elementor-element-4559749 .jet-inline-svg__wrapper{text-align:center;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-19 .elementor-element.elementor-element-07a7e95{--content-width:190px;}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-19 .elementor-element.elementor-element-d040bd5{--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:space-between;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-19 .elementor-element.elementor-element-d040bd5{--min-height:75px;--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;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-19 .elementor-element.elementor-element-1e622a6{text-align:left;}.elementor-19 .elementor-element.elementor-element-4559749 .jet-inline-svg{max-width:30px;}.elementor-19 .elementor-element.elementor-element-4559749 .jet-inline-svg__wrapper{text-align:center;}}/* Start custom CSS for container, class: .elementor-element-d040bd5 */@media (max-width: 1024px) {
    .elementor-location-header {
        backdrop-filter: blur(60px);
        -webkit-backdrop-filter: blur(60px);
        position: sticky;
        top: 0;
        z-index: 999;
        transition: all 0.3s ease-in-out;
    }
    
    /* État scrollé */
    .elementor-location-header.scrolled {
        margin: 5px 0 0 0;
        border-radius: 0 0 15px 15px;
    }
    
    .elementor-location-header.scrolled > .elementor-section {
        min-height: 60px !important;
        height: 60px !important;
        margin: 0 5px !important;
    }
}/* End custom CSS */
/* Start custom CSS *//* === HEADER LATÉRAL === */
/* Desktop uniquement */
@media (min-width: 1025px) {
    body {
        display: grid;
        grid-template-columns: 190px 1fr;
        grid-template-rows: auto 1fr auto; /* header, content, footer */
        transition: grid-template-columns 0.3s ease;
        min-height: 100vh;
    }
    
    body.sidebar-collapsed {
        grid-template-columns: 60px 1fr;
    }
    
    .header-lateral {
        position: sticky;
        top: 0;
        height: 100vh;
        z-index: 999;
        width: 190px;
        transition: width 0.3s ease;
        grid-row: 1 / -1; /* Le header prend toute la hauteur */
    }
    
    .header-lateral.collapsed {
        width: 60px;
    }
    
    /* Le contenu principal */
    .site-content,
    main {
        grid-column: 2; /* Colonne de droite uniquement */
    }
    
    /* Le footer en pleine largeur */
    footer,
    .site-footer {
        grid-column: 1 / -1; /* Span sur toutes les colonnes */
        width: 100%;
    }
}

/* Tablette et Mobile : menu masqué, contenu pleine largeur */
@media (max-width: 1024px) {
    body {
        display: block;
        margin-left: 0 !important;
    }
    
    .header-lateral {
        display: none !important;
    }
    
    .site-content {
        margin-left: 0 !important;
    }
}/* End custom CSS */