/************************************* MENU SITE *************************************/
.menu-site {
    display: flex;
	align-items: center;
    height: 44px;
}

.menu-site__button {
	display: none;
}

.menu-site__list {
	display: flex;
	flex-direction: row; /* Menu principal disposé en line */
	flex-wrap:nowrap; /* pas de retour chariot possible */
	max-height: none; 
	max-width: none;
	column-gap: 10px;
}

.menu-site__link, .menu-site__error {
	display: flex;
	align-items: center;
	text-decoration: none;
	height: 44px;
	padding: 10px;
	background-color: var(--primary_dark_color);
	color:var(--white_color);
	border: 1px solid var(--white_color);
	border-radius: 5px;
	font-size: 1.4rem;
	transition: background-color 0.3s ease, color 0.3s ease;
	gap: 5px;
}

.menu-site__link--selected, .menu-site__link:hover, .menu-site__error:hover {
	background-color: var(--primary_light_color);
	border: 1px solid var(--primary_dark_color);
	color: var(--black_dark_color);
}

/* Small devices */
@media screen and (max-width:992px){
	.menu-site__button {
		display: flex; 
		flex-direction: column;
		align-items: center; 
		justify-content: center;
		
		height:44px;
		margin: 2px 0px;
		background-color: var(--primary_dark_color);
		border: 1px solid var(--white_color);
		border-radius: 5px;	 
		cursor: pointer;
	}
	.menu-site__icon {
		display: block;
		width: 24px;
		height: 24px;
		/* base commune à toutes les icônes du menu */
	}
	.menu-site__icon--burger {
		width: 34px;
		height: 3px;
		background-color: var(--white_color);
		margin: 0px 4px 5px 4px;
		transition: transform 0.3s;
	}
	.menu-site__icon--burger:first-child {
		margin-top: 5px; /* Ajoute une marge sur le premier elements */
	}
	.menu-site__list {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 79px;
		left: 0;
		width: 100%;
		max-width: 0;	
		max-height: calc(100vh - 79px); /* toute la hauteur dispo sous le menu */
		row-gap: 10px;
		/*overflow:hidden;*/
		overflow-y: auto; /* scroll vertical */	
		background-color: rgba(0, 0, 0, 0.6);
		opacity: 0;
		transform-origin: left;
		transform: scaleX(0);
		transition: max-width 0.3s ease-in-out, opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
	}
	.menu-site__item {
		margin:0px 10px;
	}
	.menu-site__item:first-child {
		margin-top: 10px;
	}
	.menu-site__item:last-child {
		margin-bottom: 10px;
	}
	.menu-site__link {
		height: auto;
		margin: auto;
		padding: 1rem;
		transition: all 0.5s ease-in-out;
	}
	a.menu-site__link:hover {
		padding-left: 2rem;
		letter-spacing: 5px;
	}
	.menu--open .menu-site__icon--burger:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
		transition: transform 0.3s;
	}
	.menu--open .menu-site__icon--burger:nth-child(2) {
		opacity: 0;
		transition: opacity 0.3s;
	}
	.menu--open .menu-site__icon--burger:nth-child(3) {
		transform: translateY(-8px) rotate(-45deg);
		transition: transform 0.3s;
	}
	.menu--open .menu-site__list {
		max-width: 100%;
		opacity: 1;
		transform: scaleX(1);
		border-bottom: 1px solid var(--grey_light_color);
	}
}

/************************************* MENU LANGUE *************************************/
.menu-language {
    display: flex;
    position: relative;
}

.menu-language__button {
    display: flex; 
    align-items: center; 
    justify-content: center;
    cursor: pointer;
	background-color: var(--primary_light_color);
    border: 1px solid var(--primary_dark_color);
    padding: 9px;
    z-index: 10; /* Mettez le bouton au-dessus du menu déroulant */
}

.menu-language__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: absolute;
    overflow: hidden;
	background-color: var(--primary_light_color);
    top: 44px;
    left: 0;
    width: 100%;
	
	transform-origin: top;
    transform: scaleY(0);
	opacity: 0;
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.menu-language__item {
    flex-grow: 1; /* les elements vont occuper la même largeur de l'espace disponible du parent */
    align-self: stretch; /* étirer l'element sur toute la hauteur du parent */
}

.menu-language__link {
    display: block;
    text-align: center;
	text-decoration: none;
	border-left: 1px solid; 
	border-right: 1px solid;
	border-bottom: 1px solid;
	border-color: var(--primary_dark_color);
	transition: background-color 0.3s ease;
	padding: 9px;
}

.menu--open .menu-language__list {
    transform: scaleY(1);
	opacity: 1; 
}

/************************************* MENU DES PANELS *************************************/
.panel-menu {
	display: inline-block;
    position: relative;
}

.panel-menu__button {
    display: flex;
    justify-content: center;
    align-items: center;
	cursor: pointer;
	background-color: transparent;
	border: 1px solid var(--grey_base_color);
    border-radius: 5px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Ombre */
	transition: all 0.3s ease-in-out;
	line-height: 24px; /* définir une hauteur minimale */
	padding: 3px;
}

.panel-menu__button:hover {
	background-color: var(--grey_light_color); /* Couleur de fond au survol */
}

.panel-menu__list {
	display: flex;
    position: absolute;
	gap: 5px;
    opacity: 0;
    right: 100%;            /* ouvre vers la gauche du bouton principal */
    top: 50%;
    transform: translateY(-50%) scaleX(0);
    transform-origin: right center;
    transition: transform 0.2s ease, opacity 0.2s ease;
	margin-right: 5px;
}

.menu--open .panel-menu__list {
	transform: translateY(-50%) scaleX(1);
    opacity: 1;
}