/*
--------------------------------------------------------------
Bast Alpha Garrison — brand theme for phpBB 3.3.x (prosilver child)

Matches the WordPress / Elementor site kit at https://dev.la501st.com/
(sampled from live Elementor kit post-5.css + page CSS):
  Primary / accent:  #D71920 (--e-global-color-primary / accent)
  Secondary:         #111111
  Background:        #050505
  Surface:           #141414 / #1F1F1F
  Text:              #FFFFFF / #E0E0E0 (body) / #C8C8C8 (meta)
  Nav links:         #F5F5F5 (hover #D71920)
  Border:            #333333
  Display font:      Vaders Fist
  UI font:           Roboto
-------------------------------------------------------------- */

@font-face {
	font-family: "Vaders Fist";
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url("./fonts/VADERS_FIST.woff2") format("woff2");
}

:root {
	--ba-primary: #d71920;
	--ba-secondary: #111111;
	--ba-bg: #050505;
	--ba-surface: #141414;
	--ba-surface-2: #1f1f1f;
	--ba-surface-3: #2a2a2a;
	--ba-border: #333333;
	--ba-text: #ffffff;
	--ba-muted: #e0e0e0;
	--ba-meta: #c8c8c8;
	/* Nav / chrome links stay light; accent red is hover / CTA / icons only */
	--ba-link: #f5f5f5;
	--ba-link-hover: #d71920;
	--ba-accent-link: #d71920;
	--ba-radius: 0;
	--ba-font: "Roboto", "Open Sans", Helvetica, Arial, sans-serif;
	--ba-display: "Vaders Fist", "Roboto", sans-serif;
}

/* Base
---------------------------------------- */
html,
body {
	color: var(--ba-muted);
	background-color: var(--ba-bg);
	background-image:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(215, 25, 32, 0.18), transparent 55%),
		linear-gradient(180deg, #0a0a0a 0%, #050505 40%, #080808 100%);
	background-attachment: fixed;
	font-family: var(--ba-font);
}

h1,
h2,
h3,
.site-description h1,
.forumtitle,
.topictitle,
.message-title,
.postbody h3,
.panel-heading,
.tabs .tab > a {
	font-family: var(--ba-display);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

h1 {
	color: var(--ba-text);
}

h2 {
	color: var(--ba-text);
}

h3 {
	border-bottom-color: var(--ba-border);
	color: var(--ba-text);
}

hr {
	border-color: var(--ba-border);
	border-top-color: var(--ba-border);
}

/* Links — light on dark; #D71920 only on hover / in-post accents
---------------------------------------- */
a {
	color: var(--ba-link);
}

a:hover {
	color: var(--ba-link-hover);
}

.forumbg .header a,
.forabg .header a,
th a {
	color: #ffffff;
}

.forumbg .header a:hover,
.forabg .header a:hover,
th a:hover {
	color: var(--ba-primary);
}

.postlink {
	border-bottom-color: var(--ba-primary);
	color: var(--ba-accent-link);
}

.postlink:visited {
	border-bottom-color: #9a1218;
	color: #f0a0a4;
}

.postlink:hover {
	background-color: rgba(215, 25, 32, 0.15);
	color: var(--ba-text);
}

.arrow-left:hover,
.arrow-right:hover {
	color: var(--ba-primary);
}

/* Layout chrome
---------------------------------------- */
.wrap {
	max-width: 1200px;
	background-color: var(--ba-surface);
	border-color: var(--ba-border);
	border-radius: var(--ba-radius);
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.45);
}

.headerbar {
	color: var(--ba-text);
	background: var(--ba-secondary);
	background-image: none;
	border-radius: var(--ba-radius);
	border-bottom: 3px solid var(--ba-primary);
	margin-bottom: 0;
	padding: 12px 16px;
}

.headerbar,
.forumbg {
	background-color: var(--ba-secondary);
	background-image: none;
}

.forabg,
.forumbg {
	background-color: var(--ba-secondary);
	background-image: none;
	border-radius: var(--ba-radius);
	border-top: 3px solid var(--ba-primary);
	padding: 0;
}

.forabg .header,
.forumbg .header,
th {
	background: transparent;
	color: #ffffff;
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 14px;
}

.navbar {
	background-color: #0d0d0d;
	border-radius: var(--ba-radius);
	border: 1px solid var(--ba-border);
	border-top: none;
}

.panel {
	background-color: var(--ba-surface-2);
	color: var(--ba-muted);
	border-radius: var(--ba-radius);
	border: 1px solid var(--ba-border);
}

.bg1,
table.zebra-list tr:nth-child(odd) td,
ul.zebra-list li:nth-child(odd) {
	background-color: var(--ba-surface-2);
}

.bg2,
table.zebra-list tr:nth-child(even) td,
ul.zebra-list li:nth-child(even) {
	background-color: var(--ba-surface-3);
}

.bg3 {
	background-color: #101010;
}

.ucprowbg,
.well {
	background-color: var(--ba-surface-2);
}

/* Brand site strip (WordPress parity)
---------------------------------------- */
.ba-site-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 18px;
	padding: 10px 16px;
	background: var(--ba-bg);
	border-bottom: 1px solid var(--ba-border);
}

.ba-site-nav__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--ba-text);
	text-decoration: none;
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 18px;
}

.ba-site-nav__brand:hover {
	color: var(--ba-primary);
	text-decoration: none;
}

.ba-site-nav__crest {
	width: 40px;
	height: 47px;
	object-fit: contain;
	display: block;
}

.ba-site-nav__links {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.ba-site-nav__links a {
	color: var(--ba-text);
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 14px;
	text-decoration: none;
}

.ba-site-nav__links a:hover {
	color: var(--ba-primary);
}

.ba-site-nav__cta {
	display: inline-block;
	padding: 8px 14px;
	background: var(--ba-primary);
	color: var(--ba-text) !important;
	border: 1px solid var(--ba-primary);
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 13px;
	text-decoration: none !important;
}

.ba-site-nav__cta:hover {
	background: var(--ba-secondary);
	border-color: var(--ba-primary);
	color: var(--ba-text) !important;
}

/* Logo / site description
---------------------------------------- */
.site_logo {
	background-image: url("./images/site_logo.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center left;
	width: 88px;
	height: 104px;
	border-radius: 0;
}

.site-description h1 {
	font-size: 28px;
	margin-top: 8px;
}

.site-description p {
	color: var(--ba-meta);
}

/* Tables / forum lists — beat prosilver colours.css (incl. mobile)
---------------------------------------- */
body.bast-alpha .forabg,
body.bast-alpha .forumbg,
body.bast-alpha .headerbar,
.forabg,
.forumbg {
	background-color: var(--ba-secondary) !important;
	background-image: none !important;
	filter: none !important;
}

body.bast-alpha ul.forums,
body.bast-alpha ul.topics,
body.bast-alpha ul.topiclist.forums,
body.bast-alpha ul.topiclist.topics,
ul.forums,
ul.topics,
ul.topiclist.forums {
	background-color: var(--ba-surface-2) !important;
	background-image: none !important;
	filter: none !important;
}

body.bast-alpha ul.topiclist li,
ul.topiclist li {
	color: var(--ba-muted) !important;
}

body.bast-alpha ul.topiclist li.row,
body.bast-alpha li.row,
ul.topiclist li.row,
li.row {
	background-color: transparent !important;
	background-image: none !important;
}

body.bast-alpha ul.topiclist li.row:nth-child(even),
ul.topiclist li.row:nth-child(even) {
	background-color: rgba(255, 255, 255, 0.03) !important;
}

body.bast-alpha li.row:hover,
li.row:hover {
	background-color: rgba(215, 25, 32, 0.1) !important;
}

li.row:hover dd {
	border-left-color: var(--ba-border);
}

/* Forum / topic titles: white (not accent red) for WCAG contrast on dark rows */
body.bast-alpha a.forumtitle,
body.bast-alpha a.topictitle,
body.bast-alpha .forumtitle,
body.bast-alpha .topictitle,
a.forumtitle,
a.topictitle,
body.bast-alpha li.row a.forumtitle,
body.bast-alpha li.row a.topictitle {
	color: #ffffff !important;
}

body.bast-alpha a.forumtitle:hover,
body.bast-alpha a.topictitle:hover,
a.forumtitle:hover,
a.topictitle:hover,
body.bast-alpha li.row a.forumtitle:hover,
body.bast-alpha li.row a.topictitle:hover {
	color: var(--ba-primary) !important;
	text-decoration: underline;
}

/* Nav chrome: light text; icons keep accent red */
body.bast-alpha .navbar a,
body.bast-alpha .breadcrumbs a,
body.bast-alpha .navbar .username-coloured,
.navbar a,
.breadcrumbs a {
	color: #f5f5f5 !important;
}

body.bast-alpha .navbar a:hover,
body.bast-alpha .breadcrumbs a:hover,
.navbar a:hover,
.breadcrumbs a:hover {
	color: var(--ba-primary) !important;
}

body.bast-alpha .navbar .icon,
body.bast-alpha .breadcrumbs .icon,
.navbar a .icon,
a.feed-icon-forum,
body.bast-alpha .responsive-menu .icon {
	color: var(--ba-primary) !important;
}

.jumpbox-forum-link,
.jumpbox-sub-link {
	background-color: var(--ba-surface-2);
	color: var(--ba-muted);
}

.jumpbox-forum-link:hover,
.jumpbox-sub-link:hover {
	background-color: rgba(215, 25, 32, 0.12);
	color: var(--ba-text);
}

/* Descriptions / meta: light grey — never red on dark rows */
body.bast-alpha ul.topiclist .list-inner,
body.bast-alpha ul.topiclist li.row .list-inner,
body.bast-alpha .forum_link + br + *,
ul.topiclist .list-inner,
ul.topiclist .responsive-hide,
ul.topiclist li.row .list-inner,
.lastpost,
.pagination li .ellipsis {
	color: #e0e0e0 !important;
}

/* Topic/post counts stay accent red (CTA-style meta) — not header labels */
body.bast-alpha ul.topiclist li.row .topics,
body.bast-alpha ul.topiclist li.row .posts,
body.bast-alpha ul.topiclist li.row .views,
body.bast-alpha li.row .topics,
body.bast-alpha li.row .posts,
body.bast-alpha li.row .views,
body.bast-alpha li.row .responsive-show,
li.row .topics,
li.row .posts,
li.row .views {
	color: var(--ba-primary) !important;
}

ul.topiclist .username-coloured,
ul.topiclist .username,
.lastpost .username,
.lastpost .username-coloured {
	color: var(--ba-text);
}

.breadcrumbs,
.breadcrumbs li::before {
	color: var(--ba-meta);
}

.breadcrumbs a:hover {
	color: var(--ba-primary);
}

/* Login panel: forgot-password must be readable on black */
body.bast-alpha .panel a,
body.bast-alpha #login a,
body.bast-alpha .login a,
.panel a,
#login a,
.login a {
	color: #f5f5f5 !important;
}

body.bast-alpha .panel a:hover,
body.bast-alpha #login a:hover,
body.bast-alpha .login a:hover,
.panel a:hover,
#login a:hover,
.login a:hover {
	color: var(--ba-primary) !important;
	text-decoration: underline;
}

.stat-block,
.stat-block strong,
.copyright,
.footer-row,
.time,
.postprofile .profile-posts,
.postprofile dd,
.postprofile dt,
.notice,
.search-result-date {
	color: var(--ba-muted);
}

ul.topiclist dd {
	border-left-color: var(--ba-border);
}

ul.topiclist li.row {
	border-top-color: #0a0a0a;
	border-bottom-color: var(--ba-border);
}

ul.topiclist li.row strong {
	color: var(--ba-text);
}

/*
 * Category / list headers ("Public Discussion", "Topics", …):
 * prosilver forces Arial on li.header dt/dd; .topics was painting
 * column labels accent-red. Force white + Vaders Fist to match titles.
 */
body.bast-alpha ul.topiclist li.header,
body.bast-alpha ul.topiclist li.header dt,
body.bast-alpha ul.topiclist li.header dd,
body.bast-alpha ul.topiclist li.header .list-inner,
body.bast-alpha ul.topiclist li.header a,
body.bast-alpha .forabg li.header,
body.bast-alpha .forumbg li.header,
body.bast-alpha .forabg .header,
body.bast-alpha .forumbg .header,
body.bast-alpha .forabg .header a,
body.bast-alpha .forumbg .header a,
body.bast-alpha .forabg .header .list-inner,
body.bast-alpha .forumbg .header .list-inner,
body.bast-alpha li.header,
body.bast-alpha li.header dt,
body.bast-alpha li.header dd,
body.bast-alpha li.header .list-inner,
body.bast-alpha li.header a,
ul.topiclist li.header,
ul.topiclist li.header dt,
ul.topiclist li.header dd,
ul.topiclist li.header .list-inner,
ul.topiclist li.header a {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff;
	font-family: var(--ba-display) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	filter: none !important;
	background-color: transparent !important;
	background-image: none !important;
}

body.bast-alpha ul.topiclist li.header a:hover,
body.bast-alpha .forabg .header a:hover,
body.bast-alpha .forumbg .header a:hover,
body.bast-alpha li.header a:hover {
	color: var(--ba-primary) !important;
	-webkit-text-fill-color: var(--ba-primary);
}

/*
 * Forum/topic status glyphs: NEVER filter the whole dl.row-item —
 * that sepia/hue filter also tinted white titles + descriptions red.
 * Kill prosilver GIFs on the dl; paint a red accent icon on ::before only.
 */
body.bast-alpha dl.row-item {
	background-color: transparent !important;
	background-image: none !important;
	filter: none !important;
	position: relative;
}

body.bast-alpha dl.row-item::before {
	content: "";
	float: left;
	width: 28px;
	height: 28px;
	margin: 2px 12px 0 0;
	border-radius: 50%;
	background-color: var(--ba-primary);
	background-image: linear-gradient(
		rgba(255, 255, 255, 0.92),
		rgba(255, 255, 255, 0.92)
	);
	background-size: 12px 2px, 12px 2px, 12px 2px;
	background-position: center 9px, center 14px, center 19px;
	background-repeat: no-repeat;
	box-shadow:
		inset 0 0 0 0 transparent,
		0 0 0 0 transparent;
	/* three horizontal lines via repeating gradient layers */
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)),
		linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)),
		linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95));
	background-size: 12px 2px;
	background-position: center 9px, center 14px, center 19px;
	background-repeat: no-repeat;
	background-color: var(--ba-primary);
}

body.bast-alpha dl.row-item.forum_unread::before,
body.bast-alpha dl.row-item.topic_unread::before,
body.bast-alpha dl.row-item.topic_unread_hot::before,
body.bast-alpha dl.row-item.topic_unread_mine::before,
body.bast-alpha dl.row-item.topic_unread_locked::before,
body.bast-alpha dl.row-item.sticky_unread::before,
body.bast-alpha dl.row-item.announce_unread::before,
body.bast-alpha dl.row-item.forum_unread_locked::before,
body.bast-alpha dl.row-item.forum_unread_subforum::before {
	box-shadow: 0 0 0 2px rgba(215, 25, 32, 0.45);
}

@media (max-width: 700px) {
	body.bast-alpha ul.forums,
	body.bast-alpha ul.topiclist.forums,
	body.bast-alpha li.row,
	body.bast-alpha .forabg,
	body.bast-alpha .forumbg,
	body.bast-alpha .navbar,
	body.bast-alpha .panel {
		background-color: var(--ba-surface-2) !important;
		background-image: none !important;
	}

	body.bast-alpha .forabg,
	body.bast-alpha .forumbg {
		background-color: var(--ba-secondary) !important;
	}

	body.bast-alpha ul.forums,
	body.bast-alpha ul.topiclist.forums {
		background-color: var(--ba-surface-2) !important;
	}

	body.bast-alpha a.forumtitle,
	body.bast-alpha a.topictitle,
	body.bast-alpha li.row a.forumtitle,
	body.bast-alpha li.row a.topictitle {
		color: #ffffff !important;
	}

	body.bast-alpha a.forumtitle:hover,
	body.bast-alpha a.topictitle:hover {
		color: var(--ba-primary) !important;
	}

	body.bast-alpha ul.topiclist .list-inner,
	body.bast-alpha li.row .list-inner,
	body.bast-alpha li.row {
		color: #e0e0e0 !important;
	}

	body.bast-alpha ul.topiclist li.header,
	body.bast-alpha ul.topiclist li.header dt,
	body.bast-alpha ul.topiclist li.header dd,
	body.bast-alpha ul.topiclist li.header .list-inner,
	body.bast-alpha ul.topiclist li.header a,
	body.bast-alpha .forabg .header,
	body.bast-alpha .forumbg .header,
	body.bast-alpha .forabg .header a,
	body.bast-alpha .forumbg .header a {
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff;
		font-family: var(--ba-display) !important;
	}

	body.bast-alpha .responsive-show,
	body.bast-alpha li.row .responsive-show {
		color: var(--ba-primary) !important;
	}

	body.bast-alpha .navbar a,
	body.bast-alpha .breadcrumbs a {
		color: #f5f5f5 !important;
	}

	body.bast-alpha .navbar .icon,
	body.bast-alpha .breadcrumbs .icon {
		color: var(--ba-primary) !important;
	}
}

.table-space {
	background-color: var(--ba-surface);
}

table.table1 thead th {
	color: var(--ba-text);
	background: var(--ba-secondary);
	font-family: var(--ba-display);
	text-transform: uppercase;
}

table.table1 tbody tr {
	border-color: var(--ba-border);
}

table.table1 td {
	color: var(--ba-muted);
}

table.table1 tbody td {
	border-top-color: var(--ba-border);
}

table.table1 tbody tr:hover td {
	background-color: rgba(215, 25, 32, 0.08);
	color: var(--ba-text);
}

/* Posts
---------------------------------------- */
.post {
	border-radius: var(--ba-radius);
	border: 1px solid var(--ba-border);
	background: var(--ba-surface-2);
}

.postbody {
	color: var(--ba-text);
}

.postprofile {
	color: var(--ba-meta);
	border-color: var(--ba-border);
}

.postprofile strong,
.postprofile .username,
.postprofile .username-coloured {
	color: var(--ba-text);
}

.signature {
	border-top-color: var(--ba-border);
	color: var(--ba-meta);
}

.content h2,
.panel h2 {
	color: var(--ba-text);
	border-bottom-color: var(--ba-primary);
}

blockquote {
	background-color: #0f0f0f;
	border-color: var(--ba-primary);
	color: var(--ba-muted);
}

code,
.rtl code {
	background: #0a0a0a;
	border-color: var(--ba-border);
	color: #ffbc7d;
}

/* Buttons
---------------------------------------- */
.button {
	background: var(--ba-secondary);
	border-color: var(--ba-border);
	color: var(--ba-text);
	border-radius: var(--ba-radius);
	box-shadow: none;
	text-shadow: none;
}

.button:hover,
.button:focus {
	background: var(--ba-primary);
	border-color: var(--ba-primary);
	color: var(--ba-text);
	box-shadow: none;
}

.button .icon,
.button-secondary {
	color: var(--ba-muted);
}

.button-search:hover,
.button-search-end:hover {
	border-color: var(--ba-primary);
}

a.button1,
input.button1,
input.button3,
a.button2,
input.button2 {
	background: var(--ba-primary);
	border-color: var(--ba-primary);
	color: var(--ba-text);
	border-radius: var(--ba-radius);
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	box-shadow: none;
}

a.button1:hover,
input.button1:hover,
input.button3:hover,
a.button2:hover,
input.button2:hover {
	background: var(--ba-secondary);
	border-color: var(--ba-primary);
	color: var(--ba-text);
}

/* Forms
---------------------------------------- */
.inputbox {
	background-color: #0a0a0a;
	border-color: var(--ba-border);
	color: var(--ba-text);
	border-radius: var(--ba-radius);
}

.inputbox:hover,
.inputbox:focus {
	border-color: var(--ba-primary);
	color: var(--ba-text);
}

select {
	background-color: #0a0a0a;
	border-color: var(--ba-border);
	color: var(--ba-text);
}

label {
	color: var(--ba-muted);
}

/* Pagination / tabs / badges
---------------------------------------- */
.pagination li a,
.pagination li span {
	background: var(--ba-surface-2);
	border-color: var(--ba-border);
	color: var(--ba-muted);
	border-radius: var(--ba-radius);
}

.pagination li.active span,
.pagination li a:hover,
.pagination .ellipsis span {
	background: var(--ba-primary);
	border-color: var(--ba-primary);
	color: var(--ba-text);
}

.tabs .tab > a {
	background: var(--ba-surface-2);
	border-color: var(--ba-border);
	color: var(--ba-muted);
}

.tabs .activetab > a,
.tabs .activetab > a:hover {
	background: var(--ba-secondary);
	border-color: var(--ba-primary);
	color: var(--ba-text);
	box-shadow: none;
}

.badge {
	background: var(--ba-primary);
	color: var(--ba-text);
}

/* Dropdowns / notifications
---------------------------------------- */
.dropdown-extended ul li:hover {
	background-color: rgba(215, 25, 32, 0.12);
}

.dropdown .dropdown-contents {
	background: var(--ba-surface);
	border-color: var(--ba-border);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}

.dropdown-contents a {
	color: var(--ba-muted);
}

/* Rules / notices
---------------------------------------- */
.rules {
	background-color: rgba(215, 25, 32, 0.12);
	border-color: var(--ba-primary);
	color: var(--ba-text);
}

.error {
	color: #ff8a8e;
}

/* Icons / unread accents
---------------------------------------- */
.icon.icon-red,
a:hover .icon.icon-red {
	color: var(--ba-primary);
}

.icon.icon-blue,
a:hover .icon.icon-blue {
	color: #7ec8ff;
}

a .icon.icon-green,
a .icon.icon-lightgray {
	color: var(--ba-muted);
}

/* Footer
---------------------------------------- */
.page-footer .navbar {
	background: #0a0a0a;
}

.copyright {
	color: var(--ba-muted);
}

.copyright a {
	color: #f5f5f5;
}

.copyright a:hover {
	color: var(--ba-primary);
}

.ba-footer-tagline {
	margin: 8px 0 0;
	font-family: var(--ba-display);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--ba-primary);
	font-size: 13px;
}

/* Search box in header
---------------------------------------- */
.search-header .inputbox {
	background: #0a0a0a;
	border-color: var(--ba-border);
	color: var(--ba-text);
}

.search-header {
	box-shadow: none;
}

/* Responsive polish
---------------------------------------- */
@media (max-width: 700px) {
	.ba-site-nav {
		align-items: flex-start;
	}

	.ba-site-nav__links {
		width: 100%;
	}

	.site_logo {
		width: 64px;
		height: 76px;
	}

	.site-description h1 {
		font-size: 22px;
	}
}

/* Cookie consent palette override (footer JS defaults)
---------------------------------------- */
.cc-window {
	background: var(--ba-secondary) !important;
	color: var(--ba-text) !important;
}

.cc-btn {
	background: var(--ba-primary) !important;
	color: var(--ba-text) !important;
}
