/* ============================================
   Aether Studio — Component: Bubble Gallery
   ============================================ */

.bubble-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-lg);
  padding: var(--space-lg);
  max-width: 1200px;
  margin: 0 auto;
}

.bubble {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  animation: float 4s infinite alternate ease-in-out;
  overflow: hidden;
  isolation: isolate;
}

.bubble__overlay {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}

.bubble__overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.bubble__sphere {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  position: absolute;
  inset: 0;
  z-index: var(--z-bubble-sphere);
  background: radial-gradient(circle at 30% 25%, rgba(255, 255, 255, 0.42) 0%, transparent 60%);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.bubble__canvas {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  border-radius: 50%;
  z-index: var(--z-bubble-canvas);
  width: 260px;
  height: 260px;
}

/* === Vault Badge === */
.vault-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--accent);
  color: white;
  font-size: var(--text-2xs);
  font-weight: 800;
  padding: 2px 8px;
  border-radius: var(--radius-full);
  z-index: 10;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: var(--shadow-glow);
}
