:root {
	--ch-theme-blue: #0080ff;
	--ch-theme-blue-dark: #005fcc;
	--ch-theme-bg: #f3f6fb;
	--ch-theme-surface: #ffffff;
	--ch-theme-surface-soft: #f8fbff;
	--ch-theme-text: #101828;
	--ch-theme-muted: #667085;
	--ch-theme-border: #d9e3f0;
	--ch-theme-shadow: 0 18px 50px rgba(16, 24, 40, .08);
	--ch-theme-radius: 18px;
	--ch-theme-max: 1180px;
	--ch-theme-wide: 1440px;
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body.ch-theme {
	min-height: 100%;
	margin: 0;
	color: var(--ch-theme-text);
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
}
body.ch-theme:not(.ch-theme-elementor-page) {
	background: radial-gradient(circle at top left, rgba(0,128,255,.12), transparent 30rem), var(--ch-theme-bg);
}
body.ch-theme.admin-bar .ch-theme-header { top: 32px; }
a { color: var(--ch-theme-blue-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }

/* Critical: prevent Community Hub action/edit/dropdown menus from showing open by default. */
.ch-theme [hidden],
.ch-theme .ch-comment-menu-dropdown[hidden],
.ch-theme .ch-post-menu-dropdown[hidden],
.ch-theme .ch-activity-menu-dropdown[hidden],
.ch-theme .ch-repost-combo-menu[hidden],
.ch-theme .ch-repost-modal[hidden],
.ch-theme .ch-reply-form[hidden],
.ch-theme .ch-edit-form[hidden],
.ch-theme .ch-comment-edit-form[hidden],
.ch-theme .ch-profile-editor[hidden] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.screen-reader-text,
.ch-theme-skip-link:not(:focus) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.ch-theme-skip-link:focus {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 9999;
	background: #fff;
	color: var(--ch-theme-text);
	padding: 10px 14px;
	border-radius: 10px;
	box-shadow: var(--ch-theme-shadow);
}
.ch-theme-container,
.ch-theme-header-inner,
.ch-theme-footer-inner {
	width: min(var(--ch-theme-max), calc(100% - 32px));
	margin: 0 auto;
}
.ch-theme-container--wide,
.ch-theme-header--wide .ch-theme-header-inner {
	width: min(var(--ch-theme-wide), calc(100% - 32px));
}

.ch-theme-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: rgba(255,255,255,.94);
	backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--ch-theme-border);
}
.ch-theme-header-top { background: rgba(255,255,255,.96); }
.ch-theme-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 72px;
	padding: 10px 0;
}
.ch-theme-brand {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 160px;
	max-width: 320px;
	flex: 0 1 auto;
}
.ch-theme-site-title {
	font-weight: 900;
	font-size: clamp(1.05rem, 2vw, 1.32rem);
	letter-spacing: -.03em;
	line-height: 1.05;
	color: var(--ch-theme-text);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ch-theme-site-description {
	color: var(--ch-theme-muted);
	font-size: .8rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.custom-logo-link img { display: block; max-height: 56px; width: auto; }

.ch-theme-primary-menu--desktop {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: center;
}
.ch-theme-primary-menu .ch-theme-menu-list,
.ch-theme-community-menu .ch-theme-menu-list,
.ch-theme-footer-menu-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 6px 14px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.ch-theme-primary-menu a,
.ch-theme-community-menu a,
.ch-theme-footer-menu a {
	color: var(--ch-theme-text);
	font-weight: 750;
	line-height: 1.2;
	text-decoration: none;
	padding: 8px 4px;
}
.ch-theme-primary-menu a:hover,
.ch-theme-community-menu a:hover,
.ch-theme-footer-menu a:hover {
	color: var(--ch-theme-blue-dark);
	text-decoration: none;
}
.ch-theme-primary-menu .sub-menu,
.ch-theme-community-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 8px;
	position: absolute;
	left: -999em;
	top: 100%;
	min-width: 210px;
	background: #fff;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	box-shadow: var(--ch-theme-shadow);
	z-index: 1002;
}
.ch-theme-primary-menu li,
.ch-theme-community-menu li { position: relative; }
.ch-theme-primary-menu li:hover > .sub-menu,
.ch-theme-primary-menu li:focus-within > .sub-menu,
.ch-theme-community-menu li:hover > .sub-menu,
.ch-theme-community-menu li:focus-within > .sub-menu { left: 0; }
.ch-theme-primary-menu .sub-menu a,
.ch-theme-community-menu .sub-menu a {
	display: block;
	padding: 9px 10px;
	border-radius: 10px;
	white-space: nowrap;
}
.ch-theme-primary-menu .sub-menu a:hover,
.ch-theme-community-menu .sub-menu a:hover { background: var(--ch-theme-surface-soft); }

.ch-theme-header-widgets {
	flex: 0 1 220px;
	min-width: 0;
	font-size: .92rem;
}
.ch-theme-header-widgets .ch-theme-widget { margin: 0; }
.ch-theme-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	min-width: 0;
	flex: 0 0 auto;
}
.ch-theme-account {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}
.ch-theme-account-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ch-theme-text);
	font-weight: 850;
	max-width: 220px;
	min-width: 0;
	text-decoration: none;
}
.ch-theme-account-link:hover { text-decoration: none; color: var(--ch-theme-blue-dark); }
.ch-theme-account-link span {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ch-theme-account-avatar {
	width: 38px;
	height: 38px;
	border-radius: 999px;
	border: 2px solid #fff;
	box-shadow: 0 5px 18px rgba(16,24,40,.12);
	flex: 0 0 auto;
}
.ch-theme-login,
.ch-theme-logout,
.ch-theme-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 36px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(217,227,240,.95);
	background: #fff;
	color: #1d2939;
	font-weight: 850;
	font-size: .88rem;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(16,24,40,.04);
	white-space: nowrap;
}
.ch-theme-login:hover,
.ch-theme-logout:hover,
.ch-theme-button:hover {
	text-decoration: none;
	border-color: rgba(0,128,255,.35);
	color: var(--ch-theme-blue-dark);
}

.ch-theme-nav-bar {
	border-top: 1px solid rgba(217,227,240,.75);
	background: linear-gradient(180deg, rgba(248,251,255,.92), rgba(255,255,255,.88));
}
.ch-theme-header-inner--nav {
	min-height: 50px;
	padding: 7px 0;
	justify-content: center;
	gap: 14px;
}
.ch-theme-community-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	flex-wrap: wrap;
	min-width: 0;
}
.ch-theme-nav-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 38px;
	padding: 8px 13px;
	border-radius: 999px;
	border: 1px solid rgba(217,227,240,.95);
	background: #fff;
	color: #1d2939;
	font-weight: 850;
	font-size: .9rem;
	line-height: 1;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(16,24,40,.04);
	transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
	white-space: nowrap;
}
.ch-theme-nav-pill:hover {
	transform: translateY(-1px);
	text-decoration: none;
	border-color: rgba(0,128,255,.35);
	box-shadow: 0 12px 28px rgba(0,128,255,.12);
}
.ch-theme-nav-pill.is-active {
	background: linear-gradient(135deg, var(--ch-theme-blue), var(--ch-theme-blue-dark));
	border-color: transparent;
	color: #fff;
	box-shadow: 0 14px 32px rgba(0,128,255,.22);
}
.ch-theme-nav-icon { font-size: 1rem; line-height: 1; }

.ch-theme-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
}
.ch-theme-menu-toggle-bars,
.ch-theme-menu-toggle-bars::before,
.ch-theme-menu-toggle-bars::after {
	display: block;
	width: 20px;
	height: 2px;
	background: var(--ch-theme-text);
	border-radius: 999px;
	content: '';
	position: relative;
}
.ch-theme-menu-toggle-bars::before { position: absolute; top: -7px; }
.ch-theme-menu-toggle-bars::after { position: absolute; top: 7px; }
.ch-theme-menu-panel {
	display: none;
	position: absolute;
	top: 100%;
	left: 16px;
	right: 16px;
	background: #fff;
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	box-shadow: var(--ch-theme-shadow);
	padding: 14px;
	align-items: stretch;
	flex-direction: column;
	gap: 12px;
}
.ch-theme-menu-open .ch-theme-menu-panel { display: flex; }
.ch-theme-primary-menu--mobile .ch-theme-menu-list,
.ch-theme-community-menu--mobile .ch-theme-menu-list {
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
}
.ch-theme-primary-menu--mobile a,
.ch-theme-community-menu--mobile a {
	display: block;
	padding: 11px 12px;
	border-radius: 12px;
	background: var(--ch-theme-surface-soft);
}
.ch-theme-primary-menu--mobile .sub-menu,
.ch-theme-community-menu--mobile .sub-menu {
	position: static;
	left: auto;
	box-shadow: none;
	border-radius: 12px;
	margin-top: 6px;
	padding: 6px;
	background: #fff;
}

.ch-theme-main { padding: 28px 0 48px; min-height: calc(100vh - 160px); }
.ch-theme-main--elementor-blank { padding: 0; min-height: 0; }
.ch-theme-page-shell,
.ch-theme-content-wrap,
.ch-theme-error-card {
	background: rgba(255,255,255,.76);
	border: 1px solid rgba(217,227,240,.8);
	border-radius: var(--ch-theme-radius);
	box-shadow: var(--ch-theme-shadow);
	padding: 24px;
}
.ch-route-community .ch-theme-page-shell,
.ch-route-community .ch-theme-content-wrap,
.ch-theme-elementor-page .ch-theme-page-shell,
.ch-theme-elementor-page .ch-theme-content-wrap {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}
.ch-theme-page-header h1,
.ch-theme-single-header h1,
.ch-theme-error-card h1 {
	margin: 0 0 12px;
	font-size: clamp(2rem, 4vw, 3.2rem);
	letter-spacing: -.05em;
	line-height: 1.05;
}
.ch-theme-page-content > *:first-child,
.ch-theme-entry-content > *:first-child { margin-top: 0; }
.ch-theme-page-content > *:last-child,
.ch-theme-entry-content > *:last-child { margin-bottom: 0; }
.ch-theme-post-list { display: grid; gap: 18px; }
.ch-theme-post-card,
.ch-theme-single,
.ch-theme-empty {
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: var(--ch-theme-radius);
	box-shadow: var(--ch-theme-shadow);
	overflow: hidden;
}
.ch-theme-post-card-body,
.ch-theme-single { padding: 22px; }
.ch-theme-post-card h2 { margin: 0 0 8px; font-size: 1.35rem; }
.ch-theme-post-card h2 a { color: var(--ch-theme-text); }
.ch-theme-post-meta { color: var(--ch-theme-muted); font-size: .92rem; font-weight: 700; margin-bottom: 14px; }
.ch-theme-featured-image { margin: 18px 0; border-radius: 16px; overflow: hidden; }

.ch-theme-widget { margin: 0 0 18px; }
.ch-theme-widget-title { margin: 0 0 10px; font-size: 1rem; }
.ch-theme-footer-widgets { padding: 28px 0; }
.ch-theme-footer-widget-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
.ch-theme-footer-widget-full { grid-column: 1 / -1; }
.ch-theme-footer {
	border-top: 1px solid var(--ch-theme-border);
	background: rgba(255,255,255,.76);
	padding: 24px 0;
}
.ch-theme-footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; color: var(--ch-theme-muted); }

@media (max-width: 1180px) {
	.ch-theme-primary-menu--desktop { justify-content: flex-start; }
	.ch-theme-primary-menu .ch-theme-menu-list { justify-content: flex-start; }
	.ch-theme-account-link { max-width: 160px; }
}

@media (max-width: 960px) {
	body.ch-theme.admin-bar .ch-theme-header { top: 46px; }
	.ch-theme-header-inner { min-height: 64px; }
	.ch-theme-primary-menu--desktop,
	.ch-theme-nav-bar,
	.ch-theme-header-widgets { display: none; }
	.ch-theme-menu-toggle { display: inline-flex; }
	.ch-theme-header-actions > .ch-theme-account { display: none; }
	.ch-theme-community-nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
	.ch-theme-nav-pill { width: 100%; min-height: 44px; }
	.ch-theme-menu-panel .ch-theme-account { justify-content: space-between; border-top: 1px solid var(--ch-theme-border); padding-top: 12px; }
	.ch-theme-footer-widget-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
	.ch-theme-container,
	.ch-theme-header-inner,
	.ch-theme-footer-inner { width: min(100% - 20px, var(--ch-theme-max)); }
	.ch-theme-main { padding: 16px 0 34px; }
	.ch-theme-page-shell,
	.ch-theme-content-wrap,
	.ch-theme-error-card { padding: 14px; border-radius: 16px; }
	.ch-route-community .ch-theme-page-shell,
	.ch-route-community .ch-theme-content-wrap,
	.ch-theme-elementor-page .ch-theme-page-shell,
	.ch-theme-elementor-page .ch-theme-content-wrap { padding: 0; }
	.ch-theme-community-nav { grid-template-columns: 1fr; }
	.ch-theme-footer-inner { align-items: flex-start; flex-direction: column; }
	.ch-theme-site-description { display: none; }
	.ch-theme-footer-widget-grid { grid-template-columns: 1fr; }
}

/* v0.1.3: cleaner logged-in account dropdown and safer header spacing. */
.ch-theme-account--dropdown {
	position: relative;
}
.ch-theme-account-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	max-width: 240px;
	padding: 4px 10px 4px 4px;
	border-radius: 999px;
	border: 1px solid rgba(217,227,240,.95);
	background: #fff;
	color: var(--ch-theme-text);
	font: inherit;
	font-weight: 850;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 8px 22px rgba(16,24,40,.05);
}
.ch-theme-account-toggle:hover,
.ch-theme-account-toggle:focus-visible {
	border-color: rgba(0,128,255,.35);
	box-shadow: 0 12px 28px rgba(0,128,255,.12);
	outline: none;
}
.ch-theme-account-name {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 145px;
}
.ch-theme-account-caret {
	font-size: 1rem;
	line-height: 1;
	color: var(--ch-theme-muted);
	transition: transform .15s ease;
}
.ch-theme-account.is-open .ch-theme-account-caret {
	transform: rotate(180deg);
}
.ch-theme-account-panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	width: min(280px, calc(100vw - 32px));
	padding: 10px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--ch-theme-shadow);
	z-index: 1010;
}
.ch-theme-account.is-open .ch-theme-account-panel {
	display: block;
}
.ch-theme-account-panel-head {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px;
	margin-bottom: 6px;
	border-radius: 14px;
	background: var(--ch-theme-surface-soft);
}
.ch-theme-account-panel-head strong,
.ch-theme-account-panel-head span {
	display: block;
	max-width: 190px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ch-theme-account-panel-head span {
	color: var(--ch-theme-muted);
	font-size: .83rem;
	font-weight: 750;
}
.ch-theme-account-panel a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 11px;
	border-radius: 12px;
	color: var(--ch-theme-text);
	font-weight: 850;
	text-decoration: none;
}
.ch-theme-account-panel a:hover,
.ch-theme-account-panel a:focus-visible {
	background: var(--ch-theme-surface-soft);
	color: var(--ch-theme-blue-dark);
	outline: none;
	text-decoration: none;
}
.ch-theme-account-panel .ch-theme-account-logout {
	margin-top: 6px;
	border-top: 1px solid var(--ch-theme-border);
	border-radius: 0 0 12px 12px;
	color: #b42318;
}
.ch-theme-account-panel .ch-theme-account-logout:hover,
.ch-theme-account-panel .ch-theme-account-logout:focus-visible {
	background: #fff4f3;
	color: #912018;
}

@media (max-width: 960px) {
	.ch-theme-menu-panel .ch-theme-account--dropdown {
		display: block;
		border-top: 1px solid var(--ch-theme-border);
		padding-top: 12px;
	}
	.ch-theme-menu-panel .ch-theme-account-toggle {
		width: 100%;
		max-width: none;
		justify-content: flex-start;
	}
	.ch-theme-menu-panel .ch-theme-account-name {
		max-width: none;
		flex: 1;
		text-align: left;
	}
	.ch-theme-menu-panel .ch-theme-account-panel {
		position: static;
		width: 100%;
		margin-top: 10px;
		box-shadow: none;
	}
}

@media (max-width: 480px) {
	.ch-theme-brand {
		min-width: 0;
		max-width: 68vw;
	}
	.custom-logo-link img {
		max-height: 48px;
	}
}

/* v0.1.4: global theme polish, footer/widgets, sidebar, forms, archives, WooCommerce baseline. */
.ch-theme-layout {
	display: grid;
	gap: 24px;
	align-items: start;
}
.ch-theme-layout--sidebar {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
}
.ch-theme-layout--no-sidebar {
	grid-template-columns: minmax(0, 1fr);
}
.ch-theme-sidebar {
	background: rgba(255,255,255,.82);
	border: 1px solid rgba(217,227,240,.86);
	border-radius: var(--ch-theme-radius);
	box-shadow: var(--ch-theme-shadow);
	padding: 18px;
	position: sticky;
	top: 104px;
}
.ch-theme-sidebar .ch-theme-widget,
.ch-theme-footer-widgets .ch-theme-widget {
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(217,227,240,.7);
	border-radius: 16px;
	padding: 16px;
}
.ch-theme-footer-widgets {
	background: linear-gradient(180deg, rgba(248,251,255,.24), rgba(255,255,255,.78));
	border-top: 1px solid rgba(217,227,240,.75);
}
.ch-theme-footer-widgets--wide .ch-theme-container,
.ch-theme-footer--wide .ch-theme-footer-inner {
	width: min(var(--ch-theme-wide), calc(100% - 32px));
}
.ch-theme-widget ul,
.ch-theme-widget ol {
	padding-left: 1.2rem;
	margin: .5rem 0 0;
}
.ch-theme-widget li + li { margin-top: .35rem; }
.ch-theme-widget a { font-weight: 750; }
.ch-theme-widget-title {
	font-weight: 900;
	letter-spacing: -.025em;
	color: var(--ch-theme-text);
}
.ch-theme-footer-widget-grid .ch-theme-widget-title {
	font-size: 1.06rem;
}
.ch-theme-footer-brand {
	font-weight: 850;
	color: var(--ch-theme-text);
}
.ch-theme-footer-menu-list {
	justify-content: flex-end;
}
.ch-theme-footer-menu a {
	color: var(--ch-theme-muted);
}
.ch-theme-footer-menu a:hover {
	color: var(--ch-theme-blue-dark);
}

.ch-theme-page-header,
.ch-theme-single-header,
.ch-theme-archive-header,
.ch-theme-search-header {
	margin-bottom: 20px;
}
.ch-theme-archive-description,
.ch-theme-page-header p {
	color: var(--ch-theme-muted);
	font-weight: 650;
}
.ch-theme-entry-content,
.ch-theme-page-content {
	font-size: 1rem;
}
.ch-theme-entry-content h1,
.ch-theme-entry-content h2,
.ch-theme-entry-content h3,
.ch-theme-page-content h1,
.ch-theme-page-content h2,
.ch-theme-page-content h3 {
	letter-spacing: -.035em;
	line-height: 1.14;
}
.ch-theme-entry-content table,
.ch-theme-page-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
	background: #fff;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	overflow: hidden;
}
.ch-theme-entry-content th,
.ch-theme-entry-content td,
.ch-theme-page-content th,
.ch-theme-page-content td {
	border-bottom: 1px solid var(--ch-theme-border);
	padding: 10px 12px;
	text-align: left;
}
.ch-theme-entry-content blockquote,
.ch-theme-page-content blockquote {
	margin: 1.25rem 0;
	padding: 14px 18px;
	border-left: 4px solid var(--ch-theme-blue);
	background: var(--ch-theme-surface-soft);
	border-radius: 0 14px 14px 0;
	color: #344054;
}

.ch-theme-search-form {
	display: flex;
	gap: 10px;
	align-items: center;
	max-width: 620px;
	margin: 14px 0 0;
}
.ch-theme-search-form label { flex: 1; min-width: 0; }
.ch-theme-search-field,
.ch-theme input[type="text"],
.ch-theme input[type="email"],
.ch-theme input[type="url"],
.ch-theme input[type="password"],
.ch-theme input[type="search"],
.ch-theme input[type="number"],
.ch-theme textarea,
.ch-theme select {
	width: 100%;
	min-height: 42px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 12px;
	background: #fff;
	color: var(--ch-theme-text);
	padding: 10px 12px;
	font: inherit;
	box-shadow: 0 4px 14px rgba(16,24,40,.03);
}
.ch-theme textarea { min-height: 130px; }
.ch-theme input:focus,
.ch-theme textarea:focus,
.ch-theme select:focus {
	outline: none;
	border-color: rgba(0,128,255,.62);
	box-shadow: 0 0 0 4px rgba(0,128,255,.12);
}
.ch-theme button,
.ch-theme input[type="submit"],
.ch-theme-search-submit,
.ch-theme .wp-block-button__link {
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--ch-theme-blue), var(--ch-theme-blue-dark));
	color: #fff;
	font-weight: 900;
	padding: 10px 16px;
	min-height: 42px;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 12px 26px rgba(0,128,255,.16);
}
.ch-theme-page-content button:hover,
.ch-theme-page-content input[type="submit"]:hover,
.ch-theme-entry-content button:hover,
.ch-theme-entry-content input[type="submit"]:hover,
.comment-form input[type="submit"]:hover,
.ch-theme-search-submit:hover,
.ch-theme .wp-block-button__link:hover {
	filter: brightness(.98);
	text-decoration: none;
	transform: translateY(-1px);
}

.navigation.pagination,
.post-navigation,
.posts-navigation {
	margin-top: 22px;
}
.nav-links {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.page-numbers,
.nav-links a,
.nav-links span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	min-height: 38px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid var(--ch-theme-border);
	background: #fff;
	font-weight: 850;
	text-decoration: none;
}
.page-numbers.current,
.nav-links .current {
	background: var(--ch-theme-blue);
	border-color: var(--ch-theme-blue);
	color: #fff;
}

.comments-area {
	margin-top: 22px;
	background: #fff;
	border: 1px solid var(--ch-theme-border);
	border-radius: var(--ch-theme-radius);
	box-shadow: var(--ch-theme-shadow);
	padding: 22px;
}
.comment-list {
	padding-left: 0;
	list-style: none;
}
.comment-list .comment {
	border-top: 1px solid var(--ch-theme-border);
	padding-top: 14px;
	margin-top: 14px;
}
.comment-reply-title,
.comments-title {
	margin-top: 0;
	letter-spacing: -.025em;
}

.woocommerce .woocommerce-breadcrumb,
.woocommerce-result-count,
.woocommerce-ordering {
	color: var(--ch-theme-muted);
	font-weight: 700;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce div.product,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border: 1px solid var(--ch-theme-border);
	border-radius: var(--ch-theme-radius);
	box-shadow: var(--ch-theme-shadow);
	padding: 16px;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button {
	border-radius: 999px !important;
	background: linear-gradient(135deg, var(--ch-theme-blue), var(--ch-theme-blue-dark)) !important;
	color: #fff !important;
	font-weight: 900 !important;
	padding: 10px 16px !important;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 16px;
	background: #fff;
	border-top-color: var(--ch-theme-blue);
	box-shadow: 0 10px 28px rgba(16,24,40,.06);
}

body.ch-theme.ch-theme-elementor-page .ch-theme-main--page,
body.ch-theme .elementor-page .ch-theme-main--page {
	padding-top: 0;
}
body.ch-theme.ch-theme-elementor-page .ch-theme-page-shell {
	max-width: none;
}

@media (max-width: 960px) {
	.ch-theme-layout--sidebar {
		grid-template-columns: 1fr;
	}
	.ch-theme-sidebar {
		position: static;
	}
	.ch-theme-search-form {
		align-items: stretch;
		flex-direction: column;
	}
	.ch-theme-footer-menu-list {
		justify-content: flex-start;
	}
}

@media (max-width: 620px) {
	.ch-theme-sidebar,
	.comments-area,
	.ch-theme-sidebar .ch-theme-widget,
	.ch-theme-footer-widgets .ch-theme-widget {
		padding: 14px;
		border-radius: 16px;
	}
	.ch-theme-footer-widgets--wide .ch-theme-container,
	.ch-theme-footer--wide .ch-theme-footer-inner {
		width: min(100% - 20px, var(--ch-theme-max));
	}
}

/* v0.1.5: sidebar visibility fix, blog polish, WooCommerce polish. */
.ch-theme-main--blog .ch-theme-content-wrap,
.ch-theme-main--archive .ch-theme-content-wrap,
.ch-theme-main.search .ch-theme-content-wrap {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.ch-theme-blog-hero,
.ch-theme-archive-header,
.ch-theme-search-header {
	background: linear-gradient(135deg, rgba(0,128,255,.12), rgba(255,255,255,.92));
	border: 1px solid rgba(217,227,240,.88);
	border-radius: 24px;
	box-shadow: 0 18px 45px rgba(16,24,40,.07);
	padding: clamp(22px, 4vw, 36px);
	margin-bottom: 20px;
	overflow: hidden;
	position: relative;
}
.ch-theme-blog-hero:after,
.ch-theme-archive-header:after,
.ch-theme-search-header:after {
	content: "";
	position: absolute;
	right: -80px;
	top: -90px;
	width: 220px;
	height: 220px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(0,128,255,.22), transparent 68%);
	pointer-events: none;
}
.ch-theme-eyebrow,
.ch-theme-post-kicker span {
	display: inline-flex;
	align-items: center;
	width: max-content;
	max-width: 100%;
	border-radius: 999px;
	background: rgba(0,128,255,.1);
	color: var(--ch-theme-blue-dark);
	border: 1px solid rgba(0,128,255,.2);
	font-size: .78rem;
	font-weight: 950;
	letter-spacing: .04em;
	text-transform: uppercase;
	padding: 5px 9px;
	margin-bottom: 10px;
}
.ch-theme-blog-hero h1,
.ch-theme-archive-header h1,
.ch-theme-search-header h1 {
	margin: 0;
	font-size: clamp(2.1rem, 5vw, 4.1rem);
	line-height: .98;
	letter-spacing: -.065em;
}
.ch-theme-blog-hero p,
.ch-theme-archive-description,
.ch-theme-search-header p {
	max-width: 680px;
	margin: 10px 0 0;
	color: var(--ch-theme-muted);
	font-weight: 750;
}

.ch-theme-post-list--blog,
.ch-theme-main--archive .ch-theme-post-list,
.ch-theme-main--search .ch-theme-post-list,
.ch-theme-main .ch-theme-post-list {
	gap: 22px;
}
.ch-theme-post-card {
	display: grid;
	grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
	min-height: 230px;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ch-theme-post-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 58px rgba(16,24,40,.11);
	border-color: rgba(0,128,255,.22);
}
.ch-theme-post-thumb {
	display: block;
	min-height: 100%;
	background: linear-gradient(135deg, rgba(0,128,255,.12), rgba(16,24,40,.05));
	overflow: hidden;
}
.ch-theme-post-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 230px;
	object-fit: cover;
	transition: transform .28s ease;
}
.ch-theme-post-card:hover .ch-theme-post-thumb img {
	transform: scale(1.035);
}
.ch-theme-post-thumb--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}
.ch-theme-post-thumb--placeholder span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 86px;
	height: 86px;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 18px 38px rgba(16,24,40,.1);
	color: var(--ch-theme-blue-dark);
	font-size: 2.4rem;
	font-weight: 950;
	letter-spacing: -.08em;
}
.ch-theme-post-card-body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: clamp(20px, 3vw, 30px);
}
.ch-theme-post-kicker {
	min-height: 24px;
}
.ch-theme-post-card h2 {
	font-size: clamp(1.45rem, 2.5vw, 2.15rem);
	line-height: 1.05;
	letter-spacing: -.055em;
	margin: 0 0 8px;
}
.ch-theme-post-card h2 a:hover {
	color: var(--ch-theme-blue-dark);
	text-decoration: none;
}
.ch-theme-post-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 0;
}
.ch-theme-post-excerpt {
	color: #344054;
	font-weight: 600;
}
.ch-theme-post-excerpt p {
	margin-top: 0;
}
.ch-theme-read-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: max-content;
	border-radius: 999px;
	background: var(--ch-theme-surface-soft);
	border: 1px solid rgba(0,128,255,.16);
	color: var(--ch-theme-blue-dark);
	font-weight: 950;
	padding: 9px 13px;
	text-decoration: none;
}
.ch-theme-read-more:hover {
	background: rgba(0,128,255,.1);
	text-decoration: none;
}

.ch-theme-layout--sidebar .ch-theme-content-wrap,
.ch-theme-layout--sidebar .ch-theme-page-shell {
	min-width: 0;
}
.ch-theme-sidebar {
	background: rgba(255,255,255,.9);
}
.ch-theme-sidebar .ch-theme-widget {
	margin-bottom: 14px;
}
.ch-theme-sidebar .ch-theme-widget:last-child {
	margin-bottom: 0;
}
.ch-theme-sidebar .wp-block-search__inside-wrapper {
	display: flex;
	gap: 8px;
}
.ch-theme-sidebar .wp-block-search__button {
	white-space: nowrap;
}

.ch-theme-main--woocommerce .ch-theme-container {
	background: transparent;
}
.woocommerce .woocommerce-breadcrumb {
	background: rgba(255,255,255,.76);
	border: 1px solid var(--ch-theme-border);
	border-radius: 999px;
	display: inline-flex;
	padding: 8px 12px;
	margin-bottom: 16px;
}
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 0 18px !important;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 58px rgba(16,24,40,.11);
	border-color: rgba(0,128,255,.22);
}
.woocommerce ul.products li.product a img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 0 0 14px !important;
	background: var(--ch-theme-surface-soft);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .button {
	margin-left: 16px !important;
	margin-right: 16px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.08rem !important;
	font-weight: 950;
	letter-spacing: -.03em;
	color: var(--ch-theme-text);
}
.woocommerce ul.products li.product .price {
	color: var(--ch-theme-blue-dark) !important;
	font-weight: 950 !important;
}
.woocommerce div.product {
	padding: clamp(18px, 3vw, 28px);
}
.woocommerce div.product .product_title {
	font-size: clamp(2rem, 4vw, 3.5rem);
	letter-spacing: -.06em;
	line-height: 1;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ch-theme-blue-dark);
	font-size: 1.45rem;
	font-weight: 950;
}
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: clamp(18px, 3vw, 26px);
}
.woocommerce table.shop_table {
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
}
.woocommerce table.shop_table th {
	background: var(--ch-theme-surface-soft);
	font-weight: 950;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 8px;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	border-radius: 12px;
	background: var(--ch-theme-surface-soft);
	padding: 10px 12px;
	font-weight: 850;
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background: rgba(0,128,255,.1);
	color: var(--ch-theme-blue-dark);
}

@media (max-width: 1020px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.ch-theme-post-card {
		grid-template-columns: 1fr;
	}
	.ch-theme-post-thumb img,
	.ch-theme-post-thumb {
		min-height: 190px;
	}
	.woocommerce ul.products {
		grid-template-columns: 1fr;
	}
	.ch-theme-sidebar .wp-block-search__inside-wrapper {
		flex-direction: column;
	}
}


/* =========================================================
   Community Hub plugin compatibility: social action buttons
   The global theme button style should not turn Like/Comment/Repost/Share/Saved
   into large gradient CTA buttons inside the Community Hub feed.
   ========================================================= */
.ch-theme .ch-feed .ch-action-row button,
.ch-theme .ch-feed .ch-action-row .ch-action-button,
.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
.ch-theme .ch-activity-card .ch-action-row button,
.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
.ch-theme .ch-repost-combo-button,
.ch-theme .ch-bookmark-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-height: 34px !important;
  width: auto !important;
  max-width: none !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  background: #f8fafc !important;
  background-image: none !important;
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.ch-theme .ch-feed .ch-action-row button:hover,
.ch-theme .ch-feed .ch-action-row .ch-action-button:hover,
.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger:hover,
.ch-theme .ch-activity-card .ch-action-row button:hover,
.ch-theme .ch-activity-card .ch-action-row .ch-action-button:hover,
.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger:hover,
.ch-theme .ch-repost-combo-button:hover,
.ch-theme .ch-bookmark-button:hover {
  background: #eff6ff !important;
  background-image: none !important;
  border-color: #bfdbfe !important;
  color: #1d4ed8 !important;
  box-shadow: 0 5px 14px rgba(37, 99, 235, 0.10) !important;
  filter: none !important;
  transform: none !important;
  text-decoration: none !important;
}

.ch-theme .ch-feed .ch-action-row .is-liked,
.ch-theme .ch-feed .ch-action-row .is-saved,
.ch-theme .ch-activity-card .ch-action-row .is-liked,
.ch-theme .ch-activity-card .ch-action-row .is-saved,
.ch-theme .ch-bookmark-button.is-saved {
  background: #2563eb !important;
  background-image: none !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.18) !important;
}

.ch-theme .ch-action-row {
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.ch-theme .ch-repost-combo {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
}

/* Repost embed author names should look like names, not bright body links. */
.ch-theme .ch-repost-embed-header a,
.ch-theme .ch-repost-embed-name,
.ch-theme a.ch-repost-embed-name,
.ch-theme .ch-repost-embed-name a,
.ch-theme .ch-repost-embed-user a:not(.ch-repost-embed-time) {
  color: #111827 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.ch-theme .ch-repost-embed-header a:hover,
.ch-theme a.ch-repost-embed-name:hover,
.ch-theme .ch-repost-embed-name a:hover,
.ch-theme .ch-repost-embed-user a:not(.ch-repost-embed-time):hover {
  color: #1d4ed8 !important;
  text-decoration: none !important;
}

.ch-theme .ch-repost-embed-time,
.ch-theme .ch-repost-embed-time a,
.ch-theme a.ch-repost-embed-time {
  color: #64748b !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

@media (max-width: 760px) {
  .ch-theme .ch-feed .ch-action-row button,
  .ch-theme .ch-feed .ch-action-row .ch-action-button,
  .ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
  .ch-theme .ch-activity-card .ch-action-row button,
  .ch-theme .ch-activity-card .ch-action-row .ch-action-button,
  .ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
  .ch-theme .ch-repost-combo-button,
  .ch-theme .ch-bookmark-button {
    min-height: 32px !important;
    padding: 7px 10px !important;
    font-size: 12.5px !important;
  }
}

/* =========================================================
   v0.1.7: sidebar reliability, compact blog options,
   WooCommerce typography, and Community Hub action polish.
   ========================================================= */

/* Admin/body-driven blog density options. */
.ch-theme-blog-layout-compact .ch-theme-post-list--blog,
.ch-theme-blog-layout-compact.blog .ch-theme-post-list,
.ch-theme-blog-layout-compact.home .ch-theme-post-list {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 18px;
}

.ch-theme-blog-layout-compact .ch-theme-post-card {
	border-radius: 18px;
}

.ch-theme-blog-layout-compact .ch-theme-post-thumb,
.ch-theme-blog-layout-compact .ch-theme-post-thumb img,
.ch-theme-blog-layout-compact .ch-theme-post-placeholder {
	min-height: 150px;
	max-height: 190px;
}

.ch-theme-blog-layout-compact .ch-theme-post-body {
	padding: 16px;
}

.ch-theme-blog-layout-compact .ch-theme-post-title {
	font-size: clamp(1.05rem, 1.65vw, 1.32rem);
	line-height: 1.15;
}

.ch-theme-blog-layout-compact .ch-theme-post-excerpt {
	font-size: .94rem;
	line-height: 1.45;
}

.ch-theme-blog-layout-dense .ch-theme-blog-hero {
	padding: 20px;
	margin-bottom: 16px;
}

.ch-theme-blog-layout-dense .ch-theme-post-list--blog,
.ch-theme-blog-layout-dense.blog .ch-theme-post-list,
.ch-theme-blog-layout-dense.home .ch-theme-post-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.ch-theme-blog-layout-dense .ch-theme-post-card {
	display: grid;
	grid-template-columns: 160px 1fr;
	align-items: stretch;
	border-radius: 16px;
}

.ch-theme-blog-layout-dense .ch-theme-post-thumb,
.ch-theme-blog-layout-dense .ch-theme-post-thumb img,
.ch-theme-blog-layout-dense .ch-theme-post-placeholder {
	min-height: 100%;
	height: 100%;
}

.ch-theme-blog-layout-dense .ch-theme-post-body {
	padding: 14px 16px;
}

.ch-theme-blog-layout-dense .ch-theme-post-title {
	font-size: 1.05rem;
	line-height: 1.18;
	margin-bottom: 6px;
}

.ch-theme-blog-layout-dense .ch-theme-post-meta,
.ch-theme-blog-layout-dense .ch-theme-post-excerpt {
	font-size: .86rem;
}

.ch-theme-blog-layout-dense .ch-theme-read-more {
	padding: 8px 11px;
	font-size: .84rem;
}

/* Sidebar should be visibly styled when it is enabled and has widgets. */
.ch-theme-sidebar {
	align-self: start;
	min-width: 0;
}

.ch-theme-sidebar .ch-theme-widget,
.ch-theme-sidebar .widget,
.ch-theme-sidebar section {
	background: rgba(255,255,255,.94);
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(16,24,40,.07);
	padding: 18px;
	margin: 0 0 16px;
	color: var(--ch-theme-text);
}

.ch-theme-sidebar .ch-theme-widget-title,
.ch-theme-sidebar .widget-title,
.ch-theme-sidebar h2,
.ch-theme-sidebar h3 {
	font-size: .96rem;
	line-height: 1.2;
	font-weight: 900;
	margin: 0 0 12px;
	color: var(--ch-theme-text);
}

.ch-theme-sidebar ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ch-theme-sidebar li + li {
	border-top: 1px solid rgba(217,227,240,.75);
	margin-top: 8px;
	padding-top: 8px;
}

/* WooCommerce text readability and cleaner product spacing. */
.woocommerce,
.woocommerce-page {
	color: var(--ch-theme-text);
}

.woocommerce p,
.woocommerce li,
.woocommerce table,
.woocommerce form,
.woocommerce .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce .woocommerce-MyAccount-content {
	color: #263244;
	font-size: 16px;
	line-height: 1.65;
}

.woocommerce small,
.woocommerce .woocommerce-result-count,
.woocommerce .product_meta,
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-review__published-date {
	color: #64748b;
}

.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce h1,
.woocommerce h2,
.woocommerce h3 {
	color: #0f172a;
	letter-spacing: -.02em;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--ch-theme-blue-dark);
	font-weight: 900;
}

.woocommerce .quantity .qty,
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select {
	color: #111827;
	background: #fff;
	border: 1px solid #dbe5f2;
	border-radius: 12px;
}

/* Community Hub social buttons: polished compact app controls, not CTA buttons. */
.ch-theme .ch-feed .ch-action-row,
.ch-theme .ch-activity-card .ch-action-row {
	gap: 6px !important;
	padding: 10px 0 !important;
	border-top: 1px solid #e7edf5 !important;
	border-bottom: 1px solid #e7edf5 !important;
	background: transparent !important;
}

.ch-theme .ch-feed .ch-action-row button,
.ch-theme .ch-feed .ch-action-row .ch-action-button,
.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
.ch-theme .ch-activity-card .ch-action-row button,
.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
.ch-theme .ch-repost-combo-button,
.ch-theme .ch-bookmark-button {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 5px !important;
	min-height: 32px !important;
	width: auto !important;
	max-width: none !important;
	padding: 6px 10px !important;
	border-radius: 10px !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	background-image: none !important;
	color: #475569 !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	filter: none !important;
}

.ch-theme .ch-feed .ch-action-row button:hover,
.ch-theme .ch-feed .ch-action-row .ch-action-button:hover,
.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger:hover,
.ch-theme .ch-activity-card .ch-action-row button:hover,
.ch-theme .ch-activity-card .ch-action-row .ch-action-button:hover,
.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger:hover,
.ch-theme .ch-repost-combo-button:hover,
.ch-theme .ch-bookmark-button:hover {
	background: #f1f7ff !important;
	background-image: none !important;
	border-color: #d9eaff !important;
	color: #005fcc !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	text-decoration: none !important;
}

.ch-theme .ch-feed .ch-action-row .is-liked,
.ch-theme .ch-feed .ch-action-row .is-saved,
.ch-theme .ch-activity-card .ch-action-row .is-liked,
.ch-theme .ch-activity-card .ch-action-row .is-saved,
.ch-theme .ch-bookmark-button.is-saved {
	background: rgba(0,128,255,.10) !important;
	background-image: none !important;
	border-color: rgba(0,128,255,.22) !important;
	color: #005fcc !important;
	box-shadow: none !important;
}

.ch-theme .ch-repost-combo-menu button {
	border-radius: 10px !important;
	background: #fff !important;
	color: #172033 !important;
}

/* Keep repost embedded author names readable and not theme-link-blue. */
.ch-theme .ch-repost-embed-header a,
.ch-theme .ch-repost-embed-name,
.ch-theme a.ch-repost-embed-name,
.ch-theme .ch-repost-embed-name a,
.ch-theme .ch-repost-embed-user a:not(.ch-repost-embed-time) {
	color: #111827 !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

.ch-theme .ch-repost-embed-header a:hover,
.ch-theme a.ch-repost-embed-name:hover,
.ch-theme .ch-repost-embed-name a:hover,
.ch-theme .ch-repost-embed-user a:not(.ch-repost-embed-time):hover {
	color: #005fcc !important;
	text-decoration: none !important;
}

@media (max-width: 760px) {
	.ch-theme-blog-layout-dense .ch-theme-post-card {
		grid-template-columns: 108px 1fr;
	}
	.ch-theme-blog-layout-dense .ch-theme-post-excerpt {
		display: none;
	}
	.ch-theme .ch-feed .ch-action-row,
	.ch-theme .ch-activity-card .ch-action-row {
		justify-content: space-between !important;
	}
	.ch-theme .ch-feed .ch-action-row button,
	.ch-theme .ch-feed .ch-action-row .ch-action-button,
	.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-activity-card .ch-action-row button,
	.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
	.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-repost-combo-button,
	.ch-theme .ch-bookmark-button {
		padding: 6px 7px !important;
		font-size: 12px !important;
		min-height: 30px !important;
	}
}


/* =========================================================
   v0.1.8: Customizer stability, sidebar visibility,
   compact-grid fix, single post polish, WooCommerce polish.
   ========================================================= */

/* Prevent Customizer preview changes from creating jumpy nested layouts on routed Community pages. */
.customize-preview.ch-route-community .ch-theme-main,
.customize-preview.ch-route-community .ch-theme-container {
	min-height: 0;
}

/* Sidebar should be visible on normal blog/post/page screens when enabled, even before widgets are assigned. */
.ch-theme-layout--sidebar {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
	gap: 28px !important;
	align-items: start !important;
}

.ch-theme-layout--sidebar > .ch-theme-content-wrap,
.ch-theme-layout--sidebar > .ch-theme-page-shell {
	min-width: 0;
}

.ch-theme-sidebar-empty p {
	margin: 0;
	color: #64748b;
	font-weight: 700;
	line-height: 1.5;
}

/* Compact grid fix: the old selectors missed the real card body class, allowing large text overflow. */
.ch-theme-blog-layout-compact .ch-theme-post-list,
.ch-theme-blog-layout-compact .ch-theme-post-list--blog {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 18px;
}

.ch-theme-blog-layout-compact .ch-theme-post-card {
	min-width: 0;
	overflow: hidden;
}

.ch-theme-blog-layout-compact .ch-theme-post-card-body,
.ch-theme-blog-layout-compact .ch-theme-post-body {
	padding: 14px 15px 15px !important;
	min-width: 0;
}

.ch-theme-blog-layout-compact .ch-theme-post-title,
.ch-theme-blog-layout-compact .ch-theme-post-card h2 {
	font-size: clamp(1rem, 1.15vw, 1.16rem) !important;
	line-height: 1.2 !important;
	margin: 6px 0 8px !important;
	letter-spacing: -.015em;
	overflow-wrap: anywhere;
	word-break: normal;
}

.ch-theme-blog-layout-compact .ch-theme-post-title a,
.ch-theme-blog-layout-compact .ch-theme-post-card h2 a {
	color: #0f172a;
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ch-theme-blog-layout-compact .ch-theme-post-excerpt {
	font-size: .88rem !important;
	line-height: 1.45 !important;
	color: #475569;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ch-theme-blog-layout-compact .ch-theme-post-excerpt p {
	margin: 0;
}

.ch-theme-blog-layout-compact .ch-theme-post-thumb,
.ch-theme-blog-layout-compact .ch-theme-post-thumb img,
.ch-theme-blog-layout-compact .ch-theme-post-placeholder {
	min-height: 132px !important;
	height: 150px !important;
	max-height: 150px !important;
}

.ch-theme-blog-layout-compact .ch-theme-read-more {
	padding: 8px 11px !important;
	font-size: .82rem !important;
	border-radius: 999px;
}

/* Single blog post polish. */
.ch-theme-single {
	background: rgba(255,255,255,.96);
	border: 1px solid #e1eaf5;
	border-radius: 28px;
	box-shadow: 0 22px 56px rgba(15,23,42,.08);
	overflow: hidden;
}

.ch-theme-single-header {
	padding: clamp(26px, 4vw, 52px) clamp(20px, 5vw, 64px) 22px;
	background: linear-gradient(135deg, rgba(0,128,255,.10), rgba(255,255,255,.86));
	border-bottom: 1px solid rgba(225,234,245,.9);
}

.ch-theme-single-kicker {
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border-radius: 999px;
	background: #eaf4ff;
	color: #005fcc;
	font-size: .78rem;
	font-weight: 900;
	text-decoration: none;
	margin-bottom: 12px;
}

.ch-theme-single-header h1 {
	font-size: clamp(2rem, 4.8vw, 4rem);
	line-height: .98;
	letter-spacing: -.055em;
	margin: 0 0 14px;
	max-width: 900px;
	color: #0f172a;
}

.ch-theme-single-meta {
	font-size: .94rem;
	color: #64748b;
	font-weight: 800;
}

.ch-theme-featured-image {
	margin: 0;
	border-radius: 0;
	max-height: 540px;
	overflow: hidden;
}

.ch-theme-featured-image img {
	width: 100%;
	display: block;
	object-fit: cover;
}

.ch-theme-single .ch-theme-entry-content {
	padding: clamp(24px, 4vw, 56px) clamp(20px, 5vw, 64px);
	max-width: 900px;
	margin: 0 auto;
	font-size: clamp(1.03rem, 1.25vw, 1.13rem);
	line-height: 1.82;
	color: #243044;
}

.ch-theme-single .ch-theme-entry-content > *:first-child { margin-top: 0; }
.ch-theme-single .ch-theme-entry-content > *:last-child { margin-bottom: 0; }

.ch-theme-single .ch-theme-entry-content h2,
.ch-theme-single .ch-theme-entry-content h3,
.ch-theme-single .ch-theme-entry-content h4 {
	color: #0f172a;
	letter-spacing: -.025em;
	line-height: 1.14;
	margin-top: 1.45em;
}

.ch-theme-single-footer {
	padding: 0 clamp(20px, 5vw, 64px) 34px;
	max-width: 900px;
	margin: 0 auto;
}

.ch-theme-post-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	font-size: .88rem;
	font-weight: 900;
	color: #64748b;
}

.ch-theme-post-tags a {
	padding: 7px 10px;
	border-radius: 999px;
	background: #f1f7ff;
	color: #005fcc;
	text-decoration: none;
}

.ch-theme-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin: 18px 0;
}

.ch-theme-post-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 16px;
	border: 1px solid #dbe8f7;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(15,23,42,.06);
	font-weight: 900;
	text-decoration: none;
	color: #0f172a;
	text-align: center;
}

.ch-theme-post-nav a:hover {
	background: #f1f7ff;
	border-color: #b8dcff;
	color: #005fcc;
}

/* WooCommerce card and text polish. */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
	gap: 22px !important;
	margin: 24px 0 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
	padding: 14px 14px 16px !important;
	border-radius: 22px !important;
	background: #fff !important;
	border: 1px solid #e1eaf5 !important;
	box-shadow: 0 18px 44px rgba(15,23,42,.07) !important;
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 54px rgba(15,23,42,.10) !important;
	border-color: #cfe4fb !important;
}

.woocommerce ul.products li.product a img {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	height: auto !important;
	object-fit: cover;
	border-radius: 17px !important;
	background: #f8fafc;
	margin: 0 0 13px !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1rem !important;
	line-height: 1.25 !important;
	font-weight: 950 !important;
	letter-spacing: -.02em;
	color: #0f172a !important;
	padding: 0 !important;
	margin: 0 0 8px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.woocommerce ul.products li.product .price {
	display: block !important;
	font-size: 1.05rem !important;
	line-height: 1.2 !important;
	font-weight: 950 !important;
	color: #005fcc !important;
	margin: 8px 0 12px !important;
}

.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	border-radius: 999px !important;
	background: #0080ff !important;
	color: #fff !important;
	border: 1px solid #0080ff !important;
	box-shadow: 0 12px 26px rgba(0,128,255,.18) !important;
	font-weight: 950 !important;
	font-size: .9rem !important;
	line-height: 1 !important;
	padding: 12px 15px !important;
	text-decoration: none !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: #006fdf !important;
	border-color: #006fdf !important;
	color: #fff !important;
}

.woocommerce span.onsale {
	min-height: auto !important;
	min-width: auto !important;
	padding: 7px 10px !important;
	border-radius: 999px !important;
	background: #0f172a !important;
	color: #fff !important;
	font-weight: 950 !important;
	line-height: 1 !important;
	font-size: .75rem !important;
}

.woocommerce div.product {
	background: #fff !important;
	border: 1px solid #e1eaf5 !important;
	border-radius: 28px !important;
	box-shadow: 0 22px 56px rgba(15,23,42,.08) !important;
	padding: clamp(18px, 3vw, 34px) !important;
}

.woocommerce div.product .product_title {
	font-size: clamp(2rem, 4vw, 3.5rem) !important;
	line-height: 1 !important;
	font-weight: 950 !important;
	color: #0f172a !important;
}

.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-tabs,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	color: #243044 !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}

.woocommerce div.product .summary p,
.woocommerce div.product .woocommerce-tabs p,
.woocommerce-cart-form td,
.woocommerce-checkout-review-order td,
.woocommerce-account .woocommerce-MyAccount-content p {
	color: #243044 !important;
}

.woocommerce table.shop_table {
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 18px !important;
	overflow: hidden;
}

@media (max-width: 900px) {
	.ch-theme-layout--sidebar {
		grid-template-columns: 1fr !important;
	}
	.ch-theme-post-nav {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.ch-theme-blog-layout-compact .ch-theme-post-list,
	.ch-theme-blog-layout-compact .ch-theme-post-list--blog {
		grid-template-columns: 1fr;
	}
	.ch-theme-single-header,
	.ch-theme-single .ch-theme-entry-content,
	.ch-theme-single-footer {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* v0.1.9: layout/options/mobile/Woo polish */
:root {
	--ch-theme-header-bg: #ffffff;
	--ch-theme-header-text: var(--ch-theme-text);
}
body.ch-theme-mode-dark {
	--ch-theme-muted: #94a3b8;
	--ch-theme-border: rgba(148, 163, 184, .28);
	--ch-theme-surface-soft: rgba(255,255,255,.055);
	--ch-theme-shadow: 0 18px 60px rgba(0,0,0,.35);
}
body.ch-theme-mode-dark a { color: #7cc0ff; }
body.ch-theme-mode-dark .ch-theme-header,
body.ch-theme-mode-dark .ch-theme-header-top,
body.ch-theme-mode-dark .ch-theme-nav-bar,
.ch-theme-header,
.ch-theme-header-top,
.ch-theme-nav-bar {
	background: color-mix(in srgb, var(--ch-theme-header-bg) 94%, transparent);
	color: var(--ch-theme-header-text);
}
body.ch-theme-mode-dark .ch-theme-page,
body.ch-theme-mode-dark .ch-theme-single,
body.ch-theme-mode-dark .ch-theme-post-card,
body.ch-theme-mode-dark .ch-theme-widget,
body.ch-theme-mode-dark .woocommerce ul.products li.product,
body.ch-theme-mode-dark .woocommerce div.product,
body.ch-theme-mode-dark .woocommerce-cart-form,
body.ch-theme-mode-dark .woocommerce-checkout-review-order,
body.ch-theme-mode-dark .woocommerce-account .woocommerce-MyAccount-content,
body.ch-theme-mode-dark .woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--ch-theme-surface);
	color: var(--ch-theme-text);
	border-color: var(--ch-theme-border);
}
body.ch-theme-mode-dark .ch-theme-primary-menu a,
body.ch-theme-mode-dark .ch-theme-account-toggle,
body.ch-theme-mode-dark .ch-theme-site-title,
body.ch-theme-mode-dark .woocommerce h1,
body.ch-theme-mode-dark .woocommerce h2,
body.ch-theme-mode-dark .woocommerce h3,
body.ch-theme-mode-dark .woocommerce div.product .product_title,
body.ch-theme-mode-dark .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--ch-theme-text); }
body.ch-theme-mode-dark .ch-theme-account-panel,
body.ch-theme-mode-dark .ch-theme-menu-panel,
body.ch-theme-mode-dark .ch-theme-primary-menu .sub-menu,
body.ch-theme-mode-dark .ch-theme-community-menu .sub-menu {
	background: var(--ch-theme-surface);
	border-color: var(--ch-theme-border);
	color: var(--ch-theme-text);
}

/* Sidebar positions */
.ch-theme-layout--sidebar {
	display: grid;
	gap: 24px;
	align-items: start;
}
.ch-theme-layout--sidebar-right { grid-template-columns: minmax(0, 1fr) minmax(260px, 320px); }
.ch-theme-layout--sidebar-left { grid-template-columns: minmax(260px, 320px) minmax(0, 1fr); }
.ch-theme-layout--sidebar-both { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr) minmax(220px, 280px); }
.ch-theme-layout--sidebar-left .ch-theme-sidebar--left,
.ch-theme-layout--sidebar-both .ch-theme-sidebar--left { order: 1; }
.ch-theme-layout--sidebar-left .ch-theme-content-wrap,
.ch-theme-layout--sidebar-left .ch-theme-page-shell { order: 2; }
.ch-theme-layout--sidebar-right .ch-theme-content-wrap,
.ch-theme-layout--sidebar-right .ch-theme-page-shell { order: 1; }
.ch-theme-layout--sidebar-right .ch-theme-sidebar--right { order: 2; }
.ch-theme-layout--sidebar-both .ch-theme-content-wrap,
.ch-theme-layout--sidebar-both .ch-theme-page-shell { order: 2; }
.ch-theme-layout--sidebar-both .ch-theme-sidebar--right { order: 3; }
.ch-theme-sidebar {
	position: sticky;
	top: 96px;
	max-width: 100%;
}
.ch-theme-sidebar .ch-theme-widget,
.ch-theme-mobile-widget-bar .ch-theme-widget {
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	box-shadow: 0 10px 28px rgba(16,24,40,.06);
	padding: 16px;
	margin: 0 0 14px;
	overflow-wrap: anywhere;
}
.ch-theme-widget-title { font-size: .95rem; letter-spacing: -.015em; margin: 0 0 10px; }
.ch-theme-mobile-widget-bar { display: none; width: min(var(--ch-theme-max), calc(100% - 24px)); margin: 20px auto 0; }

/* Mobile header/menu cleanup */
.ch-theme-menu-toggle {
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 14px !important;
	background: var(--ch-theme-surface) !important;
	box-shadow: 0 8px 20px rgba(16,24,40,.06) !important;
	min-width: 44px;
	min-height: 44px;
}
.ch-theme-menu-panel {
	position: fixed;
	left: 12px;
	right: 12px;
	top: 76px;
	z-index: 1005;
	max-height: calc(100vh - 94px);
	overflow: auto;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 22px;
	box-shadow: 0 24px 80px rgba(16,24,40,.22);
	padding: 14px;
}
.ch-theme-menu-panel .ch-theme-menu-list,
.ch-theme-menu-panel .ch-theme-community-nav {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 8px;
	align-items: stretch;
	justify-content: stretch;
}
.ch-theme-menu-panel .ch-theme-menu-list a,
.ch-theme-menu-panel .ch-theme-nav-pill,
.ch-theme-menu-panel .ch-theme-account-panel a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	padding: 12px 14px;
	background: var(--ch-theme-surface-soft);
	font-size: .98rem;
	font-weight: 850;
	color: var(--ch-theme-text);
	text-decoration: none;
}
.ch-theme-menu-panel .sub-menu {
	position: static !important;
	left: auto !important;
	top: auto !important;
	box-shadow: none !important;
	border: 0 !important;
	background: transparent !important;
	padding: 6px 0 0 12px !important;
	min-width: 0 !important;
}
.ch-theme-menu-panel .ch-theme-account { display: block; margin-top: 12px; }
.ch-theme-menu-panel .ch-theme-account-toggle { width: 100%; justify-content: flex-start; }
.ch-theme-menu-panel .ch-theme-account-panel { position: static; display: grid; box-shadow: none; margin-top: 8px; }

/* Compact grid: smaller cards, no overflow */
.ch-theme-blog-layout-compact .ch-theme-post-list--blog,
.ch-theme-blog-layout-compact.blog .ch-theme-post-list,
.ch-theme-blog-layout-compact.home .ch-theme-post-list {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
	gap: 16px !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-card { min-width: 0; overflow: hidden; border-radius: 18px; }
.ch-theme-blog-layout-compact .ch-theme-post-body { padding: 14px !important; min-width: 0; }
.ch-theme-blog-layout-compact .ch-theme-post-title {
	font-size: clamp(1rem, 1.4vw, 1.16rem) !important;
	line-height: 1.18 !important;
	letter-spacing: -.025em;
	margin: 0 0 7px !important;
	overflow-wrap: anywhere;
}
.ch-theme-blog-layout-compact .ch-theme-post-excerpt {
	font-size: .9rem !important;
	line-height: 1.42 !important;
	margin: 0 0 10px !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.ch-theme-blog-layout-compact .ch-theme-read-more { padding: 8px 10px !important; font-size: .84rem !important; }
.ch-theme-blog-layout-compact .ch-theme-post-meta { font-size: .76rem !important; gap: 6px !important; flex-wrap: wrap; }
.ch-theme-blog-layout-compact .ch-theme-post-thumb,
.ch-theme-blog-layout-compact .ch-theme-post-thumb img,
.ch-theme-blog-layout-compact .ch-theme-post-placeholder { min-height: 130px !important; max-height: 170px !important; }

/* Single blog post polish */
.ch-theme-single {
	max-width: 880px;
	margin: 0 auto;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 26px;
	box-shadow: 0 18px 60px rgba(16,24,40,.08);
	overflow: hidden;
}
.ch-theme-single-header {
	padding: clamp(24px, 5vw, 52px) clamp(18px, 5vw, 56px) 20px;
	background: linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-blue) 12%, transparent), transparent 70%);
}
.ch-theme-single-header h1 { font-size: clamp(2rem, 5vw, 4rem); line-height: .98; margin: 10px 0 12px; }
.ch-theme-featured-image { margin: 0; border-radius: 0; }
.ch-theme-featured-image img { width: 100%; display: block; max-height: 540px; object-fit: cover; }
.ch-theme-entry-content { padding: clamp(22px, 5vw, 56px); font-size: clamp(1.03rem, 1.25vw, 1.18rem); line-height: 1.78; }
.ch-theme-entry-content p { margin: 0 0 1.25em; }
.ch-theme-entry-content h2, .ch-theme-entry-content h3 { line-height: 1.1; letter-spacing: -.03em; margin-top: 1.6em; }
.ch-theme-single-footer { padding: 0 clamp(22px, 5vw, 56px) 34px; }

/* WooCommerce: remove harsh yellow and polish cards/checkout */
.woocommerce-store-notice,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error,
.woocommerce-notices-wrapper .wc-block-components-notice-banner {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-left: 5px solid var(--ch-theme-blue) !important;
	color: var(--ch-theme-text) !important;
	box-shadow: 0 12px 36px rgba(16,24,40,.08) !important;
	border-radius: 16px !important;
}
.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before { color: var(--ch-theme-blue) !important; }
.woocommerce .woocommerce-breadcrumb mark,
.woocommerce mark,
.woocommerce .count,
.woocommerce .required,
.woocommerce .stock { background: transparent !important; color: var(--ch-theme-blue) !important; }
.woocommerce ul.products li.product {
	padding: 14px !important;
	border-radius: 22px !important;
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	box-shadow: 0 12px 35px rgba(16,24,40,.07) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}
.woocommerce ul.products li.product a img { border-radius: 16px !important; aspect-ratio: 1 / 1; object-fit: cover; background: var(--ch-theme-surface-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1rem !important; line-height: 1.22 !important; margin: 4px 0 !important; overflow-wrap: anywhere; }
.woocommerce ul.products li.product .price { font-size: 1.05rem !important; font-weight: 950 !important; color: var(--ch-theme-text) !important; }
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	border-radius: 999px !important;
	background: var(--ch-theme-blue) !important;
	color: #fff !important;
	font-weight: 900 !important;
	padding: 11px 16px !important;
	line-height: 1 !important;
	border: 0 !important;
	box-shadow: 0 12px 24px color-mix(in srgb, var(--ch-theme-blue) 22%, transparent) !important;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-cart-form,
.woocommerce-checkout-review-order,
.woocommerce .cart_totals,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 24px !important;
	box-shadow: 0 16px 46px rgba(16,24,40,.08) !important;
	padding: clamp(16px, 3vw, 28px) !important;
	color: var(--ch-theme-text) !important;
}
.woocommerce-checkout h3,
.woocommerce .cart_totals h2,
.woocommerce-account h2,
.woocommerce-account h3 { font-size: clamp(1.22rem, 2vw, 1.7rem) !important; letter-spacing: -.035em; color: var(--ch-theme-text) !important; }
.woocommerce table.shop_table { border-collapse: separate !important; border-spacing: 0 8px !important; border: 0 !important; }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { background: var(--ch-theme-surface-soft) !important; border: 0 !important; color: var(--ch-theme-text) !important; padding: 12px !important; }
.woocommerce form .form-row label { color: var(--ch-theme-text) !important; font-weight: 800; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 14px !important;
	color: var(--ch-theme-text) !important;
	min-height: 44px !important;
}

@media (max-width: 1024px) {
	.ch-theme-layout--sidebar,
	.ch-theme-layout--sidebar-left,
	.ch-theme-layout--sidebar-right,
	.ch-theme-layout--sidebar-both { grid-template-columns: 1fr !important; }
	.ch-theme-sidebar { display: none; position: static; }
	.ch-theme-mobile-widget-bar { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
}
@media (max-width: 780px) {
	body.ch-theme.admin-bar .ch-theme-header { top: 46px; }
	.ch-theme-header-inner { width: min(100% - 22px, var(--ch-theme-max)); min-height: 62px; gap: 10px; }
	.custom-logo-link img { max-height: 46px; }
	.ch-theme-site-title { font-size: 1.05rem; }
	.ch-theme-primary-menu--desktop,
	.ch-theme-header-widgets { display: none !important; }
	.ch-theme-header-actions > .ch-theme-account { display: none !important; }
	.ch-theme-menu-panel { top: 70px; left: 10px; right: 10px; border-radius: 18px; }
	.ch-theme-post-list--blog { grid-template-columns: 1fr !important; }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
	.woocommerce ul.products li.product { padding: 10px !important; border-radius: 18px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .92rem !important; }
	.woocommerce ul.products li.product .button { width: 100%; text-align: center; font-size: .82rem !important; padding: 10px 8px !important; }
	.ch-theme-entry-content { padding: 22px 18px; }
}
@media (max-width: 480px) {
	.woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* v0.2.0 stability and polish overrides */
html[data-ch-theme-mode="dark"] { color-scheme: dark; }
html[data-ch-theme-mode="light"] { color-scheme: light; }
body.ch-theme {
	color: var(--ch-theme-text) !important;
}
body.ch-theme:not(.ch-theme-elementor-page) {
	background: radial-gradient(circle at top left, color-mix(in srgb, var(--ch-theme-blue) 12%, transparent), transparent 32rem), var(--ch-theme-bg) !important;
}
body.ch-theme.admin-bar .ch-theme-header { top: 0 !important; }
@media (min-width: 783px) {
	body.ch-theme.admin-bar .ch-theme-header { top: 0 !important; }
}
.ch-theme-header,
.ch-theme-header-top,
.ch-theme-nav-bar {
	background: color-mix(in srgb, var(--ch-theme-header-bg) 94%, transparent) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
.ch-theme-header a,
.ch-theme-header button { color: var(--ch-theme-text); }
.ch-theme-mode-toggle,
.ch-theme-menu-toggle,
.ch-theme-account-toggle {
	background: var(--ch-theme-surface-soft) !important;
	border: 1px solid var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
	border-radius: 999px !important;
	box-shadow: var(--ch-theme-soft-shadow);
}
.ch-theme-mode-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 12px;
	font-weight: 850;
	cursor: pointer;
}
.ch-theme-mode-toggle:hover,
.ch-theme-menu-toggle:hover,
.ch-theme-account-toggle:hover {
	border-color: color-mix(in srgb, var(--ch-theme-blue) 45%, var(--ch-theme-border)) !important;
	transform: translateY(-1px);
}
.ch-theme-menu-toggle {
	width: 44px;
	height: 44px;
	padding: 0 !important;
	justify-content: center;
}
.ch-theme-menu-toggle-bars,
.ch-theme-menu-toggle-bars::before,
.ch-theme-menu-toggle-bars::after {
	display: block;
	width: 19px;
	height: 2px;
	background: currentColor;
	border-radius: 3px;
	content: "";
	position: relative;
}
.ch-theme-menu-toggle-bars::before { position: absolute; top: -6px; left: 0; }
.ch-theme-menu-toggle-bars::after { position: absolute; top: 6px; left: 0; }
.ch-theme-menu-open .ch-theme-menu-toggle-bars { background: transparent; }
.ch-theme-menu-open .ch-theme-menu-toggle-bars::before { top: 0; transform: rotate(45deg); }
.ch-theme-menu-open .ch-theme-menu-toggle-bars::after { top: 0; transform: rotate(-45deg); }

.ch-theme-menu-panel {
	position: fixed !important;
	top: 76px;
	left: 12px;
	right: 12px;
	max-height: calc(100dvh - 96px) !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--ch-theme-shadow) !important;
	padding: 14px !important;
	z-index: 1005 !important;
}
.admin-bar .ch-theme-menu-panel { top: 90px; max-height: calc(100dvh - 110px) !important; }
.ch-theme-menu-panel .ch-theme-menu-list,
.ch-theme-menu-panel .ch-theme-community-nav {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 8px !important;
}
.ch-theme-menu-panel a,
.ch-theme-menu-panel button,
.ch-theme-menu-panel .ch-theme-nav-pill {
	width: 100% !important;
	justify-content: flex-start !important;
	padding: 12px 14px !important;
	border-radius: 14px !important;
}
.ch-theme-menu-panel .sub-menu {
	position: static !important;
	left: auto !important;
	box-shadow: none !important;
	margin-top: 6px !important;
	background: var(--ch-theme-surface-soft) !important;
}
html.ch-theme-menu-lock { overflow: hidden; }

.ch-theme-container--community { width: min(var(--ch-theme-wide), calc(100% - 32px)); }
.ch-theme-community-shell {
	display: grid;
	gap: 20px;
	align-items: start;
	padding: 24px 0;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-left { grid-template-columns: minmax(220px, 280px) minmax(0, 1fr); }
.ch-theme-community-shell.ch-theme-layout--sidebar-right { grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); }
.ch-theme-community-shell.ch-theme-layout--sidebar-both { grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) minmax(190px, 240px); }
.ch-theme-community-content-wrap { min-width: 0; }
.ch-theme-sidebar {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 20px !important;
	box-shadow: var(--ch-theme-soft-shadow) !important;
	padding: 16px !important;
}
.ch-theme-widget { color: var(--ch-theme-text); }
.ch-theme-widget a { color: var(--ch-theme-blue); overflow-wrap: anywhere; }
.ch-theme-widget-title { color: var(--ch-theme-text); font-size: 1rem; line-height: 1.2; margin: 0 0 10px; }
.ch-theme-mobile-widget-bar {
	display: none;
	width: min(var(--ch-theme-max), calc(100% - 24px));
	margin: 12px auto 24px;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 20px;
	box-shadow: var(--ch-theme-soft-shadow);
	padding: 14px;
}

.ch-theme-blog-layout-compact .ch-theme-post-list,
.ch-theme-blog-layout-compact .ch-theme-post-list--blog {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
	gap: 16px !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-card {
	min-width: 0 !important;
	overflow: hidden !important;
	border-radius: 20px !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-card h2,
.ch-theme-blog-layout-compact .ch-theme-post-title {
	font-size: clamp(1.05rem, 1.5vw, 1.28rem) !important;
	line-height: 1.16 !important;
	letter-spacing: -.03em !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-excerpt,
.ch-theme-blog-layout-compact .ch-theme-post-card p {
	font-size: .92rem !important;
	line-height: 1.42 !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
}
.ch-theme-single {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 26px !important;
	box-shadow: var(--ch-theme-shadow) !important;
	padding: clamp(20px, 4vw, 46px) !important;
}
.ch-theme-single-header h1 { color: var(--ch-theme-text) !important; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1.02; }
.ch-theme-entry-content,
.ch-theme-page-content { color: var(--ch-theme-text) !important; }
.ch-theme-entry-content p,
.ch-theme-page-content p,
.woocommerce p { color: color-mix(in srgb, var(--ch-theme-text) 88%, var(--ch-theme-muted)) !important; }
.ch-theme-entry-content a,
.ch-theme-page-content a { color: var(--ch-theme-blue) !important; }

.woocommerce,
.woocommerce-page { color: var(--ch-theme-text) !important; }
.woocommerce .products li.product,
.woocommerce-page .products li.product,
.woocommerce div.product,
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--ch-theme-soft-shadow) !important;
	padding: 18px !important;
}
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-error {
	background: var(--ch-theme-surface-soft) !important;
	color: var(--ch-theme-text) !important;
	border-top: 3px solid var(--ch-theme-blue) !important;
	border-radius: 16px !important;
}
.woocommerce mark,
.woocommerce .mark,
.woocommerce .amount,
.woocommerce-Price-amount {
	background: transparent !important;
	color: var(--ch-theme-text) !important;
	font-weight: 850 !important;
}
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--ch-theme-blue) !important; font-weight: 900 !important; }
.woocommerce table.shop_table,
.woocommerce-cart-form,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--ch-theme-soft-shadow) !important;
	padding: 16px !important;
	overflow: hidden;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { color: var(--ch-theme-text) !important; border-color: var(--ch-theme-border) !important; }
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.ch-theme input,
.ch-theme textarea,
.ch-theme select {
	background: var(--ch-theme-surface-soft) !important;
	color: var(--ch-theme-text) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 12px !important;
}
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--ch-theme-blue) !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: 0 !important;
	font-weight: 900 !important;
	padding: 12px 18px !important;
}

/* Keep CommunityHub social controls owned by the plugin, but polished. */
.ch-theme .ch-activity-actions,
.ch-theme .ch-comment-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}
.ch-theme .ch-activity-actions button,
.ch-theme .ch-activity-actions a,
.ch-theme .ch-comment-actions button,
.ch-theme .ch-comment-actions a,
.ch-theme .ch-bookmark-toggle,
.ch-theme .ch-repost-button,
.ch-theme .ch-comment-toggle,
.ch-theme .ch-share-button,
.ch-theme .ch-reaction-button {
	min-height: 34px !important;
	padding: 7px 11px !important;
	border-radius: 999px !important;
	background: var(--ch-theme-surface-soft) !important;
	border: 1px solid var(--ch-theme-border) !important;
	color: var(--ch-theme-muted) !important;
	font-size: .88rem !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	width: auto !important;
}
.ch-theme .ch-activity-actions button:hover,
.ch-theme .ch-activity-actions a:hover,
.ch-theme .ch-comment-actions button:hover,
.ch-theme .ch-comment-actions a:hover {
	background: color-mix(in srgb, var(--ch-theme-blue) 10%, var(--ch-theme-surface)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
	color: var(--ch-theme-blue) !important;
	text-decoration: none !important;
}
.ch-theme .ch-reaction-picker,
.ch-theme .ch-mobile-reaction-picker,
.ch-theme .ch-repost-combo-menu,
.ch-theme .ch-post-menu-dropdown,
.ch-theme .ch-comment-menu-dropdown {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 18px !important;
	box-shadow: var(--ch-theme-shadow) !important;
	padding: 8px !important;
	z-index: 1006 !important;
}
.ch-theme .ch-reaction-picker button,
.ch-theme .ch-mobile-reaction-picker button {
	width: 38px !important;
	height: 38px !important;
	border-radius: 999px !important;
	font-size: 1.25rem !important;
	background: var(--ch-theme-surface-soft) !important;
	border: 1px solid var(--ch-theme-border) !important;
}
.ch-theme .ch-activity-author a,
.ch-theme .ch-activity-author-name,
.ch-theme .ch-repost-preview-author a,
.ch-theme .ch-repost-author a,
.ch-theme .ch-comment-author a,
.ch-theme .ch-comment-author-name,
.ch-theme .ch-activity-meta a,
.ch-theme .ch-comment-meta a,
.ch-theme .ch-activity-time a,
.ch-theme .ch-comment-time a {
	color: var(--ch-theme-text) !important;
	text-decoration: none !important;
}
.ch-theme .ch-activity-author a:hover,
.ch-theme .ch-comment-author a:hover,
.ch-theme .ch-activity-meta a:hover,
.ch-theme .ch-comment-meta a:hover {
	color: var(--ch-theme-blue) !important;
}
.ch-theme .ch-activity-content a,
.ch-theme .ch-comment-content a { color: var(--ch-theme-blue) !important; }

@media (max-width: 900px) {
	.ch-theme-primary-menu--desktop,
	.ch-theme-header-widgets { display: none !important; }
	.ch-theme-header-inner { min-height: 64px; gap: 10px; }
	.ch-theme-brand { min-width: 0; max-width: 58vw; }
	.ch-theme-account-name,
	.ch-theme-mode-toggle-text { display: none; }
	.ch-theme-mode-toggle { width: 42px; height: 42px; justify-content: center; padding: 0 !important; }
	.ch-theme-community-shell,
	.ch-theme-community-shell.ch-theme-layout--sidebar-left,
	.ch-theme-community-shell.ch-theme-layout--sidebar-right,
	.ch-theme-community-shell.ch-theme-layout--sidebar-both,
	.ch-theme-layout,
	.ch-theme-layout--sidebar,
	.ch-theme-layout--sidebar-left,
	.ch-theme-layout--sidebar-right,
	.ch-theme-layout--sidebar-both {
		display: block !important;
	}
	.ch-theme-sidebar { display: none !important; }
	.ch-theme-mobile-widget-bar { display: block; }
	.ch-theme-container,
	.ch-theme-container--community { width: min(100% - 20px, var(--ch-theme-max)); }
	.ch-theme-blog-layout-compact .ch-theme-post-list,
	.ch-theme-blog-layout-compact .ch-theme-post-list--blog { grid-template-columns: 1fr !important; }
	.ch-theme .ch-activity-actions,
	.ch-theme .ch-comment-actions { gap: 6px !important; justify-content: space-between !important; }
	.ch-theme .ch-activity-actions button,
	.ch-theme .ch-activity-actions a,
	.ch-theme .ch-comment-actions button,
	.ch-theme .ch-comment-actions a {
		font-size: .78rem !important;
		padding: 7px 8px !important;
		min-height: 32px !important;
	}
	.ch-theme .ch-mobile-reaction-picker,
	.ch-theme .ch-reaction-picker {
		max-width: calc(100vw - 24px) !important;
		overflow-x: auto !important;
	}
	.woocommerce table.shop_table,
	.woocommerce-cart-form,
	.woocommerce form.checkout { padding: 10px !important; border-radius: 16px !important; }
}


/* =========================================================
   v0.2.1: route/customizer safety, sidebar width fixes,
   mobile header/menu cleanup, dark mode hardening,
   CommunityHub card polish, blog/Woo refinements.
   ========================================================= */

/* Customizer safe placeholder */
.ch-theme-customizer-safe-preview {
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 28px;
	box-shadow: var(--ch-theme-shadow);
	padding: clamp(24px, 5vw, 54px);
	margin: 40px auto;
	max-width: 860px;
	text-align: center;
}
.ch-theme-customizer-safe-preview h1 {
	margin: 0 0 10px;
	font-size: clamp(1.8rem, 4vw, 3rem);
	letter-spacing: -.05em;
	color: var(--ch-theme-text);
}
.ch-theme-customizer-safe-preview p {
	margin: 0 auto 20px;
	max-width: 680px;
	color: var(--ch-theme-muted);
	font-weight: 750;
}

/* Admin bar gap fix: keep sticky header flush. */
body.ch-theme.admin-bar .ch-theme-header { top: 0 !important; }

/* Header/mobile account split: hamburger = site nav, avatar = profile nav. */
.ch-theme-header-actions {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}
.ch-theme-account { position: relative; }
.ch-theme-account-toggle,
.ch-theme-mode-toggle,
.ch-theme-menu-toggle {
	min-height: 42px;
}
.ch-theme-account-panel {
	z-index: 1200;
}
.ch-theme-menu-panel .ch-theme-account { display: none !important; }

@media (max-width: 782px) {
	.ch-theme-header-inner {
		min-height: 64px;
		gap: 10px;
	}
	.ch-theme-primary-menu--desktop,
	.ch-theme-header-widgets { display: none !important; }
	.ch-theme-header-actions { gap: 8px; }
	.ch-theme-account-toggle {
		width: 44px !important;
		height: 44px !important;
		padding: 2px !important;
		border-radius: 999px !important;
		justify-content: center !important;
		background: var(--ch-theme-surface) !important;
		border: 1px solid var(--ch-theme-border) !important;
		box-shadow: 0 8px 20px rgba(15,23,42,.08) !important;
	}
	.ch-theme-account-toggle .ch-theme-account-name,
	.ch-theme-account-toggle .ch-theme-account-caret { display: none !important; }
	.ch-theme-account-avatar { width: 36px !important; height: 36px !important; border-radius: 999px !important; }
	.ch-theme-mode-toggle {
		min-width: 44px !important;
		width: 44px !important;
		padding: 0 !important;
		border-radius: 999px !important;
	}
	.ch-theme-mode-toggle-text { display: none !important; }
	.ch-theme-menu-toggle {
		width: 44px !important;
		height: 44px !important;
		border-radius: 999px !important;
		padding: 0 !important;
	}
	.ch-theme-menu-panel {
		position: fixed !important;
		left: 10px !important;
		right: 10px !important;
		top: 74px !important;
		bottom: 10px !important;
		max-height: none !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		padding: 14px 14px 96px !important;
		border-radius: 22px !important;
	}
	.ch-theme-account-panel {
		position: fixed !important;
		left: 10px !important;
		right: 10px !important;
		top: 74px !important;
		width: auto !important;
		max-height: calc(100dvh - 90px) !important;
		overflow-y: auto !important;
		padding-bottom: 18px !important;
	}
}

/* Sidebars must never crush the main content. */
.ch-theme-container { max-width: 100%; }
.ch-theme-layout,
.ch-theme-community-shell {
	width: 100%;
	min-width: 0;
}
.ch-theme-layout--sidebar {
	display: grid !important;
	align-items: start !important;
	gap: clamp(16px, 2vw, 24px) !important;
}
.ch-theme-layout--sidebar-right { grid-template-columns: minmax(620px, 1fr) minmax(220px, 280px) !important; }
.ch-theme-layout--sidebar-left { grid-template-columns: minmax(220px, 280px) minmax(620px, 1fr) !important; }
.ch-theme-layout--sidebar-both { grid-template-columns: minmax(190px, 240px) minmax(620px, 1fr) minmax(190px, 240px) !important; }
.ch-theme-content-wrap,
.ch-theme-page-shell,
.ch-theme-community-content-wrap,
.ch-profile-route-wrap,
.ch-profile-page,
.ch-feed,
.ch-bookmarks-page,
.ch-notifications-page,
.ch-members-directory-page {
	min-width: 0 !important;
	max-width: 100% !important;
}
.ch-theme-layout--sidebar-left .ch-theme-community-content-wrap { order: 2; }
.ch-theme-layout--sidebar-right .ch-theme-community-content-wrap { order: 1; }
.ch-theme-layout--sidebar-both .ch-theme-community-content-wrap { order: 2; }
.ch-theme-layout--sidebar-both .ch-theme-sidebar--right { order: 3; }
.ch-theme-sidebar {
	min-width: 0 !important;
	width: 100% !important;
	overflow-wrap: anywhere;
}

@media (max-width: 1260px) {
	.ch-theme-layout--sidebar-right,
	.ch-theme-layout--sidebar-left,
	.ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	.ch-theme-sidebar {
		position: static !important;
		order: 5 !important;
	}
	.ch-theme-content-wrap,
	.ch-theme-page-shell,
	.ch-theme-community-content-wrap { order: 1 !important; }
}

/* Dark mode: use the live html attribute so user switching works instantly. */
html[data-ch-theme-mode="dark"] body.ch-theme {
	color: var(--ch-theme-text) !important;
	color-scheme: dark;
}
html[data-ch-theme-mode="dark"] body.ch-theme:not(.ch-theme-elementor-page) {
	background: radial-gradient(circle at top left, rgba(0,128,255,.16), transparent 32rem), var(--ch-theme-bg) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme a { color: #8cc7ff; }
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-header-top,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-nav-bar,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-sidebar,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-widget,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-single,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-page,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-directory-page,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce ul.products li.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce div.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-cart-form,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout-review-order,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .cart_totals,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-content,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-navigation {
	background-color: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme h1,
html[data-ch-theme-mode="dark"] body.ch-theme h2,
html[data-ch-theme-mode="dark"] body.ch-theme h3,
html[data-ch-theme-mode="dark"] body.ch-theme h4,
html[data-ch-theme-mode="dark"] body.ch-theme h5,
html[data-ch-theme-mode="dark"] body.ch-theme h6,
html[data-ch-theme-mode="dark"] body.ch-theme p,
html[data-ch-theme-mode="dark"] body.ch-theme li,
html[data-ch-theme-mode="dark"] body.ch-theme label,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-entry-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-single-header h1,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-title a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-name,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-name,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce p,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce li,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce table,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce label,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h1,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h2,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h3,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce div.product .product_title,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-muted,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-post-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-date,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-meta,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .woocommerce-breadcrumb,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-result-count,
html[data-ch-theme-mode="dark"] body.ch-theme .product_meta {
	color: var(--ch-theme-muted) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme input,
html[data-ch-theme-mode="dark"] body.ch-theme textarea,
html[data-ch-theme-mode="dark"] body.ch-theme select,
html[data-ch-theme-mode="dark"] body.ch-theme .select2-container--default .select2-selection--single {
	background: #0b1422 !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}

/* Community Hub post composer + card button polish. */
.ch-theme .ch-composer {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 22px !important;
	box-shadow: 0 14px 42px rgba(15,23,42,.07) !important;
	padding: 14px !important;
}
.ch-theme .ch-composer textarea,
.ch-theme .ch-composer input[type="text"] {
	border-radius: 16px !important;
	border: 1px solid var(--ch-theme-border) !important;
	background: var(--ch-theme-surface-soft) !important;
	color: var(--ch-theme-text) !important;
}
.ch-theme .ch-composer button,
.ch-theme .ch-composer .ch-composer-button,
.ch-theme .ch-composer .ch-attach-button {
	border-radius: 999px !important;
	font-size: .9rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	padding: 10px 14px !important;
	min-height: 38px !important;
}
.ch-theme .ch-composer .ch-post-submit,
.ch-theme .ch-composer button[type="submit"] {
	background: var(--ch-theme-blue) !important;
	color: #fff !important;
	border: 1px solid var(--ch-theme-blue) !important;
	box-shadow: 0 10px 22px color-mix(in srgb, var(--ch-theme-blue) 20%, transparent) !important;
}
.ch-theme .ch-activity-card .ch-action-row {
	gap: 8px !important;
	justify-content: space-between !important;
}
.ch-theme .ch-activity-card .ch-action-row button,
.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger {
	flex: 1 1 auto !important;
	min-width: 86px !important;
	max-width: none !important;
	justify-content: center !important;
	border-radius: 999px !important;
}
@media (max-width: 560px) {
	.ch-theme .ch-activity-card .ch-action-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ch-theme .ch-activity-card .ch-action-row button,
	.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
	.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger { min-width: 0 !important; width: 100% !important; }
}

/* Emoji/reaction picker polish. */
.ch-theme .ch-reaction-picker,
.ch-theme .ch-mobile-reaction-picker,
.ch-theme .ch-reaction-options {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 60px rgba(15,23,42,.22) !important;
	padding: 8px !important;
	gap: 6px !important;
	z-index: 9999 !important;
}
.ch-theme .ch-reaction-option {
	width: 40px !important;
	height: 40px !important;
	border-radius: 999px !important;
	background: var(--ch-theme-surface-soft) !important;
	border: 1px solid transparent !important;
	transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.ch-theme .ch-reaction-option:hover,
.ch-theme .ch-reaction-option:focus {
	transform: translateY(-2px) scale(1.07);
	border-color: color-mix(in srgb, var(--ch-theme-blue) 45%, transparent) !important;
}

/* Stop random blue bleed on profile/comment/post names and timestamps while keeping post-body links blue. */
.ch-theme .ch-activity-name,
.ch-theme .ch-comment-author,
.ch-theme .ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme .ch-repost-author,
.ch-theme .ch-repost-time,
.ch-theme .ch-profile-name,
.ch-theme .ch-member-card-name,
.ch-theme .ch-user-badge,
.ch-theme .ch-user-badge a {
	color: var(--ch-theme-text) !important;
	text-decoration: none !important;
}
.ch-theme .ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme .ch-repost-time { color: var(--ch-theme-muted) !important; }
.ch-theme .ch-activity-content a,
.ch-theme .ch-comment-content a,
.ch-theme .ch-link-preview-card { color: var(--ch-theme-blue) !important; }

/* Blog layouts: keep compact usable and single posts readable. */
.ch-theme-blog-layout-compact .ch-theme-post-list,
.ch-theme-blog-layout-compact .ch-theme-post-list--blog {
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)) !important;
	gap: 14px !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-card {
	border-radius: 16px !important;
	box-shadow: 0 10px 28px rgba(15,23,42,.06) !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-title,
.ch-theme-blog-layout-compact .ch-theme-post-card h2 {
	font-size: .98rem !important;
	line-height: 1.18 !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-excerpt {
	font-size: .84rem !important;
	line-height: 1.36 !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-thumb,
.ch-theme-blog-layout-compact .ch-theme-post-thumb img,
.ch-theme-blog-layout-compact .ch-theme-post-placeholder { height: 122px !important; min-height: 122px !important; }
.ch-theme-single { width: 100%; max-width: 920px; }
.ch-theme-layout--sidebar .ch-theme-single { max-width: 100%; }

/* WooCommerce cart/checkout cleanup. */
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout .col2-set,
.woocommerce-checkout #order_review,
.woocommerce-checkout-review-order,
.woocommerce-cart-form {
	background: var(--ch-theme-surface) !important;
	border: 1px solid var(--ch-theme-border) !important;
	border-radius: 22px !important;
	box-shadow: 0 12px 38px rgba(15,23,42,.07) !important;
	padding: clamp(16px, 3vw, 26px) !important;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	background: transparent !important;
	border-bottom: 1px solid var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
.woocommerce table.shop_table tr:last-child th,
.woocommerce table.shop_table tr:last-child td { border-bottom: 0 !important; }
.woocommerce .wc-block-components-totals-wrapper,
.woocommerce .wc-block-cart-items,
.woocommerce .wc-block-components-panel,
.woocommerce .wc-block-components-sidebar {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}
.woocommerce mark,
.woocommerce .count,
.woocommerce .required,
.woocommerce span.onsale {
	background: transparent !important;
	color: var(--ch-theme-blue) !important;
}

@media (max-width: 782px) {
	.ch-theme-container,
	.ch-theme-header-inner,
	.ch-theme-footer-inner,
	.ch-theme-container--community {
		width: min(100% - 18px, 100%) !important;
	}
	.ch-theme-main { padding-top: 18px; }
	.ch-theme .ch-activity-card,
	.ch-theme .ch-composer,
	.ch-profile-page,
	.ch-members-directory-page,
	.ch-notifications-page,
	.ch-bookmarks-page {
		border-radius: 18px !important;
	}
	.ch-theme-mobile-widget-bar {
		display: block !important;
		width: min(100% - 18px, 100%) !important;
		margin: 16px auto 0 !important;
	}
}

/* =========================================================
   v0.2.2: restore polished CommunityHub widths, Customizer usability,
   mobile header/profile split, dark mode hardening, badges, WooCommerce.
   ========================================================= */

/* Customizer: allow Community pages to preview, but don't let the footer/infinite scroll collide. */
.customize-preview .ch-route-community .ch-theme-footer,
.customize-preview .ch-route-community .ch-theme-footer-widgets,
.customize-preview body.ch-route-community .ch-theme-footer,
.customize-preview body.ch-route-community .ch-theme-footer-widgets {
	display: none !important;
}

/* Header polish: desktop buttons should look intentional, compact, and aligned. */
.ch-theme-header-inner { gap: 14px; }
.ch-theme-header-actions {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 9px !important;
	white-space: nowrap;
}
.ch-theme-mode-toggle,
.ch-theme-menu-toggle,
.ch-theme-account-toggle {
	background: color-mix(in srgb, var(--ch-theme-surface) 92%, var(--ch-theme-blue) 8%) !important;
	border: 1px solid color-mix(in srgb, var(--ch-theme-border) 76%, var(--ch-theme-blue) 24%) !important;
	color: var(--ch-theme-text) !important;
	box-shadow: 0 8px 22px rgba(15,23,42,.055) !important;
	transform: none !important;
}
.ch-theme-mode-toggle:hover,
.ch-theme-menu-toggle:hover,
.ch-theme-account-toggle:hover {
	background: color-mix(in srgb, var(--ch-theme-surface) 84%, var(--ch-theme-blue) 16%) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 52%, var(--ch-theme-border)) !important;
	text-decoration: none !important;
}
.ch-theme-account-toggle {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 4px 10px 4px 5px !important;
	border-radius: 999px !important;
	max-width: 220px !important;
}
.ch-theme-account-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* The app routes need consistent social-platform widths. Sidebars should support the layout, not crush it. */
.ch-theme-container--community {
	width: min(1180px, calc(100% - 32px)) !important;
	max-width: 1180px !important;
}
.ch-theme-community-shell {
	padding: 22px 0 34px !important;
	gap: 18px !important;
	align-items: start !important;
}
.ch-theme-community-shell.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 auto !important;
}
.ch-theme-community-shell--members.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--profile.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
	max-width: 1040px !important;
}
.ch-theme-community-shell--notifications.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--saved.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
	max-width: 820px !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-right {
	grid-template-columns: minmax(0, 760px) minmax(220px, 285px) !important;
	justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-left {
	grid-template-columns: minmax(220px, 285px) minmax(0, 760px) !important;
	justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-both {
	grid-template-columns: minmax(180px, 235px) minmax(0, 720px) minmax(180px, 235px) !important;
	justify-content: center !important;
}
.ch-theme-community-content-wrap > .ch-feed,
.ch-theme-community-content-wrap > .ch-composer,
.ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-content-wrap .ch-composer,
.ch-theme-community-content-wrap .ch-activity-card,
.ch-theme-community-content-wrap .ch-bookmarks-page,
.ch-theme-community-content-wrap .ch-notifications-page,
.ch-theme-community-content-wrap .ch-members-directory-page,
.ch-theme-community-content-wrap .ch-profile-page,
.ch-theme-community-content-wrap .ch-profile-route-wrap {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}
.ch-profile-header,
.ch-profile-page,
.ch-profile-route-wrap {
	max-width: 1040px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ch-profile-header {
	border-radius: 24px !important;
	overflow: hidden !important;
}

/* Blog standard pages: keep sidebar reasonable and make post pages cleaner. */
.ch-theme-main--blog .ch-theme-container,
.ch-theme-main--single .ch-theme-container,
.ch-theme-main--archive .ch-theme-container,
.ch-theme-main--search .ch-theme-container {
	max-width: 1180px !important;
}
.ch-theme-main--blog .ch-theme-layout--sidebar-right,
.ch-theme-main--single .ch-theme-layout--sidebar-right,
.ch-theme-main--archive .ch-theme-layout--sidebar-right,
.ch-theme-main--search .ch-theme-layout--sidebar-right {
	grid-template-columns: minmax(0, 1fr) minmax(230px, 300px) !important;
}
.ch-theme-main--blog .ch-theme-layout--sidebar-left,
.ch-theme-main--single .ch-theme-layout--sidebar-left,
.ch-theme-main--archive .ch-theme-layout--sidebar-left,
.ch-theme-main--search .ch-theme-layout--sidebar-left {
	grid-template-columns: minmax(230px, 300px) minmax(0, 1fr) !important;
}
.ch-theme-single {
	max-width: 880px !important;
	padding: 0 !important;
}
.ch-theme-layout--sidebar .ch-theme-single { max-width: 100% !important; }
.ch-theme-single-header {
	background: linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-blue) 10%, var(--ch-theme-surface)), var(--ch-theme-surface)) !important;
	border-bottom: 1px solid var(--ch-theme-border) !important;
}
.ch-theme-single-header h1,
.ch-theme-single .ch-theme-entry-content h2,
.ch-theme-single .ch-theme-entry-content h3,
.ch-theme-single .ch-theme-entry-content h4 { color: var(--ch-theme-text) !important; }
.ch-theme-single .ch-theme-entry-content { color: color-mix(in srgb, var(--ch-theme-text) 90%, var(--ch-theme-muted)) !important; }

/* Badges: support admin-picked badge background and text color. */
.ch-user-badge {
	background: var(--ch-badge-color, var(--ch-theme-blue)) !important;
	border-color: color-mix(in srgb, var(--ch-badge-color, var(--ch-theme-blue)) 80%, #000 20%) !important;
	color: var(--ch-badge-text-color, #ffffff) !important;
}
.ch-user-badge *,
.ch-user-badge-label,
.ch-user-badge-emoji,
a.ch-user-badge,
.ch-user-badge a {
	color: var(--ch-badge-text-color, #ffffff) !important;
}

/* CommunityHub names and timestamps should not randomly become theme-link blue. */
.ch-theme .ch-activity-header a:not(.ch-activity-content a),
.ch-theme .ch-activity-author a,
.ch-theme .ch-activity-name,
.ch-theme a.ch-activity-name,
.ch-theme .ch-comment-header a,
.ch-theme .ch-comment-author,
.ch-theme a.ch-comment-author,
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-header a,
.ch-theme .ch-repost-embed-name,
.ch-theme .ch-repost-embed-time,
.ch-theme .ch-member-card-name,
.ch-theme .ch-profile-name {
	color: var(--ch-theme-text) !important;
	text-decoration: none !important;
}
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-time { color: var(--ch-theme-muted) !important; }
.ch-theme .ch-activity-content a,
.ch-theme .ch-comment-content a { color: var(--ch-theme-blue) !important; }

/* Mobile: header order = light/dark, hamburger, avatar. Hamburger is site nav; avatar is profile nav. */
@media (max-width: 782px) {
	.ch-theme-header-inner {
		width: calc(100% - 18px) !important;
		min-height: 60px !important;
		padding: 8px 0 !important;
	}
	.ch-theme-brand { min-width: 0 !important; max-width: calc(100% - 156px) !important; }
	.custom-logo-link img { max-height: 42px !important; }
	.ch-theme-header-actions { gap: 7px !important; }
	.ch-theme-mode-toggle,
	.ch-theme-menu-toggle,
	.ch-theme-account-toggle {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		padding: 0 !important;
		border-radius: 999px !important;
	}
	.ch-theme-account-toggle { padding: 2px !important; }
	.ch-theme-account-avatar { width: 34px !important; height: 34px !important; }
	.ch-theme-menu-panel {
		top: 68px !important;
		bottom: 8px !important;
		left: 8px !important;
		right: 8px !important;
		max-height: none !important;
		overflow-y: auto !important;
		padding: 12px 12px 130px !important;
	}
	.admin-bar .ch-theme-menu-panel { top: 78px !important; bottom: 8px !important; }
	.ch-theme-account-panel {
		top: 68px !important;
		left: 8px !important;
		right: 8px !important;
		bottom: auto !important;
		max-height: calc(100dvh - 84px) !important;
		overflow-y: auto !important;
	}
	.admin-bar .ch-theme-account-panel { top: 78px !important; }
	.ch-theme-menu-panel .ch-theme-account { display: none !important; }

	/* Mobile post card action buttons: compact horizontal app controls, not spaced-out blocks. */
	.ch-theme .ch-activity-card .ch-action-row,
	.ch-theme .ch-feed .ch-action-row {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		justify-content: flex-start !important;
		gap: 6px !important;
		padding: 9px 0 !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.ch-theme .ch-activity-card .ch-action-row::-webkit-scrollbar,
	.ch-theme .ch-feed .ch-action-row::-webkit-scrollbar { display: none; }
	.ch-theme .ch-activity-card .ch-action-row button,
	.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
	.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-feed .ch-action-row button,
	.ch-theme .ch-feed .ch-action-row .ch-action-button,
	.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-repost-combo-button,
	.ch-theme .ch-bookmark-button {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: auto !important;
		padding: 7px 10px !important;
		font-size: 12.5px !important;
		border-radius: 999px !important;
	}
	.ch-theme .ch-reaction-picker,
	.ch-theme .ch-mobile-reaction-picker,
	.ch-theme .ch-reaction-options {
		border-radius: 22px !important;
		max-width: calc(100vw - 18px) !important;
		left: 9px !important;
		right: 9px !important;
		overflow-x: auto !important;
		justify-content: flex-start !important;
	}
	.ch-theme-container--community,
	.ch-theme-container,
	.ch-theme-header-inner,
	.ch-theme-footer-inner { width: calc(100% - 18px) !important; }
	.ch-theme-community-shell.ch-theme-layout--sidebar-left,
	.ch-theme-community-shell.ch-theme-layout--sidebar-right,
	.ch-theme-community-shell.ch-theme-layout--sidebar-both,
	.ch-theme-layout--sidebar-left,
	.ch-theme-layout--sidebar-right,
	.ch-theme-layout--sidebar-both { grid-template-columns: 1fr !important; }
}

/* Stronger dark mode across WooCommerce and WordPress blocks. */
html[data-ch-theme-mode="dark"] body.ch-theme,
html[data-ch-theme-mode="dark"] body.ch-theme .entry-content,
html[data-ch-theme-mode="dark"] body.ch-theme .wp-block-group,
html[data-ch-theme-mode="dark"] body.ch-theme .wp-block-column,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-page {
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce p,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce li,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce td,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce th,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce label,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce address,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce strong,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .product-name,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .cart-subtotal,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .order-total,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .woocommerce-checkout-payment,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout-review-order-table,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-privacy-policy-text,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-* {
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout-payment,
html[data-ch-theme-mode="dark"] body.ch-theme #payment,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce #payment div.payment_box,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce table.shop_table,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce table.shop_table td,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce table.shop_table th,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-cart,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-checkout,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-sidebar,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-main,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-order-summary,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-totals-wrapper {
	background: var(--ch-theme-surface) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce input,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce textarea,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce select,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .select2-selection {
	background: #0b1422 !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}


/* =========================================================
   v0.2.3: preserve desktop header, fix dark CommunityHub surfaces,
   Customizer loop handling, mobile nav split, blog/Woo dark polish.
   ========================================================= */

/* CommunityHub route preview inside Customizer is too AJAX-heavy. Keep controls usable by moving preview only. */
.customize-preview body.ch-route-community .ch-theme-footer,
.customize-preview body.ch-route-community .ch-theme-footer-widgets {
	display: none !important;
}

/* Keep the desktop header from v0.2.2 unchanged while cleaning mobile only. */
@media (min-width: 783px) {
	.ch-theme-header-actions { gap: 9px !important; }
	.ch-theme-mode-toggle,
	.ch-theme-menu-toggle,
	.ch-theme-account-toggle { transform: none !important; }
}

/* Mobile header: Light/Dark, hamburger, avatar dropdown. Avatar must be visible. */
@media (max-width: 782px) {
	.ch-theme-header-actions > .ch-theme-account,
	.ch-theme-header-actions .ch-theme-account--dropdown {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}
	.ch-theme-header-actions { margin-left: auto !important; gap: 7px !important; }
	.ch-theme-mode-toggle { order: 1; }
	.ch-theme-menu-toggle { order: 2; }
	.ch-theme-account { order: 3; }
	.ch-theme-menu-panel {
		top: 66px !important;
		bottom: 6px !important;
		left: 8px !important;
		right: 8px !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		padding: 12px 12px 160px !important;
	}
	.admin-bar .ch-theme-menu-panel { top: 76px !important; bottom: 6px !important; }
	.ch-theme-account-panel {
		position: fixed !important;
		top: 66px !important;
		left: 8px !important;
		right: 8px !important;
		max-height: calc(100dvh - 82px) !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		z-index: 1300 !important;
	}
	.admin-bar .ch-theme-account-panel { top: 76px !important; }
	.ch-theme-menu-panel .ch-theme-account { display: none !important; }
}

/* CommunityHub widths: restore uniform centered social-app stack. */
.ch-theme-container--community {
	width: min(1180px, calc(100% - 32px)) !important;
	max-width: 1180px !important;
}
.ch-theme-community-shell {
	align-items: start !important;
	justify-content: center !important;
	gap: 18px !important;
}
.ch-theme-community-shell.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--community.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
	max-width: 760px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--saved.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--notifications.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap { max-width: 840px !important; }
.ch-theme-community-shell--members.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--profile.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap { max-width: 1040px !important; }
.ch-theme-community-shell.ch-theme-layout--sidebar-right { grid-template-columns: minmax(0, 760px) minmax(220px, 285px) !important; }
.ch-theme-community-shell.ch-theme-layout--sidebar-left { grid-template-columns: minmax(220px, 285px) minmax(0, 760px) !important; }
.ch-theme-community-shell.ch-theme-layout--sidebar-both { grid-template-columns: minmax(180px, 235px) minmax(0, 720px) minmax(180px, 235px) !important; }
.ch-profile-page,
.ch-profile-route-wrap,
.ch-profile-header {
	max-width: 1040px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Desktop CommunityHub post action buttons: polished, closer together. Do not change mobile behavior. */
@media (min-width: 783px) {
	.ch-theme .ch-activity-card .ch-action-row,
	.ch-theme .ch-feed .ch-action-row {
		display: flex !important;
		justify-content: flex-start !important;
		align-items: center !important;
		gap: 6px !important;
		padding: 10px 0 !important;
	}
	.ch-theme .ch-activity-card .ch-action-row button,
	.ch-theme .ch-activity-card .ch-action-row .ch-action-button,
	.ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-feed .ch-action-row button,
	.ch-theme .ch-feed .ch-action-row .ch-action-button,
	.ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
	.ch-theme .ch-repost-combo-button,
	.ch-theme .ch-bookmark-button {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		width: auto !important;
		padding: 7px 10px !important;
		font-size: 13px !important;
		border-radius: 999px !important;
	}
}

/* Dark mode: CommunityHub plugin surfaces that were still light. */
html[data-ch-theme-mode="dark"] body.ch-theme .ch-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section-nav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-preview,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-quote-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-original-post,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-body,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments-wrap,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-form,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-reply-form {
	background: var(--ch-theme-surface) !important;
	background-color: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-page-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-preview *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-quote-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-original-post *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments-wrap * {
	color: inherit;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a {
	background: var(--ch-theme-surface-soft) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a:hover,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-settings-nav a.is-active {
	background: color-mix(in srgb, var(--ch-theme-blue) 18%, var(--ch-theme-surface)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 45%, var(--ch-theme-border)) !important;
	color: #ffffff !important;
}

/* Blue text bleed: usernames/timestamps stay readable; content links stay blue. */
.ch-theme .ch-activity-header a,
.ch-theme .ch-activity-author a,
.ch-theme .ch-activity-name,
.ch-theme a.ch-activity-name,
.ch-theme .ch-comment-header a,
.ch-theme .ch-comment-author,
.ch-theme a.ch-comment-author,
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-header a,
.ch-theme .ch-repost-embed-name,
.ch-theme .ch-repost-embed-time,
.ch-theme .ch-member-card-name,
.ch-theme .ch-profile-name {
	color: var(--ch-theme-text) !important;
	text-decoration: none !important;
}
.ch-theme .ch-post-time,
.ch-theme a.ch-post-time,
.ch-theme .ch-comment-date,
.ch-theme a.ch-comment-date,
.ch-theme .ch-repost-embed-time { color: var(--ch-theme-muted) !important; }
.ch-theme .ch-activity-content a,
.ch-theme .ch-comment-content a,
.ch-theme .ch-link-preview-card { color: var(--ch-theme-blue) !important; }

/* Blog single pages: centered and dark-mode readable. */
.ch-theme-main--single .ch-theme-layout--no-sidebar,
.ch-theme-main--single .ch-theme-content-wrap,
.ch-theme-main--single .ch-theme-page-shell {
	max-width: 960px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-single-header {
	background: linear-gradient(135deg, rgba(0,128,255,.16), var(--ch-theme-surface)) !important;
	color: var(--ch-theme-text) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-single-meta,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-meta,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-excerpt { color: var(--ch-theme-muted) !important; }

/* WooCommerce dark mode: expensive-looking dark cards with readable text. */
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-page,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce div.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce ul.products li.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-cart-form,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout .col2-set,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout #order_review,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout-review-order,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .cart_totals,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-content,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-navigation,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-cart,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-checkout,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-sidebar,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-main,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-order-summary,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-totals-wrapper {
	background: #101827 !important;
	color: #f4f7fb !important;
	border-color: rgba(148,163,184,.28) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce *,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-main *,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-sidebar * {
	color: inherit;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce a,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-main a { color: #8cc7ff !important; }
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .price,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-Price-amount,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .amount { color: #ffffff !important; }
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce input,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce textarea,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce select,
html[data-ch-theme-mode="dark"] body.ch-theme .select2-container--default .select2-selection--single {
	background: #07111f !important;
	color: #f4f7fb !important;
	border-color: rgba(148,163,184,.32) !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce button.button,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce a.button,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce input.button,
html[data-ch-theme-mode="dark"] body.ch-theme .wc-block-components-button {
	background: var(--ch-theme-blue) !important;
	color: #ffffff !important;
}

/* Mobile widgets visibility helper. They appear only when widgets are added to Appearance → Widgets → Mobile Widget Bar. */
@media (max-width: 1024px) {
	.ch-theme-mobile-widget-bar { display: block !important; }
}


/* =========================================================
   v0.2.4: stabilization pass.
   Keep desktop header intact, keep plugin standalone, repair mobile header/menu,
   restore professional CommunityHub widths, and reduce dark-mode bleed.
   ========================================================= */

/* Community route width discipline: centered social stack, widgets never crush content. */
.ch-theme-container--community {
  width: min(100% - 32px, 1180px) !important;
  margin-inline: auto !important;
}
.ch-theme-community-shell {
  align-items: start !important;
}
.ch-theme-community-content-wrap {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}
.ch-theme-layout--sidebar-left,
.ch-theme-layout--sidebar-right,
.ch-theme-layout--sidebar-both {
  gap: 22px !important;
}
.ch-theme-layout--sidebar-left {
  grid-template-columns: minmax(220px, 280px) minmax(0, 760px) !important;
  justify-content: center !important;
}
.ch-theme-layout--sidebar-right {
  grid-template-columns: minmax(0, 760px) minmax(220px, 280px) !important;
  justify-content: center !important;
}
.ch-theme-layout--sidebar-both {
  grid-template-columns: minmax(190px, 250px) minmax(0, 720px) minmax(190px, 250px) !important;
  justify-content: center !important;
}
.ch-theme-community-content-wrap .ch-community-feed-page,
.ch-theme-community-content-wrap .ch-community-single-post-page,
.ch-theme-community-content-wrap .ch-member-directory-page,
.ch-theme-community-content-wrap .ch-notifications-page,
.ch-theme-community-content-wrap .ch-bookmarks-page,
.ch-theme-community-content-wrap .ch-profile-page {
  width: 100% !important;
  max-width: 760px !important;
  margin-inline: auto !important;
}
.ch-profile-header,
.ch-profile-page .ch-profile-header,
.ch-profile-shell,
.ch-profile-page {
  max-width: 760px !important;
  margin-inline: auto !important;
}

/* Desktop CommunityHub post action buttons: polished, closer together. Mobile rules are intentionally untouched below 760px. */
@media (min-width: 761px) {
  .ch-theme .ch-feed .ch-action-row,
  .ch-theme .ch-activity-card .ch-action-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
  }
  .ch-theme .ch-feed .ch-action-row button,
  .ch-theme .ch-feed .ch-action-row .ch-action-button,
  .ch-theme .ch-feed .ch-action-row .ch-reaction-trigger,
  .ch-theme .ch-activity-card .ch-action-row button,
  .ch-theme .ch-activity-card .ch-action-row .ch-action-button,
  .ch-theme .ch-activity-card .ch-action-row .ch-reaction-trigger,
  .ch-theme .ch-repost-combo-button,
  .ch-theme .ch-bookmark-button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    border-radius: 999px !important;
    gap: 5px !important;
    font-size: 13px !important;
    line-height: 1 !important;
  }
}

/* Mobile header reset: Light/Dark, hamburger, avatar dropdown. Desktop header is not changed. */
@media (max-width: 960px) {
  .ch-theme-header-inner {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .ch-theme-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .ch-theme-header-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
  }
  .ch-theme-header-actions > .ch-theme-account {
    display: flex !important;
    position: relative !important;
  }
  .ch-theme-account-toggle {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 3px !important;
    border-radius: 999px !important;
  }
  .ch-theme-account-toggle .ch-theme-account-avatar {
    width: 34px !important;
    height: 34px !important;
  }
  .ch-theme-account-name,
  .ch-theme-account-caret {
    display: none !important;
  }
  .ch-theme-mode-toggle {
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
  }
  .ch-theme-mode-toggle-text { display: none !important; }
  .ch-theme-menu-toggle {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 14px !important;
  }
  .ch-theme-menu-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: 74px !important;
    bottom: 12px !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px 12px 22px !important;
    z-index: 1002 !important;
  }
  body.admin-bar .ch-theme-menu-panel { top: 116px !important; }
  .ch-theme-account-panel {
    position: fixed !important;
    top: 74px !important;
    right: 10px !important;
    left: auto !important;
    width: min(310px, calc(100vw - 20px)) !important;
    max-height: calc(100svh - 90px) !important;
    overflow-y: auto !important;
    z-index: 1006 !important;
  }
  body.admin-bar .ch-theme-account-panel { top: 116px !important; max-height: calc(100svh - 132px) !important; }
  .ch-theme-menu-panel .ch-theme-account { display: none !important; }
}
@media (max-width: 520px) {
  .custom-logo-link img { max-height: 40px !important; }
  .ch-theme-header-inner { width: min(100% - 16px, var(--ch-theme-max)) !important; gap: 7px !important; }
  .ch-theme-mode-toggle,
  .ch-theme-menu-toggle,
  .ch-theme-account-toggle { width: 40px !important; height: 40px !important; min-width: 40px !important; }
  .ch-theme-account-toggle .ch-theme-account-avatar { width: 31px !important; height: 31px !important; }
}

/* Mobile widgets: visible under content when widgets exist. */
@media (max-width: 1024px) {
  .ch-theme-mobile-widget-bar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: min(100% - 24px, 760px) !important;
    margin: 18px auto 0 !important;
  }
}

/* Blog and single post polish/centering. */
.ch-theme-main--single .ch-theme-container {
  width: min(100% - 32px, 1060px) !important;
  margin-inline: auto !important;
}
.ch-theme-main--single .ch-theme-content-wrap {
  max-width: 820px !important;
  margin-inline: auto !important;
  min-width: 0 !important;
}
.ch-theme-single {
  background: var(--ch-theme-surface) !important;
  color: var(--ch-theme-text) !important;
  border: 1px solid var(--ch-theme-border) !important;
  box-shadow: var(--ch-theme-shadow) !important;
}
.ch-theme-single-header,
.ch-theme-entry-content,
.ch-theme-single-footer,
.ch-theme-post-nav,
.comments-area {
  color: var(--ch-theme-text) !important;
}
.ch-theme-entry-content p,
.ch-theme-entry-content li,
.ch-theme-entry-content td,
.ch-theme-entry-content th {
  color: var(--ch-theme-text) !important;
}
.ch-theme-entry-content a { color: var(--ch-theme-blue) !important; }

/* Dark mode: broad containment. Dark mode will get its own deeper pass later. */
html[data-ch-theme-mode="dark"] body.ch-theme {
  background: #07111f !important;
  color: #f5f7fb !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-main,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-content-wrap,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-page-shell,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-single,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-post-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-widget,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-content-wrap,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-member-directory-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comments-wrap,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-original-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-original,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-link-preview-card {
  background: #121c2b !important;
  border-color: #26364d !important;
  color: #f5f7fb !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notification-item,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-member-card {
  background-color: #121c2b !important;
  color: #f5f7fb !important;
  border-color: #26364d !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-original-card *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-page *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-page *,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page * {
  border-color: #26364d;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-name,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-name a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-meta,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-meta a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-meta,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-meta a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-original-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-original-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-subnav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-tabs a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-hub-page-nav a {
  color: #f5f7fb !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-muted,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-muted {
  color: #b7c4d6 !important;
}

/* WooCommerce dark-mode readability. */
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce,
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce-page,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-page {
  color: #f5f7fb !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce div.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce ul.products li.product,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-cart-form,
html[data-ch-theme-mode="dark"] body.ch-theme .cart_totals,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-checkout-review-order,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-billing-fields,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-shipping-fields,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-additional-fields,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-content,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-account .woocommerce-MyAccount-navigation,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce table.shop_table,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce form.checkout_coupon,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce form.login,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce form.register {
  background: #121c2b !important;
  color: #f5f7fb !important;
  border-color: #26364d !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h1,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h2,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h3,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce h4,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce p,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce li,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce label,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce th,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce td,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce strong,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce div.product .product_title,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce ul.products li.product .woocommerce-loop-product__title,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .price,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .product_meta {
  color: #f5f7fb !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce small,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .woocommerce-breadcrumb,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce-result-count,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .variation,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce .product_meta a {
  color: #b7c4d6 !important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce input,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce textarea,
html[data-ch-theme-mode="dark"] body.ch-theme .woocommerce select {
  background: #0b1422 !important;
  color: #f5f7fb !important;
  border-color: #34445c !important;
}


/* =========================================================
   v0.2.5 CommunityHub Dark Mode Bridge
   Moved from confirmed-working Additional CSS.
   Theme-only override. Does not change plugin logic.
   ========================================================= */

html[data-ch-theme-mode="dark"] body .ch-comment-bubble,
body.ch-theme-mode-dark .ch-comment-bubble,
body.ch-theme-dark .ch-comment-bubble {
	background: #142238 !important;
	color: #f8fafc !important;
	border: 1px solid rgba(148, 163, 184, 0.24) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-text,
html[data-ch-theme-mode="dark"] body .ch-comment-text p,
html[data-ch-theme-mode="dark"] body .ch-comment-name,
html[data-ch-theme-mode="dark"] body .ch-comment-name-link,
html[data-ch-theme-mode="dark"] body .ch-comment-head,
html[data-ch-theme-mode="dark"] body .ch-comment-identity,
body.ch-theme-mode-dark .ch-comment-text,
body.ch-theme-mode-dark .ch-comment-text p,
body.ch-theme-mode-dark .ch-comment-name,
body.ch-theme-mode-dark .ch-comment-name-link,
body.ch-theme-dark .ch-comment-text,
body.ch-theme-dark .ch-comment-text p,
body.ch-theme-dark .ch-comment-name,
body.ch-theme-dark .ch-comment-name-link {
	color: #f8fafc !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-time,
html[data-ch-theme-mode="dark"] body .ch-comment-dot,
html[data-ch-theme-mode="dark"] body .ch-comment-date,
body.ch-theme-mode-dark .ch-comment-time,
body.ch-theme-mode-dark .ch-comment-dot,
body.ch-theme-mode-dark .ch-comment-date,
body.ch-theme-dark .ch-comment-time,
body.ch-theme-dark .ch-comment-dot,
body.ch-theme-dark .ch-comment-date {
	color: #a8b5c7 !important;
}

html[data-ch-theme-mode="dark"] body .ch-comments-box,
html[data-ch-theme-mode="dark"] body .ch-comments-list,
html[data-ch-theme-mode="dark"] body .ch-comment-thread,
html[data-ch-theme-mode="dark"] body .ch-comment,
html[data-ch-theme-mode="dark"] body .ch-comment-main,
body.ch-theme-mode-dark .ch-comments-box,
body.ch-theme-mode-dark .ch-comments-list,
body.ch-theme-mode-dark .ch-comment-thread,
body.ch-theme-mode-dark .ch-comment,
body.ch-theme-mode-dark .ch-comment-main,
body.ch-theme-dark .ch-comments-box,
body.ch-theme-dark .ch-comments-list,
body.ch-theme-dark .ch-comment-thread,
body.ch-theme-dark .ch-comment,
body.ch-theme-dark .ch-comment-main {
	background: transparent !important;
	color: #f8fafc !important;
	border-color: rgba(148, 163, 184, 0.24) !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-actions button,
html[data-ch-theme-mode="dark"] body .ch-comment-actions a,
html[data-ch-theme-mode="dark"] body .ch-comment-like,
html[data-ch-theme-mode="dark"] body .ch-reply-toggle,
html[data-ch-theme-mode="dark"] body .ch-toggle-replies,
body.ch-theme-mode-dark .ch-comment-actions button,
body.ch-theme-mode-dark .ch-comment-actions a,
body.ch-theme-mode-dark .ch-comment-like,
body.ch-theme-mode-dark .ch-reply-toggle,
body.ch-theme-mode-dark .ch-toggle-replies,
body.ch-theme-dark .ch-comment-actions button,
body.ch-theme-dark .ch-comment-actions a,
body.ch-theme-dark .ch-comment-like,
body.ch-theme-dark .ch-reply-toggle,
body.ch-theme-dark .ch-toggle-replies {
	background: transparent !important;
	color: #a8b5c7 !important;
	border: 0 !important;
	box-shadow: none !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-actions button:hover,
html[data-ch-theme-mode="dark"] body .ch-comment-actions a:hover,
html[data-ch-theme-mode="dark"] body .ch-comment-like:hover,
html[data-ch-theme-mode="dark"] body .ch-reply-toggle:hover,
html[data-ch-theme-mode="dark"] body .ch-toggle-replies:hover,
body.ch-theme-mode-dark .ch-comment-actions button:hover,
body.ch-theme-mode-dark .ch-comment-actions a:hover,
body.ch-theme-mode-dark .ch-comment-like:hover,
body.ch-theme-mode-dark .ch-reply-toggle:hover,
body.ch-theme-mode-dark .ch-toggle-replies:hover,
body.ch-theme-dark .ch-comment-actions button:hover,
body.ch-theme-dark .ch-comment-actions a:hover,
body.ch-theme-dark .ch-comment-like:hover,
body.ch-theme-dark .ch-reply-toggle:hover,
body.ch-theme-dark .ch-toggle-replies:hover {
	background: rgba(255, 255, 255, 0.07) !important;
	color: #ffffff !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-textarea,
html[data-ch-theme-mode="dark"] body .ch-reply-textarea,
html[data-ch-theme-mode="dark"] body .ch-edit-textarea,
body.ch-theme-mode-dark .ch-comment-textarea,
body.ch-theme-mode-dark .ch-reply-textarea,
body.ch-theme-mode-dark .ch-edit-textarea,
body.ch-theme-dark .ch-comment-textarea,
body.ch-theme-dark .ch-reply-textarea,
body.ch-theme-dark .ch-edit-textarea {
	background: #081322 !important;
	color: #f8fafc !important;
	border: 1px solid rgba(148, 163, 184, 0.28) !important;
	box-shadow: none !important;
}

html[data-ch-theme-mode="dark"] body .ch-comment-textarea::placeholder,
html[data-ch-theme-mode="dark"] body .ch-reply-textarea::placeholder,
html[data-ch-theme-mode="dark"] body .ch-edit-textarea::placeholder,
body.ch-theme-mode-dark .ch-comment-textarea::placeholder,
body.ch-theme-mode-dark .ch-reply-textarea::placeholder,
body.ch-theme-mode-dark .ch-edit-textarea::placeholder,
body.ch-theme-dark .ch-comment-textarea::placeholder,
body.ch-theme-dark .ch-reply-textarea::placeholder,
body.ch-theme-dark .ch-edit-textarea::placeholder {
	color: rgba(248, 250, 252, 0.46) !important;
}

/* Profile stack white bars */
html[data-ch-theme-mode="dark"] body .ch-profile-hub-nav,
html[data-ch-theme-mode="dark"] body .ch-hub-page-nav,
html[data-ch-theme-mode="dark"] body .ch-community-page-nav,
html[data-ch-theme-mode="dark"] body .ch-profile-tabs,
html[data-ch-theme-mode="dark"] body .ch-profile-subnav,
html[data-ch-theme-mode="dark"] body .ch-profile-nav,
body.ch-theme-mode-dark .ch-profile-hub-nav,
body.ch-theme-mode-dark .ch-hub-page-nav,
body.ch-theme-mode-dark .ch-community-page-nav,
body.ch-theme-mode-dark .ch-profile-tabs,
body.ch-theme-mode-dark .ch-profile-subnav,
body.ch-theme-mode-dark .ch-profile-nav,
body.ch-theme-dark .ch-profile-hub-nav,
body.ch-theme-dark .ch-hub-page-nav,
body.ch-theme-dark .ch-community-page-nav,
body.ch-theme-dark .ch-profile-tabs,
body.ch-theme-dark .ch-profile-subnav,
body.ch-theme-dark .ch-profile-nav {
	background: #0f1b2d !important;
	color: #f8fafc !important;
	border: 1px solid rgba(148, 163, 184, 0.24) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24) !important;
}

html[data-ch-theme-mode="dark"] body .ch-profile-hub-nav a,
html[data-ch-theme-mode="dark"] body .ch-hub-page-nav a,
html[data-ch-theme-mode="dark"] body .ch-community-page-nav a,
html[data-ch-theme-mode="dark"] body .ch-profile-tabs a,
html[data-ch-theme-mode="dark"] body .ch-profile-subnav a,
html[data-ch-theme-mode="dark"] body .ch-profile-nav a,
body.ch-theme-mode-dark .ch-profile-hub-nav a,
body.ch-theme-mode-dark .ch-hub-page-nav a,
body.ch-theme-mode-dark .ch-community-page-nav a,
body.ch-theme-mode-dark .ch-profile-tabs a,
body.ch-theme-mode-dark .ch-profile-subnav a,
body.ch-theme-mode-dark .ch-profile-nav a,
body.ch-theme-dark .ch-profile-hub-nav a,
body.ch-theme-dark .ch-hub-page-nav a,
body.ch-theme-dark .ch-community-page-nav a,
body.ch-theme-dark .ch-profile-tabs a,
body.ch-theme-dark .ch-profile-subnav a,
body.ch-theme-dark .ch-profile-nav a {
	background: #142238 !important;
	color: #dbeafe !important;
	border-color: rgba(148, 163, 184, 0.24) !important;
	box-shadow: none !important;
}

html[data-ch-theme-mode="dark"] body .ch-profile-hub-nav a:hover,
html[data-ch-theme-mode="dark"] body .ch-hub-page-nav a:hover,
html[data-ch-theme-mode="dark"] body .ch-community-page-nav a:hover,
html[data-ch-theme-mode="dark"] body .ch-profile-tabs a:hover,
html[data-ch-theme-mode="dark"] body .ch-profile-subnav a:hover,
html[data-ch-theme-mode="dark"] body .ch-profile-nav a:hover,
body.ch-theme-mode-dark .ch-profile-hub-nav a:hover,
body.ch-theme-mode-dark .ch-hub-page-nav a:hover,
body.ch-theme-mode-dark .ch-community-page-nav a:hover,
body.ch-theme-mode-dark .ch-profile-tabs a:hover,
body.ch-theme-mode-dark .ch-profile-subnav a:hover,
body.ch-theme-mode-dark .ch-profile-nav a:hover,
body.ch-theme-dark .ch-profile-hub-nav a:hover,
body.ch-theme-dark .ch-hub-page-nav a:hover,
body.ch-theme-dark .ch-community-page-nav a:hover,
body.ch-theme-dark .ch-profile-tabs a:hover,
body.ch-theme-dark .ch-profile-subnav a:hover,
body.ch-theme-dark .ch-profile-nav a:hover {
	background: rgba(37, 99, 235, 0.24) !important;
	color: #ffffff !important;
	border-color: rgba(96, 165, 250, 0.45) !important;
}

/* Profile section title strip */
html[data-ch-theme-mode="dark"] body .ch-profile-section-header,
html[data-ch-theme-mode="dark"] body .ch-profile-section-title,
html[data-ch-theme-mode="dark"] body .ch-profile-feed-title,
html[data-ch-theme-mode="dark"] body .ch-profile-posts-title,
html[data-ch-theme-mode="dark"] body .ch-section-header,
html[data-ch-theme-mode="dark"] body .ch-section-title,
body.ch-theme-mode-dark .ch-profile-section-header,
body.ch-theme-mode-dark .ch-profile-section-title,
body.ch-theme-mode-dark .ch-profile-feed-title,
body.ch-theme-mode-dark .ch-profile-posts-title,
body.ch-theme-mode-dark .ch-section-header,
body.ch-theme-mode-dark .ch-section-title,
body.ch-theme-dark .ch-profile-section-header,
body.ch-theme-dark .ch-profile-section-title,
body.ch-theme-dark .ch-profile-feed-title,
body.ch-theme-dark .ch-profile-posts-title,
body.ch-theme-dark .ch-section-header,
body.ch-theme-dark .ch-section-title {
	background: #0f1b2d !important;
	color: #f8fafc !important;
	border: 1px solid rgba(148, 163, 184, 0.24) !important;
	box-shadow: none !important;
}

html[data-ch-theme-mode="dark"] body .ch-profile-section-header *,
html[data-ch-theme-mode="dark"] body .ch-profile-section-title *,
html[data-ch-theme-mode="dark"] body .ch-profile-feed-title *,
html[data-ch-theme-mode="dark"] body .ch-profile-posts-title *,
html[data-ch-theme-mode="dark"] body .ch-section-header *,
html[data-ch-theme-mode="dark"] body .ch-section-title *,
body.ch-theme-mode-dark .ch-profile-section-header *,
body.ch-theme-mode-dark .ch-profile-section-title *,
body.ch-theme-mode-dark .ch-profile-feed-title *,
body.ch-theme-mode-dark .ch-profile-posts-title *,
body.ch-theme-mode-dark .ch-section-header *,
body.ch-theme-mode-dark .ch-section-title *,
body.ch-theme-dark .ch-profile-section-header *,
body.ch-theme-dark .ch-profile-section-title *,
body.ch-theme-dark .ch-profile-feed-title *,
body.ch-theme-dark .ch-section-header *,
body.ch-theme-dark .ch-section-title * {
	color: #f8fafc !important;
}


/* =========================================================
   v0.2.6 Mobile navigation + wider social cards
   Theme-only polish. Keeps CommunityHub Core independent.
   ========================================================= */

/* Give the main CommunityHub social stack more presence on modern screens. */
.ch-theme-container--community {
  width: min(100% - 28px, 1280px) !important;
  max-width: 1280px !important;
}

.ch-theme-community-shell.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--community.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--saved.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--notifications.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
  max-width: 900px !important;
}

.ch-theme-community-shell--profile.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--members.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
  max-width: 1100px !important;
}

.ch-theme-community-shell.ch-theme-layout--sidebar-right {
  grid-template-columns: minmax(0, 860px) minmax(220px, 300px) !important;
  justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-left {
  grid-template-columns: minmax(220px, 300px) minmax(0, 860px) !important;
  justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-both {
  grid-template-columns: minmax(180px, 240px) minmax(0, 820px) minmax(180px, 240px) !important;
  justify-content: center !important;
}

.ch-theme-community-content-wrap > .ch-feed,
.ch-theme-community-content-wrap > .ch-composer,
.ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-content-wrap .ch-composer,
.ch-theme-community-content-wrap .ch-bookmarks-page,
.ch-theme-community-content-wrap .ch-notifications-page,
.ch-theme-community-content-wrap .ch-community-feed-page,
.ch-theme-community-content-wrap .ch-community-single-post-page {
  width: 100% !important;
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-content-wrap .ch-profile-page,
.ch-theme-community-content-wrap .ch-profile-route-wrap,
.ch-profile-header,
.ch-profile-page,
.ch-profile-route-wrap {
  width: 100% !important;
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-content-wrap .ch-feed .ch-activity-card,
.ch-theme-community-content-wrap .ch-activity-card {
  width: 100% !important;
}

/* Mobile header/dropdowns: hamburger = navigation panel, avatar = account panel. */
@media (max-width: 782px) {
  .ch-theme-header {
    z-index: 5000 !important;
  }

  .ch-theme-header-inner {
    min-height: 60px !important;
    gap: 8px !important;
  }

  .ch-theme-brand {
    max-width: calc(100vw - 170px) !important;
  }

  .ch-theme-header-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex: 0 0 auto !important;
  }

  .ch-theme-mode-toggle,
  .ch-theme-menu-toggle,
  .ch-theme-account-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 999px !important;
  }

  .ch-theme-account-toggle {
    display: inline-flex !important;
    justify-content: center !important;
  }

  .ch-theme-account-avatar {
    width: 34px !important;
    height: 34px !important;
  }

  .ch-theme-account-name,
  .ch-theme-account-caret,
  .ch-theme-mode-toggle-text {
    display: none !important;
  }

  /* Hamburger panel should feel like a phone app menu, not a broken full page overlay. */
  .ch-theme-menu-panel {
    position: fixed !important;
    top: calc(var(--ch-mobile-header-top, 68px)) !important;
    left: auto !important;
    right: 10px !important;
    bottom: auto !important;
    width: min(360px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(640px, calc(100dvh - 86px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: var(--ch-theme-surface) !important;
    border: 1px solid var(--ch-theme-border) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
    z-index: 5010 !important;
  }

  .admin-bar .ch-theme-menu-panel {
    top: calc(var(--ch-mobile-header-top, 78px)) !important;
    max-height: min(640px, calc(100dvh - 96px)) !important;
  }

  .ch-theme-menu-panel .ch-theme-menu-list,
  .ch-theme-menu-panel .ch-theme-community-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  .ch-theme-menu-panel a,
  .ch-theme-menu-panel .ch-theme-nav-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 11px 13px !important;
    border-radius: 15px !important;
    background: var(--ch-theme-surface-soft) !important;
    border: 1px solid var(--ch-theme-border) !important;
    color: var(--ch-theme-text) !important;
    text-decoration: none !important;
    box-shadow: none !important;
  }

  .ch-theme-menu-panel a:hover,
  .ch-theme-menu-panel .ch-theme-nav-pill:hover {
    transform: none !important;
    background: color-mix(in srgb, var(--ch-theme-blue) 12%, var(--ch-theme-surface)) !important;
    border-color: color-mix(in srgb, var(--ch-theme-blue) 42%, var(--ch-theme-border)) !important;
    color: var(--ch-theme-blue) !important;
  }

  .ch-theme-menu-panel .sub-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 6px 0 0 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* Avatar dropdown should open directly below the avatar, aligned right. */
  .ch-theme-account-panel {
    position: fixed !important;
    top: calc(var(--ch-mobile-header-top, 68px)) !important;
    left: auto !important;
    right: 10px !important;
    bottom: auto !important;
    width: min(330px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(560px, calc(100dvh - 86px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px !important;
    border-radius: 22px !important;
    background: var(--ch-theme-surface) !important;
    border: 1px solid var(--ch-theme-border) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
    z-index: 5020 !important;
  }

  .admin-bar .ch-theme-account-panel {
    top: calc(var(--ch-mobile-header-top, 78px)) !important;
    max-height: min(560px, calc(100dvh - 96px)) !important;
  }

  .ch-theme-account-panel-head {
    border-radius: 16px !important;
  }

  .ch-theme-account-panel a {
    min-height: 42px !important;
    border-radius: 14px !important;
    padding: 10px 12px !important;
  }

  html.ch-theme-menu-lock {
    overflow: auto !important;
  }
}

@media (max-width: 640px) {
  .ch-theme-container--community,
  .ch-theme-container,
  .ch-theme-header-inner,
  .ch-theme-footer-inner {
    width: min(100% - 16px, var(--ch-theme-max)) !important;
  }

  .ch-theme-community-shell {
    padding-top: 14px !important;
    gap: 12px !important;
  }

  .ch-theme-community-content-wrap,
  .ch-theme-community-content-wrap > .ch-feed,
  .ch-theme-community-content-wrap > .ch-composer,
  .ch-theme-community-content-wrap .ch-feed,
  .ch-theme-community-content-wrap .ch-composer,
  .ch-theme-community-content-wrap .ch-community-feed-page,
  .ch-theme-community-content-wrap .ch-community-single-post-page,
  .ch-theme-community-content-wrap .ch-bookmarks-page,
  .ch-theme-community-content-wrap .ch-notifications-page,
  .ch-theme-community-content-wrap .ch-profile-page,
  .ch-theme-community-content-wrap .ch-profile-route-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ch-theme .ch-feed {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .ch-theme .ch-composer,
  .ch-theme .ch-feed .ch-activity-card,
  .ch-theme .ch-activity-card {
    border-radius: 18px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* =========================================================
   v0.2.7: Mobile menu/dropdown final positioning fix
   Keeps desktop header untouched. Mobile-only.
   ========================================================= */
@media (max-width: 782px) {
  body.ch-theme .ch-theme-header {
    z-index: 999900 !important;
    overflow: visible !important;
  }

  body.ch-theme .ch-theme-header-top,
  body.ch-theme .ch-theme-header-inner,
  body.ch-theme .ch-theme-header-actions,
  body.ch-theme .ch-theme-account,
  body.ch-theme .ch-theme-account--dropdown {
    overflow: visible !important;
  }

  body.ch-theme .ch-theme-header-actions > .ch-theme-account,
  body.ch-theme .ch-theme-header-actions .ch-theme-account--dropdown {
    display: inline-flex !important;
    position: relative !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.ch-theme .ch-theme-mode-toggle {
    order: 1 !important;
  }

  body.ch-theme .ch-theme-menu-toggle {
    order: 2 !important;
    display: inline-flex !important;
  }

  body.ch-theme .ch-theme-account {
    order: 3 !important;
  }

  /* The hamburger menu must render as a visible floating menu beside the button. */
  body.ch-theme #ch-theme-menu-panel,
  body.ch-theme .ch-theme-menu-panel {
    position: fixed !important;
    left: auto !important;
    right: var(--ch-mobile-menu-right, 10px) !important;
    top: var(--ch-mobile-menu-top, 68px) !important;
    bottom: auto !important;
    width: min(372px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - var(--ch-mobile-menu-top, 68px) - 12px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 12px !important;
    margin: 0 !important;
    border-radius: 22px !important;
    background: var(--ch-theme-surface, #ffffff) !important;
    color: var(--ch-theme-text, #101828) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34) !important;
    z-index: 999950 !important;
  }

  body.ch-theme #ch-theme-menu-panel[hidden],
  body.ch-theme .ch-theme-menu-panel[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  body.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.ch-theme .ch-theme-menu-panel nav,
  body.ch-theme .ch-theme-menu-panel .ch-theme-primary-menu,
  body.ch-theme .ch-theme-menu-panel .ch-theme-community-menu {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.ch-theme .ch-theme-menu-panel nav:last-child,
  body.ch-theme .ch-theme-menu-panel .ch-theme-primary-menu:last-child,
  body.ch-theme .ch-theme-menu-panel .ch-theme-community-menu:last-child {
    margin-bottom: 0 !important;
  }

  body.ch-theme .ch-theme-menu-panel ul,
  body.ch-theme .ch-theme-menu-panel .menu,
  body.ch-theme .ch-theme-menu-panel .ch-theme-menu-list,
  body.ch-theme .ch-theme-menu-panel .ch-theme-community-nav {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.ch-theme .ch-theme-menu-panel li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.ch-theme .ch-theme-menu-panel a,
  body.ch-theme .ch-theme-menu-panel button,
  body.ch-theme .ch-theme-menu-panel .ch-theme-nav-pill {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 12px 14px !important;
    border-radius: 15px !important;
    background: var(--ch-theme-surface-soft, #f8fbff) !important;
    background-image: none !important;
    color: var(--ch-theme-text, #101828) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    box-shadow: none !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.ch-theme .ch-theme-menu-panel a:hover,
  body.ch-theme .ch-theme-menu-panel button:hover,
  body.ch-theme .ch-theme-menu-panel .ch-theme-nav-pill:hover {
    background: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 12%, var(--ch-theme-surface, #ffffff)) !important;
    color: var(--ch-theme-blue, #0080ff) !important;
    border-color: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 42%, var(--ch-theme-border, #d9e3f0)) !important;
    transform: none !important;
    filter: none !important;
  }

  body.ch-theme .ch-theme-menu-panel .sub-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    min-width: 0 !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    padding: 6px 0 0 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* The avatar menu should act like a true dropdown aligned to the avatar. */
  body.ch-theme .ch-theme-account-panel {
    position: fixed !important;
    left: auto !important;
    right: var(--ch-mobile-account-right, 10px) !important;
    top: var(--ch-mobile-account-top, 68px) !important;
    bottom: auto !important;
    width: min(330px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - var(--ch-mobile-account-top, 68px) - 12px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    padding: 10px !important;
    margin: 0 !important;
    border-radius: 22px !important;
    background: var(--ch-theme-surface, #ffffff) !important;
    color: var(--ch-theme-text, #101828) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34) !important;
    z-index: 999960 !important;
  }

  body.ch-theme .ch-theme-account-panel[hidden] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.ch-theme .ch-theme-account-panel-head {
    background: var(--ch-theme-surface-soft, #f8fbff) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    border-radius: 16px !important;
    color: var(--ch-theme-text, #101828) !important;
  }

  body.ch-theme .ch-theme-account-panel a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 43px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    background: transparent !important;
    color: var(--ch-theme-text, #101828) !important;
    text-decoration: none !important;
  }

  body.ch-theme .ch-theme-account-panel a:hover {
    background: var(--ch-theme-surface-soft, #f8fbff) !important;
    color: var(--ch-theme-blue, #0080ff) !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel {
    background: #0f1b2d !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel a,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel button,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel .ch-theme-nav-pill,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel-head,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel a {
    background: #142238 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel a:hover,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel button:hover,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel .ch-theme-nav-pill:hover,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-panel a:hover {
    background: rgba(37, 99, 235, 0.24) !important;
    color: #ffffff !important;
  }
}


/* =========================================================
   v0.2.8: Mobile hamburger panel edge fix
   Avatar dropdown is intentionally untouched because it tested perfect
   on non-admin mobile accounts. Mobile-only.
   ========================================================= */
@media (max-width: 782px) {
  /*
   * Do not align the hamburger panel to the hamburger button.
   * On real phones the hamburger sits before the avatar, so a wide panel
   * aligned to that button can hang off the left side of the screen.
   * Make the menu a safe screen-width dropdown instead.
   */
  body.ch-theme #ch-theme-menu-panel,
  body.ch-theme .ch-theme-menu-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: var(--ch-mobile-menu-top, 68px) !important;
    bottom: auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    max-height: calc(100dvh - var(--ch-mobile-menu-top, 68px) - 12px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    transform: none !important;
    margin: 0 !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  body.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  body.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.ch-theme .ch-theme-menu-panel *,
  body.ch-theme #ch-theme-menu-panel * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.ch-theme .ch-theme-menu-panel .ch-theme-menu-list,
  body.ch-theme #ch-theme-menu-panel .ch-theme-menu-list,
  body.ch-theme .ch-theme-menu-panel .menu,
  body.ch-theme #ch-theme-menu-panel .menu,
  body.ch-theme .ch-theme-menu-panel .ch-theme-community-nav,
  body.ch-theme #ch-theme-menu-panel .ch-theme-community-nav {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.ch-theme .ch-theme-menu-panel a,
  body.ch-theme #ch-theme-menu-panel a,
  body.ch-theme .ch-theme-menu-panel .ch-theme-nav-pill,
  body.ch-theme #ch-theme-menu-panel .ch-theme-nav-pill {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
}

/* =========================================================
   v0.2.9: Mobile hamburger submenu collapse
   Keeps avatar dropdown untouched. Mobile-only.
   ========================================================= */
@media (max-width: 782px) {
  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 46px !important;
    gap: 6px !important;
    align-items: start !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > a,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > a,
  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-theme-nav-pill,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-theme-nav-pill {
    grid-column: 1 / 2 !important;
    min-width: 0 !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle {
    grid-column: 2 / 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 15px !important;
    background: var(--ch-theme-surface-soft, #f8fbff) !important;
    background-image: none !important;
    color: var(--ch-theme-text, #101828) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    box-shadow: none !important;
    font-size: 20px !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle span,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.16s ease !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu.is-submenu-open > .ch-mobile-submenu-toggle span,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu.is-submenu-open > .ch-mobile-submenu-toggle span {
    transform: rotate(180deg) !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu {
    grid-column: 1 / -1 !important;
    display: none !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 0 2px 10px !important;
    padding: 6px 0 6px 10px !important;
    border: 0 !important;
    border-left: 2px solid color-mix(in srgb, var(--ch-theme-blue, #0080ff) 32%, var(--ch-theme-border, #d9e3f0)) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu.is-submenu-open > .sub-menu,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu.is-submenu-open > .sub-menu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu[hidden],
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu[hidden] {
    display: none !important;
  }

  body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu a,
  body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu a {
    min-height: 42px !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border-radius: 13px !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle,
  html[data-ch-theme-mode="dark"] body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .ch-mobile-submenu-toggle {
    background: #142238 !important;
    color: #f8fafc !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu,
  html[data-ch-theme-mode="dark"] body.ch-theme #ch-theme-menu-panel li.ch-mobile-has-submenu > .sub-menu {
    border-left-color: rgba(96, 165, 250, 0.42) !important;
  }
}

/* =========================================================
   v0.2.11: Desktop CommunityHub stack width + mobile widgets polish
   Theme-only. Keeps CommunityHub Core independent.
   ========================================================= */

/* Global CommunityHub route frame: use the available desktop space without letting
   content become too wide to read. */
.ch-theme-container--community {
  --ch-social-stack-width: 920px;
  --ch-profile-stack-width: 1040px;
  --ch-directory-stack-width: 1120px;
  width: min(100% - 32px, 1320px) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-shell {
  width: 100% !important;
  align-items: start !important;
  justify-content: center !important;
  gap: clamp(18px, 2vw, 28px) !important;
}

.ch-theme-community-content-wrap {
  width: 100% !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Activity/feed-like routes: one clean, uniform social reading width. */
.ch-theme-community-shell--community.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--saved.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--notifications.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
  max-width: var(--ch-social-stack-width) !important;
}

.ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-feed,
.ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-composer,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-composer,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-community-feed-page,
.ch-theme-community-shell--post .ch-theme-community-content-wrap .ch-community-single-post-page,
.ch-theme-community-shell--saved .ch-theme-community-content-wrap .ch-bookmarks-page,
.ch-theme-community-shell--notifications .ch-theme-community-content-wrap .ch-notifications-page {
  width: 100% !important;
  max-width: var(--ch-social-stack-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-shell--community .ch-composer,
.ch-theme-community-shell--community .ch-feed .ch-activity-card,
.ch-theme-community-shell--post .ch-feed .ch-activity-card,
.ch-theme-community-shell--saved .ch-feed .ch-activity-card,
.ch-theme-community-shell--notifications .ch-feed .ch-activity-card {
  width: 100% !important;
  max-width: 100% !important;
}

/* Sidebar layouts: keep the main stack wide and centered instead of squeezed. */
.ch-theme-community-shell.ch-theme-layout--sidebar-right {
  grid-template-columns: minmax(0, var(--ch-social-stack-width)) minmax(240px, 300px) !important;
  justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-left {
  grid-template-columns: minmax(240px, 300px) minmax(0, var(--ch-social-stack-width)) !important;
  justify-content: center !important;
}
.ch-theme-community-shell.ch-theme-layout--sidebar-both {
  grid-template-columns: minmax(180px, 240px) minmax(0, 860px) minmax(180px, 240px) !important;
  justify-content: center !important;
}

/* Profile routes: make the visible stack uniform — header, nav, section blocks,
   and post cards use the same desktop lane. */
.ch-theme-community-shell--profile.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--profile .ch-profile-route-wrap,
.ch-theme-community-shell--profile .ch-profile-page,
.ch-theme-community-shell--profile .ch-profile-shell,
.ch-theme-community-shell--profile .ch-profile-header,
.ch-theme-community-shell--profile .ch-profile-hub-nav,
.ch-theme-community-shell--profile .ch-hub-page-nav,
.ch-theme-community-shell--profile .ch-community-page-nav,
.ch-theme-community-shell--profile .ch-profile-tabs,
.ch-theme-community-shell--profile .ch-profile-section,
.ch-theme-community-shell--profile .ch-profile-section-header,
.ch-theme-community-shell--profile .ch-profile-section-title,
.ch-theme-community-shell--profile .ch-profile-posts,
.ch-theme-community-shell--profile .ch-profile-comments,
.ch-theme-community-shell--profile .ch-profile-media,
.ch-theme-community-shell--profile .ch-profile-about,
.ch-theme-community-shell--profile .ch-feed,
.ch-theme-community-shell--profile .ch-composer,
.ch-theme-community-shell--profile .ch-activity-card {
  width: 100% !important;
  max-width: var(--ch-profile-stack-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-shell--profile.ch-theme-layout--sidebar-right {
  grid-template-columns: minmax(0, min(100%, 960px)) minmax(240px, 300px) !important;
}
.ch-theme-community-shell--profile.ch-theme-layout--sidebar-left {
  grid-template-columns: minmax(240px, 300px) minmax(0, min(100%, 960px)) !important;
}

/* Member directory gets a little more room because cards benefit from columns. */
.ch-theme-community-shell--members.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--members .ch-members-directory-page,
.ch-theme-community-shell--members .ch-member-directory-page {
  width: 100% !important;
  max-width: var(--ch-directory-stack-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep mobile wide and immersive, but do not break the working mobile card width. */
@media (max-width: 782px) {
  .ch-theme-container--community {
    width: min(100% - 16px, var(--ch-theme-max)) !important;
  }
  .ch-theme-community-content-wrap,
  .ch-theme-community-content-wrap > .ch-feed,
  .ch-theme-community-content-wrap > .ch-composer,
  .ch-theme-community-content-wrap .ch-feed,
  .ch-theme-community-content-wrap .ch-composer,
  .ch-theme-community-content-wrap .ch-community-feed-page,
  .ch-theme-community-content-wrap .ch-community-single-post-page,
  .ch-theme-community-content-wrap .ch-bookmarks-page,
  .ch-theme-community-content-wrap .ch-notifications-page,
  .ch-theme-community-content-wrap .ch-profile-page,
  .ch-theme-community-content-wrap .ch-profile-route-wrap,
  .ch-profile-header,
  .ch-profile-hub-nav,
  .ch-hub-page-nav,
  .ch-profile-section-header,
  .ch-profile-section-title {
    max-width: 100% !important;
  }
}

/* Mobile Widget Bar: this only renders when Appearance → Widgets → Mobile Widget Bar
   has widgets assigned. It is intentionally hidden on full desktop and shown under
   content on tablet/mobile. */
.ch-theme-mobile-widget-bar {
  display: none !important;
}

@media (max-width: 1024px) {
  .ch-theme-mobile-widget-bar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: min(100% - 20px, 920px) !important;
    max-width: 920px !important;
    margin: 18px auto 28px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ch-theme-mobile-widget-bar .ch-theme-widget,
  .ch-theme-mobile-widget-bar .widget,
  .ch-theme-mobile-widget-bar section {
    width: 100% !important;
    margin: 0 !important;
    background: var(--ch-theme-surface) !important;
    color: var(--ch-theme-text) !important;
    border: 1px solid var(--ch-theme-border) !important;
    border-radius: 18px !important;
    box-shadow: var(--ch-theme-soft-shadow, 0 12px 34px rgba(15, 23, 42, 0.08)) !important;
    padding: 16px !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-mobile-widget-bar .ch-theme-widget,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-mobile-widget-bar .widget,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-mobile-widget-bar section {
    background: var(--ch-theme-surface) !important;
    color: var(--ch-theme-text) !important;
    border-color: var(--ch-theme-border) !important;
  }
}

/* =========================================================
   v0.2.12: Activity stack uniformity + mobile widget drawer
   Theme-only. Keeps CommunityHub Core independent.
   ========================================================= */

/* Activity feed should feel centered and intentional on desktop — not like a
   narrow left column floating in a huge empty lane. Keep the reading width
   engaging, uniform, and easy to scan. */
.ch-theme-container--community {
  --ch-social-stack-width: 820px;
  --ch-profile-stack-width: 1040px;
  --ch-directory-stack-width: 1120px;
}

.ch-theme-community-shell--community.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap {
  width: 100% !important;
  max-width: var(--ch-social-stack-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-feed,
.ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-composer,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-composer,
.ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-community-feed-page,
.ch-theme-community-shell--post .ch-theme-community-content-wrap > .ch-feed,
.ch-theme-community-shell--post .ch-theme-community-content-wrap .ch-feed,
.ch-theme-community-shell--post .ch-theme-community-content-wrap .ch-community-single-post-page {
  width: 100% !important;
  max-width: var(--ch-social-stack-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.ch-theme-community-shell--community .ch-composer,
.ch-theme-community-shell--community .ch-feed .ch-activity-card,
.ch-theme-community-shell--community .ch-activity-card,
.ch-theme-community-shell--post .ch-feed .ch-activity-card,
.ch-theme-community-shell--post .ch-activity-card {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Do not let a Community Feed sidebar create a lopsided first impression.
   If sidebars are enabled, keep the feed lane centered and readable. */
.ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
  grid-template-columns: minmax(0, var(--ch-social-stack-width)) minmax(230px, 280px) !important;
  justify-content: center !important;
}

.ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
  grid-template-columns: minmax(230px, 280px) minmax(0, var(--ch-social-stack-width)) !important;
  justify-content: center !important;
}

.ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
  grid-template-columns: minmax(170px, 220px) minmax(0, 780px) minmax(170px, 220px) !important;
  justify-content: center !important;
}

/* When the activity route is no-sidebar, center the visible app stack inside
   the route container instead of stretching the route frame. */
.ch-theme-community-shell--community.ch-theme-layout--no-sidebar,
.ch-theme-community-shell--post.ch-theme-layout--no-sidebar {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

/* Mobile remains immersive and close to the phone edge. */
@media (max-width: 782px) {
  .ch-theme-container--community {
    width: min(100% - 14px, var(--ch-theme-max)) !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--no-sidebar,
  .ch-theme-community-shell--post.ch-theme-layout--no-sidebar {
    display: block !important;
  }
}

/* Floating mobile widget drawer. This fixes the infinite-scroll problem where
   users may never reach widgets placed below the feed. */
.ch-theme-mobile-widget-toggle,
.ch-theme-mobile-widget-drawer {
  display: none;
}

@media (max-width: 1024px) {
  .ch-theme-mobile-widget-bar {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ch-theme-mobile-widget-toggle {
    position: fixed !important;
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    z-index: 2147482200 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 42px !important;
    padding: 10px 14px !important;
    border-radius: 999px !important;
    border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
    background: var(--ch-theme-blue) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1 !important;
    box-shadow: 0 14px 34px rgba(0, 128, 255, 0.28) !important;
    cursor: pointer !important;
  }

  .ch-theme-mobile-widget-toggle-icon {
    font-size: 14px !important;
    line-height: 1 !important;
  }

  .ch-theme-mobile-widget-drawer {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    z-index: 2147482300 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    max-height: min(72dvh, 640px) !important;
    overflow: hidden !important;
    background: var(--ch-theme-surface) !important;
    color: var(--ch-theme-text) !important;
    border: 1px solid var(--ch-theme-border) !important;
    border-radius: 22px !important;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.34) !important;
  }

  .ch-theme-mobile-widget-drawer[hidden] {
    display: none !important;
  }

  .ch-theme-mobile-widget-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--ch-theme-border) !important;
    background: color-mix(in srgb, var(--ch-theme-surface) 92%, var(--ch-theme-blue) 8%) !important;
    color: var(--ch-theme-text) !important;
  }

  .ch-theme-mobile-widget-drawer-head strong {
    color: var(--ch-theme-text) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  .ch-theme-mobile-widget-close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--ch-theme-surface-soft) !important;
    color: var(--ch-theme-text) !important;
    box-shadow: none !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  .ch-theme-mobile-widget-drawer-content {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: grid !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  .ch-theme-mobile-widget-drawer-content .ch-theme-widget,
  .ch-theme-mobile-widget-drawer-content .widget,
  .ch-theme-mobile-widget-drawer-content section {
    width: 100% !important;
    margin: 0 !important;
    background: var(--ch-theme-surface-soft) !important;
    color: var(--ch-theme-text) !important;
    border: 1px solid var(--ch-theme-border) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    padding: 14px !important;
  }

  html.ch-theme-mobile-widgets-open {
    overflow: hidden !important;
  }
}

/* =========================================================
   v0.2.14: Activity stack standard + mobile widgets deferred
   Theme-only. Keeps CommunityHub Core independent.
   ========================================================= */

/* Desktop social pages should use one intentional reading lane. This prevents
   the activity feed from feeling left-heavy inside a too-wide frame. */
@media (min-width: 783px) {
  .ch-theme-container--community {
    --ch-social-stack-width: 780px;
    --ch-social-stack-wide: 820px;
  }

  .ch-theme-community-shell--community.ch-theme-layout--no-sidebar,
  .ch-theme-community-shell--post.ch-theme-layout--no-sidebar {
    display: grid !important;
    grid-template-columns: minmax(0, var(--ch-social-stack-width)) !important;
    justify-content: center !important;
    align-items: start !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
  .ch-theme-community-shell--post.ch-theme-layout--no-sidebar .ch-theme-community-content-wrap,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-feed,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap > .ch-composer,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-community-feed-page,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-feed,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap .ch-composer,
  .ch-theme-community-shell--post .ch-theme-community-content-wrap > .ch-feed,
  .ch-theme-community-shell--post .ch-theme-community-content-wrap .ch-feed,
  .ch-theme-community-shell--post .ch-theme-community-content-wrap .ch-community-single-post-page {
    width: 100% !important;
    max-width: var(--ch-social-stack-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .ch-theme-community-shell--community .ch-composer,
  .ch-theme-community-shell--community .ch-feed .ch-activity-card,
  .ch-theme-community-shell--community .ch-activity-card,
  .ch-theme-community-shell--post .ch-feed .ch-activity-card,
  .ch-theme-community-shell--post .ch-activity-card {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
    grid-template-columns: minmax(0, var(--ch-social-stack-width)) minmax(230px, 280px) !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
    grid-template-columns: minmax(230px, 280px) minmax(0, var(--ch-social-stack-width)) !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
    grid-template-columns: minmax(170px, 220px) minmax(0, var(--ch-social-stack-width)) minmax(170px, 220px) !important;
    justify-content: center !important;
  }
}

/* Remove v0.2.12 floating mobile widget button and replace it with a
   swipe-only right-side widget drawer. */
.ch-theme-mobile-widget-toggle {
  display: none !important;
}

.ch-theme-mobile-widget-swipe-zone,
.ch-theme-mobile-widget-backdrop,
.ch-theme-mobile-widget-drawer {
  display: none;
}

@media (max-width: 1024px) {
  .ch-theme-mobile-widget-bar {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ch-theme-mobile-widget-swipe-zone {
    display: block !important;
    position: fixed !important;
    top: 72px !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 22px !important;
    z-index: 2147482000 !important;
    background: transparent !important;
    pointer-events: none !important;
  }

  .ch-theme-mobile-widget-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482290 !important;
    display: block !important;
    background: rgba(2, 6, 23, 0.42) !important;
    backdrop-filter: blur(2px) !important;
  }

  .ch-theme-mobile-widget-backdrop[hidden] {
    display: none !important;
  }

  .ch-theme-mobile-widget-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    z-index: 2147482300 !important;
    width: min(86vw, 380px) !important;
    max-width: calc(100vw - 34px) !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    overflow: hidden !important;
    background: var(--ch-theme-surface) !important;
    color: var(--ch-theme-text) !important;
    border-left: 1px solid var(--ch-theme-border) !important;
    border-radius: 22px 0 0 22px !important;
    box-shadow: -24px 0 80px rgba(0, 0, 0, 0.34) !important;
    transform: translateX(106%) !important;
    transition: transform 0.22s ease !important;
  }

  .ch-theme-mobile-widget-drawer[hidden] {
    display: grid !important;
  }

  html.ch-theme-mobile-widgets-open .ch-theme-mobile-widget-drawer {
    transform: translateX(0) !important;
  }

  .admin-bar .ch-theme-mobile-widget-drawer {
    top: 46px !important;
  }

  .ch-theme-mobile-widget-drawer-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid var(--ch-theme-border) !important;
    background: color-mix(in srgb, var(--ch-theme-surface) 92%, var(--ch-theme-blue) 8%) !important;
    color: var(--ch-theme-text) !important;
  }

  .ch-theme-mobile-widget-drawer-head strong {
    color: var(--ch-theme-text) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
  }

  .ch-theme-mobile-widget-close {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--ch-theme-surface-soft) !important;
    color: var(--ch-theme-text) !important;
    box-shadow: none !important;
    font-size: 24px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
  }

  .ch-theme-mobile-widget-drawer-content {
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    display: grid !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  .ch-theme-mobile-widget-drawer-content .ch-theme-widget,
  .ch-theme-mobile-widget-drawer-content .widget,
  .ch-theme-mobile-widget-drawer-content section {
    width: 100% !important;
    margin: 0 !important;
    background: var(--ch-theme-surface-soft) !important;
    color: var(--ch-theme-text) !important;
    border: 1px solid var(--ch-theme-border) !important;
    border-radius: 16px !important;
    box-shadow: none !important;
    padding: 14px !important;
  }

  html.ch-theme-mobile-widgets-open {
    overflow: hidden !important;
  }
}


/* =========================================================
   v0.2.14: Mobile widgets deferred
   Theme-only. Removes swipe/floating mobile widgets until widget UX is revisited.
   ========================================================= */
.ch-theme-mobile-widget-bar,
.ch-theme-mobile-widget-toggle,
.ch-theme-mobile-widget-swipe-zone,
.ch-theme-mobile-widget-backdrop,
.ch-theme-mobile-widget-drawer {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.ch-theme-mobile-widgets-open {
  overflow: auto !important;
}


/* =========================================================
   v0.2.15: Mobile notifications header, composer button polish,
   tighter desktop widget/sidebar gap, and mobile widgets deferred
   Theme-only. Keeps CommunityHub Core independent.
   ========================================================= */

/* Mobile widgets remain deferred: no floating button, no swipe zone, no drawer. */
.ch-theme-mobile-widget-toggle,
.ch-theme-mobile-widget-swipe-zone,
.ch-theme-mobile-widget-backdrop,
.ch-theme-mobile-widget-drawer,
.ch-theme-mobile-widget-drawer[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.ch-theme-mobile-widgets-open {
  overflow: auto !important;
}

/* Desktop community pages: keep the timeline width, but pull widget columns closer. */
@media (min-width: 1025px) {
  .ch-theme-community-shell {
    gap: clamp(10px, 1.05vw, 16px) !important;
    column-gap: clamp(10px, 1.05vw, 16px) !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
    grid-template-columns: minmax(0, var(--ch-social-stack-width, 780px)) minmax(230px, 280px) !important;
    gap: clamp(10px, 1.05vw, 16px) !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
    grid-template-columns: minmax(230px, 280px) minmax(0, var(--ch-social-stack-width, 780px)) !important;
    gap: clamp(10px, 1.05vw, 16px) !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
    grid-template-columns: minmax(170px, 220px) minmax(0, var(--ch-social-stack-width, 780px)) minmax(170px, 220px) !important;
    gap: clamp(8px, 0.9vw, 14px) !important;
    justify-content: center !important;
  }

  .ch-theme-sidebar,
  .ch-theme-community-shell .ch-theme-sidebar {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Composer button polish: remove the blue glow/blur around Post and Attach. */
.ch-theme .ch-composer-submit,
.ch-theme .ch-composer-upload,
.ch-theme .ch-composer .ch-composer-submit,
.ch-theme .ch-composer .ch-composer-upload,
.ch-theme .ch-composer-actions .ch-composer-submit,
.ch-theme .ch-composer-actions .ch-composer-upload {
  box-shadow: none !important;
  filter: none !important;
}

.ch-theme .ch-composer-submit,
.ch-theme .ch-composer .ch-composer-submit,
.ch-theme .ch-composer-actions .ch-composer-submit {
  background: #2563eb !important;
  color: #ffffff !important;
  border: 1px solid #2563eb !important;
}

.ch-theme .ch-composer-submit:hover,
.ch-theme .ch-composer .ch-composer-submit:hover,
.ch-theme .ch-composer-actions .ch-composer-submit:hover {
  background: #1d4ed8 !important;
  border-color: #1d4ed8 !important;
  box-shadow: none !important;
  transform: none !important;
}

.ch-theme .ch-composer-upload,
.ch-theme .ch-composer .ch-composer-upload,
.ch-theme .ch-composer-actions .ch-composer-upload {
  background: var(--ch-theme-surface-soft, #f8fafc) !important;
  color: var(--ch-theme-text, #111827) !important;
  border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
}

.ch-theme .ch-composer-upload:hover,
.ch-theme .ch-composer .ch-composer-upload:hover,
.ch-theme .ch-composer-actions .ch-composer-upload:hover {
  background: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 9%, var(--ch-theme-surface, #ffffff)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue, #0080ff) 30%, var(--ch-theme-border, #dbe3ec)) !important;
  color: var(--ch-theme-blue, #0080ff) !important;
  box-shadow: none !important;
  transform: none !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer-upload,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer .ch-composer-upload,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer-actions .ch-composer-upload {
  background: rgba(255, 255, 255, 0.055) !important;
  color: #f8fafc !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
}

/* Mobile Notifications header: compact app-style stack that does not crowd. */
@media (max-width: 782px) {
  .ch-theme-community-shell--notifications .ch-theme-community-content-wrap,
  .ch-theme-community-shell--notifications .ch-notifications-page {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ch-notifications-header,
  .ch-theme .ch-notifications-header,
  .ch-theme-community-shell--notifications .ch-notifications-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: var(--ch-theme-surface, #ffffff) !important;
    border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
    box-shadow: var(--ch-theme-soft-shadow, 0 10px 28px rgba(15, 23, 42, 0.07)) !important;
    color: var(--ch-theme-text, #111827) !important;
    text-align: left !important;
  }

  .ch-notifications-header h1,
  .ch-notifications-header h2,
  .ch-notifications-header h3,
  .ch-theme .ch-notifications-header h1,
  .ch-theme .ch-notifications-header h2,
  .ch-theme .ch-notifications-header h3 {
    margin: 0 !important;
    color: var(--ch-theme-text, #111827) !important;
    font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
  }

  .ch-notifications-header p,
  .ch-notifications-header .ch-muted,
  .ch-notifications-header .ch-notifications-description,
  .ch-theme .ch-notifications-header p {
    margin: 2px 0 0 !important;
    color: var(--ch-theme-muted, #64748b) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
  }

  .ch-notifications-header-actions,
  .ch-notifications-actions,
  .ch-theme .ch-notifications-header .ch-actions,
  .ch-theme .ch-notifications-header form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .ch-notifications-header button,
  .ch-notifications-header a.button,
  .ch-notifications-header .button,
  .ch-notification-mark-read,
  .ch-notifications-mark-read,
  .ch-theme .ch-notifications-header button,
  .ch-theme .ch-notifications-header a {
    width: auto !important;
    max-width: 100% !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--notifications .ch-notifications-header {
    background: #0f1b2d !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
    color: #f8fafc !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header h1,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header h2,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header h3 {
    color: #f8fafc !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header p,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header .ch-muted,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header .ch-notifications-description {
    color: #a8b5c7 !important;
  }
}

/* =========================================================
   v0.2.16: Saved header, member search polish, wider desktop widgets
   Theme-only. Keeps CommunityHub Core independent.
   ========================================================= */

/* Mobile widgets remain deferred. */
.ch-theme-mobile-widget-toggle,
.ch-theme-mobile-widget-swipe-zone,
.ch-theme-mobile-widget-backdrop,
.ch-theme-mobile-widget-drawer,
.ch-theme-mobile-widget-drawer[hidden] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

html.ch-theme-mobile-widgets-open {
  overflow: auto !important;
}

/* Desktop: give widget/sidebar columns more breathing room without narrowing the timeline. */
@media (min-width: 1180px) {
  .ch-theme-container--community {
    width: min(100% - 32px, 1540px) !important;
    max-width: 1540px !important;
    --ch-social-stack-width: 820px;
    --ch-profile-stack-width: 1040px;
    --ch-directory-stack-width: 1120px;
  }

  .ch-theme-community-shell {
    gap: clamp(12px, 1.1vw, 18px) !important;
    column-gap: clamp(12px, 1.1vw, 18px) !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
    grid-template-columns: minmax(0, var(--ch-social-stack-width, 820px)) minmax(280px, 340px) !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
    grid-template-columns: minmax(280px, 340px) minmax(0, var(--ch-social-stack-width, 820px)) !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
    grid-template-columns: minmax(250px, 320px) minmax(0, var(--ch-social-stack-width, 820px)) minmax(250px, 320px) !important;
  }

  .ch-theme-sidebar,
  .ch-theme-community-shell .ch-theme-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 340px !important;
    padding: 14px !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-both .ch-theme-sidebar,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-both .ch-theme-sidebar {
    max-width: 320px !important;
  }

  .ch-theme-sidebar .ch-theme-widget,
  .ch-theme-sidebar .widget,
  .ch-theme-sidebar section {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .ch-theme-sidebar .widget img,
  .ch-theme-sidebar .ch-theme-widget img,
  .ch-theme-sidebar section img,
  .ch-theme-sidebar iframe,
  .ch-theme-sidebar video,
  .ch-theme-sidebar table {
    max-width: 100% !important;
  }
}

/* Saved Posts header should match the polished mobile Notifications header. */
@media (max-width: 782px) {
  .ch-theme-community-shell--saved .ch-theme-community-content-wrap,
  .ch-theme-community-shell--saved .ch-bookmarks-page {
    width: 100% !important;
    max-width: 100% !important;
  }

  .ch-bookmarks-header,
  .ch-theme .ch-bookmarks-header,
  .ch-theme-community-shell--saved .ch-bookmarks-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 0 12px !important;
    padding: 14px !important;
    border-radius: 18px !important;
    background: var(--ch-theme-surface, #ffffff) !important;
    border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
    box-shadow: var(--ch-theme-soft-shadow, 0 10px 28px rgba(15, 23, 42, 0.07)) !important;
    color: var(--ch-theme-text, #111827) !important;
    text-align: left !important;
  }

  .ch-bookmarks-header h1,
  .ch-bookmarks-header h2,
  .ch-bookmarks-header h3,
  .ch-theme .ch-bookmarks-header h1,
  .ch-theme .ch-bookmarks-header h2,
  .ch-theme .ch-bookmarks-header h3 {
    margin: 0 !important;
    color: var(--ch-theme-text, #111827) !important;
    font-size: clamp(1.35rem, 7vw, 1.85rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.04em !important;
  }

  .ch-bookmarks-header p,
  .ch-bookmarks-header .ch-muted,
  .ch-bookmarks-header .ch-bookmarks-description,
  .ch-theme .ch-bookmarks-header p {
    margin: 2px 0 0 !important;
    color: var(--ch-theme-muted, #64748b) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
  }

  .ch-bookmarks-header-actions,
  .ch-bookmarks-actions,
  .ch-theme .ch-bookmarks-header .ch-actions,
  .ch-theme .ch-bookmarks-header form {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .ch-bookmarks-header button,
  .ch-bookmarks-header a.button,
  .ch-bookmarks-header .button,
  .ch-theme .ch-bookmarks-header button,
  .ch-theme .ch-bookmarks-header a {
    width: auto !important;
    max-width: 100% !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header {
    background: #0f1b2d !important;
    border-color: rgba(148, 163, 184, 0.24) !important;
    color: #f8fafc !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header h1,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header h2,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header h3 {
    color: #f8fafc !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header p,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header .ch-muted,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header .ch-bookmarks-description {
    color: #a8b5c7 !important;
  }
}

/* Members page search/filter polish. Targets several possible class names safely. */
.ch-theme-community-shell--members .ch-member-directory-header,
.ch-theme-community-shell--members .ch-members-header {
  margin-bottom: 14px !important;
}

.ch-theme-community-shell--members .ch-member-directory-search,
.ch-theme-community-shell--members .ch-members-search,
.ch-theme-community-shell--members .ch-member-search,
.ch-theme-community-shell--members .ch-directory-search,
.ch-theme-community-shell--members .ch-member-directory-filters,
.ch-theme-community-shell--members .ch-members-directory-filters,
.ch-theme-community-shell--members .ch-members-filter-bar,
.ch-theme-community-shell--members form[role="search"] {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 12px !important;
  border-radius: 20px !important;
  background: var(--ch-theme-surface, #ffffff) !important;
  border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
  box-shadow: var(--ch-theme-soft-shadow, 0 12px 34px rgba(15, 23, 42, 0.06)) !important;
}

.ch-theme-community-shell--members .ch-member-directory-search input[type="search"],
.ch-theme-community-shell--members .ch-member-directory-search input[type="text"],
.ch-theme-community-shell--members .ch-members-search input[type="search"],
.ch-theme-community-shell--members .ch-members-search input[type="text"],
.ch-theme-community-shell--members .ch-member-search input[type="search"],
.ch-theme-community-shell--members .ch-member-search input[type="text"],
.ch-theme-community-shell--members .ch-directory-search input[type="search"],
.ch-theme-community-shell--members .ch-directory-search input[type="text"],
.ch-theme-community-shell--members .ch-member-directory-filters input[type="search"],
.ch-theme-community-shell--members .ch-member-directory-filters input[type="text"],
.ch-theme-community-shell--members .ch-members-directory-filters input[type="search"],
.ch-theme-community-shell--members .ch-members-directory-filters input[type="text"],
.ch-theme-community-shell--members .ch-members-filter-bar input[type="search"],
.ch-theme-community-shell--members .ch-members-filter-bar input[type="text"],
.ch-theme-community-shell--members form[role="search"] input[type="search"],
.ch-theme-community-shell--members form[role="search"] input[type="text"] {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 44px !important;
  border-radius: 999px !important;
  background: var(--ch-theme-surface-soft, #f8fafc) !important;
  border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
  color: var(--ch-theme-text, #111827) !important;
  padding: 10px 14px !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.ch-theme-community-shell--members .ch-member-directory-search button,
.ch-theme-community-shell--members .ch-members-search button,
.ch-theme-community-shell--members .ch-member-search button,
.ch-theme-community-shell--members .ch-directory-search button,
.ch-theme-community-shell--members .ch-member-directory-filters button,
.ch-theme-community-shell--members .ch-members-directory-filters button,
.ch-theme-community-shell--members .ch-members-filter-bar button,
.ch-theme-community-shell--members form[role="search"] button,
.ch-theme-community-shell--members form[role="search"] input[type="submit"] {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  border-radius: 999px !important;
  padding: 9px 14px !important;
  background: var(--ch-theme-blue, #0080ff) !important;
  color: #ffffff !important;
  border: 1px solid var(--ch-theme-blue, #0080ff) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}

.ch-theme-community-shell--members .ch-member-directory-search select,
.ch-theme-community-shell--members .ch-members-search select,
.ch-theme-community-shell--members .ch-member-directory-filters select,
.ch-theme-community-shell--members .ch-members-directory-filters select,
.ch-theme-community-shell--members .ch-members-filter-bar select {
  min-height: 42px !important;
  border-radius: 999px !important;
  padding: 9px 36px 9px 13px !important;
  background: var(--ch-theme-surface-soft, #f8fafc) !important;
  color: var(--ch-theme-text, #111827) !important;
  border: 1px solid var(--ch-theme-border, #dbe3ec) !important;
  box-shadow: none !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-member-directory-search,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-members-search,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-member-search,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-directory-search,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-member-directory-filters,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-members-directory-filters,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members .ch-members-filter-bar,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--members form[role="search"] {
  background: #0f1b2d !important;
  border-color: rgba(148, 163, 184, 0.24) !important;
  color: #f8fafc !important;
}

@media (max-width: 640px) {
  .ch-theme-community-shell--members .ch-member-directory-search,
  .ch-theme-community-shell--members .ch-members-search,
  .ch-theme-community-shell--members .ch-member-search,
  .ch-theme-community-shell--members .ch-directory-search,
  .ch-theme-community-shell--members .ch-member-directory-filters,
  .ch-theme-community-shell--members .ch-members-directory-filters,
  .ch-theme-community-shell--members .ch-members-filter-bar,
  .ch-theme-community-shell--members form[role="search"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    padding: 11px !important;
    border-radius: 18px !important;
  }

  .ch-theme-community-shell--members .ch-member-directory-search button,
  .ch-theme-community-shell--members .ch-members-search button,
  .ch-theme-community-shell--members .ch-member-search button,
  .ch-theme-community-shell--members .ch-directory-search button,
  .ch-theme-community-shell--members form[role="search"] button,
  .ch-theme-community-shell--members form[role="search"] input[type="submit"] {
    width: 100% !important;
  }
}

/* =========================================================
   v0.2.18: Desktop widget column correction
   - Reverts internal widget scrolling from v0.2.17.
   - Keeps widget columns very close to timeline without shrinking either.
   - Uses JS guard spacer to delay feed infinite-scroll until long widgets can be reached.
   Theme-only. Core plugin untouched.
   ========================================================= */

@media (min-width: 1180px) {
  .ch-theme-container--community {
    width: min(100% - 24px, 1540px) !important;
    max-width: 1540px !important;
    --ch-social-stack-width: 820px;
  }

  .ch-theme-community-shell,
  .ch-theme-community-shell--community {
    gap: 4px !important;
    column-gap: 4px !important;
    align-items: start !important;
    justify-content: center !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
    grid-template-columns: minmax(0, var(--ch-social-stack-width, 820px)) minmax(280px, 340px) !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
    grid-template-columns: minmax(280px, 340px) minmax(0, var(--ch-social-stack-width, 820px)) !important;
  }

  .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  .ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
    grid-template-columns: minmax(250px, 320px) minmax(0, var(--ch-social-stack-width, 820px)) minmax(250px, 320px) !important;
  }

  /* Important: widgets scroll naturally with the page. No internal scroll lane. */
  .ch-theme-community-shell .ch-theme-sidebar,
  .ch-theme-community-shell--community .ch-theme-sidebar {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
    scrollbar-gutter: auto !important;
    padding: 12px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }


  /* Keep columns visually tight to the timeline without changing column widths. */
  .ch-theme-community-shell .ch-theme-sidebar--left,
  .ch-theme-community-shell--community .ch-theme-sidebar--left {
    margin-right: 0 !important;
  }

  .ch-theme-community-shell .ch-theme-sidebar--right,
  .ch-theme-community-shell--community .ch-theme-sidebar--right {
    margin-left: 0 !important;
  }

  .ch-theme-community-shell .ch-theme-community-content-wrap,
  .ch-theme-community-shell--community .ch-theme-community-content-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* JS sets this height only when side widgets are taller than the feed area.
     It pushes the feed loader/sentinel lower so infinite scroll waits until
     the long widget column has had room to scroll into view. */
  .ch-sidebar-feed-guard {
    display: block !important;
    width: 100% !important;
    height: var(--ch-sidebar-feed-guard-height, 0px) !important;
    min-height: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
  }
}

@media (min-width: 1480px) {
  .ch-theme-community-shell,
  .ch-theme-community-shell--community {
    gap: 4px !important;
    column-gap: 4px !important;
  }
}

/* =========================================================
   v0.2.18 final: Tighten desktop social canvas and top dead space
   - Keep timeline width and widget column width.
   - Pull visible widget cards closer by removing extra sidebar wrapper padding.
   - Reduce top dead space on CommunityHub social screens.
   Theme-only. Core plugin untouched.
   ========================================================= */

@media (min-width: 1180px) {
  /* Make the visible distance between widget cards and timeline feel like the
     spacing between post cards, without shrinking either lane. */
  .ch-theme-community-shell,
  .ch-theme-community-shell--community {
    gap: 6px !important;
    column-gap: 6px !important;
  }

  .ch-theme-community-shell .ch-theme-sidebar,
  .ch-theme-community-shell--community .ch-theme-sidebar {
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  .ch-theme-community-shell .ch-theme-sidebar .ch-theme-widget,
  .ch-theme-community-shell--community .ch-theme-sidebar .ch-theme-widget,
  .ch-theme-community-shell .ch-theme-sidebar .widget,
  .ch-theme-community-shell--community .ch-theme-sidebar .widget,
  .ch-theme-community-shell .ch-theme-sidebar section,
  .ch-theme-community-shell--community .ch-theme-sidebar section {
    margin-bottom: 10px !important;
  }

  /* Content should start quickly. Users are here to read/post, not look at dead space. */
  body.ch-route-community .ch-theme-main,
  body.ch-route-profile .ch-theme-main,
  body.ch-route-members .ch-theme-main,
  body.ch-route-notifications .ch-theme-main,
  body.ch-route-saved .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body[class*="ch-route-profile"] .ch-theme-main {
    padding-top: 12px !important;
  }

  .ch-theme-container--community .ch-theme-community-shell,
  .ch-theme-community-shell,
  .ch-theme-community-shell--community,
  .ch-theme-community-shell--profile,
  .ch-theme-community-shell--members,
  .ch-theme-community-shell--notifications,
  .ch-theme-community-shell--saved {
    padding-top: 10px !important;
  }

  .ch-theme-community-content-wrap > :first-child,
  .ch-theme-community-content-wrap .ch-composer:first-child,
  .ch-theme-community-content-wrap .ch-feed:first-child,
  .ch-profile-page:first-child,
  .ch-members-directory-page:first-child,
  .ch-notifications-page:first-child,
  .ch-bookmarks-page:first-child {
    margin-top: 0 !important;
  }
}

@media (max-width: 1179px) {
  body.ch-route-community .ch-theme-main,
  body.ch-route-profile .ch-theme-main,
  body.ch-route-members .ch-theme-main,
  body.ch-route-notifications .ch-theme-main,
  body.ch-route-saved .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body[class*="ch-route-profile"] .ch-theme-main {
    padding-top: 12px !important;
  }

  .ch-theme-community-shell,
  .ch-theme-community-shell--community,
  .ch-theme-community-shell--profile,
  .ch-theme-community-shell--members,
  .ch-theme-community-shell--notifications,
  .ch-theme-community-shell--saved {
    padding-top: 10px !important;
  }
}

@media (max-width: 640px) {
  body.ch-route-community .ch-theme-main,
  body.ch-route-profile .ch-theme-main,
  body.ch-route-members .ch-theme-main,
  body.ch-route-notifications .ch-theme-main,
  body.ch-route-saved .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body[class*="ch-route-profile"] .ch-theme-main {
    padding-top: 8px !important;
  }

  .ch-theme-community-shell,
  .ch-theme-community-shell--community,
  .ch-theme-community-shell--profile,
  .ch-theme-community-shell--members,
  .ch-theme-community-shell--notifications,
  .ch-theme-community-shell--saved {
    padding-top: 8px !important;
  }
}

/* =========================================================
   v0.2.19: Equalize desktop widget-to-timeline spacing
   - Keep current timeline width.
   - Keep current widget column width.
   - Make left/right widget columns hug the timeline equally.
   - Reduce visible dead gap without changing mobile behavior.
   Theme-only. Core plugin untouched.
   ========================================================= */

@media (min-width: 1180px) {
  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community {
    width: min(100% - 20px, 1540px) !important;
    max-width: 1540px !important;
    --ch-social-stack-width: 820px;
    --ch-social-widget-width: 340px;
    --ch-social-widget-gap: 8px;
  }

  body.ch-route-community .ch-theme-community-shell,
  body.ch-route-community .ch-theme-community-shell--community,
  body[class*="ch-route-community"] .ch-theme-community-shell,
  body[class*="ch-route-community"] .ch-theme-community-shell--community {
    display: grid !important;
    align-items: start !important;
    justify-content: center !important;
    gap: var(--ch-social-widget-gap) !important;
    column-gap: var(--ch-social-widget-gap) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  body.ch-route-community .ch-theme-community-shell--community.ch-theme-layout--sidebar-both,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  body[class*="ch-route-community"] .ch-theme-community-shell--community.ch-theme-layout--sidebar-both {
    grid-template-columns:
      minmax(300px, var(--ch-social-widget-width))
      minmax(0, var(--ch-social-stack-width))
      minmax(300px, var(--ch-social-widget-width)) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body.ch-route-community .ch-theme-community-shell--community.ch-theme-layout--sidebar-left,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body[class*="ch-route-community"] .ch-theme-community-shell--community.ch-theme-layout--sidebar-left {
    grid-template-columns:
      minmax(300px, var(--ch-social-widget-width))
      minmax(0, var(--ch-social-stack-width)) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  body.ch-route-community .ch-theme-community-shell--community.ch-theme-layout--sidebar-right,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  body[class*="ch-route-community"] .ch-theme-community-shell--community.ch-theme-layout--sidebar-right {
    grid-template-columns:
      minmax(0, var(--ch-social-stack-width))
      minmax(300px, var(--ch-social-widget-width)) !important;
  }

  /* The important part: if a sidebar track has extra room, the visible card edge
     should sit nearest the timeline, not drift toward the outside of the page. */
  body.ch-route-community .ch-theme-sidebar--left,
  body[class*="ch-route-community"] .ch-theme-sidebar--left {
    justify-self: end !important;
    width: 100% !important;
    max-width: var(--ch-social-widget-width) !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }

  body.ch-route-community .ch-theme-sidebar--right,
  body[class*="ch-route-community"] .ch-theme-sidebar--right {
    justify-self: start !important;
    width: 100% !important;
    max-width: var(--ch-social-widget-width) !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  body.ch-route-community .ch-theme-community-content-wrap,
  body[class*="ch-route-community"] .ch-theme-community-content-wrap {
    justify-self: center !important;
    width: 100% !important;
    max-width: var(--ch-social-stack-width) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.ch-route-community .ch-composer,
  body.ch-route-community .ch-feed,
  body.ch-route-community .ch-single-post,
  body[class*="ch-route-community"] .ch-composer,
  body[class*="ch-route-community"] .ch-feed,
  body[class*="ch-route-community"] .ch-single-post {
    width: 100% !important;
    max-width: var(--ch-social-stack-width) !important;
  }
}

@media (min-width: 1480px) {
  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community {
    --ch-social-widget-gap: 8px;
  }
}

/* =========================================================
   v0.2.20: Equal social side gaps + top spacing cleanup
   - Keep timeline width.
   - Keep widget column width.
   - Make left/right widget-to-timeline distance match.
   - Tighten Saved/Notifications top dead space too.
   Theme-only. Core plugin untouched.
   ========================================================= */

@media (min-width: 1180px) {
  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community {
    width: min(100% - 12px, 1556px) !important;
    max-width: 1556px !important;
    --ch-social-stack-width: 820px;
    --ch-social-widget-width: 340px;
    --ch-social-widget-gap: 4px;
  }

  body.ch-route-community .ch-theme-community-shell,
  body[class*="ch-route-community"] .ch-theme-community-shell {
    gap: var(--ch-social-widget-gap) !important;
    column-gap: var(--ch-social-widget-gap) !important;
    row-gap: 10px !important;
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both {
    grid-template-columns:
      var(--ch-social-widget-width)
      var(--ch-social-stack-width)
      var(--ch-social-widget-width) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left {
    grid-template-columns:
      var(--ch-social-widget-width)
      var(--ch-social-stack-width) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right {
    grid-template-columns:
      var(--ch-social-stack-width)
      var(--ch-social-widget-width) !important;
  }

  body.ch-route-community .ch-theme-sidebar--left,
  body.ch-route-community .ch-theme-sidebar--right,
  body[class*="ch-route-community"] .ch-theme-sidebar--left,
  body[class*="ch-route-community"] .ch-theme-sidebar--right {
    width: var(--ch-social-widget-width) !important;
    max-width: var(--ch-social-widget-width) !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-self: stretch !important;
  }

  body.ch-route-community .ch-theme-community-content-wrap,
  body[class*="ch-route-community"] .ch-theme-community-content-wrap {
    width: var(--ch-social-stack-width) !important;
    max-width: var(--ch-social-stack-width) !important;
    min-width: 0 !important;
    justify-self: stretch !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.ch-route-community .ch-composer,
  body.ch-route-community .ch-feed,
  body.ch-route-community .ch-single-post,
  body.ch-route-community .ch-feed .ch-activity-card,
  body[class*="ch-route-community"] .ch-composer,
  body[class*="ch-route-community"] .ch-feed,
  body[class*="ch-route-community"] .ch-single-post,
  body[class*="ch-route-community"] .ch-feed .ch-activity-card {
    width: 100% !important;
    max-width: var(--ch-social-stack-width) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Social pages should start closer to the header. Keep a small intentional gap only. */
body.ch-route-community .ch-theme-main,
body[class*="ch-route-community"] .ch-theme-main,
body.ch-route-community .ch-theme-community-main,
body[class*="ch-route-community"] .ch-theme-community-main {
  padding-top: 6px !important;
}

body.ch-route-community .ch-theme-container--community,
body[class*="ch-route-community"] .ch-theme-container--community,
body.ch-route-community .ch-theme-community-shell,
body[class*="ch-route-community"] .ch-theme-community-shell,
body.ch-route-community .ch-theme-community-shell--community,
body.ch-route-community .ch-theme-community-shell--profile,
body.ch-route-community .ch-theme-community-shell--members,
body.ch-route-community .ch-theme-community-shell--notifications,
body.ch-route-community .ch-theme-community-shell--saved,
body[class*="ch-route-community"] .ch-theme-community-shell--community,
body[class*="ch-route-community"] .ch-theme-community-shell--profile,
body[class*="ch-route-community"] .ch-theme-community-shell--members,
body[class*="ch-route-community"] .ch-theme-community-shell--notifications,
body[class*="ch-route-community"] .ch-theme-community-shell--saved {
  padding-top: 6px !important;
  margin-top: 0 !important;
}

body.ch-route-community .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-community"] .ch-theme-community-content-wrap > :first-child,
body.ch-route-community .ch-bookmarks-page,
body.ch-route-community .ch-notifications-page,
body.ch-route-community .ch-members-directory-page,
body.ch-route-community .ch-profile-page,
body[class*="ch-route-community"] .ch-bookmarks-page,
body[class*="ch-route-community"] .ch-notifications-page,
body[class*="ch-route-community"] .ch-members-directory-page,
body[class*="ch-route-community"] .ch-profile-page {
  margin-top: 0 !important;
}

body.ch-route-community .ch-bookmarks-header,
body.ch-route-community .ch-notifications-header,
body.ch-route-community .ch-members-directory-header,
body[class*="ch-route-community"] .ch-bookmarks-header,
body[class*="ch-route-community"] .ch-notifications-header,
body[class*="ch-route-community"] .ch-members-directory-header {
  margin-top: 0 !important;
}

@media (max-width: 781px) {
  body.ch-route-community .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body.ch-route-community .ch-theme-community-main,
  body[class*="ch-route-community"] .ch-theme-community-main {
    padding-top: 4px !important;
  }

  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community,
  body.ch-route-community .ch-theme-community-shell,
  body[class*="ch-route-community"] .ch-theme-community-shell {
    padding-top: 4px !important;
  }
}


/* =========================================================
   v0.2.22: Social layout standard pass
   - Equal left/right widget distance from timeline.
   - Restore X-style widget-column sticky behavior.
   - Uniform social page header/top rhythm.
   Theme-only. Core plugin untouched.
   ========================================================= */

/* One shared social-page vertical rhythm. Users should see content quickly. */
body.ch-route-community .ch-theme-main,
body[class*="ch-route-community"] .ch-theme-main,
body.ch-route-community .ch-theme-community-main,
body[class*="ch-route-community"] .ch-theme-community-main {
  padding-top: 8px !important;
}

body.ch-route-community .ch-theme-container--community,
body[class*="ch-route-community"] .ch-theme-container--community,
body.ch-route-community .ch-theme-community-shell,
body[class*="ch-route-community"] .ch-theme-community-shell {
  padding-top: 8px !important;
  margin-top: 0 !important;
}

body.ch-route-community .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-community"] .ch-theme-community-content-wrap > :first-child,
body.ch-route-community .ch-composer:first-child,
body[class*="ch-route-community"] .ch-composer:first-child,
body.ch-route-community .ch-feed:first-child,
body[class*="ch-route-community"] .ch-feed:first-child,
body.ch-route-community .ch-bookmarks-page,
body[class*="ch-route-community"] .ch-bookmarks-page,
body.ch-route-community .ch-notifications-page,
body[class*="ch-route-community"] .ch-notifications-page,
body.ch-route-community .ch-members-directory-page,
body[class*="ch-route-community"] .ch-members-directory-page,
body.ch-route-community .ch-profile-page,
body[class*="ch-route-community"] .ch-profile-page {
  margin-top: 0 !important;
}

/* Shared header language for social pages: mixture of clean activity header + nicer member header. */
body[class*="ch-route-community"] .ch-bookmarks-header,
body[class*="ch-route-community"] .ch-notifications-header,
body[class*="ch-route-community"] .ch-members-directory-header,
body[class*="ch-route-community"] .ch-profile-section-header,
body[class*="ch-route-community"] .ch-profile-section-title,
body[class*="ch-route-community"] .ch-section-header,
body[class*="ch-route-community"] .ch-section-title {
  margin: 0 0 14px !important;
  padding: 16px 18px !important;
  border-radius: 20px !important;
  border: 1px solid var(--ch-theme-border) !important;
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--ch-theme-blue) 12%, transparent), transparent 22rem),
    var(--ch-theme-surface) !important;
  color: var(--ch-theme-text) !important;
  box-shadow: 0 14px 36px rgba(16, 24, 40, 0.065) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-members-directory-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-profile-section-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-profile-section-title,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-section-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-section-title {
  background:
    radial-gradient(circle at top left, rgba(0,128,255,.14), transparent 22rem),
    var(--ch-theme-surface) !important;
  border-color: var(--ch-theme-border) !important;
  color: var(--ch-theme-text) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22) !important;
}

body[class*="ch-route-community"] .ch-bookmarks-header h1,
body[class*="ch-route-community"] .ch-bookmarks-header h2,
body[class*="ch-route-community"] .ch-notifications-header h1,
body[class*="ch-route-community"] .ch-notifications-header h2,
body[class*="ch-route-community"] .ch-members-directory-header h1,
body[class*="ch-route-community"] .ch-members-directory-header h2,
body[class*="ch-route-community"] .ch-profile-section-header h1,
body[class*="ch-route-community"] .ch-profile-section-header h2,
body[class*="ch-route-community"] .ch-profile-section-title h1,
body[class*="ch-route-community"] .ch-profile-section-title h2,
body[class*="ch-route-community"] .ch-section-header h1,
body[class*="ch-route-community"] .ch-section-header h2,
body[class*="ch-route-community"] .ch-section-title h1,
body[class*="ch-route-community"] .ch-section-title h2 {
  margin: 0 !important;
  color: var(--ch-theme-text) !important;
  letter-spacing: -0.035em !important;
  line-height: 1.06 !important;
}

body[class*="ch-route-community"] .ch-bookmarks-header p,
body[class*="ch-route-community"] .ch-notifications-header p,
body[class*="ch-route-community"] .ch-members-directory-header p {
  margin: 6px 0 0 !important;
  color: var(--ch-theme-muted) !important;
  font-weight: 750 !important;
}

/* Desktop social grid: exact equal geometry. The same fixed gap exists on both sides of the timeline. */
@media (min-width: 1180px) {
  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community {
    --ch-social-stack-width: 820px;
    --ch-social-widget-width: 340px;
    --ch-social-widget-gap: 6px;
    width: min(100% - 12px, calc((var(--ch-social-widget-width) * 2) + var(--ch-social-stack-width) + (var(--ch-social-widget-gap) * 2))) !important;
    max-width: calc((var(--ch-social-widget-width) * 2) + var(--ch-social-stack-width) + (var(--ch-social-widget-gap) * 2)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.ch-route-community .ch-theme-community-shell,
  body[class*="ch-route-community"] .ch-theme-community-shell {
    display: grid !important;
    align-items: start !important;
    justify-content: center !important;
    column-gap: var(--ch-social-widget-gap) !important;
    gap: var(--ch-social-widget-gap) !important;
    row-gap: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both {
    grid-template-columns: var(--ch-social-widget-width) var(--ch-social-stack-width) var(--ch-social-widget-width) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left {
    grid-template-columns: var(--ch-social-widget-width) var(--ch-social-stack-width) !important;
    max-width: calc(var(--ch-social-widget-width) + var(--ch-social-widget-gap) + var(--ch-social-stack-width)) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right {
    grid-template-columns: var(--ch-social-stack-width) var(--ch-social-widget-width) !important;
    max-width: calc(var(--ch-social-stack-width) + var(--ch-social-widget-gap) + var(--ch-social-widget-width)) !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-sidebar--left,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-sidebar--left,
  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-left > .ch-theme-sidebar--left,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left > .ch-theme-sidebar--left {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: var(--ch-social-widget-width) !important;
    max-width: var(--ch-social-widget-width) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-community-content-wrap,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-community-content-wrap,
  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-left > .ch-theme-community-content-wrap,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left > .ch-theme-community-content-wrap,
  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-right > .ch-theme-community-content-wrap,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right > .ch-theme-community-content-wrap {
    grid-column: auto !important;
    justify-self: stretch !important;
    width: var(--ch-social-stack-width) !important;
    max-width: var(--ch-social-stack-width) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-sidebar--right,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both > .ch-theme-sidebar--right,
  body.ch-route-community .ch-theme-community-shell.ch-theme-layout--sidebar-right > .ch-theme-sidebar--right,
  body[class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right > .ch-theme-sidebar--right {
    grid-column: auto !important;
    justify-self: stretch !important;
    width: var(--ch-social-widget-width) !important;
    max-width: var(--ch-social-widget-width) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  /* Remove invisible wrapper spacing that can make the left/right columns look uneven. */
  body.ch-route-community .ch-theme-community-sidebar,
  body[class*="ch-route-community"] .ch-theme-community-sidebar {
    box-sizing: border-box !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ch-route-community .ch-theme-community-sidebar > .ch-theme-widget,
  body.ch-route-community .ch-theme-community-sidebar > .widget,
  body.ch-route-community .ch-theme-community-sidebar > section,
  body[class*="ch-route-community"] .ch-theme-community-sidebar > .ch-theme-widget,
  body[class*="ch-route-community"] .ch-theme-community-sidebar > .widget,
  body[class*="ch-route-community"] .ch-theme-community-sidebar > section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.ch-route-community .ch-composer,
  body.ch-route-community .ch-feed,
  body.ch-route-community .ch-single-post,
  body.ch-route-community .ch-feed .ch-activity-card,
  body[class*="ch-route-community"] .ch-composer,
  body[class*="ch-route-community"] .ch-feed,
  body[class*="ch-route-community"] .ch-single-post,
  body[class*="ch-route-community"] .ch-feed .ch-activity-card {
    width: 100% !important;
    max-width: var(--ch-social-stack-width) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Restore the v0.2.17 X-style behavior explicitly after later spacing rules. */
  body.ch-route-community .ch-theme-community-sidebar,
  body[class*="ch-route-community"] .ch-theme-community-sidebar {
    position: sticky !important;
    top: var(--ch-community-sidebar-sticky-top, 88px) !important;
    align-self: start !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
  }

  body.admin-bar.ch-route-community .ch-theme-community-sidebar,
  body.admin-bar[class*="ch-route-community"] .ch-theme-community-sidebar {
    top: var(--ch-community-sidebar-sticky-top, 120px) !important;
  }
}

@media (max-width: 781px) {
  body.ch-route-community .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body.ch-route-community .ch-theme-community-main,
  body[class*="ch-route-community"] .ch-theme-community-main,
  body.ch-route-community .ch-theme-container--community,
  body[class*="ch-route-community"] .ch-theme-container--community,
  body.ch-route-community .ch-theme-community-shell,
  body[class*="ch-route-community"] .ch-theme-community-shell {
    padding-top: 5px !important;
  }

  body[class*="ch-route-community"] .ch-bookmarks-header,
  body[class*="ch-route-community"] .ch-notifications-header,
  body[class*="ch-route-community"] .ch-members-directory-header,
  body[class*="ch-route-community"] .ch-profile-section-header,
  body[class*="ch-route-community"] .ch-profile-section-title,
  body[class*="ch-route-community"] .ch-section-header,
  body[class*="ch-route-community"] .ch-section-title {
    padding: 14px !important;
    border-radius: 18px !important;
    margin-bottom: 12px !important;
  }
}

/* =========================================================
   v0.2.23: Restore X-style widget column scroll behavior
   - Keeps v0.2.22 equal column geometry.
   - No independent sidebar scrollbars.
   - Long widget columns reveal their bottom with normal page scroll,
     then stick/follow as the timeline keeps loading.
   ========================================================= */
@media (min-width: 1180px) {
  body.ch-route-community .ch-theme-community-shell > .ch-theme-sidebar,
  body[class*="ch-route-community"] .ch-theme-community-shell > .ch-theme-sidebar,
  body.ch-route-community .ch-theme-community-sidebar,
  body[class*="ch-route-community"] .ch-theme-community-sidebar {
    position: sticky !important;
    top: var(--ch-community-sidebar-sticky-top, 88px) !important;
    align-self: start !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto !important;
  }

  body.admin-bar.ch-route-community .ch-theme-community-shell > .ch-theme-sidebar,
  body.admin-bar[class*="ch-route-community"] .ch-theme-community-shell > .ch-theme-sidebar,
  body.admin-bar.ch-route-community .ch-theme-community-sidebar,
  body.admin-bar[class*="ch-route-community"] .ch-theme-community-sidebar {
    top: var(--ch-community-sidebar-sticky-top, 120px) !important;
  }

  body.ch-route-community .ch-sidebar-feed-guard,
  body[class*="ch-route-community"] .ch-sidebar-feed-guard {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
  }
}

/* =========================================================
   v0.2.24: Uniform social page header standard
   - Community, Members, Notifications, Saved use same compact hero rhythm.
   - Mixes the clean Activity feel with the nicer Members card feel.
   - Reduces top dead space consistently across social routes.
   - Does not change v0.2.23 X-style widget column behavior.
   Theme-only. Core plugin untouched.
   ========================================================= */

/* Shared social route top rhythm: same starting point for all social screens. */
body.ch-route-community .ch-theme-main,
body.ch-route-members .ch-theme-main,
body.ch-route-notifications .ch-theme-main,
body.ch-route-saved .ch-theme-main,
body[class*="ch-route-community"] .ch-theme-main,
body[class*="ch-route-members"] .ch-theme-main,
body[class*="ch-route-notifications"] .ch-theme-main,
body[class*="ch-route-saved"] .ch-theme-main,
body.ch-route-community .ch-theme-community-main,
body.ch-route-members .ch-theme-community-main,
body.ch-route-notifications .ch-theme-community-main,
body.ch-route-saved .ch-theme-community-main,
body[class*="ch-route-community"] .ch-theme-community-main,
body[class*="ch-route-members"] .ch-theme-community-main,
body[class*="ch-route-notifications"] .ch-theme-community-main,
body[class*="ch-route-saved"] .ch-theme-community-main {
  padding-top: clamp(8px, 1.2vw, 14px) !important;
}

body.ch-route-community .ch-theme-container--community,
body.ch-route-members .ch-theme-container--community,
body.ch-route-notifications .ch-theme-container--community,
body.ch-route-saved .ch-theme-container--community,
body[class*="ch-route-community"] .ch-theme-container--community,
body[class*="ch-route-members"] .ch-theme-container--community,
body[class*="ch-route-notifications"] .ch-theme-container--community,
body[class*="ch-route-saved"] .ch-theme-container--community,
body.ch-route-community .ch-theme-community-shell,
body.ch-route-members .ch-theme-community-shell,
body.ch-route-notifications .ch-theme-community-shell,
body.ch-route-saved .ch-theme-community-shell,
body[class*="ch-route-community"] .ch-theme-community-shell,
body[class*="ch-route-members"] .ch-theme-community-shell,
body[class*="ch-route-notifications"] .ch-theme-community-shell,
body[class*="ch-route-saved"] .ch-theme-community-shell {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.ch-route-community .ch-theme-community-content-wrap > :first-child,
body.ch-route-members .ch-theme-community-content-wrap > :first-child,
body.ch-route-notifications .ch-theme-community-content-wrap > :first-child,
body.ch-route-saved .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-community"] .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-members"] .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-notifications"] .ch-theme-community-content-wrap > :first-child,
body[class*="ch-route-saved"] .ch-theme-community-content-wrap > :first-child {
  margin-top: 0 !important;
}

/* The four social headers should feel like one product family. */
body.ch-theme .ch-community-feed-header,
body.ch-theme .ch-community-header,
body.ch-theme .ch-feed-header,
body.ch-theme .ch-member-directory-header,
body.ch-theme .ch-members-directory-header,
body.ch-theme .ch-members-header,
body.ch-theme .ch-notifications-header,
body.ch-theme .ch-bookmarks-header,
body.ch-theme .ch-saved-header,
body.ch-theme .ch-page-header--community,
body.ch-theme .ch-social-page-header,
body.ch-route-community .ch-theme-page-header,
body.ch-route-members .ch-theme-page-header,
body.ch-route-notifications .ch-theme-page-header,
body.ch-route-saved .ch-theme-page-header,
body[class*="ch-route-community"] .ch-theme-page-header,
body[class*="ch-route-members"] .ch-theme-page-header,
body[class*="ch-route-notifications"] .ch-theme-page-header,
body[class*="ch-route-saved"] .ch-theme-page-header {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: clamp(14px, 1.7vw, 18px) clamp(16px, 2vw, 22px) !important;
  border-radius: 20px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 88%, transparent) !important;
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--ch-theme-blue) 13%, transparent), transparent 18rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-surface) 96%, var(--ch-theme-blue)), var(--ch-theme-surface)) !important;
  box-shadow: 0 12px 30px rgba(16, 24, 40, 0.055) !important;
  color: var(--ch-theme-text) !important;
}

/* Keep the Activity header clean: no giant hero, just polished social-card energy. */
body.ch-theme .ch-community-feed-header::after,
body.ch-theme .ch-community-header::after,
body.ch-theme .ch-feed-header::after,
body.ch-theme .ch-member-directory-header::after,
body.ch-theme .ch-members-directory-header::after,
body.ch-theme .ch-members-header::after,
body.ch-theme .ch-notifications-header::after,
body.ch-theme .ch-bookmarks-header::after,
body.ch-theme .ch-saved-header::after,
body.ch-theme .ch-page-header--community::after,
body.ch-theme .ch-social-page-header::after,
body.ch-route-community .ch-theme-page-header::after,
body.ch-route-members .ch-theme-page-header::after,
body.ch-route-notifications .ch-theme-page-header::after,
body.ch-route-saved .ch-theme-page-header::after,
body[class*="ch-route-community"] .ch-theme-page-header::after,
body[class*="ch-route-members"] .ch-theme-page-header::after,
body[class*="ch-route-notifications"] .ch-theme-page-header::after,
body[class*="ch-route-saved"] .ch-theme-page-header::after {
  content: "" !important;
  position: absolute !important;
  right: -70px !important;
  top: -85px !important;
  width: 190px !important;
  height: 190px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--ch-theme-blue) 15%, transparent), transparent 68%) !important;
  pointer-events: none !important;
}

body.ch-theme .ch-community-feed-header h1,
body.ch-theme .ch-community-feed-header h2,
body.ch-theme .ch-community-header h1,
body.ch-theme .ch-community-header h2,
body.ch-theme .ch-feed-header h1,
body.ch-theme .ch-feed-header h2,
body.ch-theme .ch-member-directory-header h1,
body.ch-theme .ch-member-directory-header h2,
body.ch-theme .ch-members-directory-header h1,
body.ch-theme .ch-members-directory-header h2,
body.ch-theme .ch-members-header h1,
body.ch-theme .ch-members-header h2,
body.ch-theme .ch-notifications-header h1,
body.ch-theme .ch-notifications-header h2,
body.ch-theme .ch-bookmarks-header h1,
body.ch-theme .ch-bookmarks-header h2,
body.ch-theme .ch-saved-header h1,
body.ch-theme .ch-saved-header h2,
body.ch-theme .ch-page-header--community h1,
body.ch-theme .ch-page-header--community h2,
body.ch-theme .ch-social-page-header h1,
body.ch-theme .ch-social-page-header h2,
body.ch-route-community .ch-theme-page-header h1,
body.ch-route-community .ch-theme-page-header h2,
body.ch-route-members .ch-theme-page-header h1,
body.ch-route-members .ch-theme-page-header h2,
body.ch-route-notifications .ch-theme-page-header h1,
body.ch-route-notifications .ch-theme-page-header h2,
body.ch-route-saved .ch-theme-page-header h1,
body.ch-route-saved .ch-theme-page-header h2,
body[class*="ch-route-community"] .ch-theme-page-header h1,
body[class*="ch-route-community"] .ch-theme-page-header h2,
body[class*="ch-route-members"] .ch-theme-page-header h1,
body[class*="ch-route-members"] .ch-theme-page-header h2,
body[class*="ch-route-notifications"] .ch-theme-page-header h1,
body[class*="ch-route-notifications"] .ch-theme-page-header h2,
body[class*="ch-route-saved"] .ch-theme-page-header h1,
body[class*="ch-route-saved"] .ch-theme-page-header h2 {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  color: var(--ch-theme-text) !important;
  font-size: clamp(1.42rem, 2.1vw, 2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
}

body.ch-theme .ch-community-feed-header p,
body.ch-theme .ch-community-header p,
body.ch-theme .ch-feed-header p,
body.ch-theme .ch-member-directory-header p,
body.ch-theme .ch-members-directory-header p,
body.ch-theme .ch-members-header p,
body.ch-theme .ch-notifications-header p,
body.ch-theme .ch-bookmarks-header p,
body.ch-theme .ch-saved-header p,
body.ch-theme .ch-page-header--community p,
body.ch-theme .ch-social-page-header p,
body.ch-route-community .ch-theme-page-header p,
body.ch-route-members .ch-theme-page-header p,
body.ch-route-notifications .ch-theme-page-header p,
body.ch-route-saved .ch-theme-page-header p,
body[class*="ch-route-community"] .ch-theme-page-header p,
body[class*="ch-route-members"] .ch-theme-page-header p,
body[class*="ch-route-notifications"] .ch-theme-page-header p,
body[class*="ch-route-saved"] .ch-theme-page-header p,
body.ch-theme .ch-notifications-description,
body.ch-theme .ch-bookmarks-description,
body.ch-theme .ch-members-description {
  position: relative !important;
  z-index: 1 !important;
  max-width: 720px !important;
  margin: 5px 0 0 !important;
  color: var(--ch-theme-muted) !important;
  font-size: .94rem !important;
  line-height: 1.42 !important;
  font-weight: 750 !important;
}

/* Header actions/search inside social headers should be compact and aligned, not add vertical dead space. */
body.ch-theme .ch-community-feed-header .ch-actions,
body.ch-theme .ch-community-header .ch-actions,
body.ch-theme .ch-feed-header .ch-actions,
body.ch-theme .ch-member-directory-header .ch-actions,
body.ch-theme .ch-members-directory-header .ch-actions,
body.ch-theme .ch-members-header .ch-actions,
body.ch-theme .ch-notifications-header .ch-actions,
body.ch-theme .ch-bookmarks-header .ch-actions,
body.ch-theme .ch-saved-header .ch-actions,
body.ch-theme .ch-social-page-header .ch-actions,
body.ch-theme .ch-notifications-header-actions,
body.ch-theme .ch-bookmarks-header-actions,
body.ch-theme .ch-members-header-actions {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 10px !important;
  gap: 8px !important;
}

/* Dark mode: same social header system. */
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-member-directory-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-directory-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-members-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-page-header--community,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-social-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-members .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-notifications .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-community"] .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-members"] .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-notifications"] .ch-theme-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme[class*="ch-route-saved"] .ch-theme-page-header {
  background:
    radial-gradient(circle at 0% 0%, rgba(0, 128, 255, .16), transparent 18rem),
    linear-gradient(135deg, rgba(15, 27, 45, .96), var(--ch-theme-surface)) !important;
  border-color: var(--ch-theme-border) !important;
  color: var(--ch-theme-text) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24) !important;
}

/* Mobile keeps the same product language but gets users to content fast. */
@media (max-width: 781px) {
  body.ch-route-community .ch-theme-main,
  body.ch-route-members .ch-theme-main,
  body.ch-route-notifications .ch-theme-main,
  body.ch-route-saved .ch-theme-main,
  body[class*="ch-route-community"] .ch-theme-main,
  body[class*="ch-route-members"] .ch-theme-main,
  body[class*="ch-route-notifications"] .ch-theme-main,
  body[class*="ch-route-saved"] .ch-theme-main {
    padding-top: 6px !important;
  }

  body.ch-theme .ch-community-feed-header,
  body.ch-theme .ch-community-header,
  body.ch-theme .ch-feed-header,
  body.ch-theme .ch-member-directory-header,
  body.ch-theme .ch-members-directory-header,
  body.ch-theme .ch-members-header,
  body.ch-theme .ch-notifications-header,
  body.ch-theme .ch-bookmarks-header,
  body.ch-theme .ch-saved-header,
  body.ch-theme .ch-page-header--community,
  body.ch-theme .ch-social-page-header,
  body.ch-route-community .ch-theme-page-header,
  body.ch-route-members .ch-theme-page-header,
  body.ch-route-notifications .ch-theme-page-header,
  body.ch-route-saved .ch-theme-page-header,
  body[class*="ch-route-community"] .ch-theme-page-header,
  body[class*="ch-route-members"] .ch-theme-page-header,
  body[class*="ch-route-notifications"] .ch-theme-page-header,
  body[class*="ch-route-saved"] .ch-theme-page-header {
    margin-bottom: 10px !important;
    padding: 13px 14px !important;
    border-radius: 18px !important;
  }

  body.ch-theme .ch-community-feed-header h1,
  body.ch-theme .ch-community-feed-header h2,
  body.ch-theme .ch-community-header h1,
  body.ch-theme .ch-community-header h2,
  body.ch-theme .ch-feed-header h1,
  body.ch-theme .ch-feed-header h2,
  body.ch-theme .ch-member-directory-header h1,
  body.ch-theme .ch-member-directory-header h2,
  body.ch-theme .ch-members-directory-header h1,
  body.ch-theme .ch-members-directory-header h2,
  body.ch-theme .ch-members-header h1,
  body.ch-theme .ch-members-header h2,
  body.ch-theme .ch-notifications-header h1,
  body.ch-theme .ch-notifications-header h2,
  body.ch-theme .ch-bookmarks-header h1,
  body.ch-theme .ch-bookmarks-header h2,
  body.ch-theme .ch-saved-header h1,
  body.ch-theme .ch-saved-header h2,
  body.ch-theme .ch-page-header--community h1,
  body.ch-theme .ch-page-header--community h2,
  body.ch-theme .ch-social-page-header h1,
  body.ch-theme .ch-social-page-header h2,
  body.ch-route-community .ch-theme-page-header h1,
  body.ch-route-members .ch-theme-page-header h1,
  body.ch-route-notifications .ch-theme-page-header h1,
  body.ch-route-saved .ch-theme-page-header h1,
  body[class*="ch-route-community"] .ch-theme-page-header h1,
  body[class*="ch-route-members"] .ch-theme-page-header h1,
  body[class*="ch-route-notifications"] .ch-theme-page-header h1,
  body[class*="ch-route-saved"] .ch-theme-page-header h1 {
    font-size: clamp(1.22rem, 6vw, 1.55rem) !important;
  }
}


/* =========================================================
   v0.2.25: Social header standard lock + exact header classes
   - Preserves approved desktop widget column geometry/behavior.
   - Fixes Community/Members/Notifications/Saved headers using exact markup classes.
   - Makes header nav buttons clean, compact, and consistent.
   ========================================================= */

body.ch-theme.ch-route-community {
  --ch-social-header-gap-top: 8px;
  --ch-social-header-gap-bottom: 12px;
  --ch-social-header-radius: 18px;
  --ch-social-header-pad-y: 14px;
  --ch-social-header-pad-x: 16px;
}

/* Get social pages to content fast without smashing into the sticky site header. */
body.ch-theme.ch-route-community .ch-theme-main {
  padding-top: var(--ch-social-header-gap-top) !important;
}

body.ch-theme.ch-route-community .ch-theme-community-shell,
body.ch-theme.ch-route-community .ch-theme-community-content-wrap,
body.ch-theme.ch-route-community .ch-community-feed-page,
body.ch-theme.ch-route-community .ch-member-directory,
body.ch-theme.ch-route-community .ch-notifications-page,
body.ch-theme.ch-route-community .ch-bookmarks-page,
body.ch-theme.ch-route-community .ch-saved-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Exact current headers for the four main social pages. */
body.ch-theme.ch-route-community .ch-community-feed-header,
body.ch-theme.ch-route-community .ch-member-directory-hero,
body.ch-theme.ch-route-community .ch-notifications-header,
body.ch-theme.ch-route-community .ch-bookmarks-header {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 var(--ch-social-header-gap-bottom) 0 !important;
  padding: var(--ch-social-header-pad-y) var(--ch-social-header-pad-x) !important;
  border-radius: var(--ch-social-header-radius) !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 82%, transparent) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ch-theme-blue) 10%, transparent), transparent 15rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-blue) 5%, var(--ch-theme-surface)), var(--ch-theme-surface)) !important;
  box-shadow: 0 10px 26px rgba(16, 24, 40, 0.055) !important;
  color: var(--ch-theme-text) !important;
}

/* Remove older oversized decoration from prior header experiments. */
body.ch-theme.ch-route-community .ch-community-feed-header::after,
body.ch-theme.ch-route-community .ch-member-directory-hero::after,
body.ch-theme.ch-route-community .ch-notifications-header::after,
body.ch-theme.ch-route-community .ch-bookmarks-header::after {
  content: "" !important;
  position: absolute !important;
  inset: auto -52px -82px auto !important;
  width: 150px !important;
  height: 150px !important;
  border-radius: 999px !important;
  background: radial-gradient(circle, color-mix(in srgb, var(--ch-theme-blue) 12%, transparent), transparent 68%) !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header > div:first-child,
body.ch-theme.ch-route-community .ch-member-directory-hero > div:first-child,
body.ch-theme.ch-route-community .ch-notifications-header > div:first-child,
body.ch-theme.ch-route-community .ch-bookmarks-header > div:first-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header h1,
body.ch-theme.ch-route-community .ch-community-feed-header h2,
body.ch-theme.ch-route-community .ch-member-directory-hero h1,
body.ch-theme.ch-route-community .ch-member-directory-hero h2,
body.ch-theme.ch-route-community .ch-notifications-header h1,
body.ch-theme.ch-route-community .ch-notifications-header h2,
body.ch-theme.ch-route-community .ch-bookmarks-header h1,
body.ch-theme.ch-route-community .ch-bookmarks-header h2 {
  margin: 0 !important;
  color: var(--ch-theme-text) !important;
  font-size: clamp(1.34rem, 2vw, 1.9rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header p,
body.ch-theme.ch-route-community .ch-member-directory-hero p,
body.ch-theme.ch-route-community .ch-notifications-header p,
body.ch-theme.ch-route-community .ch-bookmarks-header p,
body.ch-theme.ch-route-community .ch-page-subtitle {
  margin: 5px 0 0 !important;
  color: var(--ch-theme-muted) !important;
  font-size: .92rem !important;
  line-height: 1.36 !important;
  font-weight: 750 !important;
}

body.ch-theme.ch-route-community .ch-page-eyebrow,
body.ch-theme.ch-route-community .ch-member-directory-kicker {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 6px 0 !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 18%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-blue) 8%, transparent) !important;
  color: var(--ch-theme-blue-dark) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}

/* Header right-side blocks: keep them useful, not oversized. */
body.ch-theme.ch-route-community .ch-member-directory-side,
body.ch-theme.ch-route-community .ch-page-actions,
body.ch-theme.ch-route-community .ch-notifications-actions,
body.ch-theme.ch-route-community .ch-bookmarks-count {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  margin: 0 !important;
}

body.ch-theme.ch-route-community .ch-member-directory-count,
body.ch-theme.ch-route-community .ch-bookmarks-count {
  min-width: 86px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 85%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 70%, var(--ch-theme-surface)) !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.ch-theme.ch-route-community .ch-member-directory-count strong,
body.ch-theme.ch-route-community .ch-bookmarks-count span {
  display: block !important;
  color: var(--ch-theme-text) !important;
  font-size: 1.06rem !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
}

body.ch-theme.ch-route-community .ch-member-directory-count span,
body.ch-theme.ch-route-community .ch-bookmarks-count small {
  display: block !important;
  margin-top: 2px !important;
  color: var(--ch-theme-muted) !important;
  font-size: .7rem !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
}

/* Header nav: compact polished app tabs, not giant CTA buttons. */
body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-page-nav,
body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-page-nav,
body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-page-nav,
body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-page-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-nav-button,
body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-nav-button,
body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-nav-button,
body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-nav-button,
body.ch-theme.ch-route-community .ch-notifications-header .ch-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  width: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 78%, var(--ch-theme-surface)) !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ch-theme-text) 76%, var(--ch-theme-muted)) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-nav-button:hover,
body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-nav-button:hover,
body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-nav-button:hover,
body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-nav-button:hover,
body.ch-theme.ch-route-community .ch-notifications-header .ch-button:hover {
  background: color-mix(in srgb, var(--ch-theme-blue) 9%, var(--ch-theme-surface)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue) 30%, var(--ch-theme-border)) !important;
  color: var(--ch-theme-blue-dark) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  text-decoration: none !important;
}

body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-nav-button.is-active,
body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-nav-button.is-active,
body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-nav-button.is-active,
body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-nav-button.is-active {
  background: color-mix(in srgb, var(--ch-theme-blue) 14%, var(--ch-theme-surface)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
  color: var(--ch-theme-blue-dark) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ch-theme-blue) 10%, transparent) !important;
}

/* Dark mode support for the standard social headers. */
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-community-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-member-directory-hero,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-bookmarks-header {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 128, 255, .14), transparent 15rem),
    linear-gradient(135deg, rgba(15, 27, 45, .96), var(--ch-theme-surface)) !important;
  border-color: var(--ch-theme-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-page-eyebrow,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-member-directory-kicker {
  color: #93c5fd !important;
  background: rgba(96, 165, 250, .11) !important;
  border-color: rgba(96, 165, 250, .2) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-member-directory-count,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-bookmarks-count,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-nav-button,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-nav-button,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-nav-button,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-nav-button,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-notifications-header .ch-button {
  background: rgba(255, 255, 255, .055) !important;
  border-color: var(--ch-theme-border) !important;
  color: #dbeafe !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-nav-button.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-nav-button.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-nav-button.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-nav-button.is-active {
  background: rgba(59, 130, 246, .18) !important;
  border-color: rgba(96, 165, 250, .42) !important;
  color: #ffffff !important;
}

@media (max-width: 781px) {
  body.ch-theme.ch-route-community {
    --ch-social-header-gap-top: 5px;
    --ch-social-header-gap-bottom: 10px;
    --ch-social-header-pad-y: 12px;
    --ch-social-header-pad-x: 13px;
    --ch-social-header-radius: 17px;
  }

  body.ch-theme.ch-route-community .ch-community-feed-header,
  body.ch-theme.ch-route-community .ch-member-directory-hero,
  body.ch-theme.ch-route-community .ch-notifications-header,
  body.ch-theme.ch-route-community .ch-bookmarks-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
  }

  body.ch-theme.ch-route-community .ch-member-directory-side,
  body.ch-theme.ch-route-community .ch-page-actions,
  body.ch-theme.ch-route-community .ch-notifications-actions,
  body.ch-theme.ch-route-community .ch-bookmarks-count {
    justify-content: flex-start !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  body.ch-theme.ch-route-community .ch-community-feed-header .ch-hub-page-nav,
  body.ch-theme.ch-route-community .ch-member-directory-hero .ch-hub-page-nav,
  body.ch-theme.ch-route-community .ch-notifications-header .ch-hub-page-nav,
  body.ch-theme.ch-route-community .ch-bookmarks-header .ch-hub-page-nav {
    justify-content: flex-start !important;
  }

  body.ch-theme.ch-route-community .ch-community-feed-header h1,
  body.ch-theme.ch-route-community .ch-member-directory-hero h1,
  body.ch-theme.ch-route-community .ch-notifications-header h1,
  body.ch-theme.ch-route-community .ch-bookmarks-header h1 {
    font-size: clamp(1.2rem, 6vw, 1.52rem) !important;
  }
}

/* =========================================================
   v0.2.26: Saved Posts header alignment
   - Preserves the approved v0.2.23/v0.2.24 desktop widget column standard.
   - Makes the Saved Posts header use the same header/nav structure visually
     as Community, Members, and Notifications.
   ========================================================= */

body.ch-theme.ch-route-community .ch-bookmarks-page,
body.ch-theme.ch-route-community .ch-saved-page,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page,
body.ch-theme .ch-theme-community-shell--saved .ch-saved-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.ch-theme.ch-route-community .ch-bookmarks-shell,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* The saved page used a separate top nav. Theme JS moves it into this header;
   these rules make the fallback and moved state look the same either way. */
body.ch-theme.ch-route-community .ch-bookmarks-header.ch-page-hero,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero {
  box-sizing: border-box !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 var(--ch-social-header-gap-bottom, 12px) 0 !important;
  padding: var(--ch-social-header-pad-y, 14px) var(--ch-social-header-pad-x, 16px) !important;
  border-radius: var(--ch-social-header-radius, 18px) !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 82%, transparent) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ch-theme-blue) 10%, transparent), transparent 15rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-blue) 5%, var(--ch-theme-surface)), var(--ch-theme-surface)) !important;
  box-shadow: 0 10px 26px rgba(16, 24, 40, 0.055) !important;
  color: var(--ch-theme-text) !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero > div:first-child {
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero h1,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero h2 {
  margin: 0 !important;
  color: var(--ch-theme-text) !important;
  font-size: clamp(1.34rem, 2vw, 1.9rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.045em !important;
  font-weight: 950 !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero p {
  margin: 6px 0 0 0 !important;
  max-width: 46rem !important;
  color: var(--ch-theme-muted) !important;
  font-size: .92rem !important;
  line-height: 1.36 !important;
  font-weight: 750 !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-page-eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  margin: 0 0 6px 0 !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 18%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-blue) 8%, transparent) !important;
  color: var(--ch-theme-blue-dark) !important;
  font-size: .72rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-actions {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  margin: 0 !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-actions .ch-bookmarks-count {
  min-width: 86px !important;
  padding: 8px 10px !important;
  border-radius: 14px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 85%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 70%, var(--ch-theme-surface)) !important;
  box-shadow: none !important;
  text-align: center !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-in-header {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-button,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  width: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 78%, var(--ch-theme-surface)) !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ch-theme-text) 76%, var(--ch-theme-muted)) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-button.is-active,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-link.is-active {
  background: color-mix(in srgb, var(--ch-theme-blue) 14%, var(--ch-theme-surface)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
  color: var(--ch-theme-blue-dark) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ch-theme-blue) 10%, transparent) !important;
}

/* While JS is loading, keep the saved-only old nav from adding a different page rhythm. */
body.ch-theme .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) {
  margin: 0 0 10px 0 !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 128, 255, .14), transparent 15rem),
    linear-gradient(135deg, rgba(15, 27, 45, .96), var(--ch-theme-surface)) !important;
  border-color: var(--ch-theme-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-page-eyebrow {
  color: #93c5fd !important;
  background: rgba(96, 165, 250, .11) !important;
  border-color: rgba(96, 165, 250, .2) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-actions .ch-bookmarks-count,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-button,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-link {
  background: rgba(255, 255, 255, .055) !important;
  border-color: var(--ch-theme-border) !important;
  color: #dbeafe !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-button.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav .ch-hub-nav-link.is-active {
  background: rgba(59, 130, 246, .18) !important;
  border-color: rgba(96, 165, 250, .42) !important;
  color: #ffffff !important;
}

@media (max-width: 781px) {
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    padding: 12px 13px !important;
    border-radius: 17px !important;
  }

  body.ch-theme .ch-bookmarks-page .ch-bookmarks-actions {
    justify-content: flex-start !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-in-header {
    justify-content: flex-start !important;
  }

  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero h1 {
    font-size: clamp(1.2rem, 6vw, 1.52rem) !important;
  }
}

/* =========================================================
   v0.2.27: Saved Posts top-gap match
   - Header-only/top-rhythm correction for Saved Posts.
   - The approved desktop widget columns are intentionally untouched.
   ========================================================= */

/* Saved should start at the same vertical rhythm as Community/Members/Notifications. */
body.ch-theme .ch-theme-community-shell--saved,
body.ch-theme .ch-theme-community-shell--saved .ch-theme-community-content-wrap,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page,
body.ch-theme .ch-theme-community-shell--saved .ch-saved-page,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
body.ch-theme.ch-route-saved .ch-theme-main,
body.ch-theme.ch-route-saved .ch-theme-community-main,
body.ch-theme.ch-route-saved .ch-theme-container--community,
body.ch-theme.ch-route-saved .ch-theme-community-shell,
body.ch-theme.ch-route-saved .ch-theme-community-content-wrap,
body.ch-theme.ch-route-saved .ch-bookmarks-page,
body.ch-theme.ch-route-saved .ch-saved-page,
body.ch-theme.ch-route-saved .ch-bookmarks-shell {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* The theme main gets the same small social-page breathing room, not a separate Saved offset. */
body.ch-theme:has(.ch-theme-community-shell--saved) .ch-theme-main,
body.ch-theme:has(.ch-theme-community-shell--saved) .ch-theme-community-main,
body.ch-theme.ch-route-saved .ch-theme-main,
body.ch-theme.ch-route-saved .ch-theme-community-main {
  padding-top: var(--ch-social-header-gap-top, 8px) !important;
}

/* Kill extra first-child offsets that only affected the saved/bookmarks template. */
body.ch-theme .ch-theme-community-shell--saved .ch-theme-community-content-wrap > :first-child,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page:first-child,
body.ch-theme .ch-theme-community-shell--saved .ch-saved-page:first-child,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell:first-child,
body.ch-theme.ch-route-saved .ch-theme-community-content-wrap > :first-child,
body.ch-theme.ch-route-saved .ch-bookmarks-page:first-child,
body.ch-theme.ch-route-saved .ch-saved-page:first-child,
body.ch-theme.ch-route-saved .ch-bookmarks-shell:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Saved header itself should sit at the top of the content lane like the other social headers. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header,
body.ch-theme .ch-theme-community-shell--saved .ch-saved-header,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
body.ch-theme.ch-route-saved .ch-bookmarks-header,
body.ch-theme.ch-route-saved .ch-saved-header,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero {
  margin-top: 0 !important;
  margin-bottom: var(--ch-social-header-gap-bottom, 12px) !important;
}

/* If the saved nav is visible for a moment before JS moves it into the header, do not let it create top rhythm. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 781px) {
  body.ch-theme:has(.ch-theme-community-shell--saved) .ch-theme-main,
  body.ch-theme:has(.ch-theme-community-shell--saved) .ch-theme-community-main,
  body.ch-theme.ch-route-saved .ch-theme-main,
  body.ch-theme.ch-route-saved .ch-theme-community-main {
    padding-top: var(--ch-social-header-gap-top, 5px) !important;
  }

  body.ch-theme .ch-theme-community-shell--saved,
  body.ch-theme .ch-theme-community-shell--saved .ch-theme-community-content-wrap,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page,
  body.ch-theme .ch-theme-community-shell--saved .ch-saved-page,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
  body.ch-theme.ch-route-saved .ch-theme-community-shell,
  body.ch-theme.ch-route-saved .ch-theme-community-content-wrap,
  body.ch-theme.ch-route-saved .ch-bookmarks-page,
  body.ch-theme.ch-route-saved .ch-saved-page,
  body.ch-theme.ch-route-saved .ch-bookmarks-shell {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

/* =========================================================
   v0.2.28: Social page header standard lock
   - Locks Community, Members, Notifications, and Saved into one
     shared top rhythm/header language.
   - Does not touch the approved desktop widget column standard.
   ========================================================= */

body.ch-theme {
  --ch-social-header-gap-top: 8px;
  --ch-social-header-gap-bottom: 12px;
  --ch-social-header-pad-y: 14px;
  --ch-social-header-pad-x: 16px;
  --ch-social-header-radius: 18px;
}

/* One social-page top rhythm across the current social screens. */
body.ch-theme.ch-route-community .ch-theme-main,
body.ch-theme.ch-route-community .ch-theme-community-main,
body.ch-theme.ch-route-members .ch-theme-main,
body.ch-theme.ch-route-members .ch-theme-community-main,
body.ch-theme.ch-route-notifications .ch-theme-main,
body.ch-theme.ch-route-notifications .ch-theme-community-main,
body.ch-theme.ch-route-saved .ch-theme-main,
body.ch-theme.ch-route-saved .ch-theme-community-main,
body.ch-theme:has(.ch-community-feed-header) .ch-theme-main,
body.ch-theme:has(.ch-member-directory-hero) .ch-theme-main,
body.ch-theme:has(.ch-notifications-header) .ch-theme-main,
body.ch-theme:has(.ch-bookmarks-header) .ch-theme-main {
  padding-top: var(--ch-social-header-gap-top) !important;
}

/* Remove page/template-specific extra top offsets before the first social header. */
body.ch-theme .ch-theme-community-content-wrap,
body.ch-theme .ch-theme-community-shell,
body.ch-theme .ch-community-feed-page,
body.ch-theme .ch-member-directory,
body.ch-theme .ch-notifications-page,
body.ch-theme .ch-bookmarks-page,
body.ch-theme .ch-bookmarks-shell,
body.ch-theme .ch-saved-page {
  margin-top: 0 !important;
}

body.ch-theme .ch-theme-community-content-wrap > .ch-community-feed-header:first-child,
body.ch-theme .ch-theme-community-content-wrap > .ch-member-directory-hero:first-child,
body.ch-theme .ch-theme-community-content-wrap > .ch-notifications-header:first-child,
body.ch-theme .ch-theme-community-content-wrap > .ch-bookmarks-header:first-child,
body.ch-theme .ch-community-feed-header:first-child,
body.ch-theme .ch-member-directory-hero:first-child,
body.ch-theme .ch-notifications-header:first-child,
body.ch-theme .ch-bookmarks-header:first-child {
  margin-top: 0 !important;
}

/* Shared social header card language. */
body.ch-theme .ch-community-feed-header,
body.ch-theme .ch-member-directory-hero,
body.ch-theme .ch-notifications-header,
body.ch-theme .ch-bookmarks-header.ch-page-hero {
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: var(--ch-social-header-gap-bottom) !important;
  padding: var(--ch-social-header-pad-y) var(--ch-social-header-pad-x) !important;
  border-radius: var(--ch-social-header-radius) !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 82%, transparent) !important;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--ch-theme-blue) 9%, transparent), transparent 15rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ch-theme-blue) 4%, var(--ch-theme-surface)), var(--ch-theme-surface)) !important;
  box-shadow: 0 10px 26px rgba(16, 24, 40, 0.05) !important;
}

body.ch-theme .ch-community-feed-header h1,
body.ch-theme .ch-member-directory-hero h1,
body.ch-theme .ch-notifications-header h1,
body.ch-theme .ch-bookmarks-header.ch-page-hero h1,
body.ch-theme .ch-bookmarks-header.ch-page-hero h2 {
  margin-top: 0 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
}

/* Compact social header buttons/nav: polished, not glowy. */
body.ch-theme .ch-community-feed-header .ch-hub-nav-button,
body.ch-theme .ch-community-feed-header .ch-hub-nav-link,
body.ch-theme .ch-member-directory-hero .ch-hub-nav-button,
body.ch-theme .ch-member-directory-hero .ch-hub-nav-link,
body.ch-theme .ch-notifications-header .ch-hub-nav-button,
body.ch-theme .ch-notifications-header .ch-hub-nav-link,
body.ch-theme .ch-bookmarks-header .ch-hub-nav-button,
body.ch-theme .ch-bookmarks-header .ch-hub-nav-link,
body.ch-theme .ch-page-actions a,
body.ch-theme .ch-page-actions button,
body.ch-theme .ch-notifications-actions a,
body.ch-theme .ch-notifications-actions button {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-community-feed-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-member-directory-hero,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header.ch-page-hero {
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 128, 255, .13), transparent 15rem),
    linear-gradient(135deg, rgba(15, 27, 45, .96), var(--ch-theme-surface)) !important;
  border-color: var(--ch-theme-border) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .2) !important;
}

@media (max-width: 781px) {
  body.ch-theme {
    --ch-social-header-gap-top: 5px;
    --ch-social-header-gap-bottom: 10px;
    --ch-social-header-pad-y: 12px;
    --ch-social-header-pad-x: 13px;
    --ch-social-header-radius: 17px;
  }

  body.ch-theme .ch-community-feed-header,
  body.ch-theme .ch-member-directory-hero,
  body.ch-theme .ch-notifications-header,
  body.ch-theme .ch-bookmarks-header.ch-page-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 10px !important;
  }
}


/* =========================================================
   v0.2.30: Saved Posts header no-snap fix
   - Prevents the Saved Posts nav/buttons from flashing above/on top of
     the header before theme.js moves them into the approved header actions.
   - Header-only fix. The approved desktop widget column standard is untouched.
   ========================================================= */

/* Hide only the pre-move Saved nav to prevent the visible flash/snap. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Once JS moves the nav into the header, show it normally with no transition jump. */
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header .ch-bookmarks-nav-in-header,
body.ch-theme.ch-route-saved .ch-bookmarks-header .ch-bookmarks-nav-in-header,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header .ch-bookmarks-nav-in-header {
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: none !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero {
  transition: none !important;
}

/* =========================================================
   v0.2.31: Saved Posts header no-layout-shift fix
   - The previous fix hid the Saved buttons until JS placed them, but the
     subtitle still shifted when the actions row appeared.
   - Reserve the Saved header actions space from first paint, then replace
     that reserved space with the real buttons after theme.js moves them.
   - Header-only fix. Locked widget columns are untouched.
   ========================================================= */

body.ch-theme .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after {
  content: "";
  display: block;
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  border-radius: 999px;
  visibility: hidden;
  pointer-events: none;
}

body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions {
  min-height: 40px;
  margin-top: 10px;
  transition: none !important;
}

body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions *,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions * {
  transition: none !important;
}

@media (min-width: 782px) {
  body.ch-theme .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero:not(.ch-bookmarks-header-ready)::after {
    min-height: 42px;
  }

  body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-page-actions.ch-bookmarks-actions {
    min-height: 42px;
  }
}


/* =========================================================
   v0.2.32: Saved Posts header zero-snap correction (superseded by v0.2.33)
   - The Saved Posts page was the only social page still using JS reparenting.
   - Reparenting caused the buttons/subtext to visibly snap after page load.
   - This keeps the controls in their original DOM position and visually aligns
     them with the header from first paint.
   - Approved desktop widget columns are intentionally untouched.
   ========================================================= */

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
body.ch-theme.ch-route-saved .ch-bookmarks-shell,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell {
  position: relative !important;
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero {
  display: block !important;
  min-height: 86px !important;
  padding-right: clamp(300px, 32vw, 430px) !important;
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero > div:first-child,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero > div:first-child,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero > div:first-child {
  max-width: 100% !important;
}

/* Keep the count visually in the header without moving it after paint. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-count-zero-move {
  position: absolute !important;
  top: 14px !important;
  right: 16px !important;
  z-index: 3 !important;
  min-width: 86px !important;
  margin: 0 !important;
}

/* Keep the Saved nav visually in the header from first paint. No reparenting. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav,
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move {
  position: absolute !important;
  top: 50px !important;
  right: 16px !important;
  z-index: 4 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: auto !important;
  max-width: min(330px, 42vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav a,
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav a,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav a,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  width: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 78%, var(--ch-theme-surface)) !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ch-theme-text) 76%, var(--ch-theme-muted)) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a.is-active {
  background: color-mix(in srgb, var(--ch-theme-blue) 14%, var(--ch-theme-surface)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
  color: var(--ch-theme-blue-dark) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ch-theme-blue) 10%, transparent) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a {
  background: rgba(255,255,255,.055) !important;
  border-color: var(--ch-theme-border) !important;
  color: #dbeafe !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a.is-active {
  background: rgba(59,130,246,.18) !important;
  border-color: rgba(96,165,250,.42) !important;
  color: #ffffff !important;
}

@media (max-width: 781px) {
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding-right: 13px !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-count-zero-move {
    position: static !important;
    width: fit-content !important;
    margin-top: 10px !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav,
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move {
    position: static !important;
    justify-content: flex-start !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
  }
}


/* =========================================================
   v0.2.33: Saved Posts buttons visible / no missing controls
   - v0.2.32 proved the right direction: stop moving Saved nav after paint.
   - The older v0.2.30 hiding rule could still win on some installs, leaving
     Saved buttons invisible. This broad final override restores the buttons
     while keeping the no-reparent approach.
   - Header-only fix. Locked widget columns are untouched.
   ========================================================= */

body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav,
body.ch-theme .ch-saved-page .ch-bookmarks-nav,
body.ch-theme .ch-bookmarks-shell .ch-bookmarks-nav,
body.ch-theme.ch-route-saved .ch-bookmarks-nav,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transition: none !important;
}

body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-saved-page .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme.ch-route-saved .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Zero-move desktop placement: visually part of the header, but not reparented by JS. */
@media (min-width: 782px) {
  body.ch-theme .ch-bookmarks-page,
  body.ch-theme .ch-saved-page,
  body.ch-theme.ch-route-saved .ch-bookmarks-page,
  body.ch-theme.ch-route-saved .ch-saved-page {
    position: relative !important;
  }

  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero {
    padding-right: clamp(300px, 32vw, 430px) !important;
    min-height: 86px !important;
  }

  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav,
  body.ch-theme.ch-route-saved .ch-bookmarks-nav,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav {
    position: absolute !important;
    top: 50px !important;
    right: 16px !important;
    z-index: 40 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: auto !important;
    max-width: min(330px, 42vw) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }
}

@media (max-width: 781px) {
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav,
  body.ch-theme.ch-route-saved .ch-bookmarks-nav,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav {
    position: static !important;
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }
}

/* =========================================================
   v0.2.34: Saved Posts buttons stable restore
   - v0.2.33 was still losing against the older high-specificity
     v0.2.30 hide rule on some installs.
   - This final override uses the same direct child selectors as the hide rule,
     appears later in the stylesheet, and restores the Saved nav without any
     JS reparenting/snap.
   - Header-only fix. Locked desktop widget columns are untouched.
   ========================================================= */

body.ch-theme .ch-bookmarks-page,
body.ch-theme .ch-saved-page,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell,
body.ch-theme .ch-saved-page .ch-bookmarks-shell,
body.ch-theme.ch-route-saved .ch-bookmarks-page,
body.ch-theme.ch-route-saved .ch-saved-page,
body.ch-theme.ch-route-saved .ch-bookmarks-shell,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page,
body.ch-theme .ch-theme-community-shell--saved .ch-saved-page,
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell {
  position: relative !important;
}

/* Override the old pre-move hide rule with equal/higher specificity. */
body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transition: none !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Desktop: visually place the existing Saved nav in the header from first paint.
   No DOM move, so the subtitle/header should not jump. */
@media (min-width: 782px) {
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    position: relative !important;
    min-height: 94px !important;
    padding-right: clamp(310px, 34vw, 440px) !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    position: absolute !important;
    top: 52px !important;
    right: 16px !important;
    z-index: 50 !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: auto !important;
    max-width: min(340px, 42vw) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  width: auto !important;
  padding: 7px 10px !important;
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--ch-theme-border) 78%, transparent) !important;
  background: color-mix(in srgb, var(--ch-theme-surface-soft) 78%, var(--ch-theme-surface)) !important;
  background-image: none !important;
  color: color-mix(in srgb, var(--ch-theme-text) 76%, var(--ch-theme-muted)) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  font-size: .78rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a.is-active,
body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a.is-active {
  background: color-mix(in srgb, var(--ch-theme-blue) 14%, var(--ch-theme-surface)) !important;
  border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border)) !important;
  color: var(--ch-theme-blue-dark) !important;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ch-theme-blue) 10%, transparent) !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
  background: rgba(255,255,255,.055) !important;
  border-color: var(--ch-theme-border) !important;
  color: #dbeafe !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a.is-active,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a.is-active {
  background: rgba(59,130,246,.18) !important;
  border-color: rgba(96,165,250,.42) !important;
  color: #ffffff !important;
}

/* Mobile: keep the controls stable and visible without a post-render DOM move.
   They sit directly under the header instead of flashing/snapping into it. */
@media (max-width: 781px) {
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    min-height: 0 !important;
    padding-right: 13px !important;
    margin-bottom: 8px !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    position: static !important;
    order: 2 !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
  }
}


/* =========================================================
   v0.2.35: Saved Posts button row alignment
   - Keeps the no-snap/no-DOM-move Saved Posts header approach.
   - Fixes the Saved nav layout so the buttons align like the other
     social page headers instead of wrapping the active button underneath.
   - Locked desktop widget columns are intentionally untouched.
   ========================================================= */

@media (min-width: 782px) {
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    min-height: 104px !important;
    padding-right: clamp(390px, 46vw, 470px) !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-count-zero-move,
  body.ch-theme .ch-saved-page .ch-bookmarks-count-zero-move {
    top: 14px !important;
    right: 16px !important;
    min-width: 118px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    top: 58px !important;
    right: 16px !important;
    width: max-content !important;
    max-width: min(430px, calc(100% - 32px)) !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 7px 11px !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 782px) and (max-width: 940px) {
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    padding-right: clamp(350px, 48vw, 430px) !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    max-width: min(410px, calc(100% - 32px)) !important;
    gap: 6px !important;
  }

  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* =========================================================
   v0.2.37: Restore mobile admin menu/avatar tight placement
   - Built from the approved v0.2.35 Saved Posts header checkpoint so
     Saved buttons remain visible, aligned, and no-snap.
   - Admin mobile hamburger/account panels should not inherit an extra
     WordPress admin-bar gap. The approved mobile behavior is a tight
     app-style dropdown near the header controls.
   - Locked desktop widget columns and social header standard are untouched.
   ========================================================= */
@media (max-width: 782px) {
  body.admin-bar.ch-theme .ch-theme-menu-panel,
  body.admin-bar.ch-theme #ch-theme-menu-panel,
  html body.admin-bar.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  html body.admin-bar.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]) {
    top: 76px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    width: min(360px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(640px, calc(100dvh - 84px)) !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  body.admin-bar.ch-theme .ch-theme-account-panel,
  html body.admin-bar.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]) {
    top: 76px !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    width: min(360px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: min(640px, calc(100dvh - 84px)) !important;
    margin-top: 0 !important;
    transform: none !important;
  }
}


/* =========================================================
   v0.2.38: Mobile admin menu gap + quoted post color safety
   - Built on v0.2.37/v0.2.35 Saved Posts header behavior.
   - Tightens mobile hamburger/account dropdowns for admin users without
     touching locked desktop widget columns or Saved Posts button layout.
   - Normalizes quoted/reposted author and timestamp colors in light/dark mode.
   ========================================================= */
@media (max-width: 782px) {
  html body.ch-theme .ch-theme-menu-panel,
  html body.ch-theme #ch-theme-menu-panel,
  html body.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  html body.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]),
  html body.admin-bar.ch-theme .ch-theme-menu-panel,
  html body.admin-bar.ch-theme #ch-theme-menu-panel,
  html body.admin-bar.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  html body.admin-bar.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]) {
    top: 62px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    transform: none !important;
    max-height: min(640px, calc(100dvh - 72px)) !important;
  }

  html body.ch-theme .ch-theme-account-panel,
  html body.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]),
  html body.admin-bar.ch-theme .ch-theme-account-panel,
  html body.admin-bar.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]) {
    top: 62px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    transform: none !important;
    max-height: min(560px, calc(100dvh - 72px)) !important;
  }
}

/* Quoted/reposted embedded post headers should not inherit random link colors. */
body.ch-theme .ch-repost-embed .ch-repost-embed-name,
body.ch-theme .ch-repost-embed .ch-repost-embed-name a,
body.ch-theme .ch-repost-embed .ch-repost-original-name,
body.ch-theme .ch-repost-embed .ch-repost-original-name a,
body.ch-theme .ch-repost-embed .ch-repost-original-author,
body.ch-theme .ch-repost-embed .ch-repost-original-author a,
body.ch-theme .ch-repost-embed .ch-quote-original-author,
body.ch-theme .ch-repost-embed .ch-quote-original-author a,
body.ch-theme .ch-repost-embed .ch-quoted-author,
body.ch-theme .ch-repost-embed .ch-quoted-author a,
body.ch-theme .ch-repost-embed .ch-quote-author,
body.ch-theme .ch-repost-embed .ch-quote-author a,
body.ch-theme .ch-repost-embed .ch-quote-card-author,
body.ch-theme .ch-repost-embed .ch-quote-card-author a,
body.ch-theme .ch-repost-embed .ch-embed-author-name,
body.ch-theme .ch-repost-embed .ch-embed-author-name a,
body.ch-theme .ch-repost-embed-header .ch-repost-embed-name,
body.ch-theme .ch-repost-embed-header .ch-repost-embed-name a {
  color: var(--ch-theme-text) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.ch-theme .ch-repost-embed .ch-repost-embed-time,
body.ch-theme .ch-repost-embed .ch-repost-embed-time a,
body.ch-theme .ch-repost-embed .ch-repost-original-time,
body.ch-theme .ch-repost-embed .ch-repost-original-time a,
body.ch-theme .ch-repost-embed .ch-quote-original-time,
body.ch-theme .ch-repost-embed .ch-quote-original-time a,
body.ch-theme .ch-repost-embed .ch-quoted-time,
body.ch-theme .ch-repost-embed .ch-quoted-time a,
body.ch-theme .ch-repost-embed .ch-quote-time,
body.ch-theme .ch-repost-embed .ch-quote-time a,
body.ch-theme .ch-repost-embed .ch-embed-time,
body.ch-theme .ch-repost-embed .ch-embed-time a,
body.ch-theme .ch-repost-embed-header time,
body.ch-theme .ch-repost-embed-header time a,
body.ch-theme .ch-repost-embed-header a[href*="/activity/"] {
  color: var(--ch-theme-muted) !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-embed-name,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-embed-name a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-name,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-name a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-original-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-original-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quoted-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quoted-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-card-author,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-card-author a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-author-name,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-author-name a,
body.ch-theme-mode-dark .ch-repost-embed .ch-repost-embed-name,
body.ch-theme-mode-dark .ch-repost-embed .ch-repost-embed-name a,
body.ch-theme-dark .ch-repost-embed .ch-repost-embed-name,
body.ch-theme-dark .ch-repost-embed .ch-repost-embed-name a {
  color: #f8fafc !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-embed-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-embed-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-original-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-original-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quoted-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quoted-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed-header time,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed-header time a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed-header a[href*="/activity/"],
body.ch-theme-mode-dark .ch-repost-embed .ch-repost-embed-time,
body.ch-theme-mode-dark .ch-repost-embed .ch-repost-embed-time a,
body.ch-theme-dark .ch-repost-embed .ch-repost-embed-time,
body.ch-theme-dark .ch-repost-embed .ch-repost-embed-time a {
  color: #94a3b8 !important;
}


/* =========================================================
   v0.2.39: Quoted/reposted text visibility safety
   - Built on v0.2.38, preserving the approved mobile menu/admin gap fix,
     v0.2.35 Saved Posts header behavior, and locked desktop widget columns.
   - Some quoted text-post embeds were rendering without visible body text while
     the View original post link remained visible. This pass does not change
     repost logic; it prevents theme/plugin CSS from hiding or collapsing the
     quoted/original text area when the text is present in the markup.
   ========================================================= */
body.ch-theme .ch-repost-embed .ch-repost-embed-main,
body.ch-theme .ch-repost-embed .ch-repost-original-main,
body.ch-theme .ch-repost-embed .ch-quote-original-main,
body.ch-theme .ch-repost-embed .ch-quoted-main,
body.ch-theme .ch-repost-embed .ch-original-main,
body.ch-theme .ch-quote-card .ch-repost-embed-main,
body.ch-theme .ch-quote-card .ch-original-main,
body.ch-theme .ch-repost-card .ch-repost-embed-main {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.ch-theme .ch-repost-embed .ch-repost-embed-text,
body.ch-theme .ch-repost-embed .ch-repost-original-text,
body.ch-theme .ch-repost-embed .ch-quote-original-text,
body.ch-theme .ch-repost-embed .ch-quoted-text,
body.ch-theme .ch-repost-embed .ch-quote-text,
body.ch-theme .ch-repost-embed .ch-original-text,
body.ch-theme .ch-repost-embed .ch-original-content,
body.ch-theme .ch-repost-embed .ch-embed-text,
body.ch-theme .ch-repost-embed .ch-embed-content,
body.ch-theme .ch-repost-embed .ch-activity-content,
body.ch-theme .ch-repost-embed .activity-content,
body.ch-theme .ch-repost-embed .activity-inner,
body.ch-theme .ch-quote-card .ch-repost-embed-text,
body.ch-theme .ch-quote-card .ch-original-content,
body.ch-theme .ch-repost-card .ch-repost-embed-text,
body.ch-theme .ch-repost-card .ch-original-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin-top: 8px !important;
  color: var(--ch-theme-text) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  word-break: break-word !important;
}

body.ch-theme .ch-repost-embed .ch-repost-embed-text p,
body.ch-theme .ch-repost-embed .ch-repost-original-text p,
body.ch-theme .ch-repost-embed .ch-quote-original-text p,
body.ch-theme .ch-repost-embed .ch-quoted-text p,
body.ch-theme .ch-repost-embed .ch-original-content p,
body.ch-theme .ch-repost-embed .activity-inner p {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 0 0 8px !important;
  color: inherit !important;
}

body.ch-theme .ch-repost-embed .ch-repost-embed-text:empty,
body.ch-theme .ch-repost-embed .ch-repost-original-text:empty,
body.ch-theme .ch-repost-embed .ch-quote-original-text:empty,
body.ch-theme .ch-repost-embed .ch-quoted-text:empty,
body.ch-theme .ch-repost-embed .ch-original-content:empty {
  display: none !important;
  margin: 0 !important;
}

body.ch-theme .ch-repost-embed .ch-repost-embed-text a,
body.ch-theme .ch-repost-embed .ch-repost-original-text a,
body.ch-theme .ch-repost-embed .ch-quote-original-text a,
body.ch-theme .ch-repost-embed .ch-quoted-text a,
body.ch-theme .ch-repost-embed .ch-original-content a,
body.ch-theme .ch-repost-embed .activity-inner a {
  color: var(--ch-theme-blue) !important;
  text-decoration: none !important;
  font-weight: 650 !important;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-embed-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-repost-original-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-original-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quoted-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-quote-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-original-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-original-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-text,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-embed-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .ch-activity-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .activity-content,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-repost-embed .activity-inner,
body.ch-theme-mode-dark .ch-repost-embed .ch-repost-embed-text,
body.ch-theme-dark .ch-repost-embed .ch-repost-embed-text {
  color: #e5edf7 !important;
}


/* =========================================================
   v0.2.42: Mobile sticky header restore + Saved Posts header structure
   - Built from v0.2.39 because v0.2.39 preserved the approved mobile
     hamburger/avatar dropdown gap and quoted post text visibility fixes.
   - Restores the mobile site header sticky behavior explicitly.
   - Does not change locked desktop widget columns.
   - Does not use JavaScript to move Saved Posts nav/buttons after load.
   - Mobile Saved Posts nav is visually attached to the header card using
     flex ordering and card-continuation styling, not negative overlap.
   ========================================================= */

@media (max-width: 782px) {
  /* The top app/header bar must stay with the page while scrolling on mobile. */
  html body.ch-theme .ch-theme-header,
  html body.admin-bar.ch-theme .ch-theme-header {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 0 !important;
    z-index: 999900 !important;
    overflow: visible !important;
  }

  html body.ch-theme .ch-theme-header-top,
  html body.ch-theme .ch-theme-header-inner,
  html body.ch-theme .ch-theme-header-actions,
  html body.ch-theme .ch-theme-account,
  html body.ch-theme .ch-theme-account--dropdown {
    overflow: visible !important;
  }

  /* Preserve the approved v0.2.38/v0.2.39 mobile dropdown gap. */
  html body.ch-theme .ch-theme-menu-panel,
  html body.ch-theme #ch-theme-menu-panel,
  html body.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  html body.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]),
  html body.admin-bar.ch-theme .ch-theme-menu-panel,
  html body.admin-bar.ch-theme #ch-theme-menu-panel,
  html body.admin-bar.ch-theme.ch-theme-menu-open #ch-theme-menu-panel:not([hidden]),
  html body.admin-bar.ch-theme.ch-theme-menu-open .ch-theme-menu-panel:not([hidden]) {
    top: 62px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    width: min(360px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    margin-top: 0 !important;
    transform: none !important;
    max-height: min(640px, calc(100dvh - 72px)) !important;
  }

  html body.ch-theme .ch-theme-account-panel,
  html body.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]),
  html body.admin-bar.ch-theme .ch-theme-account-panel,
  html body.admin-bar.ch-theme .ch-theme-account.is-open > .ch-theme-account-panel:not([hidden]) {
    top: 62px !important;
    right: 8px !important;
    left: auto !important;
    bottom: auto !important;
    width: min(360px, calc(100vw - 16px)) !important;
    max-width: calc(100vw - 16px) !important;
    margin-top: 0 !important;
    transform: none !important;
    max-height: min(560px, calc(100dvh - 72px)) !important;
  }

  /* Saved Posts markup renders nav before the header in the Core Plugin:
       .ch-bookmarks-shell > nav.ch-bookmarks-nav + .ch-bookmarks-header
     On mobile, make the shell order them as header then nav, and visually
     join both pieces into one header card. This avoids the v0.2.40/v0.2.41
     negative-margin overlap and avoids JS reparenting/snap. */
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    order: 1 !important;
    position: relative !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 13px 10px !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    overflow: visible !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-count-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-count-zero-move {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    margin-top: 10px !important;
    transform: none !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    order: 2 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    z-index: 1 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 12px 0 !important;
    padding: 0 13px 13px !important;
    overflow: visible !important;
    transform: none !important;
    transition: none !important;
    background: var(--ch-theme-surface, #fff) !important;
    border: 1px solid var(--ch-theme-border, #d9e3f0) !important;
    border-top: 0 !important;
    border-radius: 0 0 18px 18px !important;
    box-shadow: 0 14px 32px rgba(16,24,40,.06) !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    background: var(--ch-theme-surface, #111827) !important;
    border-color: var(--ch-theme-border, #263241) !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 7px 10px !important;
    white-space: nowrap !important;
  }

  html body.ch-theme .ch-bookmarks-list,
  html body.ch-theme .ch-bookmarks-empty,
  html body.ch-theme .ch-saved-page .ch-feed,
  html body.ch-theme .ch-bookmarks-page .ch-feed {
    order: 3 !important;
  }
}

/* =========================================================
   v0.2.43: Mobile Saved Posts header button layout standard
   - Keeps the v0.2.42 sticky mobile site header and approved menu gap.
   - Keeps the no-JS-move/no-snap Saved Posts approach.
   - Fixes mobile Saved Posts so its Community/Members/Notifications/Saved
     buttons visually live inside the same header card like the other social
     page headers, instead of appearing as a separate strip below the card.
   - Locked desktop widget columns are intentionally untouched.
   ========================================================= */
@media (max-width: 781px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
  }

  /* Header and nav share the first grid row so the nav can sit inside the
     visual header card from first paint without DOM reparenting or snapping. */
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    grid-column: 1 !important;
    grid-row: 1 !important;
    order: initial !important;
    position: relative !important;
    z-index: 1 !important;
    min-height: 0 !important;
    margin: 0 0 12px 0 !important;
    padding: 14px 13px 64px !important;
    border-radius: 18px !important;
    overflow: visible !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-count-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-count-zero-move {
    position: static !important;
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 30px !important;
    margin: 9px 0 0 !important;
    transform: none !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: stretch !important;
    order: initial !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    z-index: 2 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 13px 24px 13px !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    transition: none !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 7px 10px !important;
    white-space: nowrap !important;
  }

  html body.ch-theme .ch-bookmarks-list,
  html body.ch-theme .ch-bookmarks-empty,
  html body.ch-theme .ch-saved-page .ch-feed,
  html body.ch-theme .ch-bookmarks-page .ch-feed {
    grid-column: 1 !important;
    grid-row: 2 !important;
    order: initial !important;
  }
}

/* =========================================================
   v0.2.44: Mobile Saved Posts button micro-alignment
   - Built on v0.2.43, preserving the approved mobile sticky header,
     mobile hamburger/avatar menu gap, quoted text visibility, and locked
     desktop widget columns.
   - This is a Saved Posts mobile header-only polish pass.
   - Centers the Saved Posts social nav like the other mobile social headers.
   - Removes any inherited dark nav-strip/card background behind the buttons.
   - Keeps the no-JS-move/no-snap Saved Posts approach.
   ========================================================= */
@media (max-width: 781px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    padding-bottom: 58px !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: end !important;
    justify-self: center !important;
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: auto !important;
    max-width: calc(100% - 26px) !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto 17px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
  }

  html body.ch-theme .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move::before,
  html body.ch-theme .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move::after,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav::before,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav::after,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav::before,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html[data-ch-theme-mode="dark"] body.ch-theme.ch-route-saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  body.ch-theme-mode-dark .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  body.ch-theme-dark .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    padding: 7px 10px !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   v0.2.45: Mobile Saved Posts button vertical rhythm
   - Micro-adjustment only.
   - Keeps the v0.2.44 centered Saved Posts buttons.
   - Balances the visual padding above and below the buttons inside the
     Saved Posts header card.
   - Does not touch sticky mobile header, mobile menu gap, quoted-post
     text visibility, or locked desktop widget columns.
   ========================================================= */
@media (max-width: 781px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    padding-bottom: 58px !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move {
    margin: 0 auto 13px !important;
  }
}

/* =========================================================
   v0.2.46: Mobile Saved Posts buttons balanced inside header card
   - Micro-adjustment only, based on the approved v0.2.45 state.
   - Keeps sticky mobile header, mobile menu/avatar gap, quoted-post text
     visibility, no-snap Saved Posts behavior, and locked desktop widgets.
   - Fixes the Saved Posts mobile buttons appearing visually too low by
     giving the nav row a predictable one-row footprint on normal mobile
     widths and equal vertical breathing room inside the header card.
   ========================================================= */
@media (max-width: 781px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    /* Button height ~30px + 13px top + 13px bottom. */
    padding-bottom: 56px !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move {
    justify-self: center !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 6px !important;
    max-width: calc(100% - 20px) !important;
    margin: 0 auto 13px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header) a,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav-zero-move a,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move a {
    flex: 0 0 auto !important;
    min-height: 30px !important;
    padding: 6px 8px !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    /* Very narrow screens may wrap the pills to two rows; keep top/bottom padding balanced. */
    padding-bottom: 92px !important;
  }

  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme.ch-route-saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav.ch-hub-page-nav.ch-bookmarks-nav-zero-move {
    margin-bottom: 13px !important;
  }
}

/* =========================================================
   v0.2.48: Saved Posts mobile header family alignment
   - Saved Core now groups count + social navigation in .ch-bookmarks-actions.
   - Cancels the obsolete v0.2.43-v0.2.46 reserved-bottom-space technique.
   - Mobile follows the same normal document flow as Members/Notifications.
   - Desktop widget columns and unrelated social headers remain untouched.
   ========================================================= */
@media (max-width: 781px) {
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
    min-height: 0 !important;
    padding: 12px 13px !important;
  }

  html body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-bookmarks-actions,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-actions,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-actions {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  html body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count {
    position: static !important;
    align-self: flex-start !important;
    width: fit-content !important;
    margin: 0 !important;
    transform: none !important;
  }

  html body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body.ch-theme .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header a,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header a,
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-nav-in-header a {
    flex: 0 0 auto !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    font-size: 12.5px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   CommunityHub Groups — v0.2.49 foundation
   Scope: Groups directory + single group screens only.
   Does not modify locked widget columns, mobile header/menu,
   or Saved Posts header/button behavior.
   ========================================================= */
.ch-theme .ch-groups-page {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto;
}

.ch-theme .ch-groups-page-header,
.ch-theme .ch-single-group-header {
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: var(--ch-theme-radius);
	box-shadow: 0 10px 30px rgba(16, 24, 40, .05);
	overflow: hidden;
}

.ch-theme .ch-groups-page-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 24px;
}

.ch-theme .ch-groups-page-heading h1,
.ch-theme .ch-single-group-identity h1,
.ch-theme .ch-group-about-card h2,
.ch-theme .ch-group-about-card h3 {
	margin: 0;
	color: var(--ch-theme-text);
}

.ch-theme .ch-groups-page-heading p,
.ch-theme .ch-single-group-description,
.ch-theme .ch-group-card-description {
	color: var(--ch-theme-muted);
}

.ch-theme .ch-groups-page-heading p {
	margin: 4px 0 0;
}

.ch-theme .ch-groups-search {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: min(100%, 380px);
}

.ch-theme .ch-groups-search input {
	min-width: 0;
	flex: 1 1 auto;
	border: 1px solid var(--ch-theme-border);
	border-radius: 999px;
	background: var(--ch-theme-surface-soft);
	color: var(--ch-theme-text);
	padding: 10px 14px;
}

.ch-theme .ch-groups-search button,
.ch-theme .ch-group-membership-button,
.ch-theme .ch-group-card-view,
.ch-theme .ch-groups-pagination a {
	border: 1px solid rgba(0, 128, 255, .28);
	border-radius: 999px;
	background: rgba(0, 128, 255, .09);
	color: var(--ch-theme-blue-dark);
	font: inherit;
	font-weight: 700;
	line-height: 1.2;
	padding: 9px 14px;
	text-decoration: none;
	cursor: pointer;
}

.ch-theme .ch-groups-search button:hover,
.ch-theme .ch-group-membership-button:hover,
.ch-theme .ch-group-card-view:hover,
.ch-theme .ch-groups-pagination a:hover {
	background: rgba(0, 128, 255, .15);
	text-decoration: none;
}

.ch-theme .ch-group-membership-button.is-member {
	background: var(--ch-theme-blue);
	border-color: var(--ch-theme-blue);
	color: #fff;
}

.ch-theme .ch-group-membership-button.is-static {
	cursor: default;
}

.ch-theme .ch-group-membership-button.is-loading {
	opacity: .65;
	cursor: progress;
}

.ch-theme .ch-groups-directory-meta {
	display: flex;
	justify-content: flex-end;
	padding: 12px 4px 10px;
	color: var(--ch-theme-muted);
	font-size: .92rem;
}

.ch-theme .ch-groups-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.ch-theme .ch-group-card {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 14px;
	padding: 18px;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(16, 24, 40, .04);
}

.ch-theme .ch-group-card-avatar {
	display: block;
	width: 74px;
	height: 74px;
	object-fit: cover;
	border-radius: 16px;
	border: 1px solid var(--ch-theme-border);
	background: var(--ch-theme-surface-soft);
}

.ch-theme .ch-group-card-title-row,
.ch-theme .ch-group-card-footer,
.ch-theme .ch-single-group-title-row,
.ch-theme .ch-single-group-meta {
	display: flex;
	align-items: center;
}

.ch-theme .ch-group-card-title-row,
.ch-theme .ch-group-card-footer,
.ch-theme .ch-single-group-title-row {
	justify-content: space-between;
	gap: 12px;
}

.ch-theme .ch-group-card-title-row h2 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.25;
}

.ch-theme .ch-group-card-title-row h2 a {
	color: var(--ch-theme-text);
}

.ch-theme .ch-group-status {
	flex: 0 0 auto;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--ch-theme-surface-soft);
	border: 1px solid var(--ch-theme-border);
	color: var(--ch-theme-muted);
	font-size: .75rem;
	font-weight: 700;
}

.ch-theme .ch-group-card-description {
	margin: 8px 0 14px;
	font-size: .92rem;
}

.ch-theme .ch-group-card-footer {
	color: var(--ch-theme-muted);
	font-size: .86rem;
}

.ch-theme .ch-group-card-view {
	padding: 7px 11px;
	font-size: .82rem;
}

.ch-theme .ch-groups-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 20px 0 4px;
	color: var(--ch-theme-muted);
}

.ch-theme .ch-single-group-cover {
	height: 220px;
	background-position: center;
	background-size: cover;
	background-color: var(--ch-theme-surface-soft);
}

.ch-theme .ch-single-group-cover.is-empty {
	background-image: linear-gradient(135deg, rgba(0,128,255,.17), rgba(0,128,255,.04));
}

.ch-theme .ch-single-group-header-body {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	gap: 18px;
	align-items: end;
	padding: 0 24px 20px;
}

.ch-theme .ch-single-group-avatar {
	width: 132px;
	height: 132px;
	margin-top: -54px;
	object-fit: cover;
	border-radius: 24px;
	border: 5px solid var(--ch-theme-surface);
	background: var(--ch-theme-surface-soft);
}

.ch-theme .ch-single-group-title-row {
	align-items: flex-start;
}

.ch-theme .ch-single-group-identity h1 {
	font-size: clamp(1.55rem, 3vw, 2.15rem);
	line-height: 1.1;
}

.ch-theme .ch-single-group-meta {
	gap: 8px;
	margin-top: 6px;
	color: var(--ch-theme-muted);
	font-size: .9rem;
}

.ch-theme .ch-single-group-meta span + span::before {
	content: "•";
	margin-right: 8px;
}

.ch-theme .ch-single-group-description {
	margin: 10px 0 0;
}

.ch-theme .ch-single-group-nav {
	display: flex;
	gap: 6px;
	padding: 0 20px 14px;
	overflow-x: auto;
}

.ch-theme .ch-single-group-nav a {
	flex: 0 0 auto;
	padding: 9px 14px;
	border-radius: 999px;
	color: var(--ch-theme-muted);
	font-weight: 700;
	text-decoration: none;
}

.ch-theme .ch-single-group-nav a:hover,
.ch-theme .ch-single-group-nav a.is-active {
	background: rgba(0, 128, 255, .09);
	color: var(--ch-theme-blue-dark);
	text-decoration: none;
}

.ch-theme .ch-single-group-content {
	margin-top: 14px;
}

.ch-theme .ch-group-activity {
	max-width: 820px;
	margin: 0 auto;
}

.ch-theme .ch-group-members-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.ch-theme .ch-group-member-card {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	color: var(--ch-theme-text);
	font-weight: 700;
	text-decoration: none;
}

.ch-theme .ch-group-member-card:hover {
	text-decoration: none;
	border-color: rgba(0, 128, 255, .35);
}

.ch-theme .ch-group-member-card img {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 50%;
}

.ch-theme .ch-group-about-card,
.ch-theme .ch-groups-empty {
	padding: 22px;
	background: var(--ch-theme-surface);
	border: 1px solid var(--ch-theme-border);
	border-radius: 16px;
}

.ch-theme .ch-group-about-description {
	margin-top: 10px;
	color: var(--ch-theme-text);
}

.ch-theme .ch-group-about-details {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0;
}

.ch-theme .ch-group-about-details > div {
	padding: 12px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 12px;
	background: var(--ch-theme-surface-soft);
}

.ch-theme .ch-group-about-details dt {
	color: var(--ch-theme-muted);
	font-size: .8rem;
	font-weight: 700;
}

.ch-theme .ch-group-about-details dd {
	margin: 3px 0 0;
	color: var(--ch-theme-text);
	font-weight: 700;
}

.ch-theme .ch-group-admins {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
}

.ch-theme .ch-group-admins a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 999px;
	color: var(--ch-theme-text);
	text-decoration: none;
}

.ch-theme .ch-group-admins img {
	border-radius: 50%;
}

@media (max-width: 780px) {
	.ch-theme .ch-groups-page-header {
		align-items: stretch;
		flex-direction: column;
		padding: 18px;
	}

	.ch-theme .ch-groups-search {
		width: 100%;
	}

	.ch-theme .ch-groups-grid,
	.ch-theme .ch-group-members-grid,
	.ch-theme .ch-group-about-details {
		grid-template-columns: 1fr;
	}

	.ch-theme .ch-single-group-cover {
		height: 150px;
	}

	.ch-theme .ch-single-group-header-body {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 12px;
		padding: 0 16px 16px;
	}

	.ch-theme .ch-single-group-avatar {
		width: 82px;
		height: 82px;
		margin-top: -34px;
		border-width: 4px;
		border-radius: 18px;
	}

	.ch-theme .ch-single-group-title-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.ch-theme .ch-single-group-nav {
		padding: 0 12px 12px;
	}

	.ch-theme .ch-group-card {
		grid-template-columns: 62px minmax(0, 1fr);
		padding: 14px;
	}

	.ch-theme .ch-group-card-avatar {
		width: 62px;
		height: 62px;
		border-radius: 14px;
	}
}

@media (max-width: 480px) {
	.ch-theme .ch-group-card-title-row,
	.ch-theme .ch-group-card-footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.ch-theme .ch-groups-search {
		flex-direction: column;
	}

	.ch-theme .ch-groups-search button {
		width: 100%;
	}
}


/* =========================================================
   CommunityHub Groups — v0.2.50 visual polish checkpoint
   Scope: Groups directory + single group screens only.
   Locked widget columns, social headers, Saved Posts, and
   mobile header/menu behavior are intentionally untouched.
   ========================================================= */

.ch-theme .ch-groups-page {
	--ch-group-accent: var(--ch-theme-blue, #0080ff);
	--ch-group-accent-soft: rgba(0, 128, 255, .08);
	--ch-group-accent-border: rgba(0, 128, 255, .20);
}

/* Directory header: make it feel like a CommunityHub product screen. */
.ch-theme .ch-groups-directory .ch-groups-page-header {
	position: relative;
	align-items: flex-end;
	padding: 24px 26px;
	background:
		linear-gradient(135deg, rgba(0,128,255,.055), transparent 48%),
		var(--ch-theme-surface);
	box-shadow: 0 8px 28px rgba(16, 24, 40, .045);
}

.ch-theme .ch-groups-directory .ch-groups-page-header::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--ch-group-accent);
	border-radius: var(--ch-theme-radius) 0 0 var(--ch-theme-radius);
}

.ch-theme .ch-groups-page-heading h1 {
	font-size: clamp(1.55rem, 2.4vw, 2rem);
	font-weight: 800;
	letter-spacing: -.025em;
}

.ch-theme .ch-groups-page-heading p {
	max-width: 580px;
	margin-top: 7px;
	font-size: .95rem;
	line-height: 1.55;
}

.ch-theme .ch-groups-search {
	padding: 5px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	background: var(--ch-theme-surface-soft);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

.ch-theme .ch-groups-search input {
	min-height: 42px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	box-shadow: none;
	outline: none;
}

.ch-theme .ch-groups-search input:focus {
	background: var(--ch-theme-surface);
	box-shadow: 0 0 0 2px var(--ch-group-accent-border);
}

.ch-theme .ch-groups-search button {
	min-height: 42px;
	padding-inline: 18px;
	border-radius: 10px;
	background: var(--ch-group-accent);
	border-color: var(--ch-group-accent);
	color: #fff;
	box-shadow: 0 5px 14px rgba(0,128,255,.16);
}

.ch-theme .ch-groups-search button:hover {
	background: var(--ch-group-accent);
	filter: brightness(1.06);
	color: #fff;
}

.ch-theme .ch-groups-directory-meta {
	justify-content: flex-start;
	padding: 14px 2px 10px;
	font-size: .84rem;
	font-weight: 700;
	letter-spacing: .01em;
}

/* Directory cards: cleaner, denser, more social-app-like. */
.ch-theme .ch-groups-grid {
	gap: 12px;
}

.ch-theme .ch-group-card {
	position: relative;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: 14px;
	min-height: 150px;
	padding: 17px;
	border-radius: 18px;
	box-shadow: 0 4px 16px rgba(16, 24, 40, .035);
	transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.ch-theme .ch-group-card:hover {
	transform: translateY(-2px);
	border-color: var(--ch-group-accent-border);
	box-shadow: 0 12px 28px rgba(16, 24, 40, .075);
}

.ch-theme .ch-group-card-avatar-link {
	align-self: start;
}

.ch-theme .ch-group-card-avatar {
	width: 68px;
	height: 68px;
	border-radius: 18px;
	box-shadow: 0 2px 10px rgba(16,24,40,.08);
}

.ch-theme .ch-group-card-body {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.ch-theme .ch-group-card-title-row {
	align-items: flex-start;
	gap: 10px;
}

.ch-theme .ch-group-card-title-row h2 {
	font-size: 1.04rem;
	font-weight: 800;
	letter-spacing: -.012em;
}

.ch-theme .ch-group-card-title-row h2 a:hover {
	color: var(--ch-group-accent);
	text-decoration: none;
}

.ch-theme .ch-group-status {
	padding: 4px 8px;
	border-color: transparent;
	background: var(--ch-group-accent-soft);
	color: var(--ch-group-accent);
	font-size: .69rem;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.ch-theme .ch-group-card-description {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin: 8px 0 12px;
	font-size: .88rem;
	line-height: 1.45;
}

.ch-theme .ch-group-card-footer {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--ch-theme-border);
	font-size: .8rem;
}

.ch-theme .ch-group-card-view {
	padding: 7px 12px;
	background: transparent;
	font-size: .78rem;
}

.ch-theme .ch-group-card-view:hover {
	background: var(--ch-group-accent-soft);
}

/* Single group shell: stronger hierarchy, less generic WordPress-card feel. */
.ch-theme .ch-single-group-header {
	position: relative;
	border-radius: 20px;
	box-shadow: 0 10px 32px rgba(16,24,40,.065);
}

.ch-theme .ch-single-group-cover {
	position: relative;
	height: 245px;
	background-position: center;
}

.ch-theme .ch-single-group-cover::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 46%;
	background: linear-gradient(to bottom, transparent, rgba(0,0,0,.16));
	pointer-events: none;
}

.ch-theme .ch-single-group-cover.is-empty {
	background-image:
		radial-gradient(circle at 18% 20%, rgba(0,128,255,.22), transparent 34%),
		linear-gradient(135deg, rgba(0,128,255,.18), rgba(0,128,255,.035));
}

.ch-theme .ch-single-group-header-body {
	grid-template-columns: 138px minmax(0, 1fr);
	gap: 20px;
	padding: 0 26px 21px;
}

.ch-theme .ch-single-group-avatar {
	width: 138px;
	height: 138px;
	margin-top: -62px;
	border: 5px solid var(--ch-theme-surface);
	border-radius: 26px;
	box-shadow: 0 8px 24px rgba(16,24,40,.14);
}

.ch-theme .ch-single-group-identity {
	min-width: 0;
	padding-top: 14px;
}

.ch-theme .ch-single-group-title-row {
	align-items: center;
}

.ch-theme .ch-single-group-identity h1 {
	font-size: clamp(1.7rem, 3vw, 2.25rem);
	font-weight: 850;
	letter-spacing: -.035em;
}

.ch-theme .ch-single-group-meta {
	margin-top: 7px;
	font-size: .82rem;
	font-weight: 700;
}

.ch-theme .ch-single-group-description {
	max-width: 760px;
	margin-top: 9px;
	font-size: .92rem;
	line-height: 1.5;
}

.ch-theme .ch-group-membership-button {
	min-height: 40px;
	padding: 10px 16px;
	border-radius: 12px;
	background: var(--ch-group-accent);
	border-color: var(--ch-group-accent);
	color: #fff;
	box-shadow: 0 6px 16px rgba(0,128,255,.16);
	white-space: nowrap;
}

.ch-theme .ch-group-membership-button:hover {
	background: var(--ch-group-accent);
	filter: brightness(1.06);
	color: #fff;
}

.ch-theme .ch-group-membership-button.is-member {
	background: var(--ch-theme-surface-soft);
	border-color: var(--ch-theme-border);
	color: var(--ch-theme-text);
	box-shadow: none;
}

.ch-theme .ch-group-membership-button.is-static {
	background: var(--ch-theme-surface-soft);
	border-color: var(--ch-theme-border);
	color: var(--ch-theme-muted);
	box-shadow: none;
}

.ch-theme .ch-single-group-nav {
	gap: 2px;
	padding: 0 22px 12px;
	border-top: 1px solid var(--ch-theme-border);
}

.ch-theme .ch-single-group-nav a {
	position: relative;
	margin-top: -1px;
	padding: 13px 15px 11px;
	border-radius: 0;
	font-size: .88rem;
}

.ch-theme .ch-single-group-nav a::after {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 2px;
	height: 3px;
	border-radius: 3px;
	background: transparent;
}

.ch-theme .ch-single-group-nav a:hover,
.ch-theme .ch-single-group-nav a.is-active {
	background: transparent;
	color: var(--ch-theme-text);
}

.ch-theme .ch-single-group-nav a.is-active::after {
	background: var(--ch-group-accent);
}

.ch-theme .ch-single-group-content {
	margin-top: 12px;
}

/* Members / About surfaces. */
.ch-theme .ch-group-members-grid {
	gap: 10px;
}

.ch-theme .ch-group-member-card {
	padding: 14px;
	border-radius: 16px;
	font-size: .9rem;
	box-shadow: 0 3px 12px rgba(16,24,40,.025);
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.ch-theme .ch-group-member-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(16,24,40,.06);
}

.ch-theme .ch-group-member-card img {
	width: 50px;
	height: 50px;
	box-shadow: 0 2px 8px rgba(16,24,40,.08);
}

.ch-theme .ch-group-about-card,
.ch-theme .ch-groups-empty {
	border-radius: 18px;
	box-shadow: 0 4px 18px rgba(16,24,40,.03);
}

.ch-theme .ch-group-about-card h2 {
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: -.02em;
}

.ch-theme .ch-group-about-details > div {
	padding: 14px;
	border-radius: 14px;
}

.ch-theme .ch-group-about-details dt {
	font-size: .72rem;
	letter-spacing: .035em;
	text-transform: uppercase;
}

/* Dark mode only for the new Groups surfaces. */
html[data-ch-theme-mode="dark"] body.ch-theme .ch-groups-directory .ch-groups-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-group-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-single-group-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-group-member-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-group-about-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-groups-empty {
	box-shadow: none;
}

@media (max-width: 780px) {
	.ch-theme .ch-groups-page {
		width: 100%;
	}

	.ch-theme .ch-groups-directory .ch-groups-page-header {
		align-items: stretch;
		padding: 18px;
	}

	.ch-theme .ch-groups-directory .ch-groups-page-header::before {
		width: 3px;
	}

	.ch-theme .ch-groups-page-heading h1 {
		font-size: 1.55rem;
	}

	.ch-theme .ch-groups-search {
		padding: 4px;
		border-radius: 12px;
	}

	.ch-theme .ch-groups-grid {
		gap: 10px;
	}

	.ch-theme .ch-group-card {
		grid-template-columns: 62px minmax(0, 1fr);
		min-height: 0;
		padding: 14px;
		border-radius: 16px;
	}

	.ch-theme .ch-group-card:hover {
		transform: none;
	}

	.ch-theme .ch-group-card-avatar {
		width: 62px;
		height: 62px;
		border-radius: 15px;
	}

	.ch-theme .ch-single-group-header {
		border-radius: 16px;
	}

	.ch-theme .ch-single-group-cover {
		height: 165px;
	}

	.ch-theme .ch-single-group-header-body {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 13px;
		padding: 0 16px 16px;
	}

	.ch-theme .ch-single-group-avatar {
		width: 88px;
		height: 88px;
		margin-top: -38px;
		border-width: 4px;
		border-radius: 20px;
	}

	.ch-theme .ch-single-group-identity {
		padding-top: 10px;
	}

	.ch-theme .ch-single-group-identity h1 {
		font-size: 1.45rem;
	}

	.ch-theme .ch-single-group-title-row {
		align-items: flex-start;
		gap: 10px;
	}

	.ch-theme .ch-single-group-nav {
		padding: 0 10px 8px;
	}

	.ch-theme .ch-single-group-nav a {
		padding: 12px 12px 10px;
	}

	.ch-theme .ch-single-group-nav a::after {
		left: 12px;
		right: 12px;
	}
}

@media (max-width: 560px) {
	.ch-theme .ch-single-group-header-body {
		grid-template-columns: 78px minmax(0, 1fr);
	}

	.ch-theme .ch-single-group-avatar {
		width: 78px;
		height: 78px;
		margin-top: -31px;
		border-radius: 18px;
	}

	.ch-theme .ch-single-group-title-row {
		flex-direction: column;
	}

	.ch-theme .ch-group-membership-button {
		min-height: 36px;
		padding: 8px 13px;
		font-size: .82rem;
	}

	.ch-theme .ch-group-card-title-row {
		flex-direction: row;
		align-items: flex-start;
	}

	.ch-theme .ch-group-card-footer {
		flex-direction: row;
		align-items: center;
	}

	.ch-theme .ch-groups-search {
		flex-direction: row;
	}

	.ch-theme .ch-groups-search button {
		width: auto;
	}
}

@media (max-width: 390px) {
	.ch-theme .ch-group-card {
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 11px;
	}

	.ch-theme .ch-group-card-avatar {
		width: 54px;
		height: 54px;
		border-radius: 13px;
	}

	.ch-theme .ch-group-status {
		display: none;
	}

	.ch-theme .ch-group-card-footer {
		gap: 8px;
	}

	.ch-theme .ch-group-card-view {
		padding: 6px 10px;
	}
}

/* =========================================================
   CommunityHub Groups checkpoint v0.2.51
   Create/manage/invite polish only.
   Locked widget columns, mobile header/menu, social headers,
   and Saved Posts behavior are intentionally untouched.
   ========================================================= */

/* Keep the Groups directory CTA in normal document flow. */
.ch-theme .ch-groups-directory .ch-groups-page-heading {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.ch-theme .ch-groups-page-heading-copy {
	min-width: 0;
}

.ch-theme .ch-groups-directory .ch-groups-create-button {
	position: static !important;
	inset: auto !important;
	float: none !important;
	margin: 15px 0 0 !important;
	align-self: flex-start;
	transform: none !important;
}

/* Create/manage forms. */
.ch-theme .ch-groups-create .ch-groups-page-header {
	align-items: flex-start;
	padding: 23px 25px;
	background:
		linear-gradient(135deg, rgba(0,128,255,.05), transparent 52%),
		var(--ch-theme-surface);
}

.ch-theme .ch-group-create-form,
.ch-theme .ch-group-manage-panel,
.ch-theme .ch-group-invite-panel {
	margin-top: 12px;
}

.ch-theme .ch-group-settings-form {
	display: grid;
	gap: 18px;
}

.ch-theme .ch-group-form-section {
	display: grid;
	gap: 14px;
	padding: 18px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 16px;
	background: var(--ch-theme-surface-soft);
}

.ch-theme .ch-group-form-section-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ch-theme .ch-group-form-section-heading h2,
.ch-theme .ch-group-form-section-heading h3,
.ch-theme .ch-group-suggested-heading h3 {
	margin: 0;
	color: var(--ch-theme-text);
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: -.015em;
}

.ch-theme .ch-group-form-section-heading p,
.ch-theme .ch-group-suggested-heading p {
	margin: 4px 0 0;
	color: var(--ch-theme-muted);
	font-size: .82rem;
	line-height: 1.45;
}

.ch-theme .ch-group-settings-form > label,
.ch-theme .ch-group-form-section > label,
.ch-theme .ch-group-invite-form label {
	display: grid;
	gap: 7px;
	color: var(--ch-theme-text);
	font-size: .84rem;
	font-weight: 750;
}

.ch-theme .ch-group-settings-form input[type="text"],
.ch-theme .ch-group-settings-form textarea,
.ch-theme .ch-group-settings-form select,
.ch-theme .ch-group-invite-form input[type="text"] {
	width: 100%;
	min-height: 44px;
	box-sizing: border-box;
	border: 1px solid var(--ch-theme-border);
	border-radius: 12px;
	background: var(--ch-theme-surface);
	color: var(--ch-theme-text);
	font: inherit;
	padding: 10px 12px;
	box-shadow: none;
	outline: none;
}

.ch-theme .ch-group-settings-form textarea {
	min-height: 128px;
	resize: vertical;
	line-height: 1.5;
}

.ch-theme .ch-group-settings-form input:focus,
.ch-theme .ch-group-settings-form textarea:focus,
.ch-theme .ch-group-settings-form select:focus,
.ch-theme .ch-group-invite-form input:focus {
	border-color: var(--ch-group-accent);
	box-shadow: 0 0 0 3px var(--ch-group-accent-soft);
}

.ch-theme .ch-group-form-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;
	margin-top: 2px;
}

.ch-theme .ch-group-form-actions-primary {
	padding-top: 2px;
}

.ch-theme .ch-group-form-actions .ch-group-membership-button,
.ch-theme .ch-group-secondary-button {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 11px;
	font: inherit;
	font-size: .84rem;
	font-weight: 800;
	line-height: 1.2;
	padding: 10px 16px;
	text-decoration: none;
	cursor: pointer;
}

.ch-theme .ch-group-secondary-button {
	border: 1px solid var(--ch-theme-border);
	background: var(--ch-theme-surface);
	color: var(--ch-theme-text);
	box-shadow: none;
}

.ch-theme .ch-group-secondary-button:hover {
	border-color: var(--ch-group-accent-border);
	background: var(--ch-group-accent-soft);
	color: var(--ch-theme-text);
	text-decoration: none;
}

.ch-theme .ch-group-secondary-button.is-invited,
.ch-theme .ch-group-secondary-button:disabled {
	opacity: .7;
	cursor: default;
}

.ch-theme .ch-group-form-status {
	min-height: 0;
	color: var(--ch-theme-muted);
	font-size: .82rem;
}

.ch-theme .ch-group-form-status:not(:empty) {
	padding: 10px 12px;
	border-radius: 10px;
	background: var(--ch-group-accent-soft);
}

.ch-theme .ch-group-form-status.is-error {
	background: rgba(210, 40, 55, .08);
	color: #b42332;
}

/* Group picture and cover picture controls. */
.ch-theme .ch-group-media-fields {
	display: grid;
	grid-template-columns: minmax(180px, .75fr) minmax(280px, 1.5fr);
	gap: 14px;
}

.ch-theme .ch-group-media-field {
	display: grid;
	align-content: start;
	gap: 8px;
	padding: 13px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 14px;
	background: var(--ch-theme-surface);
}

.ch-theme .ch-group-media-field-title {
	color: var(--ch-theme-text);
	font-size: .84rem;
	font-weight: 800;
}

.ch-theme .ch-group-media-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border: 1px dashed var(--ch-theme-border);
	background:
		linear-gradient(135deg, rgba(0,128,255,.06), transparent 60%),
		var(--ch-theme-surface-soft);
	background-position: center;
	background-size: cover;
	color: var(--ch-theme-muted);
	overflow: hidden;
}

.ch-theme .ch-group-media-preview.has-image span,
.ch-theme .ch-group-media-preview[style*="background-image"] span {
	display: none;
}

.ch-theme .ch-group-media-preview-avatar {
	width: 116px;
	height: 116px;
	border-radius: 22px;
}

.ch-theme .ch-group-media-preview-cover {
	width: 100%;
	height: 116px;
	border-radius: 14px;
}

.ch-theme .ch-group-media-field input[type="file"] {
	width: 100%;
	max-width: 100%;
	color: var(--ch-theme-muted);
	font-size: .78rem;
}

.ch-theme .ch-group-media-field input[type="file"]::file-selector-button {
	margin-right: 8px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 9px;
	background: var(--ch-theme-surface-soft);
	color: var(--ch-theme-text);
	font: inherit;
	font-weight: 750;
	padding: 7px 10px;
	cursor: pointer;
}

.ch-theme .ch-group-media-field small {
	color: var(--ch-theme-muted);
	font-size: .72rem;
	font-weight: 500;
	line-height: 1.4;
}

/* Invite panel and suggested members. */
.ch-theme .ch-group-invite-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
	margin-top: 16px;
}

.ch-theme .ch-group-invite-form .ch-group-form-actions {
	margin: 0;
}

.ch-theme .ch-group-invite-form .ch-group-form-status {
	grid-column: 1 / -1;
}

.ch-theme .ch-group-suggested-members {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--ch-theme-border);
}

.ch-theme .ch-group-suggested-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin-top: 12px;
}

.ch-theme .ch-group-suggested-member {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 10px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 13px;
	background: var(--ch-theme-surface-soft);
}

.ch-theme .ch-group-suggested-identity {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 9px;
	color: var(--ch-theme-text);
	text-decoration: none;
}

.ch-theme .ch-group-suggested-identity img {
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	border-radius: 50%;
	object-fit: cover;
}

.ch-theme .ch-group-suggested-identity span {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.ch-theme .ch-group-suggested-identity strong,
.ch-theme .ch-group-suggested-identity small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ch-theme .ch-group-suggested-identity strong {
	font-size: .82rem;
}

.ch-theme .ch-group-suggested-identity small {
	color: var(--ch-theme-muted);
	font-size: .7rem;
}

@media (max-width: 780px) {
	.ch-theme .ch-groups-directory .ch-groups-create-button {
		margin-top: 12px !important;
	}

	.ch-theme .ch-groups-create .ch-groups-page-header {
		padding: 18px;
	}

	.ch-theme .ch-group-form-section,
	.ch-theme .ch-group-create-form,
	.ch-theme .ch-group-manage-panel,
	.ch-theme .ch-group-invite-panel {
		border-radius: 15px;
	}

	.ch-theme .ch-group-form-section {
		padding: 14px;
	}

	.ch-theme .ch-group-form-section-grid,
	.ch-theme .ch-group-media-fields,
	.ch-theme .ch-group-suggested-grid,
	.ch-theme .ch-group-invite-form {
		grid-template-columns: 1fr;
	}

	.ch-theme .ch-group-media-preview-avatar {
		width: 96px;
		height: 96px;
		border-radius: 19px;
	}

	.ch-theme .ch-group-media-preview-cover {
		height: 112px;
	}

	.ch-theme .ch-group-form-actions {
		justify-content: stretch;
	}

	.ch-theme .ch-group-form-actions .ch-group-membership-button,
	.ch-theme .ch-group-form-actions .ch-group-secondary-button {
		flex: 1 1 0;
	}

	.ch-theme .ch-group-invite-form .ch-group-form-actions .ch-group-membership-button {
		width: 100%;
	}
}

/* =========================================================
   CommunityHub Groups checkpoint v0.2.52
   Media picker + group header stacking only.
   Locked widget columns, mobile header/menu, social headers,
   and Saved Posts behavior are intentionally untouched.
   ========================================================= */

/* Keep the group identity/avatar above the cover layer. */
.ch-theme .ch-single-group-header-body {
	position: relative;
	z-index: 3;
}

.ch-theme .ch-single-group-avatar {
	position: relative;
	z-index: 4;
}

.ch-theme .ch-single-group-cover,
.ch-theme .ch-single-group-cover::after {
	z-index: 1;
}

/* Modern image pickers: the native input remains accessible but is visually hidden. */
.ch-theme .ch-group-media-picker {
	position: relative;
	grid-template-rows: auto 1fr auto;
	gap: 10px;
	padding: 14px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 16px;
	background: var(--ch-theme-surface);
	box-shadow: 0 6px 18px rgba(15,23,42,.045);
	cursor: pointer;
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.ch-theme .ch-group-media-picker:hover {
	border-color: var(--ch-group-accent-border);
	box-shadow: 0 10px 24px rgba(15,23,42,.07);
	transform: translateY(-1px);
}

.ch-theme .ch-group-media-input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.ch-theme .ch-group-media-preview {
	position: relative;
	border: 1px dashed color-mix(in srgb, var(--ch-theme-border) 78%, var(--ch-group-accent) 22%);
	background:
		linear-gradient(135deg, rgba(0,128,255,.055), transparent 62%),
		var(--ch-theme-surface-soft);
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.ch-theme .ch-group-media-preview-avatar {
	width: 132px;
	height: 132px;
	border-radius: 28px;
}

.ch-theme .ch-group-media-preview-cover {
	height: 142px;
	border-radius: 16px;
}

.ch-theme .ch-group-media-placeholder {
	display: grid;
	gap: 4px;
	padding: 14px;
	text-align: center;
}

.ch-theme .ch-group-media-placeholder strong {
	color: var(--ch-theme-text);
	font-size: .82rem;
	font-weight: 800;
}

.ch-theme .ch-group-media-placeholder small {
	color: var(--ch-theme-muted);
	font-size: .7rem;
	font-weight: 600;
}

.ch-theme .ch-group-media-preview.has-image .ch-group-media-placeholder,
.ch-theme .ch-group-media-preview[style*="background-image"] .ch-group-media-placeholder {
	display: none;
}

.ch-theme .ch-group-media-picker-action {
	display: inline-flex;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	justify-self: start;
	padding: 8px 12px;
	border: 1px solid var(--ch-group-accent-border);
	border-radius: 10px;
	background: var(--ch-group-accent-soft);
	color: var(--ch-theme-text);
	font-size: .78rem;
	font-weight: 800;
	line-height: 1;
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-group-media-picker {
	box-shadow: 0 8px 22px rgba(0,0,0,.18);
}

@media (max-width: 700px) {
	.ch-theme .ch-group-media-fields {
		grid-template-columns: 1fr;
	}

	.ch-theme .ch-group-media-preview-avatar {
		width: 116px;
		height: 116px;
	}

	.ch-theme .ch-group-media-preview-cover {
		height: 122px;
	}
}


/* v0.2.56: static Community Activity preview inside WordPress Customizer only.
   Keeps real widget columns visible without booting the AJAX social timeline. */
.customize-preview .ch-theme-customizer-community-preview-header {
  margin-bottom: 14px;
}
.customize-preview .ch-theme-customizer-feed-placeholder {
  display: grid;
  gap: 14px;
}
.customize-preview .ch-theme-customizer-feed-card {
  min-height: 150px;
  pointer-events: none;
}
.customize-preview .ch-theme-customizer-feed-card-line {
  height: 12px;
  margin: 14px 18px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--ch-theme-muted) 18%, transparent);
}
.customize-preview .ch-theme-customizer-feed-card-line--short {
  width: 38%;
}

/* =========================================================
   CommunityHub Forums checkpoint v0.2.58
   Forums-only visual polish. Locked widget columns, mobile
   header/menu, social headers, Saved Posts, and Groups remain untouched.
   ========================================================= */
.ch-theme .ch-forums-page {
	--ch-forum-accent: var(--ch-theme-accent, #0080ff);
	--ch-forum-accent-soft: color-mix(in srgb, var(--ch-forum-accent) 10%, transparent);
	--ch-forum-accent-border: color-mix(in srgb, var(--ch-forum-accent) 28%, var(--ch-theme-border));
	width: 100%;
	max-width: 940px;
}

.ch-theme .ch-forums-page-header,
.ch-theme .ch-forum-row,
.ch-theme .ch-forum-topic-row,
.ch-theme .ch-forum-post-card,
.ch-theme .ch-forum-composer,
.ch-theme .ch-forums-empty,
.ch-theme .ch-forum-login-note {
	border-color: var(--ch-theme-border);
	background: var(--ch-theme-surface);
	color: var(--ch-theme-text);
	box-shadow: 0 7px 24px rgba(15,23,42,.045);
}

.ch-theme .ch-forums-page-header {
	position: relative;
	overflow: hidden;
	padding: 22px 24px;
	border-radius: 18px;
}

.ch-theme .ch-forums-page-header::after {
	content: "";
	position: absolute;
	right: -90px;
	top: -110px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--ch-forum-accent) 14%, transparent), transparent 70%);
	pointer-events: none;
}

.ch-theme .ch-forums-page-header h1 {
	position: relative;
	z-index: 1;
	font-weight: 850;
	letter-spacing: -.025em;
}

.ch-theme .ch-forums-page-header p,
.ch-theme .ch-forums-eyebrow,
.ch-theme .ch-forum-row-copy span,
.ch-theme .ch-forum-row-copy small,
.ch-theme .ch-forum-topic-copy span,
.ch-theme .ch-forum-topic-meta,
.ch-theme .ch-forum-post-author span,
.ch-theme .ch-forum-form-status,
.ch-theme .ch-forums-breadcrumb,
.ch-theme .ch-forum-login-note,
.ch-theme .ch-forums-empty p {
	color: var(--ch-theme-muted);
}

.ch-theme .ch-forums-eyebrow {
	color: var(--ch-forum-accent);
}

.ch-theme .ch-forum-row,
.ch-theme .ch-forum-topic-row,
.ch-theme .ch-forum-post-card,
.ch-theme .ch-forum-composer {
	border-radius: 16px;
}

.ch-theme .ch-forum-row {
	transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.ch-theme .ch-forum-row:hover {
	border-color: var(--ch-forum-accent-border);
	transform: translateY(-1px);
	box-shadow: 0 11px 28px rgba(15,23,42,.07);
}

.ch-theme .ch-forum-row-icon {
	background: var(--ch-forum-accent-soft);
	color: var(--ch-forum-accent);
	border: 1px solid var(--ch-forum-accent-border);
}

.ch-theme .ch-forum-row-copy strong,
.ch-theme .ch-forum-topic-copy strong,
.ch-theme .ch-forum-topic-meta strong,
.ch-theme .ch-forum-post-author strong,
.ch-theme .ch-forum-composer-heading strong {
	color: var(--ch-theme-text);
}

.ch-theme .ch-forum-children a,
.ch-theme .ch-forum-group-link {
	border-color: var(--ch-theme-border);
	background: var(--ch-theme-surface-soft);
	font-weight: 750;
}

.ch-theme .ch-forum-children a:hover,
.ch-theme .ch-forum-group-link:hover,
.ch-theme .ch-forums-breadcrumb a:hover {
	color: var(--ch-forum-accent);
	border-color: var(--ch-forum-accent-border);
}

.ch-theme .ch-forum-composer {
	padding: 18px;
}

.ch-theme .ch-forum-composer input,
.ch-theme .ch-forum-composer textarea {
	border-color: var(--ch-theme-border);
	background: var(--ch-theme-surface-soft);
	color: var(--ch-theme-text);
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.ch-theme .ch-forum-composer input:focus,
.ch-theme .ch-forum-composer textarea:focus {
	outline: none;
	border-color: var(--ch-forum-accent);
	background: var(--ch-theme-surface);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ch-forum-accent) 13%, transparent);
}

.ch-theme .ch-forum-form-actions button {
	min-height: 40px;
	padding: 9px 17px;
	background: var(--ch-forum-accent);
	box-shadow: 0 6px 16px color-mix(in srgb, var(--ch-forum-accent) 18%, transparent);
}

.ch-theme .ch-forum-topic-row {
	padding: 15px 17px;
	transition: border-color .15s ease, background .15s ease;
}

.ch-theme .ch-forum-topic-row:hover {
	border-color: var(--ch-forum-accent-border);
	background: color-mix(in srgb, var(--ch-theme-surface) 94%, var(--ch-forum-accent) 6%);
}

.ch-theme .ch-forum-topic-avatar img,
.ch-theme .ch-forum-post-avatar img {
	border: 2px solid var(--ch-theme-surface);
	box-shadow: 0 0 0 1px var(--ch-theme-border);
}

.ch-theme .ch-forum-original-post {
	background: var(--ch-forum-accent-soft);
	color: var(--ch-forum-accent);
}

html[data-ch-theme-mode="dark"] body.ch-theme .ch-forums-page-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-row,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-topic-row,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-post-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-composer {
	box-shadow: 0 8px 24px rgba(0,0,0,.18);
}

@media (max-width: 700px) {
	.ch-theme .ch-forums-page-header {
		padding: 18px;
		border-radius: 16px;
	}

	.ch-theme .ch-forum-row,
	.ch-theme .ch-forum-topic-row,
	.ch-theme .ch-forum-post-card,
	.ch-theme .ch-forum-composer {
		border-radius: 14px;
	}

	.ch-theme .ch-forum-row-main {
		align-items: flex-start;
	}

	.ch-theme .ch-forum-row-stats {
		padding-top: 2px;
	}

	.ch-theme .ch-forum-topic-row {
		gap: 9px;
	}

	.ch-theme .ch-forum-topic-meta {
		min-width: 54px;
	}

	.ch-theme .ch-forum-form-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ch-theme .ch-forum-form-actions button {
		width: 100%;
	}
}

/* =========================================================
   CommunityHub Forums checkpoint v0.2.59
   Forums-only visual/data presentation polish. Does not alter
   locked widget columns, mobile header/menu, Saved Posts, or Groups.
   ========================================================= */
.ch-theme .ch-forums-page {
	max-width: 980px;
}

.ch-theme .ch-forums-directory .ch-forums-list,
.ch-theme .ch-forums-list--children,
.ch-theme .ch-forum-topic-list,
.ch-theme .ch-topic-thread {
	gap: 12px;
}

.ch-theme .ch-forum-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: stretch;
	position: relative;
	isolation: isolate;
}

.ch-theme .ch-forum-row-main {
	padding: 18px 20px;
	gap: 15px;
}

.ch-theme .ch-forum-row-icon {
	width: 46px;
	height: 46px;
	flex-basis: 46px;
	border-radius: 14px;
	font-size: 1.1rem;
}

.ch-theme .ch-forum-row-copy {
	gap: 5px;
}

.ch-theme .ch-forum-row-copy strong {
	font-size: 1.02rem;
	line-height: 1.25;
}

.ch-theme .ch-forum-row-copy span {
	font-size: .84rem;
	line-height: 1.45;
}

.ch-theme .ch-forum-row-stats {
	min-width: 150px;
	padding: 16px 18px;
	align-items: center;
	justify-content: center;
	border-left: 1px solid var(--ch-theme-border);
	background: color-mix(in srgb, var(--ch-theme-surface-soft) 72%, transparent);
}

.ch-theme .ch-forum-row-stats span {
	min-width: 48px;
	text-align: center;
	gap: 2px;
}

.ch-theme .ch-forum-row-stats strong {
	font-size: .98rem;
}

.ch-theme .ch-forum-children {
	grid-column: 1 / -1;
	padding: 0 20px 17px 81px;
	border-top: 1px solid color-mix(in srgb, var(--ch-theme-border) 72%, transparent);
	padding-top: 12px;
}

.ch-theme .ch-forum-single-header {
	margin-bottom: 16px;
}

.ch-theme .ch-forum-header-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.ch-theme .ch-forum-header-stats span {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 7px 10px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 999px;
	background: var(--ch-theme-surface-soft);
	color: var(--ch-theme-muted);
	font-size: .76rem;
	font-weight: 700;
}

.ch-theme .ch-forum-header-stats strong {
	color: var(--ch-theme-text);
	font-size: .9rem;
}

.ch-theme .ch-forum-single-header .ch-forum-group-link {
	display: inline-flex;
	margin-top: 10px;
}

.ch-theme .ch-forum-section {
	display: grid;
	gap: 10px;
	margin: 0 0 16px;
}

.ch-theme .ch-forum-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 12px;
	padding: 0 2px;
}

.ch-theme .ch-forum-section-heading > div {
	display: grid;
	gap: 2px;
}

.ch-theme .ch-forum-section-heading span {
	color: var(--ch-theme-muted);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ch-theme .ch-forum-section-heading h2 {
	margin: 0;
	color: var(--ch-theme-text);
	font-size: 1.08rem;
	line-height: 1.25;
}

.ch-theme .ch-forum-section-heading > strong {
	display: grid;
	place-items: center;
	min-width: 34px;
	height: 30px;
	padding: 0 9px;
	border: 1px solid var(--ch-forum-accent-border);
	border-radius: 999px;
	background: var(--ch-forum-accent-soft);
	color: var(--ch-forum-accent);
	font-size: .78rem;
}

.ch-theme .ch-forum-composer {
	margin-top: 0;
	box-shadow: 0 8px 26px rgba(15,23,42,.055);
}

.ch-theme .ch-forum-topic-row {
	min-height: 74px;
}

.ch-theme .ch-forum-topic-copy strong {
	font-size: .96rem;
}

.ch-theme .ch-forum-topic-meta {
	padding-left: 14px;
	border-left: 1px solid var(--ch-theme-border);
}

.ch-theme .ch-forum-post-card {
	padding: 18px 20px;
}

.ch-theme .ch-forum-post-content {
	font-size: .94rem;
	line-height: 1.65;
}

@media (max-width: 700px) {
	.ch-theme .ch-forum-row {
		grid-template-columns: 1fr;
	}

	.ch-theme .ch-forum-row-main {
		padding: 15px;
	}

	.ch-theme .ch-forum-row-stats {
		min-width: 0;
		justify-content: flex-start;
		padding: 11px 15px 14px 76px;
		border-left: 0;
		border-top: 1px solid var(--ch-theme-border);
	}

	.ch-theme .ch-forum-children {
		padding: 11px 15px 15px;
	}

	.ch-theme .ch-forum-topic-row {
		min-height: 0;
	}

	.ch-theme .ch-forum-topic-meta {
		padding-left: 8px;
	}

	.ch-theme .ch-forum-post-card {
		padding: 16px;
	}
}


/* v0.2.60 — Forums engagement controls + Group Forum tab polish only */
.ch-theme .ch-forum-header-actions,.ch-theme .ch-forum-actions{gap:8px}.ch-theme .ch-forum-action-button{border-color:var(--ch-theme-border,#dce3eb);background:var(--ch-theme-surface,#fff);color:var(--ch-theme-text,#1f2937);box-shadow:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}.ch-theme .ch-forum-action-button:hover{transform:translateY(-1px);border-color:var(--ch-forum-accent-border);background:var(--ch-forum-accent-soft)}.ch-theme .ch-forum-action-button.is-active{background:var(--ch-forum-accent-soft);border-color:var(--ch-forum-accent-border);color:var(--ch-forum-accent)}.ch-theme .ch-forum-action-button.is-danger{color:#c33}.ch-theme .ch-group-forum-intro,.ch-theme .ch-group-forum-stats span,.ch-theme .ch-group-forum-recent{border-color:var(--ch-theme-border,#dce3eb);background:var(--ch-theme-surface,#fff);color:var(--ch-theme-text,#1f2937)}.ch-theme .ch-group-forum-recent a{border-color:var(--ch-theme-border,#e7ebf0);color:inherit}.ch-theme .ch-group-primary-action{background:var(--ch-forum-accent,#1473e6);color:#fff}.ch-theme .ch-group-section-eyebrow{color:var(--ch-forum-accent,#1473e6);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-action-button{background:var(--ch-theme-surface,#151b24);color:var(--ch-theme-text,#edf2f7)}


/* v0.2.64: flexible header branding. */
.ch-theme-brand {
	--ch-logo-height: 56px;
	--ch-logo-mobile-height: 40px;
}
.ch-theme-brand--logo-title {
	flex-direction: row;
	align-items: center;
	gap: 10px;
	max-width: 420px;
}
.ch-theme-brand-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.ch-theme-brand .custom-logo-link {
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
}
.ch-theme-brand .custom-logo-link img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: min(320px, 34vw);
	max-height: var(--ch-logo-height) !important;
	object-fit: contain;
}
@media (max-width: 782px) {
	.ch-theme-brand .custom-logo-link img {
		max-width: min(220px, 46vw);
		max-height: var(--ch-logo-mobile-height) !important;
	}
	.ch-theme-brand--logo-title .ch-theme-site-title {
		font-size: 1rem;
	}
}
@media (max-width: 480px) {
	.ch-theme-brand--logo-title .ch-theme-site-description {
		display: none;
	}
}


/* v0.2.65 — creative header logo masks and frames. */
.ch-theme-brand[class*="ch-theme-brand-shape--"] .custom-logo-link {
	position: relative;
	isolation: isolate;
}

.ch-theme-brand:not(.ch-theme-brand-shape--natural) .custom-logo-link {
	width: var(--ch-logo-height);
	height: var(--ch-logo-height);
	min-width: var(--ch-logo-height);
	max-width: var(--ch-logo-height);
	overflow: hidden;
}

.ch-theme-brand:not(.ch-theme-brand-shape--natural) .custom-logo-link img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
}

.ch-theme-brand-shape--rounded .custom-logo-link,
.ch-theme-brand-shape--rounded .custom-logo-link img {
	border-radius: 22%;
}

.ch-theme-brand-shape--circle .custom-logo-link,
.ch-theme-brand-shape--circle .custom-logo-link img {
	border-radius: 50%;
}

.ch-theme-brand-shape--squircle .custom-logo-link,
.ch-theme-brand-shape--squircle .custom-logo-link img {
	border-radius: 34%;
}

.ch-theme-brand-shape--diamond .custom-logo-link,
.ch-theme-brand-shape--diamond .custom-logo-link img {
	clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
}

.ch-theme-brand-shape--hexagon .custom-logo-link,
.ch-theme-brand-shape--hexagon .custom-logo-link img {
	clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
}

.ch-theme-brand-shape--shield .custom-logo-link,
.ch-theme-brand-shape--shield .custom-logo-link img {
	clip-path: polygon(10% 5%, 90% 5%, 92% 58%, 50% 100%, 8% 58%);
}

.ch-theme-brand-shape--triangle .custom-logo-link,
.ch-theme-brand-shape--triangle .custom-logo-link img {
	clip-path: polygon(50% 4%, 97% 91%, 3% 91%);
}

.ch-theme-brand-frame--subtle .custom-logo-link {
	box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 18%, transparent), 0 3px 10px rgba(0,0,0,.10);
}

.ch-theme-brand-frame--accent .custom-logo-link {
	box-shadow: 0 0 0 2px var(--ch-theme-accent, #1473e6), 0 3px 12px rgba(0,0,0,.12);
}

.ch-theme-brand-frame--glow .custom-logo-link {
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--ch-theme-accent, #1473e6) 55%, transparent), 0 0 16px color-mix(in srgb, var(--ch-theme-accent, #1473e6) 42%, transparent);
}

/* Clip-path shapes need their visual frame on a pseudo layer so the image itself stays crisp. */
.ch-theme-brand-frame--accent.ch-theme-brand-shape--diamond .custom-logo-link,
.ch-theme-brand-frame--accent.ch-theme-brand-shape--hexagon .custom-logo-link,
.ch-theme-brand-frame--accent.ch-theme-brand-shape--shield .custom-logo-link,
.ch-theme-brand-frame--accent.ch-theme-brand-shape--triangle .custom-logo-link,
.ch-theme-brand-frame--glow.ch-theme-brand-shape--diamond .custom-logo-link,
.ch-theme-brand-frame--glow.ch-theme-brand-shape--hexagon .custom-logo-link,
.ch-theme-brand-frame--glow.ch-theme-brand-shape--shield .custom-logo-link,
.ch-theme-brand-frame--glow.ch-theme-brand-shape--triangle .custom-logo-link {
	filter: drop-shadow(0 0 5px color-mix(in srgb, var(--ch-theme-accent, #1473e6) 50%, transparent));
}

@media (max-width: 782px) {
	.ch-theme-brand:not(.ch-theme-brand-shape--natural) .custom-logo-link {
		width: var(--ch-logo-mobile-height);
		height: var(--ch-logo-mobile-height);
		min-width: var(--ch-logo-mobile-height);
		max-width: var(--ch-logo-mobile-height);
	}
}


/* =========================================================
   v0.2.66 — signed-in/out brand destinations + dark logo
   ========================================================= */

.ch-theme-brand .ch-theme-logo-link {
	position: relative;
}

.ch-theme-brand .ch-theme-mode-logo--dark {
	display: none !important;
}

html[data-ch-theme-mode="dark"] .ch-theme-brand .ch-theme-mode-logo--light {
	display: none !important;
}

html[data-ch-theme-mode="dark"] .ch-theme-brand .ch-theme-mode-logo--dark {
	display: block !important;
}

/* If no dark logo exists, the standard logo remains visible in dark mode. */
html[data-ch-theme-mode="dark"] .ch-theme-brand .ch-theme-mode-logo--light:only-child {
	display: block !important;
}

/* Keep the selected creative mask/frame identical when the source logo swaps. */
.ch-theme-brand:not(.ch-theme-brand-shape--natural) .ch-theme-logo-link .ch-theme-mode-logo {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
}

.ch-theme-brand:not(.ch-theme-brand-shape--natural) .ch-theme-logo-link .ch-theme-mode-logo:first-child {
	position: relative !important;
}

.ch-theme-brand-shape--natural .ch-theme-logo-link .ch-theme-mode-logo {
	width: auto !important;
	height: auto !important;
	max-width: min(320px, 34vw) !important;
	max-height: var(--ch-logo-height) !important;
	object-fit: contain !important;
}

@media (max-width: 782px) {
	.ch-theme-brand-shape--natural .ch-theme-logo-link .ch-theme-mode-logo {
		max-width: min(220px, 46vw) !important;
		max-height: var(--ch-logo-mobile-height) !important;
	}
}


/* v0.2.69: Elementor owns page backgrounds on Elementor-built pages.
   CommunityHub still supplies its header/footer/typography shell, but does not
   force the Theme light/dark page background over Elementor's design choices. */


/* =========================================================
   v0.2.70 — Blog layout expansion + readable widget rails
   ========================================================= */

/* Blog/archive/single pages get a wider shell than generic content pages. */
.ch-theme-main--blog .ch-theme-container,
.ch-theme-main--single .ch-theme-container {
	width: min(100% - 32px, 1320px) !important;
	max-width: 1320px !important;
	margin-inline: auto !important;
}

/* Standard = approximately CommunityHub's approved one-rail width. */
body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-right,
body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-right {
	grid-template-columns: minmax(0, 1fr) minmax(250px, 285px) !important;
}
body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-left,
body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-left {
	grid-template-columns: minmax(250px, 285px) minmax(0, 1fr) !important;
}
body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-both,
body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-both {
	grid-template-columns: minmax(220px, 250px) minmax(0, 1fr) minmax(220px, 250px) !important;
}

/* Comfortable = default readable rail. */
body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-right,
body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-right {
	grid-template-columns: minmax(0, 1fr) minmax(300px, 325px) !important;
}
body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-left,
body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-left {
	grid-template-columns: minmax(300px, 325px) minmax(0, 1fr) !important;
}
body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-both,
body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-both {
	grid-template-columns: minmax(245px, 280px) minmax(0, 1fr) minmax(245px, 280px) !important;
}

/* Wide = good for weather, commerce, forms, and content-heavy widgets. */
body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-right,
body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-right {
	grid-template-columns: minmax(0, 1fr) minmax(330px, 370px) !important;
}
body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-left,
body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-left {
	grid-template-columns: minmax(330px, 370px) minmax(0, 1fr) !important;
}
body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-both,
body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-both {
	grid-template-columns: minmax(270px, 305px) minmax(0, 1fr) minmax(270px, 305px) !important;
}

.ch-theme-main--blog .ch-theme-sidebar,
.ch-theme-main--single .ch-theme-sidebar {
	min-width: 0 !important;
	width: 100% !important;
}

/* Magazine: newest story leads, remaining cards become a clean 2-column grid. */
.ch-theme-blog-layout-magazine .ch-theme-post-list--blog {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 20px !important;
}
.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:first-child {
	grid-column: 1 / -1 !important;
	display: grid !important;
	grid-template-columns: minmax(280px, 1.15fr) minmax(0, 1fr) !important;
	min-height: 330px !important;
}
.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:first-child .ch-theme-post-thumb {
	min-height: 330px !important;
	height: 100% !important;
}
.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:not(:first-child) {
	display: flex !important;
	flex-direction: column !important;
}
.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:not(:first-child) .ch-theme-post-thumb {
	height: 190px !important;
	min-height: 190px !important;
}

/* Featured Grid: visual news/homepage feel with first story dominant. */
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 16px !important;
}
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:first-child {
	grid-column: 1 / -1 !important;
}
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:first-child .ch-theme-post-thumb {
	height: 360px !important;
	min-height: 360px !important;
}
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(n+2) .ch-theme-post-thumb {
	height: 180px !important;
	min-height: 180px !important;
}
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card {
	overflow: hidden !important;
}

/* Editorial: large, calm alternating story rows. */
.ch-theme-blog-layout-editorial .ch-theme-post-list--blog {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 22px !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card {
	display: grid !important;
	grid-template-columns: minmax(260px, 38%) minmax(0, 1fr) !important;
	min-height: 230px !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) {
	grid-template-columns: minmax(0, 1fr) minmax(260px, 38%) !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) .ch-theme-post-thumb {
	order: 2 !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) .ch-theme-post-body {
	order: 1 !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-thumb {
	height: 100% !important;
	min-height: 230px !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-body {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding: 24px !important;
}
.ch-theme-blog-layout-editorial .ch-theme-post-title,
.ch-theme-blog-layout-editorial .ch-theme-post-card h2 {
	font-size: clamp(1.3rem, 2.2vw, 1.85rem) !important;
	line-height: 1.12 !important;
}

/* New layouts collapse cleanly on tablet/mobile. */
@media (max-width: 900px) {
	.ch-theme-blog-layout-magazine .ch-theme-post-list--blog,
	.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog {
		grid-template-columns: 1fr !important;
	}

	.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:first-child,
	.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card,
	.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) {
		grid-template-columns: 1fr !important;
	}

	.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) .ch-theme-post-thumb,
	.ch-theme-blog-layout-editorial .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(even) .ch-theme-post-body {
		order: initial !important;
	}

	.ch-theme-blog-layout-magazine .ch-theme-post-list--blog > .ch-theme-post-card:first-child .ch-theme-post-thumb,
	.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:first-child .ch-theme-post-thumb,
	.ch-theme-blog-layout-editorial .ch-theme-post-thumb {
		height: 220px !important;
		min-height: 220px !important;
	}
}


/* =========================================================
   v0.2.71 — Blog Experience
   Scoped to WordPress Blog/archive/single screens only.
   ========================================================= */

/* More desktop canvas so wide widget rails do not steal the reading lane. */
@media (min-width: 1180px) {
	.ch-theme-main--blog .ch-theme-container,
	.ch-theme-main--single .ch-theme-container {
		width: min(calc(100% - 32px), 1580px) !important;
		max-width: 1580px !important;
	}

	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(285px, 310px) minmax(620px, 1fr) minmax(285px, 310px) !important;
	}

	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(315px, 340px) minmax(620px, 1fr) minmax(315px, 340px) !important;
	}

	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(345px, 375px) minmax(620px, 1fr) minmax(345px, 375px) !important;
	}

	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(300px, 325px) minmax(680px, 1fr) !important;
	}
	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(680px, 1fr) minmax(300px, 325px) !important;
	}

	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(335px, 360px) minmax(680px, 1fr) !important;
	}
	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(680px, 1fr) minmax(335px, 360px) !important;
	}

	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(375px, 410px) minmax(680px, 1fr) !important;
	}
	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(680px, 1fr) minmax(375px, 410px) !important;
	}
}

/* Never let grid/card children force the center lane narrower than intended. */
.ch-theme-main--blog .ch-theme-content-wrap,
.ch-theme-main--blog .ch-theme-post-list--blog,
.ch-theme-main--blog .ch-theme-post-card,
.ch-theme-main--blog .ch-theme-post-body,
.ch-theme-main--single .ch-theme-content-wrap {
	min-width: 0 !important;
}

/* Featured Grid is sidebar-aware. With two rails, readability wins over columns. */
.ch-theme-main--blog .ch-theme-layout--sidebar-both .ch-theme-blog-wrap .ch-theme-post-list--blog {
	container-type: inline-size;
}

.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog {
	grid-template-columns: 1fr !important;
}

.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog > .ch-theme-post-card,
.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog > .ch-theme-post-card:first-child {
	display: grid !important;
	grid-template-columns: minmax(220px, 38%) minmax(0, 1fr) !important;
	min-height: 210px !important;
}

.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog .ch-theme-post-thumb {
	height: 100% !important;
	min-height: 210px !important;
}

.ch-theme-blog-layout-featured-grid .ch-theme-post-title,
.ch-theme-blog-layout-featured-grid .ch-theme-post-title a,
.ch-theme-blog-layout-featured-grid .ch-theme-post-excerpt,
.ch-theme-blog-layout-featured-grid .ch-theme-post-meta,
.ch-theme-blog-layout-featured-grid .ch-theme-blog-engagement {
	min-width: 0 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}

.ch-theme-blog-layout-featured-grid .ch-theme-post-title {
	font-size: clamp(1.2rem, 1.6vw, 1.65rem) !important;
	line-height: 1.14 !important;
}

.ch-theme-blog-layout-featured-grid .ch-theme-post-excerpt {
	font-size: .96rem !important;
	line-height: 1.55 !important;
}

/* Category discovery */
.ch-theme-blog-categories {
	display: flex;
	gap: 8px;
	margin: 0 0 18px;
	padding: 4px 0 8px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.ch-theme-blog-categories a {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 8px 12px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 999px;
	background: var(--ch-theme-card);
	color: var(--ch-theme-text);
	font-size: .88rem;
	font-weight: 700;
	text-decoration: none;
}
.ch-theme-blog-categories a:hover,
.ch-theme-blog-categories a.is-active {
	border-color: color-mix(in srgb, var(--ch-theme-blue) 60%, var(--ch-theme-border));
	background: color-mix(in srgb, var(--ch-theme-blue) 10%, var(--ch-theme-card));
	color: var(--ch-theme-blue);
}

/* Trending / most discussed */
.ch-theme-blog-trending {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	background: var(--ch-theme-card);
}
.ch-theme-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}
.ch-theme-section-heading h2 {
	margin: 2px 0 0;
	font-size: 1.3rem;
}
.ch-theme-trending-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px 16px;
}
.ch-theme-trending-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
	padding: 10px 0;
	border-bottom: 1px solid color-mix(in srgb, var(--ch-theme-border) 70%, transparent);
	color: var(--ch-theme-text);
	text-decoration: none;
}
.ch-theme-trending-title {
	min-width: 0;
	font-weight: 750;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ch-theme-trending-meta {
	flex: 0 0 auto;
	font-size: .78rem;
	color: var(--ch-theme-muted);
}

/* Featured/sticky treatment */
.ch-theme-featured-badge {
	display: inline-flex;
	align-items: center;
	margin: 0 0 8px;
	padding: 5px 9px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ch-theme-blue) 13%, var(--ch-theme-card));
	border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 45%, var(--ch-theme-border));
	color: var(--ch-theme-blue);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .045em;
	text-transform: uppercase;
}

/* Reading time / archive engagement */
.ch-theme-blog-engagement {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 9px;
}
.ch-theme-blog-stat {
	display: inline-flex;
	align-items: center;
	padding: 5px 8px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ch-theme-text) 5%, transparent);
	color: var(--ch-theme-muted);
	font-size: .76rem;
	font-weight: 700;
}

/* Article-to-community bridge */
.ch-theme-community-discussion-link {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin-top: 18px;
	padding: 14px 16px;
	border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 42%, var(--ch-theme-border));
	border-radius: 14px;
	background: color-mix(in srgb, var(--ch-theme-blue) 8%, var(--ch-theme-card));
	color: var(--ch-theme-text);
	font-weight: 800;
	text-decoration: none;
}
.ch-theme-community-discussion-link:hover {
	color: var(--ch-theme-blue);
}

/* Author cards */
.ch-theme-author-card {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 18px;
	margin-top: 24px;
	padding: 20px;
	border: 1px solid var(--ch-theme-border);
	border-radius: 18px;
	background: var(--ch-theme-card);
}
.ch-theme-author-avatar img {
	display: block;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	object-fit: cover;
}
.ch-theme-author-copy h2 {
	margin: 2px 0 6px;
	font-size: 1.3rem;
}
.ch-theme-author-copy p {
	margin: 0 0 8px;
	color: var(--ch-theme-muted);
}
.ch-theme-author-copy a {
	font-weight: 750;
	text-decoration: none;
}

/* Related stories */
.ch-theme-related-posts {
	margin-top: 26px;
}
.ch-theme-related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.ch-theme-related-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--ch-theme-border);
	border-radius: 16px;
	background: var(--ch-theme-card);
	color: var(--ch-theme-text);
	text-decoration: none;
}
.ch-theme-related-thumb {
	display: block;
	height: 150px;
	overflow: hidden;
}
.ch-theme-related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ch-theme-related-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 12px;
}
.ch-theme-related-body strong {
	line-height: 1.25;
}
.ch-theme-related-body small {
	color: var(--ch-theme-muted);
}

@media (max-width: 1100px) {
	.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog > .ch-theme-post-card,
	.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog > .ch-theme-post-card:first-child {
		grid-template-columns: 1fr !important;
	}
	.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog .ch-theme-post-thumb {
		height: 220px !important;
	}
}

@media (max-width: 760px) {
	.ch-theme-trending-list,
	.ch-theme-related-grid {
		grid-template-columns: 1fr;
	}
	.ch-theme-author-card {
		grid-template-columns: 64px minmax(0, 1fr);
		padding: 16px;
	}
	.ch-theme-author-avatar img {
		width: 64px;
		height: 64px;
	}
}


/* =========================================================
   v0.2.72 — Blog readability + independent rail checkpoint
   ========================================================= */

/*
 * Blog pages use nearly the full desktop viewport. This is intentionally
 * separate from the locked CommunityHub activity/member rail dimensions.
 */
@media (min-width: 1180px) {
	.ch-theme-main--blog .ch-theme-container,
	.ch-theme-main--single .ch-theme-container {
		width: min(calc(100vw - 28px), 1900px) !important;
		max-width: 1900px !important;
	}

	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(320px, 350px) minmax(680px, 1fr) minmax(320px, 350px) !important;
		gap: 22px !important;
	}
	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(360px, 390px) minmax(680px, 1fr) minmax(360px, 390px) !important;
		gap: 22px !important;
	}
	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-both,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(400px, 440px) minmax(700px, 1fr) minmax(400px, 440px) !important;
		gap: 24px !important;
	}

	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(330px, 370px) minmax(760px, 1fr) !important;
	}
	body.ch-theme-blog-rail-standard .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-standard .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(760px, 1fr) minmax(330px, 370px) !important;
	}
	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(380px, 410px) minmax(760px, 1fr) !important;
	}
	body.ch-theme-blog-rail-comfortable .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-comfortable .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(760px, 1fr) minmax(380px, 410px) !important;
	}
	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-left,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-left {
		grid-template-columns: minmax(430px, 470px) minmax(780px, 1fr) !important;
	}
	body.ch-theme-blog-rail-wide .ch-theme-main--blog .ch-theme-layout--sidebar-right,
	body.ch-theme-blog-rail-wide .ch-theme-main--single .ch-theme-layout--sidebar-right {
		grid-template-columns: minmax(780px, 1fr) minmax(430px, 470px) !important;
	}

	/* Earlier single-post max-width rule must not squeeze the new Blog Post rails. */
	.ch-theme-main--single .ch-theme-content-wrap {
		max-width: none !important;
		width: 100% !important;
		margin-inline: 0 !important;
	}
}

/* Compact Grid: never create unreadably narrow card text. */
.ch-theme-blog-layout-compact .ch-theme-post-list--blog {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)) !important;
	gap: 18px !important;
}
.ch-theme-blog-layout-compact .ch-theme-layout--sidebar-both .ch-theme-post-list--blog {
	grid-template-columns: 1fr !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-card {
	min-width: 0 !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-title,
.ch-theme-blog-layout-compact .ch-theme-post-title a {
	font-size: clamp(1.12rem, 1.5vw, 1.4rem) !important;
	line-height: 1.2 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-excerpt {
	font-size: .94rem !important;
	line-height: 1.55 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-thumb {
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 16 / 9 !important;
	background: color-mix(in srgb, var(--ch-theme-text) 4%, var(--ch-theme-card)) !important;
}
.ch-theme-blog-layout-compact .ch-theme-post-thumb img {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	object-fit: contain !important;
}

/* Featured Grid: show the complete thumbnail instead of cropping posts 2+. */
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(n+2) .ch-theme-post-thumb {
	height: auto !important;
	min-height: 0 !important;
	aspect-ratio: 16 / 9 !important;
	background: color-mix(in srgb, var(--ch-theme-text) 4%, var(--ch-theme-card)) !important;
}
.ch-theme-blog-layout-featured-grid .ch-theme-post-list--blog > .ch-theme-post-card:nth-child(n+2) .ch-theme-post-thumb img {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center !important;
}

/* Automatic content/video thumbnails. */
.ch-theme-post-thumb {
	position: relative;
}
.ch-theme-post-card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ch-theme-post-thumb--video .ch-theme-post-card-image {
	object-fit: contain;
	background: #000;
}
.ch-theme-video-thumb-badge {
	position: absolute;
	left: 50%;
	top: 50%;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	transform: translate(-50%, -50%);
	background: rgba(0, 0, 0, .72);
	color: #fff;
	font-size: 18px;
	line-height: 1;
	pointer-events: none;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .25);
}

/* Dedicated Blog widget columns must use their available width. */
.ch-theme-main--blog .ch-theme-sidebar .ch-theme-widget,
.ch-theme-main--single .ch-theme-sidebar .ch-theme-widget {
	min-width: 0 !important;
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
.ch-theme-main--blog .ch-theme-sidebar img,
.ch-theme-main--single .ch-theme-sidebar img,
.ch-theme-main--blog .ch-theme-sidebar iframe,
.ch-theme-main--single .ch-theme-sidebar iframe {
	max-width: 100% !important;
}

/* At intermediate desktop widths, preserve readable content before forcing 3 columns. */
@media (min-width: 1025px) and (max-width: 1399px) {
	.ch-theme-main--blog .ch-theme-layout--sidebar-both,
	.ch-theme-main--single .ch-theme-layout--sidebar-both {
		grid-template-columns: minmax(280px, 320px) minmax(560px, 1fr) minmax(280px, 320px) !important;
	}
	.ch-theme-blog-layout-compact .ch-theme-layout--sidebar-both .ch-theme-post-list--blog,
	.ch-theme-blog-layout-featured-grid .ch-theme-layout--sidebar-both .ch-theme-post-list--blog {
		grid-template-columns: 1fr !important;
	}
}


/* =========================================================
   v0.2.73 — Rumble thumbnail + Blog rail gap cleanup
   ========================================================= */

/*
 * The Blog sidebars are collections of widget cards, so the generic outer
 * sidebar "card" was creating an unnecessary inset/gap around the whole rail.
 * CommunityHub social-page rails are untouched.
 */
.ch-theme-main--blog .ch-theme-sidebar,
.ch-theme-main--single .ch-theme-sidebar {
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	align-self: start !important;
}

.ch-theme-main--blog .ch-theme-sidebar > :first-child,
.ch-theme-main--single .ch-theme-sidebar > :first-child {
	margin-top: 0 !important;
}

.ch-theme-main--blog .ch-theme-sidebar > :last-child,
.ch-theme-main--single .ch-theme-sidebar > :last-child {
	margin-bottom: 0 !important;
}

@media (min-width: 1180px) {
	.ch-theme-main--blog .ch-theme-container,
	.ch-theme-main--single .ch-theme-container {
		width: calc(100vw - 32px) !important;
		max-width: 1900px !important;
	}
}


/* =========================================================
   v0.2.74 — Blog widget rail spacing normalization
   ========================================================= */

/*
 * Blog rails are independent widget stacks. Older global sidebar rules add
 * per-widget bottom margins, which causes the visible uneven gaps. Replace
 * that with one predictable rail gap and no child margins.
 */
.ch-theme-main--blog .ch-theme-sidebar,
.ch-theme-main--single .ch-theme-sidebar {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.ch-theme-main--blog .ch-theme-sidebar > .ch-theme-widget,
.ch-theme-main--single .ch-theme-sidebar > .ch-theme-widget,
.ch-theme-main--blog .ch-theme-sidebar > .widget,
.ch-theme-main--single .ch-theme-sidebar > .widget,
.ch-theme-main--blog .ch-theme-sidebar > section,
.ch-theme-main--single .ch-theme-sidebar > section {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.ch-theme-main--blog .ch-theme-sidebar > .ch-theme-widget:empty,
.ch-theme-main--single .ch-theme-sidebar > .ch-theme-widget:empty,
.ch-theme-main--blog .ch-theme-sidebar > .widget:empty,
.ch-theme-main--single .ch-theme-sidebar > .widget:empty {
	display: none !important;
}


/* =========================================================
   v0.2.75 — Blog left-rail alignment + wrapper fill
   ========================================================= */

/* Third-party widget wrappers must fill the Blog sidebar grid track. */
.ch-theme-main--blog .ch-theme-sidebar > *,
.ch-theme-main--single .ch-theme-sidebar > * {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/* Pull the left rail inward toward the center content, mirroring the right rail. */
.ch-theme-main--blog .ch-theme-sidebar--left,
.ch-theme-main--single .ch-theme-sidebar--left {
	justify-self: end !important;
	align-items: stretch !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}

.ch-theme-main--blog .ch-theme-sidebar--right,
.ch-theme-main--single .ch-theme-sidebar--right {
	justify-self: start !important;
	align-items: stretch !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}

/* Fixed-width content inside third-party widget wrappers should hug the center. */
.ch-theme-main--blog .ch-theme-sidebar--left > * > *,
.ch-theme-main--single .ch-theme-sidebar--left > * > * {
	margin-left: auto !important;
	margin-right: 0 !important;
}

.ch-theme-main--blog .ch-theme-sidebar--right > * > *,
.ch-theme-main--single .ch-theme-sidebar--right > * > * {
	margin-left: 0 !important;
	margin-right: auto !important;
}


/* =========================================================
   v0.2.80 — Trending / Most Discussed editorial treatment
   ========================================================= */

.ch-theme-blog-trending {
	position: relative;
	margin: 0 0 24px;
	padding: 20px;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 20%, var(--ch-theme-border));
	border-radius: 20px;
	background:
		linear-gradient(
			135deg,
			color-mix(in srgb, var(--ch-theme-blue) 5%, var(--ch-theme-card)) 0%,
			var(--ch-theme-card) 48%,
			color-mix(in srgb, var(--ch-theme-text) 2%, var(--ch-theme-card)) 100%
		);
	box-shadow: 0 12px 30px color-mix(in srgb, #000 8%, transparent);
}

.ch-theme-blog-trending::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(
		180deg,
		var(--ch-theme-blue),
		color-mix(in srgb, var(--ch-theme-blue) 24%, transparent)
	);
	pointer-events: none;
}

.ch-theme-trending-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 17px;
	padding: 0 2px 16px;
	border-bottom: 1px solid color-mix(in srgb, var(--ch-theme-border) 72%, transparent);
}

.ch-theme-trending-heading-copy {
	min-width: 0;
}

.ch-theme-trending-kicker {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 0 4px;
	color: var(--ch-theme-blue);
	font-size: .72rem;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.ch-theme-trending-pulse {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: var(--ch-theme-blue);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ch-theme-blue) 13%, transparent);
}

.ch-theme-trending-heading-copy h2 {
	margin: 0;
	font-size: clamp(1.35rem, 1.7vw, 1.65rem);
	line-height: 1.1;
	letter-spacing: -.02em;
}

.ch-theme-trending-heading-copy p {
	margin: 5px 0 0;
	color: var(--ch-theme-muted);
	font-size: .86rem;
	line-height: 1.35;
}

.ch-theme-trending-header-badge {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	padding: 7px 10px;
	border: 1px solid color-mix(in srgb, var(--ch-theme-blue) 30%, var(--ch-theme-border));
	border-radius: 999px;
	background: color-mix(in srgb, var(--ch-theme-blue) 8%, var(--ch-theme-card));
	color: var(--ch-theme-blue);
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.ch-theme-trending-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.ch-theme-trending-item {
	position: relative;
	display: grid;
	grid-template-columns: 34px 84px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 11px;
	min-width: 0;
	padding: 10px;
	border: 1px solid color-mix(in srgb, var(--ch-theme-border) 78%, transparent);
	border-radius: 14px;
	background: color-mix(in srgb, var(--ch-theme-card) 94%, transparent);
	color: var(--ch-theme-text);
	text-decoration: none;
	transition:
		transform .18s ease,
		border-color .18s ease,
		background .18s ease,
		box-shadow .18s ease;
}

.ch-theme-trending-item:hover,
.ch-theme-trending-item:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--ch-theme-blue) 45%, var(--ch-theme-border));
	background: color-mix(in srgb, var(--ch-theme-blue) 4%, var(--ch-theme-card));
	box-shadow: 0 9px 22px color-mix(in srgb, #000 8%, transparent);
	outline: none;
}

.ch-theme-trending-item.is-top-story {
	border-color: color-mix(in srgb, var(--ch-theme-blue) 38%, var(--ch-theme-border));
	background: color-mix(in srgb, var(--ch-theme-blue) 7%, var(--ch-theme-card));
}

.ch-theme-trending-rank {
	align-self: start;
	padding-top: 3px;
	color: color-mix(in srgb, var(--ch-theme-blue) 72%, var(--ch-theme-muted));
	font-size: .75rem;
	font-weight: 950;
	letter-spacing: .06em;
}

.ch-theme-trending-item.is-top-story .ch-theme-trending-rank {
	color: var(--ch-theme-blue);
}

.ch-theme-trending-thumb {
	position: relative;
	display: block;
	width: 84px;
	height: 62px;
	overflow: hidden;
	border-radius: 10px;
	background: color-mix(in srgb, var(--ch-theme-text) 5%, var(--ch-theme-card));
}

.ch-theme-trending-thumb img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.ch-theme-trending-thumb-placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--ch-theme-muted);
	font-size: 1.15rem;
	font-weight: 900;
}

.ch-theme-trending-copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ch-theme-trending-category {
	margin-bottom: 3px;
	color: var(--ch-theme-blue);
	font-size: .65rem;
	font-weight: 850;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.ch-theme-trending-title {
	display: -webkit-box;
	min-width: 0;
	overflow: hidden;
	color: var(--ch-theme-text);
	font-size: .92rem;
	font-weight: 800;
	line-height: 1.25;
	white-space: normal;
	text-overflow: initial;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ch-theme-trending-meta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 5px;
	color: var(--ch-theme-muted);
	font-size: .72rem;
	font-weight: 650;
}

.ch-theme-trending-comment-icon {
	position: relative;
	display: inline-block;
	width: 13px;
	height: 10px;
	border: 1.5px solid currentColor;
	border-radius: 4px;
	opacity: .8;
}

.ch-theme-trending-comment-icon::after {
	content: "";
	position: absolute;
	left: 2px;
	bottom: -4px;
	width: 4px;
	height: 4px;
	border-left: 1.5px solid currentColor;
	transform: skewY(-35deg);
}

.ch-theme-trending-arrow {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	color: var(--ch-theme-muted);
	font-size: .95rem;
	transition:
		color .18s ease,
		transform .18s ease,
		background .18s ease;
}

.ch-theme-trending-item:hover .ch-theme-trending-arrow,
.ch-theme-trending-item:focus-visible .ch-theme-trending-arrow {
	color: var(--ch-theme-blue);
	background: color-mix(in srgb, var(--ch-theme-blue) 10%, transparent);
	transform: translateX(2px);
}

@media (max-width: 980px) {
	.ch-theme-trending-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.ch-theme-blog-trending {
		padding: 16px;
		border-radius: 17px;
	}

	.ch-theme-trending-header {
		align-items: flex-start;
		margin-bottom: 12px;
		padding-bottom: 13px;
	}

	.ch-theme-trending-header-badge {
		display: none;
	}

	.ch-theme-trending-heading-copy p {
		font-size: .8rem;
	}

	.ch-theme-trending-item {
		grid-template-columns: 26px 72px minmax(0, 1fr);
		gap: 9px;
		padding: 9px;
	}

	.ch-theme-trending-thumb {
		width: 72px;
		height: 54px;
	}

	.ch-theme-trending-arrow {
		display: none;
	}
}


/* =========================================================
   v0.2.81 — Blog mobile: desktop widget rails must not squeeze feed
   ========================================================= */
@media (max-width: 1024px) {
	.ch-theme-main--blog .ch-theme-container {
		display: block !important;
		width: min(100% - 20px, 760px) !important;
		max-width: 760px !important;
		margin-inline: auto !important;
	}

	.ch-theme-main--blog .ch-theme-container > .ch-theme-sidebar {
		display: none !important;
	}

	.ch-theme-main--blog .ch-theme-content-wrap,
	.ch-theme-main--blog .ch-theme-blog-wrap,
	.ch-theme-main--blog .ch-theme-post-list--blog {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-inline: 0 !important;
	}

	.ch-theme-main--blog .ch-theme-post-list--blog {
		grid-template-columns: 1fr !important;
	}

	.ch-theme-main--blog .ch-theme-blog-trending {
		max-width: 100% !important;
	}

	.ch-theme-main--blog .ch-theme-blog-categories {
		max-width: 100% !important;
		overflow-x: auto !important;
		overscroll-behavior-inline: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.ch-theme-main--blog .ch-theme-blog-categories::-webkit-scrollbar {
		display: none;
	}
}


/* =========================================================
   v0.2.82 — myCRED earned-point notices above mobile header
   ========================================================= */
/*
 * CommunityHub's approved mobile header/dropdowns use very high stacking
 * layers. Raise only transient myCRED notices; do not change header geometry.
 */
#mycred-notifications,
#mycred-notice,
.mycred-notifications,
.mycred-notification,
.mycred-notice,
.mycred-toast,
.mycred-snackbar,
[class*="mycred"][class*="notice"],
[class*="mycred"][class*="notification"]{
	z-index:2147483000!important;
}


/* =========================================================
   v0.2.84 — Community navigation placement & Back to Top
   ========================================================= */
@media (min-width:783px){
	.ch-theme-community-bar:not(.ch-theme-community-bar--desktop){display:none!important}
	body.ch-community-bar-bottom-desktop{padding-bottom:68px}
}
@media (max-width:782px){
	.ch-theme-community-bar:not(.ch-theme-community-bar--mobile){display:none!important}
	body.ch-community-bar-bottom-mobile{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
}

.ch-theme-community-bar--top{
	max-height:76px;
	opacity:1;
	overflow:hidden;
	transition:max-height .22s ease,opacity .18s ease,border-color .18s ease
}
.ch-theme-community-bar--top.is-scroll-hidden{
	max-height:0!important;
	opacity:0;
	border-top-color:transparent!important;
	border-bottom-color:transparent!important;
	pointer-events:none
}

.ch-theme-community-bar--bottom{
	position:fixed;
	left:0;right:0;bottom:0;
	z-index:950;
	padding-bottom:env(safe-area-inset-bottom);
	border-top:1px solid rgba(217,227,240,.92);
	border-bottom:0;
	background:color-mix(in srgb,var(--ch-theme-surface) 94%,transparent);
	box-shadow:0 -10px 28px rgba(15,23,42,.11);
	backdrop-filter:blur(16px);
	-webkit-backdrop-filter:blur(16px);
	transform:translateY(0);
	opacity:1;
	transition:transform .22s ease,opacity .18s ease
}
.ch-theme-community-bar--bottom.is-scroll-hidden{
	transform:translateY(115%);
	opacity:0;
	pointer-events:none
}
.ch-theme-community-bar--bottom .ch-theme-header-inner--nav{
	min-height:58px;
	padding-top:7px;
	padding-bottom:7px
}
.ch-theme-community-bar--bottom .ch-theme-menu-list--community,
.ch-theme-community-bar--bottom .ch-theme-community-nav{
	flex-wrap:nowrap;
	overflow-x:auto;
	scrollbar-width:none;
	-webkit-overflow-scrolling:touch
}
.ch-theme-community-bar--bottom .ch-theme-menu-list--community::-webkit-scrollbar,
.ch-theme-community-bar--bottom .ch-theme-community-nav::-webkit-scrollbar{display:none}
@media(max-width:782px){
	.ch-theme-community-bar--bottom .ch-theme-header-inner--nav{
		width:100%!important;
		padding-left:8px!important;
		padding-right:8px!important
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community,
	.ch-theme-community-bar--bottom .ch-theme-community-nav{
		justify-content:flex-start;
		gap:6px
	}
	.ch-theme-community-bar--bottom .ch-theme-nav-pill,
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{
		min-height:42px;
		padding:8px 11px;
		font-size:.82rem
	}
}

.ch-theme-back-to-top{
	position:fixed!important;
	z-index:940;
	width:var(--ch-btt-size);
	height:var(--ch-btt-size);
	bottom:var(--ch-btt-bottom);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0!important;
	border:1px solid color-mix(in srgb,var(--ch-btt-bg-light) 78%,#000 8%)!important;
	background:var(--ch-btt-bg-light)!important;
	background-image:none!important;
	color:var(--ch-btt-icon-light)!important;
	box-shadow:0 12px 30px rgba(15,23,42,.2)!important;
	line-height:1;
	cursor:pointer;
	opacity:0;
	pointer-events:none;
	transform:translateY(12px) scale(.92);
	transition:opacity .2s ease,transform .2s ease,background .16s ease,box-shadow .16s ease
}
.ch-theme-back-to-top--right{right:var(--ch-btt-edge)}
.ch-theme-back-to-top--left{left:var(--ch-btt-edge)}
.ch-theme-back-to-top--circle{border-radius:50%!important}
.ch-theme-back-to-top--rounded{border-radius:15px!important}
.ch-theme-back-to-top--square{border-radius:5px!important}
.ch-theme-back-to-top--fade{transform:none}
.ch-theme-back-to-top--slide{transform:translateY(20px)}
.ch-theme-back-to-top.is-visible{
	opacity:1;
	pointer-events:auto;
	transform:translateY(0) scale(1)
}
.ch-theme-back-to-top:hover,
.ch-theme-back-to-top:focus-visible{
	background:color-mix(in srgb,var(--ch-btt-bg-light) 86%,#000)!important;
	color:var(--ch-btt-icon-light)!important;
	box-shadow:0 16px 36px rgba(15,23,42,.27)!important;
	transform:translateY(-2px) scale(1.03);
	outline:none!important
}
.ch-theme-back-to-top-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:100%;
	font-size:calc(var(--ch-btt-size) * .48);
	font-weight:900;
	line-height:1
}
.ch-theme-back-to-top-custom-icon{
	display:block;
	width:58%;
	height:58%;
	object-fit:contain
}
html[data-ch-theme-mode="dark"] .ch-theme-back-to-top,
body.ch-theme-mode-dark .ch-theme-back-to-top{
	background:var(--ch-btt-bg-dark)!important;
	border-color:color-mix(in srgb,var(--ch-btt-bg-dark) 82%,#fff 12%)!important;
	color:var(--ch-btt-icon-dark)!important
}
html[data-ch-theme-mode="dark"] .ch-theme-back-to-top:hover,
html[data-ch-theme-mode="dark"] .ch-theme-back-to-top:focus-visible,
body.ch-theme-mode-dark .ch-theme-back-to-top:hover,
body.ch-theme-mode-dark .ch-theme-back-to-top:focus-visible{
	background:color-mix(in srgb,var(--ch-btt-bg-dark) 84%,#fff)!important;
	color:var(--ch-btt-icon-dark)!important
}
@media(min-width:783px){
	body.ch-community-bar-bottom-desktop .ch-theme-back-to-top{bottom:calc(var(--ch-btt-bottom) + 66px)}
	.ch-theme-back-to-top:not(.ch-theme-back-to-top--desktop){display:none!important}
}
@media(max-width:782px){
	body.ch-community-bar-bottom-mobile .ch-theme-back-to-top{bottom:calc(var(--ch-btt-bottom) + 64px + env(safe-area-inset-bottom))}
	.ch-theme-back-to-top:not(.ch-theme-back-to-top--mobile){display:none!important}
}
@media(prefers-reduced-motion:reduce){
	.ch-theme-community-bar,.ch-theme-back-to-top{transition:none!important}
}


/* =========================================================
   v0.2.85 — Native-style Community bottom bar enhancements
   ========================================================= */
.ch-theme-nav-pill,
.ch-theme-menu-list--community > li > a{
	position:relative;
}
.ch-theme-nav-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:18px;
	height:18px;
	padding:0 5px;
	margin-left:3px;
	border-radius:999px;
	background:#dc2626;
	color:#fff!important;
	font-size:10px;
	font-weight:800;
	line-height:1;
	box-shadow:0 0 0 2px var(--ch-theme-surface);
}
.ch-theme-community-bar--bottom.has-center-action .ch-theme-header-inner--nav{
	padding-left:84px!important;
	padding-right:84px!important;
}
.ch-theme-community-center-action{
	position:absolute;
	left:50%;
	top:0;
	transform:translate(-50%,-32%);
	z-index:3;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:66px;
	height:66px;
	border-radius:50%;
	border:4px solid var(--ch-theme-surface);
	background:var(--ch-theme-accent,#0080ff);
	color:#fff!important;
	text-decoration:none!important;
	box-shadow:0 12px 26px rgba(15,23,42,.24);
}
.ch-theme-community-center-action:hover,
.ch-theme-community-center-action:focus-visible{
	color:#fff!important;
	transform:translate(-50%,-36%) scale(1.035);
	outline:none;
}
.ch-theme-community-center-action-icon{
	font-size:27px;
	font-weight:900;
	line-height:.85;
}
.ch-theme-community-center-action-label{
	margin-top:4px;
	font-size:9px;
	font-weight:800;
	line-height:1;
	white-space:nowrap;
}
@media(max-width:782px){
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-label{
		display:none!important;
	}
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-pill,
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-menu-list--community>li>a{
		min-width:50px;
		min-height:46px;
		padding:8px 10px;
		justify-content:center;
	}
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-icon{
		font-size:20px;
	}
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-badge{
		position:absolute;
		top:3px;
		right:3px;
		margin:0;
	}
}

/* Back-to-top progress ring. */
.ch-theme-back-to-top--progress::before{
	content:"";
	position:absolute;
	inset:-5px;
	border-radius:inherit;
	padding:3px;
	background:conic-gradient(var(--ch-btt-progress-light) var(--ch-btt-progress,0%),rgba(255,255,255,.18) 0);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
	-webkit-mask-composite:xor;
	mask-composite:exclude;
	pointer-events:none;
}
html[data-ch-theme-mode="dark"] .ch-theme-back-to-top--progress::before,
body.ch-theme-mode-dark .ch-theme-back-to-top--progress::before{
	background:conic-gradient(var(--ch-btt-progress-dark) var(--ch-btt-progress,0%),rgba(255,255,255,.15) 0);
}


/* v0.2.86 — Back to Top live-readiness hotfix */
.ch-theme-back-to-top{isolation:isolate}
.ch-theme-back-to-top-icon{
	position:relative;
	z-index:2;
	color:inherit!important;
	-webkit-text-fill-color:currentColor!important
}
.ch-theme-back-to-top-icon svg{
	display:block!important;
	width:56%!important;
	height:56%!important;
	fill:currentColor!important;
	stroke:none!important;
	overflow:visible!important;
	opacity:1!important;
	visibility:visible!important;
	pointer-events:none!important
}
.ch-theme-back-to-top.is-visible{visibility:visible!important}

/* =========================================================
   v0.2.87 — Adult/premium Community navigation polish
   ========================================================= */
.ch-theme-community-bar .ch-theme-nav-icon{
	display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;flex:0 0 20px!important;font-size:0!important
}
.ch-theme-community-bar .ch-theme-nav-icon svg{display:block!important;width:19px!important;height:19px!important;color:currentColor!important}
.ch-theme-community-bar .ch-theme-nav-pill,
.ch-theme-community-bar .ch-theme-menu-list--community>li>a{
	gap:7px!important;border-radius:10px!important;font-size:13px!important;font-weight:650!important;letter-spacing:-.01em!important;line-height:1.15!important;text-transform:none!important
}
.ch-theme-community-bar--bottom .ch-theme-nav-pill,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{
	background:transparent!important;border-color:transparent!important;box-shadow:none!important
}
.ch-theme-community-bar--bottom .ch-theme-nav-pill:hover,
.ch-theme-community-bar--bottom .ch-theme-nav-pill:focus-visible,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a:hover,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a:focus-visible{
	background:color-mix(in srgb,var(--ch-theme-accent,#0080ff) 8%,transparent)!important
}
.ch-theme-community-bar--bottom .ch-theme-nav-pill.is-active,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li.current-menu-item>a{
	background:color-mix(in srgb,var(--ch-theme-accent,#0080ff) 10%,transparent)!important;color:var(--ch-theme-accent,#0080ff)!important
}
.ch-theme-community-bar--bottom.has-center-action .ch-theme-header-inner--nav{padding-left:10px!important;padding-right:10px!important}
.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3),
.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3){margin-left:82px!important}
.ch-theme-community-center-action{width:60px!important;height:60px!important;border-width:3px!important;box-shadow:0 10px 24px rgba(15,23,42,.22)!important}
.ch-theme-community-center-action-icon{font-size:25px!important;font-weight:600!important}
.ch-theme-community-center-action-label{font-size:8px!important;font-weight:750!important;letter-spacing:-.01em!important}
@media(max-width:782px){
	.ch-theme-community-bar--bottom .ch-theme-nav-label{font-size:10.5px!important;font-weight:650!important}
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-icon{width:22px!important;height:22px!important;flex-basis:22px!important}
	.ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only .ch-theme-nav-icon svg{width:21px!important;height:21px!important}
	.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3),
	.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3){margin-left:74px!important}
}

/* v0.2.88 — Back to Top independent runtime */
.ch-theme-back-to-top{z-index:2147482500!important;visibility:visible}
.ch-theme-back-to-top:not(.is-visible){opacity:0!important;pointer-events:none!important}
.ch-theme-back-to-top.is-visible{display:flex!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important}

/* v0.2.89 — center-slot navigation + integration quick actions */
.ch-theme-community-bar--bottom .ch-theme-community-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;width:100%!important;overflow-x:auto!important}.ch-theme-community-bar--bottom .ch-theme-nav-pill{flex:0 0 auto!important;min-width:82px!important;justify-content:center!important;padding:8px 10px!important}.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3){margin-left:0!important}.ch-theme-nav-center-spacer{display:block!important;flex:0 0 78px!important;width:78px!important;min-width:78px!important;height:1px!important}.ch-theme-community-center-action{left:50%!important;z-index:8!important}.ch-theme-messages-counter{position:absolute;top:2px;right:5px}.ch-theme-messages-counter .better-messages-unread-counter,.ch-theme-header-message-badge .better-messages-unread-counter{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:17px!important;height:17px!important;padding:0 4px!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;font-size:9px!important;font-weight:900!important}.ch-theme-header-quick-actions{display:inline-flex;align-items:center;gap:6px}.ch-theme-header-icon-button{position:relative;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;padding:0!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:50%!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-text,#182230)!important;text-decoration:none!important}.ch-theme-header-icon-button>span:first-child,.ch-theme-header-icon-button svg{display:flex;width:18px;height:18px}.ch-theme-header-icon-badge,.ch-theme-header-message-badge{position:absolute;top:-4px;right:-4px;z-index:2}.ch-theme-header-icon-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#dc2626;color:#fff;font-size:9px;font-weight:900}@media(max-width:1040px){.ch-theme-community-bar--bottom .ch-theme-nav-pill{min-width:72px!important}.ch-theme-nav-center-spacer{flex-basis:72px!important;width:72px!important;min-width:72px!important}}@media(max-width:782px){.ch-theme-community-bar--bottom .ch-theme-community-nav{justify-content:flex-start!important}.ch-theme-community-bar--bottom .ch-theme-nav-pill{min-width:58px!important;padding:7px!important}.ch-theme-nav-center-spacer{flex-basis:68px!important;width:68px!important;min-width:68px!important}.ch-theme-header-icon-button{width:34px!important;height:34px!important}}


/* =========================================================
   v0.2.91 — async notification popup
   Critical rule: no notification content is rendered in the
   header/navigation PHP path.
   ========================================================= */
.ch-theme-nav-notification-trigger{
	font:inherit!important;
	cursor:pointer!important;
}
.ch-theme-notification-popup{
	position:fixed;
	z-index:2147482600;
	max-height:min(520px,72vh);
	border:1px solid var(--ch-theme-border,#dbe3ec);
	border-radius:15px;
	background:var(--ch-theme-surface,#fff);
	box-shadow:0 18px 52px rgba(15,23,42,.25);
	overflow:hidden;
}
.ch-theme-notification-popup-inner{
	width:100%;
	max-height:inherit;
	overflow:auto;
}
.ch-theme-notification-popup-loading,
.ch-theme-notification-popup-fallback{
	padding:18px;
	color:var(--ch-theme-text,#182230);
	font-size:13px;
}
.ch-theme-notification-popup-fallback{
	display:grid;
	gap:8px;
}
.ch-theme-notification-popup-fallback strong{
	font-size:15px;
}
.ch-theme-notification-popup-fallback p{
	margin:0;
	color:var(--ch-theme-muted,#64748b);
}
.ch-theme-notification-popup-fallback a{
	display:inline-flex;
	width:max-content;
	min-height:36px;
	align-items:center;
	padding:7px 11px;
	border-radius:9px;
	background:var(--ch-theme-accent,#0080ff);
	color:#fff!important;
	font-size:12px;
	font-weight:800;
	text-decoration:none!important;
}
.ch-theme-notification-popup .ch-notification-bell{
	width:100%;
}
.ch-theme-notification-popup .ch-notification-dropdown{
	position:static!important;
	display:block!important;
	width:100%!important;
	max-width:none!important;
	max-height:none!important;
	margin:0!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}
@media(max-width:782px){
	.ch-theme-notification-popup{
		left:10px!important;
		right:10px!important;
		width:auto!important;
		max-height:min(520px,68vh);
	}
}

/* v0.2.93 */
.ch-theme-nav-badge,.ch-theme-header-icon-badge,.ch-theme-messages-counter .better-messages-unread-counter,.ch-theme-header-message-badge .better-messages-unread-counter{display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;font-size:10px!important;font-weight:900!important;line-height:18px!important}.ch-theme-header-message-badge:empty{display:none!important}button.ch-theme-nav-pill{appearance:none!important;color:var(--ch-theme-text)!important;font:inherit!important}.ch-theme-back-to-top{z-index:2147482400!important}@media(min-width:783px){.ch-theme-community-bar--bottom .ch-theme-menu-list--community,.ch-theme-community-bar--bottom .ch-theme-community-nav{display:flex!important;justify-content:center!important;gap:4px!important;width:100%!important;overflow:visible!important}.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{flex:1 1 0!important;min-width:84px!important;max-width:126px!important;margin:0!important}.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{flex:0 0 84px!important;width:84px!important;min-width:84px!important;margin:0!important}.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3),.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3){margin-left:0!important}.ch-theme-community-center-action-label{font-size:10px!important;font-weight:900!important}}.ch-theme-header-preview-popup{position:fixed;z-index:2147482700;max-height:min(540px,72vh);overflow:auto;border:1px solid var(--ch-theme-border,#dbe3ec);border-radius:15px;background:var(--ch-theme-surface,#fff);box-shadow:0 18px 52px rgba(15,23,42,.25)}.ch-theme-header-preview-fallback{padding:16px}


/* =========================================================
   v0.2.94 — Community bar layout / preview / badge stabilization
   ========================================================= */

/* Header + nav unread bubbles use exactly the same geometry. */
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge,
.ch-theme-nav-badge,
.ch-theme-messages-counter{
	position:absolute!important;
	top:1px!important;
	right:2px!important;
	z-index:4!important;
	width:auto!important;
	min-width:18px!important;
	height:18px!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:999px!important;
	background:transparent!important;
	line-height:18px!important;
}
.ch-theme-header-icon-badge,
.ch-theme-nav-badge,
.ch-theme-header-message-badge .better-messages-unread-counter,
.ch-theme-messages-counter .better-messages-unread-counter{
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	box-sizing:border-box!important;
	min-width:18px!important;
	height:18px!important;
	margin:0!important;
	padding:0 5px!important;
	border:0!important;
	border-radius:999px!important;
	background:#dc2626!important;
	color:#fff!important;
	box-shadow:0 0 0 2px var(--ch-theme-surface,#fff)!important;
	font-family:inherit!important;
	font-size:10px!important;
	font-weight:900!important;
	line-height:18px!important;
	letter-spacing:-.02em!important;
}
.ch-theme-header-message-badge:empty,
.ch-theme-messages-counter:empty{display:none!important}

/* POST owns a true center reservation; old nth-child nudges are neutralized. */
.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3),
.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3){
	margin-left:0!important;
}

@media(min-width:783px){
	.ch-theme-community-bar--bottom .ch-theme-header-inner--nav{
		width:min(100%,1240px)!important;
		max-width:1240px!important;
		padding:7px 18px!important;
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community,
	.ch-theme-community-bar--bottom .ch-theme-community-nav{
		display:flex!important;
		align-items:center!important;
		justify-content:center!important;
		flex-wrap:nowrap!important;
		gap:4px!important;
		width:100%!important;
		overflow:visible!important;
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
	.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
		flex:1 1 0!important;
		min-width:0!important;
		max-width:150px!important;
		margin:0!important;
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
	.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
		display:flex!important;
		align-items:center!important;
		justify-content:center!important;
		width:100%!important;
		min-width:0!important;
		min-height:46px!important;
		padding:7px 6px!important;
		white-space:nowrap!important;
	}
	.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
	.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{
		flex:0 0 92px!important;
		width:92px!important;
		min-width:92px!important;
		max-width:92px!important;
		margin:0!important;
		padding:0!important;
		pointer-events:none!important;
	}
	.ch-theme-community-center-action{
		width:64px!important;
		height:64px!important;
	}
	.ch-theme-community-center-action-label{
		font-size:10px!important;
		font-weight:900!important;
		letter-spacing:.05em!important;
	}
}

/* Mobile Community bar must remain visible and scroll safely if labels are wide. */
@media(max-width:782px){
	.ch-theme-community-bar.ch-theme-community-bar--mobile{
		display:block!important;
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community,
	.ch-theme-community-bar--bottom .ch-theme-community-nav{
		display:flex!important;
		justify-content:flex-start!important;
		flex-wrap:nowrap!important;
		overflow-x:auto!important;
		overscroll-behavior-x:contain;
	}
	.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li,
	.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
		flex:0 0 auto!important;
	}
}

/* Same-site Better Messages preview loads its real page lifecycle. */
.ch-theme-messages-preview-frame{
	display:block;
	width:100%;
	height:min(500px,68vh);
	border:0;
	background:var(--ch-theme-surface,#fff);
}
body.ch-theme-messages-preview-frame-page{
	padding-top:0!important;
	padding-bottom:0!important;
	margin:0!important;
}
body.ch-theme-messages-preview-frame-page .ch-theme-header,
body.ch-theme-messages-preview-frame-page .ch-theme-community-bar,
body.ch-theme-messages-preview-frame-page .ch-theme-back-to-top,
body.ch-theme-messages-preview-frame-page .ch-theme-footer,
body.ch-theme-messages-preview-frame-page footer{
	display:none!important;
}
body.ch-theme-messages-preview-frame-page #primary,
body.ch-theme-messages-preview-frame-page main{
	width:100%!important;
	max-width:none!important;
	margin:0!important;
	padding:8px!important;
}

/* Nav popup buttons visually remain ordinary Community nav items. */
button.ch-theme-nav-pill,
.ch-theme-nav-messages-trigger,
.ch-theme-nav-notification-trigger{
	appearance:none!important;
	-webkit-appearance:none!important;
	border:0!important;
	background:transparent!important;
	color:var(--ch-theme-text)!important;
	font:inherit!important;
}

/* =========================================================
   v0.2.95 — community nav popup parity + mobile bar stability
   ========================================================= */
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge .better-messages-unread-counter,
.ch-theme-messages-counter .better-messages-unread-counter,
.ch-theme-nav-badge{
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  line-height:18px!important;
  border-radius:999px!important;
  font-size:10px!important;
  font-weight:900!important;
}

.ch-theme-community-bar--bottom .ch-theme-menu-list--community,
.ch-theme-community-bar--bottom .ch-theme-community-nav{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
}

.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
.ch-theme-community-bar--bottom .ch-theme-community-nav>button.ch-theme-nav-pill,
.ch-theme-community-bar--bottom .ch-theme-community-nav>a.ch-theme-nav-pill{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}

.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
.ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  width:100%!important;
  padding:8px 10px!important;
  text-align:center!important;
}

.ch-theme-community-bar--bottom .ch-theme-nav-label,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community .ch-theme-nav-label{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
.ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{
  flex:0 0 82px!important;
  width:82px!important;
  min-width:82px!important;
  margin:0!important;
}

.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3),
.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3){
  margin-left:0!important;
}

.ch-theme-community-bar--mobile{
  display:block!important;
}

@media (max-width: 782px){
  .ch-theme-community-bar--bottom .ch-theme-header-inner--nav{padding-left:8px!important;padding-right:8px!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community,
  .ch-theme-community-bar--bottom .ch-theme-community-nav{gap:4px!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>button.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>a.ch-theme-nav-pill{flex:1 1 0!important;min-width:0!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{min-height:44px!important;padding:7px 6px!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-label{font-size:10px!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{flex:0 0 68px!important;width:68px!important;min-width:68px!important}
}


/* =========================================================
   v0.2.96 — mobile hamburger cleanup + widget button polish
   ========================================================= */
/* Community navigation must not appear inside the hamburger panel on mobile.
   The mobile/desktop Community bar is controlled separately. */
.ch-theme-menu-panel .ch-theme-community-menu,
.ch-theme-menu-panel .ch-theme-community-nav{
  display:none!important;
}

/* Right/left rail widget controls should feel polished and adult, not oversized. */
.ch-theme-sidebar .widget button,
.ch-theme-sidebar .widget input[type="submit"],
.ch-theme-sidebar .widget .button,
.ch-theme-sidebar .widget .wp-block-search__button,
.ch-theme-sidebar .widget form button,
.ch-theme-sidebar .ch-theme-widget button,
.ch-theme-sidebar .ch-theme-widget input[type="submit"],
.ch-theme-sidebar .ch-theme-widget .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 16px!important;
  border-radius:14px!important;
  border:1px solid rgba(0,128,255,.18)!important;
  background:linear-gradient(180deg,#1490ff 0%, #0077ee 100%)!important;
  color:#ffffff!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  box-shadow:0 10px 24px rgba(0,128,255,.18)!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.ch-theme-sidebar .widget button:hover,
.ch-theme-sidebar .widget input[type="submit"]:hover,
.ch-theme-sidebar .widget .button:hover,
.ch-theme-sidebar .widget .wp-block-search__button:hover,
.ch-theme-sidebar .widget form button:hover,
.ch-theme-sidebar .ch-theme-widget button:hover,
.ch-theme-sidebar .ch-theme-widget input[type="submit"]:hover,
.ch-theme-sidebar .ch-theme-widget .button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 14px 30px rgba(0,128,255,.24)!important;
  filter:saturate(1.03)!important;
}
.ch-theme-sidebar .widget input[type="text"],
.ch-theme-sidebar .widget input[type="search"],
.ch-theme-sidebar .widget input[type="email"],
.ch-theme-sidebar .widget input[type="url"],
.ch-theme-sidebar .widget input[type="number"],
.ch-theme-sidebar .widget select,
.ch-theme-sidebar .ch-theme-widget input[type="text"],
.ch-theme-sidebar .ch-theme-widget input[type="search"],
.ch-theme-sidebar .ch-theme-widget input[type="email"],
.ch-theme-sidebar .ch-theme-widget input[type="url"],
.ch-theme-sidebar .ch-theme-widget input[type="number"],
.ch-theme-sidebar .ch-theme-widget select{
  min-height:44px!important;
  border-radius:14px!important;
  border:1px solid rgba(148,163,184,.34)!important;
  background:rgba(7,18,38,.22)!important;
  color:var(--ch-theme-text)!important;
  padding:0 14px!important;
  box-shadow:none!important;
}
.ch-theme-sidebar .widget .wp-block-search__inside-wrapper,
.ch-theme-sidebar .widget form[role="search"],
.ch-theme-sidebar .ch-theme-widget .wp-block-search__inside-wrapper,
.ch-theme-sidebar .ch-theme-widget form[role="search"]{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
/* Keep small circular action buttons from ballooning. */
.ch-theme-sidebar .widget .is-style-circle,
.ch-theme-sidebar .ch-theme-widget .is-style-circle,
.ch-theme-sidebar .widget button[aria-label],
.ch-theme-sidebar .ch-theme-widget button[aria-label]{
  min-width:42px!important;
  width:42px!important;
  padding:0!important;
}
/* Dark mode widget control tuning. */
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .widget input[type="text"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .widget input[type="search"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .widget input[type="email"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .widget select,
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .ch-theme-widget input[type="text"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .ch-theme-widget input[type="search"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .ch-theme-widget input[type="email"],
html[data-ch-theme-mode="dark"] .ch-theme-sidebar .ch-theme-widget select,
body.ch-theme-mode-dark .ch-theme-sidebar .widget input[type="text"],
body.ch-theme-mode-dark .ch-theme-sidebar .widget input[type="search"],
body.ch-theme-mode-dark .ch-theme-sidebar .widget input[type="email"],
body.ch-theme-mode-dark .ch-theme-sidebar .widget select,
body.ch-theme-mode-dark .ch-theme-sidebar .ch-theme-widget input[type="text"],
body.ch-theme-mode-dark .ch-theme-sidebar .ch-theme-widget input[type="search"],
body.ch-theme-mode-dark .ch-theme-sidebar .ch-theme-widget input[type="email"],
body.ch-theme-mode-dark .ch-theme-sidebar .ch-theme-widget select{
  background:rgba(15,23,42,.88)!important;
  border-color:#334155!important;
  color:#f8fafc!important;
}
@media (max-width:782px){
  .ch-theme-sidebar .widget button,
  .ch-theme-sidebar .widget input[type="submit"],
  .ch-theme-sidebar .widget .button,
  .ch-theme-sidebar .widget .wp-block-search__button,
  .ch-theme-sidebar .widget form button,
  .ch-theme-sidebar .ch-theme-widget button,
  .ch-theme-sidebar .ch-theme-widget input[type="submit"],
  .ch-theme-sidebar .ch-theme-widget .button{
    min-height:40px!important;
    padding:0 14px!important;
    border-radius:12px!important;
    font-size:13px!important;
  }
}


/* =========================================================
   v0.2.97 — deterministic bottom bar + POST-only action + widget search polish
   ========================================================= */
@media(min-width:783px){
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community,
  .ch-theme-community-bar--bottom .ch-theme-community-nav{
    display:flex!important;align-items:center!important;justify-content:center!important;
    flex-wrap:nowrap!important;gap:8px!important;width:100%!important;overflow:visible!important
  }
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>button.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>a.ch-theme-nav-pill{
    flex:0 0 102px!important;min-width:102px!important;max-width:102px!important;margin:0!important
  }
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
    min-height:44px!important;padding:7px 8px!important;border-radius:12px!important
  }
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{
    flex:0 0 96px!important;width:96px!important;min-width:96px!important;max-width:96px!important
  }
}
.ch-theme-community-center-action{
  left:50%!important;bottom:7px!important;transform:translateX(-50%)!important;
  width:74px!important;height:44px!important;min-width:74px!important;min-height:44px!important;
  padding:0 14px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:14px!important;
  background:linear-gradient(180deg,#168fff 0%,#0877e8 100%)!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(0,104,218,.34)!important;text-decoration:none!important
}
.ch-theme-community-center-action:hover,.ch-theme-community-center-action:focus-visible{
  transform:translateX(-50%) translateY(-1px)!important;box-shadow:0 14px 30px rgba(0,104,218,.40)!important
}
.ch-theme-community-center-action-icon{display:none!important}
.ch-theme-community-center-action-label{margin:0!important;font-size:12px!important;font-weight:900!important;line-height:1!important;letter-spacing:.05em!important;color:#fff!important}

/* Identical unread badge geometry in header and Community bar. */
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge .better-messages-unread-counter,
.ch-theme-nav-badge,
.ch-theme-messages-counter .better-messages-unread-counter{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;min-width:18px!important;height:18px!important;padding:0 5px!important;
  border:0!important;border-radius:999px!important;background:#dc2626!important;color:#fff!important;
  font:900 10px/18px inherit!important;letter-spacing:-.02em!important;box-shadow:0 0 0 2px var(--ch-theme-surface,#fff)!important
}
.ch-theme-header-icon-badge,.ch-theme-header-message-badge{top:-4px!important;right:-4px!important}
.ch-theme-nav-badge,.ch-theme-messages-counter{top:1px!important;right:3px!important}

/* Widget search controls: compact, deliberate, never oversized. */
.ch-theme-sidebar .wp-block-search__inside-wrapper,
.ch-theme-sidebar form[role="search"]{display:flex!important;align-items:stretch!important;gap:8px!important}
.ch-theme-sidebar .wp-block-search__input,
.ch-theme-sidebar form[role="search"] input[type="search"]{
  min-height:42px!important;height:42px!important;border-radius:12px!important;padding:0 13px!important
}
.ch-theme-sidebar .wp-block-search__button,
.ch-theme-sidebar form[role="search"] button,
.ch-theme-sidebar form[role="search"] input[type="submit"]{
  flex:0 0 auto!important;width:auto!important;min-width:72px!important;min-height:42px!important;height:42px!important;
  padding:0 14px!important;border-radius:12px!important;font-size:13px!important;font-weight:850!important;
  box-shadow:0 6px 15px rgba(0,128,255,.15)!important;transform:none!important
}
.ch-theme-sidebar .wp-block-search__button:hover,
.ch-theme-sidebar form[role="search"] button:hover,
.ch-theme-sidebar form[role="search"] input[type="submit"]:hover{transform:none!important;box-shadow:0 8px 18px rgba(0,128,255,.20)!important}

.ch-theme-header-preview-note{padding:10px 14px;border-top:1px solid var(--ch-theme-border,#dbe3ec);font-size:12px;color:var(--ch-theme-muted,#64748b)}

/* =========================================================
   v0.2.99 — balanced POST nav, one badge geometry, notification preview
   ========================================================= */

/* One shared unread badge box everywhere. Wrappers do not draw a second bubble. */
.ch-theme-header-message-badge,
.ch-theme-messages-counter{
  position:absolute!important;
  z-index:5!important;
  display:block!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  line-height:18px!important;
}
.ch-theme-header-icon-badge,
.ch-theme-nav-badge,
.ch-theme-header-message-badge .better-messages-unread-counter,
.ch-theme-messages-counter .better-messages-unread-counter{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#dc2626!important;
  color:#fff!important;
  box-shadow:0 0 0 2px var(--ch-theme-surface,#101b2c)!important;
  font-family:inherit!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:18px!important;
  letter-spacing:0!important;
}
.ch-theme-header-icon-button{position:relative!important}
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge{
  position:absolute!important;
  top:-4px!important;
  right:-4px!important;
}
.ch-theme-community-bar--bottom .ch-theme-nav-pill,
.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{position:relative!important}
.ch-theme-community-bar--bottom .ch-theme-nav-badge,
.ch-theme-community-bar--bottom .ch-theme-messages-counter{
  position:absolute!important;
  top:2px!important;
  left:calc(50% + 13px)!important;
  right:auto!important;
  transform:none!important;
}

/* Desktop: let the nav use the available width instead of chopping Community. */
@media(min-width:783px){
  .ch-theme-community-bar--bottom .ch-theme-header-inner--nav{
    width:min(100%,1180px)!important;
    max-width:1180px!important;
    padding:6px 18px!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community,
  .ch-theme-community-bar--bottom .ch-theme-community-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
    flex:1 1 110px!important;
    min-width:92px!important;
    max-width:132px!important;
    margin:0!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:44px!important;
    padding:6px 8px!important;
    overflow:visible!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-nav-label{
    display:inline!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{
    flex:0 0 82px!important;
    width:82px!important;
    min-width:82px!important;
    max-width:82px!important;
    margin:0!important;
  }
}

/* Raised POST action: smaller, intentional, with a create icon. */
.ch-theme-community-center-action{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  left:50%!important;
  bottom:5px!important;
  transform:translateX(-50%)!important;
  width:64px!important;
  height:58px!important;
  min-width:64px!important;
  min-height:58px!important;
  padding:5px 8px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#168fff 0%,#0877e8 100%)!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(0,104,218,.30)!important;
}
.ch-theme-community-center-action-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  color:#fff!important;
}
.ch-theme-community-center-action-icon svg{display:block!important;width:18px!important;height:18px!important}
.ch-theme-community-center-action-label{
  margin:0!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.04em!important;
}
.ch-theme-community-center-action:hover,
.ch-theme-community-center-action:focus-visible{
  transform:translateX(-50%) translateY(-1px)!important;
  box-shadow:0 12px 27px rgba(0,104,218,.38)!important;
}

/* Dedicated notifications preview: no profile shell, no iframe. */
.ch-theme-notification-popup{
  border:1px solid rgba(148,163,184,.28)!important;
  border-radius:16px!important;
  background:var(--ch-theme-surface,#101b2c)!important;
  box-shadow:0 24px 62px rgba(0,0,0,.36)!important;
  overflow:hidden!important;
}
.ch-theme-notification-preview-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 14px;border-bottom:1px solid rgba(148,163,184,.20)
}
.ch-theme-notification-preview-head strong{font-size:14px;font-weight:900;color:var(--ch-theme-text,#f8fafc)}
.ch-theme-notification-preview-head span{font-size:10px;font-weight:800;color:var(--ch-theme-muted,#94a3b8)}
.ch-theme-notification-preview-list{max-height:min(420px,58vh);overflow:auto;padding:5px}
.ch-theme-notification-preview-item{
  position:relative;display:flex;gap:10px;align-items:flex-start;padding:11px 10px;border-radius:10px;
  color:var(--ch-theme-text,#f8fafc)!important;text-decoration:none!important
}
.ch-theme-notification-preview-item:hover{background:rgba(128,160,200,.10)}
.ch-theme-notification-preview-item.is-unread{background:rgba(0,128,255,.08)}
.ch-theme-notification-preview-dot{width:7px;height:7px;flex:0 0 7px;margin-top:6px;border-radius:50%;background:transparent}
.ch-theme-notification-preview-item.is-unread .ch-theme-notification-preview-dot{background:#168fff}
.ch-theme-notification-preview-copy{display:grid;gap:4px;min-width:0}
.ch-theme-notification-preview-copy strong{font-size:12px;line-height:1.35;font-weight:800;color:inherit}
.ch-theme-notification-preview-copy small{font-size:10px;color:var(--ch-theme-muted,#94a3b8)}
.ch-theme-notification-preview-empty,
.ch-theme-notification-preview-loading,
.ch-theme-notification-preview-error{padding:18px;color:var(--ch-theme-text,#f8fafc)}
.ch-theme-notification-preview-error p{color:var(--ch-theme-muted,#94a3b8)}
.ch-theme-notification-preview-foot{padding:9px 10px 10px;border-top:1px solid rgba(148,163,184,.20)}
.ch-theme-notification-preview-foot a,
.ch-theme-notification-preview-error a{
  display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 11px;border-radius:9px;
  background:rgba(0,128,255,.12);color:#6eb6ff!important;font-size:11px;font-weight:900;text-decoration:none!important
}

/* Messages popup polish only; functionality remains Better Messages-owned. */
.ch-theme-header-preview-popup .ch-quick-preview-panel--messages{background:var(--ch-theme-surface,#101b2c)!important}
.ch-theme-header-preview-popup .ch-quick-preview-heading{min-height:46px!important;padding:12px 14px!important}
.ch-theme-header-preview-popup .ch-quick-preview-messages-app{height:min(455px,62vh)!important;overflow:auto!important}
.ch-theme-header-preview-popup .ch-quick-preview-messages-app .bp-messages-wrap{min-height:100%!important;background:transparent!important}

/* =========================================================
   v0.3.00 — final shared badges, balanced POST slot, quiet loaders
   ========================================================= */
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge,
.ch-theme-nav-badge,
.ch-theme-messages-counter{
  position:absolute!important;
  z-index:8!important;
  display:block!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.ch-theme-unread-badge{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  min-width:18px!important;
  max-width:18px!important;
  height:18px!important;
  min-height:18px!important;
  max-height:18px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:50%!important;
  background:#dc2626!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:18px!important;
  letter-spacing:0!important;
  box-shadow:0 0 0 2px var(--ch-theme-surface,#101b2c)!important;
}
.ch-theme-header-icon-badge,
.ch-theme-header-message-badge{top:-4px!important;right:-4px!important;left:auto!important}
.ch-theme-community-bar--bottom .ch-theme-nav-badge,
.ch-theme-community-bar--bottom .ch-theme-messages-counter{
  top:0!important;
  left:calc(50% + 10px)!important;
  right:auto!important;
}
@media(min-width:783px){
  .ch-theme-community-bar--bottom .ch-theme-header-inner--nav{width:min(100%,1240px)!important;max-width:1240px!important;padding:6px 18px!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community,
  .ch-theme-community-bar--bottom .ch-theme-community-nav{display:flex!important;align-items:center!important;justify-content:stretch!important;flex-wrap:nowrap!important;gap:6px!important;width:100%!important;overflow:visible!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item),
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{flex:var(--ch-nav-grow,1) 1 0!important;min-width:0!important;max-width:none!important;margin:0!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a,
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{min-width:0!important;width:100%!important;min-height:44px!important;padding:6px 7px!important;gap:6px!important;justify-content:center!important;overflow:visible!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-label{display:inline!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;font-size:11px!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer{flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important;margin:0!important;padding:0!important}
}
.ch-theme-community-center-action{top:0!important;bottom:auto!important;transform:translate(-50%,-22%)!important;width:56px!important;min-width:56px!important;height:56px!important;min-height:56px!important;padding:5px!important;gap:2px!important;border:3px solid var(--ch-theme-surface,#101b2c)!important;border-radius:18px!important;background:linear-gradient(180deg,#1594ff,#0878e8)!important;box-shadow:0 9px 22px rgba(0,104,218,.28)!important}
.ch-theme-community-center-action:hover,.ch-theme-community-center-action:focus-visible{transform:translate(-50%,-25%)!important}
.ch-theme-community-center-action-icon{display:flex!important;width:16px!important;height:16px!important}
.ch-theme-community-center-action-icon svg{width:16px!important;height:16px!important}
.ch-theme-community-center-action-label{font-size:9px!important;line-height:1!important;letter-spacing:.045em!important}
.ch-theme-popup-skeleton{display:grid;gap:9px;padding:14px;min-height:150px;background:var(--ch-theme-surface,#101b2c)}
.ch-theme-popup-skeleton span{display:block;height:42px;border-radius:10px;background:linear-gradient(90deg,rgba(148,163,184,.08),rgba(148,163,184,.18),rgba(148,163,184,.08));background-size:220% 100%;animation:ch-popup-skeleton 1.15s ease-in-out infinite}
.ch-theme-popup-skeleton .ch-theme-popup-skeleton-title{height:18px;width:42%;border-radius:6px}
@keyframes ch-popup-skeleton{0%{background-position:100% 0}100%{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.ch-theme-popup-skeleton span{animation:none}}

/* =========================================================
   v0.3.01 — simplified Community bar: no message/notification
   duplication, Store + optional Custom button, stable POST slot
   ========================================================= */
@media (min-width:783px){
  .ch-theme-community-bar--bottom .ch-theme-header-inner--nav{
    width:min(100%,1160px)!important;
    max-width:1160px!important;
    padding:6px 14px!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-community-nav,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:100%!important;
    overflow:visible!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item){
    flex:1 1 0!important;
    min-width:0!important;
    max-width:142px!important;
    margin:0!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:100%!important;
    min-height:44px!important;
    padding:6px 9px!important;
    border-radius:12px!important;
    white-space:nowrap!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer,
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item{
    flex:0 0 74px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    padding:0!important;
    margin:0!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-nav-label{
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}

/* The raised POST control is already approved; preserve its visual treatment. */
.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav>:nth-child(3),
.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community>li:nth-child(3){
  margin-left:0!important;
}

/* Store and custom buttons use exactly the same nav treatment as native items. */
.ch-theme-menu-item--store>a,
.ch-theme-menu-item--custom>a{
  color:inherit!important;
  text-decoration:none!important;
}

@media (max-width:782px){
  .ch-theme-community-bar--bottom .ch-theme-community-nav,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:4px!important;
    overflow-x:auto!important;
  }
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li:not(.ch-theme-nav-center-spacer-item){
    flex:0 0 auto!important;
    min-width:62px!important;
  }
}

/* =========================================================
   v0.3.02 — managed Nav Bar, invisible balance slots, search polish
   ========================================================= */
.ch-theme-community-nav[data-ch-balanced-nav="1"]{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(82px,1fr)!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:6px!important;
  width:min(100%,1120px)!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-pill,
.ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-center-spacer,
.ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-balance-placeholder{
  min-width:0!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
}
.ch-theme-nav-balance-placeholder{
  display:block!important;
  visibility:hidden!important;
  pointer-events:none!important;
  min-height:46px!important;
}
.ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-center-spacer{
  display:block!important;
  visibility:hidden!important;
  min-height:46px!important;
}
.ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-pill{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:7px 8px!important;
}
.ch-theme-community-nav[data-ch-balanced-nav="1"] .ch-theme-nav-label{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}
.ch-theme-community-nav[data-ch-balanced-nav="1"] .ch-theme-nav-pill:first-child .ch-theme-nav-label{
  overflow:visible!important;
  text-overflow:clip!important;
}

/* One actual badge element for header quick actions. */
.ch-theme-header-icon-button{position:relative!important}
.ch-theme-header-icon-button>.ch-theme-unread-badge.ch-theme-header-unread-badge{
  position:absolute!important;
  top:-5px!important;
  right:-5px!important;
  z-index:8!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  box-shadow:0 0 0 2px var(--ch-theme-surface,#fff)!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:900!important;
  line-height:18px!important;
}

/* Search/category widgets: compact, balanced action controls. */
.ch-theme-sidebar .wp-block-search__inside-wrapper,
.ch-theme-sidebar form[role="search"],
.ch-theme-sidebar .widget_product_search form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
}
.ch-theme-sidebar .wp-block-search__button,
.ch-theme-sidebar form[role="search"] button,
.ch-theme-sidebar .widget_product_search button,
.ch-theme-sidebar .widget_product_search input[type="submit"]{
  min-width:70px!important;
  width:auto!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:12px!important;
  font-size:12px!important;
  font-weight:850!important;
  line-height:1!important;
  box-shadow:0 6px 16px rgba(0,128,255,.16)!important;
}
.ch-theme-sidebar .wp-block-search__input,
.ch-theme-sidebar form[role="search"] input[type="search"],
.ch-theme-sidebar .widget_product_search input[type="search"]{
  min-width:0!important;
  width:100%!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  font-size:13px!important;
}

@media(max-width:782px){
  .ch-theme-community-nav[data-ch-balanced-nav="1"]{
    grid-auto-columns:minmax(56px,1fr)!important;
    gap:3px!important;
    width:100%!important;
  }
  .ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-pill,
  .ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-center-spacer,
  .ch-theme-community-nav[data-ch-balanced-nav="1"]>.ch-theme-nav-balance-placeholder{
    min-height:44px!important;
  }
  .ch-theme-community-nav[data-ch-balanced-nav="1"] .ch-theme-nav-label{font-size:10px!important}
}

/* =========================================================
   v0.3.03 — tighter balanced nav, widget search polish, message menu layering
   ========================================================= */
/* Keep the bar compact; invisible balance slots preserve POST centering without stretching every item. */
@media (min-width:783px){
  .ch-theme-community-bar--bottom .ch-theme-header-inner--nav{max-width:1040px!important;width:min(1040px,calc(100% - 24px))!important;padding-left:10px!important;padding-right:10px!important}
  .ch-theme-community-bar--bottom .ch-theme-community-nav{display:flex!important;align-items:center!important;justify-content:center!important;gap:2px!important;width:100%!important}
  .ch-theme-community-bar--bottom .ch-theme-community-nav>.ch-theme-nav-pill{flex:0 1 102px!important;width:102px!important;max-width:102px!important;min-width:76px!important;padding:7px 8px!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer,
  .ch-theme-community-bar--bottom .ch-theme-nav-balance-placeholder{flex:0 0 72px!important;width:72px!important;min-width:72px!important;max-width:72px!important}
}

/* Search widgets: input owns the row; Search is a compact supporting action. */
.ch-theme-sidebar .widget_search .wp-block-search__inside-wrapper,
.ch-theme-sidebar .widget_search form,
.ch-theme-sidebar .widget .wp-block-search__inside-wrapper,
.ch-theme-sidebar .ch-theme-widget .wp-block-search__inside-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:stretch!important;gap:8px!important;width:100%!important}
.ch-theme-sidebar .widget_search input[type="search"],
.ch-theme-sidebar .widget .wp-block-search__input,
.ch-theme-sidebar .ch-theme-widget .wp-block-search__input{width:100%!important;min-width:0!important;min-height:44px!important;height:44px!important;padding:0 14px!important;border-radius:12px!important;font-size:14px!important}
.ch-theme-sidebar .widget_search button,
.ch-theme-sidebar .widget .wp-block-search__button,
.ch-theme-sidebar .ch-theme-widget .wp-block-search__button{width:auto!important;min-width:72px!important;height:44px!important;min-height:44px!important;padding:0 14px!important;border-radius:12px!important;font-size:13px!important;font-weight:800!important;line-height:1!important}

/* Better Messages contextual menus must appear above the CommunityHub preview shell. */
.ch-theme-header-preview-popup{overflow:visible!important}
.ch-theme-header-preview-popup .ch-theme-header-preview-inner{overflow:visible!important}
.ch-theme-header-preview-popup .bp-messages-wrap,
.ch-theme-header-preview-popup .better-messages-list{overflow:visible!important}
.ch-theme-header-preview-popup [class*="dropdown"],
.ch-theme-header-preview-popup [class*="popover"],
.ch-theme-header-preview-popup [class*="context-menu"],
.ch-theme-header-preview-popup [class*="actions-menu"],
.ch-theme-header-preview-popup [class*="bm-menu"]{z-index:2147483646!important}

/* =========================================================
   v0.3.04 LIVE readiness — readability + integration bridge
   ========================================================= */
/* CommunityHub-owned surfaces must maintain readable contrast. */
body.ch-theme .ch-composer,
body.ch-theme .ch-activity-card,
body.ch-theme .ch-comment-bubble,
body.ch-theme .ch-profile-card,
body.ch-theme .ch-profile-section,
body.ch-theme .ch-bookmarks-header,
body.ch-theme .ch-bookmarks-empty,
body.ch-theme .ch-notifications-header,
body.ch-theme .ch-member-directory,
body.ch-theme .ch-group-card,
body.ch-theme .ch-forum-card{
  color:var(--ch-theme-text,#182230);
}
body.ch-theme .ch-composer input,
body.ch-theme .ch-composer textarea,
body.ch-theme .ch-composer select,
body.ch-theme .ch-profile-section input,
body.ch-theme .ch-profile-section textarea,
body.ch-theme .ch-profile-section select{
  color:var(--ch-theme-text,#182230)!important;
  background:var(--ch-theme-surface,#fff)!important;
  border-color:var(--ch-theme-border,#dbe3ec)!important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-activity-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-comment-bubble,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-bookmarks-empty,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-notifications-header,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-member-directory,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-group-card,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-forum-card,
body.ch-theme-mode-dark .ch-composer,
body.ch-theme-mode-dark .ch-activity-card,
body.ch-theme-mode-dark .ch-comment-bubble,
body.ch-theme-mode-dark .ch-profile-card,
body.ch-theme-mode-dark .ch-profile-section{
  color:#f8fafc!important;
}
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer input,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer textarea,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-composer select,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section input,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section textarea,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-profile-section select,
body.ch-theme-mode-dark .ch-composer input,
body.ch-theme-mode-dark .ch-composer textarea,
body.ch-theme-mode-dark .ch-composer select{
  color:#f8fafc!important;
  background:#0f172a!important;
  border-color:#334155!important;
}
/* Better Messages: preserve its app UI while keeping menus above CommunityHub popup shells. */
.ch-theme-header-preview-popup .bp-messages-wrap,
.ch-theme-header-preview-popup .better-messages-list,
.ch-theme-header-preview-popup .better-messages-conversation,
.ch-theme-header-preview-popup .better-messages-chat-room{
  color:inherit;
}
.bp-messages-wrap .bm-dropdown,
.bp-messages-wrap .bm-dropdown-content,
.bp-messages-wrap .bm-context-menu,
.bp-messages-wrap .bm-popover,
.better-messages-list .bm-dropdown,
.better-messages-list .bm-context-menu{
  z-index:2147483646!important;
}
/* PMPro owns membership UI/colors tonight; do not force CommunityHub blue over its controls. */
body.ch-theme .pmpro,
body.ch-theme .pmpro_card,
body.ch-theme .pmpro_section,
body.ch-theme .pmpro_form{
  font-family:inherit;
}


/* =========================================================
   v0.3.05 — exact WP Search block + Better Messages layering
   ========================================================= */
#block-233.widget_search .wp-block-search,
.ch-theme-sidebar .widget_search .wp-block-search{display:grid!important;gap:9px!important;width:100%!important}
#block-233.widget_search .wp-block-search__label,
.ch-theme-sidebar .widget_search .wp-block-search__label{display:block!important;margin:0!important;color:var(--ch-theme-text,#182230)!important;font-size:14px!important;font-weight:800!important;line-height:1.2!important}
#block-233.widget_search .wp-block-search__inside-wrapper,
.ch-theme-sidebar .widget_search .wp-block-search__inside-wrapper{display:grid!important;grid-template-columns:minmax(0,1fr) 82px!important;align-items:stretch!important;gap:10px!important;width:100%!important}
#block-233.widget_search .wp-block-search__input,
.ch-theme-sidebar .widget_search .wp-block-search__input{box-sizing:border-box!important;width:100%!important;min-width:0!important;height:48px!important;min-height:48px!important;padding:0 16px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:13px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-text,#182230)!important;font-size:14px!important;line-height:48px!important;box-shadow:inset 0 1px 1px rgba(15,23,42,.03)!important}
#block-233.widget_search .wp-block-search__input::placeholder,
.ch-theme-sidebar .widget_search .wp-block-search__input::placeholder{color:var(--ch-theme-muted,#7a8798)!important;opacity:1!important}
#block-233.widget_search .wp-block-search__button,
.ch-theme-sidebar .widget_search .wp-block-search__button{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:82px!important;min-width:82px!important;height:48px!important;min-height:48px!important;margin:0!important;padding:0 17px!important;border:1px solid rgba(0,128,255,.35)!important;border-radius:13px!important;background:linear-gradient(180deg,#1497ff 0%,#087fea 100%)!important;color:#fff!important;font-size:13px!important;font-weight:900!important;line-height:1!important;letter-spacing:0!important;box-shadow:0 7px 18px rgba(0,128,255,.2)!important}
#block-233.widget_search .wp-block-search__button:hover,
.ch-theme-sidebar .widget_search .wp-block-search__button:hover{transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(0,128,255,.25)!important}
html[data-ch-theme-mode="dark"] #block-233.widget_search .wp-block-search__input,
body.ch-theme-mode-dark #block-233.widget_search .wp-block-search__input{background:#0b1627!important;border-color:#2d4260!important;color:#f8fafc!important}

/* Better Messages menus may be portaled outside the CommunityHub popup, so raise both local and body-level menu layers. */
.ch-theme-header-preview-popup,
.ch-theme-header-preview-popup .ch-theme-header-preview-inner,
.ch-theme-header-preview-popup .ch-quick-preview-messages-app,
.ch-theme-header-preview-popup .bp-messages-wrap,
.ch-theme-header-preview-popup .better-messages-list{overflow:visible!important}
body .bm-dropdown,
body .bm-dropdown-content,
body .bm-popover,
body .bm-context-menu,
body .bm-menu,
body .bpbm-dropdown-menu,
body [class*="better-messages"][class*="dropdown"],
body [class*="better-messages"][class*="popover"],
body [class*="better-messages"][class*="menu"]{z-index:2147483647!important}


/* =========================================================
   v0.3.07 — exact Search geometry + native Better Messages presentation
   ========================================================= */
#block-233.widget_search form.wp-block-search,
.widget_search form.wp-block-search{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
#block-233.widget_search .wp-block-search__label,
.widget_search .wp-block-search__label{
  display:block!important;
  position:static!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0 0 10px!important;
  padding:0!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.3!important;
  text-align:left!important;
}
#block-233.widget_search .wp-block-search__inside-wrapper,
.widget_search .wp-block-search__inside-wrapper{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 88px!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
#block-233.widget_search .wp-block-search__input,
.widget_search .wp-block-search__input{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  min-height:48px!important;
  padding:0 16px!important;
  border-radius:13px!important;
}
#block-233.widget_search .wp-block-search__button,
.widget_search .wp-block-search__button{
  width:88px!important;
  min-width:88px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0 16px!important;
  border-radius:13px!important;
}

/* Keep CommunityHub's shell above normal page/feed content, but below plugin menus. */
.ch-theme-header-preview-popup{
  z-index:100000!important;
  isolation:auto!important;
}
.ch-theme-header-preview-popup.is-messages-preview{
  overflow:visible!important;
  background:#fff!important;
  color:#111827!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-theme-header-preview-inner,
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages,
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-messages-app{
  overflow:visible!important;
  background:#fff!important;
  color:#111827!important;
}
/* Do not repaint Better Messages internals. Its own skin remains authoritative. */
.ch-theme-header-preview-popup.is-messages-preview .bp-messages-wrap,
.ch-theme-header-preview-popup.is-messages-preview .better-messages-list,
.ch-theme-header-preview-popup.is-messages-preview .better-messages-conversation,
.ch-theme-header-preview-popup.is-messages-preview .better-messages-chat-room{
  color:inherit;
  overflow:visible!important;
}
/* Better Messages menus/popovers must sit above the CommunityHub preview shell. */
body .bm-dropdown,
body .bm-dropdown-content,
body .bm-context-menu,
body .bm-popover,
body .bm-menu,
body .bpbm-dropdown-menu,
body [class*="bm-"][class*="dropdown"],
body [class*="bm-"][class*="popover"],
body [class*="bm-"][class*="menu"],
body [class*="better-messages"][class*="dropdown"],
body [class*="better-messages"][class*="popover"],
body [class*="better-messages"][class*="menu"],
body [role="menu"]{
  z-index:200000!important;
}

/* v0.3.08 notification single-scroll + profile cleanup */
.ch-theme-notification-popup{overflow:hidden!important;max-height:none!important}.ch-theme-notification-popup-inner{overflow:hidden!important;max-height:none!important}.ch-theme-notification-preview-list{max-height:min(420px,58vh)!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable}.ch-inline-video-source{display:none!important}

/* =========================================================
   v0.3.09 — LIVE integration polish: PMPro, login security,
   Better Messages shell, readable external-plugin surfaces
   ========================================================= */

/* Better Messages: CommunityHub owns only the popup shell. Keep the messenger
   roomy and opaque; Better Messages remains authoritative inside it. */
.ch-theme-header-preview-popup.is-messages-preview{
  width:min(600px,calc(100vw - 24px))!important;
  max-width:600px!important;
  max-height:min(680px,82vh)!important;
  overflow:visible!important;
  border:1px solid var(--ch-theme-border,#d8e4f2)!important;
  border-radius:16px!important;
  background:var(--ch-theme-surface,#fff)!important;
  color:var(--ch-theme-text,#111827)!important;
  box-shadow:0 26px 72px rgba(2,8,23,.34)!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-theme-header-preview-inner,
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  background:var(--ch-theme-surface,#fff)!important;
  color:var(--ch-theme-text,#111827)!important;
  border-radius:inherit!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading{
  position:relative!important;
  z-index:2!important;
  min-height:48px!important;
  padding:12px 15px!important;
  border-bottom:1px solid var(--ch-theme-border,#d8e4f2)!important;
  background:var(--ch-theme-surface,#fff)!important;
  color:var(--ch-theme-text,#111827)!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-messages-app{
  width:100%!important;
  height:min(570px,70vh)!important;
  min-height:420px!important;
  overflow:hidden!important;
  background:transparent!important;
  color:inherit!important;
}
.ch-theme-header-preview-popup.is-messages-preview .bp-messages-wrap,
.ch-theme-header-preview-popup.is-messages-preview .better-messages-list{
  width:100%!important;
  max-width:none!important;
  min-height:420px!important;
  height:100%!important;
  margin:0!important;
  border:0!important;
  border-radius:0 0 16px 16px!important;
  box-shadow:none!important;
}
/* Retain the layer fix the user confirmed works. */
body .bm-dropdown,
body .bm-dropdown-content,
body .bm-context-menu,
body .bm-popover,
body .bm-menu,
body .bpbm-dropdown-menu,
body [class*="bm-"][class*="dropdown"],
body [class*="bm-"][class*="popover"],
body [class*="bm-"][class*="menu"],
body [class*="better-messages"][class*="dropdown"],
body [class*="better-messages"][class*="popover"],
body [class*="better-messages"][class*="menu"]{
  z-index:200000!important;
}
@media(max-width:782px){
  .ch-theme-header-preview-popup.is-messages-preview{
    left:8px!important;
    right:8px!important;
    width:auto!important;
    max-width:none!important;
  }
  .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-messages-app{
    height:min(620px,76vh)!important;
    min-height:380px!important;
  }
}

/* PMPro account page — styling only; PMPro remains authoritative. */
body.ch-theme-pmpro-account-page .pmpro,
body.ch-theme-pmpro-account-page .pmpro_account,
body.ch-theme-pmpro-account-page .pmpro_section,
body.ch-theme-pmpro-account-page .pmpro_card,
body.ch-theme-pmpro-account-page .pmpro_content_message{
  color:var(--ch-theme-text)!important;
}
body.ch-theme-pmpro-account-page .pmpro_section,
body.ch-theme-pmpro-account-page .pmpro_card,
body.ch-theme-pmpro-account-page .pmpro_account-membership-levelname,
body.ch-theme-pmpro-account-page .pmpro_account-profile,
body.ch-theme-pmpro-account-page .pmpro_account-invoices,
body.ch-theme-pmpro-account-page .pmpro_account-links{
  border:1px solid var(--ch-theme-border)!important;
  border-radius:16px!important;
  background:var(--ch-theme-surface)!important;
  box-shadow:var(--ch-theme-soft-shadow)!important;
}
body.ch-theme-pmpro-account-page .pmpro_section,
body.ch-theme-pmpro-account-page .pmpro_card{padding:18px!important;margin-bottom:16px!important}
body.ch-theme-pmpro-account-page .pmpro h1,
body.ch-theme-pmpro-account-page .pmpro h2,
body.ch-theme-pmpro-account-page .pmpro h3,
body.ch-theme-pmpro-account-page .pmpro strong,
body.ch-theme-pmpro-account-page .pmpro th{color:var(--ch-theme-text)!important}
body.ch-theme-pmpro-account-page .pmpro p,
body.ch-theme-pmpro-account-page .pmpro td,
body.ch-theme-pmpro-account-page .pmpro label,
body.ch-theme-pmpro-account-page .pmpro small{color:var(--ch-theme-muted)!important}
body.ch-theme-pmpro-account-page .pmpro table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--ch-theme-border)!important;border-radius:12px!important;overflow:hidden!important;background:var(--ch-theme-surface)!important}
body.ch-theme-pmpro-account-page .pmpro th,
body.ch-theme-pmpro-account-page .pmpro td{padding:11px 12px!important;border-bottom:1px solid var(--ch-theme-border)!important}
body.ch-theme-pmpro-account-page .pmpro input,
body.ch-theme-pmpro-account-page .pmpro select,
body.ch-theme-pmpro-account-page .pmpro textarea{min-height:44px!important;border:1px solid var(--ch-theme-border)!important;border-radius:11px!important;background:var(--ch-theme-surface)!important;color:var(--ch-theme-text)!important;padding:9px 12px!important}
body.ch-theme-pmpro-account-page .pmpro .pmpro_btn,
body.ch-theme-pmpro-account-page .pmpro input[type="submit"],
body.ch-theme-pmpro-account-page .pmpro button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:42px!important;padding:9px 15px!important;border:1px solid var(--ch-theme-blue)!important;border-radius:11px!important;
  background:var(--ch-theme-blue)!important;color:#fff!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;
}

/* PMPro login widgets/forms. */
.widget_pmpro_login,
.pmpro_login_wrap,
.pmpro_login{
  color:var(--ch-theme-text)!important;
}
.widget_pmpro_login input[type="text"],
.widget_pmpro_login input[type="email"],
.widget_pmpro_login input[type="password"],
.pmpro_login_wrap input[type="text"],
.pmpro_login_wrap input[type="email"],
.pmpro_login_wrap input[type="password"]{
  box-sizing:border-box!important;width:100%!important;min-height:44px!important;padding:9px 12px!important;
  border:1px solid var(--ch-theme-border)!important;border-radius:11px!important;background:var(--ch-theme-surface)!important;color:var(--ch-theme-text)!important;
}
.widget_pmpro_login input[type="submit"],
.widget_pmpro_login button,
.pmpro_login_wrap input[type="submit"],
.pmpro_login_wrap button{
  min-height:42px!important;padding:9px 15px!important;border-radius:11px!important;border:1px solid var(--ch-theme-blue)!important;
  background:var(--ch-theme-blue)!important;color:#fff!important;font-weight:800!important;
}
.widget_pmpro_login a,.pmpro_login_wrap a{color:var(--ch-theme-blue)!important;font-weight:700!important}

/* Wordfence Login Security front-end/shortcode surfaces. */
body.ch-theme-login-security-page .wfls-content,
body.ch-theme-login-security-page .wfls-block,
body.ch-theme-login-security-page .wfls-card,
body.ch-theme-login-security-page .wordfence-login-security,
body.ch-theme-login-security-page [class*="wordfence-login-security"],
body.ch-theme-login-security-page [class*="wfls-"]{
  color:var(--ch-theme-text);
}
body.ch-theme-login-security-page .wfls-block,
body.ch-theme-login-security-page .wfls-card,
body.ch-theme-login-security-page .wordfence-login-security{
  border-color:var(--ch-theme-border)!important;
  background:var(--ch-theme-surface)!important;
  border-radius:15px!important;
}
body.ch-theme-login-security-page input,
body.ch-theme-login-security-page select,
body.ch-theme-login-security-page textarea{
  border:1px solid var(--ch-theme-border)!important;border-radius:10px!important;background:var(--ch-theme-surface)!important;color:var(--ch-theme-text)!important;
}
body.ch-theme-login-security-page button,
body.ch-theme-login-security-page input[type="submit"]{
  min-height:40px!important;border-radius:10px!important;background:var(--ch-theme-blue)!important;color:#fff!important;border-color:var(--ch-theme-blue)!important;font-weight:800!important;
}
body.ch-theme-login-security-page table{color:var(--ch-theme-text)!important;background:var(--ch-theme-surface)!important;border-color:var(--ch-theme-border)!important}

/* Dark mode contract for the integrations above. */
html[data-ch-theme-mode="dark"] .ch-theme-header-preview-popup.is-messages-preview,
body.ch-theme-mode-dark .ch-theme-header-preview-popup.is-messages-preview,
html[data-ch-theme-mode="dark"] .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading,
body.ch-theme-mode-dark .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading{
  background:#0f172a!important;color:#f8fafc!important;border-color:#334155!important;
}
html[data-ch-theme-mode="dark"] body.ch-theme-pmpro-account-page .pmpro_section,
html[data-ch-theme-mode="dark"] body.ch-theme-pmpro-account-page .pmpro_card,
body.ch-theme-mode-dark.ch-theme-pmpro-account-page .pmpro_section,
body.ch-theme-mode-dark.ch-theme-pmpro-account-page .pmpro_card,
html[data-ch-theme-mode="dark"] body.ch-theme-login-security-page .wfls-block,
html[data-ch-theme-mode="dark"] body.ch-theme-login-security-page .wfls-card,
body.ch-theme-mode-dark.ch-theme-login-security-page .wfls-block,
body.ch-theme-mode-dark.ch-theme-login-security-page .wfls-card{
  background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important;
}


/* v0.3.10 — account-menu ordering + badge/profile polish */
.ch-theme-account-panel>a{display:flex!important;align-items:center!important;gap:9px!important}.ch-theme-account-item-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;flex:0 0 20px!important}.ch-profile-name-row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}.ch-profile-member-type-row{margin-top:4px!important}.ch-profile-member-type{font-size:11px!important;padding:4px 9px!important}.ch-suggestion-section{font-family:var(--ch-theme-font,inherit)!important}.ch-suggestion-section h2{font-size:22px!important;letter-spacing:-.02em!important}.ch-suggestion-section p{font-size:14px!important;line-height:1.6!important}.ch-announcement-dialog{font-family:var(--ch-theme-font,inherit)!important}

/* CommunityHub v0.3.14 — BuddyBoss-inspired compact Messages popup */
.ch-theme-header-preview-popup.is-messages-preview{
  width:min(390px,calc(100vw - 24px))!important;
  max-height:min(620px,78vh)!important;
  overflow:hidden!important;
  border-radius:16px!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-theme-header-preview-inner,
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:min(590px,74vh)!important;
  overflow:hidden!important;
  background:var(--ch-theme-surface,#fff)!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:52px!important;
  padding:11px 14px!important;
  border-bottom:1px solid var(--ch-theme-border,#dbe3ec)!important;
  background:var(--ch-theme-surface,#fff)!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading>strong{
  flex:1 1 auto!important;
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--ch-theme-text,#172033)!important;
  font-size:15px!important;
  font-weight:800!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading>a{
  flex:0 0 auto!important;
  color:var(--ch-theme-link,#2563eb)!important;
  font-size:12px!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.ch-quick-message-list{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:4px 0!important;
}
.ch-quick-message-row{
  appearance:none!important;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  min-height:66px!important;
  margin:0!important;
  padding:9px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-align:left!important;
  cursor:pointer!important;
}
.ch-quick-message-row:hover,
.ch-quick-message-row:focus-visible{
  background:var(--ch-theme-soft,#f4f7fb)!important;
  outline:none!important;
}
.ch-quick-message-row.is-unread{background:rgba(37,99,235,.055)!important}
.ch-quick-message-avatar,
.ch-quick-message-avatar img{
  display:block!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}
.ch-quick-message-copy{display:block!important;min-width:0!important}
.ch-quick-message-title-line{display:flex!important;align-items:center!important;gap:6px!important;min-width:0!important}
.ch-quick-message-title-line strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--ch-theme-text,#172033)!important;font-size:13px!important;font-weight:800!important}
.ch-quick-message-title-line small{flex:0 0 auto!important;padding:2px 6px!important;border-radius:999px!important;background:rgba(37,99,235,.1)!important;color:#2563eb!important;font-size:9px!important;font-weight:800!important;text-transform:uppercase!important}
.ch-quick-message-excerpt{display:block!important;margin-top:3px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:var(--ch-theme-muted,#64748b)!important;font-size:12px!important;line-height:1.35!important}
.ch-quick-message-meta{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:5px!important;color:var(--ch-theme-muted,#64748b)!important;font-size:10px!important;white-space:nowrap!important}
.ch-quick-message-unread{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:18px!important;height:18px!important;padding:0 5px!important;border-radius:999px!important;background:#2563eb!important;color:#fff!important;font-size:9px!important;font-weight:900!important}
.ch-quick-message-empty{padding:28px 16px!important;color:var(--ch-theme-muted,#64748b)!important;text-align:center!important}
.ch-message-back{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 32px!important;
  width:32px!important;
  height:32px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--ch-theme-text,#172033)!important;
  box-shadow:none!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.ch-message-back:hover,.ch-message-back:focus-visible{background:var(--ch-theme-soft,#f4f7fb)!important;outline:none!important}
.ch-quick-message-thread-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:14px 12px!important;
  background:var(--ch-theme-page,#f7f9fc)!important;
}
.ch-quick-message-bubble-row{display:flex!important;align-items:flex-end!important;gap:7px!important;margin:8px 0!important}
.ch-quick-message-bubble-row.is-mine{justify-content:flex-end!important}
.ch-quick-message-bubble-avatar,.ch-quick-message-bubble-avatar img{display:block!important;width:30px!important;height:30px!important;border-radius:50%!important;object-fit:cover!important}
.ch-quick-message-bubble{max-width:78%!important;padding:8px 10px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:14px 14px 14px 4px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-text,#172033)!important;box-shadow:0 1px 2px rgba(15,23,42,.04)!important}
.ch-quick-message-bubble-row.is-mine .ch-quick-message-bubble{border-color:#2563eb!important;border-radius:14px 14px 4px 14px!important;background:#2563eb!important;color:#fff!important}
.ch-quick-message-bubble p{margin:0!important;color:inherit!important;font-size:13px!important;line-height:1.42!important}
.ch-quick-message-bubble .ch-quick-message-sender{display:block!important;margin:0 0 3px!important;color:var(--ch-theme-muted,#64748b)!important;font-size:10px!important;font-weight:800!important}
.ch-quick-message-bubble time{display:block!important;margin-top:4px!important;color:var(--ch-theme-muted,#64748b)!important;font-size:9px!important;opacity:.85!important}
.ch-quick-message-bubble-row.is-mine .ch-quick-message-bubble time{color:rgba(255,255,255,.78)!important;text-align:right!important}
.ch-quick-message-compose{
  flex:0 0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:end!important;
  padding:10px 11px!important;
  border-top:1px solid var(--ch-theme-border,#dbe3ec)!important;
  background:var(--ch-theme-surface,#fff)!important;
}
.ch-quick-message-compose textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:42px!important;
  max-height:110px!important;
  margin:0!important;
  padding:10px 11px!important;
  resize:vertical!important;
  border:1px solid var(--ch-theme-border,#cbd5e1)!important;
  border-radius:12px!important;
  background:var(--ch-theme-input,#fff)!important;
  color:var(--ch-theme-text,#172033)!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.ch-quick-message-compose textarea:focus{border-color:#2563eb!important;outline:2px solid rgba(37,99,235,.14)!important;outline-offset:0!important}
.ch-quick-message-send{
  appearance:none!important;
  min-width:62px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 13px!important;
  border:0!important;
  border-radius:11px!important;
  background:#2563eb!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:12px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
.ch-quick-message-send:disabled{opacity:.6!important;cursor:wait!important}
.ch-quick-message-status{grid-column:1/-1!important;min-height:0!important;color:var(--ch-theme-muted,#64748b)!important;font-size:10px!important}
html[data-ch-theme-mode="dark"] .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages,
body.ch-theme-mode-dark .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages,
html[data-ch-theme-mode="dark"] .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading,
body.ch-theme-mode-dark .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-heading,
html[data-ch-theme-mode="dark"] .ch-quick-message-compose,
body.ch-theme-mode-dark .ch-quick-message-compose{background:var(--ch-theme-surface,#101b2c)!important}
html[data-ch-theme-mode="dark"] .ch-quick-message-thread-body,
body.ch-theme-mode-dark .ch-quick-message-thread-body{background:#0b1422!important}
html[data-ch-theme-mode="dark"] .ch-quick-message-row:hover,
html[data-ch-theme-mode="dark"] .ch-quick-message-row:focus-visible,
body.ch-theme-mode-dark .ch-quick-message-row:hover,
body.ch-theme-mode-dark .ch-quick-message-row:focus-visible{background:rgba(255,255,255,.055)!important}
html[data-ch-theme-mode="dark"] .ch-quick-message-bubble,
body.ch-theme-mode-dark .ch-quick-message-bubble{background:#152238!important;border-color:#26364f!important;color:#f8fafc!important}
html[data-ch-theme-mode="dark"] .ch-quick-message-compose textarea,
body.ch-theme-mode-dark .ch-quick-message-compose textarea{background:#0f1b2d!important;border-color:#334155!important;color:#f8fafc!important}
@media(max-width:600px){
  .ch-theme-header-preview-popup.is-messages-preview{left:10px!important;right:10px!important;width:auto!important;max-height:calc(100vh - 86px)!important}
  .ch-theme-header-preview-popup.is-messages-preview .ch-theme-header-preview-inner,
  .ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages{height:min(620px,calc(100vh - 100px))!important}
}


/* CommunityHub v0.3.21 destination context + unified group composer */
.ch-activity-destination-row{margin-top:4px;font-size:.82rem;line-height:1.35;color:var(--ch-theme-muted,#707780);display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.ch-activity-destination-row a{font-weight:700;color:inherit;text-decoration:none}
.ch-activity-destination-row a:hover{text-decoration:underline}
.ch-group-composer-shell{margin-bottom:18px}
.ch-group-composer-shell .ch-composer{margin:0}
.ch-composer-destination--locked .ch-composer-destination-control strong{font-size:.92rem;line-height:1.2}


/* =========================================================
   v0.3.24 — readable myCRED earned-point notices
   ========================================================= */
body:not(.wp-admin) #mycred-notifications,
body:not(.wp-admin) #mycred-notice,
body:not(.wp-admin) .mycred-notifications,
body:not(.wp-admin) .mycred-notification,
body:not(.wp-admin) .mycred-notice,
body:not(.wp-admin) .mycred-toast,
body:not(.wp-admin) .mycred-snackbar,
body:not(.wp-admin) [class*="mycred"][class*="notice"],
body:not(.wp-admin) [class*="mycred"][class*="notification"]{
	box-sizing:border-box!important;
	max-width:min(92vw,420px)!important;
	padding:12px 16px!important;
	border:1px solid rgba(30,64,175,.22)!important;
	border-radius:14px!important;
	background:#ffffff!important;
	color:#172033!important;
	box-shadow:0 14px 34px rgba(15,23,42,.18)!important;
	font-size:14px!important;
	font-weight:650!important;
	line-height:1.4!important;
	letter-spacing:0!important;
	text-shadow:none!important;
	overflow-wrap:anywhere!important;
}
body:not(.wp-admin) [class*="mycred"][class*="notice"] a,
body:not(.wp-admin) [class*="mycred"][class*="notification"] a,
body:not(.wp-admin) #mycred-notifications a,
body:not(.wp-admin) #mycred-notice a{
	color:#1d4ed8!important;
	font-weight:800!important;
}
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notifications,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notice,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notifications,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notification,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notice,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-toast,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-snackbar,
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notice"],
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notification"]{
	border-color:rgba(148,163,184,.26)!important;
	background:#111827!important;
	color:#f8fafc!important;
	box-shadow:0 14px 36px rgba(0,0,0,.42)!important;
}
html[data-ch-theme-mode="dark"] body:not(.wp-admin) [class*="mycred"][class*="notice"] a,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) [class*="mycred"][class*="notification"] a,
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notice"] a,
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notification"] a{
	color:#93c5fd!important;
}


/* =========================================================
   v0.3.25 — Apply the APPROVED Community desktop widget-column geometry
   to every other CommunityHub social route.
   IMPORTANT: .ch-theme-community-shell--community is intentionally excluded;
   the already-approved Community page remains untouched.
   ========================================================= */
@media (min-width:1180px){
  .ch-theme-container--community:has(.ch-theme-community-shell:not(.ch-theme-community-shell--community)){
    width:min(100% - 20px,1540px)!important;
    max-width:1540px!important;
    --ch-social-stack-width:820px;
    --ch-social-widget-width:340px;
    --ch-social-widget-gap:8px;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community).ch-theme-layout--sidebar{
    display:grid!important;
    align-items:start!important;
    justify-content:center!important;
    gap:var(--ch-social-widget-gap)!important;
    column-gap:var(--ch-social-widget-gap)!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community).ch-theme-layout--sidebar-both{
    grid-template-columns:minmax(300px,var(--ch-social-widget-width)) minmax(0,var(--ch-social-stack-width)) minmax(300px,var(--ch-social-widget-width))!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community).ch-theme-layout--sidebar-left{
    grid-template-columns:minmax(300px,var(--ch-social-widget-width)) minmax(0,var(--ch-social-stack-width))!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community).ch-theme-layout--sidebar-right{
    grid-template-columns:minmax(0,var(--ch-social-stack-width)) minmax(300px,var(--ch-social-widget-width))!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community) .ch-theme-sidebar--left{
    justify-self:end!important;width:100%!important;max-width:var(--ch-social-widget-width)!important;margin-right:0!important;padding-right:0!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community) .ch-theme-sidebar--right{
    justify-self:start!important;width:100%!important;max-width:var(--ch-social-widget-width)!important;margin-left:0!important;padding-left:0!important;
  }
  .ch-theme-community-shell:not(.ch-theme-community-shell--community) .ch-theme-community-content-wrap{
    justify-self:center!important;width:100%!important;margin-left:0!important;margin-right:0!important;
  }
}

/* Immediate CommunityHub myCRED reward toast. Theme owns presentation; Core owns
   the reward transaction/result. */
.ch-reward-toast{
  position:fixed;right:20px;bottom:24px;z-index:2147483200;display:flex;align-items:center;gap:11px;
  box-sizing:border-box;min-width:260px;max-width:min(92vw,390px);padding:13px 15px;border:1px solid #d8e1ec;
  border-radius:14px;background:#fff;color:#172033;box-shadow:0 14px 36px rgba(15,23,42,.22);
  opacity:0;transform:translateY(12px) scale(.98);transition:opacity .2s ease,transform .2s ease;pointer-events:none;
}
.ch-reward-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}
.ch-reward-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#f2c94c;color:#3b2b00;font-size:18px;font-weight:900}
.ch-reward-toast-copy{display:grid;gap:2px;min-width:0;line-height:1.25}
.ch-reward-toast-copy strong{color:inherit;font-size:13px;font-weight:800}
.ch-reward-toast-copy span{color:#4b5565;font-size:12px;font-weight:650}
html[data-ch-theme-mode="dark"] .ch-reward-toast,body.ch-theme-mode-dark .ch-reward-toast{border-color:#334155;background:#111827;color:#f8fafc;box-shadow:0 16px 42px rgba(0,0,0,.46)}
html[data-ch-theme-mode="dark"] .ch-reward-toast-copy span,body.ch-theme-mode-dark .ch-reward-toast-copy span{color:#cbd5e1}
@media(max-width:782px){.ch-reward-toast{left:12px;right:12px;bottom:86px;max-width:none;min-width:0}}


/* =========================================================
   v0.3.28 — BuddyBoss-style message launcher + full inbox polish
   ========================================================= */
.ch-theme-header-preview-popup.is-messages-preview{
  width:min(430px,calc(100vw - 24px))!important;
  max-width:430px!important;
  max-height:min(620px,78vh)!important;
  overflow:hidden!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-theme-header-preview-inner,
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-preview-panel--messages{
  overflow:hidden!important;
  max-height:inherit!important;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-message-list{
  max-height:min(520px,66vh)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.ch-theme-header-preview-popup.is-messages-preview .ch-quick-message-row{
  width:100%;
  cursor:pointer;
}

body.ch-theme-better-messages-page .ch-theme-main,
body.ch-theme-better-messages-page #primary,
body.ch-theme-better-messages-page .site-main{
  width:100%!important;
  max-width:none!important;
}
body.ch-theme-better-messages-page .ch-theme-container,
body.ch-theme-better-messages-page .entry-content,
body.ch-theme-better-messages-page .page-content{
  width:min(1240px,calc(100% - 32px))!important;
  max-width:1240px!important;
  margin-inline:auto!important;
}
body.ch-theme-better-messages-page .bp-messages-wrap-main,
body.ch-theme-better-messages-page .bp-messages-wrap{
  width:100%!important;
  max-width:1180px!important;
  min-height:min(760px,calc(100vh - 180px))!important;
  margin:22px auto 40px!important;
  border:1px solid var(--ch-theme-border,#d8e4f2)!important;
  border-radius:18px!important;
  background:var(--ch-theme-surface,#fff)!important;
  box-shadow:0 18px 48px rgba(15,23,42,.10)!important;
  overflow:hidden!important;
}
@media(max-width:782px){
  .ch-theme-header-preview-popup.is-messages-preview{
    left:8px!important;right:8px!important;width:auto!important;max-width:none!important;
    max-height:72vh!important;
  }
  .ch-theme-header-preview-popup.is-messages-preview .ch-quick-message-list{max-height:60vh!important}
  body.ch-theme-better-messages-page .ch-theme-container,
  body.ch-theme-better-messages-page .entry-content,
  body.ch-theme-better-messages-page .page-content{width:100%!important;max-width:none!important}
  body.ch-theme-better-messages-page .bp-messages-wrap-main,
  body.ch-theme-better-messages-page .bp-messages-wrap{
    margin:0!important;border:0!important;border-radius:0!important;min-height:calc(100dvh - var(--ch-theme-header-height,64px))!important;box-shadow:none!important
  }
}

/* =========================================================
   v0.3.29 — reaction visibility, reward contrast, messenger polish
   ========================================================= */
.ch-post-reaction-wrap .ch-reaction-summary{
  display:inline-flex;align-items:center;gap:2px;margin-left:5px;vertical-align:middle;
}
.ch-post-reaction-wrap .ch-reaction-summary:empty{display:none}
.ch-post-reaction-wrap .ch-reaction-summary-item{
  display:inline-flex;align-items:center;justify-content:center;line-height:1;
}
.ch-post-reaction-wrap .ch-reaction-summary-item .ch-reaction-emoji{font-size:16px;line-height:1}
.ch-post-reaction-wrap .ch-reaction-summary-item .ch-reaction-icon-img{width:17px;height:17px;object-fit:contain;border-radius:0}

/* myCRED sometimes applies its own color to nested spans/strong tags. Force the
   complete notice tree to inherit the readable CommunityHub foreground. */
body:not(.wp-admin) #mycred-notifications *,
body:not(.wp-admin) #mycred-notice *,
body:not(.wp-admin) .mycred-notifications *,
body:not(.wp-admin) .mycred-notification *,
body:not(.wp-admin) .mycred-notice *,
body:not(.wp-admin) .mycred-toast *,
body:not(.wp-admin) .mycred-snackbar *,
body:not(.wp-admin) [class*="mycred"][class*="notice"] *,
body:not(.wp-admin) [class*="mycred"][class*="notification"] *{
  color:#172033!important;text-shadow:none!important;
}
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notifications *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notice *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notifications *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notification *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-notice *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-toast *,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) .mycred-snackbar *,
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notice"] *,
body.ch-theme-mode-dark:not(.wp-admin) [class*="mycred"][class*="notification"] *{
  color:#f8fafc!important;
}
body:not(.wp-admin) #mycred-notifications a,
body:not(.wp-admin) #mycred-notice a,
body:not(.wp-admin) [class*="mycred"][class*="notice"] a,
body:not(.wp-admin) [class*="mycred"][class*="notification"] a{color:#1d4ed8!important}
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notifications a,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) #mycred-notice a,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) [class*="mycred"][class*="notice"] a,
html[data-ch-theme-mode="dark"] body:not(.wp-admin) [class*="mycred"][class*="notification"] a{color:#93c5fd!important}

/* Better Messages page: use the entire CommunityHub center lane and feed the
   plugin its own documented color variables instead of fighting every child. */
body.ch-theme-better-messages-page .bp-messages-wrap-main,
body.ch-theme-better-messages-page .bp-messages-wrap{
  width:100%!important;max-width:none!important;box-sizing:border-box!important;
  min-height:640px!important;height:min(76vh,820px)!important;
  border:1px solid var(--ch-theme-border)!important;border-radius:16px!important;
  overflow:hidden!important;box-shadow:var(--ch-theme-soft-shadow)!important;
}
body.ch-theme-better-messages-page .bp-messages-wrap .chat-footer{min-height:58px!important;}
@media(max-width:782px){
  body.ch-theme-better-messages-page .bp-messages-wrap-main,
  body.ch-theme-better-messages-page .bp-messages-wrap{
    height:calc(100dvh - var(--ch-theme-header-height,64px))!important;
    min-height:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;
  }
}

/* =========================================================
   v0.3.30 — premium rewards, matched notification counts,
              native Better Messages widget + sane inbox size
   ========================================================= */

/* Notification badge: the count now matches the CommunityHub panel. Keep the
   typography compact so 2 digits remain legible without becoming a chunky orb. */
.ch-theme-header-icon-button > .ch-theme-unread-badge.ch-theme-header-unread-badge{
  width:auto!important;min-width:18px!important;max-width:28px!important;height:18px!important;
  padding:0 4px!important;border-radius:999px!important;font-size:9px!important;font-weight:750!important;
  line-height:18px!important;letter-spacing:-.01em!important;font-family:Arial,Helvetica,sans-serif!important;
  font-variant-numeric:tabular-nums!important;
}

/* CommunityHub points celebration. */
@keyframes chRewardArrival{
  0%{opacity:0;transform:translateY(18px) scale(.88) rotate(-1deg);filter:blur(2px)}
  58%{opacity:1;transform:translateY(-3px) scale(1.035) rotate(.25deg);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@keyframes chRewardGoldPulse{
  0%,100%{box-shadow:0 16px 44px rgba(0,0,0,.34),0 0 0 1px rgba(200,168,75,.28),0 0 18px rgba(200,168,75,.22)}
  50%{box-shadow:0 18px 52px rgba(0,0,0,.42),0 0 0 2px rgba(245,211,105,.55),0 0 34px rgba(200,168,75,.48)}
}
@keyframes chRewardStarSpin{
  0%{transform:scale(.7) rotate(-25deg)}55%{transform:scale(1.18) rotate(12deg)}100%{transform:scale(1) rotate(0)}
}
.ch-reward-toast{
  right:22px!important;bottom:26px!important;min-width:300px!important;max-width:min(92vw,430px)!important;
  padding:15px 17px!important;gap:13px!important;border:2px solid #c8a84b!important;border-radius:16px!important;
  background:linear-gradient(145deg,#11100c 0%,#17150f 55%,#0b0b0a 100%)!important;color:#f5f0e8!important;
  box-shadow:0 16px 44px rgba(0,0,0,.34),0 0 0 1px rgba(200,168,75,.28),0 0 18px rgba(200,168,75,.22)!important;
}
.ch-reward-toast.is-visible{
  animation:chRewardArrival .48s cubic-bezier(.18,.89,.32,1.28) both,chRewardGoldPulse 1.65s ease-in-out .45s 2!important;
}
.ch-reward-toast-icon{
  width:42px!important;height:42px!important;flex-basis:42px!important;border:1px solid rgba(245,240,232,.26)!important;
  background:radial-gradient(circle at 35% 30%,#f5d975 0%,#c8a84b 48%,#8d7024 100%)!important;
  color:#080808!important;font-size:21px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.48),0 5px 16px rgba(200,168,75,.28)!important;
  animation:chRewardStarSpin .6s cubic-bezier(.18,.89,.32,1.28) both;
}
.ch-reward-toast-copy strong{font-size:14px!important;font-weight:850!important;letter-spacing:.01em!important;color:#f5f0e8!important}
.ch-reward-toast-copy span{font-size:13px!important;font-weight:800!important;color:#e6c75f!important;letter-spacing:.015em!important}
@media(max-width:782px){
  .ch-reward-toast{left:12px!important;right:12px!important;bottom:88px!important;min-width:0!important}
}

/* If myCRED also emits its native queued notice, make it visually compatible
   with the CommunityHub reward celebration rather than white-on-white. */
body:not(.wp-admin) #mycred-notifications,
body:not(.wp-admin) #mycred-notice,
body:not(.wp-admin) .mycred-notifications,
body:not(.wp-admin) .mycred-notification,
body:not(.wp-admin) .mycred-notice,
body:not(.wp-admin) .mycred-toast,
body:not(.wp-admin) .mycred-snackbar,
body:not(.wp-admin) [class*="mycred"][class*="notice"],
body:not(.wp-admin) [class*="mycred"][class*="notification"]{
  border:2px solid #c8a84b!important;border-radius:15px!important;
  background:linear-gradient(145deg,#11100c,#17150f 58%,#0b0b0a)!important;color:#f5f0e8!important;
  box-shadow:0 16px 44px rgba(0,0,0,.36),0 0 24px rgba(200,168,75,.30)!important;
}
body:not(.wp-admin) #mycred-notifications *,
body:not(.wp-admin) #mycred-notice *,
body:not(.wp-admin) .mycred-notifications *,
body:not(.wp-admin) .mycred-notification *,
body:not(.wp-admin) .mycred-notice *,
body:not(.wp-admin) .mycred-toast *,
body:not(.wp-admin) .mycred-snackbar *,
body:not(.wp-admin) [class*="mycred"][class*="notice"] *,
body:not(.wp-admin) [class*="mycred"][class*="notification"] *{color:#f5f0e8!important;text-shadow:none!important}

/* Standalone Messages page: desktop remains a focused messenger in the center
   lane; only mobile becomes edge-to-edge. This reverses the v0.3.29 stretch. */
body.ch-theme-better-messages-page .ch-theme-container,
body.ch-theme-better-messages-page .entry-content,
body.ch-theme-better-messages-page .page-content{
  width:100%!important;max-width:900px!important;margin-inline:auto!important;
}
body.ch-theme-better-messages-page .bp-messages-wrap-main,
body.ch-theme-better-messages-page .bp-messages-wrap{
  width:100%!important;max-width:820px!important;height:min(720px,calc(100vh - 170px))!important;
  min-height:560px!important;margin:18px auto 34px!important;border-radius:16px!important;
}
@media(max-width:782px){
  body.ch-theme-better-messages-page .ch-theme-container,
  body.ch-theme-better-messages-page .entry-content,
  body.ch-theme-better-messages-page .page-content{width:100%!important;max-width:none!important}
  body.ch-theme-better-messages-page .bp-messages-wrap-main,
  body.ch-theme-better-messages-page .bp-messages-wrap{
    width:100%!important;max-width:none!important;height:calc(100dvh - var(--ch-theme-header-height,64px))!important;
    min-height:0!important;margin:0!important;border-radius:0!important;border-left:0!important;border-right:0!important;
  }
}


/* v0.3.32 — Mobile rail ownership recovery.
 * Project law: desktop widget rails do not render on mobile. Keep this block
 * intentionally narrow: no header, navigation, login, composer, or module
 * geometry belongs here. */
@media (max-width: 782px) {
  body.ch-theme .ch-theme-sidebar,
  body.ch-theme .ch-theme-community-sidebar {
    display: none !important;
  }

  body.ch-theme .ch-theme-layout,
  body.ch-theme .ch-theme-layout--sidebar,
  body.ch-theme .ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-layout--sidebar-right,
  body.ch-theme .ch-theme-layout--sidebar-both,
  body.ch-theme .ch-theme-community-shell,
  body.ch-theme .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-community-shell.ch-theme-layout--sidebar-right,
  body.ch-theme .ch-theme-community-shell.ch-theme-layout--sidebar-both {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.ch-theme .ch-theme-page-shell,
  body.ch-theme .ch-theme-community-content-wrap {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}


/* =========================================================
   v0.3.33 — stabilization: rails, mobile nav/store/saved,
              login/BM isolation, premium rewards
   ========================================================= */

/* Desktop social rail geometry is owned by the approved earlier standard. */

/* Messages is a dedicated application surface. Only the main inbox is sized;
   never resize Better Messages' floating/combined desktop widget. */
body.ch-theme-better-messages-page .bp-messages-wrap-main{
  width:min(100%,900px)!important;max-width:900px!important;height:min(760px,calc(100vh - 150px))!important;min-height:580px!important;margin:18px auto 34px!important;border-radius:16px!important;overflow:hidden!important
}
body.ch-theme-better-messages-page .bp-better-messages-list,
body.ch-theme-better-messages-page .bp-better-messages-mini{
  width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;border-radius:inherit!important
}
@media(max-width:782px){
  body.ch-theme-better-messages-page .bp-messages-wrap-main{width:100%!important;max-width:none!important;height:calc(100dvh - var(--ch-theme-header-height,64px) - env(safe-area-inset-bottom))!important;min-height:0!important;margin:0!important;border-radius:0!important}
}

/* Mobile back-to-top: compact touch target, not an oversized floating tile. */
@media(max-width:782px){
  .ch-theme-back-to-top{width:42px!important;height:42px!important;--ch-btt-size:42px!important;--ch-btt-edge:12px!important}
  .ch-theme-back-to-top-icon{font-size:20px!important}
}

/* Mobile community navigation: balanced equal slots while preserving the raised center action. */
@media(max-width:782px){
  .ch-theme-community-bar--bottom .ch-theme-community-nav,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;align-items:center!important;justify-content:stretch!important;gap:2px!important;width:100%!important;padding-inline:5px!important}
  .ch-theme-community-bar--bottom .ch-theme-nav-pill,
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{width:100%!important;min-width:0!important;justify-content:center!important;text-align:center!important;padding:7px 4px!important}
  .ch-theme-community-bar--bottom .ch-theme-menu-list--community>li{min-width:0!important;margin:0!important;text-align:center!important}
}

/* Saved Posts must never create horizontal page scroll on phones. */
@media(max-width:782px){
  body.ch-theme .ch-theme-community-shell--saved,
  body.ch-theme .ch-theme-community-shell--saved .ch-theme-community-content-wrap,
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-page,
  body.ch-theme .ch-theme-community-shell--saved .ch-feed,
  body.ch-theme .ch-theme-community-shell--saved .ch-activity-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.ch-theme .ch-theme-community-shell--saved{overflow-x:clip!important}
  body.ch-theme .ch-theme-community-shell--saved img,body.ch-theme .ch-theme-community-shell--saved video,body.ch-theme .ch-theme-community-shell--saved iframe{max-width:100%!important}
}

/* WooCommerce mobile density: compact browse experience instead of desktop-sized cards. */
@media(max-width:782px){
  body.woocommerce .ch-theme-container,body.woocommerce-page .ch-theme-container{width:calc(100% - 16px)!important;max-width:none!important;padding-inline:0!important}
  body.woocommerce ul.products,body.woocommerce-page ul.products{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important}
  body.woocommerce ul.products li.product,body.woocommerce-page ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:10px!important;border-radius:13px!important;min-width:0!important}
  body.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;line-height:1.25!important;padding:.5em 0 .25em!important}
  body.woocommerce ul.products li.product .price{font-size:13px!important;margin-bottom:7px!important}
  body.woocommerce ul.products li.product .button{font-size:12px!important;min-height:38px!important;padding:8px 10px!important;width:100%!important;margin-top:5px!important}
  body.single-product div.product{display:block!important}
  body.single-product div.product .summary{padding-inline:2px!important}
  body.woocommerce-cart table.shop_table,body.woocommerce-checkout table.shop_table{font-size:13px!important}
}
@media(max-width:390px){body.woocommerce ul.products,body.woocommerce-page ul.products{gap:8px!important}}

/* Premium myCRED celebration, especially on mobile. */
.ch-reward-toast,
body:not(.wp-admin) .mycred-notification,
body:not(.wp-admin) .mycred-notice{
  border-color:#c8a84b!important;background:linear-gradient(135deg,#090909 0%,#16130a 55%,#090909 100%)!important;color:#f5f0e8!important;box-shadow:0 18px 54px rgba(0,0,0,.46),0 0 0 1px rgba(245,211,105,.32),0 0 34px rgba(200,168,75,.38)!important
}
@media(max-width:782px){
  .ch-reward-toast{left:10px!important;right:10px!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;max-width:none!important;padding:13px 14px!important;border-radius:15px!important}
  .ch-reward-toast-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .ch-reward-toast-copy strong{font-size:13px!important}.ch-reward-toast-copy span{font-size:12px!important}
  body:not(.wp-admin) .mycred-notification,body:not(.wp-admin) .mycred-notice,body:not(.wp-admin) [class*="mycred"][class*="notification"]{left:10px!important;right:10px!important;top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;font-size:13px!important;padding:13px 14px!important}
}

/* =========================================================
   v0.3.35 — universal product stabilization / polish
   ========================================================= */

/* ---------------------------------------------------------
   Rails: v0.3.37 restores the approved v0.2.22-v0.2.24 / v0.3.25
   rules already defined earlier in this stylesheet. No later geometry override
   belongs here. Route-specific left/right/both/none settings remain independent.
   --------------------------------------------------------- */

/* ---------------------------------------------------------
   Better Messages: generic detection, no route/domain hardcoding.
   Page messenger and floating widget must never share sizing rules.
   --------------------------------------------------------- */
body.ch-theme-better-messages-page .ch-theme-community-shell,
body.ch-theme-better-messages-page .ch-theme-layout { grid-template-columns:minmax(0,1fr) !important; }
body.ch-theme-better-messages-page .ch-theme-sidebar,
body.ch-theme-better-messages-page .ch-theme-community-sidebar { display:none !important; }
body.ch-theme-better-messages-page .ch-profile-content .bp-messages-wrap,
body.ch-theme-better-messages-page #primary .bp-messages-wrap:not(.bp-better-messages-list):not(.bp-better-messages-mini) {
  width:min(100%,960px) !important;max-width:960px !important;min-width:0 !important;height:min(760px,calc(100dvh - 150px)) !important;
  min-height:560px !important;margin:14px auto 34px !important;border-radius:18px !important;overflow:hidden !important;
  box-shadow:0 16px 46px rgba(15,23,42,.13) !important;
}
/* Floating BM list/widget owns its own size everywhere. */
body.ch-theme .bp-better-messages-list,
body.ch-theme .bp-better-messages-mini { max-width:100vw !important; }
@media(max-width:782px){
  body.ch-theme-better-messages-page .ch-theme-community-bar--bottom{display:none !important}
  body.ch-theme-better-messages-page .ch-profile-header-card,
  body.ch-theme-better-messages-page .ch-profile-tabs{display:none !important}
  body.ch-theme-better-messages-page .ch-theme-main,
  body.ch-theme-better-messages-page .ch-theme-container--community,
  body.ch-theme-better-messages-page .ch-theme-community-content-wrap{padding:0 !important;margin:0 !important;width:100% !important;max-width:none !important}
  body.ch-theme-better-messages-page .ch-profile-content .bp-messages-wrap,
  body.ch-theme-better-messages-page #primary .bp-messages-wrap:not(.bp-better-messages-list):not(.bp-better-messages-mini){
    width:100% !important;max-width:none !important;height:calc(100dvh - var(--ch-theme-header-height,64px)) !important;min-height:0 !important;
    margin:0 !important;border-radius:0 !important;box-shadow:none !important;
  }
}

/* ---------------------------------------------------------
   Membership hub — same shell across PMPro Account/Billing/Invoice pages.
   --------------------------------------------------------- */
body.ch-theme-membership-hub .ch-theme-page-shell{max-width:980px!important;margin-inline:auto!important}
.ch-membership-hub-shell{display:grid;gap:14px;max-width:960px;margin:12px auto 32px}
.ch-membership-hub-header{display:grid;gap:5px;padding:20px 22px 0;border:1px solid var(--ch-theme-border,#dbe3ec);border-radius:20px;background:var(--ch-theme-surface,#fff);overflow:hidden}
.ch-membership-hub-kicker{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ch-theme-accent,#2563eb)}
.ch-membership-hub-header h1{margin:0;font-size:clamp(24px,3vw,34px);line-height:1.08;color:var(--ch-theme-text,#0f172a)}
.ch-membership-hub-tabs{display:flex;gap:6px;margin-top:10px;overflow-x:auto;scrollbar-width:none}.ch-membership-hub-tabs::-webkit-scrollbar{display:none}.ch-membership-hub-tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 14px;border-radius:12px 12px 0 0;color:var(--ch-theme-muted,#64748b)!important;text-decoration:none!important;font-weight:850;border-bottom:3px solid transparent}.ch-membership-hub-tab.is-active{color:var(--ch-theme-text,#0f172a)!important;border-bottom-color:var(--ch-theme-accent,#2563eb);background:color-mix(in srgb,var(--ch-theme-accent,#2563eb) 7%,transparent)}
.ch-membership-hub-content{padding:20px 22px;border:1px solid var(--ch-theme-border,#dbe3ec);border-radius:20px;background:var(--ch-theme-surface,#fff);color:var(--ch-theme-text,#0f172a)}
.ch-membership-hub-content .pmpro,.ch-membership-hub-content [class*="pmpro"]{max-width:100%!important;box-sizing:border-box!important}.ch-membership-hub-content table{width:100%;border-collapse:separate;border-spacing:0}.ch-membership-hub-content input,.ch-membership-hub-content select,.ch-membership-hub-content textarea{max-width:100%;min-height:44px;border-radius:11px!important}.ch-membership-hub-content .pmpro_btn,.ch-membership-hub-content input[type="submit"],.ch-membership-hub-content button{min-height:42px;border-radius:11px!important;font-weight:850!important}
@media(max-width:782px){.ch-membership-hub-shell{margin:8px 8px 24px;gap:10px}.ch-membership-hub-header{padding:16px 14px 0;border-radius:16px}.ch-membership-hub-content{padding:14px;border-radius:16px;overflow-x:hidden}.ch-membership-hub-content table{font-size:12px}.ch-membership-hub-content th,.ch-membership-hub-content td{padding:8px 6px!important}.ch-membership-hub-tab{min-height:40px;padding:7px 11px;font-size:13px}}

/* ---------------------------------------------------------
   Suggestions — polished, focused feedback surface.
   --------------------------------------------------------- */
.ch-suggestion-section{max-width:820px!important;margin-inline:auto!important;padding:22px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:20px!important;background:var(--ch-theme-surface,#fff)!important;box-shadow:0 12px 34px rgba(15,23,42,.06)!important}
.ch-suggestion-section h2,.ch-suggestion-section h3{margin-top:0!important}.ch-suggestion-form{display:grid!important;gap:14px!important}.ch-suggestion-form label{display:grid!important;gap:7px!important;font-size:13px!important;font-weight:850!important;color:var(--ch-theme-text,#0f172a)!important}.ch-suggestion-form input[type="text"],.ch-suggestion-form textarea,.ch-suggestion-form select{width:100%!important;max-width:100%!important;border:1px solid var(--ch-theme-border,#cbd5e1)!important;border-radius:13px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-text,#0f172a)!important;padding:11px 12px!important;font:inherit!important}.ch-suggestion-form textarea{min-height:170px!important;resize:vertical!important}.ch-suggestion-form button,.ch-suggestion-form input[type="submit"]{min-height:44px!important;border-radius:12px!important;font-weight:900!important}
@media(max-width:782px){.ch-suggestion-section{margin:8px!important;padding:15px!important;border-radius:16px!important}.ch-suggestion-form textarea{min-height:150px!important}}

/* ---------------------------------------------------------
   Premium myCRED notices. Native notice and Core realtime toast share one look.
   --------------------------------------------------------- */
body:not(.wp-admin) #mycred-notifications,
body:not(.wp-admin) #mycred-notice,
body:not(.wp-admin) .mycred-notifications,
body:not(.wp-admin) .mycred-notification,
body:not(.wp-admin) .mycred-notice,
body:not(.wp-admin) [class*="mycred"][class*="notification"]{
  border:1px solid #c8a84b!important;border-radius:18px!important;background:linear-gradient(135deg,#070707,#1b160a 58%,#070707)!important;color:#f5f0e8!important;
  box-shadow:0 20px 60px rgba(0,0,0,.46),0 0 0 1px rgba(200,168,75,.22),0 0 34px rgba(200,168,75,.28)!important;
}
body:not(.wp-admin) #mycred-notifications *,body:not(.wp-admin) #mycred-notice *,body:not(.wp-admin) .mycred-notification *,body:not(.wp-admin) .mycred-notice *{color:#f5f0e8!important;text-shadow:none!important}
body:not(.wp-admin) #mycred-notifications strong,body:not(.wp-admin) #mycred-notice strong,body:not(.wp-admin) .mycred-notification strong{color:#f0cf66!important}
@media(max-width:782px){body:not(.wp-admin) #mycred-notifications,body:not(.wp-admin) #mycred-notice,body:not(.wp-admin) .mycred-notification,body:not(.wp-admin) .mycred-notice{left:10px!important;right:10px!important;top:auto!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;padding:12px 13px!important;font-size:13px!important;border-radius:16px!important}}

/* ---------------------------------------------------------
   Store / cart / checkout — compact but readable commerce UI.
   --------------------------------------------------------- */
body.woocommerce .ch-theme-main--woocommerce .ch-theme-container,body.woocommerce-page .ch-theme-main--woocommerce .ch-theme-container{max-width:1240px!important}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:16px!important}.woocommerce ul.products li.product{width:auto!important;float:none!important;margin:0!important;padding:12px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:16px!important;background:var(--ch-theme-surface,#fff)!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important;min-width:0!important}.woocommerce ul.products li.product img{aspect-ratio:1/1!important;object-fit:contain!important;border-radius:12px!important;margin:0 0 9px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;line-height:1.25!important;padding:2px 0 4px!important}.woocommerce ul.products li.product .price{font-size:14px!important;font-weight:850!important}.woocommerce ul.products li.product .button{width:100%!important;min-height:40px!important;margin-top:7px!important;padding:8px 10px!important;border-radius:10px!important;font-size:12px!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection{min-height:44px!important;border-radius:10px!important}.woocommerce-checkout .col2-set,.woocommerce-account .col2-set{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}.woocommerce-checkout-review-order,.woocommerce-cart-form,.cart_totals,.woocommerce-checkout #payment{border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:16px!important;background:var(--ch-theme-surface,#fff)!important;padding:14px!important}.woocommerce table.shop_table{border-collapse:separate!important;border-spacing:0!important;border-radius:14px!important;overflow:hidden!important}.woocommerce .quantity .qty{min-height:40px!important;width:64px!important;border-radius:9px!important}
@media(max-width:782px){body.woocommerce .ch-theme-container,body.woocommerce-page .ch-theme-container{width:calc(100% - 12px)!important}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.woocommerce ul.products li.product{padding:8px!important;border-radius:12px!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12px!important;line-height:1.22!important}.woocommerce ul.products li.product .price{font-size:12px!important}.woocommerce ul.products li.product .button{font-size:11px!important;min-height:36px!important;padding:7px 6px!important}.woocommerce-checkout .col2-set,.woocommerce-account .col2-set{grid-template-columns:1fr!important;gap:10px!important}.woocommerce-checkout-review-order,.woocommerce-cart-form,.cart_totals,.woocommerce-checkout #payment{padding:10px!important;border-radius:13px!important}.woocommerce table.shop_table{font-size:11px!important}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:7px 5px!important}.woocommerce form .form-row{margin-bottom:8px!important}.woocommerce form .form-row label{font-size:12px!important}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container .select2-selection{min-height:40px!important;font-size:13px!important}}

/* Mobile nav labels/buttons remain balanced and centered. */
@media(max-width:782px){.ch-theme-community-bar--bottom .ch-theme-community-nav,.ch-theme-community-bar--bottom .ch-theme-menu-list--community{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr))!important;align-items:center!important;width:100%!important}.ch-theme-community-bar--bottom .ch-theme-nav-pill,.ch-theme-community-bar--bottom .ch-theme-menu-list--community>li>a{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-width:0!important;margin:0!important;padding-inline:3px!important}}

/* Mobile Saved page hard containment. */
@media(max-width:782px){body.ch-theme .ch-theme-community-shell--saved,body.ch-theme .ch-theme-community-shell--saved *{box-sizing:border-box}body.ch-theme .ch-theme-community-shell--saved{width:100%!important;max-width:100%!important;overflow-x:clip!important}.ch-theme-community-shell--saved .ch-theme-community-content-wrap,.ch-theme-community-shell--saved .ch-bookmarks-page,.ch-theme-community-shell--saved .ch-feed,.ch-theme-community-shell--saved .ch-activity-card{width:100%!important;max-width:100%!important;min-width:0!important}.ch-theme-community-shell--saved img,.ch-theme-community-shell--saved video,.ch-theme-community-shell--saved iframe{max-width:100%!important}}

/* =========================================================
   v0.3.36 — rails, membership hub, commerce and messages polish
   ========================================================= */

/* Desktop social rails intentionally use the approved earlier rail standard. */
/* Commerce never inherits a generic WordPress rail. */
body.woocommerce .ch-theme-main--woocommerce>.ch-theme-container,
body.woocommerce-page .ch-theme-main--woocommerce>.ch-theme-container{width:min(calc(100% - 24px),1280px)!important;max-width:1280px!important;margin-inline:auto!important}

/* Membership Hub: one clean application surface across PMPro account,
   billing and invoice pages. Tabs swap content without a full-page reload. */
.ch-membership-hub-shell{font-family:inherit!important;color:var(--ch-theme-text,#172033)!important}
.ch-membership-hub-header{padding:24px 26px 0!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(15,23,42,.07)!important}
.ch-membership-hub-kicker{font-size:10.5px!important;font-weight:750!important;letter-spacing:.12em!important}
.ch-membership-hub-header h1{font-size:clamp(25px,3vw,34px)!important;font-weight:760!important;letter-spacing:-.025em!important;line-height:1.08!important}
.ch-membership-hub-intro{margin:4px 0 0!important;max-width:650px;color:var(--ch-theme-muted,#667085)!important;font-size:13.5px!important;font-weight:480!important;line-height:1.5!important}
.ch-membership-hub-tabs{margin-top:16px!important;gap:4px!important;scroll-snap-type:x proximity!important}
.ch-membership-hub-tab{scroll-snap-align:start!important;min-height:44px!important;padding:9px 15px!important;font-size:13px!important;font-weight:700!important;letter-spacing:0!important;border-radius:10px 10px 0 0!important;transition:background .16s ease,color .16s ease,border-color .16s ease!important}
.ch-membership-hub-content{position:relative!important;padding:24px 26px!important;border-radius:20px!important;box-shadow:0 12px 34px rgba(15,23,42,.06)!important;transition:opacity .16s ease,transform .16s ease!important}
.ch-membership-hub-shell.is-loading .ch-membership-hub-content{opacity:.48!important;transform:translateY(2px)!important;pointer-events:none!important}
.ch-membership-hub-shell.is-loading .ch-membership-hub-content::after{content:"";position:absolute;inset:0;margin:auto;width:26px;height:26px;border-radius:50%;border:3px solid color-mix(in srgb,var(--ch-theme-accent,#2563eb) 22%,transparent);border-top-color:var(--ch-theme-accent,#2563eb);animation:chMembershipSpin .7s linear infinite}
@keyframes chMembershipSpin{to{transform:rotate(360deg)}}
.ch-membership-hub-content h2,.ch-membership-hub-content h3{font-weight:740!important;letter-spacing:-.015em!important;color:var(--ch-theme-text,#172033)!important}
.ch-membership-hub-content p,.ch-membership-hub-content td,.ch-membership-hub-content th,.ch-membership-hub-content label{font-weight:470!important;line-height:1.5!important;color:var(--ch-theme-text,#172033)!important}
.ch-membership-hub-content .pmpro_btn,.ch-membership-hub-content button,.ch-membership-hub-content input[type="submit"]{font-weight:700!important;letter-spacing:0!important}
html[data-ch-theme-mode="dark"] .ch-membership-hub-header,html[data-ch-theme-mode="dark"] .ch-membership-hub-content{box-shadow:0 14px 38px rgba(0,0,0,.24)!important}
@media(max-width:782px){
  .ch-membership-hub-shell{margin:7px 8px 22px!important}
  .ch-membership-hub-header{padding:17px 15px 0!important;border-radius:16px!important}
  .ch-membership-hub-header h1{font-size:25px!important}
  .ch-membership-hub-intro{font-size:12.5px!important}
  .ch-membership-hub-tabs{margin-top:12px!important}
  .ch-membership-hub-tab{min-height:40px!important;padding:7px 11px!important;font-size:12.5px!important}
  .ch-membership-hub-content{padding:15px!important;border-radius:16px!important}
}

/* Better Messages launcher: keep BM's geometry/functionality, but make the
   native desktop widget feel integrated with CommunityHub. */
body.ch-theme .bp-better-messages-list.bm-opened{animation:chBmOpen .2s cubic-bezier(.2,.8,.2,1) both!important;transform-origin:bottom right!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;box-shadow:0 20px 54px rgba(15,23,42,.22)!important}
@keyframes chBmOpen{from{opacity:0;transform:translateY(9px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Individual WooCommerce product: crisp readable surfaces in both modes. */
body.single-product .product{color:var(--ch-theme-text,#172033)!important}
body.single-product .product .summary{padding:18px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:18px!important;background:var(--ch-theme-surface,#fff)!important;box-shadow:0 10px 30px rgba(15,23,42,.06)!important}
body.single-product .product .product_title{font-size:clamp(24px,3vw,34px)!important;line-height:1.12!important;font-weight:760!important;letter-spacing:-.025em!important;color:var(--ch-theme-text,#172033)!important}
body.single-product .product .price{font-size:20px!important;font-weight:760!important;color:var(--ch-theme-accent,#0080ff)!important}
body.single-product .woocommerce-product-details__short-description,body.single-product .product .summary p,body.single-product .product .summary label{color:var(--ch-theme-text,#172033)!important;line-height:1.55!important}
body.single-product .variations,body.single-product .variations td,body.single-product .variations th{color:var(--ch-theme-text,#172033)!important;background:transparent!important}
body.single-product select,body.single-product input.qty{color:var(--ch-theme-text,#172033)!important;background:var(--ch-theme-surface,#fff)!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:10px!important}
body.single-product .woocommerce-tabs,body.single-product .related.products,body.single-product .up-sells{color:var(--ch-theme-text,#172033)!important}
html[data-ch-theme-mode="dark"] body.single-product .product .summary{background:#111827!important;border-color:#334155!important}
html[data-ch-theme-mode="dark"] body.single-product select,html[data-ch-theme-mode="dark"] body.single-product input.qty{background:#0f172a!important;border-color:#334155!important;color:#f8fafc!important}
@media(max-width:782px){body.single-product .product .summary{padding:14px!important;border-radius:15px!important}body.single-product .product .product_title{font-size:25px!important}body.single-product .product .price{font-size:18px!important}}

/* =========================================================
   v0.3.37 — locked rail recovery + focused polish
   ========================================================= */
/* IMPORTANT: Rail geometry is intentionally NOT redefined here. The approved
   v0.2.22-v0.2.24 Community standard and v0.3.25 non-Community inheritance
   earlier in this stylesheet are the authority. Route-specific left/right/
   both/none settings remain independent. */

/* WooCommerce product copy should breathe inside the card/surface. */
body.single-product .woocommerce-product-details__short-description{
  margin:14px 0 16px!important;padding:12px 14px!important;border-radius:12px!important;
  background:var(--ch-theme-surface-soft,#f6f8fb)!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;
  color:var(--ch-theme-text,#172033)!important;line-height:1.6!important;
}
body.single-product .woocommerce-product-details__short-description p{margin:0 0 9px!important}body.single-product .woocommerce-product-details__short-description p:last-child{margin-bottom:0!important}
html[data-ch-theme-mode="dark"] body.single-product .woocommerce-product-details__short-description{background:#131c2b!important;border-color:#334155!important;color:#f1f5f9!important}

/* Better Messages full-screen/mobile surfaces own the viewport; CommunityHub's
   fixed bottom nav must get out of the way while BM is active. */
@media(max-width:782px){
  body:has(.bp-messages-full-screen) .ch-theme-community-bar--bottom,
  body:has(.bp-messages-mobile) .ch-theme-community-bar--bottom,
  body:has(.bp-messages-wrap-main [data-full-screen="1"]) .ch-theme-community-bar--bottom{display:none!important}
  .bp-messages-full-screen,.bp-messages-mobile{z-index:2147483300!important}
}


/* =========================================================
   v0.3.38 — rail authority + BM flex sizing + commerce polish
   ========================================================= */
/* The desktop rail standard is authoritative here because historical blocks
   accumulated conflicting widths. Route-specific left/right/both/none classes
   still come from the Theme settings; this block only restores their geometry. */
@media (min-width:1540px){
  body.ch-theme .ch-theme-container--community.ch-theme-community-shell,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell{
    --ch-social-stack-width:820px;
    --ch-social-widget-width:340px;
    --ch-social-widget-gap:8px;
  }
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar{
    display:grid!important;align-items:start!important;justify-content:center!important;
    gap:var(--ch-social-widget-gap)!important;column-gap:var(--ch-social-widget-gap)!important;
    width:min(calc(100vw - 32px),1516px)!important;max-width:1516px!important;margin-inline:auto!important;
  }
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-both,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-both{
    grid-template-columns:340px minmax(0,820px) 340px!important;
  }
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-left{
    grid-template-columns:340px minmax(0,820px)!important;width:1168px!important;max-width:1168px!important;
  }
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-right,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-right{
    grid-template-columns:minmax(0,820px) 340px!important;width:1168px!important;max-width:1168px!important;
  }
  body.ch-theme .ch-theme-container--community .ch-theme-sidebar,
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar>.ch-theme-sidebar{
    width:340px!important;max-width:340px!important;min-width:340px!important;margin:0!important;padding:0!important;
    position:sticky!important;top:var(--ch-community-sidebar-sticky-top,88px)!important;align-self:start!important;
    max-height:none!important;overflow:visible!important;
  }
  body.admin-bar.ch-theme .ch-theme-container--community .ch-theme-sidebar,
  body.admin-bar.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar>.ch-theme-sidebar{
    top:var(--ch-community-sidebar-sticky-top,120px)!important;
  }
  body.ch-theme .ch-theme-container--community .ch-theme-community-content-wrap,
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar>.ch-theme-community-content-wrap{
    width:820px!important;max-width:820px!important;min-width:0!important;margin:0!important;padding:0!important;justify-self:stretch!important;
  }
  body.ch-theme .ch-theme-container--community .ch-theme-sidebar--left{justify-self:end!important}
  body.ch-theme .ch-theme-container--community .ch-theme-sidebar--right{justify-self:start!important}
}
/* At desktop widths that cannot physically fit 1516px, do not squash the
   approved dimensions. Preserve the center lane and only render configured
   single-rail layouts at full size. */
@media (min-width:1180px) and (max-width:1539px){
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-right,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-right{
    --ch-social-stack-width:820px;--ch-social-widget-width:340px;--ch-social-widget-gap:8px;
    display:grid!important;justify-content:center!important;gap:8px!important;width:1168px!important;max-width:calc(100vw - 24px)!important;margin-inline:auto!important;
  }
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-left,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-left{grid-template-columns:340px minmax(0,820px)!important}
  body.ch-theme .ch-theme-container--community.ch-theme-layout--sidebar-right,
  body.ch-theme .ch-theme-container--community .ch-theme-community-shell.ch-theme-layout--sidebar-right{grid-template-columns:minmax(0,820px) 340px!important}
}

/* Better Messages mini chat: increasing BM's configured widget height must add
   conversation viewport, never inflate the composer. */
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chats .chat.open,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open{
  display:flex!important;flex-direction:column!important;
  height:var(--bm-mini-widgets-height,450px)!important;max-height:min(var(--bm-mini-widgets-height,450px),calc(100dvh - 96px))!important;
}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open>.head,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open>.head{flex:0 0 auto!important}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open>.chat-content,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open>.chat-content{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;
}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open .bm-messages-list,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open .bm-messages-list{
  flex:1 1 auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;
}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open .bm-messages-list>.bm-list,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open .bm-messages-list>.bm-list{
  height:100%!important;max-height:none!important;min-height:0!important;
}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open .bp-messages-threads-wrapper{max-height:none!important;min-height:0!important}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open .bm-reply,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open .bm-reply{flex:0 0 auto!important;max-height:170px!important}
body.ch-theme .bp-messages-wrap.bp-better-messages-mini .chat.open .bm-reply .bm-editor,
body.ch-theme .bp-messages-wrap.bp-better-messages-list .bm-combined-chat .chat.open .bm-reply .bm-editor{height:auto!important;min-height:48px!important;max-height:150px!important}

/* When an actual BM chat widget is open, the optional bottom Community nav
   yields the viewport so the composer is never hidden behind it. */
body.ch-theme.ch-bm-chat-open .ch-theme-community-bar--bottom{display:none!important}

/* X/Facebook embeds must remain wholly inside a CommunityHub activity card. */
body.ch-theme .ch-social-embed--x,body.ch-theme .ch-social-embed--facebook{width:100%!important;max-width:100%!important;overflow:visible!important;border-radius:14px!important}
body.ch-theme .ch-social-embed--facebook iframe{display:block!important;width:100%!important;max-width:100%!important;border:0!important;overflow:visible!important}
body.ch-theme .ch-social-embed--facebook iframe{height:520px!important;min-height:520px!important}

/* Custom badge icon + pill optical alignment. */
body.ch-theme .ch-user-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-height:20px!important;padding:2px 7px!important;line-height:1!important;vertical-align:middle!important}
body.ch-theme .ch-user-badge-img{display:block!important;width:14px!important;height:14px!important;min-width:14px!important;object-fit:contain!important;margin:0!important;border-radius:3px!important;filter:drop-shadow(0 1px 1px rgba(0,0,0,.16))}
body.ch-theme .ch-user-badge-emoji{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:14px!important;height:14px!important;line-height:14px!important;font-size:12px!important;margin:0!important}
body.ch-theme .ch-user-badge-label{display:inline-flex!important;align-items:center!important;line-height:1!important;font-size:10px!important;font-weight:650!important;letter-spacing:.005em!important;margin:0!important;padding:0!important}

/* WooCommerce breadcrumb and product copy: explicit contrast in both modes. */
body.ch-theme.single-product .woocommerce-breadcrumb{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;margin:0 0 14px!important;padding:9px 12px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:12px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-muted,#64748b)!important;font-size:12px!important;line-height:1.35!important}
body.ch-theme.single-product .woocommerce-breadcrumb a{color:var(--ch-theme-text,#172033)!important;font-weight:650!important;text-decoration:none!important}
body.ch-theme.single-product .woocommerce-product-details__short-description,
body.ch-theme.single-product .woocommerce-product-details__short-description *{color:var(--ch-theme-text,#172033)!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-breadcrumb,
body.ch-theme-mode-dark.single-product .woocommerce-breadcrumb{background:#111827!important;border-color:#334155!important;color:#94a3b8!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-breadcrumb a,
body.ch-theme-mode-dark.single-product .woocommerce-breadcrumb a{color:#f8fafc!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-product-details__short-description,
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-product-details__short-description *,
body.ch-theme-mode-dark.single-product .woocommerce-product-details__short-description,
body.ch-theme-mode-dark.single-product .woocommerce-product-details__short-description *{color:#f8fafc!important}

/* =========================================================
   v0.3.39 — focused recovery: Saved mobile, BM contrast,
   WooCommerce description/breadcrumb consistency.
   ========================================================= */

/* Saved Posts: keep the count in normal flow and compact enough that it can
   never overlap the mobile action/nav row. */
@media (max-width:781px){
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header .ch-bookmarks-actions,
  body.ch-theme.ch-route-saved .ch-bookmarks-header .ch-bookmarks-actions,
  body.ch-theme .ch-saved-page .ch-bookmarks-header .ch-bookmarks-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:7px!important;
    min-width:0!important;
  }
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-count,
  body.ch-theme.ch-route-saved .ch-bookmarks-count,
  body.ch-theme .ch-saved-page .ch-bookmarks-count,
  body.ch-theme .ch-saved-page .ch-bookmarks-count-zero-move{
    position:static!important;
    inset:auto!important;
    align-self:flex-start!important;
    max-width:100%!important;
    margin:0!important;
    padding:5px 9px!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    transform:none!important;
  }
  body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-nav,
  body.ch-theme .ch-saved-page .ch-bookmarks-nav{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    transform:none!important;
  }
}

/* WooCommerce: one breadcrumb language across Shop/category/product/cart/
   checkout/account, and the actual long Description tab panel gets the same
   polished card treatment as the product summary. */
body.ch-theme.woocommerce .woocommerce-breadcrumb,
body.ch-theme.woocommerce-page .woocommerce-breadcrumb{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:5px!important;
  margin:0 0 14px!important;
  padding:9px 12px!important;
  border:1px solid var(--ch-theme-border,#dbe3ec)!important;
  border-radius:12px!important;
  background:var(--ch-theme-surface,#fff)!important;
  color:var(--ch-theme-muted,#64748b)!important;
  font-size:12px!important;
  line-height:1.35!important;
}
body.ch-theme.woocommerce .woocommerce-breadcrumb a,
body.ch-theme.woocommerce-page .woocommerce-breadcrumb a{
  color:var(--ch-theme-text,#172033)!important;
  font-weight:650!important;
  text-decoration:none!important;
}
body.ch-theme.single-product .woocommerce-tabs .panel,
body.ch-theme.single-product .woocommerce-Tabs-panel,
body.ch-theme.single-product .woocommerce-Tabs-panel--description{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0 0 18px!important;
  padding:18px 20px!important;
  border:1px solid var(--ch-theme-border,#dbe3ec)!important;
  border-radius:14px!important;
  background:var(--ch-theme-surface,#fff)!important;
  color:var(--ch-theme-text,#172033)!important;
  line-height:1.62!important;
}
body.ch-theme.single-product .woocommerce-tabs .panel > :first-child,
body.ch-theme.single-product .woocommerce-Tabs-panel > :first-child{margin-top:0!important}
body.ch-theme.single-product .woocommerce-tabs .panel > :last-child,
body.ch-theme.single-product .woocommerce-Tabs-panel > :last-child{margin-bottom:0!important}
body.ch-theme.single-product .woocommerce-tabs .panel :is(p,li,span,strong,em,h1,h2,h3,h4,h5,h6,td,th),
body.ch-theme.single-product .woocommerce-Tabs-panel :is(p,li,span,strong,em,h1,h2,h3,h4,h5,h6,td,th){color:inherit!important}
body.ch-theme.single-product .woocommerce-tabs .panel ul,
body.ch-theme.single-product .woocommerce-tabs .panel ol,
body.ch-theme.single-product .woocommerce-Tabs-panel ul,
body.ch-theme.single-product .woocommerce-Tabs-panel ol{padding-left:1.35rem!important;margin:.65rem 0 1rem!important}
body.ch-theme.single-product .woocommerce-tabs .panel li,
body.ch-theme.single-product .woocommerce-Tabs-panel li{margin:.28rem 0!important;padding-left:.12rem!important}
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce .woocommerce-breadcrumb,
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce-page .woocommerce-breadcrumb,
body.ch-theme-mode-dark.woocommerce .woocommerce-breadcrumb,
body.ch-theme-mode-dark.woocommerce-page .woocommerce-breadcrumb{
  background:#111827!important;border-color:#334155!important;color:#94a3b8!important;
}
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce .woocommerce-breadcrumb a,
html[data-ch-theme-mode="dark"] body.ch-theme.woocommerce-page .woocommerce-breadcrumb a,
body.ch-theme-mode-dark.woocommerce .woocommerce-breadcrumb a,
body.ch-theme-mode-dark.woocommerce-page .woocommerce-breadcrumb a{color:#f8fafc!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs .panel,
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-Tabs-panel,
body.ch-theme-mode-dark.single-product .woocommerce-tabs .panel,
body.ch-theme-mode-dark.single-product .woocommerce-Tabs-panel{
  background:#111827!important;
  border-color:#334155!important;
  color:#e5edf7!important;
}
@media(max-width:781px){
  body.ch-theme.single-product .woocommerce-tabs .panel,
  body.ch-theme.single-product .woocommerce-Tabs-panel{padding:14px!important;border-radius:12px!important;font-size:13px!important}
  body.ch-theme.woocommerce .woocommerce-breadcrumb,
  body.ch-theme.woocommerce-page .woocommerce-breadcrumb{padding:8px 10px!important;font-size:11px!important;margin-bottom:10px!important}
}

/* =========================================================
   v0.3.40 — focused mobile/header, badge, social embed and
   WooCommerce readability recovery.
   ========================================================= */

/* Badge icon-only must beat later generic badge-label rules from either Core
   or Theme while preserving the label in the accessible name/tooltip. */
@media (min-width:783px){
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge-label{display:none!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;gap:0!important;justify-content:center!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge-img{width:17px!important;height:17px!important;min-width:17px!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge-emoji{width:17px!important;height:17px!important;font-size:14px!important}
}
@media (max-width:782px){
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge-label{display:none!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;gap:0!important;justify-content:center!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge-img{width:17px!important;height:17px!important;min-width:17px!important}
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge-emoji{width:17px!important;height:17px!important;font-size:14px!important}
}

/* Saved Posts mobile: use the proven header + continuation pattern rather than
   overlaying the count and nav in the same grid cell. This keeps the counter
   above the Community/Members/Notifications/Saved buttons at every width. */
@media (max-width:781px){
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell,
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell,
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;max-width:100%!important;min-width:0!important;
  }
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero{
    order:1!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;position:relative!important;inset:auto!important;z-index:1!important;
    width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:14px 13px 11px!important;
    border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;overflow:hidden!important;
  }
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme.ch-route-saved .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero .ch-bookmarks-count,
  html body.ch-theme .ch-saved-page .ch-bookmarks-count-zero-move{
    position:static!important;inset:auto!important;display:inline-flex!important;align-self:flex-start!important;width:auto!important;max-width:100%!important;height:auto!important;min-height:28px!important;
    margin:8px 0 0!important;padding:4px 8px!important;transform:none!important;white-space:nowrap!important;font-size:11px!important;line-height:1.15!important;
  }
  html body.ch-theme .ch-theme-community-shell--saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme.ch-route-saved .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-bookmarks-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-shell > .ch-bookmarks-nav:not(.ch-bookmarks-nav-in-header),
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav-zero-move{
    order:2!important;position:static!important;inset:auto!important;z-index:1!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;
    gap:7px!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin:0 0 12px!important;padding:7px 11px 12px!important;transform:none!important;
    background:var(--ch-theme-surface,#fff)!important;border:1px solid var(--ch-theme-border,#d9e3f0)!important;border-top:0!important;border-radius:0 0 18px 18px!important;box-shadow:0 14px 32px rgba(16,24,40,.06)!important;overflow:hidden!important;
  }
  html body.ch-theme .ch-saved-page .ch-bookmarks-nav a{flex:0 0 auto!important;min-height:32px!important;padding:7px 10px!important;margin:0!important;white-space:nowrap!important}
  html body.ch-theme .ch-saved-page .ch-bookmarks-list,
  html body.ch-theme .ch-saved-page .ch-bookmarks-empty,
  html body.ch-theme .ch-saved-page .ch-feed{order:3!important}
  html[data-ch-theme-mode="dark"] body.ch-theme .ch-saved-page .ch-bookmarks-nav,
  body.ch-theme-mode-dark .ch-saved-page .ch-bookmarks-nav{background:#111827!important;border-color:#263241!important}
}

/* Social provider frames: deterministic, centered and contained. */
body.ch-theme .ch-social-embed{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:10px auto 0!important;overflow:hidden!important}
body.ch-theme .ch-social-embed iframe{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0 auto!important;border:0!important}
body.ch-theme .ch-social-embed--facebook iframe{height:520px!important;min-height:420px!important}
body.ch-theme .ch-social-embed--instagram iframe{height:760px!important;min-height:560px!important}
body.ch-theme .ch-social-embed--tiktok iframe{height:740px!important;min-height:560px!important}
@media(max-width:781px){
  body.ch-theme .ch-social-embed--facebook iframe{height:min(72dvh,620px)!important;min-height:360px!important}
  body.ch-theme .ch-social-embed--instagram iframe{height:min(82dvh,760px)!important;min-height:520px!important}
  body.ch-theme .ch-social-embed--tiktok iframe{height:min(82dvh,740px)!important;min-height:520px!important}
}

/* WooCommerce product tabs themselves need readable states, not only the
   panel underneath. Preserve product-description media rather than flattening
   it into text-only content. */
body.ch-theme.single-product .woocommerce-tabs ul.tabs,
body.ch-theme.single-product .woocommerce-tabs .wc-tabs{
  display:flex!important;flex-wrap:wrap!important;gap:7px!important;margin:0 0 10px!important;padding:0!important;border:0!important;background:transparent!important;
}
body.ch-theme.single-product .woocommerce-tabs ul.tabs::before,
body.ch-theme.single-product .woocommerce-tabs ul.tabs::after{display:none!important}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li{
  margin:0!important;padding:0!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:999px!important;background:var(--ch-theme-surface,#fff)!important;box-shadow:none!important;
}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li::before,
body.ch-theme.single-product .woocommerce-tabs ul.tabs li::after{display:none!important}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 12px!important;color:var(--ch-theme-text,#172033)!important;font-size:12px!important;font-weight:700!important;line-height:1.15!important;text-decoration:none!important;
}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active{background:var(--ch-theme-accent,#0b84ff)!important;border-color:var(--ch-theme-accent,#0b84ff)!important}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li{background:#111827!important;border-color:#334155!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li a,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li a{color:#e5edf7!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li.active{background:#1687ff!important;border-color:#1687ff!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active a,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.ch-theme.single-product .woocommerce-tabs .panel img,
body.ch-theme.single-product .woocommerce-Tabs-panel img{display:block!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:14px auto!important;border-radius:10px!important}
body.ch-theme.single-product .woocommerce-tabs .panel figure,
body.ch-theme.single-product .woocommerce-Tabs-panel figure{max-width:100%!important;margin:14px auto!important}
@media(max-width:781px){
 body.ch-theme.single-product .woocommerce-tabs ul.tabs{gap:6px!important}
 body.ch-theme.single-product .woocommerce-tabs ul.tabs li a{min-height:32px!important;padding:6px 10px!important;font-size:11px!important}
}


/* =========================================================
   v0.3.41 — cleanup/recovery: Saved header, BM dark text,
   badge scale/shape bridge, Woo tabs, X auto-size.
   ========================================================= */
/* Saved Posts uses the same one-card social-header structure on mobile. */
@media(max-width:781px){
  body.ch-theme .ch-saved-page .ch-bookmarks-shell{display:block!important;width:100%!important;max-width:100%!important;overflow-x:clip!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-header.ch-page-hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important;padding:12px 13px!important;margin:0 0 12px!important;border-radius:18px!important;overflow:hidden!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-heading{min-width:0!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-actions{position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;transform:none!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-count{position:static!important;align-self:flex-start!important;display:inline-flex!important;align-items:baseline!important;gap:4px!important;margin:0!important;padding:0!important;min-height:0!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;white-space:nowrap!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-count span{font-size:12px!important;font-weight:750!important;line-height:1!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-count small{font-size:11px!important;line-height:1!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-in-header{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;transform:none!important;overflow:visible!important}
  body.ch-theme .ch-saved-page .ch-bookmarks-nav-in-header a{flex:0 0 auto!important;min-height:32px!important;padding:7px 10px!important;margin:0!important;font-size:12px!important;line-height:1.1!important;white-space:nowrap!important}
}
/* Compact badge presentation; Core owns shape classes, Theme only bridges polish. */
body.ch-theme .ch-user-badge{min-height:18px!important;padding:2px 6px!important;gap:3px!important;font-size:9px!important}
body.ch-theme .ch-user-badge-img{width:12px!important;height:12px!important;min-width:12px!important}
body.ch-theme .ch-user-badge-label{font-size:9px!important}
body.ch-theme .ch-user-badge-shape-rounded{border-radius:6px!important}
body.ch-theme .ch-user-badge-shape-square{border-radius:2px!important}
/* X widgets.js must own generated iframe height; fixed Theme heights caused crop. */
body.ch-theme .ch-social-embed--x{display:flex!important;justify-content:center!important;overflow:visible!important;max-width:100%!important}
body.ch-theme .ch-social-embed--x .twitter-tweet{width:100%!important;max-width:550px!important;margin:0 auto!important}
body.ch-theme .ch-social-embed--x iframe.twitter-tweet-rendered{width:100%!important;max-width:550px!important;min-height:0!important;height:auto!important;margin:0 auto!important}
/* WooCommerce tabs: keep their existing compact shape, harden readable states. */
body.ch-theme.single-product .woocommerce-tabs ul.tabs li a{color:#172033!important;background:transparent!important;text-shadow:none!important}
body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li:not(.active) a,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li:not(.active) a{color:#eaf1fb!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-tabs ul.tabs li.active a,
body.ch-theme-mode-dark.single-product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
body.ch-theme.single-product .woocommerce-Tabs-panel img[data-src],body.ch-theme.single-product .woocommerce-Tabs-panel img[data-lazy-src]{max-width:100%!important;height:auto!important}


/* =========================================================
   v0.3.42 — Better Messages ownership, reward banner, badge shapes.
   ========================================================= */
/* Better Messages owns all widget colors through its own Customizer. CommunityHub
   deliberately does not force --bm-* variables or message colors here. */

/* Reward celebration: premium banner directly below the main site header rather
   than a large side toast. Core positions --ch-reward-banner-top at runtime. */
.ch-reward-toast{
  position:fixed!important;left:50%!important;right:auto!important;top:var(--ch-reward-banner-top,64px)!important;bottom:auto!important;
  width:min(980px,calc(100vw - 24px))!important;max-width:980px!important;min-width:0!important;
  transform:translate(-50%,-10px) scale(.99)!important;display:flex!important;justify-content:center!important;
  padding:9px 16px!important;gap:10px!important;border:2px solid #c8a84b!important;border-radius:0 0 14px 14px!important;
  background:linear-gradient(90deg,#090907,#17140d 50%,#090907)!important;color:#f5f0e8!important;
  box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 20px rgba(200,168,75,.28)!important;
}
.ch-reward-toast.is-visible{transform:translate(-50%,0) scale(1)!important}
.ch-reward-toast-icon{width:30px!important;height:30px!important;flex-basis:30px!important;font-size:16px!important}
.ch-reward-toast-copy{display:flex!important;align-items:baseline!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important}
.ch-reward-toast-copy strong{font-size:13px!important}.ch-reward-toast-copy span{font-size:12px!important}.ch-reward-toast-copy small{font-size:10px!important;color:#f0cf66!important}
@media(max-width:782px){
  .ch-reward-toast{width:calc(100vw - 12px)!important;padding:8px 10px!important;border-radius:0 0 12px 12px!important}
  .ch-reward-toast-copy{gap:5px!important}.ch-reward-toast-copy small{display:none!important}
}

/* Smaller, ordered custom badges with shape support. */
body.ch-theme .ch-user-badges{gap:3px!important}
body.ch-theme .ch-user-badge{min-height:16px!important;padding:1px 5px!important;gap:2px!important;font-size:8px!important;border-width:1px!important}
body.ch-theme .ch-user-badge-img{width:11px!important;height:11px!important;min-width:11px!important}
body.ch-theme .ch-user-badge-emoji{width:11px!important;height:11px!important;font-size:10px!important;line-height:11px!important}
body.ch-theme .ch-user-badge-label{font-size:8.5px!important;line-height:1!important;font-weight:650!important}
body.ch-theme .ch-user-badge-shape-pill{border-radius:999px!important}
body.ch-theme .ch-user-badge-shape-rounded{border-radius:5px!important}
body.ch-theme .ch-user-badge-shape-square{border-radius:1px!important}
body.ch-theme .ch-user-badge-shape-circle{border-radius:50%!important;aspect-ratio:1/1;padding-inline:3px!important}
body.ch-theme .ch-user-badge-shape-shield{border-radius:4px 4px 8px 8px!important;clip-path:polygon(8% 0,92% 0,100% 72%,50% 100%,0 72%)!important;padding-bottom:3px!important}
body.ch-theme .ch-user-badge-shape-seal{clip-path:polygon(50% 0,61% 11%,76% 5%,83% 19%,100% 21%,94% 38%,100% 50%,91% 63%,96% 79%,79% 83%,72% 100%,56% 93%,44% 100%,28% 93%,21% 83%,4% 79%,9% 63%,0 50%,6% 38%,0 21%,17% 19%,24% 5%,39% 11%)!important;padding:4px 7px!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-burst{clip-path:polygon(50% 0,60% 14%,75% 7%,80% 23%,97% 25%,87% 40%,100% 50%,87% 60%,97% 75%,80% 77%,75% 93%,60% 86%,50% 100%,40% 86%,25% 93%,20% 77%,3% 75%,13% 60%,0 50%,13% 40%,3% 25%,20% 23%,25% 7%,40% 14%)!important;border-radius:0!important;padding:4px 7px!important}
body.ch-theme .ch-user-badge-shape-hexagon{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)!important;border-radius:0!important;padding-inline:7px!important}
body.ch-theme .ch-user-badge-shape-diamond{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)!important;border-radius:0!important;padding:5px 9px!important}
body.ch-theme .ch-user-badge-shape-ticket{clip-path:polygon(0 0,100% 0,100% 35%,92% 50%,100% 65%,100% 100%,0 100%,0 65%,8% 50%,0 35%)!important;border-radius:2px!important;padding-inline:7px!important}
@media(min-width:783px){body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge{width:20px!important;height:20px!important;min-width:20px!important;padding:2px!important}}
@media(max-width:782px){body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge{width:20px!important;height:20px!important;min-width:20px!important;padding:2px!important}}


/* =========================================================
   v0.3.43 — focused badge/BM/groups/commerce/embed recovery
   ========================================================= */
/* Badge sizing is uniform and admin-controlled. */
body.ch-theme .ch-user-badge{
  height:var(--ch-badge-full-desktop,16px)!important;min-height:var(--ch-badge-full-desktop,16px)!important;
  box-sizing:border-box!important;padding:1px calc(var(--ch-badge-full-desktop,16px)*.31)!important;
  font-size:calc(var(--ch-badge-full-desktop,16px)*.52)!important;
}
body.ch-theme .ch-user-badge-img{width:calc(var(--ch-badge-full-desktop,16px)*.68)!important;height:calc(var(--ch-badge-full-desktop,16px)*.68)!important;min-width:calc(var(--ch-badge-full-desktop,16px)*.68)!important}
body.ch-theme .ch-user-badge-emoji{width:calc(var(--ch-badge-full-desktop,16px)*.68)!important;height:calc(var(--ch-badge-full-desktop,16px)*.68)!important;font-size:calc(var(--ch-badge-full-desktop,16px)*.6)!important;line-height:1!important}
body.ch-theme .ch-user-badge-label{font-size:calc(var(--ch-badge-full-desktop,16px)*.52)!important;line-height:1!important}
body.ch-theme .ch-user-badge-shape-seal{clip-path:polygon(50% 0,58% 7%,68% 3%,74% 12%,85% 10%,88% 21%,98% 26%,94% 37%,100% 50%,94% 63%,98% 74%,88% 79%,85% 90%,74% 88%,68% 97%,58% 93%,50% 100%,42% 93%,32% 97%,26% 88%,15% 90%,12% 79%,2% 74%,6% 63%,0 50%,6% 37%,2% 26%,12% 21%,15% 10%,26% 12%,32% 3%,42% 7%)!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-burst{clip-path:polygon(50% 0,60% 18%,75% 7%,78% 28%,100% 25%,84% 42%,100% 50%,84% 58%,100% 75%,78% 72%,75% 93%,60% 82%,50% 100%,40% 82%,25% 93%,22% 72%,0 75%,16% 58%,0 50%,16% 42%,0 25%,22% 28%,25% 7%,40% 18%)!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-tag{clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,8% 50%)!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-octagon{clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-bookmark{clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%)!important;border-radius:0!important}
body.ch-theme .ch-user-badge-shape-chevron{clip-path:polygon(0 0,82% 0,100% 50%,82% 100%,0 100%,16% 50%)!important;border-radius:0!important}
@media(min-width:783px){
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge{width:var(--ch-badge-icon-desktop,18px)!important;height:var(--ch-badge-icon-desktop,18px)!important;min-width:var(--ch-badge-icon-desktop,18px)!important;min-height:var(--ch-badge-icon-desktop,18px)!important;padding:2px!important}
}
@media(max-width:782px){
 body.ch-theme .ch-user-badge{height:var(--ch-badge-full-mobile,16px)!important;min-height:var(--ch-badge-full-mobile,16px)!important;padding:1px calc(var(--ch-badge-full-mobile,16px)*.31)!important;font-size:calc(var(--ch-badge-full-mobile,16px)*.52)!important}
 body.ch-theme .ch-user-badge-img{width:calc(var(--ch-badge-full-mobile,16px)*.68)!important;height:calc(var(--ch-badge-full-mobile,16px)*.68)!important;min-width:calc(var(--ch-badge-full-mobile,16px)*.68)!important}
 body.ch-theme .ch-user-badge-emoji{width:calc(var(--ch-badge-full-mobile,16px)*.68)!important;height:calc(var(--ch-badge-full-mobile,16px)*.68)!important;font-size:calc(var(--ch-badge-full-mobile,16px)*.6)!important}
 body.ch-theme .ch-user-badge-label{font-size:calc(var(--ch-badge-full-mobile,16px)*.52)!important}
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge{width:var(--ch-badge-icon-mobile,18px)!important;height:var(--ch-badge-icon-mobile,18px)!important;min-width:var(--ch-badge-icon-mobile,18px)!important;min-height:var(--ch-badge-icon-mobile,18px)!important;padding:2px!important}
}
/* Better Messages owns colors; only guarantee readable text if its custom color is too close to the active surface. */
body.bm-messages-dark :is(.bp-better-messages-list,.bp-better-messages-mini) :is(.thread .name,.thread .last-message,.bm-info,.bm-info a,.bm-name,.bm-name a,.bm-system-message,.bm-sticky-date,.chat-header,.chat-header *,.bm-reply,.bm-reply textarea,.bm-reply input){color:rgb(var(--bm-text-color-dark,238,244,252))!important}
body:not(.bm-messages-dark) :is(.bp-better-messages-list,.bp-better-messages-mini) :is(.thread .name,.thread .last-message,.bm-info,.bm-info a,.bm-name,.bm-name a,.bm-system-message,.bm-sticky-date,.chat-header,.chat-header *,.bm-reply,.bm-reply textarea,.bm-reply input){color:rgb(var(--bm-text-color,23,32,51))!important}
/* Group invite page: focused, app-like invitation workspace. */
.ch-theme .ch-group-invite-panel{padding:22px!important;border-radius:18px!important;overflow:hidden}
.ch-theme .ch-group-invite-intro{display:flex;align-items:flex-start;gap:12px;padding:0 0 18px;border-bottom:1px solid var(--ch-theme-border)}
.ch-theme .ch-group-invite-intro h2{margin:0;color:var(--ch-theme-text);font-size:1.15rem;font-weight:800}.ch-theme .ch-group-invite-intro p{margin:4px 0 0;color:var(--ch-theme-muted);line-height:1.5}
.ch-theme .ch-group-invite-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:var(--ch-group-accent-soft);color:var(--ch-group-accent);font-size:24px;font-weight:500}
.ch-theme .ch-group-invite-form{margin-top:18px;padding:14px;border:1px solid var(--ch-theme-border);border-radius:14px;background:var(--ch-theme-surface-soft)}
.ch-theme .ch-group-invite-search input{background:var(--ch-theme-surface)!important}
.ch-theme .ch-group-suggested-member{padding:12px!important;background:var(--ch-theme-surface)!important;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.ch-theme .ch-group-suggested-member .ch-group-secondary-button{min-width:76px}
@media(min-width:1050px){.ch-theme .ch-group-suggested-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:782px){.ch-theme .ch-group-invite-panel{padding:15px!important}.ch-theme .ch-group-invite-form{padding:11px!important}.ch-theme .ch-group-suggested-grid{grid-template-columns:1fr!important}}
/* WooCommerce Additional Information: readable in both modes. */
body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information :is(table,tbody,tr,th,td,p,span,strong){color:#172033!important}
body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information th{background:#f6f8fb!important;color:#172033!important}
body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information td{background:#fff!important;color:#334155!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information :is(table,tbody,tr,th,td,p,span,strong),body.ch-theme-mode-dark.single-product .woocommerce-Tabs-panel--additional_information :is(table,tbody,tr,th,td,p,span,strong){color:#eaf1fb!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information th,body.ch-theme-mode-dark.single-product .woocommerce-Tabs-panel--additional_information th{background:#18263a!important;color:#f8fafc!important}
html[data-ch-theme-mode="dark"] body.ch-theme.single-product .woocommerce-Tabs-panel--additional_information td,body.ch-theme-mode-dark.single-product .woocommerce-Tabs-panel--additional_information td{background:#111c2d!important;color:#dbe7f5!important}
/* Social providers blocked by browser privacy tools still show an intentional fallback action, never a naked URL. */
.ch-social-embed-provider-link{display:inline-flex;align-items:center;justify-content:center;margin:8px auto 0;padding:7px 11px;border:1px solid var(--ch-theme-border,#dbe3ec);border-radius:9px;color:var(--ch-theme-text,#172033);background:var(--ch-theme-surface,#fff);font-size:.78rem;font-weight:750;text-decoration:none}
.ch-social-embed-provider-link:hover{border-color:var(--ch-theme-accent,#0080ff);color:var(--ch-theme-accent,#0080ff)}


/* =========================================================
   v0.3.44 — regression cleanup: reactions, rails, BM dates, X shell
   ========================================================= */
/* One reaction count, intentionally separate from the Like action. */
.ch-post-reaction-wrap{display:inline-flex!important;align-items:center!important;gap:4px!important}
.ch-post-reaction-wrap>.ch-reaction-total{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:26px!important;height:28px!important;padding:2px 7px!important;margin:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--ch-theme-muted,#64748b)!important;font:inherit!important;font-size:12px!important;font-weight:750!important;line-height:1!important;cursor:pointer!important}
.ch-post-reaction-wrap>.ch-reaction-total[hidden]{display:none!important}
.ch-post-reaction-wrap>.ch-reaction-total:hover,.ch-post-reaction-wrap>.ch-reaction-total:focus-visible{background:rgba(0,128,255,.08)!important;color:var(--ch-theme-accent,#0080ff)!important}
.ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-summary{display:inline-flex!important;align-items:center!important;gap:1px!important}
.ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-count{display:inline!important;min-width:0!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;font-size:12px!important;font-weight:800!important}
@media(max-width:782px){.ch-post-reaction-wrap>.ch-reaction-total{min-width:32px!important;height:32px!important;padding:3px 8px!important;font-size:13px!important}}

/* Better Messages date separator: the separator chip itself is dark in BM's
   current light and dark skins, so its label must remain readable. */
body.ch-theme :is(.bp-better-messages-list,.bp-better-messages-mini,.bp-messages-wrap) :is(.bm-sticky-date,.bm-date,.bm-date-separator,.bm-messages-date,.date-separator){color:#fff!important}
body.ch-theme :is(.bp-better-messages-list,.bp-better-messages-mini,.bp-messages-wrap) :is(.bm-sticky-date,.bm-date,.bm-date-separator,.bm-messages-date,.date-separator) *{color:#fff!important}

/* Icon-only badges use the exact center of their configured box regardless of
   shape/clip-path. */
body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge,
body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge{display:inline-grid!important;place-items:center!important;align-content:center!important;justify-content:center!important;line-height:1!important}
body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji),
body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){display:block!important;margin:0!important;position:static!important;transform:none!important}

/* Approved desktop Community rail geometry. The page setting still owns
   left/right/both/none; this block only owns dimensions and gap. */
@media(min-width:1540px){
 body.ch-theme [class*="ch-route-community"] .ch-theme-container--community{--ch-social-stack-width:820px!important;--ch-social-widget-width:340px!important;--ch-social-widget-gap:8px!important;max-width:1516px!important;width:min(calc(100% - 16px),1516px)!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-shell{gap:8px!important;column-gap:8px!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-both{grid-template-columns:340px 820px 340px!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-left{grid-template-columns:340px 820px!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-shell.ch-theme-layout--sidebar-right{grid-template-columns:820px 340px!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-sidebar{width:340px!important;max-width:340px!important;min-width:340px!important}
 body.ch-theme [class*="ch-route-community"] .ch-theme-community-content-wrap{width:820px!important;max-width:820px!important;min-width:0!important}
}
/* Never suppress valid widget output simply because an old wrapper rule exists. */
.ch-theme-sidebar>.ch-theme-widget:not(:empty),.ch-theme-sidebar>.widget:not(:empty),.ch-theme-sidebar>section:not(:empty){display:block}

/* X native card uses the matching provider theme and stays centered. */
.ch-social-embed--x{display:flex!important;flex-direction:column!important;align-items:center!important;width:100%!important;max-width:100%!important;overflow:hidden!important;background:transparent!important}
.ch-social-embed--x .twitter-tweet,.ch-social-embed--x iframe.twitter-tweet-rendered{width:min(100%,550px)!important;max-width:550px!important;margin:0 auto!important}


/* v0.3.45 — Better Messages compatibility: keep BM authoritative while fixing
 * outgoing-message metadata contrast in light mode. Do not hide/replace BM's
 * call, group-call, screen-share, thread, participant, or composer controls. */
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.my .bm-time,
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.mine .bm-time,
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.is-me .bm-time,
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message[data-is-me="1"] .bm-time,
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message[data-user-id][class*="own"] .bm-time,
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.my :is(.bm-date,.bm-message-date,time),
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.mine :is(.bm-date,.bm-message-date,time),
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap .bm-messages-list .bm-message.is-me :is(.bm-date,.bm-message-date,time){color:rgba(255,255,255,.82)!important}



/* v0.3.45 — authoritative icon-only badge centering. */
@media(min-width:783px){
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge{
   display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;
   width:var(--ch-badge-icon-desktop,18px)!important;height:var(--ch-badge-icon-desktop,18px)!important;
   min-width:var(--ch-badge-icon-desktop,18px)!important;min-height:var(--ch-badge-icon-desktop,18px)!important;
   padding:0!important;gap:0!important;line-height:1!important;
 }
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){
   display:block!important;margin:auto!important;align-self:center!important;justify-self:center!important;position:static!important;transform:none!important;
 }
}
@media(max-width:782px){
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge{
   display:inline-grid!important;place-items:center!important;box-sizing:border-box!important;
   width:var(--ch-badge-icon-mobile,18px)!important;height:var(--ch-badge-icon-mobile,18px)!important;
   min-width:var(--ch-badge-icon-mobile,18px)!important;min-height:var(--ch-badge-icon-mobile,18px)!important;
   padding:0!important;gap:0!important;line-height:1!important;
 }
 body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){
   display:block!important;margin:auto!important;align-self:center!important;justify-self:center!important;position:static!important;transform:none!important;
 }
}


/* v0.3.46 — Better Messages light-mode date separators. Better Messages owns
 * the messenger palette; this only prevents unreadable dark text on dark date chips. */
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap :is(
  .bm-sticky-date,.bm-date,.bm-date-separator,.bm-messages-date,.date-separator,
  .bm-messages-date-wrapper,.bm-date-wrapper,[class*="date-separator"],[class*="messages-date"]
){color:#fff!important}
body.ch-theme:not(.bm-messages-dark) .bp-messages-wrap :is(
  .bm-sticky-date,.bm-date,.bm-date-separator,.bm-messages-date,.date-separator,
  .bm-messages-date-wrapper,.bm-date-wrapper,[class*="date-separator"],[class*="messages-date"]
) *{color:#fff!important}

/* v0.3.46 — icon-only badges: center the actual visual glyph, not merely its box. */
body.ch-theme :is(.ch-user-badges-icon-only-desktop,.ch-user-badges-icon-only-mobile) .ch-user-badge{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:0!important;text-align:center!important
}
body.ch-theme :is(.ch-user-badges-icon-only-desktop,.ch-user-badges-icon-only-mobile) .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){
  display:block!important;position:relative!important;inset:auto!important;margin:auto!important;transform:none!important;object-fit:contain!important;object-position:50% 50%!important;line-height:1!important
}

/* =========================================================
   v0.3.47 — mobile reaction interaction/polish + badge breathing room
   ========================================================= */
/* Treat Like + reaction count as one compact action cluster so it occupies the
 * same rhythm as Comment/Repost/Share/Save instead of creating a phantom gap. */
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  gap:1px!important;
  margin:0!important;
  padding:0!important;
}
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-trigger{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
  padding-inline:9px!important;
}
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-total{
  flex:0 0 auto!important;
  min-width:24px!important;
  width:auto!important;
  height:30px!important;
  margin:0!important;
  padding:2px 5px!important;
  border-radius:999px!important;
}
body.ch-theme .ch-post-reaction-wrap>.ch-reaction-total .ch-reaction-people-label{display:none!important}
@media(max-width:782px){
  body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
  }
  body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-trigger{
    min-height:34px!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 9px!important;
  }
  body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-total{
    min-width:28px!important;
    height:34px!important;
    padding:3px 5px!important;
  }
}

/* Icon-only badges need breathing room inside the bubble. Bubble size remains
 * admin-controlled; the artwork intentionally occupies about 58% of it. */
body.ch-theme .ch-user-badges.ch-user-badges-icon-only-desktop .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){
  width:calc(var(--ch-badge-icon-desktop,18px)*.58)!important;
  height:calc(var(--ch-badge-icon-desktop,18px)*.58)!important;
  min-width:0!important;
  max-width:calc(var(--ch-badge-icon-desktop,18px)*.58)!important;
  max-height:calc(var(--ch-badge-icon-desktop,18px)*.58)!important;
  font-size:calc(var(--ch-badge-icon-desktop,18px)*.52)!important;
}
@media(max-width:782px){
  body.ch-theme .ch-user-badges.ch-user-badges-icon-only-mobile .ch-user-badge :is(.ch-user-badge-img,.ch-user-badge-emoji){
    width:calc(var(--ch-badge-icon-mobile,18px)*.58)!important;
    height:calc(var(--ch-badge-icon-mobile,18px)*.58)!important;
    min-width:0!important;
    max-width:calc(var(--ch-badge-icon-mobile,18px)*.58)!important;
    max-height:calc(var(--ch-badge-icon-mobile,18px)*.58)!important;
    font-size:calc(var(--ch-badge-icon-mobile,18px)*.52)!important;
  }
}

/* =========================================================
   v0.3.48 — conditional reaction counter / action-row rhythm
   ========================================================= */
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap{
  gap:0!important;
}
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-total[hidden]{
  display:none!important;
}
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-total:not([hidden]){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:2px!important;
}
/* When nobody else has reacted, the Like cluster occupies exactly the same
   rhythm as any other action button. The counter only joins the row once an
   other-member reaction exists. */
body.ch-theme :is(.ch-feed,.ch-activity-card) .ch-action-row .ch-post-reaction-wrap>.ch-reaction-trigger{
  margin:0!important;
}

/* v0.3.49 — preserve Core reaction bottom-sheet visibility above mobile nav. */
@media (max-width:782px){.ch-theme .ch-reaction-users-panel.is-mobile-sheet.is-visible{display:block!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;z-index:2147483300!important}}


/* =========================================================
   v0.3.50 — reward preset authority + mobile reactions + composer order
   ========================================================= */
/* Core supplies per-site colors as CSS vars; these final rules intentionally
   outrank older fixed gold-banner generations so the selected preset is real. */
body.ch-theme .ch-reward-toast{background:var(--ch-reward-bg,#17140a)!important;color:var(--ch-reward-text,#fff8dc)!important;border-color:color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 70%,transparent)!important}
body.ch-theme .ch-reward-toast--gold{background:linear-gradient(90deg,color-mix(in srgb,var(--ch-reward-bg,#17140a) 88%,#000),var(--ch-reward-bg,#17140a),color-mix(in srgb,var(--ch-reward-bg,#17140a) 88%,#000))!important;box-shadow:0 10px 28px rgba(0,0,0,.3),0 0 22px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 30%,transparent)!important}
body.ch-theme .ch-reward-toast--celebration{background:linear-gradient(135deg,var(--ch-reward-bg,#17140a),color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 45%,var(--ch-reward-bg,#17140a)))!important;border-radius:18px!important;box-shadow:0 18px 50px rgba(15,23,42,.34),0 0 38px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 45%,transparent)!important}
body.ch-theme .ch-reward-toast--neon{background:#07090d!important;border:2px solid var(--ch-reward-accent,#e9c85e)!important;border-radius:8px!important;box-shadow:0 0 10px var(--ch-reward-accent,#e9c85e),0 0 34px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 55%,transparent)!important;text-shadow:0 0 8px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 65%,transparent)!important}
body.ch-theme .ch-reward-toast--minimal{background:var(--ch-reward-bg,#17140a)!important;border:1px solid color-mix(in srgb,var(--ch-reward-text,#fff8dc) 18%,transparent)!important;border-radius:8px!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important;padding:8px 12px!important}
body.ch-theme .ch-reward-toast--minimal .ch-reward-toast-icon,body.ch-theme .ch-reward-toast--minimal .ch-reward-toast-sparkles{display:none!important}
body.ch-theme .ch-reward-toast .ch-reward-toast-copy strong{color:var(--ch-reward-text,#fff8dc)!important}
body.ch-theme .ch-reward-toast .ch-reward-toast-copy>span,body.ch-theme .ch-reward-toast .ch-reward-toast-copy small{color:var(--ch-reward-accent,#e9c85e)!important}

.ch-reaction-mobile-caret{display:none}
@media(max-width:782px){
  body.ch-theme .ch-post-reaction-wrap>.ch-reaction-trigger{position:relative!important;padding-right:24px!important}
  body.ch-theme .ch-post-reaction-wrap>.ch-reaction-trigger .ch-reaction-mobile-caret{display:inline-flex!important;position:absolute!important;right:5px!important;top:50%!important;transform:translateY(-50%)!important;width:16px!important;height:22px!important;align-items:center!important;justify-content:center!important;font-size:11px!important;line-height:1!important;opacity:.72!important;z-index:2!important}
  body.ch-theme .ch-reaction-users-panel.is-mobile-sheet{left:8px!important;right:8px!important;bottom:calc(74px + env(safe-area-inset-bottom))!important;top:auto!important;width:auto!important;max-width:none!important;position:fixed!important;z-index:2147483640!important}
}
body.ch-theme .ch-composer>.ch-composer-destination{display:flex!important;margin:0 0 10px!important}
body.ch-theme .ch-composer>.ch-composer-textarea{margin-top:0!important}


/* =========================================================
   v0.3.51 — restore attached reward banner + reliable mobile Like
   ========================================================= */
body.ch-theme .ch-reward-toast[class*='ch-reward-toast--pos-']{position:fixed!important;left:50%!important;right:auto!important;top:var(--ch-reward-banner-top,64px)!important;bottom:auto!important;width:min(980px,calc(100vw - 24px))!important;max-width:980px!important;transform:translate(-50%,-10px) scale(.99)!important;border-radius:0 0 14px 14px!important}
body.ch-theme .ch-reward-toast[class*='ch-reward-toast--pos-'].is-visible{transform:translate(-50%,0) scale(1)!important}
body.ch-theme .ch-reward-toast--confetti{background:linear-gradient(120deg,var(--ch-reward-bg,#17140a),color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 34%,var(--ch-reward-bg,#17140a)))!important;box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 28px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 35%,transparent)!important}
body.ch-theme .ch-reward-toast--fireworks{background:#070707!important;border-color:var(--ch-reward-accent,#e9c85e)!important;box-shadow:0 0 34px color-mix(in srgb,var(--ch-reward-accent,#e9c85e) 50%,transparent)!important}
body.ch-theme .ch-reward-toast--fire{background:linear-gradient(0deg,#210500,#7a1400 48%,#17110b)!important;border-color:#ff7a18!important;box-shadow:0 0 28px rgba(255,86,0,.5)!important}
body.ch-theme .ch-reward-toast--lightning{background:linear-gradient(115deg,#060916,#101b42,#060916)!important;border-color:#8ec5ff!important;box-shadow:0 0 28px rgba(84,157,255,.55)!important}
@media(max-width:782px){
 body.ch-theme .ch-reward-toast[class*='ch-reward-toast--pos-']{left:6px!important;right:6px!important;top:var(--ch-reward-banner-top,64px)!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:translateY(-8px) scale(.99)!important;border-radius:0 0 12px 12px!important}
 body.ch-theme .ch-reward-toast[class*='ch-reward-toast--pos-'].is-visible{transform:translateY(0) scale(1)!important}
 body.ch-theme .ch-post-reaction-wrap>.ch-reaction-trigger{padding-right:6px!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}
 body.ch-theme .ch-post-reaction-wrap>.ch-reaction-mobile-caret{display:inline-flex!important;position:static!important;transform:none!important;width:22px!important;height:100%!important;min-height:34px!important;margin-left:1px!important;padding:0 4px!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;color:inherit!important;font-size:12px!important;line-height:1!important;opacity:.76!important;touch-action:manipulation!important;z-index:auto!important}
}


/* v0.3.52 mobile reaction gesture + reward FX authority */
@media(max-width:782px){
  .ch-theme .ch-reaction-trigger,.ch-theme .ch-reaction-mobile-caret{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important;touch-action:manipulation!important}
  .ch-theme .ch-reaction-trigger img,.ch-theme .ch-reaction-mobile-caret img{-webkit-user-drag:none!important;pointer-events:none!important}
}
.ch-theme .ch-reward-toast--fireworks,.ch-theme .ch-reward-toast--fire,.ch-theme .ch-reward-toast--lightning{overflow:hidden!important}

/* =========================================================
   v0.3.55: Header/menu semantic color-mode synchronization
   Presentation only. Keeps approved header/menu geometry and behavior intact.
   ========================================================= */
body.ch-theme .ch-theme-header,
body.ch-theme .ch-theme-header-top,
body.ch-theme .ch-theme-nav-bar {
	background: color-mix(in srgb, var(--ch-theme-header-bg) 94%, transparent) !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}

body.ch-theme .ch-theme-primary-menu a,
body.ch-theme .ch-theme-community-menu a,
body.ch-theme .ch-theme-site-title,
body.ch-theme .ch-theme-account-link,
body.ch-theme .ch-theme-account-toggle,
body.ch-theme .ch-theme-menu-toggle,
body.ch-theme .ch-theme-mode-toggle {
	color: var(--ch-theme-text) !important;
}

body.ch-theme .ch-theme-primary-menu a:hover,
body.ch-theme .ch-theme-primary-menu a:focus-visible,
body.ch-theme .ch-theme-community-menu a:hover,
body.ch-theme .ch-theme-community-menu a:focus-visible,
body.ch-theme .ch-theme-account-link:hover,
body.ch-theme .ch-theme-account-link:focus-visible {
	color: var(--ch-theme-blue) !important;
}

body.ch-theme .ch-theme-primary-menu .sub-menu,
body.ch-theme .ch-theme-community-menu .sub-menu,
body.ch-theme .ch-theme-menu-panel,
body.ch-theme .ch-theme-account-panel {
	background: var(--ch-theme-surface) !important;
	color: var(--ch-theme-text) !important;
	border-color: var(--ch-theme-border) !important;
}

body.ch-theme .ch-theme-primary-menu .sub-menu a,
body.ch-theme .ch-theme-community-menu .sub-menu a,
body.ch-theme .ch-theme-account-panel a {
	color: var(--ch-theme-text) !important;
}

body.ch-theme .ch-theme-primary-menu .sub-menu a:hover,
body.ch-theme .ch-theme-primary-menu .sub-menu a:focus-visible,
body.ch-theme .ch-theme-community-menu .sub-menu a:hover,
body.ch-theme .ch-theme-community-menu .sub-menu a:focus-visible,
body.ch-theme .ch-theme-account-panel a:hover,
body.ch-theme .ch-theme-account-panel a:focus-visible {
	background: var(--ch-theme-surface-soft) !important;
	color: var(--ch-theme-blue) !important;
}

/* Explicit attribute selectors outrank the historical global dark-link rule. */
html[data-ch-theme-mode="light"] body.ch-theme .ch-theme-primary-menu a,
html[data-ch-theme-mode="light"] body.ch-theme .ch-theme-community-menu a,
html[data-ch-theme-mode="light"] body.ch-theme .ch-theme-site-title,
html[data-ch-theme-mode="light"] body.ch-theme .ch-theme-account-link,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-primary-menu a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-community-menu a,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-site-title,
html[data-ch-theme-mode="dark"] body.ch-theme .ch-theme-account-link {
	color: var(--ch-theme-text) !important;
}

/* =========================================================
   v0.3.57 — Mobile Community Nav visibility recovery
   Regression Recovery Mode: layout only.
   Replaces the late auto-fit/minmax(0,1fr) grid that can collapse
   later mobile nav tracks to zero width. No behavior/sticky changes.
   ========================================================= */
@media (max-width: 782px) {
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-community-nav,
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-menu-list--community {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: visible !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-community-nav > .ch-theme-nav-pill,
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-menu-list--community > li:not(.ch-theme-nav-center-spacer-item) {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-menu-list--community > li:not(.ch-theme-nav-center-spacer-item) > a,
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-community-nav > .ch-theme-nav-pill {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer,
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-nav-center-spacer-item,
  body.ch-theme .ch-theme-community-bar--bottom .ch-theme-nav-balance-placeholder {
    flex: 0 0 72px !important;
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
  }
}


/* =========================================================
   v0.3.62 — Mobile top shell root-cause recovery
   Built from approved v0.3.59.
   - Adds the missing top-mobile state class in PHP.
   - Supports either the native CommunityHub header or an Elementor header.
   - Measures the actual mobile header height for the top Nav offset.
   - Re-enables only the mobile TOP Community Nav hidden by the historical
     <=960px rule and normalizes it to a compact horizontal row.
   - Bottom Nav Bar is intentionally untouched/frozen.
   ========================================================= */
@media (max-width: 782px) {
  html body.ch-theme > .ch-theme-header,
  html body.ch-theme > .elementor-location-header {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: 0 !important;
    z-index: 999900 !important;
    overflow: visible !important;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile {
    display: block !important;
    position: sticky !important;
    position: -webkit-sticky !important;
    top: var(--ch-mobile-header-stack-height, 64px) !important;
    z-index: 999800 !important;
    max-height: 72px !important;
    overflow: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-header-inner--nav {
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    padding: 6px 8px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-header-inner--nav::-webkit-scrollbar {
    display: none;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-community-nav,
  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-menu-list--community {
    display: flex !important;
    grid-template-columns: none !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: max-content !important;
    overflow: visible !important;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-nav-pill,
  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-menu-list--community > li {
    flex: 1 0 58px !important;
    width: auto !important;
    min-width: 58px !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-nav-pill,
  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile .ch-theme-menu-list--community > li > a {
    width: 100% !important;
    min-height: 40px !important;
    padding: 7px 8px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
  }
}


/* =========================================================
   v0.3.63 — Mobile root scroll-context repair
   Runtime diagnostics confirmed html/body were both computed as
   overflow-x:hidden + overflow-y:auto, creating a root scroll context
   that prevents the otherwise-correct sticky header/top Nav contract
   from behaving consistently on mobile.
   Bottom Nav visual/behavior remains untouched.
   ========================================================= */
@media (max-width: 782px) {
  html:not(.ch-theme-menu-lock),
  html:not(.ch-theme-menu-lock) body.ch-theme {
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  html body.ch-theme > .ch-theme-header,
  html body.ch-theme > .elementor-location-header {
    top: var(--ch-mobile-adminbar-height, 0px) !important;
  }

  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile {
    top: calc(var(--ch-mobile-adminbar-height, 0px) + var(--ch-mobile-header-stack-height, 64px)) !important;
  }
}


/* =========================================================
   v0.3.64 — Mobile admin-bar/top-Nav stack alignment
   Sticky behavior passed in v0.3.63. The top Nav now follows the
   measured rendered bottom edge of the sticky header so WordPress
   admin-bar offsets cannot be applied differently to the two layers.
   Visual Nav styling is intentionally untouched.
   ========================================================= */
@media (max-width: 782px) {
  html body.ch-theme.ch-community-bar-top-mobile > .ch-theme-community-bar--top.ch-theme-community-bar--mobile {
    top: var(--ch-mobile-top-nav-offset, calc(var(--ch-mobile-adminbar-height, 0px) + var(--ch-mobile-header-stack-height, 64px))) !important;
  }
}


/* v0.3.65 — Mobile top-nav floating POST action.
 * Presentation-only companion to the approved bottom center action.
 * Bottom-nav geometry and v0.3.64 sticky stack remain untouched. */
.ch-theme-mobile-top-action{display:none}
@media (max-width:782px){
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action{
    position:fixed!important;
    z-index:2147482350!important;
    bottom:max(86px,calc(env(safe-area-inset-bottom,0px) + 68px))!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:58px!important;
    height:58px!important;
    padding:7px 10px!important;
    border:3px solid var(--ch-theme-surface,#fff)!important;
    border-radius:18px!important;
    background:linear-gradient(180deg,#1594ff,#0878e8)!important;
    color:#fff!important;
    box-shadow:0 10px 26px rgba(0,104,218,.30)!important;
    text-decoration:none!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent;
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease!important;
  }
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action--left{left:max(16px,env(safe-area-inset-left,0px))!important;right:auto!important}
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action--right{right:max(16px,env(safe-area-inset-right,0px))!important;left:auto!important}
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action:hover,
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action:focus-visible{transform:translateY(-2px) scale(1.02)!important;box-shadow:0 13px 30px rgba(0,104,218,.36)!important;filter:saturate(1.05)}
  body.ch-community-bar-top-mobile .ch-theme-mobile-top-action:active{transform:translateY(0) scale(.96)!important}
  .ch-theme-mobile-top-action-icon{display:flex!important;width:18px!important;height:18px!important;align-items:center!important;justify-content:center!important}
  .ch-theme-mobile-top-action-icon svg{display:block!important;width:18px!important;height:18px!important}
  .ch-theme-mobile-top-action-label{font-size:9px!important;font-weight:900!important;letter-spacing:.045em!important;color:#fff!important}
}
@media (prefers-reduced-motion:reduce){.ch-theme-mobile-top-action{transition:none!important}}

/* =========================================================
   v0.3.67 — Better Messages full-screen geometry handoff
   CommunityHub owns the normal page shell only. When Better
   Messages enters its CSS full-screen state, BM owns viewport
   geometry completely so normal page sizing cannot cap it.
   ========================================================= */
body.ch-theme-better-messages-page.bp-messages-full-screen {
  overflow: hidden !important;
}
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-messages-wrap-main,
body.ch-theme-better-messages-page.bp-messages-full-screen #primary .bp-messages-wrap:not(.bp-better-messages-list):not(.bp-better-messages-mini),
body.ch-theme-better-messages-page.bp-messages-full-screen .ch-profile-content .bp-messages-wrap {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100dvh !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  z-index: 2147483500 !important;
}
body.ch-theme-better-messages-page.bp-messages-full-screen .ch-theme-header,
body.ch-theme-better-messages-page.bp-messages-full-screen .ch-theme-community-bar,
body.ch-theme-better-messages-page.bp-messages-full-screen #wpadminbar {
  visibility: hidden !important;
  pointer-events: none !important;
}


/* =========================================================
   v0.3.68 — Better Messages full-screen inner-app handoff
   v0.3.67 proved the outer BM wrapper reaches the viewport.
   This block removes CommunityHub's normal page caps from the
   inner full-page BM app and suppresses the separate floating
   widget only while the full-page app is in full-screen mode.
   ========================================================= */
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-messages-wrap-main > .bp-messages-wrap,
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-messages-wrap-main .bp-messages-wrap:not(.bp-better-messages-list):not(.bp-better-messages-mini) {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-messages-wrap-main > :not(.bp-better-messages-list):not(.bp-better-messages-mini) {
  max-width: none !important;
}
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-better-messages-list,
body.ch-theme-better-messages-page.bp-messages-full-screen .bp-better-messages-mini,
body.ch-theme-better-messages-page.bp-messages-full-screen #bp-better-messages-mini-mobile-container,
body.ch-theme-better-messages-page.bp-messages-full-screen #bp-better-messages-mobile-view-container {
  display: none !important;
}


/* =========================================================
   CommunityHub v0.3.69 — Dedicated Messages page widget guard
   The full Better Messages page is already present here, so the
   separate floating desktop BM widget is redundant. Keep it
   available everywhere else and leave mobile full-page routing
   untouched.
   ========================================================= */
@media (min-width:783px){
  body.ch-theme-better-messages-page .bp-better-messages-list,
  body.ch-theme-better-messages-page .bp-better-messages-mini,
  body.ch-theme-better-messages-page #bp-better-messages-mini-mobile-container{
    display:none!important;
  }
}

/* =========================================================
   v0.3.70 — Desktop top Community Nav sticky contract
   - Desktop top Nav previously had no sticky positioning rule.
   - Reuses the rendered header bottom edge measured by the existing
     sticky-shell helper, including WordPress admin-bar/header height.
   - Mobile sticky geometry and all bottom-Nav behavior remain frozen.
   ========================================================= */
@media (min-width: 783px) {
  html body.ch-theme > .ch-theme-community-bar--top.ch-theme-community-bar--desktop {
    position: sticky !important;
    position: -webkit-sticky !important;
    top: var(--ch-desktop-top-nav-offset, 72px) !important;
    z-index: 990 !important;
    opacity: 1;
    transform: none;
  }
}

/* v0.3.71 — Notifications page dual-mode readability contract
   Theme presentation only. Keep Core notification behavior/markup untouched. */
body.ch-theme .ch-notifications-page {
	background: transparent !important;
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notifications-header,
body.ch-theme .ch-notifications-page .ch-empty-state {
	background: var(--ch-theme-surface) !important;
	background-color: var(--ch-theme-surface) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notifications-header h1,
body.ch-theme .ch-notifications-page .ch-empty-state h2 {
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notifications-header .ch-page-eyebrow {
	color: var(--ch-theme-blue) !important;
	opacity: 1 !important;
}
body.ch-theme .ch-notifications-header .ch-page-subtitle,
body.ch-theme .ch-notifications-page .ch-empty-state p,
body.ch-theme .ch-notification-meta {
	color: var(--ch-theme-muted) !important;
	opacity: 1 !important;
}
body.ch-theme .ch-notification-row,
body.ch-theme .ch-notification-row:visited {
	background: var(--ch-theme-surface) !important;
	background-color: var(--ch-theme-surface) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notification-row .ch-notification-main,
body.ch-theme .ch-notification-row .ch-notification-text {
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notification-row:hover,
body.ch-theme .ch-notification-row:focus,
body.ch-theme .ch-notification-row:focus-visible {
	background: color-mix(in srgb, var(--ch-theme-blue) 8%, var(--ch-theme-surface)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 55%, var(--ch-theme-border)) !important;
	color: var(--ch-theme-text) !important;
	outline: none !important;
}
body.ch-theme .ch-notification-row.is-unread {
	background: color-mix(in srgb, var(--ch-theme-blue) 10%, var(--ch-theme-surface)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 60%, var(--ch-theme-border)) !important;
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notifications-actions .ch-button,
body.ch-theme .ch-notifications-actions button,
body.ch-theme .ch-notifications-page .ch-empty-state .ch-button {
	background: var(--ch-theme-blue) !important;
	border-color: var(--ch-theme-blue) !important;
	color: #ffffff !important;
}
body.ch-theme .ch-notifications-actions .ch-button:hover,
body.ch-theme .ch-notifications-actions button:hover,
body.ch-theme .ch-notifications-actions .ch-button:focus,
body.ch-theme .ch-notifications-actions button:focus,
body.ch-theme .ch-notifications-actions .ch-button:focus-visible,
body.ch-theme .ch-notifications-actions button:focus-visible,
body.ch-theme .ch-notifications-page .ch-empty-state .ch-button:hover,
body.ch-theme .ch-notifications-page .ch-empty-state .ch-button:focus {
	background: var(--ch-theme-blue-dark) !important;
	border-color: var(--ch-theme-blue-dark) !important;
	color: #ffffff !important;
}
body.ch-theme .ch-notifications-actions .ch-button-secondary,
body.ch-theme .ch-notifications-actions a.ch-button-secondary {
	background: var(--ch-theme-surface-soft) !important;
	border-color: var(--ch-theme-border) !important;
	color: var(--ch-theme-text) !important;
}
body.ch-theme .ch-notifications-actions .ch-button-secondary:hover,
body.ch-theme .ch-notifications-actions a.ch-button-secondary:hover,
body.ch-theme .ch-notifications-actions .ch-button-secondary:focus,
body.ch-theme .ch-notifications-actions a.ch-button-secondary:focus,
body.ch-theme .ch-notifications-actions .ch-button-secondary:focus-visible,
body.ch-theme .ch-notifications-actions a.ch-button-secondary:focus-visible {
	background: color-mix(in srgb, var(--ch-theme-blue) 10%, var(--ch-theme-surface)) !important;
	border-color: color-mix(in srgb, var(--ch-theme-blue) 45%, var(--ch-theme-border)) !important;
	color: var(--ch-theme-text) !important;
}

/* =========================================================
   v0.3.72 — Logged-out desktop Community Nav balance
   - Member-only items (for example Profile) disappear when logged out.
   - Keep the remaining desktop buttons equal-width and centered as one
     visual group without changing approved logged-in or mobile geometry.
   ========================================================= */
@media (min-width: 783px) {
  body.ch-theme.ch-user-logged-out .ch-theme-community-bar--desktop .ch-theme-community-nav {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 6px !important;
  }

  body.ch-theme.ch-user-logged-out .ch-theme-community-bar--desktop .ch-theme-community-nav > .ch-theme-nav-pill {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 96px !important;
    max-width: 126px !important;
    margin: 0 !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* Bottom-center POST layouts keep the existing center gap, but ordinary
     logged-out buttons on either side retain identical visual weight. */
  body.ch-theme.ch-user-logged-out .ch-theme-community-bar--bottom.has-center-action .ch-theme-nav-center-spacer,
  body.ch-theme.ch-user-logged-out .ch-theme-community-bar--bottom.has-center-action .ch-theme-nav-balance-placeholder {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
  }
}


/* =========================================================
   v0.3.73 — Bottom Nav POST balance correction
   - The balance placeholder represents one missing ordinary nav slot, not
     the 72px center-action gap. Give it the same flex weight as a real item.
   - Limited to bottom Nav layouts with the center POST action enabled.
   ========================================================= */
.ch-theme-community-bar--bottom.has-center-action .ch-theme-nav-balance-placeholder {
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (min-width: 783px) {
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav > .ch-theme-nav-balance-placeholder,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community > .ch-theme-nav-balance-placeholder {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 96px !important;
    max-width: 126px !important;
    margin: 0 !important;
  }
}
@media (max-width: 782px) {
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav > .ch-theme-nav-balance-placeholder,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community > .ch-theme-nav-balance-placeholder {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
  }
}

/* =========================================================
   v0.3.75 — Bottom POST symmetric inner-button spacing
   The layout script now gives every ordinary bottom-nav item the same
   width on both sides of POST and parks any unused width at the OUTER
   edge of the shorter side. This guarantees that the nearest visible
   buttons sit the same distance from the center POST action.
   ========================================================= */
.ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav,
.ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community {
  box-sizing: border-box !important;
}


/* =========================================================
   v0.3.76 — Mobile icon-only POST visual center
   The layout script sizes the center spacer from the rendered POST button
   plus equal inner breathing room. This is intentionally mobile/icon-only;
   desktop keeps the approved v0.3.75 spacing geometry.
   ========================================================= */
@media (max-width: 782px) {
  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-nav-center-spacer {
    box-sizing: border-box !important;
  }
}


/* CommunityHub v0.3.79 — Desktop header submenu carets.
 * Visual affordance only: existing WordPress menu hover/focus behavior is unchanged. */
@media (min-width: 783px) {
  body.ch-theme .ch-theme-primary-menu--desktop > .ch-theme-menu-list > .menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
  }

  body.ch-theme .ch-theme-primary-menu--desktop > .ch-theme-menu-list > .menu-item-has-children > a::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transform-origin: center;
    opacity: .72;
    flex: 0 0 auto;
    transition: transform .16s ease, opacity .16s ease;
  }

  body.ch-theme .ch-theme-primary-menu--desktop > .ch-theme-menu-list > .menu-item-has-children:hover > a::after,
  body.ch-theme .ch-theme-primary-menu--desktop > .ch-theme-menu-list > .menu-item-has-children:focus-within > a::after {
    opacity: 1;
    transform: translateY(2px) rotate(225deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ch-theme .ch-theme-primary-menu--desktop > .ch-theme-menu-list > .menu-item-has-children > a::after {
    transition: none;
  }
}


/* v0.3.80 — CommunityHub feedback/suggestions embeds + widget presentation */
.ch-suggestion-embed{color:var(--ch-theme-text,#0f172a)!important}
.ch-suggestion-embed .ch-suggestion-intro{margin:0 0 16px!important}
.ch-suggestion-embed .ch-suggestion-intro h2{margin:0 0 7px!important;font-size:22px!important;line-height:1.18!important;letter-spacing:-.025em!important;color:var(--ch-theme-text,#0f172a)!important}
.ch-suggestion-embed .ch-suggestion-intro p{margin:0!important;color:var(--ch-theme-muted,#64748b)!important}
.ch-suggestion-form select,.ch-suggestion-form input[type="url"],.ch-suggestion-form input[type="file"]{width:100%!important;max-width:100%!important;box-sizing:border-box!important;border:1px solid var(--ch-theme-border,#cbd5e1)!important;border-radius:13px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-text,#0f172a)!important;padding:11px 12px!important;font:inherit!important}
.ch-suggestion-form select{min-height:44px!important}
.ch-suggestion-form textarea[name="suggestion_expected"]{min-height:92px!important}
.ch-suggestion-diagnostic-note{margin:0!important;padding:10px 12px!important;border:1px solid color-mix(in srgb,var(--ch-theme-border,#cbd5e1) 78%,transparent)!important;border-radius:12px!important;background:color-mix(in srgb,var(--ch-theme-surface,#fff) 92%,var(--ch-theme-primary,#2563eb) 8%)!important;color:var(--ch-theme-muted,#64748b)!important;font-size:11px!important;line-height:1.5!important;font-weight:650!important}
.ch-suggestion-embed--compact{display:block!important;max-width:none!important;margin:0!important;padding:0!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:16px!important;background:var(--ch-theme-surface,#fff)!important;box-shadow:0 10px 28px rgba(15,23,42,.06)!important;overflow:hidden!important}
.ch-suggestion-embed--compact>summary{list-style:none!important;cursor:pointer!important;display:flex!important;align-items:center!important;gap:11px!important;padding:14px!important;user-select:none!important}
.ch-suggestion-embed--compact>summary::-webkit-details-marker{display:none!important}
.ch-suggestion-compact-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;width:34px!important;height:34px!important;border-radius:50%!important;background:var(--ch-theme-primary,#2563eb)!important;color:#fff!important;font-size:18px!important;font-weight:950!important;box-shadow:0 6px 16px rgba(37,99,235,.22)!important}
.ch-suggestion-compact-summary>span:last-child{display:grid!important;gap:3px!important;min-width:0!important}
.ch-suggestion-compact-summary strong{color:var(--ch-theme-text,#0f172a)!important;font-size:13px!important;line-height:1.25!important}
.ch-suggestion-compact-summary small{color:var(--ch-theme-muted,#64748b)!important;font-size:11px!important;line-height:1.4!important;font-weight:600!important}
.ch-suggestion-embed--compact[open] .ch-suggestion-compact-summary{border-bottom:1px solid var(--ch-theme-border,#dbe3ec)!important}
.ch-suggestion-compact-body{padding:14px!important}
.ch-suggestion-embed--compact .ch-suggestion-form{gap:11px!important}
.ch-suggestion-embed--compact .ch-suggestion-form label>span{font-size:11px!important}
.ch-suggestion-embed--compact .ch-suggestion-form textarea{min-height:120px!important}
.ch-suggestion-embed--compact .ch-suggestion-form textarea[name="suggestion_expected"]{min-height:82px!important}
.ch-suggestion-login-required{padding:12px 14px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:14px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-muted,#64748b)!important}
.ch-suggestion-login-required p{margin:0!important}
html[data-ch-theme-mode="dark"] .ch-suggestion-embed--compact,body.ch-theme-mode-dark .ch-suggestion-embed--compact{box-shadow:0 12px 30px rgba(0,0,0,.22)!important}
@media(max-width:782px){.ch-suggestion-embed--full{margin:8px!important}.ch-suggestion-compact-body{padding:12px!important}.ch-suggestion-embed--compact>summary{padding:12px!important}}

/* v0.3.85 — CommunityHub Games: Prize Drop presentation */
.ch-game{--ch-game-surface:var(--ch-theme-surface,#fff);--ch-game-text:var(--ch-theme-text,#0f172a);--ch-game-muted:var(--ch-theme-muted,#64748b);--ch-game-border:var(--ch-theme-border,#dbe3ec);--ch-game-primary:var(--ch-theme-primary,#2563eb);position:relative;box-sizing:border-box;color:var(--ch-game-text)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--ch-game-surface) 96%,var(--ch-game-primary) 4%),var(--ch-game-surface))!important;border:1px solid var(--ch-game-border)!important;border-radius:22px!important;box-shadow:0 18px 46px rgba(15,23,42,.09)!important;overflow:hidden!important}
.ch-game *{box-sizing:border-box}.ch-game-header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;padding:22px 22px 12px!important}.ch-game-header h2{margin:2px 0 7px!important;color:var(--ch-game-text)!important;font-size:clamp(24px,4vw,34px)!important;line-height:1.05!important;letter-spacing:-.035em!important}.ch-game-header p{max-width:640px!important;margin:0!important;color:var(--ch-game-muted)!important;font-size:13px!important;line-height:1.55!important}.ch-game-kicker{display:block!important;color:var(--ch-game-primary)!important;font-size:10px!important;font-weight:950!important;letter-spacing:.13em!important;text-transform:uppercase!important}.ch-game-balance{flex:0 0 auto!important;min-width:130px!important;padding:10px 12px!important;border:1px solid color-mix(in srgb,var(--ch-game-border) 85%,transparent)!important;border-radius:14px!important;background:color-mix(in srgb,var(--ch-game-surface) 92%,var(--ch-game-primary) 8%)!important;text-align:right!important}.ch-game-balance span{display:block!important;color:var(--ch-game-muted)!important;font-size:9px!important;font-weight:850!important;text-transform:uppercase!important;letter-spacing:.09em!important}.ch-game-balance strong{display:block!important;margin-top:2px!important;color:var(--ch-game-text)!important;font-size:14px!important;line-height:1.2!important}
.ch-prize-drop-board{position:relative!important;height:430px!important;margin:8px 22px 0!important;border:1px solid color-mix(in srgb,var(--ch-game-border) 85%,transparent)!important;border-radius:20px 20px 13px 13px!important;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,var(--ch-game-primary) 13%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in srgb,var(--ch-game-surface) 90%,#000 10%),color-mix(in srgb,var(--ch-game-surface) 97%,#000 3%))!important;overflow:hidden!important}.ch-prize-drop-pegs{position:absolute!important;inset:44px 8% 82px!important;display:flex!important;flex-direction:column!important;justify-content:space-around!important}.ch-prize-drop-peg-row{display:flex!important;align-items:center!important;justify-content:space-evenly!important;padding-inline:calc((6 - attr(data-row number)) * 2%)!important}.ch-prize-drop-peg-row span{display:block!important;width:10px!important;height:10px!important;border-radius:50%!important;background:color-mix(in srgb,var(--ch-game-text) 72%,var(--ch-game-surface) 28%)!important;box-shadow:0 2px 7px rgba(0,0,0,.18)!important}.ch-prize-drop-ball{position:absolute!important;z-index:4!important;left:50%;top:5%;width:24px!important;height:24px!important;border-radius:50%!important;transform:translate(-50%,-50%)!important;background:radial-gradient(circle at 32% 28%,#fff9d8 0 12%,#e9c85e 30%,#9f7718 100%)!important;border:2px solid rgba(255,255,255,.72)!important;box-shadow:0 5px 18px rgba(0,0,0,.3),0 0 0 4px rgba(233,200,94,.12)!important;transition:left .18s cubic-bezier(.2,.8,.2,1),top .18s cubic-bezier(.2,.8,.2,1)!important}.ch-prize-drop-ball.is-resetting{transition:none!important}.ch-prize-drop-slots{position:absolute!important;z-index:3!important;left:0!important;right:0!important;bottom:0!important;height:76px!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;padding:0 5px 5px!important}.ch-prize-drop-slot{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-width:0!important;border:1px solid color-mix(in srgb,var(--ch-game-border) 80%,transparent)!important;border-radius:9px!important;background:color-mix(in srgb,var(--ch-game-surface) 92%,var(--ch-game-primary) 8%)!important;color:var(--ch-game-text)!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important}.ch-prize-drop-slot span{font-size:15px!important;font-weight:950!important;line-height:1!important}.ch-prize-drop-slot small{margin-top:4px!important;color:var(--ch-game-muted)!important;font-size:8px!important;font-weight:750!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}.ch-prize-drop-slot.is-hit{transform:translateY(-5px)!important;background:color-mix(in srgb,#e9c85e 25%,var(--ch-game-surface) 75%)!important;box-shadow:0 0 0 2px #e9c85e inset,0 10px 24px rgba(233,200,94,.28)!important}.ch-game-controls{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:16px 22px 10px!important}.ch-game-play-meta{display:flex!important;flex-wrap:wrap!important;gap:6px 14px!important;color:var(--ch-game-muted)!important;font-size:11px!important;font-weight:700!important}.ch-game-play-meta strong{color:var(--ch-game-text)!important}.ch-game-play-button{flex:0 0 auto!important;min-width:132px!important;min-height:46px!important;padding:10px 18px!important;border:0!important;border-radius:14px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--ch-game-primary) 84%,#fff 16%),var(--ch-game-primary))!important;color:#fff!important;font:inherit!important;font-weight:950!important;letter-spacing:.01em!important;box-shadow:0 10px 24px color-mix(in srgb,var(--ch-game-primary) 30%,transparent)!important;cursor:pointer!important;transition:transform .15s ease,opacity .15s ease!important}.ch-game-play-button:hover{transform:translateY(-1px)!important}.ch-game-play-button:active{transform:translateY(1px) scale(.99)!important}.ch-game-play-button:disabled{cursor:not-allowed!important;opacity:.48!important;transform:none!important}.ch-game-result{min-height:42px!important;margin:0 22px 20px!important;padding:10px 12px!important;border-radius:12px!important;background:color-mix(in srgb,var(--ch-game-surface) 92%,var(--ch-game-border) 8%)!important;color:var(--ch-game-muted)!important;font-size:12px!important;font-weight:800!important;text-align:center!important}.ch-game-result.is-win{background:color-mix(in srgb,#16a34a 12%,var(--ch-game-surface) 88%)!important;color:color-mix(in srgb,#16a34a 82%,var(--ch-game-text) 18%)!important}.ch-game-result.is-loss{color:var(--ch-game-muted)!important}.ch-game-result.is-error{background:color-mix(in srgb,#dc2626 10%,var(--ch-game-surface) 90%)!important;color:color-mix(in srgb,#dc2626 78%,var(--ch-game-text) 22%)!important}.ch-game-notice{padding:13px 14px!important;border:1px solid var(--ch-theme-border,#dbe3ec)!important;border-radius:14px!important;background:var(--ch-theme-surface,#fff)!important;color:var(--ch-theme-muted,#64748b)!important;font-size:12px!important;font-weight:700!important}
.ch-prize-drop--compact{border-radius:16px!important}.ch-prize-drop--compact .ch-game-header{display:grid!important;padding:14px 14px 8px!important}.ch-prize-drop--compact .ch-game-header h2{font-size:19px!important}.ch-prize-drop--compact .ch-game-header p{font-size:11px!important}.ch-prize-drop--compact .ch-game-balance{width:100%!important;min-width:0!important;text-align:left!important}.ch-prize-drop--compact .ch-prize-drop-board{height:280px!important;margin:6px 12px 0!important;border-radius:14px 14px 10px 10px!important}.ch-prize-drop--compact .ch-prize-drop-pegs{inset:34px 4% 64px!important}.ch-prize-drop--compact .ch-prize-drop-peg-row span{width:7px!important;height:7px!important}.ch-prize-drop--compact .ch-prize-drop-ball{width:18px!important;height:18px!important}.ch-prize-drop--compact .ch-prize-drop-slots{height:60px!important;gap:2px!important;padding:0 3px 3px!important}.ch-prize-drop--compact .ch-prize-drop-slot{border-radius:7px!important}.ch-prize-drop--compact .ch-prize-drop-slot span{font-size:11px!important}.ch-prize-drop--compact .ch-prize-drop-slot small{display:none!important}.ch-prize-drop--compact .ch-game-controls{display:grid!important;padding:12px!important}.ch-prize-drop--compact .ch-game-play-button{width:100%!important}.ch-prize-drop--compact .ch-game-result{margin:0 12px 12px!important}
html[data-ch-theme-mode="dark"] .ch-game,body.ch-theme-mode-dark .ch-game{box-shadow:0 20px 48px rgba(0,0,0,.28)!important}
@media(max-width:782px){.ch-game{border-radius:18px!important}.ch-game-header{display:grid!important;padding:16px 14px 8px!important}.ch-game-balance{width:100%!important;text-align:left!important}.ch-prize-drop-board{height:350px!important;margin:7px 10px 0!important;border-radius:16px 16px 10px 10px!important}.ch-prize-drop-pegs{inset:40px 4% 70px!important}.ch-prize-drop-peg-row span{width:8px!important;height:8px!important}.ch-prize-drop-ball{width:21px!important;height:21px!important}.ch-prize-drop-slots{height:68px!important;gap:2px!important;padding:0 3px 3px!important}.ch-prize-drop-slot span{font-size:12px!important}.ch-prize-drop-slot small{font-size:7px!important}.ch-game-controls{display:grid!important;padding:14px 12px 9px!important}.ch-game-play-button{width:100%!important}.ch-game-result{margin:0 12px 14px!important}}
@media(prefers-reduced-motion:reduce){.ch-prize-drop-ball,.ch-prize-drop-slot,.ch-game-play-button{transition:none!important}}


/* =========================================================
   v0.3.94 — Better Messages touch reaction compatibility

   Better Messages owns reaction state and Floating UI geometry.
   CommunityHub only supplies two narrow compatibility guards:
   1) on coarse touch input, reveal the native trigger only for the
      message the member has just touched (JS adds the temporary class);
   2) keep BM's body-portaled fixed picker above CommunityHub's own
      full-screen Messages shell without changing its coordinates/sizing.
   ========================================================= */
@media (hover: none) and (pointer: coarse) {
  body.ch-theme .bp-messages-wrap .bm-message-content.ch-bm-touch-reaction-ready
  .bm-reactions-trigger:not(.bm-hidden) {
    opacity: 1 !important;
  }
}

body.ch-theme .bm-reactions-selector.bm-reactions-expanded {
  z-index: 2147483601 !important;
}

/* =========================================================
   v0.3.87 — stable bottom Nav spacing
   JS owns equal center geometry. Keep desktop buttons compact and ensure
   mobile icon-only buttons cannot regain flex-grow from older rules.
   ========================================================= */
@media (min-width:783px) {
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav > .ch-theme-nav-pill {
    flex-grow:0 !important;
  }
}
@media (max-width:782px) {
  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action .ch-theme-community-nav > .ch-theme-nav-pill {
    flex-grow:0 !important;
  }
}


/* =========================================================
   v0.3.88 — desktop Nav text breathing room + mobile POST anchor
   Desktop buttons receive a little more internal horizontal room without
   returning to the stretched layout. Mobile icon-only POST position is
   anchored by JS to the real center spacer after every layout pass.
   ========================================================= */
@media (min-width:783px) {
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-menu-list--community > li > a,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action .ch-theme-community-nav > .ch-theme-nav-pill {
    padding-left:12px !important;
    padding-right:12px !important;
  }
}


/* =========================================================
   v0.3.89 — deterministic mobile icon-only POST geometry
   Mobile icon-only no longer uses post-load JS width/margin measurements.
   Seven stable equal columns keep POST in the true center and reserve any
   missing logged-out item at the OUTER edge, never beside POST.
   ========================================================= */
@media (max-width:782px) {
  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] {
    display:grid !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    align-items:center !important;
    justify-items:stretch !important;
    gap:0 !important;
    width:100% !important;
    padding-inline:0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] > .ch-theme-nav-pill,
  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] > .ch-theme-nav-center-spacer,
  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] > .ch-theme-nav-balance-placeholder {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    flex:none !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] > .ch-theme-nav-pill {
    justify-self:stretch !important;
    padding-inline:0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-nav[data-ch-balanced-nav="1"] > .ch-theme-nav-center-spacer {
    min-height:1px !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.ch-theme-community-bar--mobile-icon-only.has-center-action
  .ch-theme-community-center-action {
    left:50% !important;
  }
}
\n\n/* =========================================================
   v0.3.90 — deterministic desktop bottom Nav parity
   Desktop no longer depends on post-load JS width measurement. Equal fixed
   slots are rendered on both sides of POST; an odd/role-filtered item count
   reserves its missing slot only at the far outer edge. This preserves the
   approved compact desktop padding while eliminating between-page movement.
   ========================================================= */
@media (min-width:783px) {
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-community-nav,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-menu-list--community {
    display:flex !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:6px !important;
    width:100% !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-community-nav > .ch-theme-nav-pill,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-menu-list--community > li:not(.ch-theme-nav-center-spacer-item):not(.ch-theme-nav-balance-placeholder) {
    flex:0 0 94px !important;
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    margin:0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-nav-center-spacer,
  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-nav-center-spacer-item {
    flex:0 0 82px !important;
    width:82px !important;
    min-width:82px !important;
    max-width:82px !important;
    margin:0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-nav-balance-placeholder {
    display:block !important;
    visibility:hidden !important;
    pointer-events:none !important;
    flex:0 0 94px !important;
    width:94px !important;
    min-width:94px !important;
    max-width:94px !important;
    margin:0 !important;
  }

  body.ch-theme .ch-theme-community-bar--bottom.has-center-action
  .ch-theme-community-center-action {
    left:50% !important;
  }
}


/* =========================================================
   v0.3.99 — Better Messages palette sync + social header polish
   ========================================================= */
body.ch-theme :is(.bp-messages-wrap,.bp-messages-wrap-main,.bp-better-messages-list,.bp-better-messages-mini){font-family:inherit}
html[data-ch-theme-mode="light"] body.ch-theme :is(.bp-messages-wrap,.bp-messages-wrap-main,.bp-better-messages-list,.bp-better-messages-mini){color:rgb(var(--bm-text-color))!important}
html[data-ch-theme-mode="dark"] body.ch-theme :is(.bp-messages-wrap,.bp-messages-wrap-main,.bp-better-messages-list,.bp-better-messages-mini){color:rgb(var(--bm-text-color-dark))!important}
body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header.ch-page-hero){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;align-self:stretch!important;margin-left:0!important;margin-right:0!important;padding:16px 18px!important;border-radius:18px!important;border:1px solid var(--ch-theme-border)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--ch-theme-surface) 96%,var(--ch-theme-blue)),var(--ch-theme-surface))!important;color:var(--ch-theme-text)!important;box-shadow:var(--ch-theme-soft-shadow)!important;overflow:hidden!important}
html[data-ch-theme-mode="dark"] body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header.ch-page-hero){background:linear-gradient(135deg,color-mix(in srgb,var(--ch-theme-surface) 94%,var(--ch-theme-blue)),var(--ch-theme-surface))!important;border-color:var(--ch-theme-border)!important;color:var(--ch-theme-text)!important}
body.ch-theme .ch-member-directory{width:100%!important;max-width:none!important;min-width:0!important;margin-inline:0!important}
body.ch-theme .ch-member-directory-hero h1,body.ch-theme .ch-member-directory-hero p,body.ch-theme .ch-member-directory-kicker,body.ch-theme .ch-member-directory-count strong,body.ch-theme .ch-member-directory-count span{color:var(--ch-theme-text)!important}
body.ch-theme .ch-member-directory-kicker{background:color-mix(in srgb,var(--ch-theme-blue) 12%,transparent)!important}
body.ch-theme .ch-member-directory-count{background:var(--ch-theme-surface-soft)!important;border:1px solid var(--ch-theme-border)!important;color:var(--ch-theme-text)!important;box-shadow:none!important}
body.ch-theme :is(.ch-community-feed-header .ch-hub-page-nav,.ch-member-directory-hero .ch-hub-page-nav,.ch-notifications-header .ch-page-actions,.ch-bookmarks-header .ch-bookmarks-nav-in-header){background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0!important}
body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header) :is(.ch-hub-nav-button,.ch-hub-nav-link,.ch-button,button){min-height:36px!important;padding:8px 12px!important;border-radius:11px!important;border:1px solid var(--ch-theme-border)!important;background:var(--ch-theme-surface-soft)!important;color:var(--ch-theme-text)!important;box-shadow:none!important;font-weight:800!important}
body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header) :is(.ch-hub-nav-button,.ch-hub-nav-link,.ch-button,button):hover,body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header) :is(.ch-hub-nav-button,.ch-hub-nav-link,.ch-button,button):focus{border-color:color-mix(in srgb,var(--ch-theme-blue) 55%,var(--ch-theme-border))!important;background:color-mix(in srgb,var(--ch-theme-blue) 9%,var(--ch-theme-surface-soft))!important;color:var(--ch-theme-text)!important;transform:none!important;box-shadow:none!important;outline:2px solid color-mix(in srgb,var(--ch-theme-blue) 24%,transparent)!important;outline-offset:1px!important}
body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header) :is(.ch-hub-nav-button,.ch-hub-nav-link).is-active{background:var(--ch-theme-blue)!important;border-color:var(--ch-theme-blue)!important;color:#fff!important}
body.ch-hide-timeline-header-community .ch-community-feed-header{display:none!important}
body.ch-hide-timeline-header-members .ch-member-directory-hero{display:none!important}
body.ch-hide-timeline-header-notifications .ch-notifications-header{display:none!important}
body.ch-hide-timeline-header-saved .ch-bookmarks-header.ch-page-hero{display:none!important}
@media(max-width:781px){body.ch-theme :is(.ch-community-feed-header,.ch-member-directory-hero,.ch-notifications-header,.ch-bookmarks-header.ch-page-hero){padding:13px 14px!important;border-radius:16px!important}body.ch-theme .ch-member-directory-hero{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}body.ch-theme .ch-member-directory-side{width:100%!important;min-width:0!important}body.ch-theme .ch-member-directory-count{min-width:0!important;width:100%!important;box-sizing:border-box!important;padding:10px 12px!important}}


/* v0.4.00 — Optional social-page nav buttons. Header visibility remains independent. */
body.ch-hide-social-timeline-nav .ch-community-feed-header .ch-community-feed-nav,
body.ch-hide-social-timeline-nav .ch-member-directory-hero .ch-member-directory-nav,
body.ch-hide-social-timeline-nav .ch-notifications-header .ch-notifications-nav,
body.ch-hide-social-timeline-nav .ch-bookmarks-header .ch-bookmarks-nav-in-header {
  display: none !important;
}

/* CommunityHub v0.4.02 — PMPro login widget readability in both theme modes. */
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]) :is(label,p,span,strong,small,legend,.pmpro_form_label),
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]){
  color:var(--ch-theme-text)!important;
}
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]) :is(input[type="text"],input[type="email"],input[type="password"],input[type="url"],select,textarea){
  background:var(--ch-theme-surface)!important;
  color:var(--ch-theme-text)!important;
  border-color:var(--ch-theme-border)!important;
  caret-color:var(--ch-theme-text)!important;
}
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]) :is(input,textarea)::placeholder{
  color:var(--ch-theme-muted)!important;
  opacity:1!important;
}
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]) a{
  color:var(--ch-theme-blue)!important;
}
body.ch-theme :is(.widget_pmpro_login,.pmpro_login_wrap,.pmpro_login,[class*="pmpro"][class*="login"]) :is(input[type="submit"],button,.pmpro_btn){
  background:var(--ch-theme-blue)!important;
  color:#fff!important;
  border-color:var(--ch-theme-blue)!important;
}

/* CommunityHub-owned Better Messages profile route. */
body.ch-theme .ch-profile-messages-route,
body.ch-theme .ch-profile-messages-shell{width:100%;max-width:none;box-sizing:border-box}
body.ch-theme .ch-profile-messages-shell>.bp-messages-wrap,
body.ch-theme .ch-profile-messages-shell>.bp-messages-wrap-main{width:100%;max-width:none}
