/**
 * BastionGuard Community — premium bbPress experience.
 * Scoped to .bsg-forum-ui, with shared bbPress profile/search styling.
 * Loaded after the theme's existing bbPress styles; preserves core bbPress forms.
 */
:root {
  --bsgx-bg: #ffffff;
  --bsgx-surface: #ffffff;
  --bsgx-panel: #ffffff;
  --bsgx-panel-high: #ffffff;
  --bsgx-border: rgba(90,163,204,0.23);
  --bsgx-text: #121f32;
  --bsgx-muted: #4d5d73;
  --bsgx-accent: #086beb;
  --bsgx-blue: #1ba9ff;
  --bsgx-purple: #086beb;
  --bsgx-radius: 14px;
}
body.bbpress { background-color: var(--bsgx-bg); }
body.bbpress .bsg-navbar { background: #ffffff !important; border-bottom: 1px solid var(--bsgx-border); backdrop-filter: blur(18px); box-shadow: 0 8px 35px rgba(10,45,90,0.069); }
body.bbpress .bsg-navbar .nav-link { color: #66768a; }
body.bbpress .bsg-navbar .nav-link:hover, body.bbpress .bsg-navbar .current-menu-item > .nav-link { color: var(--bsgx-accent); }
body.bbpress .bsg-navbar .btn-bsg-primary { border-radius: 10px; }
body.bbpress .bsg-main, body.bbpress .bsg-content { overflow: visible; }

#bbpress-forums .bsg-forum-ui, .bsg-forum-ui {
  position: relative; isolation: isolate; overflow: visible;
  --bbg-bg: var(--bsgx-bg); --bbg-text: var(--bsgx-text);
  --bbg-muted: var(--bsgx-muted); --bbg-muted-strong: #66768a;
  --bbg-primary: var(--bsgx-accent); --bbg-accent: var(--bsgx-blue);
  --bbg-border: var(--bsgx-border); --bbg-radius: var(--bsgx-radius);
  width: 100%; max-width: 100%; padding: 8px 0 58px;
  color: var(--bsgx-text) !important;
  font-family: "Cantarell", "Cantarell", system-ui, sans-serif;
  background: transparent;
}
.bsg-forum-ui::before {
  content: ""; position: absolute; z-index: -1; inset: 0 -4vw auto; height: 540px;
  background: radial-gradient(ellipse at 85% 8%, rgba(12,116,240,0.14), transparent 35%),
    radial-gradient(ellipse at 15% 18%, rgba(13,118,242,0.06), transparent 38%),
    linear-gradient(rgba(17,129,248,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,129,248,0.035) 1px, transparent 1px);
  background-size: auto, auto, 52px 52px, 52px 52px;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(#000 45%, transparent);
  mask-image: linear-gradient(#000 45%, transparent);
}
.bsg-forum-ui > * { position: relative; z-index: 1; }
.bsg-forum-ui a, #bbpress-forums .bsg-forum-ui a { text-decoration: none !important; }
.bsg-forum-ui a:focus-visible, .bsg-forum-ui button:focus-visible, .bsg-forum-ui input:focus-visible, .bsg-forum-ui textarea:focus-visible { outline: 2px solid var(--bsgx-accent) !important; outline-offset: 3px; }

/* Forum subnavigation: use the original theme account/login functions. */
.bsg-forum-ui .bbp-tabs-shell { max-width: 1380px; margin: 0 auto 28px; }
.bsg-forum-ui .bbp-tabs-bar {
  padding: 9px 13px !important; border-radius: 14px !important;
  background: linear-gradient(110deg,rgba(245,248,252,0.92),#ffffff 58%,rgba(255,255,255,0.92)) !important;
  border: 1px solid var(--bsgx-border) !important; box-shadow: 0 12px 30px rgba(10,45,90,0.057);
}
.bsg-forum-ui .bbp-tabs--inner { gap: 6px !important; }
.bsg-forum-ui .bbp-tab, .bsg-forum-ui .bbp-account-toggle {
  min-height: 39px; padding: 9px 15px !important; color: #66768a !important;
  font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  border-radius: 10px !important; border: 1px solid transparent !important; background: transparent !important;
}
.bsg-forum-ui .bbp-tab.is-active, .bsg-forum-ui .bbp-tab:hover {
  color: var(--bsgx-accent) !important; border-color: rgba(8,107,235,0.45) !important;
  background: rgba(14,122,244,0.12) !important;
}
.bsg-forum-ui .bbp-account-toggle { border: 1px solid rgba(150,191,228,0.19) !important; background: rgba(8,107,235,0.025) !important; text-transform: none; letter-spacing: 0; }
.bsg-forum-ui .bbp-account-menu { background: #ffffff !important; border: 1px solid var(--bsgx-border) !important; color: var(--bsgx-text) !important; }
.bsg-forum-ui .bbp-account-menu input { background: #ffffff !important; color: #121f32 !important; }

/* Main columns + hierarchy */
.bsg-forum-ui .bbp-invision__header, .bsg-forum-ui .bbp-invision__grid,
.bsg-forum-ui .bsgx-categories { width: min(1380px, 100%); max-width: 100%; margin-inline: auto; }
.bsg-forum-ui .bbp-invision__header { margin-bottom: 27px; }
.bsg-forum-ui .bbp-invision__grid { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 22px; align-items: start; }
.bsg-forum-ui .bbp-invision__side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.bsg-forum-ui .bbp-invision__main { min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.bsg-forum-ui .bsgx-hero { align-items: end; gap: 20px; }
.bsg-forum-ui .bbp-invision__titlewrap { min-width: 0; flex: 1; }
.bsg-forum-ui .bsgx-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: 13px; color: #4d5d73; margin-bottom: 13px; }
.bsg-forum-ui .bsgx-breadcrumb i { color: #677b96; font-size: 10px; }
#bbpress-forums .bsg-forum-ui .bsgx-breadcrumb a { color: #4d5d73 !important; }
#bbpress-forums .bsg-forum-ui .bsgx-breadcrumb a:hover { color: var(--bsgx-accent) !important; }
.bsg-forum-ui .bbp-invision__title { margin: 0; color: #121f32 !important; font-size: clamp(32px, 3.4vw, 48px); line-height: 1.12; letter-spacing: -.045em; font-weight: 850; overflow-wrap: anywhere; }
.bsg-forum-ui .bsgx-subtitle { margin: 9px 0 0; color: #4d5d73; font-size: 15px; line-height: 1.65; }
.bsg-forum-ui .bsgx-hero-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.bsg-forum-ui .bsgx-btn, .bsg-forum-ui .bbp-iv-btn--primary,
#bbpress-forums .bsg-forum-ui button[type="submit"],
#bbpress-forums .bsg-forum-ui input[type="submit"] {
  display: inline-flex; justify-content: center; align-items: center; gap: 9px;
  min-height: 44px; padding: 11px 18px; font-weight: 800; font-size: 13px;
  border-radius: 10px !important; background: linear-gradient(135deg, #0a6fed, #0e79f4) !important;
  border: 1px solid rgba(8,107,235,0.7) !important; color: #ffffff !important;
  box-shadow: 0 8px 26px rgba(8,107,235,0.112);
}
.bsg-forum-ui .bsgx-btn-outline {
  color: #66768a !important; background: rgba(255,255,255,0.92) !important;
  border-color: rgba(101,177,218,0.28) !important; box-shadow: none;
}
.bsg-forum-ui .bsgx-btn:hover, .bsg-forum-ui .bbp-iv-btn--primary:hover { filter: brightness(1.09); transform: translateY(-1px); }
.bsg-forum-ui .bsgx-hero-metrics { display: flex; gap: 22px; color: #4d5d73; font-size: 13px; margin-top: 14px; }
.bsg-forum-ui .bsgx-hero-metrics i { color: var(--bsgx-accent); }

/* Category cards, including subforums. */
.bsg-forum-ui .bsgx-categories { margin-bottom: 24px; }
.bsg-forum-ui .bsgx-section-title { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 13px; }
.bsg-forum-ui .bsgx-section-title h2 { margin: 0; font-size: 17px; color: #121f32; font-weight: 800; }
.bsg-forum-ui .bsgx-section-title > span { color: #4d5d73; font-size: 12px; }
.bsg-forum-ui .bsgx-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.bsg-forum-ui .bsgx-category {
  min-width: 0; min-height: 166px; padding: 17px 17px 15px; display: flex; flex-direction: column; gap: 7px;
  background: linear-gradient(142deg, #ffffff, #ffffff 62%, #ffffff) !important;
  color: #121f32 !important; border: 1px solid rgba(44,168,233,0.52); border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(8,107,235,0.05); transition: border-color .2s, transform .2s, box-shadow .2s;
}
.bsg-forum-ui .bsgx-category:hover { border-color: var(--bsgx-accent); transform: translateY(-3px); box-shadow: 0 14px 32px rgba(10,45,90,0.072),0 0 26px rgba(8,107,235,0.08); }
.bsg-forum-ui .bsgx-category--announcements { border-left-color: rgba(8,107,235,0.6); }
.bsg-forum-ui .bsgx-category--development { border-color: rgba(8,107,235,0.65); }
.bsg-forum-ui .bsgx-category--ideas { border-color: rgba(8,107,235,0.5); }
.bsg-forum-ui .bsgx-category-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
.bsg-forum-ui .bsgx-category-icon { display: inline-grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(8,107,235,0.56); border-radius: 11px; color: #086beb; font-size: 20px; background: rgba(8,107,235,0.02); }
.bsg-forum-ui .bsgx-category--ideas .bsgx-category-icon { color: #ffffff; border-color: rgba(8,107,235,0.4); background: rgba(13,119,242,0.12); }
.bsg-forum-ui .bsgx-category--development .bsgx-category-icon { color: #ffffff; border-color: rgba(8,107,235,0.52); background: rgba(21,137,253,0.12); }
.bsg-forum-ui .bsgx-category-arrow { color: #9ab4da; }
.bsg-forum-ui .bsgx-category strong { color: #121f32; font-size: 15px; line-height: 1.35; font-weight: 850; }
.bsg-forum-ui .bsgx-category-description { color: #4d5d73; font-size: 12px; line-height: 1.5; flex: 1; }
.bsg-forum-ui .bsgx-category-count { color: #4d5d73; font-size: 11px; padding-top: 3px; }
.bsg-forum-ui .bsgx-category-count span { padding-inline: 4px; }

/* Main discussions table */
.bsg-forum-ui .bbp-iv-panel, .bsg-forum-ui .bbp-iv-widget,
.bsg-forum-ui .bsgx-widget {
  position: relative; margin: 0 !important; border-radius: var(--bsgx-radius) !important;
  border: 1px solid var(--bsgx-border) !important;
  background: linear-gradient(155deg,rgba(255,255,255,0.93),#ffffff) !important;
  box-shadow: 0 8px 35px rgba(10,45,90,0.048); color: var(--bsgx-text); overflow: visible !important;
}
.bsg-forum-ui .bbp-iv-panel__head, .bsg-forum-ui .bbp-iv-widget__head,
.bsg-forum-ui .bsgx-widget-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  min-height: 56px; padding: 14px 19px; color: #ffffff;
  border-bottom: 1px solid rgba(102,169,211,0.17);
  border-radius: 13px 13px 0 0;
  background: linear-gradient(90deg,rgba(8,107,235,0.29),rgba(8,107,235,0.02) 70%) !important;
}
.bsg-forum-ui .bbp-iv-panel__head h2, .bsg-forum-ui .bbp-iv-widget__head h3,
.bsg-forum-ui .bsgx-widget-head h2 { margin: 0; display: flex; align-items: center; gap: 10px; color: #121f32 !important; font-size: 16px; line-height: 1.4; font-weight: 850; }
.bsg-forum-ui .bbp-iv-panel__head h2 i, .bsg-forum-ui .bsgx-widget-head i { font-size: 18px; color: var(--bsgx-accent); }
.bsg-forum-ui .bsgx-panel-count, .bsg-forum-ui .bsgx-post-number { padding: 5px 10px; border: 1px solid var(--bsgx-border); border-radius: 8px; font-size: 12px; color: #4d5d73; }
#bbpress-forums .bsg-forum-ui .bsgx-more-link { color: #086beb !important; font-size: 12px; font-weight: 700; }
.bsg-forum-ui .bsgx-table-head, .bsg-forum-ui .bsgx-topic-line {
  display: grid; align-items: center; grid-template-columns: minmax(0,2.4fr) minmax(100px,1.03fr) minmax(92px,.95fr) 64px; gap: 16px;
}
.bsg-forum-ui .bsgx-table-head { min-height: 36px; padding: 11px 20px; background: rgba(8,107,235,0.031); color: #4d5d73; font-size: 10px; font-weight: 750; letter-spacing: .085em; text-transform: uppercase; border-bottom: 1px solid rgba(106,168,207,0.13); }
.bsg-forum-ui .bsgx-topic-line { padding: 13px 20px; min-height: 70px; border-bottom: 1px solid rgba(106,168,207,0.12); background: transparent; transition: background .15s; }
.bsg-forum-ui .bsgx-topic-line:hover { background: rgba(10,113,238,0.08); }
.bsg-forum-ui .bsgx-topic-line:last-child { border-bottom: none; }
.bsg-forum-ui .bsgx-topic-name { display: flex; align-items: flex-start; gap: 12px; min-width: 0; }
.bsg-forum-ui .bsgx-topic-name > div { min-width: 0; }
.bsg-forum-ui .bsgx-topic-mark { display: grid; place-items: center; width: 27px; min-width: 27px; height: 27px; border-radius: 7px; color: #ffffff; margin-top: 1px; background: rgba(10,112,238,0.08); }
.bsg-forum-ui .bsgx-topic-mark .bi-lock { color: #f7c169; }
.bsg-forum-ui .bsgx-topic-mark .bi-pin-angle-fill { color: #40bfff; }
#bbpress-forums .bsg-forum-ui .bsgx-topic-link { display: block; color: #121f32 !important; font-size: 13px; font-weight: 800; line-height: 1.45; overflow-wrap: anywhere; }
#bbpress-forums .bsg-forum-ui .bsgx-topic-link:hover { color: var(--bsgx-accent) !important; }
.bsg-forum-ui .bsgx-topic-name p { margin: 4px 0 0; color: #4d5d73; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bsg-forum-ui .bsgx-topic-author { display: flex; align-items: center; gap: 8px; color: #4d5d73; font-size: 12px; min-width: 0; }
.bsg-forum-ui .bsgx-topic-author span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.bsg-forum-ui .bsgx-topic-author .avatar, .bsg-forum-ui .bsgx-topic-meta .avatar { width: 32px !important; height: 32px !important; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
#bbpress-forums .bsg-forum-ui .bsgx-topic-forum a { display: inline-block; max-width: 100%; padding: 5px 9px; border-radius: 99px; font-size: 11px; font-weight: 750; color: #ffffff !important; border: 1px solid rgba(8,107,235,0.23); background: rgba(9,108,236,0.1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bsg-forum-ui .bsgx-topic-count { display: flex; align-items: center; gap: 8px; color: #66768a; font-size: 12px; }
.bsg-forum-ui .bsgx-topic-count i { color: #4d5d73; }
.bsg-forum-ui .bsgx-topic-updated { color: #4d5d73; font-size: 12px; line-height: 1.5; }
.bsg-forum-ui .bsgx-topic-line--forum, .bsg-forum-ui.bsgx-single-forum .bsgx-table-head { grid-template-columns: minmax(0,2.4fr) minmax(110px,1fr) 70px minmax(100px,.7fr); }
.bsg-forum-ui .bsgx-mini-badge { color: #086beb; font-size: 10px; font-weight: 750; }
.bsg-forum-ui .bsgx-empty { display: flex; align-items: center; flex-direction: column; gap: 8px; color: #4d5d73; padding: 30px 20px; margin: 0; text-align: center; }
.bsg-forum-ui .bsgx-pagination { padding: 0 18px; color: #66768a; }
.bsg-forum-ui .bsgx-pagination a, .bsg-forum-ui .bsgx-pagination span { border-radius: 7px; }

/* Sidebar: announcement, statistics, recent replies, community invitation. */
.bsg-forum-ui .bsgx-widget-inner { padding: 17px 18px; }
.bsg-forum-ui .bsgx-featured { border-color: rgba(8,107,235,0.48) !important; background: linear-gradient(145deg,rgba(8,107,235,0.68),#ffffff) !important; }
.bsg-forum-ui .bsgx-featured .bsgx-widget-head { background: rgba(8,107,235,0.12) !important; }
.bsg-forum-ui .bsgx-widget-head h2 { font-size: 14px; }
.bsg-forum-ui .bsgx-widget-inner h3 { font-size: 14px; font-weight: 800; line-height: 1.4; margin: 0 0 8px; }
#bbpress-forums .bsg-forum-ui .bsgx-widget-inner h3 a { color: #121f32 !important; }
.bsg-forum-ui .bsgx-widget-inner p { color: #4d5d73; font-size: 12px; line-height: 1.65; margin-bottom: 14px; }
#bbpress-forums .bsg-forum-ui .bsgx-widget-link { width: 100%; display: flex; justify-content: center; align-items: center; gap: 10px; padding: 10px; font-weight: 800; color: #ffffff !important; background: linear-gradient(90deg, rgba(11,113,239,0.26),rgba(8,107,235,0.19)); border: 1px solid rgba(8,107,235,0.3); border-radius: 9px; font-size: 12px; }
.bsg-forum-ui .bbp-iv-widget__body { padding: 0 !important; }
.bsg-forum-ui .bbp-iv-stats, .bsg-forum-ui .bbp-statlist { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0; margin: 0; padding: 0; }
.bsg-forum-ui .bbp-iv-stats > li { padding: 13px 15px; min-width: 0; min-height: 71px; border-top: 1px solid rgba(8,107,235,0.11); border-right: 1px solid rgba(8,107,235,0.1); display: flex; flex-direction: column; justify-content: center; gap: 4px; }
.bsg-forum-ui .bbp-iv-stats > li:nth-child(-n+2) { border-top: 0; }
.bsg-forum-ui .bbp-iv-stats > li:nth-child(2n) { border-right: 0; }
.bsg-forum-ui .bbp-iv-stats > li span { font-size: 11px; color: #4d5d73 !important; }
.bsg-forum-ui .bbp-iv-stats > li strong { font-size: 19px; color: #121f32 !important; font-weight: 800; overflow-wrap: anywhere; }
.bsg-forum-ui .bbp-iv-stats > li a { font-size: 12px; }
.bsg-forum-ui .bsgx-latest-item { display: flex; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid rgba(130,194,232,0.12); }
.bsg-forum-ui .bsgx-latest-item:first-child { padding-top: 0; }
.bsg-forum-ui .bsgx-latest-item:last-child { padding-bottom: 0; border-bottom: 0; }
.bsg-forum-ui .bsgx-latest-item img { width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; }
.bsg-forum-ui .bsgx-latest-item span { display: block; min-width: 0; }
.bsg-forum-ui .bsgx-latest-item strong { display: block; color: #121f32; font-size: 12px; font-weight: 750; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bsg-forum-ui .bsgx-latest-item small { display: block; margin-top: 3px; color: #4d5d73; font-size: 10px; }
.bsg-forum-ui .bbp-iv-cta { padding: 18px; background: radial-gradient(circle at 92% 100%,rgba(8,107,235,0.024),transparent 60%),linear-gradient(115deg,rgba(8,107,235,0.3),#ffffff); border-radius: 0 0 12px 12px; }
.bsg-forum-ui .bbp-iv-cta__title { color: #121f32; font-size: 15px; font-weight: 850; }
.bsg-forum-ui .bbp-iv-cta p { color: #4d5d73; font-size: 12px; line-height: 1.65; margin: 7px 0 14px; }
.bsg-forum-ui .bbp-iv-cta a { width: 100%; }
.bsg-forum-ui .bbp-iv-topicinfo, .bsg-forum-ui .bbp-iv-lastreplies { margin: 0; padding: 0; }
.bsg-forum-ui .bbp-iv-topicinfo li, .bsg-forum-ui .bbp-iv-lastreply { padding: 13px 16px; }
.bsg-forum-ui .bbp-iv-lastreply { flex-direction: column; gap: 4px; }
.bsg-forum-ui .bbp-iv-topicinfo__label { font-size: 12px; }
.bsg-forum-ui .bbp-iv-topicinfo__value { font-size: 12px; text-align: right; }

/* Single topic header */
.bsg-forum-ui .bsgx-topic-hero { align-items: flex-end; margin-bottom: 22px; }
.bsg-forum-ui .bsgx-topic-labels { display: flex; flex-wrap: wrap; gap: 7px; margin: 5px 0 12px; }
.bsg-forum-ui .bsgx-state { display: inline-flex; gap: 6px; align-items: center; padding: 4px 10px; font-size: 10px; font-weight: 850; letter-spacing: .02em; text-transform: uppercase; border-radius: 99px; color: #ffffff; border: 1px solid rgba(8,107,235,0.25); background: rgba(9,108,236,0.12); }
.bsg-forum-ui .bsgx-state-closed { color: #ffd18e; border-color: rgba(255,209,142,0.25); background: rgba(218,156,44,0.11); }
.bsg-forum-ui .bsgx-state-pin { color: #8dbfff; border-color: rgba(93,165,246,0.27); background: rgba(8,107,235,0.02); }
.bsg-forum-ui .bsgx-topic-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 17px; font-size: 12px; color: #4d5d73; }
.bsg-forum-ui .bsgx-topic-meta .avatar { width: 28px !important; height: 28px !important; border-radius: 50%; }
#bbpress-forums .bsg-forum-ui .bsgx-topic-meta a { color: #121f32 !important; font-weight: 750; }
.bsg-forum-ui .bsgx-topic-meta i { color: #086beb; }
.bsg-forum-ui .bsgx-meta-dot { color: #607992; }

/* Author rail + post body for original post and threaded replies */
.bsg-forum-ui .bsgx-post-panel .bbp-iv-panel__body { padding: 0 !important; }
.bsg-forum-ui .bbp-iv-post { display: grid; grid-template-columns: 154px minmax(0,1fr); gap: 0; padding: 0; margin: 0; background: transparent !important; border: 0; color: #121f32; }
.bsg-forum-ui .bbp-iv-post--reply { border-top: 1px solid rgba(108,180,228,0.14); }
.bsg-forum-ui .bbp-iv-post__side { display: flex; align-items: center; flex-direction: column; gap: 9px; padding: 24px 12px 20px; margin: 0; border-right: 1px solid rgba(108,180,228,0.15); text-align: center; background: rgba(8,107,235,0.028); border-radius: 0; }
.bsg-forum-ui .bbp-iv-post__avatar { padding: 0; border-radius: 50%; border: 2px solid rgba(8,107,235,0.29); box-shadow: 0 0 0 5px rgba(8,107,235,0.048); background: transparent; }
.bsg-forum-ui .bbp-iv-post__avatar img { width: 64px !important; height: 64px !important; display: block; border-radius: 50%; object-fit: cover; }
.bsg-forum-ui .bbp-iv-post__author, .bsg-forum-ui .bbp-iv-post__author a { font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
.bsg-forum-ui .bbp-iv-post__badges { display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; }
.bsg-forum-ui .bbp-iv-badge { font-size: 10px; padding: 5px 8px; min-height: 0; border-radius: 6px; }
.bsg-forum-ui .bbp-iv-post__main { display: flex; flex-direction: column; min-width: 0; padding: 20px 23px 18px; }
.bsg-forum-ui .bbp-iv-post__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 21px; padding-bottom: 13px; border-bottom: 1px solid rgba(99,164,198,0.13); color: #4d5d73; font-size: 11px; }
#bbpress-forums .bsg-forum-ui .bbp-iv-post__meta a { color: #6e9dbc !important; }
.bsg-forum-ui .bbp-iv-post__content { flex: 1; color: #66768a !important; line-height: 1.85; font-size: 14px; overflow-wrap: anywhere; }
.bsg-forum-ui .bbp-iv-post__content p { margin-bottom: 1.15em; }
.bsg-forum-ui .bbp-iv-post__content h2, .bsg-forum-ui .bbp-iv-post__content h3, .bsg-forum-ui .bbp-iv-post__content h4 { color: #121f32; }
.bsg-forum-ui .bbp-iv-post__content pre { background: #ffffff !important; border: 1px solid rgba(8,107,235,0.3) !important; border-radius: 10px; padding: 17px; color: #121f32; white-space: pre; overflow: auto; }
.bsg-forum-ui .bbp-iv-post__content code { color: #ffffff; background: rgba(9,110,237,0.1); padding: 2px 5px; border-radius: 5px; }
.bsg-forum-ui .bbp-iv-post__content blockquote { border-left: 3px solid var(--bsgx-accent); padding: 10px 16px; background: rgba(11,114,239,0.07); color: #ffffff; }
.bsg-forum-ui .bbp-iv-post__content img { max-width: 100%; height: auto; border-radius: 8px; }
.bsg-forum-ui .bbp-iv-post__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-top: 24px; padding-top: 14px; border-top: 1px solid rgba(99,164,198,0.14); }
.bsg-forum-ui .bbp-iv-post__admin { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-start; color: #4d5d73; font-size: 11px; }
#bbpress-forums .bsg-forum-ui .bbp-iv-post__admin a { color: #8eb8d6 !important; font-weight: 700; }
.bsg-forum-ui .bsgx-inline-reply { display: inline-flex; align-items: center; gap: 7px; min-height: 33px; border: 1px solid rgba(8,107,235,0.28) !important; border-radius: 8px; padding: 6px 10px; color: #ffffff !important; background: rgba(11,113,239,0.09) !important; font-size: 12px; font-weight: 800; }
.bsg-forum-ui .bsgx-inline-reply:hover { background: rgba(11,113,239,0.19) !important; }
.bsg-forum-ui .bsgx-replies-panel .bbp-iv-panel__body--replies { padding: 0 !important; }

/* bbPress editor, topic/reply composition, profile and search forms */
.bsg-forum-ui .bsgx-compose .bbp-iv-panel__body { padding: 22px !important; }
.bsg-forum-ui .bsgx-compose { scroll-margin-top: 130px; }
.bsg-forum-ui #new-post-topic .bbp-topic-form-wrap { display: none; }
.bsg-forum-ui #new-post-topic.is-open .bbp-topic-form-wrap { display: block; }
.bsg-forum-ui #respond .bbp-reply-form-wrap { display: none; }
.bsg-forum-ui #respond.is-open .bbp-reply-form-wrap { display: block; }
.bsg-forum-ui fieldset.bbp-form { margin: 10px 0 !important; padding: 16px !important; background: rgba(255,255,255,0.92) !important; border: 1px solid rgba(91,161,203,0.2) !important; border-radius: 12px !important; }
.bsg-forum-ui fieldset.bbp-form legend { font-size: 13px; padding: 0 8px; color: #121f32 !important; }
#bbpress-forums .bsg-forum-ui :is(input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="url"],textarea,select),
.bsg-forum-ui :is(input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="url"],textarea,select) {
  max-width: 100%; background: #ffffff !important; border: 1px solid rgba(86,160,209,0.34) !important;
  border-radius: 9px !important; color: #121f32 !important; min-height: 44px; padding: 10px 13px;
}
.bsg-forum-ui :is(input,textarea)::placeholder { color: #4d5d73; }
.bsg-forum-ui :is(textarea,#bbp_topic_content,#bbp_reply_content) { min-height: 150px; }
.bsg-forum-ui label { color: #66768a !important; font-size: 12px; font-weight: 750; }
.bsg-forum-ui .bbp-submit-wrapper { margin-top: 12px; }
.bsg-forum-ui .quicktags-toolbar, .bsg-forum-ui .wp-editor-tools, .bsg-forum-ui .mce-toolbar-grp { background: #ffffff !important; border-color: rgba(86,160,209,0.34) !important; color: #121f32; }
.bsg-forum-ui .bsgx-login-hint { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; padding: 18px 20px; border: 1px solid rgba(78,155,214,0.23); background: rgba(255,255,255,0.92); border-radius: 12px; color: #66768a; font-size: 13px; }
#bbpress-forums .bsg-forum-ui .bsgx-login-hint a { font-weight: 850; color: var(--bsgx-accent) !important; }

/* Legacy bbPress secondary screens (search, activity views, profiles) */
#bbpress-forums .bbp-invision:not(.bsg-forum-ui) .bbp-invision__title { font-size: clamp(29px,3vw,42px); color: #121f32; }
#bbpress-forums .bbp-invision:not(.bsg-forum-ui) :is(.bbp-iv-panel,.bbp-iv-widget,.k-card.card) { background: linear-gradient(150deg,#ffffff,#ffffff) !important; border: 1px solid var(--bsgx-border) !important; border-radius: 14px !important; }
#bbpress-forums .bbp-invision:not(.bsg-forum-ui) :is(.bbp-iv-panel__head,.bbp-iv-widget__head,.k-card .card-header) { background: linear-gradient(90deg,rgba(8,107,235,0.3),rgba(8,107,235,0.024)) !important; }
#bbpress-forums .bbp-invision:not(.bsg-forum-ui) :is(.bbp-iv-topicrow,.bbp-iv-forum,.bbp-iv-post) { border-color: rgba(105,178,216,0.16) !important; }

/* On mobile: cards become a scroll-free feed, author rail collapses neatly. */
@media (max-width: 1150px) {
  .bsg-forum-ui .bsgx-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsg-forum-ui .bbp-invision__grid { grid-template-columns: minmax(0,1fr) 275px; gap: 15px; }
  .bsg-forum-ui .bsgx-topic-line, .bsg-forum-ui .bsgx-table-head { gap: 9px; padding-inline: 13px; }
}
@media (max-width: 991px) {
  .bsg-forum-ui .bbp-invision__grid { grid-template-columns: 1fr !important; }
  .bsg-forum-ui .bbp-invision__side { display: flex !important; margin-top: 0; }
  .bsg-forum-ui .bbp-invision__grid.is-sidebar-collapsed .bbp-invision__side { display: none !important; }
  .bsg-forum-ui .bbp-invision__grid.is-sidebar-open .bbp-invision__side { display: flex !important; }
  .bsg-forum-ui .bbp-invision__side .bbp-iv-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .bsg-forum-ui { padding: 2px 0 30px; }
  .bsg-forum-ui .bbp-tabs-shell { margin-bottom: 21px; }
  .bsg-forum-ui .bbp-invision__header { align-items: flex-start; flex-direction: column; margin-bottom: 21px; }
  .bsg-forum-ui .bbp-invision__title { font-size: clamp(30px,8vw,39px); }
  .bsg-forum-ui .bsgx-subtitle { font-size: 13px; }
  .bsg-forum-ui .bsgx-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .bsg-forum-ui .bsgx-category { padding: 14px; min-height: 166px; }
  .bsg-forum-ui .bsgx-section-title > span { display: none; }
  .bsg-forum-ui .bsgx-table-head { display: none; }
  .bsg-forum-ui .bsgx-topic-line, .bsg-forum-ui .bsgx-topic-line--forum { grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center; padding: 14px; }
  .bsg-forum-ui .bsgx-topic-name { grid-column: 1 / -1; }
  .bsg-forum-ui .bsgx-topic-author { grid-column: 1; padding-left: 38px; }
  .bsg-forum-ui .bsgx-topic-forum, .bsg-forum-ui .bsgx-topic-updated { grid-column: 1; padding-left: 38px; }
  .bsg-forum-ui .bsgx-topic-count { grid-column: 2; grid-row: 2; justify-self: end; }
  .bsg-forum-ui .bsgx-topic-line--forum .bsgx-topic-updated { grid-row: 3; }
  .bsg-forum-ui .bsgx-topic-line--forum .bsgx-topic-count { grid-row: 2; }
  .bsg-forum-ui .bbp-iv-post { grid-template-columns: minmax(0,1fr); }
  .bsg-forum-ui .bbp-iv-post__side { flex-direction: row; align-items: center; justify-content: flex-start; border-right: 0; border-bottom: 1px solid rgba(108,180,228,0.15); padding: 13px 16px; gap: 12px; text-align: left; }
  .bsg-forum-ui .bbp-iv-post__avatar img { width: 42px !important; height: 42px !important; }
  .bsg-forum-ui .bbp-iv-post__side .bbp-iv-badge { font-size: 9px; }
  .bsg-forum-ui .bbp-iv-post__main { padding: 17px; }
  .bsg-forum-ui .bbp-iv-post__meta { margin-bottom: 14px; }
  .bsg-forum-ui .bbp-iv-post__content { font-size: 13px; }
  .bsg-forum-ui .bbp-invision__side .bbp-iv-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bsg-forum-ui .bsgx-hero-actions { width: 100%; }
  .bsg-forum-ui .bsgx-hero-actions > :first-child { flex: 1; }
}
@media (max-width: 410px) {
  .bsg-forum-ui .bsgx-category-grid { grid-template-columns: 1fr; }
  .bsg-forum-ui .bsgx-category { min-height: 138px; }
  .bsg-forum-ui .bsgx-breadcrumb { font-size: 11px; }
  .bsg-forum-ui .bsgx-topic-meta .bsgx-meta-dot { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .bsg-forum-ui *, .bsg-forum-ui *::before, .bsg-forum-ui *::after { transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Contextual premium forum actions in the actual BastionGuard site header. */
body.bbpress .bsg-header-actions .bsg-forum-nav-search,
body.bbpress .bsg-header-actions .bsg-forum-nav-login {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px;
  color: #66768a; font-weight: 750; font-size: 12px; background: rgba(255,255,255,0.92);
  border: 1px solid rgba(88,166,210,0.33); border-radius: 9px;
}
body.bbpress .bsg-header-actions .bsg-forum-nav-search:hover,
body.bbpress .bsg-header-actions .bsg-forum-nav-login:hover { color: #086beb; border-color: rgba(8,107,235,0.45); }
body.bbpress .bsg-header-actions > .bbp-open-topic,
body.bbpress .bsg-header-actions > .bbp-open-reply { display: inline-flex; gap: 8px; align-items: center; border-radius: 9px; }
/* Dedicated full-width bbPress wrapper; avoids the regular blog hero. */
body.bbpress .bsg-forum-main { padding-top: 115px; padding-bottom: 30px; }
body.bbpress .bsg-forum-shell { width: min(1480px, calc(100% - 40px)); margin-inline: auto; }
body.bbpress .bsg-forum-content, body.bbpress .bsg-forum-content > div { min-width: 0; max-width: 100%; }
body.bbpress .bsg-forum-content #bbpress-forums { padding-top: 0; }
@media (max-width: 700px) {
  body.bbpress .bsg-forum-main { padding-top: 100px; }
  body.bbpress .bsg-forum-shell { width: min(100% - 24px, 1480px); }
}

/* 1.8.7 — markdown, standalone topic badges and restored pagination */
.bsg-forum-ui .bsgx-topic-status {
    display: inline-flex;
    align-items: center;
    width: auto;
    margin: .25rem .45rem .25rem 0;
    padding: .25rem .65rem;
    border: 1px solid rgba(8,107,235,0.32);
    border-radius: 99px;
    background: rgba(11,115,240,0.12);
    color: #ffffff;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.35;
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
}
.bsg-forum-ui .bsgx-topic-status--solved { border-color: rgba(8,107,235,0.4); color: #086beb; }
.bsg-forum-ui .bsgx-topic-status--unsolved { border-color: rgba(255,189,87,0.4); color: #ffd38c; }
.bsg-forum-ui .bsgx-topic-status--rules { border-color: rgba(8,107,235,0.4); color: #086beb; }
.bsg-forum-ui .bsgx-topic-status--changelog { border-color: rgba(95,194,255,0.4); color: #9bddff; }
.bsg-forum-ui .bbp-invision__title,
.bsg-forum-ui .bsgx-breadcrumb,
.bsg-forum-ui .bsgx-topic-link,
.bsg-forum-ui .bsgx-topic-name { overflow-wrap: anywhere; word-break: normal; }
.bsg-forum-ui .bsgx-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .5rem 1rem;
    padding: .85rem 1.15rem;
    background: rgba(255,255,255,0.92);
    border-top: 1px solid rgba(8,107,235,0.12);
    border-bottom: 1px solid rgba(8,107,235,0.12);
}
.bsg-forum-ui .bsgx-page-indicator {
    display: inline-flex;
    font-size: .84rem;
    color: #4d5d73;
    font-weight: 600;
}
.bsg-forum-ui .bsgx-pagination .bbp-pagination { margin: 0; float: none; }
.bsg-forum-ui .bsgx-pagination .bbp-pagination-count { color: #4d5d73; }
.bsg-forum-ui .bsgx-pagination .bbp-pagination-links { float: none; display: inline-flex; gap: .25rem; flex-wrap: wrap; }
.bsg-forum-ui .bsgx-pagination .bbp-pagination-links a,
.bsg-forum-ui .bsgx-pagination .bbp-pagination-links span {
    border: 1px solid rgba(8,107,235,0.26);
    border-radius: .45rem;
    color: #086beb;
    padding: .25rem .6rem;
}
.bsg-forum-ui .bsgx-pagination .bbp-pagination-links .current { color: #ffffff; background: #107ef7; border-color: rgba(8,107,235,0.6); }
.bsg-forum-ui .bbp-iv-post__content { overflow-wrap: break-word; line-height: 1.7; }
.bsg-forum-ui .bbp-iv-post__content p { margin-bottom: 1em; }
.bsg-forum-ui .bbp-iv-post__content h1,
.bsg-forum-ui .bbp-iv-post__content h2,
.bsg-forum-ui .bbp-iv-post__content h3,
.bsg-forum-ui .bbp-iv-post__content h4,
.bsg-forum-ui .bbp-iv-post__content h5,
.bsg-forum-ui .bbp-iv-post__content h6 {
    font-weight: 750;
    line-height: 1.35;
    color: #121f32;
    letter-spacing: normal;
    overflow-wrap: anywhere;
    margin: 1.2em 0 .55em;
}
.bsg-forum-ui .bbp-iv-post__content h1 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); }
.bsg-forum-ui .bbp-iv-post__content h2 { font-size: clamp(1.25rem, 2.3vw, 1.6rem); }
.bsg-forum-ui .bbp-iv-post__content h3 { font-size: clamp(1.1rem, 2vw, 1.3rem); }
.bsg-forum-ui .bbp-iv-post__content h4,
.bsg-forum-ui .bbp-iv-post__content h5,
.bsg-forum-ui .bbp-iv-post__content h6 { font-size: 1rem; }
.bsg-forum-ui .bbp-iv-post__content ul,
.bsg-forum-ui .bbp-iv-post__content ol { margin: .5em 0 1.2em; padding-left: 1.65rem; }
.bsg-forum-ui .bbp-iv-post__content ul { list-style: disc; }
.bsg-forum-ui .bbp-iv-post__content ol { list-style: decimal; }
.bsg-forum-ui .bbp-iv-post__content li { display: list-item; margin: .22rem 0; }
.bsg-forum-ui .bbp-iv-post__content strong { font-weight: 750; color: #121f32; }
.bsg-forum-ui .bbp-iv-post__content blockquote { margin: 1rem 0; padding: .7rem 1rem; border-left: 3px solid rgba(8,107,235,0.6); border-radius: .2rem .6rem .6rem .2rem; background: rgba(13,118,242,0.08); color: #ffffff; }
.bsg-forum-ui .bbp-iv-post__content pre { max-width: 100%; overflow-x: auto; padding: 1rem; background: #ffffff; border: 1px solid rgba(90,153,199,0.23); border-radius: .6rem; color: #66768a; white-space: pre; -webkit-overflow-scrolling: touch; }
.bsg-forum-ui .bbp-iv-post__content pre code { padding: 0; border: none; background: none; color: inherit; white-space: inherit; overflow-wrap: normal; word-break: normal; }
.bsg-forum-ui .bbp-iv-post__content :not(pre) > code { padding: .12rem .34rem; border-radius: .3rem; background: rgba(8,107,235,0.02); color: #086beb; overflow-wrap: anywhere; }
.bsg-forum-ui .bbp-iv-post__content .bsg-md-table-scroll { width: 100%; overflow-x: auto; margin: 1rem 0; -webkit-overflow-scrolling: touch; }
.bsg-forum-ui .bbp-iv-post__content table { width: 100%; border-collapse: collapse; }
.bsg-forum-ui .bbp-iv-post__content td,
.bsg-forum-ui .bbp-iv-post__content th { padding: .55rem .75rem; text-align: left; border: 1px solid rgba(8,107,235,0.21); }
.bsg-forum-ui .bbp-iv-post__content th { background: rgba(8,107,235,0.17); }
.bsg-forum-ui .bbp-iv-post__content img { max-width: 100%; height: auto; }
@media (max-width: 767px) {
    .bsg-forum-ui .bsgx-pagination { padding: .7rem .8rem; }
    .bsg-forum-ui .bbp-iv-post__content pre { font-size: .82rem; }
}

/* 1.8.8 — forum page indicator and compact, mobile-safe pagination. */
#bbpress-forums .bsg-forum-ui .bsgx-pager,
.bsg-forum-ui .bsgx-pager,
#bbpress-forums .bsgx-pager {
  display:flex; align-items:center; justify-content:space-between;
  gap:.8rem 1.2rem; flex-wrap:wrap; max-width:100%; min-width:0;
  padding: .85rem 1rem; margin: .65rem 0;
  background:linear-gradient(110deg,rgba(255,255,255,0.94),#ffffff);
  border:1px solid rgba(8,107,235,0.2); border-radius:12px;
  box-shadow:none; color:#121f32;
}
.bsgx-pager__info { display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.bsgx-pager__current { color:#121f32; font-size:.84rem; font-weight:800; letter-spacing:.015em; }
.bsgx-pager__range { color:#4d5d73; font-size:.74rem; font-weight:500; }
.bsgx-pager__links { display:flex; align-items:center; gap:.35rem; max-width:100%; min-width:0; overflow-x:auto; padding:.15rem 0; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
#bbpress-forums .bsgx-pager__links > a,
#bbpress-forums .bsgx-pager__links > span,
.bsgx-pager__links > a,
.bsgx-pager__links > span {
  position:static; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center;
  width:auto; min-width:2.15rem; height:2.15rem; padding:.35rem .65rem;
  font-size:.82rem; line-height:1; font-weight:650; text-decoration:none!important;
  border-radius:8px!important; border:1px solid rgba(8,107,235,0.25)!important;
  background:rgba(8,107,235,0.05)!important; color:#66768a!important;
  transform:none; box-shadow:none;
}
#bbpress-forums .bsgx-pager__links > a:hover,
.bsgx-pager__links > a:hover { border-color:rgba(8,107,235,0.6)!important; color:#086beb!important; background:rgba(15,123,245,0.12)!important; }
#bbpress-forums .bsgx-pager__links > .current,
.bsgx-pager__links > .current { background:#107df6!important; border-color:rgba(8,107,235,0.6)!important; color:#ffffff!important; }
#bbpress-forums .bsgx-pager__links > .dots,
.bsgx-pager__links > .dots { background:transparent!important; border-color:transparent!important; min-width:1.2rem; }
.bsgx-pager__links > a:focus-visible { outline:2px solid rgba(8,107,235,0.6); outline-offset:2px; }
@media(max-width:767px){
  #bbpress-forums .bsgx-pager,.bsg-forum-ui .bsgx-pager{padding:.7rem .8rem;align-items:flex-start;flex-direction:column;gap:.55rem;}
  .bsgx-pager__info{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.25rem .65rem;}
  .bsgx-pager__links{width:100%;}
  #bbpress-forums .bsgx-pager__links > a,#bbpress-forums .bsgx-pager__links > span{min-width:2.2rem;height:2.2rem;}
}

/* 1.8.8 — consistent title banner on EVERY bbPress screen. */
#bbpress-forums .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero,
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero {
  position:relative; display:flex; width:100%; max-width:1380px; margin:0 auto 1.5rem;
  align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:.9rem 1.3rem;
  padding:1.6rem clamp(1rem,2.5vw,2rem); border-radius:16px;
  border:1px solid rgba(8,107,235,0.23);
  background:radial-gradient(ellipse at 100% 0%,rgba(9,110,237,0.14),transparent 58%),linear-gradient(120deg,#ffffff,#ffffff);
  box-shadow:inset 0 1px rgba(8,107,235,0.05),0 15px 40px rgba(10,45,90,0.04);
}
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bbp-invision__title { font-size:clamp(1.85rem,3.1vw,2.8rem)!important; font-weight:850!important; line-height:1.18!important; overflow-wrap:break-word; word-break:normal; }
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bsgx-breadcrumb { margin:0 0 .9rem; }
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bsgx-subtitle { font-size:.93rem; line-height:1.65; }
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bsgx-topic-meta { flex-wrap:wrap; row-gap:.45rem; }
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bsgx-topic-labels { flex-wrap:wrap; }
@media(max-width:767px){
  #bbpress-forums .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero,
  .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero{padding:1.15rem 1rem;border-radius:12px;gap:.75rem;margin-bottom:1rem;}
  .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bbp-invision__title{font-size:clamp(1.75rem,7vw,2.15rem)!important;line-height:1.2!important;}
  .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bsgx-hero-actions{width:100%;}
}

/* Match bbPress search-result pagination to the forum pager without duplicating labels. */
.bsg-forum-ui .bbp-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.7rem; padding:.7rem .9rem; margin:.8rem 0; border:1px solid rgba(8,107,235,0.2); background:#ffffff; border-radius:11px; }
.bsg-forum-ui .bbp-pagination-count { float:none!important; color:#4d5d73; font-size:.78rem; line-height:1.5; }
.bsg-forum-ui .bbp-pagination-links { float:none!important; display:flex; flex-wrap:wrap; align-items:center; gap:.35rem; margin:0!important; }
#bbpress-forums .bsg-forum-ui .bbp-pagination-links a,
#bbpress-forums .bsg-forum-ui .bbp-pagination-links span,
.bsg-forum-ui .bbp-pagination-links a,
.bsg-forum-ui .bbp-pagination-links span { display:inline-flex; align-items:center; justify-content:center; min-width:2.2rem; min-height:2.2rem; margin:0!important; padding:.35rem .65rem; border:1px solid rgba(8,107,235,0.25)!important; border-radius:8px; color:#121f32; background:rgba(8,107,235,0.06); font-size:.82rem; }
#bbpress-forums .bsg-forum-ui .bbp-pagination-links span.current, .bsg-forum-ui .bbp-pagination-links span.current { background:#107df6!important; color:#ffffff!important; }

/* 1.5.0: forum page display is visible BEFORE categories, including on mobile. */
#bbpress-forums .bsg-forum-ui .bsgx-forum-top-pager,
.bsg-forum-ui .bsgx-forum-top-pager { max-width: 1380px; width: 100%; margin: -.3rem auto 1.2rem; }
#bbpress-forums .bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager,
.bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager { border: 1px solid rgba(8,107,235,0.42) !important; background: linear-gradient(110deg,#ffffff,#ffffff 67%,#ffffff) !important; box-shadow: inset 0 1px rgba(8,107,235,0.056), 0 10px 30px rgba(10,45,90,0.04); }
.bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager__current { font-size: .95rem; color: #121f32; }
.bsg-forum-ui .bsgx-pager__info { min-width: 0; }
.bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager__links a,
.bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager__links span { min-height: 2.35rem; }
.bsg-forum-ui .bsgx-discussions > .bsgx-pager { margin: 0 !important; border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; }
.bsg-forum-ui .bsgx-replies-panel .bbp-iv-panel__body--replies > .bsgx-pager { margin-top: 0 !important; }
@media(max-width: 767px){
 .bsg-forum-ui .bsgx-forum-top-pager { margin-top: -.3rem; margin-bottom: 1rem; }
 .bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager { padding: .8rem .9rem !important; }
 .bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager__info { align-items: center; }
 .bsg-forum-ui .bsgx-forum-top-pager .bsgx-pager__links { overflow-x: auto; }
}

/* BastionGuard 1.9.2: match the existing full-bleed Resources/Screenshots
 * page banner (background, vertical rhythm, full width and title scale).
 * Do not override the shared .bsg-page-hero gradient or Bootstrap py-5.
 */
body.bbpress .bsg-forum-main { padding-top: 0 !important; }
body.bbpress .bsg-forum-page-hero {
  width: 100%;
  margin: 0;
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}
body.bbpress .bsg-forum-page-hero > .container-fluid {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 12px;
  padding-right: 12px;
}
body.bbpress .bsg-forum-page-hero h1 {
  color: #121f32;
  font-size: clamp(2.1rem, 3.8vw, 3.25rem);
  font-weight: 850;
  letter-spacing: -.046em;
  line-height: 1.13;
  overflow-wrap: break-word;
}
body.bbpress .bsg-forum-hero-description {
  color: #4d5d73;
  max-width: 66rem;
  line-height: 1.7;
  font-size: 1rem;
}
/* Keep in-page posting/edit controls but remove the second redundant header card. */
#bbpress-forums .bsg-forum-ui .bbp-invision__header.bsgx-unified-hero,
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero {
    display:flex; justify-content:flex-end; align-items:center; width:min(1380px,100%);
    min-height:0; padding:0; margin:0 auto 1rem;
    border:0!important; border-radius:0; background:none!important; box-shadow:none!important;
}
.bsg-forum-ui .bbp-invision__header.bsgx-unified-hero .bbp-invision__titlewrap { display:none!important; }
.bsg-forum-ui.bsgx-archive .bbp-invision__header.bsgx-unified-hero,
.bsg-forum-ui.bsgx-search .bbp-invision__header.bsgx-unified-hero,
.bsg-forum-ui.bsgx-view .bbp-invision__header.bsgx-unified-hero { display:none!important; }
/* Paginate by number/navigation controls only: no result summaries. */
#bbpress-forums .bsg-forum-ui .bsgx-pager__info,
.bsg-forum-ui .bsgx-pager__info,
.bsg-forum-ui .bbp-pagination-count { display:none!important; }
#bbpress-forums .bsg-forum-ui .bsgx-pager,
.bsg-forum-ui .bsgx-pager { justify-content:center; padding:1rem 1.2rem!important; }
.bsg-forum-ui .bsgx-pager__links { justify-content:center; flex-wrap:wrap; }
.bsg-forum-ui .bsgx-forum-top-pager { margin:0 auto 1.2rem!important; }
body.bbpress .bsg-forum-shell { max-width:1480px; }
@media(max-width:767px) {
  body.bbpress .bsg-forum-page-hero > .container-fluid { padding-inline: 12px; }
  body.bbpress .bsg-forum-page-hero h1 { font-size: clamp(1.85rem, 6vw, 2.65rem); }
  #bbpress-forums .bsg-forum-ui .bsgx-pager,.bsg-forum-ui .bsgx-pager { flex-direction:row!important; justify-content:center; }
  .bsg-forum-ui .bsgx-pager__links { width:auto; max-width:100%; }
}


/* 1.9.3 — Pagination lives within Recent Discussions, never before categories. */
#bbpress-forums .bsg-forum-ui.bsgx-archive .bsgx-discussions > .bsgx-pager,
.bsg-forum-ui.bsgx-archive .bsgx-discussions > .bsgx-pager {
  margin: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(90,163,204,0.23) !important;
  padding: .85rem 1rem !important;
  background: linear-gradient(90deg,rgba(8,107,235,0.27),rgba(8,107,235,0.036)) !important;
  box-shadow: none !important;
}
.bsg-forum-ui.bsgx-archive .bsgx-discussions { scroll-margin-top: 110px; }

/* 1.9.3 — Consistent profile layout with forum panels and the site banner. */
.bsg-forum-ui.bsgx-user > .bbp-invision__grid { align-items: start; }
.bsg-forum-ui.bsgx-user .bbp-iv-panel--userhero {
  background: linear-gradient(115deg,rgba(8,107,235,0.69),#ffffff 62%,rgba(8,107,235,0.23)) !important;
  border-color: rgba(8,107,235,0.35) !important;
}
.bsg-forum-ui.bsgx-user .bbp-iv-panel--userhero > .bbp-iv-panel__body { padding: clamp(1rem,2.8vw,1.7rem) !important; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero { display:flex; gap: 1.35rem; align-items:center; flex-wrap:wrap; min-width:0; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__avatar { flex: 0 0 auto; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__avatar .avatar {
  display: block; width: 92px !important; height: 92px !important; border-radius: 20px;
  border: 2px solid rgba(8,107,235,0.35); box-shadow: 0 12px 32px rgba(10,45,90,0.096); object-fit:cover;
}
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__main { flex: 1 1 220px; min-width:0; }
.bsg-forum-ui.bsgx-user .bsgx-profile-eyebrow { display:block; color: #086beb; font-size:.74rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.35rem; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__name { font-size:clamp(1.5rem,2.4vw,2rem); font-weight:850; color:#121f32!important; letter-spacing:-.03em; margin:0; overflow-wrap:anywhere; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__nick { margin:.35rem 0 0; color:#4d5d73; line-height:1.55; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__stats { display:flex; gap:.65rem; flex-wrap:wrap; margin-top:1.05rem; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__stat { display:flex; flex-direction:column; gap:.25rem; min-width:94px; padding:.7rem .9rem; border:1px solid rgba(90,163,204,0.27); border-radius:10px; background:rgba(8,107,235,0.065); }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__stat strong { font-size:1.12rem; line-height:1.2; color:#121f32; font-weight:850; }
.bsg-forum-ui.bsgx-user .bbp-iv-userhero__stat span { font-size:.72rem; color:#4d5d73; }
#bbpress-forums .bsg-forum-ui.bsgx-user .bsgx-profile-edit,
.bsg-forum-ui.bsgx-user .bsgx-profile-edit { display:inline-flex; align-items:center; gap:.5rem; align-self:flex-start; padding:.7rem 1rem; border-radius:10px; background:linear-gradient(125deg,#0a70ee,#0f7bf5); color:#ffffff!important; font-size:.83rem; font-weight:850; white-space:nowrap; text-decoration:none!important; }
.bsg-forum-ui.bsgx-user .bsgx-profile-tabs-panel > .bbp-iv-panel__body--tabs { padding:.8rem!important; background:rgba(8,107,235,0.054)!important; border-top:0!important; }
#bbpress-forums .bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab,
.bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab { border-radius:9px!important; min-height:39px!important; padding:.65rem .95rem!important; background:rgba(255,255,255,0.92)!important; border:1px solid rgba(90,163,204,0.28)!important; color:#66768a!important; font-size:.83rem; white-space:normal!important; }
#bbpress-forums .bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab.is-active,
.bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab.is-active { border-color:rgba(8,107,235,0.56)!important; color:#086beb!important; background:rgba(14,122,244,0.13)!important; }
#bbpress-forums .bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab::after,
.bsg-forum-ui.bsgx-user .bbp-iv-tabs .bbp-iv-tab::after { display:none!important; }
.bsg-forum-ui.bsgx-user .bsgx-profile-detail-panel > .bbp-iv-panel__body { padding:clamp(1rem,2vw,1.35rem)!important; }
.bsg-forum-ui.bsgx-user .bsgx-member-details { display:grid; gap:1.25rem; }
.bsg-forum-ui.bsgx-user .bsgx-member-section { min-width:0; }
.bsg-forum-ui.bsgx-user .bsgx-member-section h3 { font-size:1.02rem; font-weight:850; color:#121f32; margin:0 0 .75rem; }
.bsg-forum-ui.bsgx-user .bsgx-member-bio { color:#4d5d73; line-height:1.75; overflow-wrap:anywhere; }
.bsg-forum-ui.bsgx-user .bsgx-member-bio p:last-child { margin-bottom:0; }
.bsg-forum-ui.bsgx-user .bsgx-member-empty { color:#4d5d73; margin:0; }
.bsg-forum-ui.bsgx-user .bsgx-member-website { margin: .8rem 0 0; overflow-wrap:anywhere; }
.bsg-forum-ui.bsgx-user .bsgx-member-metrics { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:.75rem; }
.bsg-forum-ui.bsgx-user .bsgx-member-metrics > div { padding: .9rem 1rem; min-width:0; display:flex; gap:.65rem; align-items:center; justify-content:space-between; border:1px solid rgba(90,163,204,0.22); border-radius:11px; background:rgba(8,107,235,0.06); }
.bsg-forum-ui.bsgx-user .bsgx-member-metrics span { font-size:.8rem; color:#4d5d73; }
.bsg-forum-ui.bsgx-user .bsgx-member-metrics strong { color:#121f32; font-size:.89rem; text-align:right; overflow-wrap:anywhere; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content .k-card.card { border:0!important; background:transparent!important; box-shadow:none!important; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content .k-card.card .card-body { padding:0!important; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content .entry-title { color:#121f32; font-size:1.08rem; font-weight:850; margin:0 0 1rem; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content fieldset { min-width:0; max-width:100%; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content :is(input,select,textarea) { max-width:100%; }
.bsg-forum-ui.bsgx-user #bbp-user-ajax-content .bbp-user-section { min-width:0; overflow-wrap:anywhere; }
@media (max-width:760px) {
  .bsg-forum-ui.bsgx-user .bbp-invision__grid { display:flex; flex-direction:column; }
  .bsg-forum-ui.bsgx-user .bbp-invision__main, .bsg-forum-ui.bsgx-user .bbp-invision__side { width:100%; }
  .bsg-forum-ui.bsgx-user .bbp-iv-userhero { align-items:flex-start; gap:.85rem; }
  .bsg-forum-ui.bsgx-user .bbp-iv-userhero__avatar .avatar { width:70px!important; height:70px!important; border-radius:14px; }
  .bsg-forum-ui.bsgx-user .bbp-iv-userhero__main { flex-basis:calc(100% - 95px); }
  .bsg-forum-ui.bsgx-user .bsgx-profile-edit { width:100%; justify-content:center; }
  .bsg-forum-ui.bsgx-user .bsgx-member-metrics { grid-template-columns:1fr; }
}
