/* Scoped Bootstrap button fallback.
   This file intentionally contains no reboot, root, grid, or utility styles.
   Selectors use :where() so real theme or Bootstrap button styles win by specificity. */

:where(.vch-data-button.button.btn),
:where(.vch-button.button.btn),
:where(.vch-list-button.button.btn) {
  --bs-btn-padding-x: .75rem;
  --bs-btn-padding-y: .375rem;
  --bs-btn-font-size: 1rem;
  --bs-btn-font-weight: 400;
  --bs-btn-line-height: 1.5;
  --bs-btn-color: #212529;
  --bs-btn-bg: transparent;
  --bs-btn-border-width: 1px;
  --bs-btn-border-color: transparent;
  --bs-btn-border-radius: .375rem;
  --bs-btn-hover-color: #212529;
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-disabled-opacity: .65;
  display: inline-block;
  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
  font-size: var(--bs-btn-font-size);
  font-weight: var(--bs-btn-font-weight);
  line-height: var(--bs-btn-line-height);
  color: var(--bs-btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
  border-radius: var(--bs-btn-border-radius);
  background-color: var(--bs-btn-bg);
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

:where(.vch-data-button.button.btn:hover),
:where(.vch-data-button.button.btn:focus),
:where(.vch-button.button.btn:hover),
:where(.vch-button.button.btn:focus),
:where(.vch-list-button.button.btn:hover),
:where(.vch-list-button.button.btn:focus) {
  color: var(--bs-btn-hover-color);
  text-decoration: none;
  background-color: var(--bs-btn-hover-bg);
  border-color: var(--bs-btn-hover-border-color);
}

:where(.vch-data-button.button.btn-primary),
:where(.vch-button.button.btn-primary),
:where(.vch-list-button.button.btn-primary) {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0b5ed7;
  --bs-btn-hover-border-color: #0a58ca;
}

:where(.vch-data-button.button.btn-secondary),
:where(.vch-button.button.btn-secondary),
:where(.vch-list-button.button.btn-secondary) {
  --bs-btn-color: #fff;
  --bs-btn-bg: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #5c636a;
  --bs-btn-hover-border-color: #565e64;
}

:where(.vch-data-button.button.btn-outline-primary),
:where(.vch-button.button.btn-outline-primary),
:where(.vch-list-button.button.btn-outline-primary) {
  --bs-btn-color: #0d6efd;
  --bs-btn-border-color: #0d6efd;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0d6efd;
  --bs-btn-hover-border-color: #0d6efd;
}

:where(.vch-data-button.button.btn-outline-secondary),
:where(.vch-button.button.btn-outline-secondary),
:where(.vch-list-button.button.btn-outline-secondary) {
  --bs-btn-color: #6c757d;
  --bs-btn-border-color: #6c757d;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #6c757d;
  --bs-btn-hover-border-color: #6c757d;
}

@media (prefers-reduced-motion: reduce) {
  :where(.vch-data-button.button.btn),
  :where(.vch-button.button.btn),
  :where(.vch-list-button.button.btn) {
    transition: none;
  }
}
