/* Q77 V12.3.14.6 - match the original bottom tab bar's gentle icon bounce.
   Interaction-only layer: never changes layout size, spacing, background or routing. */
@keyframes q77-menu-icon-enter {
  0%   { transform: scale(.95); animation-timing-function: cubic-bezier(.22,1,.36,1); }
  50%  { transform: scale(1.04); animation-timing-function: cubic-bezier(.22,1,.36,1); }
  100% { transform: scale(1); }
}
@keyframes q77-menu-card-enter {
  0%   { transform: scale(.97); animation-timing-function: cubic-bezier(.22,1,.36,1); }
  50%  { transform: scale(1.025); animation-timing-function: cubic-bezier(.22,1,.36,1); }
  100% { transform: scale(1); }
}
@keyframes q77-menu-underline-enter {
  0%   { transform: scaleX(.45); opacity: .6; }
  65%  { transform: scaleX(1.10); opacity: 1; }
  100% { transform: scaleX(1); opacity: 1; }
}
/* Keep the original quick-link spacing and transparent background. */
.q77-quick-item .q77-quick-icon,
.q77-more-category-item .q77-more-category-icon,
.q77-more-gender-card {
  transform-origin: center center;
  transition: transform .12s cubic-bezier(.22,1,.36,1), box-shadow .16s ease;
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
}
.q77-quick-item,
.q77-more-category-item,
.q77-more-gender-card {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
/* Immediate press feedback also works when JavaScript has not loaded. */
.q77-quick-item:active .q77-quick-icon,
.q77-more-category-item:active .q77-more-category-icon {
  transform: scale(.94);
}
.q77-more-gender-card:active { transform: scale(.97); }
/* Delegated touch/pointer handling runs the same spring as the original menu. */
.q77-quick-item.q77-menu-animate .q77-quick-icon,
.q77-more-category-item.q77-menu-animate .q77-more-category-icon {
  animation: q77-menu-icon-enter .30s both;
}
.q77-more-gender-card.q77-menu-animate {
  animation: q77-menu-card-enter .30s both;
}
/* The existing active state controls filtering; animate its underline only. */
.q77-more-category-item.is-active .q77-more-category-underline {
  transform-origin: center;
  animation: q77-menu-underline-enter .26s cubic-bezier(.22,1,.36,1) both;
}
@media (prefers-reduced-motion: reduce) {
  .q77-quick-item .q77-quick-icon,
  .q77-more-category-item .q77-more-category-icon,
  .q77-more-gender-card { transition: none !important; }
  .q77-quick-item.q77-menu-animate .q77-quick-icon,
  .q77-more-category-item.q77-menu-animate .q77-more-category-icon,
  .q77-more-gender-card.q77-menu-animate,
  .q77-more-category-item.is-active .q77-more-category-underline {
    animation: none !important;
    transform: none !important;
  }
}
