/* =====================
   Reset et base
===================== */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-family: 'Michroma', sans-serif;
  overflow-x: hidden;
  overflow-y: auto;
  color: white;
}

/* =====================
   Vidéo de fond
===================== */
.background-video {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: -1;
}

/* =====================
   Avatar
===================== */
.avatar-fixed {
  position: fixed;
  top: 4.5vh;
  right: 1vw;
  z-index: 100;
}

.avatar-box {
  width: clamp(12em, 15vw, 15em);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(225,225,225,0.7);
  border: 0.1em solid rgba(135,14,38,0.7);
  box-shadow: 0 0 1.5em rgba(135,14,38,0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.avatar-box:hover {
  transform: scale(1.05);
  box-shadow: 0 0 2em rgba(255,2,103,0.7);
}

.avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.6em;
}

/* =====================
   Boxes indépendantes
===================== */
.box-exo,
.box-exo1,
.box-exo2,
.box-exo3,
.box-exo4,
.single-box {
  position: relative;
  margin: 3em auto;
  width: clamp(40em, 60vw, 70em);
  color: white;
  padding: 2em;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  font-size: clamp(1em, 1.2vw, 1.2em);
  background-color: rgba(0,0,0,0.3);
  border-radius: 10px;
  box-shadow: 0 0 1.5em rgba(0,0,0,0.7);
}

/* =====================
   Circle-box interne
===================== */
.circle-box {
  width: 100%;
  border-radius: 10%;
  background-color: rgb(0, 0, 0);
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 2em;
  font-size: clamp(0.9em, 1.2vw, 1.2em);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

/* =====================
   Texte et liens
===================== */
.circle-box h2,
.circle-box h4,
.circle-box span,
.circle-box p,
.circle-box a {
  margin: 0.2em 0;
  font-size: inherit;
  text-decoration: none;
  color: white;
  transition: color 0.2s ease;
}

.circle-box h2:hover,
.circle-box h4:hover,
.circle-box span:hover,
.circle-box p:hover,
.circle-box a:hover {
  color: #ff0267;
  cursor: pointer;
}

/* Hover général sur la box */
.circle-box:hover {
  transform: scale(1.05);
  box-shadow: 0 0 4em rgba(255,2,103,0.7);
}

/* Liens remplissent la box */
.circle-box a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

/* Liens spéciaux */
.box-exo3 a.pixabay,
.box-exo3 a.flaticon,
.box-exo3 a.youtube {
  color: red;
  font-weight: bold;
  text-decoration: underline;
  transition: color 0.2s ease, transform 0.2s ease;
}

.box-exo3 a.pixabay:hover,
.box-exo3 a.flaticon:hover,
.box-exo3 a.youtube:hover {
  color: #ff4b4b;
  transform: scale(1.05);
}

/* =====================
   Musique
===================== */
.music-button {
  position: fixed;
  top: 7vh;
  left: 10vw;
  width: clamp(2em,4vw,2.5em);
  height: auto;
  z-index: 200;
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
}

.music-button:hover {
  transform: scale(1.3);
  filter: brightness(1.3);
}

.music-button.active {
  box-shadow: 0 0 0.8em #00ffea;
}

/* =====================
   Images dans box-exo3
===================== */
.images-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2vw;
  margin-top: 2vh;
}

.images-container img {
  width: clamp(8vw, 12vw, 15vw);
  height: auto;
  object-fit: contain;
  border-radius: 0.5vh;
  transition: transform 0.3s ease;
}

.images-container img:hover {
  transform: scale(1.1);
}

/* =====================
   Responsive
===================== */
@media (max-width: 768px) {
  .box-exo,
  .box-exo2,
  .box-exo3,
  .box-exo4,
  .single-box {
    width: 90%;
    margin: 2em auto;
  }
  .circle-box {
    width: 90%;
    font-size: clamp(0.8em, 3vw, 1.1em);
    padding: 1.5em;
  }
  .music-button {
    width: clamp(1.5em,6vw,2em);
  }
  .images-container img {
    width: clamp(20vw, 25vw, 30vw);
  }
}


