/**
 * EVIL — pulsanti stile galaxy (auth e CTA speciali)
 */
.galaxy-btn,
.btn-galaxy,
button.galaxy {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.35rem;
  min-height: 44px;
  border: 1px solid rgba(125, 211, 252, 0.35);
  border-radius: 999px;
  background:
    radial-gradient(ellipse 80% 120% at 20% 0%, rgba(167, 139, 250, 0.35), transparent 55%),
    radial-gradient(ellipse 70% 100% at 80% 100%, rgba(56, 189, 248, 0.25), transparent 50%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(6, 8, 14, 0.98));
  color: #e2e8f0;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  cursor: pointer;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  box-shadow: 0 4px 24px rgba(56, 189, 248, 0.12);
}

.galaxy-btn::before,
.btn-galaxy::before {
  content: '';
  position: absolute;
  inset: -40%;
  background: conic-gradient(from 0deg, transparent, rgba(125, 211, 252, 0.15), transparent 40%);
  animation: galaxySpin 8s linear infinite;
  pointer-events: none;
}

@keyframes galaxySpin {
  to { transform: rotate(360deg); }
}

.galaxy-btn:hover,
.btn-galaxy:hover {
  transform: translateY(-2px);
  border-color: rgba(0, 255, 156, 0.45);
  box-shadow: 0 8px 32px rgba(0, 255, 156, 0.18);
}

.galaxy-btn:active,
.btn-galaxy:active {
  transform: translateY(0);
}

.galaxy-btn--amber {
  border-color: rgba(245, 158, 11, 0.4);
  background:
    radial-gradient(ellipse 80% 120% at 20% 0%, rgba(251, 191, 36, 0.3), transparent 55%),
    linear-gradient(135deg, rgba(30, 20, 8, 0.95), rgba(6, 8, 14, 0.98));
  color: #fef3c7;
}

@media (prefers-reduced-motion: reduce) {
  .galaxy-btn::before,
  .btn-galaxy::before {
    animation: none;
  }
}

@media (max-width: 480px) {
  .galaxy-btn,
  .btn-galaxy {
    width: 100%;
  }
}
