/* RecruitNow Jobs – bewusst schlicht, übernimmt Schrift und Farben des Themes. */
.rnj-jobs, .rnj-single {
	--rnj-accent: var(--wp--preset--color--primary, #1f5fa8);
	--rnj-accent-text: #fff;
	--rnj-border: rgba(0, 0, 0, .12);
	--rnj-muted: rgba(0, 0, 0, .6);
	--rnj-surface: rgba(0, 0, 0, .03);
	--rnj-radius: 8px;
}

.rnj-btn {
	display: inline-block;
	padding: .65em 1.3em;
	border: 0;
	border-radius: var(--rnj-radius);
	background: var(--rnj-accent);
	color: var(--rnj-accent-text) !important;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
}
.rnj-btn:hover, .rnj-btn:focus-visible { filter: brightness(1.1); }

/* Filter */
.rnj-filter {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0 0 1.5rem;
}
.rnj-filter input[type="search"], .rnj-filter select {
	flex: 1 1 200px;
	min-width: 0;
	padding: .6em .8em;
	border: 1px solid var(--rnj-border);
	border-radius: var(--rnj-radius);
	background: #fff;
	font: inherit;
}

.rnj-count { color: var(--rnj-muted); margin: 0 0 .75rem; }

/* Liste */
.rnj-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.rnj-card {
	margin: 0;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--rnj-border);
	border-radius: var(--rnj-radius);
	transition: border-color .15s, box-shadow .15s;
}
.rnj-card:hover { border-color: var(--rnj-accent); box-shadow: 0 2px 12px rgba(0, 0, 0, .06); }
.rnj-card__title { margin: 0 0 .5rem; font-size: 1.25rem; line-height: 1.3; }
.rnj-card__title a { text-decoration: none; color: inherit; }
.rnj-card__title a:hover { color: var(--rnj-accent); }
.rnj-card__excerpt { margin: .6rem 0; }
.rnj-card__more { font-weight: 600; color: var(--rnj-accent); text-decoration: none; }

.rnj-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.rnj-chips li {
	margin: 0;
	padding: .2em .65em;
	border-radius: 999px;
	background: var(--rnj-surface);
	font-size: .875em;
	color: var(--rnj-muted);
}

.rnj-empty, .rnj-initiativ-hint {
	padding: 1.25rem 1.5rem;
	border-radius: var(--rnj-radius);
	background: var(--rnj-surface);
}
.rnj-empty p { margin: 0 0 .75rem; }
.rnj-empty p:last-child { margin: 0; }
.rnj-initiativ-hint { margin-top: 1.5rem; }

/* Detailseite */
.rnj-facts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin: 0 0 2rem;
	padding: 1.25rem 1.5rem;
	border-radius: var(--rnj-radius);
	background: var(--rnj-surface);
}
.rnj-facts dl { display: flex; flex-wrap: wrap; gap: .75rem 2rem; margin: 0; }
.rnj-facts dt { font-size: .8em; text-transform: uppercase; letter-spacing: .04em; color: var(--rnj-muted); margin: 0; }
.rnj-facts dd { margin: 0; font-weight: 600; }

.rnj-section { margin: 0 0 2rem; }
.rnj-apply { scroll-margin-top: 100px; padding-top: 1rem; border-top: 1px solid var(--rnj-border); }

/* Meldungen */
.rnj-message {
	padding: 1rem 1.25rem;
	border-radius: var(--rnj-radius);
	border-left: 4px solid currentColor;
	margin: 0 0 1rem;
}
.rnj-message--success { background: #edf7ed; color: #1e4620; }
.rnj-message--error   { background: #fdeded; color: #5f2120; }
.rnj-message--info    { background: #e5f6fd; color: #014361; }

@media (max-width: 600px) {
	.rnj-card, .rnj-facts { padding: 1rem; }
	.rnj-facts .rnj-btn { width: 100%; text-align: center; }
}

.rnj-message p { margin: 0 0 .75rem; }
.rnj-message p:last-child { margin: 0; }
.rnj-message .rnj-btn { margin-top: .25rem; }
