
/* /// TYPEFACES /// */

    /* /// ABK TYPEFACE /// */

    @font-face {
        font-family: 'ABKStuttgart';
        font-weight: normal;
        src: url('../fnt/ABKStuttgartWeb-Regular.woff2') format('woff2');
    }
    @font-face {
      font-family: 'ABKStuttgart';
      font-weight: bold;
      src: url('../fnt/ABKStuttgartWeb-Bold.woff2') format('woff2');
    }
      @font-face {
      font-family: 'ABKStuttgart';
      font-weight: 100;
      src: url('../fnt/ABKStuttgartWeb-Italic.woff2') format('woff2');
    }


    @font-face {
      font-family: 'Bookmania';
      src: url('../fnt/bookmania-light.woff') format('woff');
    }

    @font-feature-values "Bookmania" {
      @styleset { alt-a: 1; alt-g: 2; }
      @stylistic { alternates: 1; }}



/* ======================== CURSOR ======================== */

    @media (pointer: fine) {
      body.custom-cursor-enabled * {
        cursor: none !important; /* masque le curseur système */
      }
    
      .custom-cursor {
        position: fixed;
        top: 0;
        left: 0;
        width: 32px; /* adapte à la taille de ton PNG */
        height: 32px;
        background-image: url("../img/custom_cursor/cursor.svg");
        background-size: contain;
        background-repeat: no-repeat;
        pointer-events: none;
        z-index: 99999;
        opacity: 0;
      }
    
      .cursor-visible {
        opacity: 1;
      }
    
      .cursor-pointer {
        background-image: url("../img/custom_cursor/pointer.svg");
      }
      .cursor-active {
        background-image: url("../img/custom_cursor/pointer-click.svg");
        transform: scale(0.9);
      }
    }
  

    body, html {
      display: flex;
      justify-content: center;
      align-items: flex-start; /* 👈 CLÉ */
      height: 100vh;
      overflow: hidden;
      background-color: #ffffff;
      cursor:none;
      margin:0;
      font-family: 'ABKStuttgart', sans-serif; 
      line-height: 20px;; 
    }

    #titre{
      position:relative;
      left:50%;
      transform: translateX(-50%);
      padding:10px;
      padding-bottom:25px;
      padding-top: 30px;
      width: 20em;
    }

    #information {
      display: flex;
      flex-direction: column;
      width: 65%;
      background: #00f0bc00;
      padding-left: 1%;
      padding-right: 1%;
      box-sizing: border-box;
      border-radius: 5px;
      z-index: 1;
      overflow-y: auto;
      height: 100vh; 
    }

    #information::-webkit-scrollbar {
      display: none;
    }

    .arrow-prez{
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-top: auto;   /* 👈 pousse vraiment en bas */
      padding: 10px 0;
      padding-bottom: 20px;
    }

    .arrows{
      font-family: 'ABKStuttgart', sans-serif;
      color: #ff0000;
      font-size: 2.2em;
      text-decoration: none;
    }
    .arrow-cont{
      display:none;
    }

    p {
      position: relative;
      font-family: 'ABKStuttgart', sans-serif;
      font-weight: normal;
      font-size: 19px;
      line-height: 1.35rem;
      color: rgb(255, 0, 0);
      margin: 0px;
      z-index: 5;
      /* text-align: justify;
      text-justify: inter-word; */
    }

    .img-normal{
      display:flex;
      justify-content: center;
    }


/* /// CAROUSEL /// */

.carousel {
  position: relative;
  left: 0px;
  width: 60%;
  height: 100%;
  flex-direction: column;
  background: rgb(255, 255, 255);
  border-left: 0px dotted rgb(255, 0, 0) ;
  z-index: 10;
  transition: background-image 5.s ease, background-color 0.5s ease;
}

.carousel::-webkit-scrollbar {
  display: none;
}
.carousel {
  z-index: 1;
  overflow: auto;
}
.carousel .group {
  z-index: 2;
  overflow:auto;
}
.group {
  display: flex;
  flex-direction: column; /* <-- empile les miniatures verticalement */
  align-items:flex-end;
  justify-content: center;
  gap: 2em;
  /*animation: spin 14s infinite linear;*/
  padding-top:0em;
  padding-bottom:0em;
}
.group::-webkit-scrollbar {
  display: none;
}
.thumb {
  width: 62%;
  aspect-ratio: auto;     /* IMPORTANT */
  background-color: rgba(85, 99, 94, 0);
  border: 0px solid rgb(255, 0, 0);
  border-radius: 0em;
  /*overflow: none;  masque les débords */
  position: relative;
  transition: transform 1s ease, border-color 0.3s ease;
}

.thumb-img {
  transition: transform 0.6s ease; /* Transition de zoom de l'image */

}

.thumb img {
  width: 100%;
  height: auto;
  object-fit: cover;
  transition: transform 0.6s ease;
  z-index: inherit; 
}

.thumb-img:hover {
  transform: scale(1.05);
  z-index: 15;
}

.thumb-img .video img{
  filter: blur(2px);
  transition: filter 0.6s ease;
}

.thumb-img .video img:hover{
  filter: blur(0px);
}

/* ///// CONTRIBUTORS ///// */
    .contributors{
      border-top: dotted red 2px;
      padding-top: 20px;
      display: block;
      margin-top: 0em;
      margin-bottom: 1em;
      z-index: 1;
      background: #ff000000;
      width: 62%;
    }

    .contributors h1 {
      display: flex;
      justify-content: flex-start;
      font-family: 'ABKStuttgart', sans-serif;  
      padding-right:10px;
      font-size: 13px;
      font-weight: bold;
      color: red;
      line-height: 1.2;
      margin-top:0em;
      margin-bottom: 1px;
    }

    #contributors-p{
      display: flex;
      font-weight:normal;
      line-height: 1.15em;
      color: red;
      font-size: 14px;
      margin-top:5px;
      hyphens: auto;
    }


    #contributors-p p{
      display: flex;
      font-weight:normal;
      line-height: 1.15em;
      color: red;
      font-size: 14px;
      margin-top:5px;
    }

@keyframes spin {
    from {translate: 0 0;}
    to{ translate: 0 -100%;}
}

.language-toggle{
  position:fixed;
  top:10px;
  right: 1%;
  z-index: 99;
  
}

.language-toggle button {
  background-color: rgb(255, 255, 255);
  border: 0px solid #00000000;
  border-radius: 5%;           
  color: #ff0000;                      
  font-size: 20px; 
  padding: 10%;
  font-family: 'ABKStuttgart', sans-serif;            
  cursor: pointer;                  /* Le curseur devient une main lorsqu'on survole */      /* Transition fluide */
}

.return {
position:fixed;
left: 30px;
top: 20px;
width: 30px;
z-index: 99;  
}

main{
  padding:10px;
}

#image-viewer {
  display: none; /* caché par défaut */
  position: fixed;
  inset: 0;
  background: rgba(255, 253, 253, 0.6);
  align-items: center;
  justify-content: center;
  z-index: 10000;
  cursor: pointer;
  backdrop-filter: blur(2px);

}

#image-viewer img {
  max-width: 80vw;
  max-height: 80vh;
  object-fit: contain;
  box-shadow: 0 0 40px rgba(255, 0, 0, 0.2);
  cursor: default; /* pas de curseur pointer sur l'image */
  z-index: 10000;
}

#image-viewer .video img {
  max-width: 80vw;
  max-height: 80vh;
  object-fit: contain;
  filter: blur(5px);
  box-shadow: 0 0 40px rgba(255, 0, 0, 0.2);
  cursor: default; /* pas de curseur pointer sur l'image */
  z-index: 10000;
}

.viewer-arrow {
  position: absolute;
  bottom: 0px;
  padding: em;
  background: none;
  border: none;
  color: rgb(255, 0, 0);
  font-size: 2em;
  cursor: pointer;
  border-radius: 50%;
  z-index: 1010;
  user-select: none;
}

.viewer-arrow.left { left: 32%; bottom: 50%}
.viewer-arrow.right { right: 32%; bottom:50% }

@media (max-width: 600px) {



    #titre{
      position:relative;
      left:50%;
      transform: translateX(-50%);
      padding:10px;
      padding-bottom:25px;
      padding-top: 30px;
      width: 15em;
    }

  .language-toggle button {            
    font-size: 15px; 
  }

  body, html {
    height: 100%;
    display:block;
    overflow-y:auto;
  }

  .group {
    align-items: flex-end;
  }
    
  .carousel {
    order: 2;
    width: 100%;
    height: auto;
    overflow: visible; 
    border-left:none;
    gap:0.5em;
    left: 0px;
    margin:none;
  }

  .thumb {
    width: 70%;
    transition: transform 0.3s ease;
  }


  #information {
    width: 100%;
    height: auto;
    padding: 5px;
    padding-bottom:0;
    box-sizing: border-box;
    order:1;
  }

  /* Désactive les scrolls internes */
  #information,
  .carousel {
    overflow: visible;
  }

  p {
    font-size: 1.02rem;
    line-height: 1.4rem;
    margin: 25px;
    margin-top: 5px;
    padding-top: 0px;
    padding-bottom: 20px;
    hyphens: auto;
    
  }

  .return {
    width: 20px;
  }

 .language-toggle{
  position:fixed;
  top:10px;
 right: 5%;
  z-index: 99;
}

.arrow-prez{
      position:fixed;
      width: 100vw;
      background: white;
      border-top: #ff0000 dotted 2px;
      display: flex;
      justify-content: space-between;
      margin-top: auto;   /* 👈 pousse vraiment en bas */
      z-index: 999;
      bottom:0px;

    }

    .arrows{
      padding-left: 5px;
      padding-right:5px;
      font-size: 2em;
    }

    .contributors{
    padding-bottom:50px;
    width: 70%;
    }
}
