/* Custom Spend It Together icons */
.sit-icon {
  width: 1.05em;
  height: 1.05em;
  display: inline-block;
  flex: 0 0 auto;
  vertical-align: -0.15em;
  color: currentColor;
  overflow: visible;
}

.sit-icon--lg {
  width: 1.35em;
  height: 1.35em;
}

.sit-icon--xl {
  width: 1.7em;
  height: 1.7em;
}

.card-icon .sit-icon,
.icon-circle .sit-icon {
  width: 1.15rem;
  height: 1.15rem;
}

.btn .sit-icon {
  width: 1em;
  height: 1em;
}

.dropdown-item .sit-icon {
  width: 1.05rem;
  height: 1.05rem;
  margin-right: 2px;
  color: var(--text-muted);
}

.logo-mark .sit-icon {
  width: 1.05rem;
  height: 1.05rem;
  color: inherit;
}

/* Micro-motion: presence, not noise */
@keyframes sit-sync-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes sit-goal-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06); }
}

@keyframes sit-save-nudge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-1px); }
}

@keyframes sit-arrow-slide {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(2px); }
}

@keyframes sit-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes sit-bill-drift {
  0%, 100% { transform: translate(0, 0) rotate(-4deg); opacity: .7; }
  50% { transform: translate(-4px, 8px) rotate(3deg); opacity: 1; }
}

@keyframes sit-orb-pulse {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.04); opacity: 1; }
}

.btn .sit-icon--sync {
  animation: sit-sync-spin 14s linear infinite;
  transform-origin: center;
}

.btn:hover .sit-icon--sync,
.sit-icon--sync.is-busy {
  animation: sit-sync-spin 1.1s linear infinite;
}

.btn:hover .sit-icon--goal {
  animation: sit-goal-breathe 1.2s ease-in-out infinite;
  transform-origin: center;
}

.btn:hover .sit-icon--save {
  animation: sit-save-nudge 0.7s ease-in-out infinite;
}

.btn:hover .sit-icon--arrow {
  animation: sit-arrow-slide 0.8s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
  .btn .sit-icon--sync,
  .btn:hover .sit-icon--sync,
  .btn:hover .sit-icon--goal,
  .btn:hover .sit-icon--save,
  .btn:hover .sit-icon--arrow,
  .auth-art-float,
  .auth-bloom-orb,
  .auth-bloom-bill {
    animation: none !important;
  }
}
