/* Modern layer for ZvukAudio / Light.
   This file is intentionally a removable overlay above the parent style. */

:root {
	--zv-page: #f4f8fb;
	--zv-card: #ffffff;
	--zv-soft: #f7fbfd;
	--zv-soft-blue: #ecf3f7;
	--zv-line: #dce8f0;
	--zv-line-strong: #bfd2df;
	--zv-text: #28313f;
	--zv-muted: #536482;
	--zv-link: #105289;
	--zv-blue: #12a3eb;
	--zv-blue-dark: #0076b1;
	--zv-red: #d31141;
	--zv-radius: 10px;
	--zv-shadow: 0 10px 28px rgba(40, 49, 63, .08);
	--zv-shadow-small: 0 5px 16px rgba(40, 49, 63, .07);
}

html,
body {
	background: var(--zv-page);
	color: var(--zv-text);
}

body {
	font-family: "Open Sans", "Segoe UI", Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	padding: 14px 0;
}

a {
	color: var(--zv-link);
}

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

img {
	max-width: 100%;
}

.wrap {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	margin: 0 auto;
	max-width: 1180px;
	min-width: 0;
	padding: 0 12px 18px;
}

#page-header {
	background: var(--zv-card);
	border: 1px solid var(--zv-line);
	border-radius: 14px;
	box-shadow: var(--zv-shadow);
	margin-bottom: 12px;
	padding: 10px;
}

.headerbar {
	background: var(--zv-blue-dark);
	background-image: linear-gradient(135deg, #12a3eb 0%, #0076b1 100%);
	border-radius: 12px;
	box-shadow: none;
	margin: 0 0 8px;
	padding: 14px 16px;
}

.site-description {
	float: left;
	min-height: 56px;
	width: 62%;
}

.zv-brand {
	align-items: center;
	display: flex;
	gap: 12px;
	min-width: 0;
}

.zv-brand-logo {
	align-items: center;
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .30);
	border-radius: 10px;
	display: inline-flex;
	flex: 0 0 62px;
	height: 54px;
	justify-content: center;
	width: 62px;
}

.zv-brand-logo img {
	display: block;
	height: auto;
	max-height: 44px;
	max-width: 55px;
	width: auto;
}

.zv-brand-copy {
	min-width: 0;
}

.site-description h1 {
	color: #fff;
	font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
	font-size: 2.2em;
	font-weight: 800;
	line-height: 1.08;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.site-description h1 a {
	color: #fff;
	text-decoration: none;
}

.zv-header-flag {
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .68);
	margin-left: 6px;
	vertical-align: -4px;
}

.zv-domain-link {
	color: rgba(255, 255, 255, .88);
	display: inline-block;
	font-size: 1.12em;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 5px;
	text-decoration: none;
}

.zv-domain-link:hover,
.zv-domain-link:focus {
	color: #fff;
}

.zv-site-description {
	color: rgba(255, 255, 255, .88);
	font-size: 1.15em;
	margin: 5px 0 0 74px;
}

.search-header {
	background: rgba(255, 255, 255, .18);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 10px;
	box-shadow: none;
	margin-top: 10px;
	padding: 4px;
}

.search-header .inputbox {
	border: 0;
	border-radius: 7px 0 0 7px;
	box-sizing: border-box;
	height: 34px;
	min-width: 220px;
	padding: 7px 10px;
}

.search-header .button-search,
.search-header .button-search-end {
	height: 34px;
	padding-left: 10px;
	padding-right: 10px;
}

.navbar {
	background: #fff;
	border: 1px solid var(--zv-line);
	border-radius: 10px;
	box-shadow: none;
	margin: 0;
	padding: 7px 10px;
}

.navbar ul.linklist {
	padding: 0;
}

ul.linklist > li {
	line-height: 2.35em;
	overflow: visible;
	position: relative;
}

.navbar a {
	align-items: center;
	border-radius: 8px;
	color: var(--zv-muted);
	display: inline-flex;
	gap: 4px;
	min-height: 30px;
	padding: 0 8px;
	position: relative;
	text-decoration: none;
}

.navbar a:hover,
.navbar a:focus,
.header-profile .dropdown-trigger:hover {
	background: #f0f7fc;
	color: var(--zv-link);
}

#page-header .navbar #nav-main {
	border-bottom: 1px solid rgba(151, 177, 196, .28);
	margin-bottom: 5px;
	padding-bottom: 5px;
}

#page-header .navbar #nav-breadcrumbs {
	padding-top: 3px;
}

.badge {
	background: var(--zv-red);
	border: 2px solid #fff;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(211, 17, 65, .28);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 700;
	height: 17px;
	line-height: 17px;
	min-width: 17px;
	opacity: 1;
	padding: 0 4px;
	position: absolute;
	right: -7px;
	top: 3px;
	z-index: 3;
}

.navbar a .badge,
.navbar a:hover .badge,
.navbar a:focus .badge {
	color: #fff;
}

.badge.hidden {
	display: none !important;
}

.breadcrumbs .crumb:before {
	color: #8799a8;
}

.zv-index-layout {
	align-items: start;
	clear: both;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) minmax(248px, 292px);
}

.zv-index-main {
	min-width: 0;
}

.zv-index-sidebar {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.zv-index-sidebar .stat-block {
	background: rgba(255, 255, 255, .86);
	border: 1px solid rgba(185, 211, 226, .72);
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(16, 82, 137, .05);
	box-sizing: border-box;
	margin: 0;
	padding: 10px 12px;
}

.zv-index-sidebar h3 {
	border-bottom: 1px solid rgba(151, 177, 196, .2);
	color: var(--zv-blue-dark);
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 7px;
	padding: 0 0 7px;
	text-transform: none;
}

.zv-index-sidebar p {
	line-height: 1.45;
	margin: 0;
}

.zv-index-sidebar .reputation-toplist strong {
	display: block;
	font-weight: 600;
	margin-top: 4px;
}

.zv-index-sidebar .reputation-toplist a {
	font-weight: 600;
}

.zv-index-secondary .stat-block {
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(185, 211, 226, .62);
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(16, 82, 137, .04);
	margin: 10px 0 0;
	padding: 10px 12px;
}

.zv-social-bar {
	align-items: center;
	background: var(--zv-card);
	border: 1px solid var(--zv-line);
	border-radius: 12px;
	box-shadow: var(--zv-shadow-small);
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 10px 0 12px;
	padding: 8px;
}

.zv-social-link {
	align-items: center;
	background: var(--zv-soft);
	border: 1px solid var(--zv-line);
	border-radius: 999px;
	box-sizing: border-box;
	color: var(--zv-text);
	display: inline-flex;
	flex: 0 0 150px;
	font-size: 1.12em;
	font-weight: 800;
	gap: 7px;
	height: 42px;
	justify-content: center;
	line-height: 1;
	max-width: 150px;
	min-width: 150px;
	overflow: hidden;
	padding: 0 12px;
	text-decoration: none !important;
	white-space: nowrap;
}

.zv-social-link span:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

.zv-social-link:hover,
.zv-social-link:focus {
	background: #eef7fd;
	border-color: #9fcfe8;
	color: var(--zv-link);
}

.zv-social-icon {
	background: center / 24px 24px no-repeat;
	display: inline-block;
	flex: 0 0 24px;
	height: 24px;
	width: 24px;
}

.zv-social-youtube .zv-social-icon {
	background-image: url("./images/zv-icon-youtube.svg");
}

.zv-social-tiktok .zv-social-icon {
	background-image: url("./images/zv-icon-tiktok.svg");
}

.zv-social-rules .zv-social-icon {
	background-image: url("./images/zv-icon-rules.svg");
}

.zv-social-sponsor {
	background: linear-gradient(180deg, rgba(211, 17, 65, .78), rgba(188, 42, 77, .66));
	border-color: rgba(188, 42, 77, .58);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 3px 10px rgba(211, 17, 65, .08);
	color: #fff;
}

.zv-social-sponsor:hover,
.zv-social-sponsor:focus {
	background: linear-gradient(180deg, rgba(211, 17, 65, .88), rgba(188, 42, 77, .78));
	border-color: rgba(188, 42, 77, .72);
	color: #fff;
}

.zv-social-sponsor .zv-social-icon {
	align-items: center;
	background: rgba(255, 255, 255, .16);
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 15px;
	justify-content: center;
}

.zv-social-sponsor .zv-social-icon:before {
	content: "\f164";
	font-family: FontAwesome;
}

.zv-floating-support {
	align-items: center;
	background: var(--zv-red);
	border-radius: 999px;
	box-shadow: 0 10px 26px rgba(188, 42, 77, .26);
	box-sizing: border-box;
	color: #fff !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	height: 42px;
	justify-content: center;
	line-height: 1;
	padding: 0 16px;
	position: fixed;
	right: 18px;
	bottom: 18px;
	text-decoration: none !important;
	white-space: nowrap;
	z-index: 1000;
}

.zv-floating-support:hover,
.zv-floating-support:focus {
	background: #bc2a4d;
	color: #fff !important;
}

.forabg,
.forumbg {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	clear: both;
	margin: 14px 0;
	padding: 0;
}

.forabg > .inner,
.forumbg > .inner {
	border-radius: 12px;
	overflow: visible;
}

.forabg ul.topiclist:first-child,
.forumbg ul.topiclist:first-child {
	background: transparent;
}

.forabg ul.topiclist li.header,
.forumbg ul.topiclist li.header {
	background: var(--zv-blue-dark);
	background-image: linear-gradient(90deg, #0076b1 0%, #12a3eb 100%);
	border-radius: 12px 12px 0 0;
	box-sizing: border-box;
	padding: 6px 10px;
}

li.header dt,
li.header dd {
	color: #fff;
	font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
	font-size: 1em;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.8em;
	margin: 0;
	text-transform: none;
}

li.header dt .list-inner {
	padding-left: 6px;
}

ul.topiclist.forums,
ul.topiclist.topics {
	background: var(--zv-card);
	background-image: none;
	border: 1px solid var(--zv-line);
	border-radius: 0 0 12px 12px;
	border-top: 0;
	box-sizing: border-box;
	padding: 6px;
}

.forabg ul.topiclist dl,
.forumbg ul.topiclist dl {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 82px 82px minmax(220px, 290px);
	margin: 0;
	position: relative;
}

.forabg ul.topiclist dt,
.forumbg ul.topiclist dt,
.forabg ul.topiclist dd,
.forumbg ul.topiclist dd {
	border-left: 0;
	box-sizing: border-box;
	display: block;
	float: none;
	margin: 0;
	min-height: 0;
	padding: 0;
	width: auto;
}

.forabg ul.topiclist dt,
.forumbg ul.topiclist dt {
	min-width: 0;
}

.forabg ul.topiclist dt .list-inner,
.forumbg ul.topiclist dt .list-inner {
	margin-right: 0;
	min-width: 0;
}

ul.topiclist li.row {
	background: #fff;
	border: 1px solid #e1ebf2;
	border-radius: 10px;
	box-shadow: none;
	margin: 6px 0;
	overflow: visible;
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

ul.topiclist li.row:hover {
	background: #fbfdff;
	border-color: #a9d5ee;
	box-shadow: 0 8px 22px rgba(16, 82, 137, .08);
}

dl.row-item {
	background-position: 12px 50%;
	background-repeat: no-repeat;
	background-size: 40px;
}

dl.row-item dt .list-inner {
	padding: 12px 12px 12px 66px;
}

dl.row-item dt a.row-item-link,
dl a.row-item-link {
	height: 38px;
	left: 12px;
	margin: -19px 0 0;
	top: 50%;
	width: 38px;
}

.forumtitle,
a.forumtitle,
.topictitle,
a.topictitle {
	color: #0d4f83;
	font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
	font-size: 1.22em;
	font-weight: 800;
	line-height: 1.28;
	text-decoration: none;
}

.topictitle,
a.topictitle {
	font-size: 1.16em;
}

.forumtitle:hover,
a.forumtitle:hover,
.topictitle:hover,
a.topictitle:hover {
	color: var(--zv-red);
}

ul.topiclist li.row dd.posts,
ul.topiclist li.row dd.topics,
ul.topiclist li.row dd.views {
	align-items: center;
	color: #425067;
	display: flex;
	font-size: 1.05em;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
}

ul.topiclist li.row dd.lastpost {
	color: var(--zv-muted);
	font-size: 1.06em;
	line-height: 1.35;
}

ul.topiclist li.row dd.lastpost > span {
	background: #f6fafc;
	border: 1px solid #e2edf4;
	border-radius: 9px;
	box-sizing: border-box;
	display: block;
	margin: 7px 7px 7px 0;
	min-height: 40px;
	padding: 8px 10px;
}

.lastsubject {
	font-weight: 800;
}

.topic-poster,
.responsive-show,
dd.lastpost,
.lastpost time {
	color: var(--zv-muted);
}

.zv-forum-audio {
	background-image: url("./images/zv-icon-audio.svg") !important;
}

.zv-forum-video {
	background-image: url("./images/zv-icon-video.svg") !important;
}

.zv-forum-audio dt,
.zv-forum-video dt {
	background-image: none !important;
}

.zv-forum-audio .forum-image,
.zv-forum-video .forum-image {
	display: none;
}

.action-bar {
	background: var(--zv-card);
	border: 1px solid var(--zv-line);
	border-radius: 10px;
	box-sizing: border-box;
	margin: 10px 0;
	padding: 8px;
}

.action-bar:empty {
	display: none;
}

.button,
a.button1,
a.button2,
input.button1,
input.button2,
input.button3 {
	background: #fff;
	background-image: none;
	border-color: var(--zv-line-strong);
	border-radius: 8px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--zv-link);
	font-family: "Open Sans", "Segoe UI", Verdana, Arial, sans-serif;
	font-weight: 800;
	min-height: 30px;
	padding-left: 10px;
	padding-right: 10px;
}

.button:hover,
.button:focus,
a.button1:hover,
input.button1:hover,
a.button2:hover,
input.button2:hover,
input.button3:hover {
	background: #eef7fd;
	border-color: var(--zv-blue);
	color: var(--zv-link);
	text-shadow: none;
}

.inputbox,
select,
textarea {
	background: #fff;
	border-color: var(--zv-line-strong);
	border-radius: 8px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--zv-text);
}

.inputbox:hover,
.inputbox:focus,
select:focus,
textarea:focus {
	border-color: var(--zv-blue);
	box-shadow: 0 0 0 3px rgba(18, 163, 235, .14);
	outline: none;
}

.pagination li a,
.pagination li span {
	border-radius: 8px;
	padding: 5px 9px;
}

.pagination li.active span {
	background: var(--zv-blue-dark);
	border-color: var(--zv-blue-dark);
	color: #fff;
}

.panel,
.post {
	background: var(--zv-card);
	border: 1px solid var(--zv-line);
	border-radius: 12px;
	box-shadow: none;
	margin-bottom: 10px;
	padding: 12px 14px;
}

.post.bg1,
.post.bg2 {
	background: #fff;
}

.postbody h3,
.postbody h3.first {
	font-family: "Open Sans", "Segoe UI", Arial, sans-serif;
	font-weight: 800;
}

.postbody .content {
	color: #2f3743;
	font-size: 1.32em;
	line-height: 1.62;
}

.postprofile {
	background: #f7fbfd;
	border: 1px solid #e1ebf2;
	border-radius: 10px;
	box-sizing: border-box;
	padding: 10px 8px;
}

blockquote,
.codebox,
.attachbox,
.dropdown .dropdown-contents,
.dropdown-extended .dropdown-contents,
.phpbb_alert {
	border-radius: 10px;
}

.postbody .content blockquote,
.panel blockquote,
blockquote {
	background: #eff9ff;
	border: 1px solid #bddff2;
	border-left: 3px solid var(--zv-blue);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72);
	color: #2d3d4c;
	margin: .9em 0 .95em 18px;
	padding: 9px 12px;
}

.postbody .content blockquote blockquote,
.panel blockquote blockquote,
blockquote blockquote {
	background: #f7fcff;
	border-color: #d1eaf8;
	border-left-color: #7bc8ef;
	margin-left: 12px;
}

.postbody .content blockquote cite,
.panel blockquote cite,
blockquote cite {
	border-bottom: 1px solid #d8edf8;
	color: var(--zv-link);
	font-weight: 700;
	margin-bottom: 7px;
	padding-bottom: 4px;
}

.postbody .content blockquote cite a,
.panel blockquote cite a,
blockquote cite a {
	color: var(--zv-blue-dark);
}

.postbody .content blockquote cite .icon,
.panel blockquote cite .icon,
blockquote cite .icon {
	color: #5f9fc5;
}

.youtube-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 12px 0 18px !important;
}

.youtube-item {
	background: #fff;
	border: 1px solid var(--zv-line);
	border-radius: 10px;
	box-shadow: none;
	cursor: pointer;
	display: block;
	overflow: hidden;
	width: auto !important;
}

.youtube-item .video-preview,
.youtube-item .v-container,
.youtube-responsive {
	aspect-ratio: 16 / 9;
	background: #28313f;
	border-radius: 10px 10px 0 0 !important;
	overflow: hidden;
	position: relative;
}

.youtube-item img,
.youtube-item iframe {
	border-radius: 0 !important;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.youtube-item .youtube-title {
	color: var(--zv-text) !important;
	font-family: "Open Sans", "Segoe UI", Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	min-height: 0 !important;
	padding: 10px 11px 12px;
	text-align: left !important;
}

.youtube-item .play-button {
	background: rgba(211, 17, 65, .94) !important;
	border-radius: 12px !important;
	box-shadow: 0 6px 18px rgba(40, 49, 63, .25) !important;
	height: 44px !important;
	width: 62px !important;
}

.youtube-item .play-button:after {
	border-bottom: 10px solid transparent;
	border-left: 16px solid #fff;
	border-top: 10px solid transparent;
	content: "";
	display: block;
	height: 0;
	left: 50%;
	margin-left: 2px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 0;
}

@media (max-width: 1000px) {
	.forabg ul.topiclist dl,
	.forumbg ul.topiclist dl {
		grid-template-columns: minmax(0, 1fr) 70px 70px minmax(190px, 250px);
	}
}

@media (max-width: 900px) {
	body {
		padding: 0;
	}

	.wrap {
		padding-left: 10px;
		padding-right: 10px;
	}

	#page-header {
		border-radius: 0 0 14px 14px;
		border-top: 0;
		margin-left: -10px;
		margin-right: -10px;
	}

	.youtube-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.zv-index-layout {
		display: block;
	}

	.zv-index-sidebar {
		margin-top: 12px;
	}
}

@media (max-width: 700px) {
	.wrap {
		padding-bottom: 12px;
	}

	.headerbar,
	.navbar,
	.forabg,
	.forumbg,
	.post,
	.panel {
		border-radius: 10px;
		margin-left: 0;
		margin-right: 0;
	}

	.headerbar {
		padding: 12px;
	}

	.site-description {
		float: none;
		text-align: left;
		width: auto;
	}

	.zv-brand {
		justify-content: flex-start;
	}

	.zv-brand-logo {
		flex-basis: 56px;
		height: 48px;
		width: 56px;
	}

	.site-description h1 {
		font-size: 1.6em;
		text-align: left;
	}

	.zv-header-flag {
		height: 16px;
		width: 22px;
	}

	.zv-site-description {
		display: none;
	}

	.search-header {
		display: none;
	}

	.zv-social-bar {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.zv-social-link {
		flex-basis: 142px;
		height: 40px;
		max-width: 142px;
		min-width: 142px;
	}

	.forabg ul.topiclist li.header,
	.forumbg ul.topiclist li.header {
		border-radius: 10px;
		margin-bottom: 6px;
	}

	ul.topiclist.forums,
	ul.topiclist.topics {
		background: transparent;
		border: 0;
		border-radius: 0;
		padding: 0;
	}

	.forabg ul.topiclist dl,
	.forumbg ul.topiclist dl {
		display: block;
	}

	.forabg ul.topiclist dd,
	.forumbg ul.topiclist dd,
	.forabg ul.topiclist li.header dd,
	.forumbg ul.topiclist li.header dd {
		display: none !important;
	}

	ul.topiclist li.row {
		border-radius: 11px;
		margin: 7px 0;
	}

	dl.row-item {
		background-position: 12px 14px;
		background-size: 38px;
	}

	dl.row-item dt .list-inner {
		padding: 11px 12px 11px 62px;
	}

	.forumtitle,
	a.forumtitle,
	.topictitle,
	a.topictitle {
		font-size: 1.16em;
	}

	.responsive-show {
		color: var(--zv-muted);
		margin-top: 6px;
	}

	.postprofile {
		background: transparent;
		border-width: 0 0 1px 0;
		border-radius: 0;
		padding: 0 0 8px;
	}

	.zv-floating-support {
		bottom: 12px;
		font-size: 0;
		height: 44px;
		padding: 0;
		right: 12px;
		width: 44px;
	}

	.zv-floating-support:before {
		content: "\f004";
		font-family: FontAwesome;
		font-size: 16px;
	}
}

@media (max-width: 550px) {
	.youtube-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

/* Requested refinements: compact forum rows, softer headers, lighter type, cleaner search/buttons. */
.search-header {
	align-items: center;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 999px;
	box-shadow: 0 8px 18px rgba(0, 118, 177, .16);
	display: flex;
	float: right;
	margin-top: 10px;
	max-width: 330px;
	padding: 3px;
}

.search-header fieldset,
.search-header form {
	align-items: center;
	display: flex;
	margin: 0;
	width: 100%;
}

.search-header .inputbox {
	background: transparent;
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	color: var(--zv-text);
	flex: 1 1 auto;
	font-size: 12px;
	height: 34px;
	min-width: 0;
	padding: 0 11px;
}

.search-header .inputbox:hover,
.search-header .inputbox:focus {
	box-shadow: none;
}

.search-header .button-search,
.search-header .button-search-end {
	align-items: center;
	background: #eef7fd;
	border: 0;
	border-radius: 999px;
	color: var(--zv-link);
	display: inline-flex;
	height: 30px;
	justify-content: center;
	margin-left: 2px;
	min-height: 30px;
	padding: 0;
	width: 32px;
}

.search-header .button-search:hover,
.search-header .button-search-end:hover,
.search-header .button-search:focus,
.search-header .button-search-end:focus {
	background: #dff1fb;
	color: var(--zv-blue-dark);
}

.zv-social-bar {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .56), rgba(229, 244, 252, .38)),
		radial-gradient(circle at 30% 0, rgba(255, 255, 255, .58), rgba(255, 255, 255, 0) 46%);
	border-color: rgba(151, 203, 228, .38);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .74), 0 8px 20px rgba(16, 82, 137, .04);
	gap: 9px;
	padding: 9px;
}

.zv-social-link {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .72) 0%, rgba(230, 247, 255, .58) 58%, rgba(212, 239, 251, .5) 100%);
	border-color: rgba(125, 190, 221, .46);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .76), inset 0 -10px 18px rgba(18, 163, 235, .05), 0 3px 10px rgba(16, 82, 137, .035);
	color: #0d4f83;
	flex-basis: 142px;
	font-size: 1.08em;
	font-weight: 700;
	height: 38px;
	max-width: 142px;
	min-width: 142px;
	padding: 0 10px;
	position: relative;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .72);
}

.zv-social-link:before {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .54), rgba(255, 255, 255, 0));
	content: "";
	height: 100%;
	left: -46%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: skewX(-18deg);
	width: 38%;
}

.zv-social-link:hover,
.zv-social-link:focus {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .86) 0%, rgba(233, 248, 255, .74) 58%, rgba(214, 240, 251, .68) 100%);
	border-color: rgba(70, 166, 211, .6);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), inset 0 -10px 18px rgba(18, 163, 235, .08), 0 6px 16px rgba(16, 82, 137, .07);
	color: #075b95;
	transform: translateY(-1px);
}

.zv-social-link:hover:before,
.zv-social-link:focus:before {
	left: 108%;
	transition: left .55s ease;
}

.zv-social-icon {
	background-size: 22px 22px;
	flex-basis: 22px;
	height: 22px;
	width: 22px;
}

.zv-social-sponsor {
	background: linear-gradient(180deg, rgba(211, 17, 65, .78) 0%, rgba(188, 42, 77, .66) 100%);
	border-color: rgba(188, 42, 77, .58);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 3px 10px rgba(211, 17, 65, .08);
	color: #fff;
	text-shadow: none;
}

.zv-social-sponsor:hover,
.zv-social-sponsor:focus {
	background: linear-gradient(180deg, rgba(211, 17, 65, .88) 0%, rgba(188, 42, 77, .78) 100%);
	border-color: rgba(188, 42, 77, .72);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .24), 0 6px 16px rgba(211, 17, 65, .12);
	color: #fff;
}

.forabg,
.forumbg {
	margin: 10px 0;
}

.forabg ul.topiclist li.header,
.forumbg ul.topiclist li.header {
	background: rgba(18, 163, 235, .11);
	background-image: linear-gradient(90deg, rgba(0, 118, 177, .13), rgba(18, 163, 235, .08));
	border: 1px solid rgba(191, 210, 223, .72);
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	padding: 5px 8px;
}

li.header dt,
li.header dd,
li.header dt .list-inner,
li.header dd span {
	color: #42647b;
	font-size: .96em;
	font-weight: 600;
	line-height: 1.45em;
}

ul.topiclist.forums,
ul.topiclist.topics {
	border-color: rgba(191, 210, 223, .72);
	padding: 4px;
}

ul.topiclist li.row {
	border-radius: 7px;
	margin: 2px 0;
}

dl.row-item {
	background-position: 10px 50%;
	background-size: 28px;
}

dl.row-item dt .list-inner {
	min-height: 32px;
	padding: 4px 8px 4px 46px;
}

dl.row-item dt a.row-item-link,
dl a.row-item-link {
	height: 28px;
	left: 9px;
	margin-top: -14px;
	width: 28px;
}

.forumtitle,
a.forumtitle,
.topictitle,
a.topictitle {
	font-size: 1.12em;
	font-weight: 500;
	line-height: 1.22;
}

.topictitle,
a.topictitle {
	font-size: 1.08em;
}

ul.topiclist li.row dd.posts,
ul.topiclist li.row dd.topics,
ul.topiclist li.row dd.views {
	font-size: .98em;
	font-weight: 600;
	line-height: 1.05;
}

ul.topiclist li.row dd.lastpost {
	font-size: .98em;
}

ul.topiclist li.row dd.lastpost > span {
	background: rgba(246, 250, 252, .74);
	border-color: rgba(226, 237, 244, .74);
	border-radius: 7px;
	margin: 3px 4px 3px 0;
	min-height: 24px;
	padding: 3px 6px;
}

.lastsubject {
	font-weight: 600;
}

.zv-forum-audio,
.zv-forum-video,
.zv-forum-electronics,
.zv-forum-parts,
.zv-forum-media,
.zv-forum-music,
.zv-forum-measure,
.zv-forum-workshop,
.zv-forum-market,
.zv-forum-computer,
.zv-forum-forumwork,
.zv-forum-flame {
	background-size: 28px !important;
}

.zv-forum-audio {
	background-image: url("./images/zv-icon-audio.svg") !important;
}

.zv-forum-video {
	background-image: url("./images/zv-icon-video.svg") !important;
}

.zv-forum-electronics {
	background-image: url("./images/zv-icon-electronics.svg") !important;
}

.zv-forum-parts {
	background-image: url("./images/zv-icon-parts.svg") !important;
}

.zv-forum-media {
	background-image: url("./images/zv-icon-media.svg") !important;
}

.zv-forum-music {
	background-image: url("./images/zv-icon-music.svg") !important;
}

.zv-forum-measure {
	background-image: url("./images/zv-icon-measure.svg") !important;
}

.zv-forum-workshop {
	background-image: url("./images/zv-icon-workshop.svg") !important;
}

.zv-forum-market {
	background-image: url("./images/zv-icon-market.svg") !important;
}

.zv-forum-computer {
	background-image: url("./images/zv-icon-computer.svg") !important;
}

.zv-forum-forumwork {
	background-image: url("./images/zv-icon-forum.svg") !important;
}

.zv-forum-flame {
	background-image: url("./images/zv-icon-flame.svg") !important;
}

.zv-forum-audio dt,
.zv-forum-video dt,
.zv-forum-electronics dt,
.zv-forum-parts dt,
.zv-forum-media dt,
.zv-forum-music dt,
.zv-forum-measure dt,
.zv-forum-workshop dt,
.zv-forum-market dt,
.zv-forum-computer dt,
.zv-forum-forumwork dt,
.zv-forum-flame dt {
	background-image: none !important;
}

.zv-forum-audio .forum-image,
.zv-forum-video .forum-image,
.zv-forum-electronics .forum-image,
.zv-forum-parts .forum-image,
.zv-forum-media .forum-image,
.zv-forum-music .forum-image,
.zv-forum-measure .forum-image,
.zv-forum-workshop .forum-image,
.zv-forum-market .forum-image,
.zv-forum-computer .forum-image,
.zv-forum-forumwork .forum-image,
.zv-forum-flame .forum-image {
	display: none;
}

/* Final weight and action-button tuning. */
a.forumtitle,
.forumtitle {
	font-weight: 650;
}

a.topictitle,
.topictitle {
	font-weight: 560;
}

h2.topic-title,
h2.topic-title a,
.postbody h3,
.postbody h3.first,
.postbody h3 a {
	font-weight: 540 !important;
}

.postbody audio,
.content audio,
.attachbox audio {
	background: linear-gradient(180deg, #ffffff, #edf8fd);
	border: 1px solid rgba(151, 203, 228, .72);
	border-radius: 999px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .96), 0 4px 14px rgba(16, 82, 137, .08);
	box-sizing: border-box;
	display: block;
	margin: 8px 0;
	max-width: 520px;
	min-height: 38px;
	padding: 3px;
	width: 100%;
}

.zv-audio-fallback {
	align-items: center;
	background: #f7fbfd;
	border: 1px solid rgba(191, 210, 223, .78);
	border-radius: 9px;
	box-sizing: border-box;
	color: var(--zv-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	gap: 7px;
	margin: 7px 0 10px;
	max-width: 520px;
	padding: 7px 9px;
}

.zv-audio-fallback a {
	align-items: center;
	background: linear-gradient(180deg, #ffffff, #eaf7fd);
	border: 1px solid rgba(125, 190, 221, .72);
	border-radius: 999px;
	color: var(--zv-link);
	display: inline-flex;
	font-weight: 700;
	height: 30px;
	padding: 0 12px;
	text-decoration: none !important;
}

.post .reputation,
.post .thanks,
.post .rating,
.post .rate {
	align-items: center;
	display: flex;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 4px;
}

.post-buttons .button,
.post-buttons .button-icon-only,
.post .reputation a,
.post .reputation button,
.post .reputation input[type="button"],
.post .reputation input[type="submit"],
.post .reputation .button,
.post .thanks a,
.post .thanks button,
.post .thanks input[type="button"],
.post .thanks input[type="submit"],
.post .thanks .button,
.post .rating a,
.post .rating button,
.post .rating input[type="button"],
.post .rating input[type="submit"],
.post .rating .button,
.post .rate a,
.post .rate button,
.post .rate input[type="button"],
.post .rate input[type="submit"],
.post .rate .button,
fieldset.polls input.button1,
fieldset.polls input.button2,
fieldset.polls input.button3,
fieldset.polls .button {
	align-items: center;
	background-image: none;
	border-radius: 999px;
	box-sizing: border-box;
	display: inline-flex;
	font-size: 12px;
	font-weight: 600;
	height: 32px;
	justify-content: center;
	line-height: 1;
	margin: 2px;
	min-height: 32px;
	min-width: 32px;
	padding: 0 11px;
	vertical-align: middle;
	white-space: nowrap;
	width: auto;
}

.post-buttons .button-icon-only,
.post-buttons .button.button-icon-only {
	padding-left: 0;
	padding-right: 0;
	width: 32px;
}

.post .rating img,
.post .rate img {
	display: block;
	height: auto;
	max-height: 18px;
	max-width: 18px;
	width: auto;
}

.post .rating input,
.post .rate input {
	box-sizing: border-box;
	height: 32px;
	line-height: 32px;
	min-height: 32px;
	vertical-align: middle;
}

.post .reputation a > span,
.post .thanks a > span,
.post .rating a > span,
.post .rate a > span {
	align-items: center;
	display: inline-flex;
	flex-direction: row;
	gap: 4px;
	line-height: 1;
}

/* Compact table headers, post controls, vote summaries, and index stat placement. */
#page-header {
	padding: 8px;
}

.headerbar {
	margin-bottom: 7px;
	padding: 12px 16px;
}

.zv-header-flag {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

#page-header .navbar {
	border-radius: 9px;
	padding: 5px 9px;
}

#page-header .navbar #nav-main {
	margin-bottom: 4px;
	padding-bottom: 4px;
}

#page-header .navbar a {
	min-height: 26px;
	padding-left: 6px;
	padding-right: 6px;
}

#page-header ul.linklist > li {
	line-height: 2.05em;
}

.zv-index-under-forum {
	align-items: stretch;
	clear: both;
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 8px 0 10px;
}

.zv-index-under-forum-left {
	min-width: 0;
}

.zv-index-under-forum .stat-block {
	background: rgba(255, 255, 255, .86);
	border: 1px solid rgba(185, 211, 226, .72);
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(16, 82, 137, .05);
	box-sizing: border-box;
	height: 100%;
	margin: 0;
	padding: 10px 12px;
}

.zv-index-under-forum h3 {
	border-bottom: 1px solid rgba(151, 177, 196, .2);
	color: var(--zv-blue-dark);
	font-size: 1.05em;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 7px;
	padding: 0 0 7px;
	text-transform: none;
}

.zv-index-under-forum p {
	line-height: 1.45;
	margin: 0;
}

.zv-index-under-forum .reputation-toplist strong {
	display: block;
	font-weight: 600;
	margin-top: 4px;
}

.zv-index-secondary {
	clear: both;
}

.forabg,
.forumbg {
	margin: 8px 0;
}

.forabg ul.topiclist li.header,
.forumbg ul.topiclist li.header {
	min-height: 30px;
	padding: 2px !important;
}

.forabg ul.topiclist li.header dl,
.forumbg ul.topiclist li.header dl {
	align-items: center !important;
	min-height: 26px;
}

.forabg ul.topiclist li.header dt,
.forumbg ul.topiclist li.header dt,
.forabg ul.topiclist li.header dd,
.forumbg ul.topiclist li.header dd {
	align-items: center;
	display: flex;
	line-height: 1.15 !important;
	min-height: 24px;
}

.forabg ul.topiclist li.header dt .list-inner,
.forumbg ul.topiclist li.header dt .list-inner {
	align-items: center;
	display: flex;
	min-height: 24px;
	padding-bottom: 0;
	padding-top: 0;
}

.forabg ul.topiclist li.header dd,
.forumbg ul.topiclist li.header dd {
	justify-content: center;
}

.forabg ul.topiclist li.header dd.lastpost,
.forumbg ul.topiclist li.header dd.lastpost {
	justify-content: flex-start;
}

ul.topiclist.forums,
ul.topiclist.topics {
	padding: 3px;
}

ul.topiclist li.row {
	margin: 1px 0;
}

.forabg ul.topiclist dl,
.forumbg ul.topiclist dl {
	align-items: center;
}

dl.row-item dt .list-inner {
	min-height: 28px;
	padding-bottom: 3px;
	padding-top: 3px;
}

ul.topiclist li.row dd.lastpost > span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 2px 3px 2px 0;
	min-height: 22px;
	padding: 2px 6px;
}

.button,
a.button,
a.button1,
a.button2,
button.button,
.dropdown-select {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	padding-bottom: 0;
	padding-top: 0;
	vertical-align: middle;
}

input.button1,
input.button2,
input.button3 {
	height: 30px;
	line-height: 30px;
	padding-bottom: 0;
	padding-top: 0;
	vertical-align: middle;
}

.action-bar .button,
.jumpbox .button,
.jumpbox .dropdown-select {
	height: 30px;
	min-height: 30px;
}

.button .caret,
.dropdown-select .caret {
	align-items: center;
	align-self: stretch;
	display: inline-flex;
}

#format-buttons .button {
	font-size: 12px;
	font-weight: 600;
	min-height: 30px;
}

#format-buttons .button-secondary:not(.button-icon-only),
#format-buttons [class*="bbcode-imgshow"],
#format-buttons [class*="bbcode-media"] {
	font-weight: 600 !important;
}

.hasjs .postbody .post-buttons {
	max-width: none;
}

.post-buttons {
	z-index: 20;
}

.post-buttons > li {
	position: relative;
}

.post-buttons .dropdown {
	left: auto;
	margin-left: 0;
	margin-right: 0;
	min-width: 170px;
	right: 0;
	top: 36px;
	z-index: 60;
}

.post-buttons .dropdown .pointer {
	left: auto;
	right: 12px;
}

.post-buttons .dropdown .dropdown-contents {
	max-height: none;
	min-width: 160px;
	overflow: visible;
	padding: 6px;
}

.post-buttons .dropdown li {
	border-top: 0;
	padding: 0 !important;
	white-space: nowrap !important;
}

.post-buttons .dropdown a,
.post-buttons .dropdown .small-icon > a {
	align-items: center;
	border-radius: 7px;
	display: flex;
	font-size: 12px;
	gap: 7px;
	line-height: 1.2;
	min-height: 30px;
	padding: 6px 10px !important;
	text-align: left;
	white-space: nowrap !important;
}

.post-buttons .dropdown a:hover,
.post-buttons .dropdown a:focus {
	background: #eef7fd;
	color: var(--zv-link);
}

.zv-vote-list-card {
	letter-spacing: 0;
	line-height: 1.7;
	text-align: left !important;
	word-spacing: normal;
}

.zv-vote-list-card > * {
	text-align: left !important;
}

.zv-vote-list-card a,
.zv-vote-list-card span,
.zv-vote-list-card strong,
.zv-vote-list-card em,
.zv-vote-list-card b,
.zv-vote-list-card li,
.zv-vote-list-card td {
	display: inline !important;
	float: none !important;
	margin: 0 3px 0 0 !important;
	vertical-align: baseline;
	white-space: nowrap;
}

.zv-vote-list-card ul,
.zv-vote-list-card ol,
.zv-vote-list-card table,
.zv-vote-list-card tbody,
.zv-vote-list-card tr {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.zv-vote-list-card br {
	display: none;
}

@media (max-width: 700px) {
	.search-header {
		display: none;
	}

	.zv-index-under-forum {
		display: block;
	}

	.zv-index-under-forum-left,
	.zv-index-under-forum .stat-block {
		margin-bottom: 8px;
	}

	.zv-social-link {
		flex-basis: 136px;
		height: 38px;
		max-width: 136px;
		min-width: 136px;
	}

	dl.row-item {
		background-position: 9px 10px;
		background-size: 27px;
	}

	dl.row-item dt .list-inner {
		min-height: 31px;
		padding: 5px 8px 5px 44px;
	}

	.forabg ul.topiclist li.header,
	.forumbg ul.topiclist li.header {
		border-radius: 9px;
	}

	.forumtitle,
	a.forumtitle,
	.topictitle,
	a.topictitle {
		font-size: 1.08em;
	}
}

/* Latest compact pass: plain social links, smaller reactions, tighter forum rows. */
.zv-social-bar {
	background: transparent !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	gap: 0;
	justify-content: center;
	margin: 5px 0 8px;
	padding: 0;
}

.zv-social-link,
.zv-social-sponsor {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--zv-link) !important;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 12px;
	font-weight: 600;
	height: auto;
	line-height: 1.25;
	max-width: none;
	min-height: 0;
	min-width: 0;
	padding: 0 9px;
	text-shadow: none !important;
	transform: none !important;
}

.zv-social-link:before {
	display: none !important;
}

.zv-social-link:not(:last-child) {
	border-right: 1px solid rgba(151, 177, 196, .45) !important;
}

.zv-social-icon,
.zv-social-sponsor .zv-social-icon {
	display: none !important;
}

.zv-social-link:hover,
.zv-social-link:focus,
.zv-social-sponsor:hover,
.zv-social-sponsor:focus {
	background: transparent !important;
	color: var(--zv-red) !important;
	text-decoration: underline !important;
}

.zv-index-under-forum {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.post .reputation,
.post .thanks,
.post .rating,
.post .rate {
	gap: 2px;
}

.post-buttons .button,
.post-buttons .button-icon-only,
.post .reputation a,
.post .reputation button,
.post .reputation input[type="button"],
.post .reputation input[type="submit"],
.post .reputation .button,
.post .thanks a,
.post .thanks button,
.post .thanks input[type="button"],
.post .thanks input[type="submit"],
.post .thanks .button,
.post .rating a,
.post .rating button,
.post .rating input[type="button"],
.post .rating input[type="submit"],
.post .rating .button,
.post .rate a,
.post .rate button,
.post .rate input[type="button"],
.post .rate input[type="submit"],
.post .rate .button {
	font-size: 10px;
	height: 22px;
	line-height: 1;
	margin: 1px;
	min-height: 22px;
	min-width: 22px;
	padding: 0 6px;
}

.post-buttons .button-icon-only,
.postbody .button-icon-only {
	padding-left: 0;
	padding-right: 0;
	width: 22px;
}

.post-buttons .button .icon,
.post-buttons .button-icon-only .icon,
.post .rating img,
.post .rate img {
	max-height: 13px;
	max-width: 13px;
}

.post .rating input,
.post .rate input {
	height: 22px;
	line-height: 22px;
	min-height: 22px;
}

.post-buttons .dropdown {
	top: 27px;
}

ul.topiclist.forums,
ul.topiclist.topics {
	padding: 2px;
}

ul.topiclist li.row {
	margin: 0;
}

dl.row-item {
	background-position: 8px 50%;
	background-size: 23px;
}

dl.row-item dt .list-inner {
	min-height: 22px;
	padding: 2px 6px 2px 38px;
}

dl.row-item dt a.row-item-link,
dl a.row-item-link {
	height: 23px;
	left: 8px;
	margin-top: -12px;
	width: 23px;
}

.forumtitle,
a.forumtitle,
.topictitle,
a.topictitle {
	font-size: 1.04em;
	line-height: 1.16;
}

.list-inner br {
	line-height: 1;
}

ul.topiclist li.row dd.posts,
ul.topiclist li.row dd.topics,
ul.topiclist li.row dd.views {
	line-height: 1;
	min-height: 22px;
}

ul.topiclist li.row dd.lastpost > span {
	min-height: 20px;
	padding: 1px 5px;
}

.zv-forum-audio,
.zv-forum-video,
.zv-forum-electronics,
.zv-forum-parts,
.zv-forum-media,
.zv-forum-music,
.zv-forum-measure,
.zv-forum-workshop,
.zv-forum-market,
.zv-forum-computer,
.zv-forum-forumwork,
.zv-forum-flame {
	background-size: 23px !important;
}

@media (max-width: 900px) {
	.zv-index-under-forum {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.zv-social-bar {
		flex-wrap: wrap;
		justify-content: flex-start;
		overflow-x: visible;
	}

	.zv-social-link,
	.zv-social-sponsor {
		flex-basis: auto;
		height: auto;
		max-width: none;
		min-width: 0;
	}

	dl.row-item {
		background-position: 9px 10px;
		background-size: 27px;
	}

	dl.row-item dt .list-inner {
		min-height: 31px;
		padding: 5px 8px 5px 44px;
	}

	.forumtitle,
	a.forumtitle,
	.topictitle,
	a.topictitle {
		font-size: 1.08em;
	}
}

/* Keep the AudioBlindTest player from inheriting generic forum/reputation button rules. */
.abt-player .abt-vote,
.abt-player .abt-vote-count,
.abt-player [data-abt-vote-options],
.abt-player .abt-selfcheck-answer,
.abt-player .abt-selfcheck-result,
.abt-player .abt-login-message,
.abt-player .abt-my-choice,
.abt-voters {
	display: block !important;
	flex: initial !important;
	flex-direction: initial !important;
	flex-wrap: initial !important;
	gap: initial !important;
	height: auto !important;
	min-height: 0 !important;
	min-width: 0 !important;
	width: auto !important;
}

.abt-player .button,
.abt-player button.button,
.abt-player .button1,
.abt-player .button2,
.abt-player input.button1,
.abt-player input.button2,
.abt-player input.button3,
.abt-admin-actions .button2,
.abt-selfcheck-answer .button1,
.abt-vote .button1 {
	display: inline-block !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	height: auto !important;
	line-height: 1.4 !important;
	margin: 0 4px 4px 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 2px 8px !important;
	width: auto !important;
}

.abt-vote .button1,
.abt-selfcheck-answer .button1 {
	font-weight: 700 !important;
	padding: 6px 18px !important;
}

.abt-player [hidden],
.abt-player .button[hidden],
.abt-player button[hidden],
.abt-player input[hidden] {
	display: none !important;
}

.abt-player .abt-controls .button {
	align-items: center !important;
	display: inline-flex !important;
	justify-content: center !important;
	min-height: 32px !important;
	padding: 6px 14px !important;
}

.abt-player .abt-selfplay-mode .button {
	align-items: center !important;
	display: inline-flex !important;
	gap: 6px !important;
	justify-content: center !important;
	min-height: 30px !important;
	padding: 5px 11px !important;
}

.abt-player .abt-selfplay-mode .button:before {
	flex: 0 0 auto !important;
	margin: 0 !important;
}

@media (max-width: 600px) {
	.abt-player .abt-loop {
		align-items: stretch !important;
		display: grid !important;
		gap: 4px !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.25fr) !important;
		overflow: visible !important;
		padding: 6px !important;
	}

	.abt-player .abt-loop .button,
	.abt-player .abt-loop label {
		align-items: center !important;
		box-sizing: border-box !important;
		display: inline-flex !important;
		font-size: 12px !important;
		gap: 3px !important;
		height: 36px !important;
		justify-content: center !important;
		line-height: 1.15 !important;
		margin: 0 !important;
		min-height: 36px !important;
		min-width: 0 !important;
		overflow: hidden !important;
		padding: 6px 4px !important;
		text-align: center !important;
		white-space: nowrap !important;
		width: 100% !important;
	}

	.abt-player .abt-loop .button:before {
		font-size: 14px !important;
		line-height: 1 !important;
		min-width: 12px !important;
	}

	.abt-player .abt-loop [data-abt-loop-reset] {
		font-size: 11px !important;
	}

	.abt-player .abt-loop [data-abt-loop-reset]:before {
		font-size: 16px !important;
		min-width: 14px !important;
	}

	.abt-player .abt-loop label span {
		display: inline !important;
		font-size: 11px !important;
		line-height: 1 !important;
		margin: 0 !important;
		white-space: nowrap !important;
	}

	.abt-player .abt-loop input[type="checkbox"] {
		flex: 0 0 auto !important;
		height: 20px !important;
		width: 34px !important;
	}

	.abt-player .abt-loop-label-desktop {
		display: none !important;
	}

	.abt-player .abt-loop-label-mobile {
		display: inline !important;
	}
}

.abt-player .abt-selfcheck-result:not([hidden]) {
	display: block !important;
	line-height: 1.45 !important;
	margin: 10px 0 8px !important;
	padding: 7px 10px !important;
}

.abt-player .abt-selfcheck-new:not([hidden]) {
	align-items: center !important;
	display: inline-flex !important;
	justify-content: center !important;
	margin: 8px 0 0 !important;
	min-height: 30px !important;
	padding: 6px 14px !important;
}

.abt-player [hidden],
.abt-player .button[hidden],
.abt-player button[hidden],
.abt-player input[hidden],
.abt-player .abt-controls .button[hidden],
.abt-player .abt-selfcheck-new[hidden] {
	display: none !important;
}

#bb3topics_main h3 {
	font-size: 1.3em !important;
	line-height: 1.25 !important;
}

#bb3topics_main .bb3topics_header {
	font-size: 1.1em !important;
	line-height: 1.35 !important;
}

#bb3topics_main .bb3topics_container {
	font-size: 1em !important;
	line-height: 1.5 !important;
}

#bb3topics_main .bb3topics_container a.topictitle {
	font-size: 1.2em !important;
	line-height: 1.25 !important;
}

.abt-vote label {
	display: block !important;
	margin: 0 0 6px !important;
}

.abt-vote input[type="radio"],
.abt-vote input[type="checkbox"],
.abt-selfcheck-answer input[type="radio"],
.abt-selfcheck-answer input[type="checkbox"] {
	display: inline-block !important;
	height: auto !important;
	line-height: normal !important;
	margin: 0 5px 0 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
	width: auto !important;
}

.abt-player .abt-result-bar,
.abt-player .abt-progress-row {
	background: #dfe7ee !important;
	border-radius: 4px !important;
	overflow: hidden !important;
}

.abt-player .abt-result-bar span,
.abt-player .abt-progress-row span {
	background: #2f7dbd !important;
	background-image: linear-gradient(90deg, #1f86c9, #12a3eb) !important;
	box-shadow: 0 0 6px rgba(47, 125, 189, .24) !important;
	display: block !important;
	height: 100% !important;
	min-height: 8px !important;
}

.abt-player .abt-result-bar span {
	min-height: 18px !important;
}

.abt-player .pollbar1,
.abt-player .pollbar2,
.abt-player .pollbar3,
.abt-player .pollbar4,
.abt-player .pollbar5 {
	background: #2f7dbd !important;
	background-image: linear-gradient(90deg, #1f86c9, #12a3eb) !important;
	color: #ffffff !important;
}

.abt-vote-count {
	color: #53616d;
	font-weight: 700;
	line-height: 1.35 !important;
	margin: 8px 0 !important;
	padding: 0 !important;
}

.abt-planned-close {
	border-radius: 7px;
	line-height: 1.35;
	margin: 8px 0 !important;
	padding: 7px 10px !important;
}

.abt-voters {
	background: rgba(247, 251, 253, .92);
	border: 1px solid rgba(191, 210, 223, .78);
	border-radius: 8px;
	line-height: 1.55;
	margin: 8px 0 !important;
	max-height: none !important;
	overflow: visible !important;
	padding: 7px 10px !important;
	text-align: left !important;
}

.abt-voters h4 {
	display: inline !important;
	font-size: 1em;
	font-weight: 700;
	margin: 0 8px 0 0 !important;
}

.abt-voters ul,
.abt-voters ol {
	display: inline !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.abt-voters li,
.abt-voters p {
	display: inline !important;
	float: none !important;
	margin: 0 4px 0 0 !important;
	padding: 0 !important;
	white-space: nowrap;
}

.abt-voters a,
.abt-voters span,
.abt-voters strong,
.abt-voters em {
	display: inline !important;
	float: none !important;
	height: auto !important;
	line-height: inherit !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
	vertical-align: baseline !important;
	width: auto !important;
}

.post-buttons .rate-good-icon,
.post-buttons .rate-bad-icon,
.post-buttons .post-reputation,
.post .rate-good-icon,
.post .rate-bad-icon,
.post .post-reputation,
.post a.post-reputation,
.post div.post-reputation,
.post .button.post-reputation {
	align-items: center !important;
	background-image: none !important;
	border-radius: 999px !important;
	box-sizing: border-box !important;
	display: inline-flex !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	height: 22px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 1px !important;
	min-height: 22px !important;
	min-width: 22px !important;
	padding: 0 6px !important;
	vertical-align: middle !important;
	width: auto !important;
}

.post-buttons .rate-good-icon,
.post-buttons .rate-bad-icon,
.post .rate-good-icon,
.post .rate-bad-icon {
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 22px !important;
}

.post .post-reputation span,
.post-buttons .post-reputation span {
	align-items: center !important;
	display: inline-flex !important;
	height: auto !important;
	justify-content: center !important;
	line-height: 1 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.post-buttons .rate-good-icon .icon,
.post-buttons .rate-bad-icon .icon,
.post .rate-good-icon .icon,
.post .rate-bad-icon .icon {
	font-size: 11px !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.post-buttons .own,
.post .own,
.post-buttons .rate-good-icon.rated_bad,
.post .rate-good-icon.rated_bad,
.post-buttons .rate-bad-icon.rated_good,
.post .rate-bad-icon.rated_good {
	display: none !important;
}

.post.zv-has-audio-test .post-buttons .zv-hidden-overflow-menu,
.post.zv-has-audio-test .post-buttons > li.responsive-menu,
.post.zv-has-audio-test .post-buttons .dropdown-container.responsive-menu {
	display: none !important;
}

.post:has(.abt-player) .post-buttons > li.responsive-menu,
.post:has(.abt-player) .post-buttons .dropdown-container.responsive-menu {
	display: none !important;
}

.post.zv-has-audio-test .post-buttons {
	max-width: none !important;
	overflow: visible !important;
}

/* Source-style social links. */
.zv-social-bar {
	align-items: center !important;
	background: #fff !important;
	background-image: none !important;
	border: 1px solid var(--zv-line) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	justify-content: center !important;
	margin: 10px 0 12px !important;
	overflow: visible !important;
	padding: 9px !important;
}

.zv-social-link,
.zv-social-sponsor {
	align-items: center !important;
	background: #f8fbfd !important;
	border: 1px solid #dbe8f0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--zv-text) !important;
	display: inline-flex !important;
	flex: 0 0 auto !important;
	font-size: 1.18em !important;
	font-weight: 700 !important;
	gap: 7px !important;
	height: auto !important;
	justify-content: center !important;
	line-height: 1 !important;
	max-width: none !important;
	min-height: 34px !important;
	min-width: 0 !important;
	overflow: visible !important;
	padding: 5px 12px 5px 6px !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transform: none !important;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease !important;
	white-space: nowrap !important;
	width: auto !important;
}

.zv-social-link:before {
	content: none !important;
	display: none !important;
}

.zv-social-icon,
.zv-social-sponsor .zv-social-icon {
	background-color: transparent !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 24px 24px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	display: inline-block !important;
	flex: 0 0 auto !important;
	height: 24px !important;
	width: 24px !important;
}

.zv-social-youtube .zv-social-icon {
	background-image: url("./images/zv-icon-youtube.svg") !important;
}

.zv-social-tiktok .zv-social-icon {
	background-image: url("./images/zv-icon-tiktok.svg") !important;
}

.zv-social-rules .zv-social-icon {
	background-image: url("./images/zv-icon-rules.svg") !important;
}

.zv-social-sponsor {
	background: var(--zv-red) !important;
	border-color: var(--zv-red) !important;
	color: #fff !important;
	padding-left: 12px !important;
}

.zv-social-sponsor .zv-social-icon {
	align-items: center !important;
	background: rgba(255, 255, 255, .16) !important;
	border-radius: 999px !important;
	color: #fff !important;
	display: inline-flex !important;
	font-size: 16px !important;
	justify-content: center !important;
}

.zv-social-sponsor .zv-social-icon:before {
	content: "\f164" !important;
	font-family: FontAwesome !important;
}

.zv-social-link:hover,
.zv-social-link:focus {
	background: #eef7fd !important;
	border-color: #9fcfe8 !important;
	color: var(--zv-link) !important;
	text-decoration: none !important;
	transform: none !important;
}

.zv-social-sponsor:hover,
.zv-social-sponsor:focus {
	background: #bc2a4d !important;
	border-color: #bc2a4d !important;
	color: #fff !important;
	text-decoration: none !important;
	transform: none !important;
}

@media (max-width: 700px) {
	.zv-social-bar {
		gap: 6px !important;
		justify-content: center !important;
		margin: 8px 0 10px !important;
		overflow-x: auto !important;
		padding: 8px !important;
		-webkit-overflow-scrolling: touch;
	}

	.zv-social-link,
	.zv-social-sponsor {
		font-size: 1.08em !important;
		min-height: 40px !important;
		padding: 6px 12px 6px 8px !important;
	}

	.zv-social-icon,
	.zv-social-sponsor .zv-social-icon {
		background-size: 26px 26px !important;
		height: 26px !important;
		width: 26px !important;
	}
}

/* Match the original phpBB forum-row height for the main forum blocks. */
ul.topiclist.forums {
	padding: 0 !important;
}

ul.topiclist.forums li.row {
	margin: 0 !important;
}

ul.topiclist.forums li.row dl {
	margin: 2px 0 !important;
}

ul.topiclist.forums dl.row-item {
	background-position: 10px 50% !important;
	background-size: 32px !important;
}

ul.topiclist.forums dl.row-item dt,
ul.topiclist.forums dl.row-item dd {
	min-height: 35px !important;
}

ul.topiclist.forums dl.row-item dt .list-inner {
	min-height: 35px !important;
	padding: 4px 5px 4px 52px !important;
}

ul.topiclist.forums dl.row-item dt a.row-item-link,
ul.topiclist.forums dl a.row-item-link {
	height: 30px !important;
	left: 0 !important;
	margin-left: 9px !important;
	margin-top: -15px !important;
	top: 50% !important;
	width: 30px !important;
}

ul.topiclist.forums a.forumtitle {
	font-size: 1.2em !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

ul.topiclist.forums li.row dd.posts,
ul.topiclist.forums li.row dd.topics,
ul.topiclist.forums li.row dd.views {
	display: block !important;
	line-height: 2.2em !important;
	min-height: 35px !important;
	padding: 4px 0 999px !important;
}

ul.topiclist.forums li.row dd.lastpost > span {
	min-height: 0 !important;
	padding: 2px 6px !important;
}

ul.topiclist.forums .zv-forum-audio,
ul.topiclist.forums .zv-forum-video,
ul.topiclist.forums .zv-forum-electronics,
ul.topiclist.forums .zv-forum-parts,
ul.topiclist.forums .zv-forum-media,
ul.topiclist.forums .zv-forum-music,
ul.topiclist.forums .zv-forum-measure,
ul.topiclist.forums .zv-forum-workshop,
ul.topiclist.forums .zv-forum-market,
ul.topiclist.forums .zv-forum-computer,
ul.topiclist.forums .zv-forum-forumwork,
ul.topiclist.forums .zv-forum-flame {
	background-size: 32px !important;
}

@media (max-width: 700px) {
	ul.topiclist.forums dl.row-item {
		background-position: 10px 50% !important;
		background-size: 32px !important;
	}

	ul.topiclist.forums dl.row-item dt .list-inner {
		min-height: 35px !important;
		padding: 4px 5px 4px 52px !important;
	}
}

/* Tight forum rows: keep the old-template block height while retaining modern icons. */
.forabg ul.topiclist.forums,
.forumbg ul.topiclist.forums {
	padding: 2px !important;
}

.forabg ul.topiclist.forums li.row,
.forumbg ul.topiclist.forums li.row {
	border-radius: 5px !important;
	box-shadow: none !important;
	margin: 1px 0 !important;
	min-height: 0 !important;
}

.forabg ul.topiclist.forums li.row:hover,
.forumbg ul.topiclist.forums li.row:hover {
	box-shadow: none !important;
}

.forabg ul.topiclist.forums dl.row-item,
.forumbg ul.topiclist.forums dl.row-item {
	align-items: center !important;
	grid-template-columns: minmax(0, 1fr) 76px 76px minmax(205px, 250px) !important;
	min-height: 35px !important;
}

.forabg ul.topiclist.forums dl.row-item dt,
.forumbg ul.topiclist.forums dl.row-item dt,
.forabg ul.topiclist.forums dl.row-item dd,
.forumbg ul.topiclist.forums dl.row-item dd {
	min-height: 35px !important;
}

.forabg ul.topiclist.forums dl.row-item,
.forumbg ul.topiclist.forums dl.row-item,
.forabg ul.topiclist.forums .zv-forum-audio,
.forabg ul.topiclist.forums .zv-forum-video,
.forabg ul.topiclist.forums .zv-forum-electronics,
.forabg ul.topiclist.forums .zv-forum-parts,
.forumbg ul.topiclist.forums .zv-forum-audio,
.forumbg ul.topiclist.forums .zv-forum-video,
.forumbg ul.topiclist.forums .zv-forum-electronics,
.forumbg ul.topiclist.forums .zv-forum-parts {
	background-size: 30px !important;
}

.forabg ul.topiclist.forums dl.row-item dt .list-inner,
.forumbg ul.topiclist.forums dl.row-item dt .list-inner {
	line-height: 1.12 !important;
	min-height: 0 !important;
	padding: 2px 5px 2px 50px !important;
}

.forabg ul.topiclist.forums dl.row-item dt .list-inner br,
.forumbg ul.topiclist.forums dl.row-item dt .list-inner br {
	line-height: .65 !important;
}

.forabg ul.topiclist.forums a.forumtitle,
.forumbg ul.topiclist.forums a.forumtitle {
	font-size: 1.2em !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
}

.forabg ul.topiclist.forums li.row dd.topics,
.forabg ul.topiclist.forums li.row dd.posts,
.forabg ul.topiclist.forums li.row dd.views,
.forumbg ul.topiclist.forums li.row dd.topics,
.forumbg ul.topiclist.forums li.row dd.posts,
.forumbg ul.topiclist.forums li.row dd.views {
	align-items: center !important;
	display: flex !important;
	font-size: 1.2em !important;
	justify-content: center !important;
	line-height: 35px !important;
	margin-bottom: 0 !important;
	min-height: 35px !important;
	padding: 0 !important;
}

.forabg ul.topiclist.forums li.row dd.lastpost,
.forumbg ul.topiclist.forums li.row dd.lastpost {
	align-items: center !important;
	display: flex !important;
	font-size: 1.1em !important;
	line-height: 1.14 !important;
	margin-bottom: 0 !important;
	min-height: 35px !important;
	padding: 0 !important;
}

.forabg ul.topiclist.forums li.row dd.lastpost > span,
.forumbg ul.topiclist.forums li.row dd.lastpost > span {
	background: rgba(246, 250, 252, .58) !important;
	border-radius: 5px !important;
	line-height: 1.12 !important;
	margin: 1px 2px 1px 0 !important;
	min-height: 0 !important;
	padding: 2px 5px !important;
}

.zv-stat-birthday-stack {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 0;
	min-width: 0;
}

.zv-stat-birthday-stack.zv-split-stack {
	display: grid;
	grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
}

.zv-stat-birthday-stack .stat-block {
	box-sizing: border-box;
	margin: 0 !important;
	min-height: 0;
}

.zv-stat-birthday-stack:not(.zv-split-stack) .stat-block {
	height: 100%;
}

.zv-stat-birthday-stack.zv-split-stack .stat-block {
	height: auto;
}

.zv-birthday-card p {
	overflow-wrap: anywhere;
}

/* Forum table alignment and navbar counters. Keep this as the single final grid override. */
.forabg ul.topiclist li.header dl.row-item,
.forumbg ul.topiclist li.header dl.row-item,
.forabg ul.topiclist.forums dl.row-item,
.forumbg ul.topiclist.forums dl.row-item,
.forabg ul.topiclist.topics dl.row-item,
.forumbg ul.topiclist.topics dl.row-item {
	align-items: center !important;
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 70px 82px 76px 190px !important;
	width: 100% !important;
}

.forabg ul.topiclist.forums li.row,
.forumbg ul.topiclist.forums li.row {
	margin: 0 !important;
}

.forabg ul.topiclist.forums li.row + li.row,
.forumbg ul.topiclist.forums li.row + li.row {
	margin-top: 3mm !important;
}

.forabg ul.topiclist li.header dt,
.forumbg ul.topiclist li.header dt,
.forabg ul.topiclist.forums dl.row-item dt,
.forumbg ul.topiclist.forums dl.row-item dt {
	min-width: 0 !important;
	width: auto !important;
}

.forabg ul.topiclist li.header dt .list-inner,
.forumbg ul.topiclist li.header dt .list-inner,
.forabg ul.topiclist.forums dl.row-item dt .list-inner,
.forumbg ul.topiclist.forums dl.row-item dt .list-inner {
	box-sizing: border-box !important;
	margin-right: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
	white-space: normal !important;
	width: 100% !important;
}

.forabg ul.topiclist li.header dd.lastpost,
.forabg ul.topiclist li.header dd.posts,
.forabg ul.topiclist li.header dd.topics,
.forabg ul.topiclist li.header dd.views,
.forumbg ul.topiclist li.header dd.lastpost,
.forumbg ul.topiclist li.header dd.posts,
.forumbg ul.topiclist li.header dd.topics,
.forumbg ul.topiclist li.header dd.views,
.forabg ul.topiclist.forums li.row dd.lastpost,
.forabg ul.topiclist.forums li.row dd.posts,
.forabg ul.topiclist.forums li.row dd.topics,
.forabg ul.topiclist.forums li.row dd.views,
.forumbg ul.topiclist.forums li.row dd.lastpost,
.forumbg ul.topiclist.forums li.row dd.posts,
.forumbg ul.topiclist.forums li.row dd.topics,
.forumbg ul.topiclist.forums li.row dd.views {
	box-sizing: border-box !important;
	margin: 0 !important;
	width: auto !important;
}

.forabg ul.topiclist li.header dd.posts,
.forabg ul.topiclist li.header dd.topics,
.forabg ul.topiclist li.header dd.views,
.forumbg ul.topiclist li.header dd.posts,
.forumbg ul.topiclist li.header dd.topics,
.forumbg ul.topiclist li.header dd.views,
.forabg ul.topiclist.forums li.row dd.posts,
.forabg ul.topiclist.forums li.row dd.topics,
.forabg ul.topiclist.forums li.row dd.views,
.forumbg ul.topiclist.forums li.row dd.posts,
.forumbg ul.topiclist.forums li.row dd.topics,
.forumbg ul.topiclist.forums li.row dd.views {
	justify-content: center !important;
	text-align: center !important;
}

.forabg ul.topiclist li.header dd.lastpost,
.forumbg ul.topiclist li.header dd.lastpost,
.forabg ul.topiclist.forums li.row dd.lastpost,
.forumbg ul.topiclist.forums li.row dd.lastpost,
.forabg ul.topiclist.topics li.row dd.lastpost,
.forumbg ul.topiclist.topics li.row dd.lastpost {
	align-items: center !important;
	display: flex !important;
	grid-column: 5 !important;
	justify-content: flex-end !important;
	padding: 0 8px 0 0 !important;
	text-align: left !important;
}

.forabg ul.topiclist li.header dd.lastpost > span,
.forumbg ul.topiclist li.header dd.lastpost > span,
.forabg ul.topiclist.forums li.row dd.lastpost > span,
.forumbg ul.topiclist.forums li.row dd.lastpost > span {
	box-sizing: border-box !important;
	display: block !important;
	margin-left: 0 !important;
	margin-right: 7px !important;
	max-width: none !important;
	overflow: visible !important;
	overflow-wrap: anywhere !important;
	white-space: normal !important;
	width: 100% !important;
}

.forabg ul.topiclist.forums li.row dd.lastpost .lastsubject,
.forumbg ul.topiclist.forums li.row dd.lastpost .lastsubject {
	display: inline-block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	vertical-align: bottom !important;
	white-space: nowrap !important;
}

/* Compact topic rows inside forum sections. */
.forabg ul.topiclist.topics,
.forumbg ul.topiclist.topics {
	padding: 2px !important;
}

.forabg ul.topiclist.topics li.row,
.forumbg ul.topiclist.topics li.row {
	border-radius: 5px !important;
	box-shadow: none !important;
	margin: 1px 0 !important;
	min-height: 0 !important;
}

.forabg ul.topiclist.topics li.row:hover,
.forumbg ul.topiclist.topics li.row:hover {
	box-shadow: none !important;
}

.forabg ul.topiclist.topics li.row dl,
.forumbg ul.topiclist.topics li.row dl {
	align-items: center !important;
	min-height: 42px !important;
}

.forabg ul.topiclist.topics li.row dt,
.forumbg ul.topiclist.topics li.row dt {
	align-items: center !important;
	display: flex !important;
	min-height: 42px !important;
}

.forabg ul.topiclist.topics li.row dd,
.forumbg ul.topiclist.topics li.row dd {
	margin-bottom: 0 !important;
	min-height: 42px !important;
	padding: 0 !important;
}

.forabg ul.topiclist.topics li.row dt .list-inner,
.forumbg ul.topiclist.topics li.row dt .list-inner {
	line-height: 1.08 !important;
	min-height: 0 !important;
	padding: 2px 6px 2px 38px !important;
	width: 100% !important;
}

.forabg ul.topiclist.topics li.row dt .list-inner br,
.forumbg ul.topiclist.topics li.row dt .list-inner br {
	line-height: .65 !important;
}

.forabg ul.topiclist.topics li.row a.topictitle,
.forumbg ul.topiclist.topics li.row a.topictitle {
	font-size: 1.2em !important;
	line-height: 1.1 !important;
}

.forabg ul.topiclist.topics li.row dd.posts,
.forabg ul.topiclist.topics li.row dd.views,
.forumbg ul.topiclist.topics li.row dd.posts,
.forumbg ul.topiclist.topics li.row dd.views {
	align-items: center !important;
	display: flex !important;
	font-size: 1.2em !important;
	justify-content: center !important;
	line-height: 1 !important;
	min-height: 42px !important;
	padding: 0 !important;
}

.forabg ul.topiclist.topics li.row dd.lastpost,
.forumbg ul.topiclist.topics li.row dd.lastpost {
	align-items: center !important;
	display: flex !important;
	font-size: 1.1em !important;
	justify-content: flex-end !important;
	line-height: 1.12 !important;
	margin-bottom: 0 !important;
	min-height: 42px !important;
	padding: 0 8px 0 0 !important;
}

.forabg ul.topiclist.topics li.row dd.lastpost > span,
.forumbg ul.topiclist.topics li.row dd.lastpost > span {
	box-sizing: border-box !important;
	display: block !important;
	line-height: 1.12 !important;
	margin: 1px 7px 1px 0 !important;
	min-height: 0 !important;
	padding: 1px 5px !important;
	width: 100% !important;
}

.forabg ul.topiclist.topics li.row dd.lastpost .lastsubject,
.forumbg ul.topiclist.topics li.row dd.lastpost .lastsubject {
	display: inline-block !important;
	max-width: 100% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	vertical-align: bottom !important;
	white-space: nowrap !important;
}

#page-header #nav-main > li.rightside > a,
#page-header #nav-main > li.dropdown-container.rightside > a {
	align-items: center !important;
	display: inline-flex !important;
	gap: 4px !important;
	max-width: none !important;
	overflow: visible !important;
	padding-right: 8px !important;
	white-space: nowrap !important;
}

#page-header #nav-main > li.rightside > a > span,
#page-header #nav-main > li.dropdown-container.rightside > a > span {
	display: inline-block !important;
	max-width: none !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: nowrap !important;
}

#page-header #nav-main > li.rightside > a .badge,
#page-header #nav-main > li.dropdown-container.rightside > a .badge {
	flex: 0 0 auto !important;
	margin-left: 3px !important;
	position: static !important;
	right: auto !important;
	top: auto !important;
	transform: none !important;
}

@media (max-width: 700px) {
	#page-header #nav-main a#notification_list_button,
	#page-header #nav-main > li.rightside > a[href*="i=pm"] {
		gap: 3px !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
	}

	#page-header #nav-main a#notification_list_button > span,
	#page-header #nav-main > li.rightside > a[href*="i=pm"] > span {
		border: 0 !important;
		clip: rect(0 0 0 0) !important;
		clip-path: inset(50%) !important;
		height: 1px !important;
		margin: -1px !important;
		overflow: hidden !important;
		padding: 0 !important;
		position: absolute !important;
		white-space: nowrap !important;
		width: 1px !important;
	}

	.forabg ul.topiclist li.header dl.row-item,
	.forumbg ul.topiclist li.header dl.row-item,
	.forabg ul.topiclist.forums dl.row-item,
	.forumbg ul.topiclist.forums dl.row-item,
	.forabg ul.topiclist.topics dl.row-item,
	.forumbg ul.topiclist.topics dl.row-item {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.forabg ul.topiclist li.header dd.lastpost,
	.forumbg ul.topiclist li.header dd.lastpost,
	.forabg ul.topiclist.forums li.row dd.lastpost,
	.forumbg ul.topiclist.forums li.row dd.lastpost,
	.forabg ul.topiclist.topics li.row dd.lastpost,
	.forumbg ul.topiclist.topics li.row dd.lastpost {
		grid-column: auto !important;
	}

	.forabg ul.topiclist.forums li.row + li.row,
	.forumbg ul.topiclist.forums li.row + li.row {
		margin-top: 6px !important;
	}

	.forabg ul.topiclist.forums li.row dd.topics,
	.forabg ul.topiclist.forums li.row dd.posts,
	.forabg ul.topiclist.forums li.row dd.views,
	.forabg ul.topiclist.forums li.row dd.lastpost,
	.forumbg ul.topiclist.forums li.row dd.topics,
	.forumbg ul.topiclist.forums li.row dd.posts,
	.forumbg ul.topiclist.forums li.row dd.views,
	.forumbg ul.topiclist.forums li.row dd.lastpost {
		display: none !important;
	}
}

/* Mobile-only post actions and header refinements. */
.post-buttons > li.zv-mobile-post-menu {
	display: none !important;
}

@media (max-width: 700px) {
	.zv-brand-logo {
		flex-basis: 64px !important;
		height: 54px !important;
		width: 64px !important;
	}

	.zv-brand-logo img {
		height: auto !important;
		max-height: 50px !important;
		max-width: 62px !important;
		width: 62px !important;
	}

	.site-description h1 {
		font-size: 1.85em !important;
	}

	.forabg ul.topiclist li.header dd.lastpost {
		display: none !important;
	}

	.post-buttons > li.zv-mobile-overflow-action {
		display: none !important;
	}

	.post-buttons > li.zv-mobile-post-menu,
	.post-buttons > li.zv-mobile-post-menu.hidden,
	.post.zv-has-audio-test .post-buttons > li.zv-mobile-post-menu,
	.post:has(.abt-player) .post-buttons > li.zv-mobile-post-menu {
		display: list-item !important;
		visibility: visible !important;
	}

	.post-buttons > li.zv-mobile-post-menu > a {
		align-items: center !important;
		display: inline-flex !important;
		justify-content: center !important;
	}

	.post-buttons > li.zv-mobile-post-menu > .dropdown {
		display: none !important;
		left: auto !important;
		min-width: 170px !important;
		right: 0 !important;
		top: 27px !important;
		z-index: 90 !important;
	}

	.post-buttons > li.zv-mobile-post-menu.zv-open > .dropdown {
		display: block !important;
	}

	.post-buttons > li.zv-mobile-post-menu .dropdown-contents {
		background: #ffffff !important;
		border: 1px solid var(--zv-line-strong) !important;
		border-radius: 9px !important;
		box-shadow: 0 8px 22px rgba(40, 49, 63, .16) !important;
		box-sizing: border-box !important;
		min-width: 170px !important;
		padding: 5px !important;
	}

	.post-buttons > li.zv-mobile-post-menu .dropdown-contents li {
		border: 0 !important;
		display: block !important;
		padding: 0 !important;
		white-space: nowrap !important;
	}

	.post-buttons > li.zv-mobile-post-menu .zv-mobile-action-link {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 7px !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
		color: var(--zv-link) !important;
		display: flex !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		gap: 7px !important;
		height: auto !important;
		justify-content: flex-start !important;
		line-height: 1.2 !important;
		margin: 0 !important;
		min-height: 31px !important;
		padding: 7px 10px !important;
		text-align: left !important;
		text-decoration: none !important;
		white-space: nowrap !important;
		width: 100% !important;
	}

	.post-buttons > li.zv-mobile-post-menu .zv-mobile-action-link:hover,
	.post-buttons > li.zv-mobile-post-menu .zv-mobile-action-link:focus {
		background: #eef7fd !important;
		color: var(--zv-link) !important;
	}

	.post-buttons > li.zv-mobile-post-menu .zv-mobile-action-link .icon {
		flex: 0 0 auto !important;
		font-size: 12px !important;
		margin: 0 !important;
		max-height: none !important;
		max-width: none !important;
		width: 14px !important;
	}

	.post-buttons > li.zv-mobile-post-menu .zv-menu-label {
		clip: auto !important;
		clip-path: none !important;
		display: inline !important;
		height: auto !important;
		margin: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
		position: static !important;
		white-space: nowrap !important;
		width: auto !important;
	}
}
