/* Forced white data band + readable breadcrumbs (cache-bust companion) */
body.page:not(.home):not(.front-page) #crumbs,
body:not(.home):not(.front-page) #crumbs {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0.85rem max(1.25rem, calc((100% - 1280px) / 2)) 0.25rem !important;
	background: #ffffff !important;
	background-image: none !important;
	color: #5a6f7d !important;
	height: auto !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 0.92rem !important;
	box-sizing: border-box !important;
}

body.page:not(.home):not(.front-page) #crumbs a,
body:not(.home):not(.front-page) #crumbs a {
	color: #0b3a56 !important;
}

body.page:not(.home):not(.front-page) #crumbs a:hover,
body:not(.home):not(.front-page) #crumbs a:hover {
	color: #d97706 !important;
}

body.page:not(.home):not(.front-page) #crumbs .current,
body:not(.home):not(.front-page) #crumbs .current,
body.page:not(.home):not(.front-page) #crumbs span,
body:not(.home):not(.front-page) #crumbs span {
	color: #5a6f7d !important;
}

body.page:not(.home):not(.front-page) #content,
body:not(.home):not(.front-page) #content,
body.page:not(.home):not(.front-page) #content.position {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0.5rem max(1.25rem, calc((100% - 1280px) / 2)) 2.5rem !important;
	overflow: visible !important;
	color: #14212b !important;
	box-sizing: border-box !important;
}

body.page:not(.home):not(.front-page) #content #default_content,
body.page-template-special_page:not(.home) #default_content {
	background: #ffffff !important;
	color: #14212b !important;
}

body.page:not(.home):not(.front-page) #content #content_header h1,
body.page:not(.home):not(.front-page) #content #content_header #content_title {
	color: #0b3a56 !important;
	margin-top: 0 !important;
	text-shadow: none !important;
	float: none !important;
}

/* Footer columns stay in a centered 1280 shell (not full-bleed left) */
body.page:not(.home):not(.front-page) #footer,
body:not(.home):not(.front-page) #footer,
body.page-template-special_page #footer {
	width: min(1280px, calc(100% - 2.5rem)) !important;
	max-width: 1280px !important;
	float: none !important;
	clear: both !important;
	background: #072a3f !important;
	color: #fff !important;
	margin: 0 auto !important;
	padding: 2rem 0 1.5rem !important;
	box-sizing: border-box !important;
}

/*
 * Product header art — right side ONLY via ::after.
 * Beats older live CSS that set background-image:none on #content_header / semi-dedicated.
 */
body.page #content #content_header,
body.page-template-special_page #content #content_header {
	position: relative !important;
	background-color: #ffffff !important;
}

body.page #content #content_header.header_dedicated,
body.page #content #content_header.header_semi-dedicated,
body.page #content #content_header.header_web_hosting,
body.page #content #content_header.header_vps_compare,
body.page #content #content_header.header_vps_openvz,
body.page #content #content_header.header_vps_kvm,
body.page #content #content_header.header_domains {
	min-height: 190px !important;
	height: 190px !important;
}

body.page #content #content_header.header_dedicated::after,
body.page #content #content_header.header_semi-dedicated::after,
body.page #content #content_header.header_web_hosting::after,
body.page #content #content_header.header_vps_compare::after,
body.page #content #content_header.header_vps_openvz::after,
body.page #content #content_header.header_vps_kvm::after,
body.page #content #content_header.header_domains::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: min(280px, 34%) !important;
	max-width: 280px !important;
	pointer-events: none !important;
	z-index: 0 !important;
	background-repeat: no-repeat !important;
	background-position: right top !important;
	background-size: contain !important;
}

.no-webp body.page #content #content_header.header_dedicated::after { background-image: url(images/header_dedicated_servers-img.jpg) !important; }
.webp body.page #content #content_header.header_dedicated::after { background-image: url(images/header_dedicated_servers-img.webp) !important; }
.no-webp body.page #content #content_header.header_semi-dedicated::after { background-image: url(images/header_semi_dedicated_servers-img.jpg) !important; }
.webp body.page #content #content_header.header_semi-dedicated::after { background-image: url(images/header_semi_dedicated_servers-img.webp) !important; }
.no-webp body.page #content #content_header.header_web_hosting::after { background-image: url(images/header_web_hosting-img.jpg) !important; }
.webp body.page #content #content_header.header_web_hosting::after { background-image: url(images/header_web_hosting-img.webp) !important; }
.no-webp body.page #content #content_header.header_vps_compare::after { background-image: url(images/header_vps-img.jpg) !important; }
.webp body.page #content #content_header.header_vps_compare::after { background-image: url(images/header_vps-img.webp) !important; }
.no-webp body.page #content #content_header.header_vps_openvz::after { background-image: url(images/header_vps_openvz-img.jpg) !important; }
.webp body.page #content #content_header.header_vps_openvz::after { background-image: url(images/header_vps_openvz-img.webp) !important; }
.no-webp body.page #content #content_header.header_vps_kvm::after { background-image: url(images/header_vps_kvm-img.jpg) !important; }
.webp body.page #content #content_header.header_vps_kvm::after { background-image: url(images/header_vps_kvm-img.webp) !important; }
.no-webp body.page #content #content_header.header_domains::after { background-image: url(images/header_domains-img.jpg) !important; }
.webp body.page #content #content_header.header_domains::after { background-image: url(images/header_domains-img.webp) !important; }

/* OpenVZ plan rows: stop float collapse (icons spilling across section) */
#default_content.content_vps_openvz .openvz-plan-even,
#default_content.content_vps_openvz .openvz-plan-odd,
.content_vps_openvz .openvz-plan-even,
.content_vps_openvz .openvz-plan-odd {
	float: none !important;
	clear: both !important;
	height: auto !important;
	overflow: visible !important;
}

#default_content.content_vps_openvz .openvz-plan-even table,
#default_content.content_vps_openvz .openvz-plan-odd table,
.content_vps_openvz .openvz-plan-even table,
.content_vps_openvz .openvz-plan-odd table {
	float: none !important;
	width: 100% !important;
}

/* Phones/tablets: stack OpenVZ plan cells (price/Order were spilling off-card) */
@media only screen and (max-width: 1024px) {
	#default_content.content_vps_openvz .openvz-plan-even,
	#default_content.content_vps_openvz .openvz-plan-odd,
	.content_vps_openvz .openvz-plan-even,
	.content_vps_openvz .openvz-plan-odd {
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}
	#default_content.content_vps_openvz .openvz-plan-even table,
	#default_content.content_vps_openvz .openvz-plan-odd table,
	.content_vps_openvz .openvz-plan-even table,
	.content_vps_openvz .openvz-plan-odd table,
	#default_content.content_vps_openvz .openvz-plan-even table tbody,
	#default_content.content_vps_openvz .openvz-plan-odd table tbody,
	#default_content.content_vps_openvz .openvz-plan-even table tr,
	#default_content.content_vps_openvz .openvz-plan-odd table tr {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	#default_content.content_vps_openvz .openvz-plan-even table td,
	#default_content.content_vps_openvz .openvz-plan-odd table td,
	.content_vps_openvz .openvz-plan-even table td,
	.content_vps_openvz .openvz-plan-odd table td {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		text-align: center !important;
		padding: 6px 0 !important;
		box-sizing: border-box !important;
	}
	#default_content.content_vps_openvz .openvz-plan-even table td:first-child,
	#default_content.content_vps_openvz .openvz-plan-odd table td:first-child {
		display: none !important;
	}
	/* KVM compare table: scroll shell (page has no .wrapper) */
	#default_content.content_vps_kvm,
	#default_content.content_vps_compare {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		max-width: 100% !important;
	}
}

/* Top bar: Client Login → Sign up → Have questions (desktop only — mobile uses hamburger) */
@media only screen and (min-width: 1025px) {
	body #header_top {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
	}
}
body #header_top {
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0 !important;
}

body #header_top #rpwp-login-wrapper {
	order: 1 !important;
	padding: 0 14px 0 0 !important;
	border-right: 1px dotted #1b6395 !important;
}

body #header_top #rpwp-login-form-text {
	order: 2 !important;
	padding: 0 14px !important;
	border-right: 1px dotted #1b6395 !important;
	text-transform: capitalize !important;
}

body #header_top #header_phone {
	order: 3 !important;
	padding: 0 0 0 14px !important;
	border: 0 !important;
}

body #header_top #live_chat {
	order: 99 !important;
}

body #rpwp-login-form-text a {
	color: #f9e024 !important;
	font-weight: 700 !important;
}

/* Shared only: Starter plan column first — desktop only (do not flex VPS tables) */
@media only screen and (min-width: 1025px) {
	.content_web_hosting #rp_presentation tr,
	.content_web_hosting #rp_presentation .tr {
		display: flex !important;
		width: 100% !important;
	}
	.content_web_hosting #rp_presentation .rp_pr_desc,
	.content_web_hosting #rp_presentation td.rp_pr_desc {
		order: 0 !important;
		flex: 1 1 22% !important;
	}
	.content_web_hosting #rp_presentation .rp_pr_plan,
	.content_web_hosting #rp_presentation td.rp_pr_plan {
		order: 10 !important;
		flex: 1 1 19% !important;
	}
	.content_web_hosting #rp_presentation .rp_plan_44029,
	.content_web_hosting #rp_presentation td.rp_plan_44029 {
		order: 1 !important;
	}
}

/* Hide old footer payment cards strip */
body #footer_cards,
#footer_cards {
	display: none !important;
	height: 0 !important;
	background: none !important;
	background-image: none !important;
}

/* Modern floating chat pill — status from ProvideSupport title/aria */
#scFeSX .psmtc_FeSX {
	bottom: 1.35rem !important;
	right: 1.35rem !important;
}
#scFeSX .chat-button-FeSX {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.55rem !important;
	min-height: 3.1rem !important;
	padding: 0.7rem 1.15rem 0.7rem 0.95rem !important;
	border-radius: 999px !important;
	background: linear-gradient(145deg, #0f4a6e 0%, #0b3a56 55%, #072a3f 100%) !important;
	box-shadow: 0 12px 32px rgba(8, 34, 51, 0.32) !important;
	border: 0 !important;
	text-decoration: none !important;
}
#scFeSX .chat-button-FeSX img {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
}
#scFeSX .chat-button-FeSX::before {
	content: "" !important;
	width: 0.55rem !important;
	height: 0.55rem !important;
	border-radius: 50% !important;
	background: #94a3b8 !important;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.28) !important;
}
#scFeSX .chat-button-FeSX::after {
	content: "Chat · Offline" !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	white-space: nowrap !important;
}
#scFeSX .chat-button-FeSX[title*="online" i]::before,
#scFeSX .chat-button-FeSX[aria-label*="online" i]::before,
#scFeSX .chat-button-FeSX[data-sn-chat="online"]::before {
	background: #22c55e !important;
	box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.32) !important;
}
#scFeSX .chat-button-FeSX[title*="online" i]::after,
#scFeSX .chat-button-FeSX[aria-label*="online" i]::after,
#scFeSX .chat-button-FeSX[data-sn-chat="online"]::after {
	content: "Chat · Online" !important;
}

/* Domain hero — drop dense TLD dump */
body.page #domain-only-banner > table,
body.page #domain-hosting-banner > table,
body.page #domain-only-banner table,
body.page #domain-hosting-banner table {
	display: none !important;
}
body.page #domain-only-banner,
body.page #domain-hosting-banner {
	height: auto !important;
	min-height: 0 !important;
	padding: 1.75rem !important;
	background: linear-gradient(135deg, #072a3f 0%, #0b3a56 45%, #165688 100%) !important;
	background-image: linear-gradient(135deg, #072a3f 0%, #0b3a56 45%, #165688 100%) !important;
}

/* Phones/tablets: full-width product intro (desktop 62% lives in style.css min-width:1025px) */
@media only screen and (max-width: 1024px) {
	body.page #content #content_header #content_title,
	body.page #content #content_header h1,
	body.page #content #content_header h2,
	body.page #content #content_header h3,
	body.page #content #content_header #content_text,
	body.page #content #content_header .text_web_hosting,
	body.page #content #content_header .text_vps_kvm,
	body.page #content #content_header .text_vps_openvz,
	body.page #content #content_header .text_vps_compare,
	body.page #content #content_header .text_domains,
	body.page #content #content_header .text_dedicated,
	body.page #content #content_header .text_semi-dedicated,
	body.page-template-special_page #content #content_header #content_title,
	body.page-template-special_page #content #content_header #content_text {
		width: 100% !important;
		max-width: 100% !important;
	}
	body.page #content #content_header {
		height: auto !important;
		min-height: 0 !important;
	}
}
