:root {
    --blue:        #005E9F;
    --blue-dark:   #004A80;
    --blue-light:  #6aa3e3;
    --yellow:      #ffcf00;
    --grey-light:  #ebebea;
    --grey-mid:    #8a8a8a;
    --white:       #ffffff;
    --header-top-h:       90px;
    --header-top-h-stuck: 62px;
    --nav-h:              56px;
    --nav-h-stuck:        48px;
    --transition: .25s ease;
}

header nav.main_menu {
    position: relative;
    background: var(--grey-light);
    height: 4.125rem;
    margin-top: auto;
    width: 100%;
}

header nav.main_menu>ul {
    height: 100%;
    position: static;
    flex-wrap: nowrap !important;
	width: 74rem;
}

header nav.main_menu>ul>li {
    position: static;
}

header nav.main_menu>ul>li>a {
    height: 100%;
    display: flex;
    align-items: center;
    flex-grow: 1;
    justify-content: center;
    transition: color .3s ease-in-out;
    font-family: Roboto Condensed;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1.8px;
    padding-left: 2.75rem;
    padding-right: 2.75rem;
    vertical-align: middle;
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px transparent;
    position: relative;
    overflow: hidden
}

header nav.main_menu > ul > li.parent > a::after {
    content: "▾";
    font-size: 1.5em;
}

header nav.main_menu > ul > li:hover > a,
header nav.main_menu > ul > li.active > a,
header nav.main_menu > ul > li > a.active {
    background: var(--blue) !important;
    color: #fff !important;
    cursor: pointer;
}

header nav.main_menu > ul > li {
    height: 100%;
	width: 100%;
}

header nav.main_menu ul li.parent .nav-child {
    pointer-events: auto;
}

header .header_stucked_nav {
    transition: .2s ease-in-out .25s;
}

header .header_stucked_nav .main_menu {
    opacity: 0;
    transition: .2s ease-in-out;
    height: 0;
    position: static;
    margin-top: 0
}

header .header_stucked_nav .main_menu>ul>li>a {
    padding-left: .5rem;
    padding-right: .5rem;
    font-size: .9375rem
}

header .header_stucked_nav .main_menu li.parent>.nav-child {
    top: 120px
}

header .header_stucked_nav .main_menu>ul>li a:before {
    margin-top: 112px
}

header>.main_menu {
    transition: .9s ease-in-out;
    opacity: 1
}

header nav.main_menu ul li.parent:hover > .nav-child {
    display: block;
    position: absolute;
    background: #fff;
    list-style: none;
    margin-left: 0;
    width: 100%;
    z-index: 10;
	max-width: 74rem;
    left: calc((100vw - 75rem) / 2);
}

header nav.main_menu ul li.parent:hover > .nav-child > li {
    width: 33%;
    display: flex;
    height: 3rem;
    align-items: center;
	border: solid var(--grey-light);
	border-width: 0 1px 1px 1px;
	position: static;
}

/* Affichage menu "consommables" sur deux colonnes */
header nav.main_menu ul li.item-1184.parent:hover > .nav-child,
header nav.main_menu ul li.item-2684.parent:hover > .nav-child,
header nav.main_menu ul li.item-2709.parent:hover > .nav-child {
    display: grid;
    grid-template-columns: repeat(2, auto);
}

header nav.main_menu ul li.item-1184.parent:hover > .nav-child > li,
header nav.main_menu ul li.item-2684.parent:hover > .nav-child > li,
header nav.main_menu ul li.item-2709.parent:hover > .nav-child > li {
    width: 100%;
}

header nav.main_menu ul li.parent:hover>.nav-child>li a {
    padding-left: 2.625rem;
    font-size: 1rem;
    font-weight: 700;
    color: var(--grey-mid)
}

header nav.main_menu ul li.parent:hover>.nav-child>li:before {
    content: "";
    height: 0;
    width: 1.25rem;
    background: var(--yellow);
    transition: .2s ease-in-out
}

header li.parent:hover>.nav-child>li:hover>.nav-child {
    top: 0;
    left: 33%;
    z-index: 10;
    width: 67%;
    display: flex !important;
    flex-wrap: wrap;
    align-content: flex-start;
    height: 100%;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 20px;
    position: absolute;
    margin-left: 0;
    background: none;
}

header li.parent:hover>.nav-child>li:hover>.nav-child li {
    display: inline-block;
    width: 50%;
    height: auto;
    border: none
}

header li.parent:hover>.nav-child>li:hover>.nav-child li a {
    font-size: .875rem;
    color: var(--grey-mid);
    text-transform: none;
    font-weight: 500
}

/* ─── HEADER SHELL ────────────────── */
header {
    position: sticky;
    top: 0;
    z-index: 100;
    width: 100%;
    background: var(--white);
}

header.is-stuck {
    box-shadow: 0 3px 18px rgba(0,0,0,.13);
}

/* ─── TOP BAR ─────────────────────── */
.header-top {
    display: flex;
    align-items: stretch;
    height: var(--header-top-h);
    transition: height var(--transition);
}

/*.is-stuck .header-top {*/
/*    height: var(--header-top-h-stuck);*/
/*}*/

.header-top > * {
    border-right: 1px solid var(--grey-light);
    display: flex;
    align-items: center;
}
.header-top > *:last-child { border-right: none; }

/* ─── LOGO & BASELINE ─────────────── */
.header-logo {
    padding: 0 24px;
    gap: 14px;
    flex-shrink: 0;
}

.logo-container img {
    height: 54px;
    width: auto;
    display: block;
    transition: height var(--transition);
}
/*.is-stuck .logo-container img {*/
/*    height: 38px;*/
/*}*/

.baseline-text {
    font-weight: 300;
    font-size: .85rem;
    color: var(--blue-light);
    line-height: 1.2;
    max-width: 180px;
    transition: opacity var(--transition);
}
.is-stuck .baseline-text { opacity: 0; width: 0; display: none; }

/* ─── RECHERCHE ───────────────────── */
.header-search {
    flex: 1;
    justify-content: center;
    padding: 0 20px;
}

/* ─── PARTENAIRES ────────────────── */
.header-partners { 
	display: grid;
	grid-template-columns: repeat(2, minmax(60px, 1fr));
	gap: 20px;
}

.header-links, .header-partners {
	padding: 0 20px; 
}

.partner-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    transition: var(--transition);
}

.partner-logo {
    height: 24px;
    width: auto;
    filter: grayscale(1);
    transition: var(--transition);
}

.partner-link:hover .partner-logo { filter: grayscale(0); }

.partner-name {
    font-size: .65rem;
    font-weight: 700;
    color: var(--grey-mid);
    text-transform: uppercase;
    margin-top: 4px;
    text-align: center;
}
/*.is-stuck .partner-name { display: none; }*/

/* ─── CONTACT ─────────────────────── */
header .contact-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 30px;
    background: var(--blue-dark);
    color: var(--white) !important;
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}

header .contact-btn:hover {
    background: var(--blue);
}

.icon-phone, .icon-account {
    width: 22px;
    height: 22px;
}

.icon-phone {
	fill: white;
	margin-bottom: 5px;
}
.icon-account {
	fill: var(--grey-mid);
	margin-bottom: -5px;
}

a.partner-link:hover .icon-account {
	fill: var(--blue);
}

/* ─── NAVIGATION ──────────────────── */
.header-nav {
    background: var(--grey-light);
    height: var(--nav-h);
    transition: height var(--transition);
}
/*.is-stuck .header-nav {*/
/*    height: var(--nav-h-stuck);*/
/*}*/

.nav-child > li > a {
    padding: 15px 20px;
}

.nav-child > li:hover {
    background: #f9f9f9;
}

.nav-child > li:hover > a {
    color: var(--blue);
}

#offCanvas li.parent li>a {
    padding: .6rem 1.5rem;
}

#offCanvas li.parent li.parent>a {
    font-size: .9375rem;
    margin-top: .625rem
}

#offCanvas li.parent li.parent.active [class*=" icon-"]:before,
#offCanvas li.parent li.parent.active [class^=icon-]:before,
#offCanvas ul ul li.parent.active > a:before {
    content: '';
    width: 15px;
    background: var(--yellow);
    height: 38px;
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

#offCanvas .nav.menu {
    flex-direction: column;
    margin-top: 1.25rem
}

#offCanvas .nav-child,
#offCanvas .nav-child .nav-child,
.ariane ul {
    margin-left: 0
}

#offCanvas .nav-child .nav-child a {
    font-size: .875rem
}

#offCanvas ul.nav.menu>li.parent>a {
    display: flex;
    color: var(--blue);
}

#offCanvas ul.nav.menu>li.parent>a:before {
    font-family: icomoon;
    order: 2;
    margin-left: .625rem;
    content: "\E904";
}


/* ─── LANGUES ──────────────────── */
.language-switcher {
    position: relative;
	min-width: 45px;
	justify-content: center;
}

.lang-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.lang-menu > li {
    position: relative;
}

.current-language {
    display: flex;
    align-items: center;
}

.dropdown {
    position: absolute;
    top: 100%;
    left: 0;
	width: 45px;
    display: none;
    list-style: none;
    margin: 0;
    padding: 6px 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    z-index: 100;
}

.has-dropdown:hover > .dropdown {
    display: block;
}

.dropdown li {
    padding: 4px 8px;
}

.dropdown a {
    display: flex;
    align-items: center;
}