/* Tout ce qui concerne menu/header. */

/* -------------------------------------- */
/* ------------- HEADER ----------------- */
/* -------------------------------------- */
/*
/* ===== En-tête ===== */
header {
    background-color: var(--color-bg);
/*    padding: 20px 0;*/
    position: fixed;
	height: var(--header-height);
    width: 100%;
    top: 0;
    z-index: 1000;
}

.header-container {
/*    max-width: 1200px;*/
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-size: 1.8em;
    font-weight: bold;
	padding-top: 2px;
}


.logo img{
/*	max-width: 120px;*/
    max-height: calc(var(--header-height) - 5px);
    width: auto;
    height: auto;

}


/* -------------------------------------- */
/* ------------- MENU ------------- */
/* -------------------------------------- */

.menu_container{
	flex-grow: 1;
	align-items: flex-end;
	z-index: 900;
}


nav ul {
	list-style: none;
	display:flex;
	justify-content: space-evenly;     /* Alignements des liens dans le menu */
    padding: 0;
    margin: 0;
    align-items: center; /* Alignement vertical au centre */ 
}

nav a {
	color: var(--color-primary);
	display: block;
	margin-left: 0.3rem;               
    margin-right: 0.3rem; 
    text-align: center;           /* Centrage du texte */   
    text-decoration: none;        /* Suppression du soulignement */
	font-family:Inter, sans-serif;
	font-weight:bold;
	font-size:2rem; 
	border-bottom: 3px var(--color-bg) solid;       /* Ajout d'une bordure */
}

nav a.actif {    
    color: var(--color-highlight) ;
    border-bottom: 3px var(--color-highlight) solid;       /* Ajout d'une bordure */
}

nav a:hover, nav a:hover.actif{
    color: var(--color-highlight);
	border-bottom: 3px var(--color-highlight) solid;       /* Ajout d'une bordure */
}


li {
    display: block;
    position: relative;
}



/* -------------------------------------- */
/* ------------- SOUS MENU ------------- */
/* -------------------------------------- */
ul ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
	
    background-color: var(--background-main);
    width: 100%;
	border: 1px solid #ccc;
    border-top: none;
}

ul ul li {
    display: block;
}

li:hover > ul {
    display: block;
}

ul ul li a{
    font-size:1.3rem;
	font-family:Inter, sans-serif;
	margin : 10px;
	color: var(--text-color);
	border-bottom: 3px var(--color-bg) solid;       /* Ajout d'une bordure */
}

li.has-submenu:hover > ul {
    display: block;
    left: 0; /* Ajuste la position à gauche de la rubrique parente */
}


.has-submenu ul a:hover, .has-submenu ul a:hover.actif{
	border-bottom: 3px var(--color-highlight) solid;       /* Ajout d'une bordure */
}

.has-submenu ul a.actif {
  /* Style specifique pour les sous menus actifs */
    border-bottom: 3px var(--color-highlight) solid;       /* Ajout d'une bordure */
}




/*************MENU BURGER*******************/
*{box-sizing: border-box}

#menu_hamburger{
	display:none;
	position:absolute;
	
}

#menu_hamburger+label{
/* position:absolute; */
/* right:150px; */
cursor: pointer;
/* margin:3rem auto;	 */
width:50px;
grid-template-rows: repeat(3,7px);
row-gap:.4rem;
visibility:hidden;
display:none;
margin: 10px 3px auto auto;
/* margin-right: -100px; */
	}

	
#menu_hamburger+label span{
background-color: #2A303B;
border-radius: 10px;
}
	
#menu_hamburger:checked+label span{
grid-area: 2/1;
}

#menu_hamburger:checked+label span:nth-child(2){
opacity: 0;
}

#menu_hamburger:checked+label span:first-of-type{
transform:rotate(45deg)
}
			
#menu_hamburger:checked+label span:last-of-type{
transform:rotate(-45deg);
}	
/*************MENU BURGER*******************/






.fil-ariane {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 0;
    margin-top: 0;
     -ms-grid-column: 2;
  -ms-grid-column-span: 10;
  grid-column: 2 / 12;
    margin:10px 20px 0px 20px;
}

.fil-ariane a {
    text-decoration: none;
    color: var(--color-highlight);
    margin: 0;
    display: inline; /* Forcer les liens à être en ligne */
}

.fil-ariane a:hover {
    text-decoration: underline;
}


/* -------------------------------------- */
/* ------------- FOOTER  ---------------- */
/* -------------------------------------- */
.footer-bottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  flex-wrap: wrap;
    text-align: center;
}

.footer-bottom:nth-of-type(1){
  border-bottom: solid 1px;
  padding-bottom:10px;
}

.footer-villes {
  display: block;
}

.footer-reseau a {
  text-align:left;
  color: white;
    text-decoration: none;
  margin: 0 5px;
    display: inline-block;
     transition: transform 0.3s ease;
}

.footer-reseau a:hover{
    transform: scale(1.3);
}

.footer-copyright a {
  text-align:left;
  color: white;
    text-decoration: underline;
  margin: 0 5px;
}

.footer-copyright a::before {
  content: "|";
  margin: 1rem;
}



/* -------------------------------------- */				/* -------------------------------------- */
/* -------------------------------------- RESPONSIVE DESIGN -------------------------------------- */
/* -------------------------------------- */				/* -------------------------------------- */

@media screen and (max-width: 1024px)
{
    nav a {
	font-size:1.5rem;
	}
    
    ul ul li a{
    font-size:1rem;
    }
    
	.reseaux > a{
		font-size: 2rem;
	}
}


@media screen and (max-width: 1024px)
{
	#sidebar{
    -ms-grid-column: 1;
    -ms-grid-column-span: 12;
    grid-column: 1 / 13;
    }
}

/* SMARTPHONE */
@media screen and (max-width: 720px)
{
	#sidebar{
    -ms-grid-column: 1;
    -ms-grid-column-span: 12;
    -ms-grid-row: 3;
    grid-column: 1 / 13;
    grid-row : 3;
    }
	
	/*************MENU BURGER*******************/
	
	#menu_hamburger+label {
		visibility:visible;
		z-index:2;
		display:grid;
	}
	
	/*************MENU SLIDE*******************/
	nav {
	position: absolute;
	right: -0;
	top: 50px;
	/* height: 250px; */
	width: 300px;
	background: var(--background-main);
	transform: translateX(100%);
	will-change: transform;
	transition: 0.7s;
	z-index:2;
	visibility: hidden;
	opacity:0;
	display:none;
	}
	
	nav ul{
	list-style-type: none;
	padding-left:0;	
	margin-top: 1rem;
	display:block;
	}
		
	nav ul li{margin:1rem}	

	nav a {
	font-size:1rem;
	}
		
	#menu_hamburger:checked+label~ nav{ 
	 transform: unset; /*on revient à l'état initial */	
	}

	#menu_hamburger:checked+label~ nav {
		display: block;
	visibility: visible;
	opacity: 1;
	}
    
    /* -------------------------------------- */
    /* ------------- SOUS MENU ------------- */
    /* -------------------------------------- */
    ul ul{
        display:none;
    }
 
    li.has-submenu:hover > ul {
        display: none;
    }
	/*************MENU SLIDE*******************/
}