/* =============================================
   TRUREVIEW - stylesheet.css - www.trureview.ca
   ============================================= */

/* -- WATERMARK -- */
html body, body#phpbb {
	background-position: -520px 160px !important;
	background-size: 1250px auto !important;
	background-attachment: fixed !important;
}

/* -- FORUM BOXES -- */
.forabg {
	margin-bottom: 20px !important;
	border-radius: 7px !important;
	overflow: hidden !important;
	box-shadow: 0 4px 16px rgba(100,0,30,0.13) !important;
	border: 1px solid #c8a0b8 !important;
	width: 100% !important;
}
.forabg .inner, .forumbg .inner { padding: 0 !important; width: 100% !important; }
ul.topiclist { width: 100% !important; list-style: none !important; margin: 0 !important; padding: 0 !important; }
ul.topiclist.forums { width: 100% !important; }
.row-item { display: flex !important; width: 100% !important; align-items: center !important; }
.row-item dt { flex: 1 !important; min-width: 0 !important; }
.row-item dd.topics { width: 90px !important; flex-shrink: 0 !important; text-align: center !important; }
.row-item dd.posts { width: 90px !important; flex-shrink: 0 !important; text-align: center !important; }
.row-item dd.lastpost { width: 220px !important; flex-shrink: 0 !important; }

/* -- HIDE TOP FORUM BAR -- */
.forabg ul.topiclist:not(.forums) li.header { display: none !important; }

/* -- HIDE ICONS -- */
span.forum-icon-wrap,
span.forum-icon-wrap.forum-read,
span.forum-icon-wrap.forum-unread,
span.subforum-icon-wrap { display: none !important; }

/* -- MAIN CATEGORY ROWS -- */
.forabg .topiclist.forums > li.row.forum_read_subforum {
	background: linear-gradient(135deg,#3a0018 0%,#6a0828 40%,#900a38 100%) !important;
	border-bottom: 2px solid #c01848 !important;
	border-left: none !important;
}
.forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle {
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	font-family: "Raleway", sans-serif !important;
}
.forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle:hover { color: #ffd0e0 !important; text-decoration: none !important; }
.forabg .topiclist.forums > li.row.forum_read_subforum .forum-desc-text { color: rgba(255,210,230,0.75) !important; }
.forabg .topiclist.forums > li.row.forum_read_subforum .forum-count { color: #fff !important; }
.forabg .topiclist.forums > li.row.forum_read_subforum dd dfn { color: rgba(255,210,230,0.6) !important; }
.forabg .topiclist.forums > li.row.forum_read_subforum .no-posts-yet,
.forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-subject,
.forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-time,
.forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-author { color: rgba(255,210,230,0.8) !important; }

/* -- SUBFORUM ROWS -- */
.forabg .topiclist.forums > li.row.forum_read,
.forabg .topiclist.forums > li.row.forum_unread {
	background: #fff !important;
	border-bottom: 1px solid #f0e0ea !important;
	border-left: 4px solid #e8c0d0 !important;
}
.forabg .topiclist.forums > li.row.forum_read a.forumtitle,
.forabg .topiclist.forums > li.row.forum_unread a.forumtitle {
	color: #8a0a30 !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.forabg .topiclist.forums > li.row.forum_read:hover,
.forabg .topiclist.forums > li.row.forum_unread:hover { background: #fff8fb !important; border-left-color: #c01848 !important; }
.forabg .forums .row-item { padding: 14px 18px !important; min-height: 60px !important; }

/* -- FONT -- */
body, .forabg, a.forumtitle, .forum-desc-text, .subforum-title, a.subforum-title,
.forum-count, .lastpost-subject, .lastpost-time, .lastpost-author, .no-posts-yet {
	font-family: "Raleway", Arial, sans-serif !important;
	-webkit-font-smoothing: antialiased !important;
}
body { font-size: 14px !important; }
a.forumtitle { font-size: 14px !important; font-weight: 700 !important; }

/* -- MISC HIDES -- */
.jumpbox, #jumpbox, .jump-box { display: none !important; }
.returnlink, p.returnlink, a.returnlink { display: none !important; }
p.gensmall, .gensmall { display: none !important; }
/* Only hide icons inside action bar buttons that have text labels */
.action-bar a.button i.fa-search { display: none !important; }
.headerspace, form.headerspace { display: none !important; }
.linkage, div.linkage { display: none !important; }

/* -- PAGE WIDTH -- */
#tr-page-wrap { max-width: 1480px !important; padding: 10px 4px !important; }

/* -- STAT BLOCKS -- */
.stat-block { background: rgba(255,255,255,0.96) !important; border: 1px solid #e8c0d0 !important; border-radius: 5px !important; margin-bottom: 10px !important; overflow: hidden !important; }
.stat-block h3 { background: linear-gradient(135deg,#3a0018 0%,#6a0828 100%) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 1px !important; text-transform: uppercase !important; padding: 8px 14px !important; margin: 0 !important; border-bottom: 2px solid #c01848 !important; }
.stat-block h3 a { color: #fff !important; }
.stat-block p { padding: 10px 14px !important; font-size: 12.5px !important; color: #4a2030 !important; line-height: 1.8 !important; }

/* -- LOGO SPIN -- */
#tr-logo img {
	height: 140px !important;
	width: auto !important;
	-webkit-animation: coin-spin 12s ease-in-out infinite !important;
	animation: coin-spin 12s ease-in-out infinite !important;
}
@-webkit-keyframes coin-spin {
	0%,15% { -webkit-transform: rotateY(0deg); transform: rotateY(0deg); }
	30% { -webkit-transform: rotateY(180deg); transform: rotateY(180deg); }
	45%,100% { -webkit-transform: rotateY(360deg); transform: rotateY(360deg); }
}
@keyframes coin-spin {
	0%,15% { transform: rotateY(0deg); }
	30% { transform: rotateY(180deg); }
	45%,100% { transform: rotateY(360deg); }
}

/* -- HEADER RIGHT -- */
#tr-header-right {
	text-align: right !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 6px !important;
	background: rgba(0,0,0,0.25) !important;
	border-radius: 8px !important;
	padding: 10px 16px !important;
}
#tr-header-tagline { font-family: "Raleway", sans-serif !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; color: #ffb0cc !important; border-bottom: 1px solid rgba(255,150,190,0.3) !important; padding-bottom: 6px !important; margin-bottom: 2px !important; }
#tr-header-welcome { font-family: "Raleway", sans-serif !important; font-size: 15px !important; font-weight: 600 !important; color: #fff !important; margin-bottom: 4px !important; }
#tr-header-welcome strong { color: #fff !important; font-weight: 800 !important; font-size: 16px !important; }
#tr-header-links { display: flex !important; gap: 8px !important; align-items: center !important; }
.tr-hdr-btn { background: rgba(255,255,255,0.12) !important; border: 1px solid rgba(255,255,255,0.25) !important; color: #fff !important; padding: 5px 16px !important; border-radius: 20px !important; font-family: "Raleway", sans-serif !important; font-weight: 700 !important; font-size: 12px !important; text-decoration: none !important; }
.tr-hdr-btn:hover { background: rgba(255,255,255,0.22) !important; color: #fff !important; text-decoration: none !important; }
.tr-hdr-btn-primary { background: #fff !important; color: #c01848 !important; border: 2px solid #fff !important; padding: 5px 18px !important; border-radius: 20px !important; font-family: "Raleway", sans-serif !important; font-weight: 800 !important; font-size: 12px !important; text-decoration: none !important; }
.tr-hdr-btn-primary:hover { background: #fce8f0 !important; color: #8a0a30 !important; text-decoration: none !important; }
#tr-header-domain { font-size: 10px !important; color: rgba(255,200,220,0.4) !important; letter-spacing: 2px !important; font-weight: 600 !important; border-top: 1px solid rgba(255,150,190,0.2) !important; padding-top: 5px !important; }

/* -- NAVBAR ROW 1 -- */
#tr-navbar-inner { flex-wrap: nowrap !important; overflow: visible !important; }
#tr-navbar-inner a { font-size: 10.5px !important; padding: 10px 8px !important; white-space: nowrap !important; border-right: none !important; }
#tr-navbar-inner a:hover { background: rgba(255,48,112,0.85) !important; }
#tr-navbar-inner a:visited { color: rgba(255,215,230,0.92) !important; }

/* -- NAVBAR ROW 2 -- */
#tr-navbar-inner2 { background: rgba(0,0,0,0.15) !important; border-top: 1px solid rgba(255,100,150,0.15) !important; }
#tr-navbar-inner2 a { border-right: none !important; padding: 6px 14px !important; font-size: 11px !important; color: rgba(255,200,220,0.8) !important; }
#tr-navbar-inner2 a:hover { background: rgba(255,48,112,0.85) !important; color: #fff !important; }
#tr-navbar-inner2 a:visited { color: rgba(255,200,220,0.8) !important; }
#tr-navbar-inner2 .tr-post-btn { background: #fff !important; color: #c01848 !important; border-radius: 20px !important; padding: 4px 16px !important; margin: 4px 8px !important; font-size: 11px !important; font-weight: 800 !important; }
#tr-navbar-inner2 .tr-post-btn:hover { background: #fce8f0 !important; color: #8a0a30 !important; }

/* -- DIRECTORY BAR & BUTTONS -- */
#tr-directory-bar {
	background: #0e0006 !important;
	padding: 14px 20px !important;
	text-align: center !important;
	border-bottom: 2px solid #c01848 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 10px !important;
}

/* MAIN BUTTON - HOVER BUG FIXED: removed font-size/letter-spacing/padding from :hover */
#tr-directory-btn {
	display: inline-block !important;
	font-family: "Raleway", sans-serif !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	letter-spacing: 5px !important;
	text-transform: uppercase !important;
	padding: 14px 80px !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	border: 1px solid rgba(255,180,210,0.3) !important;
	color: #fff !important;
	background: linear-gradient(135deg,#8a0a30 0%,#c01848 40%,#e02060 60%,#c01848 80%,#8a0a30 100%) !important;
	box-shadow: 0 4px 30px rgba(192,24,72,0.5) !important;
}
#tr-directory-btn:hover {
	background: linear-gradient(135deg,#a01038 0%,#e02060 40%,#ff4080 60%,#e02060 80%,#a01038 100%) !important;
	color: #fff !important;
	text-decoration: none !important;
}
#tr-directory-btn::before { content: "\2726  " !important; color: rgba(255,200,220,0.7) !important; }
#tr-directory-btn::after { content: "  \2726" !important; color: rgba(255,200,220,0.7) !important; }

/* INDEPENDENT DIRECTORY BUTTON - smaller pill below main button */
#tr-indep-btn {
	display: inline-block !important;
	font-family: "Raleway", sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	padding: 6px 28px !important;
	border-radius: 20px !important;
	text-decoration: none !important;
	border: 1px solid rgba(255,100,150,0.35) !important;
	color: rgba(255,200,220,0.85) !important;
	background: rgba(255,255,255,0.05) !important;
}
#tr-indep-btn:hover {
	background: rgba(192,24,72,0.3) !important;
	color: #fff !important;
	text-decoration: none !important;
	border-color: rgba(255,100,150,0.7) !important;
}

/* -- PROMO BAR (top - contests, centered + eye-catching) -- */
@keyframes tr-promo-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(192,24,72,0); } 50% { box-shadow: 0 0 18px 2px rgba(192,24,72,0.22); } }
@keyframes tr-og-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(212,175,55,0); } 50% { box-shadow: 0 0 18px 2px rgba(212,175,55,0.18); } }
#tr-promo-bar { background: linear-gradient(135deg,#0e0006 0%,#170009 50%,#0e0006 100%) !important; border-top: 1px solid rgba(255,100,150,0.15) !important; border-bottom: 2px solid rgba(255,100,150,0.25) !important; padding: 14px 20px !important; display: flex !important; justify-content: center !important; align-items: center !important; gap: 16px !important; width: 100% !important; flex-wrap: wrap !important; }
.tr-promo-card { display: flex !important; align-items: center !important; gap: 14px !important; padding: 14px 28px !important; border-radius: 8px !important; text-decoration: none !important; transition: all 0.25s !important; position: relative !important; overflow: hidden !important; min-width: 280px !important; max-width: 460px !important; flex: 1 !important; }
.tr-promo-contest { background: linear-gradient(135deg,#2a0010 0%,#1a0008 100%) !important; border: 1px solid rgba(224,32,96,0.4) !important; animation: tr-promo-pulse 3s ease-in-out infinite !important; }
.tr-promo-og { background: linear-gradient(135deg,#1e1000 0%,#120800 100%) !important; border: 1px solid rgba(212,175,55,0.4) !important; animation: tr-og-pulse 3s ease-in-out 1.5s infinite !important; }
.tr-promo-card:hover { transform: translateY(-2px) !important; text-decoration: none !important; }
.tr-promo-contest:hover { background: linear-gradient(135deg,#380014 0%,#220009 100%) !important; border-color: rgba(224,32,96,0.7) !important; }
.tr-promo-og:hover { background: linear-gradient(135deg,#2a1800 0%,#1a0e00 100%) !important; border-color: rgba(212,175,55,0.7) !important; }
.tr-promo-card-icon { font-size: 28px !important; flex-shrink: 0 !important; line-height: 1 !important; position: relative !important; z-index: 1 !important; }
.tr-promo-card-body { flex: 1 !important; position: relative !important; z-index: 1 !important; }
.tr-promo-card-tag { font-family: "Raleway", sans-serif !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: 2.5px !important; text-transform: uppercase !important; margin-bottom: 3px !important; }
.tr-promo-contest .tr-promo-card-tag { color: rgba(255,100,150,0.7) !important; }
.tr-promo-og .tr-promo-card-tag { color: rgba(212,175,55,0.7) !important; }
.tr-promo-card-title { font-family: "Raleway", sans-serif !important; font-size: 15px !important; font-weight: 900 !important; margin-bottom: 2px !important; letter-spacing: 0.3px !important; }
.tr-promo-contest .tr-promo-card-title { color: #ffb0d0 !important; }
.tr-promo-og .tr-promo-card-title { color: #ffd060 !important; }
.tr-promo-card-sub { font-family: "Raleway", sans-serif !important; font-size: 11px !important; color: rgba(255,200,220,0.5) !important; line-height: 1.4 !important; }
.tr-promo-card-arrow { font-size: 22px !important; flex-shrink: 0 !important; position: relative !important; z-index: 1 !important; }
.tr-promo-contest .tr-promo-card-arrow { color: rgba(224,32,96,0.5) !important; }
.tr-promo-og .tr-promo-card-arrow { color: rgba(212,175,55,0.5) !important; }
.tr-promo-card:hover .tr-promo-card-arrow { color: #fff !important; }
.tr-promo-card-divider { width: 1px !important; height: 50px !important; background: rgba(255,100,150,0.15) !important; flex-shrink: 0 !important; align-self: center !important; }

/* Non-clickable promo card (OG 500) */
.tr-promo-no-link { cursor: default !important; }
.tr-promo-no-link:hover { transform: none !important; background: inherit !important; border-color: inherit !important; box-shadow: inherit !important; }
.tr-bottom-og.tr-promo-no-link:hover { transform: none !important; border-color: rgba(212,175,55,0.35) !important; box-shadow: 0 4px 30px rgba(212,175,55,0.08) !important; }
.tr-promo-og.tr-promo-no-link:hover { background: linear-gradient(135deg,#1e1000 0%,#120800 100%) !important; border-color: rgba(212,175,55,0.4) !important; }

/* -- WE CAN HELP STRIP (bottom) -- */
#tr-help-strip { background: linear-gradient(135deg,#1a0008 0%,#2a0012 50%,#1a0008 100%) !important; border-top: 1px solid rgba(255,100,150,0.2) !important; border-bottom: 1px solid rgba(255,100,150,0.2) !important; padding: 14px 24px !important; width: 100% !important; }
#tr-help-strip-inner { max-width: 1380px !important; margin: 0 auto !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; flex-wrap: wrap !important; }
#tr-help-strip-text { font-family: "Raleway", sans-serif !important; font-size: 13px !important; color: rgba(255,200,220,0.8) !important; display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
#tr-help-strip-text strong { color: #fff !important; font-weight: 900 !important; }
#tr-help-strip-text em { color: #ff8090 !important; font-style: normal !important; font-weight: 900 !important; font-size: 14px !important; }
#tr-help-strip-text span { color: rgba(255,180,210,0.5) !important; font-size: 12px !important; }
#tr-help-strip-btn { display: inline-block !important; background: linear-gradient(135deg,#8a0a30,#c01848) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-size: 12px !important; font-weight: 800 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; padding: 9px 28px !important; border-radius: 4px !important; text-decoration: none !important; border: 1px solid rgba(255,150,190,0.3) !important; white-space: nowrap !important; flex-shrink: 0 !important; }
#tr-help-strip-btn:hover { background: linear-gradient(135deg,#a01038,#e02060) !important; color: #fff !important; text-decoration: none !important; }

/* -- BOTTOM PROMO CARDS (contests, centered) -- */
#tr-bottom-promo { display: flex !important; justify-content: center !important; align-items: stretch !important; gap: 14px !important; padding: 16px 20px !important; background: linear-gradient(135deg,#0a0004 0%,#120006 50%,#0a0004 100%) !important; border-top: 2px solid rgba(255,100,150,0.2) !important; flex-wrap: wrap !important; width: 100% !important; }
.tr-bottom-promo-card { display: flex !important; align-items: flex-start !important; gap: 14px !important; padding: 16px 20px !important; text-decoration: none !important; position: relative !important; overflow: hidden !important; transition: all 0.25s !important; border-radius: 8px !important; max-width: 520px !important; flex: 1 !important; min-width: 240px !important; }
.tr-bottom-contest { background: linear-gradient(135deg,#2a0010 0%,#1a0008 100%) !important; border: 1px solid rgba(224,32,96,0.35) !important; box-shadow: 0 4px 30px rgba(192,24,72,0.12) !important; }
.tr-bottom-og { background: linear-gradient(135deg,#1e1000 0%,#120800 100%) !important; border: 1px solid rgba(212,175,55,0.35) !important; box-shadow: 0 4px 30px rgba(212,175,55,0.08) !important; }
.tr-bottom-promo-card:hover { transform: translateY(-2px) !important; text-decoration: none !important; }
.tr-bottom-contest:hover { border-color: rgba(224,32,96,0.65) !important; box-shadow: 0 8px 40px rgba(192,24,72,0.22) !important; }
.tr-bottom-og:hover { border-color: rgba(212,175,55,0.65) !important; box-shadow: 0 8px 40px rgba(212,175,55,0.16) !important; }
.tr-bottom-promo-glow { position: absolute !important; top: -60px !important; left: -60px !important; width: 200px !important; height: 200px !important; border-radius: 50% !important; pointer-events: none !important; opacity: 0.08 !important; }
.tr-bottom-contest .tr-bottom-promo-glow { background: radial-gradient(circle,#e02060,transparent) !important; }
.tr-bottom-og .tr-bottom-promo-glow { background: radial-gradient(circle,#d4af37,transparent) !important; }
.tr-bottom-promo-icon { font-size: 28px !important; flex-shrink: 0 !important; line-height: 1 !important; position: relative !important; z-index: 1 !important; margin-top: 2px !important; }
.tr-bottom-promo-content { flex: 1 !important; position: relative !important; z-index: 1 !important; }
.tr-bottom-promo-tag { font-family: "Raleway", sans-serif !important; font-size: 9px !important; font-weight: 800 !important; letter-spacing: 2px !important; text-transform: uppercase !important; margin-bottom: 4px !important; }
.tr-bottom-contest .tr-bottom-promo-tag { color: rgba(255,100,150,0.65) !important; }
.tr-bottom-og .tr-bottom-promo-tag { color: rgba(212,175,55,0.65) !important; }
.tr-bottom-promo-title { font-family: "Raleway", sans-serif !important; font-size: 15px !important; font-weight: 900 !important; margin-bottom: 6px !important; }
.tr-bottom-contest .tr-bottom-promo-title { color: #ffb0d0 !important; }
.tr-bottom-og .tr-bottom-promo-title { color: #ffd060 !important; }
.tr-bottom-promo-desc { font-family: "Raleway", sans-serif !important; font-size: 11.5px !important; color: rgba(255,200,220,0.6) !important; line-height: 1.65 !important; margin-bottom: 10px !important; }
.tr-bottom-promo-desc strong { color: #fff !important; }
.tr-bottom-promo-cta { display: inline-block !important; font-family: "Raleway", sans-serif !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: 1px !important; padding: 6px 16px !important; border-radius: 20px !important; text-transform: uppercase !important; }
.tr-bottom-contest .tr-bottom-promo-cta { background: rgba(192,24,72,0.2) !important; border: 1px solid rgba(192,24,72,0.4) !important; color: #ffb0d0 !important; }
.tr-bottom-og .tr-bottom-promo-cta { background: rgba(212,175,55,0.15) !important; border: 1px solid rgba(212,175,55,0.35) !important; color: #ffd060 !important; }
.tr-bottom-promo-card:hover .tr-bottom-promo-cta { filter: brightness(1.2) !important; }

/* Mobile promos */
@media (max-width: 768px) {
	#tr-bottom-promo { gap: 14px !important; padding: 20px 14px !important; }
	.tr-bottom-promo-card { padding: 20px 18px !important; }
	.tr-bottom-promo-title { font-size: 16px !important; }
	.tr-bottom-promo-icon { font-size: 30px !important; }
	#tr-help-strip-inner { justify-content: center !important; text-align: center !important; }
	#tr-promo-bar { gap: 10px !important; padding: 10px 12px !important; }
	.tr-promo-card { min-width: 100% !important; padding: 12px 16px !important; }
	.tr-promo-card-divider { display: none !important; }
}

/* -- INDUSTRY PROMO STRIP -- */
#tr-industry-strip { background: linear-gradient(135deg,#120006 0%,#1e000c 50%,#120006 100%) !important; border-bottom: 1px solid rgba(255,100,150,0.25) !important; padding: 10px 20px !important; text-align: center !important; width: 100% !important; }
#tr-industry-strip-inner { display: flex !important; align-items: center !important; justify-content: center !important; gap: 14px !important; flex-wrap: wrap !important; max-width: 1380px !important; margin: 0 auto !important; }
#tr-industry-strip-text { font-family: "Raleway", sans-serif !important; font-size: 13px !important; font-weight: 700 !important; color: rgba(255,200,220,0.85) !important; letter-spacing: 0.3px !important; }
#tr-industry-strip-text strong { color: #fff !important; font-weight: 900 !important; }
#tr-industry-strip-text em { color: #ff8090 !important; font-style: normal !important; font-weight: 900 !important; }
#tr-industry-strip-btn { display: inline-block !important; background: linear-gradient(135deg,#8a0a30,#c01848) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 7px 22px !important; border-radius: 20px !important; text-decoration: none !important; border: 1px solid rgba(255,150,190,0.3) !important; box-shadow: 0 2px 14px rgba(192,24,72,0.35) !important; white-space: nowrap !important; }
#tr-industry-strip-btn:hover { background: linear-gradient(135deg,#a01038,#e02060) !important; color: #fff !important; text-decoration: none !important; }

/* -- TICKER -- */
#tr-breadcrumb { overflow: hidden !important; background: #1a0008 !important; border-top: 1px solid rgba(255,48,112,0.4) !important; border-bottom: 1px solid rgba(255,48,112,0.4) !important; height: 32px !important; line-height: 32px !important; }
#tr-breadcrumb .navbar { display: none !important; }
#tr-breadcrumb::after {
	content: "TORONTO ESCORTS   *   MONTREAL ESCORTS   *   VANCOUVER ESCORTS   *   OTTAWA ESCORTS   *   CANADA\'S #1 ADULT REVIEW FORUM   *   POST A REVIEW TODAY   *   100% ANONYMOUS   *   NEW REVIEWS ADDED DAILY   *   JOIN FREE" !important;
	display: inline-block !important;
	color: #ff6090 !important;
	font-family: "Raleway", sans-serif !important;
	font-size: 10.5px !important;
	font-weight: 800 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
	-webkit-animation: tr-ticker 60s linear infinite !important;
	animation: tr-ticker 60s linear infinite !important;
}
@-webkit-keyframes tr-ticker { 0% { -webkit-transform: translateX(100vw); } 100% { -webkit-transform: translateX(-100%); } }
@keyframes tr-ticker { 0% { transform: translateX(100vw); } 100% { transform: translateX(-100%); } }

/* -- WELCOME BANNER -- */
#tr-welcome-banner { background: linear-gradient(135deg,#3a0018 0%,#1a0008 100%) !important; border: 1px solid rgba(255,100,150,0.3) !important; border-radius: 6px !important; padding: 12px 20px !important; margin-bottom: 14px !important; display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 16px !important; flex-wrap: wrap !important; box-shadow: 0 2px 20px rgba(0,0,0,0.3) !important; }
#tr-welcome-banner-text h2 { font-family: "Raleway", sans-serif !important; font-size: 16px !important; font-weight: 800 !important; color: #fff !important; margin: 0 0 4px 0 !important; text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important; }
#tr-welcome-banner-text p { font-family: "Raleway", sans-serif !important; font-size: 12px !important; color: rgba(255,220,235,0.85) !important; margin: 0 !important; line-height: 1.5 !important; }
#tr-welcome-banner-btns { display: flex !important; gap: 8px !important; align-items: center !important; flex-shrink: 0 !important; }
.tr-wb-join { background: #c01848 !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-weight: 800 !important; font-size: 13px !important; padding: 8px 20px !important; border-radius: 20px !important; text-decoration: none !important; border: 2px solid #e02060 !important; white-space: nowrap !important; }
.tr-wb-join:hover { background: #e02060 !important; color: #fff !important; text-decoration: none !important; }
.tr-wb-login { background: rgba(255,255,255,0.15) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-weight: 700 !important; font-size: 13px !important; padding: 8px 18px !important; border-radius: 20px !important; text-decoration: none !important; border: 1px solid rgba(255,255,255,0.4) !important; white-space: nowrap !important; }
.tr-wb-login:hover { border-color: rgba(255,100,150,0.6) !important; color: #fff !important; text-decoration: none !important; }

/* -- SIDEBAR -- */
#tr-sidebar {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 10px !important;
	width: 210px !important;
	min-width: 210px !important;
}
.sb-space {
	background: rgba(255,248,251,0.9) !important;
	border: 1px dashed #e8c0d0 !important;
	border-radius: 4px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	font-size: 10px !important;
	color: #c0a0b4 !important;
	width: 210px !important;
	min-width: 210px !important;
	box-sizing: border-box !important;
}
.sb-600 { height: 600px !important; min-height: 600px !important; display: flex !important; }
.sb-300 { height: 300px !important; min-height: 300px !important; display: flex !important; }
.sb-250 { height: 250px !important; min-height: 250px !important; display: flex !important; }
.sb-90  { height: 90px !important; min-height: 90px !important; display: flex !important; }
.sb-box { background: rgba(255,255,255,0.95) !important; border: 1px solid #e8c0d0 !important; border-radius: 4px !important; overflow: hidden !important; width: 210px !important; }
.sb-head { background: linear-gradient(135deg,#8a0a30 0%,#c01848 100%) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-weight: 800 !important; font-size: 11px !important; padding: 6px 10px !important; letter-spacing: 0.8px !important; text-transform: uppercase !important; }
.sb-body { padding: 6px 8px !important; }
.sb-body a { display: block !important; padding: 4px 2px !important; border-bottom: 1px dotted #f0d8e4 !important; font-size: 11px !important; color: #c0306a !important; text-decoration: none !important; }
.sb-body a:last-child { border-bottom: none !important; }
.sb-body a:hover { color: #f03070 !important; }

/* -- FOOTER -- */
#page-footer { background: #120006 !important; border-top: 3px solid #c01848 !important; }
#tr-footer-sponsors { background: #1a000c !important; border-bottom: 1px solid rgba(255,100,150,0.15) !important; padding: 14px 20px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 16px !important; flex-wrap: wrap !important; }
.tr-footer-sponsor-slot { width: 300px !important; height: 90px !important; background: rgba(255,255,255,0.03) !important; border: 1px dashed rgba(255,100,150,0.25) !important; border-radius: 4px !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 10px !important; color: rgba(255,150,190,0.35) !important; font-family: "Raleway", sans-serif !important; letter-spacing: 1px !important; }
#tr-footer-main { background: linear-gradient(135deg,#1a0008 0%,#2a0012 50%,#1a0008 100%) !important; padding: 30px 20px 20px !important; text-align: center !important; }
#tr-footer-logo-wrap { margin-bottom: 16px !important; }
#tr-footer-logo-wrap img { height: 80px !important; width: auto !important; opacity: 0.92 !important; }
#tr-footer-tagline { font-family: "Raleway", sans-serif !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: rgba(255,150,190,0.5) !important; margin-bottom: 16px !important; }
#tr-footer-links { display: flex !important; align-items: center !important; justify-content: center !important; flex-wrap: wrap !important; gap: 6px !important; margin-bottom: 14px !important; }
#tr-footer-links a { color: rgba(255,210,230,0.8) !important; font-family: "Raleway", sans-serif !important; font-weight: 600 !important; font-size: 12px !important; padding: 5px 12px !important; text-decoration: none !important; border: 1px solid rgba(255,100,150,0.25) !important; border-radius: 20px !important; }
#tr-footer-links a:hover { color: #fff !important; background: rgba(255,48,112,0.25) !important; text-decoration: none !important; }
#tr-footer-contact { font-family: "Raleway", sans-serif !important; font-size: 12px !important; color: rgba(255,180,210,0.6) !important; margin-bottom: 10px !important; }
#tr-footer-contact a { color: #ffb0d0 !important; font-weight: 700 !important; }
#tr-footer-copy { font-size: 10px !important; color: rgba(255,200,220,0.3) !important; font-family: "Raleway", sans-serif !important; line-height: 1.6 !important; }

/* -- SUBFORUM PAGE -- */
.permissions { background: rgba(255,255,255,0.95) !important; border: 1px solid #e8c0d0 !important; border-radius: 5px !important; overflow: hidden !important; }
.permissions h3 { background: linear-gradient(135deg,#3a0018 0%,#6a0828 100%) !important; color: #fff !important; font-family: "Raleway", sans-serif !important; font-size: 11px !important; font-weight: 800 !important; letter-spacing: 1px !important; text-transform: uppercase !important; padding: 8px 14px !important; margin: 0 !important; }
.permissions p { padding: 8px 14px !important; font-size: 12px !important; color: #4a2030 !important; line-height: 1.9 !important; }

/* -- HAMBURGER BUTTON -- */
#tr-hamburger {
	display: none !important;
	flex-direction: column !important;
	gap: 5px !important;
	background: rgba(255,255,255,0.08) !important;
	border: 1px solid rgba(255,100,150,0.3) !important;
	border-radius: 4px !important;
	cursor: pointer !important;
	padding: 7px 10px !important;
	margin: 4px 8px !important;
}
#tr-hamburger span {
	display: block !important;
	width: 20px !important;
	height: 2px !important;
	background: #fff !important;
	border-radius: 2px !important;
	transition: all 0.2s !important;
}

/* -- MOBILE OVERLAY -- */
#tr-mobile-overlay {
	display: none;
	position: fixed !important;
	inset: 0 !important;
	background: rgba(0,0,0,0.6) !important;
	z-index: 9998 !important;
}
#tr-mobile-overlay.open {
	display: block !important;
}

/* -- MOBILE SLIDE OUT MENU -- */
#tr-mobile-menu {
	display: block;
	position: fixed !important;
	top: 0 !important;
	left: -300px !important;
	width: 280px !important;
	height: 100vh !important;
	background: linear-gradient(180deg,#1a0008 0%,#120005 100%) !important;
	border-right: 2px solid #c01848 !important;
	z-index: 9999 !important;
	transition: left 0.3s ease !important;
	overflow-y: auto !important;
}
#tr-mobile-menu.open {
	left: 0 !important;
}
#tr-mobile-menu-inner {
	padding: 0 0 30px 0 !important;
}
#tr-mobile-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 16px !important;
	border-bottom: 1px solid rgba(255,100,150,0.2) !important;
	background: rgba(0,0,0,0.2) !important;
}
#tr-mobile-header img {
	height: 40px !important;
	width: auto !important;
}
#tr-mobile-close {
	background: rgba(255,255,255,0.08) !important;
	border: 1px solid rgba(255,100,150,0.2) !important;
	border-radius: 4px !important;
	color: rgba(255,200,220,0.8) !important;
	font-size: 16px !important;
	cursor: pointer !important;
	padding: 4px 10px !important;
	line-height: 1 !important;
}
#tr-mobile-user {
	padding: 10px 16px !important;
	font-size: 12px !important;
	color: rgba(255,180,210,0.7) !important;
	font-family: "Raleway", sans-serif !important;
	border-bottom: 1px solid rgba(255,100,150,0.15) !important;
	background: rgba(192,24,72,0.08) !important;
}
#tr-mobile-user strong {
	color: #fff !important;
	font-weight: 800 !important;
}
.tr-mobile-divider {
	padding: 8px 16px 4px !important;
	font-size: 9px !important;
	font-weight: 800 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: rgba(255,100,150,0.5) !important;
	font-family: "Raleway", sans-serif !important;
	margin-top: 4px !important;
}
#tr-mobile-menu-inner a {
	display: block !important;
	padding: 11px 20px !important;
	color: rgba(255,210,230,0.85) !important;
	font-family: "Raleway", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba(255,100,150,0.07) !important;
	transition: background 0.15s !important;
}
#tr-mobile-menu-inner a:hover {
	background: rgba(192,24,72,0.15) !important;
	color: #fff !important;
}
a.tr-mobile-logout {
	color: rgba(255,150,150,0.8) !important;
	margin-top: 4px !important;
}
a.tr-mobile-join {
	background: #c01848 !important;
	color: #fff !important;
	margin: 10px 16px !important;
	border-radius: 4px !important;
	text-align: center !important;
	font-weight: 800 !important;
	border-bottom: none !important;
}

/* -- WELCOME BANNER BUTTON FIXES -- */
#tr-welcome-banner-btns a.tr-wb-join {
	background: #c01848 !important;
	color: #fff !important;
	border: 2px solid #e02060 !important;
	padding: 8px 20px !important;
	border-radius: 20px !important;
	font-weight: 800 !important;
	font-size: 13px !important;
	text-decoration: none !important;
}
#tr-welcome-banner-btns a.tr-wb-login {
	background: rgba(255,255,255,0.15) !important;
	color: #fff !important;
	border: 1px solid rgba(255,255,255,0.4) !important;
	padding: 8px 18px !important;
	border-radius: 20px !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-decoration: none !important;
}

/* -- LOGOUT BUTTON IN NAVBAR -- */
#tr-navbar-inner2 a.tr-logout-btn {
	background: rgba(255,255,255,0.08) !important;
	color: rgba(255,200,220,0.8) !important;
	border: 1px solid rgba(255,100,150,0.3) !important;
	border-radius: 20px !important;
	padding: 4px 14px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	margin: 4px 6px !important;
}
#tr-navbar-inner2 a.tr-logout-btn:hover {
	background: rgba(255,48,112,0.2) !important;
	color: #fff !important;
}

/* -- ADVERTISE BUTTON IN NAVBAR -- */
#tr-navbar-inner2 a.tr-advertise-btn {
	color: #ffb0d0 !important;
	font-weight: 800 !important;
	border-left: 1px solid rgba(255,100,150,0.2) !important;
	padding-left: 14px !important;
}
#tr-navbar-inner2 a.tr-advertise-btn:hover {
	color: #fff !important;
	background: rgba(192,24,72,0.2) !important;
}

/* -- SPONSOR PLACEHOLDER CTA -- */
.sponsor-cta {
	font-size: 9px !important;
	color: rgba(192,24,72,0.5) !important;
	font-weight: 700 !important;
	font-family: "Raleway", sans-serif !important;
	display: block !important;
}

/* -- MOBILE PORTRAIT (<=768px wide) -- */
@media (max-width: 768px) {
	#tr-header-inner { padding: 8px 12px !important; }
	#tr-logo img { height: 60px !important; }
	#tr-header-right { display: none !important; }
	#tr-welcome-banner { display: flex !important; }
	#tr-navbar-inner { flex-wrap: nowrap !important; overflow: hidden !important; }
	#tr-navbar-inner a { display: none !important; }
	#tr-hamburger { display: flex !important; }
	#tr-directory-btn { font-size: 14px !important; letter-spacing: 2px !important; padding: 10px 20px !important; width: 92% !important; display: block !important; margin: 0 auto !important; text-align: center !important; }
	#tr-directory-btn:hover { font-size: 14px !important; letter-spacing: 2px !important; padding: 10px 20px !important; }
	#tr-indep-btn { font-size: 11px !important; padding: 5px 18px !important; }
	#tr-sidebar { display: none !important; }
	.row-item dd.lastpost { display: none !important; }
	#tr-page-wrap { padding: 6px !important; grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
	.forabg .row-item dd.topics { display: none !important; }
	.forabg .row-item dd.posts { display: none !important; }
}
@media screen and (max-width: 768px) {
	div#tr-navbar div#tr-navbar-inner a { display: none !important; visibility: hidden !important; }
	div#tr-navbar div#tr-navbar-inner { overflow: hidden !important; }
	button#tr-hamburger { display: flex !important; visibility: visible !important; }
}

/* ============================================================
   FORUM & POST PAGES - Clean White Theme
   ============================================================ */

/* Page background */
#page-body { background: #f8f6f7 !important; padding: 16px !important; }
#page-content { background: #f8f6f7 !important; }

/* Reset phpBB default backgrounds */
.forumbg, .forabg, .topiclist, .panel, .post,
.postbody, .row1, .row2, .bg1, .bg2,
table.tablebg, .tablebg { background: transparent !important; }

/* ============================================================
   HIDE ONLY THE MYSTERY ICON BUTTONS
   Keep search box visible
   ============================================================ */
.action-bar a.button-icon-only { display: none !important; }
.action-bar .button-search-end { display: none !important; }
dl.postprofile dd.profile-contact,
dl.postprofile .dropdown-container { display: none !important; }

/* ============================================================
   ACTION BAR - contains NEW TOPIC + search box
   ============================================================ */
.action-bar {
    background: #fff !important;
    border: 1px solid #e4dde0 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
.action-bar a.button {
    background: #1a0008 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    font-family: Raleway, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 9px 22px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.action-bar a.button:hover { background: #c01848 !important; }
/* Search box */
.action-bar .search-box { display: flex !important; align-items: center !important; gap: 4px !important; }
.action-bar .search-box input,
.action-bar input.inputbox,
.action-bar input[type=search],
.action-bar input[type=text] {
    background: #f8f6f7 !important;
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    color: #333 !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: Raleway, sans-serif !important;
    min-width: 180px !important;
    display: block !important;
}
/* Search submit button - keep visible and clean */
.action-bar .search-box button,
.action-bar .button-search {
    background: #1a0008 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 7px 12px !important;
    font-size: 11px !important;
    font-family: Raleway, sans-serif !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
}
.action-bar .button-search:hover { background: #c01848 !important; }
.action-bar a:not(.button):not(.button-search) {
    color: #888 !important;
    font-size: 12px !important;
    font-family: Raleway, sans-serif !important;
    text-decoration: none !important;
}
.action-bar a:not(.button):hover { color: #c01848 !important; }
.action-bar span, .action-bar p {
    color: #888 !important;
    font-size: 12px !important;
    font-family: Raleway, sans-serif !important;
}
.action-bar.bar-top, .action-bar.bar-bottom {
    background: #fff !important;
    border: 1px solid #e4dde0 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
    margin-bottom: 14px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

/* ============================================================
   TOPIC LIST
   ============================================================ */
.topiclist.header { background: transparent !important; border: none !important; margin-bottom: 4px !important; }
.topiclist.header li { background: transparent !important; border: none !important; padding: 2px 16px !important; }
.topiclist.header li span, .topiclist.header li a {
    color: #bbb !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    font-family: Raleway, sans-serif !important;
    text-decoration: none !important;
}
.topiclist li.row {
    background: #fff !important;
    border: 1px solid #e8e0e4 !important;
    border-radius: 7px !important;
    margin-bottom: 8px !important;
    padding: 14px 20px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    transition: border-color 0.12s !important;
}
.topiclist li.row:hover { border-color: #c01848 !important; box-shadow: 0 2px 8px rgba(192,24,72,0.08) !important; }
.topiclist li.row.sticky { border-left: 4px solid #c01848 !important; }
.topiclist li.row.announce { border-left: 4px solid #c8a000 !important; }
.topiclist .topic-title a {
    color: #111 !important;
    font-family: Raleway, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    line-height: 1.45 !important;
}
.topiclist .topic-title a:hover { color: #c01848 !important; }
.topiclist .topic-poster,
.topiclist .topic-poster * { color: #999 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; }
.topiclist .topic-poster a { color: #777 !important; font-weight: 700 !important; text-decoration: none !important; }
.topiclist .topic-poster a:hover { color: #c01848 !important; }
.topiclist .posts { color: #222 !important; font-size: 15px !important; font-weight: 800 !important; font-family: Raleway, sans-serif !important; }
.topiclist .views { color: #999 !important; font-size: 13px !important; font-family: Raleway, sans-serif !important; }
.topiclist .lastpost, .topiclist .lastpost * { color: #888 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; }
.topiclist .lastpost a { color: #444 !important; font-weight: 700 !important; text-decoration: none !important; }
.topiclist .lastpost a:hover { color: #c01848 !important; }
.topiclist .topic-icon i.icon-red { color: #c01848 !important; }
.topiclist .topic-icon i.icon-gray { color: #ddd !important; }
.pagination a, .pagination span { color: #555 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; }
.pagination strong { color: #c01848 !important; font-weight: 800 !important; }
.pagination a:hover { color: #c01848 !important; }

/* ============================================================
   POST VIEW
   ============================================================ */
h2.topic-title {
    font-family: Raleway, sans-serif !important;
    font-size: 21px !important;
    font-weight: 900 !important;
    color: #111 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #ede0e4 !important;
    line-height: 1.35 !important;
}
h2.topic-title a { color: #111 !important; text-decoration: none !important; }
h2.topic-title a:hover { color: #c01848 !important; }

/* Topic tools links */
.topic-tools a { color: #777 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; font-weight: 600 !important; text-decoration: none !important; }
.topic-tools a:hover { color: #c01848 !important; text-decoration: underline !important; }
.topic-tools i { display: none !important; }

div.post {
    background: #fff !important;
    border: 1px solid #e8e0e4 !important;
    border-radius: 8px !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 1px 6px rgba(0,0,0,0.06) !important;
}
div.post:hover { border-color: #ccc !important; }
div.post > div.inner { padding: 0 !important; display: flex !important; }

/* User panel */
dl.postprofile {
    background: #faf8f9 !important;
    border-right: 1px solid #ede5e8 !important;
    padding: 20px 14px !important;
    width: 165px !important;
    min-width: 165px !important;
    max-width: 165px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}
dl.postprofile dt {
    width: 100% !important;
    padding: 0 0 12px 0 !important;
    margin: 0 0 12px 0 !important;
    border-bottom: 1px solid #ede5e8 !important;
}
dl.postprofile dt a,
dl.postprofile dt strong {
    color: #1a0008 !important;
    font-family: Raleway, sans-serif !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    word-break: break-word !important;
    display: block !important;
    line-height: 1.3 !important;
}
dl.postprofile dt a:hover { color: #c01848 !important; }
dl.postprofile dd.profile-rank {
    background: #fffbea !important;
    border: 1px solid #e8d060 !important;
    border-radius: 20px !important;
    color: #6a5000 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    font-family: Raleway, sans-serif !important;
    padding: 4px 10px !important;
    margin: 0 0 10px 0 !important;
    text-align: center !important;
    line-height: 1.4 !important;
    display: inline-block !important;
}
dl.postprofile dd {
    color: #999 !important;
    font-size: 11px !important;
    font-family: Raleway, sans-serif !important;
    margin: 3px 0 !important;
    width: 100% !important;
    text-align: center !important;
}
dl.postprofile dd strong {
    color: #666 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-family: Raleway, sans-serif !important;
}

/* Post body */
div.postbody {
    flex: 1 !important;
    padding: 20px 26px !important;
    min-width: 0 !important;
    background: #fff !important;
}
div.postbody h3 { display: none !important; }
div.postbody h3.first {
    display: block !important;
    font-family: Raleway, sans-serif !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #333 !important;
    margin-bottom: 8px !important;
}
div.postbody h3.first a { color: #333 !important; text-decoration: none !important; }

p.author {
    color: #bbb !important;
    font-size: 12px !important;
    font-family: Raleway, sans-serif !important;
    margin-bottom: 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f0eaec !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-wrap: wrap !important;
}
p.author a { color: #555 !important; text-decoration: none !important; font-weight: 700 !important; font-family: Raleway, sans-serif !important; }
p.author a:hover { color: #c01848 !important; }
p.author strong { color: #333 !important; font-weight: 800 !important; }
p.author time { color: #bbb !important; }
p.author i { display: none !important; }

div.content {
    color: #222 !important;
    font-family: Raleway, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.95 !important;
    word-wrap: break-word !important;
    white-space: normal !important;
}
div.content strong, div.content b { color: #111 !important; font-weight: 800 !important; }
div.content a { color: #c01848 !important; }
div.content a:hover { color: #8a0a30 !important; text-decoration: underline !important; }

ul.post-buttons { margin-bottom: 12px !important; display: flex !important; gap: 6px !important; list-style: none !important; padding: 0 !important; }
ul.post-buttons a { background: #f5f2f3 !important; border: 1px solid #e4dde0 !important; border-radius: 4px !important; padding: 5px 11px !important; color: #666 !important; font-size: 11px !important; font-family: Raleway, sans-serif !important; font-weight: 700 !important; text-decoration: none !important; }
ul.post-buttons a:hover { background: #1a0008 !important; color: #fff !important; border-color: #1a0008 !important; }

div.notice { color: #bbb !important; font-size: 11px !important; font-style: italic !important; font-family: Raleway, sans-serif !important; margin-top: 14px !important; padding-top: 10px !important; border-top: 1px solid #f5f0f2 !important; }

div.back2top { text-align: right !important; padding: 8px 14px 6px !important; border-top: 1px solid #f5f0f2 !important; background: #faf8f9 !important; }
div.back2top a, div.back2top i { color: #ddd !important; font-size: 12px !important; text-decoration: none !important; }
div.back2top a:hover, div.back2top a:hover i { color: #c01848 !important; }

/* ============================================================
   SUBFORUM LIST, PANELS, MISC
   ============================================================ */
.forabg { background: transparent !important; border: none !important; margin-bottom: 12px !important; }
.forabg .topiclist li.row { background: #fff !important; border: 1px solid #e8e0e4 !important; border-radius: 7px !important; margin-bottom: 8px !important; padding: 14px 20px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important; }
.forabg .forums dt a { color: #111 !important; font-weight: 800 !important; font-size: 15px !important; font-family: Raleway, sans-serif !important; text-decoration: none !important; }
.forabg .forums dt a:hover { color: #c01848 !important; }
.forabg .forums dd.desc { color: #888 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; }
.forabg .lastpost, .forabg .lastpost * { color: #888 !important; font-size: 12px !important; font-family: Raleway, sans-serif !important; }
.forabg .lastpost a { color: #444 !important; font-weight: 700 !important; }
.panel { background: #fff !important; border: 1px solid #e8e0e4 !important; border-radius: 7px !important; box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important; }
.panel .inner { padding: 16px !important; background: #fff !important; }
.linkage { display: none !important; }
.quick-reply textarea { background: #fff !important; border: 1px solid #ddd !important; border-radius: 5px !important; color: #222 !important; font-family: Raleway, sans-serif !important; font-size: 13px !important; padding: 10px !important; width: 100% !important; }

/* Mobile */
@media (max-width: 600px) {
    div.post > div.inner { flex-direction: column !important; }
    dl.postprofile { max-width: 100% !important; width: 100% !important; min-width: 0 !important; border-right: none !important; border-bottom: 1px solid #ede5e8 !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; padding: 12px 16px !important; }
    dl.postprofile dt { margin-bottom: 0 !important; padding: 0 !important; border-bottom: none !important; }
}

/* Hide bottom stats, online list, who is online boxes */
.stat-block,
.online-list,
div.stat-block { display: none !important; }

/* Fix login welcome banner stretch */
#tr-welcome-banner { box-sizing: border-box !important; width: 100% !important; overflow: hidden !important; }
#tr-welcome-banner-inner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; flex-wrap: wrap !important; max-width: 1380px !important; margin: 0 auto !important; padding: 12px 20px !important; }
#tr-welcome-banner-text { flex: 1 !important; min-width: 0 !important; }
#tr-welcome-banner-btns { display: flex !important; gap: 10px !important; align-items: center !important; flex-shrink: 0 !important; }
#tr-welcome-banner-btns a { white-space: nowrap !important; }
#tr-welcome-banner form { display: flex !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; }
#tr-welcome-banner input[type=text],
#tr-welcome-banner input[type=password] { width: auto !important; max-width: 140px !important; min-width: 80px !important; padding: 6px 10px !important; font-size: 12px !important; border-radius: 4px !important; }
#tr-welcome-banner input[type=submit],
#tr-welcome-banner button[type=submit] { white-space: nowrap !important; padding: 6px 14px !important; font-size: 12px !important; }
.login-form, #loginform { max-width: 480px !important; margin: 20px auto !important; }



/* ============================================================
   BUTTONS AND SEARCH - complete fix
   ============================================================ */

/* NEW TOPIC / POST REPLY buttons */
.action-bar a.button {
    background: #c01848 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: Raleway, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 8px 20px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    display: inline-block !important;
    line-height: 1.4 !important;
}
.action-bar a.button:hover { background: #8a0a30 !important; }
.action-bar a.button i,
.action-bar a.button span { color: #fff !important; font-size: 12px !important; font-weight: 800 !important; }
.action-bar a.button .sr-only { position: static !important; width: auto !important; height: auto !important; clip: auto !important; overflow: visible !important; }

/* Hide mystery icon-only buttons */
.action-bar a.button-icon-only { display: none !important; }

/* SEARCH BOX - force inline-flex on the fieldset/form container */
.action-bar .search-box { display: block !important; }
.action-bar .search-box form,
#topic-search,
#forum-search { display: inline-flex !important; align-items: stretch !important; border: 1px solid #ddd !important; border-radius: 6px !important; overflow: hidden !important; background: #fff !important; height: 34px !important; }

/* Search input */
.action-bar .search-box input.inputbox,
.action-bar .search-box input[type=search],
#topic-search input,
#forum-search input {
    background: #fff !important;
    border: none !important;
    outline: none !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-family: Raleway, sans-serif !important;
    color: #333 !important;
    width: 160px !important;
    height: 34px !important;
    flex: 1 !important;
    box-shadow: none !important;
}

/* Search SUBMIT button - always visible, always readable */
.action-bar .search-box button.button-search,
.action-bar .search-box button[type=submit],
#topic-search button,
#forum-search button {
    background: #1a0008 !important;
    color: #fff !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    padding: 0 14px !important;
    height: 34px !important;
    min-width: 60px !important;
    cursor: pointer !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    font-family: Raleway, sans-serif !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.action-bar .search-box button.button-search:hover,
#topic-search button:hover { background: #c01848 !important; }

/* Show the sr-only text inside the search button */
.action-bar .search-box button .sr-only,
#topic-search button .sr-only,
#forum-search button .sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #fff !important;
}
/* Hide the icon, show text only */
.action-bar .search-box button i,
#topic-search button i,
#forum-search button i { display: none !important; }

/* Hide the advanced search cog button */
.action-bar .search-box a.button-search-end,
#topic-search a.button-search-end { display: none !important; }

/* QUOTE / EDIT / REPORT post buttons */
ul.post-buttons { list-style: none !important; padding: 0 !important; margin: 0 0 12px 0 !important; display: flex !important; gap: 6px !important; flex-wrap: wrap !important; }
ul.post-buttons li { list-style: none !important; }
ul.post-buttons li a {
    background: #f0eaec !important;
    border: 1px solid #d8ccd2 !important;
    border-radius: 6px !important;
    padding: 5px 12px !important;
    color: #555 !important;
    font-size: 11px !important;
    font-family: Raleway, sans-serif !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
}
ul.post-buttons li a:hover { background: #c01848 !important; color: #fff !important; border-color: #c01848 !important; }
ul.post-buttons li a i { font-size: 10px !important; color: inherit !important; display: inline !important; }
ul.post-buttons li a .sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    color: inherit !important;
}

/* ============================================================
   UI FIXES FROM REVIEW - search, buttons, mystery boxes
   ============================================================ */

/* Hide mystery red box above POST REPLY */
.action-bar > a.button-icon-only,
.action-bar > span:empty,
.action-bar > div:empty { display: none !important; }

/* The specific unidentified red rectangle */
/* removed - too broad */

/* Search box - connected input and button */
.search-box fieldset,
form#topic-search fieldset,
form#forum-search fieldset {
    display: inline-flex !important;
    align-items: stretch !important;
    border: 1.5px solid #c01848 !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 34px !important;
}
.search-box input[type=search],
.search-box input.inputbox,
form#topic-search input,
form#forum-search input {
    border: none !important;
    outline: none !important;
    padding: 0 12px !important;
    font-size: 12px !important;
    font-family: Raleway, sans-serif !important;
    color: #333 !important;
    background: #fff !important;
    width: 150px !important;
    height: 34px !important;
    box-shadow: none !important;
}
.search-box button[type=submit],
form#topic-search button,
form#forum-search button {
    background: #c01848 !important;
    color: #fff !important;
    border: none !important;
    border-left: 1px solid #c01848 !important;
    padding: 0 14px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    font-family: Raleway, sans-serif !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    height: 34px !important;
    letter-spacing: 0.5px !important;
}
.search-box button[type=submit]:hover,
form#topic-search button:hover { background: #8a0a30 !important; }

/* Make sr-only text in search button visible */
.search-box button .sr-only,
form#topic-search button .sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    font-size: 11px !important;
    color: #fff !important;
}
.search-box button i,
form#topic-search button i { display: none !important; }

/* Hide the advanced search cog */
a.button-search-end { display: none !important; }

/* Empty box next to Quote - hide it */
/* removed - too broad */

/* Report button - red tint */
ul.post-buttons li a[href*="report"] {
    border-color: #c01848 !important;
    color: #c01848 !important;
    background: rgba(192,24,72,0.05) !important;
}
ul.post-buttons li a[href*="report"]:hover {
    background: #c01848 !important;
    color: #fff !important;
}

/* Quote button - neutral */
ul.post-buttons li a[href*="quote"] {
    border-color: #aaa !important;
    color: #555 !important;
    background: #f5f5f5 !important;
}
ul.post-buttons li a[href*="quote"]:hover {
    background: #1a0008 !important;
    color: #fff !important;
    border-color: #1a0008 !important;
}

/* Post cards - more prominent border */
div.post {
    border: 1.5px solid #d0c4c8 !important;
    border-radius: 8px !important;
    margin-bottom: 14px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07) !important;
}
div.post:hover { border-color: #c01848 !important; }

/* ============================================================
   EXACT SELECTOR FIXES - from DevTools inspection
   ============================================================ */

/* Mystery red box - Topic tools dropdown */
/* Topic tools - hide only the span trigger, not anchor buttons */
span.button-secondary { display: none !important; }
span.dropdown-trigger.dropdown-select { display: none !important; }

/* Empty box next to Quote - responsive menu link */
a.js-responsive-menu-link,
a.responsive-menu-link { display: none !important; }

/* Any remaining empty anchor boxes in post buttons */
/* removed - too broad */
/* removed - too broad */

/* The quickmod dropdown container */
#quickmod,
.quickmod { display: none !important; }

/* ============================================================
   TARGETED HIDE - only specific elements confirmed by DevTools
   ============================================================ */
/* Topic tools span - the red box */
span.button-secondary { display: none !important; }
span.dropdown-trigger.dropdown-select { display: none !important; }

/* Responsive menu link - empty box next to quote */
a.js-responsive-menu-link { display: none !important; }
a.responsive-menu-link { display: none !important; }

/* quickmod */
#quickmod { display: none !important; }

/* Make sure post-buttons li items are visible */
ul.post-buttons li { display: inline-block !important; }
ul.post-buttons li a { display: inline-flex !important; }

/* Hide responsive-menu hidden li - the mystery standalone box */
li.responsive-menu { display: none !important; }
li.responsive-menu.hidden { display: none !important; }

/* Hide the icon/box symbol inside Report and Quote buttons but keep the text */
ul.post-buttons li a i,
ul.post-buttons li a .icon { display: none !important; }

/* ============================================================
   HIDE DISPLAY/SORT BOX AND RETURN TO LINK
   ============================================================ */

/* Hide the Display / Sort by / Direction / Go box */
.display-options,
form .display-options,
.action-bar form:not(#topic-search):not(#forum-search),
.action-bar.bar-bottom form { display: none !important; }

/* Hide Return to forum link at bottom */
.jumpbox, 
#jumpbox,
.jumpbox-return,
dl.jumpbox { display: none !important; }



/* ============================================================
   MOBILE FIXES - targeted only
   ============================================================ */
@media (max-width: 768px) {

    /* &#9472;&#9472; USER PANEL on mobile - show username + rank + posts &#9472;&#9472; */
    div.post > div.inner { flex-direction: column !important; }

    dl.postprofile {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        border-right: none !important;
        border-bottom: 1px solid #ede5e8 !important;
        background: #faf8f9 !important;
        padding: 12px 16px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        flex-wrap: nowrap !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Username */
    dl.postprofile dt {
        padding: 0 !important;
        margin: 0 !important;
        border-bottom: none !important;
        width: auto !important;
        flex-shrink: 0 !important;
    }
    dl.postprofile dt a,
    dl.postprofile dt strong {
        font-size: 14px !important;
        font-weight: 900 !important;
        display: inline !important;
        color: #1a0008 !important;
    }

    /* Stack rank and posts vertically next to username */
    dl.postprofile dd {
        margin: 0 !important;
        text-align: left !important;
        font-size: 11px !important;
    }
    dl.postprofile dd.profile-rank {
        font-size: 9px !important;
        padding: 2px 8px !important;
        margin: 0 0 3px 0 !important;
        display: inline-block !important;
    }
    dl.postprofile dd.profile-posts { display: block !important; color: #888 !important; font-size: 10px !important; }
    dl.postprofile dd.profile-joined { display: block !important; color: #aaa !important; font-size: 10px !important; }

    /* &#9472;&#9472; HEADER LOGIN/REGISTER - simplified &#9472;&#9472; */
    #tr-header-right {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 6px !important;
    }

    /* Hide the welcome text and URL on mobile */
    #tr-welcome-text,
    #tr-header-right p,
    #tr-header-right .tr-site-url { display: none !important; }

    /* Login button - simple outline */
    #tr-header-right a.tr-login-btn,
    #tr-header-right a[href*=login] {
        background: transparent !important;
        border: 1px solid rgba(255,255,255,0.5) !important;
        color: #fff !important;
        padding: 5px 14px !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        font-family: Raleway, sans-serif !important;
    }

    /* Register button - solid crimson */
    #tr-header-right a.tr-register-btn,
    #tr-header-right a[href*=register] {
        background: #c01848 !important;
        border: 1px solid #c01848 !important;
        color: #fff !important;
        padding: 5px 14px !important;
        border-radius: 4px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-decoration: none !important;
        font-family: Raleway, sans-serif !important;
    }

    /* Hide large welcome/guest block text */
    #tr-header-right h3,
    #tr-header-right .tr-welcome-greeting { font-size: 13px !important; }
}

/* Mobile login button in navbar */
#tr-mobile-login-btn { display: none !important; }

@media (max-width: 600px) {
    /* Hide Canada #1 tagline on mobile */
    #tr-header-tagline { display: none !important; }

    /* Mobile login button - shows in navbar */
    #tr-mobile-login-btn {
        display: inline-block !important;
        margin-left: auto !important;
        flex-shrink: 0 !important;
        background: #c01848 !important;
        color: #fff !important;
        border: none !important;
        border-radius: 4px !important;
        padding: 5px 14px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        font-family: Raleway, sans-serif !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        letter-spacing: 0.5px !important;
    }
}


/* ============================================================
   FORUM INDEX - let forumlist_body.html styles win
   Just add mobile overrides
   ============================================================ */

/* Remove our generic forabg overrides that fight the template */
.forabg .topiclist li.row { display: block !important; }

/* ============================================================
   MOBILE - forum index
   ============================================================ */
@media (max-width: 768px) {

    /* Stack the row - forum name full width, then stats below */
    .forabg .forums .row .row-item {
        flex-wrap: wrap !important;
        padding: 10px 12px !important;
    }

    /* Forum name takes full width */
    .forabg .forums .row dt {
        width: 100% !important;
        flex: none !important;
        margin-bottom: 6px !important;
    }

    /* Hide threads and messages count on mobile */
    .forabg .forums .row dd.topics,
    .forabg .forums .row dd.posts { display: none !important; }

    /* Last post - full width strip on mobile */
    .forabg .forums .row dd.lastpost {
        width: 100% !important;
        border-left: none !important;
        border-top: 1px solid #f0e0ea !important;
        padding: 6px 0 0 0 !important;
        text-align: left !important;
    }

    /* Subforum rows - compact on mobile */
    .forabg .forums .subforum-row .row-item {
        padding: 6px 12px 6px 18px !important;
    }
    .forabg .forums .subforum-row dd.topics,
    .forabg .forums .subforum-row dd.posts,
    .forabg .forums .subforum-row dd.lastpost { display: none !important; }

    /* Header row - hide stats labels on mobile */
    .forabg .header dd.topics,
    .forabg .header dd.posts,
    .forabg .header dd.lastpost { display: none !important; }

    /* Forum title smaller on mobile */
    a.forumtitle { font-size: 13px !important; }
    .forum-desc-text { font-size: 11px !important; }
}

/* Forum index last post - force white overriding inline styles */
.lastpost-author { color: #555 !important; }
.lastpost-author a,
.lastpost-author a.username-coloured,
.lastpost-author a[style] {
    color: #333 !important;
    font-weight: 700 !important;
}
.lastpost-author a:hover { color: #c01848 !important; }
.lastpost-time { color: #aaa !important; }
.lastpost-subject { color: #c01848 !important; }
.lastpost-subject:hover { color: #8a0a30 !important; }

/* Forum index - smaller row height */
.forabg .forums .row .row-item { padding: 8px 14px !important; }
.forabg .forums .subforum-row .row-item { padding: 5px 14px 5px 22px !important; }
.forabg .header .row-item { padding: 7px 16px !important; }
.forum-icon-wrap { width: 28px !important; height: 28px !important; font-size: 13px !important; }
.forum-count { font-size: 16px !important; }
.forum-desc-text { display: none !important; }

/* Parent forum rows (main category forums with subforums) - crimson styling */
.forabg ul.topiclist.forums li.row.forum_unread_subforum,
.forabg ul.topiclist.forums li.row.forum_read_subforum,
.forabg .forums li.row.forum_unread_subforum,
.forabg .forums li.row.forum_read_subforum {
    background: linear-gradient(135deg,#3a0018 0%,#6a0828 40%,#900a38 100%) !important;
    border-bottom: 3px solid #c01848 !important;
    border-left: none !important;
}
.forabg li.row.forum_unread_subforum:hover,
.forabg li.row.forum_read_subforum:hover {
    background: linear-gradient(135deg,#4a0820 0%,#7a1030 40%,#a00a40 100%) !important;
}
/* White text on crimson background */
.forabg li.row.forum_unread_subforum a.forumtitle,
.forabg li.row.forum_read_subforum a.forumtitle {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}
.forabg li.row.forum_unread_subforum a.forumtitle:hover,
.forabg li.row.forum_read_subforum a.forumtitle:hover { color: #ffd0e0 !important; }
.forabg li.row.forum_unread_subforum .forum-desc-text,
.forabg li.row.forum_read_subforum .forum-desc-text {
    color: rgba(255,210,230,0.75) !important;
    display: block !important;
}
.forabg li.row.forum_unread_subforum .forum-count,
.forabg li.row.forum_read_subforum .forum-count { color: #fff !important; }
.forabg li.row.forum_unread_subforum dd dfn,
.forabg li.row.forum_read_subforum dd dfn { color: rgba(255,210,230,0.6) !important; }
.forabg li.row.forum_unread_subforum .forum-icon-wrap,
.forabg li.row.forum_read_subforum .forum-icon-wrap {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.forabg li.row.forum_unread_subforum .lastpost-subject,
.forabg li.row.forum_read_subforum .lastpost-subject { color: #ffd0e0 !important; }
.forabg li.row.forum_unread_subforum .lastpost-time,
.forabg li.row.forum_read_subforum .lastpost-time { color: rgba(255,210,230,0.6) !important; }
.forabg li.row.forum_unread_subforum .lastpost-author,
.forabg li.row.forum_read_subforum .lastpost-author { color: rgba(255,210,230,0.8) !important; }
.forabg li.row.forum_unread_subforum .lastpost-author a,
.forabg li.row.forum_read_subforum .lastpost-author a { color: #fff !important; }
.forabg li.row.forum_unread_subforum .lastpost-avatar,
.forabg li.row.forum_read_subforum .lastpost-avatar {
    background: rgba(255,255,255,0.2) !important;
}
.forabg li.row.forum_unread_subforum .forum-new-badge,
.forabg li.row.forum_read_subforum .forum-new-badge {
    background: rgba(255,255,255,0.25) !important;
    color: #fff !important;
}

/* Also restore description text for normal rows */
.forum-desc-text { display: block !important; }

/* Hide timestamps and mark forums read on index */
.index-page-footer,
p.gensmall,
.gensmall,
#page-body > p,
p[class=gensmall] { display: none !important; }

/* Hide mark forums read link */
a[href*="mark_read"],
a[href*="mark_forums_read"],
.action-bar a[href*="mark"] { display: none !important; }

/* ============================================================
   UCP - User Control Panel complete redesign
   ============================================================ */

/* UCP title */
h2.ucp-title {
    font-family: Raleway, sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #1a0008 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #e8e0e4 !important;
}

/* Tabs */
#tabs { margin-bottom: 0 !important; border-bottom: 2px solid #c01848 !important; }
#tabs ul { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 2px !important; }
#tabs li { display: inline-block !important; }
#tabs li a {
    display: block !important;
    padding: 8px 16px !important;
    font-family: Raleway, sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #666 !important;
    text-decoration: none !important;
    background: #f0eaec !important;
    border-radius: 5px 5px 0 0 !important;
    border: 1px solid #e0d4d8 !important;
    border-bottom: none !important;
}
#tabs li a:hover { background: #fff !important; color: #c01848 !important; }
#tabs li.activetab a {
    background: #c01848 !important;
    color: #fff !important;
    border-color: #c01848 !important;
}

/* Main UCP panel */
.panel.bg3 { background: #fff !important; border: 1px solid #e8e0e4 !important; border-radius: 0 8px 8px 8px !important; box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; }
.panel.bg3 > .inner { padding: 0 !important; display: flex !important; }

/* Left nav menu */
#cp-menu {
    width: 200px !important;
    min-width: 200px !important;
    flex-shrink: 0 !important;
    background: #faf8f9 !important;
    border-right: 1px solid #e8e0e4 !important;
    padding: 16px 0 !important;
    border-radius: 0 0 0 8px !important;
}
#cp-menu .navigation { padding: 0 !important; }
#cp-menu ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
#cp-menu ul li a {
    display: block !important;
    padding: 9px 18px !important;
    font-family: Raleway, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #555 !important;
    text-decoration: none !important;
    border-left: 3px solid transparent !important;
    transition: all 0.12s !important;
}
#cp-menu ul li a:hover {
    background: #fff0f4 !important;
    color: #c01848 !important;
    border-left-color: #c01848 !important;
}
#cp-menu ul li.active-subsection a {
    background: #fff0f4 !important;
    color: #c01848 !important;
    border-left-color: #c01848 !important;
    font-weight: 800 !important;
}

/* Main content area */
#cp-main {
    flex: 1 !important;
    padding: 20px 24px !important;
    min-width: 0 !important;
}
#cp-main h2 {
    font-family: Raleway, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #1a0008 !important;
    margin: 0 0 16px 0 !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #f0e0e8 !important;
}
#cp-main h3 {
    font-family: Raleway, sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #888 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin: 16px 0 10px 0 !important;
}
#cp-main .panel {
    background: #faf8f9 !important;
    border: 1px solid #f0eaec !important;
    border-radius: 6px !important;
    margin-bottom: 14px !important;
}
#cp-main .panel .inner { padding: 16px !important; }
#cp-main p {
    font-family: Raleway, sans-serif !important;
    font-size: 13px !important;
    color: #555 !important;
    line-height: 1.7 !important;
    margin-bottom: 12px !important;
}

/* Activity dl list */
#cp-main dl.details { margin: 0 !important; }
#cp-main dl.details dt {
    font-family: Raleway, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 0 4px 0 !important;
    border-top: 1px solid #f0eaec !important;
    float: left !important;
    clear: left !important;
    width: 140px !important;
}
#cp-main dl.details dd {
    font-family: Raleway, sans-serif !important;
    font-size: 13px !important;
    color: #333 !important;
    padding: 8px 0 4px 140px !important;
    border-top: 1px solid #f0eaec !important;
    line-height: 1.5 !important;
}
#cp-main dl.details dd:first-of-type,
#cp-main dl.details dt:first-of-type { border-top: none !important; }
#cp-main dl.details a { color: #c01848 !important; font-weight: 600 !important; text-decoration: none !important; }
#cp-main dl.details a:hover { text-decoration: underline !important; }

/* PM inbox styling */
#cp-main .post,
#cp-main table.table1 {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: Raleway, sans-serif !important;
}
#cp-main table.table1 th {
    background: #faf8f9 !important;
    color: #888 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 12px !important;
    border-bottom: 2px solid #e8e0e4 !important;
    font-family: Raleway, sans-serif !important;
}
#cp-main table.table1 td {
    padding: 10px 12px !important;
    border-bottom: 1px solid #f5f0f2 !important;
    font-size: 13px !important;
    color: #333 !important;
    font-family: Raleway, sans-serif !important;
    vertical-align: middle !important;
}
#cp-main table.table1 tr:hover td { background: #fff8fb !important; }
#cp-main table.table1 a { color: #c01848 !important; font-weight: 600 !important; text-decoration: none !important; }
#cp-main table.table1 a:hover { text-decoration: underline !important; }

/* Mobile UCP */
@media (max-width: 600px) {
    .panel.bg3 > .inner { flex-direction: column !important; }
    #cp-menu { width: 100% !important; min-width: 0 !important; border-right: none !important; border-bottom: 1px solid #e8e0e4 !important; padding: 8px 0 !important; }
    #cp-menu ul { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; padding: 8px !important; }
    #cp-menu ul li a { padding: 6px 12px !important; border-left: none !important; border-radius: 4px !important; border: 1px solid #e0d4d8 !important; font-size: 11px !important; }
    #cp-menu ul li.active-subsection a { background: #c01848 !important; color: #fff !important; border-color: #c01848 !important; }
    #cp-main { padding: 14px !important; }
    #cp-main dl.details dt { float: none !important; width: 100% !important; padding: 8px 0 2px 0 !important; }
    #cp-main dl.details dd { padding: 0 0 8px 0 !important; }
}

/* ============================================================
   MEMBER PROFILE PAGE (memberlist.php?mode=viewprofile)
   ============================================================ */

/* Profile page wrapper */
.profile-page .panel,
#page-body .panel.profile {
    background: #fff !important;
    border: 1px solid #e8e0e4 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
}

/* Profile header strip */
.profile-page h2,
#page-body h2.memberlist-title,
#page-body .memberlist h2 {
    font-family: Raleway, sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    color: #1a0008 !important;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #e8e0e4 !important;
}

/* Profile info table */
.profile-page table,
#page-body table.table1 {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: Raleway, sans-serif !important;
}
.profile-page table th,
#page-body table.table1 th {
    background: linear-gradient(135deg,#3a0018,#6a0828) !important;
    color: #fff !important;
    font-family: Raleway, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 16px !important;
}
.profile-page table td,
#page-body table.table1 td {
    padding: 10px 16px !important;
    border-bottom: 1px solid #f5f0f2 !important;
    font-size: 13px !important;
    color: #333 !important;
    font-family: Raleway, sans-serif !important;
    vertical-align: top !important;
}
.profile-page table tr:hover td,
#page-body table.table1 tr:hover td { background: #fff8fb !important; }
.profile-page table td:first-child,
#page-body table.table1 td:first-child {
    font-weight: 700 !important;
    color: #888 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: 160px !important;
    background: #faf8f9 !important;
}

/* Profile username display */
#page-body .profile-username,
#page-body h2 .username-coloured {
    font-family: Raleway, sans-serif !important;
    font-size: 22px !important;
    font-weight: 900 !important;
}

/* Profile rank badge */
#page-body .profile-rank {
    background: #fffbea !important;
    border: 1px solid #e8d060 !important;
    border-radius: 20px !important;
    color: #6a5000 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 4px 12px !important;
    display: inline-block !important;
    font-family: Raleway, sans-serif !important;
    margin-bottom: 8px !important;
}

/* Profile posts count */
#page-body .profile-posts a {
    color: #c01848 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}
#page-body .profile-posts a:hover { text-decoration: underline !important; }

/* Profile avatar area */
.profile-avatar-img img,
#page-body .avatar img {
    border-radius: 8px !important;
    border: 2px solid #e8e0e4 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* Usergroups page - hide open groups from normal members */
#cp-main .group-open .group-join { display: none !important; }

/* ============================================================
   FIX EMPTY BOX ICONS THROUGHOUT SITE
   ============================================================ */

/* Hide broken icon boxes in topic list */
.topiclist .topic-icon { display: none !important; }

/* Hide new post indicator boxes next to thread titles */
.topiclist .topic-title a.unread::before,
.topiclist dt i.fa { display: none !important; }

/* Hide icon boxes in breadcrumb/navbar that show as squares */
#nav-main i.fa,
#nav-breadcrumbs i.fa,
ul.linklist i.fa { display: none !important; }

/* Hide the mini post icon boxes in post author line */
p.author i.fa,
p.author i.icon { display: none !important; }

/* Hide icon boxes in post buttons that are just squares */
ul.post-buttons li a i.fa { display: none !important; }

/* Hide icon boxes in UCP tabs and nav */
#tabs i.fa,
#cp-menu i.fa { display: none !important; }

/* Fix groups page - close advertiser groups visually */
/* Hide join option for advertiser groups */
.group-details .group-membership { display: none !important; }

/* ============================================================
   MEMBER PROFILE PAGE - targeted fix using actual phpBB classes
   ============================================================ */
/* Profile wrapper */
#page-body > .panel { 
    background: #fff !important;
    border: 1px solid #e8e0e4 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    overflow: hidden !important;
}
/* Profile title */
#page-body h2 {
    font-family: Raleway, sans-serif !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #1a0008 !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid #e8e0e4 !important;
}
/* Profile info dl */
.profile dl.details dt {
    font-family: Raleway, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #999 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    width: 150px !important;
    float: left !important;
    clear: left !important;
    padding: 8px 0 !important;
    border-top: 1px solid #f5f0f2 !important;
}
.profile dl.details dd {
    font-family: Raleway, sans-serif !important;
    font-size: 13px !important;
    color: #333 !important;
    padding: 8px 0 8px 150px !important;
    border-top: 1px solid #f5f0f2 !important;
    line-height: 1.5 !important;
}
.profile dl.details dt:first-of-type,
.profile dl.details dd:first-of-type { border-top: none !important; }
.profile dl.details a { color: #c01848 !important; font-weight: 600 !important; text-decoration: none !important; }
.profile dl.details a:hover { text-decoration: underline !important; }

/* Profile section headers */
.profile h3 {
    font-family: Raleway, sans-serif !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #fff !important;
    background: linear-gradient(135deg,#3a0018,#6a0828) !important;
    padding: 8px 16px !important;
    margin: 16px -16px 12px -16px !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Profile rank badge */
.profile .profile-rank {
    background: #fffbea !important;
    border: 1px solid #e8d060 !important;
    border-radius: 20px !important;
    color: #6a5000 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    padding: 3px 12px !important;
    display: inline-block !important;
    font-family: Raleway, sans-serif !important;
}

/* Profile username */
.profile .username-coloured,
.profile .username {
    font-family: Raleway, sans-serif !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

/* Avatar */
.profile .avatar img {
    border-radius: 8px !important;
    border: 2px solid #e8e0e4 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    max-width: 120px !important;
}

/* ============================================================
   HIDE ALL BROKEN FA ICON BOXES SITEWIDE
   ============================================================ */
i.fa,
i.icon,
.icon,
span.icon,
i[class*="fa-"],
i[class*="icon-"] {
    display: none !important;
}

/* But keep icons we actually want visible */
.forum-icon-wrap i.fa,
.subforum-icon-wrap i.fa,
.lastpost-avatar i.fa,
.cat-folder-icon i.fa {
    display: inline-block !important;
}

/* ============================================================
   ICON FIX - hide broken FA boxes sitewide
   ============================================================ */
i.fa, i.icon, .icon, span.icon, i[class*="fa-"], i[class*="icon-"] { display: none !important; }
.forum-icon-wrap i.fa, .subforum-icon-wrap i.fa, .lastpost-avatar i.fa, .cat-folder-icon i.fa { display: inline-block !important; }

/* ============================================================
   PROFILE PAGE h3 section headers
   ============================================================ */
#page-body h3 {
    font-family: Raleway, sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #3a0018, #6a0828) !important;
    padding: 9px 20px !important;
    margin: 16px 0 0 0 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border: none !important;
}

/* ============================================================
   MOBILE TOPIC LIST FIX
   The global .row-item { display:flex } is overriding mobile.
   Fix: on mobile, make viewforum topic rows display as blocks
   using screen width meta approach via forumbg-specific rules
   ============================================================ */
@media only screen and (max-width: 768px) {

    /* Hide mark read */
    a[href*="mark_read"], a[href*="mark_forums_read"] { display: none !important; }

    /* Forum index subforum boxes - compact */
    .forum-desc-text { display: none !important; }
    .forabg .forums .row .row-item { flex-wrap: wrap !important; padding: 8px 12px !important; }
    .forabg .forums .row dd.topics,
    .forabg .forums .row dd.posts { display: none !important; }
    .forabg .forums .row dd.lastpost {
        width: 100% !important;
        flex-basis: 100% !important;
        border-left: none !important;
        border-top: 1px solid rgba(200,160,180,0.3) !important;
        padding: 4px 0 0 0 !important;
    }
    .forabg .header dd { display: none !important; }

    /* Viewforum topic rows - override flex with wrap */
    .forumbg .topiclist li.row dl {
        display: flex !important;
        flex-wrap: wrap !important;
        padding: 10px 12px !important;
        gap: 4px 0 !important;
        align-items: flex-start !important;
    }
    /* Title takes full width */
    .forumbg .topiclist li.row dl dt {
        width: 100% !important;
        flex: none !important;
        order: 1 !important;
    }
    /* Replies + Views inline */
    .forumbg .topiclist li.row dl dd.posts {
        order: 2 !important;
        width: auto !important;
        flex: none !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #333 !important;
        margin-right: 10px !important;
    }
    .forumbg .topiclist li.row dl dd.views {
        order: 3 !important;
        width: auto !important;
        flex: none !important;
        font-size: 12px !important;
        color: #aaa !important;
    }
    /* Last post full width below */
    .forumbg .topiclist li.row dl dd.lastpost {
        order: 4 !important;
        width: 100% !important;
        flex-basis: 100% !important;
        border-top: 1px solid #f0eaec !important;
        padding-top: 5px !important;
        margin-top: 4px !important;
        font-size: 11px !important;
    }
    .forumbg .topiclist .lastpost a { font-size: 12px !important; font-weight: 700 !important; }

    /* Topic title */
    .topiclist .topic-title a {
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
        word-break: break-word !important;
        line-height: 1.4 !important;
        white-space: normal !important;
    }
    .topiclist .topic-poster { font-size: 11px !important; color: #aaa !important; text-transform: none !important; }

    /* Search bar */
    .action-bar { flex-wrap: wrap !important; gap: 6px !important; }
    .action-bar .search-box {
        display: flex !important;
        width: 100% !important;
        border: 1px solid #ddd !important;
        border-radius: 5px !important;
        overflow: hidden !important;
        background: #fff !important;
    }
    .action-bar .search-box input[type=text],
    .action-bar .search-box input[type=search] {
        flex: 1 !important;
        min-width: 0 !important;
        border: none !important;
        padding: 8px 10px !important;
        font-size: 13px !important;
        width: auto !important;
        background: #fff !important;
    }
    .action-bar .search-box input[type=submit],
    .action-bar .search-box button {
        flex-shrink: 0 !important;
        width: auto !important;
        background: #c01848 !important;
        color: #fff !important;
        border: none !important;
        padding: 0 14px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
    }

    /* General */
    #page-body { padding: 6px !important; }
    .stat-block { display: none !important; }
    div.content { font-size: 13px !important; line-height: 1.8 !important; }
    h2.topic-title { font-size: 16px !important; }
}

/* Hide navbar search on mobile - covered by directory button */
@media only screen and (max-width: 768px) {
    #tr-navbar-search { display: none !important; }
}

/* ============================================================
   MOBILE IMPROVEMENTS - forum index stats + topic last post
   ============================================================ */
@media only screen and (max-width: 768px) {

    /* Forum index subforum rows - show threads/messages */
    .forabg .forums .row dd.topics,
    .forabg .forums .row dd.posts {
        display: inline-block !important;
        width: auto !important;
        flex: none !important;
        text-align: center !important;
        min-width: 60px !important;
        margin-right: 8px !important;
    }

    /* Forum index lastpost - show on mobile */
    .forabg .forums .row dd.lastpost {
        display: block !important;
        font-size: 11px !important;
    }
    .forabg .forums .row dd.lastpost .lastpost-inner { display: flex !important; align-items: center !important; gap: 6px !important; }
    .forabg .forums .row dd.lastpost .lastpost-subject { font-size: 11px !important; max-width: 200px !important; }
    .forabg .forums .row dd.lastpost .lastpost-time { font-size: 10px !important; }
    .forabg .forums .row dd.lastpost .lastpost-author { font-size: 11px !important; }

    /* Viewforum - show last post info properly */
    .forumbg .topiclist li.row dl dd.lastpost .lastpost,
    .forumbg .topiclist li.row dl dd.lastpost span { display: block !important; }
    .forumbg .topiclist li.row dl dd.lastpost a { color: #c01848 !important; font-weight: 700 !important; font-size: 12px !important; }

    /* Viewforum - tighter card look */
    .forumbg .topiclist li.row { border-radius: 6px !important; margin-bottom: 6px !important; }
    .forumbg .topiclist li.row dl { padding: 10px 12px !important; }
    .topiclist .topic-title a { font-size: 14px !important; color: #c01848 !important; }
    .topiclist .topic-poster { margin-top: 2px !important; margin-bottom: 4px !important; }
    .forumbg .topiclist li.row dl dd.posts { font-size: 13px !important; font-weight: 800 !important; }

    /* Hide navbar search on mobile */
    #tr-navbar-search { display: none !important; }
}

/* ============================================================
   MOBILE - viewforum topic list cleanup
   ============================================================ */
@media only screen and (max-width: 768px) {

    /* Hide the Replies/Views/Last post header row */
    .forumbg .topiclist.header { display: none !important; }

    /* Each topic card */
    .forumbg .topiclist li.row {
        border-radius: 6px !important;
        margin-bottom: 8px !important;
        padding: 0 !important;
    }

    /* Make the dl a clean block */
    .forumbg .topiclist li.row dl.row-item {
        display: block !important;
        padding: 12px 14px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Title area - full width */
    .forumbg .topiclist li.row dl.row-item dt {
        display: block !important;
        width: 100% !important;
        margin-bottom: 6px !important;
    }

    /* Hide all dd columns first */
    .forumbg .topiclist li.row dl.row-item dd {
        display: none !important;
    }

    /* Stats row - replies and views inline */
    .forumbg .topiclist li.row dl.row-item dd.posts,
    .forumbg .topiclist li.row dl.row-item dd.views {
        display: inline-block !important;
        width: auto !important;
        margin-right: 14px !important;
        font-size: 12px !important;
        color: #666 !important;
        vertical-align: middle !important;
    }
    .forumbg .topiclist li.row dl.row-item dd.posts {
        font-weight: 700 !important;
        color: #333 !important;
    }

    /* Last post - show as slim line below stats */
    .forumbg .topiclist li.row dl.row-item dd.lastpost {
        display: block !important;
        width: 100% !important;
        border-top: 1px solid #f0eaec !important;
        margin-top: 8px !important;
        padding-top: 6px !important;
        font-size: 11px !important;
        color: #aaa !important;
    }
    .forumbg .topiclist li.row dl.row-item dd.lastpost a {
        color: #c01848 !important;
        font-weight: 700 !important;
        font-size: 12px !important;
    }
}

/* Hide topic/replies/views header bar on mobile completely */
@media only screen and (max-width: 768px) {
    .forumbg .topiclist li.header,
    .forumbg ul.topiclist.header,
    .topiclist.header { display: none !important; }
}

/* Show last post subject title on mobile forum index */
@media only screen and (max-width: 768px) {
    .forabg .forums .row dd.lastpost .lastpost-subject {
        display: block !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        color: #c01848 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 280px !important;
        margin-bottom: 2px !important;
    }
    .forabg .forums .row dd.lastpost .lastpost-inner {
        display: block !important;
    }
    .forabg li.row.forum_unread_subforum .lastpost-subject,
    .forabg li.row.forum_read_subforum .lastpost-subject {
        color: #ffd0e0 !important;
    }
}

/* Fix mobile forum index boxes - compact, hide avatar, fix sizing */
@media only screen and (max-width: 768px) {
    .forabg .forums .row dd.lastpost .lastpost-avatar { display: none !important; }
    .forabg .forums .row dd.lastpost .lastpost-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
    .forabg .forums .row dd.lastpost .lastpost-time { font-size: 11px !important; color: #aaa !important; }
    .forabg .forums .row dd.lastpost .lastpost-author { font-size: 12px !important; font-weight: 700 !important; }
    .forabg .forums .row .row-item { padding: 10px 12px !important; min-height: 0 !important; }
}

/* Fix horizontal overflow on mobile */
@media only screen and (max-width: 768px) {
    html, body { overflow-x: hidden !important; max-width: 100% !important; }
    #wrap, #page-body, #tr-page-wrap, #tr-main-col { overflow-x: hidden !important; max-width: 100% !important; }
    
    /* Members page table overflow */
    .forumbg-table, .forumbg-table .inner, table.memberlist, table.table1 {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        display: block !important;
        table-layout: fixed !important;
    }
    table.memberlist td, table.memberlist th,
    table.table1 td, table.table1 th {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        max-width: 120px !important;
    }
    /* Hide the location/website/social column on mobile - useless and causes overflow */
    table.memberlist th.info,
    table.memberlist td.info { display: none !important; }

    /* Forum page title overflow */
    h2.forum-title, #page-body h2 {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 100% !important;
    }
}

/* Post title bar - white text so it reads on crimson background */
div.postbody h3.first { color: #fff !important; }
div.postbody h3.first a { color: #fff !important; }
div.postbody h3.first a:hover { color: #ffd0e0 !important; }

/* Quote box styling */
blockquote {
    background: #fff0f5 !important;
    border-left: 4px solid #c01848 !important;
    border: 1px solid #e8c0d0 !important;
    border-left: 4px solid #c01848 !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    margin: 10px 0 !important;
    color: #5a2040 !important;
    font-size: 12.5px !important;
    font-family: 'Source Sans 3', sans-serif !important;
    position: relative !important;
}
blockquote .quotetitle {
    background: linear-gradient(135deg, #8a0a30 0%, #c01848 100%) !important;
    color: #fff !important;
    font-family: 'Raleway', sans-serif !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    padding: 4px 10px !important;
    margin: -10px -14px 8px -14px !important;
    border-radius: 3px 3px 0 0 !important;
    display: block !important;
}
blockquote .quotetitle a {
    color: #ffd0e0 !important;
    text-decoration: none !important;
}
blockquote .quotetitle a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}
blockquote .quotecontent {
    color: #5a2040 !important;
    line-height: 1.6 !important;
}

/* Mobile post editor text wrap fix */
@media(max-width:768px) {
    #message-box, .inputbox, textarea#message,
    textarea.inputbox, div.write-post textarea,
    #postform textarea, .post-form textarea {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        white-space: pre-wrap !important;
        overflow-x: hidden !important;
        resize: vertical !important;
    }
    .postform, #postform, .post-form {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
}

/* ================================================
   TRUREVIEW UPDATES - FONT, LAYOUT & DISPLAY FIXES
   ================================================ */

/* FONT UPGRADE - Replace Source Sans 3 with Inter */
body {
    font-family: 'Inter', 'Raleway', Verdana, sans-serif !important;
    font-weight: 400 !important;
    font-size: 13.5px !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

/* Make all body text sharper and more readable */
.postbody .content,
.post .content,
#page-body,
.forabg,
.forumbg,
.inner {
    font-family: 'Inter', Verdana, sans-serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
}

/* Numbers look sharp in Inter */
.posts, .topics, .pagination,
dl.postprofile dd.profile-posts,
.stat-block {
    font-family: 'Inter', Verdana, sans-serif !important;
    font-variant-numeric: tabular-nums !important;
}

/* Bold headings */
h1, h2, h3, h4, h5, h6,
.forumtitle, .topictitle,
div.postbody h3.first,
div.postbody h3.first a {
    font-family: 'Inter', 'Raleway', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
}

/* HIDE JOINED DATE everywhere */
dl.postprofile dd.profile-joined { display: none !important; }
.profile-joined { display: none !important; }
dt.profile-joined { display: none !important; }
.memberlist .joined { display: none !important; }
td.joined { display: none !important; }
.profile-page .joined { display: none !important; }
#page-body dl dt.profile-joined,
#page-body dl dd.profile-joined { display: none !important; }

/* HIDE EMAIL on profile pages */
.profile-email { display: none !important; }
dd.profile-email { display: none !important; }
dt.profile-email { display: none !important; }
.email { display: none !important; }
a[href^="mailto"] { display: none !important; }

/* PROMO CARDS - Smaller size */
#tr-bottom-promo {
    display: flex !important;
    gap: 10px !important;
    padding: 8px 12px !important;
}
.tr-bottom-promo-card {
    padding: 10px 14px !important;
    min-height: 0 !important;
}
.tr-bottom-promo-icon {
    font-size: 18px !important;
}
.tr-bottom-promo-title {
    font-size: 13px !important;
    font-weight: 700 !important;
}
.tr-bottom-promo-desc {
    font-size: 11px !important;
    line-height: 1.4 !important;
}
.tr-bottom-promo-tag {
    font-size: 9px !important;
    padding: 2px 6px !important;
}
.tr-bottom-promo-cta {
    font-size: 10px !important;
    margin-top: 4px !important;
}

/* HIDE QUOTES in search results */
.search-result blockquote,
.search blockquote,
#page-body .search-results blockquote {
    display: none !important;
}

/* PROFILE PAGE - cleaner look */
.profile-page .panel,
#page-body .panel.profile {
    background: rgba(255,255,255,0.97) !important;
    border: 1px solid var(--pink-border) !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
}
#page-body dl dt {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 11.5px !important;
    color: #8a0a30 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
#page-body dl dd {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #2a1520 !important;
}

/* MEMBER PROFILE - hide registration date */
.profile-reg-date { display: none !important; }
dt[for="reg_date"] { display: none !important; }

/* ================================================
   MEMBER LIST - Professional Redesign
   ================================================ */

/* Member list table container */
#memberlist_search { display: none !important; }

.memberlist th {
    background: linear-gradient(135deg, #8a0a30 0%, #c01848 100%) !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 10px 14px !important;
    border: none !important;
    white-space: nowrap !important;
}

.memberlist th a {
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}

.memberlist th a:hover {
    color: #ffd0e0 !important;
    text-decoration: none !important;
}

/* Member rows */
.memberlist tr.bg1,
.memberlist tr.bg2 {
    border-bottom: 1px solid #f0e0e8 !important;
    transition: background 0.1s !important;
}

.memberlist tr.bg1 {
    background: rgba(255,255,255,0.97) !important;
}

.memberlist tr.bg2 {
    background: rgba(252,232,240,0.4) !important;
}

.memberlist tr.bg1:hover,
.memberlist tr.bg2:hover {
    background: rgba(192,24,72,0.06) !important;
}

/* Member list cells */
.memberlist td {
    padding: 10px 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #2a1520 !important;
    border: none !important;
    vertical-align: middle !important;
}

/* Username column */
.memberlist td:first-child {
    font-weight: 600 !important;
    min-width: 200px !important;
}

/* Rank badge styling */
.memberlist .rank-img {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 11px !important;
    color: #8a0a30 !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}

/* Posts count */
.memberlist td.posts {
    font-weight: 700 !important;
    color: #c01848 !important;
    font-size: 13px !important;
    text-align: center !important;
    font-variant-numeric: tabular-nums !important;
}

/* Username links */
.memberlist td a {
    color: #c01848 !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    font-size: 13.5px !important;
}

.memberlist td a:hover {
    color: #8a0a30 !important;
    text-decoration: underline !important;
}

/* Member list wrapper */
.forumbg-table {
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(138,10,48,0.08) !important;
    border: 1px solid #e8c0d0 !important;
    margin-bottom: 16px !important;
}

/* Page title */
h2.solo {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #8a0a30 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 12px !important;
}

/* Member count / pagination bar */
.action-bar {
    background: rgba(255,255,255,0.9) !important;
    border: 1px solid #e8c0d0 !important;
    border-radius: 4px !important;
    padding: 8px 14px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    color: #6a3050 !important;
    margin-bottom: 10px !important;
}

/* Alpha sort links */
.member-search {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
}

.member-search a {
    color: #c01848 !important;
    font-weight: 600 !important;
    padding: 2px 4px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
}

.member-search a:hover {
    background: rgba(192,24,72,0.1) !important;
    color: #8a0a30 !important;
}

/* ================================================
   MEMBER PROFILE PAGE - Full Redesign
   ================================================ */

.tr-profile-card { margin-bottom: 12px !important; }

.tr-profile-inner {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 20px !important;
}

.tr-profile-avatar img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    border: 3px solid #c01848 !important;
    object-fit: cover !important;
}

.tr-profile-info { flex: 1 !important; }

.tr-profile-username {
    font-family: 'Inter', sans-serif !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #1a0008 !important;
    margin-bottom: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.tr-profile-edit-btn {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: #c01848 !important;
    padding: 4px 12px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
}

.tr-profile-edit-btn:hover {
    background: #8a0a30 !important;
    color: #fff !important;
    text-decoration: none !important;
}

.tr-profile-rank {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #c01848 !important;
    margin-bottom: 8px !important;
    letter-spacing: 0.3px !important;
}

.tr-profile-detail {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #4a2030 !important;
    margin-bottom: 4px !important;
}

.tr-profile-label {
    font-weight: 700 !important;
    color: #8a0a30 !important;
    margin-right: 6px !important;
    text-transform: uppercase !important;
    font-size: 10px !important;
    letter-spacing: 0.8px !important;
}

/* Stats card */
.tr-profile-stats-card { margin-bottom: 12px !important; }

.tr-profile-section-title {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #8a0a30 0%, #c01848 100%) !important;
    padding: 8px 14px !important;
    margin: -14px -14px 14px -14px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    border-radius: 4px 4px 0 0 !important;
}

.tr-profile-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 16px !important;
    padding: 4px 0 !important;
}

.tr-stat-item {
    background: rgba(255,248,251,0.8) !important;
    border: 1px solid #e8c0d0 !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
}

.tr-stat-label {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #8a0a30 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom: 4px !important;
}

.tr-stat-value {
    font-family: 'Inter', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a0008 !important;
    font-variant-numeric: tabular-nums !important;
}

.tr-stat-sub {
    font-size: 11px !important;
    font-weight: 400 !important;
    color: #a07088 !important;
    margin-top: 2px !important;
}

.tr-stat-link {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #c01848 !important;
    text-decoration: none !important;
    display: block !important;
}

.tr-stat-link:hover {
    color: #8a0a30 !important;
    text-decoration: underline !important;
}

.tr-profile-pm-btn {
    display: inline-block !important;
    background: linear-gradient(135deg, #8a0a30 0%, #c01848 100%) !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 6px 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    letter-spacing: 0.3px !important;
}

.tr-profile-pm-btn:hover {
    background: linear-gradient(135deg, #a01038 0%, #e02060 100%) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Hide joined date on profile page */
.tr-profile-stats-grid .joined { display: none !important; }

/* Signature card */
.tr-profile-sig { margin-bottom: 12px !important; }

/* Hide all admin/mod links from public profile view */
/* These are hidden via template but add CSS safety net */
.memberlist-title {
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #8a0a30 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 14px !important;
}

@media(max-width:600px) {
    .tr-profile-inner { flex-direction: column !important; }
    .tr-profile-stats-grid { grid-template-columns: 1fr !important; }
    .tr-profile-username { font-size: 18px !important; }
}

/* ================================================
   MOBILE PROMO CARDS - Compact fix
   ================================================ */
@media(max-width:600px) {
    #tr-bottom-promo {
        flex-direction: column !important;
        padding: 8px !important;
        gap: 8px !important;
        margin: 0 !important;
    }
    .tr-bottom-promo-card {
        flex-direction: row !important;
        padding: 10px 12px !important;
        gap: 10px !important;
        border-radius: 6px !important;
        min-height: 0 !important;
    }
    .tr-bottom-promo-icon {
        font-size: 22px !important;
        flex-shrink: 0 !important;
        align-self: center !important;
    }
    .tr-bottom-promo-content {
        flex: 1 !important;
    }
    .tr-bottom-promo-tag {
        font-size: 8px !important;
        letter-spacing: 0.5px !important;
        margin-bottom: 3px !important;
    }
    .tr-bottom-promo-title {
        font-size: 13px !important;
        font-weight: 800 !important;
        margin-bottom: 3px !important;
    }
    .tr-bottom-promo-desc {
        display: none !important;
    }
    .tr-bottom-promo-cta {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }
    .tr-bottom-promo-glow {
        display: none !important;
    }
    /* Fix mobile logo */
    #tr-logo img {
        height: 50px !important;
        width: auto !important;
    }
}

/* ================================================
   PROMO CARDS - Smaller on desktop too
   ================================================ */
#tr-bottom-promo {
    padding: 8px 12px !important;
    gap: 10px !important;
}
.tr-bottom-promo-card {
    padding: 10px 14px !important;
    gap: 10px !important;
    border-radius: 6px !important;
}
.tr-bottom-promo-icon {
    font-size: 20px !important;
}
.tr-bottom-promo-tag {
    font-size: 8px !important;
    padding: 2px 8px !important;
    margin-bottom: 3px !important;
}
.tr-bottom-promo-title {
    font-size: 13px !important;
    font-weight: 800 !important;
    margin-bottom: 3px !important;
}
.tr-bottom-promo-desc {
    font-size: 11px !important;
    line-height: 1.4 !important;
    opacity: 0.85 !important;
}
.tr-bottom-promo-cta {
    font-size: 10px !important;
    padding: 4px 10px !important;
    margin-top: 5px !important;
}
.tr-bottom-promo-glow {
    display: none !important;
}

/* ================================================
   PROMO CARDS - Revert desktop, keep mobile small
   ================================================ */
/* Undo the desktop changes we just made */
#tr-bottom-promo {
    padding: 20px !important;
    gap: 14px !important;
}
.tr-bottom-promo-card {
    padding: 18px 22px !important;
    gap: 14px !important;
    border-radius: 8px !important;
}
.tr-bottom-promo-icon { font-size: 30px !important; }
.tr-bottom-promo-tag { font-size: 9px !important; padding: 3px 10px !important; margin-bottom: 6px !important; }
.tr-bottom-promo-title { font-size: 16px !important; margin-bottom: 3px !important; }
.tr-bottom-promo-desc { font-size: 11px !important; line-height: 1.6 !important; opacity: 1 !important; }
.tr-bottom-promo-cta { font-size: 10px !important; margin-top: 8px !important; }

/* Mobile only - compact cards */
@media(max-width:600px) {
    #tr-bottom-promo {
        flex-direction: column !important;
        padding: 8px !important;
        gap: 8px !important;
    }
    .tr-bottom-promo-card {
        flex-direction: row !important;
        padding: 10px 12px !important;
        gap: 10px !important;
        border-radius: 6px !important;
        align-items: center !important;
    }
    .tr-bottom-promo-icon { font-size: 22px !important; flex-shrink: 0 !important; }
    .tr-bottom-promo-tag { font-size: 8px !important; margin-bottom: 2px !important; }
    .tr-bottom-promo-title { font-size: 12px !important; margin-bottom: 2px !important; }
    .tr-bottom-promo-desc { display: none !important; }
    .tr-bottom-promo-cta { font-size: 9px !important; padding: 3px 8px !important; margin-top: 4px !important; }
    .tr-bottom-promo-glow { display: none !important; }
}

/* ================================================
   INDUSTRY SERVICES STRIP - Desktop only
   ================================================ */
#tr-services-strip {
    background: linear-gradient(135deg, #120006 0%, #1e000c 50%, #120006 100%);
    border-bottom: 1px solid rgba(255,100,150,0.25);
    padding: 10px 20px;
    width: 100%;
    position: relative;
    overflow: hidden;
}
#tr-services-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(-45deg, transparent, transparent 20px, rgba(192,24,72,0.02) 20px, rgba(192,24,72,0.02) 21px);
    pointer-events: none;
}
#tr-services-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
    max-width: 1380px;
    margin: 0 auto;
}
#tr-services-strip-text {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,200,220,0.85);
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.2px;
}
#tr-services-strip-text strong {
    color: #fff;
    font-weight: 800;
}
#tr-services-strip-text em {
    color: #ff8090;
    font-style: normal;
    font-weight: 900;
}
#tr-services-strip-btn {
    display: inline-block;
    background: linear-gradient(135deg, #8a0a30, #c01848);
    color: #fff !important;
    font-size: 11px;
    font-weight: 800;
    font-family: 'Inter', sans-serif;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    padding: 8px 22px;
    border-radius: 20px;
    text-decoration: none !important;
    border: 1px solid rgba(255,150,190,0.3);
    box-shadow: 0 2px 16px rgba(192,24,72,0.35);
    white-space: nowrap;
    transition: all 0.2s;
}
#tr-services-strip-btn:hover {
    background: linear-gradient(135deg, #a01038, #e02060) !important;
    color: #fff !important;
    text-decoration: none !important;
}

/* Hide on mobile */
@media(max-width:600px) {
    #tr-services-strip { display: none !important; }
}


/* ================================================
   PARENT FORUM BARS - Crimson background, white text
   ================================================ */

/* Crimson background on locked parent forum rows */
dl.row-item.forum_unread_locked,
dl.row-item.forum_read_locked {
    background: linear-gradient(135deg, #8a0a30 0%, #c01848 100%) !important;
    border-radius: 4px !important;
}

/* Force ALL text inside to white - removed wildcard to prevent conflicts */
dl.row-item.forum_unread_locked,
dl.row-item.forum_read_locked {
    color: #ffffff !important;
}

/* Soften description text slightly */
dl.row-item.forum_unread_locked .forum-desc-text,
dl.row-item.forum_read_locked .forum-desc-text {
    color: rgba(255, 220, 235, 0.8) !important;
    font-weight: 400 !important;
}

/* NEW badge - white bg, crimson text */
dl.row-item.forum_unread_locked .forum-new-badge,
dl.row-item.forum_read_locked .forum-new-badge {
    background: #ffffff !important;
    color: #c01848 !important;
    font-weight: 800 !important;
}

/* Hover on title */
dl.row-item.forum_unread_locked a.forumtitle:hover,
dl.row-item.forum_read_locked a.forumtitle:hover {
    color: #ffd0e0 !important;
}

/* ================================================
   LOCKED PARENT FORUMS - Match subforum styling exactly
   ================================================ */
.forabg ul.topiclist.forums li.row.forum_unread_locked,
.forabg ul.topiclist.forums li.row.forum_read_locked,
.forabg .forums li.row.forum_unread_locked,
.forabg .forums li.row.forum_read_locked {
    background: linear-gradient(135deg,#3a0018 0%,#6a0828 40%,#900a38 100%) !important;
    border-bottom: 3px solid #c01848 !important;
    border-left: none !important;
}
.forabg li.row.forum_unread_locked:hover,
.forabg li.row.forum_read_locked:hover {
    background: linear-gradient(135deg,#4a0820 0%,#7a1030 40%,#a00a40 100%) !important;
}
.forabg li.row.forum_unread_locked a.forumtitle,
.forabg li.row.forum_read_locked a.forumtitle {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}
.forabg li.row.forum_unread_locked a.forumtitle:hover,
.forabg li.row.forum_read_locked a.forumtitle:hover { color: #ffd0e0 !important; }
.forabg li.row.forum_unread_locked .forum-desc-text,
.forabg li.row.forum_read_locked .forum-desc-text {
    color: rgba(255,210,230,0.75) !important;
    display: block !important;
}
.forabg li.row.forum_unread_locked .forum-count,
.forabg li.row.forum_read_locked .forum-count { color: #fff !important; }
.forabg li.row.forum_unread_locked dd dfn,
.forabg li.row.forum_read_locked dd dfn { color: rgba(255,210,230,0.6) !important; }
.forabg li.row.forum_unread_locked .forum-icon-wrap,
.forabg li.row.forum_read_locked .forum-icon-wrap {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
    box-shadow: none !important;
}
.forabg li.row.forum_unread_locked .lastpost-subject,
.forabg li.row.forum_read_locked .lastpost-subject { color: #ffd0e0 !important; }
.forabg li.row.forum_unread_locked .lastpost-time,
.forabg li.row.forum_read_locked .lastpost-time { color: rgba(255,210,230,0.6) !important; }
.forabg li.row.forum_unread_locked .lastpost-author,
.forabg li.row.forum_read_locked .lastpost-author { color: rgba(255,210,230,0.8) !important; }
.forabg li.row.forum_unread_locked .lastpost-author a,
.forabg li.row.forum_read_locked .lastpost-author a { color: #fff !important; }
.forabg li.row.forum_unread_locked .lastpost-avatar,
.forabg li.row.forum_read_locked .lastpost-avatar {
    background: rgba(255,255,255,0.2) !important;
}
.forabg li.row.forum_unread_locked .forum-new-badge,
.forabg li.row.forum_read_locked .forum-new-badge {
    background: rgba(255,255,255,0.25) !important;
    color: #fff !important;
}

/* ================================================
   SUBFORUM ROWS under locked parents - crimson text
   ================================================ */
li.row.subforum-row a.forumtitle,
li.row.subforum-row a,
.forabg li.row.subforum-row a.forumtitle,
.forabg li.row.subforum-row a {
    color: #c01848 !important;
    font-weight: 700 !important;
}
li.row.subforum-row a.forumtitle:hover,
.forabg li.row.subforum-row a.forumtitle:hover {
    color: #8a0a30 !important;
}

/* ================================================
   HIDE NEW TOPIC BUTTON IN PARENT FORUMS
   ================================================ */
/* Hide new topic button when viewing parent forum pages */
.forum-specific-19 .btn-post-new,
.forum-specific-5 .btn-post-new,
.forum-specific-3 .btn-post-new,
.forum-specific-9 .btn-post-new,
.forum-specific-14 .btn-post-new,
.forum-specific-26 .btn-post-new,
.forum-specific-79 .btn-post-new {
    display: none !important;
}

/* ================================================
   MEMBER LIST - Hide posts column, name only
   ================================================ */
.memberlist th.posts,
.memberlist td.posts,
.memberlist th:nth-child(2),
.memberlist td:nth-child(2) {
    display: none !important;
}
.memberlist th.info,
.memberlist td.info {
    display: none !important;
}


/* ===== END OF PRE-REDESIGN STYLESHEET ===== */
/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 0 ===== */

/* ===============================================================
   TRUREVIEW DESIGN TOKENS -- Editorial Dark
   Append this block to the END of stylesheet.css.
   All rules are scoped under .tru-dark to avoid colliding with legacy
   crimson variables still referenced elsewhere.

   To activate: add class="tru-dark" to the <body> tag in
   overall_header.html. Remove the class to roll back.
   =============================================================== */

.tru-dark {
  --bg:          #0a0a0b;
  --paper:       #0d0d0e;
  --paper-2:     #111113;
  --paper-3:     #151518;
  --line:        #1f1f23;
  --line-2:      #2a2a30;
  --line-3:      #3a3a42;
  --ink:         #e8e5dd;
  --ink-2:       #b0aca0;
  --ink-3:       #7a766c;
  --ink-4:       #4f4c45;
  --gold:        #c9a961;
  --gold-2:      #e0c17c;
  --gold-3:      #8a7340;
  --gold-wash:   rgba(201,169,97,0.07);
  --red:         #b8423d;
  --green:       #6b8e5a;

  --f-serif: 'Playfair Display', Georgia, serif;
  --f-sans:  'Raleway', 'Inter', system-ui, sans-serif;
  --f-marg:  'Cormorant Garamond', 'Playfair Display', Georgia, serif;
  --f-mono:  'Cormorant Garamond', Georgia, serif;

  background: var(--bg);
  color: var(--ink);
  font-family: var(--f-sans);
  font-size: 13px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.005em;
  /* Subtle grid paper texture */
  background-image:
    linear-gradient(to right, rgba(201,169,97,0.015) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(201,169,97,0.015) 1px, transparent 1px);
  background-size: 40px 40px;
}

/* Reset under namespace */
.tru-dark *, .tru-dark *::before, .tru-dark *::after { box-sizing: border-box; }
.tru-dark a { color: inherit; text-decoration: none; }
.tru-dark ::selection { background: var(--gold); color: #000; }

/* Utility helpers used throughout the component CSS */
.tru-dark .mono   { font-family: var(--f-marg); font-style: italic; letter-spacing: 0.01em; }
.tru-dark .serif  { font-family: var(--f-serif); font-weight: 400; letter-spacing: -0.01em; }
.tru-dark .tnum   { font-variant-numeric: tabular-nums; }
.tru-dark .hair   { border: 0; border-top: 1px solid var(--line);   margin: 0; }
.tru-dark .hair-2 { border: 0; border-top: 1px solid var(--line-2); margin: 0; }

/* Google Fonts required -- add to the <link> in overall_header.html:
   Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500
   Raleway:wght@400;500;600;700
   Inter:wght@400;500;600
   Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500
*/

/* ===============================================================
   TRUREVIEW COMPONENTS -- Editorial Dark
   Append this block AFTER trureview-tokens.css in stylesheet.css.
   Every selector is scoped under .tru-dark -- safe to drop in.

   WHERE-comments below each block name the phpBB template file the
   rules primarily target. See TRANSLATION_MAP.md for full detail.
   =============================================================== */

/* ===============================================================
   TRUREVIEW -- Editorial Dark
   Denser, smaller, more "worked on". Black + warm champagne gold.
   Editorial serif headlines, tight monospace marginalia, hairline
   rules, numbered sections, indexed lists, grid paper bg textures.
   =============================================================== */



.tru-dark *, .tru-dark *::before, .tru-dark *::after { box-sizing: border-box; }
.tru-dark a { color: inherit; text-decoration: none; }
.tru-dark ::selection { background: var(--gold); color: #000; }

/* Utility */
.tru-dark .mono { font-family: var(--f-marg); font-style: italic; letter-spacing: 0.01em; text-transform: none; }
.tru-dark .serif { font-family: var(--f-serif); font-weight: 400; letter-spacing: -0.01em; }
.tru-dark .eyebrow {
  font-family: var(--f-marg); font-size: 14px;
  letter-spacing: 0.02em; font-style: italic;
  color: var(--gold); font-weight: 500;
}
.tru-dark .tnum { font-variant-numeric: tabular-nums; }
.tru-dark .hair { border: 0; border-top: 1px solid var(--line); margin: 0; }
.tru-dark .hair-2 { border: 0; border-top: 1px solid var(--line-2); margin: 0; }

/* Wrap */
.tru-dark .wrap { max-width: 1280px; margin: 0 auto; padding: 0 28px; }
.tru-dark .wrap-narrow { max-width: 980px; margin: 0 auto; padding: 0 28px; }

/* --- TOP BAR --- */
.tru-dark .topbar {
  position: sticky; top: 0; z-index: 50;
  background: rgba(10,10,11,0.88);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--line);
}
.tru-dark .topbar-inner {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 32px; align-items: center;
  padding: 14px 28px;
  max-width: 1280px; margin: 0 auto;
}
.tru-dark .logo {
  display: flex; align-items: baseline; gap: 10px;
  font-family: var(--f-serif); font-size: 22px;
  letter-spacing: -0.015em;
  color: var(--ink);
}
.tru-dark .logo .dot {
  width: 5px; height: 5px; background: var(--gold);
  border-radius: 50%; display: inline-block;
  transform: translateY(-6px);
}
.tru-dark .logo small {
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--ink-3); margin-left: 2px;
}
.tru-dark .nav-links {
  display: flex; gap: 2px; align-items: center;
}
.tru-dark .nav-links a {
  padding: 8px 14px; font-size: 12px;
  color: var(--ink-2); letter-spacing: 0.02em;
  border-radius: 2px;
  display: flex; align-items: center; gap: 8px;
}
.tru-dark .nav-links a:hover { color: var(--gold); }
.tru-dark .nav-links a.active {
  color: var(--gold);
  background: var(--gold-wash);
}
.tru-dark .nav-links .num {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.1em;
}
.tru-dark .topbar-right {
  display: flex; gap: 8px; align-items: center;
}

/* --- BUTTONS --- */
.tru-dark .btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px; font-family: var(--f-sans);
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.1em; text-transform: uppercase;
  border: 1px solid var(--line-2); color: var(--ink);
  background: transparent; cursor: pointer;
  transition: all .12s; border-radius: 2px;
}
.tru-dark .btn:hover { border-color: var(--gold); color: var(--gold); }
.tru-dark .btn-primary {
  background: var(--gold); color: #18120a;
  border-color: var(--gold); font-weight: 600;
}
.tru-dark .btn-primary:hover { background: var(--gold-2); border-color: var(--gold-2); color: #18120a; }
.tru-dark .btn-ghost { border-color: transparent; color: var(--ink-2); }
.tru-dark .btn-ghost:hover { color: var(--gold); border-color: transparent; background: var(--gold-wash); }
.tru-dark .btn-sm { padding: 6px 10px; font-size: 10px; }
.tru-dark .btn-xs { padding: 4px 8px; font-size: 9px; }

/* --- SUB BAR: search + city --- */
.tru-dark .subbar {
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.tru-dark .subbar-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 0 28px; display: flex; align-items: center; gap: 0;
  overflow-x: auto;
}
.tru-dark .subbar-label {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.2em;
  text-transform: uppercase; padding-right: 16px;
  border-right: 1px solid var(--line);
  margin-right: 8px;
  padding-top: 14px; padding-bottom: 14px;
}
.tru-dark .city-tab {
  padding: 14px 14px; font-size: 11px;
  color: var(--ink-3); letter-spacing: 0.02em;
  cursor: pointer; white-space: nowrap;
  border-bottom: 1px solid transparent;
  display: flex; align-items: center; gap: 8px;
}
.tru-dark .city-tab .code {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.1em;
}
.tru-dark .city-tab.active {
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.tru-dark .city-tab:hover { color: var(--ink); }

/* --- SITE FRAME with marginalia --- */
.tru-dark .stage {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  position: relative;
}
.tru-dark .margin {
  border-right: 1px solid var(--line);
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.15em;
  writing-mode: vertical-rl;
  padding: 16px 0;
  display: flex; justify-content: center;
  position: sticky; top: 64px; align-self: start;
}
.tru-dark .margin.right {
  border-right: none; border-left: 1px solid var(--line);
}

/* --- MASTHEAD (replaces age gate hero) --- */
.tru-dark .masthead {
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.4) 100%),
    radial-gradient(ellipse at 20% 0%, rgba(201,169,97,0.08), transparent 50%);
  position: relative;
}
.tru-dark .masthead-inner {
  max-width: 1280px; margin: 0 auto;
  padding: 22px 28px;
  display: grid; grid-template-columns: 1fr auto; gap: 24px;
  align-items: end;
}
.tru-dark .masthead .title {
  font-family: var(--f-serif); font-size: 52px;
  line-height: 1; letter-spacing: -0.03em;
  font-weight: 400; margin: 0;
}
.tru-dark .masthead .title em {
  font-style: italic; color: var(--gold);
}
.tru-dark .masthead .kicker {
  display: flex; align-items: center; gap: 12px;
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.15em;
  text-transform: uppercase; margin-bottom: 10px;
}
.tru-dark .masthead .kicker .rule {
  flex-shrink: 0; width: 40px; height: 1px; background: var(--gold-3);
}
.tru-dark .masthead .tagline {
  margin-top: 10px; color: var(--ink-2);
  font-size: 13px; max-width: 480px;
  font-family: var(--f-serif); font-style: italic;
}
.tru-dark .masthead .right-stats {
  display: grid; grid-template-columns: repeat(3, auto); gap: 24px;
  font-family: var(--f-mono); font-size: 10px;
  text-align: right; color: var(--ink-3);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.tru-dark .masthead .right-stats .n {
  font-family: var(--f-serif); font-size: 22px;
  color: var(--gold); display: block; margin-bottom: 2px;
  letter-spacing: -0.02em;
}

/* --- SECTION --- */
.tru-dark .section {
  padding: 28px 0;
  border-bottom: 1px solid var(--line);
}
.tru-dark .section-h {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 16px; align-items: baseline;
  margin-bottom: 16px;
}
.tru-dark .section-h .idx {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--gold-3); letter-spacing: 0.2em;
  text-transform: uppercase;
}
.tru-dark .section-h h2 {
  font-family: var(--f-serif); font-size: 22px;
  font-weight: 400; letter-spacing: -0.015em;
  margin: 0; color: var(--ink);
}
.tru-dark .section-h h2 em {
  font-style: italic; color: var(--gold);
}
.tru-dark .section-h .more {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.15em;
  text-transform: uppercase;
}
.tru-dark .section-h .more:hover { color: var(--gold); }

/* --- CARDS --- */
.tru-dark .card {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 16px;
}
.tru-dark .card-gold {
  background: linear-gradient(180deg, var(--gold-wash), transparent 70%);
  border: 1px solid var(--gold-3);
}

/* --- FORUM BOARD LIST (compact, editorial) --- */
.tru-dark .board-group {
  margin-bottom: 18px;
  border: 1px solid var(--line);
  background: var(--paper);
}
.tru-dark .board-head {
  display: grid;
  grid-template-columns: 56px 1fr auto;
  align-items: center; gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: var(--paper-2);
}
.tru-dark .board-head .idx {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--gold); letter-spacing: 0.15em;
  text-align: center;
  border: 1px solid var(--gold-3); padding: 4px 6px;
}
.tru-dark .board-head .title {
  font-family: var(--f-serif); font-size: 17px;
  letter-spacing: -0.01em; color: var(--ink);
  margin-bottom: 2px;
}
.tru-dark .board-head .desc {
  font-size: 11px; color: var(--ink-3);
}
.tru-dark .board-head .count {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.1em;
  text-align: right;
}
.tru-dark .board-head .count strong { color: var(--gold); font-weight: 500; }

.tru-dark .board-row {
  display: grid;
  grid-template-columns: 56px 1fr 70px 70px 200px;
  gap: 16px; align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  transition: background .1s;
}
.tru-dark .board-row:last-child { border-bottom: 0; }
.tru-dark .board-row:hover { background: var(--paper-2); }
.tru-dark .board-row.sub { padding-left: 28px; }
.tru-dark .board-row .icon {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-4); text-align: center;
  letter-spacing: 0.1em;
}
.tru-dark .board-row.sub .icon { color: var(--gold-3); }
.tru-dark .board-row .main .t {
  color: var(--ink); font-size: 13px;
  margin-bottom: 2px;
}
.tru-dark .board-row .main .d { color: var(--ink-3); font-size: 11px; }
.tru-dark .board-row .num {
  font-family: var(--f-mono); color: var(--ink-2);
  font-size: 11px; text-align: center;
  letter-spacing: 0.05em;
}
.tru-dark .board-row .latest { font-size: 11px; color: var(--ink-3); line-height: 1.45; }
.tru-dark .board-row .latest .t {
  color: var(--ink-2); margin-bottom: 1px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 190px;
}
.tru-dark .board-row .latest .m { color: var(--ink-4); font-family: var(--f-mono); font-size: 9px; letter-spacing: 0.05em; }
.tru-dark .board-row .latest .m .u { color: var(--gold); }

/* Table header row */
.tru-dark .board-row.head {
  background: transparent; padding: 8px 16px;
  border-bottom: 1px solid var(--line-2);
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.2em;
  text-transform: uppercase;
}
.tru-dark .board-row.head:hover { background: transparent; }

/* --- THREAD LIST --- */
.tru-dark .thread-table {
  border: 1px solid var(--line);
  background: var(--paper);
}
.tru-dark .thread-row {
  display: grid;
  grid-template-columns: 28px 1fr 60px 60px 130px;
  gap: 14px; align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
}
.tru-dark .thread-row:last-child { border-bottom: 0; }
.tru-dark .thread-row:hover { background: var(--paper-2); }
.tru-dark .thread-row .tag {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--gold); text-align: center;
}
.tru-dark .thread-row .title {
  color: var(--ink); font-size: 13px;
  font-family: var(--f-serif); letter-spacing: -0.005em;
}
.tru-dark .thread-row .byline {
  display: flex; gap: 8px; align-items: center;
  font-size: 10px; color: var(--ink-3);
  font-family: var(--f-mono); letter-spacing: 0.05em;
  margin-top: 2px;
}
.tru-dark .thread-row .byline .u { color: var(--gold); }
.tru-dark .thread-row .n {
  font-family: var(--f-mono); color: var(--ink-2);
  font-size: 11px; text-align: center;
}
.tru-dark .thread-row .last {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-3); letter-spacing: 0.05em;
  text-align: right;
}
.tru-dark .thread-row .last .u { color: var(--gold); }
.tru-dark .thread-row.pinned { background: var(--gold-wash); }
.tru-dark .thread-row.pinned .title::before {
  content: '\2690  '; color: var(--gold); font-size: 11px;
}
.tru-dark .thread-row.hot .title::after {
  content: ' . HOT'; color: var(--red);
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.1em; font-style: normal;
}

/* --- THREAD / POST --- */
.tru-dark .post {
  display: grid; grid-template-columns: 170px 1fr;
  border: 1px solid var(--line); background: var(--paper);
  margin-bottom: 12px;
}
.tru-dark .post .side {
  padding: 18px 14px; border-right: 1px solid var(--line);
  background: var(--paper-2); text-align: center;
}
.tru-dark .post .side .av {
  width: 64px; height: 64px; margin: 0 auto 10px;
  border: 1px solid var(--gold-3);
  color: var(--gold); background: var(--paper);
  display: grid; place-items: center;
  font-family: var(--f-serif); font-size: 22px;
  letter-spacing: -0.02em;
}
.tru-dark .post .side .av.founder {
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #18120a;
}
.tru-dark .post .side .uname {
  font-family: var(--f-serif); font-size: 14px;
  color: var(--gold); margin-bottom: 4px;
  letter-spacing: -0.005em;
}
.tru-dark .post .side .role {
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: 10px;
}
.tru-dark .post .side .stats {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); line-height: 1.6;
  text-align: left; padding-top: 10px;
  border-top: 1px solid var(--line);
}
.tru-dark .post .side .stats b { color: var(--ink-2); font-weight: 500; }

.tru-dark .post .body { padding: 20px 24px; }
.tru-dark .post .body .hd {
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.1em;
  text-transform: uppercase;
  padding-bottom: 12px; margin-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.tru-dark .post .body .hd .num { color: var(--gold); }
.tru-dark .post .body p {
  color: var(--ink); line-height: 1.7; margin: 0 0 12px;
  font-size: 13.5px;
}
.tru-dark .post .body p:first-letter { }

/* Rating panel inside post */
.tru-dark .rate-panel {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0; margin: 0 0 18px;
  border: 1px solid var(--gold-3);
  background: var(--gold-wash);
}
.tru-dark .rate-panel .cell {
  padding: 12px 14px;
  border-right: 1px solid var(--gold-3);
}
.tru-dark .rate-panel .cell:last-child { border-right: 0; }
.tru-dark .rate-panel .k {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--gold-3); letter-spacing: 0.15em;
  text-transform: uppercase; margin-bottom: 6px;
}
.tru-dark .rate-panel .v {
  font-family: var(--f-serif); font-size: 15px;
  color: var(--ink); letter-spacing: -0.01em;
}
.tru-dark .rate-panel .stars { color: var(--gold); font-size: 13px; letter-spacing: 0.15em; }

/* Pull quote */
.tru-dark .pullquote {
  border-left: 2px solid var(--gold);
  padding: 6px 0 6px 18px; margin: 16px 0;
  font-family: var(--f-serif); font-style: italic;
  font-size: 17px; color: var(--ink-2);
  line-height: 1.45; letter-spacing: -0.01em;
}

/* --- DIRECTORY CARD (AGENCIES) --- */
.tru-dark .agency-card {
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 20px; padding: 16px; align-items: center;
  background: var(--paper); border: 1px solid var(--line);
  transition: border-color .15s, background .15s;
}
.tru-dark .agency-card:hover {
  border-color: var(--gold-3);
  background: var(--paper-2);
}
.tru-dark .agency-card.featured {
  border-color: var(--gold-3);
  background: linear-gradient(180deg, var(--gold-wash), transparent 60%);
}
.tru-dark .agency-card .logo {
  height: 72px; border: 1px solid var(--line-2);
  background: var(--paper-2);
  display: grid; place-items: center;
  color: var(--ink-3); font-family: var(--f-serif);
  font-size: 22px; letter-spacing: -0.02em;
}
.tru-dark .agency-card .name {
  font-family: var(--f-serif); font-size: 18px;
  letter-spacing: -0.01em; margin-bottom: 4px;
}
.tru-dark .agency-card .name .feat {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--gold); letter-spacing: 0.15em;
  background: var(--gold-wash); padding: 2px 6px;
  border: 1px solid var(--gold-3); margin-left: 8px;
  vertical-align: middle; text-transform: uppercase;
}
.tru-dark .agency-card .meta {
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.08em;
  margin-bottom: 8px; display: flex; gap: 12px;
}
.tru-dark .agency-card .meta .dot { color: var(--gold-3); }
.tru-dark .agency-card .tags { display: flex; gap: 6px; flex-wrap: wrap; }
.tru-dark .agency-card .tag {
  font-size: 10px; letter-spacing: 0.1em;
  text-transform: uppercase; padding: 3px 7px;
  border: 1px solid var(--line-2); color: var(--ink-3);
}
.tru-dark .agency-card .rating {
  text-align: right;
  font-family: var(--f-serif); font-size: 24px;
  color: var(--gold); line-height: 1;
}
.tru-dark .agency-card .rating small {
  display: block; font-family: var(--f-mono);
  font-size: 9px; color: var(--ink-3);
  letter-spacing: 0.1em; margin-top: 4px;
  text-transform: uppercase; font-weight: 400;
}

/* --- INDEPENDENT GIRL CARD (photo-forward) --- */
.tru-dark .indie-card {
  background: var(--paper); border: 1px solid var(--line);
  overflow: hidden; position: relative;
  transition: transform .15s, border-color .15s;
}
.tru-dark .indie-card:hover {
  border-color: var(--gold-3);
  transform: translateY(-2px);
}
.tru-dark .indie-card .photo {
  aspect-ratio: 3/4; position: relative;
  background: var(--paper-2);
  background-image:
    linear-gradient(135deg, transparent 0 48%, rgba(201,169,97,0.04) 48% 52%, transparent 52% 100%);
  background-size: 10px 10px;
}
.tru-dark .indie-card .photo .overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,0.9));
  padding: 14px; display: flex;
  flex-direction: column; justify-content: space-between;
}
.tru-dark .indie-card .photo .tag-top {
  align-self: flex-start;
  font-family: var(--f-mono); font-size: 9px;
  color: var(--gold); letter-spacing: 0.15em;
  padding: 3px 7px; background: rgba(0,0,0,0.6);
  border: 1px solid var(--gold-3);
}
.tru-dark .indie-card .photo .foot {
  color: var(--ink);
}
.tru-dark .indie-card .photo .foot .nm {
  font-family: var(--f-serif); font-size: 24px;
  letter-spacing: -0.02em; line-height: 1;
}
.tru-dark .indie-card .photo .foot .sub {
  font-family: var(--f-mono); font-size: 9px;
  color: var(--gold); letter-spacing: 0.15em;
  text-transform: uppercase; margin-top: 6px;
}
.tru-dark .indie-card .body {
  padding: 12px 14px; border-top: 1px solid var(--line);
}
.tru-dark .indie-card .body .line {
  display: flex; justify-content: space-between; align-items: center;
  font-family: var(--f-mono); font-size: 10px;
  color: var(--ink-3); letter-spacing: 0.08em;
  margin-bottom: 8px;
}
.tru-dark .indie-card .body .line .r { color: var(--gold); }
.tru-dark .indie-card .body .line .av { color: var(--green); }
.tru-dark .indie-card .body .line .av.off { color: var(--ink-4); }

/* --- SIDEBAR --- */
.tru-dark .sidebar { display: flex; flex-direction: column; gap: 14px; position: sticky; top: 100px; align-self: start; }
.tru-dark .sidebar h4 {
  font-family: var(--f-mono); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 12px;
  padding-bottom: 8px; border-bottom: 1px solid var(--line);
}
.tru-dark .kv-list { display: grid; grid-template-columns: auto 1fr; gap: 7px 14px; font-size: 11px; }
.tru-dark .kv-list .k {
  color: var(--ink-3); font-family: var(--f-mono);
  font-size: 9px; letter-spacing: 0.1em;
  text-transform: uppercase;
}
.tru-dark .kv-list .v { color: var(--ink); text-align: right; }

/* --- AD SLOTS --- */
.tru-dark .ad {
  background: var(--paper);
  border: 1px dashed var(--line-3);
  color: var(--ink-4);
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
}

/* --- BADGES --- */
.tru-dark .chip {
  display: inline-flex; align-items: center; gap: 5px;
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.15em; text-transform: uppercase;
  padding: 3px 7px; border: 1px solid var(--line-2);
  color: var(--ink-2); background: var(--paper-2);
}
.tru-dark .chip-gold {
  border-color: var(--gold); color: var(--gold);
  background: var(--gold-wash);
}
.tru-dark .chip-founder {
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #18120a; border: 0; font-weight: 600;
}
.tru-dark .chip-live {
  color: var(--green); border-color: var(--green);
}
.tru-dark .chip-live::before {
  content: ''; width: 5px; height: 5px;
  background: var(--green); border-radius: 50%;
  animation: pulse 2s infinite;
}
@keyframes pulse { 50% { opacity: 0.4; } }

/* --- FIELDS --- */
.tru-dark .field { margin-bottom: 14px; }
.tru-dark .field label {
  display: block; font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: 6px;
}
.tru-dark .field input, .tru-dark .field textarea, .tru-dark .field select {
  width: 100%; background: var(--bg);
  border: 1px solid var(--line-2);
  color: var(--ink); padding: 10px 12px;
  font-family: var(--f-sans); font-size: 13px;
}
.tru-dark .field input:focus, .tru-dark .field textarea:focus {
  outline: none; border-color: var(--gold);
  box-shadow: inset 0 0 0 1px var(--gold);
}

/* --- PRICE CARDS --- */
.tru-dark .price-card {
  background: var(--paper); border: 1px solid var(--line);
  padding: 24px; position: relative;
}
.tru-dark .price-card.feat {
  border-color: var(--gold-3);
  background: linear-gradient(180deg, var(--gold-wash), var(--paper));
}
.tru-dark .price-card .tier {
  font-family: var(--f-mono); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold);
}
.tru-dark .price-card .price {
  font-family: var(--f-serif); font-size: 46px;
  color: var(--ink); margin: 12px 0 4px; line-height: 1;
  letter-spacing: -0.02em;
}
.tru-dark .price-card .price small {
  font-size: 13px; color: var(--ink-3);
  font-family: var(--f-sans);
}
.tru-dark .price-card ul {
  list-style: none; padding: 0; margin: 20px 0 0;
  font-family: var(--f-mono); font-size: 11px;
  letter-spacing: 0.02em;
}
.tru-dark .price-card ul li {
  padding: 8px 0; border-top: 1px solid var(--line);
  color: var(--ink-2); display: flex; gap: 10px; align-items: baseline;
}
.tru-dark .price-card ul li::before {
  content: '--'; color: var(--gold); font-size: 11px;
}

/* --- FOOTER --- */
.tru-dark .footer {
  border-top: 1px solid var(--gold-3);
  padding: 40px 28px 24px;
  background: var(--paper);
}
.tru-dark .footer-inner { max-width: 1280px; margin: 0 auto; }
.tru-dark .footer-top {
  display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 36px;
  margin-bottom: 32px;
}
.tru-dark .footer .brand .tag {
  color: var(--ink-3); font-size: 12px;
  margin-top: 14px; max-width: 280px;
  font-family: var(--f-serif); font-style: italic;
}
.tru-dark .footer h5 {
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 12px;
}
.tru-dark .footer ul { list-style: none; padding: 0; margin: 0; }
.tru-dark .footer ul li {
  margin-bottom: 8px; font-size: 12px;
  color: var(--ink-2);
}
.tru-dark .footer ul li:hover { color: var(--gold); }
.tru-dark .footer-bottom {
  border-top: 1px solid var(--line); padding-top: 16px;
  display: flex; justify-content: space-between;
  font-family: var(--f-mono); font-size: 9px;
  color: var(--ink-4); letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* --- STAT BLOCK (metrics) --- */
.tru-dark .stat-row {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  background: var(--paper);
}
.tru-dark .stat-row .stat {
  padding: 18px 20px; border-right: 1px solid var(--line);
}
.tru-dark .stat-row .stat:last-child { border-right: 0; }
.tru-dark .stat-row .stat .k {
  font-family: var(--f-mono); font-size: 9px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--ink-3); margin-bottom: 8px;
}
.tru-dark .stat-row .stat .v {
  font-family: var(--f-serif); font-size: 32px;
  color: var(--gold); letter-spacing: -0.02em; line-height: 1;
}
.tru-dark .stat-row .stat .d {
  font-size: 10px; color: var(--ink-3); margin-top: 6px;
}

/* Pagination */
.tru-dark .pager {
  display: flex; gap: 4px; align-items: center;
  font-family: var(--f-mono);
}
.tru-dark .pager .p {
  padding: 6px 10px; font-size: 11px;
  border: 1px solid var(--line-2); color: var(--ink-2);
  letter-spacing: 0.05em;
}
.tru-dark .pager .p.active {
  background: var(--gold); color: #18120a; border-color: var(--gold);
}
.tru-dark .pager .p:hover { border-color: var(--gold); color: var(--gold); }
.tru-dark .pager .p.active:hover { color: #18120a; }

/* --- MOBILE --- */
@media (max-width: 820px) {
  .tru-dark { font-size: 13px; }
  .tru-dark .stage { grid-template-columns: 1fr; }
  .tru-dark .margin { display: none; }
  .tru-dark .topbar-inner { grid-template-columns: auto auto; gap: 12px; padding: 12px 16px; }
  .tru-dark .nav-links { display: none; }
  .tru-dark .wrap, .tru-dark .wrap-narrow { padding: 0 16px; }
  .tru-dark .masthead-inner { grid-template-columns: 1fr; padding: 18px 16px; }
  .tru-dark .masthead .title { font-size: 32px; }
  .tru-dark .masthead .right-stats { grid-template-columns: repeat(3, 1fr); text-align: left; gap: 12px; margin-top: 14px; }
  .tru-dark .subbar-inner { padding: 0 16px; }
  .tru-dark .board-row { grid-template-columns: 36px 1fr auto; gap: 10px; padding: 10px 12px; }
  .tru-dark .board-row .num, .tru-dark .board-row .latest { display: none; }
  .tru-dark .board-row.head { display: none; }
  .tru-dark .board-head { grid-template-columns: 40px 1fr auto; gap: 10px; padding: 12px; }
  .tru-dark .thread-row { grid-template-columns: 1fr auto; gap: 10px; padding: 10px 12px; }
  .tru-dark .thread-row .tag, .tru-dark .thread-row .n:first-of-type, .tru-dark .thread-row .last { display: none; }
  .tru-dark .post { grid-template-columns: 1fr; }
  .tru-dark .post .side {
    display: flex; gap: 12px; align-items: center; text-align: left;
    padding: 12px; border-right: 0; border-bottom: 1px solid var(--line);
  }
  .tru-dark .post .side .av { width: 44px; height: 44px; font-size: 18px; margin: 0; }
  .tru-dark .post .side .stats { display: none; }
  .tru-dark .post .body { padding: 16px; }
  .tru-dark .rate-panel { grid-template-columns: repeat(2, 1fr); }
  .tru-dark .rate-panel .cell:nth-child(2) { border-right: 0; }
  .tru-dark .rate-panel .cell { border-bottom: 1px solid var(--gold-3); }
  .tru-dark .rate-panel .cell:nth-last-child(-n+2) { border-bottom: 0; }
  .tru-dark .agency-card { grid-template-columns: 60px 1fr; gap: 14px; padding: 12px; }
  .tru-dark .agency-card .rating { grid-column: 2; text-align: left; font-size: 18px; }
  .tru-dark .agency-card .logo { height: 60px; font-size: 16px; }
  .tru-dark .stat-row { grid-template-columns: repeat(2, 1fr); }
  .tru-dark .stat-row .stat { border-bottom: 1px solid var(--line); }
  .tru-dark .stat-row .stat:nth-child(odd) { border-right: 1px solid var(--line); }
  .tru-dark .stat-row .stat:nth-child(2n) { border-right: 0; }
  .tru-dark .footer-top { grid-template-columns: 1fr 1fr; gap: 24px; }
}


/* ===============================================================
   PATCH BLOCK -- classes referenced in docs but missing from main
   component CSS. Added 2026-04 so Claude Code does not have to
   append a second chunk.
   =============================================================== */

.tru-dark .forum-grid { display: grid; grid-template-columns: 1fr 280px; gap: 28px; }
@media (max-width: 820px) { .tru-dark .forum-grid { grid-template-columns: 1fr; } }

.tru-dark .gold-text { color: var(--gold); }

.tru-dark .tagline-italic {
  font-family: var(--f-marg); font-style: italic;
  text-transform: none; letter-spacing: 0;
}

.tru-dark .kicker {
  font-family: var(--f-marg); font-style: italic;
  color: var(--gold); font-size: 13px;
  letter-spacing: 0.08em; text-transform: uppercase;
}

.tru-dark .sub {
  color: var(--ink-3); font-family: var(--f-marg);
  font-style: italic; font-size: 13px;
}

.tru-dark .sub-link {
  color: var(--ink-3); font-size: 12px;
  display: inline-block; margin-top: 10px;
}
.tru-dark .sub-link:hover { color: var(--gold); }

.tru-dark .og-bar {
  height: 4px; background: var(--paper-3);
  overflow: hidden; margin: 8px 0;
}
.tru-dark .og-bar i { display: block; height: 100%; background: var(--gold); }
.tru-dark .og-count {
  font-family: var(--f-marg); font-style: italic;
  font-size: 13px; color: var(--ink-3);
  display: flex; justify-content: space-between;
}

.tru-dark .auth-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 24px; max-width: 980px; margin: 40px auto;
  padding: 0 28px;
}
.tru-dark .auth-card, .tru-dark .auth-promo { padding: 32px; }
.tru-dark .field label.inline { display: flex; align-items: center; gap: 8px; }
@media (max-width: 720px) { .tru-dark .auth-grid { grid-template-columns: 1fr; } }

/* =============================================================
   REVIEW PANEL -- rendered output of [review] BBCode.
   Also duplicated in REVIEW_TEMPLATE.md section 3 for reference.
   =============================================================== */

.tru-dark .review-panel {
  background: var(--paper);
  border: 1px solid var(--line-2);
  border-top: 2px solid var(--gold);
  padding: 24px 28px;
  margin: 0 0 28px;
}
.tru-dark .review-panel-head { margin-bottom: 18px; }
.tru-dark .review-panel-head .kicker {
  font-family: var(--f-marg); font-style: italic;
  color: var(--gold); font-size: 13px;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.tru-dark .review-panel-head h2 {
  font-family: var(--f-serif); font-size: 32px;
  color: var(--ink); margin: 4px 0 2px;
  letter-spacing: -0.02em;
}
.tru-dark .review-panel-head .sub {
  font-family: var(--f-marg); font-style: italic;
  color: var(--ink-3); font-size: 14px;
}
.tru-dark .review-ratings {
  display: grid; grid-template-columns: repeat(5, 1fr);
  gap: 14px; padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.tru-dark .review-ratings .r { display: flex; flex-direction: column; gap: 4px; }
.tru-dark .review-ratings .k {
  font-family: var(--f-marg); font-style: italic;
  color: var(--ink-3); font-size: 12px;
  letter-spacing: 0.05em; text-transform: uppercase;
}
.tru-dark .review-ratings .v {
  font-family: var(--f-serif); font-size: 28px;
  color: var(--ink); line-height: 1;
}
.tru-dark .review-ratings .bar {
  height: 2px; background: var(--line-2); position: relative;
}
.tru-dark .review-ratings .bar i {
  position: absolute; inset: 0 auto 0 0;
  background: var(--gold); display: block;
}
.tru-dark .review-overall {
  display: flex; align-items: baseline;
  gap: 14px; padding: 16px 0 8px;
}
.tru-dark .review-overall .label {
  font-family: var(--f-marg); font-style: italic;
  color: var(--ink-3); letter-spacing: 0.05em;
  text-transform: uppercase; font-size: 12px;
}
.tru-dark .review-overall .stars {
  color: var(--gold); font-size: 18px; letter-spacing: 0.1em;
}
.tru-dark .review-overall .n {
  font-family: var(--f-serif); font-size: 20px; color: var(--ink);
}
.tru-dark .review-pullquote {
  font-family: var(--f-serif); font-style: italic;
  font-size: 22px; line-height: 1.35;
  color: var(--ink); margin: 8px 0 0;
  padding-left: 20px; border-left: 2px solid var(--gold);
  max-width: 780px;
}
@media (max-width: 720px) {
  .tru-dark .review-ratings { grid-template-columns: repeat(2, 1fr); }
  .tru-dark .review-pullquote { font-size: 18px; }
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 0 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 1 ===== */

/* --- shared logo wrapper (header + footer) --- */
.tru-dark .logo-mark {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  line-height: 0;
}
.tru-dark .logo-mark:hover { opacity: 0.85; }

/* === MOBILE TOPBAR (PHASE 1 mobile layer 1: topbar) === */

.tru-dark .mobile-menu { display: none; }

@media (max-width: 768px) {
  .tru-dark .topbar-inner {
    grid-template-columns: auto auto;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
  }
  .tru-dark .topbar-inner .logo-mark img {
    height: 56px !important;
  }
  .tru-dark .nav-links {
    display: none;
  }
  .tru-dark .topbar-right {
    display: none;
  }
  .tru-dark .mobile-menu {
    display: block;
    position: relative;
  }
  .tru-dark .mobile-menu summary {
    list-style: none;
    cursor: pointer;
    font-size: 28px;
    line-height: 1;
    color: var(--ink);
    padding: 8px 12px;
    border: 1px solid var(--ink-3);
    border-radius: 4px;
    user-select: none;
  }
  .tru-dark .mobile-menu summary::-webkit-details-marker { display: none; }
  .tru-dark .mobile-menu[open] summary {
    border-color: var(--gold);
    color: var(--gold);
  }
  .tru-dark .mobile-nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    background: var(--paper-2);
    border: 1px solid var(--ink-3);
    border-radius: 6px;
    padding: 8px 0;
    min-width: 280px;
    z-index: 100;
    box-shadow: 0 8px 24px rgba(0,0,0,0.6);
  }
  .tru-dark .mobile-nav-divider {
    display: block;
    height: 1px;
    background: var(--ink-3);
    margin: 4px 0;
  }
  .tru-dark .mobile-nav-cta {
    text-align: center;
    font-family: var(--f-sans) !important;
    font-size: 13px !important;
    border-bottom: none !important;
  }
  .tru-dark .mobile-nav-cta-primary {
    color: var(--gold) !important;
    font-weight: 600;
  }
  .tru-dark .mobile-nav a {
    display: flex;
    align-items: baseline;
    gap: 12px;
    padding: 12px 20px;
    color: var(--ink);
    text-decoration: none;
    font-family: var(--f-sans);
    font-size: 14px;
    border-bottom: 1px solid var(--ink-3);
  }
  .tru-dark .mobile-nav a:last-child { border-bottom: none; }
  .tru-dark .mobile-nav a:hover { background: var(--paper-3); color: var(--gold); }
  .tru-dark .mobile-nav .num {
    color: var(--gold);
    font-family: var(--f-serif);
    font-size: 12px;
    min-width: 24px;
  }
  .tru-dark .topbar-right .btn-sm {
    padding: 6px 12px;
    font-size: 12px;
  }

  /* --- Footer: stack 5-col grid to 1-col --- */
  .tru-dark .footer-top {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .tru-dark .footer { padding: 32px 20px !important; }
  .tru-dark .footer-top .brand { text-align: left; }

  /* --- Card grids: collapse all multi-col grids to single column --- */
  .tru-dark main div[style*="grid-template-columns: repeat(2, 1fr)"],
  .tru-dark main div[style*="grid-template-columns: repeat(3, 1fr)"],
  .tru-dark main div[style*="grid-template-columns: repeat(4, 1fr)"],
  .tru-dark main div[style*="grid-template-columns: repeat(5, 1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* --- Indie directory 3-col card grid --- */
  .tru-dark main div[style*="grid-template-columns: repeat(3, 1fr); gap: 18px;"] {
    grid-template-columns: 1fr !important;
  }

  /* --- Main wrap padding tighter on phone --- */
  .tru-dark main.wrap,
  .tru-dark main.wrap-narrow {
    padding: 20px 16px !important;
  }

  /* --- Hero/masthead typography scale --- */
  .tru-dark .masthead .title { font-size: 40px !important; }
  .tru-dark .masthead .tagline { font-size: 16px !important; }
  .tru-dark .masthead { padding: 32px 20px !important; }

  /* --- Card padding on phone --- */
  .tru-dark .card { padding: 18px !important; }

  /* --- Subbar: horizontal scroll with edge fade indicator --- */
  .tru-dark .subbar {
    position: relative;
  }
  .tru-dark .subbar-inner {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
    padding: 10px 16px !important;
    gap: 6px !important;
  }
  .tru-dark .subbar::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 32px;
    height: 100%;
    background: linear-gradient(to right, transparent, var(--paper) 70%);
    pointer-events: none;
    z-index: 2;
  }
  .tru-dark .city-tab {
    padding: 8px 12px !important;
    font-size: 13px !important;
    flex-shrink: 0;
  }
  .tru-dark .subbar-label {
    font-size: 11px !important;
    flex-shrink: 0;
  }

}

/* === END MOBILE TOPBAR === */

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 1 ===== */


/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 2 ===== */
/* Forum chrome (overall_header.html replacement). All rules namespaced
   under .tru-dark. Append-only. Phase 0/1 already provides .topbar,
   .topbar-inner, .nav-links, .btn, .btn-primary, .btn-ghost, .btn-sm,
   .subbar, .subbar-inner, .subbar-label, and .logo-mark. Phase 2 adds
   what does not exist yet, restyles the breadcrumb dark, restyles the
   mobile slide-out drawer dark, and hides the orphan crimson elements
   that overall_footer.html still renders until Session 2. */

/* --- Topbar additions --- */
.tru-dark .topbar-right .user-handle {
	font-family: var(--f-mono);
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: 0.02em;
	padding: 6px 10px;
	border: 1px solid var(--line-2);
	border-radius: 2px;
	white-space: nowrap;
}
.tru-dark .topbar-hamburger {
	display: none;
	background: transparent;
	border: 1px solid var(--line-2);
	border-radius: 2px;
	padding: 0;
	cursor: pointer;
	width: 36px;
	height: 36px;
	flex-direction: column;
	gap: 3px;
	align-items: center;
	justify-content: center;
}
.tru-dark .topbar-hamburger span {
	display: block;
	width: 16px;
	height: 1px;
	background: var(--ink-2);
}
.tru-dark .topbar-hamburger:hover { border-color: var(--gold); }
.tru-dark .topbar-hamburger:hover span { background: var(--gold); }

/* --- Subbar Quick Links (Drift #1) --- */
.tru-dark .quick-link {
	padding: 14px 14px;
	font-size: 11px;
	color: var(--ink-3);
	letter-spacing: 0.02em;
	white-space: nowrap;
	border-bottom: 1px solid transparent;
	display: flex;
	align-items: center;
	text-decoration: none;
}
.tru-dark .quick-link:hover {
	color: var(--gold);
	border-bottom-color: var(--gold);
}

/* --- Breadcrumb (phpBB INCLUDE navbar_header.html) dark restyle --- */
.tru-dark #tr-breadcrumb {
	background: var(--paper);
	border-bottom: 1px solid var(--line);
}
.tru-dark #tr-breadcrumb .navbar {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #tr-breadcrumb .navbar .inner {
	background: transparent !important;
	border: none !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 8px 28px !important;
}
.tru-dark #tr-breadcrumb ul#nav-main { display: none !important; }
.tru-dark #tr-breadcrumb ul#nav-breadcrumbs {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.02em !important;
}
.tru-dark #tr-breadcrumb ul#nav-breadcrumbs li { display: inline-flex; align-items: center; }
.tru-dark #tr-breadcrumb ul#nav-breadcrumbs .crumb a {
	color: var(--ink-2) !important;
	text-decoration: none !important;
	padding: 0 6px;
}
.tru-dark #tr-breadcrumb ul#nav-breadcrumbs .crumb a:hover { color: var(--gold) !important; }
.tru-dark #tr-breadcrumb ul#nav-breadcrumbs .icon { color: var(--ink-4) !important; margin-right: 4px !important; }

/* --- Single-column page wrapper (replaces inline 2-col grid) --- */
.tru-dark #tr-page-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 28px;
	display: block;
}
.tru-dark #tr-main-col {
	width: 100%;
	min-width: 0;
}

/* --- Hide orphan elements still rendered by overall_footer.html.
       Session 2 deletes them at the source. --- */
.tru-dark #tr-sidebar { display: none !important; }
.tru-dark #tr-help-strip { display: none !important; }
.tru-dark #tr-promo-bar { display: none !important; }

/* --- Page footer transitional dark wash (full rebuild in Session 2) --- */
.tru-dark #page-footer {
	background: var(--bg) !important;
	color: var(--ink-3) !important;
	border-top: 1px solid var(--line) !important;
	padding: 24px 28px !important;
	margin-top: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
}
.tru-dark #page-footer a { color: var(--ink-2) !important; }
.tru-dark #page-footer a:hover { color: var(--gold) !important; }
.tru-dark #tr-footer-sponsors { display: none !important; }
.tru-dark #tr-footer-logo-wrap img { filter: none !important; max-height: 32px; opacity: 0.6; }

/* --- Mobile slide-out drawer dark restyle --- */
.tru-dark #tr-mobile-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	backdrop-filter: blur(2px);
	z-index: 90;
}
.tru-dark #tr-mobile-overlay.open { display: block; }
.tru-dark #tr-mobile-menu {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 320px;
	max-width: 88vw;
	background: var(--paper);
	border-left: 1px solid var(--line);
	z-index: 100;
	overflow-y: auto;
	font-family: var(--f-sans);
}
.tru-dark #tr-mobile-menu.open { display: block; }
.tru-dark #tr-mobile-menu-inner { padding: 20px 24px 40px; }
.tru-dark #tr-mobile-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 16px;
}
.tru-dark #tr-mobile-header img { height: 40px; width: auto; display: block; }
.tru-dark #tr-mobile-close {
	background: transparent;
	border: 1px solid var(--line-2);
	color: var(--ink-2);
	width: 32px;
	height: 32px;
	font-size: 18px;
	line-height: 1;
	border-radius: 2px;
	cursor: pointer;
}
.tru-dark #tr-mobile-close:hover { color: var(--gold); border-color: var(--gold); }
.tru-dark #tr-mobile-user {
	font-family: var(--f-mono);
	font-size: 11px;
	color: var(--ink-2);
	padding: 8px 0;
	margin-bottom: 8px;
}
.tru-dark .tr-mobile-divider {
	font-family: var(--f-mono);
	font-size: 9px;
	color: var(--ink-4);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 16px 0 6px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 4px;
}
.tru-dark #tr-mobile-menu a {
	display: block;
	padding: 8px 0;
	font-size: 13px;
	color: var(--ink) !important;
	text-decoration: none;
}
.tru-dark #tr-mobile-menu a:hover { color: var(--gold) !important; }
.tru-dark .tr-mobile-post,
.tru-dark .tr-mobile-join {
	color: var(--gold) !important;
	font-weight: 600;
}
.tru-dark .tr-mobile-logout { color: var(--ink-3) !important; }

/* --- Mobile breakpoints --- */
@media (max-width: 960px) {
	.tru-dark .topbar-right .user-handle { display: none; }
	.tru-dark .topbar-right .btn-ghost { display: none; }
	.tru-dark .topbar-hamburger { display: inline-flex; }
	.tru-dark .subbar { display: none; }
	.tru-dark #tr-page-wrap { padding: 16px; }
	.tru-dark #tr-breadcrumb .navbar .inner { padding: 6px 16px !important; }
}
@media (max-width: 600px) {
	.tru-dark .topbar-inner .logo-mark img { height: 44px !important; }
	.tru-dark .topbar-right .btn-primary { padding: 6px 8px; font-size: 9px; }
	.tru-dark #tr-page-wrap { padding: 12px; }
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 2 ===== */

/* ===== PHASE 2 PATCH 1 -- Override legacy ticker + horizontal overflow ===== */
/* The legacy crimson rules (pre-line 3183) hijack #tr-breadcrumb to render
   an animated "TORONTO ESCORTS * MONTREAL ESCORTS..." ticker via a ::after
   pseudo-element, hide the actual phpBB breadcrumb, and use translateX(100vw)
   which contributes to horizontal page overflow. Override here so the real
   breadcrumb shows in editorial dark, the ticker disappears, and the page
   no longer scrolls sideways. */

.tru-dark #tr-breadcrumb {
	overflow: visible !important;
	background: var(--paper) !important;
	border-top: none !important;
	border-bottom: 1px solid var(--line) !important;
	height: auto !important;
	line-height: normal !important;
}
.tru-dark #tr-breadcrumb::after {
	content: none !important;
	display: none !important;
	animation: none !important;
}
.tru-dark #tr-breadcrumb .navbar {
	display: block !important;
}

/* Defensive horizontal overflow guard. */
body.tru-dark {
	overflow-x: hidden !important;
}
.tru-dark .topbar,
.tru-dark .subbar,
.tru-dark #tr-breadcrumb {
	max-width: 100vw;
}

/* Hide the @username chip below 1100px so the topbar does not cramp before
   the mobile breakpoint at 960px. Username remains accessible in the hamburger drawer. */
@media (max-width: 1100px) {
	.tru-dark .topbar-right .user-handle { display: none !important; }
}

/* Ensure the @username chip content (phpBB may wrap admin/founder names in
   a colored <span>) inherits the chip's typography instead of fighting it. */
.tru-dark .user-handle a,
.tru-dark .user-handle span {
	color: inherit !important;
	text-decoration: none !important;
	font-weight: inherit !important;
}
/* ===== END PHASE 2 PATCH 1 ===== */

/* ===== PHASE 2 PATCH 2 -- Logo size, sticky kill, username styling ===== */
/* The Phase 1 static pages constrain the logo to 96px via an inline
   style="height:96px" on the <img>. The forum chrome doesn't have
   that inline style, so the desktop logo was rendering at its
   native ~110px, eating horizontal space and clipping the gold
   POST REVIEW / Register button off the right edge. Constrain it
   via CSS so the forum matches the static pages.
   
   Also: Phase 0 sets position:sticky on .topbar; Ali wants the
   topbar to scroll away with the page, not stay pinned.
   
   Also: brighten the @username chip so it reads clearly against
   the dark topbar. Drop the subtle border in favor of gold text. */

/* Constrain desktop logo to 96px to match static pages. */
.tru-dark .topbar-inner .logo-mark img {
	height: 96px;
	width: auto;
	display: block;
}

/* Topbar scrolls with page instead of sticking to top. */
.tru-dark .topbar {
	position: static !important;
	top: auto !important;
}

/* @username chip: gold, no border, clearly readable. */
.tru-dark .topbar-right .user-handle {
	font-family: var(--f-mono);
	font-size: 12px;
	color: var(--gold);
	letter-spacing: 0.04em;
	padding: 6px 10px;
	border: none;
	background: transparent;
	white-space: nowrap;
}
/* ===== END PHASE 2 PATCH 2 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 2 SESSION 2 ===== */
/* The editorial 5-column footer markup matches directory.html and the
   other Phase 1 static pages exactly. The CSS for .footer, .footer-inner,
   .footer-top, .brand, .chip, .footer-bottom, .tagline-italic etc. is
   already in the Phase 1 area of this stylesheet -- nothing new needed
   for the visual styling.
   
   The ONLY new rule is to neutralize Phase 2 Patch 1's transitional
   #page-footer dark wash, since the new <footer> element handles its
   own padding/background now. */
.tru-dark #page-footer {
	background: transparent !important;
	color: inherit !important;
	border-top: none !important;
	padding: 0 !important;
	margin-top: 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 2 SESSION 2 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 3 (forumlist_body) ===== */
/* Forum index masthead, 2-column grid, sidebar cards, and editorial-dark
   restyle of phpBB-native .forabg / li.row / .lastpost-* / .forum-icon-wrap /
   .subforum-row classes. The original inline <style> block in
   forumlist_body.html (~155 lines of crimson) has been removed; everything
   is here now. Sidebar uses .forum-card namespace to avoid conflict with
   the .card class already defined in Phase 1. */

/* --- MASTHEAD --- */
.tru-dark .forum-masthead {
	padding: 28px 0 24px 0;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--gold-3);
}
.tru-dark .forum-masthead-kicker {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 14px;
}
.tru-dark .forum-masthead-title {
	font-family: var(--f-serif);
	font-size: 56px;
	font-weight: 400;
	color: var(--ink);
	margin: 0 0 14px 0;
	line-height: 1.05;
	letter-spacing: -0.01em;
}
.tru-dark .forum-masthead-title em {
	color: var(--gold);
	font-style: italic;
}
.tru-dark .forum-masthead-tag {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 18px;
	color: var(--ink-2);
	margin: 0 0 22px 0;
	max-width: 640px;
	line-height: 1.5;
}

/* --- WHOLE-FORUM SEARCH --- */
.tru-dark .forum-search {
	display: flex;
	max-width: 560px;
	border: 1px solid var(--gold-3);
	border-radius: 2px;
	overflow: hidden;
	background: rgba(255,255,255,0.02);
}
.tru-dark .forum-search input[type="search"] {
	flex: 1;
	background: transparent;
	border: 0;
	padding: 12px 16px;
	font-family: var(--f-sans);
	font-size: 14px;
	color: var(--ink);
	outline: none;
	min-width: 0;
}
.tru-dark .forum-search input[type="search"]::placeholder {
	color: var(--ink-3);
	font-style: italic;
}
.tru-dark .forum-search-btn {
	background: var(--gold);
	color: #18120a;
	border: 0;
	padding: 0 22px;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.15s;
}
.tru-dark .forum-search-btn:hover {
	background: var(--gold-2);
}

/* --- 2-COLUMN GRID --- */
.tru-dark .forum-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 32px;
	align-items: start;
}
.tru-dark .forum-main {
	counter-reset: cathead;
	min-width: 0;
}
.tru-dark .forum-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* --- FORABG (override pre-3183 legacy crimson) --- */
.tru-dark .forabg {
	background: var(--paper) !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	margin-bottom: 24px !important;
	overflow: hidden !important;
	box-shadow: none !important;
	counter-increment: cathead;
}
.tru-dark .forabg .inner {
	padding: 0 !important;
}

/* Category header bar */
.tru-dark .forabg .header {
	background: transparent !important;
	border-bottom: 1px solid var(--gold-3) !important;
	padding: 18px 22px !important;
	list-style: none !important;
}
.tru-dark .forabg .header .row-item {
	display: flex !important;
	align-items: baseline !important;
	gap: 16px !important;
	padding: 0 !important;
}
.tru-dark .forabg .header dt {
	flex: 1 !important;
	display: flex !important;
	align-items: baseline !important;
	gap: 0 !important;
}
.tru-dark .forabg .header dt::before {
	content: counter(cathead, upper-roman) ". ";
	font-family: var(--f-serif);
	font-style: italic;
	color: var(--gold);
	font-size: 24px;
	margin-right: 0.4em;
	flex-shrink: 0;
}
.tru-dark .forabg .header dt .list-inner {
	display: block !important;
	flex: 1 !important;
}
.tru-dark .forabg .header .cat-folder-icon {
	display: none !important;
}
.tru-dark .forabg .header dt .list-inner a,
.tru-dark .forabg .header dt > a {
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
}
.tru-dark .forabg .header dt .list-inner a:hover {
	color: var(--gold) !important;
}
.tru-dark .forabg .header dd {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	background: transparent !important;
}
.tru-dark .forabg .header dd.topics { width: 80px !important; }
.tru-dark .forabg .header dd.posts { width: 80px !important; }
.tru-dark .forabg .header dd.lastpost {
	width: 220px !important;
	text-align: left !important;
	padding-left: 14px !important;
}

/* --- FORUM ROWS --- */
.tru-dark .forabg .forums {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark .forabg .forums .row {
	background: var(--paper) !important;
	border-bottom: 1px solid var(--line) !important;
	border-left: 4px solid transparent !important;
	list-style: none !important;
	transition: background 0.12s, border-left-color 0.12s !important;
}
.tru-dark .forabg .forums .row:last-child {
	border-bottom: none !important;
}
.tru-dark .forabg .forums .row:hover {
	background: rgba(201,169,97,0.04) !important;
	border-left-color: var(--gold) !important;
}
.tru-dark .forabg .forums .row .row-item {
	display: flex !important;
	align-items: center !important;
	padding: 16px 18px !important;
}
.tru-dark .forabg .forums .row dt {
	flex: 1 !important;
	display: block !important;
}
.tru-dark .forabg .forums .row dt .list-inner {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
}
.tru-dark .forum-main-info {
	flex: 1 !important;
	min-width: 0 !important;
}
.tru-dark .forum-title-line {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex-wrap: wrap !important;
	margin-bottom: 4px !important;
}
.tru-dark .forum-icon-wrap {
	width: 38px !important;
	height: 38px !important;
	border-radius: 2px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 15px !important;
	flex-shrink: 0 !important;
	transition: transform 0.15s !important;
}
.tru-dark .forum-icon-wrap.forum-unread {
	background: var(--gold) !important;
	color: #18120a !important;
	box-shadow: none !important;
}
.tru-dark .forum-icon-wrap.forum-read {
	background: rgba(201,169,97,0.08) !important;
	color: var(--gold-3) !important;
}
.tru-dark a.forumtitle {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 17px !important;
	color: var(--gold) !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.tru-dark a.forumtitle:hover {
	color: var(--gold-2) !important;
	text-decoration: none !important;
}
.tru-dark li.row.forum_unread_locked,
.tru-dark li.row.forum_read_locked {
	background: var(--paper) !important;
	border-left: 4px solid transparent !important;
}
.tru-dark li.row.forum_unread_locked a.forumtitle,
.tru-dark li.row.forum_read_locked a.forumtitle {
	color: var(--gold) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.tru-dark li.row.forum_unread_locked .forum-desc-text,
.tru-dark li.row.forum_read_locked .forum-desc-text {
	color: var(--ink-2) !important;
}
.tru-dark li.row.forum_unread_locked .forum-count,
.tru-dark li.row.forum_read_locked .forum-count {
	color: var(--ink) !important;
}
.tru-dark li.row.forum_unread_locked .lastpost-author a,
.tru-dark li.row.forum_read_locked .lastpost-author a {
	color: var(--gold) !important;
}
.tru-dark .forum-desc-text {
	font-size: 13px !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	line-height: 1.5 !important;
	margin-top: 2px !important;
}
.tru-dark .forum-mods-text {
	font-size: 11px !important;
	color: var(--ink-3) !important;
	margin-top: 4px !important;
	font-family: var(--f-sans) !important;
}
.tru-dark .forum-new-badge {
	display: inline-block !important;
	background: var(--gold) !important;
	color: #18120a !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	font-family: var(--f-sans) !important;
	padding: 3px 7px !important;
	border-radius: 2px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}

/* --- COUNT CELLS --- */
.tru-dark .forabg .forums .row dd {
	text-align: center !important;
	font-family: var(--f-sans) !important;
	vertical-align: middle !important;
	background: transparent !important;
}
.tru-dark .forabg .forums .row dd.topics { width: 80px !important; }
.tru-dark .forabg .forums .row dd.posts { width: 80px !important; }
.tru-dark .forum-count {
	display: block !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	line-height: 1.1 !important;
}
.tru-dark .forabg .forums .row dd dfn {
	display: block !important;
	font-size: 9px !important;
	color: var(--ink-3) !important;
	font-style: normal !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	margin-top: 3px !important;
}

/* --- LAST POST CELL --- */
.tru-dark .forabg .forums .row dd.lastpost {
	width: 220px !important;
	text-align: left !important;
	padding-left: 14px !important;
	border-left: 1px solid var(--line) !important;
}
.tru-dark .lastpost-inner {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}
.tru-dark .lastpost-avatar {
	width: 32px !important;
	height: 32px !important;
	border-radius: 50% !important;
	background: rgba(201,169,97,0.1) !important;
	color: var(--gold) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 16px !important;
	flex-shrink: 0 !important;
}
.tru-dark .lastpost-details { flex: 1 !important; min-width: 0 !important; }
.tru-dark .lastpost-subject {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 175px !important;
	margin-bottom: 2px !important;
}
.tru-dark .lastpost-subject:hover {
	color: var(--gold) !important;
}
.tru-dark .lastpost-time {
	display: block !important;
	font-size: 10.5px !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
}
.tru-dark .lastpost-author {
	display: block !important;
	font-size: 11.5px !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 175px !important;
}
.tru-dark .lastpost-author a {
	color: var(--gold) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.tru-dark .no-posts-yet {
	font-size: 11px !important;
	color: var(--ink-3) !important;
	font-style: italic !important;
	font-family: var(--f-serif) !important;
}

/* --- SUBFORUMS --- */
.tru-dark .forabg .forums .subforum-row {
	background: rgba(201,169,97,0.025) !important;
	border-left: 4px solid rgba(201,169,97,0.15) !important;
	border-top: 1px dashed var(--line) !important;
}
.tru-dark .forabg .forums .subforum-row:hover {
	background: rgba(201,169,97,0.05) !important;
}
.tru-dark .forabg .forums .subforum-row .row-item {
	padding: 10px 18px 10px 30px !important;
}
.tru-dark .subforum-icon-wrap {
	width: 26px !important;
	height: 26px !important;
	border-radius: 2px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 11px !important;
	flex-shrink: 0 !important;
	background: rgba(201,169,97,0.08) !important;
	color: var(--gold-3) !important;
}
.tru-dark .subforum-arrow {
	color: var(--gold-3) !important;
	font-size: 13px !important;
	flex-shrink: 0 !important;
}
.tru-dark a.subforum-title {
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	text-transform: none !important;
}
.tru-dark a.subforum-title:hover {
	color: var(--gold) !important;
}
.tru-dark a.subforum-title.subforum-unread {
	color: var(--gold) !important;
	font-weight: 700 !important;
}

/* --- SIDEBAR CARDS (forum-card namespace) --- */
.tru-dark .forum-card {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 2px;
	padding: 22px;
}
.tru-dark .forum-card-gold {
	border-color: var(--gold);
	background: linear-gradient(180deg, rgba(201,169,97,0.06), rgba(201,169,97,0.01));
}
.tru-dark .forum-card-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 10px;
}
.tru-dark .forum-card-title {
	font-family: var(--f-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ink);
	margin: 0 0 12px 0;
	line-height: 1.2;
}
.tru-dark .forum-card-title em {
	color: var(--gold);
	font-style: italic;
}
.tru-dark .forum-card-body {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 0 14px 0;
}
.tru-dark .forum-card-cta {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--gold);
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 1px solid var(--gold);
	padding-bottom: 2px;
	transition: color 0.15s, border-color 0.15s;
}
.tru-dark .forum-card-cta:hover {
	color: var(--gold-2);
	border-color: var(--gold-2);
}
.tru-dark .forum-stat-rows {
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: var(--f-sans);
	font-size: 13px;
	color: var(--ink-2);
	line-height: 1.5;
}
.tru-dark .forum-stat-rows li {
	padding: 8px 0;
	border-bottom: 1px solid var(--line);
}
.tru-dark .forum-stat-rows li:last-child {
	border-bottom: none;
}
.tru-dark .forum-stat-rows strong {
	color: var(--ink);
	font-family: var(--f-serif);
	font-weight: 400;
	font-size: 15px;
}
.tru-dark .forum-stat-rows a {
	color: var(--gold);
	text-decoration: none;
	font-weight: 600;
}

/* --- MOBILE --- */
@media (max-width: 900px) {
	.tru-dark .forum-grid { grid-template-columns: 1fr; }
	.tru-dark .forum-sidebar { order: 2; }
	.tru-dark .forum-masthead-title { font-size: 38px; }
	.tru-dark .forabg .header dd.topics,
	.tru-dark .forabg .header dd.posts,
	.tru-dark .forabg .header dd.lastpost { display: none !important; }
	.tru-dark .forabg .forums .row .row-item { flex-wrap: wrap !important; padding: 12px 14px !important; }
	.tru-dark .forabg .forums .row dt { width: 100% !important; flex: none !important; margin-bottom: 8px !important; }
	.tru-dark .forabg .forums .row dd.topics,
	.tru-dark .forabg .forums .row dd.posts { display: none !important; }
	.tru-dark .forabg .forums .row dd.lastpost {
		width: 100% !important;
		border-left: none !important;
		border-top: 1px solid var(--line) !important;
		padding: 8px 0 0 0 !important;
		text-align: left !important;
	}
	.tru-dark .forabg .forums .subforum-row dd { display: none !important; }
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 3 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 1 ===== */
/* Pre-3183 legacy used .forabg .topiclist.forums > li.row.forum_read_subforum
   selectors with crimson gradients (specificity 0,5,1) that beat the simpler
   Phase 3 overrides (0,4,0). This patch matches the legacy selector path
   prefixed with .tru-dark so the editorial-dark colors finally win.

   Also: TruReview structure is parent-forum-as-section-header (NOT category
   header). Parent forum names in the DB already include Roman numerals
   (I., II., III., ...). The CSS counter on .forabg .header dt::before is
   redundant -- disabled here. */

/* Disable CSS counter (parent forum DB names have Roman numerals already) */
.tru-dark .forabg .header dt::before { content: none !important; }

/* PARENT FORUM ROWS -- act as section headers in TruReview's structure.
   Larger gold serif title, paper bg, gold left border for visual prominence. */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum {
	background: var(--paper) !important;
	border-top: 1px solid var(--gold-3) !important;
	border-bottom: 1px solid var(--line) !important;
	border-left: 4px solid var(--gold) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum:hover,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum:hover {
	background: rgba(201,169,97,0.04) !important;
	border-left-color: var(--gold-2) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum a.forumtitle {
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle:hover,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum a.forumtitle:hover {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .forum-desc-text,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .forum-desc-text {
	color: var(--ink-2) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .forum-count,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .forum-count {
	color: var(--ink) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd dfn,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd dfn {
	color: var(--ink-3) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-subject,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .lastpost-subject {
	color: var(--ink) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-time,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .lastpost-time {
	color: var(--ink-3) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-author,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .lastpost-author {
	color: var(--ink-2) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .lastpost-author a,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .lastpost-author a {
	color: var(--gold) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .no-posts-yet,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .no-posts-yet {
	color: var(--ink-3) !important;
}

/* REGULAR FORUM ROWS -- the actual subforums under parent forums */
.tru-dark .forabg .topiclist.forums > li.row.forum_read,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread {
	background: var(--paper) !important;
	border-bottom: 1px solid var(--line) !important;
	border-left: 4px solid transparent !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read:hover,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread:hover {
	background: rgba(201,169,97,0.04) !important;
	border-left-color: var(--gold) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read a.forumtitle,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread a.forumtitle {
	color: var(--gold) !important;
	font-family: var(--f-serif) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read a.forumtitle:hover,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread a.forumtitle:hover {
	color: var(--gold-2) !important;
	text-decoration: none !important;
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 1 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 2 ===== */
/* Layout was broken: forum content squished into the left ~30% of the
   viewport with a wide white area on the right. Two root causes:
   1. Pre-3183 #page-body { background: #f8f6f7 !important } showed white
   2. Wrapper width and padding rules from the OLD 2-col grid layout were
      still pinching the main column.
   Fix: under .tru-dark, force every page wrapper to full width with
   transparent backgrounds, and re-anchor #tr-page-wrap with !important. */

.tru-dark #wrap,
.tru-dark #tr-page-wrap,
.tru-dark #tr-main-col,
.tru-dark #page-body {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	box-sizing: border-box !important;
	float: none !important;
	background: transparent !important;
}
.tru-dark #tr-page-wrap {
	max-width: 1320px !important;
	margin: 0 auto !important;
	padding: 24px 28px !important;
}
.tru-dark #page-body {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}
.tru-dark .forum-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 320px !important;
	gap: 32px !important;
	width: 100% !important;
}
.tru-dark .forum-main {
	min-width: 0 !important;
}
@media (max-width: 900px) {
	.tru-dark .forum-grid {
		grid-template-columns: 1fr !important;
	}
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 2 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 3 ===== */
/* Forum index polish + general dark theme reinforcement.
   Based on user feedback:
   1. Random white bar -> legacy phpBB widgets with white bgs (stat-block,
      permissions, sb-box, action-bar) hidden under .tru-dark.
   2. Empty boxes beside subforums -> hide all forum/subforum icon wrappers
      for editorial minimalism (the titles speak for themselves).
   3. Fonts -> root cause was Playfair Display weight 400 not loaded;
      fixed in overall_header.html. CSS unchanged. */

/* Hide legacy phpBB widgets with hardcoded white backgrounds */
.tru-dark .stat-block,
.tru-dark .permissions,
.tru-dark .sb-box,
.tru-dark .action-bar {
	display: none !important;
}

/* Hide all forum/subforum icon wrappers for editorial minimalism */
.tru-dark .forabg .forums .row .forum-icon-wrap,
.tru-dark .forabg .forums .row .subforum-icon-wrap,
.tru-dark .forabg .forums .subforum-row .subforum-arrow {
	display: none !important;
}

/* Reset the dt list-inner gap now that icons are hidden */
.tru-dark .forabg .forums .row dt .list-inner {
	gap: 0 !important;
}

/* Tighten subforum row padding and indent */
.tru-dark .forabg .forums .subforum-row .row-item {
	padding: 9px 18px 9px 36px !important;
}
.tru-dark .forabg .forums .subforum-row a.subforum-title {
	font-size: 14px !important;
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
}

/* Force kill horizontal scrollbar that appears as a white bar */
.tru-dark body,
.tru-dark #wrap,
.tru-dark #tr-page-wrap,
.tru-dark #page-body {
	overflow-x: hidden !important;
}

/* Empty subforum dd cells -- belt and suspenders */
.tru-dark .forabg .forums .subforum-row dd {
	display: none !important;
}

/* Polish parent forum row counts to use serif numbers */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .forum-count,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .forum-count {
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 3 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 4 ===== */
/* User feedback after Patch 3:
   1. Subforum titles still red -> legacy .forabg li.row.subforum-row 
      a.forumtitle (0,4,2) was beating .tru-dark a.subforum-title (0,2,0).
      Fix: higher-specificity override using same path with .tru-dark prefix.
   2. Parent forum sections "scrunched up" -> count/lastpost cells stole
      ~380px of row width forcing the title to wrap word-per-line. Fix: 
      hide count/lastpost on parent forum rows so the title owns the row
      as a proper section header.
   3. Borders too light -> swap forabg border from --gold-3 to --line. */

/* --- SUBFORUM TITLES: cream default, gold on hover/unread (not red) --- */
.tru-dark .forabg li.row.subforum-row a.forumtitle,
.tru-dark .forabg li.row.subforum-row a.subforum-title {
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 14px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.tru-dark .forabg li.row.subforum-row a.forumtitle:hover,
.tru-dark .forabg li.row.subforum-row a.subforum-title:hover {
	color: var(--gold) !important;
}
.tru-dark .forabg li.row.subforum-row a.subforum-title.subforum-unread {
	color: var(--gold) !important;
	font-weight: 500 !important;
}

/* --- PARENT FORUM ROWS as section headers, full-width title --- */
/* Hide count/lastpost cells -- they crowd the title */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.topics,
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.posts,
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.lastpost,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.topics,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.posts,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.lastpost {
	display: none !important;
}

/* Generous padding gives section-header feel */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .row-item,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .row-item {
	padding: 22px 24px !important;
}

/* Title and description own the full row width now */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dt,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dt {
	flex: 1 1 100% !important;
	width: 100% !important;
	display: block !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dt .list-inner,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dt .list-inner {
	display: block !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum a.forumtitle {
	color: var(--gold) !important;
	font-size: 24px !important;
	display: block !important;
	line-height: 1.2 !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .forum-desc-text,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .forum-desc-text {
	font-style: italic !important;
	font-family: var(--f-serif) !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	margin-top: 8px !important;
	line-height: 1.5 !important;
}

/* --- SUBFORUM ROWS: cleaner border treatment --- */
.tru-dark .forabg .forums .subforum-row {
	border-top: 1px solid var(--line) !important;
	border-left: 4px solid transparent !important;
	background: transparent !important;
}
.tru-dark .forabg .forums .subforum-row:hover {
	background: rgba(201,169,97,0.03) !important;
	border-left-color: var(--gold-3) !important;
}

/* --- BORDERS: swap from --gold-3 to --line for subtlety --- */
.tru-dark .forabg {
	border: 1px solid var(--line) !important;
}
.tru-dark .forabg .header {
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark .forabg .forums .row {
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark .forabg .forums .row dd.lastpost {
	border-left: 1px solid var(--line) !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 4 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 5 ===== */
/* User feedback after Patch 4:
   - Logged-in topbar: just username (bigger, no chip border, links to profile),
     no Post Review button (now removed in markup)
   - Logged-out topbar: keep Sign In + Register buttons, no Post Review
   - Parent forum rows: still want them more distinct from subforums beneath */

/* Logged-in username -- bigger, gold serif, links to profile */
.tru-dark .topbar-right .user-handle {
	font-family: var(--f-serif) !important;
	font-size: 20px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--gold) !important;
	border: none !important;
	background: transparent !important;
	padding: 0 8px !important;
	text-decoration: none !important;
	letter-spacing: 0.01em !important;
	transition: color 0.15s !important;
}
.tru-dark .topbar-right .user-handle:hover {
	color: var(--gold-2) !important;
	text-decoration: none !important;
}

/* Parent forum rows -- stronger differentiation as section headers */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum {
	background: linear-gradient(180deg, rgba(201,169,97,0.05) 0%, rgba(201,169,97,0.02) 100%) !important;
	border-top: 1px solid var(--gold-3) !important;
	border-bottom: 1px solid var(--gold-3) !important;
	border-left: none !important;
	margin: 0 !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum + li.row,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum + li.row {
	border-top: none !important;
}

/* Bigger, more dramatic parent forum titles */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum a.forumtitle,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum a.forumtitle {
	font-size: 28px !important;
	letter-spacing: -0.005em !important;
	line-height: 1.15 !important;
}

/* Hover -- gold-2 brighter, very subtle bg shift */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum:hover,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum:hover {
	background: linear-gradient(180deg, rgba(201,169,97,0.08) 0%, rgba(201,169,97,0.03) 100%) !important;
}
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum:hover a.forumtitle,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum:hover a.forumtitle {
	color: var(--gold-2) !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 5 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 6 ===== */
/* User feedback after Patch 5:
   1. Username font too cursive -> Inter 600 gold, not italic
   2. Masthead font pairing -> "The" stays Playfair 400 cream, italic gold
      word switches to Cormorant italic for proper editorial pairing
   3. Restore last-post peek on regular forum rows (was hidden)
   4. Topbar border-bottom -> gold-3 instead of line
   5. Forum description -> Inter 13px not italic Playfair */

/* USERNAME -- solid, not italic */
.tru-dark .topbar-right .user-handle {
	font-family: var(--f-sans) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: var(--gold) !important;
	letter-spacing: 0.01em !important;
	border: none !important;
	background: transparent !important;
	padding: 0 8px !important;
	text-decoration: none !important;
}
.tru-dark .topbar-right .user-handle:hover {
	color: var(--gold-2) !important;
}

/* TOPBAR BORDER -- gold-3 instead of grey */
.tru-dark .topbar {
	border-bottom: 1px solid var(--gold-3) !important;
}

/* MASTHEAD PAIRING -- Cormorant italic for the gold word, smaller tag */
.tru-dark .forum-masthead-title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 400 !important;
	font-size: 60px !important;
	letter-spacing: -0.015em !important;
	line-height: 1.05 !important;
	color: var(--ink) !important;
}
.tru-dark .forum-masthead-title em {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-style: italic !important;
	font-weight: 500 !important;
	color: var(--gold) !important;
	letter-spacing: -0.01em !important;
}
.tru-dark .forum-masthead-tag {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 19px !important;
	color: var(--ink-2) !important;
	letter-spacing: 0.005em !important;
}

/* PARENT FORUM TITLES -- same pairing for consistency
   "TORONTO (GTA)" stays Playfair 400 cream, the descriptor part Cormorant
   italic gold. Phase 3 controls these via .forabg li.row.forum_*_subforum. 
   Switching the descriptor was already in Patch 4; here we tighten the 
   description font under those header rows. */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum .forum-desc-text,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum .forum-desc-text {
	font-family: var(--f-sans) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	margin-top: 10px !important;
}

/* SUBFORUM ROW DESCRIPTIONS (rare, but if present, smaller and Inter) */
.tru-dark .forabg .forums .row .forum-desc-text {
	font-family: var(--f-sans) !important;
	font-style: normal !important;
	font-size: 13px !important;
	color: var(--ink-2) !important;
	line-height: 1.5 !important;
}

/* RESTORE LAST-POST PEEK on regular forum rows (subforum rows stay clean) */
.tru-dark .forabg .forums .row.forum_read dd.topics,
.tru-dark .forabg .forums .row.forum_read dd.posts,
.tru-dark .forabg .forums .row.forum_read dd.lastpost,
.tru-dark .forabg .forums .row.forum_unread dd.topics,
.tru-dark .forabg .forums .row.forum_unread dd.posts,
.tru-dark .forabg .forums .row.forum_unread dd.lastpost {
	display: table-cell !important;
	vertical-align: middle !important;
}
.tru-dark .forabg .forums .row.forum_read,
.tru-dark .forabg .forums .row.forum_unread {
	display: table !important;
	width: 100% !important;
	table-layout: fixed !important;
}
.tru-dark .forabg .forums .row.forum_read .row-item,
.tru-dark .forabg .forums .row.forum_unread .row-item {
	display: table-row !important;
}
.tru-dark .forabg .forums .row.forum_read dt,
.tru-dark .forabg .forums .row.forum_unread dt {
	display: table-cell !important;
	width: auto !important;
	padding: 14px 18px !important;
	vertical-align: middle !important;
}
.tru-dark .forabg .forums .row.forum_read dd.topics,
.tru-dark .forabg .forums .row.forum_unread dd.topics,
.tru-dark .forabg .forums .row.forum_read dd.posts,
.tru-dark .forabg .forums .row.forum_unread dd.posts {
	width: 78px !important;
	text-align: center !important;
	padding: 14px 6px !important;
}
.tru-dark .forabg .forums .row.forum_read dd.lastpost,
.tru-dark .forabg .forums .row.forum_unread dd.lastpost {
	width: 220px !important;
	padding: 12px 16px !important;
	text-align: left !important;
	border-left: 1px solid var(--line) !important;
}

/* Hide table label "dfn" elements (Threads/Messages) on row, looks cluttered */
.tru-dark .forabg .forums .row.forum_read dd dfn,
.tru-dark .forabg .forums .row.forum_unread dd dfn {
	display: block !important;
	font-size: 9px !important;
	font-style: normal !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	margin-top: 3px !important;
}

/* Ensure parent forum rows stay full-width (not table-layout, they have no peek) */
.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum,
.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum {
	display: block !important;
	width: 100% !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 6 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 7 ===== */
/* Logged-in users now have an account dropdown menu off the @username,
   giving access to Profile, My Posts, Settings, Mod CP (if U_MCP), 
   Admin CP (if U_ACP), and Sign Out. CSS-only via :hover and 
   :focus-within for keyboard/click accessibility. */

.tru-dark .topbar-right .user-menu {
	position: relative;
	display: inline-block;
}

/* Trigger button -- styled to match the previous user-handle anchor */
.tru-dark .topbar-right .user-menu .user-handle {
	font-family: var(--f-sans) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: var(--gold) !important;
	letter-spacing: 0.01em !important;
	background: transparent !important;
	border: none !important;
	padding: 6px 10px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	text-decoration: none !important;
	border-radius: 2px !important;
	transition: background 0.15s, color 0.15s !important;
}
.tru-dark .topbar-right .user-menu .user-handle:hover,
.tru-dark .topbar-right .user-menu:focus-within .user-handle {
	color: var(--gold-2) !important;
	background: rgba(201,169,97,0.08) !important;
	outline: none !important;
}
.tru-dark .topbar-right .user-handle-caret {
	font-size: 9px;
	color: var(--gold-3);
	transition: transform 0.15s;
}
.tru-dark .topbar-right .user-menu:hover .user-handle-caret,
.tru-dark .topbar-right .user-menu:focus-within .user-handle-caret {
	color: var(--gold);
	transform: rotate(180deg);
}

/* Dropdown panel */
.tru-dark .topbar-right .user-menu-dropdown {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 200px;
	background: #0d0d0e;
	border: 1px solid var(--gold-3);
	border-radius: 2px;
	padding: 6px 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.15s, visibility 0.15s, transform 0.15s;
	z-index: 100;
	box-shadow: 0 12px 32px rgba(0,0,0,0.6);
}
.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Dropdown items */
.tru-dark .topbar-right .user-menu-dropdown a {
	display: block;
	padding: 9px 16px;
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	text-decoration: none;
	letter-spacing: 0.01em;
	transition: background 0.12s, color 0.12s, padding-left 0.12s;
}
.tru-dark .topbar-right .user-menu-dropdown a:hover {
	background: rgba(201,169,97,0.08);
	color: var(--gold);
	padding-left: 20px;
}
.tru-dark .topbar-right .user-menu-dropdown .user-menu-acp {
	color: var(--gold) !important;
	font-weight: 600;
}
.tru-dark .topbar-right .user-menu-dropdown .user-menu-acp:hover {
	color: var(--gold-2) !important;
	background: rgba(201,169,97,0.12);
}
.tru-dark .topbar-right .user-menu-dropdown .user-menu-logout {
	color: var(--ink-3) !important;
	font-size: 12px;
	letter-spacing: 0.05em;
}
.tru-dark .topbar-right .user-menu-dropdown .user-menu-logout:hover {
	color: #d97757 !important;
	background: rgba(217,119,87,0.06);
}
.tru-dark .topbar-right .user-menu-divider {
	height: 1px;
	background: var(--line);
	margin: 6px 0;
}

/* Hide the dropdown on mobile -- mobile users use the hamburger drawer */
@media (max-width: 1100px) {
	.tru-dark .topbar-right .user-menu {
		display: none !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 7 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 8 ===== */
/* User feedback after Patch 7:
   1. Right-side white strip on forum index -> html bg never set, browser
      default white shows outside .tru-dark body in some browsers/widths.
      Fix: explicitly set html background to match --bg.
   2. The 6 static pages use <h1 class="title"> with <em> inside, but the
      Cormorant italic gold pairing in Patch 6 only targeted
      .forum-masthead-title em. Extending to .title em on the static pages
      so they get the same magazine-cover treatment. */

/* Force html background dark to eliminate any side strip */
html, html body, body.tru-dark, .tru-dark body {
	background: var(--bg) !important;
	background-color: #0a0a0b !important;
}

/* Make sure Phase 0 .tru-dark color cascade applies even if html parent paints first */
.tru-dark {
	background: var(--bg) !important;
}

/* Match static-page mastheads with the forum index pairing */
.tru-dark .title {
	font-family: 'Playfair Display', Georgia, serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.015em !important;
	line-height: 1.05 !important;
}
.tru-dark .title em {
	font-family: 'Cormorant Garamond', Georgia, serif !important;
	font-style: italic !important;
	font-weight: 500 !important;
	color: var(--gold) !important;
	letter-spacing: -0.01em !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 PATCH 8 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 4 (viewforum_body) ===== */
/* Subforum thread-list page. Single-column editorial layout with masthead,
   action bar, thread rows, and a sign-in prompt for guests at bottom.
   No sidebar, no Board Stats. */

/* --- VIEWFORUM MASTHEAD adjustments (smaller than forum index) --- */
.tru-dark .viewforum-masthead {
	padding: 32px 0 28px 0;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--gold-3);
}
.tru-dark .viewforum-title {
	font-size: 48px !important;
	margin-bottom: 12px !important;
}
.tru-dark .viewforum-mods {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 18px;
}
.tru-dark .viewforum-mods strong {
	color: var(--gold);
	font-weight: 700;
}
.tru-dark .viewforum-mods a {
	color: var(--ink-2);
	text-decoration: none;
	border-bottom: 1px dotted var(--ink-3);
}
.tru-dark .viewforum-mods a:hover {
	color: var(--gold);
	border-bottom-color: var(--gold);
}

/* --- ACTION BAR --- */
.tru-dark .action-bar.bar-top,
.tru-dark .action-bar.bar-bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	padding: 14px 0 !important;
	margin: 0 0 18px 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	flex-wrap: wrap !important;
}
.tru-dark .action-bar.bar-bottom {
	border-bottom: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 24px 0 0 0 !important;
}
.tru-dark .action-bar.compact {
	padding: 8px 0 !important;
	margin-bottom: 12px !important;
	border: none !important;
}
.tru-dark .action-bar-left,
.tru-dark .action-bar-right {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	flex-wrap: wrap !important;
}
.tru-dark .action-bar-right {
	margin-left: auto !important;
}

/* Mark-read link */
.tru-dark .mark-read-link {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-3) !important;
	text-decoration: none !important;
}
.tru-dark .mark-read-link:hover {
	color: var(--gold) !important;
}

/* Action button variants reuse forum-search-btn base */
.tru-dark .action-btn-primary {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	background: var(--gold) !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: background 0.15s !important;
}
.tru-dark .action-btn-primary:hover {
	background: var(--gold-2) !important;
	color: #18120a !important;
}
.tru-dark .action-btn-ghost {
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
}
.tru-dark .action-btn-ghost:hover {
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
	color: var(--gold-2) !important;
}

/* --- ACTION BAR PAGINATION (phpBB native) --- */
.tru-dark .action-bar .pagination {
	display: flex !important;
	align-items: center !important;
	gap: 4px !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark .action-bar .pagination ul {
	display: flex !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 4px !important;
}
.tru-dark .action-bar .pagination li {
	margin: 0 !important;
}
.tru-dark .action-bar .pagination li a,
.tru-dark .action-bar .pagination li span {
	display: inline-block !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ink-2) !important;
	background: transparent !important;
	border: 1px solid var(--line) !important;
	padding: 5px 10px !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	min-width: 28px !important;
	text-align: center !important;
}
.tru-dark .action-bar .pagination li a:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .action-bar .pagination li.active span {
	background: var(--gold) !important;
	color: #18120a !important;
	border-color: var(--gold) !important;
}
.tru-dark .action-bar .pagination li.ellipsis span {
	border: none !important;
	color: var(--ink-3) !important;
}

/* --- THREAD LIST CONTAINER --- */
.tru-dark .thread-list {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 2px;
	overflow: hidden;
}
.tru-dark .thread-section-label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	padding: 14px 22px;
	background: rgba(201,169,97,0.04);
	border-bottom: 1px solid var(--line);
	border-top: 1px solid var(--line);
}
.tru-dark .thread-section-label:first-child {
	border-top: none;
}

/* --- THREAD ROW --- */
.tru-dark .thread-row {
	display: grid !important;
	grid-template-columns: 110px minmax(0, 1fr) 180px !important;
	gap: 24px !important;
	align-items: center !important;
	padding: 18px 22px !important;
	border-bottom: 1px solid var(--line) !important;
	border-left: 4px solid transparent !important;
	background: var(--paper) !important;
	transition: background 0.12s, border-left-color 0.12s !important;
}
.tru-dark .thread-row:last-child {
	border-bottom: none !important;
}
.tru-dark .thread-row:hover {
	background: rgba(201,169,97,0.03) !important;
	border-left-color: var(--gold) !important;
}

/* Unread state: gold left accent + slight tint */
.tru-dark .thread-row.unread {
	border-left-color: var(--gold) !important;
	background: rgba(201,169,97,0.04) !important;
}

/* Pinned: gold double border accent */
.tru-dark .thread-row.pinned {
	border-left-color: var(--gold-2) !important;
	background: rgba(201,169,97,0.05) !important;
}

/* Locked: muted */
.tru-dark .thread-row.locked {
	opacity: 0.65 !important;
}

/* Reported: red accent (admin/mod only) */
.tru-dark .thread-row.reported {
	border-left-color: var(--red) !important;
	background: rgba(184,66,61,0.05) !important;
}

/* --- META COLUMN (left) --- */
.tru-dark .thread-meta {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
	text-align: center !important;
}
.tru-dark .thread-flag {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 3px 7px;
	border-radius: 2px;
	line-height: 1;
}
.tru-dark .thread-flag.pin {
	color: var(--gold);
	background: transparent;
	font-size: 16px;
	padding: 0;
}
.tru-dark .thread-flag.announce {
	background: var(--gold);
	color: #18120a;
}
.tru-dark .thread-flag.locked {
	color: var(--ink-3);
	background: transparent;
	font-size: 14px;
	padding: 0;
}
.tru-dark .thread-flag.reported {
	color: var(--red);
	background: rgba(184,66,61,0.1);
}
.tru-dark .thread-flag.mod {
	background: var(--red);
	color: #fff;
}
.tru-dark .thread-replies {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	font-family: var(--f-sans);
	color: var(--ink-3);
}
.tru-dark .thread-replies strong {
	font-family: var(--f-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ink);
	line-height: 1;
}
.tru-dark .thread-replies span {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-3);
}

/* --- BODY COLUMN (center) --- */
.tru-dark .thread-body {
	min-width: 0 !important;
}
.tru-dark a.thread-title {
	display: block;
	font-family: var(--f-serif) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	line-height: 1.25 !important;
	margin-bottom: 6px !important;
	text-decoration: none !important;
	letter-spacing: -0.005em;
	word-wrap: break-word;
}
.tru-dark a.thread-title:hover {
	color: var(--gold) !important;
}
.tru-dark .thread-row.unread a.thread-title,
.tru-dark .thread-row.pinned a.thread-title {
	color: var(--gold) !important;
	font-weight: 500 !important;
}
.tru-dark .thread-row.unread a.thread-title:hover,
.tru-dark .thread-row.pinned a.thread-title:hover {
	color: var(--gold-2) !important;
}
.tru-dark .thread-sub {
	font-family: var(--f-sans);
	font-size: 12.5px;
	color: var(--ink-2);
	line-height: 1.4;
}
.tru-dark .thread-sub a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600;
}
.tru-dark .thread-sub a:hover {
	color: var(--gold-2) !important;
}
.tru-dark .thread-sub .dot {
	color: var(--ink-3);
	margin: 0 4px;
}
.tru-dark .thread-sub time {
	color: var(--ink-3);
}
.tru-dark .thread-hot {
	color: var(--red);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.tru-dark .thread-tag {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ink-3);
	border: 1px solid var(--line);
	padding: 1px 6px;
	border-radius: 2px;
	margin-left: 2px;
}

/* In-thread pagination (e.g. Page 2 3 4 ... within a topic row) */
.tru-dark .thread-pagination {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 8px;
	flex-wrap: wrap;
}
.tru-dark .thread-pagination a,
.tru-dark .thread-pagination span {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	color: var(--ink-3);
	border: 1px solid var(--line);
	padding: 3px 7px;
	border-radius: 2px;
	text-decoration: none;
	min-width: 22px;
	text-align: center;
}
.tru-dark .thread-pagination a:hover {
	color: var(--gold);
	border-color: var(--gold-3);
}
.tru-dark .thread-pagination .active {
	background: var(--gold);
	color: #18120a;
	border-color: var(--gold);
}
.tru-dark .thread-pagination .ellipsis {
	border: none;
	background: transparent;
}

/* --- LAST-POST COLUMN (right) --- */
.tru-dark .thread-last {
	text-align: right !important;
	font-family: var(--f-sans) !important;
}
.tru-dark .thread-last-time {
	display: block !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--ink-2) !important;
	text-decoration: none !important;
	margin-bottom: 3px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.tru-dark .thread-last-time:hover {
	color: var(--gold) !important;
}
.tru-dark .thread-last-author {
	font-size: 12px !important;
	color: var(--ink-3) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.tru-dark .thread-last-author a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark .thread-last-author a:hover {
	color: var(--gold-2) !important;
}

/* --- EMPTY STATE PANEL --- */
.tru-dark .panel.empty-panel {
	background: var(--paper) !important;
	border: 1px dashed var(--line) !important;
	border-radius: 2px !important;
	padding: 36px 24px !important;
	text-align: center !important;
	color: var(--ink-2) !important;
	font-family: var(--f-serif) !important;
	font-style: italic !important;
}
.tru-dark .panel.empty-panel strong {
	font-weight: 400 !important;
	color: var(--ink-2) !important;
}

/* --- LOGIN PROMPT (guests only) --- */
.tru-dark .login-prompt {
	margin: 32px 0 16px 0;
	padding: 24px 28px;
	background: linear-gradient(180deg, rgba(201,169,97,0.06), rgba(201,169,97,0.02));
	border: 1px solid var(--gold-3);
	border-radius: 2px;
}
.tru-dark .login-prompt-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.tru-dark .login-prompt-text {
	font-family: var(--f-serif);
	font-size: 17px;
	font-style: italic;
	color: var(--ink);
	flex: 1;
	min-width: 260px;
}
.tru-dark .login-prompt-actions {
	display: flex;
	gap: 10px;
}

/* --- HIDE LEGACY VIEWFORUM PERMISSION/ONLINE STAT BLOCKS --- */
.tru-dark .stat-block.online-list,
.tru-dark .stat-block.permissions {
	display: none !important;
}

/* --- HIDE PHPBB JUMPBOX (already navigated via topbar/breadcrumb) --- */
.tru-dark #jumpbox,
.tru-dark form[action*="viewforum.php"]#jumpbox-form {
	display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .thread-row {
		grid-template-columns: 64px minmax(0, 1fr) !important;
		gap: 14px !important;
		padding: 14px 16px !important;
	}
	.tru-dark .thread-last {
		grid-column: 2 / 3 !important;
		text-align: left !important;
		margin-top: 6px !important;
		padding-top: 8px !important;
		border-top: 1px solid var(--line) !important;
	}
	.tru-dark .thread-last-time,
	.tru-dark .thread-last-author {
		display: inline !important;
		font-size: 11px !important;
	}
	.tru-dark .viewforum-title {
		font-size: 36px !important;
	}
	.tru-dark .action-bar.bar-top,
	.tru-dark .action-bar.bar-bottom {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.tru-dark .action-bar-right {
		margin-left: 0 !important;
	}
	.tru-dark .login-prompt-inner {
		flex-direction: column !important;
		align-items: stretch !important;
		text-align: center !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 4 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 5 (viewtopic_body) ===== */
/* Thread / review detail page. First post gets author panel + REVIEW kicker;
   replies render inline with header showing only @author + timestamp.
   The [review] BBCode panel renders inside .post-content automatically when
   present in the post body. No avatars, no join dates -- per spec. */

/* --- VIEWTOPIC MASTHEAD --- */
.tru-dark .viewtopic-masthead {
	padding: 28px 0 22px 0;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--gold-3);
}
.tru-dark .viewtopic-masthead .forum-masthead-kicker a {
	color: var(--gold) !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
}
.tru-dark .viewtopic-masthead .forum-masthead-kicker a:hover {
	color: var(--gold-2) !important;
}
.tru-dark .viewtopic-title {
	font-size: 38px !important;
	line-height: 1.15 !important;
	margin-bottom: 4px !important;
	letter-spacing: -0.005em !important;
}

/* --- POST CARD --- */
.tru-dark .post-card {
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 2px;
	margin-bottom: 18px;
	overflow: hidden;
	transition: border-color 0.15s;
}
.tru-dark .post-card.post-unread {
	border-left: 4px solid var(--gold) !important;
}
.tru-dark .post-card.post-reported {
	border-left: 4px solid var(--red) !important;
}
.tru-dark .post-card.post-first {
	display: grid !important;
	grid-template-columns: 200px minmax(0, 1fr) !important;
	border-top: 2px solid var(--gold) !important;
}
.tru-dark .post-card.post-reply {
	display: block !important;
}

/* --- AUTHOR PANEL --- */
.tru-dark .post-author-panel {
	background: linear-gradient(180deg, rgba(201,169,97,0.04), rgba(201,169,97,0.01));
	border-right: 1px solid var(--line);
	padding: 24px 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.tru-dark .post-author-name {
	font-family: var(--f-sans);
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	letter-spacing: 0.005em;
	word-break: break-word;
}
.tru-dark .post-author-name a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}
.tru-dark .post-author-name a:hover {
	color: var(--gold-2) !important;
}
.tru-dark .post-author-rank {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gold);
	background: rgba(201,169,97,0.08);
	border: 1px solid var(--gold-3);
	padding: 4px 8px;
	border-radius: 2px;
	display: inline-block;
}
.tru-dark .post-author-stat {
	display: flex;
	flex-direction: column;
	gap: 1px;
	margin-top: 4px;
}
.tru-dark .post-author-stat-num {
	font-family: var(--f-serif);
	font-size: 22px;
	font-weight: 400;
	color: var(--ink);
	line-height: 1;
}
.tru-dark .post-author-stat-label {
	font-family: var(--f-sans);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-3);
}

/* --- POST BODY --- */
.tru-dark .post-body {
	padding: 22px 26px 24px 26px;
	min-width: 0;
}
.tru-dark .post-card.post-reply .post-body {
	padding: 18px 22px 20px 22px;
}
.tru-dark .post-review-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 14px;
}
/* --- POST HEAD --- */
.tru-dark .post-head {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
}
.tru-dark .post-head-author {
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
}
.tru-dark .post-head-author a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
}
.tru-dark .post-head-author a:hover {
	color: var(--gold-2) !important;
}
.tru-dark .post-head-time {
	font-family: var(--f-sans);
	font-size: 11.5px;
	color: var(--ink-3) !important;
	text-decoration: none !important;
	letter-spacing: 0.02em;
	margin-right: auto;
}
.tru-dark .post-head-time:hover {
	color: var(--gold) !important;
}

/* --- POST ACTIONS --- */
.tru-dark ul.post-actions {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}
.tru-dark ul.post-actions li {
	margin: 0;
}
.tru-dark ul.post-actions li a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--f-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-3) !important;
	background: transparent;
	border: 1px solid transparent;
	padding: 5px 9px;
	border-radius: 2px;
	text-decoration: none !important;
	transition: color 0.12s, border-color 0.12s, background 0.12s;
}
.tru-dark ul.post-actions li a:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3);
	background: rgba(201,169,97,0.05);
}
.tru-dark ul.post-actions li a.post-action-danger:hover {
	color: var(--red) !important;
	border-color: rgba(184,66,61,0.4);
	background: rgba(184,66,61,0.06);
}
.tru-dark ul.post-actions li a.post-action-mod {
	color: var(--ink-3) !important;
	opacity: 0.85;
}
.tru-dark ul.post-actions li a.post-action-mod:hover {
	opacity: 1;
}
.tru-dark ul.post-actions li a i.icon {
	font-size: 11px;
}

/* --- POST CONTENT --- */
.tru-dark .post-content {
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: var(--ink) !important;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.tru-dark .post-content p {
	margin: 0 0 14px 0 !important;
}
.tru-dark .post-content p:last-child {
	margin-bottom: 0 !important;
}
.tru-dark .post-content a {
	color: var(--gold) !important;
	text-decoration: none !important;
	border-bottom: 1px dotted var(--gold-3) !important;
	transition: color 0.12s, border-color 0.12s !important;
}
.tru-dark .post-content a:hover {
	color: var(--gold-2) !important;
	border-bottom-color: var(--gold-2) !important;
}
.tru-dark .post-content strong,
.tru-dark .post-content b {
	color: var(--ink) !important;
	font-weight: 700 !important;
}
.tru-dark .post-content em,
.tru-dark .post-content i {
	color: var(--ink) !important;
	font-style: italic !important;
}
.tru-dark .post-content blockquote,
.tru-dark .post-content .quotetitle,
.tru-dark .post-content .quotecontent {
	background: rgba(201,169,97,0.04) !important;
	border-left: 3px solid var(--gold-3) !important;
	border-right: none !important;
	border-top: none !important;
	border-bottom: none !important;
	border-radius: 0 !important;
	margin: 14px 0 !important;
	padding: 12px 16px !important;
	color: var(--ink-2) !important;
	font-family: var(--f-serif) !important;
	font-style: italic !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}
.tru-dark .post-content blockquote cite {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-style: normal !important;
	font-weight: 600 !important;
	font-size: 11px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin-bottom: 8px !important;
}
.tru-dark .post-content code,
.tru-dark .post-content .codebox {
	background: #18181c !important;
	border: 1px solid var(--line) !important;
	color: var(--ink) !important;
	font-family: 'Courier New', monospace !important;
	font-size: 13px !important;
	padding: 2px 6px !important;
	border-radius: 2px !important;
}
.tru-dark .post-content .codebox {
	display: block !important;
	padding: 12px 16px !important;
	margin: 14px 0 !important;
	overflow-x: auto !important;
}
.tru-dark .post-content ul,
.tru-dark .post-content ol {
	margin: 12px 0 14px 24px !important;
	padding: 0 !important;
}
.tru-dark .post-content li {
	margin-bottom: 6px !important;
	color: var(--ink) !important;
}
.tru-dark .post-content img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 2px !important;
	margin: 8px 0 !important;
}

/* --- POST META NOTICES (edited / deleted / bumped) --- */
.tru-dark .post-meta-notice {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-style: italic !important;
	color: var(--ink-3) !important;
	margin-top: 14px !important;
	padding: 8px 12px !important;
	border-left: 2px solid var(--line-2) !important;
	background: rgba(255,255,255,0.01) !important;
	letter-spacing: 0.02em !important;
}
.tru-dark .post-meta-notice strong {
	color: var(--ink-2) !important;
	font-style: normal !important;
	font-weight: 600 !important;
}
.tru-dark .post-meta-notice em {
	color: var(--ink-2) !important;
}
.tru-dark .post-meta-notice.deleted-notice {
	border-left-color: var(--red) !important;
}
.tru-dark .post-meta-notice.bumped-notice {
	border-left-color: var(--gold-3) !important;
}

/* --- POST NOTICES (unapproved / deleted / reported -- mod actions) --- */
.tru-dark .post-notice {
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 12px 16px !important;
	margin: 14px 0 !important;
	border-radius: 2px !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}
.tru-dark .post-notice.unapproved {
	background: rgba(201,169,97,0.06) !important;
	border: 1px solid var(--gold-3) !important;
	color: var(--gold-2) !important;
}
.tru-dark .post-notice.deleted {
	background: rgba(184,66,61,0.06) !important;
	border: 1px solid var(--red) !important;
	color: var(--red) !important;
}
.tru-dark .post-notice.reported {
	background: rgba(184,66,61,0.04) !important;
	border: 1px dashed var(--red) !important;
	color: var(--red) !important;
}
.tru-dark .post-notice.reported a {
	color: var(--red) !important;
	text-decoration: none !important;
}
.tru-dark .post-notice strong {
	font-weight: 600 !important;
}

/* --- POST HIDDEN (ignored / deleted) --- */
.tru-dark .post-hidden-notice {
	font-family: var(--f-serif) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-3) !important;
	background: rgba(255,255,255,0.02) !important;
	padding: 16px 20px !important;
	border: 1px dashed var(--line-2) !important;
	border-radius: 2px !important;
	text-align: center !important;
	margin: 12px 0 !important;
}
.tru-dark .post-hidden-notice .display_post {
	color: var(--gold) !important;
	margin-left: 8px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	text-decoration: none !important;
}
.tru-dark .post-hidden-notice .display_post:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* --- POST SIGNATURE --- */
.tru-dark .post-signature {
	margin-top: 22px !important;
	padding-top: 14px !important;
	border-top: 1px dashed var(--line) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	color: var(--ink-3) !important;
	line-height: 1.5 !important;
}
.tru-dark .post-signature a {
	color: var(--gold) !important;
}

/* --- ATTACHMENTS --- */
.tru-dark .attachbox {
	margin: 14px 0 !important;
	padding: 14px 16px !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
}
.tru-dark .attachbox dt {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin-bottom: 8px !important;
}
.tru-dark .attachbox dd {
	margin: 4px 0 !important;
	color: var(--ink-2) !important;
	font-size: 13px !important;
}
.tru-dark .attachbox dd a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark .attachbox dd a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* --- QUICK REPLY WRAPPER --- */
.tru-dark .quick-reply-wrap {
	margin: 24px 0 !important;
	padding: 22px 24px !important;
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-top: 2px solid var(--gold-3) !important;
	border-radius: 2px !important;
}
.tru-dark .quick-reply-wrap h3 {
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	margin: 0 0 14px 0 !important;
	letter-spacing: -0.005em !important;
}
.tru-dark .quick-reply-wrap textarea {
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	padding: 12px 14px !important;
	width: 100% !important;
	min-height: 120px !important;
	border-radius: 2px !important;
}
.tru-dark .quick-reply-wrap textarea:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* --- POLL PANEL --- */
.tru-dark .viewtopic-poll-panel {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-top: 2px solid var(--gold-3) !important;
	margin: 0 0 24px 0 !important;
	padding: 22px 24px !important;
	border-radius: 2px !important;
}
.tru-dark .viewtopic-poll-panel .poll-title {
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	margin: 0 0 8px 0 !important;
	letter-spacing: -0.005em !important;
}
.tru-dark .viewtopic-poll-panel .author {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	margin-bottom: 16px !important;
}
.tru-dark .viewtopic-poll-panel .pollbar {
	background: var(--gold) !important;
	height: 22px !important;
	color: #18120a !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 0 8px !important;
	line-height: 22px !important;
	border-radius: 2px !important;
}
.tru-dark .viewtopic-poll-panel .resultbar {
	color: var(--ink-2) !important;
}

/* ============================================================
   PRE-3183 LEGACY phpBB OVERRIDES
   These selectors target the original phpBB markup that still
   appears inside {postrow.MESSAGE} and around the edges of the
   new Phase 3 layout. Without these overrides the legacy 
   crimson .content (white bg) and .postbody styles bleed in.
   ============================================================ */

/* Disable legacy .postbody container styling -- our new .post-card / .post-body owns layout */
.tru-dark .postbody {
	background: transparent !important;
	color: inherit !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	width: auto !important;
	float: none !important;
}
.tru-dark .postbody h3,
.tru-dark .postbody h3.first,
.tru-dark .postbody h3 a,
.tru-dark .postbody h3.first a {
	display: none !important;
}
.tru-dark .postbody p.author {
	display: none !important;
}

/* Disable legacy .postprofile (left author column from original prosilver) */
.tru-dark .postprofile {
	display: none !important;
}

/* Disable the legacy white-bg .content div that wraps post bodies in old prosilver */
.tru-dark div.content,
.tru-dark .post div.content {
	background: transparent !important;
	color: var(--ink) !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
}

/* Hide the legacy back-to-top arrow that appears inside each .post */
.tru-dark .post .back2top,
.tru-dark .back2top {
	display: none !important;
}

/* Hide legacy stat blocks at the bottom of viewtopic.php */
.tru-dark .stat-block.online-list,
.tru-dark .stat-block.permissions,
.tru-dark .stat-block {
	display: none !important;
}

/* Hide legacy phpBB jumpbox -- topbar covers navigation */
.tru-dark #jumpbox,
.tru-dark form#jumpbox-form {
	display: none !important;
}

/* Hide legacy phpBB pagination block at top (we use our own .action-bar pagination) */
.tru-dark .post-buttons {
	display: none !important;
}

/* Reset any legacy crimson backgrounds inside the post container */
.tru-dark .post,
.tru-dark .post.bg1,
.tru-dark .post.bg2 {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .post-card.post-first {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}
	.tru-dark .post-card.post-first .post-author-panel {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		gap: 10px 14px !important;
		padding: 12px 16px !important;
		border-right: none !important;
		border-bottom: 1px solid var(--line) !important;
	}
	.tru-dark .post-author-stat {
		flex-direction: row !important;
		align-items: baseline !important;
		gap: 4px !important;
	}
	.tru-dark .post-card .post-body {
		padding: 16px !important;
	}
	.tru-dark .post-head {
		flex-wrap: wrap !important;
	}
	.tru-dark ul.post-actions span {
		display: none !important;
	}
	.tru-dark .viewtopic-title {
		font-size: 28px !important;
	}
	.tru-dark .login-prompt-inner {
		flex-direction: column !important;
		align-items: stretch !important;
		text-align: center !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 5 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 5 PATCH 1 ===== */
/* Post-Session-5 corrections from Ali feedback:
   1. Avatar on first-post author panel (real or default fallback)
   2. Single Watch toggle replaces Subscribe/Email/Print menu
   3. Action buttons (Reply, Post Review, etc) had grey text -- force dark
      text on gold buttons and white text on ghost buttons via !important
      with higher specificity to beat any inherited muted color */

/* --- POST AUTHOR AVATAR (first post only) --- */
.tru-dark .post-author-avatar {
	width: 84px;
	height: 84px;
	margin: 0 auto 14px auto;
	border-radius: 50%;
	overflow: hidden;
	background: var(--paper-3);
	border: 1px solid var(--gold-3);
	display: flex;
	align-items: center;
	justify-content: center;
}
.tru-dark .post-author-avatar a,
.tru-dark .post-author-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tru-dark .post-author-avatar img {
	border-radius: 50%;
}
.tru-dark .post-author-avatar-default {
	color: var(--ink-4);
	font-size: 56px;
	background: var(--paper-3);
}
.tru-dark .post-author-avatar-default i {
	line-height: 1;
}

/* --- WATCH TOGGLE BUTTON --- */
.tru-dark .tru-watch-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 9px 16px !important;
	background: transparent !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark .tru-watch-btn:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	background: rgba(201,169,97,0.04) !important;
}
.tru-dark .tru-watch-btn.watching {
	color: var(--gold) !important;
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
}
.tru-dark .tru-watch-btn.watching:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark .tru-watch-btn i {
	font-size: 12px !important;
}

/* --- BUTTON TEXT VISIBILITY FIX --- */
/* The .action-btn-primary rule sets color #18120a but it was being
   overridden by inherited muted ink-3 from action-bar context. Force
   the dark text on gold buttons everywhere with high specificity. */

.tru-dark .action-bar a.action-btn-primary,
.tru-dark .action-bar a.forum-search-btn.action-btn-primary,
.tru-dark a.action-btn-primary,
.tru-dark .login-prompt a.action-btn-primary,
.tru-dark .forum-search-btn.action-btn-primary {
	color: #18120a !important;
	background: var(--gold) !important;
	border: 1px solid var(--gold) !important;
	font-weight: 700 !important;
}
.tru-dark .action-bar a.action-btn-primary:hover,
.tru-dark a.action-btn-primary:hover,
.tru-dark .login-prompt a.action-btn-primary:hover,
.tru-dark .forum-search-btn.action-btn-primary:hover {
	color: #18120a !important;
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}

/* Ghost buttons (Sign In on login prompt etc) -- force gold-on-transparent */
.tru-dark .action-bar a.action-btn-ghost,
.tru-dark a.action-btn-ghost,
.tru-dark .login-prompt a.action-btn-ghost,
.tru-dark .forum-search-btn.action-btn-ghost {
	color: var(--gold) !important;
	background: transparent !important;
	border: 1px solid var(--gold-3) !important;
	font-weight: 600 !important;
}
.tru-dark .action-bar a.action-btn-ghost:hover,
.tru-dark a.action-btn-ghost:hover,
.tru-dark .login-prompt a.action-btn-ghost:hover,
.tru-dark .forum-search-btn.action-btn-ghost:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
}

/* Generic phpBB .button (used by Quick Reply submit, etc) -- ensure visible */
.tru-dark input[type="submit"].button1,
.tru-dark input[type="submit"].button2,
.tru-dark .button.button1,
.tru-dark .button.button2,
.tru-dark a.button {
	background: var(--gold) !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	padding: 8px 16px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	text-decoration: none !important;
}
.tru-dark input[type="submit"].button2,
.tru-dark .button.button2 {
	background: transparent !important;
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark input[type="submit"].button1:hover,
.tru-dark .button.button1:hover,
.tru-dark a.button:hover {
	background: var(--gold-2) !important;
	color: #18120a !important;
}
.tru-dark input[type="submit"].button2:hover,
.tru-dark .button.button2:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
}

/* --- OLD TOPIC-TOOLS DROPDOWN: hide if any leftover renders --- */
.tru-dark .topic-tools.dropdown-container,
.tru-dark .topic-tools .dropdown-trigger {
	display: none !important;
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 5 PATCH 1 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSIONS 6+7 (memberlist + profile) ===== */
/* Members directory + member profile pages.
   Per Ali: NO filter chips, NO column headers, NO right-stats, NO 4-stat cards on profile,
   NO at-a-glance KV list, NO badges chip stack. Just clean rows with alphabet jumpbar
   and a minimal profile masthead. */

/* --- MEMBERLIST MASTHEAD --- */
.tru-dark .memberlist-masthead {
	padding: 28px 0 22px 0;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--gold-3);
}
.tru-dark .memberlist-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 56px !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 !important;
}

/* --- ALPHABET JUMPBAR --- */
.tru-dark .memberlist-controls {
	margin-bottom: 22px;
}
.tru-dark .memberlist-form {
	margin: 0;
	padding: 0;
	background: transparent;
	border: none;
}
.tru-dark .memberlist-alphabet {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tru-dark .memberlist-alphabet .alpha-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--ink-2);
	text-decoration: none;
	border-radius: 2px;
	transition: color 0.12s, background 0.12s;
}
.tru-dark .memberlist-alphabet .alpha-link:hover {
	color: var(--gold);
	background: rgba(201,169,97,0.08);
}
.tru-dark .memberlist-alphabet .alpha-all {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--gold);
	margin-right: 6px;
	padding-right: 12px;
	border-right: 1px solid var(--line);
}

/* --- MEMBER ROWS --- */
.tru-dark .memberlist-rows {
	margin: 0 0 22px 0;
}
.tru-dark .member-row {
	display: grid;
	grid-template-columns: 48px 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 14px 4px;
	border-bottom: 1px solid var(--line);
	text-decoration: none;
	transition: background 0.12s;
}
.tru-dark .member-row:hover {
	background: rgba(255,255,255,0.015);
}
.tru-dark .member-initial {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--paper-3);
	border: 1px solid var(--line-2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--f-serif);
	font-size: 16px;
	font-weight: 400;
	color: var(--ink-2);
	letter-spacing: 0;
}
.tru-dark .member-initial-leader {
	border-color: var(--gold);
	color: var(--gold);
	background: rgba(201,169,97,0.06);
}
.tru-dark .member-handle {
	font-family: var(--f-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--gold);
}
.tru-dark .member-row:hover .member-handle {
	color: var(--gold-2);
}
.tru-dark .member-rank {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-3);
	padding: 4px 10px;
	border: 1px solid var(--line-2);
	border-radius: 2px;
	white-space: nowrap;
}
.tru-dark .member-rank-empty {
	border: none;
	padding: 0;
}
.tru-dark .memberlist-empty {
	padding: 40px 20px;
	text-align: center;
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 16px;
	color: var(--ink-3);
}

/* --- MEMBERLIST PAGINATION --- */
.tru-dark .memberlist-pagination {
	margin: 22px 0;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	display: flex;
	justify-content: center;
}
.tru-dark .memberlist-pagination .pagination {
	margin: 0;
	padding: 0;
}
.tru-dark .memberlist-pagination .pagination li {
	list-style: none !important;
}
.tru-dark .memberlist-pagination .pagination ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	gap: 4px;
	align-items: center;
}
.tru-dark .memberlist-pagination .pagination li a,
.tru-dark .memberlist-pagination .pagination li span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 32px !important;
	height: 32px !important;
	padding: 0 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ink-2) !important;
	background: transparent !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	text-decoration: none !important;
}
.tru-dark .memberlist-pagination .pagination li a:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .memberlist-pagination .pagination li.active span,
.tru-dark .memberlist-pagination .pagination li.active a {
	color: #18120a !important;
	background: var(--gold) !important;
	border-color: var(--gold) !important;
}

/* --- PROFILE PAGE MASTHEAD --- */
.tru-dark .profile-masthead {
	padding: 28px 0 18px 0;
	margin-bottom: 18px;
	border-bottom: 1px solid var(--gold-3);
	text-align: center;
}
.tru-dark .profile-masthead .forum-masthead-kicker {
	text-align: center;
}
.tru-dark .profile-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 56px !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 !important;
	text-align: center !important;
}
.tru-dark .profile-rank {
	margin-top: 14px;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold);
}
.tru-dark .profile-from {
	margin-top: 6px;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 15px;
	color: var(--ink-3);
	letter-spacing: 0.02em;
}

/* --- PROFILE INITIAL TILE --- */
.tru-dark .profile-initial-wrap {
	display: flex;
	justify-content: center;
	margin: 28px 0 32px 0;
}
.tru-dark .profile-initial {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	background: var(--paper-3);
	border: 1px solid var(--line-2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--f-serif);
	font-weight: 400;
	font-size: 56px;
	color: var(--ink-2);
	letter-spacing: 0;
}
.tru-dark .profile-initial-leader {
	border-color: var(--gold);
	color: var(--gold);
	background: rgba(201,169,97,0.06);
}

/* --- PROFILE MOD ACTIONS --- */
.tru-dark .profile-mod-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0 0 32px 0;
	padding: 16px 0;
	border-top: 1px dashed var(--line);
	border-bottom: 1px dashed var(--line);
}

/* --- LEGACY phpBB profile element overrides (just in case) --- */
.tru-dark .panel.profile-info,
.tru-dark .panel.bio,
.tru-dark dl.left-box.details,
.tru-dark .stat-block.online-list {
	display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .memberlist-title {
		font-size: 38px !important;
	}
	.tru-dark .memberlist-alphabet .alpha-link {
		min-width: 26px !important;
		font-size: 11px !important;
		padding: 0 4px !important;
	}
	.tru-dark .member-row {
		grid-template-columns: 40px 1fr;
		gap: 12px;
	}
	.tru-dark .member-rank {
		grid-column: 2;
		justify-self: start;
		margin-top: 4px;
	}
	.tru-dark .profile-title {
		font-size: 38px !important;
	}
	.tru-dark .profile-initial {
		width: 88px !important;
		height: 88px !important;
		font-size: 40px !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSIONS 6+7 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSIONS 6+7 PATCH 1 ===== */
/* Fixes: pagination markup mismatch (was looking for inner .pagination wrapper
   that doesn't exist in pagination.html), plus new profile-links / activity /
   admin-actions sections. Per Ali: hide the Switch button (admin footgun) and
   add real content to the profile (post count link, most active forum/thread,
   send PM link, edit profile if own). */

/* --- PAGINATION FIX --- */
/* Pagination renders as <ul><li class="active"><span>1</span></li><li><a class="button">2</a></li>...
   Selector chain needs to match the actual ul/li/a/span structure, not an imagined
   .pagination wrapper. */
.tru-dark .memberlist-pagination > ul,
.tru-dark .memberlist-pagination ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	gap: 4px !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: wrap !important;
}
.tru-dark .memberlist-pagination li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark .memberlist-pagination li::before,
.tru-dark .memberlist-pagination li::marker {
	content: none !important;
	display: none !important;
}
.tru-dark .memberlist-pagination li a,
.tru-dark .memberlist-pagination li span,
.tru-dark .memberlist-pagination li a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 32px !important;
	height: 32px !important;
	padding: 0 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--ink-2) !important;
	background: transparent !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
.tru-dark .memberlist-pagination li a:hover,
.tru-dark .memberlist-pagination li a.button:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	background: rgba(201,169,97,0.04) !important;
}
.tru-dark .memberlist-pagination li.active span,
.tru-dark .memberlist-pagination li.active {
	color: #18120a !important;
	background: var(--gold) !important;
	border-color: var(--gold) !important;
}
.tru-dark .memberlist-pagination li.ellipsis span {
	color: var(--ink-3) !important;
	border: none !important;
	background: transparent !important;
}
.tru-dark .memberlist-pagination li.arrow a {
	color: var(--ink-2) !important;
}
.tru-dark .memberlist-pagination li.dropdown-container {
	display: none !important;
}

/* --- PROFILE LINKS BAR --- */
.tru-dark .profile-links {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin: 0 auto 32px auto;
	max-width: 800px;
	flex-wrap: wrap;
}
.tru-dark .profile-link {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold);
	text-decoration: none;
	padding: 9px 16px;
	border: 1px solid var(--gold-3);
	border-radius: 2px;
	background: transparent;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
}
.tru-dark .profile-link:hover {
	color: var(--gold-2);
	border-color: var(--gold);
	background: rgba(201,169,97,0.08);
}

/* --- PROFILE ACTIVITY (most active forum, most active thread) --- */
.tru-dark .profile-activity {
	max-width: 760px;
	margin: 0 auto 32px auto;
	padding: 22px 28px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-top: 2px solid var(--gold-3);
	border-radius: 2px;
}
.tru-dark .profile-activity-row {
	display: grid;
	grid-template-columns: 180px 1fr;
	align-items: baseline;
	gap: 18px;
	padding: 12px 0;
	border-bottom: 1px dashed var(--line);
}
.tru-dark .profile-activity-row:last-child {
	border-bottom: none;
}
.tru-dark .profile-activity-label {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .profile-activity-link {
	font-family: var(--f-serif);
	font-size: 18px;
	color: var(--gold);
	text-decoration: none;
	letter-spacing: -0.005em;
}
.tru-dark .profile-activity-link:hover {
	color: var(--gold-2);
	text-decoration: underline;
}

/* --- ADMIN ACTIONS (lone discrete link, no big buttons) --- */
.tru-dark .profile-admin-actions {
	max-width: 760px;
	margin: 0 auto 32px auto;
	padding: 14px 0;
	border-top: 1px dashed var(--line);
	text-align: center;
}
.tru-dark .profile-admin-link {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-3);
	text-decoration: none;
}
.tru-dark .profile-admin-link:hover {
	color: var(--gold);
}

/* Hide old profile-mod-actions block from previous version (Switch button was footgun) */
.tru-dark .profile-mod-actions {
	display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .profile-links {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}
	.tru-dark .profile-link {
		text-align: center;
	}
	.tru-dark .profile-activity-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.tru-dark .profile-activity-link {
		font-size: 16px !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSIONS 6+7 PATCH 1 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 8 (posting_layout) ===== */
/* The composer (post / reply / new topic / PM / edit). Editorial masthead at
   top, then a structured editor with restyled subject input, BBCode toolbar,
   message textarea, options panel, and gold submit row. Per Ali deferred:
   the structured [review] BBCode rating widget ships in Phase 4 alongside the
   ACP BBCode install. */

/* --- COMPOSER MASTHEAD --- */
.tru-dark .posting-masthead {
	padding: 28px 0 22px 0;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--gold-3);
}
.tru-dark .posting-masthead .forum-masthead-kicker a {
	color: var(--gold) !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
}
.tru-dark .posting-masthead .forum-masthead-kicker a:hover {
	color: var(--gold-2) !important;
}
.tru-dark .posting-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 56px !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 !important;
}
.tru-dark .posting-tagline {
	margin-top: 10px;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 16px;
	color: var(--ink-3);
	letter-spacing: 0.01em;
	max-width: 720px;
}

/* --- FORUM RULES PANEL --- */
.tru-dark .posting-rules {
	margin: 0 0 22px 0;
	padding: 16px 20px;
	background: rgba(201,169,97,0.04);
	border-left: 2px solid var(--gold-3);
	border-radius: 0 2px 2px 0;
}
.tru-dark .posting-rules-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 6px;
}
.tru-dark .posting-rules-link {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 15px;
}
.tru-dark .posting-rules-link:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark .posting-rules-body {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 14px;
	color: var(--ink-2);
	line-height: 1.6;
}

/* --- DRAFT LOADED NOTICE --- */
.tru-dark .posting-draft-notice {
	margin: 0 0 22px 0;
	padding: 14px 20px;
	background: rgba(107,142,90,0.06);
	border-left: 2px solid var(--green);
	border-radius: 0 2px 2px 0;
}
.tru-dark .posting-draft-notice-label {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--green);
	margin-bottom: 4px;
}
.tru-dark .posting-draft-notice-body {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 14px;
	color: var(--ink-2);
}

/* --- PREVIEW PANEL --- */
.tru-dark .posting-preview-wrap {
	margin: 0 0 32px 0;
	padding: 24px 28px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-top: 2px solid var(--gold);
	border-radius: 2px;
}
.tru-dark .posting-preview-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 16px;
}
.tru-dark .posting-preview-wrap .post {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark .posting-preview-wrap .post .inner {
	padding: 0 !important;
}
.tru-dark .posting-preview-wrap .postbody h3 {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 26px !important;
	color: var(--ink) !important;
	margin: 0 0 12px 0 !important;
	letter-spacing: -0.005em !important;
}
.tru-dark .posting-preview-wrap hr {
	display: none !important;
}

/* --- EDITOR WRAPPER --- */
.tru-dark .posting-editor-wrap {
	margin: 0 0 22px 0;
	padding: 24px 28px;
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 2px;
}

/* Hide the legacy "Compose" h3 inside the editor since our masthead replaces it */
.tru-dark .posting-editor-wrap h3:first-child,
.tru-dark .panel#postingbox h3 {
	display: none !important;
}

/* --- SUBJECT INPUT --- */
.tru-dark .posting-editor-wrap input[type="text"]#subject {
	width: 100% !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	padding: 12px 16px !important;
	border-radius: 2px !important;
	transition: border-color 0.15s !important;
}
.tru-dark .posting-editor-wrap input[type="text"]#subject:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .posting-editor-wrap input[type="text"]#subject::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* --- ALL OTHER INPUTBOX FIELDS (username, edit reason, time limit) --- */
.tru-dark .posting-editor-wrap input.inputbox,
.tru-dark .posting-editor-wrap input[type="text"]:not(#subject),
.tru-dark .posting-editor-wrap input[type="number"],
.tru-dark .posting-editor-wrap select.inputbox,
.tru-dark .posting-editor-wrap select {
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 8px 12px !important;
	border-radius: 2px !important;
}
.tru-dark .posting-editor-wrap input.inputbox:focus,
.tru-dark .posting-editor-wrap input[type="text"]:focus,
.tru-dark .posting-editor-wrap input[type="number"]:focus,
.tru-dark .posting-editor-wrap select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* --- BBCODE FORMAT TOOLBAR --- */
.tru-dark .posting-editor-wrap #format-buttons,
.tru-dark .posting-editor-wrap .format-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
	padding: 8px 10px !important;
	background: var(--paper-3) !important;
	border: 1px solid var(--line-2) !important;
	border-bottom: none !important;
	border-radius: 2px 2px 0 0 !important;
	margin-bottom: 0 !important;
}
.tru-dark .posting-editor-wrap #format-buttons input.button,
.tru-dark .posting-editor-wrap .format-buttons input.button,
.tru-dark .posting-editor-wrap #format-buttons select,
.tru-dark .posting-editor-wrap .format-buttons select {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: var(--ink-2) !important;
	font-family: 'Courier New', monospace !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 5px 9px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 32px !important;
	transition: color 0.12s, background 0.12s !important;
}
.tru-dark .posting-editor-wrap #format-buttons input.button:hover,
.tru-dark .posting-editor-wrap .format-buttons input.button:hover {
	color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .posting-editor-wrap #colour_palette {
	margin: 6px 0 !important;
}

/* --- MESSAGE TEXTAREA --- */
.tru-dark .posting-editor-wrap #message-box,
.tru-dark .posting-editor-wrap .message-box {
	margin: 0 !important;
}
.tru-dark .posting-editor-wrap textarea#message,
.tru-dark .posting-editor-wrap textarea[name="message"],
.tru-dark .posting-editor-wrap textarea[name="signature"] {
	width: 100% !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	padding: 16px 18px !important;
	border-radius: 0 0 2px 2px !important;
	min-height: 280px !important;
	resize: vertical !important;
	transition: border-color 0.15s !important;
}
.tru-dark .posting-editor-wrap textarea#message:focus,
.tru-dark .posting-editor-wrap textarea[name="message"]:focus,
.tru-dark .posting-editor-wrap textarea[name="signature"]:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* --- SMILEY BOX (collapsible side panel of emoji-like icons) --- */
.tru-dark .posting-editor-wrap .smiley-box {
	display: none !important;
}

/* --- SUBMIT ROW (Preview / Save Draft / Submit / Cancel / Load Draft) --- */
.tru-dark .posting-editor-wrap .submit-buttons,
.tru-dark .posting-editor-wrap .panel .submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 22px 0 14px 0 !important;
	padding: 18px 0 0 0 !important;
	border-top: 1px solid var(--line) !important;
	justify-content: flex-end !important;
}
.tru-dark .posting-editor-wrap input[type="submit"][name="post"],
.tru-dark .posting-editor-wrap input.button1[name="post"],
.tru-dark .posting-editor-wrap input.default-submit-action {
	background: var(--gold) !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
}
.tru-dark .posting-editor-wrap input[type="submit"][name="post"]:hover,
.tru-dark .posting-editor-wrap input.default-submit-action:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark .posting-editor-wrap input[type="submit"][name="preview"],
.tru-dark .posting-editor-wrap input[type="submit"][name="save"],
.tru-dark .posting-editor-wrap input[type="submit"][name="load"],
.tru-dark .posting-editor-wrap input[type="submit"][name="cancel"],
.tru-dark .posting-editor-wrap input[type="submit"][name="delete"] {
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark .posting-editor-wrap input[type="submit"][name="preview"]:hover,
.tru-dark .posting-editor-wrap input[type="submit"][name="save"]:hover,
.tru-dark .posting-editor-wrap input[type="submit"][name="load"]:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
}
.tru-dark .posting-editor-wrap input[type="submit"][name="cancel"]:hover,
.tru-dark .posting-editor-wrap input[type="submit"][name="delete"]:hover {
	color: var(--red) !important;
	border-color: var(--red) !important;
	background: rgba(184,66,61,0.06) !important;
}

/* --- OPTIONS PANEL (BBCode/smilies/notify/lock checkboxes) --- */
.tru-dark .posting-editor-wrap fieldset.fields1,
.tru-dark .posting-editor-wrap fieldset.fields2,
.tru-dark .posting-editor-wrap fieldset {
	background: transparent !important;
	border: none !important;
	border-top: 1px dashed var(--line) !important;
	margin: 22px 0 0 0 !important;
	padding: 18px 0 0 0 !important;
}
.tru-dark .posting-editor-wrap fieldset legend {
	display: none !important;
}
.tru-dark .posting-editor-wrap dl {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 14px !important;
	margin: 8px 0 !important;
	padding: 0 !important;
}
.tru-dark .posting-editor-wrap dl dt {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	color: var(--ink-3) !important;
	margin: 0 !important;
	min-width: 140px !important;
}
.tru-dark .posting-editor-wrap dl dd {
	margin: 0 !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
}
.tru-dark .posting-editor-wrap dl dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin-right: 14px !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
}
.tru-dark .posting-editor-wrap input[type="checkbox"],
.tru-dark .posting-editor-wrap input[type="radio"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
}

/* --- TOPIC ICONS (radio row of icon images) --- */
.tru-dark .posting-editor-wrap .topic-icon-list {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

/* --- DRAFTS LIST --- */
.tru-dark .drafts-list {
	margin: 0 0 22px 0;
}
.tru-dark .drafts-list h3 {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}

/* --- LEGACY phpBB POSTING OVERRIDES --- */
.tru-dark .posting-editor-wrap .panel,
.tru-dark .posting-editor-wrap .inner {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark .panel#postingbox {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark .panel#postingbox .inner {
	padding: 0 !important;
}

/* Kill legacy posting page h2 (we use our own masthead now) */
.tru-dark .posting-title.h2,
.tru-dark h2.posting-title:not(.forum-masthead-title) {
	display: none !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .posting-title {
		font-size: 38px !important;
	}
	.tru-dark .posting-editor-wrap {
		padding: 16px 16px !important;
	}
	.tru-dark .posting-editor-wrap input[type="text"]#subject {
		font-size: 18px !important;
	}
	.tru-dark .posting-editor-wrap textarea#message,
	.tru-dark .posting-editor-wrap textarea[name="message"] {
		font-size: 14px !important;
		min-height: 220px !important;
	}
	.tru-dark .posting-editor-wrap .submit-buttons {
		flex-direction: column !important;
	}
	.tru-dark .posting-editor-wrap input[type="submit"] {
		width: 100% !important;
	}
	.tru-dark .posting-editor-wrap dl {
		flex-direction: column !important;
		gap: 6px !important;
	}
	.tru-dark .posting-editor-wrap dl dt {
		min-width: auto !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 8 ===== */

/* ===== BEGIN TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 8 PATCH 1 ===== */
/* The minimal-change posting_layout.html keeps the original <div class="panel">
   <div class="inner"> wrappers around the editor. We need to alias all the
   .posting-editor-wrap styles onto .panel#postingbox > .inner so the editor
   inside the original wrapper gets the same gold-bordered chrome. Also dark-
   bg the wrapper itself since it inherits a white panel background. */

/* The outermost panel = our editor card */
.tru-dark .panel#postingbox {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
}
.tru-dark .panel#postingbox > .inner {
	background: transparent !important;
	border: none !important;
	padding: 24px 28px !important;
}

/* Hide the legacy "Compose new" / "Reply" h3 since we have a masthead */
.tru-dark .panel#postingbox > .inner > h3:first-child {
	display: none !important;
}

/* SUBJECT input -- big serif headline */
.tru-dark .panel#postingbox input[type="text"]#subject {
	width: 100% !important;
	box-sizing: border-box !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	padding: 12px 16px !important;
	border-radius: 2px !important;
	transition: border-color 0.15s !important;
}
.tru-dark .panel#postingbox input[type="text"]#subject:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* Other inputs -- username, edit reason, time limit */
.tru-dark .panel#postingbox input.inputbox:not(#subject),
.tru-dark .panel#postingbox input[type="text"]:not(#subject),
.tru-dark .panel#postingbox input[type="number"],
.tru-dark .panel#postingbox select.inputbox,
.tru-dark .panel#postingbox select {
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 8px 12px !important;
	border-radius: 2px !important;
}
.tru-dark .panel#postingbox input.inputbox:focus,
.tru-dark .panel#postingbox input[type="text"]:focus,
.tru-dark .panel#postingbox input[type="number"]:focus,
.tru-dark .panel#postingbox select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* BBCode format toolbar */
.tru-dark .panel#postingbox #format-buttons,
.tru-dark .panel#postingbox .format-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px !important;
	padding: 8px 10px !important;
	background: var(--paper-3) !important;
	border: 1px solid var(--line-2) !important;
	border-bottom: none !important;
	border-radius: 2px 2px 0 0 !important;
	margin: 14px 0 0 0 !important;
}
.tru-dark .panel#postingbox #format-buttons input.button,
.tru-dark .panel#postingbox .format-buttons input.button,
.tru-dark .panel#postingbox #format-buttons select,
.tru-dark .panel#postingbox .format-buttons select {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: var(--ink-2) !important;
	font-family: 'Courier New', monospace !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 5px 9px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 32px !important;
	transition: color 0.12s, background 0.12s !important;
}
.tru-dark .panel#postingbox #format-buttons input.button:hover,
.tru-dark .panel#postingbox .format-buttons input.button:hover {
	color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
	border-color: var(--gold-3) !important;
}

/* Message textarea */
.tru-dark .panel#postingbox #message-box,
.tru-dark .panel#postingbox .message-box {
	margin: 0 !important;
}
.tru-dark .panel#postingbox textarea#message,
.tru-dark .panel#postingbox textarea[name="message"] {
	width: 100% !important;
	box-sizing: border-box !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	padding: 16px 18px !important;
	border-radius: 0 0 2px 2px !important;
	min-height: 280px !important;
	resize: vertical !important;
	transition: border-color 0.15s !important;
}
.tru-dark .panel#postingbox textarea#message:focus,
.tru-dark .panel#postingbox textarea[name="message"]:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* Smiley box -- hide */
.tru-dark .panel#postingbox .smiley-box {
	display: none !important;
}

/* BBCode info text (BBCode is ON, [img] is ON, etc.) */
.tru-dark .panel#postingbox .message-box,
.tru-dark .panel#postingbox dl.fields1 {
	color: var(--ink-3) !important;
}
.tru-dark .panel#postingbox dt label,
.tru-dark .panel#postingbox dt {
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
}

/* Submit row -- "POST" gold-fill, others gold-bordered ghosts */
.tru-dark .panel#postingbox .submit-buttons,
.tru-dark .panel#postingbox div.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 22px 0 14px 0 !important;
	padding: 18px 0 0 0 !important;
	border-top: 1px solid var(--line) !important;
	justify-content: flex-end !important;
}
.tru-dark .panel#postingbox input[type="submit"][name="post"],
.tru-dark .panel#postingbox input.button1[name="post"],
.tru-dark .panel#postingbox input.default-submit-action {
	background: var(--gold) !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	transition: background 0.15s !important;
}
.tru-dark .panel#postingbox input[type="submit"][name="post"]:hover,
.tru-dark .panel#postingbox input.default-submit-action:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark .panel#postingbox input[type="submit"][name="preview"],
.tru-dark .panel#postingbox input[type="submit"][name="save"],
.tru-dark .panel#postingbox input[type="submit"][name="load"],
.tru-dark .panel#postingbox input[type="submit"][name="cancel"],
.tru-dark .panel#postingbox input[type="submit"][name="delete"] {
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark .panel#postingbox input[type="submit"][name="preview"]:hover,
.tru-dark .panel#postingbox input[type="submit"][name="save"]:hover,
.tru-dark .panel#postingbox input[type="submit"][name="load"]:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: rgba(201,169,97,0.08) !important;
}
.tru-dark .panel#postingbox input[type="submit"][name="cancel"]:hover,
.tru-dark .panel#postingbox input[type="submit"][name="delete"]:hover {
	color: var(--red) !important;
	border-color: var(--red) !important;
	background: rgba(184,66,61,0.06) !important;
}

/* Options panel and tabs (BBCode/smilies/notify checkboxes + Attachments tab) */
.tru-dark .tabs-container {
	background: transparent !important;
	margin-top: 22px !important;
}
.tru-dark .tabs-container .tabs {
	background: transparent !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark .tabs-container .tabs li {
	background: transparent !important;
}
.tru-dark .tabs-container .tabs a {
	background: transparent !important;
	color: var(--ink-3) !important;
	border: none !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 12px 20px !important;
	border-bottom: 2px solid transparent !important;
}
.tru-dark .tabs-container .tabs a:hover {
	color: var(--gold) !important;
}
.tru-dark .tabs-container .tabs li.activetab a {
	color: var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
}
.tru-dark .panel.bg2,
.tru-dark .post.bg2,
.tru-dark .post.bg1,
.tru-dark .panel.bg1 {
	background: var(--paper) !important;
}
.tru-dark fieldset.fields1,
.tru-dark fieldset.fields2 {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
}
.tru-dark fieldset legend {
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
}
.tru-dark input[type="checkbox"],
.tru-dark input[type="radio"] {
	accent-color: var(--gold) !important;
}

/* Topic icons row */
.tru-dark .topic-icon-list,
.tru-dark dl.topic-icons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	background: transparent !important;
}

/* Topic Icon and Subject labels */
.tru-dark dt label[for="icon"],
.tru-dark dt label[for="subject"],
.tru-dark dt label,
.tru-dark .panel dt label {
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

/* Page body main panel for posting page */
.tru-dark #page-body .panel:not(#postingbox) {
	background: var(--paper) !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	padding: 0 !important;
}
.tru-dark #page-body .panel:not(#postingbox) .inner {
	background: transparent !important;
	padding: 24px 28px !important;
}
.tru-dark #page-body .panel h3 {
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
}

/* Posting masthead spacing for the minimal template */
.tru-dark .posting-masthead {
	padding: 28px 0 22px 0 !important;
	margin-bottom: 22px !important;
	border-bottom: 1px solid var(--gold-3) !important;
}
.tru-dark .posting-masthead-kicker {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}
.tru-dark .posting-masthead h2.posting-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 56px !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
	color: var(--ink) !important;
	margin: 0 !important;
}
.tru-dark .posting-masthead h2.posting-title a {
	color: var(--ink) !important;
	text-decoration: none !important;
}
.tru-dark .posting-masthead h2.posting-title a:hover {
	color: var(--gold) !important;
}
.tru-dark .posting-masthead .posting-tagline {
	margin-top: 10px;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 16px;
	color: var(--ink-3);
	letter-spacing: 0.01em;
	max-width: 720px;
}

/* Mobile */
@media (max-width: 720px) {
	.tru-dark .posting-masthead h2.posting-title {
		font-size: 38px !important;
	}
	.tru-dark .panel#postingbox > .inner {
		padding: 16px 16px !important;
	}
	.tru-dark .panel#postingbox input[type="text"]#subject {
		font-size: 18px !important;
	}
	.tru-dark .panel#postingbox textarea#message {
		font-size: 14px !important;
		min-height: 220px !important;
	}
	.tru-dark .panel#postingbox .submit-buttons {
		flex-direction: column !important;
	}
	.tru-dark .panel#postingbox input[type="submit"] {
		width: 100% !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 8 PATCH 1 ===== */

/* ===================================================================== */
/* ===== TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 ============= */
/* ===== Search Results page restyle (My Posts / Find Posts)      ===== */
/* ===================================================================== */

/* --- MASTHEAD: search results variant tweaks --- */
.tru-dark .search-results-masthead {
	margin-bottom: 18px !important;
}
.tru-dark .search-results-masthead .forum-masthead-title a {
	color: var(--ink) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	padding-bottom: 2px !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark .search-results-masthead .forum-masthead-title a:hover {
	color: var(--gold) !important;
	border-color: var(--gold) !important;
}
.tru-dark .search-results-masthead .forum-masthead-tag {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	color: var(--ink-3) !important;
	margin: 8px 0 0 !important;
	font-size: 14px !important;
}
.tru-dark .search-results-masthead .forum-masthead-tag strong {
	color: var(--ink-2) !important;
	font-weight: 600 !important;
	font-style: normal !important;
}
.tru-dark .search-results-back {
	margin: 14px 0 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}
.tru-dark .search-results-back a {
	color: var(--gold) !important;
	text-decoration: none !important;
	border: 1px solid var(--gold-3) !important;
	padding: 6px 12px !important;
	border-radius: 2px !important;
	display: inline-block !important;
	transition: background 0.15s, color 0.15s !important;
}
.tru-dark .search-results-back a:hover {
	background: var(--gold) !important;
	color: #18120a !important;
	border-color: var(--gold) !important;
}

/* --- ACTION BAR: results count + page indicator --- */
.tru-dark .search-results-count,
.tru-dark .search-results-page {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	white-space: nowrap !important;
}
.tru-dark .action-bar .search-results-count {
	margin-right: 4px !important;
	padding-right: 12px !important;
	border-right: 1px solid var(--line) !important;
}
.tru-dark .action-bar.bar-bottom .action-bar-right .search-results-count:only-child,
.tru-dark .action-bar.bar-top .action-bar-right .search-results-count:only-child {
	border-right: none !important;
	padding-right: 0 !important;
	margin-right: 0 !important;
}

/* Inline search-in-results form sits in the action-bar */
.tru-dark .action-bar.bar-top .forum-search {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	max-width: 360px !important;
	width: 100% !important;
}
.tru-dark .action-bar.bar-top .forum-search input[type="search"] {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	padding: 9px 12px !important;
	background: var(--paper-2) !important;
	border: 1px solid var(--line-2) !important;
	border-right: none !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	border-radius: 2px 0 0 2px !important;
	outline: none !important;
	transition: border-color 0.15s !important;
}
.tru-dark .action-bar.bar-top .forum-search input[type="search"]:focus {
	border-color: var(--gold-3) !important;
}
.tru-dark .action-bar.bar-top .forum-search .forum-search-btn {
	flex: 0 0 auto !important;
	border-radius: 0 2px 2px 0 !important;
	margin: 0 !important;
}

/* --- THREAD ROWS in search context: reuse viewforum styles, slight tighten --- */
.tru-dark .search-thread-list {
	margin: 8px 0 0 !important;
}

/* --- POST-MODE CARDS (when results show individual posts, not topics) --- */
.tru-dark .search-post-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	margin: 8px 0 24px !important;
}
.tru-dark .search-post-card {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	padding: 22px 26px !important;
	transition: border-color 0.15s, box-shadow 0.15s !important;
}
.tru-dark .search-post-card:hover {
	border-color: var(--gold-3) !important;
	box-shadow: 0 1px 0 rgba(201,169,97,0.15) !important;
}
.tru-dark .search-post-card.reported {
	border-left: 3px solid #c43a3a !important;
}
.tru-dark .search-post-head {
	margin: 0 0 14px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark .search-post-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 6px !important;
}
.tru-dark .search-post-title a {
	color: var(--ink) !important;
	text-decoration: none !important;
}
.tru-dark .search-post-title a:hover {
	color: var(--gold) !important;
}
.tru-dark .search-post-meta {
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.01em !important;
	line-height: 1.6 !important;
}
.tru-dark .search-post-meta a {
	color: var(--ink-2) !important;
	text-decoration: none !important;
	border-bottom: 1px dotted var(--line-2) !important;
}
.tru-dark .search-post-meta a:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .search-post-meta .dot {
	color: var(--ink-4, var(--ink-3)) !important;
	margin: 0 6px !important;
	opacity: 0.6 !important;
}
.tru-dark .search-post-body {
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	color: var(--ink-2) !important;
	max-height: 240px !important;
	overflow: hidden !important;
	position: relative !important;
	margin: 0 !important;
}
.tru-dark .search-post-body::after {
	content: "" !important;
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 60px !important;
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, var(--paper) 100%) !important;
	pointer-events: none !important;
}
.tru-dark .search-post-body.ignored {
	font-style: italic !important;
	color: var(--ink-3) !important;
	max-height: none !important;
}
.tru-dark .search-post-body.ignored::after {
	display: none !important;
}
.tru-dark .search-post-body p {
	margin: 0 0 12px !important;
}
.tru-dark .search-post-body img {
	max-width: 100% !important;
	height: auto !important;
}
.tru-dark .search-post-body blockquote {
	border-left: 3px solid var(--gold-3) !important;
	padding: 4px 0 4px 14px !important;
	margin: 10px 0 !important;
	color: var(--ink-3) !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
}
.tru-dark .search-post-foot {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 14px !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 16px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid var(--line) !important;
}
.tru-dark .search-post-stats {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
}

/* --- Sort form lives in bar-bottom action-bar-left --- */
.tru-dark .action-bar.bar-bottom .sort-form {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	align-items: center !important;
}
.tru-dark .action-bar.bar-bottom .sort-form select,
.tru-dark .action-bar.bar-bottom .sort-form input.button2 {
	background: var(--paper-2) !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	padding: 6px 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
}
.tru-dark .action-bar.bar-bottom .sort-form select:hover,
.tru-dark .action-bar.bar-bottom .sort-form select:focus {
	border-color: var(--gold-3) !important;
	outline: none !important;
}
.tru-dark .action-bar.bar-bottom .sort-form input.button2 {
	background: transparent !important;
	color: var(--gold) !important;
	cursor: pointer !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
}
.tru-dark .action-bar.bar-bottom .sort-form input.button2:hover {
	background: var(--gold) !important;
	color: #18120a !important;
	border-color: var(--gold) !important;
}

/* --- MOBILE --- */
@media (max-width: 720px) {
	.tru-dark .search-post-card {
		padding: 16px 16px !important;
	}
	.tru-dark .search-post-title {
		font-size: 19px !important;
	}
	.tru-dark .search-post-body {
		font-size: 13px !important;
		max-height: 200px !important;
	}
	.tru-dark .search-post-foot {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
	}
	.tru-dark .action-bar.bar-top .forum-search {
		max-width: 100% !important;
	}
	.tru-dark .search-post-meta .dot {
		margin: 0 4px !important;
	}
}

/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 ===== */

/* ===== TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 PATCH 1 ===== */
/* Hammer override: nuke crimson bleed on the search post card title.
   Root cause: line 1990 `#page-body h3` (id selector, !important) paints
   every h3 inside #page-body with a crimson gradient. Beat it by using
   `#page-body` prefix on every selector here so specificity wins. */
.tru-dark #page-body article.search-post-card,
.tru-dark #page-body article.search-post-card > header,
.tru-dark #page-body article.search-post-card > header.search-post-head,
.tru-dark #page-body article.search-post-card .search-post-head,
.tru-dark #page-body article.search-post-card .search-post-head h3,
.tru-dark #page-body article.search-post-card h3.search-post-title,
.tru-dark #page-body article.search-post-card .search-post-title {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}
.tru-dark #page-body article.search-post-card .search-post-head {
	margin: 0 0 14px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark #page-body article.search-post-card h3.search-post-title,
.tru-dark #page-body article.search-post-card .search-post-title {
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	text-transform: none !important;
	padding: 0 !important;
	margin: 0 0 6px !important;
	border: none !important;
	border-bottom: none !important;
	display: block !important;
	float: none !important;
	width: auto !important;
}
.tru-dark #page-body article.search-post-card .search-post-title a,
.tru-dark #page-body article.search-post-card h3.search-post-title a {
	color: var(--ink) !important;
	background: transparent !important;
	background-image: none !important;
	text-decoration: none !important;
	padding: 0 !important;
	border: none !important;
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	font-size: inherit !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
}
.tru-dark #page-body article.search-post-card .search-post-title a:hover,
.tru-dark #page-body article.search-post-card h3.search-post-title a:hover {
	color: var(--gold) !important;
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 PATCH 1 ===== */

/* ===== TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 PATCH 2 ===== */
/* Composer polish: fix crimson bleed on topic review section + tabs row.
   Same root cause as PATCH 1: legacy ID-prefixed rules in stylesheet.css
   beat class-only overrides. Use #page-body / #tabs / #topicreview prefixes
   to win specificity. */

/* --- "EXPAND VIEW TOPIC REVIEW" link header (h3#review.review) --- */
.tru-dark #page-body h3#review,
.tru-dark #page-body h3.review {
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 14px 0 12px 0 !important;
	margin: 28px 0 0 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 16px !important;
}
.tru-dark #page-body h3#review .right-box,
.tru-dark #page-body h3.review .right-box {
	float: none !important;
	margin: 0 !important;
}
.tru-dark #page-body h3#review a,
.tru-dark #page-body h3.review a {
	color: var(--gold) !important;
	background: transparent !important;
	background-image: none !important;
	text-decoration: none !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 0 !important;
	border: none !important;
}
.tru-dark #page-body h3#review a:hover,
.tru-dark #page-body h3.review a:hover {
	color: var(--gold-2) !important;
}

/* --- POST TITLES INSIDE #topicreview --- */
.tru-dark #page-body #topicreview .postbody h3,
.tru-dark #page-body #topicreview .post .postbody h3 {
	background: transparent !important;
	background-image: none !important;
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	text-transform: none !important;
	padding: 0 !important;
	margin: 0 0 8px 0 !important;
	border: none !important;
	display: block !important;
	float: none !important;
	width: auto !important;
	line-height: 1.3 !important;
}
.tru-dark #page-body #topicreview .postbody h3 a,
.tru-dark #page-body #topicreview .post .postbody h3 a {
	color: var(--ink) !important;
	background: transparent !important;
	background-image: none !important;
	text-decoration: none !important;
	font-family: var(--f-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	text-transform: none !important;
	padding: 0 !important;
	border: none !important;
}
.tru-dark #page-body #topicreview .postbody h3 a:hover,
.tru-dark #page-body #topicreview .post .postbody h3 a:hover {
	color: var(--gold) !important;
}

/* --- #topicreview container styling --- */
.tru-dark #page-body #topicreview {
	background: var(--paper) !important;
	border: 1px solid var(--line) !important;
	padding: 8px !important;
	margin: 0 0 22px 0 !important;
	border-radius: 2px !important;
}
.tru-dark #page-body #topicreview .post {
	background: transparent !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 14px 16px !important;
	margin: 0 !important;
}
.tru-dark #page-body #topicreview .post:last-child {
	border-bottom: none !important;
}
.tru-dark #page-body #topicreview .post .inner {
	padding: 0 !important;
}
.tru-dark #page-body #topicreview .post .postbody {
	float: none !important;
	width: auto !important;
}
.tru-dark #page-body #topicreview .post p.author {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	margin: 0 0 8px 0 !important;
	letter-spacing: 0.04em !important;
}
.tru-dark #page-body #topicreview .post p.author a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark #page-body #topicreview .post .content {
	font-family: var(--f-serif) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	color: var(--ink-2) !important;
}

/* --- "Back to top" link inside topicreview --- */
.tru-dark #page-body #topicreview ~ p,
.tru-dark #page-body #topicreview + p {
	margin: 12px 0 22px 0 !important;
}
.tru-dark #page-body #topicreview ~ p .top,
.tru-dark #page-body #topicreview + p .top {
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
}
.tru-dark #page-body #topicreview ~ p .top:hover,
.tru-dark #page-body #topicreview + p .top:hover {
	color: var(--gold-2) !important;
}

/* --- OPTIONS / ATTACHMENTS TAB ROW (#tabs) --- */
/* Beat the legacy `#tabs li.activetab a { background: #c01848 ... }` rule. */
.tru-dark #page-body #tabs,
.tru-dark .panel #tabs,
.tru-dark #tabs {
	background: transparent !important;
	border-bottom: 1px solid var(--line) !important;
	margin: 22px 0 0 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #tabs ul,
.tru-dark .panel #tabs ul,
.tru-dark #tabs ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tru-dark #page-body #tabs li,
.tru-dark .panel #tabs li,
.tru-dark #tabs li {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #page-body #tabs li a,
.tru-dark .panel #tabs li a,
.tru-dark #tabs li a {
	display: block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 12px 18px !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	transition: color 0.15s, border-color 0.15s !important;
	text-decoration: none !important;
	margin-bottom: -1px !important;
}
.tru-dark #page-body #tabs li a:hover,
.tru-dark .panel #tabs li a:hover,
.tru-dark #tabs li a:hover {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom-color: var(--gold-3) !important;
}
.tru-dark #page-body #tabs li.activetab a,
.tru-dark .panel #tabs li.activetab a,
.tru-dark #tabs li.activetab a {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
}
.tru-dark #page-body #tabs li.activetab a:hover,
.tru-dark .panel #tabs li.activetab a:hover,
.tru-dark #tabs li.activetab a:hover {
	color: var(--gold-2) !important;
	border-bottom-color: var(--gold-2) !important;
}

/* --- File total progress badge (inside attach tab label) stays subtle --- */
.tru-dark #page-body #tabs .file-total-progress,
.tru-dark #tabs .file-total-progress {
	display: inline-block !important;
	margin-left: 8px !important;
	height: 4px !important;
	width: 60px !important;
	background: var(--line) !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	font-size: 0 !important;
	vertical-align: middle !important;
}
.tru-dark #page-body #tabs .file-total-progress-bar,
.tru-dark #tabs .file-total-progress-bar {
	display: block !important;
	height: 100% !important;
	background: var(--gold) !important;
	transition: width 0.3s !important;
}
/* ===== END TRUREVIEW EDITORIAL DARK -- PHASE 3 SESSION 9 PATCH 2 ===== */

/* ===== PHASE 3 SESSION 10 -- COMPOSER COMPLETE REDESIGN ===== */
/* Why: S8 targeted .posting-editor-wrap and friends that DO NOT EXIST in
   posting_layout.html. The block was dead. Only .posting-masthead survived.
   This block targets the REAL stock phpBB selectors used by the live
   template, with every rule prefixed by #page-body so we beat the legacy
   .panel { background: #fff !important } at line 923 and the #page-body h3
   crimson at line 1990. Single-quote-free, ASCII-only. */

/* New design tokens scoped to .tru-dark for the editor surface. Slightly
   warmer than --paper, with a hint of gold to give the editor card visible
   warmth against the very dark page background. */
.tru-dark {
	--paper-editor:   #15130d;
	--paper-editor-2: #1a1812;
	--paper-editor-3: #1f1c14;
}

/* ---- 1. Hide the redundant legacy "POST A REPLY" h3 ---- */
/* The masthead at the top of the page already says it. The h3 inside
   #postingbox is duplicate noise. */
.tru-dark #page-body .panel#postingbox > .inner > h3:first-child,
.tru-dark #page-body #postingbox > .inner > h3.first-child,
.tru-dark #page-body #postingbox > .inner > h3 {
	display: none !important;
}

/* ---- 2. Main editor card -- #postingbox.panel ---- */
/* This is THE wrapper. Paper-editor bg, gold-tinted, subtle border, no white. */
.tru-dark #page-body .panel#postingbox,
.tru-dark #page-body #postingbox.panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-bottom: none !important;
	border-radius: 2px 2px 0 0 !important;
	box-shadow: none !important;
	margin: 0 0 0 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark #page-body .panel#postingbox > .inner,
.tru-dark #page-body #postingbox.panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 28px 32px 24px !important;
}

/* ---- 3. Fieldset reset -- legacy phpBB fieldset wrappers ---- */
.tru-dark #page-body #postingbox fieldset.fields1,
.tru-dark #page-body #postingbox fieldset {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #postingbox fieldset legend {
	display: none !important;
}

/* ---- 4. Topic icon row + Subject row -- dl/dt/dd labeled groups ---- */
.tru-dark #page-body #postingbox dl {
	display: block !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	clear: both !important;
}
.tru-dark #page-body #postingbox dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
.tru-dark #page-body #postingbox dl dt label {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #postingbox dl dd {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
}
.tru-dark #page-body #postingbox dl dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 16px 8px 0 !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
	font-size: 13px !important;
	font-family: var(--f-sans) !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}
.tru-dark #page-body #postingbox dl dd label:hover {
	color: var(--gold) !important;
}
.tru-dark #page-body #postingbox dl dd input[type="radio"],
.tru-dark #page-body #postingbox dl dd input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
}
.tru-dark #page-body #postingbox dl dd img {
	max-width: 24px !important;
	height: auto !important;
	vertical-align: middle !important;
	opacity: 0.85 !important;
	filter: brightness(1.05) !important;
}

/* ---- 5. Subject input ---- */
.tru-dark #page-body #postingbox input#subject,
.tru-dark #page-body #postingbox input[name="subject"] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	padding: 12px 16px !important;
	border-radius: 2px !important;
	transition: border-color 0.15s !important;
	box-shadow: none !important;
	height: auto !important;
}
.tru-dark #page-body #postingbox input#subject:focus,
.tru-dark #page-body #postingbox input[name="subject"]:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #page-body #postingbox input#subject::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* Username input (when posting as guest, mod posting under different name) */
.tru-dark #page-body #postingbox input#username,
.tru-dark #page-body #postingbox input[name="username"] {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	padding: 9px 12px !important;
	border-radius: 2px !important;
	width: auto !important;
	min-width: 240px !important;
}
.tru-dark #page-body #postingbox input#username:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 6. BBCode toolbar -- #format-buttons ---- */
.tru-dark #page-body #postingbox #format-buttons,
.tru-dark #page-body #format-buttons,
.tru-dark #page-body #postingbox .format-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 2px !important;
	background: var(--paper-editor-3) !important;
	border: 1px solid var(--line-2) !important;
	border-bottom: none !important;
	border-radius: 2px 2px 0 0 !important;
	padding: 6px 8px !important;
	margin: 18px 0 0 0 !important;
}
.tru-dark #page-body #format-buttons .button,
.tru-dark #page-body #format-buttons button.button,
.tru-dark #page-body #format-buttons input.button,
.tru-dark #page-body #format-buttons .button.button-icon-only {
	background: transparent !important;
	background-image: none !important;
	border: 1px solid transparent !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	padding: 7px 9px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 32px !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.12s, background 0.12s, border-color 0.12s !important;
}
.tru-dark #page-body #format-buttons .button:hover,
.tru-dark #page-body #format-buttons button.button:hover,
.tru-dark #page-body #format-buttons input.button:hover,
.tru-dark #page-body #format-buttons .button.button-icon-only:hover {
	color: var(--gold) !important;
	background: var(--gold-wash) !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #page-body #format-buttons .button .icon,
.tru-dark #page-body #format-buttons button.button i.icon,
.tru-dark #page-body #format-buttons .button.button-icon-only i.icon {
	color: inherit !important;
	font-size: 13px !important;
}
.tru-dark #page-body #format-buttons select,
.tru-dark #page-body #format-buttons select.bbcode-size {
	background: transparent !important;
	border: 1px solid transparent !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	padding: 6px 8px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	margin-left: 8px !important;
}
.tru-dark #page-body #format-buttons select:hover,
.tru-dark #page-body #format-buttons select:focus {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	outline: none !important;
}
.tru-dark #page-body #format-buttons select option {
	background: var(--paper-editor) !important;
	color: var(--ink) !important;
}

/* Color palette panel (toggled via toolbar) */
.tru-dark #page-body #colour_palette {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	padding: 12px 14px !important;
	margin: 6px 0 !important;
}
.tru-dark #page-body #colour_palette dl {
	margin: 0 !important;
}
.tru-dark #page-body #colour_palette dt label {
	color: var(--gold) !important;
	font-size: 10px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}

/* ---- 7. Smiley box -- KEEP visible but compact (contains BBCode status) ---- */
/* The smiley row itself is unwanted, but .bbcode-status lives inside this
   div, so we cant just display:none the parent. We hide the actual smiley
   imgs/links and the heading "Smilies", and keep the status block. */
.tru-dark #page-body #postingbox #smiley-box,
.tru-dark #page-body #smiley-box.smiley-box {
	display: block !important;
	float: none !important;
	width: auto !important;
	background: transparent !important;
	border: none !important;
	margin: 8px 0 0 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #postingbox #smiley-box > strong,
.tru-dark #page-body #postingbox #smiley-box > a img,
.tru-dark #page-body #postingbox #smiley-box > a:not(.bbcode-status a),
.tru-dark #page-body #postingbox #smiley-box > br,
.tru-dark #page-body #postingbox #smiley-box > hr {
	display: none !important;
}
.tru-dark #page-body #postingbox #smiley-box > img {
	display: none !important;
}

/* The BBCode status footer */
.tru-dark #page-body #postingbox .bbcode-status {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.06em !important;
	margin: 0 !important;
	padding: 12px 0 4px 0 !important;
	line-height: 2 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #page-body #postingbox .bbcode-status a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark #page-body #postingbox .bbcode-status a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #page-body #postingbox .bbcode-status hr {
	display: none !important;
}

/* ---- 8. Message textarea ---- */
.tru-dark #page-body #postingbox #message-box,
.tru-dark #page-body #postingbox .message-box {
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #postingbox textarea#message,
.tru-dark #page-body #postingbox textarea[name="message"],
.tru-dark #page-body #postingbox textarea[name="signature"],
.tru-dark #page-body textarea#message,
.tru-dark #page-body textarea[name="signature"] {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	border-top: 1px solid var(--line) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	line-height: 1.7 !important;
	padding: 18px 20px !important;
	border-radius: 0 0 2px 2px !important;
	min-height: 320px !important;
	resize: vertical !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
}
.tru-dark #page-body #postingbox textarea#message:focus,
.tru-dark #page-body #postingbox textarea[name="message"]:focus,
.tru-dark #page-body #postingbox textarea[name="signature"]:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #page-body #postingbox textarea#message::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* ---- 9. Submit row -- .panel.bg2 -- merge visually with #postingbox ---- */
.tru-dark #page-body form#postform > .panel.bg2,
.tru-dark #page-body form#postform > div.panel.bg2 {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-top: none !important;
	border-radius: 0 0 2px 2px !important;
	box-shadow: none !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark #page-body form#postform > .panel.bg2 > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 18px 32px !important;
}
.tru-dark #page-body form#postform .submit-buttons,
.tru-dark #page-body form#postform fieldset.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	justify-content: flex-end !important;
	align-items: center !important;
}

/* ---- 10. Submit buttons -- gold primary, ghost secondary ---- */
.tru-dark #page-body form#postform input[type="submit"][name="post"],
.tru-dark #page-body form#postform input.button1.default-submit-action,
.tru-dark #page-body input[type="submit"].button1[name="post"] {
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 12px 24px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background 0.15s, border-color 0.15s !important;
}
.tru-dark #page-body form#postform input[type="submit"][name="post"]:hover,
.tru-dark #page-body form#postform input.button1.default-submit-action:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark #page-body form#postform input[type="submit"][name="preview"],
.tru-dark #page-body form#postform input[type="submit"][name="save"],
.tru-dark #page-body form#postform input[type="submit"][name="load"],
.tru-dark #page-body form#postform input[type="submit"][name="cancel"],
.tru-dark #page-body form#postform input[type="submit"][name="delete"],
.tru-dark #page-body form#postform input.button1[name="preview"],
.tru-dark #page-body form#postform input.button2 {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 12px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark #page-body form#postform input[type="submit"][name="preview"]:hover,
.tru-dark #page-body form#postform input[type="submit"][name="save"]:hover,
.tru-dark #page-body form#postform input[type="submit"][name="load"]:hover,
.tru-dark #page-body form#postform input.button2:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: var(--gold-wash) !important;
}
.tru-dark #page-body form#postform input[type="submit"][name="cancel"]:hover,
.tru-dark #page-body form#postform input[type="submit"][name="delete"]:hover {
	color: var(--red) !important;
	border-color: var(--red) !important;
	background: rgba(184,66,61,0.08) !important;
}

/* ---- 11. Tabs row -- #tabs (re-stated with form#postform ancestor for higher specificity) ---- */
.tru-dark #page-body form#postform #tabs,
.tru-dark #page-body form#postform > #tabs.tabs.sub-panels,
.tru-dark #page-body #tabs.tabs.sub-panels {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	margin: 24px 0 0 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body form#postform #tabs ul,
.tru-dark #page-body #tabs.tabs ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
}
.tru-dark #page-body form#postform #tabs li,
.tru-dark #page-body #tabs.tabs li {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	float: none !important;
}
.tru-dark #page-body form#postform #tabs li a,
.tru-dark #page-body #tabs.tabs li a,
.tru-dark #page-body #tabs.tabs li.tab a {
	display: block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 14px 22px !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	margin-bottom: -1px !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark #page-body form#postform #tabs li a:hover,
.tru-dark #page-body #tabs.tabs li a:hover {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom-color: var(--gold-3) !important;
}
.tru-dark #page-body form#postform #tabs li.activetab a,
.tru-dark #page-body #tabs.tabs li.activetab a {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
}
.tru-dark #page-body form#postform #tabs li.activetab a:hover,
.tru-dark #page-body #tabs.tabs li.activetab a:hover {
	color: var(--gold-2) !important;
	border-bottom-color: var(--gold-2) !important;
}
.tru-dark #page-body form#postform #tabs .file-total-progress,
.tru-dark #page-body #tabs .file-total-progress {
	display: inline-block !important;
	margin-left: 10px !important;
	height: 4px !important;
	width: 56px !important;
	background: var(--line) !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	font-size: 0 !important;
	vertical-align: middle !important;
}
.tru-dark #page-body form#postform #tabs .file-total-progress-bar,
.tru-dark #page-body #tabs .file-total-progress-bar {
	display: block !important;
	height: 100% !important;
	background: var(--gold) !important;
	transition: width 0.3s !important;
}

/* ---- 12. Options panel -- #options-panel.panel.bg3 ---- */
.tru-dark #page-body .panel.bg3#options-panel,
.tru-dark #page-body #options-panel.panel.bg3,
.tru-dark #page-body form#postform .panel.bg3#options-panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-top: none !important;
	border-radius: 0 0 2px 2px !important;
	box-shadow: none !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #options-panel > .inner,
.tru-dark #page-body .panel.bg3#options-panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 24px 32px !important;
	display: block !important;
}
.tru-dark #page-body #options-panel fieldset.fields1,
.tru-dark #page-body #options-panel fieldset {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #options-panel > .inner > fieldset > div {
	margin: 10px 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
}
.tru-dark #page-body #options-panel label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}
.tru-dark #page-body #options-panel label:hover {
	color: var(--ink) !important;
}
.tru-dark #page-body #options-panel input[type="checkbox"],
.tru-dark #page-body #options-panel input[type="radio"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
}
.tru-dark #page-body #options-panel hr,
.tru-dark #page-body #options-panel hr.dashed {
	border: none !important;
	border-top: 1px dashed var(--line-2) !important;
	margin: 18px 0 !important;
	background: transparent !important;
	height: 0 !important;
}
.tru-dark #page-body #options-panel dl {
	margin: 14px 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #options-panel dl dt {
	margin: 0 0 6px 0 !important;
}
.tru-dark #page-body #options-panel dl dt label {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
}
.tru-dark #page-body #options-panel dl dd {
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #options-panel input[type="number"],
.tru-dark #page-body #options-panel input[type="text"] {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 7px 10px !important;
	border-radius: 2px !important;
}
.tru-dark #page-body #options-panel input[type="number"]:focus,
.tru-dark #page-body #options-panel input[type="text"]:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 13. Catch-all for any other .panel inside #postform ---- */
/* The form has at least 4 .panel divs (postingbox, bg2 submit, bg3 options,
   plus the "draft loaded" notice and previews when previewing). Make sure
   none of them paint white. */
.tru-dark #page-body form#postform > .panel,
.tru-dark #page-body form#postform .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border-color: var(--line) !important;
	box-shadow: none !important;
}
.tru-dark #page-body form#postform > .panel > .inner,
.tru-dark #page-body form#postform .panel > .inner {
	background: transparent !important;
	background-image: none !important;
}

/* ---- 14. Forum rules / draft loaded info / preview wrappers ---- */
/* The "draft loaded" notice is just <div class="panel"><div class="inner">
   <h3>Information</h3><p>...</p></div></div>. With the catch-all above it
   becomes paper-bg already; here we polish typography. */
.tru-dark #page-body form#postform .panel:not(#postingbox):not(#options-panel) > .inner {
	padding: 18px 24px !important;
}
.tru-dark #page-body form#postform .panel:not(#postingbox):not(#options-panel) > .inner > h3 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	background: transparent !important;
	background-image: none !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	border: none !important;
}
.tru-dark #page-body form#postform .panel:not(#postingbox):not(#options-panel) > .inner > p {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Forum rules link/box -- .rules.rules-link */
.tru-dark #page-body form#postform > .rules,
.tru-dark #page-body form#postform > .rules.rules-link {
	background: var(--gold-wash) !important;
	background-image: none !important;
	border: none !important;
	border-left: 2px solid var(--gold-3) !important;
	border-radius: 0 2px 2px 0 !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body form#postform > .rules > .inner {
	background: transparent !important;
	padding: 14px 20px !important;
}
.tru-dark #page-body form#postform > .rules a,
.tru-dark #page-body form#postform > .rules strong {
	color: var(--gold) !important;
	font-family: var(--f-serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 15px !important;
	text-decoration: none !important;
}
.tru-dark #page-body form#postform > .rules a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 15. POST REVIEW page (search.php?show_results=posts called when
            posting reply -- list of recent posts above the editor) ---- */
.tru-dark #page-body form#postform > h3:first-of-type,
.tru-dark #page-body form#postform > h3:not(#review) {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	background: transparent !important;
	background-image: none !important;
	margin: 28px 0 8px 0 !important;
	padding: 0 0 8px 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	display: block !important;
}
.tru-dark #page-body form#postform > p:first-of-type {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
}

/* ---- 16. CAPTCHA (when present, e.g. guest posting) ---- */
.tru-dark #page-body #postingbox .captcha-panel {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	padding: 16px !important;
	margin: 18px 0 !important;
}

/* ---- 17. Preview panel (when user clicks Preview button) ---- */
/* Phpbb appends a preview block above the form. It uses .post structure. */
.tru-dark #page-body div.panel:has(> div.inner > h2):not(#postingbox):not(#options-panel) {
	margin: 0 0 22px 0 !important;
}

/* ---- 18. Mobile breakpoint ---- */
@media only screen and (max-width: 768px) {
	.tru-dark #page-body .panel#postingbox > .inner,
	.tru-dark #page-body #postingbox.panel > .inner {
		padding: 22px 18px 18px !important;
	}
	.tru-dark #page-body #postingbox input#subject {
		font-size: 18px !important;
		padding: 10px 14px !important;
	}
	.tru-dark #page-body #format-buttons {
		gap: 0 !important;
		padding: 4px 6px !important;
	}
	.tru-dark #page-body #format-buttons .button {
		padding: 6px 7px !important;
		min-width: 28px !important;
	}
	.tru-dark #page-body #postingbox textarea#message {
		padding: 14px 14px !important;
		font-size: 14px !important;
		min-height: 240px !important;
	}
	.tru-dark #page-body form#postform > .panel.bg2 > .inner {
		padding: 14px 18px !important;
	}
	.tru-dark #page-body form#postform input[type="submit"] {
		padding: 10px 16px !important;
		font-size: 11px !important;
	}
	.tru-dark #page-body #options-panel > .inner {
		padding: 18px 18px !important;
	}
	.tru-dark #page-body form#postform #tabs li a {
		padding: 12px 16px !important;
		font-size: 10px !important;
	}
}

/* ===== END PHASE 3 SESSION 10 -- COMPOSER COMPLETE REDESIGN ===== */

/* ===== PHASE 3 SESSION 10 PATCH 1 -- ATTACH PANEL ===== */
/* Why: <input type="button"> and bare <button class="button2"> in the attach
   panel aren't matched by the existing .button rules at line 7240 (which only
   target input[type="submit"].button2 and .button.button2). They fall back
   to legacy colours.css grey/white gradients that read pinkish on dark.
   Also fixes the table header crimson at line 1768 and styles the file
   list, progress bar, and add-files row. NO display rules that could break
   the panel-switching JS or Plupload. */

/* ---- 1. Attach panel container -- merge with tabs row visually ---- */
.tru-dark #page-body .panel.bg3#attach-panel,
.tru-dark #page-body #attach-panel.panel.bg3,
.tru-dark #page-body form#postform .panel.bg3#attach-panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-top: none !important;
	border-radius: 0 0 2px 2px !important;
	box-shadow: none !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #attach-panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 24px 32px !important;
}
.tru-dark #page-body #attach-panel > .inner > p {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	line-height: 1.6 !important;
}

/* ---- 2. Inner fieldset reset ---- */
.tru-dark #page-body #attach-panel fieldset,
.tru-dark #page-body #attach-panel fieldset.fields2,
.tru-dark #page-body #attach-panel #attach-panel-basic {
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- 3. Filename / comment dl rows -- editorial label + input ---- */
.tru-dark #page-body #attach-panel dl {
	display: block !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	clear: both !important;
}
.tru-dark #page-body #attach-panel dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #page-body #attach-panel dl dt label {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #attach-panel dl dd {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	color: var(--ink-2) !important;
}

/* ---- 4. File input field (browser fallback) ---- */
.tru-dark #page-body #attach-panel input[type="file"],
.tru-dark #page-body #attach-panel input#fileupload,
.tru-dark #page-body #attach-panel input[name="fileupload"] {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 7px 10px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	max-width: 100% !important;
	min-width: 200px !important;
}
.tru-dark #page-body #attach-panel input[type="file"]:focus,
.tru-dark #page-body #attach-panel input#fileupload:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #page-body #attach-panel input[type="file"]::-webkit-file-upload-button {
	background: var(--paper-editor-3) !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	padding: 6px 12px !important;
	margin-right: 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}
.tru-dark #page-body #attach-panel input[type="file"]::-webkit-file-upload-button:hover {
	background: var(--gold-wash) !important;
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
}

/* ---- 5. File comment textarea ---- */
.tru-dark #page-body #attach-panel textarea[name="filecomment"],
.tru-dark #page-body #attach-panel textarea#filecomment,
.tru-dark #page-body #attach-panel .attach-comment textarea {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	padding: 8px 10px !important;
	border-radius: 2px !important;
	resize: vertical !important;
	min-height: 36px !important;
}
.tru-dark #page-body #attach-panel textarea[name="filecomment"]:focus,
.tru-dark #page-body #attach-panel textarea#filecomment:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 6. ALL .button2 variants in attach panel (this is the red-button fix) ---- */
/* Covers: <input type="submit">, <input type="button">, bare <button>,
   regardless of whether they also carry .button class. */
.tru-dark #page-body #attach-panel input[type="submit"].button2,
.tru-dark #page-body #attach-panel input[type="button"].button2,
.tru-dark #page-body #attach-panel button.button2,
.tru-dark #page-body #attach-panel .button2,
.tru-dark #page-body #attach-panel input.button2,
.tru-dark #page-body #attach-panel #add_files,
.tru-dark #page-body #attach-panel input#add_files,
.tru-dark #page-body #attach-panel input[name="add_file"] {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 8px 16px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark #page-body #attach-panel input[type="submit"].button2:hover,
.tru-dark #page-body #attach-panel input[type="button"].button2:hover,
.tru-dark #page-body #attach-panel button.button2:hover,
.tru-dark #page-body #attach-panel .button2:hover,
.tru-dark #page-body #attach-panel input.button2:hover,
.tru-dark #page-body #attach-panel #add_files:hover,
.tru-dark #page-body #attach-panel input[name="add_file"]:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: var(--gold-wash) !important;
}

/* ---- 7. .file-delete -- intentionally red (destructive action) ---- */
.tru-dark #page-body #attach-panel .button2.file-delete,
.tru-dark #page-body #attach-panel input.file-delete,
.tru-dark #page-body #attach-panel button.file-delete,
.tru-dark #page-body #attach-panel input[type="submit"].file-delete,
.tru-dark #page-body #attach-panel input[type="button"].file-delete {
	background: transparent !important;
	background-image: none !important;
	color: var(--red) !important;
	border: 1px solid rgba(184,66,61,0.5) !important;
	padding: 6px 12px !important;
	font-size: 10px !important;
}
.tru-dark #page-body #attach-panel .button2.file-delete:hover,
.tru-dark #page-body #attach-panel input.file-delete:hover,
.tru-dark #page-body #attach-panel button.file-delete:hover {
	color: #d96a64 !important;
	border-color: var(--red) !important;
	background: rgba(184,66,61,0.08) !important;
}

/* ---- 8. .file-inline-bbcode -- gold ghost (insert into post action) ---- */
.tru-dark #page-body #attach-panel .button2.file-inline-bbcode,
.tru-dark #page-body #attach-panel input.file-inline-bbcode,
.tru-dark #page-body #attach-panel button.file-inline-bbcode {
	padding: 6px 12px !important;
	font-size: 10px !important;
}

/* ---- 9. Plupload multi-file row (#attach-panel-multi) ---- */
.tru-dark #page-body #attach-panel-multi,
.tru-dark #page-body #attach-panel .attach-panel-multi {
	margin: 14px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

/* ---- 10. File list container (.file-list-container) ---- */
.tru-dark #page-body #attach-panel #file-list-container,
.tru-dark #page-body #attach-panel .file-list-container {
	background: transparent !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 16px 0 0 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body #attach-panel #file-list-container > .inner,
.tru-dark #page-body #attach-panel .file-list-container > .inner {
	background: transparent !important;
	padding: 0 !important;
}
.tru-dark #page-body #attach-panel #file-list-container.hidden {
	display: none !important;
}

/* ---- 11. File list TABLE -- override the line 1768 crimson th ---- */
.tru-dark #page-body #attach-panel table.table1,
.tru-dark #page-body #attach-panel table.zebra-list,
.tru-dark #page-body #attach-panel .file-list-container table {
	width: 100% !important;
	background: transparent !important;
	border-collapse: collapse !important;
	font-family: var(--f-sans) !important;
	margin: 0 !important;
}
.tru-dark #page-body #attach-panel table.table1 thead,
.tru-dark #page-body #attach-panel .file-list-container thead {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
}
.tru-dark #page-body #attach-panel table.table1 th,
.tru-dark #page-body #attach-panel table.zebra-list th,
.tru-dark #page-body #attach-panel .file-list-container th {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 10px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	text-align: left !important;
}
.tru-dark #page-body #attach-panel table.table1 td,
.tru-dark #page-body #attach-panel table.zebra-list td,
.tru-dark #page-body #attach-panel .file-list-container td {
	background: transparent !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 12px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	vertical-align: middle !important;
}
.tru-dark #page-body #attach-panel table.zebra-list tbody tr:nth-child(even) td {
	background: rgba(201,169,97,0.02) !important;
}
.tru-dark #page-body #attach-panel table.zebra-list tbody tr:hover td {
	background: var(--gold-wash) !important;
}
.tru-dark #page-body #attach-panel table tbody tr:last-child td {
	border-bottom: none !important;
}
/* The phpBB-bundled .attach-row-tpl is a hidden template row -- keep it hidden */
.tru-dark #page-body #attach-panel tr.attach-row-tpl,
.tru-dark #page-body #attach-panel #attach-row-tpl {
	display: none !important;
}

/* ---- 12. File list cell internals (file-name link, file-size text) ---- */
.tru-dark #page-body #attach-panel .file-name {
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 14px !important;
}
.tru-dark #page-body #attach-panel .file-name a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark #page-body #attach-panel .file-name a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #page-body #attach-panel .file-size,
.tru-dark #page-body #attach-panel .file-status {
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
}
.tru-dark #page-body #attach-panel .attach-controls {
	display: inline-flex !important;
	gap: 6px !important;
	margin-left: 12px !important;
	vertical-align: middle !important;
}
.tru-dark #page-body #attach-panel .ellipsis-text {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

/* ---- 13. Per-row progress bar (.file-progress) ---- */
.tru-dark #page-body #attach-panel .file-progress {
	display: inline-block !important;
	width: 80px !important;
	height: 4px !important;
	background: var(--line) !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	vertical-align: middle !important;
}
.tru-dark #page-body #attach-panel .file-progress-bar {
	display: block !important;
	height: 100% !important;
	background: var(--gold) !important;
	transition: width 0.3s !important;
}
.tru-dark #page-body #attach-panel .file-uploaded {
	color: var(--green) !important;
	font-weight: 600 !important;
}

/* ---- 14. Inline textarea inside file row (per-attachment comment) ---- */
.tru-dark #page-body #attach-panel td.attach-comment textarea,
.tru-dark #page-body #attach-panel .attach-comment textarea {
	width: 100% !important;
	min-height: 32px !important;
	max-height: 80px !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	padding: 6px 8px !important;
	border-radius: 2px !important;
	resize: vertical !important;
}
.tru-dark #page-body #attach-panel td.attach-comment textarea:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 15. Mobile breakpoint ---- */
@media only screen and (max-width: 768px) {
	.tru-dark #page-body #attach-panel > .inner {
		padding: 18px 16px !important;
	}
	.tru-dark #page-body #attach-panel dl dd {
		gap: 8px !important;
	}
	.tru-dark #page-body #attach-panel input[type="file"] {
		min-width: 0 !important;
		max-width: 100% !important;
		font-size: 11px !important;
	}
	.tru-dark #page-body #attach-panel table.table1,
	.tru-dark #page-body #attach-panel .file-list-container table {
		display: block !important;
		overflow-x: auto !important;
	}
}

/* ===== END PHASE 3 SESSION 10 PATCH 1 -- ATTACH PANEL ===== */

/* ===== PHASE 3 SESSION 11 -- UCP / SETTINGS RESTYLE ===== */
/* DOM (verified from ucp_header.html, ucp_main_front.html, ucp_prefs_personal.html,
   ucp_profile_profile_info.html):

   <h2 class="ucp-title">User Control Panel</h2>
   <div id="tabs" class="tabs">           <-- UCP top tabs (NOT .sub-panels)
     <ul><li class="tab activetab"><a>Overview</a></li> ...</ul>
   </div>
   <div class="panel bg3">                <-- main wrapper (white from line 1584)
     <div class="inner">                  <-- flex container
       <div id="cp-menu" class="cp-menu"> <-- left sidebar nav
         <div id="navigation" class="navigation">
           <ul><li class="active-subsection"><a><span>...</span></a></li></ul>
         </div>
         <div class="cp-mini">            <-- friends / pm color legend
           <div class="inner">
             <dl class="mini">
               <dt>...</dt><dd>...</dd>
             </dl>
           </div>
         </div>
       </div>
       <div id="cp-main" class="cp-main ucp-main panel-container">
         <h2>{L_TITLE}</h2>               <-- sub-page heading
         <div class="panel"><div class="inner">
           <p>...</p>                     <-- intro paragraph (italic explain)
           <fieldset>
             <dl>
               <dt><label>Field name:</label><br><span>explain text</span></dt>
               <dd>radios / inputs / selects</dd>
             </dl>
           </fieldset>
         </div></div>
         <fieldset class="submit-buttons">
           <input type="submit" class="button1">
         </fieldset>
       </div>
     </div>
   </div>

   Legacy crimson rules to beat (from line 1548-1722):
   - h2.ucp-title (crimson border, dark text)
   - #tabs (crimson active tab, light grey inactive)
   - .panel.bg3 (white wrapper)
   - #cp-menu (light pink hover/active, crimson text)
   - #cp-main h2/h3 (crimson, dark text)
   - #cp-main .panel (almost-white wash)
   - #cp-main dl.details (light grey labels, dark text, crimson links)
   - #cp-main table.table1 (light grey headers, crimson links)

   Strategy: prefix every rule with .tru-dark for specificity boost (.tru-dark + #id
   beats lone #id). Override colors only -- keep the legacy structural rules
   (widths, paddings, flex layout) since they already match the real DOM. */

/* ---- 1. UCP title -- editorial serif heading ---- */
.tru-dark h2.ucp-title {
	font-family: var(--f-serif) !important;
	font-size: 28px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 28px 0 18px 0 !important;
	padding: 0 0 14px 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	background: transparent !important;
	background-image: none !important;
}

/* ---- 2. UCP top tabs -- #tabs.tabs (NOT .sub-panels which is composer's) ---- */
/* Use :not(.sub-panels) to scope strictly to UCP and not affect composer tabs. */
.tru-dark #tabs.tabs:not(.sub-panels) {
	background: transparent !important;
	background-image: none !important;
	margin: 0 0 0 0 !important;
	padding: 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: transparent !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) li {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	float: none !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) li a,
.tru-dark #tabs.tabs:not(.sub-panels) li.tab a {
	display: block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 14px 22px !important;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	margin-bottom: -1px !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) li a:hover {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom-color: var(--gold-3) !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) li.activetab a {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
}
.tru-dark #tabs.tabs:not(.sub-panels) li.activetab a:hover {
	color: var(--gold-2) !important;
	border-bottom-color: var(--gold-2) !important;
}

/* ---- 3. Main UCP wrapper -- .panel.bg3 (NOT #options-panel and NOT #attach-panel) ---- */
/* The composer also has .panel.bg3 elements (#options-panel, #attach-panel)
   which are already styled in S10/S10P1. Use :not() to scope this to UCP only. */
.tru-dark #page-body .panel.bg3:not(#options-panel):not(#attach-panel),
.tru-dark .panel.bg3:not(#options-panel):not(#attach-panel) {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark .panel.bg3:not(#options-panel):not(#attach-panel) > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 0 !important;
	display: flex !important;
}

/* ---- 4. Left sidebar nav -- #cp-menu ---- */
.tru-dark #cp-menu {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	border: none !important;
	border-right: 1px solid var(--line) !important;
	border-radius: 0 !important;
	width: 220px !important;
	min-width: 220px !important;
	flex-shrink: 0 !important;
	padding: 16px 0 !important;
}
.tru-dark #cp-menu .navigation {
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark #cp-menu ul {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}
.tru-dark #cp-menu ul li {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #cp-menu ul li a {
	display: block !important;
	padding: 11px 22px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	color: var(--ink-2) !important;
	text-decoration: none !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-left: 2px solid transparent !important;
	border-radius: 0 !important;
	transition: color 0.15s, background 0.15s, border-color 0.15s !important;
}
.tru-dark #cp-menu ul li a span {
	color: inherit !important;
	background: transparent !important;
}
.tru-dark #cp-menu ul li a:hover {
	background: var(--gold-wash) !important;
	color: var(--gold) !important;
	border-left-color: var(--gold-3) !important;
}
.tru-dark #cp-menu ul li.active-subsection a,
.tru-dark #cp-menu ul li#active-subsection a {
	background: var(--gold-wash) !important;
	color: var(--gold) !important;
	border-left: 2px solid var(--gold) !important;
	font-weight: 700 !important;
}
.tru-dark #cp-menu ul li.active-subsection a:hover,
.tru-dark #cp-menu ul li#active-subsection a:hover {
	color: var(--gold-2) !important;
}
.tru-dark #cp-menu hr {
	border: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 12px 14px !important;
	background: transparent !important;
	height: 0 !important;
}

/* ---- 5. Sidebar mini-panels -- .cp-mini (friends list, PM colour legend) ---- */
.tru-dark #cp-menu .cp-mini {
	background: transparent !important;
	border: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 12px 0 0 0 !important;
	padding: 0 !important;
}
.tru-dark #cp-menu .cp-mini > .inner {
	background: transparent !important;
	padding: 14px 22px !important;
}
.tru-dark #cp-menu .cp-mini dl.mini {
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dt {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd {
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	color: var(--ink-2) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	line-height: 1.5 !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd a {
	color: var(--ink) !important;
	text-decoration: none !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd a:hover {
	color: var(--gold) !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd.friend-online::before {
	content: "\2022";
	color: var(--green) !important;
	margin-right: 6px !important;
	font-size: 14px !important;
	vertical-align: middle !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd.friend-offline::before {
	content: "\2022";
	color: var(--ink-4) !important;
	margin-right: 6px !important;
	font-size: 14px !important;
	vertical-align: middle !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd input.button2 {
	margin-left: 8px !important;
	padding: 4px 8px !important;
	font-size: 9px !important;
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	font-family: var(--f-sans) !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}
.tru-dark #cp-menu .cp-mini dl.mini dd input.button2:hover {
	background: var(--gold-wash) !important;
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
}
.tru-dark #cp-menu .cp-mini hr {
	border: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 8px 0 !important;
}

/* ---- 6. Main content area -- #cp-main ---- */
.tru-dark #cp-main {
	flex: 1 !important;
	min-width: 0 !important;
	background: transparent !important;
	background-image: none !important;
	padding: 26px 32px !important;
}

/* ---- 7. Sub-page heading -- #cp-main h2 ---- */
.tru-dark #cp-main h2 {
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	color: var(--ink) !important;
	margin: 0 0 18px 0 !important;
	padding: 0 0 12px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark #cp-main h2 .small,
.tru-dark #cp-main h2 span.small {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
}
.tru-dark #cp-main h2 .small a,
.tru-dark #cp-main h2 span.small a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark #cp-main h2 .small a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 8. Section subheadings -- #cp-main h3 ---- */
.tru-dark #cp-main h3 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 24px 0 12px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}

/* ---- 9. Inner content panel -- #cp-main .panel (transparent, since #cp-main is paper) ---- */
.tru-dark #cp-main .panel {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
}
.tru-dark #cp-main .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 0 !important;
	display: block !important;
}

/* ---- 10. Paragraphs -- #cp-main p (intro/explain text) ---- */
.tru-dark #cp-main p {
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	color: var(--ink-2) !important;
	line-height: 1.7 !important;
	margin: 0 0 14px 0 !important;
	background: transparent !important;
}
.tru-dark #cp-main p.error,
.tru-dark #cp-main .error {
	color: var(--red) !important;
	font-weight: 600 !important;
	background: rgba(184,66,61,0.08) !important;
	border-left: 2px solid var(--red) !important;
	padding: 10px 14px !important;
	margin: 0 0 16px 0 !important;
	border-radius: 0 2px 2px 0 !important;
}

/* ---- 11. Fieldset reset (UCP form wrapper) ---- */
.tru-dark #cp-main fieldset {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark #cp-main fieldset legend {
	display: none !important;
}

/* ---- 12. UCP form rows -- dl/dt/dd inside fieldset ---- */
.tru-dark #cp-main fieldset > dl,
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) {
	display: block !important;
	margin: 0 0 18px 0 !important;
	padding: 14px 0 !important;
	clear: both !important;
	border-top: 1px solid var(--line) !important;
	background: transparent !important;
}
.tru-dark #cp-main fieldset > dl:first-of-type,
.tru-dark #cp-main fieldset dl:not(.details):not(.mini):first-of-type {
	border-top: none !important;
	padding-top: 0 !important;
}
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dt label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: default !important;
}
/* The <span> below the label contains the explain text */
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dt span,
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dt > span {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-3) !important;
	margin: 4px 0 0 0 !important;
	line-height: 1.5 !important;
}
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dd {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	background: transparent !important;
	border: none !important;
}
/* dd labels (radio/checkbox option labels) */
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 18px 4px 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
}
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dd label:hover {
	color: var(--gold) !important;
}
/* Inline error inside dl */
.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dd.error {
	background: rgba(184,66,61,0.08) !important;
	color: var(--red) !important;
	border-left: 2px solid var(--red) !important;
	padding: 6px 10px !important;
	margin: 0 0 6px 0 !important;
	border-radius: 0 2px 2px 0 !important;
	font-weight: 600 !important;
}

/* ---- 13. Form inputs -- text, email, password, number, url ---- */
.tru-dark #cp-main input[type="text"],
.tru-dark #cp-main input[type="email"],
.tru-dark #cp-main input[type="password"],
.tru-dark #cp-main input[type="number"],
.tru-dark #cp-main input[type="url"],
.tru-dark #cp-main input[type="tel"],
.tru-dark #cp-main input[type="search"],
.tru-dark #cp-main input.inputbox,
.tru-dark #cp-main input.inputbox.narrow,
.tru-dark #cp-main input.inputbox.autowidth {
	display: inline-block !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 9px 12px !important;
	border-radius: 2px !important;
	min-width: 240px !important;
	max-width: 100% !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
}
.tru-dark #cp-main input[type="text"]:focus,
.tru-dark #cp-main input[type="email"]:focus,
.tru-dark #cp-main input[type="password"]:focus,
.tru-dark #cp-main input[type="number"]:focus,
.tru-dark #cp-main input[type="url"]:focus,
.tru-dark #cp-main input.inputbox:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #cp-main input.inputbox.narrow {
	min-width: 0 !important;
	width: 200px !important;
}
.tru-dark #cp-main input::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* ---- 14. Textarea ---- */
.tru-dark #cp-main textarea,
.tru-dark #cp-main textarea.inputbox {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	padding: 12px 14px !important;
	border-radius: 2px !important;
	resize: vertical !important;
	min-height: 100px !important;
	box-shadow: none !important;
}
.tru-dark #cp-main textarea:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 15. Select ---- */
.tru-dark #cp-main select {
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 8px 12px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 160px !important;
	max-width: 100% !important;
}
.tru-dark #cp-main select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark #cp-main select option {
	background: var(--paper-editor) !important;
	color: var(--ink) !important;
}

/* ---- 16. Radios and checkboxes ---- */
.tru-dark #cp-main input[type="radio"],
.tru-dark #cp-main input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
	vertical-align: middle !important;
}

/* ---- 17. File input ---- */
.tru-dark #cp-main input[type="file"] {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	padding: 6px 10px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}
.tru-dark #cp-main input[type="file"]::-webkit-file-upload-button {
	background: var(--paper-editor-3) !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	padding: 5px 10px !important;
	margin-right: 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}

/* ---- 18. Submit button row -- form#ucp fieldset.submit-buttons ---- */
.tru-dark #cp-main + fieldset.submit-buttons,
.tru-dark form#ucp fieldset.submit-buttons,
.tru-dark fieldset.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: flex-end !important;
	align-items: center !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 18px 0 26px 0 !important;
	padding: 18px 0 !important;
	border-top: 1px solid var(--line) !important;
}
/* Submit button -- gold solid (button1 already styled at line 7240+ but
   force higher specificity here for the UCP submit context) */
.tru-dark #cp-main input[type="submit"].button1,
.tru-dark form#ucp input[type="submit"].button1,
.tru-dark form#ucp fieldset.submit-buttons input.button1,
.tru-dark fieldset.submit-buttons input.button1 {
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background 0.15s, border-color 0.15s !important;
}
.tru-dark #cp-main input[type="submit"].button1:hover,
.tru-dark form#ucp input[type="submit"].button1:hover,
.tru-dark fieldset.submit-buttons input.button1:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark #cp-main input[type="submit"].button2,
.tru-dark #cp-main input[type="reset"].button2,
.tru-dark form#ucp input[type="submit"].button2,
.tru-dark fieldset.submit-buttons input.button2 {
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}
.tru-dark #cp-main input[type="submit"].button2:hover,
.tru-dark #cp-main input[type="reset"].button2:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: var(--gold-wash) !important;
}

/* ---- 19. Activity dl -- dl.details (joined date, post counts, etc) ---- */
.tru-dark #cp-main dl.details {
	display: block !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark #cp-main dl.details dt {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	padding: 10px 0 4px 0 !important;
	border-top: 1px solid var(--line) !important;
	float: left !important;
	clear: left !important;
	width: 160px !important;
	background: transparent !important;
	margin: 0 !important;
}
.tru-dark #cp-main dl.details dd {
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	color: var(--ink) !important;
	padding: 10px 0 4px 160px !important;
	border-top: 1px solid var(--line) !important;
	line-height: 1.6 !important;
	background: transparent !important;
	margin: 0 !important;
}
.tru-dark #cp-main dl.details dt:first-of-type,
.tru-dark #cp-main dl.details dd:first-of-type {
	border-top: none !important;
	padding-top: 0 !important;
}
.tru-dark #cp-main dl.details a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark #cp-main dl.details a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #cp-main dl.details dd.error,
.tru-dark #cp-main dl.details dd .error {
	color: var(--red) !important;
}

/* ---- 20. Generic links inside #cp-main ---- */
.tru-dark #cp-main a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark #cp-main a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 21. Tables -- #cp-main table.table1 (PM inbox, drafts, bookmarks etc) ---- */
.tru-dark #cp-main table.table1,
.tru-dark #cp-main table.zebra-list {
	width: 100% !important;
	border-collapse: collapse !important;
	background: transparent !important;
	font-family: var(--f-sans) !important;
	margin: 0 0 16px 0 !important;
}
.tru-dark #cp-main table.table1 thead {
	background: var(--paper-editor-3) !important;
}
.tru-dark #cp-main table.table1 th {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 11px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	text-align: left !important;
}
.tru-dark #cp-main table.table1 td {
	background: transparent !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 12px 14px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	vertical-align: middle !important;
}
.tru-dark #cp-main table.table1 tr:hover td {
	background: var(--gold-wash) !important;
}
.tru-dark #cp-main table.table1 tr:last-child td {
	border-bottom: none !important;
}
.tru-dark #cp-main table.table1 a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark #cp-main table.table1 a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 22. HR separators inside cp-main ---- */
.tru-dark #cp-main hr,
.tru-dark #cp-main hr.dashed {
	border: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 18px 0 !important;
	background: transparent !important;
	height: 0 !important;
}

/* ---- 23. Cplist (subscribed/bookmarks topics list) ---- */
.tru-dark #cp-main ul.topiclist.cplist,
.tru-dark #cp-main ul.cplist {
	list-style: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	overflow: hidden !important;
}
.tru-dark #cp-main ul.cplist li.row {
	background: transparent !important;
	border-top: 1px solid var(--line) !important;
	padding: 12px 16px !important;
	margin: 0 !important;
}
.tru-dark #cp-main ul.cplist li.row:first-child {
	border-top: none !important;
}
.tru-dark #cp-main ul.cplist li.row.bg1,
.tru-dark #cp-main ul.cplist li.row.bg2 {
	background: transparent !important;
}
.tru-dark #cp-main ul.cplist li.row:hover {
	background: var(--gold-wash) !important;
}
.tru-dark #cp-main ul.cplist a.topictitle {
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	text-decoration: none !important;
}
.tru-dark #cp-main ul.cplist a.topictitle:hover {
	color: var(--gold) !important;
}
.tru-dark #cp-main ul.cplist .responsive-hide,
.tru-dark #cp-main ul.cplist .responsive-show {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.04em !important;
}

/* ---- 24. Pagination inside cp-main ---- */
.tru-dark #cp-main .pagination {
	margin: 14px 0 !important;
}
.tru-dark #cp-main .pagination ul {
	display: inline-flex !important;
	gap: 4px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.tru-dark #cp-main .pagination li {
	display: inline-block !important;
}
.tru-dark #cp-main .pagination li a,
.tru-dark #cp-main .pagination li span {
	display: inline-block !important;
	padding: 5px 10px !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink-2) !important;
	font-size: 11px !important;
	font-family: var(--f-sans) !important;
	border-radius: 2px !important;
	text-decoration: none !important;
}
.tru-dark #cp-main .pagination li a:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	background: var(--gold-wash) !important;
}
.tru-dark #cp-main .pagination li.active span,
.tru-dark #cp-main .pagination li.active a {
	background: var(--gold) !important;
	color: #18120a !important;
	border-color: var(--gold) !important;
	font-weight: 700 !important;
}

/* ---- 25. Mobile breakpoint ---- */
@media only screen and (max-width: 768px) {
	.tru-dark h2.ucp-title {
		font-size: 22px !important;
		margin: 18px 0 14px 0 !important;
	}
	.tru-dark #tabs.tabs:not(.sub-panels) li a {
		padding: 11px 14px !important;
		font-size: 10px !important;
	}
	.tru-dark .panel.bg3:not(#options-panel):not(#attach-panel) > .inner {
		flex-direction: column !important;
	}
	.tru-dark #cp-menu {
		width: 100% !important;
		min-width: 0 !important;
		border-right: none !important;
		border-bottom: 1px solid var(--line) !important;
		padding: 10px 0 !important;
	}
	.tru-dark #cp-menu ul {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 0 !important;
		padding: 0 6px !important;
	}
	.tru-dark #cp-menu ul li a {
		padding: 8px 12px !important;
		border-left: none !important;
		border-bottom: 2px solid transparent !important;
		font-size: 11px !important;
	}
	.tru-dark #cp-menu ul li.active-subsection a,
	.tru-dark #cp-menu ul li#active-subsection a {
		border-left: none !important;
		border-bottom: 2px solid var(--gold) !important;
	}
	.tru-dark #cp-menu .cp-mini {
		padding: 0 !important;
	}
	.tru-dark #cp-menu .cp-mini > .inner {
		padding: 12px 16px !important;
	}
	.tru-dark #cp-main {
		padding: 18px 16px !important;
	}
	.tru-dark #cp-main h2 {
		font-size: 18px !important;
	}
	.tru-dark #cp-main dl.details dt {
		float: none !important;
		width: 100% !important;
		padding: 10px 0 4px 0 !important;
	}
	.tru-dark #cp-main dl.details dd {
		padding: 0 0 10px 0 !important;
	}
	.tru-dark #cp-main input[type="text"],
	.tru-dark #cp-main input[type="email"],
	.tru-dark #cp-main input[type="password"],
	.tru-dark #cp-main input[type="number"],
	.tru-dark #cp-main input.inputbox {
		min-width: 0 !important;
		width: 100% !important;
	}
	.tru-dark #cp-main fieldset dl:not(.details):not(.mini) dd label {
		display: flex !important;
		margin: 0 0 6px 0 !important;
	}
	.tru-dark #cp-main table.table1 {
		display: block !important;
		overflow-x: auto !important;
	}
	.tru-dark fieldset.submit-buttons {
		justify-content: stretch !important;
	}
	.tru-dark fieldset.submit-buttons input.button1,
	.tru-dark fieldset.submit-buttons input.button2 {
		flex: 1 !important;
		padding: 11px 16px !important;
	}
}

/* ===== END PHASE 3 SESSION 11 -- UCP / SETTINGS RESTYLE ===== */

/* ===== PHASE 4 SESSION 12 -- LOGIN PAGE RESTYLE ===== */
/* DOM (verified from login_body.html):

   <form id="login">
     <div class="panel">                <-- LOGIN card (white from line 923)
       <div class="inner">
         <div class="content">
           <h2 class="login-title">Login / Welcome explain</h2>
           <fieldset class="fields1">
             <!-- IF LOGIN_ERROR --><div class="error">...</div>
             <dl>
               <dt><label>Username:</label></dt>
               <dd><input type="text" class="inputbox autowidth"></dd>
             </dl>
             <dl>
               <dt><label>Password:</label></dt>
               <dd><input type="password" class="inputbox autowidth"></dd>
               <dd><a>I forgot my password</a></dd>      [optional]
               <dd><a>Resend activation</a></dd>          [optional]
             </dl>
             <dl>
               <dt>&nbsp;</dt>                            <-- empty dt
               <dd><label><input type="checkbox" id="autologin"> Remember me</label></dd>
               <dd><label><input type="checkbox" id="viewonline"> Hide me online</label></dd>
             </dl>
             <dl>
               <dt>&nbsp;</dt>                            <-- empty dt
               <dd><input type="submit" class="button1" value="Login"></dd>
             </dl>
           </fieldset>
         </div>
       </div>
     </div>

     <!-- IF S_REGISTER_ENABLED -->
     <div class="panel">                <-- REGISTER CTA card
       <div class="inner">
         <div class="content">
           <h3>Register</h3>
           <p>Login info / why register</p>
           <p><strong><a>Terms</a> | <a>Privacy</a></strong></p>
           <hr class="dashed">
           <p><a class="button2">Register</a></p>
         </div>
       </div>
     </div>
     <!-- ENDIF -->
   </form>

   Layout strategy: center the form at max-width 480px, two stacked editorial
   cards (login + register). Use the same dl/dt/dd small-caps gold label
   pattern as UCP, but hide the empty <dt>&nbsp;</dt> rows for the checkbox
   and submit groups, and right-align the submit button.

   Specificity: prefix with `.tru-dark form#login` to beat the global
   .panel { background: #fff !important } at line 923. Tag the form id so
   our rules don't leak into other forms named "login" elsewhere. */

/* ---- 1. Login page wrapper -- center the form ---- */
.tru-dark form#login {
	display: block !important;
	max-width: 480px !important;
	margin: 32px auto !important;
	padding: 0 !important;
	background: transparent !important;
}

/* ---- 2. Both .panel cards (login + register) ---- */
.tru-dark form#login .panel,
.tru-dark form#login > .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark form#login .panel:last-of-type,
.tru-dark form#login > .panel:last-of-type {
	margin-bottom: 32px !important;
}
.tru-dark form#login .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 32px 36px !important;
	display: block !important;
}
.tru-dark form#login .panel .content {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* ---- 3. Login title -- editorial serif ---- */
.tru-dark form#login h2.login-title {
	font-family: var(--f-serif) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	text-align: center !important;
}
/* Add a "section kicker" above the title using ::before */
.tru-dark form#login h2.login-title::before {
	content: "\00A7 ACCESS";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	margin-bottom: 10px !important;
	text-transform: uppercase !important;
}
/* Add a subtle italic tagline below */
.tru-dark form#login h2.login-title::after {
	content: "Welcome back.";
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: var(--ink-3) !important;
	margin-top: 6px !important;
	margin-bottom: 24px !important;
	text-transform: none !important;
}

/* ---- 4. Login fieldset reset ---- */
.tru-dark form#login fieldset,
.tru-dark form#login fieldset.fields1,
.tru-dark form#login fieldset.fields2 {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- 5. Error block ---- */
.tru-dark form#login .error,
.tru-dark form#login div.error,
.tru-dark form#login p.error {
	background: rgba(184,66,61,0.08) !important;
	color: var(--red) !important;
	border-left: 2px solid var(--red) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 10px 14px !important;
	margin: 0 0 18px 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

/* ---- 6. Form rows -- dl/dt/dd ---- */
.tru-dark form#login fieldset dl {
	display: block !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	clear: both !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#login fieldset dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#login fieldset dl dt label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: default !important;
}
.tru-dark form#login fieldset dl dd {
	display: block !important;
	float: none !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

/* Hide empty <dt>&nbsp;</dt> placeholder rows (checkbox group, submit group) */
.tru-dark form#login fieldset dl > dt:empty,
.tru-dark form#login fieldset dl:has(input[type="checkbox"]) > dt,
.tru-dark form#login fieldset dl:has(input[type="submit"]) > dt {
	display: none !important;
}
/* Fallback for browsers without :has() -- can't reliably hide based on
   sibling content, but the &nbsp; dt will at minimum render with no visible
   label text. Use white-space normalization to collapse it. */
.tru-dark form#login fieldset dl > dt {
	min-height: 0 !important;
}

/* ---- 7. Inputs -- username, password ---- */
.tru-dark form#login input[type="text"],
.tru-dark form#login input[type="password"],
.tru-dark form#login input[type="email"],
.tru-dark form#login input.inputbox,
.tru-dark form#login input.inputbox.autowidth {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	letter-spacing: 0.01em !important;
	padding: 11px 14px !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
	min-width: 0 !important;
}
.tru-dark form#login input[type="text"]:focus,
.tru-dark form#login input[type="password"]:focus,
.tru-dark form#login input[type="email"]:focus,
.tru-dark form#login input.inputbox:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark form#login input::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* ---- 8. Forgot password / Resend activation links ---- */
/* These render as <dd><a>...</a></dd> rows immediately under the password input */
.tru-dark form#login fieldset dl dd a {
	display: inline-block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	color: var(--ink-3) !important;
	text-decoration: none !important;
	margin-top: 6px !important;
	transition: color 0.15s !important;
}
.tru-dark form#login fieldset dl dd a:hover {
	color: var(--gold) !important;
	text-decoration: underline !important;
}

/* ---- 9. Checkbox rows (Remember me, Hide me online) ---- */
.tru-dark form#login fieldset dl dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
}
.tru-dark form#login fieldset dl dd label:hover {
	color: var(--ink) !important;
}
.tru-dark form#login input[type="checkbox"],
.tru-dark form#login input[type="radio"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
	width: 14px !important;
	height: 14px !important;
}

/* ---- 10. Submit button -- gold solid, full-width feel ---- */
.tru-dark form#login input[type="submit"].button1,
.tru-dark form#login input[name="login"] {
	display: block !important;
	width: 100% !important;
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 14px 24px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	margin-top: 12px !important;
	transition: background 0.15s !important;
}
.tru-dark form#login input[type="submit"].button1:hover,
.tru-dark form#login input[name="login"]:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}

/* ---- 11. Register CTA panel (the SECOND .panel after login) ---- */
.tru-dark form#login .panel + .panel,
.tru-dark form#login > .panel:nth-of-type(2) {
	background: transparent !important;
	background-image: none !important;
	border: 1px dashed var(--line-2) !important;
	border-radius: 2px !important;
}
.tru-dark form#login .panel + .panel > .inner {
	padding: 26px 32px !important;
	text-align: center !important;
}
.tru-dark form#login .panel + .panel .content {
	text-align: center !important;
}
.tru-dark form#login .panel + .panel h3 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}
.tru-dark form#login .panel + .panel p {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--ink-2) !important;
	line-height: 1.6 !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	text-align: center !important;
}
.tru-dark form#login .panel + .panel p strong {
	font-weight: 400 !important;
	font-style: normal !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
}
.tru-dark form#login .panel + .panel p strong a {
	color: var(--ink-2) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark form#login .panel + .panel p strong a:hover {
	color: var(--gold) !important;
	text-decoration: underline !important;
}

/* ---- 12. Dashed separator inside register panel ---- */
.tru-dark form#login hr,
.tru-dark form#login hr.dashed {
	border: none !important;
	border-top: 1px dashed var(--line-2) !important;
	margin: 16px auto !important;
	background: transparent !important;
	height: 0 !important;
	max-width: 60% !important;
}

/* ---- 13. Register CTA button -- a.button2 ---- */
.tru-dark form#login a.button2,
.tru-dark form#login .panel + .panel a.button2 {
	display: inline-block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 12px 28px !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	margin-top: 8px !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark form#login a.button2:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
	background: var(--gold-wash) !important;
}

/* ---- 14. CAPTCHA panel (when shown after failed attempts) ---- */
.tru-dark form#login .captcha-panel,
.tru-dark form#login fieldset.fields2 {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 16px 0 !important;
}
.tru-dark form#login .captcha-panel img {
	max-width: 100% !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
}

/* ---- 15. OAuth providers (login_body_oauth.html include) ---- */
.tru-dark form#login .oauth,
.tru-dark form#login fieldset.oauth {
	margin-top: 22px !important;
	padding-top: 18px !important;
	border-top: 1px solid var(--line) !important;
}
.tru-dark form#login fieldset.oauth legend {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
}

/* ---- 16. S_LOGIN_REDIRECT and hidden fields cleanup ---- */
/* These render as hidden inputs inside the form -- nothing to style, just
   ensure their containers don't leak whitespace */
.tru-dark form#login input[type="hidden"] {
	display: none !important;
}

/* ---- 17. Mobile breakpoint ---- */
@media only screen and (max-width: 600px) {
	.tru-dark form#login {
		max-width: 100% !important;
		margin: 16px auto !important;
		padding: 0 14px !important;
	}
	.tru-dark form#login .panel > .inner {
		padding: 24px 22px !important;
	}
	.tru-dark form#login h2.login-title {
		font-size: 22px !important;
	}
	.tru-dark form#login .panel + .panel > .inner {
		padding: 22px 22px !important;
	}
	.tru-dark form#login a.button2 {
		display: block !important;
		text-align: center !important;
		padding: 12px 18px !important;
	}
}

/* ===== END PHASE 4 SESSION 12 -- LOGIN PAGE RESTYLE ===== */

/* ===== PHASE 4 SESSION 13 -- REGISTRATION + AGREEMENT RESTYLE ===== */
/* DOM (verified from ucp_agreement.html, ucp_register.html):

   AGREEMENT PAGE (ucp_agreement.html, S_REGISTRATION mode):
     <form id="register"><p class="rightside">                <-- lang switcher
       <label>Language:</label><select>...</select>
     </p></form>
     <div class="clear"></div>
     <form id="agreement">
       <div class="panel">
         <div class="inner"><div class="content">
           <h2 class="sitename-title">SITENAME - Registration</h2>
           <div class="agreement">[long terms of service text]</div>
         </div></div>
       </div>
       <div class="panel">
         <div class="inner">
           <fieldset class="submit-buttons">
             <input class="button1" name="agreed" value="I agree...">
             <input class="button2" name="not_agreed" value="I do not agree">
           </fieldset>
         </div>
       </div>
     </form>

   STANDALONE AGREEMENT PAGE (S_AGREEMENT mode, no form):
     <div class="panel">
       <div class="inner"><div class="content">
         <h2 class="sitename-title">SITENAME - Title</h2>
         <div class="agreement">[text]</div>
       </div></div>
     </div>

   REGISTRATION FORM (ucp_register.html):
     [optional] <div class="panel"><div class="inner">       <-- OAuth
       <h2>SITENAME - OAuth Registration</h2>
       [oauth provider buttons]
     </div></div>
     <form id="register">
       <div class="panel">                                    <-- main form
         <div class="inner">
           <h2>SITENAME - Registration</h2>
           <fieldset class="fields2">
             [error] <dl><dd class="error">{ERROR}</dd></dl>
             [reg cond] <dl><dd><strong>Reg condition</strong></dd></dl>
             <dl>
               <dt><label>Username:</label><br><span>explain</span></dt>
               <dd><input class="inputbox autowidth"></dd>
             </dl>
             ...similar for password, email, etc...
             <hr>
             [lang select dl]
             [timezone include dl]
             [required indicator] <dl><dd><strong>* Required</strong></dd></dl>
             [profile fields BEGIN..END loop with dl]
           </fieldset>
         </div>
       </div>
       [optional CAPTCHA include]
       [optional] <div class="panel"><div class="inner">     <-- COPPA
         <h4>COPPA Compliance</h4><p>...</p>
       </div></div>
       <div class="panel"><div class="inner">                <-- submit row
         <fieldset class="submit-buttons">
           <input class="button1 default-submit-action" name="submit" value="Submit">
         </fieldset>
       </div></div>
     </form>

   Strategy: scope to form#register, form#agreement, and standalone .panel
   blocks on these pages. Mirror login's centered-card pattern but slightly
   wider (640px) for the additional registration fields. Reuse the small-caps
   gold label + italic explain pattern from UCP/login. Style the long
   agreement text as readable serif body. Hide the language-switcher form
   (it's redundant with site-wide language) or style it minimally. */

/* ---- 1. Form wrappers -- centered cards ---- */
.tru-dark form#register,
.tru-dark form#agreement,
.tru-dark body.tru-dark > #wrap form#register,
.tru-dark body.tru-dark > #wrap form#agreement {
	display: block !important;
	max-width: 640px !important;
	margin: 32px auto !important;
	padding: 0 !important;
	background: transparent !important;
}

/* When the agreement page renders with no form (S_AGREEMENT only mode),
   the .panel sits as a direct child. Center its containing area too. */
.tru-dark #page-body > .panel:has(> .inner > .content > h2.sitename-title) {
	max-width: 720px !important;
	margin: 32px auto !important;
}

/* ---- 2. Language switcher at top of agreement page ---- */
/* Renders as <form id="register"><p class="rightside">...</p></form> right
   above the main agreement form. We want it understated -- right-aligned,
   muted, small. */
.tru-dark form#register p.rightside,
.tru-dark p.rightside:has(select#lang) {
	max-width: 640px !important;
	margin: 18px auto -12px auto !important;
	padding: 0 4px !important;
	text-align: right !important;
	background: transparent !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.06em !important;
}
.tru-dark form#register p.rightside label {
	display: inline-block !important;
	margin-right: 8px !important;
	color: var(--ink-3) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}
.tru-dark form#register p.rightside select {
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	padding: 5px 8px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}
.tru-dark form#register p.rightside select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark .clear {
	clear: both !important;
}

/* ---- 3. All .panel cards inside register/agreement flows ---- */
.tru-dark form#register > .panel,
.tru-dark form#agreement > .panel,
.tru-dark form#register .panel,
.tru-dark form#agreement .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark form#register > .panel:last-of-type,
.tru-dark form#agreement > .panel:last-of-type {
	margin-bottom: 32px !important;
}
.tru-dark form#register .panel > .inner,
.tru-dark form#agreement .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 32px 36px !important;
	display: block !important;
}
.tru-dark form#register .panel .content,
.tru-dark form#agreement .panel .content {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Standalone agreement page (no form wrapper) -- the .panel is a direct
   #page-body child. Style it the same way. */
.tru-dark #page-body > .panel:has(.sitename-title),
.tru-dark #page-body > .panel:has(.agreement) {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 32px auto !important;
	max-width: 720px !important;
}
.tru-dark #page-body > .panel:has(.sitename-title) > .inner,
.tru-dark #page-body > .panel:has(.agreement) > .inner {
	background: transparent !important;
	padding: 36px 40px !important;
}

/* ---- 4. Page heading -- h2.sitename-title (agreement) and plain h2 (register) ---- */
.tru-dark form#agreement h2.sitename-title,
.tru-dark form#register .panel > .inner > h2,
.tru-dark form#register .panel .content h2.sitename-title,
.tru-dark .panel .content h2.sitename-title,
.tru-dark .panel > .inner > h2:first-child {
	font-family: var(--f-serif) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	text-align: center !important;
}
/* Section kicker above the heading */
.tru-dark form#register .panel > .inner > h2:first-child::before,
.tru-dark form#agreement h2.sitename-title::before,
.tru-dark .panel .content h2.sitename-title::before {
	content: "\00A7 JOIN";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	margin-bottom: 10px !important;
	text-transform: uppercase !important;
}
/* Tagline below the heading */
.tru-dark form#register .panel > .inner > h2:first-child::after,
.tru-dark form#agreement h2.sitename-title::after,
.tru-dark .panel .content h2.sitename-title::after {
	content: "Create your account.";
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: var(--ink-3) !important;
	margin-top: 6px !important;
	margin-bottom: 24px !important;
	text-transform: none !important;
}
/* Override the tagline on the agreement page specifically */
.tru-dark form#agreement h2.sitename-title::after {
	content: "Please review and accept the terms below.";
}

/* OAuth registration heading -- override the kicker */
.tru-dark form#register .panel:first-of-type > .inner > h2:first-child::before {
	content: "\00A7 EXTERNAL ACCOUNT";
}
.tru-dark form#register .panel:first-of-type > .inner > h2:first-child::after {
	content: "Continue with your linked account.";
}

/* ---- 5. The agreement text body -- .agreement ---- */
/* Long ToS / privacy text. Style as readable editorial body. */
.tru-dark .agreement {
	font-family: var(--f-marg) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--ink-2) !important;
	margin: 0 !important;
	padding: 18px 0 8px 0 !important;
	background: transparent !important;
	border-top: 1px solid var(--line) !important;
	max-height: 60vh !important;
	overflow-y: auto !important;
	padding-right: 16px !important;
	scrollbar-width: thin !important;
	scrollbar-color: var(--gold-3) transparent !important;
}
.tru-dark .agreement::-webkit-scrollbar {
	width: 8px !important;
}
.tru-dark .agreement::-webkit-scrollbar-track {
	background: transparent !important;
}
.tru-dark .agreement::-webkit-scrollbar-thumb {
	background: var(--gold-3) !important;
	border-radius: 4px !important;
}
.tru-dark .agreement::-webkit-scrollbar-thumb:hover {
	background: var(--gold) !important;
}
.tru-dark .agreement p {
	margin: 0 0 14px 0 !important;
	color: var(--ink-2) !important;
	font-family: inherit !important;
	font-size: inherit !important;
}
.tru-dark .agreement p.agreement-text {
	font-style: italic !important;
	color: var(--ink) !important;
}
.tru-dark .agreement h1,
.tru-dark .agreement h2,
.tru-dark .agreement h3,
.tru-dark .agreement h4,
.tru-dark .agreement strong {
	font-family: var(--f-sans) !important;
	color: var(--ink) !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em !important;
}
.tru-dark .agreement h2 {
	font-size: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	color: var(--gold) !important;
	margin: 22px 0 10px 0 !important;
	padding-bottom: 4px !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark .agreement h3 {
	font-size: 13px !important;
	margin: 18px 0 8px 0 !important;
	color: var(--ink) !important;
}
.tru-dark .agreement a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark .agreement a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark .agreement ul,
.tru-dark .agreement ol {
	margin: 0 0 14px 22px !important;
	padding: 0 !important;
}
.tru-dark .agreement li {
	margin: 0 0 6px 0 !important;
}

/* ---- 6. Fieldset reset ---- */
.tru-dark form#register fieldset,
.tru-dark form#register fieldset.fields1,
.tru-dark form#register fieldset.fields2,
.tru-dark form#agreement fieldset {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- 7. Form rows (dl/dt/dd) -- editorial label + explain pattern ---- */
.tru-dark form#register fieldset dl,
.tru-dark form#agreement fieldset dl {
	display: block !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	clear: both !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#register fieldset dl dt,
.tru-dark form#agreement fieldset dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#register fieldset dl dt label,
.tru-dark form#agreement fieldset dl dt label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: default !important;
}
/* The <span> below the label has the explain text */
.tru-dark form#register fieldset dl dt > span,
.tru-dark form#register fieldset dl dt span,
.tru-dark form#agreement fieldset dl dt span {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-3) !important;
	margin: 4px 0 0 0 !important;
	line-height: 1.5 !important;
}
/* Inline error span inside dt (under explain text) */
.tru-dark form#register fieldset dl dt span.error,
.tru-dark form#agreement fieldset dl dt span.error {
	color: var(--red) !important;
	font-style: normal !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	margin-top: 6px !important;
}
.tru-dark form#register fieldset dl dd,
.tru-dark form#agreement fieldset dl dd {
	display: block !important;
	float: none !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
}

/* dd-only error rows (top of fieldset) */
.tru-dark form#register fieldset dl dd.error {
	background: rgba(184,66,61,0.08) !important;
	color: var(--red) !important;
	border-left: 2px solid var(--red) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 10px 14px !important;
	margin: 0 0 18px 0 !important;
	font-weight: 600 !important;
}

/* dd <strong> rows (registration condition, "* Required items") */
.tru-dark form#register fieldset dl dd strong {
	display: inline-block !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
}

/* ---- 8. Inputs (text, password, email, etc) ---- */
.tru-dark form#register input[type="text"],
.tru-dark form#register input[type="password"],
.tru-dark form#register input[type="email"],
.tru-dark form#register input[type="number"],
.tru-dark form#register input[type="url"],
.tru-dark form#register input[type="tel"],
.tru-dark form#register input.inputbox,
.tru-dark form#register input.inputbox.autowidth {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	letter-spacing: 0.01em !important;
	padding: 11px 14px !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
	min-width: 0 !important;
}
.tru-dark form#register input[type="text"]:focus,
.tru-dark form#register input[type="password"]:focus,
.tru-dark form#register input[type="email"]:focus,
.tru-dark form#register input.inputbox:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark form#register input::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}

/* ---- 9. Selects (language, timezone, profile field selects) ---- */
.tru-dark form#register select {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	padding: 10px 12px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 0 !important;
}
.tru-dark form#register select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark form#register select option {
	background: var(--paper-editor) !important;
	color: var(--ink) !important;
}

/* ---- 10. Textareas (some profile fields use textarea) ---- */
.tru-dark form#register textarea,
.tru-dark form#register textarea.inputbox {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	padding: 12px 14px !important;
	border-radius: 2px !important;
	resize: vertical !important;
	min-height: 80px !important;
	box-shadow: none !important;
}
.tru-dark form#register textarea:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}

/* ---- 11. Radios and checkboxes (some profile fields) ---- */
.tru-dark form#register input[type="radio"],
.tru-dark form#register input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
	width: 14px !important;
	height: 14px !important;
}
.tru-dark form#register fieldset dl dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 16px 6px 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
}
.tru-dark form#register fieldset dl dd label:hover {
	color: var(--ink) !important;
}

/* ---- 12. HR separator inside fieldset ---- */
.tru-dark form#register fieldset hr,
.tru-dark form#register fieldset hr.dashed,
.tru-dark form#agreement fieldset hr {
	border: none !important;
	border-top: 1px solid var(--line) !important;
	margin: 22px 0 22px 0 !important;
	background: transparent !important;
	height: 0 !important;
}

/* ---- 13. COPPA compliance panel (h4 + p inside its own .panel) ---- */
.tru-dark form#register .panel:has(> .inner > h4) {
	border-color: var(--line-2) !important;
	border-style: dashed !important;
}
.tru-dark form#register .panel > .inner > h4 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}
.tru-dark form#register .panel > .inner > p {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	line-height: 1.65 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- 14. Submit row -- fieldset.submit-buttons ---- */
.tru-dark form#register fieldset.submit-buttons,
.tru-dark form#agreement fieldset.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	justify-content: center !important;
	align-items: center !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ---- 15. Submit buttons -- gold solid (button1) and gold ghost (button2) ---- */
/* These need higher specificity than the existing button rules at line 7240 */
.tru-dark form#register input[type="submit"].button1,
.tru-dark form#register input[type="submit"].button1.default-submit-action,
.tru-dark form#register input[name="submit"],
.tru-dark form#agreement input[type="submit"].button1,
.tru-dark form#agreement input[name="agreed"],
.tru-dark form#agreement input[name="coppa_no"] {
	display: inline-block !important;
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 13px 28px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background 0.15s !important;
	min-width: 180px !important;
}
.tru-dark form#register input[type="submit"].button1:hover,
.tru-dark form#agreement input[type="submit"].button1:hover,
.tru-dark form#agreement input[name="agreed"]:hover,
.tru-dark form#agreement input[name="coppa_no"]:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}

.tru-dark form#register input[type="submit"].button2,
.tru-dark form#agreement input[type="submit"].button2,
.tru-dark form#agreement input[name="not_agreed"],
.tru-dark form#agreement input[name="coppa_yes"] {
	display: inline-block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-3) !important;
	border: 1px solid var(--line-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 13px 28px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 180px !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark form#agreement input[name="not_agreed"]:hover,
.tru-dark form#agreement input[name="coppa_yes"]:hover {
	color: var(--ink-2) !important;
	border-color: var(--line-3) !important;
}

/* ---- 16. CAPTCHA panel (rendered between main form and submit row) ---- */
.tru-dark form#register .captcha-panel,
.tru-dark form#register dl:has(input[name="confirm_code"]),
.tru-dark form#register dl:has(.captcha) {
	background: transparent !important;
	border: none !important;
	margin: 18px 0 !important;
	padding: 0 !important;
}
.tru-dark form#register .captcha-panel img,
.tru-dark form#register img.captcha {
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	max-width: 100% !important;
	display: block !important;
	margin: 8px 0 !important;
}

/* ---- 17. Mobile breakpoint ---- */
@media only screen and (max-width: 700px) {
	.tru-dark form#register,
	.tru-dark form#agreement {
		max-width: 100% !important;
		margin: 16px auto !important;
		padding: 0 14px !important;
	}
	.tru-dark form#register p.rightside,
	.tru-dark p.rightside:has(select#lang) {
		max-width: 100% !important;
		margin: 14px 14px -8px 14px !important;
		text-align: left !important;
	}
	.tru-dark form#register .panel > .inner,
	.tru-dark form#agreement .panel > .inner {
		padding: 24px 22px !important;
	}
	.tru-dark form#agreement h2.sitename-title,
	.tru-dark form#register .panel > .inner > h2:first-child {
		font-size: 22px !important;
	}
	.tru-dark .agreement {
		font-size: 15px !important;
		max-height: 52vh !important;
	}
	.tru-dark form#register fieldset.submit-buttons,
	.tru-dark form#agreement fieldset.submit-buttons {
		flex-direction: column !important;
		gap: 10px !important;
	}
	.tru-dark form#register input[type="submit"].button1,
	.tru-dark form#register input[type="submit"].button2,
	.tru-dark form#agreement input[type="submit"].button1,
	.tru-dark form#agreement input[type="submit"].button2,
	.tru-dark form#agreement input[name="agreed"],
	.tru-dark form#agreement input[name="not_agreed"],
	.tru-dark form#agreement input[name="coppa_yes"],
	.tru-dark form#agreement input[name="coppa_no"] {
		width: 100% !important;
		min-width: 0 !important;
	}
	.tru-dark #page-body > .panel:has(.sitename-title),
	.tru-dark #page-body > .panel:has(.agreement) {
		max-width: 100% !important;
		margin: 16px 14px !important;
	}
	.tru-dark #page-body > .panel:has(.sitename-title) > .inner,
	.tru-dark #page-body > .panel:has(.agreement) > .inner {
		padding: 24px 22px !important;
	}
}

/* ===== END PHASE 4 SESSION 13 -- REGISTRATION + AGREEMENT RESTYLE ===== */

/* ===== PHASE 4 SESSION 14 -- AUTH-FLOW SMALL PAGES + GLOBAL CRIMSON SWEEP ===== */
/* Covers all the small phpBB pages that were leaking crimson/white because
   they hit the global .panel { #fff } at line 923 + #page-body > .panel
   { #fff } at line 1875 + #page-body h2 { color #1a0008; border 2px solid
   #e8e0e4 } at line 1882. None of these had specific overrides yet.

   Pages this fixes:
   - Forgot/Reset password (ucp_reset_password.html, form#reset_password)
   - Resend activation (ucp_resend.html, form#resend)
   - Confirm dialogs (confirm_body.html, form#confirm + AJAX inline form)
   - Generic message page (message_body.html, .panel#message + h2.message-title)
     -- this one is HUGE, used for: registration success, login error,
        permission denied, post submitted, account activated, logout, etc.
   - Catch-all for any remaining #page-body > .panel that didn't get a
     specific override (defensive paint)
   - Generic #page-body h2 (kills the pink #e8e0e4 border-bottom on dark bg)

   Specificity: prefix with .tru-dark to beat the legacy #page-body rules. */

/* ---- 1. Forgot/reset password form -- form#reset_password ---- */
.tru-dark form#reset_password {
	display: block !important;
	max-width: 480px !important;
	margin: 32px auto !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark form#reset_password .panel,
.tru-dark form#reset_password > .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark form#reset_password .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 32px 36px !important;
	display: block !important;
}
.tru-dark form#reset_password .content {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark form#reset_password .content > h2 {
	font-family: var(--f-serif) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	text-align: center !important;
}
.tru-dark form#reset_password .content > h2::before {
	content: "\00A7 RECOVER";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	margin-bottom: 10px !important;
	text-transform: uppercase !important;
}
.tru-dark form#reset_password .content > h2::after {
	content: "We will email you a link to reset your password.";
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: var(--ink-3) !important;
	margin-top: 6px !important;
	margin-bottom: 24px !important;
	text-transform: none !important;
}
/* When in "set new password" mode (S_IS_PASSWORD_RESET), change the tagline */
.tru-dark form#reset_password .content > h2:has(~ fieldset input[name="new_password"])::after,
.tru-dark form[action*="reset_password"] .content > h2::after {
	content: "Choose a new password for your account.";
}

/* ---- 2. Resend activation form -- form#resend ---- */
.tru-dark form#resend {
	display: block !important;
	max-width: 480px !important;
	margin: 32px auto !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark form#resend .panel,
.tru-dark form#resend > .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form#resend .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 32px 36px !important;
	display: block !important;
}
.tru-dark form#resend .content {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark form#resend .content > h2 {
	font-family: var(--f-serif) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	text-align: center !important;
}
.tru-dark form#resend .content > h2::before {
	content: "\00A7 ACTIVATION";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	margin-bottom: 10px !important;
	text-transform: uppercase !important;
}
.tru-dark form#resend .content > h2::after {
	content: "We will resend your account activation email.";
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	color: var(--ink-3) !important;
	margin-top: 6px !important;
	margin-bottom: 24px !important;
	text-transform: none !important;
}

/* ---- 3. Shared form internals for resend + reset_password ---- */
.tru-dark form#resend fieldset,
.tru-dark form#reset_password fieldset {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form#resend fieldset dl,
.tru-dark form#reset_password fieldset dl {
	display: block !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	clear: both !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#resend fieldset dl dt,
.tru-dark form#reset_password fieldset dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form#resend fieldset dl dt label,
.tru-dark form#reset_password fieldset dl dt label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: default !important;
}
.tru-dark form#resend fieldset dl dt span,
.tru-dark form#reset_password fieldset dl dt span {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-3) !important;
	margin: 4px 0 0 0 !important;
	line-height: 1.5 !important;
}
.tru-dark form#resend fieldset dl dd,
.tru-dark form#reset_password fieldset dl dd {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
/* Hide empty <dt>&nbsp;</dt> placeholder rows on submit */
.tru-dark form#resend fieldset dl:has(input[type="submit"]) > dt,
.tru-dark form#reset_password fieldset dl:has(input[type="submit"]) > dt {
	display: none !important;
}
/* Inputs */
.tru-dark form#resend input[type="text"],
.tru-dark form#resend input[type="email"],
.tru-dark form#resend input[type="password"],
.tru-dark form#resend input.inputbox,
.tru-dark form#resend input.inputbox.narrow,
.tru-dark form#resend input.inputbox.autowidth,
.tru-dark form#reset_password input[type="text"],
.tru-dark form#reset_password input[type="email"],
.tru-dark form#reset_password input[type="password"],
.tru-dark form#reset_password input.inputbox,
.tru-dark form#reset_password input.inputbox.autowidth {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 15px !important;
	letter-spacing: 0.01em !important;
	padding: 11px 14px !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
	min-width: 0 !important;
}
.tru-dark form#resend input:focus,
.tru-dark form#reset_password input:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
/* Error block */
.tru-dark form#reset_password p.error,
.tru-dark form#reset_password .error,
.tru-dark form#resend p.error,
.tru-dark form#resend .error {
	background: rgba(184,66,61,0.08) !important;
	color: var(--red) !important;
	border-left: 2px solid var(--red) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 10px 14px !important;
	margin: 0 0 18px 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
/* Submit button -- gold solid full-width */
.tru-dark form#resend input[type="submit"].button1,
.tru-dark form#resend input[name="submit"],
.tru-dark form#reset_password input[type="submit"].button1,
.tru-dark form#reset_password input[name="submit"] {
	display: block !important;
	width: 100% !important;
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 14px 24px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	margin-top: 12px !important;
	transition: background 0.15s !important;
}
.tru-dark form#resend input[type="submit"].button1:hover,
.tru-dark form#reset_password input[type="submit"].button1:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}

/* ---- 4. Generic message page -- .panel#message + h2.message-title ---- */
.tru-dark #page-body .panel#message,
.tru-dark .panel#message,
.tru-dark #page-body > .panel#message {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	max-width: 640px !important;
	margin: 32px auto !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark #page-body .panel#message > .inner,
.tru-dark .panel#message > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 36px 40px !important;
	display: block !important;
}
.tru-dark h2.message-title,
.tru-dark .panel#message h2.message-title,
.tru-dark #page-body .panel#message h2.message-title {
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: var(--ink) !important;
	margin: 0 0 16px 0 !important;
	padding: 0 0 14px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	text-align: left !important;
}
.tru-dark .panel#message p,
.tru-dark #page-body .panel#message > .inner > p {
	font-family: var(--f-marg) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--ink-2) !important;
	line-height: 1.7 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark .panel#message p:last-of-type {
	margin-bottom: 0 !important;
}
.tru-dark .panel#message a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark .panel#message a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
/* Return-to-search arrow link */
.tru-dark .panel#message a.arrow-left,
.tru-dark .panel#message a.arrow-right,
.tru-dark .panel#message a[class*="arrow-"] {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin-top: 10px !important;
}
.tru-dark .panel#message a[class*="arrow-"] .icon {
	color: var(--gold) !important;
}
.tru-dark .panel#message a[class*="arrow-"] span {
	color: inherit !important;
}

/* ---- 5. Confirm dialog (non-AJAX) -- form#confirm ---- */
.tru-dark form#confirm {
	display: block !important;
	max-width: 480px !important;
	margin: 48px auto !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark form#confirm .panel,
.tru-dark form#confirm > .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form#confirm .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 32px 36px !important;
	display: block !important;
}
.tru-dark form#confirm h2.message-title {
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	color: var(--ink) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	text-align: center !important;
}
.tru-dark form#confirm h2.message-title::before {
	content: "\00A7 CONFIRM";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--red) !important;
	margin-bottom: 8px !important;
	text-transform: uppercase !important;
}
.tru-dark form#confirm p {
	font-family: var(--f-marg) !important;
	font-size: 15px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.65 !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
	text-align: center !important;
	background: transparent !important;
}
.tru-dark form#confirm fieldset.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	justify-content: center !important;
	align-items: center !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* "Yes" -- destructive primary, red accent */
.tru-dark form#confirm input[type="submit"][name="confirm"],
.tru-dark form#confirm input[type="button"][name="confirm"] {
	display: inline-block !important;
	background: var(--red) !important;
	background-image: none !important;
	color: #fff !important;
	border: 1px solid var(--red) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 12px 24px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	min-width: 120px !important;
	transition: background 0.15s, border-color 0.15s !important;
}
.tru-dark form#confirm input[type="submit"][name="confirm"]:hover,
.tru-dark form#confirm input[type="button"][name="confirm"]:hover {
	background: #d96a64 !important;
	border-color: #d96a64 !important;
}
/* "No" -- safe secondary, ghost */
.tru-dark form#confirm input[type="submit"][name="cancel"],
.tru-dark form#confirm input[type="button"][name="cancel"] {
	display: inline-block !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 12px 24px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 120px !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark form#confirm input[type="submit"][name="cancel"]:hover,
.tru-dark form#confirm input[type="button"][name="cancel"]:hover {
	color: var(--ink) !important;
	border-color: var(--line-3) !important;
}

/* ---- 6. AJAX confirm dialog (no panel wrapper, no header/footer) ---- */
/* Renders just <form><h3>+<p>+<fieldset.submit-buttons>. Lives inside
   a phpBB modal/popup. Match by attribute to be safe. */
.tru-dark form[action*="confirm"]:not(#confirm) h3,
.tru-dark .phpbb-confirmation form h3 {
	font-family: var(--f-serif) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}
.tru-dark form[action*="confirm"]:not(#confirm) p,
.tru-dark .phpbb-confirmation form p {
	font-family: var(--f-marg) !important;
	font-size: 14px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.6 !important;
	margin: 0 0 18px 0 !important;
}
.tru-dark form[action*="confirm"]:not(#confirm) fieldset.submit-buttons {
	display: flex !important;
	gap: 10px !important;
	justify-content: flex-end !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form[action*="confirm"]:not(#confirm) input[name="confirm"] {
	background: var(--red) !important;
	color: #fff !important;
	border: 1px solid var(--red) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 10px 20px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}
.tru-dark form[action*="confirm"]:not(#confirm) input[name="cancel"] {
	background: transparent !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 10px 20px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
}

/* ---- 7. Generic #page-body h2 -- override the line 1882 pinkish underline ---- */
/* This is the global rule that affects the h2 on every plain page. The
   legacy made it dark text + pink underline. Make it editorial serif gold-3
   underline. Scope to NOT collide with already-styled h2 contexts:
   - h2.ucp-title (already styled in S11)
   - h2.login-title (already styled in S12)
   - h2.sitename-title (already styled in S13)
   - h2.message-title (already styled above in this block)
   - h2.posting-title (already styled in S8 masthead)
   - #postingbox h2, #cp-main h2 (already scoped)
   So target: #page-body h2 NOT inside those scopes. */
.tru-dark #page-body h2:not(.ucp-title):not(.login-title):not(.sitename-title):not(.message-title):not(.posting-title) {
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	color: var(--ink) !important;
	margin: 18px 0 14px 0 !important;
	padding: 0 0 10px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}
/* Exception: don't override h2 already inside #cp-main (UCP scope) or
   #postingbox (composer) -- those have their own scoped rules. */
.tru-dark #page-body #cp-main h2,
.tru-dark #page-body #postingbox h2 {
	border-bottom-color: var(--line) !important;
}

/* ---- 8. Defensive catch-all -- any #page-body > .panel still rendering white ---- */
/* Beats line 1875: #page-body > .panel { background: #fff }.
   Excludes panels that have specific overrides already (forabg, profile,
   forumbg, etc -- those use their own classes, not .panel directly). */
.tru-dark #page-body > .panel:not(.profile):not(.forabg):not(.forumbg):not([id="postingbox"]):not([id="options-panel"]):not([id="attach-panel"]):not(.bg3) {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}
.tru-dark #page-body > .panel:not(.profile):not(.forabg):not(.forumbg):not([id="postingbox"]):not([id="options-panel"]):not([id="attach-panel"]):not(.bg3) > .inner {
	background: transparent !important;
	background-image: none !important;
}

/* ---- 9. Generic <p class="error"> styling outside the auth flows ---- */
/* The legacy phpBB error class is just colored red text. Bring it up to
   editorial standard for any context -- bordered red callout block. */
.tru-dark #page-body p.error,
.tru-dark #page-body .errorbox,
.tru-dark #page-body div.error {
	background: rgba(184,66,61,0.08) !important;
	color: var(--red) !important;
	border-left: 2px solid var(--red) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 10px 14px !important;
	margin: 0 0 16px 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}
.tru-dark #page-body span.error,
.tru-dark .error span {
	color: var(--red) !important;
	font-family: var(--f-sans) !important;
	font-weight: 600 !important;
}

/* ---- 10. simple_message (used for AJAX error responses, mini-popups) ---- */
.tru-dark #simple-wrap,
.tru-dark .simple-wrap,
.tru-dark body.simple-wrap {
	background: var(--bg) !important;
	color: var(--ink) !important;
}
.tru-dark .simple-wrap .panel#message,
.tru-dark #simple-wrap .panel#message {
	margin: 32px auto !important;
}

/* ---- 11. Mobile breakpoint ---- */
@media only screen and (max-width: 600px) {
	.tru-dark form#reset_password,
	.tru-dark form#resend,
	.tru-dark form#confirm {
		max-width: 100% !important;
		margin: 16px auto !important;
		padding: 0 14px !important;
	}
	.tru-dark form#reset_password .panel > .inner,
	.tru-dark form#resend .panel > .inner,
	.tru-dark form#confirm .panel > .inner {
		padding: 24px 22px !important;
	}
	.tru-dark form#reset_password .content > h2,
	.tru-dark form#resend .content > h2 {
		font-size: 22px !important;
	}
	.tru-dark #page-body .panel#message {
		max-width: 100% !important;
		margin: 16px 14px !important;
	}
	.tru-dark #page-body .panel#message > .inner {
		padding: 24px 22px !important;
	}
	.tru-dark form#confirm fieldset.submit-buttons {
		flex-direction: column !important;
		gap: 10px !important;
	}
	.tru-dark form#confirm input[name="confirm"],
	.tru-dark form#confirm input[name="cancel"] {
		width: 100% !important;
	}
}

/* ===== END PHASE 4 SESSION 14 -- AUTH-FLOW SMALL PAGES + GLOBAL CRIMSON SWEEP ===== */

/* ===== PHASE 4 SESSION 15 -- SEARCH PAGE RESTYLE ===== */
/* Two pages, two scopes:

   PAGE 1: search_body.html (the search FORM at /search.php)
     <h2 class="solo">Search</h2>
     <form data-focus="keywords">                  <-- form has NO id, scope by data-focus
       <div class="panel">                          <-- Search query section
         <div class="inner">
           <h3>Search Query</h3>
           <fieldset>
             <dl><dt><label>Keywords:</label><br><span>explain</span></dt>
               <dd><input type="search" class="inputbox"></dd>
               <dd><label><input type="radio" name="terms" value="all"> All terms</label></dd>
               <dd><label><input type="radio" name="terms" value="any"> Any terms</label></dd>
             </dl>
             <dl><dt><label>Author:</label></dt>
               <dd><input type="search" class="inputbox"></dd>
             </dl>
           </fieldset>
         </div>
       </div>
       <div class="panel bg2">                      <-- Search options section
         <div class="inner">
           <h3>Search Options</h3>
           <fieldset>
             <dl> ... forums multi-select ... </dl>
             <dl> ... search subforums radios ... </dl>
             <dl> ... search within radios ... </dl>
             <hr class="dashed">
             <dl> ... display results radios ... </dl>
             <dl> ... sort key + direction ... </dl>
             <dl> ... days dropdown ... </dl>
             <dl> ... return characters ... </dl>
           </fieldset>
         </div>
       </div>
       <div class="panel bg3">                      <-- Submit row
         <div class="inner"><fieldset class="submit-buttons">
           <input type="submit" class="button1" value="Search">
         </fieldset></div>
       </div>
     </form>
     [optional] <div class="forumbg forumbg-table"> <-- Recent searches table
       <div class="inner"><table class="table1">...</table></div>
     </div>

   PAGE 2: search_results.html (the search RESULTS at /search.php?...)
     <header class="forum-masthead search-results-masthead">  <-- already styled by .forum-masthead
       <div class="forum-masthead-kicker">Search Results</div>
       <h1 class="forum-masthead-title viewforum-title">{SEARCH_WORDS}</h1>
       <p class="forum-masthead-tag">Searched query: <strong>...</strong></p>
       <p class="search-results-back">                        <-- needs styling
         <a class="mark-read-link">&larr; Back</a>
       </p>
     </header>
     <div class="action-bar bar-top">                          <-- already styled
       <div class="action-bar-left">
         <form class="forum-search">                           <-- already styled
           <input name="add_keywords" placeholder="Search in results">
           <button class="forum-search-btn">Search</button>
         </form>
       </div>
       <div class="action-bar-right">
         <a class="mark-read-link">Mark read</a>
         <span class="search-results-count">N matches</span>
         <pagination>
       </div>
     </div>

     [TOPIC mode] -- already styled via .thread-row, .thread-title, etc.
     <div class="thread-list search-thread-list">
       <div class="thread-row [unread] [reported] [locked]">...</div>
     </div>

     [POST mode] -- NOT styled yet
     <div class="search-post-list">
       <article class="search-post-card">
         <header class="search-post-head">
           <h3 class="search-post-title"><a>Subject</a></h3>
           <div class="search-post-meta">by Author / time / in Forum / Topic: ...</div>
         </header>
         <div class="search-post-body">{MESSAGE}</div>
         <footer class="search-post-foot">
           <a class="forum-search-btn action-btn-ghost">Jump to post -></a>
           <span class="search-post-stats">N replies / N views</span>
         </footer>
       </article>
     </div>

     [no results]
     <div class="panel empty-panel">
       <div class="inner"><strong>No matching search results.</strong></div>
     </div>

   What needs new styling:
   - h2.solo (currently dark crimson #8a0a30 at line 2606) -> editorial gold/serif
   - The whole search form (centered card, paper-editor panels, dl pattern)
   - .forumbg-table recent-searches block
   - .search-results-back link
   - .search-post-card, .search-post-head, .search-post-title, .search-post-meta,
     .search-post-body, .search-post-foot, .search-post-stats
   - .empty-panel "no results" state

   Specificity: scope form via [data-focus="keywords"] attribute selector.
   Scope panels with that ancestor so we don't conflict with composer/UCP. */

/* ---- 1. h2.solo -- editorial heading (overrides line 2606 dark crimson) ---- */
.tru-dark h2.solo {
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	color: var(--ink) !important;
	margin: 24px 0 16px 0 !important;
	padding: 0 0 12px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	max-width: 720px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.tru-dark h2.solo::before {
	content: "\00A7 SEARCH";
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	margin-bottom: 6px !important;
	text-transform: uppercase !important;
}

/* ---- 2. Search form wrapper ---- */
.tru-dark form[data-focus="keywords"] {
	display: block !important;
	max-width: 720px !important;
	margin: 0 auto 24px auto !important;
	padding: 0 !important;
	background: transparent !important;
}

/* ---- 3. Search form panels (query / options / submit) ---- */
.tru-dark form[data-focus="keywords"] > .panel,
.tru-dark form[data-focus="keywords"] .panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}
.tru-dark form[data-focus="keywords"] > .panel:first-of-type {
	border-radius: 2px 2px 0 0 !important;
}
.tru-dark form[data-focus="keywords"] > .panel.bg2 {
	border-top: none !important;
}
.tru-dark form[data-focus="keywords"] > .panel.bg3 {
	border-top: none !important;
	border-radius: 0 0 2px 2px !important;
}
.tru-dark form[data-focus="keywords"] .panel > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 26px 32px !important;
	display: block !important;
}

/* ---- 4. Section headings inside search form (h3) ---- */
.tru-dark form[data-focus="keywords"] .panel > .inner > h3 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 0 18px 0 !important;
	padding: 0 0 10px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}

/* ---- 5. Fieldset reset ---- */
.tru-dark form[data-focus="keywords"] fieldset {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form[data-focus="keywords"] fieldset legend {
	display: none !important;
}

/* ---- 6. dl/dt/dd rows ---- */
.tru-dark form[data-focus="keywords"] fieldset dl {
	display: block !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	clear: both !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl:last-child {
	margin-bottom: 0 !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dt {
	display: block !important;
	float: none !important;
	width: auto !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dt label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: default !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dt > span {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-3) !important;
	margin: 4px 0 0 0 !important;
	line-height: 1.5 !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dd {
	display: block !important;
	float: none !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
}
/* dd labels (radio/checkbox option labels) */
.tru-dark form[data-focus="keywords"] fieldset dl dd label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 18px 6px 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ink-2) !important;
	cursor: pointer !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dd label:hover {
	color: var(--gold) !important;
}

/* ---- 7. Inputs (keywords, author -- type="search") ---- */
.tru-dark form[data-focus="keywords"] input[type="search"],
.tru-dark form[data-focus="keywords"] input[type="text"],
.tru-dark form[data-focus="keywords"] input[type="number"],
.tru-dark form[data-focus="keywords"] input.inputbox {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	letter-spacing: 0.01em !important;
	padding: 10px 14px !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: border-color 0.15s !important;
	min-width: 0 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}
.tru-dark form[data-focus="keywords"] input[type="search"]:focus,
.tru-dark form[data-focus="keywords"] input[type="text"]:focus,
.tru-dark form[data-focus="keywords"] input[type="number"]:focus,
.tru-dark form[data-focus="keywords"] input.inputbox:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark form[data-focus="keywords"] input[type="number"] {
	width: 110px !important;
	display: inline-block !important;
}
.tru-dark form[data-focus="keywords"] input::placeholder {
	color: var(--ink-3) !important;
	font-style: italic !important;
}
/* dd containing the number input + lang text "post characters" */
.tru-dark form[data-focus="keywords"] fieldset dl dd:has(input[type="number"]) {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

/* ---- 8. Selects (forums multi, sort key, days) ---- */
.tru-dark form[data-focus="keywords"] select {
	display: inline-block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: var(--paper-editor-2) !important;
	background-image: none !important;
	border: 1px solid var(--line-2) !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 9px 12px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	min-width: 0 !important;
}
.tru-dark form[data-focus="keywords"] select:focus {
	outline: none !important;
	border-color: var(--gold-3) !important;
}
.tru-dark form[data-focus="keywords"] select option {
	background: var(--paper-editor) !important;
	color: var(--ink) !important;
	padding: 4px 8px !important;
}
/* Multi-select forum picker is taller -- give it room */
.tru-dark form[data-focus="keywords"] select[multiple] {
	min-height: 180px !important;
	padding: 6px 8px !important;
}
.tru-dark form[data-focus="keywords"] select[multiple] option {
	padding: 5px 10px !important;
	border-radius: 2px !important;
}
.tru-dark form[data-focus="keywords"] select[multiple] option:checked {
	background: var(--gold) !important;
	color: #18120a !important;
}

/* Sort row -- inline select + radios */
.tru-dark form[data-focus="keywords"] fieldset dl dd:has(select):has(label) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}
.tru-dark form[data-focus="keywords"] fieldset dl dd:has(select):has(label) select {
	width: auto !important;
	min-width: 140px !important;
	display: inline-block !important;
	margin-right: 4px !important;
}

/* ---- 9. Radios + checkboxes ---- */
.tru-dark form[data-focus="keywords"] input[type="radio"],
.tru-dark form[data-focus="keywords"] input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
	width: 14px !important;
	height: 14px !important;
}

/* ---- 10. HR separator ---- */
.tru-dark form[data-focus="keywords"] fieldset hr,
.tru-dark form[data-focus="keywords"] fieldset hr.dashed {
	border: none !important;
	border-top: 1px dashed var(--line-2) !important;
	margin: 22px 0 !important;
	background: transparent !important;
	height: 0 !important;
}

/* ---- 11. Submit row ---- */
.tru-dark form[data-focus="keywords"] fieldset.submit-buttons {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	justify-content: flex-end !important;
	align-items: center !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark form[data-focus="keywords"] input[type="submit"].button1,
.tru-dark form[data-focus="keywords"] input[name="submit"] {
	display: inline-block !important;
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 12px 28px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
	min-width: 180px !important;
	transition: background 0.15s, border-color 0.15s !important;
}
.tru-dark form[data-focus="keywords"] input[type="submit"].button1:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}

/* ---- 12. Recent searches block (.forumbg-table outside the form) ---- */
/* search.php main page renders <div class="forumbg forumbg-table"> with
   <table class="table1"><thead><tr><th colspan=2>Recent Searches</th></tr></thead>
   The .forumbg already has dark editorial styling elsewhere, but the
   recent-searches table headers may still be crimson. */
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) {
	max-width: 720px !important;
	margin: 24px auto 0 auto !important;
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) > .inner {
	background: transparent !important;
	padding: 0 !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 {
	width: 100% !important;
	border-collapse: collapse !important;
	background: transparent !important;
	margin: 0 !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 thead {
	background: var(--paper-editor-3) !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 th {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	padding: 12px 18px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	text-align: left !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 td {
	background: transparent !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 11px 18px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	vertical-align: middle !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 tr:last-child td {
	border-bottom: none !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 tr.bg1 td,
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 tr.bg2 td {
	background: transparent !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 tr:hover td {
	background: var(--gold-wash) !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 td.active {
	color: var(--ink-3) !important;
	font-style: italic !important;
	font-family: var(--f-marg) !important;
	font-size: 13px !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* ---- 13. Search results -- "Back to topic / Back to search" link ---- */
.tru-dark .search-results-back {
	margin: 12px 0 0 0 !important;
	padding: 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
}
.tru-dark .search-results-back a,
.tru-dark .search-results-back a.mark-read-link {
	color: var(--ink-3) !important;
	text-decoration: none !important;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	transition: color 0.15s !important;
}
.tru-dark .search-results-back a:hover,
.tru-dark .search-results-back a.mark-read-link:hover {
	color: var(--gold) !important;
	text-decoration: none !important;
}

/* ---- 14. Search results in POST mode -- .search-post-card ---- */
.tru-dark .search-post-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	margin: 0 0 24px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark .search-post-card,
.tru-dark article.search-post-card {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-left: 2px solid var(--gold-3) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 20px 26px !important;
	margin: 0 !important;
	box-shadow: none !important;
	transition: border-left-color 0.15s !important;
}
.tru-dark .search-post-card:hover {
	border-left-color: var(--gold) !important;
}
.tru-dark .search-post-card.reported {
	border-left-color: var(--red) !important;
}

/* Header (title + meta) */
.tru-dark .search-post-card .search-post-head,
.tru-dark .search-post-card header.search-post-head {
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark .search-post-card .search-post-title {
	font-family: var(--f-serif) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	line-height: 1.3 !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	color: var(--ink) !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark .search-post-card .search-post-title a {
	color: inherit !important;
	text-decoration: none !important;
	transition: color 0.15s !important;
}
.tru-dark .search-post-card .search-post-title a:hover {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark .search-post-card .search-post-meta {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	color: var(--ink-3) !important;
	line-height: 1.6 !important;
}
.tru-dark .search-post-card .search-post-meta a {
	color: var(--ink-2) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark .search-post-card .search-post-meta a:hover {
	color: var(--gold) !important;
	text-decoration: underline !important;
}
.tru-dark .search-post-card .search-post-meta .dot,
.tru-dark .search-post-card .search-post-meta span.dot {
	color: var(--line-3) !important;
	margin: 0 6px !important;
	font-weight: 400 !important;
}
.tru-dark .search-post-card .search-post-meta time {
	color: var(--ink-3) !important;
	font-style: normal !important;
}

/* Body (post excerpt with highlighted keywords) */
.tru-dark .search-post-card .search-post-body {
	font-family: var(--f-marg) !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: var(--ink-2) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 0 14px 0 !important;
	background: transparent !important;
	border-bottom: 1px solid var(--line) !important;
	max-height: 240px !important;
	overflow: hidden !important;
	position: relative !important;
}
.tru-dark .search-post-card .search-post-body p {
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
}
.tru-dark .search-post-card .search-post-body p:last-child {
	margin-bottom: 0 !important;
}
/* Search-term highlight (phpBB wraps matched terms in <span class="posthilit">) */
.tru-dark .search-post-card .search-post-body .posthilit,
.tru-dark .search-post-body .posthilit {
	background: var(--gold-wash) !important;
	color: var(--gold-2) !important;
	font-weight: 600 !important;
	padding: 1px 3px !important;
	border-radius: 2px !important;
}
/* Soft fade at the bottom to indicate cut-off */
.tru-dark .search-post-card .search-post-body::after {
	content: "" !important;
	position: absolute !important;
	bottom: 14px !important;
	left: 0 !important;
	right: 0 !important;
	height: 60px !important;
	background: linear-gradient(to bottom, transparent, var(--paper-editor)) !important;
	pointer-events: none !important;
}
/* "Ignored" post stub (when user has the author on ignore) */
.tru-dark .search-post-card .search-post-body.ignored {
	font-style: italic !important;
	color: var(--ink-3) !important;
	text-align: center !important;
	border-bottom: none !important;
	max-height: none !important;
	padding: 18px 0 !important;
}
.tru-dark .search-post-card .search-post-body.ignored::after {
	display: none !important;
}

/* Footer (jump-to-post button + stats) */
.tru-dark .search-post-card .search-post-foot,
.tru-dark .search-post-card footer.search-post-foot {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
/* The "Jump to post ->" button uses .forum-search-btn.action-btn-ghost --
   already styled at line 6059 (.action-btn-ghost) and line 4782 (.forum-search-btn).
   Combine them and add a search-context-specific tweak. */
.tru-dark .search-post-card .search-post-foot a.forum-search-btn,
.tru-dark .search-post-card .search-post-foot a.action-btn-ghost {
	display: inline-block !important;
	background: transparent !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 7px 14px !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark .search-post-card .search-post-foot a.forum-search-btn:hover,
.tru-dark .search-post-card .search-post-foot a.action-btn-ghost:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: var(--gold-wash) !important;
	text-decoration: none !important;
}
.tru-dark .search-post-card .search-post-stats {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	color: var(--ink-3) !important;
}

/* "Reported" badge on the card */
.tru-dark .search-post-card.reported::before {
	content: "REPORTED";
	display: inline-block !important;
	background: rgba(184,66,61,0.12) !important;
	color: var(--red) !important;
	font-family: var(--f-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 3px 8px !important;
	border-radius: 2px !important;
	margin: 0 0 10px 0 !important;
	border: 1px solid rgba(184,66,61,0.3) !important;
}

/* ---- 15. Empty results panel -- "No matching search results" ---- */
.tru-dark .panel.empty-panel,
.tru-dark div.panel.empty-panel {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px dashed var(--line-2) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	margin: 24px 0 !important;
	padding: 0 !important;
	text-align: center !important;
}
.tru-dark .panel.empty-panel > .inner {
	background: transparent !important;
	padding: 36px 24px !important;
	text-align: center !important;
}
.tru-dark .panel.empty-panel > .inner strong {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	color: var(--ink-3) !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* ---- 16. Mobile breakpoint ---- */
@media only screen and (max-width: 760px) {
	.tru-dark h2.solo {
		max-width: 100% !important;
		margin: 18px 14px 14px 14px !important;
		font-size: 20px !important;
	}
	.tru-dark form[data-focus="keywords"] {
		max-width: 100% !important;
		margin: 0 14px 24px 14px !important;
	}
	.tru-dark form[data-focus="keywords"] .panel > .inner {
		padding: 22px 18px !important;
	}
	.tru-dark form[data-focus="keywords"] select[multiple] {
		min-height: 140px !important;
	}
	.tru-dark form[data-focus="keywords"] fieldset.submit-buttons {
		justify-content: stretch !important;
	}
	.tru-dark form[data-focus="keywords"] input[type="submit"].button1 {
		width: 100% !important;
		min-width: 0 !important;
		padding: 13px 18px !important;
	}
	.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) {
		max-width: 100% !important;
		margin: 24px 14px 0 14px !important;
	}
	.tru-dark .forumbg.forumbg-table:has(.table1 th[colspan]) table.table1 td {
		padding: 10px 14px !important;
		font-size: 12px !important;
	}
	.tru-dark .search-post-card,
	.tru-dark article.search-post-card {
		padding: 16px 18px !important;
	}
	.tru-dark .search-post-card .search-post-title {
		font-size: 17px !important;
	}
	.tru-dark .search-post-card .search-post-body {
		font-size: 14px !important;
		max-height: 200px !important;
	}
	.tru-dark .search-post-card .search-post-foot {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 8px !important;
	}
}

/* ===== END PHASE 4 SESSION 15 -- SEARCH PAGE RESTYLE ===== */

/* ===== PHASE 4 SESSION 15 PATCH 1 -- SEARCH SPECIFICITY FIX ===== */
/* Why: S15 selectors lost specificity to legacy ID-prefixed rules:
   1. Line 1990 #page-body h3 { crimson gradient } -- this paints the
      "Search Query", "Search Options", and "Recent Searches" h3 bands red
   2. Line 1768 #page-body table.table1 th { crimson gradient } -- same
      thing for the recent-searches <th> header
   3. Line 1761+ #page-body table.table1 td { white-ish, dark text } --
      paints the recent-searches data cells stark white

   Fix: chain #page-body into every override selector so we beat the
   legacy ID specificity. Drop the :has() guards too -- simpler and just
   as targeted since search is the only page where these forms+tables
   appear together. */

/* ---- 1. Search form h3 -- override crimson gradient ---- */
.tru-dark #page-body form[data-focus="keywords"] .panel > .inner > h3,
.tru-dark #page-body form[data-focus="keywords"] .panel .inner h3 {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	margin: 0 0 18px 0 !important;
	padding: 0 0 10px 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}

/* ---- 2. Recent searches "RECENT SEARCHES" th band -- override crimson ---- */
.tru-dark #page-body .forumbg.forumbg-table table.table1 th,
.tru-dark #page-body .forumbg.forumbg-table table.table1 thead th,
.tru-dark #page-body div.forumbg-table table.table1 th {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	padding: 12px 18px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	text-align: left !important;
}

/* ---- 3. Recent searches body cells -- override white td ---- */
.tru-dark #page-body .forumbg.forumbg-table {
	max-width: 720px !important;
	margin: 24px auto 0 auto !important;
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}
.tru-dark #page-body .forumbg.forumbg-table > .inner {
	background: transparent !important;
	background-image: none !important;
	padding: 0 !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 {
	width: 100% !important;
	border-collapse: collapse !important;
	background: transparent !important;
	margin: 0 !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 thead {
	background: var(--paper-editor-3) !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 tbody {
	background: transparent !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg1,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg2 {
	background: transparent !important;
	background-image: none !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 td,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg1 td,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg2 td {
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	padding: 12px 18px !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	border-top: none !important;
	vertical-align: middle !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr:last-child td {
	border-bottom: none !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr:hover td,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg1:hover td,
.tru-dark #page-body .forumbg.forumbg-table table.table1 tr.bg2:hover td {
	background: var(--gold-wash) !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 td a {
	color: var(--gold) !important;
	background: transparent !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 td a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #page-body .forumbg.forumbg-table table.table1 td.active {
	color: var(--ink-3) !important;
	font-style: italic !important;
	font-family: var(--f-marg) !important;
	font-size: 13px !important;
	white-space: nowrap !important;
	text-align: right !important;
}

/* ---- 4. Mobile breakpoint -- forumbg-table responsive ---- */
@media only screen and (max-width: 760px) {
	.tru-dark #page-body .forumbg.forumbg-table {
		max-width: 100% !important;
		margin: 24px 14px 0 14px !important;
	}
	.tru-dark #page-body .forumbg.forumbg-table table.table1 td {
		padding: 10px 14px !important;
		font-size: 12px !important;
	}
}

/* ===== END PHASE 4 SESSION 15 PATCH 1 -- SEARCH SPECIFICITY FIX ===== */

/* ===== PHASE 4 SESSION 16 -- TOPBAR NOTIFICATIONS + PM + WATCHLIST NAV ===== */
/* Why: previously logged-in users had no way to navigate to their unread
   notifications, private messages, watched topics, or bookmarks even though
   phpBB was tracking the counts. The standard navbar_header.html widgets
   that expose these are rendered inside #tr-breadcrumb but are visually lost.

   Template change (S16): added two icon buttons to .topbar-right (bell +
   envelope) with count badges, and added Notifications/Messages/Watched
   Topics/Bookmarks items inside the user-menu dropdown. Same items added
   to the mobile slide-out menu under "Account".

   This block adds the CSS for:
   - .topbar-icon-btn -- the new bell/envelope buttons
   - .topbar-badge    -- the small gold count pill on the icons
   - .user-menu-count -- inline count chip inside dropdown items
   - .tr-mobile-count -- same for the mobile menu */

/* ---- 1. Icon button -- matches .user-handle pill style ---- */
.tru-dark .topbar-right .topbar-icon-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 30px;
	padding: 0;
	background: transparent;
	border: 1px solid var(--line-2);
	border-radius: 2px;
	color: var(--ink-2);
	text-decoration: none;
	cursor: pointer;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
	flex-shrink: 0;
}
.tru-dark .topbar-right .topbar-icon-btn .icon,
.tru-dark .topbar-right .topbar-icon-btn i.icon {
	font-size: 13px;
	color: inherit;
	line-height: 1;
}
.tru-dark .topbar-right .topbar-icon-btn:hover {
	color: var(--gold);
	border-color: var(--gold-3);
	background: rgba(201,169,97,0.06);
}
.tru-dark .topbar-right .topbar-icon-btn:focus {
	outline: none;
	color: var(--gold);
	border-color: var(--gold);
}

/* ---- 2. Count badge on icon button -- gold pill, top-right corner ---- */
.tru-dark .topbar-right .topbar-icon-btn .topbar-badge {
	position: absolute;
	top: -5px;
	right: -5px;
	min-width: 16px;
	height: 16px;
	padding: 0 5px;
	background: var(--gold);
	color: #18120a;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
	border-radius: 8px;
	letter-spacing: 0;
	white-space: nowrap;
	box-shadow: 0 0 0 2px var(--bg);
	pointer-events: none;
}
/* phpBB toggles .hidden when count is 0 */
.tru-dark .topbar-right .topbar-icon-btn .topbar-badge.hidden {
	display: none !important;
}
/* On hover, the badge subtly brightens with the icon */
.tru-dark .topbar-right .topbar-icon-btn:hover .topbar-badge {
	background: var(--gold-2);
}

/* ---- 3. Inline count chip inside user-menu dropdown items ---- */
.tru-dark .topbar-right .user-menu-dropdown .user-menu-count {
	display: inline-block;
	margin-left: 6px;
	padding: 1px 7px;
	background: var(--gold-wash);
	color: var(--gold);
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.6;
	border: 1px solid var(--gold-3);
	border-radius: 8px;
	letter-spacing: 0.04em;
	vertical-align: middle;
}
.tru-dark .topbar-right .user-menu-dropdown a:hover .user-menu-count {
	background: var(--gold);
	color: #18120a;
	border-color: var(--gold);
}

/* ---- 4. Inline count chip inside mobile slide-out menu ---- */
.tru-dark #tr-mobile-menu .tr-mobile-count {
	display: inline-block;
	margin-left: 8px;
	padding: 1px 8px;
	background: var(--gold-wash);
	color: var(--gold);
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	border: 1px solid var(--gold-3);
	border-radius: 8px;
	letter-spacing: 0.04em;
	vertical-align: middle;
}

/* ---- 5. Spacing between the two icon buttons + the user-menu pill ---- */
/* The .topbar-right is already a flex row with gap: 8px (line 3338),
   so the icons get the same spacing automatically. Just ensure the
   user-menu pill stays its full size and the icons don't crowd it. */

/* ---- 6. Mobile breakpoints ---- */
/* Tablet (~700-1100px): keep icon buttons visible (one-tap access to
   notifications/PMs is valuable on mobile too), hide user-handle text,
   show hamburger. */
@media (max-width: 1100px) {
	.tru-dark .topbar-right .topbar-icon-btn {
		display: inline-flex;
	}
}

/* Small mobile (<600px): hide icon buttons too -- the hamburger contains
   the same nav items in the mobile menu, and screen real estate is tight. */
@media (max-width: 600px) {
	.tru-dark .topbar-right .topbar-icon-btn {
		display: none !important;
	}
}

/* ===== END PHASE 4 SESSION 16 -- TOPBAR NOTIFICATIONS + PM + WATCHLIST NAV ===== */

/* ===== PHASE 4 SESSION 16 PATCH 1 -- ICON FIX + UCP LIST PAGES ===== */
/* Why two fixes:
   1. Icon black-box bug: <i class="icon fa-bell"> rendered as a black box
      because phpBB's .icon class doesn't set font-family, and Font Awesome's
      .fa class wasn't on the element. Template now uses
      class="fa fa-bell fa-fw icon" -- this rule makes sure font-family is
      forced even if the FA stylesheet load order is weird.

   2. Red leftovers on UCP list pages (notifications + PM inbox):
      ucp_notifications.html and ucp_pm_viewfolder.html use:
        <ul class="topiclist cplist two-columns">
          <li class="header"> <dl><dt><div class="list-inner"></dt>
                                  <dd class="mark"></dd></dl> </li>
          <li class="row [bg1|bg2|bg3]">  <-- bg3 = unread highlight (legacy white)
            <dl class="row-item ?icon">
              <dt><div class="list-inner">{avatar}<div class="notifications">
                <p class="notifications_title">..</p>
                <p class="notifications_forum">..</p>
                <p class="notifications_reason">..</p>
                <p class="notifications_time">..</p>
              </div></div></dt>
              <dd class="mark">{checkbox}</dd>
            </dl>
          </li>
        </ul>
      Plus <table class="table1"> for notification preferences with
      <tr class="bg3"><td colspan>...</td></tr> as group header rows
      (currently inheriting the global crimson tr.bg3 styling).
      Plus <fieldset class="display-actions"> for the action button row
      at the bottom (different class than .submit-buttons).
      Plus <div class="notice"> for "you've been moved" type info boxes. */

/* ---- 1. Icon font-family fix -- force FontAwesome on the topbar icons ---- */
.tru-dark .topbar-right .topbar-icon-btn .icon,
.tru-dark .topbar-right .topbar-icon-btn .fa,
.tru-dark .topbar-right .topbar-icon-btn i {
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome", sans-serif !important;
	font-weight: 900 !important;
	font-style: normal !important;
	font-variant: normal !important;
	text-rendering: auto !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
	speak: none !important;
	font-size: 14px !important;
	line-height: 1 !important;
	display: inline-block !important;
	color: inherit !important;
}

/* ---- 2. Notifications list / PM message list -- ul.cplist + li.row + .list-inner ---- */
/* These already get partial styling from S11 UCP block (line for .cplist),
   but need finer overrides for .list-inner, .notifications_*, .row-item,
   the bg3 unread highlight, .mark cells, and dl/dt/dd inside the list rows. */

.tru-dark #cp-main ul.topiclist.cplist,
.tru-dark #cp-main ul.cplist,
.tru-dark #cp-main ul.cplist.two-columns,
.tru-dark #cp-main ul.cplist.pmlist {
	list-style: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	overflow: hidden !important;
}

/* Header row (table-style header above the list) */
.tru-dark #cp-main ul.topiclist > li.header {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	padding: 0 !important;
}
.tru-dark #cp-main ul.topiclist > li.header dl {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}
.tru-dark #cp-main ul.topiclist > li.header dt {
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}
.tru-dark #cp-main ul.topiclist > li.header dt .list-inner {
	padding: 11px 18px !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	background: transparent !important;
}
.tru-dark #cp-main ul.topiclist > li.header dd.mark {
	width: auto !important;
	min-width: 80px !important;
	padding: 11px 18px !important;
	margin: 0 !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	background: transparent !important;
	border: none !important;
}

/* Body rows */
.tru-dark #cp-main ul.cplist > li.row {
	background: transparent !important;
	background-image: none !important;
	border-top: 1px solid var(--line) !important;
	padding: 0 !important;
	margin: 0 !important;
}
.tru-dark #cp-main ul.cplist > li.row:first-child {
	border-top: none !important;
}
/* Wipe legacy bg1/bg2 alternating */
.tru-dark #cp-main ul.cplist > li.row.bg1,
.tru-dark #cp-main ul.cplist > li.row.bg2 {
	background: transparent !important;
	background-image: none !important;
}
/* bg3 = unread highlight -- gold-tinted instead of legacy crimson/white */
.tru-dark #cp-main ul.cplist > li.row.bg3 {
	background: var(--gold-wash) !important;
	background-image: none !important;
	border-left: 2px solid var(--gold) !important;
}
.tru-dark #cp-main ul.cplist > li.row:hover {
	background: rgba(201,169,97,0.04) !important;
}
.tru-dark #cp-main ul.cplist > li.row.bg3:hover {
	background: rgba(201,169,97,0.10) !important;
}

/* dl inside row -- flex layout with main content + mark column */
.tru-dark #cp-main ul.cplist > li.row > dl,
.tru-dark #cp-main ul.cplist > li.row > dl.row-item {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
}
.tru-dark #cp-main ul.cplist > li.row > dl > dt {
	flex: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	min-width: 0 !important;
	width: auto !important;
}
.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
	padding: 14px 18px !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	min-height: 0 !important;
	margin: 0 !important;
}

/* Avatar inside list-inner */
.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner > img,
.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner > a > img,
.tru-dark #cp-main ul.cplist .notifications_title + img {
	width: 36px !important;
	height: 36px !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	border: 1px solid var(--line-2) !important;
	flex-shrink: 0 !important;
	background: var(--paper-editor-3) !important;
}

/* Notifications-specific content wrapper */
.tru-dark #cp-main ul.cplist .notifications {
	flex: 1 !important;
	min-width: 0 !important;
	display: block !important;
	background: transparent !important;
}
.tru-dark #cp-main ul.cplist .notifications a {
	color: inherit !important;
	text-decoration: none !important;
}
.tru-dark #cp-main ul.cplist .notifications_title {
	font-family: var(--f-serif) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	margin: 0 0 4px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.005em !important;
}
.tru-dark #cp-main ul.cplist > li.row.bg3 .notifications_title {
	font-weight: 600 !important;
	color: var(--gold) !important;
}
.tru-dark #cp-main ul.cplist .notifications_title strong,
.tru-dark #cp-main ul.cplist .notifications_title b {
	color: var(--gold) !important;
	font-weight: 600 !important;
}
.tru-dark #cp-main ul.cplist .notifications a:hover .notifications_title {
	color: var(--gold-2) !important;
}
.tru-dark #cp-main ul.cplist .notifications_forum,
.tru-dark #cp-main ul.cplist .notifications_reason {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	color: var(--ink-3) !important;
	margin: 2px 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}
.tru-dark #cp-main ul.cplist .notifications_time {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 12px !important;
	color: var(--ink-3) !important;
	margin: 4px 0 0 0 !important;
	padding: 0 !important;
}

/* PM message list -- topictitle (subject), authors, dates */
.tru-dark #cp-main ul.cplist a.topictitle {
	font-family: var(--f-serif) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	text-decoration: none !important;
	letter-spacing: -0.005em !important;
}
.tru-dark #cp-main ul.cplist > li.row.bg3 a.topictitle {
	color: var(--gold) !important;
	font-weight: 500 !important;
}
.tru-dark #cp-main ul.cplist a.topictitle:hover {
	color: var(--gold-2) !important;
}
.tru-dark #cp-main ul.cplist em.small,
.tru-dark #cp-main ul.cplist .small {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 12px !important;
	color: var(--ink-3) !important;
}
.tru-dark #cp-main ul.cplist .row-item-link {
	display: none !important;
}
/* The text after the topictitle (author + time + recipients) */
.tru-dark #cp-main ul.cplist .list-inner br + a,
.tru-dark #cp-main ul.cplist .list-inner > a:not(.topictitle) {
	color: var(--ink-2) !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}
.tru-dark #cp-main ul.cplist .list-inner br + a:hover,
.tru-dark #cp-main ul.cplist .list-inner > a:not(.topictitle):hover {
	color: var(--gold) !important;
	text-decoration: underline !important;
}
.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner > div {
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.02em !important;
}
.tru-dark #cp-main ul.cplist .pm-mini-icons,
.tru-dark #cp-main ul.cplist i.icon-red {
	color: var(--red) !important;
}

/* Mark column (checkbox) */
.tru-dark #cp-main ul.cplist > li.row > dl > dd.mark {
	width: auto !important;
	min-width: 80px !important;
	padding: 14px 18px !important;
	margin: 0 !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-left: 1px solid var(--line) !important;
	text-align: center !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 6px !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
}
.tru-dark #cp-main ul.cplist > li.row > dl > dd.mark dfn {
	display: none !important;
}
.tru-dark #cp-main ul.cplist > li.row > dl > dd.mark input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
}

/* ---- 3. Notification preferences table -- table.table1 with bg3 group rows ---- */
/* Already covered by S11 #cp-main table.table1 rules, but bg3 rows for
   group separators need a distinct treatment. */
.tru-dark #cp-main table.table1 tr.bg3 td {
	background: var(--paper-editor-3) !important;
	background-image: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	border-top: 1px solid var(--line) !important;
	border-bottom: 1px solid var(--line) !important;
}
/* Wipe legacy bg1/bg2 striping on the data rows */
.tru-dark #cp-main table.table1 tr.bg1 td,
.tru-dark #cp-main table.table1 tr.bg2 td {
	background: transparent !important;
	background-image: none !important;
}
.tru-dark #cp-main table.table1 tr.bg1:hover td,
.tru-dark #cp-main table.table1 tr.bg2:hover td {
	background: var(--gold-wash) !important;
}
/* th.mark / td.mark are checkbox columns -- center them and narrow */
.tru-dark #cp-main table.table1 th.mark,
.tru-dark #cp-main table.table1 td.mark {
	text-align: center !important;
	width: 90px !important;
}
.tru-dark #cp-main table.table1 td.mark input[type="checkbox"] {
	accent-color: var(--gold) !important;
	margin: 0 !important;
	cursor: pointer !important;
}

/* ---- 4. Action button row at bottom -- fieldset.display-actions ---- */
.tru-dark fieldset.display-actions,
.tru-dark #cp-main + fieldset.display-actions,
.tru-dark form#ucp fieldset.display-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 14px !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	margin: 18px 0 26px 0 !important;
	padding: 18px 0 0 0 !important;
	border-top: 1px solid var(--line) !important;
}
.tru-dark fieldset.display-actions input[type="submit"].button1 {
	background: var(--gold) !important;
	background-image: none !important;
	color: #18120a !important;
	border: 1px solid var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	padding: 11px 22px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
.tru-dark fieldset.display-actions input[type="submit"].button1:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
}
.tru-dark fieldset.display-actions div {
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	letter-spacing: 0.04em !important;
	color: var(--ink-3) !important;
}
.tru-dark fieldset.display-actions div a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
}
.tru-dark fieldset.display-actions div a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 5. Info notices (.notice) for "you have been moved" / status messages ---- */
.tru-dark #cp-main .notice,
.tru-dark .notice {
	background: var(--gold-wash) !important;
	background-image: none !important;
	border: none !important;
	border-left: 2px solid var(--gold-3) !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 12px 18px !important;
	margin: 0 0 18px 0 !important;
	color: var(--ink-2) !important;
}
.tru-dark #cp-main .notice p,
.tru-dark .notice p {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 14px !important;
	color: var(--ink-2) !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.6 !important;
}
.tru-dark #cp-main .notice a,
.tru-dark .notice a {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-style: normal !important;
}
.tru-dark #cp-main .notice a:hover,
.tru-dark .notice a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 6. PM message header action buttons -- .action-bar inside .panel ---- */
/* This is the PM "Reply / New / Forward / Reply All" button row. Make the
   action bar transparent inside the panel and gold-ghost-style the buttons. */
.tru-dark #cp-main .panel .action-bar,
.tru-dark #cp-main .panel .action-bar.bar-top,
.tru-dark #cp-main .panel .action-bar.bar-bottom {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
	box-shadow: none !important;
	padding: 0 0 14px 0 !important;
	margin: 0 0 16px 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}
.tru-dark #cp-main .panel .action-bar.bar-bottom {
	border-bottom: none !important;
	border-top: 1px solid var(--line) !important;
	padding: 14px 0 0 0 !important;
	margin: 16px 0 0 0 !important;
}
.tru-dark #cp-main .panel .action-bar a.button {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	background: transparent !important;
	background-image: none !important;
	color: var(--gold) !important;
	border: 1px solid var(--gold-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 8px 14px !important;
	border-radius: 2px !important;
	text-decoration: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark #cp-main .panel .action-bar a.button:hover {
	color: var(--gold-2) !important;
	border-color: var(--gold) !important;
	background: var(--gold-wash) !important;
}
.tru-dark #cp-main .panel .action-bar a.button .icon,
.tru-dark #cp-main .panel .action-bar a.button i.icon {
	color: inherit !important;
	font-size: 11px !important;
}
.tru-dark #cp-main .panel .action-bar .pagination {
	margin-left: auto !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	color: var(--ink-3) !important;
}
.tru-dark #cp-main .panel .action-bar .pagination a {
	color: var(--gold) !important;
	text-decoration: none !important;
}
.tru-dark #cp-main .panel .action-bar .pagination a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #cp-main .panel .action-bar .pagination strong {
	color: var(--ink) !important;
	font-weight: 700 !important;
}
.tru-dark #cp-main .panel .action-bar a.mark {
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em !important;
	text-decoration: none !important;
}
.tru-dark #cp-main .panel .action-bar a.mark:hover {
	color: var(--gold) !important;
}

/* PM "topic-tools" dropdown trigger (wrench icon) */
.tru-dark #cp-main .panel .topic-tools .dropdown-trigger,
.tru-dark #cp-main .panel .topic-tools .dropdown-select {
	background: transparent !important;
	background-image: none !important;
	color: var(--ink-2) !important;
	border: 1px solid var(--line-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	padding: 7px 10px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
}
.tru-dark #cp-main .panel .topic-tools .dropdown-trigger:hover,
.tru-dark #cp-main .panel .topic-tools .dropdown-select:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
}

/* ---- 7. Pagination outside .action-bar (notifications "back to" link) ---- */
.tru-dark #cp-main .pagination a.arrow-left,
.tru-dark #cp-main .pagination a.arrow-right {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
}
.tru-dark #cp-main .pagination a.arrow-left:hover,
.tru-dark #cp-main .pagination a.arrow-right:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}

/* ---- 8. Mobile breakpoint for cplist rows ---- */
@media only screen and (max-width: 768px) {
	.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner {
		padding: 12px 14px !important;
		gap: 10px !important;
	}
	.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner > img,
	.tru-dark #cp-main ul.cplist > li.row > dl > dt .list-inner > a > img {
		width: 30px !important;
		height: 30px !important;
	}
	.tru-dark #cp-main ul.cplist .notifications_title {
		font-size: 13px !important;
	}
	.tru-dark #cp-main ul.cplist > li.row > dl > dd.mark {
		min-width: 60px !important;
		padding: 10px 12px !important;
	}
	.tru-dark #cp-main ul.topiclist > li.header dt .list-inner,
	.tru-dark #cp-main ul.topiclist > li.header dd.mark {
		padding: 9px 14px !important;
		font-size: 9px !important;
	}
	.tru-dark #cp-main .panel .action-bar a.button {
		padding: 7px 10px !important;
		font-size: 10px !important;
	}
}

/* ===== END PHASE 4 SESSION 16 PATCH 1 -- ICON FIX + UCP LIST PAGES ===== */

/* ===== PHASE 4 SESSION 17 -- FAQ / HELP PAGE RESTYLE ===== */
/* faq_body.html structure:

   1. Page title:    <h2 class="faq-title">  (direct child of #page-body)
   2. TOC panel:     <div class="panel bg1" id="faqlinks">
                       <div class="inner">
                         <div class="column1">
                           <dl class="faq">
                             <dt><strong>BLOCK TITLE</strong></dt>
                             <dd><a href="#fNrN">QUESTION</a></dd>
                             ...
                           </dl>
                         </div>
                         <div class="column2"> ... </div>
                       </div>
                     </div>
   3. Section panels (one per FAQ block, alternating bg1/bg2):
                     <div class="panel bgN">
                       <div class="inner">
                         <div class="content">
                           <h2 class="faq-title">BLOCK TITLE</h2>
                           <dl class="faq">
                             <dt id="fNrN"><strong>QUESTION</strong></dt>
                             <dd>ANSWER (HTML)</dd>
                           </dl>
                           <a href="#faqlinks" class="top"><i class="icon fa-chevron-circle-up"/>Top</a>
                           <hr class="dashed" />
                           ... more Q&A pairs ...
                         </div>
                       </div>
                     </div>

   Legacy crimson rules to beat (require #page-body ancestor in selectors):
   - line 923/924: .panel { background:#fff !important } -- both TOC and body panels
   - line 1875:    #page-body > .panel { background:#fff !important } -- both panels
   - line 1882:    #page-body h2 { color:#1a0008; border-bottom:2px solid #e8e0e4 }
                   -- hits both page title AND in-panel section titles
*/

/* ---- 1. Page title (direct child of #page-body, ABOVE the TOC) ---- */
/* This is "Frequently Asked Questions" -- treat it as a masthead with a
   gold uppercase kicker rendered via ::before on the h2 itself, since the
   template has no .forum-masthead wrapper here. */
.tru-dark #page-body > h2.faq-title {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: none !important;
	padding: 38px 0 0 0 !important;
	margin: 0 0 28px 0 !important;
	font-family: var(--f-serif) !important;
	font-size: 56px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--ink) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
	position: relative !important;
	text-shadow: none !important;
}
.tru-dark #page-body > h2.faq-title::before {
	content: "\00A7  HELP";
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.18em;
	color: var(--gold);
	margin: 0 0 14px 0;
}
.tru-dark #page-body > h2.faq-title::after {
	content: "Answers, conventions, and the rules of the house.";
	display: block;
	font-family: var(--f-marg);
	font-size: 17px;
	font-weight: 400;
	font-style: italic;
	color: var(--ink-2);
	margin: 14px 0 0 0;
	letter-spacing: 0;
	line-height: 1.4;
}

/* ---- 2. TOC panel (#faqlinks) -- the table of contents at the top ---- */
.tru-dark #page-body .panel#faqlinks {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-left: 2px solid var(--gold-3) !important;
	border-radius: 2px !important;
	margin: 0 0 36px 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.tru-dark #page-body .panel#faqlinks .inner {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	padding: 24px 28px !important;
	margin: 0 !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 18px !important;
}
/* Native template has .column1 + .column2 but we use grid; keep them as
   semantic siblings that inherit width naturally. */
.tru-dark #page-body .panel#faqlinks .inner > .column1,
.tru-dark #page-body .panel#faqlinks .inner > .column2 {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
}

/* TOC FAQ blocks (each is a section with title + list of question links) */
.tru-dark #page-body .panel#faqlinks dl.faq {
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}
.tru-dark #page-body .panel#faqlinks dl.faq dt {
	background: transparent !important;
	margin: 0 0 8px 0 !important;
	padding: 0 0 6px 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--line) !important;
}
.tru-dark #page-body .panel#faqlinks dl.faq dt strong {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	color: var(--gold) !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
}
.tru-dark #page-body .panel#faqlinks dl.faq dd {
	background: transparent !important;
	margin: 0 !important;
	padding: 4px 0 !important;
	border: none !important;
}
.tru-dark #page-body .panel#faqlinks dl.faq dd a {
	font-family: var(--f-marg) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	text-decoration: none !important;
	letter-spacing: 0 !important;
	line-height: 1.5 !important;
	display: inline-block !important;
	padding: 2px 0 !important;
	border-bottom: 1px solid transparent !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark #page-body .panel#faqlinks dl.faq dd a:hover {
	color: var(--gold) !important;
	border-bottom-color: var(--gold-3) !important;
}

/* Two-column grid on wider screens */
@media only screen and (min-width: 760px) {
	.tru-dark #page-body .panel#faqlinks .inner {
		grid-template-columns: 1fr 1fr !important;
		gap: 28px !important;
	}
}

/* ---- 3. Section body panels (each FAQ block as its own card) ---- */
/* These are .panel.bg1 and .panel.bg2 OUTSIDE of #faqlinks. The TOC panel
   (#faqlinks) is handled above, so exclude it via :not(#faqlinks). */
.tru-dark #page-body > .panel:not(#faqlinks).bg1,
.tru-dark #page-body > .panel:not(#faqlinks).bg2 {
	background: var(--paper-editor) !important;
	background-image: none !important;
	border: 1px solid var(--line) !important;
	border-radius: 2px !important;
	margin: 0 0 24px 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}
.tru-dark #page-body > .panel:not(#faqlinks) .inner {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	padding: 28px 32px !important;
	margin: 0 !important;
}
.tru-dark #page-body > .panel:not(#faqlinks) .inner .content {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Section heading -- the in-panel h2.faq-title (NOT the page title) */
.tru-dark #page-body .panel .content h2.faq-title {
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	padding: 0 0 12px 0 !important;
	margin: 0 0 24px 0 !important;
	font-family: var(--f-serif) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--gold) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.2 !important;
	text-shadow: none !important;
}

/* ---- 4. Q&A pairs in the body panels ---- */
.tru-dark #page-body .panel .content dl.faq {
	background: transparent !important;
	border: none !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
}
.tru-dark #page-body .panel .content dl.faq dt {
	background: transparent !important;
	border: none !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	font-family: var(--f-serif) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	color: var(--ink) !important;
	letter-spacing: -0.005em !important;
	line-height: 1.35 !important;
	scroll-margin-top: 110px;  /* so anchored question isn't hidden under sticky topbar */
}
.tru-dark #page-body .panel .content dl.faq dt strong {
	font-weight: 500 !important;
	color: var(--ink) !important;
}
/* Subtle gold marker in front of each question, like an editorial pilcrow */
.tru-dark #page-body .panel .content dl.faq dt::before {
	content: "\00B6  ";
	color: var(--gold-3);
	font-family: var(--f-serif);
	font-style: italic;
	font-weight: 400;
	margin-right: 4px;
}

.tru-dark #page-body .panel .content dl.faq dd {
	background: transparent !important;
	border: none !important;
	margin: 0 0 0 22px !important;
	padding: 0 !important;
	font-family: var(--f-marg) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--ink-2) !important;
	letter-spacing: 0 !important;
	line-height: 1.65 !important;
}
.tru-dark #page-body .panel .content dl.faq dd p {
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	color: var(--ink-2) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
}
.tru-dark #page-body .panel .content dl.faq dd p:last-child {
	margin-bottom: 0 !important;
}
.tru-dark #page-body .panel .content dl.faq dd a {
	color: var(--gold) !important;
	text-decoration: none !important;
	border-bottom: 1px solid var(--gold-3) !important;
	transition: color 0.15s, border-color 0.15s !important;
}
.tru-dark #page-body .panel .content dl.faq dd a:hover {
	color: var(--gold-2) !important;
	border-bottom-color: var(--gold) !important;
}
.tru-dark #page-body .panel .content dl.faq dd strong,
.tru-dark #page-body .panel .content dl.faq dd b {
	color: var(--ink) !important;
	font-weight: 600 !important;
	font-style: normal !important;
}
.tru-dark #page-body .panel .content dl.faq dd em,
.tru-dark #page-body .panel .content dl.faq dd i {
	color: var(--ink-2) !important;
	font-style: italic !important;
}
.tru-dark #page-body .panel .content dl.faq dd code,
.tru-dark #page-body .panel .content dl.faq dd kbd,
.tru-dark #page-body .panel .content dl.faq dd samp {
	display: inline-block !important;
	background: var(--paper-editor-3) !important;
	color: var(--gold-2) !important;
	font-family: var(--f-mono), Consolas, monospace !important;
	font-size: 13px !important;
	font-style: normal !important;
	padding: 1px 7px !important;
	border-radius: 2px !important;
	border: 1px solid var(--line-2) !important;
	letter-spacing: 0.02em !important;
}
.tru-dark #page-body .panel .content dl.faq dd ul,
.tru-dark #page-body .panel .content dl.faq dd ol {
	margin: 8px 0 12px 22px !important;
	padding: 0 !important;
}
.tru-dark #page-body .panel .content dl.faq dd li {
	margin: 4px 0 !important;
	padding: 0 !important;
	color: var(--ink-2) !important;
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: 1.55 !important;
}
.tru-dark #page-body .panel .content dl.faq dd li::marker {
	color: var(--gold-3) !important;
}

/* ---- 5. Back-to-top link ---- */
.tru-dark #page-body .panel .content a.top {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 14px 0 0 22px !important;
	padding: 5px 10px !important;
	background: transparent !important;
	color: var(--ink-3) !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border: 1px solid var(--line-2) !important;
	border-radius: 2px !important;
	transition: color 0.15s, border-color 0.15s, background 0.15s !important;
}
.tru-dark #page-body .panel .content a.top:hover {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	background: var(--gold-wash) !important;
}
.tru-dark #page-body .panel .content a.top .icon,
.tru-dark #page-body .panel .content a.top i.icon {
	color: inherit !important;
	font-size: 11px !important;
}
/* Beat the legacy .icon-gray colour */
.tru-dark #page-body .panel .content a.top i.icon-gray {
	color: inherit !important;
}

/* ---- 6. Dashed separator between Q&A pairs ---- */
.tru-dark #page-body .panel .content hr.dashed {
	display: block !important;
	height: 0 !important;
	border: none !important;
	border-top: 1px dashed var(--line-2) !important;
	margin: 28px 0 28px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* ---- 7. Mobile breakpoint ---- */
@media only screen and (max-width: 700px) {
	.tru-dark #page-body > h2.faq-title {
		font-size: 38px !important;
		padding-top: 24px !important;
		margin-bottom: 22px !important;
	}
	.tru-dark #page-body > h2.faq-title::after {
		font-size: 15px !important;
	}
	.tru-dark #page-body .panel#faqlinks .inner {
		padding: 20px 18px !important;
	}
	.tru-dark #page-body > .panel:not(#faqlinks) .inner {
		padding: 22px 20px !important;
	}
	.tru-dark #page-body .panel .content h2.faq-title {
		font-size: 22px !important;
	}
	.tru-dark #page-body .panel .content dl.faq dt {
		font-size: 17px !important;
	}
	.tru-dark #page-body .panel .content dl.faq dd {
		font-size: 15px !important;
		margin-left: 18px !important;
	}
}

/* ===== END PHASE 4 SESSION 17 -- FAQ / HELP PAGE RESTYLE ===== */

/* ===== PHASE 4 SESSION 18 -- HOMEPAGE OVERHAUL ===== */
/* Six things in this block, scoped tightly so they don't bleed out:
   1. Reveal forum topic / message counts (legacy CSS hides them at multiple
      breakpoints). Make them visible and editorial.
   2. Reveal + style the last-message preview block.
   3. Wider page wrap + rebalanced .forum-grid for more reading width.
   4. Logo watermark on the body -- single big mark, tilted, anchored left.
   5. Refined Contest of the Month card -- elevated visual.
   6. New OG 500 founders band with circular wax-seal stamp on the left.

   Legacy obstacles to defeat (already grepped):
   - line 591:    .row-item dd.lastpost { display:none } at <768
   - line 595/96: dd.topics, dd.posts { display:none } at <768
   - line 1421-1444: more @media display:none for these columns
   - line 1452-62: crimson colors for .lastpost-author/time/subject
   - line 1469:   .forum-count font-size: 16px (legacy)
   We override with #page-body ancestor + !important. */

/* ---- 1. Reveal + style threads/messages count columns ---- */
.tru-dark #page-body .forabg .topiclist.forums > li.row dd.topics,
.tru-dark #page-body .forabg .topiclist.forums > li.row dd.posts {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100px !important;
	flex-shrink: 0 !important;
	padding: 18px 8px !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-left: 1px solid var(--line) !important;
	text-align: center !important;
	line-height: 1.2 !important;
}
/* Hide the column header labels -- the per-row labels are enough */
.tru-dark #page-body .forabg .topiclist > li.header dd.topics,
.tru-dark #page-body .forabg .topiclist > li.header dd.posts,
.tru-dark #page-body .forabg .topiclist > li.header dd.lastpost {
	display: none !important;
}
/* The big number */
.tru-dark #page-body .forabg dd.topics .forum-count,
.tru-dark #page-body .forabg dd.posts .forum-count {
	display: block !important;
	font-family: var(--f-serif) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--gold) !important;
	letter-spacing: -0.01em !important;
	line-height: 1 !important;
	margin: 0 0 4px 0 !important;
	text-shadow: none !important;
}
/* The "Threads" / "Messages" label */
.tru-dark #page-body .forabg dd.topics dfn,
.tru-dark #page-body .forabg dd.posts dfn {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* Subforum rows (the indented arrow-marked entries) get the no-content placeholders hidden */
.tru-dark #page-body .forabg .topiclist.forums > li.subforum-row dd.topics,
.tru-dark #page-body .forabg .topiclist.forums > li.subforum-row dd.posts,
.tru-dark #page-body .forabg .topiclist.forums > li.subforum-row dd.lastpost {
	display: none !important;
}

/* ---- 2. Reveal + style the last-message preview ---- */
.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	width: 240px !important;
	flex-shrink: 0 !important;
	padding: 14px 18px !important;
	background: transparent !important;
	background-image: none !important;
	border: none !important;
	border-left: 1px solid var(--line) !important;
	color: var(--ink-2) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
}
.tru-dark #page-body .forabg dd.lastpost > span {
	display: block !important;
	width: 100% !important;
}
.tru-dark #page-body .forabg .lastpost-inner {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
	width: 100% !important;
}
.tru-dark #page-body .forabg .lastpost-avatar {
	flex-shrink: 0 !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: var(--paper-editor-3) !important;
	border: 1px solid var(--line-2) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--gold-3) !important;
	font-size: 14px !important;
	margin-top: 1px !important;
}
.tru-dark #page-body .forabg .lastpost-avatar i.fa,
.tru-dark #page-body .forabg .lastpost-avatar .icon {
	color: inherit !important;
	font-size: inherit !important;
	font-family: FontAwesome, "Font Awesome 5 Free", "Font Awesome 6 Free", sans-serif !important;
}
.tru-dark #page-body .forabg .lastpost-details {
	flex: 1 !important;
	min-width: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 1px !important;
}
.tru-dark #page-body .forabg .lastpost-subject {
	display: block !important;
	color: var(--ink) !important;
	font-family: var(--f-serif) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	letter-spacing: -0.005em !important;
	line-height: 1.3 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 100% !important;
}
.tru-dark #page-body .forabg .lastpost-subject:hover {
	color: var(--gold) !important;
}
.tru-dark #page-body .forabg .lastpost-time {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.04em !important;
	margin-top: 2px !important;
}
.tru-dark #page-body .forabg .lastpost-time time {
	color: inherit !important;
}
.tru-dark #page-body .forabg .lastpost-author {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 12px !important;
	color: var(--ink-2) !important;
	letter-spacing: 0 !important;
	margin-top: 2px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}
.tru-dark #page-body .forabg .lastpost-author a,
.tru-dark #page-body .forabg .lastpost-author a.username,
.tru-dark #page-body .forabg .lastpost-author a.username-coloured,
.tru-dark #page-body .forabg .lastpost-author a[style] {
	color: var(--gold) !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	font-style: normal !important;
}
.tru-dark #page-body .forabg .lastpost-author a:hover {
	color: var(--gold-2) !important;
	text-decoration: underline !important;
}
.tru-dark #page-body .forabg .no-posts-yet {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 13px !important;
	color: var(--ink-3) !important;
	text-align: left !important;
}

/* Mobile: stack everything single-column, hide last-post preview, show counts inline */
@media only screen and (max-width: 820px) {
	.tru-dark #page-body .forabg .topiclist.forums > li.row dd.topics,
	.tru-dark #page-body .forabg .topiclist.forums > li.row dd.posts {
		width: auto !important;
		flex-direction: row !important;
		gap: 6px !important;
		padding: 10px 14px !important;
		border-left: none !important;
		border-top: 1px solid var(--line) !important;
		justify-content: flex-start !important;
	}
	.tru-dark #page-body .forabg .topiclist.forums > li.row dd.posts {
		border-top: none !important;
	}
	.tru-dark #page-body .forabg dd.topics .forum-count,
	.tru-dark #page-body .forabg dd.posts .forum-count {
		font-size: 14px !important;
		display: inline !important;
	}
	.tru-dark #page-body .forabg dd.topics dfn,
	.tru-dark #page-body .forabg dd.posts dfn {
		display: inline !important;
		font-size: 9px !important;
	}
	.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost {
		display: none !important;
	}
	.tru-dark #page-body .forabg .topiclist.forums > li.row dl.row-item {
		flex-wrap: wrap !important;
	}
}

/* ---- 3. Wider wrap + rebalanced grid ---- */
.tru-dark #tr-page-wrap {
	max-width: 1620px !important;
}
.tru-dark .forum-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 300px !important;
	gap: 36px !important;
}
@media only screen and (max-width: 980px) {
	.tru-dark .forum-grid {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}
}

/* ---- 4. Logo watermark -- left side, tilted, fixed, very subtle ---- */
.tru-dark::before {
	content: "";
	position: fixed;
	top: 50%;
	left: -120px;
	width: 720px;
	height: 720px;
	background-image: url('./images/trureview_header_logo.png');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	transform: translateY(-50%) rotate(-9deg);
	opacity: 0.028;
	pointer-events: none;
	z-index: 0;
	filter: grayscale(20%);
}
/* Make sure all real content sits ABOVE the watermark */
.tru-dark .topbar,
.tru-dark .subbar,
.tru-dark #tr-breadcrumb,
.tru-dark #tr-page-wrap,
.tru-dark #tr-mobile-menu,
.tru-dark #tr-mobile-overlay {
	position: relative;
	z-index: 1;
}
/* Hide watermark on mobile -- it would compete with the content */
@media only screen and (max-width: 980px) {
	.tru-dark::before {
		display: none !important;
	}
}

/* ---- 5. Refined Contest of the Month card ---- */
.tru-dark .forum-sidebar .forum-card.forum-card-gold {
	position: relative !important;
	background: linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border: 1px solid var(--gold-3) !important;
	border-top: 2px solid var(--gold) !important;
	border-radius: 2px !important;
	padding: 22px 22px 24px 22px !important;
	margin: 0 0 24px 0 !important;
	overflow: hidden !important;
	box-shadow: 0 4px 24px rgba(0,0,0,0.4), 0 0 0 1px rgba(201,169,97,0.06) !important;
}
/* Decorative ornament behind the card title */
.tru-dark .forum-sidebar .forum-card.forum-card-gold::before {
	content: "";
	position: absolute;
	top: -40px;
	right: -40px;
	width: 140px;
	height: 140px;
	background: radial-gradient(circle, var(--gold-wash) 0%, transparent 70%);
	pointer-events: none;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-kicker {
	position: relative !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 12px 0 !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--gold-3) !important;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-kicker::after {
	content: "\00A7";
	float: right;
	color: var(--gold-3);
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 14px;
	line-height: 1;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-title {
	position: relative !important;
	font-family: var(--f-serif) !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.15 !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-title em {
	font-style: italic !important;
	color: var(--gold) !important;
	font-weight: 400 !important;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-body {
	position: relative !important;
	font-family: var(--f-marg) !important;
	font-size: 15px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.55 !important;
	margin: 0 0 18px 0 !important;
	padding: 0 !important;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-cta {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	text-decoration: none !important;
	padding: 8px 14px 8px 0 !important;
	border-bottom: 1px solid var(--gold-3) !important;
	transition: color 0.2s, padding-right 0.2s, border-color 0.2s !important;
}
.tru-dark .forum-sidebar .forum-card.forum-card-gold .forum-card-cta:hover {
	color: var(--gold-2) !important;
	padding-right: 22px !important;
	border-color: var(--gold) !important;
}

/* ---- 6. OG 500 founders band ---- */
.tru-dark .og500-band {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 32px !important;
	background: linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border: 1px solid var(--line) !important;
	border-top: 2px solid var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
	border-radius: 2px !important;
	padding: 28px 36px !important;
	margin: 0 0 36px 0 !important;
	overflow: hidden !important;
	box-shadow: 0 4px 32px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,169,97,0.08) inset !important;
}
/* Decorative ornaments at corners */
.tru-dark .og500-band::before {
	content: "";
	position: absolute;
	top: -80px;
	right: -80px;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, var(--gold-wash) 0%, transparent 65%);
	pointer-events: none;
	opacity: 0.7;
}
.tru-dark .og500-band::after {
	content: "";
	position: absolute;
	bottom: -60px;
	left: 30%;
	width: 180px;
	height: 180px;
	background: radial-gradient(circle, rgba(201,169,97,0.04) 0%, transparent 60%);
	pointer-events: none;
}

/* The wax seal / stamp on the left */
.tru-dark .og500-band .og500-seal {
	position: relative !important;
	flex-shrink: 0 !important;
	width: 130px !important;
	height: 130px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: radial-gradient(circle at 35% 30%, rgba(201,169,97,0.18) 0%, rgba(201,169,97,0.06) 60%, transparent 100%) !important;
	border: 2px solid var(--gold) !important;
	border-radius: 50% !important;
	transform: rotate(-7deg) !important;
	box-shadow:
		inset 0 0 0 4px var(--bg),
		inset 0 0 0 5px var(--gold-3),
		inset 0 0 24px rgba(201,169,97,0.15),
		0 4px 16px rgba(0,0,0,0.35) !important;
}
/* Inner ring (decorative) */
.tru-dark .og500-band .og500-seal-ring {
	position: absolute !important;
	top: 12px !important;
	left: 12px !important;
	right: 12px !important;
	bottom: 12px !important;
	border: 1px dashed rgba(201,169,97,0.4) !important;
	border-radius: 50% !important;
	pointer-events: none !important;
}
.tru-dark .og500-band .og500-seal-top {
	font-family: var(--f-sans) !important;
	font-size: 8px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold-2) !important;
	text-transform: uppercase !important;
	margin-top: 4px !important;
	text-align: center !important;
	line-height: 1 !important;
}
.tru-dark .og500-band .og500-seal-mark {
	font-family: var(--f-serif) !important;
	font-size: 38px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--gold) !important;
	letter-spacing: -0.02em !important;
	line-height: 1 !important;
	margin: 4px 0 2px 0 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}
.tru-dark .og500-band .og500-seal-bottom {
	font-family: var(--f-sans) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	color: var(--gold-2) !important;
	line-height: 1 !important;
	margin-bottom: 4px !important;
}

/* The text content on the right of the seal */
.tru-dark .og500-band .og500-text {
	position: relative !important;
	flex: 1 !important;
	min-width: 0 !important;
	z-index: 1 !important;
}
.tru-dark .og500-band .og500-kicker {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 8px 0 !important;
}
.tru-dark .og500-band .og500-title {
	font-family: var(--f-serif) !important;
	font-size: 28px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.01em !important;
	line-height: 1.15 !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .og500-band .og500-title em {
	font-style: italic !important;
	color: var(--gold) !important;
	font-weight: 400 !important;
}
.tru-dark .og500-band .og500-body {
	font-family: var(--f-marg) !important;
	font-size: 15px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.55 !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 720px !important;
}
.tru-dark .og500-band .og500-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.01em !important;
}

/* OG 500 mobile breakpoint */
@media only screen and (max-width: 700px) {
	.tru-dark .og500-band {
		flex-direction: column !important;
		gap: 20px !important;
		padding: 24px 22px !important;
		text-align: center !important;
	}
	.tru-dark .og500-band .og500-seal {
		width: 110px !important;
		height: 110px !important;
	}
	.tru-dark .og500-band .og500-seal-mark {
		font-size: 32px !important;
	}
	.tru-dark .og500-band .og500-seal-bottom {
		font-size: 16px !important;
	}
	.tru-dark .og500-band .og500-title {
		font-size: 22px !important;
	}
	.tru-dark .og500-band .og500-body {
		font-size: 14px !important;
	}
}

/* ===== END PHASE 4 SESSION 18 -- HOMEPAGE OVERHAUL ===== */

/* ===== PHASE 4 SESSION 18 PATCH 1 -- HOMEPAGE FIXES + SWAPS ===== */
/* Fixes from Ali's feedback after S18:
   1. Watermark not visible -- switched from body::before pseudo to a real
      <div id="tru-watermark"> in overall_header.html. Real elements are
      more reliable across stacking contexts than pseudos.
   2. Banner positions swapped -- Review of the Month is now the big band
      above the grid; OG 500 is now a compact sidebar card. Templates
      already restructured; this block adds the matching CSS.
   3. "The Forum" -> "The Forums" with stronger typographic treatment
      (heavier weight, larger size, two-tone "The" + "Forums").
   4. forum-grid sidebar smushing on viewforum pages -- when the sidebar
      doesn't render (viewforum.php), the grid still allocates 300px on
      the right side, leaving dead space. Fix with :has() selector. */

/* ---- 1. Watermark on real DOM element (visible + tilted + left-anchored) ---- */
.tru-dark #tru-watermark {
	position: fixed !important;
	top: 50% !important;
	left: -160px !important;
	width: 760px !important;
	height: 760px !important;
	background-image: url('./images/trureview_header_logo.png') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;
	transform: translateY(-50%) rotate(-9deg) !important;
	opacity: 0.045 !important;
	pointer-events: none !important;
	z-index: 0 !important;
	filter: grayscale(15%) brightness(1.1) !important;
}
/* Make sure all real content sits ABOVE the watermark */
.tru-dark .topbar,
.tru-dark .subbar,
.tru-dark #tr-breadcrumb,
.tru-dark #tr-page-wrap,
.tru-dark #tr-mobile-menu,
.tru-dark #tr-mobile-overlay {
	position: relative !important;
	z-index: 1 !important;
}
/* Hide watermark on small screens */
@media only screen and (max-width: 980px) {
	.tru-dark #tru-watermark {
		display: none !important;
	}
}
/* Disable old body::before watermark from S18 (was invisible anyway) */
.tru-dark::before {
	display: none !important;
	content: none !important;
}

/* ---- 2. Stronger masthead title -- "The Forums" ---- */
.tru-dark .forum-masthead-title.forum-masthead-title-strong {
	font-family: var(--f-serif) !important;
	font-size: clamp(48px, 7vw, 92px) !important;
	font-weight: 900 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.025em !important;
	line-height: 0.95 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	border: none !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.5) !important;
}
/* "The" -- smaller, regular weight, restrained */
.tru-dark .forum-masthead-title-strong .masthead-the {
	font-weight: 400 !important;
	font-style: italic !important;
	font-size: 0.5em !important;
	color: var(--ink-2) !important;
	letter-spacing: 0 !important;
	display: inline-block !important;
	transform: translateY(-0.25em) !important;
	margin-right: 0.05em !important;
}
/* "Forums" -- the visual anchor, gold, italic, heavy */
.tru-dark .forum-masthead-title-strong em {
	font-style: italic !important;
	font-weight: 900 !important;
	color: var(--gold) !important;
	font-size: 1em !important;
	letter-spacing: -0.025em !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 70%, var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	text-shadow: 0 2px 8px rgba(201,169,97,0.18) !important;
}
@media only screen and (max-width: 700px) {
	.tru-dark .forum-masthead-title.forum-masthead-title-strong {
		font-size: clamp(36px, 11vw, 56px) !important;
	}
}

/* ---- 3. Forum-grid: drop the sidebar column on viewforum pages ---- */
/* When the .forum-sidebar isn't rendered (e.g. viewforum.php), the grid
   shouldn't reserve 300px of dead space on the right. :has() lets us
   detect the absence and collapse to a single column. */
.tru-dark .forum-grid:not(:has(.forum-sidebar)) {
	display: block !important;
}
.tru-dark .forum-grid:not(:has(.forum-sidebar)) > .forum-main {
	width: 100% !important;
	max-width: 100% !important;
}
/* Fallback for browsers without :has() support: target by section */
.tru-dark body.section-viewforum .forum-grid {
	display: block !important;
}
.tru-dark body.section-viewforum .forum-grid > .forum-main {
	width: 100% !important;
	max-width: 100% !important;
}

/* ---- 4. NEW: Review of the Month BIG BANNER (.contest-band) ---- */
/* This replaces the old OG 500 band position. It needs to be the headliner --
   biggest visual on the page after the masthead. Lots of gold, prize callout,
   prominent CTA. Layout: prize medallion on left, content on right. */
.tru-dark .contest-band {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 36px !important;
	background:
		linear-gradient(135deg, rgba(201,169,97,0.05) 0%, transparent 50%, rgba(201,169,97,0.04) 100%),
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border: 1px solid var(--gold-3) !important;
	border-top: 3px solid var(--gold) !important;
	border-bottom: 3px solid var(--gold) !important;
	border-radius: 2px !important;
	padding: 36px 44px !important;
	margin: 0 0 40px 0 !important;
	overflow: hidden !important;
	box-shadow:
		0 8px 40px rgba(0,0,0,0.5),
		0 0 0 1px rgba(201,169,97,0.10) inset,
		0 0 80px rgba(201,169,97,0.03) inset !important;
}
/* Decorative ornaments */
.tru-dark .contest-band::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -80px;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, var(--gold-wash) 0%, transparent 65%);
	pointer-events: none;
}
.tru-dark .contest-band::after {
	content: "";
	position: absolute;
	bottom: -100px;
	left: 25%;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(201,169,97,0.06) 0%, transparent 60%);
	pointer-events: none;
}

/* The medallion / prize mark on the left */
.tru-dark .contest-band .contest-band-mark {
	position: relative !important;
	flex-shrink: 0 !important;
	width: 160px !important;
	height: 160px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background:
		radial-gradient(circle at 30% 25%, rgba(224,193,124,0.32) 0%, rgba(201,169,97,0.18) 40%, rgba(138,115,64,0.08) 100%) !important;
	border: 3px solid var(--gold) !important;
	border-radius: 50% !important;
	transform: rotate(-4deg) !important;
	box-shadow:
		inset 0 0 0 6px var(--bg),
		inset 0 0 0 7px var(--gold-3),
		inset 0 0 32px rgba(201,169,97,0.18),
		0 8px 28px rgba(0,0,0,0.45),
		0 0 24px rgba(201,169,97,0.15) !important;
}
.tru-dark .contest-band .contest-band-mark-ring {
	position: absolute !important;
	top: 16px !important;
	left: 16px !important;
	right: 16px !important;
	bottom: 16px !important;
	border: 1px dashed rgba(224,193,124,0.5) !important;
	border-radius: 50% !important;
	pointer-events: none !important;
}
/* Star icon as the centerpiece */
.tru-dark .contest-band .contest-band-mark-icon {
	font-size: 56px !important;
	font-family: var(--f-serif), serif !important;
	color: var(--gold) !important;
	line-height: 1 !important;
	text-shadow:
		0 1px 2px rgba(0,0,0,0.4),
		0 0 16px rgba(224,193,124,0.4) !important;
	margin: -4px 0 -2px 0 !important;
}
/* Laurel ornaments left/right of the icon */
.tru-dark .contest-band .contest-band-mark-laurel-l,
.tru-dark .contest-band .contest-band-mark-laurel-r {
	position: absolute !important;
	top: 50% !important;
	font-size: 22px !important;
	color: var(--gold-3) !important;
	transform: translateY(-50%) !important;
	font-family: serif !important;
	pointer-events: none !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-l {
	left: 18px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-r {
	right: 18px !important;
}
/* "PRIZE" label below star */
.tru-dark .contest-band .contest-band-mark-prize {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold-2) !important;
	margin-top: 2px !important;
	line-height: 1 !important;
	text-shadow: 0 1px 1px rgba(0,0,0,0.3) !important;
}

/* The content (right side of the medallion) */
.tru-dark .contest-band .contest-band-content {
	position: relative !important;
	flex: 1 !important;
	min-width: 0 !important;
	z-index: 1 !important;
}
.tru-dark .contest-band .contest-band-kicker {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.24em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 10px 0 !important;
}
.tru-dark .contest-band .contest-band-title {
	font-family: var(--f-serif) !important;
	font-size: clamp(32px, 4.6vw, 48px) !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .contest-band .contest-band-title em {
	font-style: italic !important;
	font-weight: 700 !important;
	color: var(--gold) !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 70%, var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	text-shadow: 0 2px 6px rgba(201,169,97,0.18) !important;
}
.tru-dark .contest-band .contest-band-body {
	font-family: var(--f-marg) !important;
	font-size: 17px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.55 !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
	max-width: 720px !important;
}
.tru-dark .contest-band .contest-band-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.005em !important;
}
/* CTA button -- gold solid with arrow that animates on hover */
.tru-dark .contest-band .contest-band-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: #18120a !important;
	background: var(--gold) !important;
	text-decoration: none !important;
	padding: 13px 26px !important;
	border: 1px solid var(--gold) !important;
	border-radius: 2px !important;
	box-shadow:
		0 2px 8px rgba(0,0,0,0.3),
		0 0 0 1px rgba(255,255,255,0.05) inset !important;
	transition: background 0.2s, color 0.2s, gap 0.2s, box-shadow 0.2s !important;
}
.tru-dark .contest-band .contest-band-cta:hover {
	background: var(--gold-2) !important;
	border-color: var(--gold-2) !important;
	gap: 14px !important;
	box-shadow:
		0 4px 14px rgba(201,169,97,0.25),
		0 0 0 1px rgba(255,255,255,0.08) inset !important;
}
.tru-dark .contest-band .contest-band-arrow {
	display: inline-block !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	transition: transform 0.2s !important;
}
.tru-dark .contest-band .contest-band-cta:hover .contest-band-arrow {
	transform: translateX(2px) !important;
}

/* Mobile: stack medallion above content */
@media only screen and (max-width: 760px) {
	.tru-dark .contest-band {
		flex-direction: column !important;
		gap: 24px !important;
		padding: 28px 24px !important;
		text-align: center !important;
	}
	.tru-dark .contest-band .contest-band-mark {
		width: 130px !important;
		height: 130px !important;
	}
	.tru-dark .contest-band .contest-band-mark-icon {
		font-size: 44px !important;
	}
	.tru-dark .contest-band .contest-band-body {
		font-size: 15px !important;
	}
}

/* ---- 5. NEW: OG 500 sidebar card (.og500-card) ---- */
/* The compact version that lives in the sidebar where the contest used to be.
   Stacks vertically: seal on top, copy below. */
.tru-dark .forum-sidebar .og500-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 18px !important;
	background: linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border: 1px solid var(--gold-3) !important;
	border-top: 2px solid var(--gold) !important;
	border-radius: 2px !important;
	padding: 26px 22px 24px 22px !important;
	margin: 0 0 24px 0 !important;
	overflow: hidden !important;
	box-shadow:
		0 4px 24px rgba(0,0,0,0.4),
		0 0 0 1px rgba(201,169,97,0.06) !important;
}
.tru-dark .forum-sidebar .og500-card::before {
	content: "";
	position: absolute;
	top: -50px;
	right: -50px;
	width: 160px;
	height: 160px;
	background: radial-gradient(circle, var(--gold-wash) 0%, transparent 70%);
	pointer-events: none;
}

/* Compact seal (smaller version of the band seal) */
.tru-dark .forum-sidebar .og500-card .og500-card-seal {
	position: relative !important;
	flex-shrink: 0 !important;
	width: 100px !important;
	height: 100px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: radial-gradient(circle at 35% 30%, rgba(201,169,97,0.18) 0%, rgba(201,169,97,0.06) 60%, transparent 100%) !important;
	border: 2px solid var(--gold) !important;
	border-radius: 50% !important;
	transform: rotate(-7deg) !important;
	box-shadow:
		inset 0 0 0 3px var(--bg),
		inset 0 0 0 4px var(--gold-3),
		inset 0 0 20px rgba(201,169,97,0.15),
		0 4px 14px rgba(0,0,0,0.35) !important;
}
.tru-dark .forum-sidebar .og500-card .og500-seal-ring {
	position: absolute !important;
	top: 9px !important;
	left: 9px !important;
	right: 9px !important;
	bottom: 9px !important;
	border: 1px dashed rgba(201,169,97,0.4) !important;
	border-radius: 50% !important;
	pointer-events: none !important;
}
.tru-dark .forum-sidebar .og500-card .og500-seal-top {
	font-family: var(--f-sans) !important;
	font-size: 6.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em !important;
	color: var(--gold-2) !important;
	text-transform: uppercase !important;
	margin-top: 3px !important;
	text-align: center !important;
	line-height: 1 !important;
}
.tru-dark .forum-sidebar .og500-card .og500-seal-mark {
	font-family: var(--f-serif) !important;
	font-size: 28px !important;
	font-weight: 400 !important;
	font-style: italic !important;
	color: var(--gold) !important;
	letter-spacing: -0.02em !important;
	line-height: 1 !important;
	margin: 3px 0 1px 0 !important;
	text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}
.tru-dark .forum-sidebar .og500-card .og500-seal-bottom {
	font-family: var(--f-sans) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	color: var(--gold-2) !important;
	line-height: 1 !important;
	margin-bottom: 3px !important;
}

/* Card text */
.tru-dark .forum-sidebar .og500-card .og500-card-text {
	position: relative !important;
	z-index: 1 !important;
	width: 100% !important;
}
.tru-dark .forum-sidebar .og500-card .og500-card-kicker {
	font-family: var(--f-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 8px 0 !important;
	padding-bottom: 8px !important;
	border-bottom: 1px solid var(--gold-3) !important;
}
.tru-dark .forum-sidebar .og500-card .og500-card-title {
	font-family: var(--f-serif) !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.005em !important;
	line-height: 1.2 !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .forum-sidebar .og500-card .og500-card-title em {
	font-style: italic !important;
	color: var(--gold) !important;
	font-weight: 400 !important;
}
.tru-dark .forum-sidebar .og500-card .og500-card-body {
	font-family: var(--f-marg) !important;
	font-size: 13.5px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tru-dark .forum-sidebar .og500-card .og500-card-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.005em !important;
}

/* ---- 6. Disable old OG 500 band styling (was the big banner, no longer used) ---- */
/* The .og500-band class is no longer in the template, but in case any
   stale cache renders it, suppress the old styling. */
.tru-dark .og500-band {
	display: none !important;
}

/* ===== END PHASE 4 SESSION 18 PATCH 1 -- HOMEPAGE FIXES + SWAPS ===== */

/* ===== PHASE 4 SESSION 18 PATCH 2 -- BANNER SIZE + WATERMARK + ROW FIX ===== */
/* Three fixes from Ali's feedback:
   1. Review banner too big -- reduce overall scale (medallion, padding,
      title size).
   2. Watermark not visible + wrong asset -- switch to /favicon-512.png
      (the icon-only silhouette, NOT the full wordmark logo), bump size,
      bump opacity from 0.045 to ~0.12 so it's clearly visible.
   3. Subforum rows on viewforum stacking instead of laying out in a row.
      The cause: legacy CSS line 1400 makes li.row display:block, and the
      inner dl.row-item had no explicit flex-direction lock. Some recent
      change (likely PATCH 1's grid:has() rules combined with a parent
      flex-wrap rule) is causing the dl to wrap. Force dl.row-item to be
      flex row, nowrap, on desktop. */

/* ---- 1. Reduce Review of the Month band size ---- */
.tru-dark .contest-band {
	gap: 28px !important;
	padding: 28px 36px !important;
	margin: 0 0 32px 0 !important;
}
.tru-dark .contest-band .contest-band-mark {
	width: 130px !important;
	height: 130px !important;
}
.tru-dark .contest-band .contest-band-mark-icon {
	font-size: 44px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-l,
.tru-dark .contest-band .contest-band-mark-laurel-r {
	font-size: 18px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-l {
	left: 14px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-r {
	right: 14px !important;
}
.tru-dark .contest-band .contest-band-mark-prize {
	font-size: 9px !important;
	letter-spacing: 0.20em !important;
}
.tru-dark .contest-band .contest-band-title {
	font-size: clamp(26px, 3.4vw, 38px) !important;
	margin: 0 0 10px 0 !important;
}
.tru-dark .contest-band .contest-band-body {
	font-size: 15px !important;
	margin: 0 0 18px 0 !important;
}
.tru-dark .contest-band .contest-band-cta {
	font-size: 11px !important;
	padding: 11px 22px !important;
}

@media only screen and (max-width: 760px) {
	.tru-dark .contest-band {
		gap: 20px !important;
		padding: 22px 20px !important;
	}
	.tru-dark .contest-band .contest-band-mark {
		width: 110px !important;
		height: 110px !important;
	}
	.tru-dark .contest-band .contest-band-mark-icon {
		font-size: 36px !important;
	}
	.tru-dark .contest-band .contest-band-body {
		font-size: 14px !important;
	}
}

/* ---- 2. Watermark: use favicon-only (silhouette icon), bigger, less transparent ---- */
.tru-dark #tru-watermark {
	position: fixed !important;
	top: 50% !important;
	left: -200px !important;
	width: 1100px !important;
	height: 1100px !important;
	background-image: url('/favicon-512.png') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;
	transform: translateY(-50%) rotate(-9deg) !important;
	opacity: 0.12 !important;
	pointer-events: none !important;
	z-index: 0 !important;
	filter: none !important;
}
@media only screen and (max-width: 1200px) {
	.tru-dark #tru-watermark {
		width: 800px !important;
		height: 800px !important;
		left: -180px !important;
		opacity: 0.10 !important;
	}
}
@media only screen and (max-width: 980px) {
	.tru-dark #tru-watermark {
		display: none !important;
	}
}

/* ---- 3. Force forum rows to lay out as flex row (defeat any stacking) ---- */
/* Belt-and-suspenders approach: explicitly set flex-direction: row,
   flex-wrap: nowrap, and align-items so any combination of legacy or
   recent rules can't break the horizontal layout on desktop. */
.tru-dark #page-body .forabg .topiclist.forums > li.row {
	display: block !important;
}
.tru-dark #page-body .forabg .topiclist.forums > li.row > dl.row-item,
.tru-dark #page-body .forabg .topiclist > li.header > dl.row-item {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 !important;
}
.tru-dark #page-body .forabg .topiclist.forums > li.row > dl.row-item > dt {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: block !important;
}
/* Header row needs the same flex-row layout so column labels align */
.tru-dark #page-body .forabg .topiclist > li.header > dl.row-item > dt {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
/* Mobile breakpoint -- here it CAN wrap (flex-wrap: wrap) so the row
   collapses to single-column. This applies only at <=820px. */
@media only screen and (max-width: 820px) {
	.tru-dark #page-body .forabg .topiclist.forums > li.row > dl.row-item {
		flex-wrap: wrap !important;
	}
	.tru-dark #page-body .forabg .topiclist.forums > li.row > dl.row-item > dt {
		flex: 1 1 100% !important;
		width: 100% !important;
	}
}

/* ===== END PHASE 4 SESSION 18 PATCH 2 -- BANNER SIZE + WATERMARK + ROW FIX ===== */

/* ===== PHASE 4 SESSION 18 PATCH 3 -- WATERMARK + BANNER + DROPDOWN ===== */
/* Three more refinements from Ali's feedback:
   1. Watermark 30% smaller (1100->770px), bumped opacity 0.12->0.18 so
      it's actually visible. Also injected the #tru-watermark div into
      the 5 static HTML pages (directory, contest, advertise,
      independent-directory, rules) so the mark shows everywhere.
   2. Review of the Month banner still too big -- another scale-down pass
      on padding, medallion, title, body, CTA.
   3. Dropdown items going invisible/missing in screenshot. Defensive
      CSS to force every <a> inside .user-menu-dropdown to render with
      proper color/padding/min-height regardless of content. Most likely
      cause: a CSS rule somewhere making links transparent or 0-height
      when they contain inline conditional content. */

/* ---- 1. Watermark: smaller + more visible ---- */
.tru-dark #tru-watermark {
	width: 770px !important;
	height: 770px !important;
	left: -140px !important;
	opacity: 0.18 !important;
}
@media only screen and (max-width: 1200px) {
	.tru-dark #tru-watermark {
		width: 580px !important;
		height: 580px !important;
		left: -120px !important;
		opacity: 0.15 !important;
	}
}
/* (mobile <=980px hide rule already in PATCH 2 still applies) */

/* ---- 2. Review of the Month banner -- another size reduction ---- */
.tru-dark .contest-band {
	gap: 22px !important;
	padding: 22px 28px !important;
	margin: 0 0 28px 0 !important;
	border-top-width: 2px !important;
	border-bottom-width: 2px !important;
}
.tru-dark .contest-band .contest-band-mark {
	width: 105px !important;
	height: 105px !important;
}
.tru-dark .contest-band .contest-band-mark-icon {
	font-size: 36px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-l,
.tru-dark .contest-band .contest-band-mark-laurel-r {
	font-size: 14px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-l {
	left: 11px !important;
}
.tru-dark .contest-band .contest-band-mark-laurel-r {
	right: 11px !important;
}
.tru-dark .contest-band .contest-band-mark-prize {
	font-size: 8px !important;
	letter-spacing: 0.18em !important;
}
.tru-dark .contest-band .contest-band-kicker {
	font-size: 9.5px !important;
	margin: 0 0 7px 0 !important;
}
.tru-dark .contest-band .contest-band-title {
	font-size: clamp(22px, 2.6vw, 30px) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.1 !important;
}
.tru-dark .contest-band .contest-band-body {
	font-size: 14px !important;
	margin: 0 0 14px 0 !important;
	line-height: 1.5 !important;
}
.tru-dark .contest-band .contest-band-cta {
	font-size: 10.5px !important;
	padding: 9px 18px !important;
	letter-spacing: 0.16em !important;
}

@media only screen and (max-width: 760px) {
	.tru-dark .contest-band {
		gap: 16px !important;
		padding: 18px 16px !important;
	}
	.tru-dark .contest-band .contest-band-mark {
		width: 90px !important;
		height: 90px !important;
	}
	.tru-dark .contest-band .contest-band-mark-icon {
		font-size: 30px !important;
	}
	.tru-dark .contest-band .contest-band-title {
		font-size: 20px !important;
	}
	.tru-dark .contest-band .contest-band-body {
		font-size: 13px !important;
	}
}

/* ---- 3. Dropdown defensive: force every menu item to render correctly ---- */
/* Belt-and-suspenders rules to guarantee that no rule elsewhere can hide
   or collapse dropdown items, regardless of their text content or
   conditional inline children. */
.tru-dark .user-menu-dropdown a,
.tru-dark .user-menu-dropdown a[role="menuitem"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: 36px !important;
	height: auto !important;
	padding: 9px 16px !important;
	margin: 0 !important;
	color: var(--ink) !important;
	background: transparent !important;
	font-family: var(--f-sans) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.04em !important;
	text-decoration: none !important;
	text-align: left !important;
	white-space: nowrap !important;
	line-height: 1.4 !important;
	border: none !important;
	border-bottom: 1px solid rgba(255,255,255,0.04) !important;
	box-sizing: border-box !important;
	transition: background 0.15s, color 0.15s, padding-left 0.15s !important;
}
.tru-dark .user-menu-dropdown a:last-of-type {
	border-bottom: none !important;
}
.tru-dark .user-menu-dropdown a:hover {
	background: var(--gold-wash) !important;
	color: var(--gold) !important;
	padding-left: 20px !important;
}
.tru-dark .user-menu-dropdown a:focus {
	outline: none !important;
	background: var(--gold-wash) !important;
	color: var(--gold) !important;
}
/* Admin CP -- gold accent */
.tru-dark .user-menu-dropdown a.user-menu-acp {
	color: var(--gold) !important;
}
.tru-dark .user-menu-dropdown a.user-menu-acp:hover {
	color: var(--gold-2) !important;
}
/* Sign Out -- subtle red tint */
.tru-dark .user-menu-dropdown a.user-menu-logout {
	color: var(--ink-3) !important;
}
.tru-dark .user-menu-dropdown a.user-menu-logout:hover {
	background: rgba(184,66,61,0.10) !important;
	color: var(--red) !important;
}
/* Inline count chips inside menu items */
.tru-dark .user-menu-dropdown a .user-menu-count {
	display: inline-block !important;
	visibility: visible !important;
	margin-left: 8px !important;
	padding: 1px 7px !important;
	background: var(--gold-wash) !important;
	color: var(--gold) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 8px !important;
	line-height: 1.5 !important;
	vertical-align: middle !important;
}

/* ===== END PHASE 4 SESSION 18 PATCH 3 -- WATERMARK + BANNER + DROPDOWN ===== */

/* ===== PHASE 4 SESSION 18 PATCH 4 -- WATERMARK SHARP + BANNER REDESIGN + DROPDOWN FIX ===== */
/* Three real fixes from Ali:
   1. Watermark blurry, too transparent, needs to sit lower.
      Root cause of blur: rendering favicon-512.png (native 512x512) at
      770px is a 1.5x upscale. Fix: render at 620px (closer to native,
      less upscale = sharper), bump opacity from 0.18 to 0.28, move from
      top:50% to top:65% (lower on the page), add image-rendering hints
      and GPU compositing hints for crisper output.
   2. Review banner still too big AND Ali doesn't like the circular
      medallion. Redesign: kill the medallion, simplify to a flat
      editorial band with gold left-accent. CTA text in template
      changed from "Enter the contest" to "View Contest Details".
   3. Dropdown items unclickable -- the BUG is line 5841:
      top: calc(100% + 6px) creates a 6px gap between the trigger
      button and the dropdown. When the user moves the mouse down
      through that gap, the cursor is in empty space, :hover is
      lost, and the dropdown closes mid-traverse before any item
      can be clicked. Fix: top:100% (no gap) + invisible ::before
      hover-bridge above the dropdown to keep :hover alive even
      during the visual gap. */

/* ---- 1. Watermark: sharper + bigger feel + lower position ---- */
.tru-dark #tru-watermark {
	position: fixed !important;
	top: 65% !important;          /* lower on the page */
	left: -110px !important;
	width: 620px !important;       /* closer to native 512px = less upscale = sharper */
	height: 620px !important;
	background-image: url('/favicon-512.png') !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: contain !important;
	transform: translate3d(0, -50%, 0) rotate(-9deg) !important;  /* GPU layer */
	-webkit-transform: translate3d(0, -50%, 0) rotate(-9deg) !important;
	opacity: 0.28 !important;      /* less transparent */
	pointer-events: none !important;
	z-index: 0 !important;
	filter: none !important;
	/* Sharpening hints */
	image-rendering: -webkit-optimize-contrast !important;
	image-rendering: crisp-edges !important;
	will-change: transform, opacity !important;
	-webkit-backface-visibility: hidden !important;
	backface-visibility: hidden !important;
}
@media only screen and (max-width: 1200px) {
	.tru-dark #tru-watermark {
		width: 480px !important;
		height: 480px !important;
		left: -90px !important;
		opacity: 0.24 !important;
	}
}
/* mobile <=980px hide rule from earlier patches still applies */

/* ---- 2. Review banner -- kill medallion, redesign as flat editorial band ---- */
/* Hide the entire circular mark element */
.tru-dark .contest-band .contest-band-mark,
.tru-dark .contest-band .contest-band-mark-ring,
.tru-dark .contest-band .contest-band-mark-icon,
.tru-dark .contest-band .contest-band-mark-laurel-l,
.tru-dark .contest-band .contest-band-mark-laurel-r,
.tru-dark .contest-band .contest-band-mark-prize {
	display: none !important;
}
/* Restructure band: no flex row, just a simple block with gold left accent */
.tru-dark .contest-band {
	display: block !important;
	position: relative !important;
	gap: 0 !important;
	background:
		linear-gradient(90deg, rgba(201,169,97,0.07) 0%, transparent 30%),
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border: 1px solid var(--line) !important;
	border-left: 4px solid var(--gold) !important;
	border-top: none !important;
	border-bottom: none !important;
	border-radius: 0 2px 2px 0 !important;
	padding: 18px 28px 20px 28px !important;
	margin: 0 0 28px 0 !important;
	box-shadow: 0 4px 18px rgba(0,0,0,0.35) !important;
	overflow: visible !important;
}
/* Disable the radial-glow ::before/::after ornaments from PATCH 1 */
.tru-dark .contest-band::before,
.tru-dark .contest-band::after {
	display: none !important;
	content: none !important;
}
/* The content wrapper -- horizontal layout with title on left, CTA right */
.tru-dark .contest-band .contest-band-content {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
	flex-wrap: wrap !important;
	width: 100% !important;
}
/* Text block (left side) -- kicker + title + body stacked */
.tru-dark .contest-band .contest-band-content > .contest-band-kicker,
.tru-dark .contest-band .contest-band-content > .contest-band-title,
.tru-dark .contest-band .contest-band-content > .contest-band-body {
	flex: 1 1 100% !important;
	max-width: 100% !important;
}
.tru-dark .contest-band .contest-band-content > .contest-band-cta {
	flex: 0 0 auto !important;
}
.tru-dark .contest-band .contest-band-kicker {
	font-family: var(--f-sans) !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.22em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 6px 0 !important;
}
.tru-dark .contest-band .contest-band-title {
	font-family: var(--f-serif) !important;
	font-size: clamp(20px, 2.4vw, 26px) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.015em !important;
	line-height: 1.15 !important;
	margin: 0 0 6px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .contest-band .contest-band-title em {
	font-style: italic !important;
	font-weight: 600 !important;
	color: var(--gold) !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 70%, var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
}
.tru-dark .contest-band .contest-band-body {
	font-family: var(--f-marg) !important;
	font-size: 13.5px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.5 !important;
	margin: 0 0 12px 0 !important;
	padding: 0 !important;
	max-width: 720px !important;
}
.tru-dark .contest-band .contest-band-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
}
/* CTA -- ghost button with gold border, brightens on hover */
.tru-dark .contest-band .contest-band-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-family: var(--f-sans) !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--gold) !important;
	background: transparent !important;
	text-decoration: none !important;
	padding: 9px 18px !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: color 0.2s, background 0.2s, border-color 0.2s, gap 0.2s !important;
}
.tru-dark .contest-band .contest-band-cta:hover {
	color: var(--gold-2) !important;
	background: var(--gold-wash) !important;
	border-color: var(--gold) !important;
	gap: 12px !important;
}
.tru-dark .contest-band .contest-band-arrow {
	display: inline-block !important;
	font-size: 13px !important;
	font-weight: 400 !important;
}

/* Mobile: stack CTA below text */
@media only screen and (max-width: 760px) {
	.tru-dark .contest-band {
		padding: 16px 18px 18px 22px !important;
	}
	.tru-dark .contest-band .contest-band-content {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px !important;
	}
	.tru-dark .contest-band .contest-band-cta {
		margin-top: 4px !important;
		font-size: 10px !important;
		padding: 8px 14px !important;
	}
	.tru-dark .contest-band .contest-band-title {
		font-size: 19px !important;
	}
	.tru-dark .contest-band .contest-band-body {
		font-size: 13px !important;
	}
}

/* ---- 3. DROPDOWN FIX -- eliminate the 6px hover gap that breaks the menu ---- */
/* Override the legacy rule at line 5841: top: calc(100% + 6px). That 6px gap
   is uncovered space between the button and the dropdown -- when the cursor
   crosses it, :hover is lost and the dropdown closes before the user can
   click any item. Fix: top:100% (zero gap) + invisible bridge pseudo. */
.tru-dark .topbar-right .user-menu .user-menu-dropdown {
	top: 100% !important;
	margin-top: 0 !important;
	z-index: 9999 !important;
	pointer-events: auto !important;
}
/* Invisible hover-bridge above the dropdown -- 12px tall transparent strip
   that catches the mouse during the gap traverse so :hover stays alive */
.tru-dark .topbar-right .user-menu .user-menu-dropdown::before {
	content: "" !important;
	position: absolute !important;
	top: -14px !important;
	left: 0 !important;
	right: 0 !important;
	height: 14px !important;
	background: transparent !important;
	pointer-events: auto !important;
	z-index: 1 !important;
}
/* Force pointer-events + relative position + cursor on every item so they
   capture clicks reliably regardless of any other rule */
.tru-dark .topbar-right .user-menu .user-menu-dropdown a,
.tru-dark .topbar-right .user-menu .user-menu-dropdown a[role="menuitem"] {
	pointer-events: auto !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 2 !important;
}
/* Keep dropdown open on hover/focus -- explicit override in case any other
   rule is interfering */
.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown,
.tru-dark .topbar-right .user-menu .user-menu-dropdown:hover {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
}

/* ===== END PHASE 4 SESSION 18 PATCH 4 -- WATERMARK SHARP + BANNER REDESIGN + DROPDOWN FIX ===== */

/* ===== PHASE 4 SESSION 18 PATCH 5 -- DROPDOWN CLICK-TOGGLE (BULLETPROOF) ===== */
/* The :hover-based dropdown has been fragile across multiple patches.
   Switching to JS click-toggle. Template now adds an `is-open` class to
   .user-menu when the user-handle button is clicked; click outside or
   Escape closes it. This block:
     1. Disables the legacy :hover open behavior so it doesn't fight JS
     2. Adds .is-open as the single source of truth for "menu is open"
     3. Rotates the caret when open (visual feedback)
     4. Forces every dropdown item to be clickable with explicit
        pointer-events / cursor / z-index */

/* ---- 1. Disable the legacy :hover-only open mechanism ----
   The JavaScript click-toggle is now the only way to open the menu.
   Without this, hovering would also open it, which conflicts with
   click-to-toggle UX (causes flicker, double-state confusion). */
.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown {
	opacity: 0 !important;
	visibility: hidden !important;
	transform: translateY(-4px) !important;
	pointer-events: none !important;
}

/* ---- 2. .is-open is the single source of truth ---- */
.tru-dark .topbar-right .user-menu.is-open .user-menu-dropdown {
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) !important;
	pointer-events: auto !important;
	display: block !important;
	top: 100% !important;
	margin-top: 6px !important;
	z-index: 9999 !important;
}

/* ---- 3. Caret rotates only when menu is open via click ---- */
.tru-dark .topbar-right .user-menu .user-handle-caret {
	color: var(--gold-3) !important;
	transition: transform 0.2s, color 0.2s !important;
}
.tru-dark .topbar-right .user-menu.is-open .user-handle-caret {
	color: var(--gold) !important;
	transform: rotate(180deg) !important;
}
/* Disable the hover-based caret rotation */
.tru-dark .topbar-right .user-menu:hover .user-handle-caret,
.tru-dark .topbar-right .user-menu:focus-within .user-handle-caret {
	color: var(--gold-3) !important;
	transform: rotate(0deg) !important;
}
.tru-dark .topbar-right .user-menu.is-open:hover .user-handle-caret,
.tru-dark .topbar-right .user-menu.is-open:focus-within .user-handle-caret {
	color: var(--gold) !important;
	transform: rotate(180deg) !important;
}

/* ---- 4. Active-state feedback on the button itself ---- */
.tru-dark .topbar-right .user-menu.is-open .user-handle {
	color: var(--gold) !important;
	border-color: var(--gold-3) !important;
	background: var(--gold-wash) !important;
}

/* ---- 5. Force all dropdown items to capture clicks ---- */
.tru-dark .topbar-right .user-menu .user-menu-dropdown a,
.tru-dark .topbar-right .user-menu .user-menu-dropdown a[role="menuitem"] {
	pointer-events: auto !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 2 !important;
	user-select: none !important;
}

/* ===== END PHASE 4 SESSION 18 PATCH 5 -- DROPDOWN CLICK-TOGGLE (BULLETPROOF) ===== */

/* ===== PHASE 4 SESSION 18 PATCH 6 -- NEW BRAND WATERMARK + FAVICON ===== */
/* Ali provided two new brand assets (Gemini-generated, Gemini sparkle masked):
   1. Circular gold "TruReview" seal -- now used as the page watermark
      (was favicon-512.png silhouette; now tr-seal-watermark.png at 588x588)
   2. "TR." monogram -- now the favicon set (32, 64, 180, 512)
      All favicon-*.png files in project root were regenerated.

   Opacity adjustment: the new circular seal has 3-4x more visual content per
   pixel than the old silhouette icon (TruReview wordmark + woman silhouette
   + Canada's Official Review Board... text rings). At the previous 0.28
   opacity it would compete too aggressively with page content. Dropping to
   0.16 so the same perceived presence is achieved. Position and size kept
   from PATCH 4 (lower on page, 620px wide). */

.tru-dark #tru-watermark {
	background-image: url('/styles/prosilver/theme/images/tr-seal-watermark.png') !important;
	opacity: 0.16 !important;
	/* Slightly less rotation now that it's a more designed mark --
	   reading the wordmark at -9deg felt awkward */
	transform: translate3d(0, -50%, 0) rotate(-6deg) !important;
	-webkit-transform: translate3d(0, -50%, 0) rotate(-6deg) !important;
}
@media only screen and (max-width: 1200px) {
	.tru-dark #tru-watermark {
		opacity: 0.14 !important;
	}
}

/* ===== END PHASE 4 SESSION 18 PATCH 6 -- NEW BRAND WATERMARK + FAVICON ===== */

/* ===== PHASE 4 SESSION 18 PATCH 7 -- DROPDOWN NUCLEAR FIX + BANNER REDESIGN ===== */
/* Two changes:
   1. Dropdown items only Profile clickable -- the others were not registering
      clicks even though they rendered visibly. Diagnosis: ambiguity between
      legacy :hover dropdown rules (PATCH 4) and click-toggle rules (PATCH 5).
      Even with same specificity and !important, multiple rule sets fighting
      caused some items to lose pointer-events at the wrong moment. Solution:
      explicitly nuke ALL :hover-based dropdown visibility rules, so .is-open
      is the SOLE source of truth for "dropdown shows". Also, the JS handler
      now explicitly calls window.location.href to navigate, bypassing any
      possible CSS or other handler interference.
   2. Review of the Month banner -- redesigned to be more horizontal (less
      vertical space), with a fancier gold ribbon header, ornamental gold
      corners, and a two-column body layout. */

/* ---- 1. NUCLEAR DROPDOWN FIX -- .is-open is the ONLY source of truth ---- */
/* Override every legacy :hover rule that affects dropdown visibility. */
.tru-dark .topbar-right .user-menu .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown,
.tru-dark .topbar-right .user-menu .user-menu-dropdown:hover {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transform: translateY(-4px) !important;
}
/* When .is-open is set: SHOW. This trumps every hover rule above by being
   later in source order with equal specificity + !important. */
.tru-dark .topbar-right .user-menu.is-open .user-menu-dropdown,
.tru-dark .topbar-right .user-menu.is-open .user-menu-dropdown:hover {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(0) !important;
	display: block !important;
	top: 100% !important;
	margin-top: 6px !important;
	z-index: 9999 !important;
}
/* Each link gets its own pointer-events: auto with the highest specificity
   we can construct, so nothing in the legacy CSS can ever block clicks.
   NOTE: previous attempt used `.tru-dark body.tru-dark` which never matches
   (body can't be inside an element). Using body.tru-dark[id="phpbb"] for
   real high specificity. */
body.tru-dark[id="phpbb"] .topbar-right .user-menu.is-open .user-menu-dropdown a,
body.tru-dark[id="phpbb"] .topbar-right .user-menu.is-open .user-menu-dropdown a[role="menuitem"],
body.tru-dark[id="phpbb"] .topbar-right .user-menu.is-open .user-menu-dropdown a:hover,
body.tru-dark[id="phpbb"] .topbar-right .user-menu.is-open .user-menu-dropdown a:focus {
	pointer-events: auto !important;
	cursor: pointer !important;
	position: relative !important;
	z-index: 100 !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	user-select: none !important;
}
/* Disable the hover-bridge ::before from PATCH 4 -- it might be interfering */
.tru-dark .topbar-right .user-menu .user-menu-dropdown::before {
	display: none !important;
	content: none !important;
}

/* ---- 2. BANNER REDESIGN -- horizontal, with gold ribbon + ornate corners ---- */

/* Hide the old medallion DOM (still in cache for some users) just in case */
.tru-dark .contest-band .contest-band-mark,
.tru-dark .contest-band .contest-band-mark-ring,
.tru-dark .contest-band .contest-band-mark-icon,
.tru-dark .contest-band .contest-band-mark-laurel-l,
.tru-dark .contest-band .contest-band-mark-laurel-r,
.tru-dark .contest-band .contest-band-mark-prize {
	display: none !important;
}

/* Outer band -- horizontal compact box with double gold border */
.tru-dark .contest-band {
	position: relative !important;
	display: block !important;
	background:
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 60%, #14110a 100%) !important;
	border: 1px solid var(--gold-3) !important;
	border-top: 2px solid var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
	border-left: none !important;
	border-right: none !important;
	border-radius: 0 !important;
	padding: 36px 44px 22px 44px !important;
	margin: 28px 0 32px 0 !important;
	box-shadow:
		0 6px 24px rgba(0,0,0,0.5),
		inset 0 0 60px rgba(201,169,97,0.05) !important;
	overflow: visible !important;
}

/* Disable any legacy ::before/::after ornaments from earlier patches */
.tru-dark .contest-band::before,
.tru-dark .contest-band::after {
	display: none !important;
	content: none !important;
}

/* The gold ribbon at the top -- looks like a trapezoidal banner stripe with
   small triangular ribbon ends, "MONTHLY PRIZE" engraved in serif italic. */
.tru-dark .contest-band .contest-band-ribbon {
	position: absolute !important;
	top: -16px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 50%, var(--gold-3) 100%) !important;
	color: #14110a !important;
	padding: 7px 38px !important;
	font-family: var(--f-serif) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-style: italic !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	box-shadow:
		0 2px 8px rgba(0,0,0,0.4),
		inset 0 1px 0 rgba(255,255,255,0.4),
		inset 0 -1px 0 rgba(0,0,0,0.2) !important;
	z-index: 2 !important;
	white-space: nowrap !important;
}
/* Triangular ribbon-tail ends (left) */
.tru-dark .contest-band .contest-band-ribbon::before {
	content: "" !important;
	position: absolute !important;
	left: -10px !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 12px !important;
	background: linear-gradient(180deg, var(--gold-3) 0%, var(--gold-3) 100%) !important;
	clip-path: polygon(0 50%, 100% 0, 100% 100%) !important;
	-webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%) !important;
}
.tru-dark .contest-band .contest-band-ribbon::after {
	content: "" !important;
	position: absolute !important;
	right: -10px !important;
	top: 0 !important;
	bottom: 0 !important;
	width: 12px !important;
	background: linear-gradient(180deg, var(--gold-3) 0%, var(--gold-3) 100%) !important;
	clip-path: polygon(100% 50%, 0 0, 0 100%) !important;
	-webkit-clip-path: polygon(100% 50%, 0 0, 0 100%) !important;
}
.tru-dark .contest-band .contest-band-ribbon-text {
	position: relative !important;
	z-index: 1 !important;
}

/* Two-column content layout -- text on left, CTA on right */
.tru-dark .contest-band .contest-band-content {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 32px !important;
	flex-wrap: wrap !important;
	position: relative !important;
	z-index: 1 !important;
}
.tru-dark .contest-band .contest-band-left {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
.tru-dark .contest-band .contest-band-right {
	flex: 0 0 auto !important;
}

/* Kicker */
.tru-dark .contest-band .contest-band-kicker {
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.24em !important;
	color: var(--gold) !important;
	text-transform: uppercase !important;
	margin: 0 0 8px 0 !important;
}

/* Title -- compact serif with gold gradient on "Month" */
.tru-dark .contest-band .contest-band-title {
	font-family: var(--f-serif) !important;
	font-size: clamp(24px, 2.6vw, 32px) !important;
	font-weight: 700 !important;
	font-style: normal !important;
	color: var(--ink) !important;
	letter-spacing: -0.015em !important;
	line-height: 1.1 !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
}
.tru-dark .contest-band .contest-band-title em {
	font-style: italic !important;
	font-weight: 700 !important;
	color: var(--gold) !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 70%, var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	text-shadow: 0 2px 8px rgba(201,169,97,0.18) !important;
}

/* Body -- single line, italic Cormorant */
.tru-dark .contest-band .contest-band-body {
	font-family: var(--f-marg) !important;
	font-size: 14.5px !important;
	font-style: italic !important;
	color: var(--ink-2) !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 720px !important;
}
.tru-dark .contest-band .contest-band-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.005em !important;
}

/* CTA -- gold solid button, taller for prominence */
.tru-dark .contest-band .contest-band-cta {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px !important;
	font-family: var(--f-sans) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.20em !important;
	text-transform: uppercase !important;
	color: #14110a !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 60%, var(--gold-3) 100%) !important;
	text-decoration: none !important;
	padding: 14px 26px !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	box-shadow:
		0 3px 10px rgba(0,0,0,0.4),
		inset 0 1px 0 rgba(255,255,255,0.3),
		inset 0 -1px 0 rgba(0,0,0,0.15) !important;
	transition: gap 0.2s, box-shadow 0.2s, transform 0.15s !important;
	white-space: nowrap !important;
}
.tru-dark .contest-band .contest-band-cta:hover {
	gap: 14px !important;
	transform: translateY(-1px) !important;
	box-shadow:
		0 5px 16px rgba(201,169,97,0.35),
		inset 0 1px 0 rgba(255,255,255,0.35),
		inset 0 -1px 0 rgba(0,0,0,0.15) !important;
}
.tru-dark .contest-band .contest-band-arrow {
	display: inline-block !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

/* Ornate gold corner brackets, like an old book frame */
.tru-dark .contest-band .contest-band-corner {
	position: absolute !important;
	width: 24px !important;
	height: 24px !important;
	pointer-events: none !important;
	z-index: 0 !important;
}
.tru-dark .contest-band .contest-band-corner-tl {
	top: 6px !important;
	left: 8px !important;
	border-top: 2px solid var(--gold) !important;
	border-left: 2px solid var(--gold) !important;
}
.tru-dark .contest-band .contest-band-corner-tr {
	top: 6px !important;
	right: 8px !important;
	border-top: 2px solid var(--gold) !important;
	border-right: 2px solid var(--gold) !important;
}
.tru-dark .contest-band .contest-band-corner-bl {
	bottom: 6px !important;
	left: 8px !important;
	border-bottom: 2px solid var(--gold) !important;
	border-left: 2px solid var(--gold) !important;
}
.tru-dark .contest-band .contest-band-corner-br {
	bottom: 6px !important;
	right: 8px !important;
	border-bottom: 2px solid var(--gold) !important;
	border-right: 2px solid var(--gold) !important;
}

/* Mobile: stack content vertically, ribbon stays centered */
@media only screen and (max-width: 760px) {
	.tru-dark .contest-band {
		padding: 32px 22px 20px 22px !important;
	}
	.tru-dark .contest-band .contest-band-content {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
	}
	.tru-dark .contest-band .contest-band-title {
		font-size: 22px !important;
	}
	.tru-dark .contest-band .contest-band-body {
		font-size: 13.5px !important;
	}
	.tru-dark .contest-band .contest-band-ribbon {
		font-size: 10px !important;
		padding: 6px 28px !important;
	}
	.tru-dark .contest-band .contest-band-corner {
		width: 18px !important;
		height: 18px !important;
	}
}

/* ===== END PHASE 4 SESSION 18 PATCH 7 -- DROPDOWN NUCLEAR FIX + BANNER REDESIGN ===== */

/* ===== PHASE 4 SESSION 18 PATCH 8 -- DROPDOWN STACKING CONTEXT FIX (THE REAL BUG) ===== */
/* Diagnosis after multiple failed patches:
   The watermark fix block at line ~15985 set BOTH .topbar AND #tr-page-wrap
   to position:relative + z-index:1. Same z-index, but #tr-page-wrap comes
   later in DOM so it paints on top of .topbar. The user-menu-dropdown is
   nested inside .topbar -- its internal z-index:9999 cannot escape the
   topbar's stacking context. So when the dropdown extended below the
   topbar's vertical bounds, page content (masthead, contest band, etc.)
   was painted ON TOP of the dropdown items, catching all clicks. Profile
   was the only item still within topbar bounds, hence the only clickable.

   FIX: bump .topbar to z-index:1000, well above #tr-page-wrap and any
   page content element. Keep its sticky positioning. */

.tru-dark body.tru-dark .topbar,
body.tru-dark .topbar {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
}

/* Also ensure the user-menu and its dropdown participate cleanly. The
   user-menu becomes its own stacking context above siblings in the topbar. */
.tru-dark body.tru-dark .topbar-right .user-menu,
body.tru-dark .topbar-right .user-menu {
	position: relative !important;
	z-index: 100 !important;
}
.tru-dark body.tru-dark .topbar-right .user-menu.is-open,
body.tru-dark .topbar-right .user-menu.is-open {
	z-index: 1001 !important;
}

/* ===== END PHASE 4 SESSION 18 PATCH 8 -- DROPDOWN STACKING CONTEXT FIX ===== */

/* ===== PHASE 4 SESSION 19 -- STATIC PAGE: RULES.HTML EDITORIAL TREATMENT ===== */
/* Six-chapter editorial layout for /rules.html. Roman numeral chapter
   markers, numbered glossary-style rule items, gold legal callout, and
   styled appeal CTA at end. New CSS only -- masthead/topbar/footer
   already use existing design system. */

.tru-dark .rules-page {
	max-width: 920px;
	margin: 0 auto;
	padding: 56px 28px 80px;
}

.tru-dark .rules-content {
	display: block;
}

/* ---- PREAMBLE ---- */
.tru-dark .rules-preamble {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 21px;
	line-height: 1.55;
	color: var(--ink-2);
	border-left: 2px solid var(--gold);
	padding: 4px 0 4px 24px;
	margin: 0 0 64px 0;
}

/* ---- CHAPTER ---- */
.tru-dark .rules-chapter {
	margin-bottom: 56px;
	padding-top: 36px;
	border-top: 1px solid var(--line);
}
.tru-dark .rules-chapter:first-of-type {
	border-top: none;
	padding-top: 0;
}
.tru-dark .rules-chapter-header {
	display: flex;
	align-items: baseline;
	gap: 28px;
	margin-bottom: 36px;
}
.tru-dark .rules-chapter-numeral {
	font-family: var(--f-marg);
	font-style: italic;
	font-weight: 500;
	font-size: 44px;
	line-height: 1;
	color: var(--gold);
	flex-shrink: 0;
	min-width: 64px;
}
.tru-dark .rules-chapter-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 6px;
}
.tru-dark .rules-chapter-title {
	font-family: var(--f-serif);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.15;
	color: var(--ink);
	margin: 0;
	letter-spacing: -0.01em;
}

/* ---- RULE LIST ---- */
.tru-dark .rules-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tru-dark .rules-item {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 28px;
	padding: 22px 0;
	border-bottom: 1px solid var(--line);
	transition: background 0.18s ease;
}
.tru-dark .rules-item:hover {
	background: rgba(201, 169, 97, 0.02);
}
.tru-dark .rules-item:last-child {
	border-bottom: none;
}
.tru-dark .rules-num {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	color: var(--gold);
	padding-top: 5px;
}
.tru-dark .rules-body {
	display: block;
}
.tru-dark .rules-item-title {
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 8px 0;
}
.tru-dark .rules-item-text {
	font-family: var(--f-sans);
	font-size: 14.5px;
	line-height: 1.7;
	color: var(--ink-2);
	margin: 0;
}

/* ---- LEGAL CALLOUT (Chapter IV) ---- */
.tru-dark .rules-callout {
	margin-top: 28px;
	padding: 24px 28px 26px 28px;
	background: rgba(201, 169, 97, 0.05);
	border: 1px solid var(--gold-3);
	border-left: 3px solid var(--gold);
	border-radius: 2px;
}
.tru-dark .rules-callout-label {
	display: block;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}
.tru-dark .rules-callout p {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 17px;
	line-height: 1.6;
	color: var(--ink);
	margin: 0;
}

/* ---- END / APPEAL CTA ---- */
.tru-dark .rules-end {
	margin-top: 80px;
	padding-top: 44px;
	border-top: 1px solid var(--line);
	text-align: center;
}
.tru-dark .rules-end-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	letter-spacing: 0.6em;
	color: var(--gold);
	margin-bottom: 24px;
}
.tru-dark .rules-end-text {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 19px;
	line-height: 1.5;
	color: var(--ink-2);
	margin: 0 0 22px 0;
}
.tru-dark .rules-end-cta {
	display: inline-block;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tru-dark .rules-end-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201, 169, 97, 0.25);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .rules-end-cta span {
	margin-left: 6px;
}

/* ---- MOBILE ---- */
@media (max-width: 720px) {
	.tru-dark .rules-page {
		padding: 36px 18px 60px;
	}
	.tru-dark .rules-preamble {
		font-size: 17px;
		padding-left: 18px;
		margin-bottom: 44px;
	}
	.tru-dark .rules-chapter {
		margin-bottom: 40px;
		padding-top: 28px;
	}
	.tru-dark .rules-chapter-header {
		gap: 18px;
		margin-bottom: 24px;
	}
	.tru-dark .rules-chapter-numeral {
		font-size: 32px;
		min-width: 44px;
	}
	.tru-dark .rules-chapter-title {
		font-size: 22px;
	}
	.tru-dark .rules-chapter-kicker {
		font-size: 10px;
	}
	.tru-dark .rules-item {
		grid-template-columns: 40px 1fr;
		gap: 16px;
		padding: 18px 0;
	}
	.tru-dark .rules-num {
		font-size: 10px;
	}
	.tru-dark .rules-item-title {
		font-size: 12px;
	}
	.tru-dark .rules-item-text {
		font-size: 14px;
	}
	.tru-dark .rules-callout {
		padding: 18px 20px;
	}
	.tru-dark .rules-callout p {
		font-size: 15px;
	}
	.tru-dark .rules-end {
		margin-top: 56px;
		padding-top: 32px;
	}
	.tru-dark .rules-end-mark {
		font-size: 18px;
	}
	.tru-dark .rules-end-text {
		font-size: 16px;
	}
}

/* ===== END PHASE 4 SESSION 19 -- STATIC PAGE: RULES.HTML EDITORIAL TREATMENT ===== */

/* ===== PHASE 4 SESSION 19 PATCH 1 -- STATIC PAGE: ADVERTISE.HTML EDITORIAL RATE CARD ===== */
/* Rate-card style advertising page. Two-tier comparison with "RECOMMENDED"
   gold ribbon on Gold tier, independent strip, design studio block, 4-step
   process flow, editorial contact closer. All ad-prefixed classes are new. */

.tru-dark .adv-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 28px 80px;
}

/* ---- LEAD ---- */
.tru-dark .adv-lead {
	margin-bottom: 72px;
}
.tru-dark .adv-lead-statement {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: var(--ink);
	border-left: 2px solid var(--gold);
	padding: 4px 0 4px 24px;
	margin: 0 0 44px 0;
	max-width: 820px;
}
.tru-dark .adv-facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tru-dark .adv-fact {
	padding: 22px 24px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.tru-dark .adv-fact:last-child {
	border-right: none;
}
.tru-dark .adv-fact-num {
	font-family: var(--f-serif);
	font-size: 36px;
	font-weight: 500;
	color: var(--gold);
	line-height: 1;
	letter-spacing: -0.02em;
}
.tru-dark .adv-fact-label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-3);
}

/* ---- SECTION (shared) ---- */
.tru-dark .adv-section {
	margin-bottom: 80px;
}
.tru-dark .adv-section-header {
	margin-bottom: 36px;
	padding-bottom: 0;
}
.tru-dark .adv-section-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}
.tru-dark .adv-section-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .adv-section-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .adv-section-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0;
	max-width: 720px;
}

/* ---- TIERS ---- */
.tru-dark .adv-tiers {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.tru-dark .adv-tier {
	position: relative;
	background: var(--paper);
	border: 1px solid var(--line);
	padding: 36px 32px 32px 32px;
	display: flex;
	flex-direction: column;
}
.tru-dark .adv-tier-featured {
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.06) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	box-shadow: 0 0 0 1px var(--gold-3) inset, 0 24px 60px rgba(0, 0, 0, 0.4);
}
.tru-dark .adv-tier-ribbon {
	position: absolute;
	top: -12px;
	left: 32px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 2px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
.tru-dark .adv-tier-label {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}
.tru-dark .adv-tier-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 16px;
	line-height: 1.5;
	color: var(--ink-2);
	margin: 0 0 24px 0;
	min-height: 48px;
}
.tru-dark .adv-tier-price {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 12px;
}
.tru-dark .adv-tier-price-num {
	font-family: var(--f-serif);
	font-size: 56px;
	font-weight: 500;
	line-height: 1;
	color: var(--ink);
	letter-spacing: -0.02em;
}
.tru-dark .adv-tier-price-suffix {
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 500;
	color: var(--ink-3);
}
.tru-dark .adv-tier-meta {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
	font-family: var(--f-sans);
	font-size: 13px;
}
.tru-dark .adv-tier-meta-line {
	color: var(--ink-2);
}
.tru-dark .adv-tier-meta-line strong {
	color: var(--ink);
	font-weight: 600;
}
.tru-dark .adv-tier-savings {
	background: var(--gold-wash);
	color: var(--gold-2);
	border: 1px solid var(--gold-3);
	padding: 3px 10px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 2px;
}
.tru-dark .adv-tier-bonus {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 13px;
	color: var(--ink-3);
	margin: 0 0 20px 0;
	padding-bottom: 20px;
	border-bottom: 1px dotted var(--line-2);
}
.tru-dark .adv-tier-features {
	list-style: none;
	margin: 0 0 24px 0;
	padding: 0;
	flex: 1;
}
.tru-dark .adv-tier-features li {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-2);
	padding: 8px 0 8px 20px;
	position: relative;
}
.tru-dark .adv-tier-features li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 8px;
	color: var(--gold);
	font-weight: 700;
}
.tru-dark .adv-tier-features li strong {
	color: var(--ink);
	font-weight: 600;
}
.tru-dark .adv-tier-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 14px 24px;
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--gold-3);
	color: var(--gold-2);
	background: transparent;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .adv-tier-cta:hover {
	background: var(--gold-wash);
	border-color: var(--gold);
	color: var(--gold-2);
	text-decoration: none;
}
.tru-dark .adv-tier-cta-primary {
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	border-color: var(--gold);
}
.tru-dark .adv-tier-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201, 169, 97, 0.3);
	color: var(--bg);
}

/* ---- INDEPENDENT STRIP ---- */
.tru-dark .adv-indie {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 0;
	border: 1px solid var(--line);
	background: var(--paper);
}
.tru-dark .adv-indie-left {
	background: var(--paper-2);
	padding: 32px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.tru-dark .adv-indie-label {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}
.tru-dark .adv-indie-price {
	font-family: var(--f-serif) !important;
	font-size: 64px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--gold-2) !important;
	-webkit-text-fill-color: var(--gold-2) !important;
	background: none !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	margin-bottom: 8px;
	letter-spacing: -0.02em;
	text-shadow: 0 2px 12px rgba(201, 169, 97, 0.25);
}
.tru-dark .adv-indie-price-suffix {
	font-family: var(--f-sans) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--ink-2) !important;
	-webkit-text-fill-color: var(--ink-2) !important;
	letter-spacing: 0.04em;
	text-shadow: none;
}
.tru-dark .adv-indie-fineprint {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 13px;
	color: var(--ink-3);
	margin: 0;
}
.tru-dark .adv-indie-right {
	padding: 32px;
}
.tru-dark .adv-indie-features {
	list-style: none;
	margin: 0 0 20px 0;
	padding: 0;
}
.tru-dark .adv-indie-features li {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-2);
	padding: 6px 0 6px 20px;
	position: relative;
}
.tru-dark .adv-indie-features li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 6px;
	color: var(--gold);
	font-weight: 700;
}
.tru-dark .adv-indie-features li strong {
	color: var(--ink);
	font-weight: 600;
}
.tru-dark .adv-indie-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.tru-dark .adv-indie-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 22px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .adv-indie-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(201, 169, 97, 0.25);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .adv-indie-cta-ghost {
	display: inline-flex;
	align-items: center;
	padding: 12px 22px;
	border: 1px solid var(--line-3);
	color: var(--ink-2);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .adv-indie-cta-ghost:hover {
	border-color: var(--gold-3);
	color: var(--gold-2);
	text-decoration: none;
}

/* ---- DESIGN STUDIO ---- */
.tru-dark .adv-design {
	margin-bottom: 80px;
	padding: 48px 32px;
	background: var(--paper-2);
	border: 1px solid var(--line);
	border-left: 3px solid var(--gold);
	text-align: center;
}
.tru-dark .adv-design-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}
.tru-dark .adv-design-title {
	font-family: var(--f-serif);
	font-size: 32px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.01em;
}
.tru-dark .adv-design-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .adv-design-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto 24px;
	max-width: 620px;
}
.tru-dark .adv-design-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-bottom: 28px;
}
.tru-dark .adv-design-chip {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ink-2);
	background: var(--paper-3);
	border: 1px solid var(--line-2);
	padding: 6px 12px;
	border-radius: 2px;
}
.tru-dark .adv-design-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .adv-design-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}

/* ---- HOW IT WORKS / PROCESS ---- */
.tru-dark .adv-process {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid var(--line);
	background: var(--paper);
}
.tru-dark .adv-step {
	padding: 28px 24px;
	border-right: 1px solid var(--line);
	position: relative;
}
.tru-dark .adv-step:last-child {
	border-right: none;
}
.tru-dark .adv-step-num {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 38px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	margin-bottom: 14px;
}
.tru-dark .adv-step-title {
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 10px 0;
}
.tru-dark .adv-step-text {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
}
.tru-dark .adv-step-text strong {
	color: var(--gold-2);
	font-weight: 600;
}

/* ---- CONTACT CLOSING ---- */
.tru-dark .adv-contact {
	margin-top: 24px;
	padding: 56px 32px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.04) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	text-align: center;
}
.tru-dark .adv-contact-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	letter-spacing: 0.6em;
	color: var(--gold);
	margin-bottom: 18px;
}
.tru-dark .adv-contact-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .adv-contact-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .adv-contact-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto 36px;
	max-width: 620px;
}
.tru-dark .adv-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	max-width: 720px;
	margin: 0 auto 36px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tru-dark .adv-contact-cell {
	padding: 22px 18px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.tru-dark .adv-contact-cell:last-child {
	border-right: none;
}
.tru-dark .adv-contact-label {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .adv-contact-value {
	font-family: var(--f-serif);
	font-size: 17px;
	font-weight: 500;
	color: var(--ink);
}
.tru-dark .adv-contact-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 16px 32px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .adv-contact-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .adv-contact-note {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 13px;
	color: var(--ink-3);
	margin: 22px 0 0 0;
}

/* ---- MOBILE ---- */
@media (max-width: 900px) {
	.tru-dark .adv-tiers {
		grid-template-columns: 1fr;
	}
	.tru-dark .adv-indie {
		grid-template-columns: 1fr;
	}
	.tru-dark .adv-indie-left {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .adv-process {
		grid-template-columns: repeat(2, 1fr);
	}
	.tru-dark .adv-step {
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .adv-step:nth-child(2n) {
		border-right: none;
	}
	.tru-dark .adv-step:nth-child(n+3) {
		border-bottom: none;
	}
	.tru-dark .adv-facts {
		grid-template-columns: 1fr;
	}
	.tru-dark .adv-fact {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .adv-fact:last-child {
		border-bottom: none;
	}
}
@media (max-width: 600px) {
	.tru-dark .adv-page {
		padding: 36px 18px 56px;
	}
	.tru-dark .adv-lead-statement {
		font-size: 17px;
		padding-left: 18px;
	}
	.tru-dark .adv-section-title,
	.tru-dark .adv-contact-title {
		font-size: 26px;
	}
	.tru-dark .adv-section-deck,
	.tru-dark .adv-contact-deck {
		font-size: 15px;
	}
	.tru-dark .adv-tier {
		padding: 28px 22px 26px 22px;
	}
	.tru-dark .adv-tier-price-num {
		font-size: 44px;
	}
	.tru-dark .adv-fact-num {
		font-size: 28px;
	}
	.tru-dark .adv-design {
		padding: 36px 22px;
	}
	.tru-dark .adv-design-title {
		font-size: 24px;
	}
	.tru-dark .adv-process {
		grid-template-columns: 1fr;
	}
	.tru-dark .adv-step {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .adv-step:last-child {
		border-bottom: none;
	}
	.tru-dark .adv-contact {
		padding: 36px 22px;
	}
	.tru-dark .adv-contact-grid {
		grid-template-columns: 1fr;
	}
	.tru-dark .adv-contact-cell {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .adv-contact-cell:last-child {
		border-bottom: none;
	}
}

/* ===== END PHASE 4 SESSION 19 PATCH 1 -- ADVERTISE.HTML EDITORIAL RATE CARD ===== */

/* ===== PHASE 4 SESSION 19 PATCH 2 -- CONTEST PAGE EDITORIAL TREATMENT ===== */
/* Landing-page treatment for /contest-review-of-the-month.html. Launch hero
   with date display, prize section with editorial ticket-stub redemption
   code, 4-step process, weighted percentage chart for judging criteria,
   roman-numeral rule cards, winners hall placeholder, gold CTA closer. */

.tru-dark .cn-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 28px 80px;
}

/* ---- LAUNCH HERO ---- */
.tru-dark .cn-launch {
	position: relative;
	margin-bottom: 80px;
	padding: 56px 32px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.08) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	text-align: center;
	overflow: hidden;
}
.tru-dark .cn-launch::before {
	content: "";
	position: absolute;
	top: 12px;
	left: 12px;
	right: 12px;
	bottom: 12px;
	border: 1px solid rgba(201, 169, 97, 0.2);
	pointer-events: none;
}
.tru-dark .cn-launch-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 32px;
	position: relative;
}
.tru-dark .cn-launch-display {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 36px;
	margin-bottom: 28px;
	position: relative;
}
.tru-dark .cn-launch-cell {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 220px;
}
.tru-dark .cn-launch-cell-label {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .cn-launch-cell-value {
	font-family: var(--f-sans);
	font-style: normal;
	font-size: 38px;
	font-weight: 700;
	line-height: 1;
	color: var(--gold-2);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-shadow: 0 2px 14px rgba(201, 169, 97, 0.25);
}
.tru-dark .cn-launch-divider {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 28px;
	color: var(--gold-3);
	opacity: 0.6;
}
.tru-dark .cn-launch-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 19px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto;
	max-width: 640px;
	position: relative;
}

/* ---- SECTION (shared) ---- */
.tru-dark .cn-section {
	margin-bottom: 80px;
}
.tru-dark .cn-section-header {
	margin-bottom: 36px;
	text-align: center;
}
.tru-dark .cn-section-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}
.tru-dark .cn-section-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .cn-section-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .cn-section-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto;
	max-width: 720px;
}

/* ---- PRIZE / TICKET ---- */
.tru-dark .cn-prize {
	margin-bottom: 80px;
	text-align: center;
}
.tru-dark .cn-prize > .cn-section-kicker,
.tru-dark .cn-prize > .cn-section-title,
.tru-dark .cn-prize > .cn-section-deck {
	margin-left: auto;
	margin-right: auto;
}
.tru-dark .cn-prize > .cn-section-deck {
	margin-bottom: 40px;
}
.tru-dark .cn-ticket {
	display: grid;
	grid-template-columns: 220px 1px 1fr;
	max-width: 820px;
	margin: 0 auto;
	background: var(--paper);
	border: 1px solid var(--gold-3);
	box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45);
	text-align: left;
	overflow: hidden;
}
.tru-dark .cn-ticket-stub {
	padding: 36px 28px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.12) 0%, rgba(201, 169, 97, 0.04) 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	text-align: center;
}
.tru-dark .cn-ticket-label {
	font-family: var(--f-serif);
	font-style: italic;
	font-size: 32px;
	color: var(--gold-2);
	line-height: 1;
}
.tru-dark .cn-ticket-issued {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .cn-ticket-perf {
	background-image: radial-gradient(circle at center, var(--gold-3) 0, var(--gold-3) 1.5px, transparent 2px);
	background-size: 1px 12px;
	background-repeat: repeat-y;
	background-position: center;
	width: 1px;
	border-left: 1px dashed var(--gold-3);
	position: relative;
}
.tru-dark .cn-ticket-perf::before,
.tru-dark .cn-ticket-perf::after {
	content: "";
	position: absolute;
	left: -8px;
	width: 16px;
	height: 16px;
	background: var(--bg);
	border: 1px solid var(--gold-3);
	border-radius: 50%;
}
.tru-dark .cn-ticket-perf::before { top: -8px; }
.tru-dark .cn-ticket-perf::after { bottom: -8px; }
.tru-dark .cn-ticket-body {
	padding: 36px 32px;
}
.tru-dark .cn-ticket-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-bottom: 14px;
}
.tru-dark .cn-ticket-code {
	font-family: var(--f-serif);
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--gold-2);
	padding: 16px 20px;
	border: 2px dashed var(--gold-3);
	border-radius: 4px;
	text-align: center;
	margin-bottom: 16px;
	background: rgba(201, 169, 97, 0.04);
}
.tru-dark .cn-ticket-note {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 15px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0;
}

/* ---- HOW IT WORKS / PROCESS (reuses ad-process pattern) ---- */
.tru-dark .cn-process {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid var(--line);
	background: var(--paper);
}
.tru-dark .cn-step {
	padding: 32px 24px;
	border-right: 1px solid var(--line);
	position: relative;
}
.tru-dark .cn-step:last-child {
	border-right: none;
}
.tru-dark .cn-step-num {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	margin-bottom: 16px;
}
.tru-dark .cn-step-title {
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 10px 0;
}
.tru-dark .cn-step-text {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
}

/* ---- HOW WE JUDGE / WEIGHTED PERCENTAGES ---- */
.tru-dark .cn-judge {
	max-width: 820px;
	margin: 0 auto;
}
.tru-dark .cn-judge-row {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 32px;
	align-items: center;
	padding: 28px 0;
	border-bottom: 1px solid var(--line);
}
.tru-dark .cn-judge-row:last-child {
	border-bottom: none;
}
.tru-dark .cn-judge-pct {
	font-family: var(--f-serif);
	font-size: 84px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	letter-spacing: -0.03em;
	text-align: right;
	display: block;
}
.tru-dark .cn-judge-pct-sym {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 0.5em;
	color: var(--gold-3);
	margin-left: 2px;
	font-weight: 400;
	vertical-align: top;
	position: relative;
	top: 0.18em;
}
.tru-dark .cn-judge-body {
	display: block;
}
.tru-dark .cn-judge-title {
	font-family: var(--f-serif);
	font-size: 24px;
	font-weight: 500;
	color: var(--ink);
	margin: 0 0 8px 0;
	letter-spacing: -0.01em;
}
.tru-dark .cn-judge-text {
	font-family: var(--f-sans);
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-2);
	margin: 0;
}

/* ---- RULES (4-up cards with roman numerals) ---- */
.tru-dark .cn-rules {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.tru-dark .cn-rule-card {
	background: var(--paper);
	border: 1px solid var(--line);
	padding: 28px 28px 24px 28px;
	position: relative;
}
.tru-dark .cn-rule-card:hover {
	border-color: var(--line-3);
}
.tru-dark .cn-rule-marker {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 32px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	margin-bottom: 8px;
}
.tru-dark .cn-rule-title {
	font-family: var(--f-serif);
	font-size: 22px;
	font-weight: 500;
	color: var(--ink);
	margin: 0 0 16px 0;
	letter-spacing: -0.01em;
}
.tru-dark .cn-rule-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tru-dark .cn-rule-list li {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--ink-2);
	padding: 7px 0 7px 18px;
	position: relative;
	border-bottom: 1px dotted var(--line-2);
}
.tru-dark .cn-rule-list li:last-child {
	border-bottom: none;
}
.tru-dark .cn-rule-list li::before {
	content: "\2014";
	position: absolute;
	left: 0;
	top: 7px;
	color: var(--gold);
	font-weight: 700;
}
.tru-dark .cn-rule-list strong {
	color: var(--ink);
	font-weight: 600;
}

/* ---- WINNERS HALL ---- */
.tru-dark .cn-winners {
	max-width: 700px;
	margin: 0 auto;
	padding: 48px 32px;
	background: var(--paper-2);
	border: 1px solid var(--line);
	border-left: 3px solid var(--gold);
	text-align: center;
}
.tru-dark .cn-winners-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 40px;
	color: var(--gold);
	margin-bottom: 12px;
	line-height: 1;
}
.tru-dark .cn-winners-headline {
	font-family: var(--f-serif);
	font-size: 26px;
	font-weight: 500;
	color: var(--ink);
	margin: 0 0 12px 0;
	letter-spacing: -0.01em;
}
.tru-dark .cn-winners-text {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0;
	max-width: 540px;
	margin-left: auto;
	margin-right: auto;
}
.tru-dark .cn-winners-text strong {
	color: var(--gold-2);
	font-style: normal;
	font-family: var(--f-sans);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* ---- CTA CLOSER ---- */
.tru-dark .cn-cta {
	margin-top: 24px;
	padding: 56px 32px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.06) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	text-align: center;
}
.tru-dark .cn-cta-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	letter-spacing: 0.6em;
	color: var(--gold);
	margin-bottom: 18px;
}
.tru-dark .cn-cta-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .cn-cta-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .cn-cta-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto 28px;
	max-width: 580px;
}
.tru-dark .cn-cta-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.tru-dark .cn-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 16px 32px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .cn-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .cn-cta-ghost {
	display: inline-flex;
	align-items: center;
	padding: 16px 32px;
	border: 1px solid var(--line-3);
	color: var(--ink-2);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .cn-cta-ghost:hover {
	border-color: var(--gold-3);
	color: var(--gold-2);
	text-decoration: none;
}

/* ---- MOBILE ---- */
@media (max-width: 900px) {
	.tru-dark .cn-launch-display {
		flex-direction: column;
		gap: 20px;
	}
	.tru-dark .cn-launch-divider {
		font-size: 18px;
		opacity: 0.4;
	}
	.tru-dark .cn-launch-cell-value {
		font-size: 32px;
	}
	.tru-dark .cn-ticket {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1px 1fr;
	}
	.tru-dark .cn-ticket-perf {
		width: auto;
		height: 1px;
		border-left: none;
		border-top: 1px dashed var(--gold-3);
		background: none;
	}
	.tru-dark .cn-ticket-perf::before {
		top: -8px;
		left: -8px;
	}
	.tru-dark .cn-ticket-perf::after {
		top: -8px;
		bottom: auto;
		right: -8px;
		left: auto;
	}
	.tru-dark .cn-process {
		grid-template-columns: repeat(2, 1fr);
	}
	.tru-dark .cn-step {
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .cn-step:nth-child(2n) {
		border-right: none;
	}
	.tru-dark .cn-step:nth-child(n+3) {
		border-bottom: none;
	}
	.tru-dark .cn-judge-row {
		grid-template-columns: 110px 1fr;
		gap: 20px;
	}
	.tru-dark .cn-judge-pct {
		font-size: 60px;
	}
	.tru-dark .cn-judge-title {
		font-size: 19px;
	}
	.tru-dark .cn-rules {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 600px) {
	.tru-dark .cn-page {
		padding: 36px 18px 56px;
	}
	.tru-dark .cn-launch {
		padding: 36px 22px;
	}
	.tru-dark .cn-launch-cell-value {
		font-size: 30px;
	}
	.tru-dark .cn-launch-deck {
		font-size: 16px;
	}
	.tru-dark .cn-section-title,
	.tru-dark .cn-cta-title {
		font-size: 26px;
	}
	.tru-dark .cn-section-deck,
	.tru-dark .cn-cta-deck {
		font-size: 15px;
	}
	.tru-dark .cn-ticket-stub {
		padding: 28px 22px;
	}
	.tru-dark .cn-ticket-label {
		font-size: 26px;
	}
	.tru-dark .cn-ticket-body {
		padding: 28px 22px;
	}
	.tru-dark .cn-ticket-code {
		font-size: 22px;
		padding: 14px 12px;
	}
	.tru-dark .cn-process {
		grid-template-columns: 1fr;
	}
	.tru-dark .cn-step {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .cn-step:last-child {
		border-bottom: none;
	}
	.tru-dark .cn-judge-row {
		grid-template-columns: 80px 1fr;
		gap: 16px;
	}
	.tru-dark .cn-judge-pct {
		font-size: 44px;
	}
	.tru-dark .cn-rule-card {
		padding: 24px 22px 20px;
	}
	.tru-dark .cn-winners {
		padding: 36px 22px;
	}
	.tru-dark .cn-winners-headline {
		font-size: 22px;
	}
	.tru-dark .cn-cta {
		padding: 36px 22px;
	}
	.tru-dark .cn-cta-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ===== END PHASE 4 SESSION 19 PATCH 2 -- CONTEST PAGE EDITORIAL TREATMENT ===== */

/* ===== PHASE 4 SESSION 19 PATCH 3 -- SERVICES.HTML EDITORIAL TREATMENT ===== */
/* Editorial catalog for /services.html. Lead w/facts strip + dual CTA, five
   Roman-numeral service cards (two featured/gold), 3-row "Why TruReview"
   manifesto with lowercase Roman numerals, 4-step process, contact closer. */

.tru-dark .sv-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 28px 80px;
}

/* ---- LEAD ---- */
.tru-dark .sv-lead {
	margin-bottom: 80px;
}
.tru-dark .sv-lead-statement {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: var(--ink);
	border-left: 2px solid var(--gold);
	padding: 4px 0 4px 24px;
	margin: 0 0 44px 0;
	max-width: 820px;
}
.tru-dark .sv-facts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
	margin-bottom: 32px;
}
.tru-dark .sv-fact {
	padding: 22px 24px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.tru-dark .sv-fact:last-child {
	border-right: none;
}
.tru-dark .sv-fact-num {
	font-family: var(--f-serif);
	font-size: 36px;
	font-weight: 500;
	color: var(--gold);
	line-height: 1;
	letter-spacing: -0.02em;
}
.tru-dark .sv-fact-label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .sv-lead-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.tru-dark .sv-lead-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 14px 28px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .sv-lead-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .sv-lead-cta-ghost {
	display: inline-flex;
	align-items: center;
	padding: 14px 28px;
	border: 1px solid var(--line-3);
	color: var(--ink-2);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .sv-lead-cta-ghost:hover {
	border-color: var(--gold-3);
	color: var(--gold-2);
	text-decoration: none;
}

/* ---- SECTION (shared) ---- */
.tru-dark .sv-section {
	margin-bottom: 80px;
}
.tru-dark .sv-section-header {
	margin-bottom: 36px;
	text-align: center;
}
.tru-dark .sv-section-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 12px;
}
.tru-dark .sv-section-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .sv-section-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .sv-section-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto;
	max-width: 720px;
}

/* ---- SERVICES GRID ---- */
.tru-dark .sv-services {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.tru-dark .sv-service {
	background: var(--paper);
	border: 1px solid var(--line);
	padding: 28px 28px 24px 28px;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s ease, transform 0.2s ease;
}
.tru-dark .sv-service:hover {
	border-color: var(--line-3);
	transform: translateY(-2px);
}
.tru-dark .sv-service-featured {
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.06) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	box-shadow: 0 0 0 1px rgba(201, 169, 97, 0.12) inset;
}
.tru-dark .sv-service-featured:hover {
	border-color: var(--gold);
}
.tru-dark .sv-service-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}
.tru-dark .sv-service-marker {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 28px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
}
.tru-dark .sv-service-chip {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-3);
	background: var(--paper-3);
	border: 1px solid var(--line-2);
	padding: 5px 10px;
	border-radius: 2px;
}
.tru-dark .sv-service-chip-gold {
	background: var(--gold-wash);
	color: var(--gold-2);
	border-color: var(--gold-3);
}
.tru-dark .sv-service-title {
	font-family: var(--f-serif);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--ink);
	margin: 0 0 12px 0;
	letter-spacing: -0.01em;
}
.tru-dark .sv-service-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 15px;
	line-height: 1.5;
	color: var(--ink-2);
	margin: 0 0 20px 0;
}
.tru-dark .sv-service-features {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
}
.tru-dark .sv-service-features li {
	font-family: var(--f-sans);
	font-size: 13px;
	line-height: 1.55;
	color: var(--ink-2);
	padding: 6px 0 6px 18px;
	position: relative;
}
.tru-dark .sv-service-features li::before {
	content: "+";
	position: absolute;
	left: 0;
	top: 6px;
	color: var(--gold);
	font-weight: 700;
}

/* ---- WHY TRUREVIEW (manifesto rows) ---- */
.tru-dark .sv-why {
	max-width: 820px;
	margin: 0 auto;
}
.tru-dark .sv-why-row {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 32px;
	align-items: baseline;
	padding: 28px 0;
	border-bottom: 1px solid var(--line);
}
.tru-dark .sv-why-row:last-child {
	border-bottom: none;
}
.tru-dark .sv-why-num {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 44px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	text-align: right;
	letter-spacing: -0.02em;
}
.tru-dark .sv-why-body {
	display: block;
}
.tru-dark .sv-why-title {
	font-family: var(--f-serif);
	font-size: 24px;
	font-weight: 500;
	color: var(--ink);
	margin: 0 0 8px 0;
	letter-spacing: -0.01em;
}
.tru-dark .sv-why-text {
	font-family: var(--f-sans);
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ink-2);
	margin: 0;
}

/* ---- PROCESS (4-up grid) ---- */
.tru-dark .sv-process {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid var(--line);
	background: var(--paper);
}
.tru-dark .sv-step {
	padding: 32px 24px;
	border-right: 1px solid var(--line);
}
.tru-dark .sv-step:last-child {
	border-right: none;
}
.tru-dark .sv-step-num {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 42px;
	font-weight: 500;
	line-height: 1;
	color: var(--gold);
	margin-bottom: 16px;
}
.tru-dark .sv-step-title {
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink);
	margin: 0 0 10px 0;
}
.tru-dark .sv-step-text {
	font-family: var(--f-sans);
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--ink-2);
	margin: 0;
}

/* ---- CONTACT CLOSER ---- */
.tru-dark .sv-contact {
	margin-top: 24px;
	padding: 56px 32px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.06) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	text-align: center;
}
.tru-dark .sv-contact-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	letter-spacing: 0.6em;
	color: var(--gold);
	margin-bottom: 18px;
}
.tru-dark .sv-contact-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .sv-contact-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .sv-contact-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto 36px;
	max-width: 620px;
}
.tru-dark .sv-contact-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	max-width: 720px;
	margin: 0 auto 36px;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tru-dark .sv-contact-cell {
	padding: 22px 18px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.tru-dark .sv-contact-cell:last-child {
	border-right: none;
}
.tru-dark .sv-contact-label {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
}
.tru-dark .sv-contact-value {
	font-family: var(--f-serif);
	font-size: 17px;
	font-weight: 500;
	color: var(--ink);
}
.tru-dark .sv-contact-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 16px 32px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .sv-contact-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .sv-contact-note {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 13px;
	color: var(--ink-3);
	margin: 22px 0 0 0;
}

/* ---- MOBILE ---- */
@media (max-width: 900px) {
	.tru-dark .sv-services {
		grid-template-columns: repeat(2, 1fr);
	}
	.tru-dark .sv-process {
		grid-template-columns: repeat(2, 1fr);
	}
	.tru-dark .sv-step {
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .sv-step:nth-child(2n) {
		border-right: none;
	}
	.tru-dark .sv-step:nth-child(n+3) {
		border-bottom: none;
	}
	.tru-dark .sv-facts {
		grid-template-columns: repeat(2, 1fr);
	}
	.tru-dark .sv-fact:nth-child(2n) {
		border-right: none;
	}
	.tru-dark .sv-fact:nth-child(-n+2) {
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .sv-why-row {
		grid-template-columns: 56px 1fr;
		gap: 20px;
	}
	.tru-dark .sv-why-num {
		font-size: 32px;
	}
	.tru-dark .sv-why-title {
		font-size: 20px;
	}
}
@media (max-width: 600px) {
	.tru-dark .sv-page {
		padding: 36px 18px 56px;
	}
	.tru-dark .sv-lead-statement {
		font-size: 17px;
		padding-left: 18px;
	}
	.tru-dark .sv-section-title,
	.tru-dark .sv-contact-title {
		font-size: 26px;
	}
	.tru-dark .sv-section-deck,
	.tru-dark .sv-contact-deck {
		font-size: 15px;
	}
	.tru-dark .sv-services {
		grid-template-columns: 1fr;
	}
	.tru-dark .sv-service {
		padding: 24px 22px 22px;
	}
	.tru-dark .sv-service-title {
		font-size: 22px;
	}
	.tru-dark .sv-fact-num {
		font-size: 28px;
	}
	.tru-dark .sv-process {
		grid-template-columns: 1fr;
	}
	.tru-dark .sv-step {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .sv-step:last-child {
		border-bottom: none;
	}
	.tru-dark .sv-contact {
		padding: 36px 22px;
	}
	.tru-dark .sv-contact-grid {
		grid-template-columns: 1fr;
	}
	.tru-dark .sv-contact-cell {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .sv-contact-cell:last-child {
		border-bottom: none;
	}
	.tru-dark .sv-lead-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ===== END PHASE 4 SESSION 19 PATCH 3 -- SERVICES.HTML EDITORIAL TREATMENT ===== */

/* ===== PHASE 4 SESSION 19 PATCH 4 -- DIRECTORY.HTML EDITORIAL TREATMENT ===== */
/* Editorial frame for /directory.html. Wraps existing 40 agency-card rows
   with new lead block, segmented filter pills, status callout, themed
   pager, and inquiry CTA. The existing .agency-card CSS at line 3726 still
   styles each row -- this just adds the page-level scaffolding. */

.tru-dark .dr-page {
	max-width: 1080px;
	margin: 0 auto;
	padding: 56px 28px 80px;
}

/* ---- LEAD ---- */
.tru-dark .dr-lead {
	margin-bottom: 56px;
}
.tru-dark .dr-lead-statement {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	line-height: 1.5;
	color: var(--ink);
	border-left: 2px solid var(--gold);
	padding: 4px 0 4px 24px;
	margin: 0 0 36px 0;
	max-width: 820px;
}
.tru-dark .dr-facts {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.tru-dark .dr-fact {
	padding: 22px 24px;
	border-right: 1px solid var(--line);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.tru-dark .dr-fact:last-child {
	border-right: none;
}
.tru-dark .dr-fact-num {
	font-family: var(--f-serif);
	font-size: 36px;
	font-weight: 500;
	color: var(--gold);
	line-height: 1;
	letter-spacing: -0.02em;
}
.tru-dark .dr-fact-label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ink-3);
}

/* ---- FILTER ---- */
.tru-dark .dr-filter {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.tru-dark .dr-filter-label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	flex-shrink: 0;
}
.tru-dark .dr-filter-tabs {
	display: flex !important;
	gap: 0 !important;
	flex-wrap: wrap !important;
	margin-bottom: 0 !important;
	border: 1px solid var(--line);
	background: var(--paper);
	border-radius: 2px;
	overflow: hidden;
}
.tru-dark .dr-filter-pill {
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ink-2);
	background: transparent;
	border: none;
	border-right: 1px solid var(--line);
	padding: 12px 22px;
	cursor: pointer;
	transition: all 0.15s ease;
}
.tru-dark .dr-filter-pill:last-child {
	border-right: none;
}
.tru-dark .dr-filter-pill:hover {
	background: var(--paper-2);
	color: var(--gold-2);
}
.tru-dark .dr-filter-pill.is-active {
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
}

/* ---- BUILD CALLOUT ---- */
.tru-dark .dr-build {
	margin-bottom: 32px;
	padding: 28px 32px;
	background: var(--paper-2);
	border: 1px solid var(--line);
	border-left: 3px solid var(--gold);
}
.tru-dark .dr-build-kicker {
	display: block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}
.tru-dark .dr-build-title {
	font-family: var(--f-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.15;
	color: var(--ink);
	margin: 0 0 10px 0;
	letter-spacing: -0.01em;
}
.tru-dark .dr-build-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .dr-build-text {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 17px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 0 18px 0;
	max-width: 720px;
}
.tru-dark .dr-build-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 24px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .dr-build-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(201, 169, 97, 0.25);
	color: var(--bg);
	text-decoration: none;
}

/* ---- CARDS CONTAINER (overrides legacy inline style) ---- */
.tru-dark .dr-cards {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin-bottom: 32px;
}

/* ---- PAGER ---- */
.tru-dark .dr-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 32px 0 56px;
	flex-wrap: wrap;
}
.tru-dark .dr-pager-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 14px;
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 600;
	color: var(--ink-2);
	background: var(--paper);
	border: 1px solid var(--line);
	border-radius: 2px;
	text-decoration: none;
	transition: all 0.15s ease;
}
.tru-dark .dr-pager-link:hover {
	border-color: var(--gold-3);
	color: var(--gold-2);
	text-decoration: none;
}
.tru-dark .dr-pager-link.is-active {
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	border-color: var(--gold);
}
.tru-dark .dr-pager-link.is-active:hover {
	color: var(--bg);
}
.tru-dark .dr-pager-next {
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 11px;
}

/* ---- CTA CLOSER ---- */
.tru-dark .dr-cta {
	margin-top: 24px;
	padding: 56px 32px;
	background: linear-gradient(180deg, rgba(201, 169, 97, 0.06) 0%, var(--paper) 100%);
	border: 1px solid var(--gold-3);
	text-align: center;
}
.tru-dark .dr-cta-mark {
	display: block;
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 22px;
	letter-spacing: 0.6em;
	color: var(--gold);
	margin-bottom: 18px;
}
.tru-dark .dr-cta-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 14px 0;
	letter-spacing: -0.015em;
}
.tru-dark .dr-cta-title em {
	font-style: italic;
	font-weight: 400;
	color: var(--gold);
}
.tru-dark .dr-cta-deck {
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 18px;
	line-height: 1.55;
	color: var(--ink-2);
	margin: 0 auto 28px;
	max-width: 580px;
}
.tru-dark .dr-cta-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.tru-dark .dr-cta-primary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 16px 32px;
	background: linear-gradient(135deg, var(--gold-2) 0%, var(--gold) 100%);
	color: var(--bg);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .dr-cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(201, 169, 97, 0.3);
	color: var(--bg);
	text-decoration: none;
}
.tru-dark .dr-cta-ghost {
	display: inline-flex;
	align-items: center;
	padding: 16px 32px;
	border: 1px solid var(--line-3);
	color: var(--ink-2);
	font-family: var(--f-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 2px;
	transition: all 0.2s ease;
}
.tru-dark .dr-cta-ghost:hover {
	border-color: var(--gold-3);
	color: var(--gold-2);
	text-decoration: none;
}

/* ---- MOBILE ---- */
@media (max-width: 900px) {
	.tru-dark .dr-filter-pill {
		flex: 1 1 50%;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .dr-filter-pill:nth-child(2n) {
		border-right: none;
	}
	.tru-dark .dr-filter-pill:nth-child(n+3) {
		border-bottom: none;
	}
}
@media (max-width: 600px) {
	.tru-dark .dr-page {
		padding: 36px 18px 56px;
	}
	.tru-dark .dr-lead-statement {
		font-size: 17px;
		padding-left: 18px;
	}
	.tru-dark .dr-facts {
		grid-template-columns: 1fr;
	}
	.tru-dark .dr-fact {
		border-right: none;
		border-bottom: 1px solid var(--line);
	}
	.tru-dark .dr-fact:last-child {
		border-bottom: none;
	}
	.tru-dark .dr-fact-num {
		font-size: 28px;
	}
	.tru-dark .dr-filter {
		gap: 12px;
	}
	.tru-dark .dr-filter-tabs {
		width: 100%;
	}
	.tru-dark .dr-filter-pill {
		font-size: 11px;
		padding: 10px 14px;
	}
	.tru-dark .dr-build {
		padding: 22px 22px;
	}
	.tru-dark .dr-build-title {
		font-size: 21px;
	}
	.tru-dark .dr-build-text {
		font-size: 15px;
	}
	.tru-dark .dr-cta {
		padding: 36px 22px;
	}
	.tru-dark .dr-cta-title {
		font-size: 26px;
	}
	.tru-dark .dr-cta-deck {
		font-size: 15px;
	}
	.tru-dark .dr-cta-actions {
		flex-direction: column;
		align-items: stretch;
	}
}

/* ===== END PHASE 4 SESSION 19 PATCH 4 -- DIRECTORY.HTML EDITORIAL TREATMENT ===== */

/* ===== PHASE 4 SESSION 19 PATCH 5 -- DIRECTORY TRANSPARENCY FIXES ===== */
/* The original .agency-card.featured rule used a fade-to-transparent
   gradient that lets the page background bleed through. Override with a
   solid gold-tinted gradient that has full opacity at every stop. Also
   force solid backgrounds on .dr-build and .dr-cta in case any inherited
   transparent-styled rule is leaking through. */

.tru-dark .agency-card,
.tru-dark .dr-cards .agency-card {
	background-color: #2c2c33 !important;
	background-image: none !important;
	border: 1px solid #3a3a44 !important;
	position: relative;
	z-index: 2;
}
.tru-dark .agency-card.featured,
.tru-dark .dr-cards .agency-card.featured {
	background-color: #3a3225 !important;
	background-image: none !important;
	border: 1px solid var(--gold) !important;
	position: relative;
	z-index: 2;
}
.tru-dark .agency-card:hover,
.tru-dark .dr-cards .agency-card:hover {
	background-color: #36363f !important;
	background-image: none !important;
	border-color: #4a4a55 !important;
}
.tru-dark .agency-card.featured:hover,
.tru-dark .dr-cards .agency-card.featured:hover {
	background-color: #463b2c !important;
	background-image: none !important;
	border-color: var(--gold-2) !important;
}
.tru-dark .dr-build {
	background-color: #2c2c33 !important;
	background-image: none !important;
	position: relative;
	z-index: 2;
}
.tru-dark .dr-cta {
	background-color: #3a3225 !important;
	background-image: none !important;
	position: relative;
	z-index: 2;
}
.tru-dark .indie-card,
.tru-dark .indie-cards-grid .indie-card {
	background-color: #2c2c33 !important;
	background-image: none !important;
	border: 1px solid #3a3a44 !important;
	position: relative;
	z-index: 2;
}

/* ===== END PHASE 4 SESSION 19 PATCH 5 -- DIRECTORY TRANSPARENCY FIXES ===== */

/* ===== PHASE 4 SESSION 19 PATCH 6 -- ADVERTISE EDGE DEFENSIVE OVERRIDES ===== */
/* Edge was reportedly not rendering ad-lead, ad-facts, ad-tiers, ad-tier,
   ad-indie, ad-process sections. HTML and CSS are both correct on disk and
   live, so this is a defensive layer at the bottom of the cascade that
   forces these sections to render no matter what upstream rule is firing.
   Resets display, visibility, opacity, dimensions, and clears any stray
   text-fill-color that could be leaking from earlier gradient-text rules. */

.tru-dark .adv-lead,
.tru-dark .adv-facts,
.tru-dark .adv-section,
.tru-dark .adv-tiers,
.tru-dark .adv-tier,
.tru-dark .adv-tier-featured,
.tru-dark .adv-indie,
.tru-dark .adv-design,
.tru-dark .adv-process,
.tru-dark .adv-contact {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: 1px;
	-webkit-text-fill-color: initial !important;
}
.tru-dark .adv-tiers {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
}
.tru-dark .adv-facts {
	display: grid !important;
}
.tru-dark .adv-process {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
}
@media (max-width: 900px) {
	.tru-dark .adv-tiers,
	.tru-dark .adv-process {
		grid-template-columns: 1fr !important;
	}
}

/* ===== END PHASE 4 SESSION 19 PATCH 6 -- ADVERTISE EDGE DEFENSIVE OVERRIDES ===== */

/* ===== PHASE 4 SESSION 19 PATCH 7 -- INDEPENDENT DIRECTORY EDITORIAL ===== */
/* The indie directory uses the same .dr-* page scaffolding as the agency
   directory (filter pills, status callout, inquiry CTA). Just add a 3-col
   photo-card grid and force solid backgrounds on .indie-card so they don't
   blend into the page background like the agency cards did. */

.tru-dark .indie-cards-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 18px !important;
	margin-bottom: 32px;
}
@media (max-width: 900px) {
	.tru-dark .indie-cards-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 600px) {
	.tru-dark .indie-cards-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Solid backgrounds for .indie-card -- handled in S19P5 contrast fix above */
.tru-dark .indie-card:hover,
.tru-dark .indie-cards-grid .indie-card:hover {
	border-color: var(--gold-3) !important;
}

/* ===== END PHASE 4 SESSION 19 PATCH 7 -- INDEPENDENT DIRECTORY EDITORIAL ===== */


/* ===========================================================================
   PHASE 4 SESSION 20 -- MOBILE OVERHAUL PART 1
   ===========================================================================
   Issues this fixes (per Ali's feedback + screenshot review):
     1. NO HAMBURGER VISIBLE on any page on mobile.
        Root cause on phpBB pages: the hamburger lives inside .topbar-right,
        and an earlier mobile rule sets .topbar-right { display: none } at
        =< 768px, hiding the hamburger along with its parent.
     2. The static-page hamburger (<details> element) was technically there
        but visually anaemic and didn't slide out as a real menu panel.
     3. Hamburger styling was too understated -- the OLD design had a clearly
        visible rounded outlined button that we're now matching.
     4. Forum index rows were huge bordered boxes hiding the lastpost info,
        so only ~5 rows fit per phone screen and you couldn't see what was
        happening recently. Matching TERB's compact density now.
   =========================================================================== */

/* === 1. HAMBURGER VISIBILITY FIX (forum/phpBB pages) ====================== */
@media (max-width: 768px) {
	body.tru-dark .topbar-right {
		display: flex !important;
		align-items: center;
		gap: 6px;
	}
	/* Hide the user-name dropdown + sign in/register text -- icons + hamburger stay */
	body.tru-dark .topbar-right .user-handle,
	body.tru-dark .topbar-right .user-menu,
	body.tru-dark .topbar-right .btn-ghost,
	body.tru-dark .topbar-right .btn-primary {
		display: none !important;
	}
	body.tru-dark .topbar-right .topbar-icon-btn {
		display: inline-flex !important;
	}
	body.tru-dark .topbar-hamburger,
	body.tru-dark #tr-hamburger {
		display: inline-flex !important;
		visibility: visible !important;
	}
}

/* === 2. HAMBURGER STYLING (matches old visible design, gold-accented) ===== */
body.tru-dark .topbar-hamburger,
body.tru-dark #tr-hamburger {
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 5px !important;
	background: rgba(255, 255, 255, 0.04) !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	padding: 8px 10px !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	transition: all 0.15s ease !important;
}
body.tru-dark .topbar-hamburger span,
body.tru-dark #tr-hamburger span {
	display: block !important;
	width: 22px !important;
	height: 2px !important;
	background: var(--ink) !important;
	border-radius: 1px !important;
	transition: all 0.15s ease !important;
}
body.tru-dark .topbar-hamburger:hover,
body.tru-dark #tr-hamburger:hover {
	border-color: var(--gold) !important;
	background: rgba(201, 169, 97, 0.08) !important;
}
body.tru-dark .topbar-hamburger:hover span,
body.tru-dark #tr-hamburger:hover span {
	background: var(--gold) !important;
}

/* === 3. STATIC PAGE SLIDEOUT (upgrade <details> mobile-menu to panel) ==== */
@media (max-width: 768px) {
	/* Make the topbar-inner give room for the hamburger on mobile */
	.tru-dark .mobile-menu {
		display: block !important;
		position: relative;
	}
	.tru-dark .mobile-menu summary {
		list-style: none !important;
		cursor: pointer;
		font-size: 0 !important;
		line-height: 1;
		color: var(--ink);
		padding: 0 !important;
		border: 1px solid var(--gold-3) !important;
		border-radius: 2px !important;
		background: rgba(255, 255, 255, 0.04) !important;
		width: 42px !important;
		height: 36px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		transition: all 0.15s ease;
	}
	.tru-dark .mobile-menu summary::-webkit-details-marker { display: none !important; }
	.tru-dark .mobile-menu summary::after {
		content: "" !important;
		display: block !important;
		width: 22px;
		height: 16px;
		background-image:
			linear-gradient(var(--ink) 2px, transparent 2px),
			linear-gradient(var(--ink) 2px, transparent 2px),
			linear-gradient(var(--ink) 2px, transparent 2px);
		background-size: 22px 2px;
		background-position: 0 0, 0 7px, 0 14px;
		background-repeat: no-repeat;
	}
	.tru-dark .mobile-menu summary:hover {
		border-color: var(--gold) !important;
		background: rgba(201, 169, 97, 0.08) !important;
	}
	.tru-dark .mobile-menu summary:hover::after {
		background-image:
			linear-gradient(var(--gold) 2px, transparent 2px),
			linear-gradient(var(--gold) 2px, transparent 2px),
			linear-gradient(var(--gold) 2px, transparent 2px);
	}
	/* Open: dark backdrop fills the screen */
	.tru-dark .mobile-menu[open]::before {
		content: "";
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.62);
		z-index: 998;
		animation: tr-mobile-fadein 0.2s ease;
	}
	/* Open: nav becomes a slide-in panel from the right */
	.tru-dark .mobile-menu[open] .mobile-nav {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 280px !important;
		max-width: 82vw !important;
		background: #1a1a1d !important;
		border-left: 1px solid var(--gold-3) !important;
		z-index: 999;
		padding: 64px 18px 24px !important;
		overflow-y: auto;
		animation: tr-mobile-slidein 0.25s ease;
		display: flex !important;
		flex-direction: column;
		gap: 0;
		box-shadow: -8px 0 32px rgba(0, 0, 0, 0.4);
	}
	/* Each nav link inside the open panel */
	.tru-dark .mobile-menu[open] .mobile-nav a {
		display: flex !important;
		align-items: center !important;
		padding: 14px 12px !important;
		font-family: var(--f-sans);
		font-size: 14px;
		font-weight: 600;
		color: var(--ink) !important;
		text-decoration: none !important;
		border-bottom: 1px solid #2a2a30 !important;
		letter-spacing: 0.04em;
		transition: all 0.12s ease;
	}
	.tru-dark .mobile-menu[open] .mobile-nav a:last-child {
		border-bottom: 0 !important;
	}
	.tru-dark .mobile-menu[open] .mobile-nav a:hover,
	.tru-dark .mobile-menu[open] .mobile-nav a:focus {
		color: var(--gold) !important;
		background: rgba(201, 169, 97, 0.06) !important;
		padding-left: 16px !important;
	}
	.tru-dark .mobile-menu[open] .mobile-nav .num {
		color: var(--gold) !important;
		font-family: var(--f-marg) !important;
		font-style: italic !important;
		font-size: 12px !important;
		margin-right: 14px !important;
		opacity: 0.85;
		min-width: 22px;
		display: inline-block;
	}
}
@keyframes tr-mobile-fadein {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes tr-mobile-slidein {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}

/* === 4. FORUM INDEX MOBILE COMPACT (TERB-style density) ================== */
@media (max-width: 768px) {
	/* Strip frame off the wrapper so cards are the canvas */
	body.tru-dark .forumbg,
	body.tru-dark .forabg {
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin-bottom: 14px !important;
		position: relative;
		z-index: 2;
	}

	/* Each forum row -- solid card, compact, lifted above watermark */
	body.tru-dark .forabg .topiclist .row {
		background: #1a1a1d !important;
		border: 1px solid #2a2a30 !important;
		border-radius: 2px !important;
		margin-bottom: 6px !important;
		padding: 0 !important;
		position: relative;
		z-index: 2;
		min-height: 0 !important;
	}
	/* Gold left accent for unread forums */
	body.tru-dark .forabg .topiclist .row.forum-unread {
		border-left: 3px solid var(--gold) !important;
	}

	/* Switch row-item from horizontal flex to vertical stack */
	body.tru-dark .forabg .topiclist .row .row-item {
		display: flex !important;
		flex-direction: column !important;
		padding: 11px 14px !important;
		gap: 6px !important;
		align-items: stretch !important;
		min-height: 0 !important;
		width: 100% !important;
	}

	/* dt = main info (icon + title + desc) takes full width, normal flow */
	body.tru-dark .forabg .topiclist .row .row-item dt {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dt .list-inner {
		padding: 0 !important;
		margin: 0 !important;
		display: flex !important;
		align-items: flex-start !important;
		gap: 11px !important;
	}

	/* Forum icon -- compact circular */
	body.tru-dark .forabg .topiclist .row .row-item .forum-icon-wrap {
		width: 34px !important;
		height: 34px !important;
		min-width: 34px !important;
		font-size: 14px !important;
		flex-shrink: 0;
		border-radius: 50%;
		display: flex !important;
		align-items: center;
		justify-content: center;
	}

	/* Title block grows to fill */
	body.tru-dark .forabg .topiclist .row .row-item .forum-main-info {
		flex: 1 !important;
		min-width: 0 !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-title-line {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		flex-wrap: wrap;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forumtitle {
		font-size: 15px !important;
		line-height: 1.25 !important;
		font-weight: 600 !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-new-badge {
		font-size: 9px !important;
		padding: 2px 6px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-desc-text {
		font-size: 11.5px !important;
		line-height: 1.4 !important;
		margin-top: 3px !important;
		color: var(--ink-3) !important;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-mods-text {
		display: none !important;
	}

	/* Topics + posts inline, compact, indented under icon column */
	body.tru-dark .forabg .topiclist .row .row-item dd.topics,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts {
		display: inline-block !important;
		width: auto !important;
		max-width: none !important;
		padding: 0 !important;
		margin: 0 14px 0 0 !important;
		font-size: 10px !important;
		color: var(--ink-3) !important;
		text-align: left !important;
		border: none !important;
		text-transform: lowercase;
		letter-spacing: 0.04em;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics {
		margin-left: 45px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics .forum-count,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts .forum-count {
		font-size: 11px !important;
		font-weight: 700 !important;
		color: var(--ink-2) !important;
		margin-right: 3px;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics dfn,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts dfn {
		position: static !important;
		clip: auto !important;
		clip-path: none !important;
		height: auto !important;
		width: auto !important;
		font-style: normal !important;
		text-transform: lowercase !important;
		font-size: 10px !important;
		color: var(--ink-3) !important;
		font-weight: 400 !important;
	}

	/* SHOW lastpost on mobile (was hidden by old rule) */
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 0 0 45px !important;
		margin: 0 !important;
		border: none !important;
		text-align: left !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost > span {
		display: block !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-inner {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-avatar {
		display: none !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-details {
		display: block !important;
		flex: 1;
		min-width: 0;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-subject {
		font-size: 11.5px !important;
		color: var(--ink-2) !important;
		display: block !important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-time,
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-author {
		font-size: 10px !important;
		color: var(--ink-3) !important;
		display: inline !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-time::after {
		content: " \00b7 ";
		color: var(--gold-3);
		margin: 0 4px;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .no-posts-yet {
		font-size: 11px !important;
		color: var(--ink-3) !important;
		font-style: italic;
	}

	/* Section / category headers (TORONTO REVIEWS, MONTREAL etc) */
	body.tru-dark .forumbg > .header,
	body.tru-dark .forabg > .header,
	body.tru-dark .forumbg .topiclist > li.header,
	body.tru-dark .forabg .topiclist > li.header {
		background: linear-gradient(180deg, rgba(201, 169, 97, 0.10), rgba(201, 169, 97, 0.02)) !important;
		border: 1px solid var(--gold-3) !important;
		border-left: 3px solid var(--gold) !important;
		border-radius: 2px !important;
		padding: 0 !important;
		margin-bottom: 8px !important;
		position: relative;
		z-index: 2;
	}
	body.tru-dark .forabg .topiclist > li.header .row-item,
	body.tru-dark .forabg > .header .row-item {
		padding: 13px 14px !important;
		display: block !important;
		min-height: 0 !important;
	}
	body.tru-dark .forabg .topiclist > li.header dt,
	body.tru-dark .forabg > .header dt {
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: 0.10em !important;
		text-transform: uppercase !important;
		color: var(--gold) !important;
		font-family: var(--f-sans) !important;
		display: block !important;
		padding: 0 !important;
	}
	/* Hide Threads / Messages / Latest Post column labels in headers on mobile */
	body.tru-dark .forabg .topiclist > li.header dd,
	body.tru-dark .forabg > .header dd {
		display: none !important;
	}

	/* Subforums - compact indented row */
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item {
		padding: 8px 14px 8px 50px !important;
		gap: 0 !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item dt .list-inner {
		gap: 8px !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item .subforum-icon-wrap {
		width: 22px !important;
		height: 22px !important;
		min-width: 22px !important;
		font-size: 11px !important;
		flex-shrink: 0;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item .forumtitle {
		font-size: 13px !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item dd {
		display: none !important;
	}
}

/* Smaller phones -- tighten further */
@media (max-width: 420px) {
	body.tru-dark .forabg .topiclist .row .row-item {
		padding: 10px 12px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forumtitle {
		font-size: 14px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-desc-text {
		font-size: 11px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics {
		margin-left: 45px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost {
		padding-left: 45px !important;
	}
}

/* ===== END PHASE 4 SESSION 20 -- MOBILE OVERHAUL PART 1 =================== */


/* ===========================================================================
   PHASE 4 SESSION 21 -- MOBILE OVERHAUL PART 2
   ===========================================================================
   Fixes Ali's S20 feedback after testing on iPhone:
     1. Forum-side mobile slideout (#tr-mobile-menu) was still rendering in
        the OLD pink/red Phase-1 theme. The dark theme rules at line 4515+
        were not winning vs the original !important rules at line 427+.
        This patch overrides EVERYTHING to editorial-dark gold.
     2. Empty dark boxes appearing above forum titles -- forum-icon-wrap was
        showing as a faint gold-on-faint-gold blob with the FA icon nearly
        invisible. Fixed by either making icon clearly visible OR hiding
        wrap entirely on mobile (chose hide -- matches density goal).
     3. Forum index still too stacked / too tall -- tighter pass on padding,
        font-sizes, line-heights to match TERB density.
     4. Hamburger color: was cream bars on transparent. Switching to GOLD
        bars on a slightly more solid background.
     5. Subforum rows: tightened to single line, less padding, no background
        per row (delineated by divider lines instead).
   =========================================================================== */

/* === 1. FORUM-SIDE MOBILE SLIDEOUT (#tr-mobile-menu) -- editorial dark === */
body.tru-dark #tr-mobile-menu {
	background: #1a1a1d !important;
	background-image: none !important;
	border-right: none !important;
	border-left: 1px solid var(--gold-3) !important;
	left: auto !important;
	right: -320px !important;
	width: 300px !important;
	max-width: 86vw !important;
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45) !important;
	transition: right 0.28s ease !important;
	font-family: var(--f-sans) !important;
}
body.tru-dark #tr-mobile-menu.open {
	left: auto !important;
	right: 0 !important;
}
body.tru-dark #tr-mobile-overlay {
	background: rgba(0, 0, 0, 0.62) !important;
}
body.tru-dark #tr-mobile-menu-inner {
	padding: 0 0 24px 0 !important;
}
body.tru-dark #tr-mobile-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding: 14px 18px !important;
	background: rgba(201, 169, 97, 0.05) !important;
	border-bottom: 1px solid var(--gold-3) !important;
	margin-bottom: 0 !important;
}
body.tru-dark #tr-mobile-header img {
	height: 38px !important;
	width: auto !important;
}
body.tru-dark #tr-mobile-close {
	background: transparent !important;
	border: 1px solid var(--gold-3) !important;
	border-radius: 2px !important;
	color: var(--ink-2) !important;
	font-size: 20px !important;
	width: 32px !important;
	height: 32px !important;
	padding: 0 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	transition: all 0.15s ease !important;
}
body.tru-dark #tr-mobile-close:hover {
	color: var(--gold) !important;
	border-color: var(--gold) !important;
	background: rgba(201, 169, 97, 0.08) !important;
}
body.tru-dark #tr-mobile-user {
	background: transparent !important;
	border-bottom: 1px solid #2a2a30 !important;
	color: var(--ink-2) !important;
	font-family: var(--f-sans) !important;
	font-size: 12px !important;
	letter-spacing: 0.04em !important;
	padding: 12px 18px !important;
}
body.tru-dark #tr-mobile-user strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
}
body.tru-dark .tr-mobile-divider {
	background: transparent !important;
	border-bottom: none !important;
	color: var(--gold) !important;
	font-family: var(--f-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 16px 18px 6px !important;
	margin: 0 !important;
	opacity: 0.85;
}
body.tru-dark #tr-mobile-menu-inner a {
	background: transparent !important;
	border-bottom: 1px solid #2a2a30 !important;
	color: var(--ink) !important;
	font-family: var(--f-sans) !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.02em !important;
	padding: 12px 18px !important;
	text-decoration: none !important;
	transition: all 0.12s ease !important;
}
body.tru-dark #tr-mobile-menu-inner a:hover {
	background: rgba(201, 169, 97, 0.06) !important;
	color: var(--gold) !important;
	padding-left: 22px !important;
}
body.tru-dark a.tr-mobile-logout {
	color: var(--ink-3) !important;
	margin-top: 6px !important;
}
body.tru-dark a.tr-mobile-join {
	background: linear-gradient(180deg, var(--gold-2), var(--gold)) !important;
	color: #18120a !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	margin: 12px 18px !important;
	padding: 12px 16px !important;
	border-radius: 2px !important;
	border-bottom: none !important;
	font-size: 12px !important;
}
body.tru-dark a.tr-mobile-join:hover {
	background: var(--gold-2) !important;
	color: #18120a !important;
	padding-left: 16px !important;
}
body.tru-dark a.tr-mobile-post {
	color: var(--gold) !important;
	font-weight: 600 !important;
}
body.tru-dark #tr-mobile-menu .tr-mobile-count {
	background: var(--gold) !important;
	color: #18120a !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	padding: 1px 6px !important;
	border-radius: 2px !important;
	margin-left: 6px !important;
}

/* === 2. FORUM INDEX -- KILL EMPTY ICON BOXES on mobile ==================== */
@media (max-width: 768px) {
	/* Belt-and-suspenders: force forum-icon-wrap hidden in all forum rows.
	   Higher specificity than the existing line 5443 rule so this wins
	   even if other media queries try to re-enable it. */
	body.tru-dark .forabg .topiclist .row .row-item .forum-icon-wrap,
	body.tru-dark .forabg .topiclist .row .row-item .subforum-icon-wrap,
	body.tru-dark .forabg .topiclist .row .row-item .subforum-arrow,
	body.tru-dark .forabg .forums .row .row-item .forum-icon-wrap,
	body.tru-dark .forabg .forums .subforum-row .subforum-icon-wrap {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	/* With icons hidden, kill the gap so title sits flush left */
	body.tru-dark .forabg .topiclist .row .row-item dt .list-inner {
		gap: 0 !important;
	}
	/* Topics/posts/lastpost no longer indented under invisible icon */
	body.tru-dark .forabg .topiclist .row .row-item dd.topics {
		margin-left: 0 !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost {
		padding-left: 0 !important;
	}
}

/* === 3. FORUM INDEX -- TIGHTER COMPACT DENSITY (TERB-like) ================ */
@media (max-width: 768px) {
	body.tru-dark .forabg .topiclist .row {
		margin-bottom: 4px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item {
		padding: 9px 12px !important;
		gap: 4px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forumtitle {
		font-size: 13.5px !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-desc-text {
		font-size: 11px !important;
		line-height: 1.35 !important;
		margin-top: 2px !important;
		-webkit-line-clamp: 2;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts {
		font-size: 9.5px !important;
		margin-right: 10px !important;
		letter-spacing: 0.03em;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics .forum-count,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts .forum-count {
		font-size: 10.5px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.topics dfn,
	body.tru-dark .forabg .topiclist .row .row-item dd.posts dfn {
		font-size: 9.5px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost {
		font-size: 10.5px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-subject {
		font-size: 11px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-time,
	body.tru-dark .forabg .topiclist .row .row-item dd.lastpost .lastpost-author {
		font-size: 9.5px !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-new-badge {
		font-size: 8.5px !important;
		padding: 1px 5px !important;
	}
	/* Section / category headers tighter */
	body.tru-dark .forabg .topiclist > li.header .row-item,
	body.tru-dark .forabg > .header .row-item {
		padding: 10px 12px !important;
	}
	body.tru-dark .forabg .topiclist > li.header dt,
	body.tru-dark .forabg > .header dt {
		font-size: 11.5px !important;
		letter-spacing: 0.12em !important;
	}
	/* Subforum row -- single line, very compact */
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item {
		padding: 7px 12px !important;
		flex-direction: row !important;
		align-items: center !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item dt {
		flex: 1 !important;
		display: block !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row .row-item .forumtitle {
		font-size: 12.5px !important;
		font-weight: 500 !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row {
		background: #15151a !important;
		border: none !important;
		border-bottom: 1px solid #2a2a30 !important;
		border-radius: 0 !important;
		margin-bottom: 0 !important;
	}
	body.tru-dark .forabg .topiclist .row.subforum-row + .row.subforum-row {
		margin-top: 0 !important;
	}
	/* Last subforum in a group has bottom margin to separate from next forum */
	body.tru-dark .forabg .topiclist .row.subforum-row:last-of-type {
		margin-bottom: 6px !important;
	}
}

/* === 4. HAMBURGER COLOR ADJUSTMENT (gold bars, more solid bg) ============= */
body.tru-dark .topbar-hamburger,
body.tru-dark #tr-hamburger {
	background: rgba(201, 169, 97, 0.06) !important;
	border: 1px solid var(--gold) !important;
}
body.tru-dark .topbar-hamburger span,
body.tru-dark #tr-hamburger span {
	background: var(--gold) !important;
}
body.tru-dark .topbar-hamburger:hover,
body.tru-dark #tr-hamburger:hover {
	background: rgba(201, 169, 97, 0.14) !important;
	border-color: var(--gold-2) !important;
}
body.tru-dark .topbar-hamburger:hover span,
body.tru-dark #tr-hamburger:hover span {
	background: var(--gold-2) !important;
}
/* Same treatment for the static-page <details> hamburger */
@media (max-width: 768px) {
	.tru-dark .mobile-menu summary {
		background: rgba(201, 169, 97, 0.06) !important;
		border-color: var(--gold) !important;
	}
	.tru-dark .mobile-menu summary::after {
		background-image:
			linear-gradient(var(--gold) 2px, transparent 2px),
			linear-gradient(var(--gold) 2px, transparent 2px),
			linear-gradient(var(--gold) 2px, transparent 2px) !important;
	}
	.tru-dark .mobile-menu summary:hover {
		background: rgba(201, 169, 97, 0.14) !important;
		border-color: var(--gold-2) !important;
	}
	.tru-dark .mobile-menu summary:hover::after {
		background-image:
			linear-gradient(var(--gold-2) 2px, transparent 2px),
			linear-gradient(var(--gold-2) 2px, transparent 2px),
			linear-gradient(var(--gold-2) 2px, transparent 2px) !important;
	}
}

/* === 5. FORUM ROW CARD CONTRAST (no watermark bleed) ====================== */
@media (max-width: 768px) {
	/* Use brighter card background so cards clearly stand off the page bg.
	   Previous #1a1a1d was ok but this is cleaner against the watermark. */
	body.tru-dark .forabg .topiclist .row {
		background: #1c1c20 !important;
	}
	body.tru-dark .forabg .topiclist .row.forum-unread,
	body.tru-dark .forabg .topiclist .row.forum_unread_subforum {
		border-left: 3px solid var(--gold) !important;
	}
}

/* ===== END PHASE 4 SESSION 21 -- MOBILE OVERHAUL PART 2 =================== */


/* ===========================================================================
   PHASE 4 SESSION 22 -- MOBILE OVERHAUL PART 3
   ===========================================================================
   Issues this fixes (per Ali's S21 follow-up screenshots):
     1. STATIC PAGE HAMBURGER OPENS AS A TINY BOX, not a full slideout.
        Root cause: .topbar has backdrop-filter: blur(8px) which establishes
        a containing block for position:fixed descendants. The <details>
        element's .mobile-nav with position:fixed is therefore confined to
        the .topbar's size instead of the viewport. Fix: drop backdrop-filter
        on mobile widths (purely cosmetic anyway).
     2. Forum-side mobile slideout (#tr-mobile-menu) -- bump @username font
        size and override the leftover pink username color.
     3. Last post preview was missing on viewforum subforum rows even though
        the data exists in the HTML. Root cause: an earlier rule at line
        ~5400 hides dd.lastpost on rows with class .forum_read_subforum /
        .forum_unread_subforum with HIGHER specificity than my S20 rule.
        Fix: bump specificity on the show-lastpost rule.
     4. Tighter pass on forum index + viewforum rows for TERB-style density.
   =========================================================================== */

/* === 1. KILL BACKDROP-FILTER ON MOBILE -- frees position:fixed ============ */
@media (max-width: 768px) {
	body.tru-dark .topbar,
	.tru-dark .topbar {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: rgba(10, 10, 11, 0.96) !important;
	}
}

/* === 2. SLIDEOUT USERNAME -- bigger, no more pink ========================= */
body.tru-dark #tr-mobile-user,
body.tru-dark #tr-mobile-menu #tr-mobile-user {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: var(--gold) !important;
	letter-spacing: 0.02em !important;
	padding: 14px 18px !important;
	background: rgba(201, 169, 97, 0.05) !important;
	border-bottom: 1px solid var(--gold-3) !important;
}
/* Defeat any leftover pink username-coloured inline styling inside slideout */
body.tru-dark #tr-mobile-menu .username-coloured,
body.tru-dark #tr-mobile-menu #tr-mobile-user .username-coloured,
body.tru-dark #tr-mobile-menu a[style*="color"] {
	color: var(--gold) !important;
}

/* === 3. LASTPOST -- force visible on ALL forum rows on mobile ============= */
@media (max-width: 768px) {
	/* This selector is intentionally extra-specific to beat the
	   .tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.lastpost
	   hide rule that has 7 classes -- ours has 8. */
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read_locked dd.lastpost,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread_locked dd.lastpost {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 2px 0 0 0 !important;
		margin: 0 !important;
		border: none !important;
		text-align: left !important;
		background: transparent !important;
	}
	/* And topics + posts ALSO need to win against the same hide rule */
	body.tru-dark .forabg .topiclist.forums > li.row dd.topics,
	body.tru-dark .forabg .topiclist.forums > li.row dd.posts,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read dd.topics,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read dd.posts,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread dd.topics,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread dd.posts,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.topics,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_read_subforum dd.posts,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.topics,
	body.tru-dark .forabg .topiclist.forums > li.row.forum_unread_subforum dd.posts {
		display: inline-block !important;
		width: auto !important;
		padding: 0 !important;
		margin: 0 12px 0 0 !important;
		font-size: 9.5px !important;
		color: var(--ink-3) !important;
		text-align: left !important;
		border: none !important;
	}
	/* Restore inner styling now that lastpost is visible */
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost > span {
		display: block !important;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-inner {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-avatar {
		display: none !important;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-details {
		display: block !important;
		flex: 1;
		min-width: 0;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-subject {
		font-size: 11px !important;
		color: var(--ink-2) !important;
		display: block !important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-time,
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-author {
		font-size: 9.5px !important;
		color: var(--ink-3) !important;
		display: inline !important;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-time::after {
		content: " \00b7 ";
		color: var(--gold-3);
		margin: 0 4px;
	}
	/* Override that pink username-coloured INSIDE the lastpost on mobile */
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .username-coloured,
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .lastpost-author a {
		color: var(--ink-2) !important;
	}
	/* But still keep "no posts yet" visible */
	body.tru-dark .forabg .topiclist.forums > li.row dd.lastpost .no-posts-yet {
		display: inline !important;
		font-size: 10.5px !important;
		color: var(--ink-3) !important;
		font-style: italic;
	}
}

/* === 4. EVEN TIGHTER ROWS (forum index + viewforum) ====================== */
@media (max-width: 768px) {
	/* Each forum row -- compact card */
	body.tru-dark .forabg .topiclist .row .row-item {
		padding: 8px 11px !important;
		gap: 3px !important;
	}
	/* Forum title -- slightly tighter */
	body.tru-dark .forabg .topiclist .row .row-item .forumtitle {
		font-size: 13px !important;
		line-height: 1.25 !important;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-desc-text {
		font-size: 10.5px !important;
		line-height: 1.3 !important;
		margin-top: 1px !important;
		-webkit-line-clamp: 2;
	}
	body.tru-dark .forabg .topiclist .row .row-item .forum-new-badge {
		font-size: 8px !important;
		padding: 1px 4px !important;
		letter-spacing: 0.06em !important;
	}
	/* Threads/messages counts -- inline + compact */
	body.tru-dark .forabg .topiclist.forums > li.row dd.topics .forum-count,
	body.tru-dark .forabg .topiclist.forums > li.row dd.posts .forum-count {
		font-size: 10px !important;
		font-weight: 700 !important;
		color: var(--ink-2) !important;
		margin-right: 2px;
	}
	body.tru-dark .forabg .topiclist.forums > li.row dd.topics dfn,
	body.tru-dark .forabg .topiclist.forums > li.row dd.posts dfn {
		position: static !important;
		clip: auto !important;
		clip-path: none !important;
		width: auto !important;
		height: auto !important;
		font-style: normal !important;
		font-weight: 400 !important;
		font-size: 9.5px !important;
		color: var(--ink-3) !important;
		text-transform: lowercase !important;
		letter-spacing: 0.02em !important;
	}
	/* Smaller spacing between rows */
	body.tru-dark .forabg .topiclist .row {
		margin-bottom: 3px !important;
	}
	/* Section headers tighter */
	body.tru-dark .forabg .topiclist > li.header .row-item,
	body.tru-dark .forabg > .header .row-item {
		padding: 8px 12px !important;
	}
	body.tru-dark .forabg .topiclist > li.header dt,
	body.tru-dark .forabg > .header dt {
		font-size: 10.5px !important;
		letter-spacing: 0.14em !important;
	}
}

/* === 5. SLIDEOUT GUARANTEED RIGHT-ANCHORED ================================ */
/* If the previous CSS load was cached, reinforce the right-anchor with the
   highest-specificity selectors so there's no chance the old left:-300px
   transition wins. */
body.tru-dark[class] #tr-mobile-menu {
	left: auto !important;
	right: -340px !important;
	transition: right 0.28s ease !important;
}
body.tru-dark[class] #tr-mobile-menu.open {
	left: auto !important;
	right: 0 !important;
}

/* ===== END PHASE 4 SESSION 22 -- MOBILE OVERHAUL PART 3 =================== */


/* ===========================================================================
   PHASE 4 SESSION 23 -- MOBILE OVERHAUL PART 4
   ===========================================================================
   Issues this fixes (per Ali's S22 follow-up screenshots):
     1. Last post preview STILL hidden on forum rows. ROOT CAUSE FOUND: there
        is an existing rule at line ~5400:
          .tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost
            { display: none !important; }
        It has #page-body (an ID selector) which beats my S22 selectors
        that only had element + classes. Fix: include #page-body to match
        specificity, then add one extra class for the win.
     2. Forum-side mobile slideout STILL slides from left. The OLD rule at
        line 427 has !important on `left: -300px` and `transition: left`.
        My S22 attempted to override but the transition shorthand may not
        have replaced. Reinforce by killing ALL transition properties first,
        then setting only `right`-based transition. Use highest specificity.
     3. Breadcrumbs (Home > Board index > forum) -- Ali wants them GONE.
     4. Logout button in slideout was using --ink-3 (very dim) -- needs to
        be more visible. Switching to muted red tint.
     5. Sign In button misaligned vs Register button. Root cause: Sign In
        uses .forum-search-btn padding `0 22px` (no vertical padding) while
        Register uses .action-btn-primary padding `10px 18px`. Match them.
     6. Registration agreement page: terms text was using f-marg (Cormorant
        Garamond serif) at 16px which looks oversized + magazine-y on mobile.
        Switch to f-sans at 13px on mobile.
     7. Even tighter font/padding pass on forum index.
   =========================================================================== */

/* === 1. LASTPOST SUPER-FIX -- defeat #page-body specificity =============== */
@media (max-width: 768px) {
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_read dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_unread dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_read_subforum dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_unread_subforum dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_read_locked dd.lastpost,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_unread_locked dd.lastpost {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 4px 0 0 0 !important;
		margin: 0 !important;
		border: none !important;
		text-align: left !important;
		background: transparent !important;
	}
	/* Same trick for topics + posts on subforum rows */
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.topics,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.posts,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_read_subforum dd.topics,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_read_subforum dd.posts,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_unread_subforum dd.topics,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row.forum_unread_subforum dd.posts {
		display: inline-block !important;
		width: auto !important;
		padding: 0 !important;
		margin: 0 12px 0 0 !important;
		font-size: 9.5px !important;
		color: var(--ink-3) !important;
		text-align: left !important;
		border: none !important;
	}
	/* Inner styling for the visible lastpost block */
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost > span {
		display: block !important;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-inner {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-avatar {
		display: none !important;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-details {
		display: block !important;
		flex: 1;
		min-width: 0;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-subject {
		font-size: 11px !important;
		color: var(--ink-2) !important;
		display: block !important;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-time,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-author {
		font-size: 9.5px !important;
		color: var(--ink-3) !important;
		display: inline !important;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-time::after {
		content: " \00b7 ";
		color: var(--gold-3);
		margin: 0 4px;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .username-coloured,
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .lastpost-author a {
		color: var(--ink-2) !important;
	}
	body.tru-dark #page-body .forabg .topiclist.forums > li.row dd.lastpost .no-posts-yet {
		display: inline !important;
		font-size: 10.5px !important;
		color: var(--ink-3) !important;
		font-style: italic;
	}
}

/* === 2. HIDE BREADCRUMBS GLOBALLY (Ali wants them gone) =================== */
body.tru-dark li.breadcrumbs,
body.tru-dark .breadcrumbs {
	display: none !important;
}
/* On static pages -- if there's any equivalent breadcrumb element */
body.tru-dark .static-breadcrumb,
body.tru-dark nav.breadcrumb {
	display: none !important;
}

/* === 3. FORUM HAMBURGER RIGHT-SLIDE REINFORCEMENT ========================= */
/* Kill the legacy left-anim entirely with a maximum-specificity rule. */
html body.tru-dark[class] #tr-mobile-menu {
	left: auto !important;
	right: -340px !important;
	transition-property: right !important;
	transition-duration: 0.28s !important;
	transition-timing-function: ease !important;
	border-right: none !important;
	border-left: 1px solid var(--gold-3) !important;
}
html body.tru-dark[class] #tr-mobile-menu.open {
	left: auto !important;
	right: 0 !important;
}

/* === 4. LOGOUT BUTTON -- muted red, more visible ========================== */
body.tru-dark a.tr-mobile-logout,
body.tru-dark #tr-mobile-menu a.tr-mobile-logout {
	color: #c8645d !important;
	font-weight: 600 !important;
	margin-top: 10px !important;
	border-top: 1px solid #2a2a30 !important;
	background: rgba(184, 66, 61, 0.04) !important;
	letter-spacing: 0.04em !important;
}
body.tru-dark a.tr-mobile-logout:hover,
body.tru-dark #tr-mobile-menu a.tr-mobile-logout:hover {
	color: #d87a73 !important;
	background: rgba(184, 66, 61, 0.10) !important;
	padding-left: 22px !important;
}

/* === 5. SIGN IN BUTTON ALIGNMENT (match Register padding) ================= */
body.tru-dark a.action-btn-ghost,
body.tru-dark .login-prompt a.action-btn-ghost,
body.tru-dark .forum-search-btn.action-btn-ghost {
	padding: 10px 18px !important;
	font-size: 11px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	font-family: var(--f-sans) !important;
	border-radius: 2px !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
body.tru-dark a.action-btn-primary,
body.tru-dark .login-prompt a.action-btn-primary,
body.tru-dark .forum-search-btn.action-btn-primary {
	line-height: 1.4 !important;
}
/* Make the actions row align center cleanly */
body.tru-dark .login-prompt-actions {
	align-items: center !important;
}

/* === 6. REGISTRATION AGREEMENT -- mobile cleanup ========================== */
@media (max-width: 768px) {
	body.tru-dark .agreement {
		font-family: var(--f-sans) !important;
		font-size: 13px !important;
		line-height: 1.55 !important;
		font-style: normal !important;
		color: var(--ink-2) !important;
		padding: 14px 4px 6px 4px !important;
		max-height: 50vh !important;
	}
	body.tru-dark .agreement p {
		margin: 0 0 10px 0 !important;
		font-style: normal !important;
	}
	body.tru-dark .agreement p.agreement-text {
		font-style: normal !important;
	}
	/* The "Please review and accept the terms below" intro */
	body.tru-dark .panel .content > p,
	body.tru-dark .agreement-text {
		font-size: 13px !important;
	}
}

/* === 7. EVEN TIGHTER FORUM INDEX DENSITY ================================= */
@media (max-width: 768px) {
	body.tru-dark #page-body .forabg .topiclist .row .row-item {
		padding: 7px 10px !important;
		gap: 2px !important;
	}
	body.tru-dark #page-body .forabg .topiclist .row .row-item .forumtitle {
		font-size: 12.5px !important;
		line-height: 1.2 !important;
	}
	body.tru-dark #page-body .forabg .topiclist .row .row-item .forum-desc-text {
		font-size: 10px !important;
		line-height: 1.25 !important;
		margin-top: 1px !important;
		-webkit-line-clamp: 2;
	}
	body.tru-dark #page-body .forabg .topiclist .row {
		margin-bottom: 2px !important;
	}
	/* Section headers slightly tighter still */
	body.tru-dark #page-body .forabg .topiclist > li.header .row-item {
		padding: 7px 11px !important;
	}
	body.tru-dark #page-body .forabg .topiclist > li.header dt {
		font-size: 10px !important;
		letter-spacing: 0.14em !important;
	}
}

/* === 8. NEW STATIC-PAGE HAMBURGER (button + panel + JS) =================== */
/* Replaces the broken <details> approach. The panel is now a separate div
   that JS toggles, so we get outside-click-to-close, ESC-to-close, and a
   proper position:fixed slideout that isn't trapped by .topbar's
   backdrop-filter containing block. */
body.tru-dark .mobile-menu-trigger {
	display: none;
	background: rgba(201, 169, 97, 0.06);
	border: 1px solid var(--gold);
	border-radius: 2px;
	width: 42px;
	height: 38px;
	padding: 0;
	cursor: pointer;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	transition: all 0.15s ease;
}
body.tru-dark .mobile-menu-trigger span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--gold);
	border-radius: 1px;
	transition: all 0.15s ease;
}
body.tru-dark .mobile-menu-trigger:hover {
	background: rgba(201, 169, 97, 0.14);
	border-color: var(--gold-2);
}
body.tru-dark .mobile-menu-trigger:hover span {
	background: var(--gold-2);
}
/* Backdrop overlay (separate sibling so it can sit OUTSIDE .topbar) */
body.tru-dark .mobile-menu-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.62);
	z-index: 9998;
	animation: tr-mobile-fadein 0.2s ease;
}
body.tru-dark .mobile-menu-backdrop.is-open {
	display: block;
}
/* The actual slideout panel */
body.tru-dark .mobile-menu-panel {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 300px;
	max-width: 86vw;
	background: #1a1a1d;
	border-left: 1px solid var(--gold-3);
	box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45);
	z-index: 9999;
	overflow-y: auto;
	animation: tr-mobile-slidein 0.28s ease;
}
body.tru-dark .mobile-menu-panel.is-open {
	display: block;
}
body.tru-dark .mobile-menu-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 18px;
	background: rgba(201, 169, 97, 0.05);
	border-bottom: 1px solid var(--gold-3);
}
body.tru-dark .mobile-menu-panel-header img {
	height: 38px;
	width: auto;
}
body.tru-dark .mobile-menu-panel-close {
	background: transparent;
	border: 1px solid var(--gold-3);
	border-radius: 2px;
	color: var(--ink-2);
	font-size: 20px;
	width: 32px;
	height: 32px;
	padding: 0;
	line-height: 1;
	cursor: pointer;
	transition: all 0.15s ease;
}
body.tru-dark .mobile-menu-panel-close:hover {
	color: var(--gold);
	border-color: var(--gold);
	background: rgba(201, 169, 97, 0.08);
}
body.tru-dark .mobile-menu-panel nav {
	padding: 8px 0 24px 0;
}
body.tru-dark .mobile-menu-panel nav a {
	display: flex;
	align-items: center;
	padding: 13px 18px;
	font-family: var(--f-sans);
	font-size: 13.5px;
	font-weight: 500;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid #2a2a30;
	letter-spacing: 0.02em;
	transition: all 0.12s ease;
}
body.tru-dark .mobile-menu-panel nav a:last-child {
	border-bottom: 0;
}
body.tru-dark .mobile-menu-panel nav a:hover,
body.tru-dark .mobile-menu-panel nav a:focus {
	color: var(--gold);
	background: rgba(201, 169, 97, 0.06);
	padding-left: 22px;
}
body.tru-dark .mobile-menu-panel nav a .num {
	color: var(--gold);
	font-family: var(--f-marg);
	font-style: italic;
	font-size: 12px;
	margin-right: 14px;
	opacity: 0.85;
	min-width: 22px;
	display: inline-block;
}
/* Show the trigger only on mobile */
@media (max-width: 768px) {
	body.tru-dark .mobile-menu-trigger {
		display: inline-flex;
	}
	/* Hide the desktop nav on mobile */
	body.tru-dark .topbar-inner > .nav-links {
		display: none;
	}
}
/* Lock body scroll when panel is open */
body.tru-dark.mobile-menu-locked {
	overflow: hidden;
}

/* === 9. HIDE LEGACY <details> mobile-menu (replaced by new system) ======== */
body.tru-dark details.mobile-menu {
	display: none !important;
}

/* ===== END PHASE 4 SESSION 23 -- MOBILE OVERHAUL PART 4 =================== */


/* ===========================================================================
   PHASE 4 SESSION 24 -- MOBILE WIDTH OVERHAUL
   ===========================================================================
   Issues this fixes (per Ali's S23 follow-up screenshots):
     1. Forum index, viewforum, viewtopic, AND compose page all squish into
        ~70-75% of the viewport width on mobile. Right ~25% is empty page
        background showing the watermark. This is because:
          - .tru-dark #tr-page-wrap has padding: 12px (24px total)
          - .tru-dark .post-body has padding: 16px on mobile (32px total)
          - .tru-dark .post-card has 1px border (2px total)
          - .tru-dark .wrap has padding: 0 16px (32px total) on static pages
        Combined this eats 60-90px on a 360px screen = ~20% of viewport.
     2. Registration buttons -- "I DO NOT AGREE TO THESE TERMS" overflows
        the right edge. Root cause: min-width: 180px + padding: 13px 28px
        + letter-spacing: 0.18em on uppercase 26-char text, all sized in
        content-box. With 18% letter-spacing, this exceeds 360px viewport.
     3. Static-page hamburger not pinned to right edge -- the .topbar-inner
        grid on static pages becomes a 2-col grid on mobile, but the
        trigger lives in the SAME column as the hidden <details> element,
        so it floats free without explicit anchoring.
     4. Compose page POST ICON radios are in a fixed grid that doesn't
        flex-wrap nicely on narrow screens.
   =========================================================================== */

/* === 1. KILL HORIZONTAL PADDING / WIDTH CONSTRAINTS ON MOBILE ============= */
@media (max-width: 768px) {
	/* Outer page wrappers -- minimum padding so cards span full width */
	body.tru-dark #tr-page-wrap,
	html body.tru-dark[class] #tr-page-wrap {
		padding: 8px 4px !important;
		max-width: 100% !important;
	}
	body.tru-dark #tr-main-col,
	html body.tru-dark[class] #tr-main-col {
		padding: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}
	body.tru-dark #wrap,
	body.tru-dark #page-body {
		padding: 0 !important;
		margin: 0 !important;
		max-width: 100% !important;
	}

	/* Static pages use .wrap and .wrap-narrow as their primary container */
	body.tru-dark .wrap,
	body.tru-dark .wrap-narrow {
		padding: 0 6px !important;
		max-width: 100% !important;
	}

	/* Forum index containers -- no extra side padding */
	body.tru-dark .forabg,
	body.tru-dark .forumbg {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* All major containers get border-box so padding doesn't blow widths */
	body.tru-dark #tr-page-wrap,
	body.tru-dark #tr-main-col,
	body.tru-dark .wrap,
	body.tru-dark .wrap-narrow,
	body.tru-dark .post-card,
	body.tru-dark .post-body,
	body.tru-dark .forabg,
	body.tru-dark .forumbg,
	body.tru-dark .panel,
	body.tru-dark .panel > .inner,
	body.tru-dark fieldset,
	body.tru-dark input,
	body.tru-dark textarea,
	body.tru-dark button {
		box-sizing: border-box !important;
	}
}

/* === 2. POST CARD -- USE FULL WIDTH ON MOBILE ============================= */
@media (max-width: 768px) {
	/* Tighter post body padding -- was 16px each side, now 12px */
	body.tru-dark .post-card .post-body,
	html body.tru-dark[class] .post-card .post-body {
		padding: 14px 12px !important;
	}
	body.tru-dark .post-card,
	html body.tru-dark[class] .post-card {
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-bottom: 10px !important;
	}
	/* Author panel on first-post card -- tighter horizontal padding */
	body.tru-dark .post-card.post-first .post-author-panel,
	html body.tru-dark[class] .post-card.post-first .post-author-panel {
		padding: 10px 12px !important;
	}
	/* Reply card author row -- compact */
	body.tru-dark .post-card.post-reply .post-head,
	html body.tru-dark[class] .post-card.post-reply .post-head {
		padding: 10px 12px 0 12px !important;
	}
	/* Long words / URLs in post content shouldn't blow widths */
	body.tru-dark .post-content,
	body.tru-dark .post-body p,
	body.tru-dark .post-body div {
		overflow-wrap: break-word !important;
		word-wrap: break-word !important;
		max-width: 100% !important;
	}
	body.tru-dark .post-body img,
	body.tru-dark .post-body iframe {
		max-width: 100% !important;
		height: auto !important;
	}
}

/* === 3. PANELS (registration / login / agreement / etc) ================= */
@media (max-width: 768px) {
	body.tru-dark #page-body > .panel,
	body.tru-dark form#register .panel,
	body.tru-dark form#agreement .panel,
	body.tru-dark form#login .panel,
	body.tru-dark form#confirm .panel {
		margin-left: 4px !important;
		margin-right: 4px !important;
		max-width: calc(100% - 8px) !important;
	}
	body.tru-dark form#register .panel > .inner,
	body.tru-dark form#agreement .panel > .inner,
	body.tru-dark form#login .panel > .inner,
	body.tru-dark form#confirm .panel > .inner {
		padding: 18px 14px !important;
	}
}

/* === 4. AGREEMENT BUTTONS -- FIX OVERFLOW =============================== */
@media (max-width: 768px) {
	/* Force the long button text to fit. Three things together: drop
	   letter-spacing, force border-box, and allow word-break. */
	body.tru-dark form#agreement input[type="submit"].button1,
	body.tru-dark form#agreement input[type="submit"].button2,
	body.tru-dark form#agreement input[name="agreed"],
	body.tru-dark form#agreement input[name="not_agreed"],
	body.tru-dark form#agreement input[name="coppa_yes"],
	body.tru-dark form#agreement input[name="coppa_no"],
	body.tru-dark form#register input[type="submit"].button1,
	body.tru-dark form#register input[type="submit"].button2 {
		min-width: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		padding: 13px 14px !important;
		font-size: 11px !important;
		letter-spacing: 0.08em !important;
		white-space: normal !important;
		box-sizing: border-box !important;
		text-overflow: clip !important;
	}
	/* Container + fieldset for the buttons */
	body.tru-dark form#agreement fieldset.submit-buttons,
	body.tru-dark form#register fieldset.submit-buttons {
		padding: 0 !important;
		margin: 12px 0 0 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* === 5. STATIC PAGE HAMBURGER -- PIN TO RIGHT EDGE ====================== */
@media (max-width: 768px) {
	/* On mobile, switch .topbar-inner from grid to flex so we can pin
	   the hamburger to the right with margin-left: auto */
	body.tru-dark .topbar-inner,
	html body.tru-dark[class] .topbar-inner {
		display: flex !important;
		grid-template-columns: none !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 10px 12px !important;
		gap: 0 !important;
	}
	/* Hide desktop nav on mobile */
	body.tru-dark .topbar-inner > .nav-links {
		display: none !important;
	}
	/* Logo stays first */
	body.tru-dark .topbar-inner > .logo-mark {
		flex: 0 0 auto !important;
	}
	/* New hamburger trigger -- always last, pinned to the right */
	body.tru-dark .topbar-inner > .mobile-menu-trigger {
		order: 99 !important;
		margin-left: auto !important;
		flex: 0 0 auto !important;
	}
	/* topbar-right (notifications/PMs on phpBB pages) sits before hamburger */
	body.tru-dark .topbar-inner > .topbar-right {
		order: 50 !important;
		margin-left: auto !important;
		gap: 6px !important;
	}
	/* Forum-side hamburger lives inside .topbar-right -- give it ordering */
	body.tru-dark .topbar-right > #tr-hamburger,
	body.tru-dark .topbar-right > .topbar-hamburger {
		order: 99 !important;
		margin-left: 6px !important;
	}
	/* Smaller logo on mobile so it doesn't crowd hamburger */
	body.tru-dark .topbar-inner .logo-mark img {
		height: 40px !important;
		max-height: 40px !important;
	}
}

/* === 6. COMPOSE PAGE -- POST ICON RADIOS FLEX-WRAP ====================== */
@media (max-width: 768px) {
	/* Find the post icon picker in posting form. phpBB renders these as
	   radios with a label + image pattern. Let them wrap freely. */
	body.tru-dark fieldset.fields1 dl > dt,
	body.tru-dark form#postform dl > dt {
		float: none !important;
		width: 100% !important;
		margin-bottom: 6px !important;
	}
	body.tru-dark fieldset.fields1 dl > dd,
	body.tru-dark form#postform dl > dd {
		margin-left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Radio button rows for post icons */
	body.tru-dark fieldset.fields1 dl.post-icon-grid,
	body.tru-dark form#postform .post-icon-grid,
	body.tru-dark form#postform fieldset[id*="icon"] dd,
	body.tru-dark form#postform .post-icons {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
		justify-content: flex-start !important;
	}
	/* Subject + content fields full width */
	body.tru-dark form#postform input[type="text"],
	body.tru-dark form#postform textarea,
	body.tru-dark #message-box textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	/* Submit/preview button row */
	body.tru-dark form#postform fieldset.submit-buttons,
	body.tru-dark form#postform .submit-buttons {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}
	body.tru-dark form#postform .submit-buttons input[type="submit"] {
		flex: 1 !important;
		min-width: 120px !important;
	}
}

/* === 7. FORUM INDEX + VIEWFORUM -- FULL WIDTH USE ======================= */
@media (max-width: 768px) {
	/* Force forum row cards to span full available width */
	body.tru-dark #page-body .forabg,
	body.tru-dark #page-body .forumbg {
		width: 100% !important;
		max-width: 100% !important;
	}
	body.tru-dark #page-body .forabg .topiclist .row,
	body.tru-dark #page-body .forumbg .topiclist .row {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	/* Subbar quick-links edge-to-edge */
	body.tru-dark .subbar-inner {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}

/* === 8. PREVENT HORIZONTAL SCROLL anywhere on mobile ===================== */
@media (max-width: 768px) {
	html body.tru-dark,
	body.tru-dark #wrap,
	body.tru-dark #tr-page-wrap,
	body.tru-dark #tr-main-col,
	body.tru-dark #page-body {
		overflow-x: hidden !important;
		max-width: 100vw !important;
	}
}

/* ===== END PHASE 4 SESSION 24 -- MOBILE WIDTH OVERHAUL =================== */


/* ===========================================================================
   PHASE 4 SESSION 25 -- FORUM HAMBURGER FINAL FIX
   ===========================================================================
   THE BUG: Forum-side mobile slideout is rendering as a block element in
   document flow, pushing the page content down instead of overlaying as a
   fixed slideout.

   ROOT CAUSE: Line 15990 has this rule (added in an earlier session to
   solve a watermark z-index issue):
       .tru-dark .topbar,
       .tru-dark .subbar,
       .tru-dark #tr-breadcrumb,
       .tru-dark #tr-page-wrap,
       .tru-dark #tr-mobile-menu,         <-- THE PROBLEM
       .tru-dark #tr-mobile-overlay {     <-- AND THIS
           position: relative !important;
           z-index: 1 !important;
       }
   That rule's specificity (0,1,1,0) beats the legacy rule at line 427
   `#tr-mobile-menu { position: fixed !important }` which is only (0,1,0,0).
   So the slideout becomes `position: relative` and renders in document flow.

   FIX: Override with even higher specificity, forcing `position: fixed`
   on both the menu and the overlay so they properly overlay the viewport.
   =========================================================================== */

/* Force the slideout + overlay to be fixed-position regardless of any
   z-index/stacking-context rules above. Uses html + body.tru-dark[class] +
   id selectors for max specificity. */
html body.tru-dark[class] #tr-mobile-menu {
	position: fixed !important;
	top: 0 !important;
	bottom: 0 !important;
	height: 100vh !important;
	height: 100dvh !important;
	z-index: 9999 !important;
}
html body.tru-dark[class] #tr-mobile-overlay {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	z-index: 9998 !important;
	background: rgba(0, 0, 0, 0.62) !important;
	display: none !important;
}
html body.tru-dark[class] #tr-mobile-overlay.open {
	display: block !important;
}

/* Re-assert closed/open positions now that position: fixed sticks */
html body.tru-dark[class] #tr-mobile-menu {
	left: auto !important;
	right: -340px !important;
	transition: right 0.28s ease !important;
}
html body.tru-dark[class] #tr-mobile-menu.open {
	left: auto !important;
	right: 0 !important;
}

/* When slideout is open, prevent the page underneath from scrolling */
html body.tru-dark.mobile-menu-locked,
body.tru-dark.mobile-menu-locked {
	overflow: hidden !important;
	position: fixed !important;
	width: 100% !important;
}

/* === HAMBURGER BUTTON -- PIN ABSOLUTELY TO THE RIGHT EDGE OF TOPBAR ===== */
/* Reinforcement of S24 with even higher specificity, in case the topbar-right
   container isn't anchoring itself properly. */
@media (max-width: 768px) {
	html body.tru-dark[class] .topbar-inner {
		display: flex !important;
		flex-wrap: nowrap !important;
		grid-template-columns: none !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 8px 10px !important;
		gap: 6px !important;
		max-width: 100% !important;
	}
	/* Logo: don't grow, just take its natural size */
	html body.tru-dark[class] .topbar-inner > .logo-mark {
		flex: 0 0 auto !important;
		margin-right: auto !important;
	}
	/* topbar-right (containing the hamburger on forum pages): pin right */
	html body.tru-dark[class] .topbar-inner > .topbar-right {
		flex: 0 0 auto !important;
		margin-left: 0 !important;
		display: flex !important;
		align-items: center !important;
		gap: 6px !important;
	}
	/* Static-page mobile-menu-trigger button: also pin right */
	html body.tru-dark[class] .topbar-inner > .mobile-menu-trigger {
		flex: 0 0 auto !important;
		margin-left: auto !important;
		order: 99 !important;
	}
	/* Forum-side hamburger: it's INSIDE topbar-right, last child */
	html body.tru-dark[class] .topbar-right > #tr-hamburger,
	html body.tru-dark[class] .topbar-right > .topbar-hamburger {
		order: 99 !important;
		flex: 0 0 auto !important;
		margin: 0 0 0 6px !important;
	}
	/* Hide nav-links + legacy details on mobile so nothing competes for space */
	html body.tru-dark[class] .topbar-inner > .nav-links {
		display: none !important;
	}
	html body.tru-dark[class] .topbar-inner > details.mobile-menu {
		display: none !important;
	}
}

/* ===== END PHASE 4 SESSION 25 -- FORUM HAMBURGER FINAL FIX =============== */


/* ===========================================================================
   PHASE 4 SESSION 26 -- MEMBERLIST FIXES
   ===========================================================================
   1. Members count display: new <p class="memberlist-total"> in the masthead
      below the "The Members" title. Renders TOTAL_USERS (e.g. "42 users").
   2. Alphabet filter -- template hrefs were switched from
      {S_MODE_ACTION}&first_char=X to direct ./memberlist.php?first_char=X
      so they always work regardless of S_MODE_ACTION state.
   =========================================================================== */

/* Members total -- italic serif tagline under the masthead title */
.tru-dark .memberlist-total {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-size: 17px !important;
	color: var(--ink-3) !important;
	margin: 8px 0 0 0 !important;
	padding: 0 !important;
	letter-spacing: 0.01em !important;
}

@media (max-width: 720px) {
	.tru-dark .memberlist-total {
		font-size: 14px !important;
	}
}

/* ===== END PHASE 4 SESSION 26 -- MEMBERLIST FIXES ======================== */


/* ============================================================================
   PHASE 4 SESSION 27 -- AD SLOT SYSTEM
   11 slot containers across forum index / viewforum / viewtopic.
   Two tiers (Featured + Standard). House-ad fallback when no paid ad fills
   the slot (pure HTML/CSS, no image needed). Sizes: leaderboard
   (728x90 desktop, 320x50 mobile), rectangle (300x250).
   ============================================================================ */

/* Slot container -- invisible until JS adds .tr-ad-slot-rendered. Prevents
   layout shift on slow connections (the empty box reserves nothing). */
.tru-dark .tr-ad-slot {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	position: relative;
	z-index: 2;
}

.tru-dark .tr-ad-slot:not(.tr-ad-slot-rendered) {
	min-height: 0;
}

.tru-dark .tr-ad-slot-rendered {
	margin: 22px auto;
}

/* Sidebar rectangle sits inside the OG500 aside -- tighter top margin */
.tru-dark .forum-sidebar .tr-ad-slot-rendered {
	margin: 18px auto 0 auto;
}

/* Featured rectangle after first post in viewtopic gets extra breathing room */
.tru-dark .tr-ad-slot-postmid.tr-ad-slot-rendered {
	margin: 26px auto 30px auto;
}

/* Paid-ad image link -- centers and sizes the image */
.tru-dark .tr-ad-link {
	display: inline-block;
	max-width: 100%;
	line-height: 0;
	border: 1px solid var(--line);
	background: var(--paper);
	transition: border-color 0.18s ease;
}

.tru-dark .tr-ad-link:hover {
	border-color: var(--gold-3);
	text-decoration: none;
}

.tru-dark .tr-ad-link img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* "Sponsored" disclosure label below paid ads. Required by FTC for transparency. */
.tru-dark .tr-ad-disclosure {
	display: block;
	font-family: var(--f-sans);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-top: 6px;
}

/* ----- HOUSE AD (fallback when no paid ad fills the slot) ----- */

.tru-dark .tr-ad-house {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	width: 100%;
	max-width: 728px;
	margin: 0 auto;
	padding: 18px 28px;
	background: var(--paper);
	border: 1px solid var(--line-2);
	border-left: 3px solid var(--gold);
	color: var(--ink);
	text-decoration: none;
	transition: background 0.18s ease, border-color 0.18s ease;
}

.tru-dark .tr-ad-house:hover {
	background: var(--paper-2);
	border-color: var(--line-3);
	border-left-color: var(--gold-2);
	text-decoration: none;
}

.tru-dark .tr-ad-house-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
}

.tru-dark .tr-ad-house-pitch {
	font-family: var(--f-marg);
	font-size: 18px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.35;
	color: var(--ink);
}

.tru-dark .tr-ad-house-cta {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-top: 2px;
}

.tru-dark .tr-ad-house:hover .tr-ad-house-cta {
	color: var(--gold);
}

/* House-ad leaderboard variant -- horizontal layout, fixed aspect */
.tru-dark .tr-ad-house-leaderboard {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	max-width: 728px;
	min-height: 90px;
	padding: 14px 24px;
}

.tru-dark .tr-ad-house-leaderboard .tr-ad-house-pitch {
	flex: 1 1 auto;
	font-size: 16px;
	margin: 0 12px;
}

.tru-dark .tr-ad-house-leaderboard .tr-ad-house-kicker {
	flex: 0 0 auto;
}

.tru-dark .tr-ad-house-leaderboard .tr-ad-house-cta {
	flex: 0 0 auto;
	margin-top: 0;
	white-space: nowrap;
}

/* House-ad rectangle variant -- vertical, taller, more pitch space */
.tru-dark .tr-ad-house-rectangle {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	max-width: 300px;
	min-height: 250px;
	padding: 26px 22px;
}

.tru-dark .tr-ad-house-rectangle .tr-ad-house-pitch {
	font-size: 22px;
	line-height: 1.3;
}

/* ----- MOBILE TUNING (<= 720px) ----- */
@media (max-width: 720px) {
	.tru-dark .tr-ad-slot-rendered {
		margin: 16px auto;
	}

	.tru-dark .tr-ad-slot-postmid.tr-ad-slot-rendered {
		margin: 18px auto 22px auto;
	}

	/* Leaderboards collapse to 320x50-ish on mobile */
	.tru-dark .tr-ad-house-leaderboard {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		min-height: 0;
		padding: 14px 16px;
	}

	.tru-dark .tr-ad-house-leaderboard .tr-ad-house-pitch {
		font-size: 14px;
		margin: 0;
	}

	.tru-dark .tr-ad-house-leaderboard .tr-ad-house-kicker {
		font-size: 9px;
	}

	.tru-dark .tr-ad-house-leaderboard .tr-ad-house-cta {
		font-size: 10px;
	}

	/* Rectangles stay more compact on mobile */
	.tru-dark .tr-ad-house-rectangle {
		max-width: 100%;
		min-height: 200px;
		padding: 22px 18px;
	}

	.tru-dark .tr-ad-house-rectangle .tr-ad-house-pitch {
		font-size: 19px;
	}

	.tru-dark .tr-ad-disclosure {
		font-size: 8px;
	}
}

/* ===== END PHASE 4 SESSION 27 -- AD SLOT SYSTEM ========================== */

/* ============================================================================
   PHASE 4 SESSION 28 -- /spot/ NAMESPACE + MASTHEAD SPLIT + LATEST POSTS BOX
   --------------------------------------------------------------------------
   Renames tr-ad-* classes to tr-spot-* (adblock evasion: most filter lists
   match on /ads/, ad-, advert-, etc.; "spot" is not on common blocklists).
   The old tr-ad-* CSS in S27 above is left in place but no longer referenced
   by any template -- safe to delete on a future cleanup pass.

   New layout: masthead becomes 2 columns -- title block left + 3 stacked
   leaderboard promos right. Sidebar grows to OG500 + sidebar-1 + Latest Posts
   box + sidebar-2/3/4. Latest Posts box is TERB-style: thread title, "Latest:
   <user> -- X mins ago", forum breadcrumb, circular avatar letter.

   Also fixes ghost-link bug: user-menu-dropdown now has pointer-events:none
   when closed so hidden links don't capture clicks.
   ============================================================================ */

/* ----- DROPDOWN GHOST-LINK FIX ----- */
/* visibility:hidden alone does not always block click capture in all browsers,
   especially when the dropdown overlaps content via absolute positioning. Add
   explicit pointer-events guards. */
.tru-dark .topbar-right .user-menu-dropdown {
	pointer-events: none;
}
.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown {
	pointer-events: auto;
}

/* ----- SPOT SLOT CONTAINER (mirrors S27 tr-ad-slot rules) ----- */
body.tru-dark .tr-spot-slot {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	position: relative;
	z-index: 2;
}

body.tru-dark .tr-spot-slot:not(.tr-spot-slot-rendered) {
	min-height: 0;
}

body.tru-dark .tr-spot-slot-rendered {
	margin: 22px auto;
}

/* Sidebar rectangles get tighter spacing -- they stack inside the aside */
body.tru-dark .forum-sidebar .tr-spot-slot-rendered {
	margin: 18px auto 0 auto;
}

/* Featured rectangle after first post in viewtopic gets extra breathing room */
body.tru-dark .tr-spot-slot-postmid.tr-spot-slot-rendered {
	margin: 26px auto 30px auto;
}

/* Paid-promo image link */
body.tru-dark .tr-spot-link {
	display: inline-block;
	max-width: 100%;
	line-height: 0;
	border: 1px solid var(--line);
	background: var(--paper);
	transition: border-color 0.18s ease;
}

body.tru-dark .tr-spot-link:hover {
	border-color: var(--gold-3);
	text-decoration: none;
}

body.tru-dark .tr-spot-link img {
	display: block;
	max-width: 100%;
	height: auto;
}

/* "Sponsored" disclosure label -- FTC transparency */
body.tru-dark .tr-spot-disclosure {
	display: block;
	font-family: var(--f-sans);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ink-3);
	margin-top: 6px;
}

/* ----- HOUSE PROMO (fallback when no paid item fills the slot) ----- */
body.tru-dark .tr-spot-house {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 6px;
	width: 100%;
	max-width: 728px;
	margin: 0 auto;
	padding: 18px 28px;
	background: var(--paper);
	border: 1px solid var(--line-2);
	border-left: 3px solid var(--gold);
	color: var(--ink);
	text-decoration: none;
	transition: background 0.18s ease, border-color 0.18s ease;
}

body.tru-dark .tr-spot-house:hover {
	background: var(--paper-2);
	border-color: var(--line-3);
	border-left-color: var(--gold-2);
	text-decoration: none;
}

body.tru-dark .tr-spot-house-kicker {
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
}

body.tru-dark .tr-spot-house-pitch {
	font-family: var(--f-marg);
	font-size: 18px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.35;
	color: var(--ink);
}

body.tru-dark .tr-spot-house-cta {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin-top: 2px;
}

body.tru-dark .tr-spot-house:hover .tr-spot-house-cta {
	color: var(--gold);
}

/* Leaderboard variant -- horizontal layout */
body.tru-dark .tr-spot-house-leaderboard {
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	max-width: 728px;
	min-height: 90px;
	padding: 14px 24px;
}

body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-pitch {
	flex: 1 1 auto;
	font-size: 16px;
	margin: 0 12px;
}

body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-kicker {
	flex: 0 0 auto;
}

body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-cta {
	flex: 0 0 auto;
	margin-top: 0;
	white-space: nowrap;
}

/* Rectangle variant -- vertical, taller */
body.tru-dark .tr-spot-house-rectangle {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 10px;
	max-width: 300px;
	min-height: 250px;
	padding: 26px 22px;
}

body.tru-dark .tr-spot-house-rectangle .tr-spot-house-pitch {
	font-size: 22px;
	line-height: 1.3;
}

/* ----- MASTHEAD SPLIT LAYOUT (2-column) -----
   Left column: BOARD INDEX kicker, "The Forums." title, tagline, search.
   Right column: 3 stacked compact leaderboard promos. */
body.tru-dark .forum-masthead-split {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: 32px;
}

body.tru-dark .forum-masthead-split .forum-masthead-content {
	flex: 1 1 60%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

body.tru-dark .forum-masthead-split .forum-masthead-promos {
	flex: 0 0 38%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 10px;
	max-width: 340px;
}

/* Compact masthead promo slot -- shorter than a standard 728x90 leaderboard
   so 3 of them stack inside the masthead without ballooning vertical height. */
body.tru-dark .tr-spot-slot-masthead.tr-spot-slot-rendered {
	margin: 0;
	min-height: 80px;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-link {
	width: 100%;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-link img {
	width: 100%;
	max-height: 90px;
	object-fit: cover;
}

/* House-promo styling tightens up inside the masthead -- smaller padding,
   shorter pitch, single-line CTA. */
body.tru-dark .tr-spot-slot-masthead .tr-spot-house {
	min-height: 80px;
	padding: 10px 16px;
	gap: 4px;
	max-width: 100%;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-house-leaderboard {
	min-height: 80px;
	padding: 10px 16px;
	gap: 8px;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-house-pitch {
	font-size: 13px;
	line-height: 1.25;
	margin: 0 6px;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-house-kicker {
	font-size: 9px;
	letter-spacing: 0.18em;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-house-cta {
	font-size: 10px;
	letter-spacing: 0.12em;
}

body.tru-dark .tr-spot-slot-masthead .tr-spot-disclosure {
	font-size: 8px;
	margin-top: 3px;
}

/* ----- LATEST POSTS BOX (TERB-style) -----
   Sits in the homepage sidebar between sidebar-1 and sidebar-2 promo slots.
   Each row: small circular avatar with the poster's first letter, then a
   2-line block: thread title + "Latest: <user> -- time ago" + forum name. */
body.tru-dark .tr-spot-recent {
	display: block;
	margin: 18px 0 0 0;
	padding: 0;
	background: var(--paper);
	border: 1px solid var(--line-2);
	border-left: 3px solid var(--gold);
	min-height: 60px;
	position: relative;
	z-index: 2;
}

body.tru-dark .tr-spot-recent:not(.tr-recent-rendered) {
	min-height: 0;
	border: 0;
	background: transparent;
}

body.tru-dark .tr-recent-head {
	padding: 12px 16px 10px 16px;
	border-bottom: 1px solid var(--line);
	background: var(--paper-2);
}

body.tru-dark .tr-recent-title {
	display: block;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
}

body.tru-dark .tr-recent-list {
	display: block;
	padding: 4px 0;
}

body.tru-dark .tr-recent-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 14px;
	text-decoration: none;
	color: var(--ink);
	border-bottom: 1px solid var(--line);
	transition: background 0.15s ease;
}

body.tru-dark .tr-recent-row:last-child {
	border-bottom: 0;
}

body.tru-dark .tr-recent-row:hover {
	background: var(--paper-2);
	text-decoration: none;
}

body.tru-dark .tr-recent-avatar {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gold-wash);
	border: 1px solid var(--gold-3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--f-sans);
	font-size: 12px;
	font-weight: 700;
	color: var(--gold-2);
	letter-spacing: 0;
	text-transform: uppercase;
	margin-top: 1px;
}

body.tru-dark .tr-recent-row:hover .tr-recent-avatar {
	border-color: var(--gold-2);
	color: var(--gold);
}

body.tru-dark .tr-recent-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.tru-dark .tr-recent-title-row {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: var(--f-marg);
	font-size: 14px;
	font-weight: 500;
	font-style: italic;
	line-height: 1.3;
	color: var(--ink);
}

body.tru-dark .tr-recent-row:hover .tr-recent-title-row {
	color: var(--gold-2);
}

body.tru-dark .tr-recent-meta {
	display: block;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--ink-3);
	line-height: 1.4;
}

body.tru-dark .tr-recent-meta strong {
	font-weight: 600;
	color: var(--ink-2);
}

body.tru-dark .tr-recent-forum {
	display: block;
	font-family: var(--f-sans);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold-3);
	line-height: 1.3;
	margin-top: 1px;
}

body.tru-dark .tr-recent-row:hover .tr-recent-forum {
	color: var(--gold);
}

body.tru-dark .tr-recent-empty {
	padding: 18px 16px;
	font-family: var(--f-sans);
	font-size: 12px;
	font-style: italic;
	color: var(--ink-3);
	text-align: center;
}

/* ----- MOBILE TUNING (<= 720px) ----- */
@media (max-width: 720px) {
	body.tru-dark .tr-spot-slot-rendered {
		margin: 16px auto;
	}

	body.tru-dark .tr-spot-slot-postmid.tr-spot-slot-rendered {
		margin: 18px auto 22px auto;
	}

	/* Masthead collapses to single column. The 3 promos move below the
	   title/tagline/search block instead of beside it. */
	body.tru-dark .forum-masthead-split {
		flex-direction: column;
		gap: 18px;
	}

	body.tru-dark .forum-masthead-split .forum-masthead-content,
	body.tru-dark .forum-masthead-split .forum-masthead-promos {
		flex: 1 1 auto;
		max-width: 100%;
	}

	body.tru-dark .forum-masthead-split .forum-masthead-promos {
		flex-direction: column;
		gap: 10px;
	}

	body.tru-dark .tr-spot-slot-masthead.tr-spot-slot-rendered {
		min-height: 70px;
	}

	/* Leaderboard house-promos collapse to vertical mobile layout */
	body.tru-dark .tr-spot-house-leaderboard {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
		min-height: 0;
		padding: 14px 16px;
	}

	body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-pitch {
		font-size: 14px;
		margin: 0;
	}

	body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-kicker {
		font-size: 9px;
	}

	body.tru-dark .tr-spot-house-leaderboard .tr-spot-house-cta {
		font-size: 10px;
	}

	body.tru-dark .tr-spot-house-rectangle {
		max-width: 100%;
		min-height: 200px;
		padding: 22px 18px;
	}

	body.tru-dark .tr-spot-house-rectangle .tr-spot-house-pitch {
		font-size: 19px;
	}

	body.tru-dark .tr-spot-disclosure {
		font-size: 8px;
	}

	/* Latest Posts box mobile -- slightly tighter padding, smaller avatar */
	body.tru-dark .tr-spot-recent {
		margin: 14px 0 0 0;
	}

	body.tru-dark .tr-recent-head {
		padding: 10px 14px 8px 14px;
	}

	body.tru-dark .tr-recent-row {
		padding: 9px 12px;
		gap: 9px;
	}

	body.tru-dark .tr-recent-avatar {
		flex: 0 0 26px;
		width: 26px;
		height: 26px;
		font-size: 11px;
	}

	body.tru-dark .tr-recent-title-row {
		font-size: 13px;
	}
}

/* ===== END PHASE 4 SESSION 28 -- /spot/ NAMESPACE + MASTHEAD + LATEST POSTS = */


/* ============================================================================
   PHASE 4 SESSION 28 PATCH 1 -- post-deploy fixes
   --------------------------------------------------------------------------
   1. Ghost-link bug v2: original S22 dropdown opens on :hover, my first
      pointer-events guard re-enabled clicks via the same :hover trigger when
      cursor crossed the absolute-positioned dropdown area while it was
      mid-transition out. Drive the open/closed state purely from .is-open
      (the click-toggle class added by the JS in overall_header.html), and
      neutralise the legacy hover/focus-within triggers.
   2. Masthead promos were squished into a 340px right column -- house ads
      wrapped to vertical layout. Widen the column so the 3 leaderboards
      stretch like real 728x90 banners starting near the page midline.
   3. Sidebar grew from 4 promo slots to 8 (sidebar-1 through sidebar-8)
      -- the new slots inherit the existing .tr-spot-slot styling, no new
      CSS needed beyond what's already in S28.
   ============================================================================ */

/* ----- DROPDOWN GHOST-LINK FIX v2 ----- */
/* Reset the legacy hover/focus-within open triggers to closed-state values
   so hover never reveals or activates the dropdown. */
body.tru-dark .topbar-right .user-menu:hover .user-menu-dropdown,
body.tru-dark .topbar-right .user-menu:focus-within .user-menu-dropdown {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	pointer-events: none;
}
body.tru-dark .topbar-right .user-menu:hover .user-handle-caret,
body.tru-dark .topbar-right .user-menu:focus-within .user-handle-caret {
	color: var(--gold-3);
	transform: none;
}

/* Open state -- driven by .is-open class from the click-toggle JS. */
body.tru-dark .topbar-right .user-menu.is-open .user-menu-dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
body.tru-dark .topbar-right .user-menu.is-open .user-handle-caret {
	color: var(--gold);
	transform: rotate(180deg);
}

/* ----- MASTHEAD WIDTH FIX ----- */
/* Title block shrinks, promos column expands to ~56% so each leaderboard
   gets ~700-800px of width on a 1480px page -- proper banner shape. */
body.tru-dark .forum-masthead-split .forum-masthead-content {
	flex: 0 0 42%;
}
body.tru-dark .forum-masthead-split .forum-masthead-promos {
	flex: 1 1 56%;
	max-width: none;
	gap: 12px;
}
body.tru-dark .tr-spot-slot-masthead.tr-spot-slot-rendered {
	min-height: 86px;
}
/* House promo inside masthead now has horizontal room -- bump pitch size
   back up slightly since wrapping is no longer a concern. */
body.tru-dark .tr-spot-slot-masthead .tr-spot-house-pitch {
	font-size: 14px;
	margin: 0 12px;
}
body.tru-dark .tr-spot-slot-masthead .tr-spot-house {
	padding: 12px 20px;
	min-height: 86px;
}
body.tru-dark .tr-spot-slot-masthead .tr-spot-house-leaderboard {
	padding: 12px 20px;
	min-height: 86px;
	gap: 14px;
}

/* Mobile: revert to single column -- both content and promos go full width. */
@media (max-width: 720px) {
	body.tru-dark .forum-masthead-split .forum-masthead-content,
	body.tru-dark .forum-masthead-split .forum-masthead-promos {
		flex: 1 1 auto;
		max-width: 100%;
	}
	body.tru-dark .tr-spot-slot-masthead.tr-spot-slot-rendered {
		min-height: 70px;
	}
	body.tru-dark .tr-spot-slot-masthead .tr-spot-house,
	body.tru-dark .tr-spot-slot-masthead .tr-spot-house-leaderboard {
		min-height: 70px;
		padding: 10px 14px;
	}
}

/* ===== END PHASE 4 SESSION 28 PATCH 1 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 -- REVIEW OF THE MONTH BANNER REDESIGN (v2)
   --------------------------------------------------------------------------
   Goal: make the headline contest banner the most eye-catching block on the
   homepage. The original layout was 2-column (text left, CTA right) with a
   small 32px title that did not earn the visual real estate. v2 stacks
   centered, dramatizes typography, and adds editorial ornaments:

     - "Vol. I -- Monthly Issue -- TruReview Editorial" wordmark above title
     - Title in italic Cormorant at clamp(48px, 8vw, 96px) -- HUGE
     - Lowercase "of the" treated as a smaller drop-line between Review/Month
     - Decorative flourish (rule + asterisk + rule) below title
     - Framed "Grand Prize -- A Free Session -- Agency of Your Choice" callout
     - CTA stays gold, slightly larger
     - Subtle gold shimmer pulse on the top ribbon (4s loop, respects
       prefers-reduced-motion)

   Modifier class .contest-band-v2 scopes everything so the original CSS
   (still in the file at lines ~16071 and ~17225) does not need to be touched
   and won't collide.

   The original rules at line ~17297 set .contest-band-content to flex row
   with horizontal layout. The v2 override flips it to centered column.
   ============================================================================ */

/* Container -- taller, more presence, dual gold accent borders */
body.tru-dark .contest-band.contest-band-v2 {
	flex-direction: column !important;
	align-items: center !important;
	text-align: center !important;
	gap: 0 !important;
	padding: 64px 56px 56px 56px !important;
	margin: 0 0 48px 0 !important;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(201,169,97,0.12) 0%, transparent 55%),
		radial-gradient(ellipse at 50% 100%, rgba(201,169,97,0.06) 0%, transparent 60%),
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	border-top: 4px solid var(--gold) !important;
	border-bottom: 4px solid var(--gold) !important;
	box-shadow:
		0 12px 48px rgba(0,0,0,0.55),
		inset 0 0 0 1px rgba(201,169,97,0.10),
		inset 0 0 100px rgba(201,169,97,0.04) !important;
}

/* Top ribbon -- bigger, centered, with shimmer */
body.tru-dark .contest-band.contest-band-v2 .contest-band-ribbon {
	top: -18px !important;
	padding: 9px 48px !important;
	font-size: 12px !important;
	letter-spacing: 0.24em !important;
	animation: contest-band-v2-shimmer 4s ease-in-out infinite !important;
}

@keyframes contest-band-v2-shimmer {
	0%, 100% {
		box-shadow:
			0 2px 8px rgba(0,0,0,0.4),
			inset 0 1px 0 rgba(255,255,255,0.4),
			inset 0 -1px 0 rgba(0,0,0,0.2),
			0 0 0 0 rgba(224,193,124,0);
	}
	50% {
		box-shadow:
			0 2px 12px rgba(0,0,0,0.4),
			inset 0 1px 0 rgba(255,255,255,0.5),
			inset 0 -1px 0 rgba(0,0,0,0.2),
			0 0 28px rgba(224,193,124,0.45);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.tru-dark .contest-band.contest-band-v2 .contest-band-ribbon {
		animation: none !important;
	}
}

/* Content column -- centered, no flex row */
body.tru-dark .contest-band.contest-band-v2 .contest-band-content {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	max-width: 900px !important;
	margin: 0 auto !important;
}

/* Edition wordmark -- "Vol. I -- Monthly Issue -- TruReview Editorial" */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	margin: 0 0 22px 0 !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.32em !important;
	text-transform: uppercase !important;
	color: var(--gold-2) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
	display: inline-block !important;
	width: 64px !important;
	height: 1px !important;
	background: var(--gold-3) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-text {
	font-style: normal !important;
	white-space: nowrap !important;
}

/* Kicker -- tighter, more deliberate spacing */
body.tru-dark .contest-band.contest-band-v2 .contest-band-kicker {
	margin: 0 0 16px 0 !important;
	font-size: 11px !important;
	letter-spacing: 0.32em !important;
	color: var(--gold) !important;
}

/* HUGE title -- italic Cormorant, dramatic */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	font-family: var(--f-marg) !important;
	font-size: clamp(48px, 8vw, 96px) !important;
	font-weight: 500 !important;
	font-style: italic !important;
	line-height: 0.95 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 22px 0 !important;
	padding: 0 !important;
	color: var(--ink) !important;
	text-shadow: 0 4px 24px rgba(0,0,0,0.5) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title .contest-band-title-of {
	display: inline-block !important;
	font-family: var(--f-marg) !important;
	font-size: 0.42em !important;
	font-style: italic !important;
	font-weight: 400 !important;
	color: var(--ink-3) !important;
	letter-spacing: 0.05em !important;
	text-transform: lowercase !important;
	transform: translateY(-0.45em) !important;
	margin: 0 0.05em !important;
	vertical-align: baseline !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title em {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-weight: 600 !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 50%, var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	text-shadow: 0 0 60px rgba(201,169,97,0.35) !important;
}

/* Flourish ornament -- rule + asterisk + rule, between title and body */
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 18px !important;
	margin: 0 0 24px 0 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-line {
	display: inline-block !important;
	width: 100px !important;
	height: 1px !important;
	background: linear-gradient(90deg, transparent 0%, var(--gold-3) 50%, transparent 100%) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-mark {
	color: var(--gold) !important;
	font-size: 14px !important;
	font-family: var(--f-serif), serif !important;
	line-height: 1 !important;
}

/* Body copy -- italic Cormorant, larger */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	font-family: var(--f-marg) !important;
	font-size: 19px !important;
	font-style: italic !important;
	line-height: 1.5 !important;
	color: var(--ink-2) !important;
	margin: 0 auto 30px auto !important;
	padding: 0 !important;
	max-width: 600px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body strong {
	color: var(--gold) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.005em !important;
}

/* Grand Prize callout -- framed block with double gold borders */
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	margin: 0 0 32px 0 !important;
	padding: 22px 44px !important;
	border: 1px solid var(--gold-3) !important;
	border-top: 2px solid var(--gold) !important;
	border-bottom: 2px solid var(--gold) !important;
	background: linear-gradient(180deg, rgba(201,169,97,0.06) 0%, rgba(201,169,97,0.02) 100%) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-label {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.32em !important;
	text-transform: uppercase !important;
	color: var(--gold-2) !important;
	margin: 0 0 6px 0 !important;
	line-height: 1 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-value {
	display: block !important;
	font-family: var(--f-marg) !important;
	font-size: 32px !important;
	font-style: italic !important;
	font-weight: 500 !important;
	line-height: 1.05 !important;
	color: var(--gold) !important;
	text-shadow: 0 0 28px rgba(201,169,97,0.3) !important;
	margin: 0 0 4px 0 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-sub {
	display: block !important;
	font-family: var(--f-sans) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	color: var(--ink-3) !important;
	line-height: 1 !important;
}

/* CTA -- slightly bigger, more presence */
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	padding: 16px 36px !important;
	font-size: 12px !important;
	letter-spacing: 0.22em !important;
}

/* Corner brackets -- thicker, more visible */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	width: 32px !important;
	height: 32px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl,
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr,
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl,
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
	border-width: 2px !important;
}

/* Mobile tuning */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 50px 22px 36px 22px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
		font-size: 9px !important;
		letter-spacing: 0.24em !important;
		gap: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
		width: 32px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		font-size: clamp(38px, 12vw, 60px) !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-line {
		width: 50px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		font-size: 16px !important;
		max-width: 100% !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-prize {
		padding: 18px 24px !important;
		margin-bottom: 26px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-value {
		font-size: 26px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
		padding: 14px 28px !important;
		font-size: 11px !important;
	}
}

/* ===== END PHASE 4 SESSION 29 -- REVIEW OF THE MONTH BANNER REDESIGN ====== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 1 -- size dial-back
   --------------------------------------------------------------------------
   Banner v2 came in roughly 2x too tall. Keep all the design elements
   (edition wordmark, big italic title, flourish, prize callout, corners,
   shimmer) but shrink the proportions back to ~original banner height.
   Also tighten the masthead 3-ad gap from 12px to 4px so the promo
   leaderboards stack more closely.
   ============================================================================ */

/* Banner: drop padding, kill the bottom margin push */
body.tru-dark .contest-band.contest-band-v2 {
	padding: 30px 44px 26px 44px !important;
	margin: 0 0 32px 0 !important;
}

/* Edition wordmark: smaller spacing */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	margin: 0 0 12px 0 !important;
	font-size: 9px !important;
	letter-spacing: 0.28em !important;
	gap: 12px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
	width: 48px !important;
}

/* Kicker: tighter */
body.tru-dark .contest-band.contest-band-v2 .contest-band-kicker {
	margin: 0 0 8px 0 !important;
	font-size: 10px !important;
	letter-spacing: 0.28em !important;
}

/* Title: back down to clamp(32px, 4vw, 48px) -- the original size */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	font-size: clamp(32px, 4vw, 48px) !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.0 !important;
}

/* Flourish: tighter */
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish {
	margin: 0 0 12px 0 !important;
	gap: 14px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-line {
	width: 70px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-mark {
	font-size: 12px !important;
}

/* Body copy: smaller, less margin */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	font-size: 15px !important;
	margin: 0 auto 16px auto !important;
	line-height: 1.45 !important;
}

/* Prize callout: compact */
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize {
	margin: 0 0 18px 0 !important;
	padding: 12px 32px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-label {
	font-size: 8.5px !important;
	letter-spacing: 0.28em !important;
	margin: 0 0 4px 0 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-value {
	font-size: 22px !important;
	margin: 0 0 3px 0 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-sub {
	font-size: 9px !important;
	letter-spacing: 0.16em !important;
}

/* CTA: trim back */
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	padding: 12px 26px !important;
	font-size: 11px !important;
	letter-spacing: 0.20em !important;
}

/* Corner brackets: scale back */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	width: 22px !important;
	height: 22px !important;
}

/* Mobile: re-tighten */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 28px 20px 22px 20px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		font-size: clamp(26px, 7vw, 38px) !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		font-size: 13.5px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-prize {
		padding: 12px 22px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-prize-value {
		font-size: 20px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish-line {
		width: 36px !important;
	}
}

/* ----- MASTHEAD 3-AD STACK TIGHTENING ----- */
/* S28 patch 1 set gap: 12px on the 3 stacked masthead leaderboards. Ali
   wants them closer together. Drop to 4px. */
body.tru-dark .forum-masthead-split .forum-masthead-promos {
	gap: 4px !important;
}

/* ===== END PHASE 4 SESSION 29 PATCH 1 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 2 -- COMPACT HORIZONTAL REIMAGINING
   --------------------------------------------------------------------------
   Patch 1 was still too tall. Rebuild as a single-row editorial strip:

     [ ribbon centered above ]
     [ STAR  REVIEW OF THE *MONTH*  |  italic body copy with prize details  |  [CTA] ]
     [ tiny edition wordmark below kicker ]

   - Hide .contest-band-flourish and .contest-band-prize entirely (the prize
     details fold into the body copy via the existing <strong> tag)
   - 3-column horizontal flex: title (with edition wordmark micro-line) /
     body / CTA
   - Total height target: ~90-100px including ribbon
   - Mobile collapses to vertical stack but still compact

   Also: tighten masthead 3-ad gap to 0 so the leaderboards sit flush.
   ============================================================================ */

/* Container: short, horizontal, contained padding */
body.tru-dark .contest-band.contest-band-v2 {
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	text-align: left !important;
	gap: 28px !important;
	padding: 18px 36px !important;
	margin: 0 0 24px 0 !important;
}

/* Ribbon: smaller, sits closer */
body.tru-dark .contest-band.contest-band-v2 .contest-band-ribbon {
	top: -12px !important;
	padding: 5px 30px !important;
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
}

/* Content row: 3 columns now */
body.tru-dark .contest-band.contest-band-v2 .contest-band-content {
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: nowrap !important;
	gap: 32px !important;
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	text-align: left !important;
}

/* Hide the elements that don't fit a horizontal compact layout */
body.tru-dark .contest-band.contest-band-v2 .contest-band-flourish,
body.tru-dark .contest-band.contest-band-v2 .contest-band-prize {
	display: none !important;
}

/* Edition wordmark: shrunken micro-caps line, sits ABOVE the kicker
   as a fine editorial subtitle */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	margin: 0 0 4px 0 !important;
	font-size: 8px !important;
	letter-spacing: 0.26em !important;
	gap: 8px !important;
	justify-content: flex-start !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
	width: 18px !important;
}

/* Kicker: smaller, inline-feel */
body.tru-dark .contest-band.contest-band-v2 .contest-band-kicker {
	margin: 0 0 4px 0 !important;
	font-size: 9px !important;
	letter-spacing: 0.26em !important;
	text-align: left !important;
}

/* Title: SMALL but elegant -- this was the over-sized culprit. Pin to ~26px desktop. */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	font-size: clamp(20px, 2.4vw, 28px) !important;
	margin: 0 !important;
	line-height: 1.05 !important;
	text-align: left !important;
	font-style: italic !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title .contest-band-title-of {
	font-size: 0.5em !important;
	transform: translateY(-0.35em) !important;
}

/* Body: middle column, smaller, inline italic */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	font-size: 13.5px !important;
	margin: 0 !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

/* CTA: smaller, no excess padding */
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	padding: 10px 22px !important;
	font-size: 10.5px !important;
	letter-spacing: 0.18em !important;
	flex: 0 0 auto !important;
	white-space: nowrap !important;
}

/* Wrap the title block so kicker/edition/title align as one column */
body.tru-dark .contest-band.contest-band-v2 .contest-band-content {
	display: grid !important;
	grid-template-columns: minmax(220px, auto) 1fr auto !important;
	grid-template-rows: auto auto !important;
	grid-template-areas:
		"edition  body  cta"
		"title    body  cta" !important;
	align-items: center !important;
	row-gap: 0 !important;
	column-gap: 32px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	grid-area: edition !important;
	align-self: end !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-kicker {
	display: none !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	grid-area: title !important;
	align-self: start !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	grid-area: body !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	grid-area: cta !important;
}

/* Corner brackets: pull in tighter */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	width: 16px !important;
	height: 16px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl {
	top: 4px !important; left: 6px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr {
	top: 4px !important; right: 6px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl {
	bottom: 4px !important; left: 6px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
	bottom: 4px !important; right: 6px !important;
}

/* Mobile: stack vertically but tight */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 22px 18px 18px 18px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		font-size: 22px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		font-size: 13px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
		align-self: stretch !important;
		justify-content: center !important;
	}
}

/* ----- MASTHEAD 3-AD STACK: flush together ----- */
body.tru-dark .forum-masthead-split .forum-masthead-promos {
	gap: 0 !important;
}

/* ===== END PHASE 4 SESSION 29 PATCH 2 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 3 -- DESIGN POLISH (height unchanged)
   --------------------------------------------------------------------------
   Banner dimensions stay exactly where Patch 2 left them. Everything below
   is a visual upgrade to make the strip feel like a real editorial masthead
   instead of a generic dark box:

     1. Re-enable ::before / ::after (an old rule disabled them globally on
        .contest-band) and use them as ornamental gold seals on each end --
        compass-rose style, positioned absolute, flanking the content row.
     2. Diagonal pinstripe overlay across the whole band -- ultra-subtle gold
        watermark that hints at fine stationery.
     3. Animated metallic sheen that sweeps left-to-right every 9s. Suppressed
        when prefers-reduced-motion is on.
     4. Hairline vertical gold dividers between the 3 grid columns (title /
        body / CTA) using ::before/::after on .contest-band-body.
     5. Stronger gold halo and refined gradient on the italic "Month".
     6. Double-line corner brackets (existing single-line corner gets a
        secondary inner bracket via box-shadow trick) for that old-book frame.
   ============================================================================ */

/* Override the legacy disable rule so we can use ::before / ::after on v2 */
body.tru-dark .contest-band.contest-band-v2::before,
body.tru-dark .contest-band.contest-band-v2::after {
	display: block !important;
	content: "" !important;
	position: absolute !important;
	pointer-events: none !important;
}

/* LEFT ornamental seal -- a gold compass star, sits on the left edge,
   slightly out-of-frame for that "wax-stamp" feel. */
body.tru-dark .contest-band.contest-band-v2::before {
	left: -22px !important;
	top: 50% !important;
	width: 56px !important;
	height: 56px !important;
	transform: translateY(-50%) rotate(-12deg) !important;
	border-radius: 50% !important;
	background:
		radial-gradient(circle at 35% 30%, rgba(224,193,124,0.32) 0%, rgba(201,169,97,0.18) 45%, rgba(138,115,64,0.05) 100%),
		var(--paper-editor) !important;
	border: 2px solid var(--gold) !important;
	box-shadow:
		inset 0 0 0 2px var(--paper-editor),
		inset 0 0 0 3px var(--gold-3),
		inset 0 0 14px rgba(201,169,97,0.18),
		0 4px 14px rgba(0,0,0,0.5),
		0 0 18px rgba(201,169,97,0.18) !important;
	z-index: 2 !important;
}

/* RIGHT ornamental seal -- mirrored partner */
body.tru-dark .contest-band.contest-band-v2::after {
	right: -22px !important;
	top: 50% !important;
	width: 56px !important;
	height: 56px !important;
	transform: translateY(-50%) rotate(12deg) !important;
	border-radius: 50% !important;
	background:
		radial-gradient(circle at 65% 30%, rgba(224,193,124,0.32) 0%, rgba(201,169,97,0.18) 45%, rgba(138,115,64,0.05) 100%),
		var(--paper-editor) !important;
	border: 2px solid var(--gold) !important;
	box-shadow:
		inset 0 0 0 2px var(--paper-editor),
		inset 0 0 0 3px var(--gold-3),
		inset 0 0 14px rgba(201,169,97,0.18),
		0 4px 14px rgba(0,0,0,0.5),
		0 0 18px rgba(201,169,97,0.18) !important;
	z-index: 2 !important;
}

/* Container gets diagonal pinstripe + animated sheen overlay via background
   layering. Pinstripe is repeating-linear-gradient (45deg) -- ultra subtle.
   Sheen is a moving translucent diagonal that slides across every 9s. */
body.tru-dark .contest-band.contest-band-v2 {
	background:
		linear-gradient(115deg,
			transparent 0%,
			transparent 44%,
			rgba(224,193,124,0.10) 49%,
			rgba(224,193,124,0.18) 50%,
			rgba(224,193,124,0.10) 51%,
			transparent 56%,
			transparent 100%) 0 0 / 200% 100% no-repeat,
		repeating-linear-gradient(45deg,
			rgba(201,169,97,0.025) 0,
			rgba(201,169,97,0.025) 1px,
			transparent 1px,
			transparent 8px),
		radial-gradient(ellipse at 50% 0%, rgba(201,169,97,0.12) 0%, transparent 55%),
		radial-gradient(ellipse at 50% 100%, rgba(201,169,97,0.06) 0%, transparent 60%),
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	animation: contest-band-v2-sheen 9s ease-in-out infinite !important;
	background-attachment: scroll, scroll, scroll, scroll, scroll !important;
}

@keyframes contest-band-v2-sheen {
	0%, 100% { background-position: -100% 0, 0 0, 0 0, 0 0, 0 0; }
	50%      { background-position:  200% 0, 0 0, 0 0, 0 0, 0 0; }
}
@media (prefers-reduced-motion: reduce) {
	body.tru-dark .contest-band.contest-band-v2 {
		animation: none !important;
	}
}

/* Vertical gold hairline dividers between the 3 grid columns.
   Implemented as ::before / ::after on .contest-band-body (the middle
   column), so we get a left rule and right rule for free. */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	position: relative !important;
	padding: 0 22px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::before,
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::after {
	content: "" !important;
	position: absolute !important;
	top: 4px !important;
	bottom: 4px !important;
	width: 1px !important;
	background: linear-gradient(180deg,
		transparent 0%,
		var(--gold-3) 25%,
		var(--gold) 50%,
		var(--gold-3) 75%,
		transparent 100%) !important;
	pointer-events: none !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::before {
	left: 0 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::after {
	right: 0 !important;
}

/* Stronger gold halo and richer gradient on "Month" */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title em {
	background: linear-gradient(180deg,
		#f3dc9a 0%,
		var(--gold-2) 30%,
		var(--gold) 60%,
		var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	filter: drop-shadow(0 0 8px rgba(224,193,124,0.45))
	        drop-shadow(0 1px 2px rgba(0,0,0,0.6)) !important;
}

/* Double-line corner brackets -- existing brackets get an inner gold echo
   2px inside via box-shadow inset trick. Keeps them small and ornate. */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	width: 18px !important;
	height: 18px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl {
	box-shadow: inset 3px 3px 0 -2px var(--gold-3) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr {
	box-shadow: inset -3px 3px 0 -2px var(--gold-3) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl {
	box-shadow: inset 3px -3px 0 -2px var(--gold-3) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
	box-shadow: inset -3px -3px 0 -2px var(--gold-3) !important;
}

/* Mobile -- shrink seals, drop the vertical dividers (vertical layout) */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2::before,
	body.tru-dark .contest-band.contest-band-v2::after {
		width: 38px !important;
		height: 38px !important;
	}
	body.tru-dark .contest-band.contest-band-v2::before {
		left: -14px !important;
	}
	body.tru-dark .contest-band.contest-band-v2::after {
		right: -14px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		padding: 0 !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body::before,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body::after {
		display: none !important;
	}
}

/* ===== END PHASE 4 SESSION 29 PATCH 3 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 4 -- DESIGN OVERHAUL (height unchanged)
   --------------------------------------------------------------------------
   Patch 3 went too ornate -- circle seals were the worst offender. This
   patch wipes every Patch 3 visual addition and replaces them with one
   coherent, calmer treatment:

     - Repurpose the band's ::before / ::after pseudo-elements from
       circles into tiny serif corner marks: "MMXXIV" top-left,
       "No. 01" top-right -- like an editorial book frontispiece
     - Drop the diagonal pinstripe and the animated sheen entirely
     - Replace the busy background with a single broad radial gold
       spotlight at the top edge (think stage light hitting a marquee)
     - Remove the vertical column dividers from .contest-band-body
     - Revert "Month" gradient to the clean S29 original (no halo
       drop-shadow)
     - Revert corner brackets to clean single-line (no inset double)
     - NEW: small inline diamond ornaments flanking the title via the
       title's own ::before / ::after -- decisive but not noisy
     - Slight title size bump (28px -> 32px ceiling) to anchor the band

   Height stays exactly where Patch 2 set it. This is purely a finish.
   ============================================================================ */

/* --- 1. KILL the Patch 3 circle seals on each side; repurpose ::before /
   ::after into tiny serif year + issue marks tucked into the top corners. --- */
body.tru-dark .contest-band.contest-band-v2::before {
	content: "MMXXIV" !important;
	position: absolute !important;
	top: 8px !important;
	left: 14px !important;
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
	font-family: var(--f-serif), serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	font-style: italic !important;
	letter-spacing: 0.22em !important;
	color: var(--gold-3) !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	z-index: 2 !important;
	pointer-events: none !important;
}
body.tru-dark .contest-band.contest-band-v2::after {
	content: "No. 01" !important;
	position: absolute !important;
	top: 8px !important;
	right: 14px !important;
	left: auto !important;
	bottom: auto !important;
	width: auto !important;
	height: auto !important;
	font-family: var(--f-serif), serif !important;
	font-size: 9px !important;
	font-weight: 600 !important;
	font-style: italic !important;
	letter-spacing: 0.22em !important;
	color: var(--gold-3) !important;
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	z-index: 2 !important;
	pointer-events: none !important;
}

/* --- 2. Replace the noisy multi-layer Patch 3 background with a calm,
   single radial spotlight from the top-center. The top-edge gold halo
   is the only "effect" left -- everything else is solid. Animation off. --- */
body.tru-dark .contest-band.contest-band-v2 {
	background:
		radial-gradient(ellipse 720px 240px at 50% -20%,
			rgba(224,193,124,0.22) 0%,
			rgba(201,169,97,0.10) 30%,
			transparent 75%),
		linear-gradient(180deg, var(--paper-editor-2) 0%, var(--paper-editor) 100%) !important;
	animation: none !important;
}

/* --- 3. Hide the column dividers Patch 3 added on .contest-band-body --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::before,
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::after {
	display: none !important;
	content: none !important;
}

/* --- 4. Revert "Month" em to the clean S29 base treatment (no drop-shadow
   halo). Keep the gold gradient and a soft text-shadow only. --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title em {
	background: linear-gradient(180deg,
		var(--gold-2) 0%,
		var(--gold) 55%,
		var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	filter: none !important;
	text-shadow: 0 2px 6px rgba(201,169,97,0.18) !important;
}

/* --- 5. Revert corner brackets to clean single-line (kill Patch 3's
   inset double-line box-shadow). --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	box-shadow: none !important;
}

/* --- 6. NEW: diamond ornaments flanking the title, inline-block, sized
   off the title font so they scale with it. Subtle gold-3 color so they
   read as ornament, not as competing typographic weight. --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title::before {
	content: "\25C6" !important;
	display: inline-block !important;
	font-family: var(--f-serif), serif !important;
	font-style: normal !important;
	font-size: 0.42em !important;
	color: var(--gold-3) !important;
	margin-right: 14px !important;
	vertical-align: middle !important;
	transform: translateY(-2px) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title::after {
	content: "\25C6" !important;
	display: inline-block !important;
	font-family: var(--f-serif), serif !important;
	font-style: normal !important;
	font-size: 0.42em !important;
	color: var(--gold-3) !important;
	margin-left: 14px !important;
	vertical-align: middle !important;
	transform: translateY(-2px) !important;
}

/* --- 7. Slight title size bump (28 -> 32 ceiling) to anchor the band
   now that the diamond ornaments add visual weight on either side. --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	font-size: clamp(22px, 2.7vw, 32px) !important;
}

/* --- 8. Edition wordmark gets a hair more breathing room since the
   corner marks now occupy the very top of the band. --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	margin-top: 4px !important;
}

/* --- 9. Mobile: pull corner marks tighter, shrink slightly. --- */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2::before,
	body.tru-dark .contest-band.contest-band-v2::after {
		font-size: 8px !important;
		letter-spacing: 0.18em !important;
		top: 6px !important;
	}
	body.tru-dark .contest-band.contest-band-v2::before {
		left: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2::after {
		right: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title::before,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title::after {
		font-size: 0.38em !important;
		margin-left: 10px !important;
		margin-right: 10px !important;
	}
}

/* ===== END PHASE 4 SESSION 29 PATCH 4 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 5 -- BRUSHED STEEL OVERHAUL
   --------------------------------------------------------------------------
   Per Ali: "make it look like steel and have review of the month in big font
   centered." Full reset. Out: horizontal strip, gold-on-black, every
   ornament from Patches 3-4. In: a brushed-steel plate with brass accents,
   vertical centered stack, big italic title, corner rivets.

   Layout (vertical, centered):
     [ brass ribbon nameplate (top, shimmer) ]
     [ Vol. I -- Monthly Issue -- TruReview Editorial ]
     [ BIG ITALIC TITLE: Review of the Month ]
     [ italic body copy ]
     [ brass CTA button ]
     [ corner rivets (4) ]

   Container is a brushed-steel plate: vertical brushed-metal hairlines,
   horizontal highlight band gradient (lighter at top/bottom, darker in
   middle so it reads as polished steel), beveled top/bottom edges via
   border colour split + inset highlight/shadow.

   Title: clamp(36px, 5vw, 56px), italic Cormorant, debossed look using
   highlight + shadow text-shadow stack. "Month" gets the brass treatment
   with engraved drop-shadows.

   All corner positioning, content grid, and pseudo-element ornaments from
   Patches 2-4 are reset back to flex column + auto grid-area + display:none
   so they cannot leak through.
   ============================================================================ */

/* --- 1. KILL all Patch 3 + Patch 4 pseudo-element ornaments --- */
body.tru-dark .contest-band.contest-band-v2::before,
body.tru-dark .contest-band.contest-band-v2::after {
	display: none !important;
	content: none !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-title::before,
body.tru-dark .contest-band.contest-band-v2 .contest-band-title::after {
	display: none !important;
	content: none !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::before,
body.tru-dark .contest-band.contest-band-v2 .contest-band-body::after {
	display: none !important;
	content: none !important;
}

/* --- 2. STEEL PLATE container: brushed metal background, beveled edges --- */
body.tru-dark .contest-band.contest-band-v2 {
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	text-align: center !important;
	padding: 36px 44px 30px 44px !important;
	margin: 0 0 32px 0 !important;
	background:
		/* fine vertical brushed-metal hairlines */
		repeating-linear-gradient(90deg,
			transparent 0,
			transparent 2px,
			rgba(255,255,255,0.014) 2px,
			rgba(255,255,255,0.014) 3px),
		/* horizontal polished-steel band */
		linear-gradient(180deg,
			#444851 0%,
			#2e3138 28%,
			#1d2026 50%,
			#2e3138 72%,
			#444851 100%) !important;
	border: 1px solid #5d6068 !important;
	border-top-color: #757880 !important;
	border-bottom-color: #2a2d33 !important;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,0.18),
		inset 0 -1px 0 rgba(0,0,0,0.65),
		inset 0 0 80px rgba(0,0,0,0.32),
		0 12px 32px rgba(0,0,0,0.55) !important;
	animation: none !important;
}

/* Brass ribbon nameplate at the top */
body.tru-dark .contest-band.contest-band-v2 .contest-band-ribbon {
	top: -14px !important;
	padding: 6px 32px !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 50%, var(--gold-3) 100%) !important;
	color: #1a160c !important;
	box-shadow:
		0 3px 8px rgba(0,0,0,0.55),
		inset 0 1px 0 rgba(255,255,255,0.5),
		inset 0 -1px 0 rgba(0,0,0,0.25) !important;
	animation: contest-band-v2-shimmer 4s ease-in-out infinite !important;
}

/* --- 3. CONTENT: stack vertically centered (kill the Patch 2 grid) --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-content {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	max-width: 760px !important;
	width: auto !important;
	margin: 0 auto !important;
	text-align: center !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
	grid-template-areas: none !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
}

/* Edition wordmark above title -- aged brass colour */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	grid-area: auto !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 14px !important;
	margin: 0 0 14px 0 !important;
	font-size: 9px !important;
	letter-spacing: 0.32em !important;
	color: #b8a86a !important;
	text-shadow: 0 1px 0 rgba(0,0,0,0.6) !important;
	align-self: center !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
	width: 56px !important;
	background: linear-gradient(90deg, transparent 0%, var(--gold-3) 50%, transparent 100%) !important;
}

/* THE BIG CENTERED ITALIC TITLE */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	grid-area: auto !important;
	display: block !important;
	align-self: center !important;
	text-align: center !important;
	font-family: var(--f-marg) !important;
	font-size: clamp(36px, 5vw, 56px) !important;
	font-weight: 600 !important;
	font-style: italic !important;
	letter-spacing: -0.015em !important;
	line-height: 1.0 !important;
	margin: 0 0 16px 0 !important;
	padding: 0 !important;
	color: #d8dadf !important;
	text-shadow:
		0 1px 0 rgba(255,255,255,0.14),
		0 -1px 0 rgba(0,0,0,0.7),
		0 2px 10px rgba(0,0,0,0.45) !important;
}

/* "of the" small drop word between Review and Month */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title .contest-band-title-of {
	font-family: var(--f-marg) !important;
	font-size: 0.4em !important;
	font-style: italic !important;
	font-weight: 400 !important;
	color: #8a8d94 !important;
	transform: translateY(-0.4em) !important;
	margin: 0 0.05em !important;
	letter-spacing: 0.05em !important;
	text-transform: lowercase !important;
	vertical-align: baseline !important;
	display: inline-block !important;
}

/* "Month" engraved brass treatment */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title em {
	font-family: var(--f-marg) !important;
	font-style: italic !important;
	font-weight: 600 !important;
	background: linear-gradient(180deg,
		#f3dc9a 0%,
		var(--gold-2) 25%,
		var(--gold) 55%,
		var(--gold-3) 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	filter:
		drop-shadow(0 1px 0 rgba(255,255,255,0.18))
		drop-shadow(0 -1px 0 rgba(0,0,0,0.7))
		drop-shadow(0 0 14px rgba(201,169,97,0.40)) !important;
	text-shadow: none !important;
}

/* Body copy below the title */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	grid-area: auto !important;
	display: block !important;
	align-self: center !important;
	text-align: center !important;
	margin: 0 auto 22px auto !important;
	padding: 0 !important;
	font-family: var(--f-marg) !important;
	font-size: 15.5px !important;
	font-style: italic !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: #c8cad0 !important;
	max-width: 640px !important;
	flex: 0 0 auto !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body strong {
	color: var(--gold-2) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	letter-spacing: 0.005em !important;
}

/* Brass CTA button -- centered */
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	grid-area: auto !important;
	align-self: center !important;
	margin: 0 auto !important;
	padding: 12px 30px !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 55%, var(--gold-3) 100%) !important;
	color: #1a140a !important;
	border: 1px solid #6b5832 !important;
	box-shadow:
		0 3px 10px rgba(0,0,0,0.55),
		inset 0 1px 0 rgba(255,255,255,0.45),
		inset 0 -1px 0 rgba(0,0,0,0.25) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta:hover {
	gap: 14px !important;
	transform: translateY(-1px) !important;
	box-shadow:
		0 6px 16px rgba(201,169,97,0.4),
		inset 0 1px 0 rgba(255,255,255,0.5),
		inset 0 -1px 0 rgba(0,0,0,0.25) !important;
}

/* --- 4. CORNER RIVETS (replace gold L-brackets with steel screws) --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	width: 11px !important;
	height: 11px !important;
	border-radius: 50% !important;
	border: none !important;
	background:
		radial-gradient(circle at 30% 30%,
			#cdd0d6 0%,
			#8a8d94 35%,
			#3a3d44 75%,
			#1d2026 100%) !important;
	box-shadow:
		inset 0 -1px 1px rgba(0,0,0,0.5),
		0 1px 1px rgba(0,0,0,0.5),
		0 0 0 1px rgba(0,0,0,0.5) !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl {
	top: 12px !important;
	left: 12px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr {
	top: 12px !important;
	right: 12px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl {
	bottom: 12px !important;
	left: 12px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
	bottom: 12px !important;
	right: 12px !important;
}

/* --- 5. Mobile tuning --- */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 30px 22px 24px 22px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		font-size: clamp(28px, 8vw, 42px) !important;
		margin: 0 0 12px 0 !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
		font-size: 8px !important;
		letter-spacing: 0.24em !important;
		gap: 8px !important;
		margin-bottom: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
		width: 30px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		font-size: 13.5px !important;
		margin-bottom: 18px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
		padding: 11px 24px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
		width: 8px !important;
		height: 8px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl {
		left: 9px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
		right: 9px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr {
		top: 9px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl,
	body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
		bottom: 9px !important;
	}
}

/* ===== END PHASE 4 SESSION 29 PATCH 5 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 6 -- BRUSHED GOLD + BIGGER TITLE + TIGHTER FRAME
   --------------------------------------------------------------------------
   Per Ali on Patch 5: the brushed-metal direction is right, but
     - it should be GOLD (antique brass) not silver/steel
     - "Review of the Month" needs to be BIGGER
     - the overall banner got too tall again -- shrink it

   Approach: keep the Patch 5 architecture (vertical centered stack, brushed
   metal plate, corner rivets, brass ribbon, beveled edges) but recolor the
   plate from gunmetal -> deep antique bronze, recolor the rivets from
   chrome -> gold, then aggressively trim padding/margins on every non-title
   element so the title can grow without inflating total height.

   Key dial moves:
     - Plate background: bronze gradient (#5a4520 -> #251c0e -> #5a4520)
       with warm-toned brushed-metal hairlines
     - Title: clamp(36, 5vw, 56) -> clamp(44, 6.4vw, 72)  -- big jump up
     - Title text colour: cream (#f0e4c4) instead of silver (#d8dadf)
     - "Month" em: brighter, more saturated gold gradient with halo
     - Rivets: gold radial gradient instead of chrome
     - Border colours: warm bronze instead of cool steel
     - Top padding 36 -> 22, bottom 30 -> 20
     - Edition margin 14 -> 8, body margin 22 -> 14, title margin 16 -> 10
     - Body font 15.5 -> 14, body max-width 640 -> 560
   ============================================================================ */

/* --- 1. PLATE: brushed antique gold/bronze (replaces Patch 5 steel) --- */
body.tru-dark .contest-band.contest-band-v2 {
	padding: 22px 40px 20px 40px !important;
	background:
		/* warm vertical brushed-metal hairlines */
		repeating-linear-gradient(90deg,
			transparent 0,
			transparent 2px,
			rgba(255,220,150,0.022) 2px,
			rgba(255,220,150,0.022) 3px),
		/* horizontal polished-brass band */
		linear-gradient(180deg,
			#5a4520 0%,
			#3a2d18 28%,
			#251c0e 50%,
			#3a2d18 72%,
			#5a4520 100%) !important;
	border: 1px solid #6b5230 !important;
	border-top-color: #8a6e3e !important;
	border-bottom-color: #2a1f0e !important;
	box-shadow:
		inset 0 1px 0 rgba(255,220,150,0.18),
		inset 0 -1px 0 rgba(0,0,0,0.65),
		inset 0 0 80px rgba(0,0,0,0.32),
		0 12px 32px rgba(0,0,0,0.55) !important;
}

/* --- 2. TITLE: bigger, cream-coloured, tighter margin --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	font-size: clamp(44px, 6.4vw, 72px) !important;
	margin: 0 0 10px 0 !important;
	color: #f0e4c4 !important;
	text-shadow:
		0 1px 0 rgba(255,235,180,0.18),
		0 -1px 0 rgba(0,0,0,0.75),
		0 2px 12px rgba(0,0,0,0.5) !important;
}

/* "of the" small drop word -- warmer grey tone now */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title .contest-band-title-of {
	color: #a89972 !important;
}

/* "Month" -- brighter gold gradient with stronger halo, since the plate
   is now warm bronze and we need more contrast pop */
body.tru-dark .contest-band.contest-band-v2 .contest-band-title em {
	background: linear-gradient(180deg,
		#fbe89c 0%,
		#e8c97a 30%,
		#c9a961 60%,
		#a08247 100%) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	filter:
		drop-shadow(0 1px 0 rgba(255,235,180,0.25))
		drop-shadow(0 -1px 0 rgba(0,0,0,0.75))
		drop-shadow(0 0 18px rgba(251,232,156,0.45)) !important;
}

/* --- 3. TIGHTEN every non-title element so total height shrinks --- */

/* Edition wordmark: smaller, less margin */
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	margin: 0 0 8px 0 !important;
	font-size: 8.5px !important;
	letter-spacing: 0.3em !important;
	gap: 12px !important;
	color: #c9a961 !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
	width: 44px !important;
}

/* Body copy: smaller, narrower, less margin */
body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	margin: 0 auto 14px auto !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	color: #d8c9a3 !important;
	max-width: 560px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-body strong {
	color: #f3dc9a !important;
}

/* CTA: trim padding slightly */
body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	padding: 11px 28px !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
}

/* --- 4. RIVETS: gold instead of chrome --- */
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner {
	background:
		radial-gradient(circle at 30% 30%,
			#fbe89c 0%,
			#c9a961 35%,
			#6b4f1e 75%,
			#2a1f0e 100%) !important;
	box-shadow:
		inset 0 -1px 1px rgba(0,0,0,0.55),
		0 1px 1px rgba(0,0,0,0.55),
		0 0 0 1px rgba(20,15,5,0.6) !important;
	top: 9px !important;
	left: 9px !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tl {
	top: 9px !important;
	left: 9px !important;
	right: auto !important;
	bottom: auto !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-tr {
	top: 9px !important;
	right: 9px !important;
	left: auto !important;
	bottom: auto !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-bl {
	bottom: 9px !important;
	left: 9px !important;
	top: auto !important;
	right: auto !important;
}
body.tru-dark .contest-band.contest-band-v2 .contest-band-corner-br {
	bottom: 9px !important;
	right: 9px !important;
	top: auto !important;
	left: auto !important;
}

/* --- 5. Mobile -- tighten further, scale title --- */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 22px 18px 18px 18px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		font-size: clamp(32px, 9vw, 48px) !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
		font-size: 7.5px !important;
		gap: 8px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition-rule {
		width: 24px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		font-size: 13px !important;
	}
}

/* ===== END PHASE 4 SESSION 29 PATCH 6 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 29 PATCH 7 -- VERTICAL TIGHTEN
   --------------------------------------------------------------------------
   Per Ali on Patch 6: design is right, just compress vertically. No design
   changes. Only trims to padding and inter-element margins so the same
   layout fits in roughly 30px less height.
     - Top padding 22 -> 14
     - Bottom padding 20 -> 14
     - Edition margin-bottom 8 -> 4
     - Title margin-bottom 10 -> 6
     - Body margin-bottom 14 -> 8
     - CTA padding 11px -> 8px (font size unchanged so it still reads as a
       proper button, just less inner air)
   Title clamp stays at clamp(44, 6.4vw, 72) -- Ali liked the title size.
   ============================================================================ */

body.tru-dark .contest-band.contest-band-v2 {
	padding: 14px 40px 14px 40px !important;
}

body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
	margin: 0 0 4px 0 !important;
}

body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
	margin: 0 0 6px 0 !important;
}

body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
	margin: 0 auto 8px auto !important;
}

body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
	padding: 8px 26px !important;
}

/* Mobile -- match the trim there too */
@media only screen and (max-width: 760px) {
	body.tru-dark .contest-band.contest-band-v2 {
		padding: 16px 18px 14px 18px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-edition {
		margin-bottom: 4px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-title {
		margin-bottom: 6px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-body {
		margin-bottom: 10px !important;
	}
	body.tru-dark .contest-band.contest-band-v2 .contest-band-cta {
		padding: 9px 22px !important;
	}
}

/* ===== END PHASE 4 SESSION 29 PATCH 7 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 30 -- IMAGE-BASED REVIEW OF THE MONTH BANNER (.rotm-banner)
   --------------------------------------------------------------------------
   Replaced the CSS-rendered .contest-band block with two designer-supplied
   SVG banners (desktop 1480x220, mobile 720x260) hosted at
   /spot/images/rotm-banner-{desktop,mobile}.svg. The template now uses a
   <picture> element with one <source> for the mobile breakpoint and the
   desktop SVG as the default <img>.

   This block is intentionally minimal: full-width responsive image, hover
   lift, focus ring, and a small bottom margin so the banner has the same
   spacing the old .contest-band had below it.

   The legacy .contest-band* CSS upstream (lines ~16071, 17225, and the
   S29 patches 1-7) is now dead code -- no template references those
   classes anywhere on the site. Leaving it in place rather than yanking
   it because the file is append-only by project convention; a future
   cleanup pass can compact those rules out.
   ============================================================================ */

body.tru-dark .rotm-banner {
	display: block;
	width: 100%;
	max-width: 1480px;
	margin: 0 auto 32px auto;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	text-decoration: none;
	transition: transform 0.18s ease, filter 0.18s ease;
	-webkit-tap-highlight-color: transparent;
}

body.tru-dark .rotm-banner picture,
body.tru-dark .rotm-banner img {
	display: block;
	width: 100%;
	height: auto;
	border: 0;
	border-radius: 2px;
	box-shadow:
		0 8px 24px rgba(0, 0, 0, 0.5),
		0 1px 0 rgba(255, 220, 150, 0.06) inset;
}

body.tru-dark .rotm-banner:hover {
	transform: translateY(-2px);
	filter: brightness(1.04);
}
body.tru-dark .rotm-banner:hover img {
	box-shadow:
		0 12px 32px rgba(0, 0, 0, 0.6),
		0 0 28px rgba(201, 169, 97, 0.18),
		0 1px 0 rgba(255, 220, 150, 0.1) inset;
}

body.tru-dark .rotm-banner:focus-visible img {
	outline: 2px solid var(--gold);
	outline-offset: 4px;
}

@media (max-width: 720px) {
	body.tru-dark .rotm-banner {
		margin-bottom: 22px;
	}
}

/* ===== END PHASE 4 SESSION 30 -- IMAGE-BASED ROTM BANNER ================== */


/* ============================================================================
   PHASE 4 SESSION 30 PATCH 1 -- ROTM banner: page-fold + ~30% shorter
   --------------------------------------------------------------------------
   The SVGs themselves were edited:
     1. Page-fold corner repainted: solid dark triangle + gold tone wash +
        crease line (instead of just a dark triangle that read as "missing")
     2. Banner height shrunk ~30% by editing viewBox to a shorter canvas
        and moving content up (desktop 220 -> 156, mobile 260 -> 184)
   No additional CSS needed beyond the existing .rotm-banner block.
   ============================================================================ */

/* ===== END PHASE 4 SESSION 30 PATCH 1 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 31 -- FEATURED TIER VISUAL DIFFERENTIATION
   --------------------------------------------------------------------------
   Featured-tier ad slots now render visibly distinct from standard slots:
     1. Gold corner ribbon "FEATURED" pinned to the top-right of the slot
     2. Soft outer gold halo (box-shadow) around the slot
     3. Disclosure label switched from "Sponsored" -> "Featured Advertiser"
        in gold-2 (achieved via CSS, no markup change)
     4. Subtle gold inner border on the slot frame

   Trigger: .tr-spot-slot-tier-featured class, which loader.js adds to a
   slot when item.tier === 'featured'. Standard slots are unchanged.
   The ribbon is positioned absolute and uses the slot as its containing
   block (relies on the existing position: relative on .tr-spot-slot).

   Mobile: ribbon shrinks to a tight pill at top-right; halo softens.
   ============================================================================ */

/* Ensure the slot is a positioning context (existing rules already
   set position: relative on rendered slots, but be explicit). */
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured {
	position: relative;
	box-shadow:
		0 0 0 1px rgba(201, 169, 97, 0.35),
		0 0 22px rgba(201, 169, 97, 0.18),
		0 6px 18px rgba(0, 0, 0, 0.45);
	transition: box-shadow 0.2s ease;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured:hover {
	box-shadow:
		0 0 0 1px rgba(224, 193, 124, 0.55),
		0 0 32px rgba(201, 169, 97, 0.32),
		0 8px 24px rgba(0, 0, 0, 0.55);
}

/* Gold corner ribbon "FEATURED" pinned to top-right via ::before */
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured::before {
	content: "FEATURED";
	position: absolute;
	top: 8px;
	right: 0;
	z-index: 3;
	display: inline-block;
	padding: 4px 12px 4px 14px;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: #1a140a;
	background: linear-gradient(180deg,
		var(--gold-2) 0%,
		var(--gold) 55%,
		var(--gold-3) 100%);
	border-left: 1px solid rgba(255, 235, 180, 0.4);
	box-shadow:
		0 2px 6px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 235, 180, 0.4),
		inset 0 -1px 0 rgba(0, 0, 0, 0.2);
	pointer-events: none;
	white-space: nowrap;
}

/* Replace "Sponsored" disclosure text with "Featured Advertiser" in gold,
   purely via CSS (the markup still says Sponsored). Trick: hide the
   original text with a near-zero width and inject the new label via
   ::after on the disclosure span. */
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured .tr-spot-disclosure {
	font-size: 0;
	letter-spacing: 0;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured .tr-spot-disclosure::after {
	content: "FEATURED ADVERTISER";
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: var(--gold-2);
}

/* Mobile -- shrink ribbon, soften halo */
@media (max-width: 720px) {
	body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured {
		box-shadow:
			0 0 0 1px rgba(201, 169, 97, 0.3),
			0 0 14px rgba(201, 169, 97, 0.14),
			0 4px 12px rgba(0, 0, 0, 0.4);
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured::before {
		top: 6px;
		padding: 3px 9px;
		font-size: 8px;
		letter-spacing: 0.18em;
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured .tr-spot-disclosure::after {
		font-size: 8px;
		letter-spacing: 0.18em;
	}
}

/* ===== END PHASE 4 SESSION 31 -- FEATURED TIER DIFFERENTIATION ============ */


/* ============================================================================
   PHASE 4 SESSION 31 PATCH 1 -- PREMIUM SLOT FRAMING (slot-driven, not tier)
   --------------------------------------------------------------------------
   Rethink: the gold "FEATURED" treatment now belongs to the SLOT, not the
   ad tier. Premium slots (masthead-1/2/3, sidebar-1/2/3, viewforum-top)
   always show the gold ribbon + halo regardless of which ad fills them
   (featured, standard, or house fallback).

   This patch:
     1. Neutralises the old .tr-spot-slot-tier-featured rules from S31 so
        ads don't get the ribbon based on tier anymore (loader.js no
        longer adds that class either).
     2. Adds .tr-spot-slot-premium rules that mirror the old ribbon/halo
        treatment, hardcoded into specific slots via the template.

   Effect: 7 slots now permanently display the gold "FEATURED" frame.
   The frame is the premium positioning; the ad inside rotates randomly.
   ============================================================================ */

/* --- 1. Neutralise the tier-driven rules from S31 --- */
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured {
	box-shadow: none;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured:hover {
	box-shadow: none;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured::before {
	content: none;
	display: none;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured .tr-spot-disclosure {
	font-size: inherit;
	letter-spacing: inherit;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-tier-featured .tr-spot-disclosure::after {
	content: none;
}

/* --- 2. Premium slot framing --- */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium {
	position: relative;
	box-shadow:
		0 0 0 1px rgba(201, 169, 97, 0.35),
		0 0 22px rgba(201, 169, 97, 0.18),
		0 6px 18px rgba(0, 0, 0, 0.45);
	transition: box-shadow 0.2s ease;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-premium:hover {
	box-shadow:
		0 0 0 1px rgba(224, 193, 124, 0.55),
		0 0 32px rgba(201, 169, 97, 0.32),
		0 8px 24px rgba(0, 0, 0, 0.55);
}

/* Gold "FEATURED" ribbon pinned to top-right of every premium slot */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium::before {
	content: "FEATURED";
	position: absolute;
	top: 8px;
	right: 0;
	z-index: 3;
	display: inline-block;
	padding: 4px 12px 4px 14px;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: #1a140a;
	background: linear-gradient(180deg,
		var(--gold-2) 0%,
		var(--gold) 55%,
		var(--gold-3) 100%);
	border-left: 1px solid rgba(255, 235, 180, 0.4);
	box-shadow:
		0 2px 6px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 235, 180, 0.4),
		inset 0 -1px 0 rgba(0, 0, 0, 0.2);
	pointer-events: none;
	white-space: nowrap;
}

/* Replace "Sponsored" disclosure with "FEATURED ADVERTISER" in gold */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-disclosure {
	font-size: 0;
	letter-spacing: 0;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-disclosure::after {
	content: "FEATURED ADVERTISER";
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: var(--gold-2);
}

/* Mobile -- shrink ribbon, soften halo */
@media (max-width: 720px) {
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium {
		box-shadow:
			0 0 0 1px rgba(201, 169, 97, 0.3),
			0 0 14px rgba(201, 169, 97, 0.14),
			0 4px 12px rgba(0, 0, 0, 0.4);
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium::before {
		top: 6px;
		padding: 3px 9px;
		font-size: 8px;
		letter-spacing: 0.18em;
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-disclosure::after {
		font-size: 8px;
		letter-spacing: 0.18em;
	}
}

/* ===== END PHASE 4 SESSION 31 PATCH 1 -- PREMIUM SLOT FRAMING ============= */


/* ============================================================================
   PHASE 4 SESSION 32 -- CITY HUB PAGES (.city-hub-*)
   --------------------------------------------------------------------------
   Layout for /toronto.html, /montreal.html, /vancouver.html, /ottawa.html.
   Each page has:
     1. Topbar + subbar + masthead (reusing existing site styles)
     2. Premium leaderboard slot
     3. "City Sections" -- a grid of quick-jump cards to the city's forums
     4. Two-column grid: Latest [City] Posts + sidebar rectangle ad slot
     5. Footer (reusing)
   Mobile collapses the two-column grid to single column.
   ============================================================================ */

body.tru-dark .city-hub {
	max-width: 1480px;
	margin: 0 auto;
	padding: 32px 28px 64px 28px;
	box-sizing: border-box;
}

body.tru-dark .city-hub-leaderboard {
	margin: 0 0 36px 0;
}

/* Section heading reused for both blocks */
body.tru-dark .city-hub-section-head {
	margin: 0 0 20px 0;
	padding: 0;
	border: 0;
}
body.tru-dark .city-hub-section-kicker {
	display: block;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--gold-2);
	margin: 0 0 8px 0;
}
body.tru-dark .city-hub-section-title {
	font-family: var(--f-marg), 'Cormorant Garamond', serif;
	font-size: clamp(28px, 3.4vw, 42px);
	font-weight: 500;
	font-style: normal;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var(--ink);
	margin: 0;
}
body.tru-dark .city-hub-section-title em {
	font-style: italic;
	font-weight: 600;
	background: linear-gradient(180deg, var(--gold-2) 0%, var(--gold) 55%, var(--gold-3) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* SECTION: city sections */
body.tru-dark .city-hub-section {
	margin: 0 0 48px 0;
}
body.tru-dark .city-hub-jumps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 14px;
}
body.tru-dark .city-jump-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 26px 22px 22px;
	background: var(--paper-2, #111113);
	border: 1px solid var(--line-2, #2a2a30);
	border-left: 3px solid var(--gold-3);
	color: var(--ink);
	text-decoration: none;
	transition: border-left-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
	position: relative;
}
body.tru-dark .city-jump-card:hover {
	border-left-color: var(--gold);
	background: var(--paper-3, #151518);
	transform: translateX(2px);
}
body.tru-dark .city-jump-name {
	font-family: var(--f-marg), 'Cormorant Garamond', serif;
	font-size: 22px;
	font-weight: 500;
	font-style: italic;
	color: var(--ink);
	line-height: 1.1;
}
body.tru-dark .city-jump-blurb {
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 13px;
	font-weight: 400;
	color: var(--ink-3);
	line-height: 1.45;
}
body.tru-dark .city-jump-arrow {
	position: absolute;
	top: 22px;
	right: 22px;
	font-family: var(--f-serif), serif;
	font-size: 18px;
	color: var(--gold-3);
	transition: color 0.18s ease, transform 0.18s ease;
}
body.tru-dark .city-jump-card:hover .city-jump-arrow {
	color: var(--gold);
	transform: translateX(3px);
}

/* TWO-COLUMN: latest posts + sidebar */
body.tru-dark .city-hub-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 36px;
	align-items: start;
}
body.tru-dark .city-hub-main {
	min-width: 0;
}
body.tru-dark .city-hub-side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

/* Recent posts box on city hubs -- gives it more breathing room than the
   homepage sidebar version since it's the focal block of the page. */
body.tru-dark .city-hub-recent.tr-spot-recent {
	background: var(--paper-2, #111113);
	border: 1px solid var(--line-2, #2a2a30);
	border-top: 2px solid var(--gold-3);
	padding: 0;
}

/* Mobile -- collapse to single column, tighten spacing */
@media (max-width: 760px) {
	body.tru-dark .city-hub {
		padding: 22px 16px 48px 16px;
	}
	body.tru-dark .city-hub-leaderboard {
		margin-bottom: 26px;
	}
	body.tru-dark .city-hub-section {
		margin-bottom: 36px;
	}
	body.tru-dark .city-hub-jumps {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	body.tru-dark .city-jump-card {
		padding: 18px 22px 18px 18px;
	}
	body.tru-dark .city-jump-name {
		font-size: 20px;
	}
	body.tru-dark .city-jump-arrow {
		top: 18px;
		right: 18px;
		font-size: 16px;
	}
	body.tru-dark .city-hub-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	body.tru-dark .city-hub-side {
		gap: 14px;
	}
}

/* ===== END PHASE 4 SESSION 32 -- CITY HUB PAGES =========================== */


/* ============================================================================
   PHASE 4 SESSION 33 -- CITY HUB POLISH + PREMIUM FRAME REDESIGN
   --------------------------------------------------------------------------
   Round of changes from S32 review:
     1. Masthead on city hub pages is centered (.masthead-centered)
     2. Premium ad slots redesigned -- ditch the harsh outer halo /
        rectangle border-shadow, replace with an editorial inset gold
        treatment: gold border-top accent + corner brackets + ribbon.
        Cleaner, doesn't look like a hard frame around the ad.
     3. Quick-jump cards split into two rows:
          - Gold row (.city-hub-jumps-gold): 2 prominent advertising cards
            side-by-side with rich gold gradient, larger typography
          - Regular row (.city-hub-jumps): 5 review cards centered, smaller
     4. Both rows centered horizontally on the page.
     5. Two sidebar ads stacked instead of one.
   ============================================================================ */

/* ---- 1. Centered masthead (used by city hubs) ---- */
body.tru-dark .masthead.masthead-centered .masthead-inner {
	text-align: center;
	display: flex;
	justify-content: center;
}
body.tru-dark .masthead.masthead-centered .masthead-inner > div {
	max-width: 920px;
	margin: 0 auto;
}
body.tru-dark .masthead.masthead-centered .kicker {
	justify-content: center;
}
body.tru-dark .masthead.masthead-centered .kicker .rule {
	display: none;  /* the rule line is left-anchored; hide it for centered layouts */
}
body.tru-dark .masthead.masthead-centered .title {
	text-align: center;
}
body.tru-dark .masthead.masthead-centered .tagline {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

/* ---- 2. PREMIUM SLOT FRAME REDESIGN ----
   Override the harsh outer halo + box-shadow rectangle from S31 PATCH 1.
   The new look uses an editorial border-top + bracket corners + the
   existing FEATURED ribbon, but no ring-shadow around the slot. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium {
	position: relative;
	box-shadow: none;
	border-top: 2px solid var(--gold);
	padding-top: 0;
	transition: border-color 0.2s ease;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-premium:hover {
	box-shadow: none;
	border-top-color: var(--gold-2);
}
/* Add small gold corner brackets at the top-left + bottom-right */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 24px;
	height: 24px;
	border-left: 1px solid var(--gold);
	border-bottom: 1px solid var(--gold);
	pointer-events: none;
	opacity: 0.55;
}

/* Reposition the FEATURED ribbon: pinned to the top-right, but now sits on
   top of the gold border-top so it reads as part of the frame. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium::before {
	top: -2px;  /* sit flush on the gold border-top line */
}

/* Mobile -- thinner border, smaller bracket */
@media (max-width: 720px) {
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium {
		border-top-width: 1px;
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium::after {
		width: 16px;
		height: 16px;
	}
}

/* ---- 3-4. CITY HUB SECTIONS CENTERED ---- */
body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-section-head {
	text-align: center;
}
body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-section-title {
	text-align: center;
}

/* GOLD ROW -- two prominent advertising cards side-by-side, centered */
body.tru-dark .city-hub-jumps-gold {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	max-width: 980px;
	margin: 0 auto 28px auto;
}
body.tru-dark .city-jump-card.city-jump-card-gold {
	background: linear-gradient(160deg,
		rgba(201, 169, 97, 0.12) 0%,
		rgba(138, 115, 64, 0.06) 60%,
		rgba(13, 13, 14, 0.4) 100%);
	border: 1px solid var(--gold-3);
	border-left: 4px solid var(--gold);
	padding: 28px 32px 28px 28px;
	min-height: 130px;
	box-shadow:
		0 4px 18px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 235, 180, 0.08);
	position: relative;
	overflow: hidden;
}
body.tru-dark .city-jump-card.city-jump-card-gold:hover {
	border-color: var(--gold);
	border-left-color: var(--gold-2);
	background: linear-gradient(160deg,
		rgba(201, 169, 97, 0.2) 0%,
		rgba(138, 115, 64, 0.1) 60%,
		rgba(13, 13, 14, 0.4) 100%);
	transform: translateY(-2px);
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
	font-size: 28px;
	color: var(--gold-2);
	font-weight: 600;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-blurb {
	font-size: 14px;
	color: var(--ink-2);
	margin-top: 6px;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-arrow {
	color: var(--gold);
	font-size: 22px;
	top: 26px;
	right: 26px;
}
body.tru-dark .city-jump-card.city-jump-card-gold:hover .city-jump-arrow {
	color: var(--gold-2);
}
/* Subtle "ADVERTISER" eyebrow on gold cards via ::before */
body.tru-dark .city-jump-card.city-jump-card-gold::before {
	content: "ADVERTISER";
	position: absolute;
	top: 14px;
	left: 28px;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.28em;
	color: var(--gold);
	opacity: 0.7;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
	margin-top: 18px;  /* leave room for the eyebrow */
}

/* REGULAR ROW -- centered, fills available width up to a max */
body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	max-width: 1240px;
	margin: 0 auto;
	justify-content: center;
}

/* When there are exactly 5 regular cards, balance them as 5-up on wide
   screens so they don't stretch awkwardly. */
@media (min-width: 1100px) {
	body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* ---- 5. SIDEBAR -- two ads stacked with proper gap ---- */
body.tru-dark .city-hub-side {
	gap: 20px;
}

/* Mobile -- gold cards stack, regular row stays auto-fit */
@media (max-width: 760px) {
	body.tru-dark .city-hub-jumps-gold {
		grid-template-columns: 1fr;
		gap: 14px;
		margin-bottom: 22px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold {
		padding: 22px 24px 22px 22px;
		min-height: 0;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
		font-size: 24px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-arrow {
		top: 22px;
		right: 22px;
		font-size: 18px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold::before {
		top: 12px;
		left: 22px;
	}
	body.tru-dark .masthead.masthead-centered .masthead-inner > div {
		padding: 0 12px;
	}
}

/* ===== END PHASE 4 SESSION 33 -- CITY HUB POLISH + PREMIUM REDESIGN ======= */


/* ============================================================================
   PHASE 4 SESSION 33 PATCH 1 -- TIGHTER PREMIUM FRAME + CARD CENTERING
   --------------------------------------------------------------------------
   Round-2 fixes:
     1. Premium frame: the gold border-top + bracket from S33 was sitting on
        the OUTER slot (.tr-spot-slot.tr-spot-slot-premium), which has its
        own block padding/sizing -- so the frame extended much wider than
        the actual ad image. Moved the frame onto the AD CONTENT itself
        (the <a> inside the slot) so it hugs the rendered ad tightly.
        Outer slot becomes display:flex centered so house ads / paid ads /
        ribbon all sit clean.
     2. Card grid centering: explicitly center each row's grid cells with
        place-items: center and justify-content: center so 5 cards on a
        narrow viewport don't left-align awkwardly.
     3. More vertical breathing room between gold row and regular row.
     4. Drop "Reviews" from the H1 -- handled in HTML, not CSS, but we keep
        the .title em styling intact for any other page that uses it.
   ============================================================================ */

/* ---- 1. PREMIUM FRAME tightened around the ad ----
   Strip the frame from the outer slot; apply it to the inner anchor so the
   gold border hugs the actual rendered ad pixels. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium {
	border-top: 0;
	box-shadow: none;
	background: transparent;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-premium::after {
	content: none;  /* remove outer bottom-left bracket */
}
/* Reposition the FEATURED ribbon: relative to the inner ad link (which is
   now the framed element). Drop the ribbon from the outer slot. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium::before {
	content: none;
}

/* The actual ad anchor inside a premium slot gets the gold frame. The
   loader renders different inner structures: a paid ad uses <a class=tr-spot-link>
   (or the demo SVG markup), a fallback house ad uses <a class=tr-spot-house>.
   Target both. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link,
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house,
body.tru-dark .tr-spot-slot.tr-spot-slot-premium > a {
	position: relative;
	display: inline-block;
	border-top: 2px solid var(--gold);
	transition: border-color 0.2s ease;
}
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link:hover,
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house:hover {
	border-top-color: var(--gold-2);
}
/* FEATURED ribbon now anchored to the inner ad link */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link::before,
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house::before {
	content: "FEATURED";
	position: absolute;
	top: -2px;
	right: 0;
	z-index: 3;
	display: inline-block;
	padding: 4px 12px 4px 14px;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: #1a140a;
	background: linear-gradient(180deg,
		var(--gold-2) 0%,
		var(--gold) 55%,
		var(--gold-3) 100%);
	border-left: 1px solid rgba(255, 235, 180, 0.4);
	box-shadow:
		0 2px 6px rgba(0, 0, 0, 0.5),
		inset 0 1px 0 rgba(255, 235, 180, 0.4),
		inset 0 -1px 0 rgba(0, 0, 0, 0.2);
	pointer-events: none;
	white-space: nowrap;
}
/* Bottom-left corner bracket on the inner ad */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link::after,
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 24px;
	height: 24px;
	border-left: 1px solid var(--gold);
	border-bottom: 1px solid var(--gold);
	pointer-events: none;
	opacity: 0.55;
}

/* The disclosure label ("FEATURED ADVERTISER" / "Sponsored") sits below
   the slot. Keep it centered and let it span full slot width. */
body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-disclosure {
	margin-top: 6px;
	width: 100%;
	text-align: center;
}

/* Mobile -- thinner border, smaller bracket, smaller ribbon */
@media (max-width: 720px) {
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link,
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house,
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium > a {
		border-top-width: 1px;
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link::after,
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house::after {
		width: 16px;
		height: 16px;
	}
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-link::before,
	body.tru-dark .tr-spot-slot.tr-spot-slot-premium .tr-spot-house::before {
		padding: 3px 9px;
		font-size: 8px;
		letter-spacing: 0.18em;
	}
}

/* ---- 2. CARD CENTERING ----
   Force grids to center their content. */
body.tru-dark .city-hub-jumps-gold {
	justify-content: center;
	place-items: stretch center;
}
body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
	justify-content: center;
	place-items: stretch center;
}

/* ---- 3. MORE SPACE BETWEEN GOLD ROW AND REGULAR ROW ---- */
body.tru-dark .city-hub-jumps-gold {
	margin-bottom: 48px;  /* up from 28px */
}
@media (max-width: 760px) {
	body.tru-dark .city-hub-jumps-gold {
		margin-bottom: 36px;
	}
}

/* ===== END PHASE 4 SESSION 33 PATCH 1 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 33 PATCH 2 -- ROW LAYOUT + ITALIC CLIPPING + DAILY EYEBROW
   --------------------------------------------------------------------------
   Round-3 fixes:
     1. Regular-row cards (5 of them) were wrapping to two rows on mid-width
        viewports because the auto-fit minmax(220px, 1fr) lets cells wrap
        when 5 * 220 + gaps > container. Switch to fixed 5-column layout
        with explicit responsive breakpoints so the row stays balanced.
     2. Both rows constrained to the same max-width (1100px) so they
        visually align as one centered block.
     3. Italic gold em text (e.g. "Toronto" in "Latest Toronto Posts" and
        "Sections") was getting clipped by -webkit-background-clip: text
        combined with tight line-height. Fix: padding + overflow:visible +
        slightly looser line-height. Inline-block contains the gradient.
     4. "Daily Schedules" eyebrow above the gold-jumps row, rendered via
        ::before so the generator doesn't need to know about it.
   ============================================================================ */

/* ---- 1+2. CARD GRID LAYOUT ---- */
body.tru-dark .city-hub-jumps-gold {
	max-width: 1100px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Regular row: fixed 5-up on wide screens, 3-up on tablet, 2-up on small,
   1-up on mobile. No auto-fit -- cells stay equal-width and don't wrap
   awkwardly. */
body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
	max-width: 1100px;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 1099px) {
	body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
		grid-template-columns: 1fr;
	}
}

/* Override the older S33 wide-screen rule that forced 5-up; the rules
   above now handle that responsively without an arbitrary breakpoint. */
@media (min-width: 1100px) {
	body.tru-dark .city-hub-section.city-hub-section-centered .city-hub-jumps {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* Smaller card padding so 5-up fits nicely at 1100px */
body.tru-dark .city-hub-section.city-hub-section-centered .city-jump-card:not(.city-jump-card-gold) {
	padding: 18px 22px 18px 18px;
}
body.tru-dark .city-hub-section.city-hub-section-centered .city-jump-card:not(.city-jump-card-gold) .city-jump-name {
	font-size: 19px;
	line-height: 1.15;
}
body.tru-dark .city-hub-section.city-hub-section-centered .city-jump-card:not(.city-jump-card-gold) .city-jump-blurb {
	font-size: 12px;
	line-height: 1.4;
}
body.tru-dark .city-hub-section.city-hub-section-centered .city-jump-card:not(.city-jump-card-gold) .city-jump-arrow {
	top: 18px;
	right: 18px;
	font-size: 16px;
}

/* ---- 3. ITALIC GOLD EM CLIPPING FIX ---- */
body.tru-dark .city-hub-section-title {
	line-height: 1.18;
	overflow: visible;
}
body.tru-dark .city-hub-section-title em {
	display: inline-block;
	padding: 0 0.06em 0.04em 0.04em;
	overflow: visible;
	line-height: 1.18;
}

/* Same italic-gold treatment in the homepage masthead title (h1.title em) */
body.tru-dark .masthead .title em {
	display: inline-block;
	padding: 0 0.06em 0.04em 0.04em;
	overflow: visible;
}

/* ---- 4. "DAILY SCHEDULES" EYEBROW ABOVE GOLD ROW ---- */
body.tru-dark .city-hub-jumps-gold {
	position: relative;
	padding-top: 28px;  /* room for the eyebrow */
}
body.tru-dark .city-hub-jumps-gold::before {
	content: "Daily Schedules";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: var(--gold-2);
	white-space: nowrap;
}

@media (max-width: 760px) {
	body.tru-dark .city-hub-jumps-gold {
		padding-top: 24px;
	}
	body.tru-dark .city-hub-jumps-gold::before {
		font-size: 9px;
		letter-spacing: 0.24em;
	}
}

/* ===== END PHASE 4 SESSION 33 PATCH 2 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 33 PATCH 3 -- BAND REDESIGN (DAILY SCHEDULES + REVIEWS)
   --------------------------------------------------------------------------
   Drops the old "Browse / Toronto Sections" header entirely. Replaces it
   with two clearly-labelled, centered rows:

     [eyebrow] DAILY SCHEDULES
     [ Toronto Agencies card ]    [ Toronto Massage Parlours card ]

     [eyebrow] REVIEWS
     [Inc][Out][Indep][Massage][Jobs]

   Both rows share an identical 980px max-width and use the same flex
   centering pattern, so they visually align as a single unified band.
   Gold cards get a richer treatment to stand out (corner bracket, lift on
   hover, stronger gradient + shadow). Regular cards stay restrained.
   ============================================================================ */

/* ---- CONTAINER + EYEBROW ---- */
body.tru-dark .city-hub-row {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
body.tru-dark .city-hub-row + .city-hub-row {
	margin-top: 56px;
}
body.tru-dark .city-hub-eyebrow {
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.36em;
	text-transform: uppercase;
	color: var(--gold-2);
	text-align: center;
	margin: 0 0 18px 0;
	position: relative;
}
/* Hairline accents flanking the eyebrow text -- editorial flourish */
body.tru-dark .city-hub-eyebrow::before,
body.tru-dark .city-hub-eyebrow::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 36px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--gold-3) 100%);
	margin: 0 14px 3px 14px;
}
body.tru-dark .city-hub-eyebrow::after {
	background: linear-gradient(90deg, var(--gold-3) 0%, transparent 100%);
}

/* ---- RESET / OVERRIDE the old PATCH 2 pseudo-eyebrow on .city-hub-jumps-gold
        (now superseded by a real .city-hub-eyebrow element). ---- */
body.tru-dark .city-hub-jumps-gold {
	padding-top: 0;
	margin-bottom: 0;
}
body.tru-dark .city-hub-jumps-gold::before {
	content: none;
}

/* ---- GOLD ROW: 2 cards side by side, identical width to the band ---- */
body.tru-dark .city-hub-row-gold .city-hub-jumps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	max-width: 100%;
	margin: 0;
}

/* ---- GOLD CARD: enhanced presence ---- */
body.tru-dark .city-jump-card.city-jump-card-gold {
	min-height: 168px;
	padding: 32px 36px 30px 32px;
	background: linear-gradient(155deg,
		rgba(201, 169, 97, 0.18) 0%,
		rgba(201, 169, 97, 0.06) 45%,
		rgba(13, 13, 14, 0.6) 100%);
	border: 1px solid var(--gold-3);
	border-left: 4px solid var(--gold);
	box-shadow:
		0 6px 24px rgba(0, 0, 0, 0.55),
		inset 0 1px 0 rgba(255, 235, 180, 0.12);
	position: relative;
	overflow: hidden;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}
body.tru-dark .city-jump-card.city-jump-card-gold:hover {
	transform: translateY(-3px);
	border-color: var(--gold);
	border-left-color: var(--gold-2);
	box-shadow:
		0 10px 32px rgba(0, 0, 0, 0.65),
		0 0 0 1px rgba(201, 169, 97, 0.25),
		inset 0 1px 0 rgba(255, 235, 180, 0.18);
}
/* Bottom-right corner bracket -- ties to the premium ad frame language */
body.tru-dark .city-jump-card.city-jump-card-gold::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 28px;
	height: 28px;
	border-right: 1px solid var(--gold);
	border-bottom: 1px solid var(--gold);
	pointer-events: none;
	opacity: 0.5;
}
/* ADVERTISER eyebrow on each gold card */
body.tru-dark .city-jump-card.city-jump-card-gold::before {
	content: "ADVERTISER";
	position: absolute;
	top: 16px;
	left: 32px;
	font-family: var(--f-sans), 'Raleway', sans-serif;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.32em;
	color: var(--gold);
	opacity: 0.75;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
	margin-top: 22px;
	font-size: 28px;
	color: var(--gold-2);
	font-weight: 600;
	line-height: 1.15;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-blurb {
	font-size: 14px;
	color: var(--ink-2);
	margin-top: 8px;
	line-height: 1.5;
	max-width: 92%;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-arrow {
	color: var(--gold);
	font-size: 22px;
	top: 30px;
	right: 30px;
}
body.tru-dark .city-jump-card.city-jump-card-gold:hover .city-jump-arrow {
	color: var(--gold-2);
	transform: translateX(4px);
}

/* ---- REGULAR ROW: 5 cards, identical band width, balanced ---- */
body.tru-dark .city-hub-row-reviews .city-hub-jumps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	max-width: 100%;
	margin: 0;
}

/* Override the older PATCH 2 5-col rule's media-query bracketing -- our new
   rule above wins because it's later, but lock down responsive behavior: */
@media (max-width: 1099px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: 1fr;
	}
}

/* Regular review cards -- restrained, dark, smaller than gold */
body.tru-dark .city-hub-row-reviews .city-jump-card:not(.city-jump-card-gold) {
	padding: 18px 22px 18px 18px;
	background: var(--paper-2, #111113);
}
body.tru-dark .city-hub-row-reviews .city-jump-card .city-jump-name {
	font-size: 19px;
	line-height: 1.18;
}
body.tru-dark .city-hub-row-reviews .city-jump-card .city-jump-blurb {
	font-size: 12px;
	line-height: 1.4;
}
body.tru-dark .city-hub-row-reviews .city-jump-card .city-jump-arrow {
	top: 18px;
	right: 18px;
	font-size: 16px;
}

/* ---- Vancouver / Ottawa: only the "Reviews" row exists, single card.
        Center the single card and constrain its width so it doesn't
        stretch to the full band. ---- */
body.tru-dark .city-hub-row-reviews .city-hub-jumps:has(> :only-child) {
	grid-template-columns: minmax(0, 360px);
	justify-content: center;
}

/* ---- MOBILE: stack everything cleanly ---- */
@media (max-width: 760px) {
	body.tru-dark .city-hub-row {
		max-width: 100%;
	}
	body.tru-dark .city-hub-row + .city-hub-row {
		margin-top: 40px;
	}
	body.tru-dark .city-hub-row-gold .city-hub-jumps {
		grid-template-columns: 1fr;
		gap: 14px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold {
		min-height: 0;
		padding: 24px 26px 22px 24px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
		font-size: 24px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-arrow {
		top: 24px;
		right: 24px;
		font-size: 18px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold::before {
		top: 14px;
		left: 24px;
	}
	body.tru-dark .city-hub-eyebrow {
		font-size: 10px;
		letter-spacing: 0.28em;
	}
	body.tru-dark .city-hub-eyebrow::before,
	body.tru-dark .city-hub-eyebrow::after {
		width: 24px;
		margin: 0 10px 3px 10px;
	}
}

/* ===== END PHASE 4 SESSION 33 PATCH 3 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 33 PATCH 4 -- BIGGER CITY MASTHEAD + CENTERING FIX
   --------------------------------------------------------------------------
   Round-4 feedback:
     1. The city H1 ("Toronto") should be much more prominent on the city
        hub pages -- it's the page's hero, single word, deserves big serif.
     2. The Daily Schedules cards still aren't centered. Root cause: across
        S32-S33 PATCH 1/2/3, .city-hub-jumps-gold accumulated 7 different
        max-width / margin / padding rules. The cascade is fighting itself.
        Reset the inner grid completely and let the OUTER .city-hub-row
        own the width + centering. Inner grids fill 100% width inside.
     3. Cards "fatter horizontally" -- bump the row max-width to 1080px so
        both gold and review rows have more horizontal real estate.
     4. Bigger eyebrow labels for "DAILY SCHEDULES" and "REVIEWS".
   ============================================================================ */

/* ---- 1. BIGGER CITY HUB MASTHEAD H1 ---- */
body.tru-dark .masthead.masthead-centered .title {
	font-size: clamp(56px, 8vw, 96px);
	line-height: 1;
	letter-spacing: -0.035em;
	font-weight: 400;
	margin: 8px 0 14px 0;
}
@media (max-width: 720px) {
	body.tru-dark .masthead.masthead-centered .title {
		font-size: clamp(48px, 12vw, 72px);
	}
}
/* Override the older 32px / 40px !important mobile breakpoints from
   the legacy stylesheet -- those targeted .masthead .title generally and
   were too small for the centered single-word city headlines. */
@media (max-width: 720px) {
	body.tru-dark .masthead.masthead-centered .title {
		font-size: clamp(48px, 12vw, 72px) !important;
	}
}

/* Tagline a touch bigger / more spaced too, to match the bigger H1 */
body.tru-dark .masthead.masthead-centered .tagline {
	font-size: 16px;
	line-height: 1.55;
	max-width: 640px;
	margin-top: 6px;
}

/* ---- 2. RESET + CENTERING FIX ----
   Wipe accumulated max-widths from the inner grids; let the OUTER row
   container own the band width. Inner grids fill 100% and stay centered
   within the row. */
body.tru-dark .city-hub-row {
	width: 100%;
	max-width: 1080px;       /* up from 980px -- more horizontal room */
	margin-left: auto;
	margin-right: auto;
}
body.tru-dark .city-hub-row .city-hub-jumps,
body.tru-dark .city-hub-row .city-hub-jumps-gold {
	max-width: 100%;          /* fill the row exactly */
	width: 100%;
	margin: 0;
	padding-top: 0;           /* kill the PATCH 2 padding-top */
	padding-bottom: 0;
}
body.tru-dark .city-hub-row .city-hub-jumps-gold::before {
	content: none !important; /* bury the old PATCH 2 pseudo-eyebrow once and for all */
}

/* Kill the old S33 PATCH 1 margin-bottom on .city-hub-jumps-gold -- the
   .city-hub-row gap from PATCH 3 (`+ .city-hub-row { margin-top: 56px }`)
   handles spacing between rows now. */
body.tru-dark .city-hub-row .city-hub-jumps-gold {
	margin-bottom: 0 !important;
}

/* Re-assert the gold row grid on the inner element, scoped tighter so it
   wins specificity against the older rules. */
body.tru-dark .city-hub-row-gold .city-hub-jumps-gold {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

/* Re-assert the regular-row grid the same way */
body.tru-dark .city-hub-row-reviews .city-hub-jumps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 14px;
}
@media (max-width: 1099px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 480px) {
	body.tru-dark .city-hub-row-reviews .city-hub-jumps {
		grid-template-columns: 1fr;
	}
}

/* ---- 3. GOLD CARDS WIDER + TALLER ---- */
body.tru-dark .city-jump-card.city-jump-card-gold {
	min-height: 184px;
	padding: 36px 40px 32px 36px;
}
body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
	font-size: 30px;
}

/* ---- 4. BIGGER EYEBROW LABELS ---- */
body.tru-dark .city-hub-eyebrow {
	font-size: 14px;
	letter-spacing: 0.4em;
	margin-bottom: 22px;
}
body.tru-dark .city-hub-eyebrow::before,
body.tru-dark .city-hub-eyebrow::after {
	width: 56px;
	margin: 0 18px 4px 18px;
}

/* Mobile -- keep masthead readable, eyebrows scale down a bit */
@media (max-width: 760px) {
	body.tru-dark .city-hub-row {
		max-width: 100%;
	}
	body.tru-dark .city-hub-eyebrow {
		font-size: 12px;
		letter-spacing: 0.3em;
	}
	body.tru-dark .city-hub-eyebrow::before,
	body.tru-dark .city-hub-eyebrow::after {
		width: 28px;
		margin: 0 12px 3px 12px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold {
		min-height: 0;
		padding: 26px 28px 24px 26px;
	}
	body.tru-dark .city-jump-card.city-jump-card-gold .city-jump-name {
		font-size: 24px;
	}
}

/* ===== END PHASE 4 SESSION 33 PATCH 4 ==================================== */


/* ============================================================================
   PHASE 4 SESSION 33 PATCH 5 -- HARD RESET ON CITY HUB BAND
   --------------------------------------------------------------------------
   Diagnosis: across S32 + 4 patches, .city-hub-jumps-gold has been
   declared 20 times in the cascade with conflicting max-widths, margins,
   and paddings. The browser is honoring the "winning" rule per property
   from different rule sets, producing visual offsets.

   Fix: stop appending more rules. Write one block at the END of the
   file that wins every battle via highest specificity + !important on
   the layout-critical properties. Use FLEX on the section parent to
   force absolute centering of the grids regardless of grid widths --
   that way even if a stale max-width sneaks through, the flex parent
   centers the child anyway.
   ============================================================================ */

/* ---- Section parent becomes a flex column that centers everything ---- */
body.tru-dark main.city-hub > section.city-hub-section.city-hub-section-centered {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	padding: 0 !important;
}

/* ---- Each row inside is its own flex item; flex centers it horizontally ---- */
body.tru-dark main.city-hub > section.city-hub-section.city-hub-section-centered > .city-hub-row {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 1200px !important;       /* fatter -- up from 1080px */
	margin: 0 !important;
	padding: 0 !important;
}
body.tru-dark main.city-hub > section.city-hub-section.city-hub-section-centered > .city-hub-row + .city-hub-row {
	margin-top: 64px !important;
}

/* ---- The eyebrow inside the row -- centered text ---- */
body.tru-dark main.city-hub .city-hub-row > .city-hub-eyebrow {
	width: 100% !important;
	text-align: center !important;
	margin: 0 0 24px 0 !important;
	font-size: 14px !important;
	letter-spacing: 0.4em !important;
}

/* ---- Gold inner grid: fills the row, no extra width logic ---- */
body.tru-dark main.city-hub .city-hub-row-gold > .city-hub-jumps-gold {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 26px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}
body.tru-dark main.city-hub .city-hub-row-gold > .city-hub-jumps-gold::before {
	content: none !important;
}

/* ---- Regular inner grid: same treatment, 5-up at desktop ---- */
body.tru-dark main.city-hub .city-hub-row-reviews > .city-hub-jumps {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

/* ---- Gold cards: visibly bigger and chunkier ---- */
body.tru-dark main.city-hub .city-jump-card.city-jump-card-gold {
	min-height: 200px !important;
	padding: 38px 42px 34px 38px !important;
}
body.tru-dark main.city-hub .city-jump-card.city-jump-card-gold .city-jump-name {
	font-size: 32px !important;
}

/* ---- Responsive ---- */
@media (max-width: 1099px) {
	body.tru-dark main.city-hub .city-hub-row-reviews > .city-hub-jumps {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 760px) {
	body.tru-dark main.city-hub .city-hub-row-gold > .city-hub-jumps-gold {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}
	body.tru-dark main.city-hub .city-hub-row-reviews > .city-hub-jumps {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	body.tru-dark main.city-hub > section.city-hub-section.city-hub-section-centered > .city-hub-row + .city-hub-row {
		margin-top: 44px !important;
	}
	body.tru-dark main.city-hub .city-jump-card.city-jump-card-gold {
		min-height: 0 !important;
		padding: 28px 30px 26px 28px !important;
	}
	body.tru-dark main.city-hub .city-jump-card.city-jump-card-gold .city-jump-name {
		font-size: 26px !important;
	}
}
@media (max-width: 480px) {
	body.tru-dark main.city-hub .city-hub-row-reviews > .city-hub-jumps {
		grid-template-columns: 1fr !important;
	}
}

/* ===== END PHASE 4 SESSION 33 PATCH 5 ==================================== */


/* ===== Phase 4 Session 34 - Internal Linking Round 3 ====================== */
/* City-hub backlink on viewforum pages. Replaces the redundant FORUM_NAME    */
/* kicker with a tappable "<- Toronto" link to the city hub.                  */
/*                                                                            */
/* Mobile-first considerations:                                               */
/*  - vertical padding gives a 44px+ tap target on phones                     */
/*  - inline-block keeps the link only as wide as its text                    */
/*  - text-decoration is off until hover/focus to keep the kicker clean       */

.tru-dark a.forum-masthead-kicker.tr-city-back,
.tru-dark a.forum-masthead-kicker.tr-city-back:link,
.tru-dark a.forum-masthead-kicker.tr-city-back:visited {
	display: inline-block;
	padding: 8px 4px 8px 0;
	margin-bottom: 8px;
	color: var(--gold);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
	cursor: pointer;
}
.tru-dark a.forum-masthead-kicker.tr-city-back:hover,
.tru-dark a.forum-masthead-kicker.tr-city-back:focus {
	color: var(--gold-2);
	border-bottom-color: var(--gold);
	text-decoration: none;
	transform: translateX(-2px);
}
/* Slightly larger tap target on small screens for better mobile usability.   */
@media (max-width: 600px) {
	.tru-dark a.forum-masthead-kicker.tr-city-back,
	.tru-dark a.forum-masthead-kicker.tr-city-back:link,
	.tru-dark a.forum-masthead-kicker.tr-city-back:visited {
		padding: 10px 6px 10px 0;
		margin-bottom: 6px;
	}
}

/* ===== END Phase 4 Session 34 ============================================= */


/* ===== Phase 4 Session 35 - Internal Linking Round 3 (City <-> City) ====== */
/* Other Cities cross-link rail at the bottom of every city hub. Three cards  */
/* link to the OTHER three city hubs with descriptive, varied anchor text.    */
/*                                                                            */
/* Mobile-first: single column on phones, 2 col >= 600px, 3 col >= 900px.     */
/* Each card is a full anchor element so the whole card is a tap target.      */

body.tru-dark .city-hub-other-cities {
	max-width: 1080px;
	margin: 56px auto 0;
	padding: 40px 24px 16px;
	border-top: 1px solid var(--gold-3);
}
body.tru-dark .other-cities-head {
	text-align: center;
	margin-bottom: 28px;
}
body.tru-dark .other-cities-eyebrow {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 8px;
}
body.tru-dark .other-cities-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 400;
	font-style: italic;
	color: var(--ink);
	margin: 0;
	line-height: 1.05;
}
body.tru-dark .other-cities-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

/* Individual card styling: editorial-dark, subtle gold border, hover nudge.  */
body.tru-dark .other-city-card,
body.tru-dark .other-city-card:link,
body.tru-dark .other-city-card:visited {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto auto;
	grid-template-areas:
		"region arrow"
		"name   arrow"
		"tag    arrow";
	align-items: center;
	gap: 4px 16px;
	padding: 22px 22px 22px 24px;
	background: rgba(255, 255, 255, 0.015);
	border: 1px solid var(--gold-3);
	border-radius: 2px;
	text-decoration: none;
	color: var(--ink);
	transition:
		border-color 0.2s ease,
		background 0.2s ease,
		transform 0.2s ease;
	min-height: 96px;
}
body.tru-dark .other-city-card:hover,
body.tru-dark .other-city-card:focus {
	border-color: var(--gold);
	background: rgba(201, 169, 97, 0.04);
	transform: translateY(-2px);
	text-decoration: none;
}
body.tru-dark .other-city-card:hover .other-city-arrow,
body.tru-dark .other-city-card:focus .other-city-arrow {
	color: var(--gold);
	transform: translateX(4px);
}

body.tru-dark .other-city-region {
	grid-area: region;
	font-family: var(--f-sans);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--gold);
	text-transform: uppercase;
}
body.tru-dark .other-city-name {
	grid-area: name;
	font-family: var(--f-serif);
	font-size: 26px;
	font-weight: 400;
	color: var(--ink);
	line-height: 1.05;
}
body.tru-dark .other-city-tag {
	grid-area: tag;
	font-family: var(--f-sans);
	font-size: 13px;
	font-style: italic;
	color: var(--ink-2);
	line-height: 1.4;
}
body.tru-dark .other-city-arrow {
	grid-area: arrow;
	font-family: var(--f-serif);
	font-size: 28px;
	color: var(--gold-2);
	transition: color 0.2s ease, transform 0.2s ease;
	line-height: 1;
}

/* Tablet: two columns once we have room. Three cards => 2+1 layout.          */
@media (min-width: 600px) {
	body.tru-dark .other-cities-grid {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
	}
	body.tru-dark .other-cities-title {
		font-size: 44px;
	}
}

/* Desktop: three columns. Three cards => clean 3-up rail.                    */
@media (min-width: 900px) {
	body.tru-dark .city-hub-other-cities {
		padding: 56px 24px 24px;
	}
	body.tru-dark .other-cities-grid {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 18px;
	}
	body.tru-dark .other-city-card,
	body.tru-dark .other-city-card:link,
	body.tru-dark .other-city-card:visited {
		padding: 24px 22px 24px 26px;
		min-height: 108px;
	}
	body.tru-dark .other-city-name {
		font-size: 28px;
	}
}

/* Tighter on very small phones to keep things breathable.                    */
@media (max-width: 480px) {
	body.tru-dark .city-hub-other-cities {
		margin-top: 40px;
		padding: 32px 16px 12px;
	}
	body.tru-dark .other-cities-title {
		font-size: 32px;
	}
	body.tru-dark .other-city-card,
	body.tru-dark .other-city-card:link,
	body.tru-dark .other-city-card:visited {
		padding: 18px 18px 18px 20px;
		min-height: 88px;
	}
	body.tru-dark .other-city-name {
		font-size: 23px;
	}
	body.tru-dark .other-city-tag {
		font-size: 12.5px;
	}
	body.tru-dark .other-city-arrow {
		font-size: 24px;
	}
}

/* ===== END Phase 4 Session 35 ============================================= */


/* ===== Phase 4 Session 36 - Internal Linking Round 3c (Static -> Cities) == */
/* The .city-hub-all-cities chain class is added to the rail on STATIC pages  */
/* (directory, services, advertise, etc.) where we want all 4 cities, not 3. */
/*                                                                            */
/* Inherits all base styling from .city-hub-other-cities (S35). The only      */
/* override needed is the desktop grid: at 900px+ go 4-up instead of 3-up so  */
/* a fourth card doesn't hang on a second row.                                */
/*                                                                            */
/* Mobile (default)  : 1 col  -> 4 stacked cards                              */
/* >= 600px (tablet) : 2 cols -> 2x2 layout (clean for 4 cards)               */
/* >= 900px (desktop): 4 cols -> 1x4 row                                      */
/* >= 1200px         : keeps 4 cols but cards have a touch more padding       */

@media (min-width: 900px) {
	body.tru-dark .city-hub-all-cities .other-cities-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: 16px;
	}
	/* Slightly tighter card padding so 4 narrower cards still feel right.    */
	body.tru-dark .city-hub-all-cities .other-city-card,
	body.tru-dark .city-hub-all-cities .other-city-card:link,
	body.tru-dark .city-hub-all-cities .other-city-card:visited {
		padding: 22px 18px 22px 22px;
	}
	body.tru-dark .city-hub-all-cities .other-city-name {
		font-size: 25px;
	}
	body.tru-dark .city-hub-all-cities .other-city-tag {
		font-size: 12.5px;
	}
}
@media (min-width: 1200px) {
	body.tru-dark .city-hub-all-cities .other-city-card,
	body.tru-dark .city-hub-all-cities .other-city-card:link,
	body.tru-dark .city-hub-all-cities .other-city-card:visited {
		padding: 24px 22px 24px 26px;
	}
	body.tru-dark .city-hub-all-cities .other-city-name {
		font-size: 28px;
	}
}

/* ===== END Phase 4 Session 36 ============================================= */


/* ===== Phase 4 Session 37 - Internal Linking Round 3d (Footer Cities col) = */
/* The phpBB footer (overall_footer.html) now has a 6th column (Cities) for   */
/* sitewide city-hub backlinks. Static pages still have 5. Use auto-fit so    */
/* the desktop grid adapts to whatever number of children each page has,      */
/* without leaving an empty grid cell on 5-child pages or wrapping on 6.      */
/*                                                                            */
/* The brand column stays explicit (1.5fr) so it remains visibly wider; the   */
/* nav columns auto-fit at >= 140px each. Tablet (1fr 1fr) and mobile (1fr)   */
/* rules from earlier in the stylesheet still apply unchanged.                */

body.tru-dark .footer-top {
	grid-template-columns: 1.5fr repeat(auto-fit, minmax(140px, 1fr));
}

/* Mobile (the full-stack break) is already 1fr (line 4297). Tablet (1fr 1fr) */
/* at line 4056 still works for 5- or 6-child grids. No further override.     */

/* ===== END Phase 4 Session 37 ============================================= */


/* ===== Phase 4 Session 38 - Latest Posts on parent city forums (f=5/f=3) == */
/* Adds a content-rich Latest Posts feed to the two parent city forums so     */
/* they aren't "thin" pages of subforum links only. Uses the same             */
/* .tr-spot-recent loader as the city hubs (powered by /spot/loader.js).      */
/*                                                                            */
/* Visual approach: editorial-dark section header (gold eyebrow, italic       */
/* serif h2 with em accent on the city name), then the populated feed below.  */
/* Mobile-first: padding, max-width and typography scale down on small        */
/* viewports so the section reads cleanly on phones.                          */

body.tru-dark .tr-parent-recent {
	max-width: 1080px;
	margin: 36px auto 24px;
	padding: 0 4px;
}
body.tru-dark .tr-parent-recent-head {
	text-align: center;
	margin: 0 0 22px;
	padding-top: 12px;
	border-top: 1px solid var(--gold-3);
	padding-block-start: 28px;
}
body.tru-dark .tr-parent-recent-kicker {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	color: var(--gold);
	text-transform: uppercase;
	margin-bottom: 8px;
}
body.tru-dark .tr-parent-recent-title {
	font-family: var(--f-serif);
	font-size: 38px;
	font-weight: 400;
	color: var(--ink);
	margin: 0;
	line-height: 1.05;
}
body.tru-dark .tr-parent-recent-title em {
	font-style: italic;
	color: var(--gold-2);
}
body.tru-dark .tr-parent-recent-feed {
	min-height: 80px;
}

/* Tablet bump: a touch more headline weight when there's room. */
@media (min-width: 700px) {
	body.tru-dark .tr-parent-recent-title {
		font-size: 44px;
	}
	body.tru-dark .tr-parent-recent {
		margin-top: 44px;
	}
}

/* Tighten on small phones so it doesn't dominate the viewport. */
@media (max-width: 480px) {
	body.tru-dark .tr-parent-recent {
		margin: 28px auto 16px;
	}
	body.tru-dark .tr-parent-recent-head {
		padding-block-start: 22px;
		margin-bottom: 16px;
	}
	body.tru-dark .tr-parent-recent-title {
		font-size: 30px;
	}
}

/* ===== END Phase 4 Session 38 ============================================= */

