/* JB Technologies | targeted contrast repair | 2026-10-31
 * Fixes text on the live-chat launcher, the HOMEPAGE admin-dashboard demo
 * and real admin-sidebar hover / active states. Appearance only: no layout,
 * state, animation, event-handler or API changes.
 *
 * An explicit high-specificity prefix is needed because legacy brand skins
 * use :is() with multiple ID selectors and !important declarations.
 */

/* 1. Public visitor chat: dark button + visible white label in all states. */
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  #jb-live-chat.jbl-widget .jbl-launch {
  background: #25282d !important;
  background-image: none !important;
  border: 1px solid #e99a3c !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
}
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  #jb-live-chat.jbl-widget .jbl-launch:is(:hover,:focus-visible,:active) {
  background: #16191d !important;
  border-color: #f5ad58 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  #jb-live-chat.jbl-widget .jbl-launch :is(span,strong,b,small,svg) {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
}

/* 2. Homepage's INTERACTIVE DEMO sidebar (not the live admin). */
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button {
  color: #f5f5f3 !important;
  -webkit-text-fill-color: #f5f5f3 !important;
}
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button:is(:hover,:focus-visible):not(.is-active):not(.active):not([aria-pressed="true"]):not([aria-selected="true"]) {
  background: #3c4148 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button:is(.is-active,.active,[aria-pressed="true"],[aria-selected="true"]),
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button:is(.is-active,.active,[aria-pressed="true"],[aria-selected="true"]):is(:hover,:focus-visible) {
  background: #f5f5f3 !important;
  color: #25282d !important;
  -webkit-text-fill-color: #25282d !important;
}
/* Badges (e.g. Orders 12) must contrast with their own background. */
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button i {
  background: #454951 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.jb-brand-theme:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .jb-admin-showcase .jb-as-sidebar .jb-as-nav button:is(.is-active,.active,[aria-pressed="true"],[aria-selected="true"]) i {
  background: #25282d !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* 3. Actual custom admin console navigation: no white-on-cream hover. */
body.jb-brand-admin:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .admin-sidebar .side-link {
  color: #f5f5f3 !important;
  -webkit-text-fill-color: #f5f5f3 !important;
}
body.jb-brand-admin:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .admin-sidebar .side-link:is(:hover,:focus-visible,.active) {
  background: #f5f5f3 !important;
  color: #25282d !important;
  -webkit-text-fill-color: #25282d !important;
}
body.jb-brand-admin:is(body,#jb-brand-skin#jb-brand-priority#jb-brand-final#jb-brand-system#jb-brand-override#jb-neutral-final#jb-contrast-fix#jb-visibility-fix)
  .admin-sidebar .side-link:focus-visible {
  outline: 2px solid #e99a3c !important;
  outline-offset: 2px;
}
