button:focus-visible,
.button-primary:focus-visible,
.button-secondary:focus-visible,
.button-danger:focus-visible,
.slot-cancel:focus-visible,
.calendar-nav:focus-visible,
a.pin-action:focus-visible,
a.admin-link:focus-visible {
  outline: 3px solid rgba(37, 99, 235, 0.35);
  outline-offset: 3px;
  box-shadow: 0 0 0 5px rgba(37, 99, 235, 0.12), 0 10px 22px rgba(15, 23, 42, 0.12);
}

.button-danger:focus-visible,
button.button-danger:focus-visible {
  outline-color: rgba(185, 28, 28, 0.35);
  box-shadow: 0 0 0 5px rgba(185, 28, 28, 0.12), 0 10px 22px rgba(15, 23, 42, 0.12);
}

.button-secondary:focus-visible,
a.pin-action:focus-visible,
a.admin-link:focus-visible {
  border-radius: 12px;
}

@media (prefers-reduced-motion: no-preference) {
  button,
  .button-primary,
  .button-secondary,
  .button-danger,
  .slot-cancel,
  .calendar-nav,
  a.pin-action,
  a.admin-link {
    transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, outline-color 0.18s ease, transform 0.18s ease;
  }

  button:focus-visible,
  .button-primary:focus-visible,
  .button-secondary:focus-visible,
  .button-danger:focus-visible,
  .slot-cancel:focus-visible,
  .calendar-nav:focus-visible {
    transform: translateY(-1px);
  }
}
