/* Bannière réseaux */
#reseaux.reseaux-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90vh;
  width: 100vw;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
  background: #000;
}
@keyframes fadeInBandeau {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes reseauPop {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.5) rotate(var(--angle, 0deg));
  }
  60% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.15) rotate(var(--angle, 0deg));
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1) rotate(var(--angle, 0deg));
  }
}
@keyframes reseauFadePop {
  0% {
    opacity: 0;
    transform: scale(0.7);
  }
  60% {
    opacity: 1;
    transform: scale(1.12);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.reseaux-title {
  color: var(--color-text);
  font-family: var(--font-main);
  font-size: 2em;
  text-align: center;
  margin-bottom: .2em;
  letter-spacing: .08em;
}
.reseaux-grid {
  position: relative;
  width: 600px;
  height: 550px;
  margin: 0 auto;
  display: block;
  min-width: 600px;
  min-height: 550px;
  overflow-x: auto;
  /* plus de fond ni de bordure */
}
.reseau-item {
  position: absolute;
  opacity: 1;
  pointer-events: auto;
  transition: none;
}
.reseau-item1 { left: 85px; top: 140px; transform: rotate(-17deg) scale(1.08); z-index: 2; }
.reseau-item2 { left: 300px; top: 95px; transform: rotate(11deg) scale(0.92); z-index: 2; }
.reseau-item3 { left: 215px; top: 150px; transform: rotate(-23deg) scale(1.13); z-index: 2; }
.reseau-item4 { left: 155px; top: 300px; transform: rotate(19deg) scale(0.97); z-index: 2; }
.reseau-item5 { left: 415px; top: 330px; transform: rotate(-9deg) scale(0.90); z-index: 2; }
.reseau-item6 { left: 355px; top: 400px; transform: rotate(27deg) scale(0.85); z-index: 2; }
.reseau-item.visible {
  opacity: 1;
  transform: none;
  animation: none;
}
.reseau-icon {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  box-shadow: 0 4px 24px #0006;
  transition: transform 0.5s cubic-bezier(.33,1,.68,1), box-shadow 0.4s cubic-bezier(.33,1,.68,1);
  display: block;
  opacity: 0;
  animation: none;
}
.reseaux-anim-visible .reseau-icon {
  animation: reseauFadePop 0.7s cubic-bezier(.4,0,.2,1) forwards;
}
.reseau-item1 .reseau-icon { animation-delay: 0.08s; }
.reseau-item2 .reseau-icon { animation-delay: 0.18s; }
.reseau-item3 .reseau-icon { animation-delay: 0.28s; }
.reseau-item4 .reseau-icon { animation-delay: 0.38s; }
.reseau-item5 .reseau-icon { animation-delay: 0.48s; }
.reseau-item6 .reseau-icon { animation-delay: 0.58s; }
.reseau-link:hover .reseau-icon,
.reseau-icon:hover {
  transform: scale(1.08) rotate(-6deg) !important;
  box-shadow: 0 8px 24px #0008 !important;
  z-index: 10;
  transition: transform 0.5s cubic-bezier(.33,1,.68,1), box-shadow 0.4s cubic-bezier(.33,1,.68,1);
}
.reseau-info {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(.4,0,.2,1), transform 0.8s cubic-bezier(.4,0,.2,1);
}
.reseau-info.fade-in {
  opacity: 1;
  transform: translateY(0);
}
.reseau-title {
  color: var(--color-text);
  font-family: var(--font-main);
  font-size: 1.6em;
  font-weight: bold;
  margin-top: 12px;
}
.reseau-desc {
  color: var(--color-text-alt);
  font-family: 'Montserrat', Arial, sans-serif;
  font-size: 1.2em;
  text-align: center;
  margin-top: 0.3em;
}
.reseau-title,
.reseau-desc {
  text-align: center;
  width: 100%;
}
.reseaux-banner .section-separator {
  width: 110px;
  height: 2px;
  background: #fff;
  margin: 2px auto 32px auto;
  border-radius: 2px;
  opacity: 1;
  border: none;
  display: block;
}

/* Responsive - Tablette */
@media (max-width: 1024px) {
  .reseaux-grid {
    width: 500px;
    height: 450px;
    min-width: 500px;
    min-height: 450px;
  }
  
  .reseau-icon {
    width: 80px;
    height: 80px;
  }
  
  .reseau-item1 { left: 70px; top: 120px; }
  .reseau-item2 { left: 250px; top: 80px; }
  .reseau-item3 { left: 180px; top: 130px; }
  .reseau-item4 { left: 130px; top: 250px; }
  .reseau-item5 { left: 345px; top: 280px; }
  .reseau-item6 { left: 295px; top: 340px; }
}

/* Responsive - Mobile */
@media (max-width: 768px) {
  .reseaux-grid {
    width: 350px;
    height: 360px;
    min-width: 350px;
    min-height: 360px;
  }
  
  .reseau-icon {
    width: 60px;
    height: 60px;
  }
  
  .reseau-item1 { left: 50px; top: 85px; }
  .reseau-item2 { left: 175px; top: 55px; }
  .reseau-item3 { left: 125px; top: 95px; }
  .reseau-item4 { left: 90px; top: 175px; }
  .reseau-item5 { left: 240px; top: 200px; }
  .reseau-item6 { left: 205px; top: 240px; }
}

/* Responsive - Petit mobile */
@media (max-width: 480px) {
  .reseaux-grid {
    width: 280px;
    height: 300px;
    min-width: 280px;
    min-height: 300px;
  }
  
  .reseau-icon {
    width: 50px;
    height: 50px;
  }
  
  .reseau-item1 { left: 40px; top: 70px; }
  .reseau-item2 { left: 140px; top: 45px; }
  .reseau-item3 { left: 100px; top: 75px; }
  .reseau-item4 { left: 70px; top: 140px; }
  .reseau-item5 { left: 190px; top: 160px; }
  .reseau-item6 { left: 165px; top: 190px; }
}

/* Réduction de la hauteur en mode horizontal mobile */
@media (orientation: landscape) and (max-width: 900px) {
  #reseaux.reseaux-banner {
    min-height: 25vh !important;
    height: 25vh !important;
  }
} 