/*
Theme Name: ForumPress
Theme URI: https://example.com/forumpress/
Author: ForumPress
Author URI: https://example.com/
Description: A classic full-width forum theme for WordPress with large, readable type and no sidebars. Works standalone (posts are topics, comments are replies) and gives full visual integration with bbPress via bundled template overrides.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: forumpress
Tags: forum, community, one-column, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles
*/

/* ============================================================
   ForumPress — classic forum skin
   Full width · no sidebar · large type
   ============================================================ */

:root {
	--fp-accent: #2f6fb4;
	--fp-accent-dark: #245a96;
	--fp-accent-soft: #e7eff7;
	--fp-navy: #22374d;
	--fp-navy-dark: #182838;
	--fp-ink: #1c2733;
	--fp-muted: #5a6b7d;
	--fp-line: #c9d4df;
	--fp-line-soft: #e2e9f0;
	--fp-bg: #e9eef3;
	--fp-panel: #ffffff;
	--fp-row: #f6f9fb;
	--fp-head-row: #eef3f8;
	--fp-new: #2e9e4f;
	--fp-closed: #8a94a0;
	--fp-radius: 6px;
	--fp-shadow: 0 1px 2px rgba(23, 43, 66, 0.07);
}

/* ---------- Base ---------- */

html {
	font-size: 16px;
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--fp-bg);
	color: var(--fp-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 1.0625rem;
	line-height: 1.6;
	word-wrap: break-word;
}

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

a {
	color: var(--fp-accent);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--fp-accent-dark);
	text-decoration: underline;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 0.4em;
	line-height: 1.3;
	color: var(--fp-ink);
}

p {
	margin: 0 0 1em;
}

ul, ol {
	margin: 0 0 1em;
	padding-left: 1.4em;
}

input,
textarea,
select,
button {
	font: inherit;
	color: inherit;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	border: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--fp-navy-dark);
	color: #fff !important;
	padding: 10px 18px;
}

.skip-link:focus {
	left: 8px;
	top: 8px;
}

.fp-wrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 16px;
}

.fp-site-main {
	padding: 18px 0 26px;
	min-height: 55vh;
}

/* ---------- Masthead ---------- */

.fp-mast {
	background: linear-gradient(180deg, var(--fp-navy) 0%, var(--fp-navy-dark) 100%);
	color: #fff;
}

.fp-mast-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding-top: 16px;
	padding-bottom: 16px;
	flex-wrap: wrap;
}

.fp-brand {
	min-width: 0;
}

.fp-brand .custom-logo-link img {
	max-height: 54px;
	width: auto;
}

.fp-brand-name {
	font-size: 1.65rem;
	font-weight: 800;
	color: #fff !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	display: inline-block;
}

.fp-brand-tagline {
	display: block;
	font-size: 0.88rem;
	color: #a9bcd0;
	margin-top: 2px;
}

.fp-mast-right {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.fp-mast-search {
	display: flex;
}

.fp-mast-search input[type="search"] {
	width: 210px;
	padding: 8px 12px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 4px 0 0 4px;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	font-size: 0.95rem;
}

.fp-mast-search input[type="search"]::placeholder {
	color: #b8c7d8;
}

.fp-mast-search input[type="search"]:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.2);
	border-color: rgba(255, 255, 255, 0.45);
}

.fp-mast-search button {
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-left: 0;
	background: var(--fp-accent);
	color: #fff;
	padding: 0 14px;
	border-radius: 0 4px 4px 0;
	cursor: pointer;
}

.fp-mast-search button:hover {
	background: var(--fp-accent-dark);
}

.fp-mast-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fp-user-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #fff !important;
	font-weight: 600;
	font-size: 0.95rem;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.18);
	padding: 6px 12px;
	border-radius: 4px;
	text-decoration: none !important;
}

.fp-user-chip:hover {
	background: rgba(255, 255, 255, 0.18);
}

.fp-user-chip img {
	border-radius: 4px;
}

/* Buttons */

.fp-btn {
	display: inline-block;
	font-size: 0.95rem;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: 4px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none !important;
	line-height: 1.4;
}

.fp-btn-primary {
	background: var(--fp-accent);
	color: #fff !important;
}

.fp-btn-primary:hover {
	background: var(--fp-accent-dark);
	color: #fff !important;
}

.fp-btn-ghost {
	background: transparent;
	color: #dfe9f2 !important;
	border-color: rgba(255, 255, 255, 0.35);
}

.fp-btn-ghost:hover {
	border-color: rgba(255, 255, 255, 0.6);
	color: #fff !important;
}

.fp-btn-sm {
	padding: 6px 12px;
	font-size: 0.88rem;
}

/* ---------- Nav bar ---------- */

.fp-navbar {
	background: var(--fp-accent);
	box-shadow: 0 1px 3px rgba(15, 35, 60, 0.25);
}

.fp-navbar .fp-wrap {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	min-height: 46px;
	flex-wrap: wrap;
}

.fp-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.fp-menu > li {
	position: relative;
}

.fp-menu > li > a {
	display: block;
	padding: 13px 16px;
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none !important;
}

.fp-menu > li > a:hover,
.fp-menu > li.current-menu-item > a,
.fp-menu > li.current-cat > a {
	background: rgba(0, 0, 0, 0.18);
}

.fp-menu .sub-menu {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 40;
	list-style: none;
	margin: 0;
	padding: 6px 0;
	min-width: 200px;
	background: #fff;
	border: 1px solid var(--fp-line);
	border-radius: 0 0 5px 5px;
	box-shadow: 0 8px 18px rgba(20, 40, 70, 0.18);
	display: none;
}

.fp-menu > li:hover .sub-menu,
.fp-menu > li:focus-within .sub-menu {
	display: block;
}

.fp-menu .sub-menu a {
	display: block;
	padding: 8px 16px;
	color: var(--fp-ink);
	font-size: 0.95rem;
}

.fp-menu .sub-menu a:hover {
	background: var(--fp-row);
}

.fp-nav-stats {
	font-size: 0.86rem;
	color: rgba(255, 255, 255, 0.85);
	padding: 4px 0;
}

.fp-nav-stats b {
	color: #fff;
}

/* ---------- Breadcrumbs ---------- */

.fp-crumbs,
.fp-bbpress #wpadminbar ~ main .bbp-breadcrumb {
	font-size: 0.9rem;
}

.fp-crumbs {
	margin: 0 0 14px;
	color: var(--fp-muted);
	background: #fff;
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	padding: 9px 14px;
	box-shadow: var(--fp-shadow);
}

.fp-crumbs a {
	color: var(--fp-muted);
}

.fp-crumbs a:hover {
	color: var(--fp-accent);
}

.fp-crumb-sep {
	margin: 0 7px;
	color: #9fb0c1;
}

/* ---------- Boxes (forum & topic tables) ---------- */

.fp-box {
	background: var(--fp-panel);
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	margin-bottom: 18px;
	overflow: hidden;
}

.fp-catbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: linear-gradient(180deg, var(--fp-accent) 0%, var(--fp-accent-dark) 100%);
	color: #fff;
	padding: 12px 18px;
	flex-wrap: wrap;
}

.fp-catbar h1,
.fp-catbar h2,
.fp-catbar h3 {
	margin: 0;
	font-size: 1.12rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.fp-catbar h1 a,
.fp-catbar h2 a,
.fp-catbar h3 a {
	color: #fff;
	text-decoration: none !important;
}

.fp-catbar .fp-catbar-tools {
	display: flex;
	gap: 8px;
	align-items: center;
}

/* Column header row */

.fp-colhead {
	display: grid;
	gap: 14px;
	padding: 9px 18px 9px 16px;
	background: var(--fp-head-row);
	border-bottom: 1px solid var(--fp-line-soft);
	color: var(--fp-muted);
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.fp-colhead-forum {
	grid-template-columns: 120px minmax(0, 1fr) 96px 96px 220px;
}

.fp-colhead-topic {
	grid-template-columns: 52px minmax(0, 1fr) 86px 86px 200px;
}

.fp-colhead span {
	text-align: center;
}

.fp-colhead .fp-ch-name {
	text-align: left;
}

/* Forum rows (standalone categories + bbPress forums) */

.fp-frow {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 96px 96px 220px;
	gap: 14px;
	align-items: center;
	padding: 15px 16px;
	border-bottom: 1px solid var(--fp-line-soft);
}

.fp-frow:last-child {
	border-bottom: 0;
}

.fp-frow:hover {
	background: #f8fbfd;
}

.fp-rowicon {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #aebcc9;
	color: #fff;
	justify-self: center;
}

.fp-rowicon.is-new {
	background: var(--fp-accent);
}

.fp-rowicon svg {
	width: 22px;
	height: 22px;
}

.fp-frow-name {
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 2px;
	min-width: 0;
}

.fp-frow-name a {
	color: var(--fp-ink);
}

.fp-frow-name a:hover {
	color: var(--fp-accent);
}

.fp-frow-desc {
	font-size: 0.97rem;
	color: var(--fp-muted);
	margin: 0;
}

.fp-frow-desc p {
	margin: 0;
	display: inline;
}

/* Sub-forum chips */

.fp-frow .bbp-forums-list,
.fp-subforums {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.88rem;
}

.fp-frow .bbp-forums-list li {
	display: inline-block;
	margin: 0;
}

.fp-frow .bbp-forums-list a,
.fp-subforums a {
	display: inline-block;
	background: var(--fp-accent-soft);
	color: var(--fp-accent-dark) !important;
	border-radius: 3px;
	padding: 3px 9px;
	font-weight: 600;
}

.fp-frow .bbp-forums-list a:hover,
.fp-subforums a:hover {
	background: var(--fp-accent);
	color: #fff !important;
	text-decoration: none;
}

.fp-frow .bbp-forums-list .bbp-topic-count,
.fp-frow .bbp-forums-list li > span {
	color: var(--fp-muted);
	font-size: 0.8rem;
	margin-left: 4px;
}

/* Count cells */

.fp-num {
	text-align: center;
	min-width: 0;
}

.fp-num b {
	display: block;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fp-ink);
	line-height: 1.25;
}

.fp-num span {
	display: block;
	font-size: 0.74rem;
	color: var(--fp-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Last post cell */

.fp-last {
	font-size: 0.9rem;
	color: var(--fp-muted);
	min-width: 0;
	line-height: 1.45;
}

.fp-last b,
.fp-last > a:first-child {
	display: block;
	font-weight: 600;
	color: var(--fp-ink);
	font-size: 0.95rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fp-last a {
	color: var(--fp-accent);
}

.fp-last .fp-last-by {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* ---------- Topic rows ---------- */

.fp-trow {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 86px 86px 200px;
	gap: 14px;
	align-items: center;
	padding: 13px 16px;
	border-bottom: 1px solid var(--fp-line-soft);
}

.fp-trow:last-child {
	border-bottom: 0;
}

.fp-trow:hover {
	background: #f8fbfd;
}

.fp-trow.is-sticky {
	background: #fdfaf0;
}

.fp-trow.is-sticky:hover {
	background: #fbf6e6;
}

.fp-tdot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #b6c2cf;
	justify-self: center;
}

.fp-tdot.is-new {
	background: var(--fp-accent);
	box-shadow: 0 0 0 4px var(--fp-accent-soft);
}

.fp-trow-title {
	font-size: 1.1875rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 2px;
	min-width: 0;
}

.fp-trow-title a {
	color: var(--fp-ink);
}

.fp-trow-title a:hover {
	color: var(--fp-accent);
}

.fp-pin {
	color: var(--fp-closed);
	vertical-align: -2px;
	margin-right: 4px;
}

.fp-pin svg {
	width: 16px;
	height: 16px;
}

.fp-trow-meta {
	font-size: 0.9rem;
	color: var(--fp-muted);
	margin: 0;
}

.fp-trow-meta a {
	color: var(--fp-muted);
	font-weight: 600;
}

.fp-trow-meta a:hover {
	color: var(--fp-accent);
}

.fp-badges {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	vertical-align: middle;
	margin-left: 8px;
}

.fp-badge {
	display: inline-block;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 3px;
	line-height: 1.5;
	background: #e7ebf0;
	color: #46545f;
	white-space: nowrap;
}

.fp-badge-new {
	background: #e2f4e7;
	color: #1d7a3c;
}

.fp-badge-closed {
	background: #eceff2;
	color: #67737f;
}

.fp-badge-author {
	background: var(--fp-accent-soft);
	color: var(--fp-accent-dark);
}

.fp-badge-role {
	background: #efe8fb;
	color: #61418f;
}

.fp-badge-sticky {
	background: #fbf0d8;
	color: #8a6414;
}

a.fp-badge-cat {
	text-decoration: none !important;
}

a.fp-badge-cat:hover {
	filter: brightness(0.96);
}

.fp-trow .bbp-topic-pagination {
	display: inline-flex;
	gap: 3px;
	margin-left: 6px;
	list-style: none;
	padding: 0;
	vertical-align: 1px;
}

.fp-trow .bbp-topic-pagination li {
	margin: 0;
}

.fp-trow .bbp-topic-pagination a {
	font-size: 0.74rem;
	padding: 1px 6px;
	background: #eef2f6;
	border-radius: 3px;
	color: var(--fp-muted) !important;
	font-weight: 700;
}

.fp-trow .bbp-topic-pagination a:hover {
	background: var(--fp-accent);
	color: #fff !important;
}

/* Row admin/subscription actions */

.fp-frow .bbp-row-actions,
.fp-trow .bbp-row-actions,
.fp-topic-sub-link {
	font-size: 0.82rem;
}

.bbp-row-actions a,
.fp-topic-sub-link a {
	background: #eef2f6;
	padding: 2px 8px;
	border-radius: 3px;
	font-weight: 600;
}

/* ---------- Page head ---------- */

.fp-page-head {
	padding: 18px 22px;
	margin-bottom: 18px;
}

.fp-page-head .fp-page-title,
.fp-topic-h1 {
	font-size: 1.75rem;
	font-weight: 800;
	margin: 0 0 4px;
	line-height: 1.3;
}

.fp-page-desc {
	color: var(--fp-muted);
	font-size: 1.02rem;
	margin: 4px 0 0;
	max-width: 900px;
}

.fp-page-desc p {
	margin: 0 0 0.5em;
}

.fp-meta-line {
	margin: 8px 0 0;
	font-size: 0.94rem;
	color: var(--fp-muted);
}

.fp-meta-line a {
	font-weight: 600;
}

/* ---------- Posts & replies (postbits) ---------- */

.fp-post {
	display: grid;
	grid-template-columns: 158px minmax(0, 1fr);
	border-top: 1px solid var(--fp-line-soft);
	background: var(--fp-panel);
}

.fp-box .fp-post:first-of-type,
.fp-box .fp-reply-list > .fp-post:first-child {
	border-top: 0;
}

.fp-post-side {
	background: var(--fp-row);
	border-right: 1px solid var(--fp-line-soft);
	padding: 18px 12px 14px;
	text-align: center;
}

.fp-post-side .avatar {
	border-radius: 6px;
	margin-bottom: 8px;
}

.fp-post-name {
	display: block;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.35;
}

.fp-post-name a,
.fp-post-name > span > a {
	color: var(--fp-ink) !important;
}

.fp-post-name a:hover {
	color: var(--fp-accent) !important;
}

.fp-post-side .fp-badge {
	margin: 6px auto 0;
	display: table;
}

.fp-post-side .fp-post-jobs {
	margin-top: 8px;
	font-size: 0.78rem;
	color: var(--fp-muted);
	line-height: 1.6;
}

.fp-post-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.fp-post-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding: 9px 16px;
	background: #fbfcfe;
	border-bottom: 1px solid var(--fp-line-soft);
	font-size: 0.86rem;
	color: var(--fp-muted);
}

.fp-post-head .fp-post-id {
	font-weight: 700;
	color: var(--fp-accent);
}

.fp-post-content {
	padding: 16px 18px 18px;
	font-size: 1.045rem;
	line-height: 1.75;
	flex: 1;
	min-width: 0;
}

.fp-post-content > :last-child {
	margin-bottom: 0;
}

.fp-post-content img {
	height: auto;
}

.fp-post-content blockquote {
	margin: 0 0 1em;
	padding: 10px 16px;
	border-left: 4px solid var(--fp-accent);
	background: var(--fp-row);
	color: var(--fp-muted);
}

.fp-post-content pre,
.fp-post-content code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.92em;
}

.fp-post-content pre {
	background: #24303e;
	color: #dfe7ee;
	padding: 14px;
	border-radius: 6px;
	overflow: auto;
}

.fp-post-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding: 9px 16px;
	border-top: 1px solid var(--fp-line-soft);
	background: #fafcfd;
	font-size: 0.86rem;
}

.fp-post-actions a {
	color: var(--fp-muted);
	font-weight: 600;
}

.fp-post-actions a:hover {
	color: var(--fp-accent);
}

.fp-post-actions .bbp-author-ip {
	margin-left: auto;
	font-size: 0.78rem;
	color: #9aa7b4;
}

/* Reply list + threading */

.fp-reply-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fp-reply-list ul.children,
.fp-reply-list ul.bbp-threaded-replies {
	list-style: none;
	margin: 0 0 0 44px;
	padding: 0;
	border-left: 3px solid var(--fp-accent-soft);
}

.fp-reply-list li {
	margin: 0;
	padding: 0;
}

.fp-reply-list .fp-post {
	margin: 0;
}

ol.fp-reply-list > li > .fp-post,
.fp-reply-list > div > .fp-post {
	border-bottom: 0;
}

/* Awaiting moderation */

.fp-awaiting {
	padding: 10px 16px;
	background: #fdf6e3;
	color: #7a5d19;
	font-size: 0.92rem;
}

/* ---------- Forms ---------- */

.fp-formbox {
	padding: 20px 22px 22px;
	border-top: 1px solid var(--fp-line-soft);
	background: #fcfdfe;
}

.fp-formbox h2,
.fp-formbox h3 {
	font-size: 1.15rem;
	font-weight: 800;
	margin-bottom: 14px;
}

.fp-formbox .must-log-in {
	margin: 0;
	font-size: 1rem;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
	padding: 10px 12px;
	border: 1px solid var(--fp-line);
	border-radius: 4px;
	background: #fff;
	font-size: 1rem;
	width: 100%;
	max-width: 560px;
}

textarea {
	min-height: 150px;
}

input:focus,
textarea:focus,
select:focus {
	outline: 2px solid var(--fp-accent);
	outline-offset: 0;
	border-color: var(--fp-accent);
}

.comment-form p,
.fp-formbox p {
	margin: 0 0 14px;
}

.comment-form label,
.fp-formbox label {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	margin-bottom: 5px;
	color: var(--fp-muted);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
	max-width: 420px;
}

.comment-form .form-submit {
	margin-top: 16px;
}

input[type="submit"],
button[type="submit"],
.fp-btn-submit {
	background: var(--fp-accent);
	color: #fff;
	border: 0;
	border-radius: 4px;
	padding: 11px 22px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
}

input[type="submit"]:hover,
button[type="submit"]:hover {
	background: var(--fp-accent-dark);
}

.comment-notes,
.logged-in-as,
.comment-form-comment ~ p {
	font-size: 0.92rem;
	color: var(--fp-muted);
}

.required {
	color: #c0392b;
}

.comment-form-cookies-consent {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.94rem;
}

.comment-form-cookies-consent label {
	margin: 0;
	font-weight: 400;
	display: inline;
}

.comment-form-cookies-consent input[type="checkbox"] {
	width: auto;
}

/* ---------- Pagination ---------- */

.fp-pagination,
.navigation,
.pagination,
.bbp-pagination {
	margin: 0 0 18px;
}

.fp-pagination .nav-links,
.navigation .nav-links,
.bbp-pagination-links,
ul.page-numbers {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
	font-size: 0.95rem;
}

.page-numbers,
.bbp-pagination-links a,
.bbp-pagination-links span,
.pagination a,
.pagination span {
	display: inline-block;
	min-width: 38px;
	text-align: center;
	padding: 8px 12px;
	background: #fff;
	border: 1px solid var(--fp-line);
	border-radius: 4px;
	color: var(--fp-ink);
	font-weight: 600;
	text-decoration: none !important;
}

.current.page-numbers,
.page-numbers.current,
.bbp-pagination-links span.current {
	background: var(--fp-accent) !important;
	border-color: var(--fp-accent) !important;
	color: #fff !important;
}

.page-numbers:hover,
.bbp-pagination-links a:hover {
	border-color: var(--fp-accent);
	color: var(--fp-accent) !important;
}

.bbp-topic-pagination {
	display: inline-flex;
	gap: 3px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bbp-topic-pagination li {
	margin: 0;
}

.bbp-topic-pagination a {
	font-size: 0.74rem;
	padding: 1px 6px;
	background: #eef2f6;
	border-radius: 3px;
	color: var(--fp-muted) !important;
	font-weight: 700;
	text-decoration: none;
}

.bbp-topic-pagination a:hover {
	background: var(--fp-accent);
	color: #fff !important;
}

/* ---------- Stats & footer ---------- */

.fp-statsbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 26px;
	padding: 14px 18px;
	font-size: 0.94rem;
	color: var(--fp-muted);
}

.fp-statsbar b {
	color: var(--fp-ink);
}

.fp-statsbar .fp-stats-newuser {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.fp-statsbar img {
	border-radius: 4px;
}

.fp-footer {
	background: var(--fp-navy-dark);
	color: #b9c8d8;
	padding: 20px 0 26px;
	font-size: 0.9rem;
}

.fp-footer-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.fp-footer a {
	color: #d9e5f0;
}

.fp-footer a:hover {
	color: #fff;
}

.fp-footer-menu {
	list-style: none;
	display: flex;
	gap: 16px;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.fp-credit {
	color: #7e93aa;
	font-size: 0.84rem;
}

/* ---------- Empty state ---------- */

.fp-empty {
	padding: 34px 22px;
	text-align: center;
}

.fp-empty-title {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 6px;
}

.fp-empty-text {
	color: var(--fp-muted);
	margin: 0 0 18px;
}

.fp-empty .search-form {
	max-width: 380px;
	margin: 0 auto;
	display: flex;
	gap: 8px;
}

/* ---------- Search page ---------- */

.fp-search-res {
	font-size: 0.97rem;
	color: var(--fp-muted);
	margin: 8px 0 0;
}

.fp-excerpt {
	font-size: 0.94rem;
	color: var(--fp-muted);
	margin: 6px 0 0;
}

/* ---------- Author / profile ---------- */

.fp-profile {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 20px 22px;
}

.fp-profile .avatar {
	border-radius: 8px;
}

.fp-profile h1 {
	font-size: 1.5rem;
	margin: 0 0 2px;
}

.fp-profile-meta {
	color: var(--fp-muted);
	font-size: 0.95rem;
}

/* ============================================================
   bbPress rendered through ForumPress template overrides
   + restyled default parts (forms, notices, user pages)
   ============================================================ */

.fp-bbpress .fp-site-main {
	padding-top: 18px;
}

#bbpress-forums {
	font-size: 1.0625rem;
	line-height: 1.6;
	overflow: visible;
}

#bbpress-forums > div {
	margin-bottom: 18px;
}

#bbpress-forums p,
#bbpress-forums ul,
#bbpress-forums ol {
	margin: 0 0 1em;
}

#bbpress-forums li.bbp-body {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Default bbPress breadcrumbs replaced by theme crumbs look */

#bbpress-forums .bbp-breadcrumb {
	margin: 0 0 14px;
	padding: 9px 14px;
	background: #fff;
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	font-size: 0.9rem;
	color: var(--fp-muted);
	box-shadow: var(--fp-shadow);
}

#bbpress-forums .bbp-breadcrumb ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}

#bbpress-forums .bbp-breadcrumb li {
	margin: 0;
}

#bbpress-forums .bbp-breadcrumb-sep {
	margin: 0 7px;
	color: #9fb0c1;
}

/* Single forum / topic head */

.fp-bbp-page-head {
	padding: 18px 22px;
	background: var(--fp-panel);
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	margin-bottom: 18px;
}

.fp-bbp-page-head .fp-bbp-page-desc {
	color: var(--fp-muted);
	margin: 6px 0 0;
	max-width: 900px;
	font-size: 1.02rem;
}

.fp-bbp-page-head .fp-bbp-page-desc p {
	margin: 0 0 0.5em;
}

/* Topic tags */

#bbpress-forums .bbp-topic-tags {
	font-size: 0.92rem;
	margin: 0 0 18px;
	color: var(--fp-muted);
}

#bbpress-forums .bbp-topic-tags a {
	display: inline-block;
	background: var(--fp-accent-soft);
	color: var(--fp-accent-dark) !important;
	padding: 2px 10px;
	border-radius: 3px;
	margin: 0 4px 4px 0;
	font-weight: 600;
}

/* Notices / feedback */

#bbpress-forums .bbp-template-notice {
	background: #eef7ef;
	border: 1px solid #bfe0c4;
	color: #2c6e35;
	border-radius: var(--fp-radius);
	padding: 12px 16px;
	margin: 0 0 18px;
	font-size: 0.98rem;
	list-style: none;
}

#bbpress-forums .bbp-template-notice p {
	margin: 0;
}

#bbpress-forums .bbp-template-notice li {
	padding: 0;
	font-size: 0.98rem;
}

#bbpress-forums .bbp-error,
#bbpress-forums ul.notice {
	background: #fdeeee;
	border: 1px solid #eabcbc;
	color: #963434;
	padding: 12px 16px;
	border-radius: var(--fp-radius);
	margin: 0 0 18px;
	list-style: none;
}

/* bbPress forms (new topic, reply, login, register) */

#bbpress-forums .bbp-form,
#bbpress-forums form.bbp-toggle-password {
	background: var(--fp-panel);
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	padding: 20px 22px;
	margin: 0 0 18px;
}

#bbpress-forums fieldset.bbp-form {
	border: 0;
	margin: 0;
	padding: 0;
}

#bbpress-forums fieldset.bbp-form legend {
	font-size: 1.15rem;
	font-weight: 800;
	padding: 0 0 12px;
	width: 100%;
}

#bbpress-forums .bbp-form fieldset {
	border: 0;
	padding: 0;
	margin: 0 0 14px;
}

#bbpress-forums fieldset label {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	color: var(--fp-muted);
	margin-bottom: 5px;
}

#bbpress-forums fieldset input[type="text"],
#bbpress-forums fieldset textarea,
#bbpress-forums fieldset select {
	max-width: 640px;
}

#bbpress-forums .bbp-the-content {
	min-height: 190px;
}

#bbpress-forums .bbp-submit-bar {
	margin: 16px 0 0;
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

#bbpress-forums .bbp-submit-bar p {
	margin: 0;
	font-size: 0.88rem;
	color: var(--fp-muted);
}

#bbpress-forums .bbp-TINymce {
	margin-bottom: 14px;
}

/* Editor rows */

#bbpress-forums div.wp-editor-container {
	border: 1px solid var(--fp-line);
	border-radius: 4px;
}

#bbpress-forums .wp-editor-wrap {
	margin-bottom: 10px;
}

/* Row links (edit/quote/etc.) & action buttons */

#bbpress-forums .bbp-admin-links,
#bbpress-forums .bbp-reply-permalink {
	font-size: 0.82rem;
}

#bbpress-forums .bbp-admin-links {
	display: inline-flex;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

#bbpress-forums .bbp-admin-links li {
	margin: 0;
}

#bbpress-forums .bbp-admin-links a {
	color: var(--fp-muted);
	font-weight: 600;
}

#bbpress-forums .bbp-admin-links a:hover {
	color: var(--fp-accent);
}

/* Subscription / favorite standalone buttons above content */

#bbpress-forums .bbp-forums-subscription-toggle,
#bbpress-forums .bbp-topics-subscription-toggle,
#bbpress-forums div.bbp-single-toggle {
	margin: 0 0 14px;
}

#bbpress-forums a.bbp-button,
#bbpress-forums .bbp-button {
	display: inline-block;
	background: #fff;
	border: 1px solid var(--fp-line);
	border-radius: 4px;
	padding: 7px 14px;
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--fp-ink) !important;
	text-decoration: none !important;
}

#bbpress-forums a.bbp-button:hover {
	border-color: var(--fp-accent);
	color: var(--fp-accent) !important;
}

/* User profiles (views, lists) */

#bbpress-forums .bbp-user-wrapper {
	background: var(--fp-panel);
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	padding: 0;
	overflow: hidden;
}

#bbpress-forums .bbp-user-details {
	padding: 18px 22px;
	border-bottom: 1px solid var(--fp-line-soft);
	display: flex;
	gap: 18px;
	align-items: center;
	flex-wrap: wrap;
}

#bbpress-forums .bbp-user-details .avatar {
	border-radius: 6px;
}

#bbpress-forums .bbp-user-name {
	font-size: 1.35rem;
	font-weight: 800;
}

#bbpress-forums .bbp-user-since {
	color: var(--fp-muted);
	font-size: 0.92rem;
}

#bbpress-forums .bbp-tabs-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 10px 14px;
	background: var(--fp-head-row);
	border-bottom: 1px solid var(--fp-line-soft);
	list-style: none;
	margin: 0;
}

#bbpress-forums .bbp-tabs-nav li {
	margin: 0;
}

#bbpress-forums .bbp-tabs-nav a {
	padding: 7px 13px;
	display: block;
	border-radius: 4px;
	font-weight: 700;
	font-size: 0.92rem;
	color: var(--fp-muted) !important;
	text-decoration: none;
}

#bbpress-forums .bbp-tabs-nav .current a,
#bbpress-forums .bbp-tabs-nav a:hover {
	background: var(--fp-accent);
	color: #fff !important;
}

#bbpress-forums .bbp-user-body {
	padding: 16px;
}

#bbpress-forums .bbp-user-forums-topic,
#bbpress-forums li.bbp-user-topics {
	list-style: none;
}

/* Who is online (legacy) */

#bbpress-forums .bbp-body {
	list-style: none;
}

/* Generic fallback: bbPress default list markup that we do NOT override */

#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--fp-panel);
	border: 1px solid var(--fp-line);
	border-radius: var(--fp-radius);
	box-shadow: var(--fp-shadow);
	overflow: hidden;
}

#bbpress-forums .bbp-body > li {
	border-bottom: 1px solid var(--fp-line-soft);
	padding: 14px 16px;
}

#bbpress-forums .bbp-body > li:last-child {
	border-bottom: 0;
}

#bbpress-forums .bbp-body .bbp-topic-permalink,
#bbpress-forums .bbp-body .bbp-forum-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--fp-ink) !important;
}

#bbpress-forums .bbp-body p.bbp-topic-meta {
	margin: 4px 0 0;
	font-size: 0.9rem;
	color: var(--fp-muted);
}

#bbpress-forums .bbp-body .bbp-author-role {
	display: inline-block;
	background: #efe8fb;
	color: #61418f;
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 3px;
}

/* Small helpers */

.fp-mt0 {
	margin-top: 0 !important;
}

.fp-tools-right {
	margin-left: auto;
	display: inline-flex;
	gap: 8px;
	align-items: center;
}

/* ============================================================
   Responsive
   ============================================================ */

@media (max-width: 980px) {

	.fp-colhead {
		display: none;
	}

	.fp-frow,
	.fp-trow {
		grid-template-columns: 44px minmax(0, 1fr);
		row-gap: 8px;
	}

	.fp-frow .fp-num,
	.fp-frow .fp-last,
	.fp-trow .fp-num,
	.fp-trow .fp-last {
		display: inline-flex;
		align-items: baseline;
		gap: 6px;
		text-align: left;
		grid-column: auto;
	}

	.fp-frow .fp-row-foot,
	.fp-trow .fp-row-foot {
		grid-column: 2;
		display: flex;
		gap: 18px;
		flex-wrap: wrap;
		align-items: baseline;
		font-size: 0.9rem;
		color: var(--fp-muted);
	}

	.fp-frow .fp-num b,
	.fp-trow .fp-num b {
		display: inline;
		font-size: 1rem;
	}

	.fp-frow .fp-num span,
	.fp-trow .fp-num span {
		display: inline;
	}

	.fp-last {
		font-size: 0.88rem;
	}

	.fp-last b,
	.fp-last > a:first-child {
		display: inline;
	}

	.fp-post {
		grid-template-columns: 1fr;
	}

	.fp-post-side {
		display: flex;
		align-items: center;
		gap: 12px;
		text-align: left;
		padding: 12px 16px;
		border-right: 0;
		border-bottom: 1px solid var(--fp-line-soft);
	}

	.fp-post-side .avatar {
		margin-bottom: 0;
	}

	.fp-post-side .fp-badge {
		margin: 0;
	}

	.fp-post-side .fp-post-jobs {
		margin: 0 0 0 auto;
		text-align: right;
	}
}

@media (max-width: 640px) {

	.fp-mast-inner {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.fp-brand-name {
		font-size: 1.35rem;
	}

	.fp-mast-search input[type="search"] {
		width: 150px;
	}

	.fp-frow-name {
		font-size: 1.14rem;
	}

	.fp-trow-title {
		font-size: 1.08rem;
	}

	.fp-page-head .fp-page-title,
	.fp-topic-h1 {
		font-size: 1.4rem;
	}
}

/* ---------- Late additions ---------- */

.fp-pagebox {
	padding: 0;
}

.fp-pagebox > article > .fp-page-head {
	border-bottom: 1px solid var(--fp-line-soft);
}

.fp-pagebox .fp-post-content {
	padding: 18px 22px 22px;
}

.fp-bbp-body {
	padding: 4px 0;
}

.fp-bbp-body > div {
	margin: 0;
}

.fp-last-time {
	display: block;
	font-weight: 600;
	color: var(--fp-ink);
	font-size: 0.95rem;
}

.fp-last-time a {
	color: inherit;
}

.fp-page-links {
	display: flex;
	gap: 6px;
	margin: 12px 0;
	font-size: 0.92rem;
}

.fp-pagination-bottom {
	margin: 0 0 18px;
}

.fp-pagination-bottom .bbp-pagination {
	margin: 0;
}

.fp-bbp-page-head .fp-page-title {
	font-size: 1.7rem;
}

.fp-bbp-page-head .fp-badges {
	margin: 6px 0 0;
}

.fp-reply-list > li > .fp-post {
	border-top: 1px solid var(--fp-line-soft);
}

.fp-reply-list > li:first-child > .fp-post,
.fp-post:first-child {
	border-top: 0;
}

.fp-catbar h1,
.fp-catbar h2,
.fp-catbar h3 {
	min-width: 0;
}

#bbpress-forums .fp-frow .bbp-row-actions,
#bbpress-forums .fp-trow .bbp-row-actions {
	display: inline-block;
	margin-bottom: 3px;
}

#bbpress-forums ul.bbp-forums-list {
	padding: 0;
}

#bbpress-forums .bbp-row-actions a {
	background: #eef2f6;
	border-radius: 3px;
	padding: 1px 7px;
	font-weight: 600;
	font-size: 0.8rem;
}

/* Topic list rows on the forum index should keep hover even when bbp classes vary */
#bbpress-forums .fp-frow,
#bbpress-forums .fp-trow {
	background: transparent;
}

@media (max-width: 980px) {
	.fp-frow .fp-row-foot,
	.fp-trow .fp-row-foot {
		display: none;
	}
	.fp-frow .fp-num,
	.fp-frow .fp-last,
	.fp-trow .fp-num,
	.fp-trow .fp-last {
		grid-column: 2;
		justify-content: flex-start;
	}
}

/* Force display of bbPress reply numbers */
#bbpress-forums .fp-post-head .fp-post-id,
#bbpress-forums a.bbp-reply-permalink.fp-post-id {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #2271b1 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}


/* Display the main topic post number */
#bbpress-forums .bbp-topic-header .bbp-topic-permalink {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #2271b1 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Force topic/reply number to be visible */
#bbpress-forums .fp-post-head a.fp-post-id {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    float: none !important;
    color: #2271b1 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    margin-left: 10px !important;
    text-indent: 0 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Make post number visible beside date */
#bbpress-forums .fp-post-head {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

#bbpress-forums .fp-post-head a.fp-post-id {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    color: #2271b1 !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    margin: 0 0 0 10px !important;
    padding: 2px 4px !important;
    text-indent: 0 !important;
    transform: none !important;
    clip: auto !important;
    overflow: visible !important;
}

/* Pixhost images in WordPress posts */
.entry-content img[src*="pixhost.to"],
.entry-content img[src*="pixhost.cc"],
.fp-post-content img[src*="pixhost.to"],
.fp-post-content img[src*="pixhost.cc"] {
    max-width: 100% !important;
    height: auto !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    vertical-align: top;
}


/* Sakrij popis poveznica u podnožju */
.fp-footer .fp-footer-menu {
    display: none !important;
}

/* Forum category thumbnails */
#bbpress-forums .fp-category-thumb {
        width: 120px;
        height: 80px;
        overflow: hidden;
        border-radius: 8px;
        justify-self: center;
        align-self: center;
        background: #181018;
}
#bbpress-forums .fp-category-thumb img {
        display: block;
        width: 120px;
        height: 80px;
        object-fit: cover;
}
@media (max-width: 980px) {
        #bbpress-forums .fp-frow {
                grid-template-columns: 120px minmax(0, 1fr);
        }
        #bbpress-forums .fp-category-thumb {
                grid-column: 1;
                grid-row: 1 / span 4;
                width: 100px;
                height: 67px;
        }
        #bbpress-forums .fp-category-thumb img {
                width: 100%;
                height: 100%;
        }
}
@media (max-width: 480px) {
        #bbpress-forums .fp-frow {
                grid-template-columns: 84px minmax(0, 1fr);
        }
        #bbpress-forums .fp-category-thumb {
                width: 76px;
                height: 56px;
        }
}


/* Homepage category thumbnails */
#bbpress-forums .fp-category-thumb,
.fp-frow .fp-category-thumb {
        width: 120px;
        height: 80px;
        overflow: hidden;
        border-radius: 8px;
        justify-self: center;
        align-self: center;
        background: #181018;
}
#bbpress-forums .fp-category-thumb img,
.fp-frow .fp-category-thumb img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
}
@media (max-width: 980px) {
        .fp-frow {
                grid-template-columns: 100px minmax(0, 1fr);
        }
        .fp-frow .fp-category-thumb {
                grid-column: 1;
                grid-row: 1 / span 4;
                width: 90px;
                height: 64px;
        }
}
@media (max-width: 480px) {
        .fp-frow {
                grid-template-columns: 78px minmax(0, 1fr);
        }
        .fp-frow .fp-category-thumb {
                width: 70px;
                height: 52px;
        }
}

/* Thumbnail images in category topic rows */
.fp-topic-thumb-wrap {
        width: 120px;
        height: 80px;
        overflow: hidden;
        border-radius: 8px;
        background: #181018;
}
.fp-topic-thumb {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
}

/* Category archive topic thumbnails */
.fp-topic-thumb-wrap {
    width: 120px;
    height: 80px;
    margin: 8px 0;
    overflow: hidden;
    border-radius: 8px;
}
.fp-topic-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Category image at the top of category archive pages */
.fp-archive-category-image {
    width: 100%;
    max-width: 360px;
    height: 180px;
    margin: 16px 0;
    overflow: hidden;
    border-radius: 10px;
    background: #181018;
}
.fp-archive-category-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (max-width: 600px) {
    .fp-archive-category-image {
        max-width: 100%;
        height: 150px;
    }
}
