/*
--------------------------------------
Header infos
--------------------------------------
*/

/*
--------------------------------------
Layout offset for fixed header
--------------------------------------
*/
html { scroll-padding-top: var(--header-offset, 0px); }
#content { padding-top: var(--header-offset, 0px); }

.main-header__topbar-container {
	display         : flex;
	justify-content : center;
	align-items     : center;
	gap             : 10px;
	background      : var(--e-global-color-primary);
	transition      : all 0.4s ease-in-out;
	will-change     : opacity, transform;
	height          : 41px;
}

.main-header__topbar-container--is-hidden,
.main-header__topbar-container--is-hidden > * {
	opacity    : 0;
	transform  : translateY(-100%);
	transition : all 0.1s ease-in-out;
	display    : none;

}

.main-header__topbar-container .header-action__link-text,
.main-header__bottombar-container .header-action__link-text {
	color       : #FFF;
	text-align  : center;
	font-family : Barlow, 'sans-serif';
	font-size   : 14px;
	font-style  : normal;
	font-weight : 700;
	line-height : normal;
}

/*
--------------------------------------
header
--------------------------------------
*/

body:not(.elementor-editor-active) .main-header__inner {
	position         : fixed;
	z-index          : 5;
	background-color : transparent;
	width            : 100%;
}

.main-header__container--is-shown {
	opacity    : 1;
	background : rgba(56, 56, 56, .75);
}

/*
--------------------------------------
Main header container
--------------------------------------
*/

.main-header__container {
	/*position: sticky;*/
	/*z-index: 12;*/
	/*top: 0;*/
	background-color : #fff;
	width            : 100%;
	/*!*height: 80px;*! si souhaite fixer une taille au header*/
}

/*si on souhaite faire disparaître le logo au scroll */
/*.main-header__container--is-fixed,*/
/*.main-header__container--is-fixed .main-logo__img {*/
/*	opacity: 0;*/
/*}*/

/*.main-header__container--is-fixed .main-logo__img {*/
/*	opacity: 0;*/
/*	height: 0;*/
/*}*/

.main-header__container,
.main-header__container .main-logo__img {
	transition : opacity 0.35s ease-in-out;
}

.main-header__container .main-logo__img {
	max-width  :200px;
	object-fit : contain;
	transition : all 0.35s ease-in-out;
	padding    : 5px 0;
}

/* Logo par défaut : affiché initialement */
.main-logo__img--default {
	display : block;
}

/* Logo scrolled : caché par défaut */
.main-logo__img--scrolled {
	display   : none;
	height    : 33px;
	max-width : 33px;
}

/* Quand le header est scrollé */
.main-header__header-container--is-scrolled .main-logo__img--default {
	display : none;
}

.main-header__header-container--is-scrolled .main-logo__img--scrolled {
	display : block;
}

.main-header__header-container--is-scrolled .menu-wrapper__bfc {
	display : none;
}


.main-header__container--is-shown {
	opacity    : 1;
	background : rgba(255, 255, 255, .85);
}

.main-header__header-container {
	display          : flex;
	flex-direction   : column;
	justify-content  : center;
	position         : relative;
	z-index          : 1;
	align-items      : center;
	will-change      : transform, box-shadow;
	height           : 100%;
	background-color : white;
	padding          : 0 20px;
}

.main-header__inner--is-fixed.main-header__inner--is-shown .main-header__header-container {
	background : rgba(255, 255, 255, 0.5);
}

.main-header__header-container-inner {
	display               : grid;
	grid-template-columns : repeat(3, 1fr);
	align-items           : center;
	justify-content       : space-between;
	width                 : 100%;
	max-width             : 1720px;
}

.main-header__header-container--is-scrolled {
	position                : sticky;
	top                     : 0;
	left                    : 0;
	right                   : 0;
	z-index                 : 20;
	background              : rgba(255, 255, 255, 0.5);
	backdrop-filter         : blur(10px);
	-webkit-backdrop-filter : blur(10px);
	box-shadow              : 0 4px 10px rgba(0, 0, 0, 0.2);
	transition              : all 0.4s ease-in-out;
	border-bottom           : 3px solid var(--e-global-color-primary);
}

/*Logo*/

/*.main-header__container .main-logo {*/
/*	grid-column : 1;*/
/*}*/

.main-header__container .main-logo__link {
	display     : flex;
	align-items : center;
	color       : var(--e-global-color-primary);
	gap         : 20px;
	padding-top : 10px;
}

.has-white-menu-link .main-header__container .main-logo__link {
	color : #fff;
}

.main-header__container--is-fixed .main-logo__link {
	color : var(--e-global-color-primary);
}

.main-header__container .main-logo__text {
	display        : flex;
	gap            : 10px;
	font-family    : var(--e-global-typography-primary-font-family);
	font-size      : 22px;
	font-weight    : 400;
	color          : var(--e-global-color-primary);
	letter-spacing : -1.12px;
	line-height    : 1;
	transition     : all 0.35s ease-in-out;
}

.main-header__container .main-logo__text {
	padding-top : 2em;
}

.main-logo__link,
.main-logo__text {
	color : #fff;
}

.main-header__container--is-fixed .main-logo__text {
	display        : flex;
	flex-direction : row;
	gap            : 7px;
	color          : var(--e-global-color-primary);
	padding-top    : 0;
}

.main-header__container--is-shown .main-logo__text {
	flex-direction : row;
}

.main-header__container--is-fixed .main-logo__link {
	align-items : center;
}

/*Menu*/

.menu-wrapper {
	/*grid-column     : 3;*/
	display     : flex;
	/*justify-content : flex-end;*/
	align-items : center;
}

.menu-item--no-link > .menu-link {
	cursor : default;
}

/*Actions*/

.main-header__inner .header-actions {
	display         : flex;
	justify-content : flex-end;
	align-items     : center;
	gap             : 15px;
	/*grid-column     : 2;*/
	/*grid-row        : 1;*/
}

.header-action__link {
	font-family : var(--e-global-typography-032f926-font-family), sans-serif;
}

.main-header__inner .header-action__link {
	color : #000;
}

.has-white-menu-link .main-header__inner .header-action__link {
	color : #fff;
}

.main-header__inner .header-action__link:focus,
.main-header__inner .header-action__link:hover {
	color : var(--e-global-color-secondary);
}

.main-header__inner--is-fixed .header-action__link:hover {
	color : var(--e-global-color-primary);
}

.header-action__link {
	display       : flex;
	align-items   : center;
	gap           : 5px;
	border-radius : 5px;
}


/* Bottom bar */

.main-header__header-container--is-scrolled .main-header__bottombar-container {
	display : none;
	background : rgba(255, 255, 255, 0.5)
}

.main-header__bottombar-container {
	display         : flex;
	flex-direction  : row;
	justify-content : center;
	align-items     : center;
	background      : white;
	transition      : all 0.4s ease-in-out;
	will-change     : opacity, transform;
	height          : 41px;
	padding         : 25px 0;
	gap             : 35px;
}

/* Sub-menu behaviour on bottom bar (desktop) */
@media (min-width: 1200px) {
    /* Ensure positioning context per item */
    .main-header__bottombar-container .navigation-links .menu-item { position: relative; }

    .main-header__bottombar-container .navigation-links .menu-item > .sub-menu {
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
        min-width: 220px;
        background: #fff;
        box-shadow: 0 8px 24px rgba(0,0,0,.08);

        /* stack vertically */
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        list-style: none;
        margin: 0;
        padding: 6px 0;

        opacity: 0;
        visibility: hidden;
        transform: translateY(8px);
        pointer-events: none;
        transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    }

    .main-header__bottombar-container .navigation-links .menu-item:hover > .sub-menu,
    .main-header__bottombar-container .navigation-links .menu-item:focus-within > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
        transition-delay: 0s, 0s, 0s;
    }

    /* Ensure children fill width and appear as list */
    .main-header__bottombar-container .navigation-links .menu-item > .sub-menu > li { width: 100%; }
    .main-header__bottombar-container .navigation-links .menu-item > .sub-menu a { display: block; width: 100%; padding: 8px 14px; }

    /* Remove chevrons/pseudo icons before submenu links */
    .main-header__bottombar-container .navigation-links .menu-item > .sub-menu a::before,
    .main-header__bottombar-container .navigation-links .menu-item > .sub-menu a::after {
        content: none !important;
        display: none !important;
    }
    .main-header__bottombar-container .navigation-links .sub-menu .menu-link .ast-icon.icon-arrow {
        display: none !important;
    }

    /* Do not underline current items inside bottom bar sub-menus */
    .main-header__bottombar-container .navigation-links .sub-menu .current-menu-item > a,
    .main-header__bottombar-container .navigation-links .sub-menu a[aria-current="page"],
    .main-header__bottombar-container .navigation-links .sub-menu a[aria-current] {
        border-bottom: 0 !important;
        text-decoration: none !important;
    }
}

.main-header__bottombar-container .navigation-links .menu-menu-accueil-container ul {
	display         : flex;
	flex-direction  : row;
	justify-content : center;
	align-items     : center;
	gap             : 25px;
}

.main-header__bottombar-container .navigation-links .menu-item a {
	color          : var(--e-global-color-primary);
	text-align     : center;
	font-family    : Barlow, sans-serif;
	font-size      : 15px;
	font-style     : normal;
	font-weight    : 600;
	line-height    : normal;
	letter-spacing : 0.75px;
	text-transform : uppercase;
}

.menu-reseaux ul {
	display         : flex;
	flex-direction  : row;
	justify-content : center;
	align-items     : center;
	gap             : 15px;
}

.menu-reseaux li {
	display         : flex;
	flex-direction  : row;
	justify-content : center;
	align-items     : center;
}

.menu-reseaux .menu-item a {
    color          : #404040 !important;
    text-align     : center;
    font-family    : Barlow, sans-serif;
    font-size      : 15px;
    font-style     : normal;
    font-weight    : 600;
    line-height    : normal;
    letter-spacing : 0.75px;
    text-transform : uppercase;
    display        : flex;
    align-content  : flex-start !important;
}

/* Social icons alignment and sizing (icons-only) */
.navigation-links.menu-reseaux #main-nav li {
    line-height: 0; /* remove extra inline space */
}
.navigation-links.menu-reseaux #main-nav li a {
    width: 48px;
    height: 48px;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.navigation-links.menu-reseaux #main-nav li a img,
.navigation-links.menu-reseaux #main-nav li a i,
.navigation-links.menu-reseaux #main-nav li a svg {
    width: 26px !important;
    height: 26px !important;
    display: block;
    object-fit: contain;
    line-height: 1;
    margin: 0;
}

/* Normalize font-icon pseudo-elements as well */
.navigation-links.menu-reseaux #main-nav li a i::before {
    width: 26px !important;
    height: 26px !important;
    font-size: 26px !important;
    line-height: 1 !important;
    display: block !important;
}

.menu-reseaux .menu-item a img,
.menu-reseaux .menu-item a i {
	width     : 22px !important;
	height    : 22px !important;
	font-size : 22px !important;
}

/* Menu client */

.menu-wrapper__client .menu {
	display         : flex;
	justify-content : flex-end;
	align-items     : center;
	gap             : 35px;
	user-select     : none;
}

.menu-wrapper__client .navigation-links .menu-item a {
	color                     : #404040;
	text-align                : center;
	font-family               : Barlow, 'sans-serif';
	font-size                 : 14px;
	font-style                : normal;
	font-weight               : 700;
	line-height               : normal;
	text-decoration-line      : none;
	text-decoration-style     : solid;
	text-decoration-skip-ink  : auto;
	text-decoration-thickness : auto;
	text-underline-offset     : auto;
	text-underline-position   : from-font;
	text-transform            : uppercase;
}

.menu-wrapper__client .navigation-links .menu-item:first-child a {
	display          : flex;
	padding          : 10px 16px 10px 50px;
	justify-content  : center;
	align-items      : center;
	gap              : 10px;

	border-radius    : 100px;
	background-color : var(--e-global-color-primary);

	color            : #FFF;
	text-align       : center;
	font-family      : Barlow, 'sans-serif';
	font-size        : 15px;
	font-style       : normal;
	font-weight      : 700;
	line-height      : normal;
	letter-spacing   : 0.75px;
	text-transform   : uppercase;
	text-decoration  : none;
	border           : 3px solid var(--e-global-color-primary);
}

.menu-wrapper__client .navigation-links .menu-item:first-child img {
	display : none;
}

.menu-wrapper__client .navigation-links .menu-item:first-child a {
	position : relative;
}

.menu-wrapper__client .navigation-links .menu-item:first-child a::before {
	position              : absolute;
	content               : '';
	mask-image            : url('/wp-content/uploads/2025/08/lets-icons_sign-in.svg');
	-webkit-mask-image    : url('/wp-content/uploads/2025/08/lets-icons_sign-in.svg');
	mask-repeat           : no-repeat;
	-webkit-mask-repeat   : no-repeat;
	mask-position         : center;
	-webkit-mask-position : center;
	mask-size             : contain;
	-webkit-mask-size     : contain;
	left                  : 7%;
	top                   : 10px;
	width                 : 21px;
	height                : 21px;
	transition            : all 0.3s ease;
	background-color      : white; /* couleur par défaut */
}

.menu-wrapper__client .navigation-links .menu-item:first-child a:hover::before {
	left             : 83%;
	background-color : var(--e-global-color-primary);
}

.menu-wrapper__client .navigation-links .menu-item:first-child a:hover {
	padding    : 10px 50px 10px 16px;
	background : white;
	color      : var(--e-global-color-primary);
}


.main-header__header-container--is-scrolled .menu-wrapper__client .navigation-links .menu-item:first-child a {
	padding   : 8px 10px 8px 40px;
	font-size : 14px;
	gap       : 6px;
}

.main-header__header-container--is-scrolled .menu-wrapper__client .navigation-links .menu-item:first-child a::before {
	left   : 7%;
	top    : 9px;
	width  : 15px;
	height : 15px;
}

.main-header__header-container--is-scrolled .menu-wrapper__client .navigation-links .menu-item:first-child a:hover::before {
	left : 83%;
}

.main-header__header-container--is-scrolled .menu-wrapper__client .navigation-links .menu-item:first-child a:hover {
	padding    : 8px 40px 8px 10px;
	background : transparent;
}


.menu-wrapper__client .navigation-links .menu-item {
	display        : flex;
	flex-direction : row;
	gap            : 35px;
}

.menu-wrapper.menu-wrapper__bfc {
	justify-content : flex-start !important;
}

.menu-wrapper.menu-wrapper__logo {
    justify-content : center !important;
    user-select     : none;
}

/*
--------------------------------------
Desktop burger when scrolled
--------------------------------------
*/
@media (min-width: 1200px) {
    /* Hide burger by default on desktop */
    .burger-container { display: none; }

    /* When header is scrolled, we force mobile-like menu */
    body.force-mobile-menu .burger-container { display: block; }

    /* Panel + overlay behavior mirroring mobile */
    body.force-mobile-menu .navigation-wrapper {
        position: fixed;
        z-index: 100; /* above header */
        inset: 0; /* top:0; right:0; bottom:0; left:0 */
        pointer-events: none;
        overflow: hidden; /* prevents any peek of the panel */
    }
    body.force-mobile-menu .navigation-wrapper .navigation-container {
        position: fixed;
        left: 0;
        top: 80px; /* default top offset */
        background-color: var(--e-global-color-primary);
        transform: translateX(-100%); /* fully off-canvas to the left by default */
        width: 100vw;
        max-width: 100vw;
        height: calc(100svh - 80px);
        margin: 0;
        list-style-type: none;
        border-radius: 0 0 46px 0;
        padding: 0 22px 100px 22px;
        pointer-events: all; /* interactive when visible */
    }
    /* When header is compact (scrolled), adjust top/height */
    body.force-mobile-menu .main-header__header-container--is-scrolled .navigation-wrapper .navigation-container {
        top: 57px;
        height: calc(0svh - 57px);
    }
    body.force-mobile-menu .navigation-wrapper.--is-active .navigation-container {
        transform: translateX(0);
    }
    body.force-mobile-menu .close {
        display: flex;
        justify-content: flex-end; /* align icon to the right */
        color: var(--e-global-color-primary);
        background: white;
        position: absolute;
        right: 0; /* put it on the same side as the burger */
        transform: translate(0, -42px);
        width: 100px;
    }
    body.force-mobile-menu .overlay {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        height: 100svh;
        width: 0;
    }
    body.force-mobile-menu .navigation-wrapper.--is-active .overlay {
        width: 100%;
        pointer-events: all;
    }

    /* Keep wrapper visible; we switch it to panel mode */
    body.force-mobile-menu .main-header__header-container--is-scrolled .menu-wrapper__primary {
        display: block !important;
    }

    /* Burger placement and sizing */
    body.force-mobile-menu .burger-container {
        display: flex;
        justify-self: end;
        align-self: center;
        grid-column: 3;
        z-index: 120; /* stay above panel header */
    }
    body.force-mobile-menu .burger { width: 40px; margin: 0; }

    /* Ensure panel overlays nicely on desktop */
    body.force-mobile-menu .navigation-wrapper { z-index: 50; }
}
/* Minimal desktop scrolled rule (user request) */
@media (min-width: 1200px) {
  .main-header__header-container--is-scrolled .menu-wrapper__primary .navigation-wrapper:not(.--is-active) .menu-menu-accueil-container {
    display: none !important;
  }
  .main-header__header-container--is-scrolled .menu-wrapper__primary .navigation-wrapper.--is-active .menu-menu-accueil-container {
    display: block !important;
  }
  /* Desktop: hide close button always; burger will toggle open/close */
  .main-header__header-container .close { display: none !important; }
  .main-header__header-container--is-scrolled .menu-wrapper__primary .navigation-wrapper.--is-active .close { display: none !important; }
  /* Ensure burger remains visible even when drawer is active */
  .main-header__header-container--is-scrolled .menu-wrapper__primary .navigation-wrapper.--is-active + .burger-container { display: flex !important; }
  /* Place burger at right inside the header when scrolled */
  .main-header__header-container { position: relative; }
  /* Place burger at the exact same spot as the close button */
  .main-header__header-container--is-scrolled .burger-container {
    display: flex !important;
    position: fixed;
    left: 20px;
    top: 12px;
    transform: none;
    align-items: center;
    z-index: 10000; /* ensure above overlay/panel */
    pointer-events: auto;
  }
  /* Layering: ensure drawer panel is above overlay; overlay stays below burger */
  .main-header__header-container--is-scrolled .navigation-wrapper .overlay { z-index: 10; }
  .main-header__header-container--is-scrolled .navigation-wrapper .navigation-container { z-index: 200; }
}
