/**
 * Careers listing (archive-job.php).
 * Reuses .ne-* components; only careers-specific layout lives here.
 */

/* ---- Hero -------------------------------------------------------------- */
.careers-hero {
	position: relative;
	background-color: var(--ne-primary-500);
	background-image: linear-gradient(90deg, rgba(14, 7, 57, 0.86) 0%, rgba(14, 7, 57, 0.45) 55%, rgba(14, 7, 57, 0.25) 100%), var(--careers-hero-img, none);
	background-size: cover;
	background-position: center;
	color: var(--ne-neutral-100);
	min-height: 440px;
	display: flex;
	align-items: center;
	padding-block: var(--ne-space-6xl);
}
.careers-hero > .ne-container { width: 100%; }
.careers-hero__inner { max-width: 640px; }
.careers-hero__title {
	margin: 0 0 var(--ne-space-m);
	color: var(--ne-neutral-100);
	font-size: var(--ne-h1-size);
	line-height: 1.1;
}
.careers-hero__intro {
	margin: 0;
	color: var(--ne-neutral-200);
	font-size: var(--ne-b1-size);
	line-height: var(--ne-b1-line);
}

/* ---- Culture band ------------------------------------------------------ */
.careers-culture__body {
	max-width: 900px;
	margin-bottom: var(--ne-space-3xl);
	color: var(--ne-neutral-800);
}
.careers-culture__body p { margin: 0 0 var(--ne-space-m); }
.careers-culture__body p:last-child { margin-bottom: 0; }

.careers-culture__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--ne-space-xl);
	margin-bottom: var(--ne-space-3xl);
}
.culture-card {
	display: flex;
	flex-direction: column;
	gap: var(--ne-space-s);
	padding: var(--ne-space-xl);
	background: var(--ne-secondary-a10);
	border-radius: 16px;
}
.culture-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: var(--ne-neutral-100);
	color: var(--ne-secondary-400);
}
.culture-card__icon .ne-icon { width: 22px; height: 22px; }
.culture-card__title { margin: 0; font-size: var(--ne-h8-size); font-weight: 700; color: var(--ne-primary-500); }
.culture-card__body { margin: 0; font-size: var(--ne-b3-size); line-height: var(--ne-b3-line); color: var(--ne-neutral-800); }

/* Image mosaic (left tall · big middle · two stacked right) */
.careers-gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 180px;
	gap: var(--ne-space-l);
}
.careers-gallery__item { margin: 0; border-radius: 16px; overflow: hidden; background: var(--ne-neutral-200); }
.careers-gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.careers-gallery__item:nth-child(1) { grid-column: 1 / 2; grid-row: 1 / 3; }
.careers-gallery__item:nth-child(2) { grid-column: 2 / 4; grid-row: 1 / 3; }
.careers-gallery__item:nth-child(3) { grid-column: 4 / 5; grid-row: 1 / 2; }
.careers-gallery__item:nth-child(4) { grid-column: 4 / 5; grid-row: 2 / 3; }

/* ---- Current openings -------------------------------------------------- */
.careers-openings .ne-sechead { margin-inline: auto; }

.careers-filter {
	display: flex;
	align-items: center;
	gap: var(--ne-space-xs);
	max-width: 980px;
	margin: 0 auto var(--ne-space-3xl);
	padding: var(--ne-space-xs);
	background: var(--ne-neutral-100);
	border: 1px solid var(--ne-neutral-200);
	border-radius: 999px;
	box-shadow: var(--ne-shadow-deep);
}
.careers-filter__search { position: relative; flex: 1 1 auto; display: flex; align-items: center; }
.careers-filter__icon { position: absolute; left: var(--ne-space-m); display: inline-flex; color: var(--ne-neutral-600); pointer-events: none; }
.careers-filter__icon .ne-icon { width: 18px; height: 18px; }
/* Scoped under .careers-filter so these beat GeneratePress's
   input[type=text] / select element rules (specificity 0,1,1). */
.careers-filter .careers-filter__input {
	width: 100%;
	border: 0;
	background: transparent;
	font-family: var(--ne-font);
	font-size: var(--ne-b1-size);
	color: var(--ne-neutral-1000);
	padding: 12px var(--ne-space-m) 12px 46px;
}
.careers-filter .careers-filter__input:focus { outline: none; box-shadow: none; }
.careers-filter .careers-filter__input::placeholder { color: var(--ne-neutral-500); }
.careers-filter .careers-filter__select {
	flex: 0 0 auto;
	border: 0;
	border-left: 1px solid var(--ne-neutral-200);
	background: transparent;
	font-family: var(--ne-font);
	font-size: var(--ne-b1-size);
	color: var(--ne-neutral-900);
	padding: 12px var(--ne-space-l);
	cursor: pointer;
}
.careers-filter .careers-filter__select:focus { outline: none; box-shadow: none; }
.careers-filter__submit { flex: 0 0 auto; border-radius: 999px; }

/* Job cards (full-width horizontal rows) */
.careers-list { display: flex; flex-direction: column; gap: var(--ne-space-m); }
.job-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--ne-space-l);
	padding: var(--ne-space-l) var(--ne-space-xl);
	background: var(--ne-neutral-100);
	border: 1px solid var(--ne-neutral-200);
	border-radius: 16px;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.job-card:hover { box-shadow: var(--ne-shadow-deep); border-color: transparent; transform: translateY(-2px); }
.job-card__main { display: flex; flex-direction: column; gap: var(--ne-space-xs); min-width: 0; }
.job-card__tags { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ne-space-xs); }
.job-card__loc {
	display: inline-flex;
	align-items: center;
	padding: 4px var(--ne-space-s);
	border-radius: 999px;
	background: var(--ne-neutral-200);
	color: var(--ne-neutral-900);
	font-size: var(--ne-b3-size);
	line-height: var(--ne-b3-line);
	font-weight: 600;
}
.job-card__title { margin: 0; font-size: var(--ne-h7-size); line-height: var(--ne-h7-line); font-weight: 700; color: var(--ne-primary-500); }
.job-card__title a { color: inherit; text-decoration: none; }
.job-card__title a:hover { color: var(--ne-primary-400); }
.job-card__meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--ne-space-l); color: var(--ne-neutral-700); font-size: var(--ne-b2-size); }
.job-card__type, .job-card__posted { display: inline-flex; align-items: center; gap: var(--ne-space-2xs); }
.job-card__meta .ne-icon { width: 16px; height: 16px; color: var(--ne-neutral-600); }
.job-card__cta { flex: 0 0 auto; }
.job-card__cta .ne-icon { width: 16px; height: 16px; }

.careers-empty { text-align: center; color: var(--ne-neutral-700); padding: var(--ne-space-3xl) 0; }

.careers-note { text-align: center; margin-top: var(--ne-space-3xl); color: var(--ne-neutral-800); }
.careers-note strong { display: block; color: var(--ne-primary-500); margin-bottom: var(--ne-space-2xs); }
.careers-note a { color: var(--ne-secondary-400); font-weight: 700; text-decoration: none; }
.careers-note a:hover { text-decoration: underline; }

/* ---- Responsive -------------------------------------------------------- */
@media (max-width: 1024px) {
	.careers-hero__title { font-size: 44px; }
	.careers-culture__cards { grid-template-columns: 1fr; }
	.careers-gallery { grid-auto-rows: 150px; }
}
@media (max-width: 640px) {
	.careers-hero { min-height: 380px; padding-block: var(--ne-space-4xl); }
	.careers-hero__title { font-size: 34px; }

	.careers-gallery {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 140px;
	}
	.careers-gallery__item:nth-child(1) { grid-column: 1 / 3; grid-row: 1 / 2; }
	.careers-gallery__item:nth-child(2) { grid-column: 1 / 3; grid-row: 2 / 3; }
	.careers-gallery__item:nth-child(3) { grid-column: 1 / 2; grid-row: 3 / 4; }
	.careers-gallery__item:nth-child(4) { grid-column: 2 / 3; grid-row: 3 / 4; }

	.careers-filter {
		flex-direction: column;
		border-radius: 20px;
		padding: var(--ne-space-m);
		gap: var(--ne-space-s);
	}
	.careers-filter__search { width: 100%; border: 1px solid var(--ne-neutral-200); border-radius: 12px; }
	.careers-filter__input { padding-block: 10px; }
	.careers-filter__select { width: 100%; border: 1px solid var(--ne-neutral-200); border-radius: 12px; }
	.careers-filter__submit { width: 100%; }

	.job-card { flex-direction: column; align-items: flex-start; gap: var(--ne-space-m); }
	.job-card__cta { width: 100%; }
}
