/* ============================================
   Interaction Feedback — Redemption House
   All interactive elements get tactile press
   feedback on both desktop and mobile.
   ============================================ */

/* Remove iOS blue tap flash on all elements */
* {
  -webkit-tap-highlight-color: transparent;
}

/* -------------------------------------------
   Base transition for all interactive elements
   Fast press (80ms), smooth spring-back (200ms)
   ------------------------------------------- */
a, button {
  transition:
    transform 0.2s ease-out,
    filter 0.2s ease-out,
    opacity 0.2s ease-out,
    box-shadow 0.2s ease-out;
  will-change: transform;
}

/* Tighten to a fast press on active */
a:active,
button:active,
a.pressing,
button.pressing {
  transition-duration: 0.08s;
  transition-timing-function: ease-in;
}


/* -------------------------------------------
   Pill / CTA Buttons
   bg-accent and bg-primary rounded-full
   → Scale down + darken (physical press feel)
   ------------------------------------------- */
a[class*="rounded-full"]:active,
a[class*="rounded-full"].pressing,
button[class*="rounded-full"]:active,
button[class*="rounded-full"].pressing {
  transform: scale(0.94);
  filter: brightness(0.84);
}


/* -------------------------------------------
   Header Nav Links
   → Subtle scale + fade
   ------------------------------------------- */
header nav a:active,
header nav a.pressing {
  opacity: 0.5;
  transform: scale(0.95);
}


/* -------------------------------------------
   FAB Button
   → Brightness only (transform already used
     for show/hide animation — don't conflict)
   ------------------------------------------- */
#fab-btn:active,
#fab-btn.pressing {
  filter: brightness(0.75);
}

/* FAB menu nav links → slide + fade */
#fab-menu nav a:active,
#fab-menu nav a.pressing {
  opacity: 0.55;
  transform: translateX(4px);
}

#fab-menu .px-3 a:active,
#fab-menu .px-3 a.pressing {
  transform: scale(0.96);
  filter: brightness(0.88);
}


/* -------------------------------------------
   Footer Links
   → Simple opacity fade
   ------------------------------------------- */
footer a:active,
footer a.pressing {
  opacity: 0.45;
}


/* -------------------------------------------
   Card Links (board members, store products,
   any <a> wrapping a rounded card)
   ------------------------------------------- */
a[class*="rounded-3xl"]:active,
a[class*="rounded-3xl"].pressing,
a[class*="rounded-2xl"]:active,
a[class*="rounded-2xl"].pressing {
  transform: scale(0.985);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}


/* -------------------------------------------
   Accessibility — respect reduced motion
   ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  a, button {
    transition: opacity 0.15s ease !important;
    will-change: auto !important;
  }
  a:active, button:active,
  a.pressing, button.pressing {
    transform: none !important;
    filter: none !important;
    opacity: 0.6 !important;
  }
}
