/* Menu Hamburger */
@media (max-width: 768px){
	.header{
	padding-left: 25px; padding-right: 25px; padding-top: 20px; padding-bottom: 20px;
	display: flex;
	position: relative;
	z-index: 100;
	}
	nav.header-nav{
		display: none;

	}
	.menu-toggle {
      width: 30px;
      height: 25px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      cursor: pointer;
      z-index: 4000; /* Augmenté pour être sûr d'être au-dessus du menu (2000) */
      margin-left: auto;
      position: relative; 
      pointer-events: auto; /* S'assure qu'il reste cliquable */
    }

    .menu-toggle span {
      display: block;
      height: 5px;
      background: black;
      border-radius: 0px;
      transition: 0.3s;
    }
    .menu-toggle.active span{
      opacity: 0;
      background: white;
    }

    /* Animation en croix */
    /*.menu-toggle.active span:nth-child(1) {
      transform: rotate(45deg) translate(9px, 9px);
      background: white;
    }

    

    .menu-toggle.active span:nth-child(3) {
      transform: rotate(-45deg) translate(6px, -6px);
      background: white;
    }*/
    .side-menu {
      position: fixed;
      top: 0;
      right: -100%;
      width: 60%; 
      height: 100vh;
      background: rgba(0, 0, 0, 0.5);
      padding: 80px 20px; 
      transition: right 0.3s ease;
      z-index: 2000; 
      text-transform: uppercase;
      display: flex;
      box-shadow: -5px 0 15px rgba(0,0,0,0.5);
      /* AJOUT IMPORTANT : S'assurer que le menu n'interfère pas avec le clic du bouton */
      pointer-events: auto; 
    }

    .side-menu.active {
      right: 0;
    }

    .side-menu ul {
      list-style: none;
      padding-top: 50px;
    }

    .side-menu li {
      margin: 20px 0;
    }

    .side-menu a{
      color: #A7A7A7;
      text-decoration: none;
      border-left: 3px #A7A7A7 solid;
      padding-left: 5px;
      font-weight: bold;
    }

    .side-menu a:hover{
    	color: #DADADA;
    }

    .side-menu a.link-active{
    	color: #FFFFFF;
    	border-left: 3px #FFFFFF solid;
    }

    .btn-active{
    	color: #FFFFFF;
    	/*border-left: 3px #FFFFFF solid;*/
    }

    /* Optionnel : fond sombre derrière */
    .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background: rgba(0,0,0,0.4);
      filter: blur(50px);
      opacity: 0;
      pointer-events: none;
      transition: 0.3s;
      z-index: 1500;
    }

    .overlay.active {
      opacity: 1;
      pointer-events: all;
    }

}

/* Textes & titres */
@media (max-width: 768px){
	.header-left{
	width: 85%;
	}
	.header-title{
	text-align: left;
	font-size: 15px;
	}
	div.hero-header{
	height: 250px;
	padding: 25px;
	line-height: 2.5rem;
	}
	h2.page-title{
	padding: 20px;
	font-size: 25px;
	line-height: 1.1rem;
	text-transform: uppercase;
	}

	h2.title{
	font-size: 25px;
	font-weight: 1200;
	line-height: 1.5rem;
	}

h3.subtitle-wht{
	font-size: 20px;
}

h3.subtitle{
	color: #000000;
	font-family: Garamond;
	font-size: 30px;
	font-weight: 300;
	text-align: center;
	margin-top: 0px;
}

.sub-subtitle{
	font-family: Garamond;
	font-weight: 300;
	font-size: 20px;
	text-align: center;
}

.section-title{
	font-family: Garamond;
	font-size: 30px;
	font-weight: 900;
}
}

/* Articles et grilles */
@media (max-width: 768px){
	.articles-grid{
	grid-template-columns: repeat(1, 1fr);
	gap: 10px;
	padding-left: 25px; padding-right: 25px;
	padding-bottom: 100px;
	}
}

/* --- STYLE FOOTER MOBILE (4 LIGNES) --- */
@media (max-width: 768px) {
  footer.footer {
    flex-direction: column; /* Empile les colonnes verticalement */
    gap: 10px; /* Espace entre chaque ligne */
    padding: 40px 25px; /* Plus d'espace interne */
    text-align: center; /* Centre tout le texte par défaut */
    align-items: center; /* Centre les blocs horizontalement */
  }

  /* Chaque colonne devient une ligne pleine largeur */
  .footer .first-column,
  .footer .second-column,
  .footer .third-column,
  .footer .fourth-column {
    width: 100%; /* Prend toute la largeur disponible */
    text-align: center; /* Centre le texte dans la ligne */
    padding: 0; /* Reset des padding spécifiques desktop */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centre le contenu interne */
  }

  /* Ajustement du titre dans la 1ère ligne */
  .footer .first-column .header-title {
    text-align: center;
    font-size: 18px; /* Taille adaptée mobile */
    margin-bottom: 10px;
  }

  /* Ajustement du menu de navigation (2ème ligne) */
  .footer .second-column {
    align-items: center; /* Centre la liste */
  }
  
  nav.footer-nav ul {
    padding-left: 0;
    display: flex;
    flex-direction: column; /* Liste verticale */
    gap: 15px; /* Espace entre les liens */
    width: 100%;
  }

  nav.footer-nav ul li.footer-btn, 
  nav.footer-nav ul li.footer-btn-active {
    text-align: center;
    width: 100%;
    padding-bottom: 0;
  }

  /* Bordure à gauche pour les liens mobiles (optionnel, ou mettre en bas) */
  nav.footer-nav ul li.footer-btn a,
  nav.footer-nav ul li.footer-btn-active a {
    display: inline-block;
    border-left: 3px solid #4F4F4F;/* On enlève la barre verticale desktop */
    padding-left: 5px;
    padding-bottom: 5px;
  }
  
  nav.footer-nav ul li.footer-btn-active a {
    border-left: 3px solid #000000;
  }

  /* Ajustement de l'adresse (3ème ligne) */
  .footer .third-column {
    line-height: 1.6; /* Meilleure lisibilité */
  }
  .footer .third-column p {
    margin-bottom: 5px;
  }

  /* Ajustement des boutons et réseaux sociaux (4ème ligne) */
  .footer .fourth-column {
    gap: 20px;
    padding: 0;
  }
  
  /* Centrer le bouton contact */
  .footer .fourth-column .base-btn {
    margin: 0 auto;
    display: inline-block;
  }

  /* Centrer les icônes sociales */
  .socials {
    justify-content: center; /* Déjà présent, mais renforcé */
  }
}