/**
 * PhysicalTherapist.com — site-wide design system
 * Light, modern. Brand blue #0066A1 + orange #F4A33A.
 * Content preserved; visual layer only.
 *
 * @package X_Child
 */

:root {
	--pt-font: "DM Sans", "Segoe UI", system-ui, sans-serif;
	--pt-blue: #0066a1;
	--pt-blue-hover: #005286;
	--pt-blue-deep: #0b3d5c;
	--pt-blue-soft: #e8f3fa;
	--pt-orange: #f4a33a;
	--pt-orange-hover: #e08f22;
	--pt-orange-soft: #fff6ea;
	--pt-ink: #1a2332;
	--pt-ink-2: #4a5568;
	--pt-ink-3: #7a8699;
	--pt-bg: #f5f7fb;
	--pt-surface: #ffffff;
	--pt-border: #e2e8f0;
	--pt-radius: 12px;
	--pt-radius-lg: 18px;
	--pt-radius-pill: 999px;
	--pt-shadow: 0 1px 2px rgba(26, 35, 50, 0.04), 0 10px 28px rgba(26, 35, 50, 0.06);
	--pt-shadow-sm: 0 1px 2px rgba(26, 35, 50, 0.05);
	--pt-ease: cubic-bezier(0.22, 1, 0.36, 1);

	/* Remap Elementor kit → brand (overrides green #61CE70 / gray #272727) */
	--e-global-color-primary: #0066a1;
	--e-global-color-secondary: #1a2332;
	--e-global-color-text: #4a5568;
	--e-global-color-accent: #f4a33a;
	--e-global-color-0f08d0d: #0066a1;
	--e-global-color-a87d64b: #1a2332;
	--e-global-color-2845104: #1a2332;
}

html {
	scroll-behavior: smooth;
}

/* Remove X theme widgetbar toggle (legacy chrome) */
.x-btn-widgetbar,
#x-btn-widgetbar,
.x-widgetbar,
#x-widgetbar {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body {
	font-family: var(--pt-font) !important;
	color: var(--pt-ink);
	background: var(--pt-bg) !important;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a {
	transition: color 0.18s var(--pt-ease);
}

a:hover {
	color: var(--pt-blue-hover);
}

::selection {
	background: rgba(0, 102, 161, 0.18);
	color: var(--pt-ink);
}

/* --------------------------------------------------------------------------
   Atmosphere
   -------------------------------------------------------------------------- */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: -1;
	background:
		radial-gradient(1200px 600px at 10% -10%, rgba(0, 102, 161, 0.09), transparent 55%),
		radial-gradient(900px 500px at 100% 0%, rgba(244, 163, 58, 0.1), transparent 50%),
		linear-gradient(180deg, #f8fafc 0%, #f5f7fb 40%, #eef3f8 100%);
}

/* --------------------------------------------------------------------------
   Masthead / topbar / logo / nav
   -------------------------------------------------------------------------- */
.masthead,
.x-masthead,
header.masthead {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Kill legacy crop: .x-topbar{font-size:4px;height:36px} */
.x-topbar {
	background: linear-gradient(90deg, #005286 0%, #0066a1 55%, #0a7ab8 100%) !important;
	border: 0 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 0.9rem !important;
	font-weight: 500;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	line-height: 1.35 !important;
	padding: 0.45rem 0 !important;
	z-index: 10050 !important;
	position: relative !important;
}

.x-topbar-inner.x-container.max.width,
.x-topbar .x-topbar-inner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 0.85rem 1.25rem;
	flex-wrap: wrap;
	max-width: 1240px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	box-sizing: border-box;
	overflow: visible !important;
	height: auto !important;
	min-height: 0 !important;
	position: relative !important;
	z-index: 10051 !important;
}

.x-topbar .p-info {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: 1.35 !important;
	overflow: visible !important;
	position: relative !important;
	z-index: 10052 !important;
}

.x-topbar .pt-login {
	float: none !important;
	font-size: 0.88rem !important;
	line-height: 1.35 !important;
	color: rgba(255, 255, 255, 0.95) !important;
	font-family: var(--pt-font) !important;
	white-space: normal;
}

.x-topbar a,
.x-topbar .pt-login a,
.x-topbar .p-info a {
	color: #fff !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
	transition: border-color 0.18s var(--pt-ease), color 0.18s var(--pt-ease);
	font-weight: 600;
}

.x-topbar a:hover,
.x-topbar .pt-login a:hover,
.x-topbar .p-info a:hover {
	border-bottom-color: var(--pt-orange);
	color: #fff !important;
}

/* Social icons — full size, not cropped */
.x-topbar .x-social-global {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.35rem;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1.15rem !important;
	line-height: 1 !important;
	overflow: visible !important;
	flex: 0 0 auto;
	order: 3;
}

.x-topbar .x-social-global a,
.x-social-global a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 2rem !important;
	height: 2rem !important;
	border-radius: 999px !important;
	background: rgba(255, 255, 255, 0.12) !important;
	color: #fff !important;
	font-size: 1rem !important;
	line-height: 1 !important;
	border-bottom: 0 !important;
	overflow: visible !important;
	transition: background 0.18s var(--pt-ease), transform 0.18s var(--pt-ease);
}

.x-topbar .x-social-global a:hover,
.x-social-global a:hover {
	background: var(--pt-orange) !important;
	color: #fff !important;
	transform: translateY(-1px);
	border-bottom: 0 !important;
}

.x-topbar .x-social-global i,
.x-topbar .x-social-global [class*="x-icon"] {
	font-size: 1rem !important;
	line-height: 1 !important;
	width: auto !important;
	height: auto !important;
	display: inline-block !important;
}

/* Public / consumer CTA */
.x-topbar .pt-top-right {
	float: none !important;
	position: relative !important;
	display: inline-flex !important;
	align-items: center;
	flex: 0 1 auto;
	margin-left: auto;
	z-index: 10055 !important;
	overflow: visible !important;
}

.x-topbar .pt-consumer,
.pt-consumer {
	z-index: 10056 !important;
	position: relative !important;
	display: inline-flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: flex-start !important;
	float: none !important;
	width: auto !important;
	max-width: min(340px, 46vw) !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0.45rem 0.95rem 0.45rem 0.85rem !important;
	background: var(--pt-orange) !important;
	background-image: none !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 14px rgba(224, 143, 34, 0.35) !important;
	font-family: var(--pt-font) !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	color: #fff !important;
	text-shadow: none !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.18s var(--pt-ease), transform 0.18s var(--pt-ease), box-shadow 0.18s var(--pt-ease);
}

.x-topbar .pt-consumer::after {
	content: "";
	position: absolute;
	right: 0.85rem;
	top: 50%;
	width: 0.45rem;
	height: 0.45rem;
	border-right: 2px solid rgba(255, 255, 255, 0.9);
	border-bottom: 2px solid rgba(255, 255, 255, 0.9);
	transform: translateY(-65%) rotate(45deg);
}

.x-topbar .pt-consumer:hover,
.pt-consumer:hover {
	background: var(--pt-orange-hover) !important;
	background-image: none !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(224, 143, 34, 0.4) !important;
	text-decoration: none !important;
}

.x-topbar .pt-consumer span,
.pt-consumer span {
	display: block !important;
	margin: 0.1rem 0 0 !important;
	padding-right: 1rem;
	font-size: 0.68rem !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	color: rgba(255, 255, 255, 0.92) !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

/* Consumer dropdown — sit above logo/nav */
.x-topbar .consumer-box,
.consumer-box {
	display: none;
	position: absolute !important;
	top: calc(100% + 0.45rem) !important;
	right: 0 !important;
	left: auto !important;
	margin: 0 !important;
	padding: 0.55rem !important;
	width: min(340px, 92vw) !important;
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
	background: #fff !important;
	border: 1px solid var(--pt-border) !important;
	border-radius: 14px !important;
	box-shadow: 0 16px 40px rgba(26, 35, 50, 0.2) !important;
	z-index: 10070 !important;
	font-family: var(--pt-font) !important;
}

.x-topbar .pt-top-right:hover .consumer-box,
.x-topbar .pt-top-right:focus-within .consumer-box,
.pt-top-right.open .consumer-box,
.pt-top-right:hover .consumer-box {
	display: block !important;
}

.x-topbar .consumer-box a,
.x-topbar .consumer-box a:visited,
.consumer-box a,
.consumer-box a:visited {
	display: block !important;
	width: 100% !important;
	padding: 0.85rem 0.95rem !important;
	margin: 0 0 0.4rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #f8fafc !important;
	color: var(--pt-ink) !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-shadow: none !important;
	text-align: left !important;
	text-decoration: none !important;
	overflow: visible !important;
	white-space: normal !important;
	height: auto !important;
}

.x-topbar .consumer-box a:last-child {
	margin-bottom: 0 !important;
}

.x-topbar .consumer-box a:hover,
.consumer-box a:hover {
	background: var(--pt-blue-soft) !important;
	color: var(--pt-blue) !important;
	text-decoration: none !important;
}

.x-topbar .consumer-box .c-d,
.consumer-box .c-d {
	display: block !important;
	margin-top: 0.35rem !important;
	padding: 0 !important;
	max-height: none !important;
	height: auto !important;
	overflow: visible !important;
	font-size: 0.8rem !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
	color: var(--pt-ink-2) !important;
	text-shadow: none !important;
	white-space: normal !important;
}

.x-topbar .consumer-box .c-d ul {
	margin: 0.4rem 0 0 1.1rem;
	padding: 0;
}

.x-topbar .consumer-box .c-d li {
	margin: 0.2rem 0;
	line-height: 1.4;
}

/* Keep masthead/nav below the open consumer menu */
.masthead,
.x-masthead,
header.masthead,
.x-logobar,
.x-navbar-wrap,
.x-navbar,
.x-nav-wrap,
.x-nav-wrap.desktop {
	overflow: visible !important;
}

.x-logobar,
.x-navbar-wrap,
.x-navbar,
.x-nav-wrap.desktop {
	position: relative;
	z-index: 100 !important;
}

@media (max-width: 979px) {
	.x-topbar-inner.x-container.max.width,
	.x-topbar .x-topbar-inner {
		gap: 0.55rem;
	}

	.x-topbar .pt-consumer,
	.pt-consumer {
		max-width: min(280px, 58vw) !important;
		font-size: 0.78rem !important;
		padding: 0.4rem 0.85rem 0.4rem 0.75rem !important;
	}

	.x-topbar .pt-consumer span,
	.pt-consumer span {
		font-size: 0.64rem !important;
	}
}

@media (max-width: 767px) {
	.x-topbar .pt-top-right {
		display: inline-flex !important; /* keep CTA on mobile, was hidden */
		width: 100%;
		justify-content: stretch;
	}

	.x-topbar .pt-consumer,
	.pt-consumer {
		width: 100% !important;
		max-width: none !important;
		border-radius: 12px !important;
	}

	.x-topbar .consumer-box,
	.consumer-box {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
	}

	.x-topbar .x-social-global {
		order: 2;
	}
}

.x-logobar,
.x-navbar,
.x-navbar-inner,
.x-logobar-inner {
	background: rgba(255, 255, 255, 0.94) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.x-logobar {
	border-bottom: 0 !important;
	padding-top: 0.85rem !important;
	padding-bottom: 0.35rem !important;
}

.x-navbar {
	border-bottom: 1px solid var(--pt-border) !important;
	box-shadow: var(--pt-shadow-sm) !important;
}

.x-brand img,
.x-brand .x-logo,
a.x-brand img {
	max-height: 56px !important;
	width: auto !important;
	height: auto !important;
	max-width: min(340px, 72vw) !important;
	object-fit: contain;
	filter: none !important;
}

.x-brand {
	display: inline-flex !important;
	align-items: center;
}

.x-navbar .x-nav > li > a,
.desktop .x-nav > li > a {
	font-family: var(--pt-font) !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	letter-spacing: -0.01em !important;
	color: var(--pt-ink-2) !important;
	text-transform: none !important;
	padding-left: 0.9rem !important;
	padding-right: 0.9rem !important;
}

.x-navbar .x-nav > li > a:hover,
.x-navbar .x-nav > li.current-menu-item > a,
.x-navbar .x-nav > li.current_page_item > a {
	color: var(--pt-blue) !important;
}

.x-navbar .x-nav > li > a > span {
	position: relative;
}

.x-navbar .x-nav > li > a:hover > span::after,
.x-navbar .x-nav > li.current-menu-item > a > span::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.45rem;
	height: 2px;
	border-radius: 2px;
	background: var(--pt-orange);
}

.x-btn-navbar,
.x-nav-toggle {
	color: var(--pt-blue) !important;
}

.x-dropdown-toggle,
.sub-menu,
.x-dropdown {
	border-radius: var(--pt-radius) !important;
	box-shadow: var(--pt-shadow) !important;
	border: 1px solid var(--pt-border) !important;
}

.sub-menu a {
	font-family: var(--pt-font) !important;
	font-weight: 500 !important;
	color: var(--pt-ink-2) !important;
}

.sub-menu a:hover {
	color: var(--pt-blue) !important;
	background: var(--pt-blue-soft) !important;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.x-btn,
.button,
.btn,
button[type="submit"],
input[type="submit"],
.elementor-button,
.elementor-button-link,
.woocommerce a.button,
.wp-block-button__link {
	font-family: var(--pt-font) !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em !important;
	text-transform: none !important;
	border-radius: var(--pt-radius-pill) !important;
	border: 0 !important;
	box-shadow: 0 1px 2px rgba(0, 102, 161, 0.18) !important;
	transition: background 0.18s var(--pt-ease), transform 0.18s var(--pt-ease), box-shadow 0.18s var(--pt-ease), color 0.18s var(--pt-ease) !important;
}

.x-btn,
.elementor-button,
.elementor-button-link,
button[type="submit"],
input[type="submit"] {
	background: var(--pt-blue) !important;
	color: #fff !important;
	padding: 0.75rem 1.35rem !important;
}

.x-btn:hover,
.elementor-button:hover,
.elementor-button-link:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--pt-blue-hover) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 102, 161, 0.28) !important;
}

/* Hub / outlined CTAs on dark panels → orange fill */
.elementor-78576 .elementor-button,
.home .elementor-button {
	background: var(--pt-orange) !important;
	color: #fff !important;
	box-shadow: 0 4px 16px rgba(224, 143, 34, 0.35) !important;
	border: 0 !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
}

.elementor-78576 .elementor-button:hover,
.home .elementor-button:hover {
	background: var(--pt-orange-hover) !important;
	color: #fff !important;
}

.x-btn.x-btn-real,
.x-btn.x-btn-orange,
a.pt-cta-accent,
.pt-cta-accent .elementor-button {
	background: var(--pt-orange) !important;
	box-shadow: 0 1px 2px rgba(224, 143, 34, 0.25) !important;
}

.x-btn.x-btn-real:hover,
.x-btn.x-btn-orange:hover,
a.pt-cta-accent:hover,
.pt-cta-accent .elementor-button:hover {
	background: var(--pt-orange-hover) !important;
}

/* Kill leftover Elementor green / purple */
.elementor-button[style*="61ce70"],
.elementor-button[style*="61CE70"],
.elementor-button[style*="5d4fff"] {
	background: var(--pt-blue) !important;
}

/* --------------------------------------------------------------------------
   Typography — force brand face over Raleway/Roboto
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.x-entry-title,
.entry-title,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
	font-family: var(--pt-font) !important;
	color: var(--pt-ink) !important;
	letter-spacing: -0.025em !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.elementor-heading-title {
	text-wrap: balance;
}

p,
.elementor-widget-text-editor,
.x-entry-content,
body,
.elementor-widget-text-editor p {
	font-family: var(--pt-font) !important;
	color: var(--pt-ink-2);
	line-height: 1.65;
}

/* --------------------------------------------------------------------------
   Home — welcome + hub panels
   -------------------------------------------------------------------------- */
.home .elementor > .elementor-section:first-child,
.page-id-78576 .elementor > .elementor-section:first-child,
.elementor-78576 .elementor-element-51a579d8 {
	position: relative;
}

.elementor-78576 .elementor-element-51a579d8 .elementor-heading-title {
	color: var(--pt-blue-deep) !important;
	font-size: clamp(1.55rem, 3.4vw, 2.25rem) !important;
	font-weight: 750 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.2 !important;
	text-align: center !important;
	margin: 0 !important;
}

.elementor-78576 .elementor-element-51a579d8 .elementor-heading-title::after {
	content: "";
	display: block;
	width: 2.75rem;
	height: 3px;
	margin: 0.75rem auto 0;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pt-blue), var(--pt-orange));
}

/* --------------------------------------------------------------------------
   Home hubs — EDUCATION | JOBS (and sibling hub rows)
   Opaque panels so white copy always reads on photo backgrounds.
   -------------------------------------------------------------------------- */
.elementor-78576 .elementor-element-69175e03,
.elementor-78576 .elementor-element-6b3a8865,
.elementor-78576 .elementor-element-552d6c82 {
	isolation: isolate;
	position: relative;
}

/* Dim the photo behind panels for contrast */
.elementor-78576 .elementor-element-69175e03::after,
.elementor-78576 .elementor-element-6b3a8865::after,
.elementor-78576 .elementor-element-552d6c82::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background: rgba(6, 42, 64, 0.35);
}

.elementor-78576 .elementor-element-69175e03 > .elementor-container,
.elementor-78576 .elementor-element-6b3a8865 > .elementor-container,
.elementor-78576 .elementor-element-552d6c82 > .elementor-container {
	position: relative;
	z-index: 1;
}

/* The populated widget wraps the user pointed at */
.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 0.85rem;
	min-height: 280px;
	padding: 2.75rem 2rem !important;
	text-align: center !important;
	background: linear-gradient(165deg, rgba(0, 102, 161, 0.92) 0%, rgba(11, 61, 92, 0.95) 100%) !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	transition: transform 0.28s var(--pt-ease), box-shadow 0.28s var(--pt-ease), background 0.28s var(--pt-ease);
}

/* Alternate columns — deeper blue (not orange panels) */
.elementor-78576 .elementor-element-4b7037db > .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-38c3ecdd > .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-43d294f0 > .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-32b27fee > .elementor-widget-wrap.elementor-element-populated {
	background: linear-gradient(165deg, rgba(10, 122, 184, 0.88) 0%, rgba(11, 61, 92, 0.95) 100%) !important;
}

.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated:hover,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated:hover,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated:hover {
	transform: translateY(-2px);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18), 0 12px 32px rgba(0, 0, 0, 0.18);
}

/* Force readable white type inside hub panels — beats global ink overrides */
.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated *,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated *,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated * {
	color: #fff !important;
}

.elementor-78576 .elementor-element-69175e03 .elementor-heading-title,
.elementor-78576 .elementor-element-6b3a8865 .elementor-heading-title,
.elementor-78576 .elementor-element-552d6c82 .elementor-heading-title {
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	font-size: clamp(1.4rem, 2.6vw, 1.9rem) !important;
	line-height: 1.15 !important;
	text-shadow: none !important;
	margin: 0 0 0.35rem !important;
}

.elementor-78576 .elementor-element-69175e03 .elementor-widget-text-editor,
.elementor-78576 .elementor-element-69175e03 .elementor-widget-text-editor p,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-text-editor,
.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-text-editor p,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-text-editor,
.elementor-78576 .elementor-element-552d6c82 .elementor-widget-text-editor p {
	color: rgba(255, 255, 255, 0.94) !important;
	font-family: var(--pt-font) !important;
	font-size: 1.05rem !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	max-width: 28rem;
	margin: 0 auto !important;
}

/* Hub CTAs — solid orange, never transparent green */
.elementor-78576 .elementor-element-69175e03 .elementor-button,
.elementor-78576 .elementor-element-6b3a8865 .elementor-button,
.elementor-78576 .elementor-element-552d6c82 .elementor-button {
	background: var(--pt-orange) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--pt-radius-pill) !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	padding: 0.85rem 1.5rem !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22) !important;
	margin-top: 0.5rem;
}

.elementor-78576 .elementor-element-69175e03 .elementor-button:hover,
.elementor-78576 .elementor-element-6b3a8865 .elementor-button:hover,
.elementor-78576 .elementor-element-552d6c82 .elementor-button:hover {
	background: var(--pt-orange-hover) !important;
	color: #fff !important;
	transform: translateY(-1px);
}

.elementor-78576 .elementor-element-69175e03 .elementor-button .elementor-button-text,
.elementor-78576 .elementor-element-6b3a8865 .elementor-button .elementor-button-text,
.elementor-78576 .elementor-element-552d6c82 .elementor-button .elementor-button-text {
	color: #fff !important;
}

@media (max-width: 767px) {
	.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated,
	.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated,
	.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated {
		min-height: 220px;
		padding: 2rem 1.35rem !important;
	}
}

/* Posts / The Grid cards */
.tg-item,
.tg-item-inner,
.elementor-post,
.elementor-posts-container article {
	border-radius: var(--pt-radius-lg) !important;
	overflow: hidden;
	box-shadow: var(--pt-shadow-sm);
	transition: transform 0.22s var(--pt-ease), box-shadow 0.22s var(--pt-ease);
}

.tg-item:hover,
.elementor-post:hover {
	transform: translateY(-3px);
	box-shadow: var(--pt-shadow);
}

.elementor-post__title,
.elementor-post__title a,
.tg-item-title,
.tg-item-title a {
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	color: var(--pt-ink) !important;
	letter-spacing: -0.02em !important;
}

.elementor-post__title a:hover,
.tg-item-title a:hover {
	color: var(--pt-blue) !important;
}

.elementor-post__read-more,
a.elementor-post__read-more {
	color: var(--pt-orange) !important;
	font-weight: 600 !important;
}

/* Icon boxes */
.elementor-icon,
.elementor-view-stacked .elementor-icon {
	background: var(--pt-blue-soft) !important;
	color: var(--pt-blue) !important;
	border-radius: 0.85rem !important;
}

.elementor-view-stacked .elementor-icon i {
	color: var(--pt-blue) !important;
}

.elementor-widget-text-editor a,
.x-entry-content a,
.entry-content a {
	color: var(--pt-blue);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.elementor-widget-text-editor a:hover,
.x-entry-content a:hover {
	color: var(--pt-orange-hover);
}

/* --------------------------------------------------------------------------
   Inner pages — landmark titles
   -------------------------------------------------------------------------- */
.x-header-landmark,
.x-header-landmark .h-landmark,
.x-header-landmark .entry-title,
.page .x-header-landmark {
	background: linear-gradient(105deg, var(--pt-blue-deep) 0%, var(--pt-blue) 55%, #0a7ab8 100%) !important;
	border: 0 !important;
	color: #fff !important;
	padding-top: 2.25rem !important;
	padding-bottom: 2.25rem !important;
}

.x-header-landmark .h-landmark,
.x-header-landmark .entry-title,
.x-header-landmark h1 {
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
}

.x-breadcrumb-wrap {
	background: transparent !important;
}

.x-breadcrumbs,
.x-breadcrumbs a {
	font-family: var(--pt-font) !important;
	color: var(--pt-ink-3) !important;
}

.x-breadcrumbs a:hover {
	color: var(--pt-blue) !important;
}

.x-breadcrumbs .current {
	color: var(--pt-ink) !important;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Content / blog / sidebars
   -------------------------------------------------------------------------- */
.x-sidebar .widget,
.sidebar .widget,
.widget {
	background: var(--pt-surface);
	border: 1px solid var(--pt-border);
	border-radius: var(--pt-radius-lg);
	padding: 1.15rem 1.25rem;
	box-shadow: var(--pt-shadow-sm);
	margin-bottom: 1.25rem;
}

.widget .h-widget,
.widget-title,
.x-widget-title {
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	color: var(--pt-ink) !important;
	border-bottom: 2px solid var(--pt-orange);
	padding-bottom: 0.55rem;
	margin-bottom: 0.85rem;
	font-size: 1rem !important;
	text-transform: none !important;
	letter-spacing: -0.02em !important;
}

.x-entry,
article.post,
.x-card-outer {
	background: var(--pt-surface);
	border: 1px solid var(--pt-border);
	border-radius: var(--pt-radius-lg);
	box-shadow: var(--pt-shadow-sm);
	overflow: hidden;
}

.x-entry-header .entry-title a,
.entry-title a {
	color: var(--pt-ink) !important;
}

.x-entry-header .entry-title a:hover {
	color: var(--pt-blue) !important;
}

.entry-meta,
.x-meta,
.p-meta {
	color: var(--pt-ink-3) !important;
	font-size: 0.88rem;
}

/* --------------------------------------------------------------------------
   Forms + login
   -------------------------------------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea,
select,
.x-form-controls,
.theme-my-login input,
.tml input {
	border: 1px solid #cbd5e1 !important;
	border-radius: var(--pt-radius) !important;
	background: #fff !important;
	color: var(--pt-ink) !important;
	font-family: var(--pt-font) !important;
	padding: 0.7rem 0.9rem !important;
	box-shadow: none !important;
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--pt-blue) !important;
	box-shadow: 0 0 0 3px rgba(0, 102, 161, 0.14) !important;
	outline: none !important;
}

.tml,
.theme-my-login {
	background: var(--pt-surface);
	border: 1px solid var(--pt-border);
	border-radius: var(--pt-radius-lg);
	box-shadow: var(--pt-shadow);
	padding: 1.75rem !important;
	max-width: 420px;
	margin: 2rem auto;
}

.tml h2,
.theme-my-login h2,
.tml-title {
	font-family: var(--pt-font) !important;
	color: var(--pt-blue) !important;
	font-weight: 700 !important;
	text-align: center;
	margin-bottom: 1.25rem !important;
}

.tml .button-primary,
.theme-my-login .button-primary {
	width: 100%;
	background: var(--pt-blue) !important;
	border-radius: var(--pt-radius-pill) !important;
}

.tml a {
	color: var(--pt-blue) !important;
}

.tml a:hover {
	color: var(--pt-orange-hover) !important;
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.x-colophon,
.x-colophon.bottom,
footer.x-colophon {
	background: linear-gradient(180deg, #0b3d5c 0%, #062a40 100%) !important;
	color: rgba(255, 255, 255, 0.82) !important;
	border-top: 3px solid var(--pt-orange) !important;
	padding-top: 2.5rem !important;
}

.x-colophon a {
	color: rgba(255, 255, 255, 0.88) !important;
}

.x-colophon a:hover {
	color: var(--pt-orange) !important;
}

.x-colophon .widget,
.x-colophon .h-widget,
.x-colophon .widget-title {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #fff !important;
}

.x-colophon .widget-title,
.x-colophon .h-widget {
	border-bottom: 1px solid rgba(244, 163, 58, 0.45) !important;
	color: #fff !important;
}

.x-colophon.bottom {
	font-size: 0.88rem;
}

/* --------------------------------------------------------------------------
   GeoDirectory
   -------------------------------------------------------------------------- */
.geodir-listing,
.geodir_ListView,
.gd-listview,
.geodir-category-list-view li {
	border-radius: var(--pt-radius) !important;
}

.geodir-btn,
.geodir_button,
a.gd-btn {
	background: var(--pt-blue) !important;
	border-radius: var(--pt-radius-pill) !important;
	border: 0 !important;
	color: #fff !important;
}

/* --------------------------------------------------------------------------
   Motion — reveal on scroll
   -------------------------------------------------------------------------- */
.pt-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.55s var(--pt-ease), transform 0.55s var(--pt-ease);
}

.pt-reveal.is-in {
	opacity: 1;
	transform: none;
}

.pt-site-ready .x-logobar {
	animation: pt-fade-down 0.55s var(--pt-ease) both;
}

@keyframes pt-fade-down {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   Misc
   -------------------------------------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
}

.x-scroll-top {
	background: var(--pt-blue) !important;
	border-radius: 50% !important;
}

.x-scroll-top:hover {
	background: var(--pt-orange) !important;
}

.x-navbar .x-nav > li > a,
.widget-title {
	text-transform: none !important;
}

/* Pagination */
.x-pagination a,
.page-numbers {
	border-radius: var(--pt-radius-pill) !important;
	font-family: var(--pt-font) !important;
}

.x-pagination a:hover,
.page-numbers.current {
	background: var(--pt-blue) !important;
	color: #fff !important;
	border-color: var(--pt-blue) !important;
}

/* Author box */
.ts-fab-wrapper,
.author-info {
	border-radius: var(--pt-radius-lg) !important;
	border: 1px solid var(--pt-border) !important;
	background: var(--pt-surface) !important;
}

/* Varied default avatars */
img.avatar,
.avatar img,
.wpforo-avatar img,
.wpf-avatar img,
.ts-fab-avatar img {
	border-radius: 50% !important;
	object-fit: cover;
	background: var(--pt-blue-soft);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 979px) {
	.x-brand img,
	.x-brand .x-logo,
	a.x-brand img {
		max-height: 44px !important;
		max-width: min(260px, 70vw) !important;
	}

	.x-topbar {
		font-size: 0.78rem !important;
	}

	.elementor-78576 .elementor-element-51a579d8 .elementor-heading-title {
		font-size: 1.65rem !important;
	}
}

@media (max-width: 767px) {
	.x-btn,
	.elementor-button {
		width: auto;
	}

	.widget {
		padding: 1rem;
	}

	.x-header-landmark {
		padding-top: 1.5rem !important;
		padding-bottom: 1.5rem !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}

	.pt-reveal {
		opacity: 1;
		transform: none;
	}
}

/* --------------------------------------------------------------------------
   Home hub labels (FORUM / CLINICS / SCHOOLS / ARTICLES) + jobs CTA
   -------------------------------------------------------------------------- */
.elementor-78576 .elementor-element-7a885908 .elementor-heading-title,
.elementor-78576 .elementor-element-53ebe270 .elementor-heading-title,
.elementor-78576 .elementor-element-6dfd228e .elementor-heading-title,
.elementor-78576 .elementor-element-396cd975 .elementor-heading-title {
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

.elementor-78576 .elementor-element-6ca0ee03,
.elementor-78576 .elementor-element-758dd2cd,
.elementor-78576 .elementor-element-693e9f8a,
.elementor-78576 .elementor-element-71464b75,
.elementor-78576 .elementor-element-6ca0ee03 p,
.elementor-78576 .elementor-element-758dd2cd p,
.elementor-78576 .elementor-element-693e9f8a p,
.elementor-78576 .elementor-element-71464b75 p {
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: var(--pt-font) !important;
}

/* Home: park forum block under Welcome */
.elementor-78576 {
	display: flex !important;
	flex-direction: column;
}

.elementor-78576 > .elementor-element-4a178f0f {
	order: 1;
}

/* Unified welcome hero: logo + headline + search */
.elementor-78576 > .elementor-element-4a178f0f.pt-welcome-hero,
.elementor-78576 > .elementor-element-4a178f0f {
	position: relative;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 2.75rem 1.25rem 2.15rem !important;
	box-sizing: border-box !important;
	background:
		radial-gradient(ellipse 80% 70% at 50% 0%, rgba(0, 102, 161, 0.1) 0%, rgba(0, 102, 161, 0) 70%),
		linear-gradient(180deg, #f7fbfe 0%, #eef5fa 55%, #f5f7fb 100%) !important;
	border-bottom: 1px solid rgba(0, 102, 161, 0.08);
	overflow: hidden;
}

.elementor-78576 > .elementor-element-4a178f0f .elementor-container {
	max-width: 880px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.elementor-78576 > .elementor-element-4a178f0f .elementor-column {
	width: 100% !important;
	float: none !important;
}

.elementor-78576 > .elementor-element-4a178f0f .elementor-widget-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	gap: 0.35rem;
}

.elementor-78576 .elementor-element-51a579d8 {
	width: 100% !important;
	margin: 0.15rem 0 0.35rem !important;
	text-align: center;
}

/* Logo above “Welcome, What Can We Help With?” */
.pt-welcome-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	margin: 0 0 1.15rem;
	padding: 0.35rem 0 0;
	box-sizing: border-box;
	animation: pt-welcome-in 0.55s var(--pt-ease) both;
}

.pt-welcome-logo__link {
	display: inline-flex;
	text-decoration: none !important;
	border: 0 !important;
	transition: transform 0.2s var(--pt-ease), opacity 0.2s var(--pt-ease);
}

.pt-welcome-logo__link:hover {
	transform: translateY(-1px);
	opacity: 0.92;
}

.pt-welcome-logo__img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(420px, 90vw);
	max-height: 72px;
	object-fit: contain;
	background: transparent !important;
	border-radius: 0;
	box-shadow: none;
}

.pt-welcome-logo__wordmark {
	font-family: var(--pt-font);
	font-weight: 750;
	font-size: 1.65rem;
	color: var(--pt-blue);
	letter-spacing: -0.02em;
}

@keyframes pt-welcome-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 767px) {
	.elementor-78576 > .elementor-element-4a178f0f.pt-welcome-hero,
	.elementor-78576 > .elementor-element-4a178f0f {
		padding: 1.85rem 1rem 1.55rem !important;
	}

	.pt-welcome-logo {
		margin-bottom: 0.9rem;
	}

	.pt-welcome-logo__img {
		max-width: min(280px, 84vw);
		max-height: 58px;
	}
}

.elementor-78576 > .pt-hero-search {
	order: 2;
}

.elementor-78576 > .elementor-element-89a8cd8,
.elementor-78576 > .elementor-element-89a8cd8.pt-forum-home-slot {
	order: 3;
	max-width: 1240px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1rem 1.5rem;
	box-sizing: border-box;
}

.elementor-78576 > .elementor-element-89a8cd8 .elementor-container,
.elementor-78576 > .elementor-element-89a8cd8 .elementor-column,
.elementor-78576 > .elementor-element-89a8cd8 .elementor-widget-wrap,
.elementor-78576 > .elementor-element-89a8cd8 .elementor-widget,
.elementor-78576 > .elementor-element-89a8cd8 .elementor-shortcode,
.elementor-78576 > .elementor-element-89a8cd8 #wpforo,
.elementor-78576 > .elementor-element-89a8cd8 #wpforo-wrap {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	box-sizing: border-box !important;
}

.elementor-78576 > .elementor-element-69175e03 { order: 4; }
.elementor-78576 > .elementor-element-6b3a8865 { order: 5; }
.elementor-78576 > .elementor-element-552d6c82 { order: 6; }
.elementor-78576 > .elementor-element-714eca9d { order: 7; }
.elementor-78576 > .elementor-element-730c1e7d { order: 8; }

/* --------------------------------------------------------------------------
   Hero community search (inside welcome section)
   -------------------------------------------------------------------------- */
.elementor-78576 .pt-hero-search,
.pt-hero-search {
	width: 100%;
	max-width: 720px;
	margin: 1.15rem auto 0;
	padding: 0;
	box-sizing: border-box;
	animation: pt-welcome-in 0.65s var(--pt-ease) 0.08s both;
}

.pt-hero-search__inner {
	max-width: none;
	margin: 0 auto;
}

.pt-hero-search__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pt-hero-search__bar {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	width: 100%;
	min-height: 56px;
	padding: 0.4rem 0.4rem 0.4rem 1.05rem;
	background: #fff;
	border: 1px solid rgba(0, 102, 161, 0.16);
	border-radius: 999px;
	box-shadow:
		0 1px 2px rgba(26, 35, 50, 0.04),
		0 12px 30px rgba(0, 102, 161, 0.1);
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.pt-hero-search__bar:hover {
	border-color: rgba(0, 102, 161, 0.28);
	box-shadow:
		0 1px 2px rgba(26, 35, 50, 0.05),
		0 16px 36px rgba(0, 102, 161, 0.14);
}

.pt-hero-search__bar:focus-within {
	border-color: var(--pt-blue);
	box-shadow:
		0 0 0 4px rgba(0, 102, 161, 0.14),
		0 14px 34px rgba(0, 102, 161, 0.14);
	transform: translateY(-1px);
}

.pt-hero-search__icon {
	display: inline-flex;
	color: var(--pt-blue);
	flex-shrink: 0;
	opacity: 0.85;
}

.pt-hero-search__input {
	flex: 1 1 auto;
	min-width: 0;
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	font-family: var(--pt-font) !important;
	font-size: 1.02rem !important;
	font-weight: 500 !important;
	color: var(--pt-ink) !important;
	padding: 0.5rem 0.3rem !important;
	border-radius: 0 !important;
}

.pt-hero-search__input::placeholder {
	color: #8a97a8;
	font-weight: 450;
}

.pt-hero-search__submit {
	flex: 0 0 auto;
	appearance: none;
	border: 0;
	cursor: pointer;
	font-family: var(--pt-font);
	font-weight: 700;
	font-size: 0.92rem;
	letter-spacing: -0.01em;
	color: #fff;
	background: linear-gradient(135deg, #0a7ab8 0%, #0066a1 55%, #005286 100%);
	padding: 0.72rem 1.25rem;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 102, 161, 0.28);
	transition: background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.pt-hero-search__submit:hover {
	background: linear-gradient(135deg, #0891c7 0%, #005286 100%);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(0, 102, 161, 0.32);
}

.pt-hero-search__submit:active {
	transform: translateY(0);
}

.pt-hero-search__hint {
	margin: 0.75rem 0 0;
	text-align: center;
	font-size: 0.84rem;
	color: #6b7c8d;
	font-weight: 500;
}

/* Hide menu search when hero search is present */
body.pt-has-hero-search #wpforo #wpforo-wrap #wpforo-menu .wpf-bar-right.wpf-search,
body.pt-has-hero-search #wpforo #wpforo-wrap #wpforo-menu .wpf-search-form,
body.home.pt-forum-active #wpforo #wpforo-wrap #wpforo-menu .wpf-bar-right.wpf-search,
body.page-id-78576.pt-forum-active #wpforo #wpforo-wrap #wpforo-menu .wpf-bar-right.wpf-search {
	display: none !important;
}

@media (max-width: 767px) {
	.elementor-78576 .pt-hero-search,
	.pt-hero-search {
		margin-top: 0.95rem;
		max-width: 100%;
	}

	.pt-hero-search__bar {
		min-height: 50px;
		padding-left: 0.8rem;
		padding-right: 0.35rem;
		gap: 0.4rem;
		border-radius: 16px;
	}

	.pt-hero-search__input {
		font-size: 0.95rem !important;
		min-width: 0;
	}

	.pt-hero-search__submit {
		padding: 0.62rem 0.9rem;
		font-size: 0.86rem;
		border-radius: 12px;
		white-space: nowrap;
	}

	.pt-hero-search__hint {
		font-size: 0.76rem;
		padding: 0 0.15rem;
	}

	.elementor-78576 > .elementor-element-89a8cd8,
	.elementor-78576 > .elementor-element-89a8cd8.pt-forum-home-slot {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.pt-side-nav-fab {
		top: 0.7rem;
		left: 0.7rem;
		width: 40px;
		height: 40px;
		box-shadow: 0 4px 14px rgba(11, 61, 92, 0.16);
	}

	.elementor-78576 .elementor-element-69175e03 .elementor-widget-wrap.elementor-element-populated,
	.elementor-78576 .elementor-element-6b3a8865 .elementor-widget-wrap.elementor-element-populated,
	.elementor-78576 .elementor-element-552d6c82 .elementor-widget-wrap.elementor-element-populated {
		margin-left: 0.65rem;
		margin-right: 0.65rem;
	}
}


.elementor-78576 > .elementor-element-89a8cd8 .elementor-heading-title {
	color: var(--pt-blue) !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

.elementor-78576 .elementor-element-54ed3a9 .elementor-button {
	background: var(--pt-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
}

.elementor-78576 .elementor-element-54ed3a9 .elementor-button:hover {
	background: var(--pt-orange-hover) !important;
}


/* --------------------------------------------------------------------------
   Job Market Primer section
   -------------------------------------------------------------------------- */
.elementor-78576 .elementor-element-730c1e7d {
	position: relative;
	isolation: isolate;
}

.elementor-78576 .elementor-element-730c1e7d::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(245, 247, 251, 0.92) 0%, rgba(232, 243, 250, 0.88) 100%),
		radial-gradient(800px 400px at 90% 20%, rgba(244, 163, 58, 0.12), transparent 55%);
}

.elementor-78576 .elementor-element-730c1e7d > .elementor-container {
	position: relative;
	z-index: 1;
}

/* Primer content card */
.elementor-78576 .elementor-element-edd8b73 > .elementor-widget-wrap.elementor-element-populated {
	background: #fff !important;
	border-radius: 18px !important;
	padding: clamp(2rem, 4vw, 3.25rem) !important;
	box-shadow: 0 1px 2px rgba(26, 35, 50, 0.04), 0 14px 36px rgba(26, 35, 50, 0.08) !important;
	border: 1px solid #e2e8f0;
	margin: 1.5rem 1rem;
}

.elementor-78576 .elementor-element-fe965c1 .elementor-heading-title {
	color: var(--pt-blue) !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
	letter-spacing: -0.03em !important;
	line-height: 1.2 !important;
}

.elementor-78576 .elementor-element-fe965c1 .elementor-heading-title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 3px;
	margin: 0.75rem auto 0;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--pt-blue), var(--pt-orange));
}

.elementor-78576 .elementor-element-3ea4e25,
.elementor-78576 .elementor-element-3ea4e25 p {
	color: var(--pt-ink-2) !important;
	font-family: var(--pt-font) !important;
	font-size: 1.05rem !important;
	line-height: 1.7 !important;
	max-width: 40rem;
	margin-left: auto !important;
	margin-right: auto !important;
}

.elementor-78576 .elementor-element-f07ae66 .elementor-button {
	background: var(--pt-blue) !important;
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	padding: 0.9rem 1.75rem !important;
	box-shadow: 0 6px 18px rgba(0, 102, 161, 0.28) !important;
}

.elementor-78576 .elementor-element-f07ae66 .elementor-button:hover,
.elementor-78576 .elementor-element-f07ae66 .elementor-button:focus {
	background: var(--pt-blue-hover) !important;
	color: #fff !important;
}

/* LOOKING FOR A PT JOB side panel */
.elementor-78576 .elementor-element-ec836c7 > .elementor-widget-wrap.elementor-element-populated {
	background: linear-gradient(160deg, #0066a1 0%, #0b3d5c 100%) !important;
	border-radius: 18px !important;
	padding: clamp(2rem, 4vw, 3.25rem) !important;
	box-shadow: 0 14px 36px rgba(11, 61, 92, 0.28) !important;
	margin: 1.5rem 1rem;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	min-height: 220px;
}

.elementor-78576 .elementor-element-ec836c7 .elementor-heading-title,
.elementor-78576 .elementor-element-13fa02b7,
.elementor-78576 .elementor-element-13fa02b7 .elementor-heading-title,
.elementor-78576 .elementor-element-13fa02b7 * {
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	font-size: clamp(1.25rem, 2.4vw, 1.65rem) !important;
	opacity: 1 !important;
}

.elementor-78576 .elementor-element-273dd3ac .elementor-button,
.elementor-78576 .elementor-element-273dd3ac .elementor-button .elementor-button-text {
	background: var(--pt-orange) !important;
	color: #fff !important;
	font-family: var(--pt-font) !important;
	font-weight: 700 !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.2) !important;
}

.elementor-78576 .elementor-element-273dd3ac .elementor-button:hover,
.elementor-78576 .elementor-element-273dd3ac .elementor-button:focus {
	background: var(--pt-orange-hover) !important;
	color: #fff !important;
}

@media (max-width: 767px) {
	.elementor-78576 .elementor-element-edd8b73 > .elementor-widget-wrap.elementor-element-populated,
	.elementor-78576 .elementor-element-ec836c7 > .elementor-widget-wrap.elementor-element-populated {
		margin: 0.75rem 0.5rem;
		padding: 1.75rem 1.25rem !important;
	}
}

/* --------------------------------------------------------------------------
   Reddit-style fixed left sidebar + full-width top bar
   -------------------------------------------------------------------------- */
:root {
	--pt-side-w: 276px;
	--pt-side-w-collapsed: 64px;
	--pt-topbar-h: 56px;
}

/* Full-bleed top bar above sidebar (like Reddit) */
body.pt-side-nav-on {
	padding-left: var(--pt-side-w) !important;
	padding-top: var(--pt-topbar-h) !important;
	transition: padding-left 0.22s var(--pt-ease);
}

body.pt-side-nav-on.pt-side-nav-collapsed {
	padding-left: var(--pt-side-w-collapsed) !important;
}

body.pt-side-nav-on .x-topbar {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 10100 !important;
	box-sizing: border-box !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
	padding: 0.4rem 0 !important;
}

body.pt-side-nav-on .x-topbar-inner.x-container.max.width,
body.pt-side-nav-on .x-topbar .x-topbar-inner {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0.85rem !important;
	padding-right: 1rem !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 0.75rem 1rem;
}

/* Logo on the far left of the top bar */
body.pt-side-nav-on .pt-topbar-brand {
	display: inline-flex !important;
	align-items: center;
	flex: 0 0 auto;
	margin-right: 0.35rem;
	text-decoration: none !important;
	border-bottom: 0 !important;
	order: -1;
}

body.pt-side-nav-on .pt-topbar-brand:hover {
	border-bottom: 0 !important;
	opacity: 0.92;
}

body.pt-side-nav-on .pt-topbar-logo {
	display: block;
	height: 40px;
	width: auto;
	max-width: 260px;
	object-fit: contain;
	object-position: left center;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

body.pt-side-nav-on .pt-topbar-wordmark {
	color: #fff !important;
	font-weight: 750;
	font-size: 1.05rem;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

body.pt-side-nav-on .x-topbar .p-info {
	flex: 1 1 auto;
	min-width: 0;
}

body.pt-side-nav-on .x-topbar .pt-top-right {
	margin-left: auto;
}

/* Remove any leftover topbar logo injection */
body.pt-side-nav-on .pt-topbar-brand,
.pt-topbar-brand {
	display: none !important;
}

.pt-side-nav {
	position: fixed !important;
	top: var(--pt-topbar-h);
	left: 0;
	bottom: 0;
	width: var(--pt-side-w);
	z-index: 10080 !important;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-right: 1px solid #e5e7eb;
	box-shadow: none;
	font-family: var(--pt-font);
	transition: width 0.22s var(--pt-ease);
	overflow: visible !important;
}

body.pt-side-nav-collapsed .pt-side-nav {
	width: var(--pt-side-w-collapsed);
}

.pt-side-nav__top,
.pt-side-nav__brand,
.pt-side-nav__logo,
.pt-side-nav__wordmark {
	display: none !important;
}

.pt-side-nav__toggle,
.pt-side-nav-fab {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 1px solid #d1d5db;
	background: #fff;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
	transition: background 0.18s var(--pt-ease), border-color 0.18s var(--pt-ease), box-shadow 0.18s var(--pt-ease), transform 0.18s var(--pt-ease);
}

/* Reddit-style: pin toggle on the sidebar’s right border */
.pt-side-nav__toggle {
	position: absolute !important;
	top: 0.85rem;
	right: 0;
	left: auto;
	transform: translateX(50%);
	z-index: 10085;
	margin: 0;
}

.pt-side-nav__toggle:hover {
	background: #f8fafc;
	border-color: #9ca3af;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.16);
	transform: translateX(50%) translateY(-1px);
}

.pt-side-nav-fab:hover {
	background: #f3f4f6;
	border-color: #d1d5db;
	transform: translateY(-1px);
}

.pt-side-nav__toggle span,
.pt-side-nav-fab span {
	display: block;
	width: 13px;
	height: 2px;
	border-radius: 2px;
	background: #4b5563;
}

.pt-side-nav-fab {
	display: none;
	position: fixed;
	top: calc(var(--pt-topbar-h) + 0.55rem);
	left: 0.85rem;
	z-index: 10090;
}

.pt-side-nav__scroll {
	flex: 1 1 auto;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0.55rem 1.35rem 1.5rem 0.7rem;
	scrollbar-width: thin;
	box-sizing: border-box;
}

.pt-side-nav__section {
	margin: 0 0 0.55rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid #f1f5f9;
}

.pt-side-nav__section:last-child {
	border-bottom: 0;
}

.pt-side-nav__section:not(.is-collapsed) {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid #f1f5f9;
}

.pt-side-nav__section.is-pinned > .pt-side-nav__head {
	cursor: default;
	pointer-events: none;
}

.pt-side-nav__section.is-pinned > .pt-side-nav__head:hover {
	background: transparent;
}

.pt-side-nav__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.35rem;
	border: 0;
	background: transparent;
	cursor: pointer;
	padding: 0.55rem 0.7rem;
	color: #6b7280;
	font-family: var(--pt-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
	transition: color 0.16s var(--pt-ease), background 0.16s var(--pt-ease);
}

.pt-side-nav__head:hover {
	color: #111827;
	background: #f3f4f6;
}

.pt-side-nav__section:not(.is-collapsed) > .pt-side-nav__head {
	color: #6b7280;
}

.pt-side-nav__chev {
	width: 0.38rem;
	height: 0.38rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.18s var(--pt-ease);
	opacity: 0.75;
	margin-bottom: 0.12rem;
}

.pt-side-nav__section.is-collapsed .pt-side-nav__chev {
	transform: rotate(-45deg);
	margin-bottom: 0;
}

.pt-side-nav__section.is-collapsed .pt-side-nav__body {
	display: none;
}

.pt-side-nav__body {
	padding: 0.1rem 0 0.35rem;
}

.pt-side-nav__link {
	display: flex !important;
	align-items: center;
	gap: 0.75rem;
	padding: 0.55rem 0.7rem !important;
	margin: 0.1rem 0;
	border-radius: 999px !important;
	color: #1f2937 !important;
	text-decoration: none !important;
	font-size: 0.94rem !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	border-bottom: 0 !important;
	width: auto !important;
	max-width: calc(100% - 0.15rem);
	box-sizing: border-box !important;
	transition: background 0.16s var(--pt-ease), color 0.16s var(--pt-ease), box-shadow 0.16s var(--pt-ease);
}

.pt-side-nav__link:hover {
	background: #f3f4f6 !important;
	color: #111827 !important;
	border-bottom: 0 !important;
	transform: none;
}

/* Reddit-style active pill — brand orange */
.pt-side-nav__link.is-active {
	background: var(--pt-orange) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(244, 163, 58, 0.22);
	max-width: calc(100% - 0.15rem);
}

.pt-side-nav__link.is-active:hover {
	background: var(--pt-orange-hover) !important;
	color: #ffffff !important;
}

.pt-side-nav__ico {
	flex: 0 0 1.35rem;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 0;
	line-height: 0;
	background: transparent;
	color: #4b5563;
	transition: color 0.16s var(--pt-ease), transform 0.16s var(--pt-ease);
}

.pt-side-nav__svg {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	flex-shrink: 0;
}

.pt-side-nav__link:hover .pt-side-nav__ico {
	color: #111827;
}

.pt-side-nav__link.is-active .pt-side-nav__ico {
	background: transparent;
	color: #fff;
}

.pt-side-nav__label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Nested dropdowns from site menu */
.pt-side-nav__nest {
	margin: 0.08rem 0;
}

.pt-side-nav__nest-row {
	display: flex;
	align-items: center;
	gap: 0.15rem;
}

.pt-side-nav__nest-row > .pt-side-nav__link {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

.pt-side-nav__nest-toggle {
	flex: 0 0 1.85rem;
	width: 1.85rem;
	height: 1.85rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #6b7280;
	padding: 0;
	transition: background 0.16s var(--pt-ease), color 0.16s var(--pt-ease);
}

.pt-side-nav__nest-toggle:hover {
	background: #f3f4f6;
	color: #111827;
}

.pt-side-nav__nest-toggle .pt-side-nav__chev {
	transform: rotate(-45deg);
	margin: 0;
}

.pt-side-nav__nest:not(.is-collapsed) > .pt-side-nav__nest-row > .pt-side-nav__nest-toggle .pt-side-nav__chev {
	transform: rotate(45deg);
	margin-bottom: 0.12rem;
}

.pt-side-nav__nest.is-collapsed > .pt-side-nav__nest-body {
	display: none;
}

.pt-side-nav__nest-body {
	padding: 0.15rem 0 0.25rem 0.55rem;
	margin-left: 0.55rem;
	border-left: 1px solid #e5e7eb;
}

.pt-side-nav__link--sub {
	font-size: 0.88rem !important;
	font-weight: 550 !important;
	padding: 0.48rem 0.7rem !important;
	color: #374151 !important;
	gap: 0.7rem;
}

.pt-side-nav__link--sub .pt-side-nav__ico {
	flex-basis: 1.55rem;
	width: 1.55rem;
	height: 1.55rem;
	background: transparent;
	color: #9ca3af;
}

.pt-side-nav__link--sub .pt-side-nav__svg {
	width: 0.7rem;
	height: 0.7rem;
}

.pt-side-nav__link--sub:hover .pt-side-nav__ico {
	color: #6b7280;
}

.pt-side-nav__link--sub.is-active .pt-side-nav__ico {
	color: #fff;
}

.pt-side-nav__nest .pt-side-nav__nest {
	margin-left: 0.15rem;
}

body.pt-side-nav-collapsed .pt-side-nav__head,
body.pt-side-nav-collapsed .pt-side-nav__label {
	display: none !important;
}

body.pt-side-nav-collapsed .pt-side-nav__section {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	padding-bottom: 0 !important;
}

body.pt-side-nav-collapsed .pt-side-nav__body {
	display: none !important;
}

body.pt-side-nav-collapsed .pt-side-nav__toggle {
	position: absolute !important;
	top: 0.85rem;
	right: 0;
	transform: translateX(50%);
}

body.pt-side-nav-collapsed .pt-side-nav__toggle:hover {
	transform: translateX(50%) translateY(-1px);
}

body.pt-side-nav-on .x-navbar,
body.pt-side-nav-on .x-navbar-wrap,
body.pt-side-nav-on .x-nav-wrap.desktop,
body.pt-side-nav-on .x-nav-wrap.mobile,
body.pt-side-nav-on .x-btn-navbar,
body.pt-side-nav-on #wpforo #wpforo-wrap #wpforo-menu,
body.pt-side-nav-on #wpforo #wpforo-wrap .pt-forum-brand {
	display: none !important;
}

/* Logo lives in the full-width top bar */
body.pt-side-nav-on .x-logobar,
body.pt-side-nav-on .x-logobar .x-brand,
body.pt-side-nav-on .x-brand img,
body.pt-side-nav-on a.x-brand {
	display: none !important;
}

/* Collapse empty masthead under fixed topbar (kills white gap above .x-main) */
body.pt-side-nav-on .masthead,
body.pt-side-nav-on header.masthead,
body.pt-side-nav-on .x-masthead {
	min-height: 0 !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.pt-side-nav-on .x-logobar,
body.pt-side-nav-on .x-logobar-inner,
body.pt-side-nav-on .x-navbar-wrap,
body.pt-side-nav-on .x-navbar,
body.pt-side-nav-on .x-navbar-inner {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
}

body.pt-side-nav-on .x-main,
body.pt-side-nav-on .x-main.full,
body.pt-side-nav-on .entry-wrap,
body.pt-side-nav-on .x-container-fluid.x-main-content,
body.pt-side-nav-on #x-content-band-1,
body.pt-side-nav-on .x-content-band {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* X fixed-navbar body offset — don’t stack extra gap on top of --pt-topbar-h */
body.pt-side-nav-on.x-navbar-fixed-top-active {
	padding-top: var(--pt-topbar-h) !important;
}

/* Keep public CTA visible in the topbar */
body.pt-side-nav-on .x-topbar .pt-top-right {
	display: inline-flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

@media (max-width: 979px) {
	:root {
		--pt-side-w: 264px;
	}

	body.pt-side-nav-on {
		padding-left: 0 !important;
		padding-top: var(--pt-topbar-h) !important;
	}

	body.pt-side-nav-on .pt-side-nav {
		transform: translateX(0);
		box-shadow: 10px 0 36px rgba(26, 35, 50, 0.18);
		top: var(--pt-topbar-h);
	}

	body.pt-side-nav-on.pt-side-nav-collapsed .pt-side-nav {
		transform: translateX(-105%);
		width: var(--pt-side-w);
		pointer-events: none;
	}

	body.pt-side-nav-on.pt-side-nav-collapsed .pt-side-nav-fab {
		display: inline-flex;
	}

	body.pt-side-nav-on:not(.pt-side-nav-collapsed)::before {
		content: "";
		position: fixed;
		top: var(--pt-topbar-h);
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(15, 23, 42, 0.35);
		z-index: 10070;
	}

	body.pt-side-nav-on .pt-topbar-logo {
		height: 34px;
		max-width: 190px;
	}

	body.pt-side-nav-on .x-topbar .pt-login {
		font-size: 0.78rem !important;
	}
}

@media (max-width: 767px) {
	body.pt-side-nav-on .pt-topbar-logo {
		height: 30px;
		max-width: 160px;
	}

	body.pt-side-nav-on .x-topbar .p-info .pt-login {
		display: none !important;
	}
}

/* Forum pages: use full content column (theme sidebar off) */
body.pt-forum-active.x-content-sidebar-active .x-main {
	width: 100% !important;
	float: none !important;
	max-width: 100% !important;
}

body.pt-forum-active.x-content-sidebar-active .x-sidebar {
	display: none !important;
}

body.pt-forum-active .x-container.max.width,
body.pt-forum-active .x-main.full {
	max-width: none !important;
}

body.pt-forum-active .entry-wrap,
body.pt-forum-active .x-main {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Forum landmark — full blue band to the side menu edge */
body.pt-forum-active .x-header-landmark,
body.pt-forum-active .x-header-landmark.x-container.max.width,
body.pt-forum-active.pt-side-nav-on .x-header-landmark.x-container.max.width {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	padding: 1.85rem 1.5rem 1.95rem !important;
	background: linear-gradient(105deg, #004f7c 0%, #0066a1 48%, #0a7ab8 100%) !important;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.12);
}

body.pt-forum-active .x-header-landmark .h-landmark,
body.pt-forum-active .x-header-landmark .entry-title,
body.pt-forum-active .x-header-landmark h1 {
	margin: 0 !important;
	padding: 0 !important;
	max-width: none !important;
	color: #fff !important;
	font-size: clamp(1.55rem, 2.4vw, 2.15rem) !important;
	font-weight: 750 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.2 !important;
	text-shadow: 0 1px 0 rgba(0, 40, 70, 0.15);
}

body.pt-forum-active .x-header-landmark .h-landmark span,
body.pt-forum-active .x-header-landmark .entry-title span {
	display: inline-block;
}

body.pt-forum-active .x-header-landmark .pt-landmark-sub {
	display: block;
	margin-top: 0.45rem;
	max-width: 42rem;
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: clamp(0.92rem, 1.3vw, 1.05rem) !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em;
	line-height: 1.45;
	text-shadow: none;
}

@media (max-width: 767px) {
	body.pt-forum-active .x-header-landmark,
	body.pt-forum-active .x-header-landmark.x-container.max.width {
		padding: 1.35rem 1rem 1.45rem !important;
	}
}





