.trust-vacancies { padding: 0; }
/* Salient's own .single .row .section-title rule (targeting ANY single
   post view, including this CPT) zeroes out the margin/padding/border a
   normal page-header title gets - override it back for our title block
   specifically, with !important since both selectors tie on specificity
   and source order isn't something to rely on. */
.trust-vacancy-page-header .section-title {
	margin: 0 !important;
	padding: 0 0 36px 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, .15) !important;
}
.trust-vacancies__header { margin-bottom: 40px; }
.trust-vacancies__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
}
/* Cards (and the digest items below) always use the Trust site's look -
   white with dark text - rather than inheriting the theme's text colour,
   which on a school theme with light text (e.g. Kadence on a dark palette)
   made them white-on-white. */
.trust-vacancy-card {
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
	color: #22333a; /* Trust site (Salient) body text */
}
.trust-vacancy-card h3 { color: #22333a; } /* themes colour headings directly; the title link inherits from this. */
.trust-vacancy-card__image img { width: 100%; height: 160px; object-fit: cover; display: block; }
.trust-vacancy-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.trust-vacancy-card__title { margin: 0 0 4px; font-size: 1.15em; }
.trust-vacancy-card__title a { text-decoration: none; color: inherit; }
.trust-vacancy-card__schools { margin: 0 0 14px; }
.trust-vacancy-card__school {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	margin-bottom: 10px;
}
.trust-vacancy-card__school-logo {
	display: block;
	width: 100% !important;
	max-width: 160px;
	height: auto !important;
	border-radius: 0 !important;
	background: none;
	padding: 0;
}
.trust-vacancy-card__school-location {
	font-size: 0.85em;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .65;
}
.trust-vacancy-card__meta,
.trust-vacancy-card__meta li {
	list-style: none !important;
	list-style-type: none !important;
}
.trust-vacancy-card__meta { margin: 0 0 16px; padding: 0; font-size: 0.92em; opacity: .85; }
.trust-vacancy-card__meta li { margin-bottom: 4px; margin-left: 0; padding-left: 0; }
.trust-vacancy-card__link { margin-top: auto; font-weight: 600; text-decoration: none; color: #bfa05a; } /* Trust site accent */
.trust-vacancies__empty { opacity: .7; }

.trust-vacancy-single__closed-notice {
	background: #fbeaea;
	color: #8a1f1f;
	padding: 14px 18px;
	border-radius: 4px;
	margin-bottom: 24px;
	font-weight: 600;
}
.trust-vacancy-single__schools { display: flex; flex-wrap: wrap; gap: 24px; margin-bottom: 14px; }
.trust-vacancy-single__school {
	display: flex;
	align-items: center;
	gap: 12px;
}
.trust-vacancy-single__school span {
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .75;
	font-size: 0.9em;
}
/* School logo in place of the school name above the facts. Natural size up
   to 265px wide; !important beats Salient's own image sizing/rounding. */
.trust-vacancy-single__school-logo {
	display: block;
	width: auto !important;
	max-width: min(265px, 100%) !important;
	height: auto !important;
	border-radius: 0 !important;
	background: none;
	padding: 0;
}
.trust-vacancy-single__image img { width: 100%; max-height: 360px; object-fit: cover; border-radius: 6px; margin: 24px 0; }
/* Facts: stacked on mobile, 2 across from 690px, max 4 across from 1000px
   (Salient's tablet/desktop breakpoints). "About [school]" is the first
   item, the same width as the rest. */
.trust-vacancy-single__facts {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	margin: 24px 0;
	padding: 20px;
	background: #f7f7f7;
	border-radius: 6px;
}
.trust-vacancy-single__facts dt { font-size: 0.8em; text-transform: uppercase; opacity: .6; margin-bottom: 2px; }
.trust-vacancy-single__facts dd { margin: 0; padding-left: 0; font-weight: 600; }
@media (min-width: 690px) {
	.trust-vacancy-single__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
	.trust-vacancy-single__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Normal weight - the intro is a sentence or two rather than a short value. */
.trust-vacancy-single__facts .trust-vacancy-single__facts-about dd { font-weight: normal; line-height: 1.6; }
.trust-vacancy-single__description { margin: 24px 0; line-height: 1.7; }
/* Buttons: Apply (filled) and Download (outline, currentColor so it reads on
   light or dark backgrounds). Stacked full-width on mobile, inline from
   690px - Salient's own mobile breakpoint. The --global-palette-btn* vars
   are Kadence's button colours; elsewhere (Salient on the Trust site) the
   fallbacks keep the original #1a1a1a/#fff. */
.trust-vacancy-single__actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 24px 0;
}
.trust-vacancy-single__apply-button,
.trust-vacancy-single__download-button {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 32px;
	border-radius: 4px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}
.trust-vacancy-single__apply-button {
	background: var(--global-palette-btn-bg, #1a1a1a);
	color: var(--global-palette-btn, #fff);
}
.trust-vacancy-single__apply-button:hover,
.trust-vacancy-single__apply-button:focus {
	background: var(--global-palette-btn-bg-hover, #333);
	color: var(--global-palette-btn-hover, #fff);
}
.trust-vacancy-single__download-button {
	background: transparent;
	color: inherit;
	box-shadow: inset 0 0 0 2px currentColor;
}
.trust-vacancy-single__download-button:hover,
.trust-vacancy-single__download-button:focus { color: inherit; opacity: .8; }
.trust-vacancy-single__apply-button:focus-visible,
.trust-vacancy-single__download-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
@media (min-width: 690px) {
	.trust-vacancy-single__actions { flex-direction: row; flex-wrap: wrap; align-items: center; }
	.trust-vacancy-single__apply-button,
	.trust-vacancy-single__download-button { display: inline-block; width: auto; }
}
.trust-vacancy-single__sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Apply section - target of the "Apply Now" jump link under the facts. scroll-margin
   clears a sticky site header; smooth scrolling only on vacancy pages and
   only when the visitor hasn't asked for reduced motion. */
.trust-vacancy-single__apply,
.trust-vacancy-single__how-to-apply { margin: 32px 0 0; scroll-margin-top: 120px; }
.trust-vacancy-single__how-to-apply { padding: 20px; background: #f7f7f7; border-radius: 6px; }
.trust-vacancy-single__how-to-apply p:last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: no-preference) {
	html:has(.trust-vacancy-single) { scroll-behavior: smooth; }
}

/* Non-Salient themes (school sites): the template uses the theme's own
   content-area/site-container wrappers, so max-width comes from the theme.
   Kadence's palette9 is its content background (Woodstock's blue-grey); the
   fallback is transparent so other themes keep their own background. The
   grey info boxes become a translucent tint so the theme's text colour
   stays readable whether it's light or dark. */
.trust-vacancy-single--theme {
	background: var(--global-palette9, transparent);
	padding: 48px 0;
}
.trust-vacancy-single--theme .site-container { margin-left: auto; margin-right: auto; }
.trust-vacancy-single__header { margin-bottom: 24px; }
.trust-vacancy-single--theme .trust-vacancy-single__facts,
.trust-vacancy-single--theme .trust-vacancy-single__how-to-apply { background: rgba(127, 127, 127, .15); }
.trust-vacancy-digest { margin: 48px 0 0; padding-top: 32px; border-top: 1px solid #e2e2e2; }
.trust-vacancy-digest h2 { font-size: 1.1em; margin-bottom: 16px; }
.trust-vacancy-digest__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.trust-vacancy-digest__item a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px;
	border: 1px solid #e2e2e2;
	border-radius: 6px;
	text-decoration: none;
	background: #fff;
	color: #22333a;
}
.trust-vacancy-digest__item img { width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
.trust-vacancy-digest__item span { display: flex; flex-direction: column; gap: 2px; }
.trust-vacancy-digest__item strong { font-size: 0.95em; }
.trust-vacancy-digest__item em { font-style: normal; font-size: 0.8em; opacity: .6; text-transform: uppercase; letter-spacing: .03em; }
.trust-vacancy-single__back { margin-top: 32px; }
