@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');
.tes-therapist-matcher-root.tes-tm {
	font-family: Inter, sans-serif;
	color: #2c2540;
}
.tes-therapist-matcher-root .tes-card-shell {
	background: #FBF7F3;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 20px 52px 0 rgba(88, 48, 152, 0.12);
	min-height: 520px;
	display: flex;
	position: relative;
}
.tes-therapist-matcher-root .tes-topbar {
	height: 8px;
	background: linear-gradient(90deg, #7B46C5 0%, #C6A4E5 50%, #9BD8D8 100%);
	width: 100%;
	left: 0;
	position: absolute;
	top: 0;
}
.tes-therapist-matcher-root .tes-card-inner {
	padding: 42px;
	display: flex;
	flex-direction: column;
	width: 100%;
	justify-content: center;
}
.tes-therapist-matcher-root .tes-loading { text-align: center; padding: 60px 0; color: #8a80a0; }
.tes-therapist-matcher-root .tes-intro {text-align: center;/* padding: 40px 0; */display: flex;flex-direction: column;align-items: center;}
.tes-therapist-matcher-root .tes-intro h1 {font-family: Inter, sans-serif;color: #653399;font-size: 20px;font-weight: 500;margin-bottom: 16px;letter-spacing: 0;line-height: normal;}
.tes-therapist-matcher-root .tes-intro p { max-width: 1180px; margin: 0 auto 28px; color: #55506a; }
.tes-therapist-matcher-root .tes-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.tes-therapist-matcher-root .tes-back {color: #000000 !important;text-decoration: none !important;font-family: Inter, sans-serif;font-size: 12.9px;font-weight: 500;display: flex;align-items: center;gap: 5px;}
span.tes-question-back-svg {
	display: flex;
}
.tes-therapist-matcher-root .tes-back:hover { opacity: 0.8; }
.tes-therapist-matcher-root .tes-step-count { font-family: Inter, sans-serif; font-size: 12.9px; font-weight: 500; color: #000000; }
.tes-therapist-matcher-root .tes-progress-track { height: 10px; background: #EEE2F8; border-radius: 999px; margin-bottom: 26px; overflow: hidden; }
.tes-therapist-matcher-root .tes-progress-fill { height: 100%; background: #7B46C5; border-radius: 999px; transition: width .3s ease; }
.tes-therapist-matcher-root .tes-question {text-align: center;margin: auto 0;display: flex;flex-direction: column;width: 100%;flex: 1;overflow: auto;align-items: center;justify-content: center;padding-inline: 0;}
.tes-therapist-matcher-root .tes-question h2 {font-family: Inter, sans-serif;color: #653399;font-size: 20px;font-weight: 500;letter-spacing: 0;margin-bottom: 12px;}
.tes-therapist-matcher-root .tes-help { color: #4F4F5A; font-family: Inter, sans-serif; font-size: 14.7px; font-weight: 400; margin-bottom: 30px; }
.tes-therapist-matcher-root .tes-help-badge {
	display: inline-block;
	color: #4F4F5A;
	font-family: Inter, sans-serif;
	font-size: 14.7px;
	font-weight: 400;
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
}
.tes-therapist-matcher-root .tes-question-body {width: 100%;margin-top: 30px;height: auto;overflow-y: auto;max-height: calc(100vh - 280px);padding-inline: 10px;}
/* layout="list" - the original wide, vertically-scrolling one-per-row list. */
.tes-results-grid-list {
	display: flex;
	flex-direction: column;
	height: auto;
	overflow-y: auto;
	max-height: calc(100vh - 280px);
}

/* layout="horizontal" (default) - featured-grid-style cards in a row; wrapped
into the shared responsive carousel (see initCarousel() in wizard.js) once
there are more than 3. */
.tes-results-grid-featured {
	display: flex;
	flex-flow: row wrap;
	gap: 30px;
	width: 100%;
	font-family: Inter, sans-serif;
	color: #2c2540;
	justify-content: center;
}

.tes-results-grid-featured .tes-featured-card {
	max-width: 412px;
}

/* Chrome, Edge, Safari */
.tes-therapist-matcher-root .tes-question-body::-webkit-scrollbar,
.tes-results-grid-list::-webkit-scrollbar {
	width: 4px;
}
.tes-therapist-matcher-root .tes-question-body::-webkit-scrollbar-track,
.tes-results-grid-list::-webkit-scrollbar-track {
	background: rgba(101, 51, 153, 0.5) !important;
	border-radius: 10px;
}
.tes-therapist-matcher-root .tes-question-body::-webkit-scrollbar-thumb,
.tes-results-grid-list::-webkit-scrollbar-thumb {
	background: #653399 !important;
	border-radius: 4px;
}
.tes-therapist-matcher-root .tes-options-grid { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-bottom: 30px; }
.tes-therapist-matcher-root .tes-option-btn {
	border: 1px solid rgba(101, 51, 153, 0.3) !important;
	background: rgba(255, 255, 255, 0) !important;
	color: #4A3274 !important;
	padding: 10px 14px !important;
	border-radius: 6px !important;
	cursor: pointer;
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 500 !important;
	line-height: normal;
	appearance: none;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
	outline-offset: 2px;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.tes-therapist-matcher-root .tes-option-btn:hover { border-color: #653399 !important; }
.tes-therapist-matcher-root .tes-option-btn.is-selected { background: #653399 !important; border-color: #653399 !important; color: #ffffff !important; }
.tes-therapist-matcher-root .tes-selected-count {color: #8a80a0;font-size: 13px;margin: 6px 0 0;display: none;}
.tes-therapist-matcher-root .tes-free-text,
.tes-therapist-matcher-root .tes-warning {max-width: 480px;margin: 10px auto;text-align: center;}
.tes-therapist-matcher-root .tes-warning { color: #8a5a1e; background: #fdf0dd; padding: 10px 14px; border-radius: 8px; font-size: 13px; }
.tes-therapist-matcher-root .tes-input,
.tes-therapist-matcher-root .tes-field-grid select {
	width: 100%;
	padding: 6px 14px;
	border-radius: 6px !important;
	font-family: Inter, sans-serif;
	font-size: 16px;
	box-sizing: border-box;
	color: #667085 !important;
	border: 1px solid #D0D5DD;
	background-color: rgba(255, 255, 255, 0.60) !important;
	box-shadow: 0 1px 2px 0 rgba(16, 24, 40, 0.05);
}
.tes-therapist-matcher-root .tes-input:-webkit-autofill,
.tes-therapist-matcher-root .tes-input:-webkit-autofill:hover,
.tes-therapist-matcher-root .tes-input:-webkit-autofill:focus {
	-webkit-text-fill-color: #667085 !important;
	-webkit-box-shadow: 0 0 0px 1000px #fff inset !important;
	box-shadow: 0 0 0px 1000px #fff inset !important;
	border: 1px solid #D0D5DD !important;
}
.tes-therapist-matcher-root .tes-field {
	margin-bottom: 0;
	width: 100%;
}
.tes-therapist-matcher-root .tes-field-grid .tes-field {
	max-width: calc(33.33% - 16px);
}
.tes-therapist-matcher-root .tes-field .tes-error-msg {
	display: none;
	color: #D92D2D;
	font-size: 13px;
	margin: 6px 0 0;
	text-align: left;
}
.tes-therapist-matcher-root .tes-field.tes-invalid .tes-error-msg {
	display: block;
}
.tes-therapist-matcher-root .tes-field.tes-invalid .tes-input {
	border-color: #D92D2D !important;
}
.tes-therapist-matcher-root .tes-input:focus{
	background: rgba(255, 255, 255, 0.60);
}
.tes-therapist-matcher-root textarea.tes-input { max-width: 100%; }
.tes-therapist-matcher-root .tes-field-grid {display: flex;gap: 24px;text-align: left;flex-flow: row wrap;justify-content: center;}
.tes-therapist-matcher-root .tes-field label {display: block;font-weight: 500;margin-bottom: 6px;font-size: 16px;}
.tes-therapist-matcher-root .tes-field .tes-input,
.tes-therapist-matcher-root .tes-field select { max-width: 100%; }
.tes-therapist-matcher-root .tes-actions {margin-top: 30px;}
.tes-therapist-matcher-root .tes-btn {
	border: none !important;
	border-radius: 6px !important;
	padding: 14px 40px !important;
	font-family: Inter, sans-serif;
	font-size: 18px;
	font-weight: 600 !important;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	line-height: normal;
	border: 1px solid #653399 !important;
}
.tes-therapist-matcher-root .tes-btn-primary { background: #7B46C5 !important; color: #ffffff !important; }
.tes-therapist-matcher-root .tes-btn-primary:hover { background: #6a3bb0 !important; }
.tes-therapist-matcher-root .tes-btn-primary:disabled { opacity: .5; cursor: not-allowed; }
.tes-therapist-matcher-root .tes-btn-outline { background: #ffffff !important; color: #653399 !important; border: 1px solid #653399 !important; margin-right: 10px; }
.tes-therapist-matcher-root .tes-results-heading {font-family: "Times New Roman";color: #653399;text-align: center;font-size: 28px;margin-bottom: 4px;letter-spacing: -1px;font-weight: 700;}
.tes-therapist-matcher-root .tes-results-sub { text-align: center; color: #4F4F5A; margin-bottom: 26px; }
.tes-therapist-matcher-root .tes-limited-notice { background: #fdf0dd; border-radius: 10px; padding: 16px 20px; margin-bottom: 20px; color: #6a4a1e; }
.tes-therapist-matcher-root .tes-therapist-card,
.tes-therapist-matcher-root .tes-directory-grid .tes-therapist-card {
	display: flex;
	gap: 50px;
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 30px;
	box-shadow: 0 2px 10px rgba(90, 50, 150, 0.06);
	align-items: flex-start;
}
.tes-therapist-matcher-root .tes-therapist-photo {width: 33%;object-fit: cover;border-radius: 10px;flex-shrink: 0;aspect-ratio: 10/9;}
.tes-therapist-matcher-root .tes-therapist-body h3 {margin: 0 0 18px;color: #1D161D;font-family: "Plus Jakarta Sans", sans-serif !important;font-size: 32px;font-style: normal;font-weight: 600;line-height: normal;}
.tes-therapist-matcher-root .tes-why-label {margin: 0 0 10px;color: #323232;font-family: Inter;font-size: 20px;font-style: normal;font-weight: 600;line-height: normal;}
.tes-therapist-matcher-root .tes-why-text {margin: 0 0 20px;color: #323232;font-family: Inter;font-size: 18px;font-style: normal;font-weight: 400;line-height: 26px; /* 144.444% */}
.tes-therapist-matcher-root .tes-therapist-actions {margin-top: 50px;display: flex;flex-direction: initial;}
.tes-therapist-matcher-root .tes-results-actions { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 20px; position: relative; padding-right: 96px; }
.tes-therapist-matcher-root .tes-start-over { color: #443b5c; text-decoration: none; }
/* Floating scroll-to-start/scroll-to-end cues, shown only once there's more
than one matched therapist to scroll through in .tes-results-grid. Always
present at every breakpoint - deliberately not hidden on mobile like most
decorative UI. */
.tes-therapist-matcher-root .tes-results-scroll-btns {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	gap: 8px;
}
.tes-therapist-matcher-root .tes-results-scroll-btn {
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid #7B46C5;
	background: #fff;
	color: #7B46C5;
	font-size: 16px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.tes-therapist-matcher-root .tes-results-scroll-btn:hover {
	background: #7B46C5;
	color: #fff;
}
.tes-therapist-matcher-root .tes-directory-grid { display: block; }
.tes-therapist-matcher-root .tes-modal-overlay { position: fixed; inset: 0; background: rgba(30, 20, 50, .55); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 20px; }
.tes-therapist-matcher-root .tes-modal { background: #fff; border-radius: 12px; padding: 24px; max-width: 640px; width: 100%; position: relative; }
.tes-therapist-matcher-root .tes-modal-close { position: absolute; top: 10px; right: 14px; background: none; border: none; font-size: 24px; cursor: pointer; color: #888; }
.tes-therapist-matcher-root .tes-booking-iframe { width: 100%; height: 70vh; border: 0; border-radius: 8px; margin-top: 28px; }
/* Featured grid ([tes_featured_therapists]) ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â self-contained, not scoped under
.tes-therapist-matcher-root since this shortcode can appear on its own,
without the wizard on the same page. */
.tes-featured-grid {
	display: flex;
	flex-flow: row wrap;
	gap: 30px;
	width: 100%;
	font-family: Inter, sans-serif;
	color: #2c2540;
}
.tes-featured-swiper .swiper-slide {
	height: auto;
	display: flex;
	margin: 0 !important;
	padding-inline: 20px;
}
.tes-featured-card {
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 18px rgba(88, 48, 152, 0.1);
	border: 1px solid #E5E5EB;
	display: flex;
	flex-direction: column;
	width: 100%;
	flex:1;
}
.tes-featured-photo {
	width: 100%;
	object-fit: cover;
	background: #eee;
	display: block;
	aspect-ratio: 3/2;
}
.tes-featured-body {
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
	flex: 1;
	align-items: flex-start;
}
.tes-featured-badge {
	padding: 6px 12px;
	margin-bottom: 10px;
	color: #7B46C5;
	font-family: Inter;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	border-radius: 6px;
	background: rgba(101, 51, 153, 0.10);
}
.tes-featured-body h3 {
	margin: 0 0 4px;
	color: #1D161D !important;
	font-family: "Plus Jakarta Sans", sans-serif !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}
.tes-featured-role {
	margin-bottom: 20px !important;
	color: #5C565C;
	font-family: Inter;
	font-size: 17px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.tes-featured-row {
	margin: 0 0 8px !important;
	color: #5C565C;
	font-family: Inter;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 22.4px */
}
.tes-featured-row strong {
	color: #2c2540;
}
.tes-featured-actions {
	margin-top: auto;
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 10px;
}
.tes-featured-actions .tes-featured-btn {
	text-align: center;
	cursor: pointer;
	text-decoration: none;
	border: none;
	border-radius: 6px;
	background: #7B46C5;
	display: flex;
	padding: 12px 16px;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	border: 1px solid #7B46C5 !important;
	text-decoration: none !important;
	transition: 0.3s all ease-in-out;
}
.tes-featured-btn-primary { background: #7B46C5; color: #fff; }
.tes-featured-actions .tes-featured-btn.tes-featured-btn-primary:hover { background:#653399; }
.tes-featured-actions .tes-featured-btn.tes-featured-btn-outline {background: #fff;color: #7B46C5;border: 1px solid #7B46C5;padding-inline: 40px;}

/* Unscoped fallback for the "About me:" bio section - the .tes-therapist-matcher-root
-prefixed rules below only ever reach the matcher results screen, but this same
markup (.tes-why-label/.tes-why-text) is also used by [tes_featured_therapists],
[tes_therapist_directory_filtered] (both via card_html()) and [tes_therapist_interns],
none of which render under .tes-therapist-matcher-root. */
.tes-why-label {margin: 0 0 5px !important;color: #323232;font-family: Inter, sans-serif;font-size: 20px;font-style: normal;font-weight: 600;line-height: normal;}
.tes-why-text {margin: 0 0 20px;color: #323232;font-family: Inter, sans-serif;font-size: 18px;font-style: normal;font-weight: 400;line-height: 26px;}

/* Unscoped fallback for the booking modal ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â it's appended to document.body by
wizard.js, so it's never actually a descendant of .tes-therapist-matcher-root
and the rules above that require that prefix can't reach it regardless of
which shortcode opened it. */
.tes-modal-overlay { position: fixed; inset: 0; background: rgba(30, 20, 50, .55); display: flex; align-items: center; justify-content: center; z-index: 9999; padding: 20px; font-family: Inter, sans-serif; }
.tes-modal { background: #fff; border-radius: 12px; padding: 24px; max-width: 640px; width: 100%; position: relative; }
.tes-modal h3 {font-family: Inter, sans-serif !important;color: #653399 !important;margin-top: 0;font-size: 26px !important;margin-bottom: 20px;letter-spacing: 0 !important;}
.tes-modal-close {position: absolute;top: 10px;right: 14px;font-size: 24px;cursor: pointer;color: #7B46C5 !important;padding: 0;background: transparent !important;border-radius: 6px !important;border: 1px solid #7B46C5 !important;width: 32px;height: 32px;line-height: 93%;}
.tes-booking-iframe { width: 100%; height: 70vh; border: 0; border-radius: 8px; margin-top: 28px; }
.tes-therapist-body p {
	margin-bottom: 8px !important;
	font-size: 18px;
	line-height: 140%;
}
.tes-therapist-body {
	display: flex;
	flex-direction: column;
}
.tes-featured-actions .tes-featured-btn:hover {
	background: #653399 !important;
	border-color: #653399 !important;
	color: #fff !important;
}
@media (max-width:1366px){
	.tes-featured-actions .tes-featured-btn.tes-featured-btn-outline{
		padding-inline: 16px;
	}
}
@media (max-width:1199px){
	.tes-featured-actions .tes-featured-btn.tes-featured-btn-outline,
	.tes-featured-actions .tes-featured-btn {
		font-size: 13px;
		padding: 12px;
	}

	.tes-featured-grid {
		gap: 10px;
	}

	.tes-featured-card {
		max-width: calc(33.33% - 7px);
	}
}
@media (max-width: 1024px) {
	.tes-featured-body {
		padding: 20px 16px;
	}

	.tes-featured-role {
		font-size: 14px;
	}

	.tes-featured-row {
		font-size: 14px;
	}

	.tes-featured-actions {
		flex-direction: column;
		width: 100%;
	}
	.tes-therapist-matcher-root .tes-card-inner {
		padding: 20px 16px 20px;
	}

	.tes-therapist-matcher-root .tes-therapist-body h3 {
		font-size: 18px;
		margin-bottom: 16px;
	}

	.tes-therapist-matcher-root .tes-why-label {
		font-size: 14px;
	}

	.tes-therapist-matcher-root .tes-why-text {
		font-size: 13px;
		line-height: 18px;
	}

	.tes-therapist-body p {
		font-size: 12px;
	}

	.tes-therapist-matcher-root .tes-therapist-actions {
		flex-direction: column;
		gap: 10px;
		margin-top: 20px;
	}

	.tes-therapist-matcher-root .tes-btn {
		font-size: 13px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 12px 16px !important;
	}

	.tes-therapist-matcher-root .tes-btn-outline {
		margin: 0;
	}
}
@media (max-width: 767px) {
	.tes-therapist-matcher-root .tes-therapist-card, .tes-therapist-matcher-root .tes-directory-grid .tes-therapist-card{
		margin-bottom: 12px;
	}
	.tes-therapist-matcher-root .tes-results-actions{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.tes-therapist-matcher-root .tes-field-grid {
		gap: 14px;
	}

	.tes-therapist-matcher-root .tes-field label {
		font-size: 14px;
	}

	.tes-therapist-matcher-root .tes-input, .tes-therapist-matcher-root .tes-field-grid select {
		font-size: 13px;
	}
	.tes-therapist-matcher-root .tes-field-grid .tes-field {
		max-width: 100%;
	}
	.tes-featured-grid {
		gap: 10px;
		flex-direction: column;
	}
	.tes-featured-card {
		max-width: 100%;
	}

	.tes-therapist-matcher-root .tes-card-shell {border-radius: 13px;min-height: inherit;}
	.tes-therapist-matcher-root .tes-card-inner {padding: 42px 16px;}
	.tes-therapist-matcher-root .tes-intro h1 {font-size: 15px;margin-bottom: 12px;}
	.tes-therapist-matcher-root .tes-intro p {font-size: 14px;letter-spacing: 0.25px;margin-bottom: 36px;}
	.tes-therapist-matcher-root .tes-header { margin-bottom: 9px; }
	.tes-therapist-matcher-root .tes-back { font-size: 11.9px; }
	.tes-therapist-matcher-root .tes-step-count { font-size: 11.9px; }
	.tes-therapist-matcher-root .tes-progress-track { margin-bottom: 20px; }
	.tes-therapist-matcher-root .tes-question h2 { font-size: 15px; margin-bottom: 8px; }
	.tes-therapist-matcher-root .tes-help,
	.tes-therapist-matcher-root .tes-help-badge { font-size: 12px;}
	.tes-therapist-matcher-root .tes-options-grid {gap: 10px;margin-bottom: 20px;}
	.tes-therapist-matcher-root .tes-option-btn { padding: 8px 12px !important; }
	.tes-therapist-matcher-root .tes-btn {padding: 12px 24px !important;font-size: 14px;text-transform: capitalize;}
	.tes-therapist-matcher-root .tes-results-heading { font-size: 20px; }
	.tes-therapist-matcher-root .tes-therapist-card { flex-direction: column; gap: 16px;}
	.tes-therapist-matcher-root .tes-therapist-photo {
		width: 100%;
		aspect-ratio: 4 / 3;
	}
}

/* slider navigation css */
.tes-featured-nav {
	display: none;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-top: 20px;
}

/* Dot pagination */
.tes-featured-dots {
	display: flex;
	align-items: center;
	gap: 6px;
}

.tes-featured-dot {
	appearance: none;
	-webkit-appearance: none;
	padding: 0;
	margin: 0;
	width: 10px;
	height: 6px;
	border: none;
	border-radius: 2px !important;
	background-color: #D9D2E9;
	cursor: pointer;
	transition: width 0.2s ease, background-color 0.2s ease;
}

.tes-featured-dot.is-active {
	width: 16px;
	background-color: #653399;
}

/* Prev / Next circular arrow buttons */
.tes-featured-nav-arrows {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.tes-featured-nav-prev,
.tes-featured-nav-next {
	appearance: none;
	-webkit-appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 6px !important;
	border: 1.5px solid #653399 !important;
	background-color: transparent !important;
	cursor: pointer;
	padding: 0;
	transition: opacity 0.2s ease, background-color 0.2s ease;
}

.tes-featured-nav-prev:hover:not(:disabled),
.tes-featured-nav-next:hover:not(:disabled) {
	background-color: #F3EEFA;
}

.tes-featured-nav-prev:disabled,
.tes-featured-nav-next:disabled {
	opacity: 0.35;
	cursor: default;
}
.tes-featured-nav-icon {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #653399;
	border-right: 1px solid #653399;
}

.tes-featured-nav-icon-prev {
	transform: rotate(-135deg);
	margin-left: 3px; /* optical centering */
}

.tes-featured-nav-icon-next {
	transform: rotate(45deg);
	margin-right: 3px;
}

/* Standard visually-hidden utility, in case your theme doesn't already define it */
.tes-featured-nav .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* [tes_therapist_directory_filtered] - deliberately its own grid class (not
tes-featured-grid) so it doesn't get converted into a mobile swipe slider
the way the curated featured grid does; every card inside still reuses the
exact same .tes-featured-card styles above, unchanged. */
.tes-directory-filtered-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 100%;
	font-family: Inter, sans-serif;
	color: #2c2540;
}
/* Cards are shared with .tes-featured-grid (a flex layout, sized via
max-width percentages) - neutralize that flex-oriented sizing here so
cards just fill their grid column cleanly instead of fighting the grid. */
.tes-directory-filtered-grid .tes-featured-card {
	max-width: none;
	flex: none;
	width: 100%;
}
@media (max-width: 1024px) {
	.tes-directory-filtered-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.tes-directory-filtered-grid {
		grid-template-columns: 1fr;
	}
}

/* [tes_therapist_interns] - its own card style (circular photo, serif name,
pill button), deliberately distinct from .tes-featured-card. */
.tes-interns-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 100%;
}
@media (max-width: 1024px) {
	.tes-interns-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 767px) {
	.tes-interns-grid {
		grid-template-columns: 1fr;
	}
}
.tes-intern-card {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 4px 18px rgba(88, 48, 152, 0.1);
	border: 1px solid #E5E5EB;
	padding: 32px 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.tes-intern-photo-wrap {
	width: 200px;
	height: 200px;
	border-radius: 50%;
	padding: 8px;
	margin-bottom: 20px;
	background: linear-gradient(135deg, #c9b3ea, #f4eefc);
}
.tes-intern-photo {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	background: #eee;
}
.tes-intern-name {
	margin: 0 0 6px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 22px;
	font-weight: 700;
	color: #1D161D;
}
.tes-intern-role {
	margin: 0 0 20px;
	font-family: Inter, sans-serif;
	font-size: 15px;
	font-style: italic;
	color: #5C565C;
}
.tes-intern-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 28px;
	border-radius: 999px;
	background: #A98BDB;
	color: #fff !important;
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
	border: none;
	transition: 0.3s all ease-in-out;
}
.tes-intern-btn:hover {
	background: #8C69C4;
}
@media (max-width: 1024px) {
	.tes-intern-photo-wrap {
		width: 160px;
		height: 160px;
	}
	.tes-intern-name {
		font-size: 19px;
	}
}

.tes-directory-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px;
	margin-bottom: 20px;
}
.tes-directory-filter {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}
.tes-directory-filter-label {
	font-family: Inter, sans-serif;
	font-size: 12px;
	font-weight: 600;
	color: #5C565C;
	color: var(--theempoweringspace-com-oxford-blue, var(--color-azure-27, #344054));
	font-family: var(--font-family-Font-1, Inter);
	font-size: var(--font-size-16, 16px);
	font-style: normal;
	font-weight: var(--font-weight-500, 500);
	line-height: var(--line-height-28_8, 28.8px); /* 180% */
}

.tes-directory-filter-select {
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 12px center !important;
	padding-right: 32px !important;
	width: 100%;
	box-shadow: 0px 1px 2px 0px #1018280D;
	border: 1px solid #D0D5DD;
	height: 41px;
	opacity: 1;
	border-radius: 6px;
	background: #fff;
	color: #667085;
	font-family: "Inter", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 28px;
	padding: 5px 8px;
	margin-top: auto;
}
.tes-directory-filter-select:focus {
	border-color: #7B46C5;
	outline: none;
}
.tes-directory-apply-btn {
	background: #7B46C5 !important;
	border: 1px solid #7B46C5 !important;
	border-radius: 6px !important;
	color: #fff;
	cursor: pointer;
	height: 41px;
	padding: 0 20px !important;
	font-family: Inter, sans-serif;
	font-weight: 600;
	font-size: 15px;
	transition: 0.3s all ease-in-out;
}
.tes-directory-apply-btn:hover {
	background: #653399 !important;
	border-color: #653399 !important;
}
.tes-directory-reset-btn {
	background: none !important;
	border: 1px solid #7B46C5 !important;
	border-radius: 6px !important;
	font-size: 0;
	cursor: pointer;
	height: 41px;
	width: 55px;
	position: relative;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s all ease-in-out;
}
.tes-directory-reset-btn:hover {
	border-color: #7B46C5;
	color: #7B46C5;
}
.tes-directory-results-note {
	margin: 0 0 16px;
	font-family: Inter, sans-serif;
	font-size: 14px;
	color: #5C565C;
}
.tes-directory-no-results {
	text-align: center;
	background: #F6F1FC;
	border-radius: 16px;
	padding: 24px;
	margin-top: 16px;
	font-family: Inter, sans-serif;
	color: #2c2540;
}
.tes-directory-load-more-btn {
	display: block;
	margin: 28px auto 0;
	background: #fff;
	border: 1px solid #7B46C5;
	color: #7B46C5;
	border-radius: 999px;
	padding: 12px 28px;
	font-family: Inter, sans-serif;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
/* The button's own `display: block` above otherwise overrides the browser's
default [hidden]{display:none} rule, so toggling el.hidden in JS (used to
show it only when a page is actually followed by another) would have no
visible effect without this. */
.tes-directory-load-more-btn[hidden] {
	display: none;
}
.tes-directory-load-more-btn:hover {
	background: #7B46C5;
	color: #fff;
}
.tes-directory-filter-bar {
	border-radius: 10px;
	border: 1px solid #B49AD6;
	background: #FFF;
	padding: 12px 20px;
}

.tes-tm.tes-directory-filtered-root {width: 100%;}

.tes-directory-filter-bar label.tes-directory-filter-label {
	color:  #344054;
	font-family: Inter;
	font-size:  16px;
	font-style: normal;
	font-weight:500;
	line-height:  28.8px;
}

.tes-directory-reset-btn::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	background-color: #7B46C5;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='16' height='18' viewBox='0 0 16 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M5.5 6.41667H0.916667C0.366667 6.41667 0 6.05 0 5.5V0.916667C0 0.366667 0.366667 0 0.916667 0C1.46667 0 1.83333 0.366667 1.83333 0.916667V4.58333H5.5C6.05 4.58333 6.41667 4.95 6.41667 5.5C6.41667 6.05 6.05 6.41667 5.5 6.41667Z' fill='%237B46C5'/%3e%3cpath d='M7.33425 17.4169C6.32591 17.4169 5.31758 17.2336 4.40091 16.8669C2.75091 16.2253 1.37591 15.1253 0.367578 13.6586C0.0925782 13.2003 0.184245 12.6503 0.642578 12.3753C1.10091 12.1003 1.65091 12.1919 1.92591 12.6503C2.65924 13.7503 3.75925 14.6669 5.04258 15.1253C6.32591 15.5836 7.70091 15.6753 9.07591 15.3086C10.3592 14.9419 11.5509 14.1169 12.3759 13.0169C13.2009 11.9169 13.6592 10.6336 13.7509 9.2586C13.7509 7.88359 13.3842 6.50859 12.5592 5.40859C11.7342 4.30859 10.6342 3.48359 9.35091 3.02526C8.06758 2.56693 6.69258 2.56693 5.31758 3.02526C4.03425 3.48359 2.93424 4.30859 2.10924 5.40859C1.83424 5.86693 1.28424 5.95859 0.825912 5.68359C0.367578 5.40859 0.275911 4.76693 0.642578 4.40026C1.65091 2.93359 3.11758 1.83359 4.76758 1.28359C6.41758 0.733594 8.25091 0.733594 9.90091 1.28359C11.5509 1.83359 13.0176 2.93359 14.0259 4.40026C15.0342 5.86693 15.5842 7.51693 15.4926 9.35026C15.4926 11.0919 14.8509 12.8336 13.7509 14.2086C12.6509 15.5836 11.1842 16.5919 9.44258 17.1419C8.89258 17.3253 8.06758 17.4169 7.33425 17.4169Z' fill='%237B46C5'/%3e%3c/svg%3e ");
	transition: 0.3s all ease-in-out;
}

.tes-directory-reset-btn:hover::after {
	background-color: #fff;
}

.tes-directory-reset-btn:hover {
	background: #7B46C5 !important;
}

@media (max-width: 768px) {
	.tes-directory-filtered-grid {
		gap: 10px;
	}
}

@media (max-width: 768px) {
	.tes-featured-nav {
		display: flex;
	}
}

/* Shared responsive carousel (initCarousel() in wizard.js) - used by both
[tes_therapist_matcher]'s layout="horizontal" results and
[tes_therapist_directory_filtered]'s layout="horizontal" grid, once there
are more than 3 cards. 3 per view on desktop, 2 on tablet, 1 on mobile. */
.tes-carousel-container {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}
.tes-carousel-container .tes-carousel-swiper {
	flex: 1;
	min-width: 0;
}
.tes-carousel-nav {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #7B46C5;
	background: #fff;
	color: #7B46C5;
	font-size: 18px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
.tes-carousel-nav:hover {
	background: #7B46C5;
	color: #fff;
}
.tes-carousel-nav.swiper-button-disabled {
	opacity: .35;
	cursor: default;
	pointer-events: none;
}
@media (max-width: 767px) {
	.tes-carousel-container {
		gap: 6px;
	}
	.tes-carousel-nav {
		width: 32px;
		height: 32px;
		font-size: 15px;
	}
}

/* Recommended-results screen (Settings → Recommended Results) - shown instead
of the normal results heading when nobody actually passed the hard filters
and the top 3 soft-filter-ranked therapists are shown as recommendations. */
.tes-therapist-matcher-root .tes-recommended-intro {
	max-width: 760px;
	margin: 0 auto 8px;
	text-align: center;
	color: #4F4F5A;
	font-family: Inter, sans-serif;
	font-size: 15px;
	line-height: 1.6;
}
.tes-therapist-matcher-root .tes-recommended-footer-heading {
	text-align: center;
	color: #653399;
	font-family: Inter, sans-serif;
	font-size: 20px;
	font-weight: 600;
	margin: 30px 0 6px;
}
.tes-therapist-matcher-root .tes-recommended-footer-text {
	text-align: center;
	color: #5C565C;
	font-family: Inter, sans-serif;
	font-size: 14px;
	margin: 0 0 10px;
}