/* Signup / Manage Listing Link */

.bspa-supervisor-signup-link-wrap {
	text-align: right;
	padding-right: 8%;
}

/* Directory Intro */

.bspa-supervision-hub-intro {
	margin: 0 0 20px;
	padding: 28px 32px;
}

.bspa-supervision-hub-intro .strength-img-container {
	display: flex;
	flex-direction: column; /* Stack vertically on mobile */
	gap: 15px;
	margin-bottom: 10px;
}

.bspa-supervision-hub-intro .strength-img {
	width: 100%; /* Full width on mobile */
	height: auto;
}

@media (min-width: 768px) {
	.bspa-supervision-hub-intro .strength-img-container {
		flex-direction: row-reverse;
		align-items: end;
		justify-content: space-between;
		margin-bottom: 30px;
	}
	.bspa-supervision-hub-intro .strength-img-container h2 {
		flex: 1;
		margin-bottom: 0;
	}
	.bspa-supervision-hub-intro .strength-img {
		width: 280px;
		margin-left: 20px;
	}
}

@media (min-width: 1200px) {
	.bspa-supervision-hub-intro .strength-img {
		width: 390px;
	}
}

.bspa-supervision-hub-intro p:last-child {
	margin-bottom: 0;
}

.bspa-supervision-hub-intro .buttons-section {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
	margin: 40px 0 60px;
}

.bspa-supervision-hub-intro .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 calc(45% - 15px);
	max-width: calc(45% - 15px);
	min-height: 44px;
	padding: 16px 22px;
	border-radius: 8px;
	background: #2e376d;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.66em;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
	transition: background 0.2s ease, transform 0.2s ease;
	box-sizing: border-box;
}

.bspa-supervision-hub-intro .elementor-button:hover,
.bspa-supervision-hub-intro .elementor-button:focus {
	background: #1f2754;
	color: #fff;
	transform: translateY(-1px);
}

.bspa-supervision-hub-intro .disclaimer-box, .bspa-supervision-hub-intro .instructions-box {
	margin: 20px 0 0;
	padding: 20px 25px 20px 15px;
	border-radius: 8px;
	color: #323B60;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5em;
	display: flex;
	align-items: start;
	gap: 15px;
}

.bspa-supervision-hub-intro .disclaimer-box {
	background-color: aliceblue;
}

/* Ensure the text wraps nicely next to the icon */
.bspa-supervision-hub-intro .disclaimer-box .disclaimer-text {
  margin: 0;
  flex: 1;
}

/* Size and color styling for the SVG info icon */
.bspa-supervision-hub-intro .disclaimer-box .info-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0; /* Prevents the icon from squeezing on smaller screens */
  color: #323B60; /* Change this hex code to adjust the circle color */
}

/* Size and color styling for the SVG search icon */
.bspa-supervision-hub-intro .instructions-box .search-icon {
  width: 30px;
  height: 30px;
  flex-shrink: 0; /* Prevents the icon from squeezing on smaller screens */
}

.bspa-supervision-hub-intro .info-icon text {
	fill: #fff;
}

.bspa-supervision-hub-intro .instructions-box .instructions-headline {
	display: block;
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 600;
}


/* Supervision Hub Disclaimer Gate */

.bspa-supervision-hub-disclaimer-gate {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 70vh;
	padding: 24px;
}

.bspa-supervision-hub-disclaimer-gate__dialog {
	width: min(860px, 100%);
	padding: 32px;
	border: 1px solid #d8dbe2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(18, 26, 43, 0.12);
}

.bspa-supervision-hub-disclaimer-gate__title {
	margin: 0 0 24px;
	color: #24314f;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
}

.bspa-supervision-hub-disclaimer-gate__instruction {
	margin: 0 0 24px;
	padding: 14px 16px;
	border-left: 4px solid #2e376d;
	border-radius: 8px;
	background: #f5f7fb;
	color: #24314f;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
}

.bspa-supervision-hub-disclaimer-gate__content {
	color: #2f3440;
	font-size: 18px;
	line-height: 1.75;
}

.bspa-supervision-hub-disclaimer-gate__content p {
	margin: 0 0 22px;
}

.bspa-supervision-hub-disclaimer-gate__content ol {
	margin: 0 0 24px;
	padding-left: 32px;
}

.bspa-supervision-hub-disclaimer-gate__content ol ol {
	margin-top: 14px;
	margin-bottom: 14px;
	padding-left: 40px;
}

.bspa-supervision-hub-disclaimer-gate__content li {
	margin-bottom: 14px;
}

.bspa-supervision-hub-disclaimer-gate__content li > p {
	margin-bottom: 14px;
}

.bspa-supervision-hub-disclaimer-gate__content ol[type="A"],
.bspa-supervision-hub-disclaimer-gate__content ol[type="a"] {
	padding-left: 38px;
}

.bspa-supervision-hub-disclaimer-gate__content ol[type="A"] > li,
.bspa-supervision-hub-disclaimer-gate__content ol[type="a"] > li,
.bspa-supervision-hub-disclaimer-gate__content ol ol > li {
	padding-left: 10px;
}

.bspa-supervision-hub-disclaimer-gate__content strong {
	font-weight: 700;
	color: #24314f;
}

.bspa-supervision-hub-disclaimer-gate__content em {
	font-style: italic;
}

.bspa-supervision-hub-disclaimer-gate__content > :last-child,
.bspa-supervision-hub-disclaimer-gate__content li:last-child,
.bspa-supervision-hub-disclaimer-gate__content li > :last-child {
	margin-bottom: 0;
}

/* Target lists using lowercase letters */
.bspa-supervision-hub-disclaimer-gate__content ol.letters {
  list-style-type: lower-alpha;
}

.bspa-supervision-hub-disclaimer-gate__content ol.letters li::marker {
  content: counter(list-item, lower-alpha) ") ";
}

/* Target lists using lowercase Roman numerals */
.bspa-supervision-hub-disclaimer-gate__content ol.roman {
  list-style-type: lower-roman;
}

.bspa-supervision-hub-disclaimer-gate__content ol.roman li::marker {
  content: counter(list-item, lower-roman) ") ";
}

/* Disclaimer Table */

.bspa-supervision-hub-disclaimer-gate__content li table {
	display: block;
	margin-top: 30px;
	margin-bottom: 40px !important;
	overflow-x: auto;
}

.bspa-supervision-hub-disclaimer-gate__content thead {
	background-color: #f5f7fb;
	font-weight: bold;
}

.bspa-supervision-hub-disclaimer-gate__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid #e3e7ef;
}

.bspa-supervision-hub-disclaimer-gate__accept-form {
	margin: 0;
}

.bspa-supervision-hub-disclaimer-gate .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid #2e376d;
	border-radius: 8px;
	background: #2e376d;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	transition: background 0.2s ease, transform 0.2s ease;
}

.bspa-supervision-hub-disclaimer-gate .button:hover,
.bspa-supervision-hub-disclaimer-gate .button:focus {
	background: #1f2754;
	border-color: #1f2754;
	color: #fff;
	transform: translateY(-1px);
}

.bspa-supervision-hub-disclaimer-gate .button.button-secondary {
	background: #fff;
	color: #2e376d;
	border-color: #bcc4d1;
	box-shadow: none;
}

.bspa-supervision-hub-disclaimer-gate .button.button-secondary:hover,
.bspa-supervision-hub-disclaimer-gate .button.button-secondary:focus {
	background: #f3f5fa;
	color: #1f2754;
	border-color: #aeb8c9;
}

@media (max-width: 767px) {
	.bspa-supervision-hub-disclaimer-gate {
		padding: 12px;
		min-height: auto;
	}

	.bspa-supervision-hub-disclaimer-gate__dialog {
		padding: 22px 20px;
	}

	.bspa-supervision-hub-disclaimer-gate__title {
		font-size: 24px;
	}

	.bspa-supervision-hub-disclaimer-gate__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.bspa-supervision-hub-disclaimer-gate__accept-form,
	.bspa-supervision-hub-disclaimer-gate .button {
		width: 100%;
	}
}

/* Directory Toolbar */

.bspa-directory-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 40px;
	padding: 0 34px;
}

button.bspa-directory-filters-trigger {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	border: 1px solid #2e376d;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(31, 39, 84, 0.08);
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.bspa-directory-filters-trigger:hover,
.bspa-directory-filters-trigger:focus {
	background: #f3f5fa;
	border-color: #1f2754;
	color: #1f2754;
}

.bspa-directory-filters-trigger-icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
}

.bspa-directory-filters-trigger-icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

.bspa-directory-results-count {
	color: #24314f;
	font-size: 15px;
	font-weight: 600;
	text-align: right;
}

@media (max-width:767px) {
	.bspa-directory-toolbar {
		margin: 0 0 20px;
	}
}

/* Active Filter Chips */

.bspa-directory-active-filters {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 28px;
	padding: 0 34px;
}

.bspa-directory-active-filters__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bspa-directory-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border: 1px solid #cfd6e4;
	border-radius: 999px;
	background: #f7f9fc;
	color: #24314f;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
}

.bspa-directory-filter-chip:hover,
.bspa-directory-filter-chip:focus {
	background: #eef3fb;
	border-color: #b8c5dd;
	color: #1f2754;
}

.bspa-directory-filter-chip__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #e3e9f4;
	color: #2e376d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.bspa-directory-active-filters__clear a {
	color: #355bb3;
	font-weight: 600;
	text-decoration: underline;
	white-space: nowrap;
}

.bspa-directory-active-filters__clear a:hover,
.bspa-directory-active-filters__clear a:focus {
	color: #243f82;
}

/* Directory Filters Modal */

.bspa-directory-filters-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.bspa-directory-filters-modal[hidden] {
	display: none;
}

.bspa-directory-filters-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 28, 45, 0.5);
}

.bspa-directory-filters-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(960px, 100%);
	max-height: calc(100vh - 48px);
	overflow: auto;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(18, 26, 43, 0.2);
}

.bspa-supervisor-directory-filters {
	margin: 0;
	padding: 28px;
	border: 0;
	border-radius: 18px;
	background: #fff;
	box-shadow: none;
}

.bspa-directory-filters-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 24px;
	padding-bottom: 18px;
	border-bottom: 1px solid #e3e7ef;
}

.bspa-directory-filters-modal__title {
	margin: 0;
	color: #24314f;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
}

.bspa-directory-filters-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #d1d7e3;
	border-radius: 50%;
	background: #fff;
	color: #24314f;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.bspa-directory-filters-modal__close:hover,
.bspa-directory-filters-modal__close:focus {
	background: #f5f7fb;
	border-color: #bcc7da;
}

.bspa-directory-filters-modal__body {
	padding: 0;
}

.bspa-directory-filter-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 24px;
}

.bspa-directory-filter-field {
	margin: 0;
}

.bspa-directory-filter-field label,
.bspa-directory-filter-section-title {
	display: block;
	margin-bottom: 10px;
	font-weight: 700;
	color: #24314f;
	font-size: 16px;
	line-height: 1.3;
}

.bspa-supervisor-directory-filters input[type="text"],
.bspa-supervisor-directory-filters input[type="search"],
.bspa-supervisor-directory-filters input[type="number"],
.bspa-supervisor-directory-filters select,
.bspa-supervisor-directory-filters textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #bcc4d1;
	border-radius: 8px;
	background: #fff;
	color: #1f2430;
	font-size: 16px;
	line-height: 1.4;
	box-sizing: border-box;
}

.bspa-supervisor-directory-filters input:focus,
.bspa-supervisor-directory-filters select:focus,
.bspa-supervisor-directory-filters textarea:focus {
	border-color: #2e6db5;
	outline: none;
	box-shadow: 0 0 0 3px rgba(46, 109, 181, 0.15);
}

.bspa-directory-filter-telesupervision, .bspa-directory-filter-capacity {
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 1px solid #e1e5ec;
	border-radius: 12px;
	background: #f8f9fb;
}

.bspa-directory-filter-specialisations {
	margin-bottom: 8px;
}

.bspa-directory-specialisations-accordion {
	border: 1px solid #e1e5ec;
	border-radius: 12px;
	background: #f8f9fb;
	overflow: hidden;
}

.bspa-directory-specialisations-accordion summary {
	list-style: none;
	cursor: pointer;
	padding: 18px 20px;
	margin: 0;
}

.bspa-directory-specialisations-accordion summary::-webkit-details-marker {
	display: none;
}

.bspa-directory-specialisations-accordion summary::after {
	content: "+";
	float: right;
	font-size: 22px;
	line-height: 1;
	color: #2e376d;
}

.bspa-directory-specialisations-accordion[open] summary::after {
	content: "–";
}

.bspa-directory-specialisations-accordion-body {
	padding: 0 20px 20px;
}

.bspa-directory-specialisation-group {
	margin-bottom: 18px;
	padding: 18px 20px;
	border: 1px solid #e1e5ec;
	border-radius: 12px;
	background: #fff;
}

.bspa-directory-specialisation-group:last-child {
	margin-bottom: 0;
}

.bspa-directory-specialisation-group-title {
	margin-bottom: 14px;
	font-weight: 700;
	color: #2e376d;
	font-size: 16px;
	line-height: 1.3;
}

.bspa-directory-specialisation-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 18px;
}

.bspa-directory-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-weight: 400;
	color: #2f3440;
	cursor: pointer;
}

.bspa-directory-checkbox input[type="checkbox"] {
	margin: 4px 0 0;
	flex: 0 0 auto;
}

.bspa-directory-checkbox span {
	line-height: 1.4;
}

.bspa-directory-checkbox-inline {
	align-items: center;
}

.bspa-directory-filters-modal__footer {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid #e3e7ef;
}

.bspa-directory-filter-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.bspa-supervisor-directory-filters .button,
.bspa-supervisor-directory-filters button,
.bspa-supervisor-directory-filters input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid #2e376d;
	border-radius: 8px;
	background: #2e376d;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	transition: background 0.2s ease, transform 0.2s ease;
}

.bspa-supervisor-directory-filters .button:hover,
.bspa-supervisor-directory-filters button:hover,
.bspa-supervisor-directory-filters input[type="submit"]:hover,
.bspa-supervisor-directory-filters .button:focus,
.bspa-supervisor-directory-filters button:focus,
.bspa-supervisor-directory-filters input[type="submit"]:focus {
	background: #1f2754;
	border-color: #1f2754;
	color: #fff;
	transform: translateY(-1px);
}

.bspa-supervisor-directory-filters .button.button-secondary,
.bspa-directory-close-button {
	background: #fff;
	color: #2e376d;
	border-color: #bcc4d1;
	box-shadow: none;
}

.bspa-supervisor-directory-filters .button.button-secondary:hover,
.bspa-supervisor-directory-filters .button.button-secondary:focus,
.bspa-directory-close-button:hover,
.bspa-directory-close-button:focus {
	background: #f3f5fa;
	color: #1f2754;
	border-color: #aeb8c9;
}

.bspa-directory-filter-actions a {
	color: #355bb3;
	font-weight: 600;
	text-decoration: underline;
}

.bspa-directory-filter-actions a:hover,
.bspa-directory-filter-actions a:focus {
	color: #243f82;
}

body.bspa-directory-filters-modal-open {
	overflow: hidden;
}

/* Directory Results / Cards */

.bspa-supervisor-directory-results {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-top: 60px;
}

.bspa-supervisor-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-bottom: 0;
	padding: 24px;
	border: 1px solid #d8dbe2;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 6px 18px rgba(31, 39, 84, 0.06);
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.bspa-supervisor-card:hover,
.bspa-supervisor-card:focus {
	border-color: #c7d1e0;
	box-shadow: 0 10px 24px rgba(31, 39, 84, 0.1);
	transform: translateY(-2px);
	text-decoration: none;
}

.bspa-supervisor-card .title {
	margin: 0 0 18px;
	color: #1677bc;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.15;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.bspa-supervisor-card:hover .title,
.bspa-supervisor-card:focus .title {
	color: #243f82;
}

.bspa-supervisor-card .meta {
	display: grid;
	gap: 8px;
}

.bspa-supervisor-card .meta-row {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	align-items: start;
	column-gap: 10px;
	min-width: 0;
}

.bspa-supervisor-card .icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: #106fb3d4;
}

.bspa-supervisor-card .icon svg {
	display: block;
	width: 22px;
	height: 22px;
}

.bspa-supervisor-card .label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.bspa-supervisor-card .value {
	color: #2f3440;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	text-align: left;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.bspa-supervisor-card .icon.availability {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: #2f3440;
}

.bspa-supervisor-card .icon.availability .bspa-status-dot {
	display: inline-block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: currentColor;
}

.bspa-supervisor-card .icon.availability.availability-active {
	color: #52AC69;
}

.bspa-supervisor-card .icon.availability.availability-limited {
	color: #BF9458;
}

.bspa-supervisor-card .icon.availability.availability-no_capacity {
	color: #BF6158;
}

.bspa-supervisor-card .actions {
	margin-top: 20px;
}

.bspa-supervisor-card .view-profile-link {
	color: #1677bc;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: underline;
}

.bspa-supervisor-card:hover .view-profile-link,
.bspa-supervisor-card:focus .view-profile-link {
	color: #243f82;
}

/* Supervisor Detail Page */

.return-link {
	margin: 0 0 40px;
}

.return-link a {
	color: #1677bc;
	font-size: 18px;
	font-weight: 500;
	text-decoration: none !important;
}

.return-link a:hover,
.return-link a:focus {
	color: #243f82;
}

.bspa-supervisor-detail {
	padding: 32px;
	border: 1px solid #d8dbe2;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 30px rgba(18, 26, 43, 0.12);
}

.bspa-supervisor-detail h2 {
	margin: 0 0 28px;
	color: #1677bc !important;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.15;
}

.bspa-supervisor-detail .meta {
	display: grid;
	gap: 8px;
	margin-bottom: 32px;
}

.bspa-supervisor-detail .meta-row {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: start;
	column-gap: 16px;
}

.bspa-supervisor-detail .label {
	color: #24314f;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
}

.bspa-supervisor-detail .value {
	color: #2f3440;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}

.bspa-supervisor-detail .value a {
	color: #1677bc;
	text-decoration: underline;
	word-break: break-word;
}

.bspa-supervisor-detail .value a:hover,
.bspa-supervisor-detail .value a:focus {
	color: #243f82;
}

.bspa-supervisor-detail .specialisations-row {
	margin: 20px 0 28px;
	padding-top: 10px;
}

.bspa-supervisor-detail .specialisations {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bspa-supervisor-detail .specialisations li {
	position: relative;
	margin: 0;
	padding-left: 28px;
}

.bspa-supervisor-detail .specialisations li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #1677bc;
	font-weight: 700;
}

.bspa-supervisor-detail .section {
	margin-top: 32px;
	padding-top: 32px;
	border-top: 1px solid #e3e7ef;
}

.bspa-supervisor-detail .section-title {
	margin: 0 0 14px;
	color: #24314f;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
}

.bspa-supervisor-detail .section-content {
	color: #2f3440;
	font-size: 16px;
	line-height: 1.75;
}

.bspa-supervisor-detail .section-content p {
	margin: 0 0 16px;
}

.bspa-supervisor-detail .section-content > :last-child {
	margin-bottom: 0;
}

.bspa-supervisor-contact {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid #e3e7ef;
}

.bspa-supervisor-contact__body {
	margin-top: 16px;
}

.bspa-contact-meta {
	margin-bottom: 18px;
}

.bspa-contact-meta p {
	margin: 0 0 10px;
}

/* Profile Editing Page */

.bspa-supervisor-profile-note {
	margin: 30px 0;
}

.bspa-supervisor-profile-note ol li {
	margin-bottom: 20px;
}

.supervisor-profile .profile-note {
	font-size: 15px;
	margin-bottom: 40px;
}

.supervisor-profile .profile-note.notice-error {
	font-size: 17px;
	color: red;
}

.supervisor-profile .profile-status-row {
	display: flex;
	margin-bottom: 2px;
}

.supervisor-profile .profile-status-label {
	min-width: 224px;
	font-weight: 600;
	background-color: #1677bc17;
	padding: 8px 15px;
}

.supervisor-profile .profile-status-row:nth-child(odd) .profile-status-label {
	border-radius: 6px 0 0;
}

.supervisor-profile .profile-status-row:nth-child(even) .profile-status-label {
	border-radius: 0 0 0 6px;
}

.supervisor-profile .profile-status-value {
	min-width: 120px;
	padding: 8px 15px;
	border: 1px solid #1677bc17;
}

.supervisor-profile .profile-group {
	margin-bottom: 40px;
}

.supervisor-profile .profile-field {
	margin-bottom: 20px;
}

.supervisor-profile .profile-field label {
	font-size: 15px;
	font-weight: 500;
	margin: 0 0 7px 5px;
	color: #243f82;
}

.supervisor-profile .profile-field input, .supervisor-profile .profile-field select, .supervisor-profile .profile-field textarea {
	padding: 14px 20px;
    border-radius: 8px;
	border-color: #bbb;
	color: #222;
	font-weight: 300;
}

.supervisor-profile .profile-check {
	margin: 15px 0 15px 20px;
}

.supervisor-profile .profile-check label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.5em;
}

.supervisor-profile .profile-check input[type="checkbox"] {
	margin: 7px 0 0;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

.supervisor-profile .profile-check label span {
	flex: 1 1 auto;
}




.supervisor-profile .profile-capacity-group {
	margin: 15px 0 28px 20px;
}

.supervisor-profile .profile-capacity-group > label {
	display: block;
	margin: 0 0 18px;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #2f3440;
}

.supervisor-profile .profile-radio-group {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.supervisor-profile .profile-radio-group label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;
	color: #2f3440;
	cursor: pointer;
}

.supervisor-profile .profile-radio-group input[type="radio"] {
	margin: 0;
	flex: 0 0 auto;
}




.supervisor-profile .profile-group.specialisations fieldset {
	border-radius: 8px;
	padding: 15px 10px 25px;
	border-color: #fbfbfb82;
}

.supervisor-profile .profile-group.specialisations legend {
	padding: 0 8px;
	font-size: 15px;
	font-weight: 500;
	color: #243f82;
}

.supervisor-profile .bspa-help-trigger {
	margin-left: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-size: 0.95em;
	line-height: 1;
	color: #2271b1;
	box-shadow: none;
}

.supervisor-profile .bspa-help-modal[hidden] {
	display: none;
}

.supervisor-profile .bspa-help-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.supervisor-profile .bspa-help-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.supervisor-profile .bspa-help-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.supervisor-profile .bspa-help-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 560px;
	margin: 0 20px;
	background: #fff;
	padding: 24px;
	border-radius: 8px;
	z-index: 1;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.supervisor-profile .bspa-help-modal__close {
	position: absolute;
	top: 10px;
	right: 10px;
	border: 0;
	background: transparent;
	font-size: 24px;
	cursor: pointer;
}

/* Responsive */

@media (min-width: 992px) {
	.supervisor-profile .profile-group.specialisations fieldset {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 40px;
		row-gap: 0;
	}

	.supervisor-profile .profile-group.specialisations fieldset .profile-check {
		margin: 8px 0 8px 20px;
	}

	.supervisor-profile .contact-options {
		padding-left: 20px;
	}
}

@media (max-width: 991px) {
    .bspa-supervision-hub-intro .elementor-button {
		flex: 1 1 calc(50% - 10px);
		max-width: calc(50% - 10px);
	}
	.bspa-directory-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.bspa-directory-results-count {
		text-align: left;
	}

	.bspa-directory-active-filters {
		flex-direction: column;
		align-items: flex-start;
	}

	.bspa-directory-filter-grid {
		grid-template-columns: 1fr;
	}

	.bspa-directory-specialisation-options {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.bspa-supervision-hub-intro {
		padding: 22px 5px;
		border-radius: 10px 50px 16px 16px;
	}

	.bspa-supervision-hub-intro .buttons-section {
		flex-direction: column;
	}

	.bspa-supervision-hub-intro .elementor-button {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100%;
	}

	.bspa-directory-filters-modal {
		padding: 12px;
	}

	.bspa-supervisor-directory-filters {
		padding: 20px;
	}

	.bspa-directory-filters-modal__title {
		font-size: 22px;
	}
	
	.supervisor-profile .profile-radio-group label {
		font-size: 16px;
	}
	
	.bspa-directory-specialisation-group .bspa-directory-checkbox {
		min-width: 0;
		font-size: 16px;
	}

	.bspa-directory-specialisation-group .bspa-directory-checkbox span {
		min-width: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
	}
	
	.bspa-supervisor-directory-results {
		grid-template-columns: 1fr;
	}

	.bspa-supervisor-card .meta-row {
		grid-template-columns: 24px minmax(0, 1fr);
		column-gap: 10px;
	}
	
	.bspa-supervisor-card .title {
		font-size: 18px;
		line-height: 1.2;
	}
	
	.return-link {
		margin-bottom: 16px;
	}

	.bspa-supervisor-detail {
		padding: 22px 20px;
	}

	.bspa-supervisor-detail h2 {
		margin-bottom: 24px;
		font-size: 26px;
	}

	.bspa-supervisor-detail .meta {
		gap: 20px;
		margin-bottom: 24px;
	}

	.bspa-supervisor-detail .meta-row {
		grid-template-columns: 1fr;
		row-gap: 4px;
	}

	.bspa-supervisor-detail .value {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.bspa-supervisor-detail .specialisations {
		grid-template-columns: 1fr;
	}

	.bspa-supervisor-detail .section {
		margin-top: 24px;
		padding-top: 20px;
	}

	.bspa-supervisor-detail .section-title {
		font-size: 20px;
	}

	.bspa-supervisor-contact {
		margin-top: 24px;
		padding-top: 20px;
	}
}