/* Shared toolbar layout for the button row above the search results table
   (search.html's #table-control-panel) and above the basket table
   (basket.html's top button row) - consolidates what used to be scattered,
   per-button inline styles (float, margin, height, font-size) duplicated
   across both templates into one shared class pair. */
.table-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
}

.table-toolbar .btn {
  margin: 0;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* Add/remove toggle buttons: facility.html's bulk "add all facility data"
   button and landingpage.html's single-dataset "add to basket" button. Both
   keep .btn-success as their base class and stay green at rest; an
   "in basket" state class turns them navy at rest (matching the site's
   existing navy "active state" colour, e.g. .btn-model-active) and then red
   on hover/focus to preview the removal, reusing Bootstrap's own
   .btn-danger hover/active shades directly - main.css's custom ACTRIS hover
   palette is deliberately not applied to .btn-success/.btn-danger (see its
   comment), so these buttons match that same decision. */
#addAllToBasketBtn,
#addToBasketBtn {
  white-space: nowrap;
  text-align: center;
}

#addAllToBasketBtn.is-loading,
#addAllToBasketBtn.is-unavailable {
  background-color: #00aab5 !important;
  border-color: #00aab5 !important;
  color: #fff !important;
  opacity: 1 !important;
}

#addAllToBasketBtn.is-facility-in-basket,
#addToBasketBtn.is-in-basket {
  background-color: #162A82 !important;
  border-color: #162A82 !important;
  color: #fff !important;
}

#addAllToBasketBtn.is-facility-in-basket:hover,
#addAllToBasketBtn.is-facility-in-basket:focus-visible,
#addAllToBasketBtn.is-facility-in-basket:active,
#addAllToBasketBtn.is-facility-in-basket:active:focus,
#addToBasketBtn.is-in-basket:hover,
#addToBasketBtn.is-in-basket:focus-visible,
#addToBasketBtn.is-in-basket:active,
#addToBasketBtn.is-in-basket:active:focus {
  background-color: #b02a37 !important;
  border-color: #b02a37 !important;
  color: #fff !important;
}

#addAllToBasketBtn.is-facility-in-basket:active,
#addAllToBasketBtn.is-facility-in-basket:active:focus,
#addToBasketBtn.is-in-basket:active,
#addToBasketBtn.is-in-basket:active:focus {
  background-color: #8f232c !important;
  border-color: #8f232c !important;
}

/* facility.html: four mutually-exclusive label states stacked in the same
   button, toggled by is-loading/is-unavailable/is-facility-in-basket. */
#addAllToBasketBtn .facility-basket-added-label,
#addAllToBasketBtn .facility-basket-remove-label,
#addAllToBasketBtn .facility-basket-loading-label,
#addAllToBasketBtn .facility-basket-unavailable-label {
  display: none;
}

#addAllToBasketBtn.is-loading .facility-basket-add-label,
#addAllToBasketBtn.is-loading .facility-basket-added-label,
#addAllToBasketBtn.is-loading .facility-basket-remove-label,
#addAllToBasketBtn.is-loading .facility-basket-unavailable-label,
#addAllToBasketBtn.is-unavailable .facility-basket-add-label {
  display: none;
}

#addAllToBasketBtn.is-loading .facility-basket-loading-label {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

#addAllToBasketBtn.is-unavailable .facility-basket-unavailable-label {
  display: inline;
}

#addAllToBasketBtn.is-facility-in-basket .facility-basket-add-label {
  display: none;
}

#addAllToBasketBtn.is-facility-in-basket .facility-basket-added-label {
  display: inline;
}

#addAllToBasketBtn.is-facility-in-basket:hover .facility-basket-added-label,
#addAllToBasketBtn.is-facility-in-basket:focus-visible .facility-basket-added-label {
  display: none;
}

#addAllToBasketBtn.is-facility-in-basket:hover .facility-basket-remove-label,
#addAllToBasketBtn.is-facility-in-basket:focus-visible .facility-basket-remove-label {
  display: inline;
}

/* landingpage.html: three mutually-exclusive label states. */
#addToBasketBtn .inspect-basket-added-label,
#addToBasketBtn .inspect-basket-remove-label {
  display: none;
}

#addToBasketBtn.is-in-basket .inspect-basket-add-label {
  display: none;
}

#addToBasketBtn.is-in-basket .inspect-basket-added-label {
  display: inline;
}

#addToBasketBtn.is-in-basket:hover .inspect-basket-added-label,
#addToBasketBtn.is-in-basket:focus-visible .inspect-basket-added-label {
  display: none;
}

#addToBasketBtn.is-in-basket:hover .inspect-basket-remove-label,
#addToBasketBtn.is-in-basket:focus-visible .inspect-basket-remove-label {
  display: inline;
}
