      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-blackitalic.ttf") format('truetype'),
          url("./font/apercu-blackitalic.ttf") format('truetype');
        font-weight: 900;
        font-style: italic;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-light.ttf") format('truetype'),
          url("./font/apercu-light.ttf") format('truetype');
        font-weight: 300;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-black.ttf") format('truetype'),
          url("./font/apercu-black.ttf") format('truetype');
        font-weight: 900;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-medium.ttf") format('truetype'),
          url("./font/apercu-medium.ttf") format('truetype');
        font-weight: 500;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-italic.ttf") format('truetype'),
          url("./font/apercu-italic.ttf") format('truetype');
        font-weight: normal;
        font-style: italic;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-bolditalic.ttf") format('truetype'),
          url("./font/apercu-bolditalic.ttf") format('truetype');
        font-weight: bold;
        font-style: italic;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-regular.ttf") format('truetype'),
          url("./font/apercu-regular.ttf") format('truetype');
        font-weight: normal;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-bold.ttf") format('truetype'),
          url("./font/apercu-bold.ttf") format('truetype');
        font-weight: bold;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-mediumitalic.ttf") format('truetype'),
          url("./font/apercu-mediumitalic.ttf") format('truetype');
        font-weight: 500;
        font-style: italic;
      }

      @font-face {
        font-family: "Apercu Mono";
        src: url("./font/apercu-mono.ttf") format('truetype'),
          url("./font/apercu-mono.ttf") format('truetype');
        font-weight: normal;
        font-style: normal;
      }

      @font-face {
        font-family: "Apercu";
        src: url("./font/apercu-lightitalic.ttf") format('truetype'),
          url("./font/apercu-lightitalic.ttf") format('truetype');
        font-weight: 300;
        font-style: italic;
      }

/* ==== Styles globaux ==== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  overflow-x: hidden;  /* Empêche le débordement horizontal */
  background: #fdfdfd;
  font-family: "Apercu";
  line-height: 130%;
  font-size: 18px;
}
h1 {
  margin: 0;
  font-size: 30px;
  line-height: 120%;
}
h1 span {
  font-weight: 100;
}
h2 {
  font-weight: 100;
 }

/* ===== HEADER GLOBAL ===== */
header {
  display: flex;
  align-items: baseline;
  gap: 50px;
  padding: 20px 0;
  flex-wrap: wrap; /* important pour mobile */
}

/* ===== TITRE ===== */
header h1 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 10% 0 10%;
  font-size: 2rem;
  letter-spacing: 0.5px;
}

hr {
  background-color: #696969;
  border: none;
  color: #696969;
  margin: 0 5% 0 5%;  /* Marge gauche et droite de 5% */
  height: 1px;
  width: calc(100% - 10%);  /* Largeur ajustée pour tenir compte des marges */
}

/* séparateur */
header h1 span {
  font-size: 0.85em;
  color: #777;
}

header h1 span::before {
  content: "||";
  margin-right: 10px;
}

/* ===== MENU ===== */
.menu {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  align-items: baseline;
}

.menu a {
  text-decoration: none;
  color: #5f5f5f;
  transition: color 0.2s ease;
  letter-spacing: 0.3px;
}

.menu a:hover {
  color: #343434;
}

.menu a.en-cours{
    border-bottom:2px solid #000;
}

#titre #en-cours a {
  color: black;
  border-bottom: 2px solid black;
  padding-bottom: 2px;
}

#presentation {
  text-align: center;
  margin-top: 2rem;
  font-style: italic;
  font-size: 1em;
}

#presentation p {
  margin: 2rem 5% 0 5%;
}

main {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 4rem;
}

.gallery {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  margin: 6rem 5% 1rem 5%;
}

.work {
  margin-right: 2rem;
  margin-bottom: 2rem;
}
      
.title {
  margin-top: 18px;
  font-size: 1.1em;
  font-style: italic;
  font-weight: bold;
      }
/*
.title-accueil {
  margin-top: 18px;
  text-align: center;
  font-size: 1.1em;
  font-style: italic;
  font-weight: bold;
}
*/
.year {
  font-size: 0.9em;
  font-weight: normal;
  font-style: normal;
}

.details {
  font-size: 13px;
  margin-top: 18px;
  line-height: 140%;
 }

.collection {
  font-size: 0.75em;
}

footer {
  text-align: center;
  margin-top: 0.2rem;
  font-size: 12px;
}
        
.header-details {
  text-align: center;
  margin-top: 2rem;
}

.header-details a {
  text-decoration: none;
  color: #4d4d4d;
}

.expos {
  margin: 4rem 5% 2rem 5%;
}

/* Grid Container : fonctionnement avec une largeur fixe de 530px par colonne */
.grid-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fit, 580px);  /* Colonne fixe de 530px */
  justify-content: center;
  gap: 20px;  /* Espacement entre les items */
  width: 100%;
  margin-top: 2rem;
}

/* Container Flex pour chaque élément à l'intérieur */
.container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 580px;  /* Largeur fixe de 530px */
  gap: 10px;  /* Espacement entre le texte et l'image */
  margin-bottom: 1rem;
}

.item-img,
.item-txt {
  box-sizing: border-box;  /* Assurer que padding et bordures sont inclus dans la largeur */
}

/* Taille de l'image */
.item-img {
  width: 110px;  /* Largeur fixe pour l'image */
}

.item-img img {
  width: 100%;  /* L'image occupe toute la largeur de son conteneur */
  height: auto;  /* Garder les proportions de l'image */
}

/* Taille du texte */
.item-txt {
  width: 470px;  /* Largeur fixe pour le texte */
  box-sizing: border-box;  /* Inclut le padding dans la largeur totale */
  font-size: 0.9em;
  font-style: italic;  /* Style du texte */
}      

.item-txt span{
  font-size: 1.12em;
  font-style: normal;
}

/*====LE SLIDE====*/

@keyframes slidy {
  0% { left: 0%; }
  20% { left: 0%; }
  25% { left: -100%; }
  45% { left: -100%; }
  50% { left: -200%; }
  70% { left: -200%; }
  75% { left: -300%; }
  95% { left: -300%; }
  100% { left: -400%; }
}

div#slider { 
  width: 80%; 
  max-width: 700px; 
  overflow: hidden;
  margin: 4rem auto 0 auto;
}

div#slider figure {
  position: relative;
  width: 500%;
  margin: 0;
  padding: 0;
  font-size: 0;
  text-align: left;
  animation: 30s slidy infinite;
}

div#slider figure .slide {
  width: 20%;
  height: auto;
  float: left;
  position: relative;
}

div#slider figure .slide img {
  width: 100%;
  height: auto;
}

/*div#slider figure .slide figcaption {
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: white;
  padding: 5px;
  font-size: 1rem;
  font-weight: bold;
  text-shadow: 1px 1px 2px black;
}*/
div#slider figure .slide figcaption {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%); /* Pour centrer exactement */
  color: white;
  padding: 5px;
  font-size: 1rem;
  font-weight: bold;
  text-shadow: 1px 1px 2px black;
/*  max-width: 90%; */ /* Limite la largeur à 90% de l'image */
  white-space: nowrap; /* Empêche le texte de se couper en plusieurs lignes */
/*  overflow: hidden; *//* Cache le texte excédentaire */
/*  text-overflow: ellipsis; *//* Ajoute des points de suspension si le texte dépasse */
}
/*
/*
/*
/*
*/
@media (max-width: 900px) {
  header {
    gap: 30px;
    padding: 20px 5%;
  }

  .menu {
    gap: 15px;
  }
}
/*
/*
/*
*/
@media (max-width: 600px) {
  body {
    padding: 0.5rem;
    font-size: 16px;
  }

h1 {
    font-size: 20px;
}

.gallery {
    flex-direction: column;
  }
        
  .work {
    margin-right: 0.5rem;
    margin-bottom: 2rem;
  }
        
  .header-details {
    margin: 2rem 0 0 0.5em;
  }
      
  footer {
    margin-top: 0.5rem;
    margin-left: 0.5em;
    font-size: 12px;
  }

  .work img {
    /*height: auto;*/
    width: 100%;
  }
  
header {
    display: flex;
    flex-direction: column;
    align-items: center; /* centre tout */
    text-align: center;
    gap: 5px;
    padding-top: 3px;
  }

  header h1 {
    display: flex;
    flex-direction: column;
    gap: 5px;
    line-height: 80%;
    margin-bottom: 3px;
  }

  header h1 span::before {
    content: ""; /* on enlève le || sur mobile */
  }

  .menu {
    display: flex;
    justify-content: center;
    gap: 25px 10px; /* ligne + colonne */
    line-height: 100%
  }

  .menu a {
    font-size: 0.95rem;
    padding: 5px 0;
  }
  
.expos {
    margin-top: 1rem;
    margin-left: 5%;
  }

  .gallery {
    margin-top: 2rem;
  }

/* Réajustement pour mobile */
  .grid-wrapper {
    grid-template-columns: 1fr;  /* Passe à une seule colonne sur mobile */
    gap: 10px;  /* Espacement réduit sur mobile */
    margin-top: 1rem;
  }

  .container {
    flex-direction: column;  /* Passer en colonne pour mobile */
    width: 100%;  /* Prendre toute la largeur sur mobile */
    gap: 10px;  /* Espacement entre les éléments */
    margin-bottom: 3rem;
  }

  .item-img {
    width: 100%;  /* L'image prend toute la largeur disponible sur mobile */
  }

  .item-txt {
    width: 100%;  /* Le texte prend toute la largeur disponible */
    font-size: 16px;  /* Taille du texte réduite */
    word-wrap: break-word;  /* Assurer que le texte ne dépasse pas */
  }

  div#slider figure .slide figcaption {
    font-size: 0.8rem;
    font-weight: normal;
    padding: 2px;
  }
}