/* Career Listings — job details (single career_job) page styles */

.career-listings-job-details {
	--career-listings-primary: #0084ff;
	--career-listings-text: #010417;
	--career-listings-muted: #5e6c8d;
	--career-listings-border: #d4e0ed;
	--career-listings-surface: #ffffff;
	--career-listings-panel: #f2f8ff;

	/* Match the theme's .container gutter so the page lines up with the rest of the site. */
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	padding: 40px 15px 80px;
	box-sizing: border-box;
}

.career-listings-job-header {
	background: var( --career-listings-panel );
	border-radius: 30px;
	padding: 40px;
	margin-bottom: 32px;
	box-sizing: border-box;
}

.career-listings-job-header-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 20px;
	padding-bottom: 24px;
	margin-bottom: 20px;
	border-bottom: 2px dotted #7b94b1;
}

.career-listings-job-details .career-listings-job-title {
	margin: 0;
	font-size: 32px;
	font-weight: 700;
	color: var( --career-listings-text );
}

.career-listings-job-details .career-listings-job-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var( --career-listings-muted );
	font-size: 16px;
}

.career-listings-job-details .career-listings-job-meta strong {
	margin-right: 4px;
	color: var( --career-listings-text );
	font-weight: 600;
}

.career-listings-job-cta {
	display: inline-block;
	flex-shrink: 0;
	padding: 14px 35px;
	border: 1px solid var( --career-listings-primary );
	border-radius: 25px;
	background: var( --career-listings-primary );
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 100%;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.career-listings-job-cta:hover {
	opacity: 0.9;
	color: #fff;
}

.career-listings-job-cta-outline {
	background: var( --career-listings-surface );
	color: var( --career-listings-primary );
}

.career-listings-job-cta-outline:hover {
	background: var( --career-listings-primary );
	color: #fff;
	opacity: 1;
}

.career-listings-job-content {
	margin-bottom: 32px;
	color: var( --career-listings-text );
	font-size: 16px;
	line-height: 1.7;
}

.career-listings-job-content .wp-block-group {
	border: 1px solid var( --career-listings-border );
	border-radius: 24px;
	padding: 24px;
	margin-bottom: 24px;
	box-sizing: border-box;
}

.career-listings-job-content .wp-block-group:last-child {
	margin-bottom: 0;
}

.career-listings-job-content h2,
.career-listings-job-content h3 {
	margin: 0 0 16px;
	font-weight: 700;
}

/*
 * Both <ul> and <ol> get the same custom dot bullet — job descriptions come
 * from the external API's raw HTML, and a numbered <ol> reads as an
 * arbitrary sequence there (not "step 1, step 2"), so there's no case where
 * true numbering is actually wanted; visually they should match.
 */
.career-listings-job-content ul,
.career-listings-job-content ol {
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none !important;
	list-style-type: none !important;
}

.career-listings-job-content ul li,
.career-listings-job-content ol li {
	position: relative;
	padding-left: 26px;
	margin-bottom: 10px;
	line-height: 1.6;
	list-style: none !important;
}

.career-listings-job-content ul li::before,
.career-listings-job-content ol li::before {
	content: '' !important;
	position: absolute;
	left: 6px;
	top: 0.65em;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #000;
}

.career-listings-job-content ul li:last-child,
.career-listings-job-content ol li:last-child {
	margin-bottom: 0;
}

.career-listings-job-content ul ul,
.career-listings-job-content ol ol,
.career-listings-job-content ul ol,
.career-listings-job-content ol ul {
	margin-top: 10px !important;
}

.career-listings-external-apply {
	margin: 0 0 32px;
}

.career-listings-application-section {
	max-width: 700px;
	width: 100%;
	margin: 0 auto;
	background: var( --career-listings-panel );
	border-radius: 30px;
	padding: 40px;
	box-sizing: border-box;
	text-align: center;
	/* Offsets the sticky site header when jumping here via the "Apply Now" anchor link. */
	scroll-margin-top: 120px;
}

.career-listings-application-section h2 {
	margin: 0 0 20px;
	font-size: 24px;
	font-weight: 700;
	color: var( --career-listings-text );
}

.career-listings-application-form .wpcf7-form-control-wrap {
	text-align: left;
}

.career-listings-application-form .wpcf7-form-control-wrap {
	margin-bottom: 16px;
}

.career-listings-application-form input[type='submit'],
.career-listings-application-form .wpcf7-submit {
	width: auto;
	border: none;
	border-radius: 25px;
	background: var( --career-listings-primary );
	color: #fff;
	padding: 14px 35px;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.career-listings-application-form input[type='submit']:hover,
.career-listings-application-form .wpcf7-submit:hover {
	opacity: 0.9;
}

.career-listings-application-form .wpcf7-response-output {
	margin: 20px 0 0;
	border-radius: 10px;
}

.career-listings-admin-notice {
	padding: 10px 14px;
	background: #fff8e5;
	border-left: 4px solid #dba617;
}

@media screen and ( max-width: 767px ) {
	.career-listings-job-header,
	.career-listings-application-section {
		padding: 24px;
		border-radius: 20px;
	}

	.career-listings-job-header-top {
		flex-direction: column;
		align-items: flex-start;
	}

	.career-listings-job-cta {
		width: 100%;
	}

	.career-listings-job-details .career-listings-job-title {
		font-size: 26px;
	}
}
