/* Hallmark · genre: modern-minimal · tone: warm utilitarian · palette: Cobalt · macrostructure: Ecosystem Index / Route Convergence · variation: inline command bar + integrated route context · theme: Cobalt · design-system: design.md · designed-as-app: true · nav: N13 route-aware command bar · footer: Ft2 curated utility bar · contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · responsive: pass (49) · icons: pass (30) · mobile: pass (34, 49, 50–57) */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */

html,
body {
  overflow-x: clip;
}

body.aigenforums-workspace {
  min-width: 320px;
  margin: 0;
  background: var(--color-canvas);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: 1.55;
}

body.aigenforums-workspace .site,
body.aigenforums-workspace .site-content,
body.aigenforums-workspace .site-main,
body.aigenforums-workspace .entry-content,
body.aigenforums-workspace .entry-content > .wpforo-page-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-canvas);
}

body.aigenforums-workspace .site-content > .ast-container,
body.aigenforums-workspace .site-content .ast-container {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

body.aigenforums-workspace #primary,
body.aigenforums-workspace .content-area,
body.aigenforums-workspace .site-main {
  float: none;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
}

body.aigenforums-workspace .entry-header,
body.aigenforums-workspace .entry-title,
body.aigenforums-workspace .post-thumb,
body.aigenforums-workspace .site-above-footer-wrap,
body.aigenforums-workspace .site-primary-footer-wrap,
body.aigenforums-workspace .site-below-footer-wrap {
  display: none;
}

body.aigenforums-workspace article.page,
body.aigenforums-workspace article.type-page {
  margin: 0;
  padding: 0 !important;
  background: var(--color-canvas);
}

#wpforo,
#wpforo #wpforo-wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  background: var(--color-canvas);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-md);
  line-height: 1.55;
}

/* wpForo writes its configured forum width to colors.css with !important. */
body.aigenforums-workspace #wpforo #wpforo-wrap {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

#wpforo *,
#wpforo *::before,
#wpforo *::after {
  box-sizing: border-box;
}

#wpforo h1,
#wpforo h2,
#wpforo h3,
#wpforo h4,
#wpforo p,
#wpforo dl,
#wpforo dd,
#wpforo ol,
#wpforo ul {
  margin-top: 0;
}

#wpforo h1,
#wpforo h2,
#wpforo h3,
#wpforo h4 {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-weight: var(--display-weight);
  letter-spacing: var(--tracking-display);
  min-width: 0;
  overflow-wrap: anywhere;
}

#wpforo a {
  color: var(--color-accent-hover);
  text-decoration-thickness: var(--rule-hair);
  text-underline-offset: 0.18em;
}

#wpforo img {
  max-width: 100%;
  height: auto;
}

#wpforo button,
#wpforo input,
#wpforo select,
#wpforo textarea {
  font: inherit;
}

#wpforo button,
#wpforo [role="button"],
#wpforo input[type="button"],
#wpforo input[type="submit"],
#wpforo input[type="reset"],
#wpforo a.wpf-button {
  min-height: var(--control-height);
}

#wpforo #wpforo-wrap :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--rule-strong) solid var(--color-focus) !important;
  outline-offset: var(--rule-strong) !important;
}

#wpforo #wpforo-wrap :is(.af-new-topic, .af-primary-action, .af-mobile-nav__primary, a.wpf-button, button.wpf-button):focus-visible {
  outline-color: var(--color-ink) !important;
  box-shadow: 0 0 0 var(--rule-strong) var(--color-accent-ink) !important;
}

#wpforo #wpforo-wrap :is(.af-appbar, .af-subtop, .af-dialog) :where(a, button) {
  transition:
    background-color var(--dur-short) var(--ease-standard),
    border-color var(--dur-short) var(--ease-standard),
    color var(--dur-short) var(--ease-standard);
}

#wpforo :where(a, button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]):active {
  filter: brightness(0.9);
}

#wpforo :where(button, input, select, textarea):disabled,
#wpforo [aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.55;
}

.af-icon {
  display: inline-flex;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  line-height: 1;
}

#wpforo #wpforo-wrap .af-appbar {
  position: sticky;
  top: 0;
  z-index: var(--z-sticky);
  width: 100%;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
  color: var(--color-ink);
}

body.admin-bar #wpforo #wpforo-wrap .af-appbar {
  top: 2rem;
}

#wpforo #wpforo-wrap .af-appbar__inner {
  display: grid;
  grid-template-areas: "brand context routes search actions";
  grid-template-columns: minmax(12rem, auto) minmax(0, 1fr) auto minmax(13rem, 19rem) auto;
  grid-template-rows: minmax(calc(var(--control-height) + var(--space-xs)), auto);
  align-items: center;
  gap: var(--space-xs);
  width: 100%;
  max-width: none;
  margin-inline: auto;
  padding-inline: var(--space-md);
}

#wpforo #wpforo-wrap .af-appbar__inner::before {
  display: none;
  content: none;
}

#wpforo #wpforo-wrap .af-brand {
  display: inline-flex;
  grid-area: brand;
  min-width: 0;
  min-height: calc(var(--control-height) + var(--space-xs));
  align-items: center;
  color: var(--color-ink) !important;
  line-height: 1;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-brand__name {
  min-width: 0;
  overflow: hidden;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 650;
  letter-spacing: var(--tracking-display);
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-primary-nav {
  display: flex;
  grid-area: routes;
  align-self: stretch;
  align-items: center;
  gap: 0;
  min-width: 0;
}

#wpforo #wpforo-wrap .af-primary-nav__link {
  position: relative;
  display: inline-flex;
  min-height: calc(var(--control-height) + var(--space-xs));
  align-items: center;
  padding-inline: var(--space-xs);
  border-radius: 0;
  background: var(--color-transparent);
  color: var(--color-neutral) !important;
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-primary-nav__link::after {
  content: "";
  position: absolute;
  right: var(--space-xs);
  bottom: 0;
  left: var(--space-xs);
  height: var(--rule-strong);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform var(--dur-short) var(--ease-standard);
}

#wpforo #wpforo-wrap .af-account-link {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  padding-inline: var(--space-xs);
  border-radius: var(--radius-xs);
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-primary-nav__link.is-active {
  background: var(--color-transparent);
  color: var(--color-accent-hover) !important;
}

#wpforo #wpforo-wrap .af-primary-nav__link.is-active::after {
  transform: scaleX(1);
}

#wpforo #wpforo-wrap .af-appbar__search {
  grid-area: search;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}

#wpforo #wpforo-wrap .af-search-trigger {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs);
  width: 100%;
  height: var(--control-height);
  min-height: var(--control-height);
  padding-block: 0;
  padding-inline: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-muted);
  cursor: pointer;
  line-height: 1;
  text-align: left;
}

#wpforo #wpforo-wrap .af-search-trigger__label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af-search-trigger__key,
.af-command-search__field kbd,
.af-command-footer kbd {
  min-width: 1.75rem;
  padding: var(--space-3xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-2xs);
  font-weight: 600;
  text-align: center;
}

#wpforo #wpforo-wrap .af-search-trigger__key {
  min-width: 1.75rem;
  padding: var(--space-3xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: var(--text-2xs);
  font-weight: 600;
  text-align: center;
}

#wpforo #wpforo-wrap .af-appbar__actions {
  display: flex;
  grid-area: actions;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2xs);
  min-width: 0;
}

.af-new-topic,
.af-primary-action {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  padding-inline: var(--space-sm);
  border: var(--rule-hair) solid var(--color-accent);
  border-radius: var(--radius-sm);
  background: var(--color-accent);
  color: var(--color-accent-ink) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-new-topic {
  padding-inline: var(--space-sm);
  border: var(--rule-hair) solid var(--color-accent);
}

.af-mobile-nav-trigger,
.af-icon-button {
  display: none;
  width: var(--control-height);
  min-width: var(--control-height);
  height: var(--control-height);
  align-items: center;
  justify-content: center;
  padding: 0;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-ink);
  cursor: pointer;
}

#wpforo #wpforo-wrap .af-mobile-nav-trigger {
  padding: 0;
  border: var(--rule-hair) solid var(--color-rule);
}

.af-dialog {
  width: min(40rem, calc(100% - (var(--space-md) * 2)));
  max-width: 100%;
  max-height: calc(100dvh - (var(--space-md) * 2));
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  background: var(--color-transparent);
  color: var(--color-ink);
}

.af-dialog::backdrop {
  background: var(--color-scrim);
}

.af-dialog__surface {
  max-height: calc(100dvh - (var(--space-md) * 2));
  overflow-y: auto;
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.af-dialog__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.af-dialog__head h2 {
  margin: 0;
  font-size: var(--text-xl);
}

.af-dialog .af-icon-button {
  display: inline-flex;
}

.af-command-search {
  padding: var(--space-md);
}

.af-command-search > label,
.af-command-links > p {
  display: block;
  margin-bottom: var(--space-2xs);
  color: var(--color-neutral);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.af-command-search__field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs);
  min-height: 3.5rem;
  padding-inline: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  outline: var(--rule-strong) solid var(--color-transparent);
  outline-offset: var(--rule-hair);
}

.af-command-search__field:focus-within {
  border-color: var(--color-focus);
  outline-color: var(--color-focus);
}

#wpforo .af-command-search__field input {
  width: 100%;
  min-height: 3rem;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
  color: var(--color-ink);
  box-shadow: none;
  outline: 0;
}

.af-command-search__help {
  margin: var(--space-2xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.af-command-links {
  padding: 0 var(--space-md) var(--space-md);
}

.af-command-links a,
.af-mobile-nav a {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-inline: var(--space-sm);
  border-radius: var(--radius-xs);
  color: var(--color-ink) !important;
  font-weight: 600;
  text-decoration: none !important;
}

.af-command-links a.is-active,
.af-command-links a:focus-visible,
.af-mobile-nav a[aria-current="page"] {
  background: var(--color-accent-soft);
  color: var(--color-accent-hover) !important;
}

.af-command-footer {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-xs) var(--space-md);
  border-top: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface-subtle);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-command-footer span {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
}

.af-mobile-nav {
  display: grid;
  gap: var(--space-3xs);
  padding: var(--space-sm);
}

.af-mobile-nav__primary {
  margin-top: var(--space-2xs);
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
}

#wpforo #wpforo-wrap .wpforo-subtop.af-subtop {
  display: grid !important;
  grid-area: context;
  grid-template-columns: minmax(0, 1fr) auto;
  width: auto;
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
  border: 0 !important;
  background: var(--color-transparent) !important;
  color: var(--color-ink);
}

#wpforo #wpforo-wrap .af-subtop__inner {
  display: contents;
}

#wpforo #wpforo-wrap .af-subtop__location {
  display: flex;
  min-width: 0;
  align-items: center;
  overflow: hidden;
}

#wpforo #wpforo-wrap .af-subtop__location:has(.wpf-item-element:not(.wpf-root))::before {
  content: "/";
  display: inline;
  flex: 0 0 auto;
  margin-inline-end: var(--space-2xs);
  color: var(--color-rule-strong);
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb {
  display: flex !important;
  width: auto;
  min-width: 0;
  height: auto;
  align-items: center;
  gap: var(--space-2xs);
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--color-muted) !important;
  font-size: var(--text-xs) !important;
  line-height: 1;
  text-overflow: clip;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element {
  position: static;
  display: inline-flex !important;
  float: none;
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: var(--color-transparent) !important;
  color: var(--color-muted) !important;
  font-size: var(--text-xs) !important;
  line-height: 1;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element::after {
  display: none !important;
  content: none !important;
  background: none !important;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element + .wpf-item-element::before {
  content: "/";
  display: inline;
  flex: 0 0 auto;
  color: var(--color-rule-strong);
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb :is(a, span) {
  display: inline-flex !important;
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  color: var(--color-muted) !important;
  font-size: var(--text-xs) !important;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-root span[itemprop="name"] {
  display: inline-flex !important;
  align-items: center;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-root a {
  gap: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-root {
  display: none !important;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element:not(.wpf-root):not(.active) {
  display: none !important;
  max-width: var(--rail-category);
  overflow: hidden;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element:not(.wpf-root):has(+ .active) {
  display: inline-flex !important;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element:not(.wpf-root):has(+ .active)::before,
#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-root + .active::before {
  display: none;
  content: none;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element:not(.wpf-root):not(.active) :is(a, span) {
  overflow: hidden;
  text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element.active {
  flex: 1 1 auto;
  overflow: hidden;
  color: var(--color-ink-2) !important;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element.active :is(a, span) {
  display: inline-flex !important;
  overflow: hidden;
  color: var(--color-ink-2) !important;
  font-weight: 600;
  text-overflow: ellipsis;
}

#wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-end {
  display: none;
}

#wpforo #wpforo-wrap .af-subtop__tools {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-subtop .wpf-share-buttons {
  flex: 0 0 auto;
  margin: 0;
}

.af-mobile-context-bar {
  display: none;
}

#wpforo-wrap .wpforo-main.af-workspace {
  display: grid;
  float: none;
  width: min(100%, var(--content-wide));
  max-width: var(--content-wide);
  min-width: 0;
  margin: 0 auto;
  padding: var(--space-lg) var(--space-md) var(--space-xl);
  background: var(--color-canvas);
}

#wpforo-wrap .af-workspace--discover {
  grid-template-columns: minmax(0, var(--rail-category)) minmax(0, 1fr) minmax(0, var(--rail-context));
  gap: var(--space-md);
}

#wpforo-wrap .af-workspace--thread {
  grid-template-columns: minmax(0, 1fr) minmax(0, 19rem);
  gap: var(--space-lg);
  max-width: var(--content-thread);
}

#wpforo-wrap .af-workspace--utility {
  grid-template-columns: minmax(0, 1fr);
  max-width: var(--content-thread);
}

#wpforo-wrap .af-workspace--utility:has(.af-workspace__context) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 19rem);
  gap: var(--space-lg);
}

#wpforo-wrap .wpforo-content.af-workspace__content,
#wpforo-wrap .wpforo-right-sidebar {
  float: none;
  width: auto !important;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

.af-workspace__categories,
.af-workspace__context {
  min-width: 0;
  align-self: start;
}

.af-workspace__categories,
.af-workspace__context {
  position: sticky;
  top: calc(var(--control-height) + var(--space-xs) + var(--space-lg));
}

body.admin-bar .af-workspace__categories,
body.admin-bar .af-workspace__context {
  top: calc(var(--control-height) + var(--space-xs) + var(--space-lg) + var(--space-lg));
}

@media (min-width: 64rem) {
  .af-workspace__categories,
  .af-workspace__context {
    max-height: calc(100dvh - var(--control-height) - var(--space-xs) - (2 * var(--space-lg)));
    overflow-x: clip;
    overflow-y: auto;
    scrollbar-width: thin;
  }

  body.admin-bar .af-workspace__categories,
  body.admin-bar .af-workspace__context {
    max-height: calc(100dvh - var(--control-height) - var(--space-xs) - (3 * var(--space-lg)));
  }
}

#wpforo #wpforo-wrap .af-category-nav {
  display: grid;
  min-width: 0;
  color: var(--color-neutral);
  font-size: var(--text-sm);
}

#wpforo #wpforo-wrap .af-category-nav__head {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding: 0 var(--space-2xs) var(--space-xs);
  border-bottom: var(--rule-strong) solid var(--color-ink);
}

#wpforo #wpforo-wrap .af-category-nav__head h2 {
  margin: 0;
  padding: 0;
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.25;
}

#wpforo #wpforo-wrap .af-category-nav__count {
  display: inline-grid;
  min-width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  padding-inline: var(--space-3xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-neutral);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  line-height: 1;
}

#wpforo #wpforo-wrap :is(.af-category-nav__all, .af-category-nav__category, .af-category-nav__forum) {
  min-width: 0;
  border-radius: var(--radius-xs);
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-category-nav__all {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  color: var(--color-neutral) !important;
  font-weight: 650;
}

#wpforo #wpforo-wrap :is(.af-category-nav__all, .af-category-nav__forum, .af-category-nav__category).is-active {
  background: var(--color-accent-soft);
  color: var(--color-accent-hover) !important;
  font-weight: 700;
}

#wpforo #wpforo-wrap .af-category-nav__all-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-category-nav__category-title,
#wpforo #wpforo-wrap .af-category-nav__forum-title {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

#wpforo #wpforo-wrap .af-category-nav__route-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-accent-hover);
  font-size: var(--text-sm);
}

#wpforo #wpforo-wrap .af-category-nav__arrow {
  width: 1rem;
  height: 1rem;
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-category-nav .is-active .af-category-nav__arrow {
  color: var(--color-accent-hover);
}

#wpforo #wpforo-wrap .af-category-nav__group {
  margin-top: var(--space-sm);
  padding-top: var(--space-xs);
  border-top: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-category-nav__category {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  color: var(--color-ink) !important;
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-category-nav__category-copy {
  display: grid;
  min-width: 0;
  gap: var(--space-3xs);
}

#wpforo #wpforo-wrap .af-category-nav__category-title {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

#wpforo #wpforo-wrap .af-category-nav__category-meta {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 500;
  line-height: 1.2;
}

.af-forum-mark {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  flex: 0 0 auto;
  place-items: center;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-accent-hover);
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  text-transform: uppercase;
}

#wpforo #wpforo-wrap .af-category-nav__forums {
  display: grid;
  gap: var(--space-3xs);
  margin-top: var(--space-2xs);
  margin-inline-start: var(--space-xs);
  padding-inline-start: var(--space-xs);
  border-inline-start: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-category-nav__forum {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: var(--control-height);
  align-items: start;
  gap: var(--space-3xs);
  padding: var(--space-2xs) var(--space-xs);
  color: var(--color-neutral) !important;
}

#wpforo #wpforo-wrap .af-category-nav__forum-title {
  line-height: 1.35;
}

#wpforo #wpforo-wrap .af-category-nav__metric {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-category-nav__forum.is-active .af-category-nav__metric {
  color: var(--color-accent-hover);
}

@media (hover: hover) and (pointer: fine) {
  #wpforo #wpforo-wrap .af-category-nav :is(.af-category-nav__all, .af-category-nav__category, .af-category-nav__forum):hover:not(.is-active) {
    background: var(--color-surface-subtle);
  }
}

.af-view-header,
.af-thread-header {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-lg);
  margin-bottom: var(--space-md);
  padding: var(--space-sm) 0 var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule-strong);
}

.af-view-header > div:first-child,
.af-thread-header > div:first-child {
  min-width: 0;
}

.af-eyebrow,
.af-section-kicker {
  display: block;
  margin-bottom: var(--space-3xs);
  color: var(--color-accent-hover);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

#wpforo-wrap #wpforo-title {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--display-weight);
  line-height: 1.08;
  letter-spacing: var(--tracking-display);
  overflow-wrap: anywhere;
}

.af-view-header p,
.af-view-header #wpforo-description {
  max-width: 44rem;
  margin: var(--space-2xs) 0 0;
  color: var(--color-neutral);
  font-size: var(--text-sm);
}

.af-view-header__actions,
.af-view-header__links,
.af-thread-header__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-xs);
}

.af-view-header__links {
  justify-content: flex-start;
  margin-top: var(--space-xs);
}

.af-text-action {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-accent-hover) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo-wrap .wpforo-feed,
#wpforo-wrap .wpf-action-link {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
}

.af-category-sections {
  display: grid;
  gap: var(--space-md);
}

#wpforo-wrap .af-category-section,
#wpforo-wrap .af-topic-feed--forum {
  min-width: 0;
  margin: 0;
  overflow: clip;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo-wrap .af-category-section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 0;
  padding: var(--space-md);
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
}

.af-category-section__head h2,
.af-category-section__head .cat-title {
  margin: 0;
  font-size: var(--text-xl);
  line-height: 1.2;
}

.af-category-section__head h2 a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

.af-category-section__head p {
  max-width: 40rem;
  margin: var(--space-2xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.af-category-section__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: var(--space-2xs);
}

#wpforo-wrap .af-secondary-action {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  padding: 0 var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-ink-2);
  cursor: pointer;
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
}

#wpforo-wrap .wpforo-category .wpf-button,
#wpforo-wrap .af-view-header .wpf-button,
#wpforo-wrap .af-view-header a.wpf-button,
#wpforo-wrap .wpf-add-topic,
#wpforo-wrap .wpforo-topic-form .wpf-button,
#wpforo-wrap .wpforo-reply-form .wpf-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  gap: var(--space-2xs);
  padding-inline: var(--space-sm) !important;
  border: var(--rule-hair) solid var(--color-accent) !important;
  border-radius: var(--radius-sm) !important;
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
  font-size: var(--text-sm) !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap :is(.af-category-section__actions, .af-view-header, .wpforo-topic-form, .wpforo-reply-form) a.wpf-button,
#wpforo #wpforo-wrap :is(.af-category-section__actions, .af-view-header, .wpforo-topic-form, .wpforo-reply-form) a.wpf-button :is(i, span) {
  color: var(--color-accent-ink) !important;
}

#wpforo #wpforo-wrap :is(
  .af-new-topic,
  .af-primary-action,
  .af-secondary-action,
  .af-text-action,
  a.wpf-button,
  button.wpf-button,
  .af-route-toolbar a,
  .af-route-header__actions a,
  .af-profile-tabs a,
  .af-forum-footer__nav a,
  .af-forum-footer__nav button
) {
  white-space: nowrap !important;
}

#wpforo #wpforo-wrap .wpforo-category :is(a, button).wpf-button,
#wpforo #wpforo-wrap .wpforo-category :is(a, button).wpf-button > span,
#wpforo #wpforo-wrap .af-view-header :is(a, button).wpf-button,
#wpforo #wpforo-wrap .af-view-header :is(a, button).wpf-button > span,
#wpforo #wpforo-wrap :is(.wpforo-topic-form, .wpforo-reply-form) .wpf-button,
#wpforo #wpforo-wrap :is(.wpforo-topic-form, .wpforo-reply-form) .wpf-button > span {
  white-space: nowrap !important;
}

#wpforo-wrap .af-forum-directory {
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-surface-subtle);
}

.af-forum-directory__list {
  display: grid;
  margin: 0;
  padding: var(--space-xs) var(--space-md);
}

#wpforo-wrap .af-forum-directory__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  min-height: 4.5rem;
  align-items: center;
  gap: var(--space-sm);
  margin: 0;
  padding: var(--space-xs) 0;
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-transparent);
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

#wpforo-wrap .af-forum-directory__item:last-child {
  border-bottom: 0;
}

.af-forum-directory__copy {
  display: grid;
  min-width: 0;
}

.af-forum-directory__copy strong {
  font-size: var(--text-sm);
}

.af-forum-directory__copy > span,
.af-forum-directory__stats {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-forum-directory__stats {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

#wpforo-wrap .af-topic-feed {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-surface);
}

.af-topic-feed__head {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

.af-topic-feed__head h2,
.af-topic-feed__head h3 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0;
}

.af-topic-feed__head > span {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo-wrap .wpf-thread-list,
#wpforo-wrap .wpf-threads {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-surface);
}

#wpforo-wrap .af-topic-row {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
  color: var(--color-ink);
}

#wpforo-wrap .af-topic-row:last-child {
  border-bottom: 0;
}

#wpforo-wrap .af-topic-row__inner {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr) 7.5rem 9rem;
  align-items: center;
  gap: var(--space-sm);
  min-width: 0;
  padding: var(--space-md);
  border: 0;
  background: var(--color-transparent);
}

.af-topic-row__people,
.af-topic-row__main,
.af-topic-row__stats,
.af-topic-row__activity {
  min-width: 0;
}

.af-avatar-stack {
  display: flex;
  align-items: center;
  padding-left: var(--space-xs);
}

.af-avatar {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  margin-left: calc(var(--space-xs) * -1);
  border: var(--rule-strong) solid var(--color-surface);
  border-radius: var(--radius-round);
  background: var(--color-surface-strong);
  color: var(--color-accent-hover) !important;
  text-decoration: none !important;
}

.af-avatar img,
.af-post__avatar img,
#wpforo-wrap .wpf-author-avatar img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: var(--radius-round) !important;
}

.af-avatar__fallback {
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 700;
  text-transform: uppercase;
}

.af-topic-row__labels {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
  margin-bottom: var(--space-3xs);
}

.af-topic-row__forum,
.af-topic-row__state {
  color: var(--color-accent-hover) !important;
  font-size: var(--text-xs);
  font-weight: 650;
  text-decoration: none !important;
}

.af-topic-row__state {
  padding-left: var(--space-2xs);
  border-left: var(--rule-hair) solid var(--color-rule-strong);
  color: var(--color-muted) !important;
}

.af-topic-row__title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -0.025em;
  overflow-wrap: anywhere;
}

#wpforo-wrap .af-topic-row__title a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

.af-topic-row__excerpt {
  display: -webkit-box;
  margin: var(--space-2xs) 0 0;
  overflow: hidden;
  color: var(--color-neutral);
  font-size: var(--text-sm);
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.af-topic-row__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3xs);
  margin-top: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-topic-row__byline a {
  color: var(--color-neutral) !important;
  font-weight: 600;
  text-decoration: none !important;
}

.af-topic-row__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xs);
  margin: 0;
}

.af-topic-row__stats div {
  display: flex;
  flex-direction: column-reverse;
  gap: var(--space-3xs);
}

.af-topic-row__stats dt {
  color: var(--color-muted);
  font-size: var(--text-2xs);
  font-weight: 500;
}

.af-topic-row__stats dd {
  margin: 0;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
}

.af-topic-row__activity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-3xs);
  color: var(--color-muted) !important;
  font-size: var(--text-2xs);
  text-decoration: none !important;
}

.af-topic-row__activity > span {
  grid-column: 1 / -1;
}

.af-topic-row__activity strong {
  overflow: hidden;
  color: var(--color-neutral);
  font-size: var(--text-xs);
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af-load-more {
  margin: 0;
  padding: var(--space-xs) var(--space-md);
  border-top: var(--rule-hair) solid var(--color-rule);
  text-align: center;
}

.af-load-more a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-accent-hover) !important;
  cursor: pointer;
  font-size: var(--text-sm);
  font-weight: 650;
  text-decoration: none !important;
}

.af-subforum-section {
  margin: 0 0 var(--space-md);
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
}

.af-subforum-section__head {
  margin-bottom: var(--space-xs);
}

.af-subforum-section__head h2 {
  margin: 0;
  font-size: var(--text-lg);
}

.af-subforum-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2xs);
}

#wpforo-wrap .af-subforum-list .wpf-forum-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-2xs);
  min-height: var(--control-height);
  margin: 0;
  padding: var(--space-2xs) var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

.af-subforum-list small {
  grid-column: 1;
  color: var(--color-muted);
}

.af-subforum-list .af-icon {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.af-context-panel {
  margin: 0;
  padding: var(--space-sm) 0;
  border-top: var(--rule-hair) solid var(--color-rule-strong);
}

.af-context-panel:first-child {
  padding-top: 0;
  border-top: 0;
}

.af-context-panel + .af-context-panel,
.af-plugin-sidebar {
  margin-top: var(--space-sm) !important;
}

.af-context-panel__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-bottom: var(--space-sm);
}

.af-context-panel h2,
.af-context-panel__head h2 {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: 0;
}

.af-context-panel__head > a,
.af-context-panel__head > span {
  color: var(--color-muted) !important;
  font-size: var(--text-xs);
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-live-dot {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3xs);
  color: var(--color-success);
  font-size: var(--text-xs);
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-live-dot > span {
  width: 0.45rem;
  height: 0.45rem;
  flex: 0 0 auto;
  border-radius: var(--radius-round);
  background: var(--color-success);
}

#wpforo #wpforo-wrap .af-context-panel--pulse .af-context-panel__head {
  margin-bottom: var(--space-xs);
}

#wpforo #wpforo-wrap .af-pulse-grid {
  display: grid;
  grid-template-areas:
    "primary posts"
    "primary members"
    "online online";
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: 0;
  margin: 0;
  border-top: var(--rule-strong) solid var(--color-ink);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-pulse-grid > div {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-pulse-grid__primary {
  grid-area: primary;
  display: flex;
  min-height: 7.5rem;
  flex-direction: column-reverse;
  justify-content: center;
  gap: var(--space-3xs);
  padding: var(--space-sm) var(--space-sm) var(--space-sm) 0;
  border-inline-end: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-pulse-grid__primary dt {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 650;
  line-height: 1.25;
}

#wpforo #wpforo-wrap .af-pulse-grid__primary dd {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 4vw, 3.5rem);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  letter-spacing: -0.055em;
  line-height: 0.9;
}

#wpforo #wpforo-wrap .af-pulse-grid__support {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-xs) 0 var(--space-xs) var(--space-sm);
}

#wpforo #wpforo-wrap .af-pulse-grid__posts {
  grid-area: posts;
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-pulse-grid__members {
  grid-area: members;
}

#wpforo #wpforo-wrap .af-pulse-grid__support dt {
  overflow-wrap: anywhere;
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.3;
}

#wpforo #wpforo-wrap .af-pulse-grid__support dd,
#wpforo #wpforo-wrap .af-pulse-grid__online dd {
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-variant-numeric: tabular-nums;
  font-weight: 650;
  letter-spacing: var(--tracking-display);
  line-height: 1;
}

#wpforo #wpforo-wrap .af-pulse-grid__online {
  grid-area: online;
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding: var(--space-2xs) 0;
  border-top: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-pulse-grid__online .af-live-dot {
  color: var(--color-success);
  font-size: var(--text-xs);
  font-weight: 650;
}

.af-contributor-list,
.af-participant-grid {
  display: grid;
  gap: var(--space-xs);
}

.af-contributor,
.af-participant {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--space-xs);
  min-width: 0;
}

.af-contributor > div,
.af-participant > div {
  display: grid;
  min-width: 0;
}

.af-contributor a:not(.af-avatar),
.af-participant a:not(.af-avatar) {
  overflow: hidden;
  color: var(--color-ink-2) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  text-decoration: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af-contributor span,
.af-participant span {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-context-panel--action {
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

.af-context-panel--action h2 {
  margin-bottom: var(--space-xs);
}

.af-thread-mobile-reply {
  display: none;
}

.af-primary-action {
  width: 100%;
}

.af-related-list {
  display: grid;
  gap: var(--space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}

.af-related-list li {
  display: grid;
  gap: var(--space-3xs);
}

.af-related-list a {
  color: var(--color-ink-2) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none !important;
}

.af-related-list span {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-thread-header {
  display: block;
  margin-bottom: var(--space-lg);
  padding-top: var(--space-xs);
}

.af-thread-header__path {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
  margin-bottom: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-thread-header__path a {
  color: var(--color-accent-hover) !important;
  font-weight: 650;
  text-decoration: none !important;
}

.af-thread-header__path .af-icon {
  width: 0.85rem;
  height: 0.85rem;
}

.af-thread-header__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.af-thread-header__meta strong {
  color: var(--color-ink-2);
  font-variant-numeric: tabular-nums;
}

.af-thread-header__actions {
  justify-content: space-between;
  margin-top: var(--space-sm);
}

#wpforo-wrap .af-plugin-topic-head {
  margin: 0 0 var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface-subtle);
}

.af-thread-tools__summary,
.af-thread-tools__summary > div,
.af-thread-tools__actions {
  display: flex;
  align-items: center;
}

.af-thread-tools__summary {
  min-height: var(--control-height);
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
}

.af-thread-tools__summary > div {
  gap: var(--space-2xs);
  color: var(--color-neutral);
  font-size: var(--text-sm);
  font-weight: 650;
}

#wpforo-wrap .af-thread-overview {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  padding: 0 var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-neutral);
  cursor: pointer;
  font-size: var(--text-sm);
  font-weight: 600;
  white-space: nowrap;
}

#wpforo-wrap .af-post-list {
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo-wrap .post-wrap {
  min-width: 0;
  margin: 0 0 var(--space-md);
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo-wrap .af-post {
  display: block;
  min-width: 0;
  margin: 0;
  /* Keep wpForo's transitioned post wrapper from remaining visually faded. */
  opacity: 1 !important;
  overflow: visible;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-ink);
}

#wpforo-wrap .af-post__header,
#wpforo-wrap .wpf-reply-head.af-post__header {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto auto;
  align-items: center;
  gap: var(--space-xs);
  min-height: 5rem;
  margin: 0;
  padding: var(--space-sm) var(--space-md);
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface-subtle);
}

#wpforo-wrap .af-post__avatar,
#wpforo-wrap .af-post .wpf-left {
  float: none;
  width: 3.25rem;
  min-width: 3.25rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo-wrap .af-post__avatar .wpf-author-avatar {
  width: 3.25rem;
  height: 3.25rem;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--radius-round);
}

.af-post__identity {
  min-width: 0;
}

#wpforo-wrap .af-post__identity .wpf-author-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3xs);
  margin: 0;
  color: var(--color-ink);
  font-size: var(--text-sm);
  font-weight: 700;
}

#wpforo-wrap .af-post__identity .wpf-author-name a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

.af-post__member-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
  margin-top: var(--space-3xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo-wrap .af-post__member-meta .wpf-author-title {
  display: inline;
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-post__time {
  color: var(--color-muted);
  font-size: var(--text-xs);
  white-space: nowrap;
}

.af-post__time a {
  color: var(--color-muted) !important;
  text-decoration: none !important;
}

#wpforo-wrap .af-topic-row .wpforo-date,
#wpforo-wrap .af-thread-header .wpforo-date,
#wpforo-wrap .af-post__time .wpforo-date {
  display: inline !important;
}

#wpforo-wrap .af-post__top-actions,
#wpforo-wrap .af-post .wpf-post-btns {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
  margin: 0;
}

#wpforo #wpforo-wrap .af-post__top-actions .wpf-action,
#wpforo #wpforo-wrap .af-post__footer .wpf-action {
  display: inline-flex;
  min-width: var(--control-height);
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
}

#wpforo-wrap .af-post__member-panel {
  width: auto;
  max-width: 22rem;
  padding: var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo-wrap .af-post__body,
#wpforo-wrap .af-post .wpf-right,
#wpforo-wrap .af-post .wpf-reply-content {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: var(--space-lg) var(--space-lg) var(--space-sm) calc(var(--space-xl) + var(--space-md));
  border: 0;
  background: var(--color-surface);
}

#wpforo-wrap .af-post .wpf-content {
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo-wrap .wpforo-post-content {
  max-width: var(--content-reading);
  min-height: 3rem;
  color: var(--color-ink-2);
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.72;
  overflow-wrap: anywhere;
}

#wpforo-wrap .wpforo-post-content > :last-child {
  margin-bottom: 0;
}

#wpforo-wrap .wpforo-post-content h2,
#wpforo-wrap .wpforo-post-content h3,
#wpforo-wrap .wpforo-post-content h4 {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-2xs);
  line-height: 1.25;
}

#wpforo-wrap .wpforo-post-content a {
  color: var(--color-accent-hover) !important;
  text-decoration: underline;
}

#wpforo-wrap .wpforo-post-content blockquote {
  margin: var(--space-md) 0;
  padding: var(--space-sm) var(--space-md);
  border: 0;
  border-left: var(--rule-strong) solid var(--color-accent);
  background: var(--color-surface-subtle);
  color: var(--color-neutral);
}

#wpforo-wrap .wpforo-post-content pre,
#wpforo-wrap .wpforo-post-content code {
  font-family: var(--font-code);
  font-size: 0.9em;
}

#wpforo-wrap .wpforo-post-content pre {
  max-width: 100%;
  padding: var(--space-sm);
  overflow-x: auto;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface-subtle);
}

#wpforo-wrap .wpforo-post-meta {
  margin-top: var(--space-md);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo-wrap .wpforo-post-signature {
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: var(--rule-hair) solid var(--color-rule);
}

#wpforo-wrap .af-post__footer {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin-top: var(--space-md);
  padding-top: var(--space-xs);
  border-top: var(--rule-hair) solid var(--color-rule);
  background: var(--color-transparent);
}

#wpforo-wrap .af-post__footer .wpf-buttons,
#wpforo-wrap .af-post__footer .wpf-reply {
  display: flex;
  align-items: center;
  gap: var(--space-3xs);
}

#wpforo-wrap .af-post__footer a,
#wpforo-wrap .af-post__top-actions a,
#wpforo-wrap .af-post__top-actions span {
  color: var(--color-neutral) !important;
}

#wpforo #wpforo-wrap .af-post__footer .wpf-action,
#wpforo #wpforo-wrap .af-post__footer .wpf-action :is(i, span) {
  color: var(--color-neutral) !important;
}

#wpforo-wrap .wpforo-topic-meta {
  margin: var(--space-xs) 0 0;
  padding: 0;
}

.af-replies-separator {
  display: flex;
  align-items: baseline;
  gap: var(--space-3xs);
  margin: var(--space-lg) 0 var(--space-sm);
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-weight: 650;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.af-replies-separator::after {
  width: 100%;
  height: var(--rule-hair);
  margin-left: var(--space-xs);
  background: var(--color-rule-strong);
  content: "";
}

.af-replies-separator span {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}

#wpforo-wrap .af-child-reply {
  margin-left: clamp(var(--space-sm), 4vw, var(--space-xl));
}

#wpforo-wrap .af-post--child .af-post__body {
  padding-left: var(--space-2xl);
}

#wpforo-wrap .wpf-post-replies-bar {
  margin: var(--space-xs) 0 0 clamp(var(--space-sm), 4vw, var(--space-xl));
  padding: var(--space-xs) var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface-subtle);
  color: var(--color-neutral);
}

#wpforo-wrap .wpf-reply-tree {
  margin-bottom: var(--space-sm);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.af-reply-composer {
  scroll-margin-top: calc(var(--control-height) + var(--space-xs) + var(--space-sm));
  margin-top: var(--space-lg);
  padding: var(--space-lg);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.af-reply-composer > h2 {
  margin: 0 0 var(--space-md);
  font-size: var(--text-xl);
}

.af-portable-composer {
  margin-bottom: var(--space-md);
}

#wpforo-wrap input[type="text"],
#wpforo-wrap input[type="email"],
#wpforo-wrap input[type="password"],
#wpforo-wrap input[type="url"],
#wpforo-wrap input[type="number"],
#wpforo-wrap input[type="search"],
#wpforo-wrap select,
#wpforo-wrap textarea {
  width: 100%;
  min-height: var(--control-height);
  padding: var(--space-2xs) var(--space-xs);
  border: var(--rule-hair) solid var(--color-rule-strong) !important;
  border-radius: var(--radius-xs) !important;
  background: var(--color-surface) !important;
  color: var(--color-ink) !important;
  box-shadow: none !important;
  outline: var(--rule-strong) solid var(--color-transparent);
  outline-offset: var(--rule-hair);
}

#wpforo-wrap :is(input, select, textarea)[aria-invalid="true"] {
  border-color: var(--color-error) !important;
  background: var(--color-error-soft) !important;
}

#wpforo-wrap :is(input, select, textarea):active:not(:disabled) {
  border-color: var(--color-accent) !important;
}

@media (hover: hover) and (pointer: fine) {
  #wpforo-wrap :is(input, select, textarea):hover:not(:disabled) {
    border-color: var(--color-neutral) !important;
  }
}

#wpforo-wrap :is(input, select, textarea):focus-visible {
  outline-color: var(--color-focus);
}

#wpforo-wrap textarea {
  min-height: 8rem;
  resize: vertical;
}

#wpforo-wrap label {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 600;
}

#wpforo-wrap .wpforo-topic-form,
#wpforo-wrap .wpforo-reply-form,
#wpforo-wrap .wpf-form-wrapper,
#wpforo-wrap .wpforo-login-wrap,
#wpforo-wrap .wpforo-register-wrap {
  padding: var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo-wrap .mce-tinymce,
#wpforo-wrap .wp-editor-container {
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule-strong) !important;
  border-radius: var(--radius-xs);
  box-shadow: none !important;
}

#wpforo-wrap .wpf-pagenavi,
#wpforo-wrap .wpforo-navi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3xs);
  margin: var(--space-sm) 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo-wrap .wpf-pagenavi a,
#wpforo-wrap .wpf-pagenavi span,
#wpforo-wrap .wpforo-navi a,
#wpforo-wrap .wpforo-navi span {
  display: inline-grid;
  min-width: var(--control-height);
  min-height: var(--control-height);
  place-items: center;
  padding: var(--space-2xs);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  text-decoration: none !important;
}

#wpforo-wrap .wpf-pagenavi .current,
#wpforo-wrap .wpforo-navi .current {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-accent-ink) !important;
}

.af-system-state {
  display: grid;
  min-height: 16rem;
  place-items: center;
  align-content: center;
  padding: var(--space-xl);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-neutral);
  text-align: center;
}

.af-system-state > .af-icon {
  width: 2rem;
  height: 2rem;
  margin-bottom: var(--space-sm);
  color: var(--color-accent);
}

.af-system-state h1,
.af-system-state h2 {
  margin-bottom: var(--space-2xs);
  font-size: var(--text-xl);
}

.af-system-state p {
  max-width: 35rem;
  margin: 0;
}

.af-system-state--error {
  border-color: var(--color-error);
  background: var(--color-error-soft);
}

#wpforo-wrap .wpf-p-error,
#wpforo-wrap .wpf-error,
#wpforo-wrap .wpf-alert {
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-error);
  border-radius: var(--radius-xs);
  background: var(--color-error-soft);
  color: var(--color-error);
}

#wpforo-wrap .wpf-success {
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-success);
  border-radius: var(--radius-xs);
  background: var(--color-success-soft);
  color: var(--color-success);
}

#wpforo-wrap .af-workspace--utility .af-workspace__content > :where(div, section, form):not(.wpf-clear) {
  max-width: 100%;
}

#wpforo-wrap .wpforo-members,
#wpforo-wrap .wpforo-profile,
#wpforo-wrap .wpforo-search,
#wpforo-wrap .wpforo-recent,
#wpforo-wrap .wpforo-tags {
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

.af-forum-footer {
  border-top: var(--rule-hair) solid var(--color-rule-strong);
  background: var(--color-surface-subtle);
  color: var(--color-ink);
}

body.aigenforums-workspace #ast-scroll-top {
  display: none !important;
}

.af-forum-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  min-height: calc(var(--control-height) + var(--space-sm));
  margin: 0 auto;
  padding: var(--space-2xs) var(--space-md);
}

.af-forum-footer__identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-forum-footer__identity > a {
  display: inline-flex;
  max-width: min(28rem, 45vw);
  min-width: 0;
  min-height: var(--control-height);
  align-items: center;
  overflow: hidden;
  color: var(--color-ink) !important;
  font-family: var(--font-display);
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.af-forum-footer__copyright,
.af-forum-footer__copyright * {
  color: var(--color-muted) !important;
  font-size: var(--text-xs) !important;
}

.af-forum-footer__copyright {
  min-width: 0;
  padding-inline-start: var(--space-sm);
  border-inline-start: var(--rule-hair) solid var(--color-rule);
  white-space: nowrap;
}

.af-forum-footer__copyright :is(#wpforo-poweredby, .wpf-by) {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: start !important;
}

.af-forum-footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-forum-footer__nav :is(a, button) {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  padding: 0 var(--space-2xs);
  border: 0;
  border-radius: var(--radius-xs);
  background: var(--color-transparent);
  color: var(--color-neutral) !important;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo-wrap .af-plugin-sidebar .widget {
  margin: 0 0 var(--space-sm);
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo-wrap .af-plugin-sidebar .widget-title {
  margin-bottom: var(--space-xs);
  font-size: var(--text-sm);
}

/*
 * wpForo's generated Layout 4 stylesheet uses two-ID selectors. This scoped
 * compatibility layer releases only its geometry so the child templates own
 * structure while wpForo continues to own states and behavior.
 */
#wpforo #wpforo-wrap .wpfl-4.af-category-section,
#wpforo #wpforo-wrap .wpfl-4.af-topic-feed {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: clip;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .wpforo-category.af-category-section__head {
  display: flex;
  min-height: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-md);
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  border-radius: 0;
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-forum-directory,
#wpforo #wpforo-wrap .wpfl-4 .wpf-threads.af-topic-feed {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row.wpf-thread {
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row .af-topic-row__inner.wpf-thread-body {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr) 9rem 8.5rem;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  min-width: 0;
  padding: var(--space-md);
  border: 0;
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row .wpf-thread-title.af-topic-row__main {
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: left;
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row .af-topic-row__stats,
#wpforo #wpforo-wrap .wpfl-4 .af-topic-row .af-topic-row__activity {
  width: auto;
  min-width: 0;
  margin: 0;
  padding-right: 0;
  text-align: left;
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row__stats dt,
#wpforo #wpforo-wrap .wpfl-4 .af-topic-row__stats dd {
  white-space: nowrap;
}

#wpforo #wpforo-wrap .wpfl-4.af-post-list,
#wpforo #wpforo-wrap .wpfl-4.af-post-list .post-wrap,
#wpforo #wpforo-wrap .wpfl-4.af-post-list .post-wrap:first-child {
  width: 100%;
  min-width: 0;
  margin: 0 0 var(--space-md);
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post.wpf-parent-post,
#wpforo #wpforo-wrap .wpfl-4 .af-post.wpf-child-post {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__header,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-head.af-post__header {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto auto;
  flex: none;
  align-items: center;
  justify-content: normal;
  gap: var(--space-xs);
  width: 100%;
  min-height: 5rem;
  margin: 0;
  padding: var(--space-sm) var(--space-md);
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  background: var(--color-surface-subtle);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-left.af-post__avatar,
#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar {
  float: none;
  width: 3.25rem;
  min-width: 3.25rem;
  height: 3.25rem;
  margin: 0;
  padding: 0;
  align-self: center;
  border: 0;
  background: var(--color-transparent);
  text-align: left;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar .wpf-author-avatar,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-head .af-post__avatar .wpf-author-avatar {
  display: block;
  width: 3.25rem;
  max-width: 3.25rem;
  height: 3.25rem;
  max-height: 3.25rem;
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar .avatar {
  display: block;
  width: 3.25rem !important;
  max-width: 3.25rem;
  height: 3.25rem !important;
  max-height: 3.25rem;
  margin: 0;
  padding: 0;
  border: var(--rule-hair) solid var(--color-rule-strong);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__identity,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-head .wpf-author.af-post__identity {
  min-width: 0;
  margin: 0;
  padding: 0;
  align-self: center;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__identity .wpf-author-name {
  display: flex;
  margin: 0;
  padding: 0;
  font-size: var(--text-sm);
  line-height: 1.35;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__time,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-post-date.af-post__time {
  margin: 0;
  padding: 0;
  align-self: center;
  font-size: var(--text-xs);
  line-height: 1.35;
  text-align: right;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-post-btns.af-post__top-actions {
  margin: 0;
  padding: 0;
  align-self: center;
  font-size: var(--text-xs);
  line-height: 1.35;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-right.af-post__body,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-content.af-post__body {
  float: none;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: var(--space-lg) var(--space-lg) var(--space-sm) calc(var(--space-xl) + var(--space-md));
  border: 0;
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__body > .wpf-content,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-content {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpforo-post-content,
#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-child-post .wpforo-post-content {
  max-width: var(--content-reading);
  min-height: 3rem;
  margin: 0;
  padding: 0;
  color: var(--color-ink-2);
  font-family: var(--font-body);
  font-size: 1.0625rem !important;
  line-height: 1.72;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-content-foot.af-post__footer {
  display: flex;
  width: 100%;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin: var(--space-md) 0 0;
  padding: var(--space-xs) 0 0;
  border: 0;
  border-top: var(--rule-hair) solid var(--color-rule);
  border-radius: 0;
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpforo-post-footer {
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpfl-4 .af-replies-separator.wpf-replies-sep {
  display: flex;
  align-items: baseline;
  gap: var(--space-3xs);
  margin: var(--space-lg) 0 var(--space-sm);
  padding: 0;
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .wpfl-4 .wpforo-topic-meta {
  margin: var(--space-xs) 0 0;
}

#wpforo #wpforo-wrap .wpfl-4 .af-child-reply,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-1,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-2,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-3,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-4,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-5,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-6,
#wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-7 {
  margin-left: clamp(var(--space-sm), 4vw, var(--space-xl));
}

#wpforo #wpforo-wrap .wpfl-4 .af-post__member-panel.wpforo-memberinfo {
  display: none;
}

#wpforo #wpforo-wrap .wpfl-4 .af-plugin-topic-head.wpforo-post-head {
  margin: 0 0 var(--space-sm);
  padding: 0;
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-thread-tools .af-thread-tools__summary {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border: 0;
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpfl-4 .af-thread-tools .wpf-post-head-bottom.af-thread-tools__actions {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  margin: 0;
  padding: var(--space-2xs) var(--space-sm);
  border-top: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface-subtle);
}

#wpforo #wpforo-wrap .wpfl-4 .af-thread-tools__actions .wpf-left,
#wpforo #wpforo-wrap .wpfl-4 .af-thread-tools__actions .wpf-right {
  display: flex;
  float: none;
  width: auto;
  min-height: 0;
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .af-thread-tools__actions .wpf-button-outlined,
#wpforo #wpforo-wrap .af-thread-tools__actions .wpf-button-outlined :is(i, span),
#wpforo #wpforo-wrap .af-post__header .wpf-post-starter,
#wpforo #wpforo-wrap .af-post__header .wpf-post-starter i,
#wpforo #wpforo-wrap .af-reply-composer .wpf-please-login a {
  color: var(--color-accent-hover) !important;
}

#wpforo #wpforo-wrap .af-thread-tools__actions .wpf-button-outlined {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-3xs);
}

#wpforo #wpforo-wrap .wpforo-topic-footer.wpfbg-9 {
  width: 100%;
  margin: var(--space-lg) 0 0;
  padding: 0;
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-neutral);
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-navi,
#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-navi-wrap {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--color-transparent);
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-navi-wrap {
  display: flex;
  min-height: var(--control-height);
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs) var(--space-md);
  padding: var(--space-xs) var(--space-sm);
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-forum-jump,
#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-prnx,
#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-prnx .wpf-navi-item {
  display: flex;
  float: none;
  width: auto;
  align-items: center;
  gap: var(--space-2xs);
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-prnx {
  flex-wrap: wrap;
  margin-left: auto;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-forum-jump-title,
#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-viewing-users {
  color: var(--color-neutral) !important;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-forum-jump-title,
#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-prnx a {
  white-space: nowrap;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-prnx a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-3xs);
  color: var(--color-accent-hover) !important;
  font-size: var(--text-sm);
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-forum-jump select {
  width: auto;
  min-width: 9rem;
  min-height: var(--control-height) !important;
  margin: 0;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-clear {
  display: none;
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-topic-visitors {
  margin: 0;
  padding: 0;
  border-top: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface-subtle);
}

#wpforo #wpforo-wrap .wpforo-topic-footer .wpf-viewing-users {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  margin: 0 !important;
  padding: var(--space-2xs) var(--space-sm) !important;
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .wpfl-4 .af-category-section__actions .wpf-head-bar-left,
#wpforo #wpforo-wrap .wpfl-4 .af-category-section__actions .wpf-head-bar-right {
  display: flex;
  float: none;
  width: auto;
  min-height: 0;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .af-forum-mark {
  display: inline-grid;
  font-weight: 700;
}

#wpforo #wpforo-wrap .af-brand__name {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 650;
  letter-spacing: var(--tracking-display);
}

#wpforo #wpforo-wrap .af-live-dot {
  display: inline-flex;
  font-weight: 650;
}

#wpforo #wpforo-wrap #wpforo-title {
  margin: 0;
  padding: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: var(--display-weight);
  line-height: 1.08;
  letter-spacing: var(--tracking-display);
  overflow-wrap: anywhere;
}

#wpforo #wpforo-wrap .af-view-header p,
#wpforo #wpforo-wrap .af-view-header #wpforo-description {
  max-width: 44rem;
  margin: var(--space-2xs) 0 0;
  padding: 0;
  color: var(--color-neutral);
  font-size: var(--text-sm);
  line-height: 1.55;
}

#wpforo #wpforo-wrap .af-category-section__head h2,
#wpforo #wpforo-wrap .af-category-section__head h2.cat-title,
#wpforo #wpforo-wrap .af-subforum-section__head h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: var(--display-weight);
  line-height: 1.2;
  letter-spacing: var(--tracking-display);
}

#wpforo #wpforo-wrap .af-category-section__head p {
  max-width: 40rem;
  margin: var(--space-2xs) 0 0;
  padding: 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
}

#wpforo #wpforo-wrap .af-topic-feed__head h2,
#wpforo #wpforo-wrap .af-topic-feed__head h3 {
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

#wpforo #wpforo-wrap .wpfl-4 .af-topic-row h3.af-topic-row__title {
  margin: 0;
  padding: 0;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -0.025em;
}

#wpforo #wpforo-wrap .af-topic-row__forum,
#wpforo #wpforo-wrap .af-topic-row__state,
#wpforo #wpforo-wrap .af-topic-row__byline span {
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-topic-row__excerpt {
  margin: var(--space-2xs) 0 0;
  padding: 0;
  font-size: var(--text-sm);
  line-height: 1.5;
}

#wpforo #wpforo-wrap .af-context-panel h2,
#wpforo #wpforo-wrap .af-context-panel__head h2,
#wpforo #wpforo-wrap .af-reply-composer > h2 {
  margin: 0;
  padding: 0;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
}

#wpforo #wpforo-wrap .af-reply-composer {
  margin: var(--space-lg) 0 0;
  padding: var(--space-lg);
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-reply-composer > h2 {
  margin-bottom: var(--space-md);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  letter-spacing: var(--tracking-display);
}

#wpforo #wpforo-wrap .af-reply-composer .wpf-please-login {
  display: block;
  min-height: var(--control-height);
  margin: 0;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface-subtle);
  color: var(--color-ink-2);
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpforo-post-content p {
  margin: 0 0 var(--space-sm);
  padding: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

#wpforo #wpforo-wrap .wpfl-4 .af-post .wpforo-post-content p:last-child {
  margin-bottom: 0;
}

#wpforo #wpforo-wrap form label {
  display: block;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 600;
}

#wpforo #wpforo-wrap > .wpf-sbtn.wpf-sb-bottom {
  display: flex !important;
  width: min(100%, var(--content-wide));
  min-height: 4rem;
  align-items: center;
  gap: var(--space-xs);
  margin: var(--space-sm) auto var(--space-lg);
  padding: var(--space-xs) var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap > .wpf-sbtn.wpf-sb-bottom .wpf-sbtn-title,
#wpforo #wpforo-wrap > .wpf-sbtn.wpf-sb-bottom .wpf-sbtn-wrap {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}

#wpforo #wpforo-wrap > .wpf-sbtn.wpf-sb-bottom .wpf-sb-button {
  display: inline-grid;
  width: var(--control-height);
  height: var(--control-height);
  place-items: center;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-neutral) !important;
  text-decoration: none !important;
}

@media (hover: hover) and (pointer: fine) {
  #wpforo #wpforo-wrap .af-primary-nav__link:hover,
  #wpforo #wpforo-wrap .af-account-link:hover,
  .af-command-links a:hover,
  .af-mobile-nav a:hover {
    background: var(--color-surface-subtle);
    color: var(--color-accent-hover) !important;
  }

  #wpforo #wpforo-wrap .af-new-topic:hover,
  .af-primary-action:hover {
    border-color: var(--color-accent-hover);
    background: var(--color-accent-hover);
  }

  #wpforo #wpforo-wrap .af-search-trigger:hover,
  #wpforo-wrap .af-secondary-action:hover {
    border-color: var(--color-accent);
    color: var(--color-accent-hover);
  }

  #wpforo-wrap .af-topic-row:hover {
    background: var(--color-surface-subtle);
  }

  #wpforo-wrap .af-topic-row:hover .af-topic-row__inner {
    background: var(--color-transparent);
  }

  #wpforo-wrap .af-topic-row__title a:hover,
  .af-related-list a:hover {
    color: var(--color-accent-hover) !important;
    text-decoration: underline !important;
  }

  #wpforo-wrap .af-forum-directory__item:hover {
    color: var(--color-accent-hover) !important;
  }

  #wpforo #wpforo-wrap .af-forum-footer__nav :is(a, button):hover {
    background: var(--color-surface-strong);
    color: var(--color-accent-hover) !important;
  }

  #wpforo #wpforo-wrap .af-forum-footer__identity > a:hover,
  #wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb a:hover {
    color: var(--color-accent-hover) !important;
  }
}

@media (min-width: 80rem) and (max-width: 89.99rem) {
  #wpforo #wpforo-wrap .af-appbar__inner {
    grid-template-columns: minmax(12rem, auto) minmax(0, 1fr) auto auto auto;
  }

  #wpforo #wpforo-wrap .af-search-trigger {
    display: inline-flex;
    width: var(--control-height);
    min-width: var(--control-height);
    justify-content: center;
    padding: 0;
  }

  #wpforo #wpforo-wrap .af-search-trigger__label,
  #wpforo #wpforo-wrap .af-search-trigger__key {
    display: none;
  }
}

@media (max-width: 79.99rem) {
  #wpforo #wpforo-wrap .af-appbar__inner {
    grid-template-areas: "brand context search actions";
    grid-template-columns: minmax(12rem, auto) minmax(0, 1fr) auto auto;
  }

  #wpforo #wpforo-wrap .af-primary-nav,
  #wpforo #wpforo-wrap .af-account-link {
    display: none;
  }

  #wpforo #wpforo-wrap .af-search-trigger {
    display: inline-flex;
    width: var(--control-height);
    min-width: var(--control-height);
    justify-content: center;
    padding: 0;
  }

  #wpforo #wpforo-wrap .af-search-trigger__label,
  #wpforo #wpforo-wrap .af-search-trigger__key {
    display: none;
  }

  #wpforo #wpforo-wrap .af-mobile-nav-trigger {
    display: inline-flex;
  }

  #wpforo-wrap .af-workspace--discover {
    grid-template-columns: minmax(0, 13rem) minmax(0, 1fr);
  }

  .af-workspace--discover .af-workspace__context {
    position: static;
    grid-column: 2;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    max-height: none;
    margin-top: var(--space-sm);
    overflow: visible;
    scrollbar-width: auto;
  }

  #wpforo #wpforo-wrap .af-workspace--discover .af-context-panel,
  #wpforo #wpforo-wrap .af-workspace--discover .af-context-panel + .af-context-panel {
    margin: 0 !important;
    padding: var(--space-sm);
    border: var(--rule-hair) solid var(--color-rule);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
  }

  .af-workspace--discover .af-plugin-sidebar {
    grid-column: 1 / -1;
  }

  #wpforo-wrap .af-topic-row__inner {
    grid-template-columns: 3.5rem minmax(0, 1fr) 6.5rem;
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-topic-row .af-topic-row__inner.wpf-thread-body {
    grid-template-columns: 3.5rem minmax(0, 1fr) 8rem;
  }

  .af-topic-row__activity {
    grid-column: 2 / -1;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding-top: var(--space-xs);
    border-top: var(--rule-hair) solid var(--color-rule);
  }

  .af-topic-row__activity > span {
    grid-column: auto;
  }
}

@media (max-width: 63.99rem) {
  #wpforo #wpforo-wrap .af-appbar__inner {
    grid-template-areas:
      "brand search actions"
      "context context context";
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-rows: minmax(calc(var(--control-height) + var(--space-xs)), auto) auto;
    gap: var(--space-2xs);
    row-gap: 0;
  }

  #wpforo #wpforo-wrap .af-appbar__inner::before {
    display: none;
  }

  #wpforo #wpforo-wrap .af-brand {
    min-height: calc(var(--control-height) + var(--space-xs));
  }

  #wpforo #wpforo-wrap .wpforo-subtop.af-subtop {
    display: grid !important;
    min-height: var(--control-height);
  }

  #wpforo #wpforo-wrap .wpforo-subtop.af-subtop.is-root {
    min-height: 0;
  }

  #wpforo #wpforo-wrap .wpforo-subtop.af-subtop.is-root .af-subtop__location {
    display: none;
  }

  #wpforo #wpforo-wrap .af-subtop__location::before {
    display: none !important;
  }

  #wpforo #wpforo-wrap .af-new-topic span {
    display: none;
  }

  #wpforo #wpforo-wrap .af-new-topic {
    width: var(--control-height);
    padding-inline: 0;
  }

  .af-reply-composer {
    scroll-margin-top: calc((2 * var(--control-height)) + var(--space-xs) + var(--space-sm));
  }

  #wpforo-wrap .af-workspace--discover,
  #wpforo-wrap .af-workspace--thread,
  #wpforo-wrap .af-workspace--utility:has(.af-workspace__context) {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-workspace__categories {
    display: none;
  }

  .af-mobile-context-bar {
    display: flex;
    width: min(100%, var(--content-wide));
    align-items: center;
    justify-content: space-between;
    gap: var(--space-sm);
    margin: 0 auto;
    padding: var(--space-xs) var(--space-md) 0;
  }

  .af-mobile-context-bar button,
  .af-mobile-context-bar a {
    display: inline-flex;
    min-height: var(--control-height);
    align-items: center;
    gap: var(--space-2xs);
    padding: 0 var(--space-xs);
    border: var(--rule-hair) solid var(--color-rule);
    border-radius: var(--radius-xs);
    background: var(--color-surface);
    color: var(--color-neutral) !important;
    font-size: var(--text-sm);
    font-weight: 650;
    text-decoration: none !important;
    white-space: nowrap;
  }

  .af-workspace--discover .af-workspace__context,
  .af-workspace--thread .af-workspace__context,
  .af-workspace--utility .af-workspace__context {
    position: static;
    grid-column: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-md);
    margin-top: var(--space-sm);
  }

  .af-workspace--thread .af-context-panel,
  .af-workspace--thread .af-context-panel + .af-context-panel {
    margin: 0 !important;
    padding: var(--space-sm);
    border: var(--rule-hair) solid var(--color-rule);
    border-radius: var(--radius-sm);
    background: var(--color-surface);
  }

  .af-workspace--thread .af-context-panel--action,
  .af-workspace--thread .af-plugin-sidebar {
    grid-column: 1 / -1;
  }

  #wpforo #wpforo-wrap .af-category-dialog .af-category-nav {
    padding: var(--space-sm);
  }

  .af-forum-footer__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .af-forum-footer__nav {
    justify-content: flex-start;
    border-top: var(--rule-hair) solid var(--color-rule);
  }
}

@media (max-width: 47.99rem) {
  body.admin-bar #wpforo #wpforo-wrap .af-appbar {
    top: 2.875rem;
  }

  body.admin-bar .af-workspace__categories,
  body.admin-bar .af-workspace__context {
    top: 9rem;
  }

  #wpforo #wpforo-wrap #wpforo-title {
    font-size: clamp(1.5rem, 6vw, 1.8rem);
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-topic-row h3.af-topic-row__title {
    font-size: 1.0625rem;
  }

  #wpforo #wpforo-wrap .af-appbar__inner {
    min-height: calc(var(--control-height) + var(--space-xs));
    padding-inline: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-appbar__context {
    margin-inline: calc(var(--space-2xs) * -1);
    padding-inline: var(--space-2xs);
  }

  .af-forum-footer__identity {
    display: grid;
    gap: 0;
  }

  #wpforo #wpforo-wrap .af-forum-footer__identity > a {
    max-width: 100%;
  }

  .af-forum-footer__copyright {
    padding: 0 0 var(--space-2xs);
    border-inline-start: 0;
    white-space: normal;
  }

  #wpforo-wrap .wpforo-main.af-workspace {
    padding: var(--space-md) var(--space-sm) var(--space-xl);
  }

  .af-mobile-context-bar {
    padding-inline: var(--space-sm);
  }

  .af-view-header,
  #wpforo-wrap .af-category-section__head {
    display: grid;
    align-items: start;
    gap: var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpfl-4 .wpforo-category.af-category-section__head {
    display: grid;
    align-items: start;
    gap: var(--space-sm);
  }

  .af-view-header__actions,
  .af-category-section__actions {
    width: 100%;
    justify-content: flex-start;
  }

  #wpforo-wrap .af-topic-row__inner {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: start;
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-topic-row .af-topic-row__inner.wpf-thread-body {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    align-items: start;
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  .af-topic-row__people {
    padding-top: var(--space-3xs);
  }

  .af-avatar-stack {
    display: grid;
    padding: 0;
  }

  .af-avatar-stack .af-avatar {
    grid-area: 1 / 1;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
  }

  .af-avatar-stack .af-avatar:nth-child(n + 2) {
    display: none;
  }

  .af-topic-row__stats,
  .af-topic-row__activity {
    grid-column: 2;
  }

  .af-topic-row__stats {
    display: flex;
    gap: var(--space-sm);
    padding-top: var(--space-xs);
    border-top: var(--rule-hair) solid var(--color-rule);
  }

  .af-topic-row__stats div {
    display: flex;
    flex-direction: row;
    gap: var(--space-3xs);
  }

  .af-topic-row__stats dt,
  .af-topic-row__stats dd {
    font-size: var(--text-xs);
  }

  .af-topic-row__activity {
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding-top: 0;
    border-top: 0;
  }

  .af-forum-directory__list {
    padding-inline: var(--space-sm);
  }

  #wpforo-wrap .af-forum-directory__item {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .af-forum-directory__stats {
    grid-column: 2;
  }

  .af-forum-directory__item > .af-icon {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .af-subforum-list,
  .af-workspace--discover .af-workspace__context,
  .af-workspace--thread .af-workspace__context,
  .af-workspace--utility .af-workspace__context {
    grid-template-columns: minmax(0, 1fr);
  }

  .af-workspace--thread .af-context-panel--action,
  .af-workspace--thread .af-plugin-sidebar {
    grid-column: 1;
  }

  #wpforo-wrap .af-post__header,
  #wpforo-wrap .wpf-reply-head.af-post__header {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__header,
  #wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-head.af-post__header {
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  #wpforo-wrap .af-post__avatar,
  #wpforo-wrap .af-post .wpf-left {
    width: 2.75rem;
    min-width: 2.75rem;
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-left.af-post__avatar,
  #wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar {
    width: 2.75rem;
    min-width: 2.75rem;
    height: 2.75rem;
  }

  #wpforo-wrap .af-post__avatar .wpf-author-avatar {
    width: 2.75rem;
    height: 2.75rem;
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar .wpf-author-avatar,
  #wpforo #wpforo-wrap .wpfl-4 .af-post .af-post__avatar .avatar {
    width: 2.75rem !important;
    max-width: 2.75rem;
    height: 2.75rem !important;
    max-height: 2.75rem;
  }

  .af-post__time {
    grid-column: 2;
    white-space: normal;
  }

  #wpforo-wrap .af-post__top-actions,
  #wpforo-wrap .af-post .wpf-post-btns {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  #wpforo-wrap .af-post__body,
  #wpforo-wrap .af-post .wpf-right,
  #wpforo-wrap .af-post .wpf-reply-content,
  #wpforo-wrap .af-post--child .af-post__body {
    padding: var(--space-md) var(--space-sm) var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-right.af-post__body,
  #wpforo #wpforo-wrap .wpfl-4 .af-post .wpf-reply-content.af-post__body {
    padding: var(--space-md) var(--space-sm) var(--space-sm);
  }

  #wpforo-wrap .wpforo-post-content {
    font-size: var(--text-md);
  }

  #wpforo-wrap .af-child-reply,
  #wpforo-wrap .wpf-post-replies-bar {
    margin-left: var(--space-xs);
  }

  #wpforo #wpforo-wrap .wpfl-4 .af-child-reply,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-1,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-2,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-3,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-4,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-5,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-6,
  #wpforo #wpforo-wrap .wpfl-4 .wpf-post-replies.level-7 {
    margin-left: var(--space-xs);
  }

  .af-reply-composer {
    padding: var(--space-md) var(--space-sm);
  }
}

@media (max-width: 39.99rem) {
  #wpforo #wpforo-wrap .af-appbar__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    column-gap: var(--space-2xs);
    row-gap: 0;
  }

  #wpforo #wpforo-wrap .af-brand__name {
    font-size: var(--text-md);
  }

  #wpforo #wpforo-wrap .af-subtop .wpf-breadcrumb .wpf-item-element:not(.wpf-root):not(.active):not(:has(+ .active)) {
    display: none !important;
  }

  .af-mobile-context-bar {
    overflow-x: auto;
  }

  .af-mobile-context-bar button,
  .af-mobile-context-bar a {
    flex: 0 0 auto;
  }

  .af-dialog {
    width: 100%;
    max-height: 100dvh;
    margin: 0;
  }

  .af-dialog__surface {
    min-height: 100dvh;
    max-height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .af-command-footer {
    display: none;
  }

  .af-topic-row__excerpt {
    -webkit-line-clamp: 3;
  }

  .af-thread-header__meta {
    gap: var(--space-xs);
  }

  #wpforo-wrap .af-post__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .af-forum-footer__nav {
    gap: var(--space-xs);
  }
}

@media (max-width: 25.99rem) {
  #wpforo #wpforo-wrap .af-new-topic {
    display: none;
  }

  #wpforo #wpforo-wrap .af-appbar__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .af-topic-row__byline > span:first-child {
    display: none;
  }

  .af-forum-directory__stats {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  #wpforo *,
  #wpforo *::before,
  #wpforo *::after {
    scroll-behavior: auto !important;
    transition-duration: 0ms !important;
    animation-duration: 0ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --------------------------------------------------------------------------
   Route architecture

   wpForo's stock utility templates use unrelated tables, cards, and fixed
   widths. All full-page routes now enter through this one structural layer.
   -------------------------------------------------------------------------- */

#wpforo #wpforo-wrap {
  display: flex;
  min-height: 100dvh;
  flex-direction: column;
}

#wpforo #wpforo-wrap .wpforo-main.af-workspace {
  flex: 1 0 auto;
  width: min(100%, var(--content-wide));
  max-width: var(--content-wide);
  margin: 0 auto;
  padding: var(--space-lg) var(--space-md) var(--space-xl);
  background: var(--color-canvas);
}

#wpforo #wpforo-wrap .wpforo-content.af-workspace__content {
  float: none;
  width: auto !important;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#wpforo #wpforo-wrap .af-route-frame {
  width: 100%;
  min-width: 0;
}

#wpforo #wpforo-wrap .af-route-frame--login,
#wpforo #wpforo-wrap .af-route-frame--register {
  width: min(100%, 36rem);
  margin-inline: auto;
}

#wpforo #wpforo-wrap .af-route-frame--profile,
#wpforo #wpforo-wrap .af-route-frame--members,
#wpforo #wpforo-wrap .af-route-frame--recent,
#wpforo #wpforo-wrap .af-route-frame--search,
#wpforo #wpforo-wrap .af-route-frame--tags,
#wpforo #wpforo-wrap .af-route-frame--activity,
#wpforo #wpforo-wrap .af-route-frame--account,
#wpforo #wpforo-wrap .af-route-frame--favored,
#wpforo #wpforo-wrap .af-route-frame--followers,
#wpforo #wpforo-wrap .af-route-frame--following,
#wpforo #wpforo-wrap .af-route-frame--subscriptions,
#wpforo #wpforo-wrap .af-route-frame--recent-activity {
  width: min(100%, 76rem);
  margin-inline: auto;
}

#wpforo #wpforo-wrap .af-route-frame--add-topic {
  width: min(100%, 48rem);
  margin-inline: auto;
}

#wpforo #wpforo-wrap .af-route-frame--lostpassword,
#wpforo #wpforo-wrap .af-route-frame--cantlogin {
  width: min(100%, 36rem);
  margin-inline: auto;
}

#wpforo #wpforo-wrap .af-route-frame--404 {
  width: min(100%, 48rem);
  margin-inline: auto;
}

#wpforo #wpforo-wrap .af-route-view {
  width: 100%;
  min-width: 0;
}

/* Authenticated app-bar hooks stay inside the edge-aligned action group. */

#wpforo #wpforo-wrap .af-brand {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-brand__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-appbar__actions > .wpf-alerts {
  display: grid;
  width: var(--control-height) !important;
  min-width: var(--control-height) !important;
  height: var(--control-height);
  place-items: center;
  justify-self: end;
  margin: 0;
}

/* wpForo's generated pseudo-element tooltips remain in the scrollable area
   while visually hidden. Native titles preserve the hint without widening
   compact forum and administrator layouts. */

#wpforo #wpforo-wrap [wpf-tooltip]::before,
#wpforo #wpforo-wrap [wpf-tooltip]::after {
  display: none !important;
  content: none !important;
}

/* Keep wpForo's administrator security warning useful without letting it
   become the page's dominant layout block. */

#wpforo #wpforo-wrap .wpforo-rcn-wrap {
  box-sizing: border-box;
  width: min(calc(100% - (2 * var(--space-md))), 76rem) !important;
  max-width: 100%;
  min-height: 0 !important;
  min-width: 0;
  margin: var(--space-sm) auto 0 !important;
  padding: var(--space-xs) var(--space-sm) !important;
  border: var(--rule-hair) solid var(--color-warning-rule);
  border-radius: var(--radius-sm);
  background: var(--color-warning-surface) !important;
  color: var(--color-neutral);
  font-size: var(--text-xs);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

#wpforo #wpforo-wrap .wpforo-rcn-body,
#wpforo #wpforo-wrap .wpforo-rcn-footer {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
}

#wpforo #wpforo-wrap .wpforo-rcn-footer > *,
#wpforo #wpforo-wrap .wpforo-rcn-dismiss {
  width: auto !important;
  max-width: 100%;
  min-width: 0;
}

#wpforo #wpforo-wrap .wpforo-rcn-info {
  display: none;
}

#wpforo #wpforo-wrap .wpforo-rcn-head {
  display: block;
  width: auto !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 0 var(--space-3xs) !important;
  padding: 0 !important;
  color: var(--color-warning) !important;
  font-size: var(--text-sm) !important;
  font-weight: 700;
}

#wpforo #wpforo-wrap .wpforo-rcn-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-sm);
  margin-top: var(--space-2xs) !important;
  padding-top: var(--space-2xs) !important;
  border-top: var(--rule-hair) solid var(--color-rule) !important;
}

#wpforo #wpforo-wrap .wpforo-rcn-dismiss-button {
  display: inline-flex;
  min-height: 2rem;
  align-items: center;
  padding: 0 var(--space-xs);
  border: var(--rule-hair) solid var(--color-warning);
  border-radius: var(--radius-xs);
  background: transparent;
  color: var(--color-warning);
  font-weight: 700;
  cursor: pointer;
  float: none !important;
}

#wpforo #wpforo-wrap .af-route-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-lg);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule-strong);
}

#wpforo #wpforo-wrap .af-route-header__copy {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-route-header h1,
#wpforo #wpforo-wrap .af-auth-header h1 {
  margin: 0;
  color: var(--color-ink) !important;
  font-size: var(--text-2xl) !important;
  line-height: 1.08;
}

#wpforo #wpforo-wrap .af-route-header h1 span {
  color: var(--color-accent-hover);
}

#wpforo #wpforo-wrap .af-route-header p,
#wpforo #wpforo-wrap .af-auth-header p {
  max-width: 44rem;
  margin: var(--space-2xs) 0 0;
  color: var(--color-muted);
  font-size: var(--text-sm);
}

#wpforo #wpforo-wrap .af-route-header__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-xs);
}

#wpforo #wpforo-wrap .af-route-header__actions a,
#wpforo #wpforo-wrap .af-secondary-action,
#wpforo #wpforo-wrap .af-not-found-actions > a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule-strong);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  line-height: 1;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-route-toolbar {
  display: flex;
  min-height: 3.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-route-toolbar__prefix,
#wpforo #wpforo-wrap .af-route-toolbar__controls {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-route-toolbar__controls {
  margin-left: auto;
}

#wpforo #wpforo-wrap .af-route-toolbar__label {
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-route-toolbar .wpf-snavi,
#wpforo #wpforo-wrap .af-route-pagination {
  margin: 0;
}

#wpforo #wpforo-wrap .af-route-pagination:not(:empty) {
  margin-top: var(--space-md);
}

#wpforo #wpforo-wrap .af-route-pagination--top:not(:empty) {
  margin: 0 0 var(--space-md);
}

/* Recent activity */

#wpforo #wpforo-wrap .af-activity-list {
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-activity-record {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) var(--control-height);
  align-items: start;
  gap: var(--space-sm);
  min-width: 0;
  padding: var(--space-md);
  border: 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-activity-record:last-child {
  border-bottom: 0;
}

#wpforo #wpforo-wrap .af-activity-record.wpf-unread {
  border-left: var(--rule-strong) solid var(--color-accent);
}

#wpforo #wpforo-wrap .af-activity-record__avatar {
  padding-top: var(--space-3xs);
}

#wpforo #wpforo-wrap .af-activity-record__body {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-activity-record__context,
#wpforo #wpforo-wrap .af-activity-record__author {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-activity-record__context > * + *::before,
#wpforo #wpforo-wrap .af-search-result__meta > * + *::before {
  margin-right: var(--space-2xs);
  color: var(--color-rule-strong);
  content: "·";
}

#wpforo #wpforo-wrap .af-activity-record__context a,
#wpforo #wpforo-wrap .af-activity-record__author a {
  color: var(--color-neutral) !important;
  font-weight: 600;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-activity-record h2 {
  margin: var(--space-3xs) 0;
  font-size: var(--text-lg);
  line-height: 1.3;
}

#wpforo #wpforo-wrap .af-activity-record h2 a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-activity-record__excerpt {
  display: -webkit-box;
  max-width: var(--content-reading);
  margin: var(--space-xs) 0 0;
  overflow: hidden;
  color: var(--color-neutral);
  font-size: var(--text-sm);
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

#wpforo #wpforo-wrap .af-activity-record__open {
  display: grid;
  width: var(--control-height);
  height: var(--control-height);
  place-items: center;
  border-radius: var(--radius-xs);
  color: var(--color-muted) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-recent-replies {
  display: grid;
  gap: var(--space-xs);
  margin: var(--space-sm) 0 0;
  padding: var(--space-sm) 0 0;
  border-top: var(--rule-hair) solid var(--color-rule);
  list-style: none;
}

#wpforo #wpforo-wrap .af-recent-replies li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-recent-replies li > a {
  overflow: hidden;
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-recent-replies li > span {
  color: var(--color-muted);
  font-size: var(--text-xs);
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-recent-replies__all {
  justify-content: end;
}

/* Member directory */

#wpforo #wpforo-wrap .af-directory-search {
  margin-bottom: var(--space-md);
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-directory-search form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-directory-search form > .wpf-tr,
#wpforo #wpforo-wrap .af-directory-search .wpf-td,
#wpforo #wpforo-wrap .af-directory-search .wpf-field {
  float: none;
  width: 100% !important;
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .af-directory-search .wpf-label {
  margin-bottom: var(--space-2xs);
  color: var(--color-ink-2) !important;
  font-size: var(--text-sm);
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-directory-search .wpf-field-type-submit {
  display: flex;
  align-items: center;
  gap: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-member-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#wpforo #wpforo-wrap .af-member-card {
  position: relative;
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  grid-template-areas:
    "avatar identity open"
    "avatar stats open"
    "meta meta meta";
  gap: var(--space-xs) var(--space-sm);
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0;
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-member-card__avatar {
  position: relative;
  grid-area: avatar;
  width: 4rem;
  height: 4rem;
  align-self: start;
}

#wpforo #wpforo-wrap .af-member-card__avatar .af-avatar,
#wpforo #wpforo-wrap .af-member-card__avatar img,
#wpforo #wpforo-wrap .af-member-card__avatar .af-avatar__fallback {
  width: 4rem;
  height: 4rem;
}

#wpforo #wpforo-wrap .af-member-card__online {
  position: absolute;
  right: 0;
  top: 3rem;
  bottom: auto;
  display: grid;
  width: 1rem;
  height: 1rem;
  place-items: center;
  border: 3px solid var(--color-surface);
  border-radius: var(--radius-round);
  background: var(--color-surface);
  font-size: 0.5rem;
}

#wpforo #wpforo-wrap .af-member-card__identity {
  grid-area: identity;
  min-width: 0;
}

#wpforo #wpforo-wrap .af-member-card__identity h2 {
  margin: 0 0 var(--space-3xs);
  overflow: hidden;
  font-size: var(--text-md);
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-member-card__identity h2 a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-member-card__role {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-member-card__role .wpf-member-title {
  float: none !important;
  margin: 0;
}

#wpforo #wpforo-wrap .af-member-card__role .author-rating-full {
  float: none !important;
  margin: 0;
}

#wpforo #wpforo-wrap .af-member-card__stats {
  grid-area: stats;
  display: flex;
  gap: var(--space-md);
  margin: 0;
}

#wpforo #wpforo-wrap .af-member-card__stats div {
  display: flex;
  align-items: baseline;
  gap: var(--space-3xs);
}

#wpforo #wpforo-wrap .af-member-card__stats dt {
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-member-card__stats dd {
  margin: 0;
  color: var(--color-ink-2);
  font-size: var(--text-sm);
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

#wpforo #wpforo-wrap .af-member-card__meta {
  grid-area: meta;
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-xs);
  padding-top: var(--space-xs);
  border-top: var(--rule-hair) solid var(--color-rule);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-member-card__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

#wpforo #wpforo-wrap .af-member-card__social a {
  color: var(--color-neutral) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-member-card__open {
  grid-area: open;
  display: grid;
  width: var(--control-height);
  height: var(--control-height);
  place-items: center;
  align-self: center;
  color: var(--color-muted) !important;
  text-decoration: none !important;
}

/* Profile */

#wpforo #wpforo-wrap .af-profile-view {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}

#wpforo #wpforo-wrap .af-profile-head {
  position: relative;
  overflow: hidden;
  margin: 0;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background-color: var(--color-accent-soft) !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% 7rem !important;
}

#wpforo #wpforo-wrap .af-profile-cover {
  min-height: 7rem;
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: transparent;
}

#wpforo #wpforo-wrap .af-profile-head__body {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-profile-head__avatar {
  position: relative;
  width: 7rem;
  margin-top: -4.5rem;
}

#wpforo #wpforo-wrap .af-profile-head__avatar .af-avatar,
#wpforo #wpforo-wrap .af-profile-head__avatar img,
#wpforo #wpforo-wrap .af-profile-head__avatar .af-avatar__fallback {
  width: 7rem;
  height: 7rem;
  border: 4px solid var(--color-surface);
}

#wpforo #wpforo-wrap .af-profile-head__online {
  position: absolute;
  right: 0.25rem;
  bottom: 0.25rem;
  display: grid;
  width: 1.25rem;
  height: 1.25rem;
  place-items: center;
  border: 3px solid var(--color-surface);
  border-radius: var(--radius-round);
  background: var(--color-surface);
  font-size: 0.6rem;
}

#wpforo #wpforo-wrap .af-profile-head__identity {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-profile-head__identity h1 {
  margin: 0;
  font-size: var(--text-xl) !important;
  line-height: 1.15;
}

#wpforo #wpforo-wrap .af-profile-head__handle {
  margin-top: var(--space-3xs);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

#wpforo #wpforo-wrap .af-profile-head__role,
#wpforo #wpforo-wrap .af-profile-head__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-profile-head__role {
  margin-top: var(--space-xs);
}

#wpforo #wpforo-wrap .af-profile-head__controls,
#wpforo #wpforo-wrap .af-profile-head__controls > * {
  float: none;
}

#wpforo #wpforo-wrap .af-profile-head__meta {
  padding: var(--space-xs) var(--space-md);
  border-top: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface-subtle);
}

#wpforo #wpforo-wrap .af-profile-head__meta > span + span::before {
  margin-right: var(--space-xs);
  color: var(--color-rule-strong);
  content: "·";
}

#wpforo #wpforo-wrap .af-profile-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-xs);
  margin: var(--space-sm) 0;
}

#wpforo #wpforo-wrap .af-profile-tabs {
  overflow-x: auto;
  margin: 0;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-profile-tabs :where(ul, .wpf-profile-menu) {
  display: flex;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 0 var(--space-xs);
  list-style: none;
}

#wpforo #wpforo-wrap .af-profile-tabs :where(li, .wpf-profile-menu-item) {
  float: none;
  margin: 0;
}

#wpforo #wpforo-wrap .af-profile-tabs a {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  padding: 0 var(--space-sm);
  border: 0;
  border-bottom: var(--rule-strong) solid transparent;
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
}

#wpforo #wpforo-wrap .af-profile-tabs .wpf-active a,
#wpforo #wpforo-wrap .af-profile-tabs .active a,
#wpforo #wpforo-wrap .af-profile-tabs a[aria-current="page"] {
  border-bottom-color: var(--color-accent);
  color: var(--color-accent-hover) !important;
}

#wpforo #wpforo-wrap .wpforo-profile-content.af-profile-content {
  min-height: 12rem;
  padding: var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-profile-overview,
#wpforo #wpforo-wrap .af-profile-section {
  width: 100%;
}

#wpforo #wpforo-wrap .af-profile-section + .af-profile-section {
  margin-top: var(--space-lg);
}

#wpforo #wpforo-wrap .af-profile-section__head {
  margin-bottom: var(--space-sm);
  padding-bottom: var(--space-xs);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-profile-section__head h2 {
  margin: 0;
  font-size: var(--text-md);
}

#wpforo #wpforo-wrap .wpforo-profile-home .af-profile-stats {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: var(--space-xs);
  margin: 0;
}

#wpforo #wpforo-wrap .af-profile-stats .af-profile-stat {
  display: grid !important;
  min-width: 0;
  width: 100% !important;
  height: auto !important;
  align-content: start;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3xs);
  padding: var(--space-sm);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface-subtle);
  line-height: 1.5;
  text-align: center;
}

#wpforo #wpforo-wrap .af-profile-stat dt {
  grid-row: 2;
  grid-column: 1;
  color: var(--color-muted);
  font-size: var(--text-xs);
  line-height: 1.3;
}

#wpforo #wpforo-wrap .af-profile-stat dd {
  grid-row: 1;
  grid-column: 1;
  margin: 0;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-tr,
#wpforo #wpforo-wrap .af-generated-fields .wpf-tr,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2xs);
  min-width: 0;
  width: 100%;
  padding: var(--space-xs) 0;
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-tr:last-child,
#wpforo #wpforo-wrap .af-generated-fields .wpf-tr:last-child,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-tr:last-child {
  border-bottom: 0;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-tr:not(:has(.wpf-field)) {
  display: none;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-row-html_soc_net:not(:has(~ .wpf-tr .wpf-field)) {
  display: none;
}

#wpforo #wpforo-wrap .af-profile-section:has(.af-profile-fields):not(:has(.af-profile-fields .wpf-field:not(.wpf-field-type-html))) {
  display: none;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-td,
#wpforo #wpforo-wrap .af-generated-fields .wpf-td,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-td,
#wpforo #wpforo-wrap .af-profile-fields .wpf-field,
#wpforo #wpforo-wrap .af-generated-fields .wpf-field,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field {
  float: none;
  max-width: 100%;
  min-width: 0;
  width: 100% !important;
  margin: 0;
  padding: 0;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-field-wrap,
#wpforo #wpforo-wrap .af-generated-fields .wpf-field-wrap,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-wrap {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}

#wpforo #wpforo-wrap .af-profile-fields .wpf-field-wrap a {
  overflow-wrap: anywhere;
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-td {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .wpforo-profile-account .wpf-field-cl,
#wpforo #wpforo-wrap .wpforo-profile-account .wpf-cl {
  display: none;
}

#wpforo #wpforo-wrap .wpforo-profile-account :where(
  .wpf-field-type-avatar,
  .wpf-field-type-tinymce,
  .wpf-field-type-html,
  .wpf-field-type-submit,
  .wpf-field-name-user_pass
) {
  grid-column: 1 / -1;
}

/* Authentication */

#wpforo #wpforo-wrap .af-auth-view {
  padding: var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-auth-header {
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-auth-form,
#wpforo #wpforo-wrap .af-auth-form .wpforo-login-wrap,
#wpforo #wpforo-wrap .af-auth-form .wpforo-register-wrap,
#wpforo #wpforo-wrap .af-auth-form .wpforo-login-content,
#wpforo #wpforo-wrap .af-auth-form .wpforo-register-content {
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#wpforo #wpforo-wrap .af-auth-form .wpf-field {
  width: 100%;
  margin: 0 0 var(--space-sm);
}

#wpforo #wpforo-wrap .af-auth-form .wpf-field > label {
  display: block;
  margin-bottom: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-input-with-icon {
  position: relative;
}

#wpforo #wpforo-wrap .af-input-with-icon > i:first-child {
  position: absolute;
  top: 50%;
  left: var(--space-xs);
  z-index: 1;
  color: var(--color-muted);
  transform: translateY(-50%);
}

#wpforo #wpforo-wrap .af-input-with-icon > input {
  padding-left: 2.5rem;
}

#wpforo #wpforo-wrap .af-password-toggle {
  position: absolute;
  top: 0;
  right: 0;
  display: grid;
  width: var(--control-height);
  min-height: var(--control-height);
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-muted);
}

#wpforo #wpforo-wrap .af-auth-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  margin: var(--space-xs) 0 var(--space-md);
  font-size: var(--text-sm);
}

#wpforo #wpforo-wrap .af-checkbox {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  cursor: pointer;
}

#wpforo #wpforo-wrap .af-checkbox input {
  width: 1rem;
  min-height: 1rem;
  margin: 0;
}

#wpforo #wpforo-wrap .af-auth-submit,
#wpforo #wpforo-wrap .af-tag-search button,
#wpforo #wpforo-wrap .af-not-found-actions button {
  display: inline-flex;
  width: 100%;
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
  padding: 0 var(--space-sm);
  border: var(--rule-hair) solid var(--color-accent) !important;
  border-radius: var(--radius-xs) !important;
  background: var(--color-accent) !important;
  color: var(--color-accent-ink) !important;
  font-size: var(--text-sm);
  font-weight: 700;
}

#wpforo #wpforo-wrap .af-auth-alternate {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2xs);
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: var(--rule-hair) solid var(--color-rule);
  color: var(--color-muted);
  font-size: var(--text-sm);
  text-align: center;
}

#wpforo #wpforo-wrap .af-form-note {
  display: flex;
  gap: var(--space-xs);
  margin: var(--space-sm) 0;
  padding: var(--space-sm);
  border-left: var(--rule-strong) solid var(--color-accent);
  background: var(--color-accent-soft);
  color: var(--color-neutral);
  font-size: var(--text-sm);
}

/* Search and tags */

#wpforo #wpforo-wrap .af-search-panel,
#wpforo #wpforo-wrap .af-tag-search {
  margin-bottom: var(--space-md);
  padding: var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-search-panel .wpforo-table,
#wpforo #wpforo-wrap .af-search-panel .wpforo-tr,
#wpforo #wpforo-wrap .af-search-panel .wpforo-td {
  float: none;
  width: 100% !important;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

#wpforo #wpforo-wrap .af-search-panel form > .wpforo-table:first-of-type > .wpforo-tr {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(13rem, 1fr);
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-search-panel .wpf-search-label {
  display: inline-block;
  margin-bottom: var(--space-2xs);
  color: var(--color-ink-2) !important;
  font-size: var(--text-sm);
  font-weight: 650;
}

#wpforo #wpforo-wrap .af-search-panel :where(input[type="text"], input[type="search"], select) {
  width: 100% !important;
  max-width: none !important;
}

#wpforo #wpforo-wrap .af-search-panel .wpf-toggle-wrap {
  margin-top: var(--space-xs);
  padding-top: var(--space-xs);
  border-top: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-search-panel .wpf-toggle-button {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  gap: var(--space-2xs);
  color: var(--color-neutral);
  font-size: var(--text-sm);
  font-weight: 650;
  cursor: pointer;
}

#wpforo #wpforo-wrap .af-search-panel .wpf-search-advanced-fields > .wpforo-table > .wpforo-tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
}

#wpforo #wpforo-wrap .af-search-panel .wpf-search-footer {
  margin-top: var(--space-sm);
}

#wpforo #wpforo-wrap .af-search-panel .wpf-search-footer .wpforo-td {
  display: flex;
  justify-content: flex-end;
}

#wpforo #wpforo-wrap .af-search-panel input[type="submit"] {
  width: auto;
  min-width: 8rem;
}

#wpforo #wpforo-wrap .af-search-results {
  display: grid;
  gap: var(--space-sm);
}

#wpforo #wpforo-wrap .af-search-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-md);
  margin: 0;
  padding: var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-search-result__main {
  min-width: 0;
}

#wpforo #wpforo-wrap .af-search-result h2 {
  margin: 0;
  font-size: var(--text-lg);
  line-height: 1.3;
}

#wpforo #wpforo-wrap .af-search-result h2 a {
  color: var(--color-ink) !important;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-search-result__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin-top: var(--space-2xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

#wpforo #wpforo-wrap .af-search-result__meta a {
  color: var(--color-neutral) !important;
  font-weight: 600;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-search-result__excerpt {
  max-width: var(--content-reading);
  margin-top: var(--space-sm);
  color: var(--color-neutral);
  font-size: var(--text-sm);
  line-height: 1.6;
}

#wpforo #wpforo-wrap .af-search-result__open {
  display: inline-flex;
  min-height: var(--control-height);
  align-items: center;
  align-self: center;
  gap: var(--space-2xs);
  color: var(--color-accent-hover) !important;
  font-size: var(--text-sm);
  font-weight: 650;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-tag-search > label {
  display: block;
  margin-bottom: var(--space-2xs);
}

#wpforo #wpforo-wrap .af-tag-search__field,
#wpforo #wpforo-wrap .af-not-found-actions form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-xs);
}

#wpforo #wpforo-wrap .af-tag-search button,
#wpforo #wpforo-wrap .af-not-found-actions button {
  width: auto;
}

#wpforo #wpforo-wrap .af-tag-directory {
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .af-tag-directory ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

#wpforo #wpforo-wrap .af-tag-directory li {
  margin: 0;
  border-right: var(--rule-hair) solid var(--color-rule);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-tag-directory li:nth-child(3n) {
  border-right: 0;
}

#wpforo #wpforo-wrap .af-tag-directory a {
  display: flex;
  min-height: var(--control-height);
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  color: var(--color-neutral) !important;
  font-size: var(--text-sm);
  font-weight: 600;
  text-decoration: none !important;
}

#wpforo #wpforo-wrap .af-tag-directory a span:last-child {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

/* Empty, permission, and callback-owned utility states */

#wpforo #wpforo-wrap .af-empty-state,
#wpforo #wpforo-wrap .af-route-frame > .wpf-page-message-wrap,
#wpforo #wpforo-wrap .af-route-frame > .wpfbg-7.wpf-page-message-wrap {
  display: grid;
  min-height: 16rem;
  place-items: center;
  align-content: center;
  gap: var(--space-2xs);
  padding: var(--space-xl);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface) !important;
  color: var(--color-neutral) !important;
  text-align: center;
}

#wpforo #wpforo-wrap .af-empty-state > .af-icon,
#wpforo #wpforo-wrap .af-route-frame > .wpf-page-message-wrap::before {
  margin-bottom: var(--space-xs);
  color: var(--color-accent);
  font-size: 1.5rem;
}

#wpforo #wpforo-wrap .af-empty-state h1,
#wpforo #wpforo-wrap .af-empty-state h2 {
  margin: 0;
  font-size: var(--text-xl);
}

#wpforo #wpforo-wrap .af-empty-state p {
  max-width: 36rem;
  margin: 0 0 var(--space-sm);
  color: var(--color-muted);
}

#wpforo #wpforo-wrap .af-empty-state--large {
  min-height: 28rem;
}

#wpforo #wpforo-wrap .af-not-found-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  width: min(100%, 40rem);
}

#wpforo #wpforo-wrap .af-not-found-actions form {
  flex: 1 1 20rem;
}

/* Native activity/profile modules that remain behavior-owned by wpForo. */

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap {
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-md);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap > .wpf-head-bar {
  padding: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
  background: var(--color-surface);
}

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap #wpforo-title {
  margin: 0 0 var(--space-sm);
  font-size: var(--text-2xl) !important;
}

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-recent-activity-content {
  padding: var(--space-md);
}

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-card,
#wpforo #wpforo-wrap .af-profile-content .wpf-activity,
#wpforo #wpforo-wrap .af-profile-content .wpforo-follower,
#wpforo #wpforo-wrap .af-profile-content .wpforo-sb {
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-surface);
  box-shadow: none;
}

#wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-item {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Portable new-topic flow */

#wpforo #wpforo-wrap .af-route-frame--add-topic .wpf-add-topic-wrap {
  width: 100%;
}

#wpforo #wpforo-wrap .af-route-frame--add-topic .wpf-add-topic-title {
  margin: 0 0 var(--space-md) !important;
  padding: 0 0 var(--space-md) !important;
  border: 0 !important;
  border-bottom: var(--rule-hair) solid var(--color-rule-strong) !important;
  color: var(--color-ink) !important;
  font-size: var(--text-2xl) !important;
  line-height: 1.1;
  text-align: left !important;
  text-transform: none !important;
}

#wpforo #wpforo-wrap .af-route-frame--add-topic .wpf-topic-forum-field {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}

#wpforo #wpforo-wrap .af-route-frame--add-topic .wpf-topic-form-forumid {
  width: 100%;
  max-width: none;
}

#wpforo #wpforo-wrap .af-profile-content .wpf-activity {
  margin-bottom: var(--space-xs);
}

#wpforo #wpforo-wrap .af-profile-content :where(.wpforo-followers-list, .wpforo-following-list) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
}

#wpforo #wpforo-wrap .af-profile-content .wpforo-follower {
  margin: 0;
  padding: var(--space-sm);
}

/* Keep the reply action inside the reading flow on tablet and mobile. */

@media (max-width: 63.99rem) {
  #wpforo #wpforo-wrap .af-workspace--thread .af-workspace__context {
    display: contents;
  }

  #wpforo #wpforo-wrap .af-workspace--thread .af-workspace__content {
    order: 0;
  }

  #wpforo #wpforo-wrap .af-workspace--thread .af-thread-mobile-reply {
    display: block;
    margin: 0 0 var(--space-md) !important;
  }

  #wpforo #wpforo-wrap .af-workspace--thread .af-workspace__context > .af-context-panel--action {
    display: none;
  }

  #wpforo #wpforo-wrap .af-workspace--thread .af-workspace__context > .af-context-panel:not(.af-context-panel--action),
  #wpforo #wpforo-wrap .af-workspace--thread .af-plugin-sidebar {
    grid-column: 1;
    order: 1;
    margin-top: var(--space-md) !important;
  }

  #wpforo #wpforo-wrap .wpforo-profile-home .af-profile-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 55.99rem) {
  #wpforo #wpforo-wrap .af-member-directory {
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-tag-directory ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #wpforo #wpforo-wrap .af-tag-directory li:nth-child(3n) {
    border-right: var(--rule-hair) solid var(--color-rule);
  }

  #wpforo #wpforo-wrap .af-tag-directory li:nth-child(2n) {
    border-right: 0;
  }
}

@media (max-width: 47.99rem) {
  #wpforo #wpforo-wrap .wpforo-main.af-workspace {
    padding: var(--space-md) var(--space-sm) var(--space-xl);
  }

  #wpforo #wpforo-wrap .af-route-header,
  #wpforo #wpforo-wrap .af-route-toolbar {
    display: grid;
    align-items: start;
    gap: var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpforo-rcn-wrap {
    width: calc(100% - (2 * var(--space-sm))) !important;
    margin-top: var(--space-xs) !important;
    padding: var(--space-xs) !important;
  }

  #wpforo #wpforo-wrap .wpforo-rcn-footer {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xs);
  }

  #wpforo #wpforo-wrap .wpforo-profile-account .wpf-td {
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-profile-content .wpf-activity-panel {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-xs);
  }

  #wpforo #wpforo-wrap .af-profile-content :where(
    .wpf-activity-panel-left,
    .wpf-activity-panel-right
  ) {
    float: none;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    margin: 0;
  }

  #wpforo #wpforo-wrap .af-profile-content .wpf-activity-panel-right {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  #wpforo #wpforo-wrap .af-profile-content .wpf-member-template-link a {
    white-space: nowrap;
  }

  #wpforo #wpforo-wrap .wpforo-profile-account :where(
    .wpf-field-type-avatar,
    .wpf-field-type-tinymce,
    .wpf-field-type-html,
    .wpf-field-type-submit,
    .wpf-field-name-user_pass
  ) {
    grid-column: 1;
  }

  #wpforo #wpforo-wrap .af-route-header__actions,
  #wpforo #wpforo-wrap .af-route-toolbar__controls {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }

  #wpforo #wpforo-wrap .af-route-toolbar__controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-route-toolbar__controls select {
    width: 100%;
  }

  #wpforo #wpforo-wrap .af-activity-record {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-xs);
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-activity-record__open {
    position: absolute;
    top: var(--space-xs);
    right: var(--space-xs);
  }

  #wpforo #wpforo-wrap .af-activity-record h2 {
    padding-right: 2.25rem;
    font-size: var(--text-md);
  }

  #wpforo #wpforo-wrap .af-recent-replies li {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3xs);
  }

  #wpforo #wpforo-wrap .af-recent-replies li > span {
    white-space: normal;
  }

  #wpforo #wpforo-wrap .af-directory-search form,
  #wpforo #wpforo-wrap .af-search-panel form > .wpforo-table:first-of-type > .wpforo-tr,
  #wpforo #wpforo-wrap .af-search-panel .wpf-search-advanced-fields > .wpforo-table > .wpforo-tr {
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-directory-search .wpf-field-type-submit input,
  #wpforo #wpforo-wrap .af-directory-search .wpf-field-type-submit a {
    flex: 1 1 0;
  }

  #wpforo #wpforo-wrap .af-member-card {
    grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  }

  #wpforo #wpforo-wrap .af-member-card__avatar .af-avatar,
  #wpforo #wpforo-wrap .af-member-card__avatar img,
  #wpforo #wpforo-wrap .af-member-card__avatar .af-avatar__fallback {
    width: 3.25rem;
    height: 3.25rem;
  }

  #wpforo #wpforo-wrap .af-member-card__avatar {
    width: 3.25rem;
    height: 3.25rem;
  }

  #wpforo #wpforo-wrap .af-member-card__online {
    top: 2.35rem;
  }

  #wpforo #wpforo-wrap .af-profile-cover {
    min-height: 5rem;
  }

  #wpforo #wpforo-wrap .af-profile-head {
    background-size: 100% 5rem !important;
  }

  #wpforo #wpforo-wrap .af-profile-head__body {
    grid-template-columns: 4.5rem minmax(0, 1fr);
    gap: var(--space-sm);
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-profile-head__avatar {
    width: 4.5rem;
    margin-top: -2.75rem;
  }

  #wpforo #wpforo-wrap .af-profile-head__avatar .af-avatar,
  #wpforo #wpforo-wrap .af-profile-head__avatar img,
  #wpforo #wpforo-wrap .af-profile-head__avatar .af-avatar__fallback {
    width: 4.5rem;
    height: 4.5rem;
    border-width: 3px;
  }

  #wpforo #wpforo-wrap .af-profile-head__controls {
    grid-column: 1 / -1;
  }

  #wpforo #wpforo-wrap .wpforo-profile-home .af-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #wpforo #wpforo-wrap .af-profile-content {
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-profile-content :where(.wpforo-followers-list, .wpforo-following-list) {
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-auth-view,
  #wpforo #wpforo-wrap .af-search-panel,
  #wpforo #wpforo-wrap .af-tag-search {
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-auth-options {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2xs);
  }

  #wpforo #wpforo-wrap .af-search-result {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .af-search-result__open {
    justify-self: start;
  }

  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-recent-activity-content {
    padding: var(--space-sm);
  }

  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-left,
  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-node,
  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-line {
    display: none;
  }

  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-item,
  #wpforo #wpforo-wrap .wpforo-recent-activity-wrap .wpf-timeline-right {
    display: block;
    width: 100%;
    margin: 0 0 var(--space-xs);
    padding: 0;
  }

  #wpforo #wpforo-wrap .af-empty-state,
  #wpforo #wpforo-wrap .af-route-frame > .wpf-page-message-wrap,
  #wpforo #wpforo-wrap .af-route-frame > .wpfbg-7.wpf-page-message-wrap {
    min-height: 12rem;
    padding: var(--space-lg) var(--space-sm);
  }
}

@media (max-width: 31.99rem) {
  #wpforo #wpforo-wrap .af-member-card {
    grid-template-areas:
      "avatar identity open"
      "stats stats stats"
      "meta meta meta";
  }

  #wpforo #wpforo-wrap .af-member-card__stats {
    padding-top: var(--space-xs);
    border-top: var(--rule-hair) solid var(--color-rule);
  }

  #wpforo #wpforo-wrap .af-tag-directory ul {
    grid-template-columns: minmax(0, 1fr);
  }

  #wpforo #wpforo-wrap .af-tag-directory li,
  #wpforo #wpforo-wrap .af-tag-directory li:nth-child(2n),
  #wpforo #wpforo-wrap .af-tag-directory li:nth-child(3n) {
    border-right: 0;
  }

  #wpforo #wpforo-wrap .af-not-found-actions,
  #wpforo #wpforo-wrap .af-not-found-actions form,
  #wpforo #wpforo-wrap .af-tag-search__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  #wpforo #wpforo-wrap .af-not-found-actions > a,
  #wpforo #wpforo-wrap .af-tag-search button,
  #wpforo #wpforo-wrap .af-not-found-actions button {
    width: 100%;
  }
}
