
/*
 * Vorro V1.2.1 Alignment Polish
 * Fixes MyBB's legacy float/margin alignment around action buttons,
 * pagination, posting forms, thread tools, post controls and utility forms.
 */

/* ---------------------------------------------------------
   Primary action buttons: Post Thread / New Reply / Closed
   --------------------------------------------------------- */
a.button,
a.button:link,
a.button:visited,
a.button:hover,
a.button:active {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	min-height: 36px;
	margin: 0 !important;
	padding: 8px 13px !important;
	line-height: 1.15 !important;
	white-space: nowrap;
}

a.button span,
a.button.new_thread_button span,
a.button.new_reply_button span,
a.button.closed_button span {
	display: inline-flex !important;
	align-items: center;
	height: auto !important;
	padding-left: 0 !important;
	line-height: 1.15 !important;
	background-image: none !important;
	background-position: 0 0 !important;
}

/* ---------------------------------------------------------
   Action bars used by forumdisplay + showthread overrides
   --------------------------------------------------------- */
.vorro-actionbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 40px;
}

.vorro-actionbar-top {
	margin: 0 0 12px;
}

.vorro-actionbar-bottom {
	margin: 12px 0 18px;
}

.vorro-actionbar-pagination {
	flex: 1 1 auto;
	min-width: 0;
}

.vorro-actionbar-primary {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-height: 36px;
}

/* Pagination baseline */
.vorro-actionbar .pagination,
.pagination {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 32px;
}

.pagination .pages {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	margin: 0 3px 0 0;
}

.pagination .pagination_current,
.pagination a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	vertical-align: middle;
}

.pagination .go_page {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 28px;
}

.pagination .go_page img {
	display: block;
	margin: 0 !important;
	vertical-align: middle;
}

/* ---------------------------------------------------------
   Thread rating + search + next/previous footer
   --------------------------------------------------------- */
.vorro-thread-rating {
	display: flex;
	align-items: center;
	min-height: 36px;
	margin: 0;
	padding: 0;
}

.vorro-thread-rating .inline_rating {
	display: flex;
	align-items: center;
	gap: 8px;
	float: none !important;
	padding: 0 !important;
}

.vorro-thread-rating .inline_rating > strong {
	float: none !important;
	padding-right: 0 !important;
	white-space: nowrap;
}

.vorro-thread-rating .star_rating {
	margin: 0;
}

.vorro-thread-nav-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 38px;
}

.vorro-thread-search {
	flex: 0 1 auto;
}

.vorro-thread-search form {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 0;
}

.vorro-thread-search input.textbox {
	margin: 0;
}

/* ---------------------------------------------------------
   Forum footer controls + legends
   --------------------------------------------------------- */
.vorro-forum-footer,
.vorro-thread-footer-controls {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-top: 14px;
}

.vorro-thread-legends {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px 22px;
	min-width: 0;
}

.thread_legend {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 14px;
	margin: 0 !important;
	padding: 0 !important;
}

.thread_legend dd {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap;
}

.vorro-forum-utilities,
.vorro-thread-admin {
	flex: 0 1 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	max-width: 58%;
	text-align: right;
}

.vorro-forum-utilities form,
.vorro-thread-admin form,
#inlinemoderation_options,
#moderator_options {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 !important;
}

.vorro-forum-utilities select,
.vorro-thread-admin select,
#inlinemoderation_options select,
#moderator_options select {
	margin: 0;
	max-width: 300px;
}

.vorro-forum-utilities .button,
.vorro-thread-admin .button,
#inlinemoderation_options .button,
#moderator_options .button {
	margin: 0 !important;
}

.vorro-forum-utilities br,
.vorro-thread-admin br {
	display: none;
}

/* Search forum / forum jump should sit neatly with moderation controls */
.vorro-inline-form {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

/* ---------------------------------------------------------
   Post controls: remove float collisions
   --------------------------------------------------------- */
.post_controls {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 7px 12px;
}

.post_controls .float_left,
.post_controls .float_right,
.post_controls .postbit_buttons {
	float: none !important;
	margin: 0 !important;
}

.post_controls .postbit_buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}

.postbit_buttons > a,
.postbit_buttons > a:link,
.postbit_buttons > a:visited,
.postbit_buttons > a:hover,
.postbit_buttons > a:active {
	display: inline-flex !important;
	align-items: center;
	min-height: 30px;
	margin: 0 !important;
}

.postbit_buttons a span {
	display: inline-flex;
	align-items: center;
}

/* ---------------------------------------------------------
   Quick Reply
   --------------------------------------------------------- */
#quick_reply_form {
	margin-top: 0;
}

#quick_reply_form table.tborder {
	margin-bottom: 0;
}

#quick_reply_form textarea#message {
	display: block;
	width: 100% !important;
	min-height: 180px;
	margin: 0 !important;
	resize: vertical;
}

#quick_reply_form td > div[style*="width: 95%"],
#quick_reply_form .editor_control_bar[style*="width: 95%"] {
	width: 100% !important;
}

#quick_reply_form .tfoot {
	padding: 10px 12px;
	text-align: right !important;
}

#quick_reply_form .tfoot .button {
	margin-left: 6px !important;
}

#quick_reply_form .tfoot .button:first-child {
	margin-left: 0 !important;
}

/* ---------------------------------------------------------
   New Thread / New Reply full posting forms
   --------------------------------------------------------- */
form[name="input"] > table.tborder {
	width: 100%;
	table-layout: fixed;
}

form[name="input"] > table.tborder > tbody > tr > td:not([colspan]):first-child {
	width: 22%;
	min-width: 170px;
	vertical-align: top;
}

form[name="input"] > table.tborder > tbody > tr > td:not([colspan]):last-child {
	width: auto;
}

form[name="input"] input.textbox,
form[name="input"] select {
	max-width: 100%;
}

form[name="input"] > div[align="center"],
form[name="input"] > div[style*="text-align:center"],
form[name="input"] > div[style*="text-align: center"] {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

form[name="input"] > div[align="center"] .button,
form[name="input"] > div[style*="text-align:center"] .button,
form[name="input"] > div[style*="text-align: center"] .button {
	margin: 0 !important;
}

/* Attachments/post options sometimes use nested tables */
form[name="input"] table table {
	max-width: 100%;
}

.posticons_label {
	vertical-align: middle;
}

/* ---------------------------------------------------------
   Generic legacy alignment cleanups
   --------------------------------------------------------- */
.thead > .float_right,
.tfoot > .float_right,
.tcat > .float_right {
	display: flex;
	align-items: center;
	gap: 6px;
}

.thead > div:not(.float_right) {
	min-width: 0;
}

.expcolimage {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 18px;
}

.expcolimage img {
	display: block;
	margin: 0;
}

select + .button,
input.textbox + .button {
	vertical-align: middle;
}

.drop_go_page form {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}

.drop_go_page .textbox {
	width: 72px;
}

.pollbar {
	overflow: hidden;
}

/* ---------------------------------------------------------
   Responsive alignment audit
   --------------------------------------------------------- */
@media (max-width: 820px) {
	.vorro-actionbar {
		flex-wrap: wrap;
	}

	.vorro-actionbar-pagination {
		flex: 1 1 100%;
		order: 2;
	}

	.vorro-actionbar-primary {
		width: 100%;
		order: 1;
		justify-content: flex-end;
	}

	.vorro-forum-footer,
	.vorro-thread-footer-controls {
		flex-direction: column;
		align-items: stretch;
	}

	.vorro-forum-utilities,
	.vorro-thread-admin {
		align-items: flex-start;
		max-width: none;
		text-align: left;
	}

	.vorro-forum-utilities form,
	.vorro-thread-admin form,
	#inlinemoderation_options,
	#moderator_options {
		justify-content: flex-start;
	}

	.vorro-thread-nav-footer {
		flex-direction: column;
		align-items: stretch;
	}

	.vorro-thread-search form {
		justify-content: flex-start;
	}

	form[name="input"] > table.tborder {
		table-layout: auto;
	}

	form[name="input"] > table.tborder > tbody > tr > td:not([colspan]):first-child {
		width: 28%;
		min-width: 135px;
	}
}

@media (max-width: 620px) {
	.vorro-actionbar-primary {
		justify-content: stretch;
	}

	.vorro-actionbar-primary > a.button {
		width: 100%;
	}

	.pagination .pages {
		width: 100%;
	}

	.vorro-thread-legends {
		flex-direction: column;
		gap: 10px;
	}

	.thread_legend {
		flex-direction: column;
		align-items: flex-start;
	}

	.vorro-forum-utilities form,
	.vorro-thread-admin form,
	#inlinemoderation_options,
	#moderator_options {
		width: 100%;
	}

	.vorro-forum-utilities select,
	.vorro-thread-admin select,
	#inlinemoderation_options select,
	#moderator_options select {
		flex: 1 1 180px;
		max-width: 100%;
	}

	/* Stack posting form labels above fields on phones */
	form[name="input"] > table.tborder > tbody > tr > td:not([colspan]) {
		display: block;
		width: 100% !important;
		min-width: 0 !important;
	}

	form[name="input"] > table.tborder > tbody > tr > td:not([colspan]):first-child {
		padding-bottom: 6px;
	}

	#quick_reply_form tbody > tr > td:not([colspan]) {
		display: block;
		width: 100% !important;
	}

	#quick_reply_form tbody > tr > td:not([colspan]):first-child {
		padding-bottom: 8px;
	}

	.post_controls {
		align-items: flex-start;
	}

	.post_controls .postbit_buttons {
		width: 100%;
	}
}
