/*
 * Shared press feedback for GitStay buttons and button-like controls.
 * Visual-only: does not alter click handlers, navigation, or form behavior.
 */
:where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a.btn,
  a.button,
  a.primary,
  a.primary-wide,
  a.secondary,
  a.ghost,
  a.search-button,
  a.cta-booking-button,
  a.owner-button,
  a.btn-availability,
  a.nav-btn,
  .btn,
  .button,
  .primary,
  .primary-wide,
  .secondary,
  .ghost,
  .search-button,
  .cta-booking-button,
  .owner-button,
  .btn-availability,
  .nav-btn,
  .icon-button
) {
  transition: transform 120ms ease-out, filter 120ms ease-out, box-shadow 120ms ease-out;
  -webkit-tap-highlight-color: transparent;
}

:where(
  button,
  input[type="button"],
  input[type="submit"],
  input[type="reset"],
  [role="button"],
  a.btn,
  a.button,
  a.primary,
  a.primary-wide,
  a.secondary,
  a.ghost,
  a.search-button,
  a.cta-booking-button,
  a.owner-button,
  a.btn-availability,
  a.nav-btn,
  .btn,
  .button,
  .primary,
  .primary-wide,
  .secondary,
  .ghost,
  .search-button,
  .cta-booking-button,
  .owner-button,
  .btn-availability,
  .nav-btn,
  .icon-button
):active:not(:disabled):not([aria-disabled="true"]) {
  transform: translateY(1px) scale(0.985);
  filter: brightness(0.97);
}

:where(button, input[type="button"], input[type="submit"], input[type="reset"]):disabled,
:where([role="button"], a.btn, a.button, a.primary, a.primary-wide, a.secondary, a.ghost, a.search-button, a.cta-booking-button, a.owner-button, a.btn-availability, a.nav-btn)[aria-disabled="true"] {
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  :where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    a.btn,
    a.button,
    a.primary,
    a.primary-wide,
    a.secondary,
    a.ghost,
    a.search-button,
    a.cta-booking-button,
    a.owner-button,
    a.btn-availability,
    a.nav-btn,
    .btn,
    .button,
    .primary,
    .primary-wide,
    .secondary,
    .ghost,
    .search-button,
    .cta-booking-button,
    .owner-button,
    .btn-availability,
    .nav-btn,
    .icon-button
  ) {
    transition: none;
  }

  :where(
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    a.btn,
    a.button,
    a.primary,
    a.primary-wide,
    a.secondary,
    a.ghost,
    a.search-button,
    a.cta-booking-button,
    a.owner-button,
    a.btn-availability,
    a.nav-btn,
    .btn,
    .button,
    .primary,
    .primary-wide,
    .secondary,
    .ghost,
    .search-button,
    .cta-booking-button,
    .owner-button,
    .btn-availability,
    .nav-btn,
    .icon-button
  ):active:not(:disabled):not([aria-disabled="true"]) {
    transform: none;
    filter: none;
  }
}
