/* ========================================================================
   CodeLinSoft Nova 4.9.17 — final forum mockup layer.
   Display Page is intentionally untouched. Topic/reply editor internals are untouched.
   ======================================================================== */

:where(body.cls-bbp-unified, body.cls-bbp-forum-home) {
  --forum-blue:#0b86f9;
  --forum-blue-2:#35b8ff;
  --forum-navy:#101d3f;
  --forum-text:#27395d;
  --forum-muted:#6c7d9d;
  --forum-line:#dbeaf5;
  --forum-soft:#f5fbff;
  --forum-soft-2:#edf8ff;
  --forum-card:#fff;
  --forum-shadow:0 10px 30px rgba(25,78,121,.07);
  --forum-radius:16px;
}

/* Shared width below the existing Display Page. */
body.cls-bbp-unified .cls-main--bbpress > .cls-shell,
body.cls-bbp-forum-home .cls-main--bbpress > .cls-shell { width:min(100% - 36px,1560px); max-width:1560px; }
body.cls-bbp-unified .cls-component-card--bbpress,
body.cls-bbp-forum-home .cls-component-card--bbpress { padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }

/* Global bbPress navigation — Index / Topic recenti / login-account everywhere. */
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-hub-toolbar--nav {
  margin:0 0 20px!important;
  padding:0 0 14px!important;
  border:0!important;
  border-bottom:1px solid var(--forum-line)!important;
  background:transparent!important;
}
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tabs-bar {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tabs--inner { display:flex; align-items:center; gap:8px; }
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tab {
  display:inline-flex!important; align-items:center; min-height:40px; padding:0 15px!important;
  border:1px solid transparent!important; border-radius:11px!important; background:transparent!important;
  color:#5c6f91!important; font-size:13px!important; font-weight:800!important; text-decoration:none!important;
}
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tab:hover { background:#f2f9ff!important; color:#087ce6!important; }
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tab.is-active {
  background:linear-gradient(180deg,#edf8ff,#e4f4ff)!important; color:#0878df!important; border-color:#cce8fb!important;
  box-shadow:inset 0 -2px 0 #159df0!important;
}
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-account-toggle {
  min-height:40px!important; padding:5px 11px!important; border:1px solid #d8e7f3!important; border-radius:11px!important;
  background:#fff!important; color:#233658!important; box-shadow:0 4px 12px rgba(29,78,121,.05)!important;
}
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-account-avatar { width:28px!important; height:28px!important; border-radius:50%!important; }
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-account-menu { border-color:#d9e8f4!important; box-shadow:0 18px 45px rgba(22,58,91,.14)!important; }

/* Main page frame. */
body.cls-bbp-unified .bbp-hub-shell { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; font-family:"Cantarell",ui-sans-serif,system-ui,sans-serif!important; }
body.cls-bbp-unified .cls-forum-page { display:grid; gap:16px; color:var(--forum-text); }
body.cls-bbp-unified .bbp-hub-sidebar { display:none!important; }
body.cls-bbp-unified .bbp-hub-layout { display:block!important; }

/* Intro used on recent topics / archives. */
body.cls-bbp-unified .cls-page-intro {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,410px); align-items:end; gap:28px;
  padding:22px 24px; border:1px solid var(--forum-line); border-radius:var(--forum-radius);
  background:linear-gradient(135deg,#fff 0%,#f6fbff 72%,#eef8ff 100%); box-shadow:var(--forum-shadow);
}
body.cls-bbp-unified .cls-page-intro__crumbs { display:flex; gap:7px; align-items:center; margin:0 0 9px; color:#8191ad; font-size:11px; }
body.cls-bbp-unified .cls-page-intro__crumbs a { color:#5e7ba3; text-decoration:none; }
body.cls-bbp-unified .cls-page-intro h1 { margin:0; color:var(--forum-navy); font-size:clamp(31px,2.5vw,44px); line-height:1.03; letter-spacing:-.035em; }
body.cls-bbp-unified .cls-page-intro>div>p:last-child { margin:8px 0 0; color:var(--forum-muted); font-size:14px; }
body.cls-bbp-unified .cls-page-intro__search .bbp-search-form__inner { min-height:48px; border-color:#cee5f6!important; border-radius:12px!important; background:#fff!important; }

/* Single forum header matching the approved index language. */
body.cls-bbp-unified .cls-forum-pagehead {
  display:grid; grid-template-columns:78px minmax(0,1fr) auto auto; align-items:center; gap:20px;
  padding:18px 20px; border:1px solid var(--forum-line); border-radius:var(--forum-radius); background:#fff; box-shadow:var(--forum-shadow);
}
body.cls-bbp-unified .cls-forum-pagehead__icon {
  display:grid; place-items:center; width:72px; height:72px; border-radius:17px;
  background:linear-gradient(135deg,var(--forum-c1),var(--forum-c2)); color:#fff; font-size:30px;
  box-shadow:0 10px 24px color-mix(in srgb,var(--forum-c1) 25%,transparent);
}
body.cls-bbp-unified .cls-forum-pagehead__eyebrow { display:block; margin-bottom:4px; color:#0b83ed; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
body.cls-bbp-unified .cls-forum-pagehead h1 { margin:0; color:var(--forum-navy); font-size:clamp(26px,2vw,38px); letter-spacing:-.03em; }
body.cls-bbp-unified .cls-forum-pagehead p { max-width:820px; margin:7px 0 0; color:var(--forum-muted); font-size:13px; line-height:1.5; }
body.cls-bbp-unified .cls-forum-pagehead__stats { display:flex; gap:10px; }
body.cls-bbp-unified .cls-forum-pagehead__stats>div { min-width:88px; padding:10px 12px; border:1px solid #e1edf5; border-radius:13px; background:#f7fbfe; text-align:center; }
body.cls-bbp-unified .cls-forum-pagehead__stats i { display:block; margin-bottom:3px; color:#159df0; font-size:14px; }
body.cls-bbp-unified .cls-forum-pagehead__stats strong { display:block; color:#132344; font-size:18px; }
body.cls-bbp-unified .cls-forum-pagehead__stats span { color:#7b8ba5; font-size:9px; text-transform:uppercase; letter-spacing:.06em; }
body.cls-bbp-unified .cls-primary-action { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 18px; border:0; border-radius:12px; background:linear-gradient(180deg,#159df0,#087be5); color:#fff; font-weight:900; cursor:pointer; box-shadow:0 8px 20px rgba(8,126,232,.2); }

/* Shared section card and title. */
body.cls-bbp-unified .cls-forum-content-section,
body.cls-bbp-unified .cls-thread-replies,
body.cls-bbp-unified .cls-profile-panel {
  padding:18px; border:1px solid var(--forum-line); border-radius:var(--forum-radius); background:linear-gradient(180deg,#fbfdff,#f7fbff); box-shadow:var(--forum-shadow);
}
body.cls-bbp-unified .cls-section-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 14px; }
body.cls-bbp-unified .cls-section-title>div { display:flex; align-items:center; gap:11px; min-width:0; }
body.cls-bbp-unified .cls-section-title>div>i { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#138ff5,#36c0fa); color:#fff; }
body.cls-bbp-unified .cls-section-title h2 { margin:0; color:var(--forum-navy); font-size:20px; letter-spacing:-.02em; }
body.cls-bbp-unified .cls-section-title p { margin:2px 0 0; color:var(--forum-muted); font-size:11px; }
body.cls-bbp-unified .cls-icon-button { display:grid; place-items:center; width:38px; height:38px; border:1px solid #dce9f3; border-radius:10px; background:#fff; color:#7183a2; cursor:pointer; }

/* Real topic selection controls. */
body.cls-bbp-unified .cls-topic-filterbar { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; padding:8px; border:1px solid #deebf5; border-radius:12px; background:#fff; }
body.cls-bbp-unified .cls-topic-filter { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:0 12px; border:1px solid transparent; border-radius:9px; background:#f6f9fc; color:#687997; font-size:11px; font-weight:800; cursor:pointer; }
body.cls-bbp-unified .cls-topic-filter:hover { color:#087ce6; background:#eef8ff; }
body.cls-bbp-unified .cls-topic-filter.is-active { border-color:#c6e5fb; background:linear-gradient(180deg,#eaf7ff,#dff2ff); color:#0878df; box-shadow:inset 0 -2px 0 #159df0; }
body.cls-bbp-unified .cls-topic-filter-empty { margin:12px 0 0; padding:18px; border:1px dashed #d5e5f1; border-radius:12px; background:#fff; color:#70819d; text-align:center; }

/* Topic cards: visual equivalent of the forum index cards, but optimized for discussion data. */
body.cls-bbp-unified .bbp-topic-stream { display:grid!important; grid-template-columns:1fr!important; gap:10px!important; }
body.cls-bbp-unified .cls-topic-card {
  display:grid!important; grid-template-columns:62px minmax(0,1fr) auto minmax(150px,190px) 28px; align-items:center; gap:14px;
  min-height:108px!important; padding:12px 13px!important; border:1px solid #dfeaf3!important; border-radius:13px!important; background:#fff!important; box-shadow:0 4px 14px rgba(24,72,107,.045)!important; overflow:hidden;
}
body.cls-bbp-unified .cls-topic-card[hidden] { display:none!important; }
body.cls-bbp-unified .cls-topic-card::before { display:none!important; }
body.cls-bbp-unified .cls-topic-card__icon { display:grid; place-items:center; width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,#28a8ff,#087fee); color:#fff; font-size:21px; }
body.cls-bbp-unified .cls-topic-card--featured .cls-topic-card__icon { background:linear-gradient(135deg,#ff6577,#ff8f6b); }
body.cls-bbp-unified .cls-topic-card--solved .cls-topic-card__icon { background:linear-gradient(135deg,#33bc78,#69d99c); }
body.cls-bbp-unified .cls-topic-card--question .cls-topic-card__icon { background:linear-gradient(135deg,#159df0,#42c5fb); }
body.cls-bbp-unified .cls-topic-card--suggestion .cls-topic-card__icon { background:linear-gradient(135deg,#ff9b3f,#ffc45c); }
body.cls-bbp-unified .cls-topic-card--discussion .cls-topic-card__icon { background:linear-gradient(135deg,#7957ea,#ae69ef); }
body.cls-bbp-unified .cls-topic-card__body { min-width:0; }
body.cls-bbp-unified .cls-topic-card__topline { display:flex; gap:6px; margin-bottom:5px; }
body.cls-bbp-unified .cls-topic-kind { display:inline-flex; align-items:center; gap:5px; min-height:22px; padding:0 8px; border-radius:999px; background:#edf7ff; color:#0a7de4; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.04em; }
body.cls-bbp-unified .cls-topic-kind--featured { background:#fff0f2; color:#d9485c; }
body.cls-bbp-unified .cls-topic-kind--solved { background:#eaf9f0; color:#23945b; }
body.cls-bbp-unified .cls-topic-kind--suggestion { background:#fff7e8; color:#ca7b0b; }
body.cls-bbp-unified .cls-topic-kind--discussion { background:#f2edff; color:#7354d8; }
body.cls-bbp-unified .cls-topic-card__title { margin:0!important; font-size:15px!important; line-height:1.25!important; }
body.cls-bbp-unified .cls-topic-card__title a { color:#132344!important; font-weight:900!important; text-decoration:none!important; }
body.cls-bbp-unified .cls-topic-card__title a:hover { color:#087be6!important; }
body.cls-bbp-unified .cls-topic-card__excerpt { margin:4px 0 7px!important; color:#637695!important; font-size:11px!important; line-height:1.4!important; }
body.cls-bbp-unified .cls-topic-card__meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; color:#8492aa; font-size:9px; }
body.cls-bbp-unified .cls-topic-card__meta a { color:#58729a; text-decoration:none; font-weight:800; }
body.cls-bbp-unified .cls-topic-card__avatar { width:22px!important; height:22px!important; border-radius:50%!important; }
body.cls-bbp-unified .cls-topic-card__sep { color:#b2bfce; }
body.cls-bbp-unified .cls-topic-card__numbers { display:flex; gap:7px; }
body.cls-bbp-unified .cls-topic-card__numbers>div { min-width:68px; padding:8px; border:1px solid #e5edf4; border-radius:11px; background:#f8fafc; text-align:center; }
body.cls-bbp-unified .cls-topic-card__numbers i { display:block; margin-bottom:2px; color:#7790ad; font-size:11px; }
body.cls-bbp-unified .cls-topic-card__numbers strong { display:block; color:#172745; font-size:14px; }
body.cls-bbp-unified .cls-topic-card__numbers span { display:block; margin-top:2px; color:#8390a5; font-size:8px; }
body.cls-bbp-unified .cls-topic-card__latest { min-width:0; padding-left:14px; border-left:1px solid #e4edf4; }
body.cls-bbp-unified .cls-topic-card__latest>span { display:block; margin-bottom:4px; color:#8a97ab; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
body.cls-bbp-unified .cls-topic-card__latest a { display:flex; align-items:center; gap:6px; color:#2a5fa5; font-size:10px; font-weight:800; text-decoration:none; }
body.cls-bbp-unified .cls-topic-card__latest small { display:block; margin-top:3px; color:#8a97ab; font-size:8px; }
body.cls-bbp-unified .cls-topic-card__open { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#0b86f9; background:#ecf7ff; text-decoration:none; }

/* New topic is button-driven: wrapper is not visible until explicitly opened. */
body.cls-bbp-unified .cls-topic-create[hidden] { display:none!important; }
body.cls-bbp-unified .cls-topic-create.is-open { display:block!important; }
body.cls-bbp-unified .cls-topic-create .bbp-topic-form-wrap,
body.cls-bbp-unified .cls-reply-create .bbp-reply-form-wrap { margin-top:8px; }

/* Single thread view. */
body.cls-bbp-unified .cls-thread-head { padding:20px 22px; border:1px solid var(--forum-line); border-radius:var(--forum-radius); background:linear-gradient(135deg,#fff,#f6fbff); box-shadow:var(--forum-shadow); }
body.cls-bbp-unified .cls-thread-head__row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
body.cls-bbp-unified .cls-thread-head h1 { margin:9px 0 8px; color:var(--forum-navy); font-size:clamp(27px,2.4vw,41px); letter-spacing:-.035em; line-height:1.05; }
body.cls-bbp-unified .cls-thread-head__meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px; color:#7787a0; font-size:10px; }
body.cls-bbp-unified .cls-thread-head__meta a { color:#315f9f; font-weight:800; text-decoration:none; }
body.cls-bbp-unified .cls-thread-head__avatar { width:26px!important; height:26px!important; border-radius:50%!important; }
body.cls-bbp-unified .cls-subscribe-link a { display:inline-flex; align-items:center; min-height:38px; padding:0 13px; border:1px solid #d8e8f3; border-radius:10px; background:#fff; color:#315d99; text-decoration:none; font-size:11px; font-weight:800; }

body.cls-bbp-unified .cls-post-card { display:grid; grid-template-columns:180px minmax(0,1fr); border:1px solid var(--forum-line); border-radius:var(--forum-radius); background:#fff; box-shadow:var(--forum-shadow); overflow:hidden; }
body.cls-bbp-unified .cls-post-card__author { display:flex; flex-direction:column; align-items:center; padding:22px 18px; border-right:1px solid #e4edf4; background:linear-gradient(180deg,#f7fbff,#f1f8fd); text-align:center; }
body.cls-bbp-unified .cls-post-card__avatar { width:76px!important; height:76px!important; border-radius:20px!important; margin-bottom:10px; }
body.cls-bbp-unified .cls-post-card__author strong { color:#162746; font-size:13px; }
/* Solo badge testuale: non applicare colore/tipografia a stelle, presenza o avatar. */
body.cls-bbp-unified .cls-post-card__author > .cls-role-badge--text { margin:3px 0 9px; color:#0b82ed; font-size:9px; font-weight:900; text-transform:uppercase; }
body.cls-bbp-unified .cls-post-card__author small { color:#8291a7; font-size:9px; line-height:1.6; }
body.cls-bbp-unified .cls-post-card__content { display:flex; flex-direction:column; min-width:0; padding:18px 20px; }
body.cls-bbp-unified .cls-post-card__content>header { display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:1px solid #edf2f6; color:#8a97aa; font-size:9px; }
body.cls-bbp-unified .cls-post-card__message { flex:1; padding:18px 0; color:#283b59; font-size:14px; line-height:1.7; }
body.cls-bbp-unified .cls-post-card__content>footer { display:flex; align-items:center; gap:12px; padding-top:11px; border-top:1px solid #edf2f6; }
body.cls-bbp-unified .cls-post-card__content>footer a { color:#517099; font-size:10px; font-weight:800; text-decoration:none; }
body.cls-bbp-unified .cls-post-admin-links { margin-left:auto; font-size:9px; }

/* Existing reply markup gets the same thread design, editor stays fully visible. */
body.cls-bbp-unified .cls-thread-replies { display:grid; gap:12px; }
body.cls-bbp-unified .bbp-replies { display:grid!important; gap:12px!important; }
body.cls-bbp-unified .bbp-reply-card { border:1px solid var(--forum-line)!important; border-radius:14px!important; background:#fff!important; box-shadow:0 6px 18px rgba(22,67,102,.05)!important; overflow:hidden; }
body.cls-bbp-unified .bbp-reply-card__head { padding:13px 16px!important; border-bottom:1px solid #e9f0f5!important; background:#f9fcff!important; }
body.cls-bbp-unified .bbp-reply-card__body { padding:16px!important; }
body.cls-bbp-unified .bbp-reply-card__content { color:#2b3e5c!important; font-size:14px!important; line-height:1.7!important; }
body.cls-bbp-unified .bbp-reply-card__foot { padding:10px 16px!important; border-top:1px solid #edf2f6!important; }
body.cls-bbp-unified .cls-reply-create { display:block!important; }

/* Thread-specific bottom four panels. */
body.cls-bbp-unified .cls-thread-dashboard { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.cls-bbp-unified .cls-thread-dashboard>article { min-width:0; padding:16px; border:1px solid var(--forum-line); border-radius:14px; background:#fff; box-shadow:0 5px 16px rgba(22,67,102,.045); }
body.cls-bbp-unified .cls-thread-dashboard h2 { display:flex; align-items:center; gap:8px; margin:0 0 12px; color:#17305a; font-size:13px; }
body.cls-bbp-unified .cls-thread-dashboard h2 i { color:#0c89f2; }
body.cls-bbp-unified .cls-thread-statgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
body.cls-bbp-unified .cls-thread-statgrid div { text-align:center; }
body.cls-bbp-unified .cls-thread-statgrid strong { display:block; color:#172746; font-size:19px; }
body.cls-bbp-unified .cls-thread-statgrid span { color:#8997aa; font-size:8px; }
body.cls-bbp-unified .cls-thread-big-number { display:block; color:#172746; font-size:30px; }
body.cls-bbp-unified .cls-thread-dashboard p { margin:4px 0 0; color:#7b8aa0; font-size:9px; }
body.cls-bbp-unified .cls-thread-dashboard>article>a { color:#2764aa; font-size:11px; font-weight:800; text-decoration:none; }
body.cls-bbp-unified .cls-thread-dashboard nav { display:grid; gap:7px; }
body.cls-bbp-unified .cls-thread-dashboard nav a { display:flex; justify-content:space-between; gap:8px; color:#376da9; font-size:9px; text-decoration:none; }

/* Profile mockup. */
body.cls-bbp-unified .cls-profile-card { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(260px,360px); gap:22px; align-items:center; padding:22px; border:1px solid var(--forum-line); border-radius:var(--forum-radius); background:linear-gradient(135deg,#fff,#f5fbff); box-shadow:var(--forum-shadow); }
body.cls-bbp-unified .cls-profile-card__avatar-wrap { position:relative; }
body.cls-bbp-unified .cls-profile-card__avatar { width:112px!important; height:112px!important; border-radius:26px!important; box-shadow:0 8px 25px rgba(41,91,131,.12); }
body.cls-bbp-unified .cls-profile-online-dot { position:absolute; right:-3px; bottom:7px; width:17px; height:17px; border:4px solid #fff; border-radius:50%; background:#30c978; }
body.cls-bbp-unified .cls-profile-card__name { display:flex; align-items:center; gap:8px; }
body.cls-bbp-unified .cls-profile-card h1 { margin:0; color:#142449; font-size:clamp(28px,2.2vw,40px); letter-spacing:-.035em; }
body.cls-bbp-unified .cls-verified { color:#0c8df5; }
body.cls-bbp-unified .cls-profile-card__handle { margin:3px 0 0; color:#0c83ec; font-size:12px; font-weight:800; }
body.cls-bbp-unified .cls-profile-card__bio { max-width:760px; margin:10px 0; color:#5f7292; font-size:12px; line-height:1.5; }
body.cls-bbp-unified .cls-profile-card__meta { display:flex; flex-wrap:wrap; gap:10px 15px; color:#7b8ba4; font-size:9px; }
body.cls-bbp-unified .cls-profile-card__meta a { color:#4b70a0; text-decoration:none; }
body.cls-bbp-unified .cls-profile-card__meta i { margin-right:5px; color:#1189ef; }
body.cls-bbp-unified .cls-profile-card__quote { padding:18px; border:1px solid #d8eaf8; border-radius:14px; background:linear-gradient(135deg,#eef8ff,#f8fcff); }
body.cls-bbp-unified .cls-profile-card__quote i { color:#8ec8ed; font-size:23px; }
body.cls-bbp-unified .cls-profile-card__quote p { margin:8px 0; color:#1f4c7d; font-size:15px; font-weight:800; line-height:1.35; }
body.cls-bbp-unified .cls-profile-card__quote span { color:#7590ad; font-size:9px; }
body.cls-bbp-unified .cls-profile-tabs { display:flex; flex-wrap:wrap; gap:7px; padding:8px; border:1px solid var(--forum-line); border-radius:13px; background:#fff; box-shadow:0 5px 18px rgba(22,67,102,.04); }
body.cls-bbp-unified .cls-profile-tabs a { display:inline-flex; align-items:center; gap:6px; min-height:35px; padding:0 11px; border-radius:9px; color:#657895; font-size:10px; font-weight:800; text-decoration:none; }
body.cls-bbp-unified .cls-profile-tabs a:hover { background:#f1f8fe; color:#087de7; }
body.cls-bbp-unified .cls-profile-tabs a.is-active { background:linear-gradient(180deg,#159df0,#087ce6); color:#fff; box-shadow:0 6px 14px rgba(8,126,232,.18); }
body.cls-bbp-unified .cls-profile-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }
body.cls-bbp-unified .cls-profile-stats article { min-width:0; padding:16px; border:1px solid #e0ebf4; border-radius:13px; background:#fff; }
body.cls-bbp-unified .cls-profile-stats article>i { display:grid; place-items:center; width:36px; height:36px; margin-bottom:8px; border-radius:10px; background:#eaf6ff; color:#0b87ef; }
body.cls-bbp-unified .cls-profile-stats strong { display:block; color:#142648; font-size:27px; }
body.cls-bbp-unified .cls-profile-stats .cls-profile-role { font-size:16px; line-height:1.2; margin:6px 0; }
body.cls-bbp-unified .cls-profile-stats span { display:block; color:#324b6f; font-size:10px; font-weight:900; }
body.cls-bbp-unified .cls-profile-stats small { display:block; margin-top:2px; color:#91a0b4; font-size:8px; }
body.cls-bbp-unified .cls-profile-activity { margin-top:18px; }
body.cls-bbp-unified .cls-profile-activity__list { display:grid; gap:8px; }
body.cls-bbp-unified .cls-profile-activity__list>a { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 12px; border:1px solid #e3edf4; border-radius:11px; background:#fff; color:inherit; text-decoration:none; }
body.cls-bbp-unified .cls-profile-activity__list>a>i { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; background:#edf7ff; color:#087fe7; }
body.cls-bbp-unified .cls-profile-activity__list strong { display:block; color:#253c61; font-size:10px; }
body.cls-bbp-unified .cls-profile-activity__list small { display:block; color:#8997aa; font-size:8px; margin-top:2px; }
body.cls-bbp-unified .cls-profile-activity__list time { color:#8493aa; font-size:8px; }

/* Shared four-card dashboard from the forum index remains the universal bottom block. */
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .cls-forum-dashboard { margin-top:0!important; }
:where(body.cls-bbp-unified,body.cls-bbp-forum-home) .cls-forum-dash-card { border-radius:14px!important; box-shadow:0 5px 17px rgba(20,74,113,.045)!important; }

/* Keep editor dimensions/controls untouched: only its parent card participates in the layout. */
body.cls-bbp-unified .bbp-topic-form-wrap .wp-editor-wrap,
body.cls-bbp-unified .bbp-reply-form-wrap .wp-editor-wrap { max-width:none; }

@media (max-width:1100px) {
  body.cls-bbp-unified .cls-forum-pagehead { grid-template-columns:68px minmax(0,1fr) auto; }
  body.cls-bbp-unified .cls-forum-pagehead__stats { grid-column:2 / span 2; justify-self:start; }
  body.cls-bbp-unified .cls-topic-card { grid-template-columns:56px minmax(0,1fr) auto 28px; }
  body.cls-bbp-unified .cls-topic-card__latest { display:none; }
  body.cls-bbp-unified .cls-thread-dashboard { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.cls-bbp-unified .cls-profile-card { grid-template-columns:auto minmax(0,1fr); }
  body.cls-bbp-unified .cls-profile-card__quote { grid-column:1 / -1; }
  body.cls-bbp-unified .cls-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:760px) {
  body.cls-bbp-unified .cls-forum-page { gap:12px; }
  :where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-hub-toolbar--nav { margin-bottom:14px!important; }
  :where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tabs-mobile-toggle {
    min-height:42px!important; border:0!important; border-radius:11px!important;
    background:linear-gradient(180deg,#159df0,#087ce6)!important; color:#fff!important; box-shadow:0 7px 16px rgba(8,126,232,.18)!important;
  }
  :where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-account-toggle {
    min-height:34px!important; border:1px solid #d7e5ee!important; border-radius:10px!important;
    background:#fff!important; color:#173d5b!important; box-shadow:none!important;
  }
  :where(body.cls-bbp-unified,body.cls-bbp-forum-home) .bbp-tabs-bar { gap:8px; }
  body.cls-bbp-unified .cls-page-intro { grid-template-columns:1fr; padding:17px; }
  body.cls-bbp-unified .cls-page-intro__search { width:100%; }
  body.cls-bbp-unified .cls-forum-pagehead { grid-template-columns:58px minmax(0,1fr); gap:13px; padding:15px; }
  body.cls-bbp-unified .cls-forum-pagehead__icon { width:56px; height:56px; border-radius:14px; font-size:23px; }
  body.cls-bbp-unified .cls-forum-pagehead__stats { grid-column:1 / -1; width:100%; }
  body.cls-bbp-unified .cls-forum-pagehead__stats>div { flex:1; }
  body.cls-bbp-unified .cls-primary-action { grid-column:1 / -1; width:100%; justify-content:center; }
  body.cls-bbp-unified .cls-forum-content-section, body.cls-bbp-unified .cls-thread-replies, body.cls-bbp-unified .cls-profile-panel { padding:13px; }
  body.cls-bbp-unified .cls-topic-filterbar { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  body.cls-bbp-unified .cls-topic-filter { flex:0 0 auto; }
  body.cls-bbp-unified .cls-topic-card { grid-template-columns:46px minmax(0,1fr) 24px; gap:10px; padding:10px!important; }
  body.cls-bbp-unified .cls-topic-card__icon { width:44px; height:44px; border-radius:11px; font-size:17px; }
  body.cls-bbp-unified .cls-topic-card__numbers, body.cls-bbp-unified .cls-topic-card__latest { display:none; }
  body.cls-bbp-unified .cls-topic-card__excerpt { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  body.cls-bbp-unified .cls-thread-head { padding:15px; }
  body.cls-bbp-unified .cls-thread-head__row { display:block; }
  body.cls-bbp-unified .cls-thread-head__tools { margin-top:12px; }
  body.cls-bbp-unified .cls-post-card { grid-template-columns:1fr; }
  body.cls-bbp-unified .cls-post-card__author { display:grid; grid-template-columns:52px minmax(0,1fr); grid-template-rows:auto auto; column-gap:10px; align-items:center; padding:12px; border-right:0; border-bottom:1px solid #e4edf4; text-align:left; }
  body.cls-bbp-unified .cls-post-card__avatar { grid-row:1 / span 2; width:52px!important; height:52px!important; border-radius:13px!important; margin:0; }
  body.cls-bbp-unified .cls-post-card__author small { display:none; }
  body.cls-bbp-unified .cls-post-card__content { padding:13px; }
  body.cls-bbp-unified .cls-thread-dashboard { grid-template-columns:1fr; }
  body.cls-bbp-unified .cls-profile-card { grid-template-columns:76px minmax(0,1fr); padding:15px; gap:13px; }
  body.cls-bbp-unified .cls-profile-card__avatar { width:76px!important; height:76px!important; border-radius:19px!important; }
  body.cls-bbp-unified .cls-profile-card__bio, body.cls-bbp-unified .cls-profile-card__meta { grid-column:1/-1; }
  body.cls-bbp-unified .cls-profile-card__quote { display:none; }
  body.cls-bbp-unified .cls-profile-tabs { flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  body.cls-bbp-unified .cls-profile-tabs a { flex:0 0 auto; }
  body.cls-bbp-unified .cls-profile-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.cls-bbp-unified .cls-profile-activity__list>a { grid-template-columns:30px minmax(0,1fr); }
  body.cls-bbp-unified .cls-profile-activity__list time { grid-column:2; }
}

/* Nova 4.9.29 — admin-managed topic types/statuses. */
body.cls-bbp-unified .cls-topic-kind--announce { background:#e8faef; color:#21864c; }
body.cls-bbp-unified .cls-topic-kind--rules { background:#fff1e6; color:#a45518; }
body.cls-bbp-unified .cls-topic-kind--unsolved { background:#fff0f1; color:#c84150; }
body.cls-bbp-unified .cls-topic-kind--closed { background:#eef2f5; color:#607286; }


/* Nova 4.9.32 — profile identity hierarchy. */
body.cls-bbp-unified .cls-profile-card__main {
  min-width:0;
}
body.cls-bbp-unified .cls-profile-card__name {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
body.cls-bbp-unified .cls-profile-card__role-row + .cls-profile-card__handle {
  margin-top:4px;
}


/* Nova 4.9.33 — closed topics are included in profile recent activity. */
body.cls-bbp-unified .cls-profile-activity__list>a.is-closed-topic>i {
  background:#f1f4f7;
  color:#66798c;
}
body.cls-bbp-unified .cls-profile-activity__list>a.is-closed-topic small {
  color:#66798c;
}
