/* ============================================================
   JNR Builds forum (wpForo, template "2026"), direction C:
   the latest threads fill the main column and the forums stay
   pinned in a sidebar beside them.

   Loaded only on wpForo pages, after wpForo's colors.css.
   Colours come from the site tokens in design.css; wpForo's own
   colour slots point at the same tokens (wpforo_styles_2026,
   colour style "jnr"), so light mode flips with the site toggle.
   Wrapper classes jbf-index / jbf-list / jbf-no-topics are added
   by functions.php through wpForo's wpforo_wrap_class hook.
   ============================================================ */

:root {
	--jbf-pass: #4ADE80;
	--jbf-warn: #FBBF24;
	--jbf-fail: #F87171;
}
html[data-jbtheme="light"] {
	--jbf-pass: #1B5E33;
	--jbf-warn: #7A4E06;
	--jbf-fail: #A61B1B;
}

/* ---------- Page frame: same column as the other pages ---------- */
body.page-id-1221 .entry-content > :not(.jb-page-hero) { max-width: none !important; }
#wpforo, #wpforo-wrap { max-width: 100% !important; width: 100% !important; }

#wpforo #wpforo-wrap {
	background: transparent;
	color: var(--cream-100);
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	padding: 0;
}
#wpforo #wpforo-wrap *::selection { color: var(--ink-950); background: var(--glow-500); }
/* design.css sets every <i> to italic teal; wpForo's icons are <i> elements */
#wpforo #wpforo-wrap i[class*="fa-"] { font-style: normal; }
#wpforo #wpforo-wrap a:focus-visible,
#wpforo #wpforo-wrap button:focus-visible,
#wpforo #wpforo-wrap input:focus-visible {
	outline: 2px solid var(--glow-500);
	outline-offset: 2px;
}

/* ---------- Forum menu: underline tabs, account links and search on the right ----------
   wpForo switches to its own menu button at 620px and below; above that its
   stylesheet forces the list to display:block !important, hence the one
   !important on display here. */
#wpforo #wpforo-wrap #wpforo-menu {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px;
	min-height: 56px;
	margin: 24px 0 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--hairline);
	border-radius: 0;
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-left {
	display: flex !important; /* wpForo prints display:table-cell inline */
	align-items: stretch;
	align-self: stretch;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu {
	align-items: stretch;
	gap: 28px;
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 0;
	background: transparent;
	border: 0;
}
@media screen and (min-width: 621px) {
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu { display: flex !important; }
}
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li {
	display: flex;
	align-items: stretch;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	float: none;
}
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li > a {
	display: flex;
	align-items: center;
	min-width: 0;
	padding: 0;
	margin: 0 0 -1px;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--cream-dim-65);
	background: transparent;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	text-align: left;
	text-transform: none;
	white-space: nowrap;
}
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li > a:hover { color: var(--cream-100); }
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-active,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li:hover,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.current_page_item,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.current-menu-parent,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.current-menu-ancestor { background-color: transparent; border-bottom: 0; }
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-active > a,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.current-menu-item > a {
	color: var(--cream-100);
	border-bottom-color: var(--glow-500);
}
/* account items sit at the right end of the row */
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-register,
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-profile { margin-left: auto; }
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-register > a {
	align-self: center;
	height: 34px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid var(--hairline-strong);
	border-radius: 9999px;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-register > a:hover { border-color: var(--hairline-hover); }
#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-login > a { color: var(--glow-300); }

#wpforo #wpforo-wrap #wpforo-menu .wpf-search {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-search .wpf-search-form,
#wpforo #wpforo-wrap #wpforo-menu .wpf-search .wpf-search-form form {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-search .wpf-search-form i.fa-search {
	position: absolute;
	left: 14px;
	top: 50%;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	font-size: 14px;
	line-height: 1;
	color: var(--cream-400);
	pointer-events: none;
	z-index: 31;
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field,
#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field:focus {
	position: relative;
	display: block;
	width: 260px;
	max-width: 100%;
	height: 40px;
	margin: 0 !important; /* wpForo prints an inline margin-right */
	padding: 0 14px 0 40px;
	font: 400 14px/38px 'DM Sans', sans-serif;
	color: var(--cream-100);
	background: var(--ink-900);
	border: 1px solid var(--hairline-strong);
	border-radius: 12px;
	box-shadow: none;
	cursor: text;
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field::placeholder { color: var(--cream-400); opacity: 1; }
#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field:focus {
	border-color: var(--glow-500);
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--glow-500) 25%, transparent);
}
#wpforo #wpforo-wrap #wpforo-menu .wpf-res-menu { display: none; }

/* tablet: search drops to its own full-width row under the tabs */
@media screen and (min-width: 621px) and (max-width: 960px) {
	#wpforo #wpforo-wrap #wpforo-menu { row-gap: 0; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-left { min-height: 52px; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu { gap: 22px; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-search { flex: 1 0 100%; padding: 0 0 12px; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field { width: 100%; }
}
/* phone: wpForo's menu button, search beside it, the list opens as a panel */
@media screen and (max-width: 620px) {
	#wpforo #wpforo-wrap #wpforo-menu { flex-wrap: nowrap; column-gap: 10px; min-height: 0; padding: 10px 0; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-left { flex: 0 0 auto; align-items: center; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-res-menu {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin: 0;
		padding: 0;
		color: var(--cream-100);
		background: transparent;
		border: 1px solid var(--hairline-strong);
		border-radius: 9999px;
		cursor: pointer;
	}
	#wpforo #wpforo-wrap #wpforo-menu .wpf-res-menu i { padding: 0; font-size: 16px; line-height: 1; color: inherit; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu {
		top: 100%;
		left: 0;
		flex-direction: column;
		gap: 0;
		min-width: 240px;
		margin-top: 4px !important;
		padding: 6px;
		background: var(--ink-900);
		border: 1px solid var(--ink-border);
		border-radius: 12px;
	}
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li { display: block; margin: 0; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li > a { height: 44px; padding: 0 12px; margin: 0; border: 0; border-radius: 8px; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-register,
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-profile { margin-left: 0; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-register > a { height: 44px; padding: 0 12px; border: 0; border-radius: 8px; }
	#wpforo #wpforo-wrap #wpforo-menu #wpf-menu > li.wpforo-active > a { background: var(--wash); }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-search { flex: 1 1 auto; min-width: 0; }
	#wpforo #wpforo-wrap #wpforo-menu .wpf-search input[type="text"].wpf-search-field { width: 100%; height: 44px; }
}

/* ---------- Breadcrumb: hidden on the index, a one-line trail elsewhere ---------- */
#wpforo #wpforo-wrap .wpforo-subtop {
	margin: 20px 0 0;
	padding: 0;
	min-height: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
}
#wpforo #wpforo-wrap.jbf-index .wpforo-subtop .wpf-breadcrumb { display: none; }
#wpforo #wpforo-wrap.jbf-index .wpforo-subtop { margin: 0; }
#wpforo #wpforo-wrap .wpf-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	font: 400 12px/1.5 'Space Mono', monospace;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-item-element {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	height: auto;
	background: transparent;
	border: 0;
	box-shadow: none;
	max-width: none;
}
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-item-element::before,
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-item-element::after,
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-end { display: none; }
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-item-element + .wpf-item-element::before {
	content: "/";
	display: inline;
	position: static;
	width: auto;
	height: auto;
	border: 0;
	background: none;
	transform: none;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-item-element a {
	display: inline-flex;
	align-items: center;
	padding: 0;
	margin: 0;
	background: transparent;
	color: var(--glow-300);
	max-width: none;
	white-space: nowrap;
	overflow: visible;
	text-overflow: clip;
}
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element,
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element.active,
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element:hover { background: transparent; border: 0; }
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element.active,
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element.active a,
#wpforo #wpforo-wrap .wpf-breadcrumb div.wpf-item-element.active span { color: var(--cream-400); }
#wpforo #wpforo-wrap .wpf-breadcrumb .wpf-root i { font-size: 13px; }

/* ---------- Page titles ---------- */
#wpforo #wpforo-wrap #wpforo-title {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: 'Lora', serif;
	font-size: 40px;
	font-weight: 400;
	line-height: 1.08;
	color: var(--cream-100);
	background: transparent;
	text-wrap: balance;
}
/* index: title left, feed links right */
#wpforo #wpforo-wrap.jbf-index #wpforo-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
	margin-top: 32px;
}
#wpforo #wpforo-wrap #wpforo-title .wpforo-feed {
	float: none;
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	font: 400 12px/1.5 'Space Mono', monospace;
	color: var(--cream-400);
	white-space: nowrap;
}
#wpforo #wpforo-wrap #wpforo-title .wpforo-feed a { color: var(--glow-300); }
#wpforo #wpforo-wrap #wpforo-title .wpforo-feed i { color: inherit; font-size: 11px; }
#wpforo #wpforo-wrap .jbf-sub {
	margin: 10px 0 0;
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.55;
	color: var(--cream-400);
}

/* ---------- Primary button (Add topic and wpForo's other .wpf-button actions) ---------- */
#wpforo #wpforo-wrap .wpf-button,
#wpforo #wpforo-wrap a.wpf-button,
#wpforo #wpforo-wrap .wpforo-category .wpf-button,
#wpforo #wpforo-wrap .wpf-head-bar-right .wpf-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 40px;
	padding: 0 18px !important; /* wpForo sets head-bar button padding with !important */
	font: 600 14px/1 'DM Sans', sans-serif;
	color: var(--ink-950) !important; /* wpForo's colors.css sets button text with !important */
	background: var(--glow-500);
	border: 0;
	border-radius: 9999px;
	box-shadow: var(--glow-shadow-cta);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease-out;
}
#wpforo #wpforo-wrap .wpf-button:hover,
#wpforo #wpforo-wrap .wpforo-category .wpf-button:hover { background: var(--glow-300); color: var(--ink-950); }
#wpforo #wpforo-wrap .wpf-button i,
#wpforo #wpforo-wrap .wpf-button span { color: inherit; font-size: inherit; margin: 0; }

/* ---------- Index: forums sidebar + thread feed ---------- */
@media (min-width: 901px) {
	#wpforo #wpforo-wrap.jbf-index .wpforo-content {
		display: grid;
		grid-template-columns: 288px minmax(0, 1fr);
		column-gap: 32px;
		row-gap: 0;
		align-items: start;
	}
	#wpforo #wpforo-wrap.jbf-index .wpforo-content > * { grid-column: 1 / -1; }
	#wpforo #wpforo-wrap.jbf-index .wpforo-content > #wpforo-title { grid-row: 1; }
	#wpforo #wpforo-wrap.jbf-index .wpforo-content > .jbf-sub { grid-row: 2; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4.wpforo-section { display: contents; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 > * { grid-column: 1 / -1; grid-row: 3; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 > .wpforo-category { grid-column: 1; grid-row: 4; margin-top: 28px; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 > .wpf-cat-forums { grid-column: 1; grid-row: 5; align-self: stretch; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 > .wpf-threads,
	#wpforo #wpforo-wrap.jbf-index .wpforo-content > .jbf-empty { grid-column: 2; grid-row: 4 / span 2; margin-top: 28px; align-self: stretch; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 > .wpf-more-topics { grid-column: 2; grid-row: 6; }
	/* with real threads the feed can outgrow the sidebar; let the list end where its items end */
	#wpforo #wpforo-wrap.jbf-index:not(.jbf-no-topics) .wpfl-4 > .wpf-cat-forums { align-self: start; }
}
#wpforo #wpforo-wrap.jbf-no-topics .wpfl-4 > .wpf-threads,
#wpforo #wpforo-wrap.jbf-no-topics .wpfl-4 > .wpf-more-topics { display: none !important; }

/* sidebar head (wpForo's category panel): "Forums" + Add topic */
#wpforo #wpforo-wrap.jbf-index .wpforo-category {
	margin-bottom: 0;
	background: transparent;
	border: 0;
}
#wpforo #wpforo-wrap.jbf-index .wpforo-cat-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 0;
	padding: 14px 16px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	box-shadow: none;
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpforo-cat-panel { flex-wrap: nowrap; }
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpforo-cat-panel .cat-title {
	width: auto;
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	flex: 1 0 auto;
	min-width: max-content;
}
#wpforo #wpforo-wrap.jbf-index .wpforo-cat-panel .cat-icon { display: none; }
#wpforo #wpforo-wrap.jbf-index .wpforo-cat-panel .cat-name {
	font: 400 20px/1.2 'Lora', serif;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap.jbf-index .wpforo-cat-panel .wpf-head-bar-left { display: none; } /* the collapse chevron: the list is always open */
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpforo-cat-panel .wpf-head-bar-right { display: flex; width: auto; margin: 0; padding: 0; flex: 0 0 auto; }
#wpforo #wpforo-wrap.jbf-index .wpforo-cat-panel .wpf-head-bar-right .wpf-button { height: 36px; padding: 0 14px !important; font-size: 13.5px; }

/* sidebar list */
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forums {
	display: block !important; /* wpForo sets the open/closed state inline */
	margin: 0;
	padding: 4px 8px 10px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-top: 1px solid var(--hairline);
	border-radius: 0 0 16px 16px;
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list { display: block; padding: 0; margin: 0; background: transparent; }
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0 8px;
	background: transparent;
	border: 0;
	border-radius: 8px;
	transition: background-color .15s ease-out;
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item:hover { background: var(--wash); }
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item .wpf-circle {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	font-size: 14px;
	color: var(--glow-300) !important; /* wpForo prints the forum colour inline */
	background: transparent;
	border: 1px solid var(--glow-border);
	border-radius: 50%;
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item .wpf-circle i { color: inherit !important; }
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item > a {
	display: block;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item > a:hover { color: var(--glow-300); }
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item-stat {
	margin: 0;
	padding: 0;
	font: 400 12px/1 'Space Mono', monospace;
	color: var(--cream-400);
	background: transparent;
	border-radius: 0;
	white-space: nowrap;
}
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item .wpf-forum-item-stat span { color: inherit; }
/* the sidebar shows the thread count; the post count stays in the feed */
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item-stat sep,
#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item-stat span + sep + span { display: none; }

/* thread feed (layout 4 markup), author column folded away */
#wpforo #wpforo-wrap.jbf-index .wpf-threads {
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
	overflow: hidden;
}
#wpforo #wpforo-wrap .wpfl-4 .wpf-threads-head {
	min-height: 44px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--ink-border);
	border-radius: 0;
}
#wpforo #wpforo-wrap .wpfl-4 .wpf-threads-head .wpf-head-box {
	font: 400 10.5px/1.4 'Space Mono', monospace;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--cream-400);
	background: transparent;
	border: 0;
}
#wpforo #wpforo-wrap .wpf-thead-author,
#wpforo #wpforo-wrap .wpf-thread-author { display: none; }
#wpforo #wpforo-wrap .wpf-thread { border-bottom: 1px solid var(--hairline); background: transparent; }
#wpforo #wpforo-wrap .wpf-thread:last-child { border-bottom: 0; }
#wpforo #wpforo-wrap .wpf-thread:hover { background: var(--wash); }
#wpforo #wpforo-wrap .wpf-thread-forum span[wpf-tooltip] {
	border: 1px solid var(--glow-border) !important; /* inline forum colour */
	opacity: 1 !important;
	width: 36px !important;
	height: 36px !important;
	font-size: 15px !important;
}
#wpforo #wpforo-wrap .wpf-thread-forum i,
#wpforo #wpforo-wrap .wpf-thread-forum-mobile i { color: var(--glow-300) !important; }

/* empty state printed by functions.php when there are no threads */
#wpforo #wpforo-wrap .jbf-empty {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 40px;
	align-content: center;
	padding: 32px 36px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}
#wpforo #wpforo-wrap .jbf-empty h2 {
	margin: 0;
	font: 400 26px/1.15 'Lora', serif;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap .jbf-empty p { margin: 10px 0 0; max-width: 46ch; font-size: 15px; line-height: 1.55; color: var(--cream-400); }
#wpforo #wpforo-wrap .jbf-empty .jbf-empty-link { display: inline-block; margin-top: 16px; font-size: 15px; font-weight: 500; color: var(--glow-300); }
#wpforo #wpforo-wrap .jbf-empty .jbf-empty-link:hover { text-decoration: underline; }
#wpforo #wpforo-wrap .jbf-check { border-left: 1px solid var(--hairline-strong); padding-left: 32px; }
#wpforo #wpforo-wrap .jbf-check .jbf-cap {
	margin: 0;
	font: 400 11px/1.5 'Space Mono', monospace;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .jbf-check ul { list-style: none; margin: 8px 0 0; padding: 0; }
#wpforo #wpforo-wrap .jbf-check li { margin: 0; padding: 9px 0; border-top: 1px solid var(--hairline); }
#wpforo #wpforo-wrap .jbf-check li:first-child { border-top: 0; }
#wpforo #wpforo-wrap .jbf-check b { display: block; font-size: 14.5px; font-weight: 500; color: var(--cream-100); }
#wpforo #wpforo-wrap .jbf-check span { display: block; font-size: 13.5px; color: var(--cream-400); }

/* ---------- Forum page: title block + topic list ---------- */
#wpforo #wpforo-wrap .wpf-subforum-sep { display: none; }
#wpforo #wpforo-wrap .wpf-head-bar,
#wpforo #wpforo-wrap .wpfl-4 .wpf-head-bar {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin: 14px 0 0;
	padding: 0 0 24px;
	background: transparent !important;
	border: 0 !important; /* wpForo prints a coloured left border inline */
	border-bottom: 1px solid var(--hairline) !important;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}
#wpforo #wpforo-wrap .wpf-head-bar::before,
#wpforo #wpforo-wrap .wpf-head-bar::after { display: none !important; }
#wpforo #wpforo-wrap .wpf-head-bar .wpf-head-bar-left { flex: 1 1 auto; width: auto; min-width: 0; min-height: 0; float: none; padding: 0; margin: 0; }
#wpforo #wpforo-wrap .wpf-head-bar #wpforo-description {
	margin: 10px 0 0;
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.55;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .wpf-head-bar .wpf-action-link { display: flex; gap: 10px; margin: 14px 0 0; padding: 0; }
#wpforo #wpforo-wrap .wpf-button-outlined {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 28px;
	padding: 0 12px;
	font: 400 11px/1 'Space Mono', monospace;
	letter-spacing: .1em;
	color: var(--cream-400);
	background: transparent;
	border: 1px solid var(--hairline-strong);
	border-radius: 9999px;
}
#wpforo #wpforo-wrap .wpf-button-outlined:hover { color: var(--cream-100); border-color: var(--hairline-hover); }
#wpforo #wpforo-wrap .wpf-button-outlined i,
#wpforo #wpforo-wrap .wpf-button-outlined span { color: inherit; }
#wpforo #wpforo-wrap .wpf-head-bar .wpf-head-bar-right { display: flex; flex: 0 0 auto; width: auto; float: none; margin: 0; padding: 0; }
#wpforo #wpforo-wrap .wpf-head-bar > .wpf-clear { display: none; }

#wpforo #wpforo-wrap.jbf-list:not(.jbf-index) .wpfl-4 .wpf-threads,
#wpforo #wpforo-wrap.jbf-list:not(.jbf-index) .wpf-threads {
	margin-top: 24px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
	overflow: hidden;
}
#wpforo #wpforo-wrap .wpf-p-error {
	margin: 24px 0 0;
	padding: 26px 32px;
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	color: var(--cream-100);
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}

/* ---------- Forum information strip (wpForo footer) ---------- */
#wpforo #wpforo-wrap #wpforo-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	margin: 24px 0 0;
	padding: 14px 24px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap #wpforo-stat-header,
#wpforo #wpforo-wrap #wpforo-stat-body {
	display: contents;
	background: transparent;
	border: 0;
}
#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-title { display: none; }
#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-buttons {
	order: 3;
	display: flex;
	gap: 20px;
	margin: 0 0 0 auto;
	padding: 0;
	font-size: 13.5px;
}
#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-buttons a { color: var(--glow-300); }
#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-buttons i { color: inherit; }
#wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-body .wpf-footer-box,
#wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-body .wpf-footer-box:first-child {
	order: 1;
	width: auto;
	margin: 0;
	padding: 0;
	background: transparent !important;
	border: 0;
	color: var(--cream-400);
	font-size: 13.5px;
}
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-body .wpf-footer-box li {
	min-width: 0;
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0;
	padding: 0;
	border: 0;
	font: 400 12px/1.4 'Space Mono', monospace;
}
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box li svg,
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box > svg { display: none; }
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-stat-value { font-size: 14px; font-weight: 700; color: var(--cream-100); }
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-stat-label { color: var(--cream-400); }
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box a { color: var(--glow-300); }
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box * { color: inherit; }
#wpforo #wpforo-wrap #wpforo-stat-body .wpf-footer-box .wpf-stat-value { color: var(--cream-100); }
/* the topic-icon legend only helps next to real threads */
#wpforo #wpforo-wrap:not(.wpft-topic) #wpforo-stat-body .wpf-last-info,
#wpforo #wpforo-wrap.wpft-topic:has(.wpf-p-error) #wpforo-stat-body .wpf-last-info { display: none; }
#wpforo #wpforo-wrap #wpforo-footer #wpforo-stat-body .wpf-last-info.wpf-footer-box {
	order: 4;
	flex: 1 0 100%;
	padding: 10px 0 0;
	border-top: 1px solid var(--hairline);
	font-size: 12px;
}

/* share buttons belong on topics, not on lists */
#wpforo #wpforo-wrap:not(.wpft-post) .wpf-sbtn { display: none !important; } /* wpForo sets display inline */

/* wpForo colour slot 7 is a border colour that it also uses for a few
   text links (reply/quote actions, share icons, placeholders). As text it
   needs the muted cream, not a hairline. */
#wpforo #wpforo-wrap .wpfl-3 .wpforo-comment .wpforo-comment-action-links .wpf-action,
#wpforo #wpforo-wrap .wpfl-4 .wpf-content-foot .wpf-buttons .wpf-action,
#wpforo #wpforo-wrap .wpforo-members .wpforo-member .wpforo-member-social a,
#wpforo #wpforo-wrap .wpf-sr-meta-item i,
#wpforo #wpforo-wrap .wpf-sr-empty-icon,
#wpforo #wpforo-wrap .wpf-sb .wpf-sb-buttons i,
#wpforo #wpforo-wrap .wpf-sb-1,
#wpforo #wpforo-wrap .wpf-sb-3,
#wpforo #wpforo-wrap .wpf-timeline-icon,
#wpforo #wpforo-wrap .wpf-ai-tab-content .wpf-ai-search-form .wpf-ai-results .wpf-ai-result-meta i { color: var(--cream-400); }
#wpforo #wpforo-wrap input::placeholder,
#wpforo #wpforo-wrap textarea::placeholder { color: var(--cream-400); opacity: 1; }

/* ---------- Member profile ---------- */
#wpforo #wpforo-wrap .wpforo-profile { margin-top: 24px; }
/* wpForo's stock cover is a light stock photo; until a member uploads their
   own, use the site's dot-grid ground instead of a random image. */
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head[style*="assets/images/profile-bg"] {
	background-color: var(--ink-900) !important;
	background-image:
		radial-gradient(circle at 82% 30%, color-mix(in srgb, var(--glow-500) 16%, transparent) 0, transparent 55%),
		radial-gradient(var(--dot, rgba(242,238,227,.06)) 1.4px, transparent 1.4px) !important;
	background-size: auto, 24px 24px !important;
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}
/* wpForo hardcodes a white name badge (.wpf-profile-details) with #333/#111 text */
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpf-profile-details {
	background: var(--ink-950) !important;
	border: 1px solid var(--hairline-strong);
	border-radius: 12px;
}
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpfp-name {
	color: var(--cream-100) !important;
	background: transparent !important;
}
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpf-author-nicename { color: var(--cream-400) !important; border-color: var(--hairline-strong) !important; }
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpforo-profile-back { background: var(--glow-500); color: var(--ink-950); }
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpforo-profile-back a,
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpforo-profile-back i { color: var(--ink-950) !important; }
#wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head-bottom .wpfp-joined,
#wpforo #wpforo-wrap .wpforo-user-actions .wpforo-follow-user,
#wpforo #wpforo-wrap .wpforo-user-actions .wpforo-follow-user .wpforo-follow-user-label { color: var(--cream-400); }
/* profile stat tiles: one accent instead of six pastel colours */
#wpforo #wpforo-wrap .wpf-statbox .wpf-statbox-icon {
	background: transparent !important; /* inline pastel backgrounds */
	fill: var(--glow-300) !important;
	border: 1px solid var(--glow-border);
}
#wpforo #wpforo-wrap .wpf-statbox .wpf-statbox-icon svg,
#wpforo #wpforo-wrap .wpf-statbox .wpf-statbox-icon svg * { fill: var(--glow-300) !important; }
#wpforo #wpforo-wrap .wpf-statbox .wpf-statbox-value { color: var(--cream-100); font-family: 'Space Mono', monospace; }
#wpforo #wpforo-wrap .wpf-statbox .wpf-statbox-title { color: var(--cream-400); }

/* ---------- Other wpForo screens: hardcoded greys that fail on the dark ground ---------- */
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content .wpforo-login-table,
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-table {
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}
#wpforo #wpforo-wrap .wpf-timeline-empty,
#wpforo #wpforo-wrap .wpf-timeline-empty p,
#wpforo #wpforo-wrap .wpf-toggle,
#wpforo #wpforo-wrap .wpf-toggle .wpf-toggle-button { color: var(--cream-400); }

/* wpForo prints the Admin user-group colour (#FF3333) inline on member names.
   It passes on the dark ground (5.3:1) but not on the light one (2.61:1). */
html[data-jbtheme="light"] #wpforo #wpforo-wrap a[style*="#FF3333" i] { color: var(--jbf-fail) !important; }

/* ---------- Tablet and phone ---------- */
@media (max-width: 900px) {
	#wpforo #wpforo-wrap #wpforo-title,
	#wpforo #wpforo-wrap .wpf-head-bar-left #wpforo-title { font-size: 30px; margin: 0; }
	#wpforo #wpforo-wrap.jbf-index #wpforo-title { margin-top: 24px; flex-direction: column; align-items: flex-start; }
	#wpforo #wpforo-wrap .jbf-sub { font-size: 15px; }
	#wpforo #wpforo-wrap.jbf-index .wpforo-category { margin-top: 24px; }
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding-top: 6px;
	}
	#wpforo #wpforo-wrap.jbf-index .wpfl-4 .wpf-cat-forum-list .wpf-forum-item {
		grid-template-columns: 32px minmax(0, 1fr) auto;
		gap: 12px;
		min-height: 48px;
		padding: 0 8px;
	}
	#wpforo #wpforo-wrap.jbf-index .wpf-threads,
	#wpforo #wpforo-wrap .jbf-empty { margin-top: 16px; }
	#wpforo #wpforo-wrap .jbf-empty { grid-template-columns: 1fr; gap: 18px; padding: 22px 18px; }
	#wpforo #wpforo-wrap .jbf-check { border-left: 0; padding-left: 0; border-top: 1px solid var(--hairline-strong); padding-top: 12px; }
	#wpforo #wpforo-wrap .wpf-head-bar { flex-direction: column; align-items: flex-start; gap: 16px; }
	#wpforo #wpforo-wrap .wpf-p-error { padding: 20px; }
	#wpforo #wpforo-wrap #wpforo-footer { flex-direction: column; align-items: flex-start; padding: 14px 16px; }
	#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-buttons { margin-left: 0; }
	/* wpForo hides these labels on small screens, leaving unlabelled icon links */
	#wpforo #wpforo-wrap #wpforo-stat-header .wpf-footer-buttons div a span { display: inline; }
}

/* Phone gutters: line the forum up with the logo and the other pages (32px). */
@media (max-width: 767px) {
	body.page-id-1221 .content-container.site-container { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
	#wpforo #wpforo-wrap * { transition: none !important; }
}

/* ---------- Sign in + registration: one centred card ----------
   wpForo wraps both forms in a full-width panel, paints some rows #EEE,
   uses a pale-yellow focus colour (the username field has autofocus, so it
   always shows), dashed link boxes, and a 50/50 label/field table on the
   registration form. */
#wpforo #wpforo-wrap .wpf-pt-login #wpforo-title,
#wpforo #wpforo-wrap .wpf-pt-register #wpforo-title { margin: 8px 0 24px; }
#wpforo #wpforo-wrap .wpf-pt-login .wpf-profile-body > p:not(#wpforo-title),
#wpforo #wpforo-wrap .wpf-pt-register .wpf-profile-body > p:not(#wpforo-title) { display: none; } /* empty &nbsp; paragraphs */
#wpforo #wpforo-wrap .wpforo-login-wrap,
#wpforo #wpforo-wrap .wpforo-register-wrap {
	background: transparent !important;
	padding: 0;
	margin: 0;
	border: 0;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-register-content {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 32px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content h3,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-register-content h3 {
	margin: 0 0 20px;
	padding: 0;
	font: 400 26px/1.15 'Lora', serif;
	text-align: left;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content .wpforo-login-table,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-register-table {
	width: 100%;
	margin: 0;
	padding: 0 !important;
	background: transparent !important;
	border: 0;
	border-radius: 0;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-tr,
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-td,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-tr,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-td {
	display: block;
	width: 100%;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field {
	display: block;
	width: 100%;
	margin: 0 0 16px;
	padding: 0;
	background: transparent !important; /* wpForo paints two rows #EEE */
	border: 0 !important;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-hook,
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-extra-field-end,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-extra-field-end { display: none; }
/* labels above fields */
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-label-wrap,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-wrap {
	display: block;
	width: 100%;
	float: none;
	padding: 0;
}
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-label-wrap { margin: 0 0 6px; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-label { margin: 0; font-size: 14px; font-weight: 500; color: var(--cream-100); }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-desc { margin: 2px 0 0; font-size: 12.5px; color: var(--cream-400); }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-required-icon { color: var(--glow-300); }
/* inputs */
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-wrap,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-wrap { position: relative; }
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="text"],
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="password"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="text"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="email"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="password"] {
	display: block;
	width: 100%;
	max-width: none;
	height: 44px;
	margin: 0;
	padding: 0 14px 0 40px;
	font: 400 15px/42px 'DM Sans', sans-serif;
	color: var(--cream-100);
	background: var(--ink-950) !important; /* wpForo's focus colour is pale yellow */
	border: 1px solid var(--hairline-strong);
	border-radius: 12px;
	box-shadow: none;
}
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="text"]:focus,
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="password"]:focus,
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="text"]:focus,
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="email"]:focus {
	border-color: var(--glow-500);
	outline: none;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--glow-500) 25%, transparent);
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-icon,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1;
	color: var(--cream-400);
	z-index: 1;
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-show-password {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--cream-400);
	cursor: pointer;
}
/* remember me / legal / info lines */
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-wrap[style*="text-align"] { text-align: left !important; }
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-extra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-extra label { color: var(--cream-400); }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-legal-checkbox { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; color: var(--cream-100); }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-tr > .wpf-td { margin: 0 0 12px; font-size: 13.5px; color: var(--cream-400); }
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="checkbox"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="checkbox"] { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--glow-500); }
/* primary button */
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="submit"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="submit"] {
	display: block;
	width: 100%;
	height: 44px;
	margin: 8px 0 0;
	padding: 0 18px;
	font: 600 15px/1 'DM Sans', sans-serif;
	color: var(--ink-950) !important;
	background: var(--glow-500) !important;
	border: 0 !important;
	border-radius: 9999px;
	box-shadow: var(--glow-shadow-cta);
	cursor: pointer;
}
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="submit"]:hover,
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="submit"]:hover { background: var(--glow-300) !important; }
/* switch-form link under the button, plain text instead of a dashed box */
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-reg,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-login {
	float: none;
	display: block;
	margin: 16px 0 0;
	padding: 16px 0 0;
	text-align: center;
	border-top: 1px solid var(--hairline);
	font-size: 14px;
	color: var(--cream-400);
}
#wpforo #wpforo-wrap .wpforo-login-wrap .wpf-field-reg a,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-login a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0 !important;
	background: transparent;
	color: var(--glow-300);
	font-weight: 500;
}
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-field-type-submit { margin: 0; }
@media (max-width: 620px) {
	#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content,
	#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-register-content { padding: 22px 18px; }
}

/* sign-in/registration refinements: card sits on the title's left edge,
   full-width button, no stray indents from wpForo's table cells */
#wpforo #wpforo-wrap .wpforo-login-wrap .wpforo-login-content,
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-register-content { margin: 0; }
#wpforo #wpforo-wrap .wpforo-login-wrap input[type="submit"],
#wpforo #wpforo-wrap .wpforo-register-wrap input[type="submit"] { width: 100% !important; max-width: none !important; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpforo-legal-checkbox { margin: 4px 0 0; padding: 0; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-tr > .wpf-td { display: flex; gap: 8px; align-items: flex-start; text-indent: 0; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-reg-info { flex: none; margin-top: 2px; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-tr > .wpf-td:has(.wpf-field-type-submit) { display: block; }
#wpforo #wpforo-wrap .wpforo-register-wrap .wpf-tr.row-0 > .wpf-td { display: block; } /* the fields row stays stacked */

/* ---------- Sign in + registration: centred column ---------- */
#wpforo #wpforo-wrap .wpf-pt-login .wpf-profile-body,
#wpforo #wpforo-wrap .wpf-pt-register .wpf-profile-body { max-width: 480px; margin: 0 auto; }
#wpforo #wpforo-wrap:has(.wpf-pt-login) .wpf-breadcrumb,
#wpforo #wpforo-wrap:has(.wpf-pt-register) .wpf-breadcrumb { display: none; }
#wpforo #wpforo-wrap .wpf-pt-login #wpforo-title,
#wpforo #wpforo-wrap .wpf-pt-register #wpforo-title { margin: 32px 0 20px; }

/* ---------- Add topic: forum picker (built by assets/forum.js) ---------- */
#wpforo #wpforo-wrap .wpf-topic-form-extra-wrap {
	margin: 24px 0 0;
	padding: 24px;
	background: var(--ink-900);
	border: 1px solid var(--ink-border);
	border-radius: 16px;
}
#wpforo #wpforo-wrap .wpf-topic-forum-field.jbf-has-picker {
	margin: 0 !important;  /* wpForo prints padding and centring inline */
	padding: 0 !important;
	text-align: left !important;
}
#wpforo #wpforo-wrap .jbf-has-picker > .wpf-choose-forum,
#wpforo #wpforo-wrap .jbf-has-picker > .wpf-topic-forum-wrap { display: none !important; }
#wpforo #wpforo-wrap .jbf-picker-title {
	margin: 0 0 14px;
	font: 400 22px/1.2 'Lora', serif;
	color: var(--cream-100);
}
#wpforo #wpforo-wrap .jbf-picker-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
#wpforo #wpforo-wrap .jbf-pick {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	width: 100%;
	margin: 0;
	padding: 14px;
	font: inherit;
	text-align: left;
	color: var(--cream-100);
	background: var(--ink-950);
	border: 1px solid var(--ink-border);
	border-radius: 12px;
	box-shadow: none;
	cursor: pointer;
	transition: border-color .15s ease-out, background-color .15s ease-out;
}
#wpforo #wpforo-wrap .jbf-pick:hover { border-color: var(--glow-700); }
#wpforo #wpforo-wrap .jbf-pick:focus-visible { outline: 2px solid var(--glow-500); outline-offset: 2px; }
#wpforo #wpforo-wrap .jbf-pick[aria-pressed="true"] {
	border-color: var(--glow-500);
	box-shadow: inset 0 0 0 1px var(--glow-500);
	background: color-mix(in srgb, var(--glow-500) 8%, var(--ink-950));
}
#wpforo #wpforo-wrap .jbf-pick-icon {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	font-size: 14px;
	color: var(--glow-300);
	border: 1px solid var(--glow-border);
	border-radius: 50%;
}
#wpforo #wpforo-wrap .jbf-pick-icon i { color: inherit; }
#wpforo #wpforo-wrap .jbf-pick-text b { display: block; font-size: 14.5px; font-weight: 600; line-height: 1.3; color: var(--cream-100); }
#wpforo #wpforo-wrap .jbf-pick-text span { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: var(--cream-400); }
#wpforo #wpforo-wrap .wpf-topic-form-extra-wrap .wpf-topic-form-ajax-wrap:not(:empty) { margin-top: 20px; }
@media (max-width: 900px) {
	#wpforo #wpforo-wrap .jbf-picker-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	#wpforo #wpforo-wrap .wpf-topic-form-extra-wrap { padding: 18px; }
	#wpforo #wpforo-wrap .jbf-picker-list { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	#wpforo #wpforo-wrap .jbf-pick { transition: none; }
}

/* Title rows that carry wpForo's link strip (Recent Posts: "Mark all read"): title left, links right */
#wpforo #wpforo-wrap #wpforo-title:has(.wpforo-feed) {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
}
#wpforo #wpforo-wrap #wpforo-title .wpforo-feed a { font: 400 12px/1.5 'Space Mono', monospace; color: var(--glow-300); }
#wpforo #wpforo-wrap .wpf-head-top {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 24px;
}
#wpforo #wpforo-wrap .wpf-head-top .wpforo-feed { float: none; margin: 0; font: 400 12px/1.5 'Space Mono', monospace; }
#wpforo #wpforo-wrap .wpf-head-top .wpforo-feed a { display: inline-flex; align-items: center; gap: 6px; color: var(--glow-300); }
#wpforo #wpforo-wrap .wpf-head-top { flex: 1 1 100%; width: 100%; }
/* Recent Posts view switcher (native select): site field style; color-scheme makes the arrow and menu follow the theme */
#wpforo #wpforo-wrap .wpf-head-bottom { display: flex; align-items: center; margin: 0; padding: 0; }
#wpforo #wpforo-wrap .wpf-head-filter select {
	color-scheme: dark;
	height: 36px;
	min-width: 190px;
	margin: 0;
	padding: 0 10px 0 14px;
	font: 500 13.5px/1 'DM Sans', sans-serif;
	color: var(--cream-100);
	background-color: var(--ink-900);
	border: 1px solid var(--hairline-strong);
	border-radius: 12px;
	cursor: pointer;
}
html[data-jbtheme="light"] #wpforo #wpforo-wrap .wpf-head-filter select { color-scheme: light; }
#wpforo #wpforo-wrap .wpf-head-filter select:focus-visible { outline: 2px solid var(--glow-500); outline-offset: 2px; }

/* Board header: wpForo leaves an empty action-link bar (whitespace only) with its own top border under the description. */
#wpforo #wpforo-wrap .wpf-head-bar .wpf-action-link:not(:has(*)) { display: none; }
/* Profile: hide stat tiles for features this forum doesn't use (Q&A, ratings, blog). wpForo prints them in a fixed order. */
#wpforo #wpforo-wrap .wpf-stat-wrap > .wpf-statbox:is(:nth-child(3), :nth-child(4), :nth-child(5), :nth-child(9), :nth-child(10), :nth-child(11)) { display: none; }
/* Profile: hide the Social Networks label when the member hasn't added any. */
#wpforo #wpforo-wrap .wpf-tr:has(.wpf-field-name-html_soc_net):has(+ .wpf-tr > .wpf-row-facebook:empty) { display: none; }
