/* Public text only. Never target *, SVG, icon classes or their pseudo-elements.
 * Native admin-bar/editor/icon/monospace font declarations remain independent.
 */
:where(.site-header, .site-main, .site-sidebar, .site-footer, .xnk-community-shell) {
 font-family: var(--xnk-font-family);
 font-weight: var(--xnk-font-medium);
}
:where(h1,h2,h3,h4,h5,h6):not(:where(#wpforo *, #wpadminbar *, .editor-styles-wrapper *)) {
 font-weight: var(--xnk-font-semibold);
 line-height: 1.35;
}
:where(h1):not(:where(#wpforo *, #wpadminbar *, .editor-styles-wrapper *)),
.xnk-inc-heading .xnk-inc-page-title, .xnk-inc-heading h1 {
 font-weight: var(--xnk-font-bold);
 line-height: 1.25;
}
.primary-menu a, .footer-menu a, .xnk-explore a,
.xnk-tabs > :is(a,button), .xnk-inc-tabs a, .xnk-inc-codes a,
.xnk-breadcrumb a { font-weight: var(--xnk-font-medium); }
:where(input,textarea,select,button):not(:where(#wpforo *, #wpadminbar *, .editor-styles-wrapper *, .wp-editor-wrap *, .mce-container *, .dashicons, .fa, .fas, .far, .fab, [class*="icon"])) {
 font-family: var(--xnk-font-family);
}
.xnk-button, .search-form button, .wp-block-search__button {
 font-weight: var(--xnk-font-semibold);
 text-align: center;
}
.xnk-field label, .xnk-job-filter label, .xnk-job-field label,
.xnk-business-filter label, .xnk-inc-filter label, .xnk-search label, .search-form label { font-weight: var(--xnk-font-semibold); }
.xnk-topic-copy h3, .xnk-info-card h2, .xnk-explore-heading,
.xnk-panel-title, .xnk-quick-copy strong { font-weight: var(--xnk-font-semibold); }

/* Explicit wpForo text surfaces, not an all-descendants font reset. */
.xnk-forum-screen #wpforo #wpforo-wrap,
.xnk-accounts #wpforo #wpforo-wrap,
.xnk-discussion #wpforo #wpforo-wrap { font-family: var(--xnk-font-family); }
.xnk-forum-screen #wpforo #wpforo-wrap :is(input,textarea,select,button):not(:where(.dashicons,.fa,.fas,.far,.fab,[class*="icon"],.mce-container *, .wp-editor-wrap *)),
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-bar-right .wpf-alerts-count,
.xnk-forum-screen #wpforo #wpforo-wrap span.wpf-new-button,
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-tags tag,
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-ai-chat-input-container .wpf-ai-chat-input {
 font-family: var(--xnk-font-family);
}
.xnk-forum-screen #wpforo #wpforo-wrap :is(.wpf-button,.wpforo-button,input[type=submit],input[type=button]),
.xnk-accounts #wpforo #wpforo-wrap :is(input[type=submit],input[type=button],button,.xnk-button),
.xnk-accounts #wpforo #wpforo-wrap label,
.xnk-discussion #wpforo #wpforo-wrap .wpf-form-wrapper label {
 font-weight: var(--xnk-font-semibold);
}
.xnk-forum-screen #wpforo #wpforo-wrap :is(h2,h3,h4,.cat-title),
.xnk-forum-screen #wpforo #wpforo-wrap .wpfl-4 .wpf-thread-head a {
 font-weight: var(--xnk-font-semibold);
}
.xnk-forum-screen #wpforo #wpforo-wrap h1,
.xnk-forum-screen #wpforo #wpforo-wrap h1#wpforo-title,
.xnk-discussion-topic #wpforo #wpforo-wrap h1#wpforo-title,
.xnk-accounts #wpforo #wpforo-wrap .xnk-profile-heading,
.xnk-accounts #wpforo #wpforo-wrap .xnk-members-heading h1 {
 font-weight: var(--xnk-font-bold);
 line-height: 1.25;
}
.xnk-discussion #wpforo #wpforo-wrap .wpforo-post-content {
 font-weight: var(--xnk-font-medium);
 line-height: 1.5;
}

/* wpForo's reset makes code inherit; retain a real monospace face. */
.xnk-forum-screen #wpforo #wpforo-wrap :is(pre,code,kbd,samp,tt) {
 font-family: monospace;
 font-weight: var(--xnk-font-regular);
}

/* Increase real text weight without changing font size, leading or spacing. */
.xnk-search input,
.xnk-accounts #wpforo #wpforo-wrap :is(input[type=text],input[type=email],input[type=password],input[type=search],select,textarea),
.xnk-discussion #wpforo #wpforo-wrap .wpf-form-wrapper :is(input[type=text],textarea,select),
.xnk-discussion #wpforo #wpforo-wrap .wpf-topic-form-forumid,
.xnk-inc-stages strong { font-weight:var(--xnk-font-medium); }
:where(.site-main,.site-sidebar,.site-footer) :is(pre,code,kbd,samp,tt):not(:where(#wpforo *,#wpadminbar *)) { font-weight:var(--xnk-font-regular); }
.xnk-forum-screen #wpforo #wpforo-wrap #wpforo-menu a { font-weight:var(--xnk-font-medium); }
.primary-menu :is(.current-menu-item,.current-menu-ancestor,.current_page_item)>a,
.footer-menu :is(.current-menu-item,.current_page_item)>a,
.xnk-explore a[aria-current], .xnk-tabs>[aria-current], .xnk-tabs>[aria-selected=true],
.xnk-inc-tabs a[aria-current], .xnk-inc-codes a[aria-current],
.xnk-breadcrumb [aria-current], .xnk-inc-handover a[aria-current],
.xnk-forum-screen #wpforo #wpforo-wrap #wpforo-menu :is(.current-menu-item,.current_page_item)>a { font-weight:var(--xnk-font-semibold); }

/* Only very secondary notes stay Regular; their color uses the clearer token. */
.xnk-topic-meta, .xnk-topic-stat>span, .xnk-job-dates,
.xnk-field-hint, .xnk-inc-diagram-note { font-weight:var(--xnk-font-regular); }
:where(.site-header,.site-main,.site-sidebar) :is(input,textarea)::placeholder {
 color:var(--xnk-muted);
 opacity:1;
}
.xnk-forum-screen #wpforo #wpforo-wrap :is(input,textarea)::placeholder {
 color:var(--xnk-muted);
 opacity:1;
}

/* Native profile navigation faded its whole text container to 80%. */
.xnk-accounts #wpforo #wpforo-wrap .wpforo-profile .wpforo-profile-head .wpforo-profile-back { opacity:1; }

/* wpForo 2026 explicitly resets these text spans and field colors. */
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-button>span:not(:where(.fa,.fas,.far,.fab,.dashicons,[class*="icon"])),
.xnk-forum-screen #wpforo #wpforo-wrap .cat-title .cat-name,
.xnk-forum-screen #wpforo #wpforo-wrap label>span:not(:where(.fa,.fas,.far,.fab,.dashicons,[class*="icon"])),
.xnk-discussion #wpforo #wpforo-wrap .wpforo-post-content span:not(:where(.fa,.fas,.far,.fab,.dashicons,[class*="icon"],pre *,code *,kbd *,samp *)) { font-weight:inherit; }
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-field :is(input[type=text],input[type=email],input[type=password],input[type=search],textarea) { color:var(--xnk-text); }
.xnk-forum-screen #wpforo #wpforo-wrap .wpf-field :is(input,textarea)::placeholder { color:var(--xnk-muted); opacity:1; }

/* Final type sizing: shared tokens, no change to geometry or heading scale. */
.primary-menu a,
.xnk-explore-heading, .xnk-explore a, .xnk-explore .xnk-unavailable,
.xnk-explore .xnk-unavailable small,
.xnk-inc-tabs a, .xnk-inc-codes a,
.xnk-inc-stages>span, .xnk-inc-stages>strong,
.xnk-inc-facts dt { font-weight:var(--xnk-font-semibold); }

.site-footer h2 { font-size:var(--xnk-text-heading-small); }
.xnk-explore-heading, .xnk-explore a, .xnk-explore .xnk-unavailable,
.xnk-welcome p, .xnk-view-all, .xnk-empty p,
.xnk-business-meta, .xnk-job-safety p, .xnk-job-save, .xnk-job-error, .xnk-job-facts dt,
.xnk-job-filter label, .xnk-job-field label, .xnk-business-filter label, .xnk-inc-filter label,
.xnk-tabs>a, .xnk-tabs>button, .xnk-inc-tabs a, .xnk-inc-codes a,
.xnk-inc-diagram figcaption, .xnk-inc-party li, .xnk-inc-toc p,
.xnk-inc-more summary, .xnk-inc-related summary, .xnk-inc-explainer summary, .xnk-inc-summary summary,
.xnk-inc-more p, .xnk-inc-more li, .xnk-inc-facts dt, .xnk-inc-facts dd,
.xnk-inc-table-wrap table, .xnk-inc-card>p, .xnk-inc-cost-note, .xnk-inc-handover a {
 font-size:var(--xnk-text-sm);
}
.xnk-inc-tabs a { font-size:var(--xnk-text-base); }
.xnk-forum-screen #wpforo #wpforo-wrap { font-size:var(--xnk-text-sm); }
.xnk-forum-screen #wpforo #wpforo-wrap :is(.wpf-button,.wpforo-button,input[type=submit],input[type=button]),
.xnk-accounts #wpforo #wpforo-wrap :is(input[type=submit],input[type=button],button,.xnk-button),
.xnk-accounts #wpforo #wpforo-wrap label,
.xnk-discussion #wpforo #wpforo-wrap .wpf-form-wrapper label,
.xnk-discussion #wpforo #wpforo-wrap :is(.wpf-buttons-wrap input,.wpforo-revision-action-button) {
 font-size:var(--xnk-text-sm);
}
.xnk-accounts #wpforo #wpforo-wrap :is(input[type=text],input[type=email],input[type=password],input[type=search],select,textarea),
.xnk-discussion #wpforo #wpforo-wrap .wpf-form-wrapper :is(input[type=text],textarea,select),
.xnk-discussion #wpforo #wpforo-wrap .wpforo-post-content,
.xnk-discussion #wpforo #wpforo-wrap .wpf-topic-form-forumid {
 font-size:var(--xnk-text-base);
}
