/**
 * Floating "✨ AI" quick-jump button (auto-injected by ai-jump-floating.js).
 * Visible only when an AI summary slot exists AND is shown on the page.
 *
 * 2026-05-22 — added so every AI-enabled tool gets a button without
 * editing 24 individual renderers.
 */

.ai-jump-floating {
  position: fixed;
  right: 18px;
  bottom: 80px; /* sits above the cookie banner + chat bubble safe zone */
  z-index: 9000;

  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 10px 14px;
  border: 1px solid var(--border2, rgba(255, 255, 255, 0.12));
  border-radius: 999px;

  background:
    linear-gradient(135deg, var(--accent, #5b8af8) 0%, var(--accent2, #7c60f5) 100%);
  color: #fff;
  font-family: var(--sans, 'Inter', system-ui, sans-serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  box-shadow:
    0 8px 28px rgba(91, 138, 248, 0.35),
    0 2px 6px rgba(0, 0, 0, 0.4);

  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    opacity 0.18s ease;
}

.ai-jump-floating:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow:
    0 14px 36px rgba(91, 138, 248, 0.45),
    0 4px 10px rgba(0, 0, 0, 0.5);
}

.ai-jump-floating:active {
  transform: translateY(0) scale(0.98);
}

.ai-jump-floating__icon {
  font-size: 15px;
  line-height: 1;
}

.ai-jump-floating__label {
  font-weight: 600;
}

/* Pulse animation when AI completes (existing .ai-jump-btn.is-pending hook). */
.ai-jump-floating.is-pending {
  animation: aiJumpFloatingPulse 0.6s ease 2;
}

@keyframes aiJumpFloatingPulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-3px) scale(1.06); }
}

/* Mobile: smaller + tucked closer to bottom-right corner. */
@media (max-width: 600px) {
  .ai-jump-floating {
    right: 12px;
    bottom: 70px;
    padding: 8px 12px;
    font-size: 12px;
  }
}

/* Respect prefers-reduced-motion. */
@media (prefers-reduced-motion: reduce) {
  .ai-jump-floating,
  .ai-jump-floating:hover,
  .ai-jump-floating:active {
    transition: none;
    transform: none;
  }
  .ai-jump-floating.is-pending {
    animation: none;
  }
}
