:is(button, .button, .text-link, .community-action, [role="button"], .site-header summary) {
  transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 100ms ease;
  -webkit-tap-highlight-color: rgb(73 109 84 / 20%);
}

:is(button, [role="button"], .site-header summary):not(:disabled):not([aria-disabled="true"]) {
  cursor: pointer;
}

.button:not(.button-primary):not(.admin-delete-button) {
  border-color: #a7b3a8;
  color: #304d39;
  background-color: #fffefa;
}

:is(button, .button, [role="button"], .site-header summary):focus-visible,
.text-link:focus-visible {
  outline: 3px solid #496d54;
  outline-offset: 3px;
}

@media (hover: hover) {
  :is(button, .button, .community-action, [role="button"], .site-header summary):not(:disabled):not([aria-disabled="true"]):hover {
    background-color: #e4ebe1;
    border-color: #496d54;
    box-shadow: 0 2px 5px rgb(29 40 35 / 14%);
  }

  :is(button, .button).button-primary:not(:disabled):not([aria-disabled="true"]):hover,
  .community-action[aria-pressed="true"]:not(:disabled):not([aria-disabled="true"]):hover {
    color: #fff;
    background-color: #243d2d;
    border-color: #243d2d;
  }

  .text-link:not(:disabled):not([aria-disabled="true"]):hover {
    color: #243d2d;
    text-decoration: underline;
    text-decoration-thickness: 2px;
  }

  :is(button, .button).admin-delete-button:not(:disabled):not([aria-disabled="true"]):hover,
  :is(button, .button).button-danger:not(:disabled):not([aria-disabled="true"]):hover {
    color: #fff;
    background-color: #752b23;
    border-color: #752b23;
  }
}

:is(button, .button, .community-action, [role="button"], .site-header summary):not(:disabled):not([aria-disabled="true"]):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgb(29 40 35 / 22%);
  background-color: #d3dfd0;
}

:is(button, .button).button-primary:not(:disabled):not([aria-disabled="true"]):active,
.community-action[aria-pressed="true"]:not(:disabled):not([aria-disabled="true"]):active {
  color: #fff;
  background-color: #1b3023;
}

:is(button, .button).button-danger {
  color: #fff;
  background-color: #8e392b;
  border-color: #8e392b;
}

:is(button, .button).admin-delete-button:not(:disabled):not([aria-disabled="true"]):active,
:is(button, .button).button-danger:not(:disabled):not([aria-disabled="true"]):active {
  color: #fff;
  background-color: #60221c;
}

:is(button, .button):disabled[disabled],
:is(.button, [role="button"])[aria-disabled="true"] {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

button[aria-busy="true"]:disabled[disabled] {
  cursor: progress;
}

@media (prefers-reduced-motion: reduce) {
  :is(button, .button, .text-link, .community-action, [role="button"], .site-header summary) {
    transition: none;
  }
  :is(button, .button, .community-action, [role="button"], .site-header summary):not(:disabled):not([aria-disabled="true"]):active {
    transform: none;
  }
}
