/*Widget parents rules*/
div.elementor:has(.site-header) > div.elementor-element {
	padding : 0 !important;
}

div.elementor:has(.site-header) > div.elementor-element > div {
	padding   : 0 !important;
	max-width : 100% !important;
}

div.elementor-location-header > div.elementor-element,
div.elementor-location-header > div.elementor-element > div {
	padding   : 0 !important;
	max-width : 100% !important;
}

.woo-item--cart img {
	width  : 23px;
	height : 20px;
}

.woo-item--account img {
	width  : 15px;
	height : 20px;
}
.btn-espace-pro,
.woo-item--account {
	display: flex;
	flex-direction: column;
	align-items: center;
}
/*Widget parents rules*/

:root {
	--color-blanc      : var(--e-global-color-7d132e1, #FDFEFF);
	--color-gris       : #d9dfe3;
	--font-family      : var(--e-global-typography-primary-font-family), Raleway, sans-serif !important;
	--color-primary    : var(--e-global-color-primary, #0B2F46);
	--color-bleu-blanc : var(--e-global-color-75f4980, #E6F4FD);
}

/* 1. Styles par défaut (pour mobile) */
.header-desktop {
	display : none;
	width   : 100%;
	margin  : 0;
	padding : 0;
}

.header-phone {
	display        : flex;
	flex-direction : column;
	width          : 100%;
	margin         : 0;
	padding        : 0;
}

/* -------------------------------------------- */
/* Header-Desktop */

.site-header * {
	font-family : var(--e-global-typography-primary-font-family), sans-serif !important;
}

.home .site-header {
	background : transparent;
}

.site-header {
	top             : 0;
	left            : 0;
	right           : 0;
	z-index         : 999;
	display         : flex;
	align-items     : center;
	flex-direction  : column;
	justify-content : space-between;
	transition      : background-color 0.35s ease-in-out;
	background      : white;
	position        : fixed;
	padding         : 0;
	margin          : 0;
	width           : 100%;
}

.site-header__row {
	width                 : 100%;
	display               : grid;
	grid-template-columns : 1fr auto 1fr;
	align-items           : center;
	padding               : 24px 30px;
}

.header-desktop {
	flex-direction : column;
}

.header-menus {
	gap : 20px;
}

.header-row__column {
	display     : flex;
	align-items : center;
	margin      : 0;
	padding     : 0;
}

.header-row__column:first-child {
	justify-content : flex-start;
}

.header-row__column:last-child {
	justify-content : flex-end;
}

/* masque les UL de WP */
.menu-header ul.sub-menu,
.menu-header .menu li ul {
	display : none !important;
}

.menu-header {
	display        : flex;
	flex-direction : row;
	align-items    : center;
	gap            : 8px;
}

.menu-header img {
	width     : 10px;
	height    : 6px;
	transform : translateY(3px);
}

.separator {
	display          : none;
	width            : 100%;
	height           : 1px;
	background-color : var(--color-blanc);
	justify-content  : center;
}

.separator__line {
	width            : 96%;
	height           : 1px;
	background-color : var(--color-gris);
}

.hovers > div {
	display    : none;
	position   : absolute;
	top        : 100%;
	left       : 0;
	width      : 100%;
	background : var(--color-blanc);
	box-shadow : 0 8px 16px -8px rgba(0, 0, 0, 0.1);
	z-index    : 99;
	padding    : 1rem 0;
}

.hovers * {
	color : var(--color-primary);
}

.detail-inner {
	width           : 800px;
	margin          : 0 auto;
	display         : flex;
	align-items     : center;
	justify-content : space-between;
	gap             : 10%;
}

.detail_list ul {
	list-style : none;
	margin     : 0;
	padding    : 0;
}

.detail_list ul li {
	margin-bottom : .5rem;
	color         : var(--color-primary);
	cursor        : pointer;
}

.detail_list ul li:last-child {
	margin-bottom : 0;
}

.detail_img {
	flex-shrink : 0;
	width       : 60%;
}

.detail_img img {
	width         : 100%;
	max-height    : 160px;
	border-radius : 16px;
	object-fit    : cover;
}

.detail_img .detail-img-media {
	opacity    : 1;
	transition : opacity 0.18s ease-in-out;
}

.detail_img .detail-img-media.is-fading {
	opacity : 0;
}

.btn-diagnostic {
	display         : inline-flex;
	padding         : 8px 16px;
	justify-content : center;
	align-items     : center;
	gap             : 8px;
	border-radius   : 10px;
	background      : var(--color-primary);
	border          : 1px solid var(--color-primary);
	/* text */
	color           : var(--color-blanc);
	font-size       : 14px;
	font-style      : normal;
	font-weight     : 600;
	line-height     : normal;
}

.btn-diagnostic:hover {
	background : var(--color-blanc);
	color      : var(--color-primary);
}

.header-logo img {
	width       : 216px;
	height      : 53px;
	flex-shrink : 0;
}

.site-header__row p,
.woo-items span,
.woo-items a,
.menu-header ul,
.menu-header ul li a,
.header-link--history {
	color       : var(--color-primary);
	font-size   : 15px;
	font-style  : normal;
	font-weight : 600;
	line-height : normal;
	list-style  : none;
	margin      : 0;
	padding     : 0;
}

.woo-items a.btn-contact {
	display         : flex;
	padding         : 8px 16px;
	justify-content : center;
	align-items     : center;
	gap             : 8px;
	border-radius   : 10px;
	border          : 1px solid var(--color-primary);

	/* text */
	color           : var(--color-primary);
	font-size       : 14px;
	font-style      : normal;
	font-weight     : 600;
	line-height     : normal;
}

.woo-items {
	display     : flex;
	align-items : center;
	gap         : 24px;
	margin      : 0;
	padding     : 0;
}

.woo-items a {
	width : fit-content;
}

.dropdown-lang {
	display         : flex;
	flex-direction  : row;
	vertical-align  : middle;
	justify-content : center;
	align-items     : flex-end
}

.dropdown-lang img {
	width     : 10px;
	height    : 5px;
	transform : translateY(-4px);
}

/* Header-Desktop */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* Header-Phone*/

.header-phone * {
	font-family : var(--font-family) !important;
}

.header-phone {
	overflow         : visible;
	margin           : 0;
	padding          : 0;
	background-color : var(--color-blanc);
}

.header-contenu {
	display          : none;
	flex-direction   : column;
	margin           : 0;
	padding          : 0;
	height           : calc(100vh - 55px);
	overflow-y       : auto;
	background-color : var(--color-blanc);
	justify-content  : space-between;
}

/* Quand .header-phone a la classe .open, on affiche header-contenu */
.header-phone.open .header-contenu {
	display : flex;
}

.header-phone__menus .menu-phone_title {
	padding : 0;
}

.header-phone__menus {
	padding : 16px 32px;
	/*overflow-y: scroll;*/
}

.menu_phone {
	width       : 100%;
	user-select : none;
	height      : fit-content;
}

.menu-phone_title {
	cursor          : pointer;
	padding         : 0 20px;
	display         : flex;
	align-items     : center;
	justify-content : space-between;
	height          : 52px;
	font-size       : 24px;
	font-weight     : 500;
	color           : #000;
}

.toggle-arrow {
	transition  : transform 0.3s ease;
	transform   : scaleY(-1);
	margin-left : auto;
	width       : 10px;
	height      : 6px;
}

.toggle-arrow.collapsed {
	transform : scaleY(1);
}

.menu-phone_content {
	display        : none;
	/*background     : var(--e-global-color-accent, #0D587F80);*/
	flex-direction : column;
	transition     : all 0.3s ease;
}

.menu-phone_title span,
.menu-phone_content .menu-item a {
	color           : var(--color-primary) !important;
	font-size       : 15px;
	font-style      : normal;
	font-weight     : 600;
	line-height     : normal;
	text-decoration : none;
}

.menu-phone_content .menu .menu-item {
	list-style-type : none;
}

.menu-phone_content .menu .menu-item {
	padding-bottom : 12px;
}

.menu-phone_content ul {
	margin       : 0;
	padding-left : 20px;
}


.header-phone-menus__other {
	display        : flex;
	flex-direction : column;
	gap            : 34px;
	margin-top     : 20px;
}

.header-phone-menus__other a {
	color       : var(--color-primary);
	font-size   : 15px;
	font-style  : normal;
	font-weight : 600;
	line-height : normal;
}

/* Header bottom */
.header-phone__bottom {
	display        : flex;
	flex-direction : column;
	gap            : 35px;
}

/* Boutons */
.btn-diag-contact {
	width          : 100%;
	padding        : 32px 32px 0 32px;
	display        : flex;
	flex-direction : column;
	gap            : 8px;
	border-top     : 1px solid var(--color-bleu-blanc);
}

.btn-diag-contact .btn-diagnostic,
.btn-diag-contact .btn-contact {
	display         : flex;
	flex-direction  : column;
	padding         : 16px;
	justify-content : center;
	align-items     : center;
	gap             : 8px;
	align-self      : stretch;
	border-radius   : 10px;
	font-size       : 14px;
	font-style      : normal;
	font-weight     : 600;
	line-height     : normal;
	transition      : background 0.2s ease, color 0.2s ease;
}

/* Spécificités “diagnostic” */
.btn-diag-contact .btn-diagnostic {
	background : var(--e-global-color-891cfe9, #0A689A);
	color      : var(--color-blanc);
	border     : none;
}

/* Spécificités “contact” */
.btn-diag-contact .btn-contact {
	background : var(--color-blanc);
	color      : var(--e-global-color-891cfe9, #0A689A);
	border     : 1px solid var(--e-global-color-891cfe9, #0A689A);
}

.woo-items a.btn-contact:hover {
	background : var(--color-primary);
	color      : white !important;
}


/*Newsletter*/
/*	Il faut mettre le bouton submit dans l'input*/
.header-phone .form-newsletter {
	display        : flex;
	flex-direction : column;
	gap            : 10px;
	width          : 100%;
}

.header-phone .form-newsletter input {
	width         : 100%;
	height        : 50px;
	padding       : 10px 14px;
	border-radius : 10px !important;
	z-index       : 6;
	border        : none;
}

.header-phone .form-newsletter input text,
.header-phone .form-newsletter input::placeholder {
	color       : var(--e-global-color-text) !important;
	font-size   : 16px;
	font-style  : normal;
	font-weight : 400;
	line-height : 31px;
}

.header-phone .form-newsletter button {
	background-color : var(--e-global-color-36fec36);
	color            : white;
	border           : none;
	padding          : 10px;
	border-radius    : 7px;
	cursor           : pointer;
	position         : absolute;
	height           : 34px;
	z-index          : 10;
	right            : unset !important;
	left             : unset !important;
	transform        : translate(-8px, 8px) !important;
	align-self       : self-end;
}

.header-phone .sub-menu.newsletter .reseaux {
	padding-top    : 14px;
	display        : flex;
	flex-direction : row;
	gap            : 12px;
}

.header-phone .newsletter {
	background      : linear-gradient(183deg, var(--e-global-color-75f4980, #E6F4FD) 23.43%, var(--e-global-color-21cbfb3, #ABDDF4) 140.21%);
	padding         : 24px 28px 0 24px;
	display         : flex;
	flex-direction  : column;
	gap             : 10px;
	justify-content : flex-start;
	align-items     : center;
	width           : 100%;
	height          : 285px;
}

.header-phone .newsletter span {
	color          : var(--e-global-color-891cfe9);
	text-align     : center;
	font-size      : 18px;
	font-style     : normal;
	font-weight    : 800;
	line-height    : 30px;
	letter-spacing : 0.4px;
}

.header-phone .newsletter p {
	color          : var(--e-global-color-891cfe9);
	text-align     : center;
	font-size      : 14px;
	font-style     : normal;
	font-weight    : 400;
	line-height    : 18px;
	letter-spacing : 0.14px;
	margin         : 0 0 8px 0;
	padding        : 0;
}

/* WooItems */

.header-phone .woo-items .btn-professionnels,
.header-phone .woo-items .btn-contact,
.header-phone .woo-items .dropdown-lang,
.header-phone .woo-items .btn-espace-pro,
.header-phone .woo-items .woo-item--account {
	display : none !important;
}

/* Styles de base du burger */
.btn-burger {
	position        : relative;
	width           : 30px;
	height          : 24px;
	padding         : 0;
	border          : none;
	background      : none;
	display         : flex;
	flex-direction  : column;
	justify-content : space-between;
	cursor          : pointer;
}

/* Styles de base du burger */
.btn-burger:focus,
.btn-burger:hover {
	background : none;
	border     : none;
	box-shadow : none;
}

.burger-line {
	display          : block;
	width            : 100%;
	background-color : var(--color-primary);
	height           : 2px; /* de 1.5px → 2px */
	border-radius    : 1px; /* arrondi léger pour éviter l’aliasing */
	transition       : transform 0.4s ease, opacity 0.2s ease;
	transform-origin : center;
}

/* État “ouvert” : on cible .header-phone.open pour rester cohérent */
.header-phone.open .burger-line:nth-child(1) {
	transform : translateY(10px) rotate(45deg);
}

.header-phone.open .burger-line:nth-child(3) {
	transform : translateY(-10px) rotate(-45deg);
}

.header-phone.open .burger-line:nth-child(2) {
	opacity : 0;
}

/*Header line top*/
.header-phone__top {
	display          : flex;
	align-items      : center;
	justify-content  : space-between;
	padding          : 10px 20px;
	background-color : var(--color-blanc);
	height           : 55px;
	overflow         : visible;
}

.header-phone__top .woo-items {
	width    : fit-content;
	overflow : visible;
}

.header-phone__logo img {
	width  : 135px;
	height : 35px;
}

.btn-burger {
	width  : 22px;
	height : 22px;
}

/* Header-Phone */
/* -------------------------------------------- */

/* Responsive */
@media screen and (min-width : 1024px) {
	.header-desktop {
		display : flex;
	}

	.home .site-header.scrolled {
		backdrop-filter         : blur(10px);
		background              : var(--color-blanc) !important;
		-webkit-backdrop-filter : blur(10px);
	}

	.header-phone {
		display : none;
	}
}

/*laptop 1 aka 150%*/
@media (min-width: 1024px) and (max-width: 1439px) {
	.site-header__row {
		width                 : 100%;
		display               : grid;
		grid-template-columns : 0.5fr auto 1fr;
		align-items           : center;
		padding               : 18px 20px;
	}

	.header-logo img {
		width : 150px;
	}

	.btn-diagnostic {
		padding   : 6px 12px;
		font-size : 12px;
	}

	.site-header__row p, 
	.woo-items span, 
	.woo-items a, 
	.menu-header ul, 
	.menu-header ul li a, 
	.header-link--history {
		font-size : 13px;
	}

	.header-menus {
		gap : 12px;
	}
}

/*laptop 2 aka 125%*/
@media (min-width: 1440px) and (max-width: 1700px) {
	.site-header__row {
		width                 : 100%;
		display               : grid;
		grid-template-columns : 0.5fr auto 1fr;
		align-items           : center;
		padding               : 20px 25px;
	}

	.header-logo img {
		width : 180px;
	}

	.btn-diagnostic {
		padding   : 7px 14px;
		font-size : 13px;
	}

	.site-header__row p, 
	.woo-items span, 
	.woo-items a, 
	.menu-header ul, 
	.menu-header ul li a, 
	.header-link--history {
		font-size : 14px;
	}

	.header-menus {
		gap : 16px;
	}
}

@media screen and (min-resolution : 126dpi) {
	.header-logo img {
		width : 150px;
	}

	.btn-diagnostic {
		padding   : 6px 12px;
		font-size : 12px;
	}

	.site-header__row {
		padding : 24px 20px;
	}

	.site-header__row p, .woo-items span, .woo-items a, .menu-header ul, .menu-header ul li a, .header-link--history {
		font-size   : 13px;
	}
}
