/* ---------------------------
   VORTEX ORBITAL SYSTEM
----------------------------*/

/* CONTENEDOR DE CADA ÓRBITA */
.orbit {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  animation: spin linear infinite;
  transform-origin: center center; /* 🔥 FUNDAMENTAL */
}

/* VELOCIDADES */
.orbit-1  { animation-duration:  8s; }
.orbit-2  { animation-duration: 10s; }
.orbit-3  { animation-duration: 12s; }
.orbit-4  { animation-duration: 14s; }
.orbit-5  { animation-duration: 17s; }
.orbit-6  { animation-duration: 20s; }
.orbit-7  { animation-duration: 24s; }
.orbit-8  { animation-duration: 28s; }
.orbit-9  { animation-duration: 33s; }
.orbit-10 { animation-duration: 39s; }
.orbit-11 { animation-duration: 46s; }
.orbit-12 { animation-duration: 54s; }

/* ICONO DENTRO DE LA ORBITA */
.orbit-icon {
  width: 55px;
  height: 55px;
  position: absolute;
  left: 50%;
  top: 50%;                      /* 🔥 CENTRO EXACTO */
  transform: translate(-50%, -50px);  /* 🔥 EL ICONO SE ELEVA AL RADIO */
  transition: .3s ease;
  filter: drop-shadow(0 0 8px rgba(0,0,0,0.25));
}

/* DISTANCIAS REALES DESDE EL CENTRO */
.orbit-distance-1  { transform: translate(-50%, -80px); }
.orbit-distance-2  { transform: translate(-50%, -110px); }
.orbit-distance-3  { transform: translate(-50%, -140px); }
.orbit-distance-4  { transform: translate(-50%, -170px); }
.orbit-distance-5  { transform: translate(-50%, -200px); }
.orbit-distance-6  { transform: translate(-50%, -230px); }
.orbit-distance-7  { transform: translate(-50%, -260px); }
.orbit-distance-8  { transform: translate(-50%, -290px); }
.orbit-distance-9  { transform: translate(-50%, -320px); }
.orbit-distance-10 { transform: translate(-50%, -350px); }
.orbit-distance-11 { transform: translate(-50%, -380px); }
.orbit-distance-12 { transform: translate(-50%, -410px); }

/* HOVER */
.orbit-icon:hover {
  transform: translate(-50%, calc(-50px - 20px)) scale(1.28);
  filter: drop-shadow(0 0 20px rgba(122,0,255,0.6));
}

/* ANIMACIÓN */
@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* NÚCLEO */
.vortex-core {
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(circle,
      rgba(0,198,255,0.9),
      rgba(0,114,255,0.8),
      rgba(122,0,255,0.7),
      rgba(255,0,200,0.5));
  box-shadow: 
      0 0 25px rgba(255,0,200,0.5),
      0 0 80px rgba(122,0,255,0.4),
      0 0 120px rgba(0,114,255,0.4);
  animation: vortexCorePulse 4s infinite ease-in-out;
}

@keyframes vortexCorePulse {
  0%,100% { transform: scale(1); }
  50%     { transform: scale(1.12); }
}

/* -----------------------
   RESPONSIVE PARA MÓVIL
------------------------*/
@media (max-width: 640px) {

  .orbit-icon {
    width: 38px;
    height: 38px;
  }

  .vortex-core {
    width: 90px;
    height: 90px;
  }

  /* distancias reducidas */
  .orbit-distance-1  { transform: translate(-50%, -50px); }
  .orbit-distance-2  { transform: translate(-50%, -70px); }
  .orbit-distance-3  { transform: translate(-50%, -90px); }
  .orbit-distance-4  { transform: translate(-50%, -110px); }
  .orbit-distance-5  { transform: translate(-50%, -130px); }
  .orbit-distance-6  { transform: translate(-50%, -150px); }
  .orbit-distance-7  { transform: translate(-50%, -170px); }
  .orbit-distance-8  { transform: translate(-50%, -190px); }
  .orbit-distance-9  { transform: translate(-50%, -210px); }
  .orbit-distance-10 { transform: translate(-50%, -230px); }
  .orbit-distance-11 { transform: translate(-50%, -250px); }
  .orbit-distance-12 { transform: translate(-50%, -270px); }

}