/*
 * Move with Rae: how every button feels when it is pressed. One small file, linked from every page, so the public site,
 * the client portal and the coach portal all answer a tap the same way and no page needs its own rule.
 *   pressed   a quick dip: the button shrinks a little and darkens, then eases back
 *   focus     a clear ring for keyboard use (not shown for mouse or touch)
 *   touch     no grey flash on iPhone; the pressed look replaces it
 * Pages keep their own colours and shapes. The selector list is wrapped in :where() so it adds no weight of its own,
 * and the pressed rule uses the individual `scale` property, which stacks with any transform a page already sets.
 */
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
  .btn, .btn-primary, .btn-ghost, .nav-cta, .tab-cta, .apply-btn, .buy-btn, .linkbtn, .paybtn, .callbtn, .slotBtn, .shareBtn, .rowbtn, .tbtn, .ctas a, .cta-band a, .exlink) {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: scale .14s cubic-bezier(.2, .7, .3, 1), filter .14s ease;
}
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
  .btn, .btn-primary, .btn-ghost, .nav-cta, .tab-cta, .apply-btn, .buy-btn, .linkbtn, .paybtn, .callbtn, .slotBtn, .shareBtn, .rowbtn, .tbtn, .ctas a, .cta-band a, .exlink):not(:disabled):not([aria-disabled="true"]):active {
  scale: .96;
  filter: brightness(.92);
  transition-duration: .06s;
}
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
  .btn, .btn-primary, .btn-ghost, .nav-cta, .tab-cta, .apply-btn, .buy-btn, .linkbtn, .paybtn, .callbtn, .slotBtn, .shareBtn, .rowbtn, .tbtn, .ctas a, .cta-band a, .exlink):focus-visible {
  outline: 2px solid #A8566A;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  :where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"],
    .btn, .btn-primary, .btn-ghost, .nav-cta, .tab-cta, .apply-btn, .buy-btn, .linkbtn, .paybtn, .callbtn, .slotBtn, .shareBtn, .rowbtn, .tbtn, .ctas a, .cta-band a, .exlink):not(:disabled):not([aria-disabled="true"]):active {
    scale: none; /* no movement, the darkening still shows it was pressed */
  }
}
