/**
 * Webgentic - Iridescent Blob Styles
 * Enhanced 3D blob with SVG-based animation
 */

/* ================================
   BLOB CONTAINER OVERRIDE
   ================================ */

.blob-3d {
  width: min(650px, 90vw);
  height: min(650px, 90vw);
  max-width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Remove old CSS gradient animation */
  background: transparent;
  border-radius: 0;
  animation: none;
  filter: none;
  box-shadow: none;
}

/* Enhanced glow effect around the blob container */
.blob-3d::before {
  content: '';
  position: absolute;
  inset: -40px;
  background: radial-gradient(
    circle at center,
    rgba(160, 225, 247, 0.15) 0%,
    rgba(231, 184, 232, 0.1) 30%,
    transparent 70%
  );
  pointer-events: none;
  z-index: -1;
  animation: pulse-glow 8s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% {
    opacity: 0.6;
    transform: scale(1);
  }
  50% {
    opacity: 0.9;
    transform: scale(1.05);
  }
}

/* SVG styling */
.blob-3d svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,.45));
}

/* ================================
   RESPONSIVE ADJUSTMENTS
   ================================ */

@media (max-width: 1024px) {
  .blob-3d {
    width: min(500px, 85vw);
    height: min(500px, 85vw);
  }
}

@media (max-width: 768px) {
  .blob-3d {
    width: min(420px, 80vw);
    height: min(420px, 80vw);
  }

  .blob-3d::before {
    inset: -30px;
  }
}

@media (max-width: 640px) {
  .blob-3d {
    width: min(455px, 95vw);
    height: min(455px, 95vw);
    margin-top: 20px;
  }

  .blob-3d::before {
    inset: -20px;
  }
}

/* ================================
   REDUCED MOTION
   ================================ */

@media (prefers-reduced-motion: reduce) {
  .blob-3d::before {
    animation: none;
  }

  .blob-3d svg {
    filter: drop-shadow(0 20px 40px rgba(0,0,0,.3));
  }
}

/* ================================
   LOADING STATE
   ================================ */

.blob-3d:empty::after {
  content: '';
  display: block;
  width: 60%;
  height: 60%;
  background: linear-gradient(
    135deg,
    rgba(160, 225, 247, 0.3),
    rgba(231, 184, 232, 0.3)
  );
  border-radius: 50%;
  animation: loading-pulse 1.5s ease-in-out infinite;
}

@keyframes loading-pulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.95);
  }
  50% {
    opacity: 0.6;
    transform: scale(1.05);
  }
}
