/* ------------------------------------------------------------------
> Careers / Job Listings
> Standalone stylesheet enqueued on the careers page template and
> single job listings. Mirrors assets/src/css/partials/site/_careers.scss
------------------------------------------------------------------ */

/* Hero + listings share a centered 1080px max width ----------------- */
.careers-hero-content {
	max-width: 1080px;
	margin: 0 auto;
	text-align: center;
}

.careers-list {
	max-width: 1080px;
}

.careers-list-title {
	max-width: 1080px;
	margin: 0 auto;
}

/* Intro / hero ---------------------------------------------------- */
.careers-intro {
	margin-top: 16px;
	font-size: 17px;
	line-height: 1.65;
	color: var(--haf_body_color, #1a191d);
}

.careers-intro p:last-child {
	margin-bottom: 0;
}

/* Listing list ---------------------------------------------------- */
.careers-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin: 0 auto;
}

/* Listing row ----------------------------------------------------- */
.career-card {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 22px 26px;
	background: var(--haf_secondary_brand_50, #f6f4f0);
	border: 1px solid transparent;
	border-radius: var(--haf_radius_12, 12px);
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.career-card:hover {
	border-color: var(--haf_color_primary, #ac8c69);
	box-shadow: 0 8px 22px rgba(26, 25, 29, 0.08);
}

/* Whole-card click target (sits above content so the entire card is clickable) */
.career-card__link {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
	text-indent: -9999px;
	overflow: hidden;
}

.career-card.is-featured {
	background: var(--haf_white, #ffffff);
	border-color: var(--haf_color_primary, #ac8c69);
}

.career-card__body {
	flex: 1 1 auto;
	min-width: 0;
}

.career-card__badge {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--haf_white, #ffffff);
	background: var(--haf_color_primary, #ac8c69);
	border-radius: var(--haf_radius_9999, 9999px);
}

.career-card__title {
	margin: 0;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 600;
}

.career-card__title a {
	color: var(--haf_color_secondary, #1a191d);
	text-decoration: none;
}

.career-card:hover .career-card__title a {
	color: var(--haf_color_primary, #ac8c69);
}

/* Meta — single line of plain text with thin dividers, no bullets */
.career-card__meta {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0;
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
}

.career-card__meta li {
	list-style: none !important;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	white-space: nowrap;
	padding-left: 0 !important;
	color: var(--haf_color_secondary, #1a191d);
}

/* Kill the theme's global .page-section ul li bullet disk + indent */
.career-card__meta li::before,
.career-meta-list li::before {
	display: none !important;
	content: none !important;
}

.career-card__meta li,
.career-meta-list li {
	padding-left: 0 !important;
}

.career-card__meta li:not(:last-child)::after {
	content: "";
	display: inline-block;
	width: 1px;
	height: 12px;
	margin: 0 12px;
	background: var(--haf_gray, #d8d3c9);
	vertical-align: middle;
}

.career-card__excerpt {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--haf_gray_5, #555);
}

/* Right side — salary + CTA */
.career-card__aside {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
	white-space: nowrap;
}

.career-card__salary {
	font-size: 15px;
	font-weight: 600;
	color: var(--haf_color_secondary, #1a191d);
}

.career-card__cta {
	font-size: 14px;
	font-weight: 600;
	color: var(--haf_color_primary, #ac8c69);
}

.career-card__cta::after {
	content: " →";
}

.careers-empty {
	max-width: 640px;
	margin: 0;
	font-size: 17px;
	line-height: 1.65;
}

/* Single job listing --------------------------------------------- */
/* Position Details sidebar on the right (desktop) */
.career-single-content {
	order: 1;
}

.career-single-aside {
	order: 2;
	align-self: stretch; /* full-height column so the sticky panel has room to stick */
}

.career-back-link {
	display: inline-block;
	font-weight: 600;
	color: var(--haf_color_primary, #ac8c69);
	text-decoration: none;
}

.career-back-link:hover {
	text-decoration: underline;
}

.career-meta-box {
	padding: 32px;
	background: var(--haf_secondary_brand_50, #f6f4f0);
	border-radius: var(--haf_radius_16, 16px);
	position: sticky;
	top: 120px;
}

.career-meta-box .heading-5 {
	margin: 0 0 18px;
}

.career-meta-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.career-meta-list li {
	list-style: none !important;
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 0;
	border-bottom: 1px solid var(--haf_gray, #e0e0e0);
}

.career-meta-list li:last-child {
	border-bottom: 0;
}

.career-meta-list__label {
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--haf_color_primary, #ac8c69);
	font-weight: 600;
}

.career-meta-list__value {
	font-size: 16px;
	color: var(--haf_color_secondary, #1a191d);
}

.career-apply-btn {
	display: inline-block;
	width: 100%;
	text-align: center;
}

.career-body h2,
.career-body h3 {
	margin-top: 28px;
}

.career-body ul {
	padding-left: 1.2em;
}

.career-apply-block {
	padding: 32px;
	background: var(--haf_white, #ffffff);
	border: 1px solid var(--haf_secondary_brand_100, #e9e3d8);
	border-radius: var(--haf_radius_16, 16px);
}

.career-eeo,
.career-eeo p {
	color: var(--haf_color_secondary, #1a191d);
	font-size: 15px;
	font-style: italic;
}

.career-eeo p:last-child {
	margin-bottom: 0;
}

.career-apply-form {
	margin-top: 8px;
}

.career-apply-form .gform_wrapper {
	margin: 0;
}

/* Responsive ------------------------------------------------------ */
@media (max-width: 1024px) {
	.career-single-row.flex-between-start {
		flex-direction: column;
	}

	.career-single-aside.col-443,
	.career-single-content.col-750 {
		width: 100%;
	}

	.career-meta-box {
		position: static;
	}

	/* Stack in DOM order on mobile: details + apply first, then content */
	.career-single-aside,
	.career-single-content {
		order: 0;
	}

	.career-single-content {
		margin-top: 48px;
	}
}

@media (max-width: 600px) {
	.career-card {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		padding: 22px;
	}

	/* Allow the meta to wrap on small screens */
	.career-card__meta {
		flex-wrap: wrap;
		row-gap: 4px;
	}

	.career-card__aside {
		flex-direction: row;
		align-items: center;
		gap: 16px;
		text-align: left;
	}

	.career-meta-box,
	.career-apply-block {
		padding: 24px;
	}
}
