/* OpNow — micro-interactions CSS (zéro JS). Tout est désactivé si l'utilisateur
   demande moins d'animations. */
@media (prefers-reduced-motion: no-preference) {

  /* Carte qui se soulève au survol */
  .card-hover-lift {
    transition: transform 180ms ease-out, box-shadow 180ms ease-out;
    will-change: transform;
  }
  .card-hover-lift:hover {
    transform: translateY(-3px) scale(1.015);
    box-shadow: 0 10px 24px -8px rgba(95, 15, 64, 0.18);
  }

  /* CTA primaire : retour tactile au survol / à l'appui */
  .cta-tactile { transition: transform 100ms ease-out; }
  .cta-tactile:hover { transform: scale(1.02); }
  .cta-tactile:active { transform: scale(0.98); }

  /* Icône : petit effet ressort quand le parent est survolé */
  .icon-hover-pop {
    transition: transform 180ms cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  :hover > .icon-hover-pop,
  .icon-hover-pop:hover {
    transform: scale(1.1) rotate(3deg);
  }

  /* Chip / pill de catégorie : léger halo au survol */
  .chip-hover-glow {
    transition: background-color 180ms ease-out, transform 180ms ease-out;
  }
  .chip-hover-glow:hover {
    background-color: var(--color-primary-soft, rgba(95, 15, 64, 0.08));
    transform: scale(1.03);
  }

  /* Pastille « live » qui pulse en continu */
  .pulse-dot {
    position: relative;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background: currentColor;
  }
  .pulse-dot::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: inherit;
    animation: pulse-dot 2s ease-out infinite;
  }
  @keyframes pulse-dot {
    from { transform: scale(1); opacity: 1; }
    to   { transform: scale(1.5); opacity: 0; }
  }
}
