/* PublicTech bbPress bridge.
   Covers markup that our template overrides in publictech-terminal/bbpress/
   delegate back to upstream bbPress (forms, breadcrumbs, pagination, notices,
   tables that the loop overrides don't replace). Anything below assumes
   terminal.css + overrides.css are already loaded. */

/* ===== Outer wrapper ===== */
#bbpress-forums.bbpress-wrapper{
	background:transparent;color:var(--ink-0);font-family:"Montserrat",system-ui,sans-serif;
	font-size:13px;line-height:1.5;
}
#bbpress-forums a{color:var(--accent);text-decoration:none;}
#bbpress-forums a:hover{color:var(--ink-0);}

/* ===== Breadcrumb ===== */
#bbpress-forums .bbp-breadcrumb{
	font-family:"JetBrains Mono",ui-monospace,monospace;
	font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-2);
	padding:8px 0;margin-bottom:10px;border-bottom:1px solid var(--line);
}
#bbpress-forums .bbp-breadcrumb a{color:var(--ink-1);}
#bbpress-forums .bbp-breadcrumb .bbp-breadcrumb-sep{color:var(--ink-3);padding:0 6px;}

/* ===== Pagination ===== */
#bbpress-forums .bbp-pagination,
#bbpress-forums .bbp-pagination-count,
#bbpress-forums .bbp-pagination-links{
	display:flex;align-items:center;gap:6px;font-family:"JetBrains Mono",monospace;
	font-size:11px;color:var(--ink-2);margin:14px 0;
}
#bbpress-forums .bbp-pagination-links a,
#bbpress-forums .bbp-pagination-links span.page-numbers{
	background:var(--bg-2);border:1px solid var(--line);color:var(--ink-1);
	min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
	border-radius:3px;padding:0 8px;
}
#bbpress-forums .bbp-pagination-links .current{
	background:var(--accent-soft);color:var(--accent);border-color:rgba(0,160,210,0.35);
}

/* ===== Topic-list table (when our loop overrides aren't in effect) ===== */
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-lead-topic{
	list-style:none;margin:0 0 14px;padding:0;background:transparent;border:0;
}
#bbpress-forums ul.bbp-topics > li.bbp-header,
#bbpress-forums ul.bbp-forums > li.bbp-header{
	background:var(--bg-2);border:1px solid var(--line);border-radius:5px 5px 0 0;
	font:600 10px "Montserrat";letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-2);
	padding:10px 14px;
}
#bbpress-forums ul.bbp-topics > li.bbp-header ul.forum-titles{
	list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 80px 80px 180px;gap:14px;
}
#bbpress-forums ul.bbp-topics > li.bbp-body{display:block;background:transparent;border:0;padding:0;}
#bbpress-forums ul.bbp-topics > li.bbp-footer,
#bbpress-forums ul.bbp-forums  > li.bbp-footer{display:none;}

/* ===== Notices / feedback ===== */
#bbpress-forums .bbp-template-notice,
#bbpress-forums div.bbp-template-notice{
	padding:10px 14px;border:1px solid var(--accent);background:var(--accent-soft);
	color:var(--accent);border-radius:4px;font-size:12px;margin:10px 0;
}
#bbpress-forums .bbp-template-notice.error,
#bbpress-forums .bbp-template-notice.warning{
	border-color:var(--warn);background:rgba(255,180,84,0.08);color:var(--warn);
}

/* ===== Reply panels (our loop-single-reply.php emits .pt-reply) ===== */
.pt-reply{
	display:grid;grid-template-columns:200px 1fr;gap:0;margin:0 0 12px;
	background:var(--bg-1);border:1px solid var(--line);border-radius:5px;overflow:hidden;
}
.pt-reply.pt-reply-lead{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);}
.pt-reply-rail{
	background:var(--bg-2);border-right:1px solid var(--line);
	padding:16px 14px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
}
.pt-reply-rail .av{
	width:52px;height:52px;border-radius:6px;background:linear-gradient(135deg,#2a3a55,#0b1018);
	border:1px solid var(--line-2);display:grid;place-items:center;font-weight:600;font-size:18px;color:var(--ink-0);
}
.pt-reply-rail .who .name{font-size:12px;font-weight:600;color:var(--ink-0);}
.pt-reply-rail .who .name a{color:inherit;}
.pt-reply-rail .who .role{font-family:"JetBrains Mono",monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin-top:2px;}
.pt-reply-rail .pt-reply-ip{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--ink-3);}
.pt-reply-main{padding:14px 16px;display:flex;flex-direction:column;gap:10px;}
.pt-reply-head{
	display:flex;align-items:center;gap:12px;font-family:"JetBrains Mono",monospace;
	font-size:10px;color:var(--ink-2);padding-bottom:8px;border-bottom:1px solid var(--line);
}
.pt-reply-head .when{color:var(--ink-1);}
.pt-reply-head .permalink{color:var(--accent);margin-left:auto;}
.pt-reply-head .actions a{margin-left:6px;}
.pt-reply-body{font-size:13px;color:var(--ink-1);line-height:1.6;}
.pt-reply-body p{margin:0 0 0.9em;}
.pt-reply-body p:last-child{margin-bottom:0;}
.pt-reply-body code,
.pt-reply-body pre{background:var(--bg-0);border:1px solid var(--line);color:var(--ink-0);padding:2px 5px;border-radius:3px;font-family:"JetBrains Mono",monospace;font-size:12px;}
.pt-reply-body pre{padding:12px;overflow-x:auto;}
.pt-reply-body blockquote{border-left:2px solid var(--accent);margin:0 0 0.9em;padding:4px 12px;background:var(--bg-2);color:var(--ink-1);}

/* ===== Search bar (form-search.php emits .search-bar.corner) ===== */
.bbpress-wrapper .search-bar{
	display:flex;align-items:center;gap:8px;
	background:var(--bg-1);border:1px solid var(--line-2);border-radius:5px;
	padding:6px 10px;margin-bottom:14px;
}
.bbpress-wrapper .search-bar .icon{color:var(--ink-2);font-size:16px;flex-shrink:0;}
.bbpress-wrapper .search-bar input[type=search],
.bbpress-wrapper .search-bar input[type=text]{
	flex:1;background:transparent;border:0;outline:0;
	color:var(--ink-0);font:500 13px "Montserrat",system-ui,sans-serif;
	padding:4px 0;
}
.bbpress-wrapper .search-bar input[type=search]::placeholder,
.bbpress-wrapper .search-bar input[type=text]::placeholder{color:var(--ink-3);}
.bbpress-wrapper .search-bar input[type=search]:focus,
.bbpress-wrapper .search-bar input[type=text]:focus{outline:0;}
/* Fallback: default bbPress search form (no .search-bar class) */
#bbpress-forums #bbp-search-form input[type=text],
#bbpress-forums #bbp-search-form input[type=search]{
	background:var(--bg-0);border:1px solid var(--line-2);color:var(--ink-0);
	padding:9px 11px;border-radius:3px;font:500 13px "Montserrat",system-ui,sans-serif;
}
#bbpress-forums #bbp-search-form input[type=submit],
#bbpress-forums #bbp-search-form button[type=submit]{
	background:var(--accent);color:#fff;border:0;border-radius:3px;
	padding:8px 16px;font:600 12px "Montserrat",system-ui,sans-serif;
	letter-spacing:0.08em;cursor:pointer;
}

/* ===== Forms (form-topic.php, form-reply.php, fallback bbPress fieldsets) ===== */
.pt-form .pt-form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.pt-form .pt-form-row label{
	font:600 10px "Montserrat";letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-2);
}
.pt-form .pt-form-row-inline{flex-direction:row;align-items:center;gap:10px;}
.pt-form .pt-form-row-inline label{margin:0;}
.pt-form input[type=text],
.pt-form input[type=email],
.pt-form input[type=url],
.pt-form input[type=password],
.pt-form input[type=search],
.pt-form textarea,
.pt-form select,
#bbpress-forums fieldset.bbp-form input[type=text],
#bbpress-forums fieldset.bbp-form input[type=email],
#bbpress-forums fieldset.bbp-form input[type=url],
#bbpress-forums fieldset.bbp-form input[type=password],
#bbpress-forums fieldset.bbp-form textarea,
#bbpress-forums fieldset.bbp-form select{
	background:var(--bg-0);border:1px solid var(--line-2);color:var(--ink-0);
	padding:9px 11px;border-radius:3px;font:500 13px "Montserrat",system-ui,sans-serif;
	width:100%;
}
.pt-form input[type=text]:focus,
.pt-form textarea:focus,
.pt-form select:focus,
#bbpress-forums fieldset.bbp-form input:focus,
#bbpress-forums fieldset.bbp-form textarea:focus,
#bbpress-forums fieldset.bbp-form select:focus{
	outline:0;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);
}
#bbpress-forums fieldset.bbp-form{
	background:var(--bg-1);border:1px solid var(--line);border-radius:5px;padding:18px;margin:14px 0;
}
#bbpress-forums fieldset.bbp-form legend{
	font:600 11px "Montserrat";letter-spacing:0.18em;text-transform:uppercase;color:var(--accent);
	padding:0 8px;
}
.pt-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;}

/* ===== TinyMCE / Visual editor pinned inside our panels ===== */
.pt-form .wp-editor-wrap{border:1px solid var(--line-2);border-radius:3px;overflow:hidden;}
.pt-form .wp-editor-tabs{background:var(--bg-2);}
.pt-form .quicktags-toolbar,
.pt-form .mce-toolbar-grp,
.pt-form .mce-statusbar{background:var(--bg-2)!important;border-color:var(--line)!important;}
.pt-form .mce-edit-area iframe{background:var(--bg-0)!important;}

/* ===== Search results loop ===== */
.pt-search-results{display:flex;flex-direction:column;gap:8px;}

/* ===== Tag list inside thread head ===== */
.pt-thread-head .bbp-topic-tags{
	display:flex;flex-wrap:wrap;gap:6px;font-family:"JetBrains Mono",monospace;font-size:10px;
}
.pt-thread-head .bbp-topic-tags a{
	background:var(--accent-soft);color:var(--accent);
	border:1px solid rgba(0,160,210,0.25);padding:2px 7px;border-radius:3px;
}

/* ===== Single user shell (when content-single-user.php is in effect) ===== */
.pt-user-shell .user-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;}
.pt-user-side{display:flex;flex-direction:column;gap:14px;}
.pt-user-side .user-hero .av img{display:block;width:96px;height:96px;border-radius:6px;}
.pt-user-side .badge{font-family:"JetBrains Mono",monospace;font-size:9px;padding:3px 8px;border-radius:2px;border:1px solid currentColor;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;margin:2px;}

/* ===== Admin links inside reply headers ===== */
#bbpress-forums .bbp-admin-links{display:inline-flex;gap:8px;}
#bbpress-forums .bbp-admin-links a{
	color:var(--ink-2);font-family:"JetBrains Mono",monospace;font-size:10px;text-transform:lowercase;
}
#bbpress-forums .bbp-admin-links a:hover{color:var(--accent);}

/* ===== Author links in lead/replies (bbPress default markup) ===== */
#bbpress-forums .bbp-author-avatar img{border-radius:4px;border:1px solid var(--line-2);}
#bbpress-forums .bbp-author-name{color:var(--ink-0);font-weight:600;}
#bbpress-forums .bbp-author-role{font-family:"JetBrains Mono",monospace;font-size:9px;color:var(--ink-3);text-transform:uppercase;letter-spacing:0.1em;}

/* ===== Override bbPress default even/odd row backgrounds ===== */
/* bbpress.min.css hardcodes white/near-white for .even/.odd — reset to theme vars */
#bbpress-forums div.even,
#bbpress-forums ul.even{background:var(--bg-1);}
#bbpress-forums div.odd,
#bbpress-forums ul.odd{background:var(--bg-0);}
#bbpress-forums .status-spam.even,
#bbpress-forums .status-trash.even{background:rgba(255,80,80,0.08);}
#bbpress-forums .status-spam.odd,
#bbpress-forums .status-trash.odd{background:rgba(255,80,80,0.05);}
#bbpress-forums .status-pending.even,
#bbpress-forums .status-pending.odd{background:rgba(255,180,84,0.07);}
#bbpress-forums .status-pending.even a,
#bbpress-forums .status-pending.odd a{color:var(--accent);}

/* ===== Light theme parity (our terminal.css already swaps the vars) ===== */
:root[data-theme="light"] #bbpress-forums .bbp-template-notice{background:rgba(0,114,168,0.06);color:var(--accent);}

/* ===== Responsive: stack reply rail above the body on narrow screens ===== */
@media (max-width:780px){
	.pt-reply{grid-template-columns:1fr;}
	.pt-reply-rail{flex-direction:row;justify-content:flex-start;text-align:left;border-right:0;border-bottom:1px solid var(--line);}
	.pt-user-shell .user-grid{grid-template-columns:1fr;}
}
