/* Shared hover contrast: a filled action always retains a white label. */
@media (hover: hover) {
  .button:hover,
  .button:focus-visible,
  .catalogue-button:hover,
  .catalogue-button:focus-visible,
  .catalogue-button.price-request:hover,
  .catalogue-button.price-request:focus-visible,
  .trade-call:hover,
  .trade-call:focus-visible,
  .trade-whatsapp:hover,
  .trade-whatsapp:focus-visible,
  .footer-trade-action:hover,
  .footer-trade-action:focus-visible,
  .partner-tabs button:hover,
  .partner-tabs button:focus-visible {
    background: var(--color-brand-primary) !important;
    border-color: var(--color-brand-primary) !important;
    color: #fff !important;
  }

  .site-footer .footer-cta:hover,
  .site-footer .footer-cta:focus-visible {
    background: var(--color-brand-deep) !important;
    border-color: #fff !important;
    color: #fff !important;
  }

  /* Elisa's component stylesheet uses !important declarations, so it needs this matching override. */
  body .range-top .catalogue-actions a.catalogue-button:hover,
  body .range-top .catalogue-actions a.catalogue-button:focus-visible,
  body .range-top .catalogue-actions a.catalogue-button.dealer:hover,
  body .range-top .catalogue-actions a.catalogue-button.dealer:focus-visible {
    background: var(--color-brand-primary) !important;
    border-color: var(--color-brand-primary) !important;
    color: #fff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .button,
  .catalogue-button,
  .site-footer .footer-cta { transition: none !important; }
}
