/**
 * Touch-only interaction fixes.
 *
 * Keep hover presentation on mouse devices while ensuring iOS/Android never
 * consume the first tap just to enter a sticky :hover state.
 */
@media (hover: none), (pointer: coarse) {
  :where(a, button, input[type="button"], input[type="submit"], input[type="reset"], .button, [role="button"]) {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(230, 165, 60, 0.2);
  }

  :where(a, button, input[type="button"], input[type="submit"], input[type="reset"], .button, [role="button"]):hover {
    transform: none !important;
    transition-duration: 0s !important;
  }

  .nm-service-card > a:hover,
  .nm-service-card > p:last-child > a:hover,
  .nm-service-contact-trigger:hover,
  .nm-services-contact-form__submit:hover {
    border-color: var(--services-gold) !important;
    background: var(--services-gold) !important;
    color: var(--services-ink) !important;
  }

  .nm-service-card > a:hover span,
  .nm-service-card > p:last-child > a:hover span {
    transform: none !important;
  }

  .nm-contact-form button:hover {
    border-color: #132a4f !important;
    background: #132a4f !important;
    color: #fff !important;
  }

  .nm-corporate-actions .is-primary:hover,
  .nm-corporate-form-wrap .nm-contact-form button:hover {
    border-color: var(--corporate-gold) !important;
    background: var(--corporate-gold) !important;
    color: var(--corporate-ink) !important;
  }

  .nm-corporate-actions .is-secondary:hover {
    border-color: rgba(23, 23, 23, 0.18) !important;
    background: rgba(255, 255, 255, 0.56) !important;
    color: var(--corporate-ink) !important;
  }

  .nm-coop-contact-cta button:hover {
    background: var(--coop-gold) !important;
    color: var(--coop-ink) !important;
  }

  .nm-home-promo__cta:hover {
    background: var(--services-gold) !important;
    box-shadow: none !important;
    color: var(--services-ink) !important;
  }

  .nm-footer-newsletter-form button:hover {
    background: var(--nm-footer-button-bg) !important;
    color: var(--nm-footer-button-text) !important;
  }

  .nm-home-hero__dot:hover,
  .nm-home-hero__dot:focus-visible {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  .nm-home-hero__dot:hover::before {
    background: rgba(19, 42, 79, 0.28) !important;
  }

  .nm-home-hero__dot.is-active:hover::before {
    background: #e6a53c !important;
  }

  :where(
    .nm-service-contact-trigger,
    .nm-services-contact-form__submit,
    .nm-contact-form button,
    .nm-corporate-actions a,
    .nm-coop-contact-cta button,
    .nm-home-promo__cta,
    .nm-footer-newsletter-form button
  ):active {
    opacity: 0.78;
  }
}
