.service-card,
.groomer,
.anyone,
.type-button,
.stepper button,
.day,
.slot,
.continue,
.professional {
  transition-property: color, background-color, border-color, box-shadow, opacity, transform;
  transition-duration: 160ms;
  transition-timing-function: ease;
}

.service-card:active,
.groomer:active,
.anyone:active,
.day:active,
.slot:active,
.continue:active:not(:disabled),
.professional:active {
  transform: scale(.985);
}

.category-options:not([hidden]),
.breed-results:not([hidden]) {
  animation: booking-menu-open 160ms ease-out both;
  transform-origin: top center;
}

@keyframes booking-menu-open {
  from { opacity: 0; transform: translateY(-5px) scaleY(.98); }
  to { opacity: 1; transform: translateY(0) scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
  .category-options:not([hidden]),
  .breed-results:not([hidden]) {
    animation-duration: 1ms;
  }
  .service-card,
  .groomer,
  .anyone,
  .type-button,
  .stepper button,
  .day,
  .slot,
  .continue,
  .professional {
    transition-duration: 1ms;
  }
}
