/* Hero Three.js canvas overlay styles
   Works in tandem with .hero-spotlight in styles.css */

/* The spotlight card needs explicit height so the absolute canvas fills it */
.hero-spotlight {
  min-height: 480px;
}

/* Three.js canvas container — fills the spotlight card */
#heroShowcase {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  border-radius: inherit;
  overflow: hidden;
}

#heroShowcase canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  border-radius: inherit;
}

/* Loading overlay sits above the canvas during initialization */
.hero-loading-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(250, 248, 245, 0.9);
  backdrop-filter: blur(8px);
  border-radius: inherit;
  transition: opacity 0.8s ease, visibility 0.8s;
}

.hero-loading-overlay.hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.hero-loading-logo {
  width: 80px;
  height: auto;
  mix-blend-mode: multiply;
  opacity: 0.72;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* Static fallback showcase (when WebGL unavailable) — hidden when Three.js takes over */
.hero-showcase-static {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 12px;
  padding: 20px;
  min-height: 440px;
  position: relative;
  z-index: 0;
}
