/* ==========================================================================
   Ribbons & Reins — "Tack Room" v2.1.9
   phpBB 3.3.17 child style · Parent: prosilver
   prosilver's stylesheet loads first (see overall_header.html); everything
   here is an override layer. Sections:
    1  Tokens            9  Topic list (viewforum)
    2  Base & type      10  Posts & profiles (viewtopic)
    3  Layout shell     11  Buttons
    4  Site bar         12  Forms & inputs
    5  Banner + strap   13  Panels, notices, stat cards
    6  Forum navbar     14  Dropdowns & pagination
    7  Breadcrumbs      15  UCP / MCP / memberlist / register
    8  Forum list       16  Footer
                        17  Responsive
   ========================================================================== */

/* 1 ---------- Tokens ---------- */
:root {
	/* --- Shared with the main site (app.css values). merits.css and any
	       other main-site component read these — keep names and meanings
	       identical: --rr-white = soft page white, --rr-card = card surface. */
	--rr-blue: #536B7A;
	--rr-blue-dark: #415664;
	--rr-burgundy: #7A3948;
	--rr-burgundy-dark: #612D39;
	--rr-burgundy-lt: color-mix(in oklab, var(--rr-burgundy), white 35%);
	--rr-champagne: #D6BF91;
	--rr-brass: #B79A63;
	--rr-white: #FAF8F3;
	--rr-slate: #343A40;
	--rr-card: #FFFFFF;
	--rr-muted: #6D767C;
	--rr-border: rgba(83, 107, 122, 0.18);
	--rr-light: #F7F2E8;
	--rr-radius: 7px;
	--rr-radius-lg: 22px;
	--rr-shadow: 0 10px 30px rgba(52, 58, 64, 0.08);
	--rr-shadow-lg: 0 20px 55px rgba(52, 58, 64, 0.13);
	--rr-serif: "Libre Caslon Text", Georgia, "Times New Roman", serif;
	--rr-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;

	/* --- Forum-only tokens (prefixed uses below; not read by main-site CSS) */
	--rr-blue-deep: #3B4D59;
	--rr-blue-tint: #EEF2F5;
	--rr-blue-tint-2: #E8EDF1;
	--rr-blue-line: #B9C4CB;
	--rr-champagne-lt: #E7D6B2;
	--rr-soft-white: #FAF8F3;
	--rr-faint: #6A6F73;
	--rr-line: #DCE3E8;
	--rr-line-soft: #E6EBEF;
	--rr-input-line: #C9D3DA;
	--rr-radius-card: 10px;
	--rr-radius-sm: 6px;
	--rr-shadow-sm: 0 4px 14px rgba(83, 107, 122, 0.07);
	--rr-container: 1200px;
	--rr-grain: radial-gradient(rgba(0, 0, 0, 0.07) 1px, transparent 1.2px);
	--rr-grain-dark: radial-gradient(rgba(0, 0, 0, 0.12) 1px, transparent 1.2px);
	--rr-stitch: 1.5px dashed rgba(214, 191, 145, 0.6);
}

/* 2 ---------- Base & type ---------- */
html,
body#phpbb {
	background: var(--rr-blue-tint);
}

body#phpbb {
	padding: 0;
	color: var(--rr-slate);
	font-family: var(--rr-sans);
	font-size: 15px;
	line-height: 1.55;
}

#phpbb a {
	color: var(--rr-burgundy);
}

#phpbb a:hover,
#phpbb a:focus {
	color: var(--rr-burgundy-dark);
	text-decoration: underline;
}

#phpbb a:focus-visible,
#phpbb button:focus-visible,
#phpbb input:focus-visible,
#phpbb select:focus-visible,
#phpbb textarea:focus-visible {
	outline: 2px solid var(--rr-blue);
	outline-offset: 2px;
}

#phpbb h1,
#phpbb h2,
#phpbb h3,
#phpbb h4 {
	font-family: var(--rr-serif);
	font-weight: 400;
	color: var(--rr-blue-dark);
	text-transform: none;
	letter-spacing: 0;
}

#phpbb h2,
#phpbb .topic-title,
#phpbb .forum-title {
	font-size: 2.1em;
	line-height: 1.2;
	margin: 0.2em 0 0.4em;
}

#phpbb h2 a,
#phpbb .topic-title a,
#phpbb .forum-title a {
	color: var(--rr-blue-dark);
}

#phpbb h3 {
	font-size: 1.3em;
	border-bottom-color: var(--rr-line);
	color: var(--rr-blue-dark);
}

#phpbb hr,
#phpbb .divider {
	border-color: var(--rr-line);
}

#phpbb .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

#phpbb p.time,
#phpbb .responsive-center.time {
	color: var(--rr-faint);
	font-size: 13px;
	margin: 0 0 18px;
}

/* 3 ---------- Layout shell ---------- */
#phpbb .wrap,
#phpbb .rr-wrap {
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.rr-container {
	max-width: var(--rr-container);
	margin: 0 auto;
	padding-inline: 24px;
	box-sizing: border-box;
}

#phpbb .page-body {
	max-width: var(--rr-container);
	margin: 0 auto;
	padding: 26px 24px 48px;
	box-sizing: border-box;
}

/* Board index: forum list full width, info blocks in a row beneath it */
.rr-index-blocks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	align-items: start;
	gap: 22px;
	margin-top: 8px;
}

.rr-index-after {
	margin-top: 26px;
	text-align: center;
}

.rr-index-after:empty {
	display: none;
}

/* 4 ---------- Site bar (mirrors ribbonsreins.com) ---------- */
.rr-sitebar {
	background: var(--rr-blue-deep);
	color: var(--rr-soft-white);
}

.rr-sitebar-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 26px;
	padding-block: 8px;
}

#phpbb .rr-sitebar-brand {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--rr-soft-white);
	text-decoration: none;
}

.rr-monogram {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1.5px solid var(--rr-champagne);
	border-radius: 50%;
	font-family: var(--rr-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	color: var(--rr-soft-white);
}

.rr-monogram em {
	font-style: italic;
	font-weight: 400;
	color: var(--rr-champagne);
}

.rr-sitebar-name {
	font-family: var(--rr-serif);
	font-size: 18px;
}

.rr-sitebar-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	flex-grow: 1;
}

#phpbb .rr-sitebar-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 12px;
	color: #E9E2D2;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

#phpbb .rr-sitebar-nav a:hover {
	color: #FFFFFF;
	border-bottom-color: rgba(214, 191, 145, 0.5);
}

#phpbb .rr-sitebar-nav a.is-active {
	color: #FFFFFF;
	font-weight: 700;
	border-bottom-color: var(--rr-champagne);
}

.rr-sitebar-actions {
	display: flex;
	gap: 10px;
}

#phpbb .rr-sitebar-btn {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid rgba(214, 191, 145, 0.6);
	border-radius: var(--rr-radius-sm);
	color: var(--rr-soft-white);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

#phpbb .rr-sitebar-btn:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #FFFFFF;
}

#phpbb .rr-sitebar-btn.is-primary {
	background: var(--rr-champagne);
	border-color: var(--rr-champagne);
	color: #3B2128;
	font-weight: 700;
}

#phpbb .rr-sitebar-btn.is-primary:hover {
	background: var(--rr-champagne-lt);
	color: #3B2128;
}

/* 5 ---------- Banner (blue leather) + bridle strap ---------- */
#phpbb .headerbar.rr-headerbar {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background-color: var(--rr-blue);
	background-image: var(--rr-grain), radial-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1.2px);
	background-size: 4px 4px, 7px 7px;
	color: var(--rr-soft-white);
}

#phpbb .rr-header-inner {
	padding-block: 32px 36px;
}

.rr-stitched {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 26px 30px;
	border-radius: var(--rr-radius-card);
}

.rr-stitched::before {
	content: "";
	position: absolute;
	inset: 0;
	border: var(--rr-stitch);
	border-radius: inherit;
	pointer-events: none;
}

#phpbb .rr-site-description {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

#phpbb .rr-brand {
	display: flex;
	flex-direction: column;
	gap: 6px;
	float: none;
	padding: 0;
	color: #FFFFFF;
	text-decoration: none;
}

.rr-site-description-text {
	font-family: var(--rr-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rr-champagne-lt);
}

.rr-site-name {
	font-family: var(--rr-serif);
	font-size: 44px;
	line-height: 1.1;
	color: #FFFFFF;
}

#phpbb .rr-search.search-header {
	float: none;
	display: block;
	flex: 0 1 360px;
	min-width: 240px;
	margin: 0;
	border-radius: var(--rr-radius-sm);
	box-shadow: none;
}

#phpbb .rr-search fieldset {
	display: flex;
}

#phpbb .rr-search .inputbox.search {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 16px;
	border: 1px solid var(--rr-champagne);
	border-right: 0;
	border-radius: var(--rr-radius-sm) 0 0 var(--rr-radius-sm);
	background: var(--rr-card);
	font: inherit;
	font-size: 15px;
	color: var(--rr-slate);
	box-shadow: none;
}

#phpbb .rr-search .button-search,
#phpbb .rr-search .button-search-end {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--rr-champagne);
	border-radius: 0;
	background: var(--rr-burgundy);
	background-image: none;
	box-shadow: none;
	color: var(--rr-soft-white);
}

#phpbb .rr-search .button-search-end {
	border-left: 1px solid rgba(214, 191, 145, 0.5);
	border-radius: 0 var(--rr-radius-sm) var(--rr-radius-sm) 0;
	background: var(--rr-burgundy-dark);
}

#phpbb .rr-search .button-search:hover,
#phpbb .rr-search .button-search-end:hover {
	background: var(--rr-burgundy-dark);
	color: #FFFFFF;
}

.rr-strap {
	position: relative;
	height: 14px;
	background-color: var(--rr-burgundy);
	background-image: var(--rr-grain-dark);
	background-size: 3px 3px;
}

.rr-strap::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 6px;
	border-top: 1.5px dashed rgba(214, 191, 145, 0.7);
}

/* 6 ---------- Forum navbar ---------- */
#phpbb #page-header .navbar {
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: var(--rr-card);
	border-bottom: 1px solid var(--rr-line);
	box-shadow: 0 6px 18px rgba(83, 107, 122, 0.07);
}

#phpbb #page-header .navbar > .inner {
	max-width: var(--rr-container);
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

#phpbb .nav-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 4px;
	margin: 0;
	padding: 4px 0;
	border-bottom: 1px solid var(--rr-line-soft);
}

#phpbb .nav-main > li {
	float: none;
	margin: 0;
	padding: 0;
}

#phpbb .nav-main > li.rightside {
	margin-inline-start: auto;
}

#phpbb .nav-main > li.rightside + li.rightside {
	margin-inline-start: 0;
}

#phpbb .nav-main > li > a,
#phpbb .nav-main > li > .header-profile > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 12px;
	border-radius: var(--rr-radius-sm);
	color: var(--rr-blue-dark);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

#phpbb .nav-main > li > a:hover,
#phpbb .nav-main > li > .header-profile > a:hover,
#phpbb .nav-main .dropdown-visible > a {
	background: var(--rr-blue-tint);
	color: var(--rr-burgundy);
}

#phpbb .nav-main > li > a > span,
#phpbb .nav-main > li > a > i + span {
	display: inline;
}

#phpbb .nav-main .og-navbar-icon {
	color: var(--rr-blue);
}

#phpbb .nav-main .quick-links > a::after {
	content: "";
	width: 6px;
	height: 6px;
	margin-inline-start: 4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.6;
}

/* hide guest log in / register here — they live in the site bar */
#phpbb .nav-main > li.rr-guest-link {
	display: none;
}

#phpbb .nav-main .badge {
	min-width: 18px;
	padding: 1px 6px;
	border: 1.5px solid var(--rr-champagne);
	border-radius: 9px;
	background: var(--rr-burgundy);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	box-shadow: none;
}

#phpbb .header-avatar img {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1.5px solid var(--rr-champagne);
}

/* 7 ---------- Breadcrumbs ---------- */
#phpbb .nav-breadcrumbs {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 6px 0;
}

#phpbb .nav-breadcrumbs > li {
	float: none;
	margin: 0;
}

#phpbb .breadcrumbs .crumb {
	font-size: 14px;
	font-weight: 600;
	word-wrap: normal;
}

#phpbb .breadcrumbs .crumb a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	color: var(--rr-burgundy);
}

#phpbb .breadcrumbs .crumb::before {
	content: "›";
	padding: 0 8px;
	color: var(--rr-blue-line);
	font-weight: 400;
}

#phpbb .breadcrumbs .crumb:first-child::before {
	content: none;
}

#phpbb .nav-breadcrumbs > li.rightside {
	margin-inline-start: auto;
}

#phpbb .nav-breadcrumbs .responsive-search a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	color: var(--rr-blue);
}

/* 8 ---------- Forum list (board index / subforums) ---------- */
#phpbb .forabg,
#phpbb .forumbg {
	margin: 0 0 26px;
	padding: 0;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	background-image: none;
	box-shadow: var(--rr-shadow);
	overflow: hidden;
}

#phpbb .forabg > .inner,
#phpbb .forumbg > .inner {
	padding: 0;
}

/* category strap */
#phpbb .forabg ul.topiclist li.header,
#phpbb .rr-topic-group-header {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--rr-burgundy);
}

#phpbb .forabg ul.topiclist li.header::before,
#phpbb .rr-topic-group-header::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1.5px dashed rgba(214, 191, 145, 0.55);
	border-radius: var(--rr-radius-sm);
	pointer-events: none;
}

#phpbb ul.topiclist li.header dl.row-item,
#phpbb .rr-topic-header-row {
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 0 22px;
	background: transparent;
}

#phpbb ul.topiclist li.header dt,
#phpbb ul.topiclist li.header dd,
#phpbb .rr-topic-header-row dt,
#phpbb .rr-topic-header-row dd {
	float: none;
	padding: 0;
	border: 0;
	color: #F3E9D6;
	font-family: var(--rr-sans);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.3;
}

#phpbb ul.topiclist li.header dt {
	flex: 1;
	min-width: 0;
	width: auto;
	margin: 0;
}

#phpbb ul.topiclist li.header dt .list-inner,
#phpbb .rr-topic-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	font-family: var(--rr-serif);
	font-size: 21px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #FFFFFF;
}

#phpbb .rr-topic-heading span {
	font-weight: 700;
	color: #FFFFFF;
}

#phpbb .rr-topic-heading i {
	color: var(--rr-champagne);
	font-size: 18px;
}

/* Category title: solid white on the burgundy strap in every link state
   (prosilver's a:visited blue was bleeding through and was hard to read). */
#phpbb .forabg li.header a.rr-cat-header,
#phpbb .forabg li.header a.rr-cat-header:link,
#phpbb .forabg li.header a.rr-cat-header:visited,
#phpbb .forabg li.header a.rr-cat-header span {
	color: #FFFFFF;
}

#phpbb .forabg li.header a.rr-cat-header {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-weight: 700;
	text-decoration: none;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

#phpbb .forabg li.header a.rr-cat-header:hover,
#phpbb .forabg li.header a.rr-cat-header:focus {
	color: #FFFFFF;
	text-decoration: underline;
	text-decoration-color: var(--rr-champagne);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}

.rr-horseshoe {
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--rr-champagne);
}

/* undo prosilver's negative-margin column trick (layout is flex now) */
#phpbb ul.topiclist dl.row-item {
	position: relative;
}

#phpbb ul.topiclist dt .list-inner {
	margin-right: 0;
	padding-left: 0;
	padding-right: 12px;
}

/* column widths shared by header + rows */
#phpbb ul.topiclist dd.topics,
#phpbb ul.topiclist dd.posts,
#phpbb ul.topiclist dd.views {
	width: 84px;
	text-align: center;
}

#phpbb ul.topiclist dd.lastpost {
	width: 230px;
	text-align: left;
}

#phpbb ul.topiclist li.header dd.lastpost {
	padding-left: 17px;
}

/* viewforum group header sits outside ul.topiclist: give it the same columns */
#phpbb .rr-topic-header-row dt {
	flex: 1;
	min-width: 0;
	width: auto;
	margin: 0;
}

#phpbb .rr-topic-header-row dd.posts,
#phpbb .rr-topic-header-row dd.views {
	width: 84px;
	text-align: center;
}

#phpbb .rr-topic-header-row dd.lastpost {
	width: 230px;
	padding-left: 17px;
	text-align: left;
}

/* number + last-post columns never shrink, so headers stay over their
   values even when a title is long */
#phpbb ul.topiclist dd,
#phpbb .rr-topic-header-row dd {
	flex: none;
	box-sizing: content-box;
}

/* labels sit in the vertical middle of the strap */
#phpbb .rr-topic-group-header dl.rr-topic-header-row,
#phpbb .forabg ul.topiclist li.header dl.row-item {
	display: flex;
	align-items: center;
}

#phpbb .rr-topic-header-row dt,
#phpbb .rr-topic-header-row dd,
#phpbb ul.topiclist li.header dt,
#phpbb ul.topiclist li.header dd {
	align-self: center;
	margin-top: 0;
	margin-bottom: 0;
}

/* Header labels: each label fills the bar's height and centres its own
   text, so they sit mid-bar however tall the bar is. */
#phpbb .forumbg .rr-topic-group-header,
#phpbb .forabg ul.topiclist li.header {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row,
#phpbb .forabg ul.topiclist li.header > dl.row-item {
	align-items: stretch;
	width: 100%;
	box-sizing: border-box;
}

#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dt,
#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd,
#phpbb .forabg ul.topiclist li.header > dl.row-item > dt,
#phpbb .forabg ul.topiclist li.header > dl.row-item > dd {
	display: flex;
	align-items: center;
	align-self: stretch;
	height: auto;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 1.3;
}

#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd.posts,
#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd.views,
#phpbb .forabg ul.topiclist li.header > dl.row-item > dd.topics,
#phpbb .forabg ul.topiclist li.header > dl.row-item > dd.posts {
	justify-content: center;
}

#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd.lastpost,
#phpbb .forabg ul.topiclist li.header > dl.row-item > dd.lastpost {
	justify-content: flex-start;
}

/* rows */
#phpbb ul.topiclist.forums,
#phpbb ul.topiclist.topics {
	background: var(--rr-card);
}

#phpbb ul.topiclist li.row {
	margin: 0;
	border: 0;
	border-top: 1px solid var(--rr-line-soft);
	background: var(--rr-card);
	transition: background-color 0.15s ease;
}

#phpbb ul.topiclist li.row:first-child {
	border-top: 0;
}

#phpbb ul.topiclist li.row:hover {
	background: #F7F9FA;
}

#phpbb ul.topiclist li.row dl.row-item {
	display: flex;
	align-items: center;
	min-height: 88px;
	padding: 0 22px;
	background-image: none;
}

#phpbb ul.topiclist li.row dt {
	flex: 1;
	min-width: 0;
	width: auto;
	margin: 0;
	padding: 16px 0;
	float: none;
}

#phpbb ul.topiclist li.row dd {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 14px;
}

#phpbb ul.topiclist li.row dd.topics,
#phpbb ul.topiclist li.row dd.posts,
#phpbb ul.topiclist li.row dd.views {
	font-family: var(--rr-serif);
	font-size: 19px;
	color: var(--rr-blue-dark);
}

#phpbb ul.topiclist li.row dd.topics dfn,
#phpbb ul.topiclist li.row dd.posts dfn,
#phpbb ul.topiclist li.row dd.views dfn {
	display: none;
}

#phpbb ul.topiclist li.row dd.lastpost {
	padding: 4px 0 4px 16px;
	border-left: 1px solid var(--rr-line-soft);
	font-size: 13px;
	line-height: 1.45;
	color: var(--rr-faint);
}

#phpbb ul.topiclist li.row dd.lastpost > span {
	display: block;
}

#phpbb ul.topiclist li.row dd.lastpost a.lastsubject {
	font-weight: 700;
	color: var(--rr-burgundy);
}

#phpbb ul.topiclist li.row dd.lastpost .username,
#phpbb ul.topiclist li.row dd.lastpost .username-coloured {
	font-weight: 600;
}

#phpbb .rr-latest-post {
	margin-inline-start: 4px;
	color: var(--rr-blue);
	font-size: 12px;
}

#phpbb a.forumtitle {
	display: inline-block;
	margin-bottom: 2px;
	font-family: var(--rr-serif);
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--rr-burgundy);
}

#phpbb ul.topiclist.forums li.row dt .list-inner {
	color: var(--rr-muted);
	font-size: 14.5px;
	line-height: 1.5;
}

#phpbb ul.topiclist li.row dt .list-inner strong {
	color: var(--rr-blue-dark);
	font-weight: 600;
}

#phpbb a.subforum {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 4px 10px 0 0;
	font-size: 13.5px;
	font-weight: 600;
}

#phpbb .rr-subforum-icon.rr-icon-unread {
	color: var(--rr-burgundy);
}

#phpbb .rr-subforum-icon.rr-icon-read {
	color: var(--rr-blue-line);
}

#phpbb .rr-lastpost-icon,
#phpbb .rr-topic-meta-icon {
	color: var(--rr-burgundy);
}

#phpbb .row-item-link {
	z-index: 1;
}

/* legend under the forum list */
.rr-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: -8px 0 8px;
	font-size: 13px;
	color: var(--rr-muted);
}

.rr-legend span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.rr-legend i {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	box-sizing: border-box;
}

.rr-legend .is-unread {
	background: var(--rr-burgundy);
	border: 2px solid var(--rr-champagne);
}

.rr-legend .is-read {
	background: var(--rr-blue-tint);
	border: 2px solid var(--rr-blue-line);
}

/* 9 ---------- Topic list (viewforum) ---------- */
#phpbb .rr-topic-group.announcement .rr-topic-group-header {
	background-color: var(--rr-blue-dark);
}

/* topic rows: normal text flow so a prefix sits on the same line as the
   title; the status medallion is pinned to the left */
#phpbb ul.topiclist .rr-topic-row > dt > .list-inner {
	position: relative;
	display: block;
	min-height: 40px;
	padding-left: 56px;
}

#phpbb .rr-topic-status {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 16px;
	text-decoration: none;
}

/* anything the extensions place before the title (e.g. topic prefixes)
   lines up inline with it, keeping its own colours */
#phpbb ul.topiclist .rr-topic-row > dt > .list-inner > :not(.rr-topic-status):has(~ .topictitle) {
	display: inline-flex;
	align-items: center;
	vertical-align: 0.12em;
	margin: 0 8px 4px 0;
}

#phpbb ul.topiclist .rr-topic-row > dt > .list-inner > a.topictitle {
	display: inline;
}

/* prosilver floats these; in normal flow they should stack */
#phpbb .rr-topic-row .list-inner .left-box {
	float: none;
	display: block;
}

#phpbb .rr-topic-status-read {
	background: var(--rr-blue-tint);
	border: 2px solid var(--rr-blue-line);
	color: var(--rr-blue);
}

#phpbb a.rr-topic-status-unread {
	background: var(--rr-burgundy);
	border: 2px solid var(--rr-champagne);
	color: var(--rr-champagne-lt);
}

#phpbb a.rr-topic-status-unread:hover {
	background: var(--rr-burgundy-dark);
	color: #FFFFFF;
	text-decoration: none;
}

#phpbb .rr-topic-status.rr-topic-locked {
	opacity: 0.85;
}

#phpbb a.topictitle {
	font-family: var(--rr-serif);
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--rr-burgundy);
}

#phpbb .topic-poster,
#phpbb ul.topiclist.topics .list-inner .responsive-show {
	font-size: 13px;
	color: var(--rr-faint);
}

#phpbb ul.topiclist li.row.sticky,
#phpbb ul.topiclist li.row.announce,
#phpbb ul.topiclist li.row.global-announce {
	background: #F7F9FA;
}

#phpbb ul.topiclist li.row.reported {
	background: #F8EEF0;
}

#phpbb .row .pagination {
	float: none;
	margin-top: 6px;
}

/* 10 ---------- Posts & profiles (viewtopic) ---------- */
#phpbb .topic-title {
	margin-bottom: 6px;
}

#phpbb .post.rr-post {
	margin: 0 0 22px;
	padding: 0;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-shadow: var(--rr-shadow);
	overflow: hidden;
}

/* the grid lives on the .inner wrapper that holds profile + body */
#phpbb .post.rr-post > .inner {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	align-items: stretch;
}

#phpbb .post.rr-post > .inner::before,
#phpbb .post.rr-post > .inner::after {
	display: none;
	content: none;
}

#phpbb .post.rr-post.bg1,
#phpbb .post.rr-post.bg2 {
	background: var(--rr-card);
}

#phpbb .post.rr-post.unreadpost {
	border-color: rgba(122, 57, 72, 0.35);
}

#phpbb .post.rr-post.reported {
	background: #FCF5F6;
	border-color: rgba(122, 57, 72, 0.5);
}

#phpbb .post.rr-post.deleted .postbody {
	opacity: 0.6;
}

/* nameplate column */
#phpbb .postprofile.rr-postprofile {
	grid-column: 1;
	grid-row: 1 / span 2;
	float: none;
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 24px 18px;
	border: 0;
	border-right: 1px solid var(--rr-line);
	background: var(--rr-blue-tint-2);
	text-align: center;
	color: var(--rr-slate);
	font-size: 13px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

#phpbb .rr-postprofile > dt {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
}

#phpbb .rr-post-avatar .avatar img,
#phpbb .rr-avatar-placeholder {
	width: 96px;
	height: 96px;
	max-width: none;
	border: 3px solid var(--rr-champagne);
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--rr-card), 0 0 0 5px var(--rr-line);
	object-fit: cover;
	box-sizing: border-box;
}

#phpbb .rr-avatar-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--rr-blue);
	color: var(--rr-soft-white);
	font-size: 34px;
}

#phpbb .rr-post-author {
	margin-top: 6px;
	font-family: var(--rr-serif);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

#phpbb .rr-post-author a.username {
	color: var(--rr-blue-dark);
}

#phpbb .rr-post-handle {
	font-family: var(--rr-sans);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--rr-faint);
}

/* rank ribbon */
#phpbb .rr-profile-rank {
	margin: 0;
	padding: 0;
}

#phpbb .rr-rank-title {
	display: inline-block;
	padding: 5px 22px;
	background: var(--rr-burgundy);
	color: var(--rr-soft-white);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1.4;
	clip-path: polygon(0 0, 100% 0, calc(100% - 8px) 50%, 100% 100%, 0 100%, 8px 50%);
}

#phpbb .rr-rank-image img {
	max-width: 100%;
	margin-top: 6px;
}

#phpbb .rr-profile-meta {
	width: 100%;
	margin-top: 6px;
	padding-top: 10px;
	border-top: 1px solid var(--rr-line);
	text-align: left;
}

#phpbb .rr-profile-meta dd {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin: 0 0 4px;
	font-size: 13px;
	overflow-wrap: anywhere;
}

#phpbb .rr-profile-meta dd strong {
	color: var(--rr-faint);
	font-weight: 400;
}

#phpbb .postprofile .profile-contact {
	margin-top: 4px;
}

/* post body */
#phpbb .post.rr-post .postbody {
	grid-column: 2;
	float: none;
	width: auto;
	min-width: 0;
	padding: 20px 28px 22px;
	color: var(--rr-slate);
}

#phpbb .postbody h3 {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--rr-serif);
	font-size: 18px;
	font-weight: 700;
	color: var(--rr-blue-dark);
}

#phpbb .postbody h3 a {
	color: var(--rr-blue-dark);
}

#phpbb .postbody p.author {
	margin: 2px 0 0;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--rr-line-soft);
	font-size: 13px;
	color: var(--rr-faint);
}

#phpbb .rr-post-status-unread {
	color: var(--rr-burgundy);
}

#phpbb .rr-post-status-read {
	color: var(--rr-blue-line);
}

#phpbb .postbody .content {
	clear: both;
	min-height: 2em;
	padding-top: 16px;
	font-family: var(--rr-sans);
	font-size: 16px;
	line-height: 1.7;
	color: var(--rr-slate);
	overflow-wrap: anywhere;
}

#phpbb .content img.postimage {
	max-width: 100%;
	height: auto;
	border-radius: var(--rr-radius-sm);
}

#phpbb .content a.postlink {
	color: var(--rr-burgundy);
	border-bottom: 1px solid rgba(122, 57, 72, 0.35);
}

#phpbb .content a.postlink:hover {
	border-bottom-color: var(--rr-burgundy);
	text-decoration: none;
}

#phpbb ul.post-buttons {
	position: static;
	float: right;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
	max-width: 60%;
	margin: 0 0 8px 16px;
	padding: 0;
}

#phpbb ul.post-buttons li {
	margin: 0;
}

#phpbb ul.post-buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	background-image: none;
	box-shadow: none;
	color: var(--rr-blue);
}

#phpbb ul.post-buttons .button:hover {
	border-color: var(--rr-champagne);
	background: var(--rr-blue-tint);
	color: var(--rr-burgundy);
}

/* quotes, code, attachments */
#phpbb blockquote {
	margin: 12px 0 16px;
	padding: 14px 18px;
	border: 1px solid #D5DEE4;
	border-radius: 8px;
	background: #F4F7F9;
	font-size: 15px;
}

#phpbb blockquote blockquote {
	background: var(--rr-card);
}

#phpbb blockquote cite {
	display: block;
	margin-bottom: 4px;
	font-style: normal;
	font-weight: 700;
	font-size: 13px;
	color: var(--rr-burgundy);
}

#phpbb blockquote cite span {
	font-weight: 400;
	color: var(--rr-faint);
}

#phpbb .codebox {
	border: 1px solid var(--rr-line);
	border-radius: 8px;
	background: #F7F9FA;
	overflow: hidden;
}

#phpbb .codebox p {
	padding: 6px 12px;
	border-bottom: 1px solid var(--rr-line);
	background: var(--rr-blue-tint);
	color: var(--rr-blue-dark);
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

#phpbb .codebox code {
	padding: 12px;
	font-size: 13px;
	color: var(--rr-slate);
}

#phpbb .attachbox {
	border: 1px solid var(--rr-line);
	border-radius: 8px;
	background: #F7F9FA;
}

/* signature with horseshoe divider */
#phpbb .postbody .signature {
	position: relative;
	margin-top: 22px;
	padding-top: 24px;
	border-top: 0;
	font-size: 13.5px;
	color: var(--rr-faint);
	background:
		linear-gradient(var(--rr-line), var(--rr-line)) left 9px / calc(50% - 22px) 1px no-repeat,
		linear-gradient(var(--rr-line), var(--rr-line)) right 9px / calc(50% - 22px) 1px no-repeat;
}

#phpbb .postbody .signature::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 18px;
	height: 18px;
	transform: translateX(-50%);
	background-color: var(--rr-champagne);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20v-8a5 5 0 0 1 10 0v8'/%3E%3Cpath d='M5 20h4M15 20h4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20v-8a5 5 0 0 1 10 0v8'/%3E%3Cpath d='M5 20h4M15 20h4'/%3E%3C/svg%3E") center / contain no-repeat;
}

#phpbb .postbody .notice {
	border-top-color: var(--rr-line);
	color: var(--rr-faint);
	font-size: 13px;
}

#phpbb .back2top {
	grid-column: 2;
	padding: 0 22px 14px;
}

#phpbb .back2top .top {
	color: var(--rr-blue-line);
}

#phpbb .back2top .top:hover {
	color: var(--rr-burgundy);
}

#phpbb .post .ignore {
	padding: 12px 0;
	color: var(--rr-faint);
}

/* 11 ---------- Buttons ---------- */
#phpbb .button,
#phpbb a.button,
#phpbb .button-secondary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid var(--rr-champagne);
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	background-image: none;
	box-shadow: none;
	color: var(--rr-blue-dark);
	font-family: var(--rr-sans);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	text-shadow: none;
}

#phpbb .button:hover,
#phpbb .button:focus,
#phpbb .dropdown-visible > .button {
	border-color: var(--rr-blue);
	background: var(--rr-blue-tint);
	background-image: none;
	color: var(--rr-burgundy);
	text-decoration: none;
}

#phpbb .button .icon,
#phpbb .button i {
	color: inherit;
}

/* primary action: Post reply / New topic */
#phpbb .action-bar .buttons > .button:first-child,
#phpbb .rr-btn-leather,
#phpbb input.button1,
#phpbb a.button1,
#phpbb button.button1 {
	position: relative;
	min-height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: var(--rr-radius-sm);
	background: var(--rr-burgundy);
	background-image: none;
	box-shadow: inset 0 0 0 4px var(--rr-burgundy), inset 0 0 0 5px rgba(214, 191, 145, 0.6);
	color: var(--rr-soft-white);
	font-family: var(--rr-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
}

#phpbb .action-bar .buttons > .button:first-child:hover,
#phpbb .rr-btn-leather:hover,
#phpbb input.button1:hover,
#phpbb a.button1:hover,
#phpbb button.button1:hover {
	background: var(--rr-burgundy-dark);
	box-shadow: inset 0 0 0 4px var(--rr-burgundy-dark), inset 0 0 0 5px rgba(214, 191, 145, 0.75);
	color: #FFFFFF;
	text-decoration: none;
}

/* secondary form button */
#phpbb input.button2,
#phpbb a.button2,
#phpbb button.button2,
#phpbb input.button3 {
	min-height: 42px;
	padding: 0 16px;
	border: 1px solid var(--rr-champagne);
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	background-image: none;
	box-shadow: none;
	color: var(--rr-blue-dark);
	font-family: var(--rr-sans);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

#phpbb input.button2:hover,
#phpbb a.button2:hover,
#phpbb button.button2:hover,
#phpbb input.button3:hover {
	border-color: var(--rr-blue);
	background: var(--rr-blue-tint);
	color: var(--rr-burgundy);
}

#phpbb .action-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 14px 0;
	font-size: 14px;
}

#phpbb .action-bar .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	float: none;
	margin: 0;
}

#phpbb .action-bar > .pagination {
	margin-inline-start: auto;
	float: none;
}

#phpbb .action-bar .search-box {
	float: none;
	margin: 0;
	box-shadow: none;
}

#phpbb .action-bar .search-box fieldset {
	display: flex;
}

#phpbb .action-bar .search-box .inputbox {
	height: 42px;
	border-radius: var(--rr-radius-sm) 0 0 var(--rr-radius-sm);
	border-right: 0;
}

#phpbb .action-bar .search-box .button-search {
	min-height: 42px;
	border-radius: 0 var(--rr-radius-sm) var(--rr-radius-sm) 0;
	background: var(--rr-blue);
	border-color: var(--rr-blue);
	color: #FFFFFF;
}

#phpbb .mark-read,
#phpbb a.mark {
	font-size: 13px;
	font-weight: 600;
}

/* 12 ---------- Forms & inputs ---------- */
#phpbb .inputbox,
#phpbb input[type="text"],
#phpbb input[type="email"],
#phpbb input[type="password"],
#phpbb input[type="search"],
#phpbb input[type="number"],
#phpbb input[type="url"],
#phpbb select,
#phpbb textarea {
	border: 1px solid var(--rr-input-line);
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	color: var(--rr-slate);
	font-family: var(--rr-sans);
	font-size: 15px;
	box-shadow: none;
}

#phpbb input.inputbox,
#phpbb select {
	min-height: 42px;
	padding: 0 12px;
	box-sizing: border-box;
}

#phpbb textarea.inputbox,
#phpbb textarea {
	padding: 12px 14px;
	line-height: 1.6;
}

#phpbb .inputbox:hover,
#phpbb select:hover,
#phpbb textarea:hover {
	border-color: var(--rr-blue-line);
}

#phpbb .inputbox:focus,
#phpbb select:focus,
#phpbb textarea:focus {
	border-color: var(--rr-blue);
	box-shadow: 0 0 0 3px rgba(83, 107, 122, 0.15);
	outline: 0;
}

#phpbb input[type="checkbox"],
#phpbb input[type="radio"] {
	accent-color: var(--rr-burgundy);
	width: 17px;
	height: 17px;
	vertical-align: middle;
}

#phpbb fieldset dl {
	padding: 6px 0;
}

#phpbb fieldset dt label,
#phpbb fieldset dl dt label,
#phpbb dl.fields1 dt,
#phpbb dl.fields2 dt {
	color: var(--rr-blue-dark);
	font-weight: 600;
}

/* form label hints only — a bare "dt span" also hit topic prefixes and
   list headings (anything inside a <dt>) and overrode their colours */
#phpbb fieldset dt span,
#phpbb dl.fields1 dt span,
#phpbb dl.fields2 dt span,
#phpbb .explain {
	color: var(--rr-faint);
}

#phpbb fieldset.submit-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

#phpbb #format-buttons .button,
#phpbb .rr-format-buttons .button {
	min-height: 36px;
	min-width: 36px;
	padding: 0 8px;
	justify-content: center;
	border-color: var(--rr-line);
}

#phpbb #message-box textarea {
	min-height: 220px;
}

/* 13 ---------- Panels, notices, stat cards ---------- */
#phpbb .panel,
#phpbb .panel.bg1,
#phpbb .panel.bg2,
#phpbb .panel.bg3 {
	margin-bottom: 22px;
	padding: 22px 24px;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-shadow: var(--rr-shadow-sm);
	color: var(--rr-slate);
}

#phpbb .panel h2,
#phpbb .panel h3 {
	border-bottom: 1px solid var(--rr-line);
	padding-bottom: 10px;
	margin-bottom: 14px;
	font-size: 20px;
}

#phpbb .rules {
	margin-bottom: 20px;
	padding: 14px 18px;
	border: 1px solid rgba(122, 57, 72, 0.3);
	border-radius: var(--rr-radius-card);
	background: #FBF3F5;
	color: var(--rr-slate);
}

#phpbb .rules strong,
#phpbb .rules a {
	color: var(--rr-burgundy);
}

#phpbb p.error,
#phpbb .error {
	color: var(--rr-burgundy);
	font-weight: 600;
}

#phpbb .successbox {
	border: 1px solid var(--rr-blue-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-blue-tint);
	color: var(--rr-blue-dark);
}

#phpbb .errorbox,
#phpbb .warningbox {
	border: 1px solid rgba(122, 57, 72, 0.35);
	border-radius: var(--rr-radius-card);
	background: #FBF3F5;
	color: var(--rr-burgundy-dark);
}

/* sidebar cards on the board index */
#phpbb .rr-card {
	margin: 0;
	padding: 0;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-shadow: var(--rr-shadow-sm);
	overflow: hidden;
}

#phpbb .rr-card-title {
	margin: 0;
	padding: 12px 20px;
	border: 0;
	border-bottom: 3px solid var(--rr-champagne);
	background: var(--rr-blue);
	font-family: var(--rr-serif);
	font-size: 18px;
	font-weight: 400;
	color: #FFFFFF;
}

#phpbb .rr-card-title a {
	color: #FFFFFF;
}

#phpbb .rr-card-body {
	padding: 18px 20px;
	font-size: 14px;
	line-height: 1.6;
}

#phpbb .rr-card-body p {
	margin: 0 0 10px;
}

#phpbb .rr-card-body p:last-child {
	margin-bottom: 0;
}

#phpbb .stat-block.rr-card {
	clear: none;
	margin: 0;
}

#phpbb .stat-block.rr-card p {
	color: var(--rr-slate);
}

#phpbb .rr-card .rr-small {
	font-size: 13px;
	color: var(--rr-faint);
}

#phpbb .rr-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

#phpbb .rr-stats li {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--rr-faint);
	line-height: 1.3;
}

#phpbb .rr-stats li strong {
	font-family: var(--rr-serif);
	font-size: 24px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--rr-blue-dark);
	line-height: 1.2;
}

#phpbb .rr-newest {
	margin: 14px -20px -18px;
	padding: 12px 20px 16px;
	border-top: 1px solid var(--rr-line-soft);
}

/* login card */
#phpbb .rr-login-form {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

#phpbb .rr-login-form label.rr-field-label {
	margin-top: 6px;
	font-weight: 600;
	font-size: 14px;
	color: var(--rr-blue-dark);
}

#phpbb .rr-login-form .inputbox {
	width: 100%;
	height: 46px;
	min-height: 46px;
	font-size: 16px;
}

#phpbb .rr-login-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 12px;
	margin: 4px 0 8px;
	font-size: 14px;
}

#phpbb .rr-login-row label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
}

#phpbb .rr-login-form .rr-btn-leather {
	width: 100%;
	height: 48px;
}

#phpbb .rr-login-register {
	margin: 10px 0 0;
	text-align: center;
	font-size: 14px;
	color: var(--rr-muted);
}

#phpbb .rr-login-register a {
	font-weight: 700;
}

/* 14 ---------- Dropdowns & pagination ---------- */
#phpbb .dropdown .dropdown-contents {
	padding: 6px;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-shadow: 0 14px 34px rgba(52, 58, 64, 0.16);
}

#phpbb .dropdown .pointer {
	border-color: var(--rr-line) transparent;
}

#phpbb .dropdown .pointer-inner {
	border-color: var(--rr-card) transparent;
}

#phpbb .dropdown li {
	border-top-color: var(--rr-line-soft);
}

#phpbb .dropdown li.separator {
	border-top-color: var(--rr-line);
	margin: 4px 0;
}

#phpbb .dropdown-contents a {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 10px;
	border-radius: var(--rr-radius-sm);
	color: var(--rr-slate);
	font-size: 14px;
}

#phpbb .dropdown-contents a:hover {
	background: var(--rr-blue-tint);
	color: var(--rr-burgundy);
	text-decoration: none;
}

#phpbb .pagination {
	font-size: 14px;
}

#phpbb .pagination li a,
#phpbb .pagination li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	background-image: none;
	box-shadow: none;
	color: var(--rr-blue-dark);
	font-weight: 600;
	box-sizing: border-box;
}

#phpbb .pagination li a:hover {
	border-color: var(--rr-champagne);
	background: var(--rr-blue-tint);
	color: var(--rr-burgundy);
	text-decoration: none;
}

#phpbb .pagination li.active span {
	border-color: var(--rr-burgundy);
	background: var(--rr-burgundy);
	color: #FFFFFF;
}

#phpbb .pagination li.ellipsis span {
	border: 0;
	background: transparent;
	min-width: 0;
}

#phpbb .pagination .page-jump .button {
	min-height: 34px;
	height: 34px;
}

/* 15 ---------- UCP / MCP / memberlist / register ---------- */
#phpbb .tabs .tab > a {
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	padding: 0 14px;
	border: 1px solid var(--rr-line);
	border-bottom: 0;
	border-radius: var(--rr-radius-sm) var(--rr-radius-sm) 0 0;
	background: var(--rr-blue-tint-2);
	color: var(--rr-blue-dark);
	font-weight: 600;
	box-shadow: none;
}

#phpbb .tabs .tab > a:hover {
	background: var(--rr-card);
	color: var(--rr-burgundy);
}

#phpbb .tabs .activetab > a,
#phpbb .tabs .activetab > a:hover {
	background: var(--rr-burgundy);
	border-color: var(--rr-burgundy);
	color: #FFFFFF;
}

#phpbb .cp-main .panel,
#phpbb .cp-main .forabg,
#phpbb .cp-main .forumbg {
	box-shadow: none;
}

#phpbb #cp-menu .navigation a,
#phpbb .navigation a {
	border-radius: var(--rr-radius-sm);
	background: var(--rr-card);
	background-image: none;
	color: var(--rr-blue-dark);
	font-weight: 600;
}

#phpbb .navigation a:hover,
#phpbb .navigation #active-subsection a {
	background: var(--rr-burgundy);
	color: #FFFFFF;
	text-decoration: none;
}

#phpbb .cp-mini {
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	border: 1px solid var(--rr-line);
}

#phpbb table.table1 thead th {
	background: var(--rr-blue);
	color: #FFFFFF;
	font-weight: 700;
}

#phpbb table.table1 tbody tr {
	border-color: var(--rr-line-soft);
}

#phpbb table.table1 tbody tr:hover,
#phpbb table.table1 tbody tr.hover {
	background: var(--rr-blue-tint);
}

#phpbb .bg1 { background-color: var(--rr-card); }
#phpbb .bg2 { background-color: #F7F9FA; }
#phpbb .bg3 { background-color: var(--rr-blue-tint); }

/* memberlist title */
#phpbb .memberlist-title {
	margin-bottom: 18px;
}

/* registration */
#phpbb .rr-register-page {
	max-width: 860px;
	margin: 0 auto;
}

#phpbb .rr-register-heading {
	text-align: center;
	margin-bottom: 22px;
}

#phpbb .rr-register-kicker {
	display: block;
	margin-bottom: 6px;
	font-family: var(--rr-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--rr-burgundy);
}

#phpbb .panel.rr-register-card {
	padding: 26px 28px;
}

#phpbb .rr-register-section-heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rr-line);
	font-family: var(--rr-serif);
	font-size: 20px;
	color: var(--rr-blue-dark);
}

#phpbb .rr-register-section-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 2px solid var(--rr-champagne);
	border-radius: 50%;
	background: var(--rr-burgundy);
	color: var(--rr-champagne-lt);
	font-size: 15px;
}

#phpbb .rr-register-fields dt {
	width: 34%;
}

#phpbb .rr-register-fields dd {
	margin-left: 36%;
}

#phpbb .rr-register-fields .inputbox {
	width: 100%;
	max-width: 420px;
}

#phpbb .rr-register-submit {
	margin-top: 18px;
}

/* notifications dropdown ------------------------------------------------ */
#phpbb #notification_list .dropdown-contents {
	padding: 0;
	overflow: hidden;
}

/* title bar: leather, like the board index cards */
#phpbb #notification_list .header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 12px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-bottom: 3px solid var(--rr-champagne);
	background: var(--rr-leather, var(--rr-blue));
	background-image: none;
	color: #FFFFFF;
	font-family: var(--rr-serif);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.3;
	text-transform: none;
	letter-spacing: 0;
	text-shadow: none;
}

/* prosilver adds a white text-shadow here; it blurs light text on leather */
#phpbb #notification_list .header *,
#phpbb #notification_list .header_settings a {
	text-shadow: none;
}

#phpbb #notification_list .header_settings {
	float: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-family: var(--rr-sans);
	font-size: 13px;
	font-weight: 600;
	text-transform: none;
	color: var(--rr-champagne-lt);
}

#phpbb #notification_list #mark_all_notifications {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

#phpbb #notification_list .header_settings a {
	display: inline;
	min-height: 0;
	padding: 0;
	border-radius: 0;
	background: none;
	color: var(--rr-champagne-lt);
	font-size: 13px;
	text-decoration: none;
}

#phpbb #notification_list .header_settings a:hover,
#phpbb #notification_list .header_settings a:focus {
	background: none;
	color: #FFFFFF;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* rows */
#phpbb #notification_list ul {
	margin: 0;
	padding: 0;
}

#phpbb #notification_list ul li {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--rr-line-soft);
	background: var(--rr-card);
}

#phpbb #notification_list ul li:first-child {
	border-top: 0;
}

/* unread: tinted, with a burgundy edge */
#phpbb #notification_list ul li.bg2 {
	background: color-mix(in srgb, var(--rr-burgundy) 6%, var(--rr-card));
	box-shadow: inset 3px 0 0 var(--rr-burgundy);
}

#phpbb #notification_list ul li:hover {
	background: var(--rr-blue-tint);
}

#phpbb #notification_list ul li.bg2:hover {
	background: color-mix(in srgb, var(--rr-burgundy) 10%, var(--rr-card));
}

#phpbb #notification_list .notification-block {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 0;
	padding: 12px 52px 12px 14px;
	border-radius: 0;
	background: none;
	color: var(--rr-slate);
	text-decoration: none;
}

#phpbb #notification_list .notification-block:hover {
	background: none;
	color: var(--rr-slate);
}

#phpbb #notification_list .notification-block img,
#phpbb #notification_list .notification-block .avatar {
	flex: none;
	width: 40px;
	height: 40px;
	max-width: none;
	border-radius: 50%;
	object-fit: cover;
}

#phpbb #notification_list .notification_text {
	flex: 1;
	min-width: 0;
	margin: 0;
	padding: 0;
}

#phpbb #notification_list .notification-title {
	margin: 0;
	color: var(--rr-slate);
	font-size: 14px;
	line-height: 1.4;
}

#phpbb #notification_list li.bg2 .notification-title {
	font-weight: 700;
}

#phpbb #notification_list .notification-reference {
	margin: 2px 0 0;
	color: var(--rr-muted);
	font-size: 13px;
}

#phpbb #notification_list .notification-time {
	margin: 3px 0 0;
	color: var(--rr-faint);
	font-size: 12px;
	font-style: normal;
	text-align: left;
}

/* mark-read check button */
#phpbb #notification_list .mark_read {
	position: absolute;
	top: 50%;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--rr-line);
	border-radius: 50%;
	background: var(--rr-card);
	color: var(--rr-blue);
	font-size: 13px;
	transform: translateY(-50%);
}

#phpbb #notification_list .mark_read:hover,
#phpbb #notification_list .mark_read:focus {
	border-color: var(--rr-champagne);
	background: var(--rr-strap, var(--rr-burgundy));
	color: #FFFFFF;
}

/* footer */
#phpbb #notification_list .footer {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--rr-line);
	background: var(--rr-blue-tint);
	text-align: center;
}

#phpbb #notification_list .footer a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 0;
	color: var(--rr-burgundy);
	font-size: 14px;
	font-weight: 700;
}

#phpbb #notification_list .footer a:hover {
	background: var(--rr-blue-tint-2);
	color: var(--rr-burgundy-dark);
	text-decoration: none;
}

/* 16 ---------- Footer ---------- */
#phpbb .page-footer {
	margin: 0;
	padding: 0;
}

#phpbb .navbar.rr-footer-navbar {
	max-width: calc(var(--rr-container) - 48px);
	margin: 0 auto 28px;
	padding: 6px 16px;
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-sizing: border-box;
}

#phpbb .rr-footer-navbar .nav-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
	font-size: 14px;
}

#phpbb .rr-footer-navbar .nav-footer > li {
	float: none;
	margin: 0;
}

#phpbb .rr-footer-navbar .nav-footer > li.rightside:first-of-type,
#phpbb .rr-footer-navbar .nav-footer > li.rightside:not(.rightside + .rightside) {
	margin-inline-start: auto;
}

#phpbb .rr-footer-navbar a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	color: var(--rr-blue-dark);
	font-weight: 600;
}

#phpbb .rr-footer-navbar a:hover {
	color: var(--rr-burgundy);
}

.rr-footer-band {
	background: var(--rr-blue-deep);
	color: #E9E2D2;
}

.rr-footer-band > .rr-strap {
	height: 8px;
}

.rr-footer-band > .rr-strap::after {
	top: 3px;
}

.rr-footer-brand {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	padding-block: 28px 18px;
}

.rr-footer-name {
	display: block;
	font-family: var(--rr-serif);
	font-size: 19px;
	color: #FFFFFF;
}

.rr-footer-tagline {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--rr-champagne);
}

.rr-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
}

#phpbb .rr-footer-links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 8px;
	color: #E9E2D2;
	font-size: 14px;
	font-weight: 600;
}

#phpbb .rr-footer-links a:hover {
	color: #FFFFFF;
}

#phpbb .rr-footer-band .copyright {
	max-width: var(--rr-container);
	margin: 0 auto;
	padding: 14px 24px 26px;
	border-top: 1px solid rgba(214, 191, 145, 0.2);
	box-sizing: border-box;
	color: #C9D1D6;
	font-size: 12.5px;
	text-align: left;
}

#phpbb .rr-footer-band .copyright .footer-row {
	margin: 2px 0;
}

#phpbb .rr-footer-band .copyright a {
	color: #E9E2D2;
}

#phpbb .rr-footer-band .copyright a:hover {
	color: #FFFFFF;
}

/* alerts / confirm boxes */
#phpbb .phpbb_alert {
	border: 1px solid var(--rr-line);
	border-radius: var(--rr-radius-card);
	background: var(--rr-card);
	box-shadow: 0 20px 50px rgba(52, 58, 64, 0.25);
}

#phpbb .phpbb_alert .alert_title {
	font-family: var(--rr-serif);
	color: var(--rr-blue-dark);
}

#phpbb .darken {
	background: rgba(52, 58, 64, 0.55);
}

/* 17 ---------- Responsive ---------- */
@media (max-width: 900px) {
	#phpbb ul.topiclist dd.lastpost {
		width: 190px;
	}

	#phpbb ul.topiclist dd.posts,
	#phpbb .forabg ul.topiclist li.header > dl.row-item > dd.posts {
		display: none;
	}

	#phpbb .rr-topic-group ul.topiclist dd.posts {
		display: block;
	}

	#phpbb .rr-topic-group ul.topiclist dd.views,
	#phpbb .rr-topic-header-row dd.views,
	#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd.views {
		display: none;
	}

	#phpbb .rr-topic-header-row dd.lastpost {
		width: 190px;
	}
}

@media (max-width: 700px) {
	.rr-container,
	#phpbb #page-header .navbar > .inner {
		padding-inline: 14px;
	}

	#phpbb .page-body {
		padding: 18px 14px 32px;
	}

	/* site bar: brand + actions on one row, links below */
	.rr-sitebar-inner {
		gap: 4px 12px;
	}

	.rr-sitebar-nav {
		order: 3;
		width: 100%;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.rr-sitebar-actions {
		margin-inline-start: auto;
	}

	#phpbb .rr-sitebar-btn {
		min-height: 40px;
		padding: 0 12px;
	}

	.rr-sitebar-name {
		font-size: 16px;
	}

	/* balanced banner */
	#phpbb .rr-header-inner {
		padding-block: 14px 16px;
	}

	.rr-stitched {
		justify-content: center;
		gap: 16px;
		padding: 20px 16px;
		text-align: center;
	}

	#phpbb .rr-brand {
		align-items: center;
	}

	.rr-site-name {
		font-size: 30px;
	}

	.rr-site-description-text {
		font-size: 11px;
	}

	/* search moves to the magnifier in the breadcrumb row */
	#phpbb .rr-search.search-header {
		display: none;
	}

	/* forum nav stays labelled and wraps instead of hiding */
	#phpbb .nav-main {
		gap: 2px;
	}

	#phpbb .nav-main > li > a {
		padding: 0 10px;
		font-size: 13.5px;
	}

	#phpbb .nav-main > li.rightside {
		margin-inline-start: 0;
	}

	/* forum rows become stacked cards; column labels hidden on phones */
	#phpbb ul.topiclist li.header dd,
	#phpbb .rr-topic-header-row dd,
	#phpbb .forumbg .rr-topic-group-header > dl.rr-topic-header-row > dd,
	#phpbb .forabg ul.topiclist li.header > dl.row-item > dd {
		display: none;
	}

	#phpbb ul.topiclist li.header dl.row-item,
	#phpbb .rr-topic-header-row {
		min-height: 48px;
		padding: 0 16px;
	}

	#phpbb ul.topiclist li.header dt .list-inner,
	#phpbb .rr-topic-heading {
		font-size: 19px;
	}

	#phpbb ul.topiclist li.row dl.row-item {
		flex-wrap: wrap;
		min-height: 0;
		padding: 0 14px;
	}

	#phpbb ul.topiclist li.row dt {
		flex-basis: 100%;
		padding: 14px 0 8px;
	}

	#phpbb ul.topiclist li.row dd.topics,
	#phpbb ul.topiclist li.row dd.posts,
	#phpbb ul.topiclist li.row dd.views {
		display: none;
	}

	#phpbb ul.topiclist li.row dd.lastpost {
		display: none;
	}

	/* posts: nameplate becomes a header strip */
	#phpbb .post.rr-post > .inner {
		grid-template-columns: minmax(0, 1fr);
	}

	#phpbb .postprofile.rr-postprofile {
		grid-column: 1;
		grid-row: auto;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 8px 12px;
		padding: 14px 16px;
		border-right: 0;
		border-bottom: 1px solid var(--rr-line);
		text-align: left;
	}

	#phpbb .rr-postprofile > dt {
		flex-direction: row;
		width: auto;
		gap: 12px;
	}

	#phpbb .rr-post-avatar .avatar img,
	#phpbb .rr-avatar-placeholder {
		width: 52px;
		height: 52px;
		border-width: 2px;
		box-shadow: 0 0 0 2px var(--rr-card), 0 0 0 3px var(--rr-line);
		font-size: 20px;
	}

	#phpbb .rr-post-author {
		margin-top: 0;
		font-size: 17px;
	}

	#phpbb .rr-profile-meta {
		display: none;
	}

	#phpbb .post.rr-post .postbody,
	#phpbb .back2top {
		grid-column: 1;
	}

	#phpbb .post.rr-post .postbody {
		padding: 16px;
	}

	#phpbb ul.post-buttons {
		float: none;
		max-width: none;
		justify-content: flex-start;
		margin: 0 0 12px;
	}

	#phpbb .postbody .content {
		font-size: 15.5px;
	}

	/* forms */
	#phpbb .rr-register-fields dt,
	#phpbb .rr-register-fields dd {
		float: none;
		width: auto;
		margin-left: 0;
	}

	#phpbb .panel,
	#phpbb .panel.rr-register-card {
		padding: 18px 16px;
	}

	#phpbb .action-bar > .pagination {
		margin-inline-start: 0;
		width: 100%;
	}

	#phpbb .navbar.rr-footer-navbar {
		margin-inline: 14px;
	}

	.rr-footer-brand {
		padding-block: 22px 10px;
	}

	#phpbb .rr-footer-band .copyright {
		padding-inline: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#phpbb ul.topiclist li.row {
		transition: none;
	}
}

/* Site-specific: hide the PayPal donate image (Support Us link stays in the menu) */
.paypalimg img {
	display: none;
}