@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: 43%;
  height: auto;
  z-index: 10;
  padding: 8px;
}

.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: 32%;
  height: auto;
}
.title-img.br {
  bottom: 0;
  right: 0;
  width: 32%;
  height: auto;
}

.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 –—————————————————— */

.parallax-container {
  padding: 10px;
  position: relative;
  min-height: 200vh;
  overflow-x: hidden;
}

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

/* Images random */
.random-image {
  position: absolute;
  width: 100px;
  height: 100px;
  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 {
  /* animation: none; */
  transform: scale(0);
  /* opacity: 0; */
}

.getsmall {
  position: absolute;
}

/* bouche */

.getsmall:nth-child(1) {
  top: 0vh;
  right: 55vw;
  width: 150px;
  height: 150px;
  animation-delay: 0s;
}

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

/* estomac */

.getsmall:nth-child(9) {
  top: 145vh;
  right: 50vw;
  width: 150px;
  height: 150px;
  animation-delay: -4s;
}

.getsmall:nth-child(10) {
  top: 150vh;
  left: 50vw;
  width: 150px;
  height: 150px;
  animation-delay: -4.5s;
}
.getsmall:nth-child(11) {
  top: 155vh;
  left: 70vw;
  width: 150px;
  height: 150px;
  animation-delay: -5s;
  z-index: 100;
}
.getsmall:nth-child(12) {
  top: 170vh;
  left: 10vw;
  width: 150px;
  height: 150px;
  animation-delay: -5.5s;
}
.getsmall:nth-child(13) {
  top: 165vh;
  left: -20vw;
  width: 150px;
  height: 150px;
  animation-delay: -6s;
}
.getsmall:nth-child(14) {
  top: 200vh;
  right: 60vw;
  width: 150px;
  height: 150px;
  animation-delay: -6.5s;
}
.getsmall:nth-child(15) {
  top: 210vh;
  right: 75vw;
  width: 150px;
  height: 150px;
  animation-delay: -7s;
}
.getsmall:nth-child(16) {
  top: 200vh;
  left: 20vw;
  width: 150px;
  height: 150px;
  animation-delay: -7.5s;
}
.getsmall:nth-child(17) {
  top: 50vh;
  right: 20vw;
  width: 150px;
  height: 150px;
  animation-delay: -8s;
}
.getsmall:nth-child(18) {
  top: 20vh;
  right: 70vw;
  width: 150px;
  height: 150px;
  animation-delay: -8.5s;
}
.getsmall:nth-child(19) {
  top: 20vh;
  left: 30vw;
  width: 150px;
  height: 150px;
  animation-delay: -9s;
}
.getsmall:nth-child(20) {
  top: 280vh;
  right: 60vw;
  width: 220px;
  height: 220px;
  animation-delay: -9.5s;
  z-index: 20;
}

/* ———————————————— 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;
}

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

.text-layer {
  position: relative;
  z-index: -10; /* ou supprime la ligne z-index */
  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(7);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
}

.div1 {
  grid-area: 1 / 1 / 1 / 5;
  padding: 0 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 / 2 / 3 / 6;
  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 200px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -1.5s;
}
.div5 {
  grid-area: 5 / 2 / 5 / 6;
  animation: float 4s ease-in-out infinite;
  animation-delay: -2s;
}
.div6 {
  grid-area: 6 / 1 / 6 / 5;
  padding: 0 0 100px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -2.5s;
}
.div7 {
  margin-top: 300px;
  grid-area: 7 / 2 / 7 / 5;
  padding: 0 0 50px 0;
  animation: float 4s ease-in-out infinite;
  animation-delay: -3s;
}

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

/* ————————————— 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: 32%; /* 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 1.5s 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-03.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-07.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(201, 255, 170),
    rgb(59, 181, 146) 50%,
    rgb(96, 255, 109) 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(201, 255, 170),
    rgb(59, 181, 146) 50%,
    rgb(96, 255, 109) 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 {
    width: 15%;
    height: auto;
  }
  .title-img.br {
    width: 15%;
    height: auto;
  }

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

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

  .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: 35%;
  }

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

  .div1 {
    grid-area: 1 / 2 / 1 / 4;
    padding: 0 0 200px 0;
  }

  .div2 {
    grid-area: 2 / 3 / 2 / 5;
  }
  .div3 {
    grid-area: 3 / 1 / 3 / 5;
    padding: 0 0 200px 0;
  }
  .div4 {
    grid-area: 4 / 2 / 4 / 4;
    padding: 0 0 200px 0;
  }
  .div5 {
    grid-area: 5 / 4 / 5 / 6;
  }
  .div6 {
    grid-area: 6 / 2 / 6 / 6;
    padding: 0 0 100px 0;
  }

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

  #img14 {
    top: 170vh;
    right: 60vw;
  }

  .corner-image {
    width: 20%; /* 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: 140px;
    height: 140px;
  }

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

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

  .title-img {
    width: 24%;
  }

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

  #img14 {
    top: 180vh;
    right: 60vw;
  }

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