/* NOVARIS CLEAN – globale WhatsApp-Pulsanimation, Kontaktseite ausgenommen */
@keyframes novarisWhatsappGoldPulse {
  0%, 100% {
    box-shadow:
      0 0 0 4px rgba(5,5,5,.88),
      0 12px 28px rgba(0,0,0,.48),
      0 0 15px rgba(214,175,89,.42);
  }
  50% {
    box-shadow:
      0 0 0 4px rgba(5,5,5,.88),
      0 14px 32px rgba(0,0,0,.52),
      0 0 30px rgba(214,175,89,.78);
  }
}

@keyframes novarisWhatsappGoldRing {
  0%, 100% { opacity: .74; transform: scale(1); }
  50% { opacity: .16; transform: scale(1.13); }
}

/* Pulsiert auf jeder Route außer der Kontaktseite.
   Der data-loc-Marker deckt auch interne SPA-Navigation ohne Body-Klassenwechsel ab. */
body:not(.is-contact-route):not(:has([data-loc*="client/src/pages/Kontakt.tsx"])) a#novaris-global-whatsapp {
  animation: novarisWhatsappGoldPulse 2.8s ease-in-out infinite !important;
}

body:not(.is-contact-route):not(:has([data-loc*="client/src/pages/Kontakt.tsx"])) a#novaris-global-whatsapp::after {
  animation: novarisWhatsappGoldRing 2.8s ease-out infinite !important;
  border-color: rgba(247,230,173,.88) !important;
}

/* Auf /kontakt gezielt keine Animation – auch wenn die Route per SPA gewechselt wurde. */
body.is-contact-route a#novaris-global-whatsapp,
body:has([data-loc*="client/src/pages/Kontakt.tsx"]) a#novaris-global-whatsapp,
body.is-contact-route a#novaris-global-whatsapp::after,
body:has([data-loc*="client/src/pages/Kontakt.tsx"]) a#novaris-global-whatsapp::after {
  animation: none !important;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.is-contact-route):not(:has([data-loc*="client/src/pages/Kontakt.tsx"])) a#novaris-global-whatsapp,
  body:not(.is-contact-route):not(:has([data-loc*="client/src/pages/Kontakt.tsx"])) a#novaris-global-whatsapp::after {
    animation: none !important;
  }
}

/* Neu geladene SPA-Routen behalten die gewünschte Ausnahme auch bei dynamischem DOM. */
@supports selector(body:has(*)) {
  body:has([data-loc*="client/src/pages/Kontakt.tsx"]) a#novaris-global-whatsapp,
  body:has([data-loc*="client/src/pages/Kontakt.tsx"]) a#novaris-global-whatsapp::after {
    animation: none !important;
  }
}
