/**
 * Public guest pages (login, register, forgot password, terms, contact, etc.)
 * body.guest-public is set in common-header.tpl.html (no :has() required).
 * Loaded from common-header and again in common-footer (wins over ppc-style).
 */

body.guest-public:not(.index-home) {
	background: #f8fafc !important;
}

body.guest-public:not(.index-home) .margin_topdiv,
body.guest-public:not(.index-home) .mainContentDiv {
	overflow: visible !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .mainContentDiv > .mainwraper,
body.guest-public:not(.index-home) .mainContentDiv .mainwraper[style] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 12px !important;
	padding-right: 12px !important;
}

body.guest-public:not(.index-home) .mainContentDiv .admainbox,
body.guest-public:not(.index-home) .mainContentDiv div.admainbox {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	overflow: visible !important;
	box-sizing: border-box;
}

/* Login / register hero — two columns */
body.guest-public:not(.index-home) .top_section {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	gap: 20px;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .top_section .left_sidecontent,
body.guest-public:not(.index-home) .top_section .right_sidecontent,
body.guest-public:not(.index-home) .admainbox > .right_sidecontent,
body.guest-public:not(.index-home) .left_sidecontent,
body.guest-public:not(.index-home) .right_sidecontent {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	float: none !important;
	flex: 1 1 auto !important;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .left_inside,
body.guest-public:not(.index-home) .details_p {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .loginbox,
body.guest-public:not(.index-home) .register_loginbox {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .fullwidthsection,
body.guest-public:not(.index-home) .bottom_section {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box;
}

@media (max-width: 991px) {
	/* Show login form above intro copy on phones */
	body.guest-public:not(.index-home) .top_section .right_sidecontent,
	body.guest-public:not(.index-home) .admainbox > .right_sidecontent {
		order: -1 !important;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox {
		display: table !important;
		width: 100% !important;
		max-width: 100% !important;
		table-layout: fixed !important;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox > tbody {
		display: table-row-group !important;
	}

	/* Registration / forgot-password — stack label + field rows */
	body.guest-public:not(.index-home) .mainContentDiv table.admainbox tr.contact_frow,
	body.guest-public:not(.index-home) .mainContentDiv tr.contact_frow {
		display: block !important;
		width: 100% !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox tr.contact_frow > td,
	body.guest-public:not(.index-home) .mainContentDiv tr.contact_frow > td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		clear: both !important;
		box-sizing: border-box;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox tr.contact_frow > td.contact_ncolmf {
		padding-bottom: 4px !important;
		font-weight: 600;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox tr.contact_frow > td.contact_ncolm {
		padding-top: 0 !important;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox tr.contact_frow:has(.inserted) > td.contact_ncolmf,
	body.guest-public:not(.index-home) .mainContentDiv tr.contact_frow:has(> td.contact_ncolmf + td:not(.contact_ncolm)) > td.contact_ncolmf {
		display: none !important;
		height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox > tbody > tr > td,
	body.guest-public:not(.index-home) .mainContentDiv table.admainbox .headingbar {
		padding-left: 12px !important;
		padding-right: 12px !important;
		box-sizing: border-box;
		white-space: normal !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox .contact_ncolm input,
	body.guest-public:not(.index-home) .mainContentDiv table.admainbox .contact_ncolm select,
	body.guest-public:not(.index-home) .mainContentDiv table.admainbox .contact_ncolm textarea {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox .about_heading,
	body.guest-public:not(.index-home) .mainContentDiv table.admainbox h4.about_heading {
		white-space: normal !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		max-width: 100% !important;
	}

	/* Beat ppc-style fixed 300px / 440px label+field columns */
	body.guest-public:not(.index-home) .mainContentDiv .contact_ncolmf,
	body.guest-public:not(.index-home) .mainContentDiv .contact_ncolm,
	body.guest-public:not(.index-home) .mainContentDiv .contact_ncolmfull,
	body.guest-public:not(.index-home) .mainContentDiv .contact_ncolmmnthlycode {
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		box-sizing: border-box;
	}

	body.guest-public:not(.index-home) .mainContentDiv #fg,
	body.guest-public:not(.index-home) .mainContentDiv span#fg[style*="white-space"] {
		white-space: normal !important;
		max-width: 100% !important;
	}

	body.guest-public:not(.index-home) .mainContentDiv table.admainbox iframe {
		max-width: 100% !important;
		width: 100% !important;
		height: auto !important;
		min-height: 35px;
	}
}

@media (min-width: 768px) {
	body.guest-public:not(.index-home) .top_section {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
	}

	body.guest-public:not(.index-home) .top_section .right_sidecontent,
	body.guest-public:not(.index-home) .admainbox > .right_sidecontent {
		order: 0 !important;
	}

	body.guest-public:not(.index-home) .top_section .left_sidecontent {
		flex: 1 1 55% !important;
		max-width: 100% !important;
	}

	body.guest-public:not(.index-home) .top_section .right_sidecontent {
		flex: 0 1 340px !important;
		max-width: 100% !important;
	}
}

/* Logout / success / error message pages — centered card, no left-aligned gap */
body.guest-public:not(.index-home) .admainbox.guest-message-page {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	min-height: min(440px, 58vh);
	margin: 0 auto !important;
	padding: clamp(24px, 5vw, 48px) clamp(16px, 4vw, 24px) !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

body.guest-public:not(.index-home) .guest-message-card.succesmsgboxx,
body.guest-public:not(.index-home) .guest-message-card.errormsgboxx {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 520px !important;
	margin: 0 auto !important;
	padding: clamp(28px, 4vw, 40px) clamp(20px, 4vw, 32px) !important;
	text-align: center !important;
	background: var(--pub-surface, #fff) !important;
	border: 1px solid var(--pub-border, #e2e8f0) !important;
	border-radius: var(--pub-radius, 14px) !important;
	box-shadow: var(--pub-shadow, 0 12px 32px rgba(15, 23, 42, 0.08)) !important;
	box-sizing: border-box;
}

body.guest-public:not(.index-home) .guest-message-card .su_ticket {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 56px !important;
	height: 56px !important;
	margin: 0 auto 20px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background: var(--pub-btn-gradient, linear-gradient(135deg, #2563eb 0%, #0284c7 55%, #0891b2 100%)) !important;
}

body.guest-public:not(.index-home) .guest-message-card .su_ticket .fa {
	color: #fff !important;
	font-size: 26px !important;
	line-height: 1 !important;
}

body.guest-public:not(.index-home) .guest-message-card .su_ticket.error_tik {
	background: #dc2626 !important;
}

body.guest-public:not(.index-home) .guest-message-card .su_ticket.success_tik {
	background: linear-gradient(135deg, #16a34a 0%, #059669 100%) !important;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-btn {
	display: inline-block;
	margin-top: 8px;
	padding: 10px 22px;
	border-radius: 8px;
	background: var(--pub-btn-gradient, linear-gradient(135deg, #2563eb 0%, #0284c7 55%, #0891b2 100%)) !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none !important;
	box-shadow: 0 2px 8px rgba(29, 78, 216, 0.22);
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-btn:hover {
	opacity: 0.92;
	text-decoration: none !important;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-btn--outline {
	background: var(--pub-surface, #fff) !important;
	color: var(--pub-brand, #1d4ed8) !important;
	border: 1px solid var(--pub-border, #cbd5e1) !important;
	box-shadow: none !important;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-btn--outline:hover {
	background: #f8fafc !important;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-title,
body.guest-public:not(.index-home) .guest-message-card .neinsterd {
	display: block !important;
	margin: 0 0 12px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.55 !important;
	color: var(--pub-text, #0f172a) !important;
}

body.guest-public:not(.index-home) .guest-message-card .guest-message-body {
	font-size: 14px !important;
	line-height: 1.65 !important;
	color: var(--pub-text-muted, #475569) !important;
}

body.guest-public:not(.index-home) .guest-message-card a.pagetable_activecell,
body.guest-public:not(.index-home) .guest-message-card a.adtitle {
	color: var(--pub-brand, #1d4ed8) !important;
	font-weight: 600;
	text-decoration: none;
}

body.guest-public:not(.index-home) .guest-message-card a.pagetable_activecell:hover,
body.guest-public:not(.index-home) .guest-message-card a.adtitle:hover {
	text-decoration: underline;
}

@media (max-width: 767px) {
	body.guest-public:not(.index-home) .admainbox.guest-message-page {
		min-height: 0;
		padding: 20px 12px 28px !important;
	}

	body.guest-public:not(.index-home) .guest-message-card.succesmsgboxx,
	body.guest-public:not(.index-home) .guest-message-card.errormsgboxx {
		max-width: 100% !important;
		padding: 24px 18px !important;
	}
}
