/* Vacatures job card + empty state (spec §4.17). */
.vacatures { max-width: var(--container-4xl); margin-inline: auto; display: flex; flex-direction: column; gap: calc(var(--spacing) * 8); }
.vacatures-empty { padding-block: calc(var(--spacing) * 20); text-align: center; background-color: var(--color-gray-50); border: 1px solid var(--color-gray-100); border-radius: var(--radius-3xl); }
.vacatures-empty__title { margin-bottom: calc(var(--spacing) * 2); font-size: var(--text-xl); line-height: var(--text-xl-lh); font-weight: var(--font-weight-medium); color: var(--color-gray-600); }
.vacatures-empty__text { color: var(--color-gray-500); }

.job-card { overflow: hidden; border: 1px solid var(--color-gray-100); border-radius: var(--radius-3xl); background-color: var(--color-white); box-shadow: var(--shadow-lg); }
.job-card__header { padding: calc(var(--spacing) * 8); background-image: linear-gradient(to right, var(--color-brand-dark), rgb(34 34 34 / 0.9)); }
[dir="rtl"] .job-card__header { background-image: linear-gradient(to left, var(--color-brand-dark), rgb(34 34 34 / 0.9)); }
.job-card__head { display: flex; align-items: flex-start; gap: calc(var(--spacing) * 4); }
.job-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: calc(var(--spacing) * 14);
	height: calc(var(--spacing) * 14);
	border-radius: var(--radius-2xl);
	background-color: var(--color-brand-orange);
	color: var(--color-white);
}
.job-card__title { margin-bottom: calc(var(--spacing) * 3); font-size: var(--text-2xl); line-height: var(--text-2xl-lh); font-weight: var(--font-weight-bold); color: var(--color-white); }
.job-card__chips { display: flex; flex-wrap: wrap; gap: calc(var(--spacing) * 3); }
.job-card__chip {
	display: inline-flex;
	align-items: center;
	gap: calc(var(--spacing) * 1.5);
	padding: calc(var(--spacing) * 1.5) calc(var(--spacing) * 3);
	border-radius: var(--radius-full);
	background-color: var(--color-white-10);
	font-size: var(--text-sm);
	line-height: var(--text-sm-lh);
	color: var(--color-white);
}
.job-card__body { padding: calc(var(--spacing) * 8); }
@media (min-width: 48rem) {
	.job-card__header, .job-card__body { padding: calc(var(--spacing) * 10); }
	.job-card__title { font-size: var(--text-3xl); line-height: var(--text-3xl-lh); }
}
.job-card__summary { margin-bottom: calc(var(--spacing) * 8); font-size: var(--text-lg); line-height: var(--leading-relaxed); color: var(--color-gray-600); }
.job-card__lists { display: grid; gap: calc(var(--spacing) * 8); margin-bottom: calc(var(--spacing) * 8); }
@media (min-width: 48rem) { .job-card__lists { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.job-box { padding: calc(var(--spacing) * 6); border-radius: var(--radius-2xl); }
.job-box--requirements { background-color: var(--color-gray-50); --job-accent: var(--color-bar-blue); }
.job-box--offer { background-color: var(--color-green-05a); border: 1px solid var(--color-green-20a); --job-accent: var(--color-bar-green); }
.job-box__title {
	display: flex;
	align-items: center;
	gap: calc(var(--spacing) * 2);
	margin-bottom: calc(var(--spacing) * 4);
	font-size: var(--text-lg);
	line-height: var(--text-lg-lh);
	font-weight: var(--font-weight-bold);
	color: var(--color-brand-dark);
}
.job-box__icon { color: var(--job-accent); }
.job-box__list { display: flex; flex-direction: column; gap: calc(var(--spacing) * 3); }
.job-box__item { display: flex; align-items: flex-start; gap: calc(var(--spacing) * 3); color: var(--color-gray-600); }
.job-box__dot { flex-shrink: 0; width: calc(var(--spacing) * 1.5); height: calc(var(--spacing) * 1.5); margin-top: calc(var(--spacing) * 2); border-radius: var(--radius-full); background-color: var(--job-accent); }
.job-apply { margin-bottom: calc(var(--spacing) * 8); padding: calc(var(--spacing) * 6); border: 1px solid var(--color-orange-20a); border-radius: var(--radius-2xl); background-color: var(--color-orange-05a); }
.job-apply__title { margin-bottom: calc(var(--spacing) * 2); font-size: var(--text-lg); line-height: var(--text-lg-lh); font-weight: var(--font-weight-bold); color: var(--color-brand-dark); }
.job-apply__text { color: var(--color-gray-600); }
.job-card__buttons { display: flex; flex-direction: column; gap: calc(var(--spacing) * 4); }
@media (min-width: 40rem) { .job-card__buttons { flex-direction: row; } }
