/* YesEarth Eco — Jobs module (Phase 1)
   Scoped under .ye-careers, consumes the theme's own CSS variables. */

.ye-careers { font-family: var(--ye-font-body); }

/* Toolbar: search + filter chip groups */
.ye-careers__toolbar {
	display: grid;
	gap: 14px;
	padding: 20px 22px;
	background: var(--ye-cream);
	border-radius: var(--ye-radius);
	border: 1px solid var(--ye-line-soft);
	margin-bottom: 28px;
}
.ye-careers__search { display: block; }
.ye-careers__search input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--ye-line);
	border-radius: var(--ye-radius-sm);
	font: inherit;
	background: #fff;
	color: var(--ye-ink);
}
.ye-careers__search input:focus { outline: 2px solid var(--ye-teal); outline-offset: 1px; }
.ye-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ye-chip {
	appearance: none; -webkit-appearance: none;
	border: 1px solid var(--ye-line);
	background: #fff; color: var(--ye-body);
	padding: 6px 14px; border-radius: 999px;
	font: inherit; font-size: .88rem; font-weight: 600;
	cursor: pointer;
	transition: all .2s ease;
}
.ye-chip:hover { border-color: var(--ye-teal); color: var(--ye-teal-dark); }
.ye-chip.is-active { background: var(--ye-teal); border-color: var(--ye-teal); color: #fff; }
.ye-chip:focus-visible { outline: 2px solid var(--ye-teal); outline-offset: 2px; }

/* Card grid */
.ye-careers__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}
.ye-careers__noresults { text-align: center; color: var(--ye-muted); padding: 24px 0; }

/* Job card */
.ye-job-card {
	background: #fff;
	border: 1px solid var(--ye-line-soft);
	border-radius: var(--ye-radius);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: box-shadow .3s ease, transform .3s ease;
}
.ye-job-card:hover { box-shadow: var(--ye-shadow); transform: translateY(-3px); }
.ye-job-card.is-past { opacity: .78; }
.ye-job-card.is-hidden { display: none; }

.ye-job-card__media { display: block; aspect-ratio: 16/9; background: var(--ye-cream); overflow: hidden; }
.ye-job-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ye-job-card__media--placeholder {
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--ye-cream), #fff);
}
.ye-job-card__badge-icon { font-size: 3rem; }

.ye-job-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; gap: 10px; }
.ye-job-card__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.ye-job-card__chip {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: var(--ye-cream);
	color: var(--ye-teal-dark);
}
.ye-job-card__chip--muted { background: #eee; color: var(--ye-muted); }
.ye-job-card__chip--hot { background: var(--ye-gold); color: var(--ye-ink); }
.ye-job-card__title { margin: 2px 0 4px; font-size: 1.15rem; line-height: 1.3; }
.ye-job-card__title a { color: var(--ye-ink); text-decoration: none; }
.ye-job-card__title a:hover { color: var(--ye-teal-dark); }
.ye-job-card__facts { list-style: none; margin: 0; padding: 0; font-size: .9rem; color: var(--ye-body); display: grid; gap: 4px; }
.ye-job-card__facts li { display: flex; gap: 6px; align-items: center; }
.ye-job-card__facts small { color: var(--ye-muted); }
.ye-job-card__action { margin: 10px 0 0; }

/* Past band */
.ye-careers__past { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--ye-line-soft); }
.ye-careers__past-heading { font-size: 1.3rem; color: var(--ye-muted); margin-bottom: 20px; }

/* Empty & CTA */
.ye-careers__empty,
.ye-careers__cta {
	text-align: center;
	background: var(--ye-cream);
	border-radius: var(--ye-radius);
	padding: 44px 32px;
	margin-top: 40px;
}
.ye-careers__cta h3 { margin-bottom: 6px; }

/* Single job page */
.ye-job-single { display: grid; grid-template-columns: 2fr 1fr; gap: 44px; align-items: start; }
.ye-job-facts {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 16px;
	background: var(--ye-cream);
	border-radius: var(--ye-radius);
	padding: 22px 24px;
	margin-bottom: 10px;
}
.ye-fact { display: grid; gap: 2px; font-size: .95rem; }
.ye-fact strong { display: block; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ye-muted); font-weight: 700; }
.ye-fact span[aria-hidden] { font-size: 1.1rem; }

.ye-job-body h2 { margin-top: 1.6em; }
.ye-job-body ul { padding-left: 1.1em; }

.ye-job-apply {
	position: sticky; top: 92px;
	background: #fff;
	border: 1px solid var(--ye-line-soft);
	border-radius: var(--ye-radius);
	padding: 24px;
	box-shadow: var(--ye-shadow);
}
.ye-job-apply h2 { font-size: 1.1rem; margin: 0 0 12px; }
.ye-job-apply__note { font-size: .9rem; color: var(--ye-muted); }
.ye-job-apply__closed { color: var(--ye-muted); }

.ye-job-share {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--ye-line-soft);
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
	font-size: .88rem;
}
.ye-job-share a, .ye-job-share__copy {
	color: var(--ye-teal-dark); text-decoration: none;
	background: none; border: 0; cursor: pointer;
	font: inherit; padding: 2px 4px;
}
.ye-job-share a:hover, .ye-job-share__copy:hover { color: var(--ye-orange); }

.ye-page-banner__badge {
	display: inline-block; margin-top: 10px;
	padding: 4px 12px; border-radius: 999px;
	background: var(--ye-gold); color: var(--ye-ink);
	font-weight: 700; font-size: .82rem;
	letter-spacing: .04em; text-transform: uppercase;
}

.ye-job-related { grid-column: 1 / -1; margin-top: 44px; }
.ye-job-related h2 { margin-bottom: 18px; }

@media (max-width: 900px) {
	.ye-job-single { grid-template-columns: 1fr; }
	.ye-job-apply { position: static; }
}
@media (max-width: 480px) {
	.ye-careers__grid { grid-template-columns: 1fr; }
	.ye-job-facts { padding: 18px; }
}

/* Application form (Phase 2) */
.ye-apply { background:#fff; }
.ye-apply h2 { font-size: 1.3rem; margin: 0 0 16px; }
.ye-apply__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 18px; margin-bottom: 20px; }
.ye-apply__field { display: block; }
.ye-apply__field--full { grid-column: 1 / -1; }
.ye-apply__field span { display: block; font-weight: 600; font-size: .88rem; color: var(--ye-ink); margin-bottom: 6px; }
.ye-apply input[type="text"],
.ye-apply input[type="email"],
.ye-apply input[type="tel"],
.ye-apply input[type="number"],
.ye-apply input[type="file"],
.ye-apply select,
.ye-apply textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--ye-line);
	border-radius: var(--ye-radius-sm);
	font: inherit;
	background: #fff;
	color: var(--ye-ink);
}
.ye-apply input:focus,
.ye-apply select:focus,
.ye-apply textarea:focus { outline: 2px solid var(--ye-teal); outline-offset: 1px; border-color: var(--ye-teal); }
.ye-apply__consent {
	background: var(--ye-cream);
	border-radius: var(--ye-radius);
	padding: 18px 20px;
	margin: 10px 0 18px;
	font-size: .9rem;
	color: var(--ye-body);
}
.ye-apply__consent label { display: block; margin-bottom: 10px; }
.ye-apply__consent-text { max-height: 180px; overflow-y: auto; padding-right: 8px; line-height: 1.55; }
.ye-apply__turnstile { margin: 14px 0; }
.ye-apply__submit { margin-top: 10px; }
.ye-apply__err {
	background: #fdecea; border: 1px solid #f5c6c3; color: #8e1a1a;
	padding: 10px 14px; border-radius: var(--ye-radius-sm); margin-bottom: 14px;
	font-size: .9rem;
}
.ye-apply__done {
	background: var(--ye-cream);
	border-radius: var(--ye-radius);
	padding: 28px 24px;
	text-align: center;
}

@media (max-width: 600px) {
	.ye-apply__grid { grid-template-columns: 1fr; }
}
