.hub-projects-core-page .page-title,
.hub-projects-core-page .page-title-container,
.hub-projects-core-page .titlebar,
.hub-projects-core-page .breadcrumbs,
.hub-projects-core-page .breadcrumb {
	 display: none !important;
}

/* --------------------------------------------------------------------------
   Core public Project presentation (feature-gated during staged rollout)
   -------------------------------------------------------------------------- */
.hub-project-public-page {
	--hub-public-blue: #2948d8;
	--hub-public-navy: #12204d;
	--hub-public-muted: #68718b;
	--hub-public-border: #e6e9f1;
	background: #fff;
	color: #17213e;
	font-family: inherit;
}

.hub-project-public__hero {
	position: relative;
	min-height: 520px;
	background-color: var(--hub-public-navy);
	background-position: center;
	background-size: cover;
	color: #fff;
}

.hub-project-public__hero-inner,
.hub-project-public__layout {
	box-sizing: border-box;
	width: min(1180px, calc(100% - 48px));
	margin: 0 auto;
}

.hub-project-public__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(230px, 300px);
	align-items: end;
	gap: 48px;
	min-height: 520px;
	padding: 72px 0 64px;
}

.hub-project-public__hero-copy {
	max-width: 780px;
}

.hub-project-public__category,
.hub-project-public__status {
	display: inline-flex;
	align-items: center;
	min-height: 31px;
	padding: 4px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
}

.hub-project-public__status {
	margin-top: 12px;
	background: var(--hub-public-blue);
}

.hub-project-public__hero h1 {
	margin: 16px 0 12px;
	color: #fff;
	font-size: clamp(36px, 4.4vw, 64px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: -.025em;
}

.hub-project-public__owner,
.hub-project-public__location {
	margin: 0;
	color: rgba(255, 255, 255, .9);
	font-size: 18px;
	line-height: 1.55;
}

.hub-project-public__owner a,
.hub-project-public__owner strong {
	color: #fff;
	font-weight: 700;
}

.hub-project-public__location {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 14px;
}

.hub-project-public__hero-actions {
	display: grid;
	align-items: end;
	gap: 12px;
	width: 100%;
}

.hub-project-public__bookmark,
.hub-project-public__bookmark > * {
	width: 100%;
}

.hub-project-public__hero-actions a,
.hub-project-public__bookmark a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	margin: 0 !important;
	padding: 12px 18px;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 8px;
	background: rgba(14, 29, 78, .28);
	color: #fff !important;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.hub-project-public__hero-actions a:hover,
.hub-project-public__bookmark a:hover {
	border-color: #fff;
	background: #fff;
	color: var(--hub-public-blue) !important;
}

.hub-project-public__contact {
	border-color: #fff !important;
	background: #fff !important;
	color: var(--hub-public-blue) !important;
}

.hub-project-public__contact:hover {
	background: rgba(255, 255, 255, .1) !important;
	color: #fff !important;
}

.hub-project-public__edit {
	min-height: 46px !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 14px !important;
	text-decoration: underline !important;
}

.hub-project-public__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(270px, 340px);
	gap: clamp(36px, 6vw, 84px);
	padding-top: 68px;
	padding-bottom: 92px;
}

.hub-project-public__section {
	padding: 0 0 46px;
	margin: 0 0 46px;
	border-bottom: 1px solid var(--hub-public-border);
}

.hub-project-public__section:last-child {
	margin-bottom: 0;
}

.hub-project-public__section h2,
.hub-project-public__overview h2,
.hub-project-public__share h2,
.hub-project-public__map h2 {
	margin: 0 0 24px;
	color: var(--hub-public-navy);
	font-size: 27px;
	font-weight: 700;
	line-height: 1.2;
}

.hub-project-public__section h3 {
	margin: 26px 0 10px;
	color: var(--hub-public-navy);
	font-size: 18px;
	font-weight: 700;
}

.hub-project-public__lead {
	margin: 0;
	color: #34415f;
	font-size: 21px;
	line-height: 1.58;
}

.hub-project-public__text {
	color: #3f4961;
	font-size: 17px;
	line-height: 1.72;
}

.hub-project-public__text > :first-child {
	margin-top: 0;
}

.hub-project-public__text > :last-child {
	margin-bottom: 0;
}

.hub-project-public__external {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--hub-public-blue);
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
}

.hub-project-public__external:hover {
	color: #172e9c;
	text-decoration: underline;
}

.hub-project-public__overview {
	padding: 28px;
	border: 1px solid var(--hub-public-border);
	border-radius: 12px;
	background: #fff;
}

.hub-project-public__overview h2,
.hub-project-public__share h2,
.hub-project-public__map h2 {
	margin-bottom: 20px;
	font-size: 21px;
}

.hub-project-public__overview dl {
	margin: 0;
}

.hub-project-public__overview dt {
	margin: 18px 0 4px;
	color: var(--hub-public-muted);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.hub-project-public__overview dt:first-child {
	margin-top: 0;
}

.hub-project-public__overview dd {
	margin: 0;
	color: #25304e;
	font-size: 16px;
	line-height: 1.45;
}

.hub-project-public__map,
.hub-project-public__share {
	margin-top: 30px;
}

.hub-project-public__map iframe {
	display: block;
	width: 100%;
	height: 220px;
	border: 0;
	border-radius: 10px;
}

.hub-project-public__share {
	padding-top: 28px;
	border-top: 1px solid var(--hub-public-border);
}

.hub-project-public__share > div {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.hub-project-public__share a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 6px 11px;
	border: 1px solid var(--hub-public-border);
	border-radius: 6px;
	color: var(--hub-public-blue);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.hub-project-public__share a:hover {
	border-color: var(--hub-public-blue);
	background: #f2f4ff;
}

@media (max-width: 820px) {
	.hub-project-public__hero {
		min-height: 0;
	}

	.hub-project-public__hero-inner,
	.hub-project-public__layout {
		width: min(100% - 32px, 620px);
	}

	.hub-project-public__hero-inner {
		grid-template-columns: 1fr;
		gap: 30px;
		min-height: 0;
		padding: 48px 0 36px;
	}

	.hub-project-public__hero h1 {
		font-size: clamp(33px, 10vw, 48px);
	}

	.hub-project-public__hero-actions {
		gap: 10px;
	}

	.hub-project-public__hero-actions a,
	.hub-project-public__bookmark a {
		min-height: 54px;
	}

	.hub-project-public__layout {
		grid-template-columns: 1fr;
		gap: 0;
		padding-top: 42px;
		padding-bottom: 58px;
	}

	.hub-project-public__section {
		padding-bottom: 34px;
		margin-bottom: 34px;
	}

	.hub-project-public__section h2 {
		margin-bottom: 18px;
		font-size: 25px;
	}

	.hub-project-public__lead {
		font-size: 19px;
	}

	.hub-project-public__text {
		font-size: 16px;
	}

	.hub-project-public__sidebar {
		margin-top: 4px;
	}
}

/* Public Projects: keep one Share action and place the mobile sidebar blocks
 * before the conversation CTA, without changing the desktop composition. */
body.hub-project-public .job-manager-single-alert-link + .share-post,
body.hub-project-preview-mode .job-manager-single-alert-link + .share-post {
	display: none !important;
}

body.hub-project-public.hub-project-mobile-reordered .job_description > .widget,
body.hub-project-preview-mode.hub-project-mobile-reordered .job_description > .widget {
	margin: 0 0 28px;
}

body.hub-project-public.hub-project-mobile-reordered .job_description > .widget .widget-title,
body.hub-project-preview-mode.hub-project-mobile-reordered .job_description > .widget .widget-title {
	display: block;
}

@media (max-width: 767px) {
	body.hub-project-public .job_description > h2.novamira-project-about-intro-v69,
	body.hub-project-preview-mode .job_description > h2.novamira-project-about-intro-v69 {
		margin-top: 28px !important;
	}

	body.hub-project-public .job_description > .widget .job-overview,
	body.hub-project-preview-mode .job_description > .widget .job-overview {
		box-sizing: border-box;
		width: 100%;
	}

	body.hub-project-public .job_description > .widget .share-buttons,
	body.hub-project-preview-mode .job_description > .widget .share-buttons {
		margin-top: 0;
	}
}

.hub-projects-core-page .hub-project-form-shell,
.hub-projects-core-page .hub-project-preview,
.hub-projects-core-page .hub-project-dashboard {
	--hub-blue: #2546d8;
	--hub-blue-soft: #f2f5ff;
	--hub-border: #dbe2f2;
	--hub-text: #293143;
	--hub-muted: #788194;
	--hub-danger: #dc3c32;
	max-width: 1480px;
	/* The desktop form starts 16px below the dashboard header. */
	margin: 16px auto 72px;
	padding: 0 28px;
	color: var(--hub-text);
}

.hub-project-form-shell [hidden],
.hub-project-preview [hidden] {
	display: none !important;
}

/* Core Project Dashboard -------------------------------------------------- */
.hub-project-dashboard {
	max-width: 1480px;
	margin: 16px auto 72px;
	padding: 0 28px;
}

.hub-project-dashboard__notice {
	margin-bottom: 22px;
	padding: 14px 18px;
	border: 1px solid #cbd8ff;
	border-radius: 9px;
	background: var(--hub-blue-soft);
	color: var(--hub-text);
}

.hub-project-dashboard__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 30px;
}

.hub-project-dashboard__eyebrow {
	margin: 0 0 7px;
	color: var(--hub-blue);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hub-project-dashboard__header h1 {
	margin: 0;
	color: var(--hub-text);
	font-family: "Barlow Narrow", "Arial Narrow", sans-serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.05;
}

.hub-project-dashboard__header p:not(.hub-project-dashboard__eyebrow) {
	margin: 9px 0 0;
	color: var(--hub-muted);
	font-size: 16px;
}

.hub-project-dashboard .hub-project-button svg {
	width: 18px;
	height: 18px;
	margin-right: 8px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.hub-project-dashboard__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}

.hub-project-dashboard__filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 0 13px;
	border: 1px solid var(--hub-border);
	border-radius: 999px;
	background: #fff;
	color: var(--hub-text);
	font-size: 14px;
	font-weight: 650;
	text-decoration: none;
}

.hub-project-dashboard__filter em {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 21px;
	min-width: 21px;
	height: 21px;
	padding: 0;
	line-height: 1;
	place-items: center;
	border-radius: 99px;
	background: #eef2fb;
	color: var(--hub-muted);
	font-size: 12px;
	font-style: normal;
}

.hub-project-dashboard__filter:hover,
.hub-project-dashboard__filter:focus,
.hub-project-dashboard__filter.is-active {
	border-color: var(--hub-blue);
	background: var(--hub-blue);
	color: #fff;
}

.hub-project-dashboard__filter.is-active em {
	background: rgba(255, 255, 255, .19);
	color: #fff;
}

.hub-project-dashboard__list {
	overflow: hidden;
	border: 1px solid var(--hub-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(31, 50, 100, .06);
}

.hub-project-dashboard__list-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 21px 26px;
	border-bottom: 1px solid var(--hub-border);
}

.hub-project-dashboard__list-heading h2 {
	margin: 0;
	color: var(--hub-text);
	font-size: 19px;
	font-weight: 700;
}

.hub-project-dashboard__list-heading span {
	color: var(--hub-muted);
	font-size: 14px;
}

.hub-project-dashboard__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 23px 26px;
}

.hub-project-dashboard__row + .hub-project-dashboard__row {
	border-top: 1px solid var(--hub-border);
}

.hub-project-dashboard__project {
	min-width: 0;
}

.hub-project-dashboard__project-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 7px;
}

.hub-project-dashboard__category,
.hub-project-dashboard__status {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 8px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.hub-project-dashboard__category {
	background: #eef2fb;
	color: #52617b;
}

.hub-project-dashboard__status--draft,
.hub-project-dashboard__status--ready {
	background: #fff4cf;
	color: #977914;
}

.hub-project-dashboard__status--review {
	background: #e8f0ff;
	color: #3159a9;
}

.hub-project-dashboard__status--published {
	background: #def6e8;
	color: #227442;
}

.hub-project-dashboard__project h3 {
	margin: 0;
	color: var(--hub-text);
	font-size: 21px;
	font-weight: 650;
	line-height: 1.3;
}

.hub-project-dashboard__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin-top: 10px;
	color: var(--hub-muted);
	font-size: 14px;
}

.hub-project-dashboard__meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.hub-project-dashboard__meta svg,
.hub-project-dashboard__action svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hub-project-dashboard__actions {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 8px;
}

.hub-project-dashboard__actions form {
	margin: 0;
}

.hub-project-dashboard__action {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	color: #5b6576;
	cursor: pointer;
	text-decoration: none;
}

.hub-project-dashboard__action:hover,
.hub-project-dashboard__action:focus {
	border-color: var(--hub-blue);
	background: var(--hub-blue-soft);
	color: var(--hub-blue);
}

.hub-project-dashboard__action--delete:hover,
.hub-project-dashboard__action--delete:focus {
	border-color: #e39a95;
	background: #fff0ef;
	color: #ba3831;
}

.hub-project-dashboard__empty {
	padding: 46px 28px;
	text-align: center;
}

.hub-project-dashboard__empty h3 {
	margin: 0;
	color: var(--hub-text);
	font-size: 20px;
}

.hub-project-dashboard__empty p {
	max-width: 460px;
	margin: 10px auto 22px;
	color: var(--hub-muted);
}

/* Core account dashboard -------------------------------------------------- */
.hub-account-dashboard-mode .dashboard-headline {
	display: none !important;
}

.hub-account-dashboard-mode .dashboard-content-inner > p:empty {
	display: none;
}

/* An older admin helper injects its own summary outside page content.
 * The Core dashboard supersedes it only on the account-dashboard route. */
.hub-account-dashboard-mode [id^="novamira-admin-summary"] {
	display: none !important;
}

.hub-account-dashboard-mode .hub-legacy-completion-card {
	display: none !important;
}

.hub-account-dashboard {
	--hub-blue: #2546d8;
	--hub-blue-soft: #f2f5ff;
	--hub-border: #dbe2f2;
	--hub-text: #293143;
	--hub-muted: #788194;
	max-width: 1480px;
	margin: 16px auto 72px;
	padding: 0 28px;
	color: var(--hub-text);
}

.hub-account-dashboard__header,
.hub-account-dashboard__next,
.hub-account-dashboard__projects-heading,
.hub-account-dashboard__project,
.hub-account-dashboard__header-actions {
	display: flex;
	align-items: center;
}

.hub-account-dashboard__header {
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 26px;
}

.hub-account-dashboard__eyebrow,
.hub-account-dashboard__section-label {
	margin: 0 0 8px;
	color: var(--hub-blue);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.hub-account-dashboard h1,
.hub-account-dashboard h2,
.hub-account-dashboard h3 {
	color: var(--hub-text);
	font-family: "Barlow Narrow", "Arial Narrow", sans-serif;
}

.hub-account-dashboard__header h1 {
	margin: 0;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.05;
}

.hub-account-dashboard__header p:not(.hub-account-dashboard__eyebrow) {
	max-width: 640px;
	margin: 9px 0 0;
	color: var(--hub-muted);
	font-size: 16px;
	line-height: 1.55;
}

.hub-account-dashboard__header-actions {
	flex: 0 0 auto;
	justify-content: flex-end;
	gap: 10px;
}

.hub-account-dashboard .hub-project-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 17px;
	border: 1px solid var(--hub-blue);
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.hub-account-dashboard .hub-project-button--primary {
	background: var(--hub-blue);
	color: #fff;
}

.hub-account-dashboard .hub-project-button--secondary {
	background: #fff;
	color: var(--hub-blue);
}

.hub-account-dashboard .hub-project-button svg {
	width: 18px;
	height: 18px;
	margin-right: 8px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;
}

.hub-account-dashboard__next {
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 18px;
	padding: 24px 26px;
	border: 1px solid var(--hub-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(31, 50, 100, .06);
}

.hub-account-dashboard__next h2,
.hub-account-dashboard__projects-heading h2 {
	margin: 0;
	font-size: 27px;
	font-weight: 500;
	line-height: 1.15;
}

.hub-account-dashboard__next p:not(.hub-account-dashboard__section-label) {
	max-width: 710px;
	margin: 8px 0 0;
	color: var(--hub-muted);
	font-size: 15px;
	line-height: 1.55;
}

.hub-account-dashboard__stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 26px;
}

.hub-account-dashboard__stats a {
	display: block;
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--hub-border);
	border-radius: 10px;
	background: #fff;
	color: var(--hub-text);
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.hub-account-dashboard__stats a:hover,
.hub-account-dashboard__stats a:focus {
	border-color: var(--hub-blue);
	box-shadow: 0 8px 20px rgba(37, 70, 216, .09);
}

.hub-account-dashboard__stats span,
.hub-account-dashboard__stats small {
	display: block;
}

.hub-account-dashboard__stats span {
	font-size: 14px;
	font-weight: 650;
}

.hub-account-dashboard__stats strong {
	display: block;
	margin: 8px 0 4px;
	color: var(--hub-blue);
	font-family: "Barlow Narrow", "Arial Narrow", sans-serif;
	font-size: 36px;
	font-weight: 500;
	line-height: 1;
}

.hub-account-dashboard__stats small {
	color: var(--hub-muted);
	font-size: 13px;
}

.hub-account-dashboard__projects {
	overflow: hidden;
	border: 1px solid var(--hub-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(31, 50, 100, .06);
}

.hub-account-dashboard__projects-heading {
	justify-content: space-between;
	gap: 18px;
	padding: 22px 26px;
	border-bottom: 1px solid var(--hub-border);
}

.hub-account-dashboard__projects-heading > a {
	color: var(--hub-blue);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.hub-account-dashboard__project {
	justify-content: space-between;
	gap: 28px;
	padding: 22px 26px;
}

.hub-account-dashboard__project + .hub-account-dashboard__project {
	border-top: 1px solid var(--hub-border);
}

.hub-account-dashboard__project-main {
	min-width: 0;
}

.hub-account-dashboard__project-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}

.hub-account-dashboard__category,
.hub-account-dashboard__status {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 3px 8px;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.hub-account-dashboard__category {
	background: #eef2fb;
	color: #52617b;
}

.hub-account-dashboard__status--draft,
.hub-account-dashboard__status--ready {
	background: #fff4cf;
	color: #977914;
}

.hub-account-dashboard__status--review {
	background: #e8f0ff;
	color: #3159a9;
}

.hub-account-dashboard__status--published {
	background: #def6e8;
	color: #227442;
}

.hub-account-dashboard__project h3 {
	margin: 0;
	font-family: inherit;
	font-size: 20px;
	font-weight: 650;
	line-height: 1.35;
}

.hub-account-dashboard__project h3 a {
	color: var(--hub-text);
	text-decoration: none;
}

.hub-account-dashboard__project h3 a:hover,
.hub-account-dashboard__project h3 a:focus {
	color: var(--hub-blue);
}

.hub-account-dashboard__project p {
	margin: 7px 0 0;
	color: var(--hub-muted);
	font-size: 14px;
}

.hub-account-dashboard__project-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}

.hub-account-dashboard__project-actions a {
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	color: #5b6576;
}

.hub-account-dashboard__project-actions a:hover,
.hub-account-dashboard__project-actions a:focus {
	border-color: var(--hub-blue);
	background: var(--hub-blue-soft);
	color: var(--hub-blue);
}

.hub-account-dashboard__project-actions svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.hub-account-dashboard__empty {
	padding: 44px 28px;
	text-align: center;
}

.hub-account-dashboard__empty h3 {
	margin: 0;
	font-size: 21px;
	font-weight: 500;
}

.hub-account-dashboard__empty p {
	max-width: 500px;
	margin: 10px auto 22px;
	color: var(--hub-muted);
}

@media (max-width: 900px) {
	.hub-account-dashboard {
		margin-top: 14px;
		padding: 0 20px;
	}

	.hub-account-dashboard__header,
	.hub-account-dashboard__next {
		align-items: flex-start;
		flex-direction: column;
	}

	.hub-account-dashboard__header-actions {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.hub-account-dashboard__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.hub-account-dashboard {
		margin: 12px auto 42px;
		padding: 0 14px;
	}

	.hub-account-dashboard__header {
		gap: 18px;
		margin-bottom: 20px;
	}

	.hub-account-dashboard__header h1 {
		font-size: 36px;
	}

	.hub-account-dashboard__header-actions,
	.hub-account-dashboard__header-actions .hub-project-button,
	.hub-account-dashboard__next .hub-project-button {
		width: 100%;
	}

	.hub-account-dashboard__next {
		gap: 18px;
		margin-bottom: 14px;
		padding: 20px;
	}

	.hub-account-dashboard__next h2,
	.hub-account-dashboard__projects-heading h2 {
		font-size: 25px;
	}

	.hub-account-dashboard__stats {
		gap: 10px;
		margin-bottom: 18px;
	}

	.hub-account-dashboard__stats a {
		padding: 16px;
	}

	.hub-account-dashboard__stats strong {
		font-size: 32px;
	}

	.hub-account-dashboard__stats small {
		font-size: 12px;
	}

	.hub-account-dashboard__projects-heading,
	.hub-account-dashboard__project {
		align-items: flex-start;
		flex-direction: column;
	}

	.hub-account-dashboard__projects-heading,
	.hub-account-dashboard__project {
		gap: 14px;
		padding: 20px;
	}

	.hub-account-dashboard__project-actions {
		width: 100%;
	}

	.hub-account-dashboard__project-actions a {
		flex: 1 1 0;
	}

	.hub-account-dashboard__empty {
		padding: 36px 20px;
	}
}

/* Both ACF branches are present in the DOM to preserve values while editing.
 * JavaScript selects exactly one branch once a category is known. */
.hub-project-form .hub-project-branch[hidden],
.hub-project-form .hub-form-branch[hidden] {
	display: none !important;
}

.hub-project-notice {
	margin-bottom: 24px;
	padding: 18px 22px;
	border-left: 4px solid var(--hub-blue);
	background: var(--hub-blue-soft);
	color: var(--hub-text);
}

.hub-project-readiness {
	position: static;
	margin-bottom: 30px;
	padding: 22px 26px;
	border: 1px solid var(--hub-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 12px 30px rgba(31, 50, 100, .09);
	backdrop-filter: blur(8px);
}

.hub-project-readiness.hub-readiness-is-fixed {
	position: fixed;
	top: var(--hub-readiness-top);
	left: var(--hub-readiness-left);
	width: var(--hub-readiness-width);
	z-index: 80;
}


.hub-project-loading {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: rgba(255, 255, 255, .82);
	color: var(--hub-text);
	font-weight: 600;
	font-size: 16px;
}

.hub-project-loading__spinner {
	width: 26px;
	height: 26px;
	border: 3px solid rgba(37, 73, 219, .2);
	border-top-color: var(--hub-blue);
	border-radius: 50%;
	animation: hub-project-spin .8s linear infinite;
}

@keyframes hub-project-spin {
	to { transform: rotate(360deg); }
}

.hub-project-readiness__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.hub-project-readiness__title,
.hub-project-readiness__percent {
	font-weight: 700;
}

.hub-project-readiness__percent {
	color: var(--hub-blue);
	font-size: 20px;
}

.hub-project-readiness__message {
	margin: 6px 0 14px;
	color: var(--hub-muted);
}

.hub-project-readiness__track {
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: #e8edfb;
}

.hub-project-readiness__bar {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: var(--hub-blue);
	transition: width .2s ease;
}

.hub-project-readiness__next {
	display: inline-flex;
	align-items: center;
	margin-top: 16px;
	padding: 10px 14px;
	border: 1px solid #bdcaf8;
	border-radius: 8px;
	background: var(--hub-blue-soft);
	color: var(--hub-blue);
	font-weight: 700;
	text-decoration: none;
}

.hub-project-readiness__next:hover,
.hub-project-readiness__next:focus {
	background: var(--hub-blue);
	color: #fff;
}

.hub-project-form .acf-fields,
.hub-project-form .acf-field-group > .acf-input > .acf-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 42px;
	width: 100%;
}

.hub-project-form .acf-field {
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.hub-project-form .acf-field-group,
.hub-project-form .hub-project-category-field,
.hub-project-form .hub-category-field,
.hub-project-form .hub-project-section-heading,
.hub-project-form .hub-project-description-field,
.hub-project-form .hub-project-multiselect-field,
.hub-project-form .acf-field-textarea,
.hub-project-form .acf-field-wysiwyg,
.hub-project-form .acf-field-url,
.hub-project-form .acf-field-message {
	grid-column: 1 / -1;
}

/* The live schema uses the same full/half composition as the prototype. */
.hub-project-form .hub-full {
	grid-column: 1 / -1;
}

.hub-project-form .hub-half {
	grid-column: auto;
}

.hub-project-form .hub-project-location-meta {
	display: none !important;
}

.hub-project-form .acf-field-group > .acf-label {
	display: none;
}

.hub-project-form .acf-label {
	margin-bottom: 10px;
}

/* Keep labels aligned across each row: helpful field guidance follows the
 * input instead of increasing the label area above it. */
.hub-project-form .acf-field:not(.hub-project-section-heading) {
	display: flex;
	flex-direction: column;
}

.hub-project-form .acf-field:not(.hub-project-section-heading) > .acf-label {
	display: contents;
}

.hub-project-form .acf-field:not(.hub-project-section-heading) > .acf-label > label {
	order: 1;
	margin-bottom: 10px;
}

.hub-project-form .acf-field:not(.hub-project-section-heading) > .acf-input {
	order: 2;
}

.hub-project-form .acf-field:not(.hub-project-section-heading) > .acf-label .description {
	order: 3;
	margin: 10px 0 0;
}

.hub-project-form .acf-label label {
	color: var(--hub-text);
	font-size: 17px;
	font-weight: 650;
	line-height: 1.35;
}

.hub-project-form .acf-required {
	color: var(--hub-danger);
}

.hub-project-form .description {
	margin: 7px 0 0 !important;
	color: var(--hub-muted);
	font-size: 14px;
	line-height: 1.55;
}

.hub-project-form input[type="text"],
.hub-project-form input[type="url"],
.hub-project-form input[type="number"],
.hub-project-form input[type="date"],
.hub-project-form select,
.hub-project-form .select2-selection {
	width: 100%;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid var(--hub-border) !important;
	border-radius: 8px !important;
	background: #fff;
	color: var(--hub-text) !important;
	font-size: 16px;
	line-height: 54px;
	box-shadow: none !important;
}

.hub-project-form textarea {
	width: 100%;
	min-height: 150px;
	padding: 16px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	color: var(--hub-text);
	font-size: 16px;
	line-height: 1.6;
}

.hub-project-form input:focus,
.hub-project-form select:focus,
.hub-project-form textarea:focus,
.hub-project-form .select2-container--focus .select2-selection {
	border-color: var(--hub-blue) !important;
	outline: none;
	box-shadow: 0 0 0 2px rgba(37, 70, 216, .09) !important;
}

.hub-project-form .select2-container {
	width: 100% !important;
}

.hub-project-form .select2-selection__rendered {
	padding: 0 !important;
	color: var(--hub-text) !important;
	line-height: 54px !important;
}

.hub-project-form .select2-selection__arrow {
	top: 14px !important;
	right: 12px !important;
}

.hub-project-form .hub-project-section-heading {
	margin-top: 40px !important;
	padding-top: 28px !important;
	border-top: 1px solid #d9e0eb !important;
	box-shadow: inset 0 1px 0 rgba(217, 224, 235, .45);
}

/* Approved legacy public template: Non-Film Opportunity follows Description. */
body.hub-project-public.single-job_listing .job_description .hub-project-legacy-opportunity {
	margin: 34px 0 0;
	padding: 28px 0 0;
	border-top: 1px solid #e1e6f0;
}

body.hub-project-public.single-job_listing .job_description .hub-project-legacy-opportunity h2 {
	margin: 0 0 18px;
}

body.hub-project-public.single-job_listing .job_description .hub-project-legacy-opportunity__text > :first-child {
	margin-top: 0;
}

.hub-project-form .hub-project-details-heading {
	margin-top: 10px !important;
	padding-top: 0 !important;
	border-top: 0 !important;
	box-shadow: none;
}

/* ACF renders a message field's label as well as its message body. The body
 * is the deliberate section heading, so the duplicate label stays hidden. */
.hub-project-section-heading > .acf-label {
	display: none;
}

.hub-project-section-heading,
.hub-project-section-heading .acf-input h3,
.hub-project-section-heading .acf-input {
	margin: 0;
	color: #252d3d;
	font-family: "Barlow Narrow", "Arial Narrow", sans-serif;
	font-size: 28px !important;
	font-weight: 500 !important;
	line-height: 44px !important;
	letter-spacing: .025em;
}

/* This follows the generic heading typography rule so the first section
 * keeps its requested breathing room rather than being reset to zero. */
.hub-project-form .hub-project-details-heading {
	margin-top: 10px !important;
	padding-top: 0 !important;
	border-top: 0 !important;
	box-shadow: none;
}

.hub-project-details-heading .hub-project-category-name {
	color: var(--hub-blue);
}

.hub-project-category-field,
.hub-category-field {
	padding: 24px !important;
	border: 1px solid var(--hub-border) !important;
	border-radius: 12px !important;
	background: #fafafa;
}

.hub-project-category-field > .acf-label .acf-required,
.hub-category-field > .acf-label .acf-required,
.hub-projects-individual .hub-project-category-field,
.hub-projects-individual .hub-category-field {
	display: none !important;
}

.hub-native-category {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.hub-category-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.hub-category-card {
	min-height: 70px;
	padding: 16px 18px;
	border: 1px solid var(--hub-border);
	border-radius: 9px;
	background: #fff;
	color: var(--hub-text);
	font-weight: 650;
	text-align: left;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.hub-category-card:hover,
.hub-category-card:focus,
.hub-category-card.is-selected {
	border-color: var(--hub-blue);
	background: var(--hub-blue-soft);
	color: var(--hub-blue);
	outline: none;
}

.hub-category-selected {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 17px 18px;
	border: 2px solid var(--hub-blue);
	border-radius: 9px;
	background: var(--hub-blue-soft);
	color: var(--hub-blue);
	font-weight: 700;
}

.hub-project-category-field.has-selection .hub-category-cards,
.hub-category-field.has-selection .hub-category-cards {
	display: none;
}

.hub-project-category-field.has-selection .hub-category-selected,
.hub-category-field.has-selection .hub-category-selected {
	display: flex;
}

.hub-category-change {
	border: 0;
	background: transparent;
	color: var(--hub-blue);
	font-weight: 700;
	cursor: pointer;
}

.hub-multiselect {
	padding: 12px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
}

.hub-native-multiselect {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.hub-multi {
	position: relative;
}

.hub-multi-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	color: var(--hub-text);
	text-align: left;
	cursor: pointer;
}

.hub-multi-toggle::after {
	content: '⌄';
	flex: 0 0 auto;
	font-size: 20px;
}

.hub-multi-toggle[aria-expanded="true"] {
	border-color: var(--hub-blue);
	box-shadow: 0 0 0 3px rgba(37, 70, 216, .12);
}

.hub-multi-selected {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.hub-multi-placeholder {
	color: var(--hub-muted);
}

.hub-multi-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 28px;
	padding: 3px 7px 3px 9px;
	border-radius: 5px;
	background: var(--hub-blue);
	color: #fff;
	font-size: 13px;
}

.hub-multi-remove {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.hub-multi-panel {
	position: absolute;
	z-index: 1200;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	padding: 10px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 32px rgba(27, 35, 58, .14);
}

.hub-multi-search {
	box-sizing: border-box;
	width: 100%;
	height: 42px;
	margin-bottom: 8px;
	padding: 0 12px;
	border: 1px solid var(--hub-border);
	border-radius: 5px;
}

.hub-multi-options {
	display: grid;
	gap: 4px;
	max-height: 230px;
	overflow: auto;
}

.hub-multi-option {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 8px 9px;
	border-radius: 4px;
	font-weight: 400;
	cursor: pointer;
}

.hub-multi-option:hover {
	background: var(--hub-blue-soft);
}

.hub-multiselect__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hub-multiselect__chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border-radius: 7px;
	background: var(--hub-blue);
	color: #fff;
}

.hub-multiselect__remove {
	border: 0;
	padding: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.hub-multiselect__add {
	margin-top: 9px;
	padding: 7px 10px;
	border: 1px dashed #aeb9d5;
	border-radius: 7px;
	background: #fff;
	color: var(--hub-blue);
	cursor: pointer;
}

.hub-multiselect__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.hub-multiselect__choice {
	padding: 7px 10px;
	border: 1px solid var(--hub-border);
	border-radius: 7px;
	background: #fff;
	color: var(--hub-text);
	cursor: pointer;
}

.hub-multiselect__choice[hidden] {
	display: none !important;
}

.hub-dynamic-required {
	color: #d63638;
}

.hub-optional-label {
	color: var(--hub-muted);
	font-weight: 400;
}

.hub-multiselect__choice:hover,
.hub-multiselect__choice:focus {
	border-color: var(--hub-blue);
	color: var(--hub-blue);
}

.hub-project-city-field .acf-input {
	position: relative;
}

.hub-city-enter-hint {
	position: absolute;
	top: 7px;
	right: 8px;
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 0 13px;
	border-radius: 7px;
	background: #f1f3f7;
	color: var(--hub-muted);
	pointer-events: none;
}

.hub-project-city-field input[type="text"] {
	padding-right: 160px;
}

.hub-city-results {
	/* Results must stay in the City field's flow. The dashboard scrolls in an
	 * internal container, so an absolute panel can otherwise render above the
	 * visible area even though the request succeeded. */
	position: relative;
	z-index: 2;
	width: 100%;
	margin-top: 8px;
	overflow: hidden;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
}

.hub-city-results > p {
	margin: 0;
	padding: 13px 16px;
}

.hub-city-results > .hub-city-status {
	border-bottom: 1px solid #e8ebf2;
	color: var(--hub-muted);
}

.hub-city-result {
	display: block;
	width: 100%;
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid #e8ebf2;
	background: #fff;
	color: var(--hub-text);
	text-align: left;
	cursor: pointer;
}

.hub-city-result:hover,
.hub-city-result:focus {
	background: var(--hub-blue-soft);
	color: var(--hub-text);
}

.hub-city-attribution {
	padding: 10px 16px;
	color: var(--hub-muted);
	text-align: right;
}

.hub-project-range-field .acf-input {
	display: block;
}

.hub-project-range-field .acf-range-wrap {
	display: flex;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.hub-project-range-field .acf-range-wrap input[type="range"] {
	flex: 1 1 auto;
	min-width: 0;
}

.hub-project-range-field .acf-range-wrap input[type="number"] {
	flex: 0 0 78px;
	box-sizing: border-box;
	width: 78px !important;
	min-height: 52px;
	margin: 0;
	padding: 0 24px 0 10px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	color: var(--hub-text);
	text-align: center;
}

.hub-project-range-field .acf-range-wrap .acf-append {
	position: relative;
	right: auto;
	margin-left: -42px;
	pointer-events: none;
	color: var(--hub-muted);
}

.hub-project-range-field input[type="range"] {
	width: 100%;
	accent-color: var(--hub-blue);
}

.hub-range-output {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 68px;
	min-height: 52px;
	padding: 0 10px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	white-space: nowrap;
}

.hub-project-image-field > .acf-input {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

/* The basic uploader is the browser fallback for ACF's media control. Its
 * file input is already the visible field, so it must never receive a second
 * bordered ACF wrapper. */
/* ACF basic uploads contain two layout wrappers. Flatten both so the browser's
 * file control is the one and only visible field. */
.hub-project-image-field .acf-basic-uploader,
.hub-project-image-field .acf-basic-uploader .acf-input-wrap {
	display: contents !important;
}

.hub-project-image-field .acf-basic-uploader input[type="file"] {
	box-sizing: border-box !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 56px !important;
	padding: 10px 14px !important;
	border: 1px solid var(--hub-border) !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: none !important;
}

.hub-project-actions .hub-project-button.is-disabled {
	border-color: #d9dce4;
	background: #e8e9ed;
	color: #969ba7;
	cursor: pointer;
}

.hub-project-image-field .acf-image-uploader .hide-if-value,
.hub-project-image-field .acf-image-uploader .hide-if-value p {
	display: flex;
	align-items: center;
	min-height: 42px;
	margin: 0;
}

.hub-project-image-field .acf-image-uploader .hide-if-value p {
	gap: 10px;
}

.hub-project-image-field input[type="file"] {
	max-width: 100%;
}

.hub-project-image-field .acf-image-uploader .image-wrap img {
	border-radius: 7px;
}

.hub-project-image-field .acf-image-uploader .acf-actions {
	display: flex;
	gap: 8px;
}

.hub-project-date-field .acf-date-picker {
	position: relative;
}

.hub-project-date-field input[type="date"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 0 16px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
	color: var(--hub-text);
	font: inherit;
}


/* Keep the visual editor toolbar but remove WordPress's lower quicktag row. */
.hub-project-form .hub-project-description-field .quicktags-toolbar,
.hub-project-form .hub-project-description-field .wp-editor-tools > .wp-editor-container > .quicktags-toolbar,
.hub-project-form .hub-project-description-field .wp-editor-container > .quicktags-toolbar {
	display: none !important;
}

.hub-project-form [data-name="hub_film_budget"] .acf-input {
	position: relative;
}

.hub-project-form [data-name="hub_film_budget"] .acf-input-prepend {
	position: absolute;
	z-index: 1;
	left: 1px;
	top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 54px;
	margin: 0;
	border: 0;
	border-right: 1px solid var(--hub-border);
	border-radius: 8px 0 0 8px;
	background: transparent;
}

.hub-project-form [data-name="hub_film_budget"] .acf-input-wrap input[type="number"] {
	box-sizing: border-box;
	padding-left: 62px !important;
}

.hub-project-image-field .hub-native-image-input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
}

.hub-file-control {
	display: flex;
	align-items: center;
	gap: 14px;
	box-sizing: border-box;
	width: 100%;
	min-height: 56px;
	padding: 6px 10px;
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
}

.hub-file-button {
	min-height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 6px;
	background: #eef0f4;
	color: var(--hub-text);
	font-weight: 600;
	cursor: pointer;
}

.hub-file-name {
	min-width: 0;
	overflow: hidden;
	color: var(--hub-muted);
	font-size: 14px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.hub-project-date-field .acf-date-picker input.input {
	width: 100%;
	min-height: 56px;
	padding: 0 50px 0 16px;
	border: 1px solid var(--hub-border) !important;
	border-radius: 8px !important;
	background: #fff;
	color: var(--hub-text);
	font-size: 16px;
	box-shadow: none !important;
}

.hub-project-date-field .acf-date-picker .acf-icon {
	right: 14px;
	left: auto;
	margin-top: -10px;
	color: var(--hub-blue);
}

.hub-project-toggle-field .acf-input {
	display: flex;
	align-items: center;
	min-height: 56px;
	padding: 8px 0;
}

.hub-project-form .wp-editor-wrap {
	border: 1px solid var(--hub-border);
	border-radius: 8px;
	background: #fff;
}

.hub-project-form .wp-editor-container,
.hub-project-form .mce-tinymce {
	border: 0 !important;
	box-shadow: none !important;
}

.hub-project-form .mce-toolbar-grp,
.hub-project-form .mce-toolbar,
.hub-project-form .mce-container-body {
	max-width: 100%;
}

.hub-project-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 36px;
	margin-bottom: 26px;
	padding: 24px 26px;
	border: 1px solid var(--hub-border);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(31, 50, 100, .07);
}

.hub-project-actions__copy strong,
.hub-project-actions__copy span {
	display: block;
}

.hub-project-actions__copy span {
	margin-top: 5px;
	color: var(--hub-muted);
}

.hub-project-actions__buttons {
	display: flex;
	gap: 12px;
}

.hub-project-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	border: 1px solid var(--hub-blue);
	border-radius: 8px;
	background: #fff;
	color: var(--hub-blue);
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.hub-project-button--primary {
	background: var(--hub-blue);
	color: #fff;
}

.hub-project-button:disabled {
	border-color: #d9dce4;
	background: #e8e9ed;
	color: #969ba7;
	cursor: not-allowed;
}

.hub-project-preview__notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
	padding: 18px 22px;
	border: 1px solid var(--hub-border);
	border-left: 4px solid var(--hub-blue);
	border-radius: 10px;
	background: var(--hub-blue-soft);
}

/* Preview uses the live WorkScout Project template. These rules only render
 * the review controls and prevent preview-only public actions from changing
 * data; no public page layout is recreated here. */
.hub-project-preview-mode .hub-project-preview-bar {
	margin: 0 0 12px;
	padding: 16px 28px 0;
	background: #fafafa;
}

.hub-project-preview-mode .hub-project-preview-bar .container {
	max-width: 1480px;
	margin: 0 auto;
}

.hub-project-preview-bar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 20px 24px;
	border: 1px solid #dbe2f2;
	border-radius: 10px;
	background: #f2f5ff;
	color: #293143;
}

.hub-project-preview-bar__copy {
	max-width: 720px;
}

.hub-project-preview-bar__copy strong {
	display: block;
	font-size: 17px;
	line-height: 1.3;
}

.hub-project-preview-bar__copy p {
	margin: 5px 0 0;
	color: #788194;
	font-size: 16px;
	line-height: 1.45;
}

.hub-project-preview-bar__controls,
.hub-project-preview-bar__controls form {
	display: flex;
	gap: 10px;
	margin: 0;
}

.hub-project-preview-bar__controls .hub-project-button {
	min-height: 48px;
	padding: 0 22px;
	white-space: nowrap;
	font-weight: 600;
}

.hub-project-preview-mode .hub-project-preview-bar__controls .hub-project-button--secondary {
	border-color: #d5dcec;
	background: #fff;
	color: #293143;
}

.hub-project-preview-mode .hub-project-preview-bar__controls .hub-project-button--primary {
	border-color: #2546d8;
	background: #2546d8;
	color: #fff;
}

#titlebar .hub-project-preview-location {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 6px 0 0;
	color: rgba(255, 255, 255, .86);
	font-family: inherit;
	font-size: 23px;
	font-weight: 400;
	line-height: 1.45;
}

#titlebar .hub-project-preview-location__label {
	color: rgba(255, 255, 255, .7);
}

#titlebar .hub-project-preview-location__city,
#titlebar .hub-project-preview-location__country {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

#titlebar .hub-project-preview-location {
	font-size: 23px !important;
	line-height: 1.45;
}

#titlebar .hub-project-preview-location__city i {
	font-size: 19px;
}

@media (max-width: 767px) {
	.hub-project-preview-mode .hub-project-preview-bar {
		padding: 16px 16px 0;
	}

	.hub-project-preview-bar__inner,
	.hub-project-preview-bar__controls,
	.hub-project-preview-bar__controls form {
		align-items: stretch;
		flex-direction: column;
	}

	.hub-project-preview-bar__controls .hub-project-button {
		width: 100%;
	}
}

.hub-project-preview-mode .foc-project-action-buttons,
.hub-project-preview-mode .bookmark-notice,
.hub-project-preview-mode .foc-project-contact-button,
.hub-project-preview-mode .single_job_listing a[href] {
	pointer-events: none;
}

.hub-project-preview__notice strong,
.hub-project-preview__notice span {
	display: block;
}

.hub-project-preview__notice span {
	margin-top: 4px;
	color: var(--hub-muted);
	font-size: 14px;
}

.hub-project-preview__controls,
.hub-project-preview__controls form {
	display: flex;
	gap: 10px;
	margin: 0;
}

.hub-project-preview__controls .hub-project-button {
	min-height: 42px;
	white-space: nowrap;
}

.hub-project-preview__public-page {
	background: #fff;
}

.hub-project-preview--public .hub-project-preview__titlebar {
	position: relative;
	min-height: 370px;
	background-color: #14275c;
	background-position: center;
	background-size: cover;
	color: #fff;
}

.hub-project-preview--public .hub-project-preview__titlebar::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 29, 77, .93), rgba(11, 29, 77, .62));
	content: "";
}

.hub-project-preview--public .hub-project-preview__titlebar > .container {
	position: relative;
	z-index: 1;
	max-width: 1160px;
	margin: 0 auto;
	padding: 92px clamp(28px, 6vw, 74px) 70px;
}

.hub-project-preview__hero-copy,
.hub-project-preview__hero-actions {
	position: relative;
	z-index: 1;
}

.hub-project-preview--public .hub-project-preview__titlebar h1 {
	margin: 10px 0;
	color: #fff;
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.1;
}

.hub-project-preview__creator {
	display: block;
	margin-top: 10px;
	color: rgba(255, 255, 255, .82);
}

.hub-project-preview__titlebar > .container > .eleven.columns > span:first-child a {
	display: inline-flex;
	padding: 4px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .2);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
}

.hub-project-preview__location-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 15px;
	margin-top: 20px;
	color: rgba(255, 255, 255, .9);
}


.hub-project-preview__location-meta > span + span::before {
	margin-right: 15px;
	color: rgba(255, 255, 255, .58);
	content: "•";
}

.hub-project-preview__location-meta i {
	margin-right: 5px;
}

.hub-project-preview__location-meta b {
	margin-right: 7px;
	font-weight: 400;
}

.hub-project-preview--public .foc-project-action-buttons.hub-project-preview__hero-actions {
	display: grid;
	gap: 12px;
	margin-top: 31px;
	min-width: 220px;
}

.hub-project-preview--public .hub-project-preview__hero-actions a {
	display: block;
	padding: 14px 17px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 7px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	font-size: 14px;
	text-align: center;
}

.hub-project-preview--public .hub-project-preview__hero-actions a + a {
	border-color: #fff;
	background: #fff;
	color: var(--hub-blue);
}

.hub-project-preview--public .hub-project-preview__hero-actions i {
	margin-right: 8px;
}

.hub-project-preview__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
	gap: 42px;
	max-width: 1160px;
	margin: 0 auto;
	padding: 42px clamp(28px, 6vw, 74px) 50px;
}

.hub-project-preview__content.container,
.hub-project-preview__main.eleven.columns,
.hub-project-preview__aside.five.columns {
	float: none;
	width: auto;
	margin: 0;
}

.hub-project-preview__main .padding-right {
	padding: 0;
}

.hub-project-preview--public .job_description h2,
.hub-project-preview--public .job_description h3,
.hub-project-preview--public .job-overview h3 {
	color: var(--hub-text);
}

.hub-project-preview--public .job_description h2 {
	margin-top: 0;
}

.hub-project-preview--public .job_description section + section {
	margin-top: 26px;
}

.hub-project-preview--public .job_description p {
	line-height: 1.7;
}

.hub-project-preview--public .job-overview {
	align-self: start;
	padding: 22px;
	border: 1px solid var(--hub-border);
	border-radius: 10px;
	background: #fff;
}

.hub-project-preview--public .job-overview h3 {
	margin-top: 0;
}

.hub-project-preview--public .job-overview ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hub-project-preview--public .job-overview li {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 10px 0;
}

.hub-project-preview--public .job-overview li + li {
	border-top: 1px solid #edf0f7;
}

.hub-project-preview--public .job-overview li > i {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 5px;
	background: #e8edfb;
	color: var(--hub-blue);
	font-size: 16px;
	line-height: 1;
}

.hub-project-preview--public .job-overview strong,
.hub-project-preview--public .job-overview span {
	display: block;
}

.hub-project-preview--public .job-overview strong {
	font-size: 13px;
}

.hub-project-preview--public .job-overview li div > span {
	margin-top: 2px;
	color: var(--hub-muted);
	font-size: 13px;
	line-height: 1.45;
}

.hub-project-preview__share {
	margin-top: 42px;
	padding-top: 28px;
	border-top: 1px solid #edf0f7;
}

.hub-project-preview__share h3 {
	margin-bottom: 14px;
}

.hub-project-preview__share > div {
	display: flex;
	gap: 10px;
}

.hub-project-preview__share input {
	min-width: 0;
	flex: 1;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--hub-border);
	border-radius: 5px;
	color: var(--hub-muted);
}

.hub-project-preview__share button {
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--hub-border);
	border-radius: 5px;
	background: #fff;
	color: var(--hub-blue);
	font-weight: 700;
}

.hub-project-preview__share button i {
	margin-right: 7px;
}


.hub-project-preview__eyebrow {
	color: var(--hub-blue);
	font-weight: 700;
}

.hub-project-preview__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin: 16px 0;
	color: var(--hub-muted);
}

/*
 * Public Project hero
 *
 * WorkScout's legacy contact integration recalculates an inline margin after
 * the first paint. Keep the same bottom-aligned composition in a flex column
 * from the first paint instead, so the action buttons never visibly jump.
 */
body.hub-project-public.single-job_listing #titlebar.photo-bg .five.columns,
body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .five.columns {
	display: flex;
	justify-content: flex-end;
}

/* The approved public Project presentation: retain WorkScout's markup while
 * giving the hero actions and fact card the shared Hub treatment. */
body.hub-project-public.single-job_listing #titlebar.photo-bg .bookmark-notice,
body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .bookmark-notice {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 53px;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 8px;
	background: transparent;
	color: #fff;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg::before,
body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg::before {
	background:
		linear-gradient(90deg, rgba(8, 20, 61, .9) 0%, rgba(8, 20, 61, .66) 45%, rgba(8, 20, 61, .22) 100%),
		linear-gradient(0deg, rgba(8, 20, 61, .28), rgba(8, 20, 61, .1)) !important;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-contact-button,
body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .foc-project-contact-button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 55px;
	padding: 14px 20px;
	border: 0;
	border-radius: 8px;
	background: #fff !important;
	color: #2347ce !important;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-contact-button span,
body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-contact-button i,
body.hub-project-preview-mode #titlebar.photo-bg .foc-project-contact-button span,
body.hub-project-preview-mode #titlebar.photo-bg .foc-project-contact-button i {
	color: #2347ce !important;
}

body.hub-project-public.single-job_listing .job-overview,
body.hub-project-preview-mode .job-overview {
	padding: 20px;
	border: 1px solid #e1e6f4;
	border-radius: 12px;
	background: #fff;
}

body.hub-project-public.single-job_listing .job-overview ul,
body.hub-project-preview-mode .job-overview ul {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

body.hub-project-public.single-job_listing .job-overview li,
body.hub-project-preview-mode .job-overview li {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 0 0 14px;
}

/* WorkScout adds a generic checkmark to list items inside .job_description.
 * Mobile reordering places Overview there, so suppress only that generated
 * marker and retain each Project fact's own icon. */
body.hub-project-public.single-job_listing .job-overview li::before,
body.hub-project-preview-mode .job-overview li::before {
	display: none !important;
	content: none !important;
}

/* The same WorkScout content-list rule reaches the social list after Share is
 * moved above the conversation CTA on mobile. Keep only the social icons. */
body.hub-project-public.single-job_listing .job_description .share-buttons-icons,
body.hub-project-preview-mode .job_description .share-buttons-icons {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

body.hub-project-public.single-job_listing .job_description .share-buttons-icons li::before,
body.hub-project-preview-mode .job_description .share-buttons-icons li::before {
	display: none !important;
	content: none !important;
}

body.hub-project-public.single-job_listing .job-overview li[hidden],
body.hub-project-preview-mode .job-overview li[hidden] {
	display: none !important;
}

body.hub-project-public.single-job_listing .job-overview li > i,
body.hub-project-preview-mode .job-overview li > i {
	display: block;
	width: 40px;
	height: 40px;
	line-height: 38px;
}

body.hub-project-public.single-job_listing .job-overview li > div,
body.hub-project-preview-mode .job-overview li > div {
	margin: 0 0 0 20px;
}

body.hub-project-public.single-job_listing .job-overview li strong,
body.hub-project-preview-mode .job-overview li strong {
	display: block;
	margin: 0 0 3px;
	color: #303a4c;
	font-size: 13px;
	line-height: 16px;
}

body.hub-project-public.single-job_listing .job-overview li span,
body.hub-project-preview-mode .job-overview li span {
	display: block;
	margin-top: 3px;
	color: #69758a;
	line-height: 20.3px;
}

/* Match the approved reading scale in the primary About / Opportunity column. */
body.hub-project-public.single-job_listing .single-job-listing .content p,
body.hub-project-public.single-job_listing .single-job_listing .content p,
body.hub-project-public.single-job_listing .job_description > p:not(.job_tags),
body.hub-project-preview-mode .single-job-listing .content p,
body.hub-project-preview-mode .single-job_listing .content p,
body.hub-project-preview-mode .job_description > p:not(.job_tags) {
	color: #515c71;
	font-size: 16px;
	line-height: 1.8;
}

body.hub-project-public.single-job_listing .novamira-project-about-intro-v69,
body.hub-project-preview-mode .novamira-project-about-intro-v69 {
	color: #27314a;
}

/* Project Overview labels use the same visual scale as the approved staging
 * presentation; values intentionally begin on the line below their label. */
body.hub-project-public.single-job_listing .job-overview li strong,
body.hub-project-preview-mode .job-overview li strong {
	font-size: 13.76px;
}

/* Centre the shortlist glyph in exactly the same way as the mail glyph. */
body.hub-project-public.single-job_listing #titlebar.photo-bg .bookmark-notice > .fa-star {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
	line-height: 1;
	transform: none;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .bookmark-notice > .fa-star::before {
	position: static !important;
	top: auto !important;
	line-height: 1;
}


@media (min-width: 721px) {
	body.hub-project-public.single-job_listing #titlebar.photo-bg {
		padding: 70px 0 80px;
	}

	/* Preview is intentionally the same WorkScout hero as staging. */
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg {
		padding: 70px 0 80px;
	}

	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg > .container {
		transform: translateY(22px);
	}

	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .foc-project-action-buttons {
		margin-top: 43px !important;
	}

	/* Staging keeps both content columns 54px below the hero image. */
	body.hub-project-preview-mode.single-job_listing #titlebar + .container > .eleven.columns > .padding-right,
	body.hub-project-preview-mode.single-job_listing #titlebar + .container > .five.columns {
		margin-top: 54px;
	}

	/* Match the approved staging hero baseline without changing document flow. */
	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container {
		transform: translateY(22px);
	}

	body.hub-project-public.single-job_listing .eleven.columns > .padding-right {
		padding-top: 54px;
	}

	body.hub-project-public.single-job_listing .five.columns > .widget {
		padding-top: 28px;
	}
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-action-buttons {
	float: none !important;
	clear: none !important;
	align-self: flex-end;
	margin: 0 !important;
}

/* Preview uses the same visual result as the public page from first paint.
 * These are the stable legacy overview positions: Location and Title. */
body.hub-project-preview-mode .job-overview li:nth-child(1),
body.hub-project-preview-mode .job-overview li:nth-child(2) {
	display: none !important;
}

body.hub-project-preview-mode #titlebar.photo-bg .foc-project-contact-button span {
	display: inline;
	font-size: 0;
	line-height: 27px;
	white-space: nowrap;
}

body.hub-project-preview-mode #titlebar.photo-bg .foc-project-contact-button span::after {
	content: "Contact project owner";
	display: inline;
	font-size: 14px;
	line-height: 27px;
}

/* Compact the existing public location row without changing its markup. */
body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-location-meta-v71 {
	align-items: baseline !important;
	column-gap: 12px !important;
	row-gap: 8px;
}

/* Keep the public hero's location order and spacing independent of the
 * multi-country taxonomy. The selected city is shown first, then its country. */
body.hub-project-public.single-job_listing #titlebar .novamira-project-location-meta-v71 {
	gap: 7px !important;
	margin-top: 10px;
}

body.hub-project-public.single-job_listing #titlebar .novamira-project-location-meta-v71::before {
	content: "Based in:";
	order: 1;
	color: rgba(255, 255, 255, .72);
	font-size: .9em;
}

body.hub-project-public.single-job_listing #titlebar .novamira-project-location-meta-v71 .novamira-city-v71 {
	order: 2;
}

body.hub-project-public.single-job_listing #titlebar .novamira-project-location-meta-v71 .novamira-country-v71 {
	order: 3;
	display: inline-flex !important;
}

body.hub-project-public.single-job_listing #titlebar .novamira-project-location-meta-v71 .novamira-country-v71::before {
	margin-right: 7px;
	content: "·";
	opacity: .75;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .eleven.columns > span:first-child a,
body.hub-project-preview-mode #titlebar.photo-bg .eleven.columns > span:first-child a {
	display: inline-flex;
	margin: 0 0 3px;
	padding: 5px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font-weight: 700;
	line-height: 1.2;
}

body.hub-project-public.single-job_listing .job-manager-single-alert-link a,
body.hub-project-preview-mode .job-manager-single-alert-link a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid #d8e1ff;
	border-radius: 8px;
	background: #fff;
	color: #2347ce;
	font-weight: 700;
}

body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-location-meta-v71::before,
body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-location-meta-v71 .novamira-city-v71,
body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-location-meta-v71 .novamira-country-v71 {
	align-self: baseline;
	margin-bottom: 0 !important;
	line-height: 1.4;
}

@media (min-width: 1025px) {
	/*
	 * WorkScout's grid uses floats, so the action column otherwise only has its
	 * own height. Make the two hero columns equal-height and keep the actions
	 * bottom-aligned from the first paint.
	 */
	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container {
		display: flex;
		align-items: stretch;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container > .eleven.columns,
	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container > .five.columns {
		float: none;
	}
}

@media (max-width: 1024px) {
	.hub-projects-core-page .hub-project-form-shell,
	.hub-projects-core-page .hub-project-preview,
	.hub-projects-core-page .hub-project-dashboard {
		margin-top: 16px;
		padding: 0 20px;
	}

	.hub-category-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	/*
	 * Public project hero actions: the legacy WorkScout button rules leave the
	 * action column at its desktop width on small screens and can stretch the
	 * links into oversized cards. Use one predictable, full-width mobile stack.
	 */
	body.hub-project-public.single-job_listing #titlebar.photo-bg,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg {
		padding-top: 110px;
		padding-bottom: 120px;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg > .container {
		display: block;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container > .eleven.columns,
	body.hub-project-public.single-job_listing #titlebar.photo-bg > .container > .five.columns,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg > .container > .eleven.columns,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg > .container > .five.columns {
		float: none;
		width: 100%;
		margin-left: 0;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .five.columns,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .five.columns {
		display: block;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-action-buttons,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .foc-project-action-buttons {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
		align-self: stretch;
		justify-self: stretch;
		min-width: 0;
		width: 100% !important;
		margin-top: 24px !important;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-action-buttons > a,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .foc-project-action-buttons > a {
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 54px;
		height: auto;
		margin: 0;
		padding: 13px 18px;
		line-height: 1.3;
		text-align: center;
		white-space: normal;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .foc-project-action-buttons > a i,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .foc-project-action-buttons > a i {
		flex: 0 0 auto;
		margin-right: 9px;
	}

	/* The public owner helper is a separate legacy flex block. Prevent its
	 * Edit link from growing to fill the hero column on a narrow screen. */
	body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1 {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		gap: 8px;
		width: 100%;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1__note,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1__note {
		display: flex;
		align-items: center;
		min-height: 0;
		margin: 0;
	}

	body.hub-project-public.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1 > a,
	body.hub-project-preview-mode.single-job_listing #titlebar.photo-bg .novamira-project-owner-actions-v1 > a {
		box-sizing: border-box;
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 54px;
		height: auto;
		margin: 0;
		padding: 13px 18px;
		line-height: 1.3;
		text-align: center;
	}

	.hub-projects-core-page .hub-project-form-shell,
	.hub-projects-core-page .hub-project-preview,
	.hub-projects-core-page .hub-project-dashboard {
		margin: 14px auto 38px;
		padding: 0 14px;
	}

	.hub-project-readiness {
		margin-bottom: 20px;
		padding: 14px 16px;
		border-radius: 10px;
	}

	.hub-project-dashboard__header,
	.hub-project-dashboard__row {
		align-items: flex-start;
		flex-direction: column;
	}

	.hub-project-dashboard__header .hub-project-button {
		width: 100%;
	}

	/* Keep project-status filters legible on one swipeable row. */
	.hub-project-dashboard__filters {
		flex-wrap: nowrap;
		gap: 8px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		padding: 2px 2px 10px;
		margin: 0 -2px 12px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.hub-project-dashboard__filters::-webkit-scrollbar {
		display: none;
	}

	.hub-project-dashboard__filter {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.hub-project-dashboard__actions {
		width: 100%;
	}

	.hub-project-dashboard__action,
	.hub-project-dashboard__actions form {
		flex: 1 1 0;
	}

	.hub-project-dashboard__actions form .hub-project-dashboard__action {
		width: 100%;
	}

	.hub-project-readiness.hub-readiness-is-fixed {
		left: 14px;
		width: calc(100vw - 28px);
	}

	.hub-project-readiness__message {
		margin-bottom: 10px;
		font-size: 13px;
	}

	.hub-project-readiness__next {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	.hub-project-form .acf-fields,
	.hub-project-form .acf-field-group > .acf-input > .acf-fields {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hub-project-form .acf-field {
		grid-column: 1 !important;
	}

	.hub-category-cards {
		grid-template-columns: 1fr;
	}

	.hub-project-category-field,
	.hub-category-field {
		padding: 18px !important;
	}

	.hub-project-form .acf-label label {
		font-size: 16px;
	}

	.hub-project-form input[type="text"],
	.hub-project-form input[type="url"],
	.hub-project-form input[type="number"],
	.hub-project-form input[type="date"],
	.hub-project-form select,
	.hub-project-form .select2-selection {
		min-height: 52px;
		font-size: 16px;
		line-height: 50px;
	}

	.hub-project-form .select2-selection__rendered {
		line-height: 50px !important;
	}

	.hub-project-city-field input[type="text"] {
		padding-right: 138px;
	}

	.hub-city-enter-hint {
		min-height: 38px;
		padding: 0 10px;
		font-size: 13px;
	}

	.hub-project-range-field .acf-input {
		grid-template-columns: minmax(0, 1fr) 66px;
		gap: 12px;
	}

	.hub-range-output {
		min-width: 60px;
		min-height: 46px;
	}

	.hub-project-form .mce-toolbar-grp .mce-container-body,
	.hub-project-form .mce-toolbar {
		display: flex !important;
		flex-wrap: wrap !important;
		height: auto !important;
	}

	.hub-project-form .mce-toolbar .mce-btn-group {
		float: none !important;
	}

	.hub-project-form iframe {
		max-width: 100% !important;
		min-height: 280px;
	}

	.hub-project-actions,
	.hub-project-preview__notice,
	.hub-project-preview__controls,
	.hub-project-preview__controls form {
		flex-direction: column;
		align-items: stretch;
		margin-top: 22px;
		padding: 18px;
	}

	.hub-project-preview__content {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.hub-project-preview--public .hub-project-preview__titlebar > .container {
		padding: 44px 24px;
	}

	.hub-project-preview--public .foc-project-action-buttons.hub-project-preview__hero-actions {
		margin-top: 26px;
	}

	.hub-project-preview__share > div {
		flex-direction: column;
	}

	.hub-project-actions__buttons {
		flex-direction: column;
	}

	.hub-project-button {
		width: 100%;
	}
}
