@keyframes fhe-booking-button-bounce {
  0%, 100% { transform: translateY(0); }
  45% { transform: translateY(-4px); }
  72% { transform: translateY(-2px); }
}

@keyframes fhe-booking-dot-bounce {
  0%, 100% { transform: translateY(0) scale(1); }
  45% { transform: translateY(-4px) scale(1.06); }
  72% { transform: translateY(-2px) scale(1.03); }
}

/* Buchungs-CTAs reagieren wie die Social-Buttons im Footer. */
a[href^="ferienhaus-finden.html"][class*="button"],
a[href^="ferienhaus-finden.html"].fhe-global-search-jump,
a[href^="ferienhaus-finden.html"][style*="background:#EA795F"],
form[action^="ferienhaus-finden.html"] .fhe-search-launcher-button {
  transform-origin: center;
  will-change: transform;
}

a[href^="ferienhaus-finden.html"][class*="button"]:hover,
a[href^="ferienhaus-finden.html"][class*="button"]:focus-visible,
a[href^="ferienhaus-finden.html"].fhe-global-search-jump:hover,
a[href^="ferienhaus-finden.html"].fhe-global-search-jump:focus-visible,
a[href^="ferienhaus-finden.html"][style*="background:#EA795F"]:hover,
a[href^="ferienhaus-finden.html"][style*="background:#EA795F"]:focus-visible,
form[action^="ferienhaus-finden.html"] .fhe-search-launcher-button:hover,
form[action^="ferienhaus-finden.html"] .fhe-search-launcher-button:focus-visible {
  animation: fhe-booking-button-bounce .42s cubic-bezier(.22,.8,.35,1) both !important;
}

/* Der gelbe Pfeilpunkt in der Suchleiste bewegt sich separat mit. */
.fhe-search-launcher-button b {
  transform-origin: center;
  will-change: transform;
}

.fhe-search-launcher-button:hover b,
.fhe-search-launcher-button:focus-visible b {
  animation: fhe-booking-dot-bounce .42s cubic-bezier(.22,.8,.35,1) both !important;
  background: #ffd074 !important;
}

/* Der Soforthilfe-Pfeil folgt demselben gelben Punkt- und Bounce-System. */
.hero-jump .hero-jump-arrow {
  transform-origin: center;
  will-change: transform;
}

.hero-jump:hover .hero-jump-arrow,
.hero-jump:focus-visible .hero-jump-arrow {
  animation: fhe-booking-dot-bounce .42s cubic-bezier(.22,.8,.35,1) both !important;
  background: #ffd074 !important;
}

/* Externe Hilfelinks nutzen denselben gelben Pfeilpunkt. */
.source-list a::after {
  transform-origin: center;
  will-change: transform;
}

.source-list a:hover::after,
.source-list a:focus-visible::after {
  animation: fhe-booking-dot-bounce .42s cubic-bezier(.22,.8,.35,1) both !important;
  background: #ffd074 !important;
}

@media (prefers-reduced-motion: reduce) {
  a[href^="ferienhaus-finden.html"][class*="button"]:hover,
  a[href^="ferienhaus-finden.html"][class*="button"]:focus-visible,
  a[href^="ferienhaus-finden.html"].fhe-global-search-jump:hover,
  a[href^="ferienhaus-finden.html"].fhe-global-search-jump:focus-visible,
  a[href^="ferienhaus-finden.html"][style*="background:#EA795F"]:hover,
  a[href^="ferienhaus-finden.html"][style*="background:#EA795F"]:focus-visible,
  form[action^="ferienhaus-finden.html"] .fhe-search-launcher-button:hover,
  form[action^="ferienhaus-finden.html"] .fhe-search-launcher-button:focus-visible,
  .fhe-search-launcher-button:hover b,
  .fhe-search-launcher-button:focus-visible b,
  .hero-jump:hover .hero-jump-arrow,
  .hero-jump:focus-visible .hero-jump-arrow,
  .source-list a:hover::after,
  .source-list a:focus-visible::after {
    animation: none !important;
  }
}
