/* Shared action colors for Black Panther pages and tools. */
:root {
  --bp-action-accent: #c6f332;
  --bp-action-hover: #b6e225;
  --bp-action-ink: #182019;
  --bp-action-deep: #4c6817;
  --bp-action-soft: #eff5df;
  --bp-action-soft-hover: #e1edc6;
  --bp-action-soft-ink: #354c16;
  --bp-action-border: #aebf85;
  --bp-action-focus: #4c6817;
}
body:is(.test-dark, .dark, [data-theme="dark"]),
html[data-theme="dark"] body {
  --bp-action-soft: #293923;
  --bp-action-soft-hover: #364a2e;
  --bp-action-soft-ink: #e5f1cd;
  --bp-action-border: #68864f;
  --bp-action-focus: #c6f332;
}

/* Plain buttons default to the secondary treatment. */
body :is(
  .btn:not(.btn-danger, .danger, .btn-link, .btn-close), .btnx-ghost,
  .outline-btn, .tg-secondary-button, .paper-button-small, .mini-btn:not(.danger),
  .tools-filters button, .work-filters button, .filter-button, .view-button,
  .orientation-btn, .repair-tool, .playlist-mode-btn, .icon-btn:not(.danger),
  .clear-filter-button, .quick-contact-back, .quick-contact-close, :where(#search-close),
  .hero-actions > a + a
) {
  --bs-btn-bg: var(--bp-action-soft);
  --bs-btn-color: var(--bp-action-soft-ink);
  --bs-btn-border-color: var(--bp-action-border);
  --bs-btn-hover-bg: var(--bp-action-soft-hover);
  --bs-btn-hover-color: var(--bp-action-soft-ink);
  --bs-btn-hover-border-color: var(--bp-action-focus);
  background: var(--bp-action-soft) !important;
  color: var(--bp-action-soft-ink) !important;
  border-color: var(--bp-action-border) !important;
}
body :is(
  .btn:not(.btn-danger, .danger, .btn-link, .btn-close), .btnx-ghost,
  .outline-btn, .tg-secondary-button, .paper-button-small, .mini-btn:not(.danger),
  .tools-filters button, .work-filters button, .filter-button, .view-button,
  .orientation-btn, .repair-tool, .playlist-mode-btn, .icon-btn:not(.danger),
  .clear-filter-button, .quick-contact-back, .quick-contact-close, :where(#search-close),
  .hero-actions > a + a
):hover {
  background: var(--bp-action-soft-hover) !important;
  border-color: var(--bp-action-focus) !important;
}

/* Confirmations, calls to action and selected options use the brand accent. */
body :is(
  .btn-primary, .btn-success, .btn-line, .btn.primary, .btnx-primary, .solid-btn,
  .tg-primary-button, .paper-button:not(.paper-button-small), .nav-cta,
  .modal-confirm, .original-line, .solid-action, .contact-strip > a,
  .hero-actions > a:first-child, .plan .text-action, .site-search button,
  .quick-contact-submit, .quick-contact-message,
  button[type="submit"]:not(.btn-danger, .danger),
  input[type="submit"]:not(.btn-danger, .danger)
),
body :is(
  .tools-filters button, .work-filters button, .filter-button, .view-button,
  .orientation-btn, .repair-tool, .playlist-mode-btn, .hero-carousel-controls button
):is([aria-pressed="true"], [aria-current="true"], .is-active, .active) {
  --bs-btn-bg: var(--bp-action-accent);
  --bs-btn-color: var(--bp-action-ink);
  --bs-btn-border-color: var(--bp-action-accent);
  --bs-btn-hover-bg: var(--bp-action-hover);
  --bs-btn-hover-color: var(--bp-action-ink);
  --bs-btn-hover-border-color: var(--bp-action-hover);
  background: var(--bp-action-accent) !important;
  color: var(--bp-action-ink) !important;
  border-color: var(--bp-action-accent) !important;
}
body :is(
  .btn-primary, .btn-success, .btn-line, .btn.primary, .btnx-primary, .solid-btn,
  .tg-primary-button, .paper-button:not(.paper-button-small), .nav-cta,
  .modal-confirm, .original-line, .solid-action, .contact-strip > a,
  .hero-actions > a:first-child, .plan .text-action, .site-search button,
  .quick-contact-submit, .quick-contact-message,
  button[type="submit"]:not(.btn-danger, .danger),
  input[type="submit"]:not(.btn-danger, .danger)
):hover,
body :is(
  .tools-filters button, .work-filters button, .filter-button, .view-button,
  .orientation-btn, .repair-tool, .playlist-mode-btn, .hero-carousel-controls button
):is([aria-pressed="true"], [aria-current="true"], .is-active, .active):hover {
  background: var(--bp-action-hover) !important;
  border-color: var(--bp-action-hover) !important;
}

body :is(button, input[type="submit"], a.btn, a.btnx, a.solid-btn, a.outline-btn):focus-visible {
  outline: 2px solid var(--bp-action-focus);
  outline-offset: 3px;
}
body :is(button, input[type="submit"], .btn, .btnx):is(:disabled, [aria-disabled="true"], .disabled) {
  opacity: .62;
}
