/* ════════════════════════════════════
   MEISTERSCHULE – GLASKUGEL v7.0
   Performance-optimiert, kein Wackeln
   ════════════════════════════════════ */

.mdfg-wrap {
  display: flex; justify-content: center; align-items: center;
  padding: 40px 24px;
  contain: layout;
}

.mdfg-scene {
  position: relative;
  width: 280px; height: 280px;
  flex-shrink: 0;
}

/* Einziger Glow – einfach, GPU-freundlich */
.mdfg-glow {
  position: absolute; inset: -12px; border-radius: 50%;
  pointer-events: none; z-index: 0;
  animation: mdfg-glow 5s ease-in-out infinite alternate;
  will-change: box-shadow;
}
@keyframes mdfg-glow {
  0%   { box-shadow: 0 0 25px 8px rgba(120,40,255,.5), 0 0 60px 20px rgba(80,20,200,.25); }
  100% { box-shadow: 0 0 45px 16px rgba(150,60,255,.7), 0 0 90px 35px rgba(100,30,220,.35); }
}

/* Kugel – fix, keine Bewegung */
.mdfg-sphere {
  position: absolute; inset: 0; border-radius: 50%;
  opacity: 0; transition: opacity 1s ease;
  transform: none !important; animation: none !important;
}
.mdfg-sphere.visible { opacity: 1; }

/* Video */
.mdfg-video-wrap {
  position: absolute; inset: 0; border-radius: 50%;
  overflow: hidden; background: #010010; z-index: 1;
  transform: none !important;
}
.mdfg-video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Glasrand – nur CSS, kein Filter */
.mdfg-glass {
  position: absolute; inset: 0; border-radius: 50%;
  background:
    radial-gradient(ellipse 55% 38% at 28% 20%,
      rgba(255,255,255,.55) 0%,
      rgba(220,230,255,.15) 30%,
      transparent 55%),
    radial-gradient(circle at 70% 18%,
      rgba(255,255,255,.6) 0%,
      transparent 7%),
    radial-gradient(circle at 50% 50%,
      transparent 58%,
      rgba(10,5,40,.45) 75%,
      rgba(5,2,25,.85) 100%);
  border: 1.5px solid rgba(150,100,255,.25);
  box-shadow: inset 0 0 30px rgba(80,20,200,.3), inset 0 0 60px rgba(0,0,0,.5);
  pointer-events: none; z-index: 3;
}

/* Lichtreflexe */
.mdfg-ref-1 {
  position: absolute; top: 6%; left: 10%;
  width: 42%; height: 30%; border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,255,255,.55) 0%, rgba(220,230,255,.15) 40%, transparent 65%);
  transform: rotate(-15deg) !important; filter: blur(3px);
  pointer-events: none; z-index: 4;
}
.mdfg-ref-2 {
  position: absolute; top: 16%; right: 16%;
  width: 9%; height: 9%; border-radius: 50%;
  background: rgba(255,255,255,.85); filter: blur(1px);
  pointer-events: none; z-index: 4;
}

/* Play Button */
.mdfg-play {
  position: absolute; inset: 0; z-index: 5;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%; cursor: pointer;
  background: rgba(0,0,20,.3); transition: background .3s;
}
.mdfg-play:hover { background: rgba(0,0,20,.5); }
.mdfg-play-icon { font-size: 52px; color: rgba(255,255,255,.9); filter: drop-shadow(0 0 14px rgba(150,80,255,.9)); }
.mdfg-play.hidden { display: none; }

@media(max-width:600px) { .mdfg-scene { width:220px; height:220px; } }
@media(max-width:380px) { .mdfg-scene { width:180px; height:180px; } }
