/**
 * Block Styles: Hero Banner with Interactive 3D Glowing Dot Globe (Demo 2)
 *
 * @package Acumen
 */

/* Import base hero styles if not already loaded */
@import url('hero.css');

.homepage-hero-globe {
  position: relative !important;
  background-color: #081C2F !important;
  background-image: url('/wp-content/uploads/2026/08/bg-grid-dotts.svg') !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
}

.homepage-hero-globe .hero-globe-visual-column {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

.homepage-hero-globe .globe-wrapper.frame {
  position: relative !important;
  width: 620px !important;
  height: 620px !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-image: none !important; /* Replaced static svg with live 3D globe */
}

/* Clean transparent container blending seamlessly into background */
.homepage-hero-globe .globe-container {
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  z-index: 1 !important;
  background: transparent !important;
}

.homepage-hero-globe .globe-container::after {
  display: none !important;
}

.homepage-hero-globe canvas.globe-canvas,
.homepage-hero-globe #globe-canvas {
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 620px !important;
  max-height: 620px !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  cursor: grab !important;
  touch-action: none !important;
  display: block !important;
  mix-blend-mode: normal !important;
}

.homepage-hero-globe canvas.globe-canvas:active,
.homepage-hero-globe #globe-canvas:active,
.homepage-hero-globe canvas.globe-canvas.is-grabbing {
  cursor: grabbing !important;
}

/* Badges layering above the 3D canvas with smooth pointer-events */
.homepage-hero-globe .frame-badge {
  z-index: 5 !important;
  pointer-events: auto !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
}

.homepage-hero-globe .frame-badge:hover {
  transform: translateY(-2px) !important;
  border-color: var(--mint, #00C7BE) !important;
  box-shadow: 0 8px 30px rgba(0, 199, 190, 0.25) !important;
}

/* Responsive Scaling for Globe */
@media (max-width: 1200px) {
  .homepage-hero-globe .globe-wrapper.frame {
    width: 520px !important;
    height: 520px !important;
  }
}

@media (max-width: 1024px) {
  .homepage-hero-globe .globe-wrapper.frame {
    width: 480px !important;
    height: 480px !important;
    margin: 30px auto 0 !important;
  }
}

@media (max-width: 768px) {
  .homepage-hero-globe .globe-wrapper.frame {
    width: 360px !important;
    height: 360px !important;
    margin: 20px auto 0 !important;
  }

  .homepage-hero-globe canvas.globe-canvas,
  .homepage-hero-globe #globe-canvas {
    max-width: 360px !important;
    max-height: 360px !important;
  }
}

@media (max-width: 420px) {
  .homepage-hero-globe .globe-wrapper.frame {
    width: 300px !important;
    height: 300px !important;
  }

  .homepage-hero-globe canvas.globe-canvas,
  .homepage-hero-globe #globe-canvas {
    max-width: 300px !important;
    max-height: 300px !important;
  }
}
