/*
Theme Name: Reel Big Fish Classic
Theme URI: https://reelbigfish.info
Author: Andrew Yates
Description: A responsive revival of the original 2009-2012 ReelBigFish.info theme (RBFinfoV3). Wood-plank header, graffiti logo, orange panel captions — rebuilt with modern CSS so it flows on phones and tablets while keeping the original dark/orange vibe.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: reelbigfish-classic
Tags: classic, music, dark, three-columns, right-sidebar, left-sidebar, custom-menu
*/

/* ---------- tokens ---------- */
:root {
	--bg: #606060;
	--bg-dark: #434343;
	--panel-head-bg: #f5a623;
	--panel-head-bg-top: #ffc766;
	--panel-body-bg: #4a4a4a;
	--panel-border: #2b2b2b;
	--border-soft: #5b5b5b;
	--text: #e6e6e6;
	--text-muted: #b3b3b3;
	--text-dim: #9b9b9b;
	--accent: #f5a623;
	--accent-dark: #dba03b;
	--accent-soft: #f5b74e;
	--link: #ffffff;
	--link-hover: #f5b74e;
	--radius: 6px;
	--shadow: 0 2px 6px rgba(0,0,0,.4);
	--max: 1100px;
}

/* ---------- reset-lite ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }
button, input, select, textarea { font: inherit; }

body {
	background: url(assets/img/bg.gif) repeat var(--bg);
	color: var(--text-muted);
	font: 13px/1.5 Arial, Helvetica, sans-serif;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

a { color: var(--link); text-decoration: none; }
a:hover, a:focus { color: var(--link-hover); }

/* ---------- layout wrappers ---------- */
.rbf-wrap {
	width: 100%;
	max-width: var(--max);
	margin: 0 auto;
	padding: 0 16px;
}

#rbf-site { flex: 1 0 auto; }

/* ---------- header ---------- */
.rbf-header {
	background: url(assets/img/wood.gif) repeat-x center top, #3b2f1f;
	background-size: auto 100%, auto;
	position: relative;
	min-height: 170px;
}

.rbf-header::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 45%;
	background: url(assets/img/paint.png) no-repeat right center / contain;
	pointer-events: none;
	opacity: .9;
}

.rbf-header-inner {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: end;
	gap: 16px;
	padding: 12px 16px;
	position: relative;
	z-index: 2;
	min-height: 170px;
}

.rbf-logo {
	display: block;
	max-width: 240px;
	align-self: start;
	margin-top: -6px;
	filter: drop-shadow(0 3px 4px rgba(0,0,0,.45));
}
.rbf-logo img { width: 100%; height: auto; }

/* ---------- nav ---------- */
.rbf-nav-toggle {
	background: var(--accent);
	color: #2a1a00;
	border: 0;
	padding: 8px 14px;
	border-radius: var(--radius);
	font-weight: 700;
	cursor: pointer;
	display: none;
	justify-self: end;
}

.rbf-primary {
	justify-self: end;
	padding-bottom: 16px;
}

.rbf-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 4px 6px;
	justify-content: flex-end;
	background: rgba(0,0,0,.28);
	border: 1px solid rgba(255,255,255,.18);
	border-radius: 10px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 4px rgba(0,0,0,.25);
}

.rbf-nav li { margin: 0; }

.rbf-nav a {
	display: block;
	padding: 8px 18px;
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent) 55%, #d48a10 100%);
	color: #fff;
	text-transform: lowercase;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .5px;
	border-radius: 6px;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.45),
		inset 0 -2px 0 rgba(0,0,0,.15),
		0 2px 4px rgba(0,0,0,.4);
	transition: filter .15s ease;
}

.rbf-nav a:hover,
.rbf-nav a:focus,
.rbf-nav .current-menu-item > a,
.rbf-nav .current_page_item > a {
	background: linear-gradient(180deg, #9a9a9a 0%, #7a7a7a 55%, #5c5c5c 100%);
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,.6);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.25),
		inset 0 -2px 0 rgba(0,0,0,.2),
		0 2px 4px rgba(0,0,0,.4);
}

/* ---------- search row (above banner) ---------- */
.rbf-search-row {
	display: flex;
	justify-content: flex-end;
	padding: 10px 0;
}
.rbf-search-row .rbf-search {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--text-muted);
}
.rbf-search-row .rbf-search input[type="search"] {
	width: 200px;
}

/* ---------- image banner ---------- */
.rbf-banner--image {
	display: block;
	margin: 6px 0 14px;
	border-radius: var(--radius);
	overflow: hidden;
	line-height: 0;
	background: none;
	padding: 0;
	text-shadow: none;
	border: 0;
	box-shadow: none;
}
.rbf-banner--image img {
	width: 100%;
	height: auto;
	display: block;
}
.rbf-banner--image::before { content: none; }

/* ---------- featured banner ---------- */
.rbf-banner {
	margin: 6px 0 14px;
	padding: 22px 26px;
	background: #3b2f1f url(assets/img/wood.gif) repeat-x center;
	color: #fff;
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 20px;
	text-shadow: 0 1px 3px rgba(0,0,0,.8);
	flex-wrap: wrap;
	border: 1px solid rgba(0,0,0,.4);
	position: relative;
	overflow: hidden;
}
.rbf-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(assets/img/paint.png) no-repeat left center / auto 80%;
	opacity: .35;
	pointer-events: none;
}
.rbf-banner > * { position: relative; z-index: 1; }
.rbf-banner strong { color: var(--accent); font-weight: 700; }

/* ---------- login bar ---------- */
.rbf-login-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding: 14px 4px;
	margin-bottom: 12px;
	border-top: 1px solid #505050;
	border-bottom: 1px solid #505050;
	color: var(--text-muted);
	font-size: 12px;
}
.rbf-login-bar .grow { flex: 1; }
.rbf-login-bar label { display: inline-flex; align-items: center; gap: 6px; }
.rbf-login-bar .rbf-login-links { display: inline-flex; gap: 14px; align-items: center; }
.rbf-login-bar .rbf-login-links a { color: var(--text-muted); }
.rbf-login-bar .rbf-login-links a:hover { color: #fff; }
.rbf-login-bar .rbf-login-links .sep { color: #555; }


/* ---------- footer top button ---------- */
.rbf-footer a.rbf-top,
a.rbf-top {
	background: linear-gradient(180deg, var(--accent-soft) 0%, var(--accent) 55%, #d48a10 100%);
	color: #fff;
	padding: 6px 16px;
	border-radius: var(--radius);
	font-weight: 700;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 1px 3px rgba(0,0,0,.35);
	text-decoration: none;
}
.rbf-footer a.rbf-top:hover,
a.rbf-top:hover { filter: brightness(1.08); color: #fff; text-decoration: none; }

/* ---------- main grid ---------- */
.rbf-main {
	display: grid;
	gap: 16px;
	margin: 20px 0 32px;
	grid-template-columns: 1fr;
	align-items: start;
}

body.rbf-has-left .rbf-main { grid-template-columns: 200px 1fr; }
body.rbf-has-right .rbf-main { grid-template-columns: 1fr 220px; }
body.rbf-has-left.rbf-has-right .rbf-main { grid-template-columns: 200px 1fr 220px; }
body.rbf-full .rbf-main { grid-template-columns: 1fr; }

@media (max-width: 980px) {
	.rbf-main { grid-template-columns: 200px 1fr; }
	.rbf-main > .rbf-sidebar--right { grid-column: 1 / -1; order: 3; }
}
@media (max-width: 720px) {
	.rbf-main { grid-template-columns: 1fr; }
	.rbf-main > .rbf-sidebar--left { order: 2; }
	.rbf-main > .rbf-content { order: 1; }
	.rbf-main > .rbf-sidebar--right { order: 3; }
	.rbf-nav-toggle { display: inline-block; }
	.rbf-primary {
		grid-column: 1 / -1;
		justify-self: stretch;
		padding-bottom: 0;
	}
	.rbf-nav {
		flex-direction: column;
		width: 100%;
		display: none;
		justify-content: stretch;
	}
	.rbf-nav.is-open { display: flex; }
	.rbf-nav a { text-align: center; }
	.rbf-header-inner {
		grid-template-columns: 1fr auto;
		justify-content: center;
	}
	.rbf-logo { max-width: 180px; }
}

/* ---------- panels (captions) ---------- */
.rbf-panel {
	border-radius: var(--radius);
	margin-bottom: 14px;
	border: 1px solid #727272;
	overflow: hidden;
	background: var(--panel-body-bg);
}

.rbf-panel__head {
	display: flex;
	align-items: center;
	min-height: 34px;
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%);
	color: #fff;
	font-weight: 700;
	padding: 6px 14px;
	margin: 0;
	font-size: 13px;
	line-height: 1.25;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none;
	border-bottom: 1px solid rgba(0,0,0,.35);
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
}
.rbf-panel__head .rbf-post__title,
.rbf-panel__head > h1,
.rbf-panel__head > h2,
.rbf-panel__head > h3 { margin: 0; font-size: 13px; line-height: 1.25; }

.rbf-panel__body {
	padding: 14px;
	color: var(--text);
	background: var(--panel-body-bg);
}

.rbf-panel__body a { color: #fff; text-decoration: underline; }
.rbf-panel__body a:hover { color: var(--accent-soft); }

/* ---------- posts ---------- */
.rbf-post__title {
	margin: 0;
	font-size: 14px;
}
.rbf-post__title a { color: #fff; text-decoration: none; text-shadow: 0 1px 2px rgba(0,0,0,.4); }
.rbf-post__title a:hover { text-decoration: underline; color: #fff; }

.rbf-post__date {
	font-weight: 700;
	color: var(--text);
	margin-bottom: 10px;
	font-size: 13px;
}

.rbf-post__meta {
	margin-top: 14px;
	padding-top: 10px;
	border-top: 1px solid #5c5c5c;
	color: var(--text-dim);
	font-size: 12px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}
.rbf-post__meta a { font-weight: 700; color: #fff; text-decoration: underline; }

/* ---------- sidebars ---------- */
.rbf-sidebar .widget {
	margin-bottom: 14px;
	border-radius: var(--radius);
	border: 1px solid #727272;
	overflow: hidden;
	background: var(--panel-body-bg);
}

.rbf-sidebar .widget > h2:first-child,
.rbf-sidebar .widget > h3:first-child,
.rbf-sidebar .widget > h4:first-child,
.rbf-sidebar .widget > .wp-block-heading:first-child,
.rbf-sidebar .widget-title,
.rbf-sidebar .widgettitle,
.rbf-sidebar h2.widgettitle,
.rbf-sidebar h3.widgettitle {
	display: flex;
	align-items: center;
	min-height: 34px;
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%);
	color: #fff;
	font-weight: 700;
	padding: 6px 14px;
	margin: 0;
	font-size: 13px;
	line-height: 1.25;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none;
	border-bottom: 1px solid rgba(0,0,0,.35);
}

.rbf-sidebar .widget > ul,
.rbf-sidebar .widget > div,
.rbf-sidebar .widget > form,
.rbf-sidebar .widget > p {
	padding: 12px 14px;
	color: var(--text);
	margin: 0;
}
.rbf-sidebar .widget ul { list-style: none; padding-left: 0; margin: 0; }
.rbf-sidebar .widget > ul { padding: 8px 14px; }
.rbf-sidebar .widget li { padding: 4px 0; }
.rbf-sidebar .widget a { color: #fff; text-decoration: underline; }
.rbf-sidebar .widget a:hover { color: var(--accent-soft); }

.rbf-sidebar img { border-radius: 3px; }

/* ---------- forms ---------- */
.rbf-content input[type="text"], .rbf-content input[type="search"], .rbf-content input[type="email"],
.rbf-content input[type="url"], .rbf-content input[type="password"], .rbf-content input[type="tel"],
.rbf-content input[type="number"], .rbf-content textarea, .rbf-content select,
input[type="text"], input[type="search"], input[type="email"],
input[type="url"], input[type="password"], input[type="tel"],
input[type="number"], textarea, select {
	background: #3a3a3a !important;
	color: var(--text) !important;
	border: 1px solid #727272 !important;
	padding: 8px 10px !important;
	border-radius: 4px !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.4) !important;
	max-width: 100%;
	font-size: 13px !important;
	-webkit-appearance: none;
	appearance: none;
}
input:focus, textarea:focus, select:focus {
	outline: none;
	border-color: var(--accent) !important;
	box-shadow: inset 0 1px 2px rgba(0,0,0,.4), 0 0 0 2px rgba(245,166,35,.25) !important;
}
input::placeholder, textarea::placeholder { color: #888; font-style: italic; }

button, input[type="submit"], .rbf-btn {
	display: inline-block;
	background: linear-gradient(180deg, #ffc766 0%, #f5a623 55%, #d48a10 100%);
	color: #fff;
	border: 0;
	padding: 8px 18px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .5px;
	border-radius: 6px;
	cursor: pointer;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	text-decoration: none;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.45),
		inset 0 -2px 0 rgba(0,0,0,.15),
		0 2px 4px rgba(0,0,0,.4);
	transition: background .15s ease;
}

button:hover, button:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
.rbf-btn:hover, .rbf-btn:focus {
	background: linear-gradient(180deg, #9a9a9a 0%, #7a7a7a 55%, #5c5c5c 100%);
	color: #fff;
	text-decoration: none;
}

.rbf-btn--grey,
button.rbf-btn--grey,
input[type="submit"].rbf-btn--grey {
	background: linear-gradient(180deg, #9a9a9a 0%, #7a7a7a 55%, #5c5c5c 100%);
}
.rbf-btn--grey:hover,
button.rbf-btn--grey:hover,
input[type="submit"].rbf-btn--grey:hover {
	background: linear-gradient(180deg, #ffc766 0%, #f5a623 55%, #d48a10 100%);
}

/* ---------- content typography ---------- */
.rbf-content h1, .rbf-content h2, .rbf-content h3,
.rbf-content h4, .rbf-content h5, .rbf-content h6 { color: #fff; margin: 1.2em 0 .5em; }
.rbf-content p { margin: 0 0 1em; }
.rbf-content blockquote,
#bbpress-forums blockquote {
	border-left: 3px solid var(--accent);
	background: rgba(0,0,0,.2);
	padding: 10px 14px;
	margin: 1em 0;
	color: var(--text);
	border-radius: 0 4px 4px 0;
}
.rbf-content blockquote footer,
#bbpress-forums blockquote footer {
	margin-top: 6px;
	color: var(--text-muted);
	font-size: 12px;
	font-style: normal;
}
.rbf-content blockquote cite,
#bbpress-forums blockquote cite { font-style: normal; }

/* [img] shortcode */
.rbf-sc-img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	margin: 8px 0;
}
.rbf-sc-img.alignleft  { float: left;  margin: 4px 16px 8px 0; }
.rbf-sc-img.alignright { float: right; margin: 4px 0 8px 16px; }
.rbf-sc-img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.rbf-content img { border-radius: 3px; }
.rbf-content code, .rbf-content pre {
	background: #2c2c2c;
	color: #f8c987;
	padding: 2px 6px;
	border-radius: 3px;
	font-family: Consolas, Monaco, monospace;
}
.rbf-content pre { padding: 12px; overflow-x: auto; }

/* ---------- comments ---------- */
.rbf-comments { margin-top: 24px; }
.rbf-comments > h2 {
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%);
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	padding: 8px 14px;
	margin: 0 0 14px;
	border-radius: var(--radius);
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none;
	border: 1px solid #c97f0d;
}
.rbf-comments ol.commentlist,
.rbf-comments ol { list-style: none; padding: 0; margin: 0 0 18px; }
.rbf-comments .comment,
.rbf-comments li.comment {
	background: var(--panel-body-bg);
	border: 1px solid #727272;
	padding: 14px;
	border-radius: var(--radius);
	margin-bottom: 10px;
	color: var(--text);
}
.rbf-comments .comment .comment-author {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	font-weight: 700;
}
.rbf-comments .comment .comment-author img { border-radius: 3px; }
.rbf-comments .comment .comment-meta,
.rbf-comments .comment .comment-metadata {
	color: var(--text-dim);
	font-size: 12px;
	margin-bottom: 10px;
}
.rbf-comments .comment .comment-meta a,
.rbf-comments .comment .comment-metadata a { color: var(--text-dim); text-decoration: none; }
.rbf-comments .comment .comment-content p { margin: 0 0 10px; }
.rbf-comments .comment .reply { text-align: right; }
.rbf-comments .comment .reply a.comment-reply-link {
	display: inline-block;
	font-size: 12px;
	padding: 4px 10px;
	background: rgba(0,0,0,.2);
	border: 1px solid #727272;
	border-radius: 3px;
	color: #fff;
	text-decoration: none;
}
.rbf-comments .comment .reply a.comment-reply-link:hover { background: rgba(0,0,0,.35); color: var(--accent-soft); }
.rbf-comments .children {
	list-style: none;
	padding: 0 0 0 20px;
	margin-top: 10px;
	border-left: 2px solid var(--accent);
}

/* comment form */
#respond {
	background: var(--panel-body-bg);
	border: 1px solid #727272;
	border-radius: var(--radius);
	padding: 16px 18px 4px;
	margin-top: 18px;
}
#respond h3.comment-reply-title,
#respond .comment-reply-title {
	margin: -16px -18px 14px;
	padding: 8px 14px;
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%);
	color: #fff;
	font-weight: 700;
	font-size: 13px;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none;
	border-bottom: 1px solid rgba(0,0,0,.35);
	border-top-left-radius: var(--radius);
	border-top-right-radius: var(--radius);
}
#respond h3.comment-reply-title small,
#respond .comment-reply-title small { float: right; font-weight: 400; }
#respond h3.comment-reply-title small a,
#respond .comment-reply-title small a { color: #fff; text-decoration: underline; }

#respond .comment-form-comment,
#respond .comment-form-author,
#respond .comment-form-email,
#respond .comment-form-url {
	margin-bottom: 12px;
}
#respond .comment-form-author,
#respond .comment-form-email,
#respond .comment-form-url {
	display: inline-block;
	width: calc(33.333% - 8px);
	margin-right: 10px;
	vertical-align: top;
}
#respond .comment-form-url { margin-right: 0; }
#respond label {
	display: block;
	margin-bottom: 4px;
	font-weight: 700;
	color: var(--text);
	font-size: 12px;
}
#respond label .required { color: var(--accent-soft); }
#respond input[type="text"],
#respond input[type="email"],
#respond input[type="url"],
#respond textarea {
	width: 100%;
}
#respond textarea { min-height: 140px; resize: vertical; }
#respond .comment-notes,
#respond .logged-in-as {
	color: var(--text-muted);
	font-size: 12px;
	margin: 0 0 12px;
}
#respond .comment-form-cookies-consent {
	color: var(--text-muted);
	font-size: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
}
#respond .form-submit {
	margin: 0 0 14px;
	text-align: right;
}

@media (max-width: 560px) {
	#respond .comment-form-author,
	#respond .comment-form-email,
	#respond .comment-form-url {
		display: block;
		width: 100%;
		margin-right: 0;
	}
}

/* ---------- pagination ---------- */
.rbf-pagination {
	display: flex;
	gap: 8px;
	justify-content: space-between;
	margin: 16px 0;
	flex-wrap: wrap;
}
.rbf-pagination .page-numbers {
	padding: 6px 10px;
	background: var(--panel-body-bg);
	border-radius: var(--radius);
	border: 1px solid var(--panel-border);
	color: #fff;
}
.rbf-pagination .current { background: var(--accent); color: #2a1a00; }

/* ---------- footer ---------- */
.rbf-footer {
	flex-shrink: 0;
	background: var(--bg-dark);
	border-top: 1px solid #2b2b2b;
	padding: 18px 0;
	color: var(--text);
	font-size: 13px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.rbf-footer a { color: var(--accent-soft); text-decoration: underline; }
.rbf-footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}
.rbf-footer nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}
.rbf-footer-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}
.rbf-footer a.rbf-footer-link {
	color: var(--text-muted);
	text-decoration: none;
	font-size: 13px;
}
.rbf-footer a.rbf-footer-link:hover { color: #fff; text-decoration: underline; }

.rbf-footer-user { font-size: 13px; color: var(--text-muted); }
.rbf-footer-user strong { color: #fff; font-weight: 600; }

/* ---------- member login page ---------- */
.rbf-login-form {
	max-width: 420px;
	margin: 14px 0 24px;
	padding: 0;
	background: transparent;
	border: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rbf-login-form__field { display: flex; flex-direction: column; gap: 4px; }
.rbf-login-form__field label { font-size: 13px; color: var(--text-muted); font-weight: 600; }
.rbf-login-form input[type="text"],
.rbf-login-form input[type="password"] {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #fff;
	padding: 9px 12px;
	border-radius: 4px;
	font-size: 14px;
	width: 100%;
}
.rbf-login-form input:focus {
	outline: none;
	border-color: var(--accent-soft);
	background: rgba(255, 255, 255, 0.12);
}
.rbf-login-form__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 13px;
}
.rbf-login-form__remember {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--text-muted);
	cursor: pointer;
}
.rbf-login-form__submit {
	background: var(--accent-soft);
	color: #1a1a1a;
	border: 0;
	padding: 10px 22px;
	border-radius: 4px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	align-self: flex-start;
}
.rbf-login-form__submit:hover { background: #fff; }
.rbf-login-form__error {
	margin: 0;
	padding: 10px 12px;
	background: rgba(220, 60, 60, 0.15);
	border: 1px solid rgba(220, 60, 60, 0.35);
	border-radius: 4px;
	color: #ffd0d0;
	font-size: 13px;
}
.rbf-login-form__notice {
	margin: 0;
	padding: 10px 12px;
	background: rgba(245, 166, 35, 0.12);
	border-left: 3px solid var(--accent);
	border-radius: 3px;
	color: var(--text);
	font-size: 13px;
}
.rbf-login-form__notice a {
	color: var(--accent-soft);
	text-decoration: underline;
}

/* ---------- register page (BuddyPress signup) ---------- */
.rbf-register-intro {
	max-width: 560px;
	margin: 0 0 18px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.rbf-register-intro__lede {
	margin: 0;
	color: var(--text-muted);
	font-size: 14px;
}

/* BP template notices: style only when an actual feedback child is present.
   (An empty whitespace-only <div> isn't caught by :empty, so target children.) */
#buddypress #template-notices:has(.bp-feedback),
.rbf-bare #template-notices:has(.bp-feedback) {
	margin: 0 0 14px;
}
#buddypress .bp-feedback {
	padding: 10px 12px;
	border-radius: 3px;
	font-size: 13px;
	border-left: 3px solid var(--accent);
	background: rgba(245, 166, 35, 0.12);
	color: var(--text);
	max-width: 560px;
}
#buddypress .bp-feedback.error {
	border-left-color: #e25c5c;
	background: rgba(220, 60, 60, 0.15);
	color: #ffd0d0;
}
#buddypress .bp-feedback.success {
	border-left-color: #5ec76a;
	background: rgba(94, 199, 106, 0.12);
	color: #d6f5d6;
}

.rbf-login-form__links {
	display: flex;
	gap: 18px;
	font-size: 13px;
	margin-top: 4px;
}
.rbf-login-form__status {
	margin: 14px 0 24px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--text-muted);
	max-width: 420px;
}
.rbf-login-form__status strong { color: #fff; }

/* ---------- bare page (bbPress, etc.) ---------- */
.rbf-bare { color: var(--text); text-align: left; }
.rbf-bare p,
.rbf-bare .register-section,
.rbf-bare #signup-form,
.rbf-bare #signup_form,
.rbf-bare .bp-signup-form { text-align: left; }
.rbf-bare__title {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	text-align: left;
}

/* ---------- bbPress ---------- */
#bbpress-forums {
	color: var(--text);
	font-size: 13px;
	background: transparent !important;
	padding: 0 !important;
}
#bbpress-forums a { color: #fff; text-decoration: underline; }
#bbpress-forums a:hover { color: var(--accent-soft); }
#bbpress-forums p { margin: 0 0 10px; color: var(--text); }
#bbpress-forums * { text-shadow: none; }

/* override bbPress default white/grey striping */
#bbpress-forums div.odd,
#bbpress-forums ul.odd,
#bbpress-forums li.odd,
#bbpress-forums div.even,
#bbpress-forums ul.even,
#bbpress-forums li.even,
#bbpress-forums .bbp-body,
#bbpress-forums .bbp-body > div,
#bbpress-forums .bbp-body > ul {
	background-color: transparent !important;
	color: var(--text) !important;
}
#bbpress-forums div.odd + div.odd,
#bbpress-forums li.odd + li.odd,
#bbpress-forums ul.odd:nth-of-type(even),
#bbpress-forums ul.even:nth-of-type(even) {
	background-color: rgba(255,255,255,.025) !important;
}

/* breadcrumb + search bar above lists */
.bbp-breadcrumb,
.bbp-topic-tags {
	margin: 0 0 14px;
	color: var(--text-muted);
	font-size: 12px;
}
.bbp-breadcrumb .bbp-breadcrumb-sep { color: #777; margin: 0 4px; }
.bbp-search-form {
	display: inline-flex;
	gap: 6px;
	margin: 0 0 14px;
	float: right;
}

/* lists — flat dark tables with orange column header */
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-search-results {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	border: 1px solid #727272;
	border-radius: var(--radius);
	overflow: hidden;
	background: var(--panel-body-bg) !important;
}

/* column-label row — the one orange bar */
#bbpress-forums li.bbp-header {
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%) !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .5px;
	padding: 0 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(0,0,0,.35) !important;
}
#bbpress-forums li.bbp-header > ul {
	background: transparent !important;
	padding: 10px 14px !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 38px;
	display: flex;
	align-items: center;
}
#bbpress-forums li.bbp-header li,
#bbpress-forums li.bbp-header > ul > li {
	list-style: none !important;
	color: #fff !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.5) !important;
	white-space: nowrap;
	line-height: 1.2;
}

/* footer row — same orange as header, closes the list */
#bbpress-forums li.bbp-footer {
	background: linear-gradient(180deg, #c97f0d 0%, #f0a41a 25%, #f8bf3d 65%, #fad166 100%) !important;
	color: #fff !important;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .5px;
	padding: 0 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	border-top: 1px solid rgba(0,0,0,.35);
	box-shadow: none !important;
}
#bbpress-forums li.bbp-footer > ul {
	background: transparent !important;
	padding: 9px 14px !important;
	margin: 0;
	border: 0 !important;
}
#bbpress-forums li.bbp-footer li { list-style: none; color: #fff !important; }

/* body rows — quiet stripes with subtle dark separator */
#bbpress-forums li.bbp-body > ul,
#bbpress-forums ul.bbp-forums li.bbp-body > ul,
#bbpress-forums ul.bbp-topics li.bbp-body > ul,
#bbpress-forums ul.bbp-search-results li.bbp-body > ul {
	background: transparent !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-top: 1px solid #3a3a3a !important;
	margin: 0 !important;
	color: var(--text);
}
#bbpress-forums li.bbp-body > ul:first-child { border-top: 0 !important; }
#bbpress-forums li.bbp-body > ul:nth-child(even) { background: rgba(255,255,255,.02) !important; }
#bbpress-forums li.bbp-body > ul:hover { background: rgba(245,166,35,.06) !important; }

/* cell typography */
#bbpress-forums li.bbp-forum-info,
#bbpress-forums li.bbp-topic-title {
	font-size: 14px;
	border: 0 !important;
	padding-left: 0 !important;
}
#bbpress-forums li.bbp-forum-info > *,
#bbpress-forums li.bbp-topic-title > * {
	border-left: 0 !important;
}
#bbpress-forums li.bbp-forum-info > a,
#bbpress-forums li.bbp-topic-title > a,
#bbpress-forums li.bbp-topic-title a.bbp-topic-permalink {
	font-weight: 700;
	text-decoration: none;
	color: #fff;
}
#bbpress-forums li.bbp-forum-info > a:hover,
#bbpress-forums li.bbp-topic-title > a:hover { color: var(--accent-soft); }

#bbpress-forums .bbp-forum-description,
#bbpress-forums .bbp-topic-meta,
#bbpress-forums .bbp-forum-freshness > a,
#bbpress-forums .bbp-topic-freshness > a {
	color: var(--text-muted);
	font-weight: 400;
	font-size: 12px;
}

/* Last Post cell — date on its own line, avatar inline beside username */
#bbpress-forums li.bbp-forum-freshness,
#bbpress-forums li.bbp-topic-freshness {
	display: flex;
	flex-direction: column;
	gap: 4px;
	line-height: 1.3;
	font-size: 12px;
}
#bbpress-forums li.bbp-forum-freshness > a:first-child,
#bbpress-forums li.bbp-topic-freshness > a:first-child {
	color: var(--text-muted) !important;
	font-weight: 400;
	text-decoration: none;
	font-size: 11px;
	line-height: 1.2;
}
#bbpress-forums li.bbp-forum-freshness > a:first-child:hover,
#bbpress-forums li.bbp-topic-freshness > a:first-child:hover {
	color: var(--accent-soft) !important;
	text-decoration: underline;
}
#bbpress-forums li.bbp-forum-freshness .bbp-topic-meta,
#bbpress-forums li.bbp-topic-freshness .bbp-topic-meta,
#bbpress-forums li.bbp-forum-freshness > p,
#bbpress-forums li.bbp-topic-freshness > p {
	margin: 0;
	font-size: 13px;
	line-height: 1.2;
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
#bbpress-forums li.bbp-forum-freshness .bbp-topic-meta a,
#bbpress-forums li.bbp-topic-freshness .bbp-topic-meta a,
#bbpress-forums li.bbp-forum-freshness > p a,
#bbpress-forums li.bbp-topic-freshness > p a {
	color: #fff !important;
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
#bbpress-forums li.bbp-forum-freshness .bbp-topic-meta a:hover,
#bbpress-forums li.bbp-topic-freshness .bbp-topic-meta a:hover,
#bbpress-forums li.bbp-forum-freshness > p a:hover,
#bbpress-forums li.bbp-topic-freshness > p a:hover {
	color: var(--accent-soft) !important;
}
#bbpress-forums li.bbp-forum-freshness img.avatar,
#bbpress-forums li.bbp-topic-freshness img.avatar {
	width: 28px !important;
	height: 28px !important;
	margin: 0 !important;
	border-radius: 4px;
	border: 1px solid #5a5a5a;
	flex-shrink: 0;
	vertical-align: middle;
}

/* single topic / replies */
#bbpress-forums div.bbp-reply-header,
#bbpress-forums div.bbp-topic-header {
	background: rgba(0,0,0,.25) !important;
	color: var(--text-muted) !important;
	padding: 8px 14px;
	font-size: 12px;
	border: 0 !important;
	border-bottom: 1px solid #3a3a3a !important;
	text-shadow: none !important;
	box-shadow: none !important;
}
#bbpress-forums div.bbp-reply-header a,
#bbpress-forums div.bbp-topic-header a {
	color: var(--text-muted);
	text-decoration: none;
}
#bbpress-forums div.bbp-reply-header a:hover,
#bbpress-forums div.bbp-topic-header a:hover { color: var(--accent-soft); text-decoration: underline; }

#bbpress-forums div.bbp-reply-author,
#bbpress-forums div.bbp-topic-author,
#bbpress-forums li.bbp-reply-author,
#bbpress-forums li.bbp-topic-author {
	background: rgba(0,0,0,.15) !important;
	color: var(--text) !important;
	border: 0 !important;
	border-right: 1px solid #3a3a3a !important;
	padding: 14px 12px !important;
	text-align: center;
	min-width: 130px;
}
#bbpress-forums div.bbp-reply-author a,
#bbpress-forums div.bbp-topic-author a { color: #fff; text-decoration: none; }
#bbpress-forums div.bbp-reply-author a:hover,
#bbpress-forums div.bbp-topic-author a:hover { color: var(--accent-soft); }
#bbpress-forums div.bbp-reply-author .bbp-author-role,
#bbpress-forums div.bbp-reply-author .bbp-author-ip,
#bbpress-forums div.bbp-topic-author .bbp-author-role,
#bbpress-forums div.bbp-topic-author .bbp-author-ip { color: var(--text-dim); font-size: 11px; }
#bbpress-forums div.bbp-reply-author img.avatar,
#bbpress-forums div.bbp-topic-author img.avatar {
	border: 1px solid #727272;
	border-radius: 3px;
}

/* bigger avatars in forum index + topic lists (not on single-topic thread pages) */
#bbpress-forums ul.bbp-forums img.avatar,
#bbpress-forums ul.bbp-topics img.avatar,
#bbpress-forums ul.bbp-search-results img.avatar {
	width: 28px !important;
	height: 28px !important;
	border-radius: 3px;
	vertical-align: middle;
	margin-right: 4px;
}

#bbpress-forums div.bbp-reply-content,
#bbpress-forums div.bbp-topic-content,
#bbpress-forums li.bbp-reply-content,
#bbpress-forums li.bbp-topic-content {
	background: transparent !important;
	color: var(--text) !important;
	padding: 14px 16px !important;
	line-height: 1.6;
	border: 0 !important;
}
#bbpress-forums div.bbp-reply-content p,
#bbpress-forums div.bbp-topic-content p { color: var(--text); }
#bbpress-forums div.bbp-reply-content a,
#bbpress-forums div.bbp-topic-content a { color: var(--accent-soft); text-decoration: underline; }
#bbpress-forums div.bbp-reply-content a:hover,
#bbpress-forums div.bbp-topic-content a:hover { color: #fff; }
#bbpress-forums div.bbp-reply-content blockquote,
#bbpress-forums div.bbp-topic-content blockquote {
	border-left: 3px solid var(--accent);
	background: rgba(0,0,0,.25);
	padding: 10px 14px;
	margin: 10px 0;
	color: var(--text-muted);
}
#bbpress-forums div.bbp-reply-content code,
#bbpress-forums div.bbp-topic-content code {
	background: #2c2c2c;
	color: #f8c987;
	padding: 1px 5px;
	border-radius: 3px;
}

/* topic/reply row wrappers for lead-topic + replies */
#bbpress-forums ul.bbp-lead-topic li.bbp-body > ul,
#bbpress-forums ul.bbp-topic li.bbp-body > ul,
#bbpress-forums ul.bbp-replies li.bbp-body > ul,
#bbpress-forums ul.bbp-replies > li {
	background: transparent !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 1px solid #3a3a3a !important;
	margin: 0 !important;
}
#bbpress-forums ul.bbp-lead-topic > li:first-child,
#bbpress-forums ul.bbp-replies > li:first-child,
#bbpress-forums ul.bbp-lead-topic li.bbp-body > ul:first-child,
#bbpress-forums ul.bbp-replies li.bbp-body > ul:first-child {
	border-top: 0 !important;
}

/* hide "Author / Posts" header+footer on single-topic views — adds no info */
#bbpress-forums ul.bbp-lead-topic > li.bbp-header,
#bbpress-forums ul.bbp-lead-topic > li.bbp-footer,
#bbpress-forums ul.bbp-replies > li.bbp-header,
#bbpress-forums ul.bbp-replies > li.bbp-footer {
	display: none !important;
}

/* pagination */
#bbpress-forums .bbp-pagination { margin: 10px 0; }
#bbpress-forums .bbp-pagination-count { color: var(--text-muted); font-size: 12px; }
#bbpress-forums .bbp-pagination-links .page-numbers {
	padding: 4px 9px;
	background: rgba(0,0,0,.2);
	border: 1px solid #727272;
	border-radius: 3px;
	margin-right: 2px;
	color: #fff;
	text-decoration: none;
}
#bbpress-forums .bbp-pagination-links .page-numbers:hover { background: rgba(0,0,0,.35); }
#bbpress-forums .bbp-pagination-links .current {
	background: linear-gradient(180deg, #fad166 0%, #f0a41a 100%);
	border-color: #c97f0d;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
}

/* forms */
#bbpress-forums fieldset.bbp-form {
	background: rgba(0,0,0,.1);
	border: 1px solid #727272;
	border-radius: var(--radius);
	padding: 18px;
	margin: 18px 0;
	overflow: hidden;
}
/* legend tab pulled out to fill edge-to-edge above the padded content */
#bbpress-forums fieldset.bbp-form legend {
	float: left;
	width: calc(100% + 36px);
	margin: -18px -18px 18px;
	padding: 10px 16px;
	background: rgba(0,0,0,.28);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .5px;
	border-bottom: 1px solid #727272;
}
#bbpress-forums fieldset.bbp-form > :not(legend) { clear: both; }
/* uniform vertical rhythm between fields */
#bbpress-forums fieldset.bbp-form > p,
#bbpress-forums fieldset.bbp-form > div,
#bbpress-forums fieldset.bbp-form > fieldset {
	margin: 0 0 16px !important;
}
#bbpress-forums fieldset.bbp-form > :last-child {
	margin-bottom: 0 !important;
}
#bbpress-forums fieldset.bbp-form label {
	display: block;
	margin: 0 0 6px;
	font-weight: 700;
	color: var(--text);
	font-size: 13px;
}
/* consistent field height for text inputs + selects */
#bbpress-forums fieldset.bbp-form input[type="text"],
#bbpress-forums fieldset.bbp-form input[type="email"],
#bbpress-forums fieldset.bbp-form input[type="password"],
#bbpress-forums fieldset.bbp-form input[type="url"],
#bbpress-forums fieldset.bbp-form select {
	width: 100%;
	max-width: 100%;
	min-height: 40px !important;
	padding: 10px 12px !important;
	line-height: 1.3 !important;
	font-size: 14px !important;
}
#bbpress-forums fieldset.bbp-form select {
	-webkit-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, var(--text-muted) 50%),
	                  linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);
	background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
	background-size: 6px 6px;
	background-repeat: no-repeat;
	padding-right: 32px !important;
}
/* editor wrapper sits flush — reset plugin defaults */
#bbpress-forums fieldset.bbp-form #wp-bbp_topic_content-wrap,
#bbpress-forums fieldset.bbp-form #wp-bbp_reply_content-wrap,
#bbpress-forums fieldset.bbp-form .wp-editor-wrap {
	border: 1px solid #727272 !important;
	border-radius: 4px;
	overflow: hidden;
	background: transparent !important;
}
#bbpress-forums fieldset.bbp-form .wp-editor-tools,
#bbpress-forums fieldset.bbp-form .quicktags-toolbar,
#bbpress-forums fieldset.bbp-form .wp-editor-tabs {
	background: rgba(0,0,0,.3) !important;
	border-bottom: 1px solid #727272 !important;
	padding: 6px 8px !important;
}
#bbpress-forums fieldset.bbp-form .quicktags-toolbar input.ed_button,
#bbpress-forums fieldset.bbp-form .quicktags-toolbar button.ed_button {
	background: transparent !important;
	border: 0 !important;
	color: var(--text) !important;
	padding: 2px 6px !important;
	font-size: 12px !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
#bbpress-forums fieldset.bbp-form .quicktags-toolbar input.ed_button:hover,
#bbpress-forums fieldset.bbp-form .quicktags-toolbar button.ed_button:hover {
	color: var(--accent-soft) !important;
	text-decoration: underline;
}
#bbpress-forums fieldset.bbp-form textarea {
	border: 0 !important;
	border-radius: 0 !important;
	background: #2f2f2f !important;
	color: var(--text) !important;
	min-height: 200px !important;
	padding: 12px !important;
	box-shadow: none !important;
}
/* inline notice inside the form */
#bbpress-forums fieldset.bbp-form div.bbp-template-notice {
	margin: 0 0 14px !important;
}
#bbpress-forums fieldset.bbp-form label { display: block; font-weight: 700; margin: 10px 0 4px; color: var(--text); }
#bbpress-forums input[type="text"],
#bbpress-forums input[type="password"],
#bbpress-forums input[type="email"],
#bbpress-forums textarea,
#bbpress-forums select { width: 100%; max-width: 100%; }

/* notices / search */
#bbpress-forums div.bbp-template-notice {
	background: rgba(0,0,0,.2) !important;
	border: 1px solid #727272 !important;
	border-left: 4px solid var(--accent) !important;
	color: var(--text) !important;
	border-radius: var(--radius);
	padding: 10px 14px;
	margin: 0 0 14px;
	box-shadow: none !important;
}
#bbpress-forums div.bbp-template-notice.info {
	border-left-color: #727272 !important;
}
#bbpress-forums div.bbp-template-notice.error {
	border-left-color: #c45a5a !important;
}

/* ---------- signup / registration form (BuddyPress, bbPress, WP) ---------- */
.rbf-content #signup-form,
.rbf-content #signup_form,
.rbf-content .register-page,
.rbf-content .bbp-register,
.rbf-content .buddypress-wrap,
.rbf-content #buddypress {
	color: var(--text);
}

.rbf-content #signup-form .panel-group,
.rbf-content #signup-form .default-profile-field,
.rbf-content #signup_form .editfield,
.rbf-content #signup_form .bp-signup-field-required {
	margin-bottom: 18px;
}

/* each section sits in its own panel — vertical stack, no nested orange */
#signup-form #basic-details-section,
#signup-form #blog-details-section,
#signup-form #profile-details-section,
#signup_form #basic-details-section,
#signup_form #profile-details-section,
.bp-signup-form #basic-details-section,
.bp-signup-form #profile-details-section {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 18px !important;
	background: var(--panel-body-bg);
	border: 1px solid #727272;
	border-radius: var(--radius);
	overflow: hidden;
	padding: 16px 16px 4px;
	position: relative;
}

@media (min-width: 900px) {
	#signup-form,
	#signup_form,
	.bp-signup-form {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 18px;
		align-items: start;
	}
	#signup-form #basic-details-section,
	#signup-form #profile-details-section,
	#signup_form #basic-details-section,
	#signup_form #profile-details-section {
		margin: 0 !important;
	}
	#signup-form .submit,
	#signup_form .submit,
	#signup-form #blog-details-section,
	#signup_form #blog-details-section,
	.bp-signup-form .submit,
	#signup-form > p,
	#signup_form > p,
	.bp-signup-form > p,
	#signup-form > h2,
	#signup_form > h2,
	#signup-form > .register-section-title {
		grid-column: 1 / -1;
	}
}

/* section headings (Account Details / Profile Details) — flush inside panel */
#signup-form h2, #signup-form h4,
#signup_form h2, #signup_form h4,
.bp-signup-form h2, .bp-signup-form h4 {
	display: flex;
	align-items: center;
	min-height: 34px;
	background: linear-gradient(180deg, #fad166 0%, #f8bf3d 35%, #f0a41a 75%, #c97f0d 100%);
	color: #fff;
	font-weight: 700;
	padding: 6px 14px;
	margin: -16px -16px 16px;
	font-size: 13px;
	line-height: 1.25;
	text-shadow: 0 1px 2px rgba(0,0,0,.5);
	box-shadow: none;
	border-bottom: 1px solid rgba(0,0,0,.35);
}

/* field labels */
#signup-form label,
#signup_form label,
.bp-signup-form label,
.bbp-register label {
	display: block;
	margin: 0 0 4px;
	font-weight: 700;
	color: var(--text);
	font-size: 13px;
}
#signup-form label .required,
#signup_form label .required,
.bp-signup-form label .required { color: var(--accent-soft); }

/* full-width inputs */
#signup-form input[type="text"],
#signup-form input[type="email"],
#signup-form input[type="password"],
#signup-form input[type="url"],
#signup-form input[type="tel"],
#signup-form textarea,
#signup-form select,
#signup_form input[type="text"],
#signup_form input[type="email"],
#signup_form input[type="password"],
#signup_form textarea,
#signup_form select,
.bp-signup-form input[type="text"],
.bp-signup-form input[type="email"],
.bp-signup-form input[type="password"],
.bp-signup-form textarea,
.bbp-register input[type="text"],
.bbp-register input[type="email"],
.bbp-register input[type="password"] {
	width: 100%;
	max-width: 420px;
	padding: 10px 12px !important;
	font-size: 14px !important;
}

#signup-form .description,
#signup_form .description,
.bp-signup-form .description {
	display: block;
	margin: 4px 0 0;
	color: var(--text-muted);
	font-size: 12px;
	font-style: italic;
}

/* submit row */
#signup-form .submit,
#signup_form .submit,
.bp-signup-form .submit {
	text-align: right;
	margin-top: 20px;
}
#signup-form input[type="submit"],
#signup_form input[type="submit"],
.bp-signup-form input[type="submit"] {
	background: linear-gradient(180deg, #ffc766 0%, #f5a623 55%, #d48a10 100%) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 10px 24px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: .5px !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.5) !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.45),
		inset 0 -2px 0 rgba(0,0,0,.15),
		0 2px 4px rgba(0,0,0,.4) !important;
}
#signup-form input[type="submit"]:hover,
#signup_form input[type="submit"]:hover,
.bp-signup-form input[type="submit"]:hover {
	background: linear-gradient(180deg, #9a9a9a 0%, #7a7a7a 55%, #5c5c5c 100%) !important;
}

/* visibility/role chips underneath fields */
#signup-form .field-visibility-settings,
#signup_form .field-visibility-settings,
.bp-signup-form .field-visibility-settings {
	background: rgba(0,0,0,.15);
	border: 1px solid #727272;
	padding: 8px 10px;
	border-radius: 4px;
	margin-top: 8px;
	font-size: 12px;
	color: var(--text-muted);
}
#signup-form .field-visibility-settings strong,
#signup_form .field-visibility-settings strong,
.bp-signup-form .field-visibility-settings strong { color: #fff; }

/* ---------- utility ---------- */
.rbf-sr { position: absolute; left: -9999px; }
.alignleft { float: left; margin: 0 16px 8px 0; }
.alignright { float: right; margin: 0 0 8px 16px; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
