/* Shared button geometry and feedback; existing action colours are preserved. */
:is(button, input[type="button"], input[type="submit"], .store-button, .store-account, .btn-primary, .btn-secondary, .download-button, .pay-button, .account-button, .payment-actions > a) {
  box-sizing: border-box;
  border: 1px solid rgba(99, 86, 165, .32) !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 9px rgba(41, 34, 91, .09) !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
@media (hover: hover) {
  :is(button, input[type="button"], input[type="submit"], .store-button, .store-account, .btn-primary, .btn-secondary, .download-button, .pay-button, .account-button, .payment-actions > a):not(:disabled):not([aria-disabled="true"]):not(.unavailable):hover {
    border-color: rgba(99, 86, 165, .72) !important;
    box-shadow: 0 5px 12px rgba(41, 34, 91, .14) !important;
    transform: translateY(-1px) !important;
  }
}
:is(button, input[type="button"], input[type="submit"], .store-button, .store-account, .btn-primary, .btn-secondary, .download-button, .pay-button, .account-button, .payment-actions > a):focus-visible {
  outline: 3px solid rgba(99, 86, 165, .65);
  outline-offset: 3px;
}
:is(button, input[type="button"], input[type="submit"], .store-button, .store-account, .btn-primary, .btn-secondary, .download-button, .pay-button, .account-button, .payment-actions > a):not(:disabled):not([aria-disabled="true"]):not(.unavailable):active {
  transform: translateY(0) !important;
  box-shadow: 0 1px 4px rgba(41, 34, 91, .1) !important;
}
:is(button:disabled, input:disabled, [aria-disabled="true"], .download-button.unavailable) { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
  :is(button, input[type="button"], input[type="submit"], .store-button, .store-account, .btn-primary, .btn-secondary, .download-button, .pay-button, .account-button, .payment-actions > a) { transition: none !important; }
}
