/**
 * Unified form pages — registration, login, forgot password, profile, contact.
 * Guest (body.guest-public) + logged-in (body.accountPage). Responsive.
 */

/* ---------- Page shell: less dead space below header (not index home) ---------- */
body.guest-public:not(.index-home) .mainContentDiv,
body:has(.header_wraperindex):not(.index-home) .mainContentDiv,
body.accountPage .mainContentDiv {
	padding-top: 12px !important;
	padding-bottom: 28px !important;
}

body.guest-public:not(.index-home) .mainContentDiv > .mainwraper,
body:has(.header_wraperindex):not(.index-home) .mainContentDiv > .mainwraper,
body.accountPage .mainContentDiv > .mainwraper {
	padding-left: clamp(12px, 2vw, 20px) !important;
	padding-right: clamp(12px, 2vw, 20px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: min(1100px, 100%) !important;
	box-sizing: border-box;
}

/* ppc-style.css — float:left on panels breaks centered cards */
.mainContentDiv .admainbox,
.mainContentDiv div.admainbox,
.mainContentDiv table.admainbox {
	float: none !important;
	clear: both !important;
}

.mainContentDiv table.admainbox {
	display: table !important;
}

.mainContentDiv .contact_heding,
.mainContentDiv .contact_details,
.mainContentDiv .contact_frow {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* ---------- Form cards (table + div admainbox) ---------- */
.mainContentDiv table.admainbox.pub-form-card,
.mainContentDiv table.admainbox:has(tr.contact_frow):not(:has(#admanage)):not(:has(.datatable)):not(:has(.pub-filter-cell)),
.mainContentDiv > .mainwraper > table.admainbox:has(tr.contact_frow),
.mainContentDiv div.admainbox:has(.contact_details .contact_ncolmf):not(.support-desk-page):not(:has(.pub-filter-cell)):not(:has(#admanage)):not(:has(.datatable)):not(:has(.tableT)):not(:has(.stat-summary-block)):not(:has(.ctrl-panel-grid)):not(.pub-ad-create-page),
.mainContentDiv div.admainbox.colortext:not(:has(.pub-filter-cell)):not(:has(#admanage)):not(:has(.ctrl-panel-grid)):not(:has(.analysicstable)):not(.pub-ad-create-page),
.mainContentDiv div.admainbox.pub-form-card {
	max-width: 780px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Ad create/edit forms — centered card, full form inside one box (match create-new-ad.php) */
.mainContentDiv div.admainbox.pub-ad-create-page {
	max-width: 780px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(18px, 3vw, 26px) clamp(16px, 3vw, 24px) !important;
	box-sizing: border-box;
	overflow: visible !important;
}

.mainContentDiv .pub-ad-create-page .contact_details {
	float: none !important;
	width: 100% !important;
	overflow: visible !important;
}

.mainContentDiv .pub-ad-create-page #textad,
.mainContentDiv .pub-ad-create-page #bannerad,
.mainContentDiv .pub-ad-create-page #catalogad {
	width: 100% !important;
	clear: both !important;
	float: none !important;
	overflow: visible !important;
}

/* Two-column form — label 300px, fields 440px (desktop only) */
@media (min-width: 768px) {
	.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow,
	.mainContentDiv .pub-ad-create-page .contact_details form .contact_frow,
	.mainContentDiv .pub-ad-create-page #textad .contact_frow,
	.mainContentDiv .pub-ad-create-page #bannerad .contact_frow,
	.mainContentDiv .pub-ad-create-page #catalogad .contact_frow {
		display: grid !important;
		grid-template-columns: 300px minmax(0, 440px) !important;
		gap: 10px 20px;
		align-items: start;
		clear: both !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 12px !important;
		box-sizing: border-box;
	}
}

.mainContentDiv .pub-ad-create-page .contact_details form,
.mainContentDiv .pub-ad-create-page #textad form,
.mainContentDiv .pub-ad-create-page #bannerad form,
.mainContentDiv .pub-ad-create-page #catalogad form {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box;
}

.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow > .contact_ncolmf,
.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow > .contact_ncolm,
.mainContentDiv .pub-ad-create-page .contact_details form .contact_frow > .contact_ncolmf,
.mainContentDiv .pub-ad-create-page .contact_details form .contact_frow > .contact_ncolm,
.mainContentDiv .pub-ad-create-page #textad .contact_frow > .contact_ncolmf,
.mainContentDiv .pub-ad-create-page #textad .contact_frow > .contact_ncolm,
.mainContentDiv .pub-ad-create-page #bannerad .contact_frow > .contact_ncolmf,
.mainContentDiv .pub-ad-create-page #bannerad .contact_frow > .contact_ncolm,
.mainContentDiv .pub-ad-create-page #catalogad .contact_frow > .contact_ncolmf,
.mainContentDiv .pub-ad-create-page #catalogad .contact_frow > .contact_ncolm {
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.mainContentDiv .pub-ad-create-page .contact_ncolmf {
	font-weight: 500;
	font-size: 13px;
	line-height: 1.45;
	text-align: left;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm {
	min-width: 0;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm > .txt,
.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="text"],
.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="password"],
.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="email"],
.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="file"],
.mainContentDiv .pub-ad-create-page .contact_ncolm > select,
.mainContentDiv .pub-ad-create-page .contact_ncolm > textarea,
.mainContentDiv .pub-ad-create-page .contact_ncolm > .sbHolder,
.mainContentDiv .pub-ad-create-page .contact_ncolm > div > .sbHolder,
.mainContentDiv .pub-ad-create-page .contact_ncolm > div > select.txt {
	width: 100% !important;
	max-width: 440px !important;
	box-sizing: border-box;
}

/* Banner/catalog size toggles — full-width selects in nested #nn/#mm/#n/#m divs */
.mainContentDiv .pub-ad-create-page #bannerad #nn .sbHolder,
.mainContentDiv .pub-ad-create-page #bannerad #nn select,
.mainContentDiv .pub-ad-create-page #bannerad #mm .sbHolder,
.mainContentDiv .pub-ad-create-page #bannerad #mm select,
.mainContentDiv .pub-ad-create-page #catalogad #n .sbHolder,
.mainContentDiv .pub-ad-create-page #catalogad #n select,
.mainContentDiv .pub-ad-create-page #catalogad #m .sbHolder,
.mainContentDiv .pub-ad-create-page #catalogad #m select {
	width: 100% !important;
	max-width: 440px !important;
	box-sizing: border-box;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm .info {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--pub-text-muted, #475569);
}

.mainContentDiv .pub-ad-create-page .contact_ncolm .info:empty {
	display: none;
	margin: 0;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm > table {
	width: 100%;
	max-width: 440px;
	border-collapse: collapse;
	table-layout: fixed;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm > table td:first-child {
	width: 100px;
	vertical-align: top;
	padding-right: 8px;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm > table td:last-child {
	vertical-align: top;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm > table td .sbHolder,
.mainContentDiv .pub-ad-create-page .contact_ncolm > table td select,
.mainContentDiv .pub-ad-create-page .contact_ncolm > table td input[type="text"] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

.mainContentDiv .pub-ad-create-page .contact_ncolmmnthly {
	max-width: 440px;
}

.mainContentDiv .pub-ad-create-page .contact_ncolmmnthly input[type="text"],
.mainContentDiv .pub-ad-create-page .contact_ncolmmnthly .txt {
	width: auto !important;
	max-width: 200px !important;
	display: inline-block;
	vertical-align: middle;
	margin-right: 4px !important;
}

.mainContentDiv .pub-ad-create-page .contact_ncolm input[type="submit"],
.mainContentDiv .pub-ad-create-page .contact_ncolm .submit {
	float: none !important;
	margin: 0;
}

/* File upload row — always visible inside ad create forms */
.mainContentDiv .pub-ad-create-page #bannerad .contact_ncolm > input[type="file"],
.mainContentDiv .pub-ad-create-page #catalogad .contact_ncolm > input[type="file"] {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	max-width: 440px !important;
	min-height: 40px !important;
	box-sizing: border-box;
}

/* Beat generic contact_details 200px grid when both rules apply (desktop only) */
@media (min-width: 768px) {
	.mainContentDiv .pub-ad-create-page .contact_details .contact_frow:has(.contact_ncolmf),
	.mainContentDiv .pub-ad-create-page #textad .contact_frow,
	.mainContentDiv .pub-ad-create-page #bannerad .contact_frow,
	.mainContentDiv .pub-ad-create-page #catalogad .contact_frow {
		grid-template-columns: 300px minmax(0, 440px) !important;
	}
}

.mainContentDiv .pub-ad-create-page .contact_details > .inserted {
	display: block;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

@media (max-width: 767px) {
	.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow,
	.mainContentDiv .pub-ad-create-page .contact_details .contact_frow:has(.contact_ncolmf),
	.mainContentDiv .pub-ad-create-page .contact_details form .contact_frow,
	.mainContentDiv .pub-ad-create-page #textad .contact_frow,
	.mainContentDiv .pub-ad-create-page #bannerad .contact_frow,
	.mainContentDiv .pub-ad-create-page #catalogad .contact_frow {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 4px 0 !important;
	}

	.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow > .contact_ncolmf,
	.mainContentDiv .pub-ad-create-page .contact_details > .contact_frow > .contact_ncolm,
	.mainContentDiv .pub-ad-create-page .contact_details .contact_frow > .contact_ncolmf,
	.mainContentDiv .pub-ad-create-page .contact_details .contact_frow > .contact_ncolm,
	.mainContentDiv .pub-ad-create-page #textad .contact_frow > .contact_ncolmf,
	.mainContentDiv .pub-ad-create-page #textad .contact_frow > .contact_ncolm,
	.mainContentDiv .pub-ad-create-page #bannerad .contact_frow > .contact_ncolmf,
	.mainContentDiv .pub-ad-create-page #bannerad .contact_frow > .contact_ncolm,
	.mainContentDiv .pub-ad-create-page #catalogad .contact_frow > .contact_ncolmf,
	.mainContentDiv .pub-ad-create-page #catalogad .contact_frow > .contact_ncolm {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.mainContentDiv .pub-ad-create-page .contact_ncolm > .txt,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="text"],
	.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="password"],
	.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="email"],
	.mainContentDiv .pub-ad-create-page .contact_ncolm > input[type="file"],
	.mainContentDiv .pub-ad-create-page .contact_ncolm > select,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > textarea,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > .sbHolder,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > div > .sbHolder,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > table,
	.mainContentDiv .pub-ad-create-page #bannerad #nn .sbHolder,
	.mainContentDiv .pub-ad-create-page #bannerad #nn select,
	.mainContentDiv .pub-ad-create-page #bannerad #mm .sbHolder,
	.mainContentDiv .pub-ad-create-page #bannerad #mm select {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	.mainContentDiv .pub-ad-create-page .contact_ncolm > table td .sbHolder,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > table td select,
	.mainContentDiv .pub-ad-create-page .contact_ncolm > table td input[type="text"] {
		width: 100% !important;
		max-width: 100% !important;
	}

	.mainContentDiv div.admainbox.pub-ad-create-page {
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow: visible !important;
	}
}

.mainContentDiv table.admainbox:has(tr.contact_frow),
.mainContentDiv table.admainbox.pub-form-card,
.mainContentDiv div.admainbox:has(.top_section),
.mainContentDiv div.admainbox:has(tr.contact_frow) {
	padding: clamp(18px, 3vw, 26px) clamp(16px, 3vw, 24px) !important;
}

/* Login / register split layout — wider card */
.mainContentDiv div.admainbox:has(.top_section),
.mainContentDiv table.admainbox:has(.top_section) {
	max-width: min(1100px, 100%) !important;
	padding: clamp(18px, 3vw, 28px) !important;
}

/* ---------- Page title block ---------- */
.mainContentDiv table.admainbox > tbody > tr:first-child > td,
.mainContentDiv table.admainbox > tbody > tr > td:has(> .about_heading):only-child {
	padding-top: 0 !important;
	padding-bottom: 6px !important;
	height: auto !important;
}

.mainContentDiv table.admainbox .about_heading,
.mainContentDiv table.admainbox h4.about_heading {
	margin: 0 0 6px !important;
}

.mainContentDiv table.admainbox .headingbar {
	margin: 0 0 14px !important;
	white-space: normal !important;
	height: auto !important;
	min-height: 0 !important;
}

/* Remove legacy spacer rows */
.mainContentDiv table.admainbox tr:has(> td[colspan][height="10"]:only-child),
.mainContentDiv table.admainbox tr:has(> td[colspan="2"][height="10"]) {
	display: none !important;
}

.mainContentDiv table.admainbox > tbody > tr > td[height],
.mainContentDiv table.admainbox tr.contact_frow td[height] {
	height: auto !important;
}

/* ---------- Inner form tables ---------- */
.mainContentDiv table.admainbox > tbody > tr > td > table,
.mainContentDiv table.admainbox table[width="100%"] {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed;
	border-collapse: collapse;
}

/* ---------- Form rows: override legacy 300px / 440px columns ---------- */
.mainContentDiv tr.contact_frow {
	float: none !important;
	width: 100% !important;
	display: table-row !important;
	clear: none !important;
}

.mainContentDiv tr.contact_frow td.contact_ncolmf {
	width: 32% !important;
	max-width: 200px !important;
	min-width: 0;
	float: none !important;
	padding: 5px 14px 5px 0 !important;
	vertical-align: middle !important;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.45;
	color: var(--pub-text, #0f172a);
	box-sizing: border-box;
}

.mainContentDiv tr.contact_frow td.contact_ncolm,
.mainContentDiv tr.contact_frow td.contact_ncolmfull,
.mainContentDiv tr.contact_frow td.contact_ncolmmnthlycode {
	width: auto !important;
	float: none !important;
	padding: 5px 0 !important;
	vertical-align: middle !important;
	box-sizing: border-box;
}

.mainContentDiv tr.contact_frow td.contact_ncolm .txt,
.mainContentDiv tr.contact_frow td.contact_ncolm input[type="text"],
.mainContentDiv tr.contact_frow td.contact_ncolm input[type="password"],
.mainContentDiv tr.contact_frow td.contact_ncolm input[type="email"],
.mainContentDiv tr.contact_frow td.contact_ncolm select,
.mainContentDiv tr.contact_frow td.contact_ncolm textarea,
.mainContentDiv tr.contact_frow td.contact_ncolm .sbHolder {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.mainContentDiv tr.contact_frow .info {
	display: inline-block;
	margin-top: 4px;
	font-size: 12px;
	line-height: 1.45;
	color: var(--pub-text-muted, #475569);
}

/* Intro / notice rows (no field column class) */
.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) > td.contact_ncolmf {
	display: none !important;
	width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) > td:not(.contact_ncolm) {
	display: block !important;
	width: 100% !important;
	padding: 2px 0 10px !important;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pub-text-muted, #475569);
}

.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) .inserted {
	padding-left: 0 !important;
}

/* Terms / submit rows — hide empty label column */
.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td.contact_ncolm input[type="submit"]) > td.contact_ncolmf,
.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td.contact_ncolm:not(:has(input, select, textarea, iframe, .txt))) > td.contact_ncolmf {
	display: none !important;
	width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}

.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td.contact_ncolm input[type="submit"]) > td.contact_ncolm,
.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td.contact_ncolm:not(:has(input, select, textarea, iframe, .txt))) > td.contact_ncolm {
	padding-top: 8px !important;
	padding-bottom: 4px !important;
}

.mainContentDiv tr.contact_frow td.contact_ncolm span[style*="float:left"],
.mainContentDiv tr.contact_frow td.contact_ncolm input[type="submit"] {
	float: none !important;
}

/* Full-width helper (templates) */
.mainContentDiv tr.contact_frow--full > td,
.mainContentDiv td.contact_ncolmf-full {
	display: block !important;
	width: 100% !important;
	padding: 4px 0 10px !important;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pub-text-muted, #475569);
}

.mainContentDiv tr.contact_frow > td[colspan="2"] {
	display: block !important;
	width: 100% !important;
	padding: 8px 0 4px !important;
}

.mainContentDiv tr.contact_frow > td[colspan="2"] input[type="submit"] {
	margin-top: 4px;
}

/* Captcha row */
.mainContentDiv .contact_ncolmmnthlycode iframe {
	max-width: 100%;
	vertical-align: middle;
}

/* ---------- Login split layout (intro + form box) ---------- */
.mainContentDiv div.admainbox.pub-login-page,
.mainContentDiv div.admainbox:has(.top_section):not(:has(.bottom_section)) {
	max-width: min(920px, 100%) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(16px, 3vw, 24px) clamp(14px, 3vw, 22px) !important;
}

.mainContentDiv div.admainbox.pub-login-page .top_section,
.mainContentDiv div.admainbox:has(.top_section):not(:has(.bottom_section)) .top_section {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(18px, 4vw, 36px) !important;
	margin: 0 !important;
	align-items: start;
	float: none !important;
	width: 100% !important;
}

.mainContentDiv .admainbox .top_section,
.mainContentDiv div.admainbox .top_section {
	gap: clamp(16px, 3vw, 28px) !important;
	margin: 0 !important;
}

.mainContentDiv div.admainbox.pub-login-page .left_sidecontent,
.mainContentDiv div.admainbox.pub-login-page .right_sidecontent {
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	flex: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mainContentDiv div.admainbox.pub-login-page .left_inside {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 100%;
}

.mainContentDiv div.admainbox.pub-login-page .about_heading {
	margin: 0 0 10px !important;
}

.mainContentDiv div.admainbox.pub-login-page .details_p .contentp {
	margin: 0 0 8px !important;
}

.mainContentDiv div.admainbox.pub-login-page .register_loginbox {
	margin-top: 14px !important;
}

.mainContentDiv .admainbox .left_sidecontent,
.mainContentDiv .admainbox .right_sidecontent,
.mainContentDiv div.admainbox .left_sidecontent,
.mainContentDiv div.admainbox .right_sidecontent {
	padding: 0 !important;
	margin: 0 !important;
}

.mainContentDiv .admainbox .left_inside,
.mainContentDiv .admainbox .details_p {
	margin: 0 !important;
	padding: 0 !important;
}

.mainContentDiv .admainbox .details_p .homeheading {
	display: block;
	margin: 14px 0 4px !important;
	font-size: 14px !important;
}

.mainContentDiv .admainbox .details_p .homeheading:first-child,
.mainContentDiv .admainbox .details_p .homeheading:first-of-type {
	margin-top: 0 !important;
}

.mainContentDiv .admainbox .details_p .contentp {
	margin: 0 0 8px !important;
}

.mainContentDiv .admainbox .about_heading {
	margin-bottom: 12px !important;
}

/* ---------- Desktop ---------- */
@media (min-width: 768px) {
	.mainContentDiv tr.contact_frow td.contact_ncolmf {
		max-width: 210px !important;
	}
}

/* ---------- Mobile: stack label over field ---------- */
@media (max-width: 767px) {
	.mainContentDiv table.admainbox,
	.mainContentDiv div.admainbox {
		padding: 16px 14px !important;
		border-radius: 12px !important;
	}

	.mainContentDiv table.admainbox > tbody > tr > td > table,
	.mainContentDiv table.admainbox table[width="100%"] {
		table-layout: auto;
	}

	.mainContentDiv tr.contact_frow,
	.mainContentDiv table.admainbox tr.contact_frow {
		display: block !important;
		width: 100% !important;
		margin-bottom: 2px;
	}

	.mainContentDiv tr.contact_frow > td,
	.mainContentDiv table.admainbox tr.contact_frow > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
	}

	.mainContentDiv tr.contact_frow td.contact_ncolmf {
		max-width: 100% !important;
		padding: 8px 0 4px !important;
		font-weight: 600;
	}

	.mainContentDiv tr.contact_frow td.contact_ncolm,
	.mainContentDiv tr.contact_frow td.contact_ncolmfull,
	.mainContentDiv tr.contact_frow td.contact_ncolmmnthlycode {
		padding: 0 0 10px !important;
	}

	.mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) > td.contact_ncolmf {
		display: none !important;
	}

	.mainContentDiv div.admainbox.pub-login-page .top_section,
	.mainContentDiv div.admainbox:has(.top_section):not(:has(.bottom_section)) .top_section {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
	}

	.mainContentDiv div.admainbox .top_section {
		flex-direction: column !important;
	}

	.mainContentDiv .admainbox .right_sidecontent,
	.mainContentDiv div.admainbox .right_sidecontent {
		order: -1;
	}

	.mainContentDiv .loginbox {
		margin: 0 auto;
	}

	.mainContentDiv .contact_details .contact_frow:has(.contact_3colm) {
		grid-template-columns: 1fr !important;
	}

	body.faq .faq_heading {
		flex-direction: column;
		align-items: flex-start !important;
	}
}

/* ---------- Forgot password (table forms) ---------- */
.mainContentDiv table.admainbox.pub-form-card .styleTitle {
	display: block;
	margin: 0 0 6px !important;
	font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
	font-weight: 700 !important;
	color: var(--pub-text, #0f172a) !important;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* ---------- Contact us ---------- */
.mainContentDiv div.admainbox.pub-contact-page,
.mainContentDiv div.admainbox:has(.contact_details .contact_ncolmf):not(.support-desk-page):not(:has(.tableT)):not(:has(.stat-summary-block)) {
	max-width: 780px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(18px, 3vw, 26px) clamp(16px, 3vw, 24px) !important;
}

.mainContentDiv .contact_heding {
	float: none !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

.mainContentDiv .contact_heding .about_heading {
	margin: 0 0 6px !important;
}

.mainContentDiv .contact_heding .headingbar {
	margin: 0 0 14px !important;
	white-space: normal !important;
	height: auto !important;
}

.mainContentDiv .contact_details {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

.mainContentDiv .contact_details > .inserted,
.mainContentDiv .contact_details > .contact-intro {
	display: block;
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pub-text-muted, #475569);
}

.mainContentDiv .contact_details .contact_frow {
	float: none !important;
	width: 100% !important;
	margin: 0 0 12px !important;
	clear: none !important;
}

/* Logged-in div forms (create-new-ad, change-details, etc.) — ncolmf/ncolm layout */
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow:has(.contact_ncolmf) {
	display: grid !important;
	grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
	gap: 4px 14px;
	align-items: start;
}

.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolmf,
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm {
	float: none !important;
	width: auto !important;
	max-width: 100% !important;
	padding: 5px 0 !important;
	box-sizing: border-box;
}

.mainContentDiv .contact_details .contact_frow .contact_ncolmf {
	font-weight: 500;
	font-size: 13px;
	line-height: 1.45;
	color: var(--pub-text, #0f172a);
}

.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm .txt,
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm input[type="text"],
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm input[type="password"],
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm input[type="email"],
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm select,
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm textarea,
.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolm .sbHolder {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.mainContentDiv .contact_details .contact_frow:has(> .msg),
.mainContentDiv .contact_details .contact_frow:has(> .inserted):not(:has(.contact_ncolm)) {
	display: block !important;
	grid-template-columns: none;
}

.mainContentDiv .contact_details .contact_frow:has(> .msg) .msg,
.mainContentDiv .contact_details .contact_frow:has(> .inserted):not(:has(.contact_ncolm)) .inserted {
	width: 100% !important;
	padding: 2px 0 10px !important;
	font-size: 13px;
	line-height: 1.55;
	color: var(--pub-text-muted, #475569);
}

@media (max-width: 767px) {
	.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow:has(.contact_ncolmf) {
		grid-template-columns: 1fr;
		gap: 2px 0;
	}

	.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolmf {
		padding-bottom: 2px !important;
		font-weight: 600;
	}
}

@media (max-width: 640px) {
	.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow:has(.contact_ncolmf) {
		grid-template-columns: 1fr;
		gap: 2px 0;
	}

	.mainContentDiv div.admainbox:not(.pub-ad-create-page) .contact_details .contact_frow .contact_ncolmf {
		padding-bottom: 2px !important;
	}
}

.mainContentDiv .contact_details .contact_3colm,
.mainContentDiv .contact_details .contact_2colm,
.mainContentDiv .contact_details .contact_1colm {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	position: relative;
	box-sizing: border-box;
}

.mainContentDiv .contact_details input[type="text"],
.mainContentDiv .contact_details input[type="email"],
.mainContentDiv .contact_details textarea,
.mainContentDiv .contact_details .c_txt {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.mainContentDiv .contact_details .contact_3colm .mandatory,
.mainContentDiv .contact_details .contact_1colm .mandatory,
.mainContentDiv .contact_details .contact_2colm .mandatory {
	position: absolute !important;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	margin: 0 !important;
}

.mainContentDiv .contact_details textarea.c_txt {
	min-height: 120px;
	resize: vertical;
}

.mainContentDiv .contact_details .contactvarif {
	float: none !important;
	width: auto !important;
	max-width: 100%;
	margin: 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.mainContentDiv .contact_details .contact_frow--captcha {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.mainContentDiv .contact_details .contact_frow--submit .contact_3colm,
.mainContentDiv .contact_details .contact_frow--submit .left {
	float: none !important;
	width: 100% !important;
	text-align: left;
}

.mainContentDiv .contact_details .contact_frow--submit:has(.contact_ncolm input[type="submit"]) {
	grid-template-columns: 1fr !important;
}

.mainContentDiv .contact_details .contact_frow--submit:has(.contact_ncolm input[type="submit"]) .contact_ncolmf {
	display: none !important;
}

/* Page nav + row actions: see css/public-page-actions.css */

@media (min-width: 768px) {
	.mainContentDiv .contact_details .contact_frow:has(.contact_3colm):not(.contact_frow--submit) {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.mainContentDiv .contact_details .contact_frow:has(.contact_1colm) {
		display: block !important;
	}
}

/* ---------- FAQ pages ---------- */
.mainContentDiv div.admainbox.pub-faq-page,
body.faq .mainContentDiv div.admainbox {
	max-width: 860px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(18px, 3vw, 26px) clamp(16px, 3vw, 24px) !important;
}

body.faq .faq_heading {
	float: none !important;
	width: 100% !important;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin: 0 0 16px !important;
}

body.faq .faq_heading .about_heading {
	float: none !important;
	margin: 0 !important;
}

body.faq .faq_heading .smallLink {
	float: none !important;
}

body.faq .faq_details {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
}

body.faq .faq_ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.faq .faq_li {
	margin: 0 0 8px;
	padding: 0;
}

body.faq .faq_homeheading {
	white-space: normal !important;
	height: auto !important;
	min-height: 44px;
	line-height: 1.45 !important;
	padding: 12px 48px 12px 16px !important;
	overflow: visible !important;
	text-overflow: unset !important;
	margin: 0 !important;
}

body.faq .content_faq_p {
	margin: 0 !important;
	padding: 14px 16px !important;
	line-height: 1.65 !important;
}
