   /* Variables de style */
    :root {
      --panel-width: 350px;
      --panel-margin: 50px;
      --offset: 10%;
    }

    /* Réinitialisation des marges et paddings */
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }
html {
  overflow-y: scroll; /* Force l'affichage de la barre de défilement verticale */
  height:100%;
}
    /* Styles de base du corps, header et main */
    body, header, main, footer {
      background-color: #f3e3db;
      font-family: 'Quicksand', sans-serif;
      color: #e1ae98;
      overflow-x: hidden;
}
    }

    html.no-scroll,
    body.no-scroll {
      overflow: hidden !important;
      height: 100%;
    }

body {
  overflow-x: hidden; /* Pas de scrollbar horizontale sur body */
}


html, body {
  height: 100%;
  margin: 0;
  overflow-y: auto; /* La scrollbar verticale principale */
}

@media (max-width: 768px) {
  html, body {
    scrollbar-width: none; /* Firefox */
  }  }
  
  
    a {
      color: inherit;
      text-decoration: none;
    }

.hidden {
  display: none !important;
}

    /* -----------------------------------------------------------SCROLLBAR-------------------------------------------------------- */

    ::-webkit-scrollbar {
      display: block;
      overflow: auto;
      width: 10px;
	  z-index:10000;
	  
    }

    /* Track */
    ::-webkit-scrollbar-track {
      background: #edded5;
    }

    /* Handle */
    ::-webkit-scrollbar-thumb {
      background: #dbbdab;
    }

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
      background: #FF0;
    }

    /* Header */
    header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      height: 60px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-left: var(--offset);
      padding-right: 10%;
      z-index: 1000;
      transition: padding-left 0.3s ease;
    }

    @media (max-width: 768px) {
      header {
        height: 35px;
      }
    }

    header a {
      color: inherit;
    }

    .logo-title {
      display: flex;
      align-items: center;
      margin-top: 8px;
      font-size: 20px;
      font-weight: 600;
      text-transform:uppercase;
    }

    .logo-name:hover {
      font-weight: 200;
    }

    .logo-name {
      font-size: 20px;
      font-weight: 1200;
      margin-right: 0px;
      line-height: 10px;
      gap: 10px;
	  height:20px;
	  margin-top:-7px;
    }
	.logo-name img {
  height: 100%;
  width: auto; /* Conserve le ratio de l'image */
  margin-top: 5px;
}

    @media (max-width: 768px) {
	.logo-name img {
  height: 80%;
  width: auto; /* Conserve le ratio de l'image */
  margin-top: 5px;
}
}

    .page-title {
      font-size: 22px;
      font-weight: 400;
      margin-right: 0px;
      margin-left: 10px;
      margin-top: 3px;
    }

    .page-date {
      font-size: 22px;
      font-weight: 100;
      margin-left: 10px;
      padding-left: 0px;
      margin-top:4px;
    }

    .about-btn {
      background: none;
      border: none;
      color: #e1ae98;
      font-size: 22px;
      cursor: pointer;
      text-transform: uppercase;
      font-weight: 400;
      transition: font-weight 0.3s ease;
      font-family: 'Quicksand', sans-serif;
	  margin-right:10px;
	  padding-top:5px;
    }

    .about-btn:hover {
      font-weight: 800;
    }

    /* Media query pour les petits écrans */
    @media (max-width: 768px) {
      .logo-name {
        font-size: 16px;
        gap: 5px;
      }

      .page-title {
        font-size: 18px;
        display: none;
      }

      .page-date {
        display: none;
      }

      .about-btn {
        font-size: 16px;
        font-weight: 400;
		position: absolute;
    right: calc(10% - 10px); /* égale à main's margin-right */
    top: 5px; /* ajuste selon ta hauteur de header */
    z-index: 1001;
		  

      }

      main {
        margin-right: 0;
        margin-top: -25px;
      }

      #infoButton {
        display: none;
      }

      .info-panel {
        display: none;
      }
    }

    /* ------------------------------------   ABOUT ------------------------------------ */

.about {
  position: fixed;
  top:-100%;
  left: ;
  width: calc(90% - var(--offset));
  height: 100vh ;
  background-color: #f3e3db;
  transition: top 0.7s ease-in-out;
  z-index: 999;
  overflow-y: scroll; /* Permet le défilement vertical */
  scrollbar-width: none; /* Pour Firefox */
  -ms-overflow-style: none; /* Pour Internet Explorer et Edge */
}

/* Masquer la barre de défilement pour Chrome, Safari et Opera */
.about::-webkit-scrollbar {
  display: none;
}
    .about.active {
      top: 60px;
    }

    .about_image img {
      width: 100%;
      max-height: 600px;
      object-fit: cover;
      display: block;
      margin: 0 auto;
    }
@media (max-width: 768px) {
  .about {
    top: -120%; /* Assurez-vous que le panneau est initialement hors de l'écran */
  }

  .about.active {
    top: 35px; /* Ajustez la marge supérieure à 35px lorsque le panneau est actif */
  }
}
    @media (max-width: 900px) {
      .about_image {
        width: 100%;
      }
    }

    . about_texte {
      margin-top: 20px;
      width: 100%;
      margin-bottom: 0px;
      color: #806e7c;
      font-size: 16px;
      font-family: 'Quicksand', sans-serif;
      font-weight: 400;
    }

    @media (max-width: 900px) {
      .about_texte {
        width: 100%;
      }
    }

.about_article {  
	padding-top:15px;    
      color: #806e7c;
      text-align: justify;
      word-spacing: -2px;
      margin-left: auto;
      margin-right: auto;
      column-count: 3;
      column-gap: 15px;
      padding-bottom: 15px;
	  font-weight:600;
    }
    @media (max-width: 1200px) {
      .about_article {
        column-count: 2;
      }
    }

    @media (max-width: 900px) {
      .about_article {
        padding-left: 0;
        column-count: 1;
        font-family: 'Quicksand', sans-serif;
        padding-bottom: 50px;
      }
    }

    .about_contact {
      padding-top: 0px;
      font-family: Bahnschrift;
      font-size: 15px;
      color: #e5b79e;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
    }

    .about_insta {
      width: 15px;
      margin-top: 10px;
      margin-left: auto;
      margin-right: auto;
    }

    /* ------------------------------------   Panel d'information------------------------------------ */
    .info-panel {
      position: fixed;
      top: 40px;
      left: -400px;
      width: var(--panel-width);
      padding: 20px;
      height: 80vh;
      background-color:;
      text-align: right;
      transition: left 0.5s ease;
      z-index: 900;
	   max-height: 100vh;
  overflow-y: auto;
    }

.info-panel::-webkit-scrollbar {
    display: none; /* masque la scrollbar sur Webkit */
}

    .info-panel.open {
      left: var(--panel-margin);
    }

    .info-panel h2.info-title,
    .info-panel h3.info-subtitle,
    .info-panel p.info-text {
      margin-bottom: 0;
    }

    .info-panel h2.info-title {
      font-size: 20px;
      text-transform: uppercase;
	  line-height: 0.9;
	  padding-bottom:10px;

    }

    .info-panel h3.info-subtitle {
      font-size: 16px;
      font-style: italic;
      font-weight: 400;
	  line-height: 0.9;
	  padding-bottom:10px;
    }

    .info-panel p.info-text {
      color: #ab816f;
      opacity: 1;
      float: right;
      font-size: 14px;
      line-height: 1.2;
      text-align: justify;
      text-justify: inter-word;
    }
#infoPanel.hidden {
  display: none;
}

    /* --------------------------------------   Boutons d'information  ----------------------------------- */

    #infoButton {
      padding: 30px 5px;
      font-size: 14px;
      position: fixed;
      bottom:35px;
      left: calc(10% - 50px);
      background-color: transparent;
      border: 1px solid #e1ae98;
      color: #e1ae98;
      cursor: pointer;
      z-index: 1100;
      writing-mode: vertical-rl;
      transform: rotate(180deg);
      transition: all 0.3s ease;
      font-family: 'Quicksand', sans-serif;
    }

    #infoButton.info-open {
      left: 10px;
    }

    #infoButton:hover {
      background-color: #e1ae98;
      color: #fff;
    }

    /* ------------------------------------ INFO PANEL MOBILE------------------------------------ */
   
/* Bouton d'information mobile */
#infoMobileButton {
   background-color: transparent;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: 'Quicksand', sans-serif;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
    color: #e1ae98;
	padding: 10px 0px;
    font-size: 14px;
    border: 1px solid #e1ae98;
	display:none;
	margin-bottom:20px;
}

@media (max-width: 768px) {
    #infoMobileButton {
        display: block; /* Affiché en mode mobile */
    }
}

/* Panneau d'information mobile */
.info-mobile-panel {
    position: fixed;
    bottom: 0;
    left: calc(10% - 2px);
	
    width: calc(80% + 05px); /* Largeur de main */
    height: auto;
	min-height: 20vh; /* Hauteur minimale de 20% de la hauteur de la fenêtre */
    max-height: 60vh; /* Hauteur maximale pour éviter de couvrir toute la page */
    background-color: #f3e3db;
    z-index: 1000;
    overflow-y: auto;
    transform: translateY(100%); /* Masqué par défaut */
    transition: transform 0.5s ease;
    padding-right: 4px;
    box-sizing: border-box;

}

.info-mobile-panel::-webkit-scrollbar {
    display: none; /* masque la scrollbar sur Webkit */
}

.info-mobile-panel.open {
    transform: translateY(0); /* Affiché */
}


.info-panel-header {
    position: sticky;
    top: 0px;
    background-color: #f3e3db;
    height: 7px;
    width: 100%;
    z-index: 10; /* pour qu'il soit au-dessus du contenu qui scroll */
}

.info-mobile-panel h2.info-mobile-title,
.info-panel h2.info-title {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 0;
	line-height:0.9;
	padding-bottom:5px;
}

.info-mobile-panel h3.info-mobile-subtitle,
.info-panel h3.info-subtitle {
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 10px;
}

.info-mobile-panel p.info-mobile-text,
.info-panel p.info-text {
    color: #ab816f;
    opacity: 1;
    float: right;
    font-size: 14px;
    line-height: 1.2;
    text-align: justify;
    text-justify: inter-word;
	
}
    /* ------------------------------------BOUTON TITRE------------------------------------ */
    #infoTitre {
  position: fixed;
  right: calc(10% - 40px);
  bottom:30px;
  transform: translateY(-50%);
  display:none;
  flex-direction: column;
  gap: 10px; /* Espacement vertical de 10px entre les boutons */
  z-index: 1100;
  height: auto;

     background-color: transparent;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-family: 'Quicksand', sans-serif;
    cursor: pointer;r
    border: none;
    transition: all 0.3s ease;
    color: #e1ae98;
	   padding: 0px;
	   margin-top:20px;
    font-size: 18px;
    border: 0;
    display: ; /* par défaut masqué */
	font-weight:600;
    bottom:20px;

    }

    @media (max-width: 768px) {
      #infoTitre {
        display: block;
        font-size: 14px;
  right: calc(10% - 25px);
  white-space: nowrap;
      }
    }
	
	.info-titre-btn-container {
	position: fixed;
    bottom: 0px;
    left: calc(10% - 25px);
    display: none;
    height: auto;
    z-index: 1100;
    display: flex;
    flex-direction: column; /* empile les boutons verticalement */
    align-items: center;
    gap: 10px; /* espace entre les deux boutons */
	      }
    @media (max-width: 768px) {
	.info-titre-btn-container {
    display: flex;
      }}
	
	






    /* ----------------------------------------Main content ----------------------------------------------*/
    main {
      padding-top: 60px;
	 height:100vh;

      margin-left: var(--offset);
      margin-right: calc(10% - 0px);
	  background-color: ;
      transition: margin-left 0.5s ease, margin-top 0.7s ease-in-out;
	  overflow: visible; /* Pas de scrollbar */
	  
    }

    main.shifted {
      margin-top: 300px;
    }

    /* --------------------------------------------Galerie d'images ---------------------------------------- */
#gallery {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  row-gap: 0px;
   overflow: visible; /* Pas de scrollbar verticale ni horizontale */
}

#gallery > div {
  display: flex;
  column-gap: 10px;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
}
#gallery img {
  display: block;
  object-fit: contain;
  flex-shrink: 0;
  transition: width 0.5s ease, height 0.5s ease;
  cursor:pointer;
}

    /* --------------------------------------------FOOTER ---------------------------------------- */

    footer {
      position: fixed;
      bottom: 0;
      width: 100%;
      color: #e1ae98;
      text-align: center;
      font-size: 12px;
      font-weight: 400;
      z-index: 2000;
      height: 27px;
      padding-top: 6px;

    }
	
@media (max-width: 768px) {
    footer {
	height:20px;
	padding-top:2px;
	font-size:10px;
	
    }}


    /* --------------------------------------------GALLERIE PROJETS---------------------------------------- */


    .gallery-container {
	   padding-top:100px;
     width: 100%; /* on élargit à 100% */
  margin: 0 auto;
  padding-bottom: 30px;
  transition: padding-top 0.3s ease;
    }
.gallery-container.shifted {
  padding-top: 26px; /* ou margin-top selon ton besoin, ajuste la valeur si nécessaire */
  transition: padding-top 0.3s ease;
}
  
    .gallery {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: 10px;
      justify-items: center;
    }

    @media (max-width: 768px) {
    .gallery {
	      grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	
    }}
	
    .image-wrapper:hover img {
      opacity: 0.80;
    }


    .image-wrapper {
      position: relative;
      width: 100%;
    }

    .gallery img {
      width: 100%;
      height: auto;
      transition: opacity 0.2s ease;
      display: block;
	  cursor:pointer;
    }


.label {
  position: absolute;
  bottom: 0;
  left: 50%;
    padding: 20px 30px;
  text-transform: uppercase;
  transform: translateX(-50%);
  height: 20px;
  background-color: #FF0;
  padding: 0 10px;
  display: flex;
  font-size: 14px;
  margin: 0;
  pointer-events: auto;
  white-space: normal;
  opacity: 1 !important;
  width: auto;
  text-align:center;
      font-family: 'Quicksand', sans-serif;
    white-space: nowrap;        /* empêche le retour à la ligne */

}


    @media (max-width: 768px) {
 .label {
   height: 15px;
  font-size: 10px;
}}




 .hidden {
  display: none !important;
}
  </style>