@charset "UTF-8";

html,
body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

body {
  font-size: 20px;
  line-height: 1;
  background: rgb(199, 198, 198);
  color: black;
  margin: 0;
}

.full-screen-title {
  position: relative; /* Nécessaire pour positionner l'image en absolu */
  overflow: hidden; /* ← empêche tout débordement visible et layout shift */
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100dvh; /* Prend toute la hauteur de l'écran */
  width: 100%; /* Prend toute la largeur */
  text-align: center;
  z-index: -20;
  margin: 0 0 50px 0;
}

.title-img {
  position: absolute;
  width: 66%;
  height: auto;
  z-index: 10;
}

.title-img.tl {
  top: 0;
  left: 0;
}
.title-img.tr {
  top: 0;
  right: 0;
  transform: scaleX(-1);
}
.title-img.bl {
  bottom: 0;
  left: 0;
  transform: scaleX(-1);
  width: 16%;
  height: auto;
  padding: 8px;
}
.title-img.br {
  bottom: 0;
  right: 0;
  width: 16%;
  height: auto;
  padding: 8px;
}

.full-screen-title h1 {
  font-size: 20px;
  line-height: 1;
  color: #000000; /* Couleur du texte (modifiable) */
  margin: 0 0 8px 0;
  animation: float 3s ease-in-out infinite;
}

/* —————————————————– AUTRE –—————————————————— */

/* Plus besoin de perspective ou transform-style */
.parallax-container {
  padding: 10px;
  position: relative;
  min-height: 200vh;
  overflow-x: hidden;
}

/* L'image-layer reste en arrière-plan */
.image-layer {
  margin-top: 170vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Images random */
.random-image {
  position: absolute;
  width: 250px;
  height: 250px;
  object-fit: cover;
  transform-origin: center;
}

/* —————————————————– IMG –—————————————————— */

.float-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 150px;
}

.in-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 150px;
  transform-origin: center;
  transition-duration: 0.5s;
  position: relative;
}

.in-wrapper.small {
  transform: scale(0);
}

.getsmall {
  position: absolute;
}

/* bouche */

.getsmall:nth-child(1) {
  top: 0vh;
  right: 55vw;
  animation-delay: 0s;
}
.getsmall:nth-child(2) {
  top: 5vh;
  right: 40vw;
  animation-delay: -0.5s;
}
.getsmall:nth-child(3) {
  top: 35vh;
  right: 5vw;
  animation-delay: -1s;
}
.getsmall:nth-child(4) {
  top: 50vh;
  right: 50vw;
  animation-delay: -1.5s;
}
.getsmall:nth-child(5) {
  top: 55vh;
  left: 70vw;
  animation-delay: -2s;
}
.getsmall:nth-child(6) {
  top: 98vh;
  left: -10vw;
  width: 250px;
  height: 250px;
  animation-delay: -2.5s;
}
.getsmall:nth-child(7) {
  top: 100vh;
  left: 50vw;
  width: 270px;
  height: 270px;
  animation-delay: -3s;
}
.getsmall:nth-child(8) {
  top: 110vh;
  right: 50vw;
  width: 280px;
  height: 280px;
  animation-delay: -3.5s;
}

/* estomac */

.getsmall:nth-child(9) {
  top: 145vh;
  right: 50vw;
  width: 220px;
  height: 220px;
  animation-delay: -4s;
}
.getsmall:nth-child(10) {
  top: 150vh;
  left: 50vw;
  width: 220px;
  height: 220px;
  animation-delay: -4.5s;
}
.getsmall:nth-child(11) {
  top: 155vh;
  left: 70vw;
  width: 220px;
  height: 220px;
  animation-delay: -5s;
}
.getsmall:nth-child(12) {
  top: 170vh;
  left: 10vw;
  width: 220px;
  height: 220px;
  animation-delay: -5.5s;
}
.getsmall:nth-child(13) {
  top: 165vh;
  left: -20vw;
  width: 220px;
  height: 220px;
  animation-delay: -6s;
}
.getsmall:nth-child(14) {
  top: 200vh;
  right: 60vw;
  width: 220px;
  height: 220px;
  animation-delay: -6.5s;
}
.getsmall:nth-child(15) {
  top: 210vh;
  left: 60vw;
  width: 220px;
  height: 220px;
  animation-delay: -7s;
}
.getsmall:nth-child(16) {
  top: 200vh;
  left: 20vw;
  width: 220px;
  height: 220px;
  animation-delay: -7.5s;
}

/* foie */

.getsmall:nth-child(17) {
  top: 295vh;
  right: 0vw;
  width: 280px;
  height: 280px;
  animation-delay: -8s;
}
.getsmall:nth-child(18) {
  top: 330vh;
  left: 80vw;
  width: 280px;
  height: 280px;
  animation-delay: -8.5s;
}
.getsmall:nth-child(19) {
  top: 350vh;
  right: 30vw;
  width: 350px;
  height: 350px;
  animation-delay: -9s;
}
.getsmall:nth-child(20) {
  top: 270vh;
  right: 60vw;
  width: 350px;
  height: 350px;
  animation-delay: -9.5s;
  z-index: 20;
}

/* vesicule */

.getsmall:nth-child(21) {
  top: 230vh;
  right: 80vw;
  width: 220px;
  height: 220px;
  animation-delay: -10s;
}
.getsmall:nth-child(22) {
  top: 230vh;
  left: 70vw;
  width: 220px;
  height: 220px;
  animation-delay: -10.5s;
}
.getsmall:nth-child(23) {
  top: 250vh;
  right: 10vw;
  width: 490px;
  height: 490px;
  animation-delay: -11s;
}
.getsmall:nth-child(24) {
  top: 170vh;
  left: 30vw;
  width: 220px;
  height: 220px;
  animation-delay: -11.5s;
}

/* pancreas */

.getsmall:nth-child(25) {
  top: 230vh;
  right: 45vw;
  width: 450px;
  height: 450px;
  animation-delay: -12s;
}
.getsmall:nth-child(26) {
  top: 255vh;
  left: 35vw;
  width: 480px;
  height: 480px;
  animation-delay: -12.5s;
}
.getsmall:nth-child(27) {
  top: 255vh;
  left: 15vw;
  width: 450px;
  height: 450px;
  animation-delay: 13s;
  z-index: -20;
}

/* intesins */

.getsmall:nth-child(28) {
  top: 300vh;
  left: 20vw;
  width: 400px;
  height: 400px;
  animation-delay: -13.5s;
}
.getsmall:nth-child(29) {
  top: 360vh;
  right: 85vw;
  width: 220px;
  height: 220px;
  animation-delay: -14s;
}
.getsmall:nth-child(30) {
  top: 270vh;
  right: 35vw;
  width: 300px;
  height: 300px;
  animation-delay: -14.5s;
}
.getsmall:nth-child(31) {
  top: 290vh;
  left: 35vw;
  width: 220px;
  height: 220px;
  animation-delay: -15s;
}
.getsmall:nth-child(32) {
  top: 300vh;
  right: 90vw;
  width: 220px;
  height: 220px;
  animation-delay: -15.5s;
}
.getsmall:nth-child(33) {
  top: 350vh;
  right: 60vw;
  width: 220px;
  height: 220px;
  animation-delay: -16s;
}
.getsmall:nth-child(34) {
  top: 355vh;
  left: 70vw;
  width: 290px;
  height: 290px;
  animation-delay: -16.5s;
}
.getsmall:nth-child(35) {
  top: 355vh;
  left: 67vw;
  width: 270px;
  height: 270px;
  animation-delay: -17s;
}
.getsmall:nth-child(36) {
  top: 355vh;
  left: 63vw;
  width: 220px;
  height: 220px;
  animation-delay: -17.5s;
}

/* caca */

.getsmall:nth-child(37) {
  top: 355vh;
  left: 59vw;
  width: 200px;
  height: 200px;
  animation-delay: -18s;
}

.getsmall:nth-child(38) {
  top: 355vh;
  left: 54vw;
  width: 220px;
  height: 220px;
  animation-delay: -19s;
}
.getsmall:nth-child(39) {
  top: 375vh;
  right: 70vw;
  width: 220px;
  height: 220px;
  animation-delay: -19.5s;
}
.getsmall:nth-child(40) {
  top: 395vh;
  left: 50vw;
  width: 220px;
  height: 220px;
  animation-delay: -20s;
}

/* ———————————————— DELAY ——————————————————— */

#img1 {
  animation-delay: -0.5s;
}
#img2 {
  animation-delay: -1s;
}
#img3 {
  animation-delay: -1.5s;
}
#img4 {
  animation-delay: -2s;
}
#img5 {
  animation-delay: -2.5s;
}
#img6 {
  animation-delay: -3s;
}
#img7 {
  animation-delay: -3.5s;
}
#img8 {
  animation-delay: -4s;
}
#img9 {
  animation-delay: -4.5s;
}
#img10 {
  animation-delay: -5s;
}
#img11 {
  animation-delay: -5.5s;
}
#img12 {
  animation-delay: -6s;
}
#img13 {
  animation-delay: -6.5s;
}
#img14 {
  animation-delay: -7s;
}
#img15 {
  animation-delay: -7.5s;
}
#img16 {
  animation-delay: -8s;
}
#img17 {
  animation-delay: -8.5s;
}
#img18 {
  animation-delay: -9s;
}
#img19 {
  animation-delay: -9.5s;
}
#img20 {
  animation-delay: -10s;
}
#img21 {
  animation-delay: -10.5s;
}
#img22 {
  animation-delay: -11s;
}
#img23 {
  animation-delay: -11.5s;
}
#img24 {
  animation-delay: -12s;
}
#img25 {
  animation-delay: -12.5s;
}
#img26 {
  animation-delay: -13s;
}
#img27 {
  animation-delay: -13.5s;
}
#img28 {
  animation-delay: -14s;
}
#img29 {
  animation-delay: -14.5s;
}
#img30 {
  animation-delay: -15s;
}
#img31 {
  animation-delay: -15.5s;
}
#img32 {
  animation-delay: -16s;
}
#img33 {
  animation-delay: -16.5s;
}
#img34 {
  animation-delay: -17s;
}
#img35 {
  animation-delay: -17.5s;
}
#img36 {
  animation-delay: -18s;
}
#img37 {
  animation-delay: -18.5s;
}
#img38 {
  animation-delay: -19s;
}
#img39 {
  animation-delay: -19.5s;
}
#img40 {
  animation-delay: -20s;
}

/* ———————————————— TEXT ——————————————————— */

/* Texte par-dessus */
.text-layer {
  position: relative;
  z-index: -10; /* Texte au-dessus des images avec z-index < 2 */
  width: 97%;
  margin: 0 auto;
  padding: 50px 0 0 0;
}

p {
  margin-bottom: 40px;
}

.grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(8);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.div1 {
  grid-area: 1 / 1 / 1 / 5;
  padding: 50px 0 200px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: 0s;
}

.div2 {
  grid-area: 2 / 2 / 2 / 6;
  animation: float 4s ease-in-out infinite;
  animation-delay: -0.5s;
}
.div3 {
  grid-area: 3 / 1 / 3 / 5;
  padding: 0 0 200px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -1s;
}
.div4 {
  grid-area: 4 / 1 / 4 / 5;
  padding: 0 0 1000px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -1.5s;
}
.div5 {
  grid-area: 5 / 1 / 5 / 5;
  animation: float 4s ease-in-out infinite;
  animation-delay: -2s;
}
.div6 {
  grid-area: 6 / 2 / 6 / 6;
  padding: 0 0 600px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -2.5s;
}
.div7 {
  grid-area: 7 / 1 / 7 / 5;
  padding: 0 0 200px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -3s;
}

.div8 {
  grid-area: 8 / 2 / 8 / 5;
  padding: 0 0 50px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -3.5s;
}

@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

/* ————————————— BOUTON ———————————————— */

footer {
  display: flex;
  justify-content: center;
}

.footer-boutons {
  display: flex;
  flex-direction: column; /* Empile les boutons verticalement */
  align-items: center; /* Centre horizontalement */
  margin: 0 0 60px;
}

.footer-boutons a {
  text-decoration: none; /* Supprime le soulignement des liens */
  color: inherit; /* Hérite de la couleur du texte */
  display: flex; /* Permet de conserver le style flex des boutons */
  border-radius: 50%;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); /* Animation plus fluide */
}

.footer-boutons a:hover {
  transform: scale(1.05); /* Agrandit légèrement */
}

.bouton {
  position: relative; /* Nécessaire pour positionner le texte par rapport au bouton */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  height: 350px;
}

.bouton-image {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

/* ————————————— ORNEMENTS ———————————————— */

.footer-section {
  position: relative;
  padding-bottom: 80px; /* Pour éviter que les images masquent le contenu */
}

/* Réutilisation du même système que full-screen-title */
.footer-corner-images {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none; /* Pour ne pas gêner l’interaction utilisateur */
}

.corner-image {
  position: absolute;
  width: 25%; /* ajuste selon tes besoins */
  height: auto;
}

.bottom-left {
  bottom: 0;
  left: 0;
  transform: scaleX(-1);
  padding: 8px;
}

.bottom-right {
  bottom: 0;
  right: 0;
  padding: 8px;
}

/* ————————————— ANIMATION ———————————————— */

@keyframes swing {
  0% {
    transform: rotateX(-160deg) rotateY(-160deg) scale(1);
  }
  100% {
    transform: rotateX(-180deg) rotateY(-180deg) scale(1.05);
  }
}

.swing {
  animation: swing 2s infinite alternate cubic-bezier(0.65, 0, 0.35, 1);
  transform-origin: center;
}

/* ------------------------------------------------------ */
/* -------------modification du background--------------- */
/* ------------------------------------------------------ */
.container-kaleidoscope {
  box-sizing: border-box;
  position: relative;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  overflow: hidden;
  background-image: url(../images/Boutons/bouton-04.png);
  background-size: cover;
  background-position: center;
}

.container-kaleidoscope .segment {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 50%;
  height: 50%;
  transform-origin: 100% 100%;
  overflow: hidden;
}

.container-kaleidoscope .segment.is-8 {
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

/* ------------------------------------------------------ */
/* --------------modification du segment----------------- */
/* ------------------------------------------------------ */
.container-kaleidoscope .segment.is-16 {
  background-image: url(../images/Boutons/bouton-13.png);
  background-size: 200% 200%;
  /* background-position: center; */

  /* transform: rotate(30deg); */
  clip-path: polygon(0 0, 60% 0, 100% 100%);
  animation: animimage 3s ease infinite;
}

.container-kaleidoscope .segment .dot {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 75%;
  height: 75%;
  border-radius: 50%;
  background-image: radial-gradient(
    circle,
    rgb(155, 153, 255),
    rgb(223, 209, 255) 50%,
    rgb(117, 96, 255) 100%
  );
  animation: animdot 10s linear infinite;
  mix-blend-mode: color-burn;
  filter: blur(15px);
}

.container-kaleidoscope .segment .square {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 25%;
  height: 25%;
  background-color: yellow;
  background-image: linear-gradient(
    45deg,
    rgb(149, 234, 255),
    rgb(93, 204, 255) 50%,
    rgb(92, 192, 192) 100%
  );
  animation: animsquare 10s linear infinite;
  filter: blur(2px);
}

/* .segment-clone{
  opacity: 0;
} */

@keyframes animdot {
  0% {
    transform: translate3d(100%, 0, 0) rotate(0deg);
  }
  50% {
    transform: translate3d(0, 60%, 0) rotate(180deg);
  }
  100% {
    transform: translate3d(100%, 0, 0) rotate(360deg);
  }
}

@keyframes animsquare {
  0% {
    transform: translate3d(100%, 50%, 0) rotate(0deg);
  }
  50% {
    transform: translate3d(100%, 0%, 0) rotate(180deg);
  }
  100% {
    transform: translate3d(100%, 50% 0) rotate(360deg);
  }
}

/* ------------------------------------------------------ */
/* --------------modification du l'animation-------------- */
/* ------------------------------------------------------ */
@keyframes animimage {
  0% {
    background-size: 300% 300%;
  }
  50% {
    background-size: 250% 250%;
  }
  100% {
    background-size: 300% 300%;
  }
}

/* ————————————— RESPONSIVE ———————————————— */

/* Responsive */
@media screen and (min-width: 768px) {
  body {
    font-size: 24px;
  }

  .full-screen-title h1 {
    font-size: 24px;
  }

  .title-img.bl {
    bottom: 0;
    left: 0;
    transform: scaleX(-1);
    width: 8%;
    height: auto;
  }
  .title-img.br {
    bottom: 0;
    right: 0;
    width: 8%;
    height: auto;
  }

  .text-layer {
    width: 90%;
    padding: 100px 0 0 0;
  }

  .random-image {
    width: 320px;
    height: 320px;
  }

  .background-image {
    width: 300px;
    height: 300px;
  }

  .footer-boutons {
    flex-direction: row; /* Aligne les boutons horizontalement */
    justify-content: center; /* Centre les boutons horizontalement */
    gap: 20px; /* Espace entre les boutons */
  }

  .bouton {
    width: 350px;
    height: 350px;
  }

  .bouton-text {
    font-size: 20px;
  }

  .title-img {
    width: 60%; /* Garde les proportions */
  }

  .div1 {
    grid-area: 1 / 1 / 1 / 5;
    padding: 0 0 400px 0;
  }

  .div2 {
    grid-area: 2 / 3 / 2 / 6;
  }
  .div3 {
    grid-area: 3 / 1 / 3 / 6;
    padding: 0 0 400px 0;
  }
  .div4 {
    grid-area: 4 / 2 / 4 / 6;
    padding: 0 0 1000px 0;
  }
  .div5 {
    grid-area: 5 / 1 / 5 / 3;
  }
  .div6 {
    grid-area: 6 / 2 / 6 / 6;
    padding: 0 0 200px 0;
  }
  .div7 {
    grid-area: 7 / 3 / 7 / 6;
    padding: 0 0 200px 0;
  }
  .div8 {
    grid-area: 8 / 2 / 8 / 5;
    padding: 0 0 50px 0;
  }

  .container-kaleidoscope {
    width: 500px;
    height: 500px;
  }

  .image-layer {
    margin-top: 120vh;
  }

  .corner-image {
    width: 14%; /* ajuste selon tes besoins */
    height: auto;
  }
}

@media screen and (min-width: 1024px) {
  body {
    font-size: 30px;
  }

  .full-screen-title h1 {
    font-size: 30px;
  }

  .text-layer {
    width: 90%;
    padding: 150px 0 0 0;
  }

  .random-image {
    width: 450px;
    height: 450px;
  }

  .background-image {
    width: 300px;
    height: 300px;
  }

  .bouton {
    width: 400px;
    height: 400px;
  }

  .bouton-text {
    font-size: 20px;
  }

  .title-img {
    width: 38%; /* Garde les proportions */
  }

  .container-kaleidoscope {
    width: 600px;
    height: 600px;
  }

  .image-layer {
    margin-top: 120vh;
  }

  .corner-image {
    width: 12%; /* ajuste selon tes besoins */
    height: auto;
  }
}
