/* ================================================================
   SceneLink Universal Actions — Save, Plan, Toast, Badge
   Applied globally; works with any card/button system.
   ================================================================ */

/* Saved state — gold heart */
[data-sl-action="save"].sl-saved,
[data-sl-action="save"].saved {
  color: #D4AF37 !important;
  border-color: rgba(212, 175, 55, 0.6) !important;
}
[data-sl-action="save"].sl-saved i,
[data-sl-action="save"].saved i {
  color: #D4AF37 !important;
}

/* In-plan state — green check */
[data-sl-action="plan"].sl-in-plan,
[data-sl-action="plan"].in-plan {
  background: linear-gradient(135deg, rgba(34,197,94,0.18), rgba(34,197,94,0.06)) !important;
  border-color: rgba(34,197,94,0.55) !important;
  color: #22c55e !important;
}
[data-sl-action="plan"].sl-in-plan i,
[data-sl-action="plan"].in-plan i {
  color: #22c55e !important;
}

/* Hover polish for all action buttons */
[data-sl-action] {
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
[data-sl-action]:hover {
  transform: translateY(-1px);
}
[data-sl-action]:active {
  transform: scale(0.96);
}

/* Plan count badge (for header/nav) */
.sl-plan-count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: #D4AF37;
  color: #000;
  font-size: 11px;
  font-weight: 700;
  margin-left: 4px;
  line-height: 1;
}
.sl-plan-count-badge[style*="display: none"] { display: none !important; }

/* Tiny pulse when saved */
@keyframes sl-heart-pulse {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.25); }
  60%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}
[data-sl-action="save"].sl-saved i {
  animation: sl-heart-pulse 0.38s ease;
}

/* Tiny pop when added to plan */
@keyframes sl-plan-pop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}
[data-sl-action="plan"].sl-in-plan i {
  animation: sl-plan-pop 0.38s ease;
}