/**
 * Reign, BuddyPress/BuddyBoss and Elementor dark integration.
 * #111113 is the permanent project canvas; elevated surfaces remain dark.
 */

body.bbre-active {
  color-scheme: dark;
  --reign-colors-theme: var(--bbre-primary);
  --reign-colors-theme-rgb: var(--bbre-primary-rgb);
  --reign-accent-color: var(--bbre-primary);
  --reign-accent-hover-color: var(--bbre-primary-light);
  --reign-site-body-bg-color: var(--bbre-bg-body);
  --reign-site-body-text-color: var(--bbre-text-secondary);
  --reign-site-body-text-color-rgb: 180, 180, 189;
  --reign-site-headings-color: var(--bbre-text-primary);
  --reign-site-link-color: var(--bbre-primary-light);
  --reign-site-link-hover-color: #ffffff;
  --reign-site-alternate-text-color: var(--bbre-text-muted);
  --reign-site-alternate-text-color-rgb: 133, 133, 143;
  --reign-site-sections-bg-color: var(--bbre-bg-surface);
  --reign-site-secondary-bg-color: var(--bbre-bg-soft);
  --reign-site-border-color: var(--bbre-border-color);
  --reign-site-border-color-rgb: 45, 45, 51;
  --reign-site-hr-color: var(--bbre-border-color);
  --reign-site-button-bg-color: var(--bbre-primary);
  --reign-site-button-bg-hover-color: var(--bbre-primary-hover);
  --reign-site-button-text-color: #ffffff;
  --reign-site-button-text-hover-color: #ffffff;
  --reign-form-background-color: #17171a;
  --reign-form-focus-background-color: #1d1d21;
  --reign-form-border-color: var(--bbre-border-color-strong);
  --reign-form-focus-border-color: var(--bbre-primary);
  --reign-form-text-color: var(--bbre-text-primary);
  --reign-form-focus-text-color: #ffffff;
  --reign-form-placeholder-color: var(--bbre-text-muted);
  --reign-form-focus-placeholder-color: var(--bbre-text-muted);
  --reign-header-bg-color: rgba(17, 17, 19, 0.92);
  --reign-header-nav-bg-color: rgba(17, 17, 19, 0.92);
  --reign-header-icon-color: var(--bbre-text-secondary);
  --reign-header-icon-hover-color: #ffffff;
  --reign-header-main-menu-bg-hover-color: var(--bbre-bg-surface-hover);
  --reign-header-main-menu-bg-active-color: var(--bbre-bg-surface-active);
  --reign-header-main-menu-text-hover-color: #ffffff;
  --reign-header-main-menu-text-active-color: var(--bbre-primary-light);
  --reign-header-sub-menu-bg-color: var(--bbre-bg-elevated);
  --reign-header-sub-menu-bg-hover-color: var(--bbre-bg-surface-hover);
  --reign-header-sub-menu-text-hover-color: #ffffff;
  --reign-left-panel-bg-color: var(--bbre-panel-bg);
  --reign-left-panel-menu-font-color: var(--bbre-text-secondary);
  --reign-left-panel-menu-hover-color: #ffffff;
  --reign-left-panel-menu-bg-hover-color: var(--bbre-bg-surface-hover);
  --reign-left-panel-menu-bg-active-color: var(--bbre-bg-surface-active);
  --reign-left-panel-menu-icon-active-color: var(--bbre-primary-light);
  --reign-left-panel-tooltip-bg-color: var(--bbre-panel-tooltip-bg);
  --reign-left-panel-tooltip-color: #ffffff;
  --reign-mobile-menu-bg-color: #151517;
  --reign-mobile-menu-color: var(--bbre-text-secondary);
  --reign-mobile-menu-hover-color: #ffffff;
  --reign-mobile-menu-active-color: var(--bbre-primary-light);
  --reign-mobile-menu-active-bg-color: var(--bbre-bg-surface-active);
  background: var(--bbre-bg-body) !important;
  color: var(--bbre-text-secondary);
}

body.bbre-active #page,
body.bbre-active .site,
body.bbre-active .site-content,
body.bbre-active .content-wrapper,
body.bbre-active #primary,
body.bbre-active .elementor-location-single,
body.bbre-active .elementor-location-archive {
  background-color: var(--bbre-bg-body);
}

body.bbre-active :where(h1, h2, h3, h4, h5, h6) {
  color: var(--bbre-text-primary);
}

/* Header, desktop dropdowns and Reign's native mobile drawer. */
body.bbre-active #masthead .reign-fallback-header,
body.bbre-active #masthead .header-desktop,
body.bbre-active .reign-fallback-header.header-mobile,
body.bbre-active .reign-nav-top-bar,
body.bbre-active .navbar-menu-container > :where(div, nav),
body.bbre-active .reign-user-toggler .user-profile-menu-wrapper > :where(div, nav),
body.bbre-active .sub-menu,
body.bbre-active .rg-dropdown {
  background-color: var(--bbre-bg-soft) !important;
  border-color: var(--bbre-border-color) !important;
}

body.bbre-active .reign-navbar-mobile .navbar-menu-container,
body.bbre-active .reign-user-toggler .user-profile-menu-wrapper {
  background: rgba(0, 0, 0, 0.68) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.bbre-active .reign-navbar-mobile .navbar-menu-container > *,
body.bbre-active .reign-user-toggler .user-profile-menu-wrapper > * {
  background: #151517 !important;
  border-color: var(--bbre-border-color) !important;
}

/* Community cards and content surfaces. */
body.bbre-active :where(
  .widget,
  .reign-block-content,
  .buddypress-wrap .bp-list > li,
  #buddypress .activity-list > li,
  #buddypress .activity-update-form,
  #buddypress #whats-new-form,
  .activity-comments,
  .bb-groups-list-item,
  .bb-members-list-item,
  .bp-messages-content,
  #message-threads,
  .bb-profile-grid,
  .bp-navs,
  .item-body,
  .modal-content,
  .bb-action-popup
) {
  background-color: var(--bbre-bg-surface) !important;
  border-color: var(--bbre-border-color) !important;
  color: var(--bbre-text-secondary);
}

body.bbre-active #buddypress .activity-list > li,
body.bbre-active .buddypress-wrap .bp-list > li,
body.bbre-active .widget,
body.bbre-active .modal-content,
body.bbre-active .bb-action-popup {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.025), var(--bbre-shadow-sm);
}

body.bbre-active :where(
  .activity-header,
  .activity-header p,
  .activity-inner,
  .activity-inner p,
  .acomment-content,
  .item-meta,
  .bp-feedback,
  .bp-help-text,
  .description
) {
  color: var(--bbre-text-secondary) !important;
}

body.bbre-active :where(.activity-header a, .item-title a, .user-name, .bb-user-name a) {
  color: var(--bbre-text-primary) !important;
}

/* Inputs stay dark in BuddyPress and Elementor forms. */
body.bbre-active :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select),
body.bbre-active .elementor-field-group :where(input, textarea, select) {
  background-color: #17171a !important;
  border-color: var(--bbre-border-color-strong) !important;
  color: var(--bbre-text-primary) !important;
  box-shadow: none !important;
}

body.bbre-active :where(input, textarea, select):focus {
  background-color: #1d1d21 !important;
  border-color: var(--bbre-primary) !important;
  box-shadow: 0 0 0 3px rgba(var(--bbre-primary-rgb), 0.13) !important;
  outline: none !important;
}

body.bbre-active ::placeholder {
  color: var(--bbre-text-muted) !important;
  opacity: 1;
}

/* Never allow the theme's generic white action hover. */
body.bbre-active :where(
  .buddypress-wrap .generic-button a,
  .buddypress-wrap .generic-button button,
  #buddypress .button,
  #buddypress button,
  .activity-meta a,
  .activity-meta button,
  .bp-navs a
) {
  border-color: transparent !important;
}

body.bbre-active :where(
  .buddypress-wrap .generic-button a,
  .buddypress-wrap .generic-button button,
  #buddypress .button,
  #buddypress button,
  .activity-meta a,
  .activity-meta button,
  .bp-navs a
):hover,
body.bbre-active :where(
  .buddypress-wrap .generic-button a,
  .buddypress-wrap .generic-button button,
  #buddypress .button,
  #buddypress button,
  .activity-meta a,
  .activity-meta button,
  .bp-navs a
):focus-visible {
  background: var(--bbre-bg-surface-hover) !important;
  border-color: var(--bbre-border-color) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.bbre-active .bp-navs li.current a,
body.bbre-active .bp-navs li.selected a {
  background: var(--bbre-bg-surface-active) !important;
  color: var(--bbre-primary-light) !important;
}

/* Elementor inherits the palette without overriding explicit widget backgrounds. */
body.bbre-active .elementor {
  --e-global-color-text: var(--bbre-text-secondary);
  --e-global-color-primary: var(--bbre-primary);
  --e-global-color-secondary: var(--bbre-text-primary);
  color: var(--bbre-text-secondary);
}

body.bbre-active .elementor-widget-text-editor,
body.bbre-active .elementor-widget-theme-post-content {
  color: inherit;
}

/* Scrollbars and selections complete the dark surface. */
body.bbre-active * {
  scrollbar-color: #3a3a42 transparent;
}

body.bbre-active *::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

body.bbre-active *::-webkit-scrollbar-thumb {
  background: #3a3a42;
  border: 2px solid transparent;
  border-radius: 999px;
  background-clip: padding-box;
}

body.bbre-active ::selection {
  background: rgba(var(--bbre-primary-rgb), 0.34);
  color: #ffffff;
}
