/*
 * Careers page — pairs with page-careers.php.
 * Loaded only on that page template, see functions-enqueue-snippet.php.
 *
 * Colors read from Avada's global --awb-color* vars first, same fallback
 * convention as shared.css/manager-resources.css/fleet-program.css.
 * Self-contained (own scoped vars + classes), same reasoning as those.
 */

#gm-careers {
	--gm-careers-red: var(--awb-color2, #ed2e38);
	--gm-careers-black: var(--awb-color1, #0a0a0a);
	--gm-careers-gray-lt: #f4f4f4;
	--gm-careers-gray-md: #595959;
	max-width: 1100px;
	margin: 0 auto;
	padding: 48px 24px 64px;
	font-family: var(--awb-body-typography-font-family, inherit);
	color: var(--gm-careers-black);
	box-sizing: border-box;
}

#gm-careers section {
	margin-bottom: 48px;
}

#gm-careers h1,
#gm-careers h2,
#gm-careers h3 {
	font-family: var(--awb-heading-typography-font-family, inherit);
	line-height: 1.2;
	margin: 0 0 12px;
}

#gm-careers h1 {
	font-size: clamp(28px, 5vw, 40px);
}

#gm-careers h2 {
	font-size: 1.75rem;
}

.gm-careers__intro {
	font-size: 16px;
	color: var(--gm-careers-gray-md);
	max-width: 720px;
	line-height: 1.6;
}

/* Perks */
.gm-careers__perks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
}

.gm-careers__perk {
	background: var(--gm-careers-gray-lt);
	border-radius: 8px;
	padding: 20px;
}

.gm-careers__perk h3 {
	font-size: 1.05rem;
}

.gm-careers__perk p {
	color: var(--gm-careers-gray-md);
	font-size: 14px;
	margin: 0;
}

/* Job listings */
.gm-careers__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
}

.gm-careers__card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e3e5e6;
	border-radius: 10px;
	padding: 24px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.gm-careers__tagline {
	font-weight: 600;
	color: var(--gm-careers-red);
	margin: 0 0 8px;
	font-size: 14px;
}

.gm-careers__desc {
	color: var(--gm-careers-gray-md);
	font-size: 14px;
	line-height: 1.55;
	flex-grow: 1;
}

.gm-careers__tags {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 12px 0;
	padding: 0;
}

.gm-careers__tags li {
	background: var(--gm-careers-gray-lt);
	border-radius: 4px;
	padding: 3px 8px;
	font-size: 12px;
	color: var(--gm-careers-gray-md);
}

.gm-careers__location {
	color: var(--gm-careers-gray-md);
	font-size: 13px;
	margin: 0 0 12px;
}

.gm-careers__location strong {
	color: var(--gm-careers-black);
}

.gm-careers__apply-btn {
	display: inline-block;
	text-align: center;
	background: var(--gm-careers-red);
	color: #ffffff;
	font-weight: 600;
	padding: 12px 20px;
	border-radius: 6px;
	text-decoration: none;
	margin-top: 12px;
	transition: background-color 0.15s ease;
}

.gm-careers__apply-btn:hover {
	background: color-mix(in srgb, var(--gm-careers-red) 85%, black);
}

/* Application form */
.gm-careers__form {
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gm-careers__form-row {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gm-careers__form-row label {
	font-weight: 600;
	font-size: 14px;
}

.gm-careers__form-row input,
.gm-careers__form-row select,
.gm-careers__form-row textarea {
	border: 1px solid #d0d3d4;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
}

.gm-careers__submit-btn {
	align-self: flex-start;
	border: none;
	cursor: pointer;
	font-size: 15px;
}

/* Honeypot — off-screen, not display:none (some bots skip genuinely
   hidden inputs but still fill visually-hidden-but-present ones). */
.gm-careers__hp-wrap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.gm-careers__notice {
	padding: 14px 18px;
	border-radius: 6px;
	font-size: 14px;
	margin-bottom: 20px;
}

.gm-careers__notice--success {
	background: #e6f4ea;
	color: #1e7c34;
}

.gm-careers__notice--error {
	background: #fdecea;
	color: #b3261e;
}

@media (max-width: 600px) {
	#gm-careers {
		padding: 32px 16px 48px;
	}
}
