/**
 * Public site unified theme — load after ppc-style.css and public-responsive.css.
 * Visual-only: typography, colors, cards, buttons, forms. Does not change layout JS hooks.
 * Admin folder is not linked to this file.
 */

@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap");

:root {
	--pub-brand: #1d4ed8;
	--pub-brand-dark: #1e40af;
	--pub-brand-light: #38bdf8;
	--pub-accent: #0ea5e9;
	--pub-surface: #ffffff;
	--pub-surface-muted: #f8fafc;
	--pub-border: #e2e8f0;
	--pub-text: #0f172a;
	--pub-text-muted: #475569;
	--pub-radius: 14px;
	--pub-radius-sm: 10px;
	--pub-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
	--pub-btn-gradient: linear-gradient(135deg, #2563eb 0%, #0284c7 55%, #0891b2 100%);
}

/* ---------- Base typography ---------- */
body {
	font-family: "DM Sans", Arial, Helvetica, sans-serif;
	color: var(--pub-text);
	-webkit-font-smoothing: antialiased;
}

.mainContentDiv,
.mainContentDiv p,
.mainContentDiv li,
.mainContentDiv td,
.mainContentDiv .contentp,
.mainContentDiv .smalltext {
	font-family: inherit;
}

.mainContentDiv .contentp,
.mainContentDiv .smalltext,
.mainContentDiv .details_p {
	color: var(--pub-text-muted);
	line-height: 1.65;
}

.mainContentDiv .homeheading {
	color: var(--pub-text);
	font-weight: 600;
	font-size: 15px;
}

/* ---------- Header: language dropdown (guest + logged-in) ---------- */
.header_wraperindex .header2 .right {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 14px;
}

.header_wraperindex .languages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	float: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.header_wraperindex .userDets,
.header_wraperindex .langugelogdin {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	float: none !important;
}

.header_wraperindex .userDets a.logouta {
	display: none !important;
}

.header_wraperindex .languages select,
.header_wraperindex .languages .sbHolder,
.header_wraperindex .languages .sbSelector,
.header_wraperindex #lang {
	background: rgba(255, 255, 255, 0.12) !important;
	color: #f8fafc !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 8px !important;
}

.header_wraperindex .languages .sbSelector:link,
.header_wraperindex .languages .sbSelector:visited,
.header_wraperindex .languages .sbSelector:hover {
	color: #f8fafc !important;
}

.header_wraperindex .languages .sbToggle {
	background: none !important;
}

.header_wraperindex .languages .sbToggleOpen {
	background: none !important;
}

.header_wraperindex .sbOptions {
	background: #ffffff !important;
	border: 1px solid var(--pub-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
}

.header_wraperindex .sbOptions a {
	color: var(--pub-text) !important;
	border-bottom-color: var(--pub-border) !important;
}

.header_wraperindex .sbOptions a:hover,
.header_wraperindex .sbOptions a.sbFocus {
	background: #eff6ff !important;
	color: var(--pub-brand) !important;
}

/* ---------- Main content shell ---------- */
.mainContentDiv {
	background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 42%, #f1f5f9 100%);
	padding-bottom: 28px;
	box-sizing: border-box;
}

.mainContentDiv > .mainwraper {
	box-sizing: border-box;
}

/* Primary content panels (tables + div wrappers used across public pages) */
.mainContentDiv .admainbox,
.mainContentDiv table.admainbox,
.mainContentDiv > .admainbox {
	float: none !important;
	clear: both !important;
	background: var(--pub-surface) !important;
	border: 1px solid var(--pub-border) !important;
	border-radius: var(--pub-radius) !important;
	box-shadow: var(--pub-shadow);
	box-sizing: border-box;
	padding: clamp(20px, 3vw, 32px) clamp(18px, 3vw, 28px) !important;
}

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

.mainContentDiv table.admainbox {
	border-collapse: separate;
	border-spacing: 0;
	overflow: visible;
}

body.accountPage .mainContentDiv table.admainbox,
body:has(.header_wraperindex):not(.index-home) .mainContentDiv table.admainbox {
	overflow: visible !important;
}

/* Standalone stats / migration pages (no full chrome) */
body table.datatable {
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius-sm);
	overflow: hidden;
}

/* ---------- Page & section headings ---------- */
.mainContentDiv .about_heading,
.mainContentDiv .styleTitle,
.top_section .about_heading,
.admainbox .about_heading {
	border-bottom: 0 !important;
	color: var(--pub-text) !important;
	font-weight: 700 !important;
	font-size: clamp(1.25rem, 2.5vw, 1.5rem) !important;
	letter-spacing: -0.02em;
	padding-bottom: 0 !important;
	position: relative;
	display: inline-block;
}

.mainContentDiv .about_heading::after,
.mainContentDiv .about_heading:after,
.top_section .about_heading::after,
.top_section .about_heading:after,
.admainbox .about_heading::after,
.admainbox .about_heading:after {
	content: "" !important;
	display: block !important;
	position: static !important;
	width: 48px !important;
	height: 4px !important;
	margin-top: 10px !important;
	border: 0 !important;
	border-top: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--pub-brand), var(--pub-accent)) !important;
}

/* Section titles (publisher/advertiser landing, etc.) — override footer COLORTHEME* red accents */
.mainContentDiv .part_hrading,
.mainContentDiv .fullwidthsection .part_hrading,
.mainContentDiv .bottom_section .part_hrading,
.admainbox .part_hrading {
	color: var(--pub-text) !important;
}

.mainContentDiv .part_hrading::after,
.mainContentDiv .part_hrading:after,
.mainContentDiv .fullwidthsection .part_hrading::after,
.mainContentDiv .fullwidthsection .part_hrading:after,
.mainContentDiv .bottom_section .part_hrading::after,
.mainContentDiv .bottom_section .part_hrading:after,
.admainbox .part_hrading::after,
.admainbox .part_hrading:after {
	content: "" !important;
	display: block !important;
	position: static !important;
	width: 48px !important;
	height: 4px !important;
	margin: 10px auto 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--pub-brand), var(--pub-accent)) !important;
}

.fulbox_2 .box_in2 .about_heading::after,
.fulbox_2 .box_in2 .about_heading:after {
	margin-left: 0 !important;
	margin-right: auto !important;
}

.mainContentDiv .headingbar,
.mainContentDiv table.admainbox .headingbar {
	border-radius: var(--pub-radius-sm) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 0.02em;
	padding: 10px 14px !important;
	line-height: 1.4 !important;
}

/* ---------- Buttons (preserve names/classes for JS & forms) ---------- */
/* input.submit = Form::addSubmit() default class (publisher/advertiser login, etc.) */
.mainContentDiv input[type="submit"],
.mainContentDiv input[type="submit"].submit,
.mainContentDiv input.submit.button,
.mainContentDiv input.submit,
.admainbox input[type="submit"],
.admainbox input[type="submit"].submit,
.admainbox input.submit,
.mainContentDiv a.button,
.mainContentDiv a.homelink,
.mainContentDiv a.homessolink,
.mainContentDiv .registerbtn a,
.mainContentDiv .accountPage .button,
.mainContentDiv .contact_ncolm .button,
.top_section a.button,
.top_section .accountPage .button {
	background: var(--pub-btn-gradient) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em;
	padding: 10px 20px !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1.3;
	box-sizing: border-box;
	vertical-align: middle;
}

.mainContentDiv input[type="submit"]:hover,
.mainContentDiv input[type="submit"].submit:hover,
.mainContentDiv input.submit.button:hover,
.mainContentDiv input.submit:hover,
.admainbox input.submit:hover,
.admainbox input[type="submit"]:hover,
.mainContentDiv a.button:hover,
.mainContentDiv a.homelink:hover,
.mainContentDiv a.homessolink:hover {
	filter: brightness(1.05);
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32);
	transform: translateY(-1px);
}

/* Secondary / outline-style links in content */
.mainContentDiv a.button.secondary {
	background: #ffffff !important;
	color: var(--pub-brand) !important;
	border: 2px solid #93c5fd !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06) !important;
}

/* Do not restyle SSO / image / captcha controls */
.mainContentDiv .ssobutton,
.mainContentDiv input.ssobutton,
.mainContentDiv #cap_img,
.mainContentDiv input[type="image"] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

/* ---------- Login / register boxes ---------- */
.mainContentDiv .loginbox,
.top_section .loginbox,
.right_sidecontent .loginbox {
	background: var(--pub-surface) !important;
	border: 1px solid var(--pub-border) !important;
	border-radius: var(--pub-radius) !important;
	box-shadow: var(--pub-shadow);
	width: min(340px, 100%) !important;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.mainContentDiv .loginbar,
.top_section .loginbar {
	background: linear-gradient(90deg, #0f172a 0%, #1e293b 55%, #334155 100%) !important;
	color: #f8fafc !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	padding: 14px 16px !important;
	border-radius: var(--pub-radius-sm) var(--pub-radius-sm) 0 0;
	text-align: center;
}

.mainContentDiv .loginformfields,
.mainContentDiv .loginbox .loginformfields {
	padding: 18px 18px 20px !important;
	box-sizing: border-box;
}

.mainContentDiv .register_loginbox,
.mainContentDiv .register_button {
	border-radius: var(--pub-radius-sm);
}

/* ---------- Form fields ---------- */
.mainContentDiv input.txt:not(.colorwell),
.mainContentDiv input.txtgc:not(.colorwell),
.mainContentDiv select.txt,
.mainContentDiv select.txtgc,
.mainContentDiv textarea,
.mainContentDiv .loginbox input.txt,
.mainContentDiv .loginbox td .txt,
.mainContentDiv .user_filedlogin input,
.mainContentDiv .contact_frow input[type="text"]:not(.colorwell),
.mainContentDiv .contact_frow input[type="password"]:not(.colorwell),
.mainContentDiv .contact_frow input[type="email"]:not(.colorwell),
.mainContentDiv .contact_frow2 input[type="text"]:not(.colorwell),
.mainContentDiv .contact_frow select,
.mainContentDiv .contact_frow textarea {
	border: 1px solid #cbd5e1 !important;
	border-radius: 8px !important;
	padding: 9px 12px !important;
	font-family: inherit !important;
	font-size: 14px !important;
	color: var(--pub-text) !important;
	background: #ffffff !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) inset !important;
	box-sizing: border-box;
	max-width: 100%;
}

.mainContentDiv input.txt:focus:not(.colorwell),
.mainContentDiv input.txtgc:focus:not(.colorwell),
.mainContentDiv select.txt:focus,
.mainContentDiv textarea:focus,
.mainContentDiv .user_filedlogin input:focus:not(.colorwell) {
	border-color: #60a5fa !important;
	outline: 2px solid rgba(59, 130, 246, 0.25) !important;
	outline-offset: 1px;
}

/* Default fields (not login icon row) keep full border radius */
.mainContentDiv .loginfullwidth .user_filedlogin input:focus {
	border-radius: 0 10px 10px 0 !important;
}

.mainContentDiv .input_icon {
	color: var(--pub-brand);
}

/* ---------- Data tables ---------- */
.mainContentDiv .datatable,
.mainContentDiv table.datatable,
.mainContentDiv table.analysicstable,
.mainContentDiv table.analysicstablen,
.mainContentDiv table.analysicstablenw {
	border: 1px solid var(--pub-border) !important;
	border-radius: var(--pub-radius-sm);
	overflow: hidden;
}

.mainContentDiv .datatable .headrow td,
.mainContentDiv .datatable .headrow th {
	background: #f1f5f9 !important;
	color: var(--pub-text) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
}

.mainContentDiv table.analysicstable tr:first-child td {
	background: #f1f5f9 !important;
	color: var(--pub-text) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	text-align: left !important;
}

.mainContentDiv .datatable tr:nth-child(even) td {
	background: #fafbfc;
}

.mainContentDiv .datatable tr:hover td {
	background: #eff6ff;
}

/* ---------- Control panel / dashboard tiles ---------- */
.mainContentDiv .logdinboxtr,
.mainContentDiv .logdinboxtr .inside {
	border-radius: var(--pub-radius-sm);
}

.mainContentDiv .logdinboxtr {
	background: var(--pub-surface);
	border: 1px solid var(--pub-border);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
	margin-bottom: 12px;
	overflow: hidden;
}

.mainContentDiv .icons_left,
.mainContentDiv .icons_right {
	border-radius: 0;
}

/* Icon feature boxes (advertiser/publisher login landing) — beats footer COLORTHEME10 */
.mainContentDiv .icon_box,
.admainbox .icon_box,
.fullwidthsection .icon_box,
.bottom_section .icon_box,
.adv_fullbox .icon_box,
.fulbox_2 .icon_box {
	border-color: var(--pub-brand) !important;
	background: #f1f5f9 !important;
	border-radius: var(--pub-radius-sm) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.mainContentDiv .icon_box:hover,
.admainbox .icon_box:hover,
.fullwidthsection .icon_box:hover,
.bottom_section .icon_box:hover,
.adv_fullbox .icon_box:hover,
.fulbox_2 .icon_box:hover {
	background: var(--pub-brand) !important;
	border-color: var(--pub-brand) !important;
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(37, 99, 235, 0.15);
}

.mainContentDiv .icon_box:hover .fa,
.admainbox .icon_box:hover .fa,
.fullwidthsection .icon_box:hover .fa,
.bottom_section .icon_box:hover .fa {
	color: #ffffff !important;
}

/* Bottom CTA bar on login landing pages */
.mainContentDiv .lernmorewrp,
.admainbox .lernmorewrp,
.bottom_section .lernmorewrp,
.fulbox_2 .lernmorewrp {
	background: var(--pub-btn-gradient) !important;
	border-radius: var(--pub-radius-sm) !important;
	padding: 14px 20px !important;
	color: #ffffff !important;
	box-shadow: 0 8px 20px rgba(37, 99, 235, 0.22);
}

.mainContentDiv .lernmorewrp a,
.admainbox .lernmorewrp a,
.bottom_section .lernmorewrp a {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.mainContentDiv .lernmorewrp a:hover,
.admainbox .lernmorewrp a:hover {
	text-decoration: underline !important;
	filter: none;
	transform: none;
}

body.faq .activefaq,
.mainContentDiv .activefaq,
.admainbox .activefaq {
	border-top-color: var(--pub-brand) !important;
}

.fulbox_2 .box_in2,
.adv_fullbox .box_in {
	background: rgba(255, 255, 255, 0.85);
	border: 1px solid var(--pub-border);
	border-radius: var(--pub-radius-sm);
	padding: 16px;
	box-sizing: border-box;
}

/* ---------- Messages & alerts ---------- */
.mainContentDiv .succesmsgboxx,
.mainContentDiv .errormsgboxx,
.admainbox .succesmsgboxx {
	border-radius: var(--pub-radius-sm) !important;
	border: 1px solid var(--pub-border) !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
}

.mainContentDiv .red,
.mainContentDiv td.red,
.mainContentDiv .styleerr {
	color: #dc2626 !important;
}

/* ---------- FAQ page (body.faq) — orange/red from ppc-style + theme sprites ---------- */
body.faq .admainbox,
body.faq .faq_details {
	box-sizing: border-box;
}

body.faq .faq_heading .about_heading,
body.faq .admainbox .about_heading {
	color: var(--pub-text) !important;
}

body.faq .faq_heading .smallLink,
body.faq .admainbox .smallLink,
.mainContentDiv .smallLink,
.admainbox .smallLink {
	color: var(--pub-brand) !important;
	font-weight: 600;
	text-decoration: none;
}

body.faq .faq_heading .smallLink:hover,
body.faq .admainbox .smallLink:hover,
.mainContentDiv .smallLink:hover {
	color: var(--pub-brand-dark) !important;
	text-decoration: underline;
}

body.faq .faq_homeheading,
.mainContentDiv .faq_homeheading,
.admainbox .faq_homeheading {
	border-radius: var(--pub-radius-sm);
	font-weight: 600;
	transition: background-color 0.2s ease, border-color 0.2s ease;
	background-image: none !important;
	background-color: var(--pub-surface-muted) !important;
	border: 1px solid var(--pub-border) !important;
	padding-right: 48px !important;
	position: relative;
}

/* Chevron toggle (replaces images/faq.png red +/- sprite) */
body.faq .faq_homeheading::after,
.mainContentDiv .faq_homeheading::after,
.admainbox .faq_homeheading::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	right: 20px !important;
	top: 50% !important;
	width: 8px !important;
	height: 8px !important;
	margin: 0 !important;
	border: 0 !important;
	border-right: 2px solid var(--pub-brand) !important;
	border-bottom: 2px solid var(--pub-brand) !important;
	border-radius: 0 !important;
	background: none !important;
	transform: translateY(-65%) rotate(45deg);
	transition: transform 0.2s ease;
}

body.faq .faq_homeheading.activefaq,
.mainContentDiv .faq_homeheading.activefaq,
.admainbox .faq_homeheading.activefaq {
	background-color: #eff6ff !important;
	background-image: none !important;
	background-position: unset !important;
	border-color: #93c5fd !important;
	border-top: 3px solid var(--pub-brand) !important;
	color: var(--pub-text) !important;
}

body.faq .faq_homeheading.activefaq::after,
.mainContentDiv .faq_homeheading.activefaq::after,
.admainbox .faq_homeheading.activefaq::after {
	transform: translateY(-35%) rotate(-135deg);
}

body.faq .content_faq_p,
.mainContentDiv .content_faq_p,
.admainbox .content_faq_p {
	border-radius: 0 0 var(--pub-radius-sm) var(--pub-radius-sm);
	background: var(--pub-surface-muted) !important;
	border: 1px solid var(--pub-border);
	border-top: 0;
	color: var(--pub-text-muted);
}

/* ---------- Contact / registration rows (compact — see public-forms.css) ---------- */
.mainContentDiv tr.contact_frow td {
	padding: 6px 0 !important;
	vertical-align: middle;
}

.mainContentDiv tr.contact_frow td.contact_ncolmf {
	padding-right: 14px !important;
}

.mainContentDiv tr.contact_frow td.contact_ncolm {
	padding-right: 0 !important;
}

/* Required-field asterisks — brand blue (overrides ppc-style #FF0000) */
.mainContentDiv .mandatory,
.admainbox .mandatory,
table.admainbox .mandatory,
table.admainbox .inserted .mandatory,
.contact_details .mandatory,
tr.contact_frow .mandatory,
tr.contact_frow .contact_ncolmf .mandatory,
tr.contact_frow .contact_ncolm .mandatory,
span.mandatory {
	color: var(--pub-brand) !important;
}

/* ---------- Fund / payment blocks ---------- */
.mainContentDiv .fundDetails,
.mainContentDiv .paymentswrp {
	border-radius: var(--pub-radius-sm);
}

/* ---------- Links in content ---------- */
.mainContentDiv a:not(.button):not(.homelink):not(.homessolink):not(.f_linkss) {
	color: var(--pub-brand);
}

.mainContentDiv a:not(.button):not(.homelink):hover {
	color: var(--pub-brand-dark);
}

/* ---------- Index page: defer to index-home-polish.css ---------- */
body.index-home .mainContentDiv {
	background: transparent;
}

body.index-home .mainContentDiv .admainbox,
body.index-home .mainContentDiv table.admainbox {
	box-shadow: none;
	border: 0 !important;
	background: transparent !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
	.mainContentDiv .admainbox,
	.mainContentDiv table.admainbox {
		border-radius: 12px !important;
	}

	.mainContentDiv input[type="submit"],
	.mainContentDiv input.submit.button,
	.mainContentDiv a.button {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.mainContentDiv .loginbox,
	.top_section .loginbox {
		width: 100% !important;
		margin-left: auto;
		margin-right: auto;
		float: none !important;
	}

	.mainContentDiv .left_sidecontent,
	.mainContentDiv .right_sidecontent,
	.top_section .left_sidecontent,
	.top_section .right_sidecontent {
		width: 100% !important;
		max-width: 100% !important;
	}

	.mainContentDiv input[type="submit"],
	.mainContentDiv input.submit.button,
	.mainContentDiv a.button,
	.mainContentDiv a.homelink {
		width: auto;
		min-width: 120px;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mainContentDiv input[type="submit"]:hover,
	.mainContentDiv a.button:hover,
	.mainContentDiv a.homelink:hover,
	.adv_fullbox .icon_box:hover {
		transform: none;
		transition: none;
	}
}

/* =============================================================================
   Spacing & alignment (all public pages) — content inset, forms, buttons
   ============================================================================= */

/* Two-column login / register layouts */
.mainContentDiv .admainbox > .left_sidecontent,
.mainContentDiv .admainbox > .right_sidecontent,
.mainContentDiv .admainbox .top_section .left_sidecontent,
.mainContentDiv .admainbox .top_section .right_sidecontent {
	box-sizing: border-box;
}

.mainContentDiv .admainbox > .left_sidecontent,
.mainContentDiv .admainbox .top_section .left_sidecontent {
	padding: 8px 20px 16px 0 !important;
}

.mainContentDiv .admainbox > .right_sidecontent,
.mainContentDiv .admainbox .top_section .right_sidecontent {
	padding: 8px 0 16px 0 !important;
}

.mainContentDiv div.admainbox.pub-login-page .left_sidecontent,
.mainContentDiv div.admainbox.pub-login-page .right_sidecontent {
	padding: 0 !important;
}

.mainContentDiv .admainbox .left_inside {
	margin-right: 0 !important;
	padding: 4px 0 8px;
	max-width: 100%;
}

.mainContentDiv .admainbox .top_section {
	width: 100%;
	padding: 4px 0 12px;
	gap: 28px 36px !important;
}

.mainContentDiv .admainbox .details_p {
	padding: 4px 0 8px;
}

.mainContentDiv .admainbox .contentp,
.mainContentDiv .admainbox td.contentp {
	margin: 10px 0 14px !important;
	padding: 0 !important;
	line-height: 1.65 !important;
}

.mainContentDiv .admainbox .homeheading {
	display: block;
	margin: 18px 0 8px !important;
	padding-top: 4px !important;
}

.mainContentDiv .admainbox ul {
	margin: 12px 0 18px !important;
	padding-left: 22px !important;
}

.mainContentDiv .admainbox ul li {
	margin-bottom: 10px !important;
	line-height: 1.6 !important;
}

.mainContentDiv .admainbox .accountPage {
	margin: 14px 0 20px !important;
	padding: 0 !important;
}

.mainContentDiv .admainbox table[width="100%"] td {
	padding: 10px 4px 14px !important;
	vertical-align: top;
}

.mainContentDiv .admainbox table td.about_heading {
	padding-top: 4px !important;
	padding-bottom: 12px !important;
}

/* Table-based pages (control panel, forms, stats wrappers) */
.mainContentDiv table.admainbox td,
.mainContentDiv table.admainbox th {
	padding: 12px 16px !important;
	vertical-align: middle;
	line-height: 1.5;
}

.mainContentDiv table.admainbox tr td.inserted {
	padding: 14px 18px !important;
}

/* Compulsory notice: padding lives on the message cell (see public-responsive.css) */
.mainContentDiv table.admainbox tr.contact_frow:has(.inserted) .inserted,
.mainContentDiv table.admainbox tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) .inserted,
table.admainbox tr.contact_frow:has(.inserted) .inserted,
table.admainbox tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) .inserted {
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

.mainContentDiv table.admainbox tr td[colspan] {
	padding: 14px 18px !important;
}

.mainContentDiv table.admainbox .headingbar {
	margin: 8px 0 !important;
}

/* Login field rows: icon + input side by side, aligned */
.mainContentDiv .loginfullwidth,
.admainbox .loginfullwidth {
	display: flex !important;
	align-items: stretch !important;
	flex-wrap: nowrap;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: 100%;
	margin: 0 0 14px !important;
	box-sizing: border-box;
}

.mainContentDiv .loginformfields > .loginfullwidth:has(br):not(:has(.smalltext)):not(:has(.submitlogin)):not(:has(.input_icon)) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.mainContentDiv .loginfullwidth .input_icon,
.admainbox .loginfullwidth .input_icon {
	float: none !important;
	flex: 0 0 48px;
	width: 48px !important;
	min-height: 46px;
	height: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f1f5f9 !important;
	border: 1px solid #cbd5e1 !important;
	border-right: 0 !important;
	border-radius: 10px 0 0 10px !important;
	margin: 0 !important;
	box-sizing: border-box;
}

.mainContentDiv .loginfullwidth .input_icon .fa {
	line-height: 1 !important;
	font-size: 17px !important;
}

.mainContentDiv .loginfullwidth .user_filedlogin,
.admainbox .loginfullwidth .user_filedlogin {
	float: none !important;
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
}

.mainContentDiv .loginfullwidth .user_filedlogin .txt,
.mainContentDiv .loginfullwidth .user_filedlogin input,
.admainbox .loginfullwidth .user_filedlogin .txt {
	width: 100% !important;
	min-height: 46px !important;
	height: 46px !important;
	border-radius: 0 10px 10px 0 !important;
	border: 1px solid #cbd5e1 !important;
	border-left: 0 !important;
	padding: 11px 14px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.mainContentDiv .loginfullwidth .smalltext,
.admainbox .loginfullwidth .smalltext {
	display: block;
	margin: 4px 0 10px !important;
	padding: 0 2px !important;
	line-height: 1.55 !important;
}

/* Submit / register buttons — centered label */
.mainContentDiv .submitlogin,
.admainbox .submitlogin {
	width: 100% !important;
	margin: 10px 0 4px !important;
	padding: 0 !important;
	float: none !important;
	clear: both;
	box-sizing: border-box;
}

/* Login + register CTAs — same pill (Form::addSubmit uses class="submit" only) */
.mainContentDiv .submitlogin input.submit.button,
.mainContentDiv .submitlogin input.submit,
.mainContentDiv .submitlogin input[type="submit"],
.mainContentDiv .loginbox input.submit,
.mainContentDiv .loginbox input[type="submit"],
.mainContentDiv .submitlogin a.submit.button,
.mainContentDiv .submitlogin a.submit,
.mainContentDiv .submitlogin .button,
.admainbox .submitlogin input.submit.button,
.admainbox .submitlogin input.submit,
.admainbox .submitlogin input[type="submit"],
.admainbox .loginbox input.submit,
.admainbox .loginbox input[type="submit"],
.admainbox .submitlogin a.submit.button,
.admainbox .submitlogin a.submit,
.top_section .submitlogin input.submit,
.top_section .submitlogin input[type="submit"],
.top_section .loginbox input.submit,
.top_section .loginbox input[type="submit"] {
	width: 100% !important;
	min-height: 48px !important;
	height: auto !important;
	line-height: 1.3 !important;
	padding: 13px 22px !important;
	margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	vertical-align: middle;
	box-sizing: border-box !important;
	background: var(--pub-btn-gradient) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-shadow: none !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25) !important;
	cursor: pointer;
}

.mainContentDiv .submitlogin input.submit:hover,
.mainContentDiv .submitlogin input[type="submit"]:hover,
.admainbox .submitlogin input.submit:hover,
.admainbox .submitlogin input[type="submit"]:hover,
.top_section .submitlogin input.submit:hover,
.top_section .submitlogin input[type="submit"]:hover {
	background: var(--pub-btn-gradient) !important;
	filter: brightness(1.05) !important;
	box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32) !important;
	transform: translateY(-1px);
}

.mainContentDiv .register_button .registerbtn,
.mainContentDiv a.registerbtn,
.admainbox .register_button .registerbtn,
.admainbox a.registerbtn,
.top_section a.registerbtn,
.top_section .register_button .registerbtn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	line-height: 1.3 !important;
	padding: 13px 22px !important;
	margin: 12px 0 8px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	text-align: center !important;
	background: var(--pub-btn-gradient) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25) !important;
}

.mainContentDiv a.registerbtn:hover,
.admainbox a.registerbtn:hover,
.top_section a.registerbtn:hover {
	background: var(--pub-btn-gradient) !important;
	filter: brightness(1.05) !important;
	opacity: 1 !important;
}

.mainContentDiv .contentre,
.admainbox .contentre {
	padding: 14px 16px !important;
	margin-top: 12px;
	box-sizing: border-box;
}

.mainContentDiv .register_loginbox {
	margin-top: 14px;
	padding: 4px 0;
}

/* Inline action buttons in table cells */
.mainContentDiv table.admainbox td input[type="submit"],
.mainContentDiv table.admainbox td input.submit,
.mainContentDiv table.admainbox td .submit.button,
.mainContentDiv table.admainbox td a.button {
	margin: 6px 8px 6px 0 !important;
	vertical-align: middle !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	padding: 10px 18px !important;
	line-height: 1.3 !important;
}

/* Control panel message rows */
.mainContentDiv .logdinboxtr td,
.mainContentDiv .logdinboxtr .inside {
	padding: 12px 14px !important;
}

/* Success / error message blocks */
.mainContentDiv .succesmsgboxx,
.mainContentDiv .errormsgboxx {
	padding: 16px 20px !important;
	margin: 12px 0 !important;
}

@media (max-width: 991px) {
	.mainContentDiv .admainbox > .left_sidecontent,
	.mainContentDiv .admainbox > .right_sidecontent,
	.mainContentDiv .admainbox .top_section .left_sidecontent,
	.mainContentDiv .admainbox .top_section .right_sidecontent {
		padding: 12px 8px 16px !important;
	}

	.mainContentDiv .user_filedlogin {
		width: auto !important;
		flex: 1 1 auto !important;
		max-width: none !important;
	}
}

/* Footer back-to-top — blue brand (overrides public-responsive red #ef4444) */
.footer_wraper .center_inwhite {
	border-color: var(--pub-brand-light, #38bdf8) !important;
}

.footer_wraper .center_fbackto {
	border-color: var(--pub-brand, #1d4ed8) !important;
}

.footer_wraper .c_arow {
	color: var(--pub-brand, #1d4ed8) !important;
}

/* =============================================================================
   Form tables — registration, forgot-password, profile (mobile stack)
   Reinforces public-responsive.css (loads after ppc-style footer theme)
   ============================================================================= */
@media (max-width: 991px) {
	tr.contact_frow,
	table.admainbox tr.contact_frow,
	.mainContentDiv table.admainbox tr.contact_frow {
		float: none !important;
		clear: both !important;
	}

	tr.contact_frow .txt,
	tr.contact_frow input[type="text"]:not(.colorwell),
	tr.contact_frow input[type="password"]:not(.colorwell),
	tr.contact_frow input[type="email"]:not(.colorwell),
	tr.contact_frow select,
	tr.contact_frow textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	tr.contact_frow .info {
		display: block !important;
		margin-top: 6px;
		font-size: 12px;
		line-height: 1.45;
		color: var(--pub-text-muted);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	/* Div-based contact / support forms */
	.contact_details .contact_frow {
		float: none !important;
		clear: both !important;
	}

	.contact_details .contact_3colm .mandatory,
	.contact_details .contact_1colm .mandatory,
	.contact_details .contact_2colm .mandatory {
		position: static !important;
	}
}

@media (max-width: 767px) {
	.mainContentDiv .admainbox,
	.mainContentDiv table.admainbox {
		padding: 18px 16px !important;
	}

	.mainContentDiv .loginfullwidth {
		flex-direction: column !important;
		margin-bottom: 12px !important;
	}

	.mainContentDiv .loginfullwidth .input_icon {
		flex: 0 0 44px !important;
		width: 100% !important;
		min-height: 44px !important;
		border-right: 1px solid #cbd5e1 !important;
		border-radius: 10px 10px 0 0 !important;
	}

	.mainContentDiv .loginfullwidth .user_filedlogin .txt {
		border-left: 1px solid #cbd5e1 !important;
		border-radius: 0 0 10px 10px !important;
	}
}
