/* ================================
   Trollope Careers - Position Cards
   ================================ */

.trollope-positions-list {
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.trollope-position-card {
	background: #ffffff;
	border: 1px solid #e2e6ea;
	border-radius: 8px;
	padding: 30px 32px;
}


/* ================================
   Position Header
   ================================ */

.trollope-position-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding-bottom: 20px;
	margin-bottom: 26px;
	border-bottom: 1px solid #e6e9ed;
}

.trollope-position-heading h3 {
	margin: 0 0 7px;
	color: #00539b;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
}

.trollope-position-reference {
	margin: 0;
	color: #7b8189;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
}

.trollope-position-apply {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 170px;
	background: #00539b;
	color: #ffffff !important;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	padding: 13px 22px;
	border-radius: 6px;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.trollope-position-apply:hover {
	background: #003f78;
	color: #ffffff !important;
	transform: translateY(-1px);
}


/* ================================
   Position Meta
   ================================ */

.trollope-position-meta {
	display: flex;
	gap: 50px;
	padding: 18px 0 22px;
	margin-bottom: 24px;
	border-bottom: 1px solid #e6e9ed;
}

.trollope-position-meta-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.trollope-position-meta-item span {
	color: #7b8189;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.trollope-position-meta-item strong {
	color: #222222;
	font-size: 14px;
	font-weight: 600;
}


/* ================================
   Position Summary
   ================================ */

.trollope-position-section {
	margin-bottom: 18px;
}

.trollope-position-section h4 {
	margin: 0 0 12px;
	color: #00539b;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
}

.trollope-position-section p {
	margin: 0;
	color: #333333;
	font-size: 14px;
	line-height: 1.65;
}


/* ================================
   Position Detail Grid
   ================================ */

.trollope-position-details-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 40px;
	margin: 20px 0 16px;
	padding: 22px 0;
	border-top: 1px solid #e6e9ed;
	border-bottom: 1px solid #e6e9ed;
}

.trollope-position-detail-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.trollope-position-detail-block h4 {
	margin: 0 0 10px;
	color: #00539b;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.trollope-position-detail-block ul {
	margin: 0;
	padding-left: 19px;
}

.trollope-position-detail-block li {
	margin-bottom: 6px;
	color: #333333;
	font-size: 14px;
	line-height: 1.55;
}

.trollope-position-detail-block li:last-child {
	margin-bottom: 0;
}


/* ================================
   Requirements Grid
   ================================ */

.trollope-position-requirements {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: 0;
	padding-top: 26px;
	border-top: 0;
}

.trollope-position-column {
	padding: 2px 30px 4px;
	border-right: 1px solid #e6e9ed;
}

.trollope-position-column:first-child {
	padding-left: 0;
}

.trollope-position-column:last-child {
	padding-right: 0;
	border-right: 0;
}

.trollope-position-column h4 {
	margin: 0 0 16px;
	color: #00539b;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	line-height: 1.4;
}

.trollope-position-column ul {
	margin: 0;
	padding-left: 19px;
}

.trollope-position-column li {
	margin-bottom: 9px;
	color: #333333;
	font-size: 14px;
	line-height: 1.55;
}

.trollope-position-column li:last-child {
	margin-bottom: 0;
}


/* ================================
   Application Context
   ================================ */

.trollope-application-context {
	margin-bottom: 36px;
}

.trollope-application-eyebrow {
	margin: 0 0 10px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.trollope-application-title {
	margin: 0 0 28px;
	color: #004282;
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
}

.trollope-application-meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	padding: 24px 0;
	border-top: 1px solid #e2e6ea;
	border-bottom: 1px solid #e2e6ea;
}

.trollope-application-meta div {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.trollope-application-meta span {
	color: #6b7280;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.trollope-application-meta strong {
	color: #004282;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 600;
}


/* ================================
   Tablet
   ================================ */

@media (max-width: 1024px) {

	.trollope-position-requirements {
		grid-template-columns: 1fr;
	}

	.trollope-position-column {
		padding: 0 0 24px;
		margin-bottom: 24px;
		border-right: 0;
		border-bottom: 1px solid #e6e9ed;
	}

	.trollope-position-column:first-child {
		padding-left: 0;
	}

	.trollope-position-column:last-child {
		padding-right: 0;
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: 0;
	}

	.trollope-application-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* ================================
   Mobile
   ================================ */

@media (max-width: 767px) {

	.trollope-positions-list {
		gap: 20px;
	}

	.trollope-position-card {
		padding: 22px 20px;
	}

	.trollope-position-header {
		flex-direction: column;
		align-items: stretch;
		gap: 18px;
		padding-bottom: 18px;
		margin-bottom: 22px;
	}

	.trollope-position-heading h3 {
		font-size: 21px;
	}

	.trollope-position-reference {
		font-size: 12px;
	}

	.trollope-position-apply {
		width: 100%;
		min-width: 0;
	}

	.trollope-position-meta {
		flex-direction: column;
		gap: 14px;
		padding: 16px 0 20px;
		margin-bottom: 22px;
	}

	.trollope-position-section {
		margin-bottom: 16px;
	}

	.trollope-position-section h4 {
		font-size: 16px;
	}

	.trollope-position-details-grid {
		grid-template-columns: 1fr;
		gap: 26px;
		padding: 20px 0;
		margin: 20px 0 14px;
	}

	.trollope-position-column h4 {
		font-size: 14px;
	}

	.trollope-position-column li {
		font-size: 14px;
	}

	.trollope-application-title {
		font-size: 26px;
	}

	.trollope-application-meta {
		grid-template-columns: 1fr;
		gap: 18px;
	}

}

/* ================================
   Applicant Portal - Shared Layout
   ================================ */

.trollope-applicant-account,
.trollope-application-step,
.trollope-application-login-required,
.trollope-screening-message,
.trollope-submission-message {
	width: 100%;
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.trollope-applicant-account {
	color: #1f2933;
	font-size: 15px;
	line-height: 1.6;
}

.trollope-applicant-account h2,
.trollope-application-step h2,
.trollope-application-profile-review h2 {
	margin: 0 0 18px;
	color: #004282;
	font-family: 'Montserrat', sans-serif;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.25;
}

.trollope-applicant-account h3,
.trollope-application-step h3,
.trollope-application-profile-review h3 {
	margin: 28px 0 14px;
	color: #1f2933;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}

.trollope-applicant-account > p:first-of-type {
	margin-top: 0;
}

.trollope-applicant-account a {
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}


/* ================================
   Account Login / Registration
   ================================ */

.trollope-applicant-account-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
}

.trollope-applicant-account-grid > section {
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	padding: 28px;
	box-shadow: 0 8px 24px rgba(0, 39, 77, 0.05);
}

.trollope-applicant-account-grid > section h2 {
	margin-top: 0;
}


/* ================================
   Forms
   ================================ */

.trollope-application-form,
.trollope-document-form {
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	padding: 28px;
	margin: 0 0 32px;
	box-shadow: 0 8px 24px rgba(0, 39, 77, 0.04);
}

.trollope-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
}

.trollope-form-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.trollope-form-field-full {
	grid-column: 1 / -1;
}

.trollope-form-field label {
	color: #253341;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.trollope-form-field small {
	color: #6f7a85;
	font-size: 12px;
	line-height: 1.45;
}

.trollope-form-field input[type="text"],
.trollope-form-field input[type="email"],
.trollope-form-field input[type="tel"],
.trollope-form-field input[type="password"],
.trollope-form-field input[type="number"],
.trollope-form-field input[type="date"],
.trollope-form-field input[type="file"],
.trollope-form-field select,
.trollope-form-field textarea,
.trollope-application-form input[type="text"],
.trollope-application-form input[type="email"],
.trollope-application-form input[type="tel"],
.trollope-application-form input[type="password"],
.trollope-application-form input[type="number"],
.trollope-application-form input[type="date"],
.trollope-application-form select,
.trollope-application-form textarea {
	width: 100%;
	min-height: 44px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #cfd7df;
	border-radius: 6px;
	padding: 10px 12px;
	color: #17212b;
	font: inherit;
	font-size: 14px;
	line-height: 1.45;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease;
}

.trollope-form-field textarea,
.trollope-application-form textarea {
	min-height: 96px;
	resize: vertical;
}

.trollope-form-field input:focus,
.trollope-form-field select:focus,
.trollope-form-field textarea:focus,
.trollope-application-form input:focus,
.trollope-application-form select:focus,
.trollope-application-form textarea:focus {
	outline: 0;
	border-color: #00539b;
	box-shadow: 0 0 0 3px rgba(0, 83, 155, 0.10);
}

.trollope-form-field input[readonly],
.trollope-application-form input[readonly] {
	background: #f5f7f9;
	color: #59636e;
}

.trollope-form-field input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0 7px 0 0;
	vertical-align: middle;
	accent-color: #00539b;
}

.trollope-general-screening,
.trollope-qualifying-questions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
	margin-bottom: 28px;
}


/* ================================
   Actions / Buttons
   ================================ */

.trollope-form-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 22px;
}

.trollope-form-actions button,
.trollope-continue-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	box-sizing: border-box;
	background: #00539b;
	border: 1px solid #00539b;
	border-radius: 6px;
	padding: 10px 18px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease,
		transform 0.18s ease;
}

.trollope-form-actions button:hover,
.trollope-continue-button:hover {
	background: #003f78;
	border-color: #003f78;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.trollope-applicant-profile-item form button {
	background: transparent;
	border: 1px solid #cfd7df;
	border-radius: 5px;
	padding: 7px 11px;
	color: #8a2d2d;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
}

.trollope-applicant-profile-item form button:hover {
	background: #fff5f5;
	border-color: #d8b1b1;
}


/* ================================
   Messages
   ================================ */

.trollope-submission-message,
.trollope-screening-message,
.trollope-application-login-required {
	border-radius: 8px;
	padding: 18px 20px;
	margin-bottom: 26px;
}

.trollope-submission-message h2,
.trollope-submission-message h3,
.trollope-screening-message h2,
.trollope-screening-message h3,
.trollope-application-login-required h3 {
	margin-top: 0;
	margin-bottom: 8px;
}

.trollope-submission-message p:last-child,
.trollope-screening-message p:last-child,
.trollope-application-login-required p:last-child {
	margin-bottom: 0;
}

.trollope-submission-success,
.trollope-screening-pass {
	background: #f2f8f4;
	border: 1px solid #c9dfd0;
	color: #284d34;
}

.trollope-submission-error,
.trollope-screening-fail {
	background: #fff5f5;
	border: 1px solid #eccdcd;
	color: #7c2f2f;
}

.trollope-submission-info,
.trollope-application-login-required {
	background: #f3f7fb;
	border: 1px solid #cad9e7;
	color: #29435e;
}


/* ================================
   Applicant Profile Sections
   ================================ */

.trollope-applicant-profile-section {
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	padding: 28px;
	margin: 0 0 30px;
	box-shadow: 0 8px 24px rgba(0, 39, 77, 0.04);
}

.trollope-applicant-profile-section > h2 {
	margin-top: 0;
}

.trollope-applicant-profile-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 24px;
}

.trollope-applicant-profile-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 5px 18px;
	align-items: start;
	background: #f8fafc;
	border: 1px solid #e4e9ee;
	border-radius: 7px;
	padding: 15px 16px;
}

.trollope-applicant-profile-item > strong,
.trollope-applicant-profile-item > span,
.trollope-applicant-profile-item > p {
	grid-column: 1;
}

.trollope-applicant-profile-item > strong {
	color: #17324b;
	font-size: 15px;
	font-weight: 600;
}

.trollope-applicant-profile-item > span {
	color: #5d6873;
	font-size: 13px;
	line-height: 1.45;
}

.trollope-applicant-profile-item > p {
	margin: 4px 0 0;
	color: #3d4853;
	font-size: 13px;
	line-height: 1.55;
}

.trollope-applicant-profile-item > form {
	grid-column: 2;
	grid-row: 1 / span 4;
	align-self: start;
	margin: 0;
}


/* ================================
   My Applications
   ================================ */

.trollope-applicant-application-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin-top: 18px;
}

.trollope-applicant-application-item {
	display: grid;
	grid-template-columns: 1.45fr 1fr 1fr auto;
	gap: 20px;
	align-items: center;
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-left: 4px solid #00539b;
	border-radius: 8px;
	padding: 18px 20px;
	box-shadow: 0 6px 18px rgba(0, 39, 77, 0.035);
}

.trollope-applicant-application-item > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.trollope-applicant-application-item strong {
	color: #1d2a35;
	font-weight: 600;
}

.trollope-applicant-application-item span {
	color: #5d6873;
	font-size: 13px;
	line-height: 1.45;
}

.trollope-applicant-application-item > div:first-child > strong {
	color: #004282;
	font-size: 16px;
}

.trollope-applicant-application-item .trollope-form-actions {
	margin-top: 0;
	justify-content: flex-end;
}


/* ================================
   Application / Document Step
   ================================ */

.trollope-application-step {
	color: #1f2933;
}

.trollope-application-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	background: #f5f8fb;
	border: 1px solid #dfe6ec;
	border-radius: 8px;
	padding: 18px 20px;
	margin: 0 0 28px;
}

.trollope-application-summary p {
	margin: 0;
	color: #45525f;
	font-size: 13px;
	line-height: 1.5;
}

.trollope-application-summary strong {
	display: block;
	margin-bottom: 3px;
	color: #004282;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.trollope-application-profile-review {
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	padding: 28px;
	margin: 0 0 30px;
	box-shadow: 0 8px 24px rgba(0, 39, 77, 0.04);
}

.trollope-profile-review-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.trollope-profile-review-item {
	display: flex;
	flex-direction: column;
	gap: 5px;
	background: #f8fafc;
	border: 1px solid #e4e9ee;
	border-radius: 7px;
	padding: 15px 16px;
}

.trollope-profile-review-item strong {
	color: #17324b;
	font-size: 15px;
	font-weight: 600;
}

.trollope-profile-review-item span {
	color: #626e79;
	font-size: 13px;
	line-height: 1.45;
}

.trollope-profile-review-item p {
	margin: 4px 0 0;
	color: #3d4853;
	font-size: 13px;
	line-height: 1.55;
}

.trollope-document-field {
	padding: 14px 0;
	border-bottom: 1px solid #edf0f2;
}

.trollope-document-field:last-of-type {
	border-bottom: 0;
}

.trollope-document-form input[type="file"] {
	background: #f8fafc;
	padding: 10px;
}


/* ================================
   Applicant Portal - Tablet
   ================================ */

@media (max-width: 1024px) {

	.trollope-applicant-account,
	.trollope-application-step,
	.trollope-application-login-required,
	.trollope-screening-message,
	.trollope-submission-message {
		max-width: 860px;
	}

	.trollope-applicant-application-item {
		grid-template-columns: 1.4fr 1fr;
	}

	.trollope-applicant-application-item .trollope-form-actions {
		justify-content: flex-start;
	}

	.trollope-profile-review-list {
		grid-template-columns: 1fr;
	}

}


/* ================================
   Applicant Portal - Mobile
   ================================ */

@media (max-width: 767px) {

	.trollope-applicant-account-grid,
	.trollope-form-grid,
	.trollope-general-screening,
	.trollope-qualifying-questions,
	.trollope-application-summary,
	.trollope-applicant-application-item {
		grid-template-columns: 1fr;
	}

	.trollope-applicant-account h2,
	.trollope-application-step h2,
	.trollope-application-profile-review h2 {
		font-size: 24px;
	}

	.trollope-applicant-account-grid > section,
	.trollope-application-form,
	.trollope-document-form,
	.trollope-applicant-profile-section,
	.trollope-application-profile-review {
		padding: 20px;
		border-radius: 8px;
	}

	.trollope-applicant-profile-item {
		grid-template-columns: 1fr;
	}

	.trollope-applicant-profile-item > form {
		grid-column: 1;
		grid-row: auto;
		margin-top: 8px;
	}

	.trollope-applicant-application-item {
		gap: 12px;
		padding: 16px;
	}

	.trollope-applicant-application-item .trollope-form-actions {
		justify-content: stretch;
	}

	.trollope-form-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.trollope-form-actions button,
	.trollope-continue-button {
		width: 100%;
	}

	.trollope-form-field-full {
		grid-column: auto;
	}

}


.trollope-form-actions button,
.trollope-form-actions button:hover,
.trollope-form-actions button:focus,
.trollope-form-actions button:active,
.trollope-form-actions button:visited,
.trollope-continue-button,
.trollope-continue-button:hover,
.trollope-continue-button:focus,
.trollope-continue-button:active,
.trollope-continue-button:visited {
	background-color: #00539b !important;
	border-color: #00539b !important;
	color: #ffffff !important;
	outline: none;
}

.trollope-form-actions button:hover,
.trollope-continue-button:hover {
	background-color: #003f78 !important;
	border-color: #003f78 !important;
}

/* ================================
   Vacancy Card Refinements
   ================================ */

/* Slightly tighter card proportions */
.trollope-position-card {
	padding: 26px 32px 24px;
}

/* Reduce excess space between summary copy and meta row */
.trollope-position-section {
	margin-bottom: 12px;
}

/* Cleaner, more compact meta row */
.trollope-position-meta {
	gap: 56px;
	padding: 14px 0 18px;
	margin-bottom: 18px;
}

.trollope-position-meta-item {
	gap: 3px;
}

.trollope-position-meta-item span {
	color: #8a939c;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
}

.trollope-position-meta-item strong {
	color: #17324b;
	font-size: 15px;
	font-weight: 600;
}

/* Slightly stronger call-to-action */
.trollope-position-apply {
	min-width: 120px;
	padding: 12px 20px;
	font-size: 13px;
}

/* Keep the card compact below the action */
.trollope-position-card > *:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {

	.trollope-position-card {
		padding: 22px 20px 20px;
	}

	.trollope-position-meta {
		gap: 12px;
		padding: 14px 0 16px;
		margin-bottom: 16px;
	}

}

/* ================================
   Apply Page Refinements
   ================================ */

.trollope-application-context {
	max-width: 1180px;
	margin: 0 auto 34px;
}

.trollope-application-eyebrow {
	margin-bottom: 8px;
	color: #8a939c;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.trollope-application-title {
	margin-bottom: 22px;
	font-size: 34px;
	line-height: 1.18;
}

.trollope-application-meta {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	padding: 20px 0;
}

.trollope-application-meta div {
	gap: 4px;
}

.trollope-application-meta span {
	color: #8a939c;
	font-size: 10px;
	letter-spacing: 0.07em;
}

.trollope-application-meta strong {
	color: #17324b;
	font-size: 15px;
	line-height: 1.4;
}

.trollope-application-form {
	width: 100%;
	max-width: 960px;
	margin: 0 auto 36px;
	padding: 34px 36px;
	border-radius: 10px;
}

.trollope-application-form h2 {
	margin: 0 0 20px;
	color: #17324b;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
}

.trollope-application-form h2:not(:first-of-type) {
	margin-top: 34px;
	padding-top: 28px;
	border-top: 1px solid #e7ebef;
}

.trollope-application-form .trollope-form-grid {
	gap: 18px 24px;
}

.trollope-general-screening,
.trollope-qualifying-questions {
	gap: 18px 24px;
	margin-bottom: 0;
}

.trollope-form-field label {
	margin-bottom: 1px;
	color: #34414d;
	font-size: 12px;
	font-weight: 600;
}

.trollope-form-field small {
	margin-top: -1px;
	color: #7a858f;
	font-size: 11px;
}

.trollope-form-field input[type="text"],
.trollope-form-field input[type="email"],
.trollope-form-field input[type="tel"],
.trollope-form-field input[type="password"],
.trollope-form-field input[type="number"],
.trollope-form-field input[type="date"],
.trollope-form-field select,
.trollope-form-field textarea,
.trollope-application-form input[type="text"],
.trollope-application-form input[type="email"],
.trollope-application-form input[type="tel"],
.trollope-application-form input[type="password"],
.trollope-application-form input[type="number"],
.trollope-application-form input[type="date"],
.trollope-application-form select,
.trollope-application-form textarea {
	min-height: 46px;
	border-color: #d6dde4;
	padding: 11px 13px;
	font-size: 13px;
}

.trollope-form-field textarea,
.trollope-application-form textarea {
	min-height: 110px;
}

.trollope-form-actions {
	margin-top: 28px;
}

.trollope-form-actions button {
	min-width: 150px;
	padding: 12px 20px;
	font-size: 13px;
}

@media (max-width: 1024px) {

	.trollope-application-context,
	.trollope-application-form {
		max-width: 860px;
	}

	.trollope-application-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 767px) {

	.trollope-application-context {
		margin-bottom: 24px;
	}

	.trollope-application-title {
		font-size: 28px;
	}

	.trollope-application-meta {
		grid-template-columns: 1fr;
		gap: 14px;
		padding: 16px 0;
	}

	.trollope-application-form {
		padding: 22px 20px;
		margin-bottom: 28px;
	}

	.trollope-application-form h2 {
		font-size: 22px;
	}

	.trollope-application-form h2:not(:first-of-type) {
		margin-top: 28px;
		padding-top: 22px;
	}

}

/* ================================
   Apply Page - Unified Careers Layout
   ================================ */

/*
 * The Elementor shortcode container is 1200px wide.
 * Keep the application context and form on the same visual grid
 * as the Careers and Single Vacancy pages.
 */
.trollope-application-context {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto 26px;
}

.trollope-application-title {
	margin: 0 0 20px;
	color: #004282;
	font-size: 32px;
	font-weight: 600;
	line-height: 1.2;
}

.trollope-application-eyebrow {
	margin: 0 0 7px;
	color: #7f8993;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.trollope-application-meta {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 32px;
	padding: 18px 0;
	border-top: 1px solid #e1e6eb;
	border-bottom: 1px solid #e1e6eb;
}

.trollope-application-meta div {
	gap: 3px;
}

.trollope-application-meta span {
	color: #8a939c;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.065em;
	text-transform: uppercase;
}

.trollope-application-meta strong {
	color: #17324b;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}


/* Main application card */
.trollope-application-form {
	width: 100%;
	max-width: 1180px;
	box-sizing: border-box;
	margin: 0 auto 34px;
	padding: 32px 34px 30px;
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 39, 77, 0.045);
}


/* Section hierarchy */
.trollope-application-form h2 {
	margin: 0 0 20px;
	color: #004282;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
}

.trollope-application-form h2:not(:first-of-type) {
	margin-top: 30px;
	padding-top: 26px;
	border-top: 1px solid #e6eaee;
}


/* Form layout */
.trollope-application-form .trollope-form-grid,
.trollope-general-screening,
.trollope-qualifying-questions {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 28px;
}

.trollope-general-screening,
.trollope-qualifying-questions {
	margin-bottom: 0;
}

.trollope-form-field {
	gap: 6px;
}

.trollope-form-field label {
	margin: 0;
	color: #34414d;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
}

.trollope-form-field small {
	color: #7b858f;
	font-size: 11px;
	line-height: 1.4;
}


/* Inputs */
.trollope-application-form input[type="text"],
.trollope-application-form input[type="email"],
.trollope-application-form input[type="tel"],
.trollope-application-form input[type="password"],
.trollope-application-form input[type="number"],
.trollope-application-form input[type="date"],
.trollope-application-form select,
.trollope-application-form textarea {
	min-height: 45px;
	padding: 10px 12px;
	border: 1px solid #cfd7df;
	border-radius: 5px;
	background: #ffffff;
	font-size: 13px;
}

.trollope-application-form textarea {
	min-height: 105px;
}

.trollope-application-form input[readonly] {
	background: #f5f7f9;
}


/* Submit area */
.trollope-application-form .trollope-form-actions {
	margin-top: 26px;
	padding-top: 2px;
}

.trollope-application-form .trollope-form-actions button {
	min-width: 150px;
	padding: 12px 20px;
}


/* Keep post-screening messages aligned to the application width */
.trollope-screening-message {
	max-width: 1180px;
}


/* Tablet */
@media (max-width: 1024px) {

	.trollope-application-context,
	.trollope-application-form,
	.trollope-screening-message {
		max-width: 100%;
	}

	.trollope-application-meta {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 28px;
	}

}


/* Mobile */
@media (max-width: 767px) {

	.trollope-application-context {
		margin-bottom: 20px;
	}

	.trollope-application-title {
		font-size: 27px;
	}

	.trollope-application-meta {
		grid-template-columns: 1fr;
		gap: 13px;
		padding: 15px 0;
	}

	.trollope-application-form {
		padding: 22px 18px;
		margin-bottom: 26px;
	}

	.trollope-application-form .trollope-form-grid,
	.trollope-general-screening,
	.trollope-qualifying-questions {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.trollope-application-form h2 {
		font-size: 20px;
	}

	.trollope-application-form h2:not(:first-of-type) {
		margin-top: 25px;
		padding-top: 22px;
	}

}

/* ================================
   Careers Portal Width Corrections
   ================================ */

/*
 * The Elementor shortcode containers are 1200px wide.
 * These rules deliberately override earlier desktop width limits
 * so the Apply and Applicant Account screens use the same visual grid.
 */
.trollope-applicant-account,
.trollope-application-context,
.trollope-application-form,
.trollope-application-step,
.trollope-document-form,
.trollope-application-profile-review,
.trollope-applicant-profile-section,
.trollope-applicant-application-list,
.trollope-applicant-account-grid,
.trollope-application-login-required,
.trollope-screening-message,
.trollope-submission-message {
	width: 100% !important;
	max-width: 1180px !important;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}


/* Applicant account child cards should fill the account width */
.trollope-applicant-account > .trollope-application-form,
.trollope-applicant-account > .trollope-applicant-profile-section,
.trollope-applicant-account > .trollope-applicant-application-list {
	width: 100% !important;
	max-width: none !important;
}


/* Make profile forms use the available horizontal space */
.trollope-applicant-profile-section .trollope-application-form {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0;
	margin-right: 0;
}


/* Apply page form and context must share exactly the same edges */
.trollope-application-context,
.trollope-application-form {
	width: 100% !important;
	max-width: 1180px !important;
}


/* Give the Applicant Account a stronger desktop two-column rhythm */
.trollope-applicant-account .trollope-form-grid,
.trollope-applicant-profile-section .trollope-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* Prevent inner forms/cards from collapsing around their content */
.trollope-applicant-account form,
.trollope-applicant-profile-section form,
.trollope-application-form,
.trollope-document-form {
	min-width: 0;
}


/* My Applications should span the full account width */
.trollope-applicant-application-list {
	display: grid;
	grid-template-columns: 1fr;
}


/* Tablet: stay fluid, do not reintroduce the old 860px cap */
@media (max-width: 1024px) {

	.trollope-applicant-account,
	.trollope-application-context,
	.trollope-application-form,
	.trollope-application-step,
	.trollope-document-form,
	.trollope-application-profile-review,
	.trollope-applicant-profile-section,
	.trollope-applicant-application-list,
	.trollope-applicant-account-grid,
	.trollope-application-login-required,
	.trollope-screening-message,
	.trollope-submission-message {
		max-width: 100% !important;
	}

}


/* Mobile remains single-column */
@media (max-width: 767px) {

	.trollope-applicant-account .trollope-form-grid,
	.trollope-applicant-profile-section .trollope-form-grid {
		grid-template-columns: 1fr;
	}

}

/* ================================
   Elementor Shortcode Width Fix
   ================================ */

/*
 * Elementor Atomic containers can shrink-wrap shortcode widgets when their
 * flex item sizing is based on content. These rules force the Careers account
 * shortcode chain to stretch across the available 1200px page container.
 */

.elementor-element-72ccba0,
.elementor-element-7f05a09,
.elementor-element-44af6b4,
.elementor-element-44af6b4.elementor-widget-shortcode,
.elementor-element-44af6b4 > .elementor-widget-container,
.elementor-element-44af6b4 .elementor-shortcode {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
	align-self: stretch !important;
	flex-basis: 100% !important;
}


/* Prevent either Elementor flex container from sizing itself to its contents */
.elementor-element-72ccba0,
.elementor-element-7f05a09 {
	flex: 1 1 100% !important;
}


/* The shortcode widget itself must also behave as a full-width flex item */
.elementor-element-44af6b4 {
	flex: 1 1 100% !important;
}


/* Careers account content uses the same visual width as the Apply page */
.elementor-element-44af6b4 .trollope-applicant-account {
	width: 100% !important;
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}


/* All primary account cards should span the account container */
.elementor-element-44af6b4 .trollope-applicant-account > .trollope-application-form,
.elementor-element-44af6b4 .trollope-applicant-account > .trollope-applicant-profile-section,
.elementor-element-44af6b4 .trollope-applicant-account > .trollope-applicant-application-list {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}


/* Forms nested inside Qualifications / Employment also use the card width */
.elementor-element-44af6b4 .trollope-applicant-profile-section .trollope-application-form {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* Keep desktop forms comfortably spaced across the wider cards */
.elementor-element-44af6b4 .trollope-form-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 28px;
}


@media (max-width: 767px) {

	.elementor-element-44af6b4 .trollope-form-grid {
		grid-template-columns: 1fr;
	}

}

/* ================================
   HR Login Portal
   ================================ */

.trollope-hr-login-shell {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	box-sizing: border-box;
}

.trollope-hr-login-card {
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
	padding: 38px 40px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 39, 77, 0.06);
	color: #1f2933;
}

.trollope-hr-login-eyebrow {
	display: block;
	margin: 0 0 8px;
	color: #8a939c;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.trollope-hr-login-card h1 {
	margin: 0 0 10px;
	color: #004282;
	font-family: 'Montserrat', sans-serif;
	font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
}

.trollope-hr-login-intro {
	margin: 0 0 26px;
	color: #68737e;
	font-size: 14px;
	line-height: 1.6;
}

.trollope-hr-login-form {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.trollope-hr-login-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.trollope-hr-login-field label {
	color: #34414d;
	font-size: 12px;
	font-weight: 600;
}

.trollope-hr-login-field input {
	width: 100%;
	min-height: 46px;
	box-sizing: border-box;
	padding: 10px 12px;
	background: #ffffff;
	border: 1px solid #cfd7df;
	border-radius: 6px;
	color: #17212b;
	font: inherit;
	font-size: 14px;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease;
}

.trollope-hr-login-field input:focus {
	outline: 0;
	border-color: #00539b;
	box-shadow: 0 0 0 3px rgba(0, 83, 155, 0.10);
}

.trollope-hr-login-remember {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #59636e;
	font-size: 13px;
	cursor: pointer;
}

.trollope-hr-login-remember input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #00539b;
}

.trollope-hr-login-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	box-sizing: border-box;
	padding: 11px 20px;
	background: #00539b !important;
	border: 1px solid #00539b !important;
	border-radius: 6px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease,
		transform 0.18s ease;
}

.trollope-hr-login-button:hover,
.trollope-hr-login-button:focus {
	background: #003f78 !important;
	border-color: #003f78 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.trollope-hr-login-actions {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 24px;
}

.trollope-hr-login-link {
	color: #00539b;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
}

.trollope-hr-login-link:hover {
	color: #003f78;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.trollope-hr-login-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1px solid #e7ebef;
}

.trollope-hr-login-footer span {
	color: #8a939c;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.trollope-hr-login-notice {
	margin: 0 0 20px;
	padding: 12px 14px;
	border-radius: 6px;
	font-size: 13px;
	line-height: 1.5;
}

.trollope-hr-login-notice.error {
	background: #fff5f5;
	border: 1px solid #eccdcd;
	color: #7c2f2f;
}

@media (max-width: 767px) {

	.trollope-hr-login-card {
		max-width: 100%;
		padding: 26px 22px;
		border-radius: 8px;
	}

	.trollope-hr-login-card h1 {
		font-size: 26px;
	}

	.trollope-hr-login-footer {
		flex-direction: column;
		align-items: flex-start;
	}

}

/* ================================
   HR Dashboard - Logged Out
   ================================ */

.trollope-hr-message {
	width: 100%;
	max-width: 620px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 34px 36px;
	background: #ffffff;
	border: 1px solid #e1e6eb;
	border-radius: 10px;
	box-shadow: 0 10px 30px rgba(0, 39, 77, 0.05);
	text-align: center;
	color: #34414d;
}

.trollope-hr-message p {
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 1.6;
}

.trollope-hr-message p:last-child {
	margin-bottom: 0;
}

.trollope-hr-message .trollope-hr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 22px;
	background: #00539b;
	border: 1px solid #00539b;
	border-radius: 6px;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
}

.trollope-hr-message .trollope-hr-button:hover {
	background: #003f78;
	border-color: #003f78;
	color: #ffffff !important;
}

/* ================================
   HR Dashboard Width
   ================================ */

.trollope-hr-dashboard {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	box-sizing: border-box;
}

.trollope-hr-message {
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
	box-sizing: border-box;
}

/* ================================
   HR Login - Success Notice
   ================================ */

.trollope-hr-login-notice.success {
	background: #f2f8f4;
	border: 1px solid #c9dfd0;
	color: #284d34;
}

/* ================================
   HR Application Detail - Profile / AI
   ================================ */

.trollope-hr-profile-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.trollope-hr-profile-item,
.trollope-hr-employment-item {
	padding: 15px 16px;
	background: var(--thr-bg);
	border: 1px solid #e8ecef;
	border-radius: 6px;
}

.trollope-hr-profile-item > strong,
.trollope-hr-profile-item > span {
	display: block;
}

.trollope-hr-profile-item > strong,
.trollope-hr-employment-heading strong {
	color: #17324b;
}

.trollope-hr-profile-item > span,
.trollope-hr-employment-heading span,
.trollope-hr-employment-dates {
	margin-top: 3px;
	color: var(--thr-muted);
	font-size: 12px;
}

.trollope-hr-profile-item p,
.trollope-hr-profile-detail p {
	margin: 8px 0 0;
}

.trollope-hr-employment-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.trollope-hr-employment-heading {
	display: flex;
	justify-content: space-between;
	gap: 20px;
}

.trollope-hr-employment-heading > div > strong,
.trollope-hr-employment-heading > div > span {
	display: block;
}

.trollope-hr-profile-detail {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.55;
}

.trollope-hr-document > div > span,
.trollope-hr-document-meta span {
	display: block;
	margin-top: 3px;
	color: var(--thr-muted);
	font-size: 12px;
}

.trollope-hr-document-status {
	justify-self: end;
	padding: 5px 8px;
	background: #eef1f3;
	border-radius: 4px;
	color: #4d555d;
	font-size: 12px;
	font-weight: 700;
}

.trollope-hr-ai-card {
	border-left: 4px solid var(--thr-blue);
}

.trollope-hr-ai-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.trollope-hr-ai-status {
	display: inline-flex;
	padding: 6px 9px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
}

.trollope-hr-ai-status.pending,
.trollope-hr-ai-status.processing {
	background: #fff6df;
	color: #8a5a00;
}

.trollope-hr-ai-status.completed {
	background: #eaf7ed;
	color: #166534;
}

.trollope-hr-ai-status.failed {
	background: #fdecec;
	color: #991b1b;
}

.trollope-hr-ai-status.neutral {
	background: #eef1f3;
	color: #4d555d;
}

.trollope-hr-ai-method {
	color: var(--thr-muted);
	font-size: 12px;
}

.trollope-hr-ai-intro {
	margin: 0 0 16px;
}

.trollope-hr-ai-summary,
.trollope-hr-ai-error {
	margin: 14px 0;
	padding: 14px 16px;
	border-radius: 6px;
}

.trollope-hr-ai-summary {
	background: #f3f7fb;
	border: 1px solid #d4e1ec;
}

.trollope-hr-ai-summary p {
	margin: 6px 0 0;
}

.trollope-hr-ai-error {
	background: #fff1f1;
	border: 1px solid #efb8b8;
	color: #991b1b;
}

.trollope-hr-ai-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.trollope-hr-ai-field {
	padding: 14px;
	background: var(--thr-bg);
	border-radius: 6px;
}

.trollope-hr-ai-field p,
.trollope-hr-ai-field ul {
	margin: 7px 0 0;
}

.trollope-hr-ai-field ul {
	padding-left: 18px;
}

.trollope-hr-ai-usage {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--thr-border);
	color: var(--thr-muted);
	font-size: 12px;
}

.trollope-hr-ai-disclaimer {
	margin: 18px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--thr-border);
	color: var(--thr-muted);
	font-size: 12px;
	font-style: italic;
}

@media (max-width: 900px) {

	.trollope-hr-profile-grid,
	.trollope-hr-ai-grid {
		grid-template-columns: 1fr;
	}

	.trollope-hr-employment-heading,
	.trollope-hr-ai-header {
		align-items: flex-start;
		flex-direction: column;
	}
}


/* ================================
   HR AI Screening - Manual Integration
   ================================ */

.trollope-hr-ai-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 16px 0 18px;
	padding: 14px 0 2px;
	border-top: 1px solid var(--thr-border);
}

.trollope-hr-ai-run-form {
	margin: 0;
}

.trollope-hr-ai-config-note {
	color: #8a5a00;
	font-size: 12px;
	font-weight: 600;
}

.trollope-hr-ai-requirements {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--thr-border);
}

.trollope-hr-ai-requirements h3 {
	margin: 0 0 12px;
	color: #17324b;
	font-size: 15px;
	font-weight: 700;
}

.trollope-hr-ai-requirement-list {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.trollope-hr-ai-requirement {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px 18px;
	align-items: start;
	padding: 13px 14px;
	background: var(--thr-bg);
	border: 1px solid #e8ecef;
	border-radius: 6px;
}

.trollope-hr-ai-requirement > div > strong,
.trollope-hr-ai-requirement > div > span {
	display: block;
}

.trollope-hr-ai-requirement > div > span {
	margin-top: 3px;
	color: var(--thr-muted);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.trollope-hr-ai-requirement p {
	grid-column: 1 / -1;
	margin: 2px 0 0;
	font-size: 13px;
	line-height: 1.5;
}

.trollope-hr-ai-finding {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}

.trollope-hr-ai-finding.evidence_found {
	background: #eaf7ed;
	color: #166534;
}

.trollope-hr-ai-finding.not_found {
	background: #fdecec;
	color: #991b1b;
}

.trollope-hr-ai-finding.unclear,
.trollope-hr-ai-finding.unreadable,
.trollope-hr-ai-finding.not_applicable {
	background: #eef1f3;
	color: #4d555d;
}

@media (max-width: 767px) {

	.trollope-hr-ai-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.trollope-hr-ai-actions .trollope-hr-button {
		width: 100%;
	}

	.trollope-hr-ai-requirement {
		grid-template-columns: 1fr;
	}

	.trollope-hr-ai-requirement p {
		grid-column: auto;
	}

	.trollope-hr-ai-finding {
		justify-self: start;
	}
}


/* ================================
   HR AI Screening - Summary / Filters v14
   ================================ */

.trollope-hr-ai-overview {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 14px 0;
}

.trollope-hr-ai-metric {
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #e4e9ee;
	border-radius: 6px;
}

.trollope-hr-ai-metric > span,
.trollope-hr-ai-label {
	display: block;
	margin-bottom: 6px;
	color: #6f7780;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.trollope-hr-ai-metric-value {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 5px 8px;
	border-radius: 4px;
	font-size: 14px;
}

.trollope-hr-ai-metric-value.strong,
.trollope-hr-ai-metric-value.confidence-high { background: #eaf7ed; color: #166534; }
.trollope-hr-ai-metric-value.moderate,
.trollope-hr-ai-metric-value.confidence-medium { background: #fff6df; color: #8a5a00; }
.trollope-hr-ai-metric-value.limited,
.trollope-hr-ai-metric-value.confidence-low { background: #fdecec; color: #991b1b; }
.trollope-hr-ai-metric-value.unclear,
.trollope-hr-ai-metric-value.neutral,
.trollope-hr-ai-metric-value.confidence-neutral { background: #eef1f3; color: #4d555d; }

.trollope-hr-ai-metric small {
	display: block;
	color: #6f7780;
	font-size: 12px;
	line-height: 1.5;
}

.trollope-hr-ai-key-concerns {
	margin: 14px 0 18px;
	padding: 14px 16px;
	background: #fff8eb;
	border: 1px solid #ead7aa;
	border-radius: 6px;
}

.trollope-hr-ai-key-concerns ul {
	margin: 8px 0 0;
	padding-left: 18px;
}

.trollope-hr-ai-requirements-primary {
	margin-top: 22px;
}

.trollope-hr-ai-section-heading p {
	margin: -5px 0 14px;
	color: #6f7780;
	font-size: 12px;
}

.trollope-hr-ai-requirement {
	grid-template-columns: minmax(0, 1.35fr) minmax(150px, .45fr);
}

.trollope-hr-ai-requirement-source strong {
	display: block;
	color: #17324b;
}

.trollope-hr-ai-requirement-type {
	display: block;
	margin-top: 4px;
	color: #6f7780;
	font-size: 11px;
}

.trollope-hr-ai-requirement-finding-wrap {
	justify-self: end;
}

.trollope-hr-ai-requirement-evidence {
	grid-column: 1 / -1;
	padding-top: 10px;
	border-top: 1px solid #e5e9ed;
}

.trollope-hr-ai-requirement-evidence p {
	margin: 4px 0 0;
}

.trollope-hr-ai-requirement-note {
	color: #6f7780;
}

.trollope-hr-ai-details {
	margin-top: 18px;
	border: 1px solid #dfe5ea;
	border-radius: 6px;
	background: #fff;
}

.trollope-hr-ai-details summary {
	padding: 13px 15px;
	color: #00539b;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	user-select: none;
}

.trollope-hr-ai-details[open] summary {
	border-bottom: 1px solid #e5e9ed;
}

.trollope-hr-ai-detailed-grid {
	padding: 14px;
	margin-top: 0;
}

.trollope-hr-ai-run-button,
.trollope-hr-ai-run-button:visited,
.trollope-hr-ai-run-button:focus,
.trollope-hr-ai-run-button:active {
	background: #00539b !important;
	border-color: #00539b !important;
	color: #fff !important;
	outline: none !important;
}

.trollope-hr-ai-run-button:hover {
	background: #003f78 !important;
	border-color: #003f78 !important;
	color: #fff !important;
}

.trollope-hr-ai-list-badge {
	display: inline-block;
	padding: 5px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
}

.trollope-hr-ai-list-badge.strong { background: #eaf7ed; color: #166534; }
.trollope-hr-ai-list-badge.moderate { background: #fff6df; color: #8a5a00; }
.trollope-hr-ai-list-badge.limited,
.trollope-hr-ai-list-badge.failed { background: #fdecec; color: #991b1b; }
.trollope-hr-ai-list-badge.unclear,
.trollope-hr-ai-list-badge.pending,
.trollope-hr-ai-list-badge.processing,
.trollope-hr-ai-list-badge.neutral { background: #eef1f3; color: #4d555d; }

.trollope-hr-ai-list-confidence {
	display: block;
	margin-top: 4px;
	color: #6f7780;
	font-size: 11px;
}

@media (max-width: 900px) {
	.trollope-hr-ai-overview,
	.trollope-hr-ai-requirement {
		grid-template-columns: 1fr;
	}

	.trollope-hr-ai-requirement-finding-wrap {
		justify-self: start;
	}

	.trollope-hr-ai-requirement-evidence {
		grid-column: auto;
	}
}

/* ================================
   HR Portal Navigation / Overview v15
   ================================ */

.trollope-hr-portal-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px;
	padding: 8px;
	background: #f5f8fb;
	border: 1px solid #dfe6ec;
	border-radius: 8px;
}

.trollope-hr-portal-nav-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 14px;
	border-radius: 5px;
	color: #4d5965 !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

.trollope-hr-portal-nav-link:hover {
	background: #ffffff;
	color: #00539b !important;
}

.trollope-hr-portal-nav-link.active {
	background: #00539b;
	color: #ffffff !important;
}

.trollope-hr-portal-heading {
	margin-bottom: 24px;
}

.trollope-hr-kpi-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 34px;
}

.trollope-hr-kpi-card {
	display: flex;
	flex-direction: column;
	gap: 7px;
	min-height: 108px;
	padding: 18px 20px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid #e0e5e9;
	border-radius: 7px;
	text-decoration: none !important;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.trollope-hr-kpi-card:hover {
	border-color: #b8cbdc;
	box-shadow: 0 8px 22px rgba(0, 63, 120, 0.07);
	transform: translateY(-1px);
}

.trollope-hr-kpi-card strong {
	color: #00539b;
	font-size: 30px;
	line-height: 1;
}

.trollope-hr-kpi-card span {
	color: #4d5965;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.trollope-hr-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 16px;
}

.trollope-hr-section-heading h2 {
	margin: 0 0 5px;
	color: #17324b;
	font-size: 20px;
}

.trollope-hr-section-heading p {
	margin: 0;
	color: #6f7780;
	font-size: 13px;
}

.trollope-hr-section-link {
	color: #00539b !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
	white-space: nowrap;
}

.trollope-hr-section-link:hover {
	color: #003f78 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.trollope-hr-vacancy-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.trollope-hr-vacancy-card,
.trollope-hr-vacancy-group,
.trollope-hr-report-export-card {
	background: #ffffff;
	border: 1px solid #e0e5e9;
	border-radius: 8px;
}

.trollope-hr-vacancy-card {
	padding: 20px;
}

.trollope-hr-vacancy-card-head,
.trollope-hr-vacancy-group-head,
.trollope-hr-vacancy-position-row,
.trollope-hr-report-export-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.trollope-hr-vacancy-card h3,
.trollope-hr-vacancy-group h2 {
	margin: 4px 0 4px;
	color: #17324b;
}

.trollope-hr-vacancy-card h3 {
	font-size: 18px;
}

.trollope-hr-vacancy-site,
.trollope-hr-vacancy-reference {
	display: block;
	color: #6f7780;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.trollope-hr-vacancy-status {
	display: inline-flex;
	padding: 5px 8px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.trollope-hr-vacancy-status.open {
	background: #eaf7ed;
	color: #166534;
}

.trollope-hr-vacancy-status.closed {
	background: #eef1f3;
	color: #4d555d;
}

.trollope-hr-vacancy-status.draft {
	background: #fff6df;
	color: #8a5a00;
}

.trollope-hr-vacancy-card-meta {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 14px 0;
	padding: 12px 0;
	border-top: 1px solid #edf0f2;
	border-bottom: 1px solid #edf0f2;
	color: #68737e;
	font-size: 12px;
}

.trollope-hr-vacancy-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 12px;
}

.trollope-hr-vacancy-stats span {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 9px 8px;
	background: #f8fafc;
	border-radius: 5px;
	color: #6f7780;
	font-size: 10px;
	text-align: center;
}

.trollope-hr-vacancy-stats strong {
	color: #17324b;
	font-size: 16px;
}

.trollope-hr-vacancy-ai-stats {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 15px;
}

.trollope-hr-vacancy-ai-stats span {
	padding: 4px 7px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
}

.trollope-hr-vacancy-ai-stats .strong { background: #eaf7ed; color: #166534; }
.trollope-hr-vacancy-ai-stats .moderate { background: #fff6df; color: #8a5a00; }
.trollope-hr-vacancy-ai-stats .limited { background: #fdecec; color: #991b1b; }

.trollope-hr-vacancy-action {
	width: 100%;
	box-sizing: border-box;
}

.trollope-hr-empty-state {
	grid-column: 1 / -1;
	padding: 28px;
	background: #f8fafc;
	border: 1px dashed #cfd7df;
	border-radius: 7px;
	color: #6f7780;
	text-align: center;
}

.trollope-hr-vacancy-groups {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.trollope-hr-vacancy-group {
	overflow: hidden;
}

.trollope-hr-vacancy-group-head {
	padding: 20px 22px;
	background: #f8fafc;
	border-bottom: 1px solid #e0e5e9;
}

.trollope-hr-vacancy-group-head h2 {
	font-size: 20px;
}

.trollope-hr-vacancy-group-head p {
	margin: 4px 0 0;
	color: #6f7780;
	font-size: 12px;
}

.trollope-hr-vacancy-position-list {
	display: flex;
	flex-direction: column;
}

.trollope-hr-vacancy-position-row {
	padding: 16px 22px;
	border-bottom: 1px solid #edf0f2;
}

.trollope-hr-vacancy-position-row:last-child {
	border-bottom: 0;
}

.trollope-hr-vacancy-position-title {
	min-width: 180px;
}

.trollope-hr-vacancy-position-title strong,
.trollope-hr-vacancy-position-title span {
	display: block;
}

.trollope-hr-vacancy-position-title strong {
	color: #17324b;
}

.trollope-hr-vacancy-position-title span {
	margin-top: 3px;
	color: #6f7780;
	font-size: 11px;
}

.trollope-hr-vacancy-position-counts {
	display: grid;
	grid-template-columns: repeat(5, minmax(72px, 1fr));
	gap: 8px;
	flex: 1;
}

.trollope-hr-vacancy-position-counts a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	padding: 8px;
	background: #f8fafc;
	border-radius: 5px;
	text-decoration: none !important;
}

.trollope-hr-vacancy-position-counts strong {
	color: #00539b;
	font-size: 16px;
}

.trollope-hr-vacancy-position-counts span {
	color: #6f7780;
	font-size: 10px;
	text-align: center;
}

.trollope-hr-report-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	gap: 14px;
	align-items: end;
	margin-bottom: 18px;
	padding: 18px;
	background: #f6f8fa;
	border: 1px solid #e0e5e9;
	border-radius: 7px;
}

.trollope-hr-report-filters label {
	display: block;
	margin-bottom: 6px;
	color: #4d555d;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.trollope-hr-report-filters select,
.trollope-hr-report-filters input {
	width: 100%;
	min-height: 44px;
	box-sizing: border-box;
	padding: 8px 11px;
	background: #ffffff;
	border: 1px solid #d6dde4;
	border-radius: 5px;
}

.trollope-hr-report-actions {
	display: flex;
	gap: 10px;
	grid-column: 1 / -1;
}

.trollope-hr-report-summary {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.trollope-hr-report-summary > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px;
	background: #ffffff;
	border: 1px solid #e0e5e9;
	border-radius: 6px;
}

.trollope-hr-report-summary strong {
	color: #00539b;
	font-size: 22px;
}

.trollope-hr-report-summary span {
	color: #6f7780;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.trollope-hr-report-export-card {
	padding: 20px 22px;
}

.trollope-hr-report-export-card h2 {
	margin: 0 0 5px;
	color: #17324b;
	font-size: 18px;
}

.trollope-hr-report-export-card p {
	margin: 0;
	color: #6f7780;
	font-size: 13px;
}

.trollope-hr-planned-note {
	margin-top: 14px;
	color: #6f7780;
	font-size: 12px;
}

@media (max-width: 1024px) {
	.trollope-hr-kpi-grid,
	.trollope-hr-vacancy-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trollope-hr-vacancy-position-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.trollope-hr-vacancy-position-counts {
		width: 100%;
	}

	.trollope-hr-report-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.trollope-hr-portal-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trollope-hr-kpi-grid,
	.trollope-hr-vacancy-grid,
	.trollope-hr-report-filters,
	.trollope-hr-report-summary {
		grid-template-columns: 1fr;
	}

	.trollope-hr-section-heading,
	.trollope-hr-vacancy-card-head,
	.trollope-hr-vacancy-group-head,
	.trollope-hr-report-export-card {
		align-items: flex-start;
		flex-direction: column;
	}

	.trollope-hr-vacancy-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trollope-hr-vacancy-position-counts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.trollope-hr-report-actions {
		flex-direction: column;
	}

	.trollope-hr-report-actions .trollope-hr-button,
	.trollope-hr-report-actions .trollope-hr-clear-button {
		width: 100%;
		box-sizing: border-box;
	}
}


/* ================================
   HR Portal Refinements v16
   ================================ */

/* Keep all non-destructive HR controls in Trollope colours on press/focus/visited. */
.trollope-hr-dashboard .trollope-hr-button:not(.trollope-hr-delete-test-button),
.trollope-hr-dashboard .trollope-hr-button:not(.trollope-hr-delete-test-button):visited,
.trollope-hr-dashboard .trollope-hr-button:not(.trollope-hr-delete-test-button):focus,
.trollope-hr-dashboard .trollope-hr-button:not(.trollope-hr-delete-test-button):active {
	background-color: #00539b !important;
	border-color: #00539b !important;
	color: #ffffff !important;
	outline: none !important;
}

.trollope-hr-dashboard .trollope-hr-button:not(.trollope-hr-delete-test-button):hover {
	background-color: #003f78 !important;
	border-color: #003f78 !important;
	color: #ffffff !important;
}

.trollope-hr-dashboard .trollope-hr-button-secondary,
.trollope-hr-dashboard .trollope-hr-button-secondary:visited,
.trollope-hr-dashboard .trollope-hr-button-secondary:focus,
.trollope-hr-dashboard .trollope-hr-button-secondary:active {
	background: #ffffff !important;
	border-color: #00539b !important;
	color: #00539b !important;
}

.trollope-hr-dashboard .trollope-hr-button-secondary:hover {
	background: #eef5fb !important;
	border-color: #003f78 !important;
	color: #003f78 !important;
}

.trollope-hr-dashboard .trollope-hr-portal-nav-link,
.trollope-hr-dashboard .trollope-hr-portal-nav-link:visited,
.trollope-hr-dashboard .trollope-hr-portal-nav-link:focus,
.trollope-hr-dashboard .trollope-hr-portal-nav-link:active {
	background: transparent !important;
	color: #4d5965 !important;
	outline: none !important;
}

.trollope-hr-dashboard .trollope-hr-portal-nav-link:hover {
	background: #ffffff !important;
	color: #00539b !important;
}

.trollope-hr-dashboard .trollope-hr-portal-nav-link.active,
.trollope-hr-dashboard .trollope-hr-portal-nav-link.active:visited,
.trollope-hr-dashboard .trollope-hr-portal-nav-link.active:focus,
.trollope-hr-dashboard .trollope-hr-portal-nav-link.active:active,
.trollope-hr-dashboard .trollope-hr-portal-nav-link.active:hover {
	background: #00539b !important;
	color: #ffffff !important;
}

.trollope-hr-dashboard .trollope-hr-section-link,
.trollope-hr-dashboard .trollope-hr-section-link:visited,
.trollope-hr-dashboard .trollope-hr-section-link:focus,
.trollope-hr-dashboard .trollope-hr-section-link:active,
.trollope-hr-dashboard .trollope-hr-back,
.trollope-hr-dashboard .trollope-hr-back:visited,
.trollope-hr-dashboard .trollope-hr-back:focus,
.trollope-hr-dashboard .trollope-hr-back:active,
.trollope-hr-dashboard .trollope-hr-reference,
.trollope-hr-dashboard .trollope-hr-reference:visited,
.trollope-hr-dashboard .trollope-hr-reference:focus,
.trollope-hr-dashboard .trollope-hr-reference:active {
	color: #00539b !important;
	outline: none !important;
}

.trollope-hr-dashboard .trollope-hr-section-link:hover,
.trollope-hr-dashboard .trollope-hr-back:hover,
.trollope-hr-dashboard .trollope-hr-reference:hover {
	color: #003f78 !important;
}

.trollope-hr-dashboard .trollope-hr-clear-button,
.trollope-hr-dashboard .trollope-hr-clear-button:visited,
.trollope-hr-dashboard .trollope-hr-clear-button:focus,
.trollope-hr-dashboard .trollope-hr-clear-button:active {
	background: transparent !important;
	border-color: #cfd7df !important;
	color: #59636e !important;
	outline: none !important;
}

.trollope-hr-dashboard .trollope-hr-clear-button:hover {
	background: #ffffff !important;
	border-color: #aeb8c2 !important;
	color: #24272b !important;
}

.trollope-hr-dashboard .trollope-hr-logout,
.trollope-hr-dashboard .trollope-hr-logout:visited,
.trollope-hr-dashboard .trollope-hr-logout:focus,
.trollope-hr-dashboard .trollope-hr-logout:active {
	background: #ffffff !important;
	border-color: #00539b !important;
	color: #00539b !important;
	outline: none !important;
}

.trollope-hr-dashboard .trollope-hr-logout:hover {
	background: #eef5fb !important;
	border-color: #003f78 !important;
	color: #003f78 !important;
}

/* Subtle semantic emphasis for dashboard KPIs. */
.trollope-hr-kpi-card.neutral {
	border-left: 4px solid #7f8a95;
}

.trollope-hr-kpi-card.positive {
	border-left: 4px solid #7fb88b;
	background: #fbfefc;
}

.trollope-hr-kpi-card.warning {
	border-left: 4px solid #d5ae55;
	background: #fffdf8;
}

.trollope-hr-kpi-card.negative {
	border-left: 4px solid #cf8c8c;
	background: #fffafa;
}

.trollope-hr-kpi-card,
.trollope-hr-kpi-card:visited,
.trollope-hr-kpi-card:focus,
.trollope-hr-kpi-card:active {
	color: inherit !important;
	outline: none !important;
}

/* Five pipeline stats now fit evenly on dashboard vacancy cards. */
.trollope-hr-vacancy-stats {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* Compact AI line in the Vacancies view. */
.trollope-hr-vacancy-position-summary {
	flex: 1;
	min-width: 0;
}

.trollope-hr-vacancy-position-ai {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 7px;
}

.trollope-hr-vacancy-position-ai a,
.trollope-hr-vacancy-position-ai a:visited,
.trollope-hr-vacancy-position-ai a:focus,
.trollope-hr-vacancy-position-ai a:active {
	display: inline-flex;
	padding: 3px 7px;
	border-radius: 4px;
	font-size: 10px;
	font-weight: 700;
	text-decoration: none !important;
	outline: none !important;
}

.trollope-hr-vacancy-position-ai a.strong { background: #eaf7ed !important; color: #166534 !important; }
.trollope-hr-vacancy-position-ai a.moderate { background: #fff6df !important; color: #8a5a00 !important; }
.trollope-hr-vacancy-position-ai a.limited { background: #fdecec !important; color: #991b1b !important; }

.trollope-hr-vacancy-position-counts a,
.trollope-hr-vacancy-position-counts a:visited,
.trollope-hr-vacancy-position-counts a:focus,
.trollope-hr-vacancy-position-counts a:active {
	background: #f8fafc !important;
	color: inherit !important;
	outline: none !important;
}

.trollope-hr-vacancy-position-counts a:hover {
	background: #eef5fb !important;
}

/* Application rows are now usable as the application-detail target. */
.trollope-hr-application-row {
	cursor: pointer;
}

.trollope-hr-application-row:focus {
	outline: 2px solid rgba(0, 83, 155, .35);
	outline-offset: -2px;
	background: #f8fbfd;
}

@media (max-width: 1024px) {
	.trollope-hr-vacancy-stats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.trollope-hr-vacancy-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


/* ================================
   Public Vacancy Cards - Compact Corporate v17
   ================================ */

/* Careers listing cards: tighter, calmer and more corporate. */
.trollope-positions-list {
	gap: 16px;
}

.trollope-position-card {
	padding: 20px 24px 18px;
	border-radius: 6px;
}

.trollope-position-header {
	gap: 20px;
	padding-bottom: 14px;
	margin-bottom: 16px;
}

.trollope-position-heading h3 {
	margin-bottom: 5px;
	font-size: 20px;
	line-height: 1.25;
}

.trollope-position-reference {
	font-size: 11px;
}

.trollope-position-apply {
	min-width: 0;
	padding: 10px 16px;
	font-size: 12px;
	border-radius: 5px;
}

.trollope-position-meta {
	gap: 36px;
	padding: 10px 0 14px;
	margin-bottom: 14px;
}

.trollope-position-meta-item span {
	font-size: 9px;
}

.trollope-position-meta-item strong {
	font-size: 13px;
}

.trollope-position-section {
	margin-bottom: 12px;
}

.trollope-position-section h4 {
	margin-bottom: 8px;
	font-size: 15px;
}

.trollope-position-section p {
	font-size: 13px;
	line-height: 1.55;
}

.trollope-position-details-grid {
	gap: 28px;
	margin: 14px 0 10px;
	padding: 16px 0;
}

.trollope-position-detail-stack {
	gap: 16px;
}

.trollope-position-detail-block h4 {
	margin-bottom: 8px;
	font-size: 14px;
}

.trollope-position-detail-block ul {
	padding-left: 17px;
}

.trollope-position-detail-block li {
	margin-bottom: 4px;
	font-size: 12.5px;
	line-height: 1.5;
}

.trollope-position-requirements {
	padding-top: 18px;
}

.trollope-position-column {
	padding: 0 22px 2px;
}

.trollope-position-column h4 {
	margin-bottom: 10px;
	font-size: 12px;
}

.trollope-position-column ul {
	padding-left: 17px;
}

.trollope-position-column li {
	margin-bottom: 5px;
	font-size: 12.5px;
	line-height: 1.5;
}

@media (max-width: 767px) {
	.trollope-positions-list {
		gap: 14px;
	}

	.trollope-position-card {
		padding: 18px 16px;
	}

	.trollope-position-header {
		gap: 14px;
		padding-bottom: 14px;
		margin-bottom: 16px;
	}

	.trollope-position-heading h3 {
		font-size: 18px;
	}
}

/* ================================
   Position List Group Spacing v19
   ================================ */

/* Numbered responsibility headings are rendered as separate groups. */
.trollope-position-detail-block .trollope-position-list-heading {
	margin: 14px 0 7px;
	color: #263746;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.trollope-position-detail-block .trollope-position-list-heading:first-child {
	margin-top: 0;
}

/* Keep the bullet group visually attached to its heading. */
.trollope-position-detail-block .trollope-position-list-heading + ul {
	margin-top: 0;
}

/* Create breathing room before the next numbered group. */
.trollope-position-detail-block ul + .trollope-position-list-heading {
	margin-top: 14px;
}

@media (max-width: 767px) {
	.trollope-position-detail-block .trollope-position-list-heading,
	.trollope-position-detail-block ul + .trollope-position-list-heading {
		margin-top: 12px;
	}
}

/* ================================
   Applicant Navigation v21
   ================================ */

.trollope-applicant-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	width: 100%;
	max-width: 1180px;
	box-sizing: border-box;
	margin: 0 auto 24px;
	padding: 12px 14px;
	background: #f7f9fb;
	border: 1px solid #dfe5ea;
	border-radius: 6px;
}

.trollope-applicant-nav-links,
.trollope-applicant-nav-session {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 14px;
}

.trollope-applicant-nav a {
	color: #00539b;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.trollope-applicant-nav a:hover {
	color: #003f78;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.trollope-applicant-nav-session {
	justify-content: flex-end;
	color: #6f7780;
	font-size: 12px;
}

.trollope-applicant-nav-session strong {
	color: #24272b;
	font-weight: 700;
}

.trollope-applicant-nav-logout,
.trollope-applicant-nav-login {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	box-sizing: border-box;
	padding: 7px 11px;
	background: #ffffff;
	border: 1px solid #cbd5df;
	border-radius: 4px;
	color: #00539b !important;
	text-decoration: none !important;
}

.trollope-applicant-nav-logout:hover,
.trollope-applicant-nav-login:hover {
	background: #eef5fb;
	border-color: #00539b;
	color: #003f78 !important;
}

.trollope-applicant-account-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 22px;
	padding: 14px 16px;
	background: #f7f9fb;
	border: 1px solid #dfe5ea;
	border-radius: 6px;
}

.trollope-applicant-account-intro > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.trollope-applicant-account-label {
	color: #6f7780;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.trollope-applicant-account-intro strong {
	color: #24272b;
	font-size: 15px;
	font-weight: 700;
}

.trollope-applicant-account-intro > div > span:last-child {
	color: #6f7780;
	font-size: 12px;
}

.trollope-browse-vacancies-button {
	white-space: nowrap;
}

@media (max-width: 767px) {

	.trollope-applicant-nav,
	.trollope-applicant-account-intro {
		align-items: flex-start;
		flex-direction: column;
	}

	.trollope-applicant-nav-session {
		justify-content: flex-start;
	}

	.trollope-browse-vacancies-button {
		width: 100%;
	}

}

/* ================================
   Applicant Navigation - Careers Width Fix v22
   ================================ */

/*
 * Elementor can shrink-wrap the shortcode widget itself even though the
 * navigation inside it is set to width:100%. Force the shortcode chain to
 * stretch so the applicant utility bar follows the same 1180px Careers grid.
 */
.elementor-widget-shortcode:has(.trollope-applicant-nav),
.elementor-widget-shortcode:has(.trollope-applicant-nav) > .elementor-widget-container,
.elementor-widget-shortcode:has(.trollope-applicant-nav) .elementor-shortcode {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
	align-self: stretch !important;
	flex: 1 1 100% !important;
}

/* Full-width utility bar aligned with the Careers content. */
.trollope-applicant-nav {
	width: 100% !important;
	max-width: 1180px !important;
	min-height: 54px;
	margin: 0 auto 30px !important;
	padding: 13px 18px;
	box-sizing: border-box;
	background: #f7f9fb;
	border: 1px solid #d9e1e8;
	border-radius: 6px;
}

.trollope-applicant-nav-links {
	gap: 10px 20px;
}

.trollope-applicant-nav-session {
	margin-left: auto;
	gap: 10px 14px;
}

.trollope-applicant-nav a {
	font-size: 13px;
}

.trollope-applicant-nav-session {
	font-size: 12px;
}

.trollope-applicant-nav-logout,
.trollope-applicant-nav-login {
	min-height: 34px;
	padding: 7px 12px;
}

/* Tablet */
@media (max-width: 1024px) {

	.trollope-applicant-nav {
		max-width: 100% !important;
		margin-bottom: 26px !important;
	}

}

/* Mobile */
@media (max-width: 767px) {

	.trollope-applicant-nav {
		gap: 12px;
		padding: 14px;
		margin-bottom: 22px !important;
	}

	.trollope-applicant-nav-links,
	.trollope-applicant-nav-session {
		width: 100%;
	}

	.trollope-applicant-nav-session {
		margin-left: 0;
		justify-content: space-between;
	}

	.trollope-applicant-nav-logout,
	.trollope-applicant-nav-login {
		flex: 0 0 auto;
	}

}


/* ================================
   HR Feedback Refinements - Round 1
   ================================ */

/* Match empty requirement copy to the normal requirement-list typography. */
.trollope-position-column .trollope-position-empty,
.trollope-position-detail-block .trollope-position-empty {
	margin: 0;
	color: #333333;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.5;
}

/* Give multi-position adverts a clearer visual break between role cards. */
.trollope-positions-list {
	gap: 22px;
}

.trollope-position-card {
	border-color: #d6dee5;
	box-shadow: 0 5px 16px rgba(0, 39, 77, 0.04);
}

.trollope-position-card + .trollope-position-card {
	position: relative;
}

/* Compact list for the Elementor vacancy card on mass adverts.
 * Add [trollope_vacancy_positions_summary] to the loop item where required. */
.trollope-vacancy-position-summary {
	margin: 9px 0 12px;
	padding: 9px 11px;
	background: #f7f9fb;
	border-left: 3px solid #00539b;
	border-radius: 0 4px 4px 0;
	color: #425160;
	font-size: 12px;
	line-height: 1.45;
}

.trollope-vacancy-position-summary-label {
	display: block;
	margin-bottom: 4px;
	color: #17324b;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.trollope-vacancy-position-summary ul {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.trollope-vacancy-position-summary li {
	position: relative;
	margin: 0;
	padding-left: 10px;
}

.trollope-vacancy-position-summary li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .58em;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #00539b;
}

/* New HR-friendly AI outcome classes. Legacy classes are retained above. */
.trollope-hr-ai-finding.met {
	background: #eaf7ed;
	color: #166534;
}

.trollope-hr-ai-finding.not_met {
	background: #fdecec;
	color: #991b1b;
}

.trollope-hr-ai-finding.not_evidenced {
	background: #fff6df;
	color: #8a5a00;
}

@media (max-width: 767px) {
	.trollope-positions-list {
		gap: 18px;
	}

	.trollope-vacancy-position-summary ul {
		flex-direction: column;
		gap: 3px;
	}
}

/* ================================
   Public Vacancy Position Summary - v24
   ================================ */

/*
 * Keep the mass-advert position summary visually integrated with the
 * Elementor vacancy card instead of appearing as a separate grey panel.
 */
.trollope-vacancy-position-summary {
	margin: 12px 0 14px;
	padding: 2px 0 2px 12px;
	background: transparent;
	border-left: 2px solid #00539b;
	border-radius: 0;
	color: #4f5d69;
	font-size: 11.5px;
	line-height: 1.45;
}

.trollope-vacancy-position-summary-label {
	display: block;
	margin-bottom: 4px;
	color: #68737e;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.trollope-vacancy-position-summary ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px 15px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.trollope-vacancy-position-summary li {
	position: relative;
	margin: 0;
	padding-left: 9px;
	color: #33495c;
	white-space: normal;
}

.trollope-vacancy-position-summary li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #00539b;
}

@media (max-width: 767px) {
	.trollope-vacancy-position-summary {
		margin: 10px 0 12px;
	}

	.trollope-vacancy-position-summary ul {
		flex-direction: column;
		align-items: flex-start;
		gap: 2px;
	}
}

/* ================================
   Careers Context Navigation - v26
   ================================ */

.trollope-careers-context-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 20px;
	padding: 0 0 13px;
	border-bottom: 1px solid #e2e6ea;
}

.trollope-careers-context-nav-vacancy {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
}

.trollope-careers-back-link,
.trollope-careers-browse-link,
.trollope-form-secondary-link {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	color: #00539b !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none !important;
}

.trollope-careers-back-link:hover,
.trollope-careers-browse-link:hover,
.trollope-form-secondary-link:hover {
	color: #003f78 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.trollope-careers-browse-link {
	margin-left: auto;
}

.trollope-form-secondary-link {
	padding: 4px 2px;
}

@media (max-width: 767px) {
	.trollope-careers-context-nav {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
		margin-bottom: 16px;
		padding-bottom: 11px;
	}

	.trollope-careers-browse-link {
		margin-left: 0;
	}

	.trollope-form-secondary-link {
		width: auto !important;
		align-self: flex-start;
	}
}

/* ================================
   Careers Context Navigation - Button Emphasis v27
   ================================ */

.trollope-careers-back-link,
.trollope-careers-browse-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	box-sizing: border-box;
	padding: 8px 14px;
	background: #ffffff;
	border: 1px solid #00539b;
	border-radius: 5px;
	color: #00539b !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease,
		transform 0.18s ease;
}

.trollope-careers-back-link:hover,
.trollope-careers-back-link:focus,
.trollope-careers-browse-link:hover,
.trollope-careers-browse-link:focus {
	background: #eef5fb;
	border-color: #003f78;
	color: #003f78 !important;
	text-decoration: none !important;
	transform: translateY(-1px);
	outline: none;
}

.trollope-careers-back-link:active,
.trollope-careers-browse-link:active {
	transform: translateY(0);
}

@media (max-width: 767px) {

	.trollope-careers-back-link,
	.trollope-careers-browse-link {
		width: 100%;
		justify-content: flex-start;
	}

}
