/*
Theme Name: OneListing Child
Theme URI: https://pilotbooker.com/
Description: Custom OneListing child theme for the PilotBooker pilot-training directory and communications platform.
Author: PilotBooker
Template: onelisting
Version: 1.9.25
Text Domain: onelisting-child
*/

/*
 * Hide the OneListing breadcrumb/banner only on the homepage.
 */
body.home .banner.theme-banner-breadcrumb {
	display: none !important;
}

/*
 * Homepage hero title.
 */
body.home .homepage-hero-title {
	position: relative !important;
	z-index: 5 !important;
	color: #ffffff !important;
	opacity: 1 !important;
}

body.home .homepage-hero-title h1,
body.home .homepage-hero-title .elementor-heading-title {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	opacity: 1 !important;
}

/* Homepage hero subtitle. */
body.home .homepage-hero-subtitle {
	position: relative !important;
	z-index: 5 !important;
	color: #e5e7eb !important;
	opacity: 1 !important;
}

body.home .homepage-hero-subtitle p {
	color: #e5e7eb !important;
	-webkit-text-fill-color: #e5e7eb !important;
	opacity: 1 !important;
}

/* Prevent sideways page movement on mobile. */
@media (max-width: 767px) {
	html,
	body {
		overflow-x: hidden !important;
		max-width: 100% !important;
	}

	body.home #page,
	body.home #content,
	body.home .site-content,
	body.home .elementor {
		overflow-x: hidden !important;
		max-width: 100% !important;
	}
}

/*
 * Provider profile — Training Services responsive layout.
 */
.directorist-author-listing-top {
	gap: 20px;
	margin-bottom: 28px;
}

.directorist-author-listing-top__title {
	margin: 0 !important;
	font-size: 26px;
	line-height: 1.25;
}

.directorist-author-listing-top__dropdown {
	flex: 0 0 auto;
}

.directorist-author-listing-top__dropdown .directorist-dropdown__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-width: 190px;
	padding: 12px 16px;
	border-radius: 10px;
}

/* Tablet and mobile. */
@media (max-width: 991px) {
	.directorist-author-listing-top {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 14px;
	}

	.directorist-author-listing-top__dropdown,
	.directorist-author-listing-top__dropdown .directorist-dropdown__toggle {
		width: 100%;
	}

	.directorist-author-listing-content [class*="directorist-col-"] {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Mobile. */
@media (max-width: 767px) {
	.directorist-author-listing-top {
		margin-bottom: 22px;
	}

	.directorist-author-listing-top__title {
		font-size: 23px;
	}

	.directorist-author-listing-top__dropdown .directorist-dropdown__toggle {
		min-width: 0;
	}
}

/*
 * Remove spacing from the empty listing-type selector.
 */
.directorist-author-listing-type:not(:has(*)) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Provider profile — centred desktop content width.
 */
@media (min-width: 992px) {
	.directorist-author-profile-content > .directorist-container-fluid {
		width: 100%;
		box-sizing: border-box;
		max-width: 1180px;
		margin-right: auto;
		margin-left: auto;
		padding-right: 24px;
		padding-left: 24px;
	}
}

/*
 * Provider profile — modern identity and contact cards.
 */
.directorist-author-profile-content .directorist-author-profile-wrap,
.directorist-author-profile-content .directorist-author-contact {
	background: #ffffff;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
	overflow: hidden;
}

/* Provider identity card. */
.directorist-author-profile-content
.directorist-author-profile-wrap
.directorist-card__body {
	padding: 28px !important;
}

.directorist-author-profile-content .directorist-author-avatar {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
}

.directorist-author-profile-content .directorist-author-avatar > img {
	flex: 0 0 120px;
	width: 120px !important;
	height: 120px !important;
	padding: 10px;
	object-fit: contain;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 16px;
}

.directorist-author-profile-content .directorist-author-avatar__info {
	min-width: 0;
}

.directorist-author-profile-content .directorist-author-name {
	margin: 0 0 8px !important;
	font-size: 28px;
	line-height: 1.25;
	color: #111827;
}

.directorist-author-profile-content .directorist-joined-date {
	margin: 0 !important;
	color: #64748b;
}

.directorist-author-profile-content .directorist-author-meta-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin: 18px 0 0 !important;
	padding: 0;
}

.directorist-author-profile-content
.directorist-author-meta-list__item {
	margin: 0 !important;
}

/* Contact Info card. */
.directorist-author-profile-content
.directorist-author-contact
.directorist-card__header {
	display: flex;
	align-items: center;
	min-height: 68px;
	padding: 0 24px !important;
	border-bottom: 1px solid #e5e7eb;
}

.directorist-author-profile-content
.directorist-author-contact
.directorist-card__header--title {
	margin: 0 !important;
	font-size: 20px;
	line-height: 1.3;
	color: #111827;
}

.directorist-author-profile-content
.directorist-author-contact
.directorist-card__body {
	padding: 24px !important;
}

.directorist-author-profile-content
.directorist-author-info-list {
	margin: 0;
	padding: 0;
}

.directorist-author-profile-content
.directorist-author-info-list__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 14px;
	background: #f8fafc;
	border-radius: 12px;
}

.directorist-author-profile-content
.directorist-author-info-list__item
.directorist-icon-mask {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	padding: 9px;
	background-color: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 50%;
}

.directorist-author-profile-content
.directorist-author-info-list__item
.directorist-info {
	color: #475569;
}

/* Provider identity card on mobile. */
@media (max-width: 767px) {
	.directorist-author-profile-content
	.directorist-author-profile-wrap
	.directorist-card__body {
		padding: 22px 18px !important;
	}

	.directorist-author-profile-content .directorist-author-avatar {
		flex-direction: column;
		align-items: center;
		gap: 18px;
		text-align: center;
	}

	.directorist-author-profile-content .directorist-author-avatar > img {
		flex-basis: 104px;
		width: 104px !important;
		height: 104px !important;
	}

	.directorist-author-profile-content .directorist-author-name {
		font-size: 21px;
	}

	.directorist-author-profile-content .directorist-author-meta-list {
		justify-content: center;
	}

	.directorist-author-profile-content
	.directorist-author-contact
	.directorist-card__header {
		min-height: 60px;
		padding: 0 18px !important;
	}

	.directorist-author-profile-content
	.directorist-author-contact
	.directorist-card__body {
		padding: 18px !important;
	}
}

/*
 * Provider profile — About the Provider card.
 */
.directorist-author-profile-content .directorist-author-about {
	margin-bottom: 32px !important;
	padding: 28px 30px;
	background: #ffffff;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
}

.directorist-author-profile-content
.directorist-author-about
.directorist-card__header {
	margin: 0 0 16px;
	padding: 0 !important;
	border: 0 !important;
}

.directorist-author-profile-content
.directorist-author-about
.directorist-card__header--title {
	margin: 0 !important;
	font-size: 24px;
	line-height: 1.3;
	color: #111827;
}

.directorist-author-profile-content
.directorist-author-about
.directorist-card__body {
	padding: 0 !important;
}

.directorist-author-profile-content
.directorist-author-about__content,
.directorist-author-profile-content
.directorist-author-about__content p {
	margin: 0 !important;
	color: #475569;
	font-size: 16px;
	line-height: 1.75;
}

@media (max-width: 767px) {
	.directorist-author-profile-content .directorist-author-about {
		margin-bottom: 28px !important;
		padding: 22px 20px;
		border-radius: 14px !important;
	}

	.directorist-author-profile-content
	.directorist-author-about
	.directorist-card__header--title {
		font-size: 20px;
	}

	.directorist-author-profile-content
	.directorist-author-about__content,
	.directorist-author-profile-content
	.directorist-author-about__content p {
		font-size: 15px;
		line-height: 1.7;
	}
}

/*
 * Provider profile — modern Training Services cards.
 */
.directorist-author-profile-content
.directorist-author-listing-top {
	margin-bottom: 26px;
}

.directorist-author-profile-content
.directorist-author-listing-top__title {
	color: #111827;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.3;
}

.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle {
	min-height: 48px;
	color: #475569;
	background: #ffffff;
	border: 1px solid #dbe3ee !important;
	border-radius: 12px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
}

.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__links {
	z-index: 50;
	max-height: 340px;
	overflow-y: auto;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	box-shadow: 0 16px 35px rgba(15, 23, 42, 0.12);
}

/* Complete service card. */
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #ffffff;
	border: 1px solid #e5e7eb !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

@media (hover: hover) {
	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-single:hover {
		transform: translateY(-3px);
		box-shadow: 0 16px 38px rgba(15, 23, 42, 0.11);
	}
}

/* Service-card image and gallery. */
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__thumb {
	overflow: hidden;
	background: #f1f5f9;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-thumnail-card {
	height: auto !important;
	aspect-ratio: 16 / 10;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-thumnail-card-front-wrap,
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-swiper,
.directorist-author-profile-content
.directorist-author-listing-content
.swiper-wrapper,
.directorist-author-profile-content
.directorist-author-listing-content
.swiper-slide,
.directorist-author-profile-content
.directorist-author-listing-content
.swiper-slide a,
.directorist-author-profile-content
.directorist-author-listing-content
.swiper-slide figure {
	height: 100%;
}

.directorist-author-profile-content
.directorist-author-listing-content
.swiper-slide figure {
	margin: 0;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-thumnail-card-front-img {
	display: block;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform 0.35s ease;
}

@media (hover: hover) {
	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-single:hover
	.directorist-thumnail-card-front-img {
		transform: scale(1.025);
	}
}

/* Gallery navigation. */
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-swiper__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	background: rgba(255, 255, 255, 0.94);
	border-radius: 50%;
	box-shadow: 0 5px 16px rgba(15, 23, 42, 0.16);
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-swiper__nav
.directorist-icon-mask {
	width: 13px;
	height: 13px;
	background-color: #334155;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-mark-as-favorite__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: rgba(255, 255, 255, 0.96);
	border-radius: 50%;
	box-shadow: 0 5px 16px rgba(15, 23, 42, 0.14);
}

/* Service-card content. */
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__content {
	display: flex;
	flex: 1;
	flex-direction: column;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__info {
	flex: 1;
	padding: 22px 22px 20px !important;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-title {
	margin: 0 !important;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.35;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-title a {
	color: #111827 !important;
	text-decoration: none;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-pricing-meta {
	display: block;
	margin-top: 14px;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-price {
	color: #111827;
	font-size: 16px;
	font-weight: 700;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__info__list {
	display: grid;
	gap: 10px;
	margin: 20px 0 0 !important;
	padding: 0;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__info__list li {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 0 !important;
	color: #475569;
	font-size: 14px;
	line-height: 1.45;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__info__list
.directorist-icon-mask {
	flex: 0 0 15px;
	width: 15px;
	height: 15px;
	margin-top: 2px;
	background-color: #64748b;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-card-location-list a {
	color: #475569 !important;
}

/* Service-card footer/category. */
.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-single__meta {
	min-height: 62px;
	padding: 14px 20px !important;
	background: #f8fafc;
	border-top: 1px solid #e5e7eb;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-category a {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #475569 !important;
	font-size: 13px;
	line-height: 1.4;
}

.directorist-author-profile-content
.directorist-author-listing-content
.directorist-listing-category
.directorist-icon-mask {
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 8px;
	background-color: #64748b;
	border-radius: 50%;
}

/* Mobile service section. */
@media (max-width: 767px) {
	.directorist-author-profile-content
	.directorist-author-listing-top {
		margin-bottom: 20px;
	}

	.directorist-author-profile-content
	.directorist-author-listing-top__title {
		font-size: 22px;
	}

	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-single {
		border-radius: 14px !important;
	}

	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-thumnail-card {
		aspect-ratio: 16 / 11;
	}

	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-single__info {
		padding: 20px 18px 18px !important;
	}

	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-title {
		font-size: 18px;
	}

	.directorist-author-profile-content
	.directorist-author-listing-content
	.directorist-listing-single__meta {
		padding: 14px 18px !important;
	}
}

/*
 * Provider profile — keep category filter neutral.
 */
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle:hover,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle:focus,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle:active {
	color: #475569 !important;
	background: #ffffff !important;
	border-color: #dbe3ee !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03) !important;
	outline: none !important;
}

.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle:hover,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle:focus {
	background: #f8fafc !important;
	border-color: #cbd5e1 !important;
}

.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle
.atbd_drop-caret,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle
.atbd_drop-caret::before,
.directorist-author-profile-content
.directorist-author-listing-top__dropdown
.directorist-dropdown__toggle
.atbd_drop-caret::after {
	color: #64748b !important;
	border-color: #64748b !important;
}

/*
 * Provider profile — modern banner.
 * Scoped only to Directorist provider-profile pages.
 */
body.theme-dir-author .banner.theme-banner-breadcrumb {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 190px;
	overflow: hidden;
	background-position: center 42% !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

body.theme-dir-author .banner.theme-banner-breadcrumb::before {
	position: absolute;
	inset: 0;
	z-index: 1;
	content: "";
	background:
		linear-gradient(
			90deg,
			rgba(15, 23, 42, 0.88) 0%,
			rgba(15, 23, 42, 0.68) 52%,
			rgba(15, 23, 42, 0.38) 100%
		);
}

body.theme-dir-author
.banner.theme-banner-breadcrumb
.theme-banner-content {
	position: relative;
	z-index: 2;
	width: 100%;
}

body.theme-dir-author
.banner.theme-banner-breadcrumb
.theme-banner-content
.container {
	width: 100%;
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 24px;
	padding-left: 24px;
	box-sizing: border-box;
}

body.theme-dir-author
.banner.theme-banner-breadcrumb
h1 {
	margin: 0 !important;
	color: #ffffff !important;
	font-size: 38px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	text-shadow: 0 3px 16px rgba(0, 0, 0, 0.28);
}

@media (max-width: 991px) {
	body.theme-dir-author .banner.theme-banner-breadcrumb {
		min-height: 170px;
		background-position: center center !important;
	}

	body.theme-dir-author
	.banner.theme-banner-breadcrumb
	h1 {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	body.theme-dir-author .banner.theme-banner-breadcrumb {
		min-height: 145px;
	}

	body.theme-dir-author
	.banner.theme-banner-breadcrumb
	.theme-banner-content
	.container {
		padding-right: 20px;
		padding-left: 20px;
	}

	body.theme-dir-author
	.banner.theme-banner-breadcrumb
	h1 {
		font-size: 27px;
		text-align: center;
	}
}

/*
 * Provider dashboard — modern layout, sidebar and profile form.
 * Scoped only to Directorist dashboard pages.
 */
body.theme-dir-dashboard {
	--ptm-dashboard-navy: #0f172a;
	--ptm-dashboard-navy-light: #172554;
	--ptm-dashboard-pink: #e91e63;
	--ptm-dashboard-pink-dark: #c2185b;
	--ptm-dashboard-text: #172033;
	--ptm-dashboard-muted: #64748b;
	--ptm-dashboard-border: #e2e8f0;
	--ptm-dashboard-surface: #ffffff;
	--ptm-dashboard-background: #f5f7fb;

	background: var(--ptm-dashboard-background);
}

/* Main dashboard width and spacing. */
body.theme-dir-dashboard .directorist-user-dashboard {
	padding: 42px 0 72px;
	background: var(--ptm-dashboard-background);
}

body.theme-dir-dashboard
.directorist-user-dashboard
> .directorist-container-fluid {
	width: 100%;
	max-width: 1320px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 24px;
	padding-left: 24px;
	box-sizing: border-box;
}

/* Desktop dashboard structure. */
@media (min-width: 992px) {
	body.theme-dir-dashboard
	.directorist-user-dashboard__contents {
		display: grid !important;
		grid-template-columns: 255px minmax(0, 1fr);
		gap: 28px;
		align-items: start;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle {
		display: none !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__nav {
		position: sticky !important;
		top: 122px !important;
		right: auto !important;
		left: auto !important;

		display: flex !important;
		flex-direction: column;
		align-self: flex-start !important;

		width: auto !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: min(610px, calc(100vh - 142px));
		max-height: calc(100vh - 142px);
		margin-top: 0 !important;
		padding: 20px;

		translate: none !important;
		transform: none !important;

		background:
			linear-gradient(
				155deg,
				#0f172a 0%,
				#172554 100%
			) !important;
		border: 0 !important;
		border-radius: 18px;
		box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18);

		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
	}

	body.theme-dir-dashboard
	.directorist-dashboard__nav__close {
		display: none !important;
	}
}

/* Sidebar menu structure. */
body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__wrapper {
	flex: 1;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__items {
	display: grid;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__item {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Sidebar menu links. */
body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__link {
	display: flex !important;
	align-items: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px !important;

	color: #cbd5e1 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 11px;

	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none !important;

	transition:
		color 0.18s ease,
		background-color 0.18s ease,
		transform 0.18s ease;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__link:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.09) !important;
	transform: translateX(2px);
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__link.directorist-tab__nav__active {
	color: #ffffff !important;
	background: var(--ptm-dashboard-pink) !important;
	box-shadow: 0 8px 20px rgba(233, 30, 99, 0.28);
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist_menuItem-text {
	display: flex;
	align-items: center;
	gap: 11px;
	width: 100%;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist_menuItem-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist_menuItem-icon
.directorist-icon-mask {
	width: 18px;
	height: 18px;
	background-color: currentColor !important;
}

/* Sidebar action buttons. */
body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-tab__nav__action {
	display: grid;
	gap: 10px;
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--add-listing,
body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--logout {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 44px;
	padding: 10px 14px !important;

	border-radius: 10px !important;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--add-listing {
	color: #ffffff !important;
	background: var(--ptm-dashboard-pink) !important;
	border: 1px solid var(--ptm-dashboard-pink) !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--add-listing:hover {
	background: var(--ptm-dashboard-pink-dark) !important;
	border-color: var(--ptm-dashboard-pink-dark) !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--logout {
	color: #e2e8f0 !important;
	background: transparent !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__nav
.directorist-btn--logout:hover {
	color: #ffffff !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

/* Main dashboard content. */
body.theme-dir-dashboard
.directorist-user-dashboard__tab-content {
	min-width: 0;
	padding: 0 !important;
	background: transparent !important;
}

body.theme-dir-dashboard
.directorist-user-dashboard__tab-content
.directorist-tab__pane {
	min-width: 0;
}

/* Profile page layout. */
@media (min-width: 992px) {
	body.theme-dir-dashboard
	#dashboard_profile
	#user_profile_form
	> .directorist-row {
		display: grid !important;
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 24px;
		align-items: start;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	#user_profile_form
	> .directorist-row
	> [class*="directorist-col-"] {
		width: auto !important;
		max-width: none !important;
		padding: 0 !important;
	}
}

/* Profile-image card. */
body.theme-dir-dashboard
#dashboard_profile
.directorist-image-profile-wrap {
	padding: 20px;
	background: var(--ptm-dashboard-surface);
	border: 1px solid var(--ptm-dashboard-border);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-profile-uploader {
	margin: 0 !important;
	border-radius: 13px;
	overflow: hidden;
}

body.theme-dir-dashboard
#dashboard_profile
.ezmu__thumbnail-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #ffffff;
	border-radius: 12px;
}

/* Main profile card. */
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-profile-box {
	overflow: hidden;
	background: var(--ptm-dashboard-surface);
	border: 1px solid var(--ptm-dashboard-border) !important;
	border-radius: 18px !important;
	box-shadow: 0 14px 36px rgba(15, 23, 42, 0.07);
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-user-profile-box
> .directorist-card__header {
	display: flex;
	align-items: center;
	min-height: 76px;
	padding: 0 28px !important;

	background: #ffffff;
	border-bottom: 1px solid var(--ptm-dashboard-border) !important;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-card__header__title {
	margin: 0 !important;
	color: var(--ptm-dashboard-text);
	font-size: 24px;
	font-weight: 750;
	line-height: 1.3;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-user-profile-box
> .directorist-card__body {
	padding: 28px !important;
}

/* Two-column profile fields. */
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-full-name,
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-first-name,
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-email,
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-site-url,
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-password {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 20px;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-user-password
.directorist-form-group:last-child {
	grid-column: 1 / -1;
}

/* Profile labels and fields. */
body.theme-dir-dashboard
#dashboard_profile
.directorist-form-group {
	margin-bottom: 20px !important;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-form-group
> label {
	display: block;
	margin-bottom: 8px;

	color: #334155;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-form-element {
	width: 100%;
	min-height: 48px;
	padding: 11px 13px !important;

	color: var(--ptm-dashboard-text) !important;
	background: #ffffff !important;
	border: 1px solid #d7dee8 !important;
	border-radius: 10px !important;
	box-shadow: none !important;

	font-size: 14px;
	line-height: 1.5;

	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease;
}

body.theme-dir-dashboard
#dashboard_profile
textarea.directorist-form-element {
	min-height: 170px;
	resize: vertical;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-form-element:focus {
	border-color: #94a3b8 !important;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.16) !important;
	outline: none !important;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-form-element:disabled {
	color: #64748b !important;
	background: #f1f5f9 !important;
	cursor: not-allowed;
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-input-extra-info {
	display: block;
	margin-top: 6px;
	color: var(--ptm-dashboard-muted);
	font-size: 11px;
	line-height: 1.45;
}

/* Social profiles section. */
body.theme-dir-dashboard
#dashboard_profile
.directorist-user-socials {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
	margin-top: 8px;
	padding-top: 24px;
	border-top: 1px solid var(--ptm-dashboard-border);
}

body.theme-dir-dashboard
#dashboard_profile
.directorist-user-social-label {
	grid-column: 1 / -1;
	margin: 0 0 18px !important;
	color: var(--ptm-dashboard-text);
	font-size: 18px;
	font-weight: 750;
}

/* Save button. */
body.theme-dir-dashboard
#dashboard_profile
#update_user_profile {
	min-height: 48px;
	padding: 11px 22px !important;

	color: #ffffff !important;
	background: var(--ptm-dashboard-pink) !important;
	border: 1px solid var(--ptm-dashboard-pink) !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 20px rgba(233, 30, 99, 0.22);

	font-size: 14px;
	font-weight: 700;
}

body.theme-dir-dashboard
#dashboard_profile
#update_user_profile:hover {
	background: var(--ptm-dashboard-pink-dark) !important;
	border-color: var(--ptm-dashboard-pink-dark) !important;
}

/* Tablet and mobile dashboard. */
@media (max-width: 991px) {
	body.theme-dir-dashboard .directorist-user-dashboard {
		padding: 26px 0 54px;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard
	> .directorist-container-fluid {
		padding-right: 18px;
		padding-left: 18px;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle {
		margin-bottom: 18px;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle__link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;

		color: #ffffff !important;
		background: var(--ptm-dashboard-navy) !important;
		border-radius: 10px;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__nav {
		background:
			linear-gradient(
				155deg,
				#0f172a 0%,
				#172554 100%
			) !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	#user_profile_form
	> .directorist-row {
		margin-right: 0 !important;
		margin-left: 0 !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	#user_profile_form
	> .directorist-row
	> [class*="directorist-col-"] {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-image-profile-wrap {
		max-width: 240px;
		margin: 0 auto 22px;
	}
}

@media (max-width: 767px) {
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-profile-box
	> .directorist-card__header {
		min-height: 66px;
		padding: 0 20px !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-card__header__title {
		font-size: 21px;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-profile-box
	> .directorist-card__body {
		padding: 20px !important;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-full-name,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-first-name,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-email,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-site-url,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-password,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-socials {
		grid-template-columns: 1fr;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-password
	.directorist-form-group:last-child,
	body.theme-dir-dashboard
	#dashboard_profile
	.directorist-user-social-label {
		grid-column: auto;
	}

	body.theme-dir-dashboard
	#dashboard_profile
	#update_user_profile {
		width: 100%;
	}
}

/* =========================================================
   PROVIDER DASHBOARD — HIDE THEME BREADCRUMB BANNER
   ========================================================= */

body.theme-dir-dashboard #content > .banner.theme-banner-breadcrumb {
	display: none !important;
}

/* =========================================================
   PROVIDER DASHBOARD — SAFE DESKTOP CONTAINER WIDTH
   ========================================================= */

@media (min-width: 1200px) {

	body.theme-dir-dashboard
	.directorist-user-dashboard > .directorist-container-fluid {
		width: calc(100% - 64px) !important;
		max-width: 1500px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__contents {
		width: 100% !important;
		max-width: none !important;
		grid-template-columns: 255px minmax(0, 1fr) !important;
		gap: 32px !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__tab-content {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}
}

/* =========================================================
   PROVIDER DASHBOARD — MOBILE HEADER FIT
   ========================================================= */

@media (max-width: 767px) {

	body.theme-dir-dashboard
	header#site-header
	.theme-container-fluid {
		width: 100% !important;
		max-width: none !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;
		gap: 7px !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full
	.site-title {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
		font-size: 15px !important;
		line-height: 1.2 !important;
		letter-spacing: -0.2px !important;
		white-space: nowrap !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full
	.btn-add-listing,
	body.theme-dir-dashboard
	.theme-header-menu-full
	a[href*="/add-listing/"] {
		display: none !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full
	.ptm-modern-currency {
		flex: 0 0 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full
	.ptm-modern-currency-button {
		width: 84px !important;
		min-width: 84px !important;
		max-width: 84px !important;
		min-height: 36px !important;
		padding: 6px 8px !important;
		font-size: 11px !important;
	}
}

/* =========================================================
   HOMEPAGE — REAL MOBILE HEADER FIT
   ========================================================= */

@media (max-width: 767px) {

	body.home
	header#site-header
	.theme-container-fluid {
		width: 100% !important;
		max-width: none !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		box-sizing: border-box !important;
	}

	body.home
	.theme-header-menu-full {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: 6px !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	body.home
	.theme-header-logo-wrap {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	body.home
	.theme-header-logo-wrap
	.navbar-brand {
		display: block !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.home
	.theme-header-logo-wrap
	.site-title {
		margin: 0 !important;
		font-size: 17px !important;
		line-height: 1.2 !important;
		letter-spacing: -0.3px !important;
		white-space: nowrap !important;
	}

	body.home
	#ptm-currency-switcher {
		flex: 0 0 92px !important;
		width: 92px !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.home
	#ptm-currency-switcher
	.ptm-modern-currency-button {
		width: 92px !important;
		min-width: 0 !important;
		max-width: 92px !important;
		min-height: 36px !important;
		padding: 6px 8px !important;
		font-size: 11px !important;
	}

	body.home
	#ptm-currency-switcher
	.ptm-modern-currency-button__text {
		display: block !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.home
	.theme-menu-action-box {
		display: flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		gap: 0 !important;
		margin: 0 !important;
	}

	body.home
	.theme-menu-action-box__search {
		display: block !important;
		flex: 0 0 38px !important;
		width: 38px !important;
	}

	body.home
	.theme-menu-action-box__search--trigger {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 38px !important;
		height: 38px !important;
		margin: 0 !important;
	}

	body.home
	.theme-menu-action-box__add-listing {
		display: none !important;
	}
}

/* Homepage mobile header — allow title to fit. */
@media (max-width: 767px) {
	body.home
	.theme-header-logo-wrap
	.site-title {
		font-size: 15px !important;
		line-height: 1.15 !important;
		letter-spacing: -0.2px !important;
		white-space: normal !important;
	}
}

/* Homepage mobile header — prevent broken title words. */
@media (max-width: 767px) {
	body.home .theme-header-logo-wrap .site-title {
		font-size: 14px !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}
}

/* Provider dashboard — complete mobile header fit. */
@media (max-width: 767px) {

	body.theme-dir-dashboard
	header#site-header
	.theme-container-fluid {
		width: 100% !important;
		max-width: none !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		box-sizing: border-box !important;
	}

	body.theme-dir-dashboard
	.theme-header-menu-full {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: 6px !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-header-logo-wrap {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-header-logo-wrap
	.navbar-brand {
		display: block !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-header-logo-wrap
	.site-title {
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.15 !important;
		letter-spacing: -0.2px !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body.theme-dir-dashboard
	#ptm-currency-switcher {
		flex: 0 0 84px !important;
		width: 84px !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	#ptm-currency-switcher
	.ptm-modern-currency-button {
		width: 84px !important;
		min-width: 0 !important;
		max-width: 84px !important;
		min-height: 36px !important;
		padding: 6px 7px !important;
		font-size: 11px !important;
	}

	body.theme-dir-dashboard
	#ptm-currency-switcher
	.ptm-modern-currency-button__text {
		display: block !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.theme-dir-dashboard
	.theme-menu-action-box {
		display: flex !important;
		flex: 0 0 auto !important;
		align-items: center !important;
		gap: 0 !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-menu-action-box__search {
		display: block !important;
		flex: 0 0 36px !important;
		width: 36px !important;
	}

	body.theme-dir-dashboard
	.theme-menu-action-box__search--trigger {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 36px !important;
		height: 36px !important;
		margin: 0 !important;
	}

	body.theme-dir-dashboard
	.theme-menu-action-box__add-listing {
		display: none !important;
	}
}

/* Disable the OneListing full-page loading screen. */
#theme-preloader {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	background-image: none !important;
}

/* Provider dashboard — correct tablet layout from 992px to 1199px. */
@media (min-width: 992px) and (max-width: 1199px) {

	body.theme-dir-dashboard
	.directorist-user-dashboard__contents {
		display: block !important;
		width: 100% !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__tab-content {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle {
		display: block !important;
		margin-bottom: 18px !important;
	}
}

/* Provider dashboard — show tablet sidebar button. */
@media (min-width: 992px) and (max-width: 1199px) {

	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle__link {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		color: #ffffff !important;
		background: #0f172a !important;
		border-radius: 10px !important;
	}
}

/* Provider dashboard — tablet sidebar must not occupy page space. */
@media (min-width: 992px) and (max-width: 1199px) {

	body.theme-dir-dashboard
	.directorist-user-dashboard__nav {
		position: fixed !important;
		top: 0 !important;
		right: auto !important;
		left: 0 !important;

		width: 280px !important;
		max-width: calc(100vw - 40px) !important;
		height: 100vh !important;
		min-height: 100vh !important;

		margin: 0 !important;
		z-index: 10020 !important;
	}
}

/* Provider dashboard — reveal tablet/mobile menu button with dashboard. */
@media (max-width: 1199px) {
	body.theme-dir-dashboard
	.directorist-user-dashboard__toggle {
		opacity: 0;
		visibility: hidden;
	}

	body.theme-dir-dashboard.ptm-dashboard-ready
	.directorist-user-dashboard__toggle {
		opacity: 1;
		visibility: visible;
		transition: opacity 0.12s ease;
	}
}

/* Provider dashboard — keep Training Services icon and label aligned. */
body.theme-dir-dashboard
.directorist-tab__nav__link[target="dashboard_my_listings"]
.directorist_menuItem-text {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;
	white-space: nowrap !important;
}

body.theme-dir-dashboard
.directorist-tab__nav__link[target="dashboard_my_listings"]
.directorist_menuItem-icon {
	flex: 0 0 auto !important;
}

/* =========================================================
   PROVIDER DASHBOARD — STABLE DESKTOP SIDEBAR
   =========================================================
   Keep the sidebar in normal grid flow. This prevents Directorist's
   varying tab heights and overflow wrappers from changing its position.
   Long pages scroll normally with the rest of the dashboard.
 */
@media (min-width: 1200px) {

	body.theme-dir-dashboard
	.directorist-user-dashboard__contents {
		align-items: start !important;
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__nav {
		grid-column: 1 !important;
		grid-row: 1 !important;

		position: relative !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;

		align-self: start !important;
		width: auto !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;

		translate: none !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;

		overflow: visible !important;
	}

	body.theme-dir-dashboard
	.directorist-user-dashboard__tab-content {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
}

/* =========================================================
   ADD TRAINING SERVICE — COMPACT PAGE BANNER
   Page ID 9 only.
   ========================================================= */

body.page-id-9.theme-dir-add-listing
.banner.theme-banner-breadcrumb {
	display: flex !important;
	align-items: center !important;
	min-height: 210px !important;
	height: 210px !important;
	padding: 30px 0 !important;
	background-position: center 42% !important;
	background-size: cover !important;
}

body.page-id-9.theme-dir-add-listing
.banner.theme-banner-breadcrumb
.theme-banner-content {
	width: 100% !important;
	padding: 0 !important;
}

body.page-id-9.theme-dir-add-listing
.banner.theme-banner-breadcrumb
h1 {
	margin: 0 !important;
	font-size: 34px !important;
	line-height: 1.2 !important;
}

/* Tablet. */
@media (max-width: 991px) {
	body.page-id-9.theme-dir-add-listing
	.banner.theme-banner-breadcrumb {
		min-height: 170px !important;
		height: 170px !important;
		padding: 24px 0 !important;
	}

	body.page-id-9.theme-dir-add-listing
	.banner.theme-banner-breadcrumb
	h1 {
		font-size: 29px !important;
	}
}

/* Mobile. */
@media (max-width: 767px) {
	body.page-id-9.theme-dir-add-listing
	.banner.theme-banner-breadcrumb {
		min-height: 135px !important;
		height: 135px !important;
		padding: 20px 16px !important;
		background-position: center center !important;
	}

	body.page-id-9.theme-dir-add-listing
	.banner.theme-banner-breadcrumb
	h1 {
		font-size: 24px !important;
		text-align: center !important;
	}
}

/* =========================================================
   ADD TRAINING SERVICE — HIDE REDUNDANT HEADER BUTTON
   Page ID 9 only.
   ========================================================= */

body.page-id-9.theme-dir-add-listing
header#site-header
.theme-menu-action-box__add-listing,
body.page-id-9.theme-dir-add-listing
header#site-header
a.btn-add-listing[href*="/add-listing/"] {
	display: none !important;
}

/* =========================================================
   ADD TRAINING SERVICE — COMPLETE FORM POLISH
   Page ID 9 only.
   ========================================================= */

body.page-id-9.theme-dir-add-listing {
	--ptm-form-text: #172033;
	--ptm-form-muted: #64748b;
	--ptm-form-border: #dbe3ee;
	--ptm-form-border-focus: #e91e63;
	--ptm-form-surface: #ffffff;
	--ptm-form-background: #f8fafc;
}

/* Form section cards. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section.directorist-content-module {
	margin-bottom: 24px !important;
	overflow: hidden !important;

	background: var(--ptm-form-surface) !important;
	border: 1px solid var(--ptm-form-border) !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06) !important;

	scroll-margin-top: 110px;
}

/* Section headings. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-content-module__title {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;

	min-height: 70px !important;
	margin: 0 !important;
	padding: 0 26px !important;

	background: #ffffff !important;
	border-bottom: 1px solid var(--ptm-form-border) !important;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-content-module__title h2 {
	margin: 0 !important;

	color: var(--ptm-form-text) !important;
	font-size: 18px !important;
	font-weight: 750 !important;
	line-height: 1.3 !important;
}

/* Section content spacing. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-content-module__contents {
	padding: 28px 30px 32px !important;
}

/* Form-group spacing. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-group {
	margin-bottom: 24px !important;
}

/* Field labels. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-group > label,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-group .directorist-form-label {
	display: block !important;
	margin-bottom: 9px !important;

	color: var(--ptm-form-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

/* Text fields, number fields, email fields, URLs and selects. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
body.page-id-9.theme-dir-add-listing
.directorist-form-section
select,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
textarea,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-element {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 48px !important;
	padding: 11px 13px !important;

	color: var(--ptm-form-text) !important;
	background: #ffffff !important;
	border: 1px solid #cfd8e3 !important;
	border-radius: 10px !important;
	box-shadow: none !important;

	font-size: 15px !important;
	line-height: 1.5 !important;

	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease !important;
}

/* Textareas. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
textarea {
	min-height: 125px !important;
	resize: vertical !important;
}

/* Placeholders. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
input::placeholder,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
textarea::placeholder {
	color: #94a3b8 !important;
	opacity: 1 !important;
}

/* Keyboard and mouse focus. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
input:not([type="checkbox"]):not([type="radio"]):focus,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
select:focus,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
textarea:focus,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-element:focus {
	border-color: var(--ptm-form-border-focus) !important;
	box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.13) !important;
	outline: none !important;
}

/* Directorist/Select2 dropdowns. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.select2-container {
	width: 100% !important;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.select2-container
.select2-selection--single,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.select2-container
.select2-selection--multiple {
	display: flex !important;
	align-items: center !important;

	min-height: 48px !important;
	padding: 7px 12px !important;

	background: #ffffff !important;
	border: 1px solid #cfd8e3 !important;
	border-radius: 10px !important;
	box-shadow: none !important;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.select2-container--focus
.select2-selection,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.select2-container--open
.select2-selection {
	border-color: var(--ptm-form-border-focus) !important;
	box-shadow: 0 0 0 3px rgba(233, 30, 99, 0.13) !important;
}

/* Checkbox and radio controls. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
input[type="checkbox"],
body.page-id-9.theme-dir-add-listing
.directorist-form-section
input[type="radio"] {
	flex: 0 0 auto !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 9px 0 0 !important;

	accent-color: #e91e63;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-checkbox,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-radio,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
label:has(input[type="checkbox"]),
body.page-id-9.theme-dir-add-listing
.directorist-form-section
label:has(input[type="radio"]) {
	align-items: flex-start !important;
	line-height: 1.5 !important;
}

/* WordPress full-description editor. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.wp-editor-wrap {
	overflow: hidden !important;

	background: #ffffff !important;
	border: 1px solid #cfd8e3 !important;
	border-radius: 12px !important;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.wp-editor-container,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.mce-tinymce {
	border: 0 !important;
	box-shadow: none !important;
}

body.page-id-9.theme-dir-add-listing
.directorist-form-section
.wp-editor-area {
	min-height: 260px !important;
	border: 0 !important;
}

/* Media/image uploader. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.ezmu__upload-box,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.ezmu__drop-zone,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-image-upload {
	background: var(--ptm-form-background) !important;
	border-color: #cbd5e1 !important;
	border-radius: 14px !important;
}

/* Supporting/help text. */
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-form-description,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
.directorist-input-extra-info,
body.page-id-9.theme-dir-add-listing
.directorist-form-section
small {
	color: var(--ptm-form-muted) !important;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

/* Tablet. */
@media (max-width: 991px) {
	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-content-module__title {
		min-height: 64px !important;
		padding: 0 22px !important;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-content-module__contents {
		padding: 24px 22px 28px !important;
	}
}

/* Mobile. */
@media (max-width: 767px) {
	body.page-id-9.theme-dir-add-listing
	.directorist-form-section.directorist-content-module {
		margin-bottom: 18px !important;
		border-radius: 13px !important;
		scroll-margin-top: 82px;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-content-module__title {
		min-height: 60px !important;
		padding: 0 17px !important;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-content-module__title h2 {
		font-size: 17px !important;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-content-module__contents {
		padding: 21px 17px 24px !important;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),
	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	select,
	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	textarea,
	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.directorist-form-element {
		font-size: 16px !important;
	}

	body.page-id-9.theme-dir-add-listing
	.directorist-form-section
	.wp-editor-area {
		min-height: 220px !important;
	}
}

/* =========================================================
   ADD TRAINING SERVICE — SMOOTH SERVICE SETUP NAVIGATION
   Page ID 9 only.
   Uses one CSS-sticky state and neutralises Directorist's
   fixed-position switching.
   ========================================================= */

html:has(body.page-id-9.theme-dir-add-listing) {
	scroll-behavior: auto !important;
}

@media (min-width: 1200px) {

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard {
		align-items: flex-start !important;
		overflow: visible !important;
	}

	/*
	 * Use the same positioning before and after Directorist
	 * adds its native "sticky" class.
	 */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav,
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav.sticky {
		position: sticky !important;
		top: 110px !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;

		display: flex !important;
		align-self: flex-start !important;
		flex: 0 0 270px !important;
		flex-direction: column !important;
		gap: 4px !important;

		box-sizing: border-box !important;
		width: 270px !important;
		min-width: 270px !important;
		max-width: 270px !important;

		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 14px !important;

		background: #ffffff !important;
		border: 1px solid #e2e8f0 !important;
		border-radius: 16px !important;
		box-shadow:
			0 14px 36px
			rgba(15, 23, 42, 0.08) !important;

		overflow: visible !important;

		translate: none !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;

		z-index: 20 !important;
	}

	body.admin-bar.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav,
	body.admin-bar.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav.sticky {
		top: 142px !important;
	}

	/* Navigation heading. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav::before {
		display: block;
		flex: 0 0 auto;

		margin: 0 2px 10px !important;
		padding: 0 2px 11px !important;

		color: #0f172a;
		border-bottom: 1px solid #e2e8f0;

		font-size: 17px;
		font-weight: 800;
		line-height: 1.3;

		content: "Service Setup";
	}

	/* Navigation steps. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn {
		position: relative !important;

		display: flex !important;
		align-items: center !important;
		gap: 10px !important;

		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 42px !important;

		margin: 0 !important;
		padding: 7px 34px 7px 9px !important;

		color: #475569 !important;
		background: transparent !important;
		border: 1px solid transparent !important;
		border-radius: 10px !important;

		font-size: 13px !important;
		font-weight: 650 !important;
		line-height: 1.3 !important;
		text-decoration: none !important;

		translate: none !important;
		transform: none !important;
		transition: none !important;
		animation: none !important;
	}

	/* Circular icon container. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn
	i.directorist-icon-mask {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 32px !important;

		box-sizing: border-box !important;
		width: 32px !important;
		min-width: 32px !important;
		height: 32px !important;
		min-height: 32px !important;

		margin: 0 !important;
		padding: 0 !important;

		background: #f1f5f9 !important;
		border: 0 !important;
		border-radius: 50% !important;
		box-shadow: none !important;
	}

	/* Actual icon mask. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn
	i.directorist-icon-mask::after {
		width: 15px !important;
		height: 15px !important;
		background-color: #64748b !important;
	}

	/* Arrow positioning. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn::before {
		right: 13px !important;
		transition: none !important;
		animation: none !important;
	}

	/* Hover state. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn:not(.active):not(.completed):hover {
		color: #0f172a !important;
		background: #f8fafc !important;
		border-color: #e2e8f0 !important;
		box-shadow: none !important;
	}

	/* Directorist's completed state. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.completed:not(.active) {
		color: #166534 !important;
		background: #f0fdf4 !important;
		border-color: #dcfce7 !important;
	}

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.completed:not(.active)
	i.directorist-icon-mask {
		background: #dcfce7 !important;
	}

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.completed:not(.active)
	i.directorist-icon-mask::after,
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.completed:not(.active)::before {
		background-color: #16a34a !important;
	}

	/* Current active step. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.active {
		color: #ffffff !important;
		background: #e91e63 !important;
		border-color: #e91e63 !important;
		box-shadow:
			0 8px 18px
			rgba(233, 30, 99, 0.2) !important;
	}

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.active
	i.directorist-icon-mask {
		background: #ffffff !important;
	}

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.active
	i.directorist-icon-mask::after {
		background-color: #e91e63 !important;
	}

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn.active::before {
		background-color: #ffffff !important;
		opacity: 1 !important;
	}

	/* Accessible keyboard focus. */
	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__nav__btn:focus-visible {
		outline: 3px solid rgba(233, 30, 99, 0.2) !important;
		outline-offset: 2px !important;
	}

	body.page-id-9.theme-dir-add-listing
	#add-listing-last-nav {
		margin-top: 4px !important;
	}

	/*
	 * Place anchor targets below the fixed OneListing header.
	 */
	body.page-id-9.theme-dir-add-listing
	[id^="add-listing-content-"],
	body.page-id-9.theme-dir-add-listing
	#add-listing-last-content {
		scroll-margin-top: 112px !important;
	}
}

/* =========================================================
   ADD TRAINING SERVICE — RESTORE FULL FORM WIDTH
   Directorist adds inline left padding when its nav becomes
   sticky. Our navigation remains in the layout, so remove
   that duplicate spacing.
   ========================================================= */

@media (min-width: 1200px) {

	body.page-id-9.theme-dir-add-listing
	.multistep-wizard__content {
		box-sizing: border-box !important;

		flex: 1 1 0% !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;

		margin-left: 0 !important;
		padding-left: 0 !important;
	}
}

/* =========================================================
   SEARCH RESULTS — CONSOLIDATED FINAL LAYOUT
   Page ID 8 only.
   Preserves Directorist AJAX, grid/list/map and filter logic.
   ========================================================= */

body.page-id-8.theme-dir-search-result {
	--ptm-results-text: #172033;
	--ptm-results-muted: #64748b;
	--ptm-results-border: #dfe6ef;
	--ptm-results-surface: #ffffff;
	--ptm-results-background: #f7f9fc;
	--ptm-results-accent: #f7195d;

	background: var(--ptm-results-background) !important;
}

/* Remove the duplicated decorative banner on Search Results only. */
body.page-id-8.theme-dir-search-result
#content > .banner.theme-banner-breadcrumb {
	display: none !important;
}

/* Main page flow. */
body.page-id-8.theme-dir-search-result
#content {
	padding-top: 0 !important;
	background: var(--ptm-results-background) !important;
}

body.page-id-8.theme-dir-search-result
.directorist-archive-contents {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 1400px !important;

	margin: 0 auto !important;
	padding: 38px 24px 68px !important;
}

/* Keep the dynamic query title as the single page heading. */
body.page-id-8.theme-dir-search-result
.directorist-archive-title,
body.page-id-8.theme-dir-search-result
.directorist-search-result-header,
body.page-id-8.theme-dir-search-result
.directorist-search-result__header,
body.page-id-8.theme-dir-search-result
.directorist-archive-header {
	margin-top: 0 !important;
	margin-bottom: 26px !important;
	padding-top: 0 !important;
	text-align: center !important;
}

body.page-id-8.theme-dir-search-result
.directorist-archive-title {
	color: var(--ptm-results-text) !important;
	font-size: clamp(28px, 2.2vw, 36px) !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

/* Compact top search panel. */
body.page-id-8.theme-dir-search-result
.directorist-search-form-wrap,
body.page-id-8.theme-dir-search-result
.directorist-search-form__wrap {
	box-sizing: border-box !important;
	margin-top: 0 !important;
	margin-bottom: 26px !important;
	border-radius: 14px !important;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !important;
}

/* Preserve Directorist's native filter/listing flex layout. */
body.page-id-8.theme-dir-search-result
.listing-with-sidebar__contents {
	align-items: flex-start !important;
	gap: 24px !important;
}

body.page-id-8.theme-dir-search-result
.listing-with-sidebar__listing {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

body.page-id-8.theme-dir-search-result
.directorist-archive-grid-view
.directorist-row {
	display: flex !important;
	flex-wrap: wrap !important;
}

/* One result uses two-thirds; two results use half each. */
@media (min-width: 1200px) {
	body.page-id-8.theme-dir-search-result
	.directorist-archive-grid-view
	.directorist-row:has(> .directorist-col-4:only-child)
	> .directorist-col-4 {
		flex: 0 0 66.666667% !important;
		width: 66.666667% !important;
		max-width: 66.666667% !important;
	}

	body.page-id-8.theme-dir-search-result
	.directorist-archive-grid-view
	.directorist-row:has(> .directorist-col-4:nth-child(2):last-child)
	> .directorist-col-4 {
		flex: 0 0 50% !important;
		width: 50% !important;
		max-width: 50% !important;
	}
}

/* Result cards. */
body.page-id-8.theme-dir-search-result
.directorist-archive-grid-view
.directorist-col-4 {
	box-sizing: border-box !important;
}

body.page-id-8.theme-dir-search-result
article.directorist-listing-single {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;

	background: var(--ptm-results-surface) !important;
	border: 1px solid var(--ptm-results-border) !important;
	border-radius: 15px !important;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.07) !important;

	overflow: hidden !important;
	transition:
		transform 0.18s ease,
		box-shadow 0.18s ease !important;
}

@media (hover: hover) {
	body.page-id-8.theme-dir-search-result
	article.directorist-listing-single:hover {
		transform: translateY(-3px);
		box-shadow: 0 16px 34px rgba(15, 23, 42, 0.11) !important;
	}
}

body.page-id-8.theme-dir-search-result
article.directorist-listing-single
.directorist-listing-title,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single
.directorist-listing-single__title {
	color: var(--ptm-results-text) !important;
	font-size: 19px !important;
	font-weight: 750 !important;
	line-height: 1.28 !important;
}

body.page-id-8.theme-dir-search-result
article.directorist-listing-single
.directorist-listing-single__info,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single
.directorist-listing-single__meta {
	color: var(--ptm-results-muted) !important;
	line-height: 1.55 !important;
}

body.page-id-8.theme-dir-search-result
article.directorist-listing-single,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single * {
	overflow-wrap: anywhere;
}

body.page-id-8.theme-dir-search-result
article.directorist-listing-single button,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single .directorist-btn,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single i,
body.page-id-8.theme-dir-search-result
article.directorist-listing-single svg {
	overflow-wrap: normal;
}

/* Desktop filter panel. */
@media (min-width: 992px) {
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar {
		position: sticky !important;
		top: 110px !important;
		align-self: flex-start !important;

		box-sizing: border-box !important;
		max-height: calc(100vh - 132px) !important;

		background: #ffffff !important;
		border: 1px solid var(--ptm-results-border) !important;
		border-radius: 14px !important;
		box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06) !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: #cbd5e1 transparent;
	}

	body.admin-bar.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar {
		top: 142px !important;
		max-height: calc(100vh - 164px) !important;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar::-webkit-scrollbar {
		width: 6px;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar::-webkit-scrollbar-thumb {
		background: #cbd5e1;
		border-radius: 999px;
	}
}

/* Tablet. */
@media (min-width: 768px) and (max-width: 1199px) {
	body.page-id-8.theme-dir-search-result
	.directorist-archive-contents {
		padding: 32px 18px 58px !important;
	}
}

/* Mobile page and card layout. */
@media (max-width: 767px) {
	body.page-id-8.theme-dir-search-result
	.directorist-archive-contents {
		padding: 26px 12px 46px !important;
	}

	body.page-id-8.theme-dir-search-result
	.directorist-archive-title {
		font-size: 24px !important;
	}

	body.page-id-8.theme-dir-search-result
	.directorist-archive-grid-view
	.directorist-row
	> .directorist-col-4 {
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page-id-8.theme-dir-search-result
	article.directorist-listing-single {
		border-radius: 13px !important;
		box-shadow: 0 8px 22px rgba(15, 23, 42, 0.07) !important;
	}
}

/* Mobile header fit on Search Results. */
@media (max-width: 767px) {
	body.page-id-8.theme-dir-search-result
	header#site-header
	.theme-container-fluid {
		width: 100% !important;
		max-width: none !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		box-sizing: border-box !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-header-menu-full {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: 6px !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-header-logo-wrap {
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-header-logo-wrap .site-title {
		margin: 0 !important;
		font-size: 14px !important;
		line-height: 1.15 !important;
		letter-spacing: -0.2px !important;
		white-space: normal !important;
		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: none !important;
	}

	body.page-id-8.theme-dir-search-result
	#ptm-currency-switcher {
		flex: 0 0 84px !important;
		width: 84px !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	body.page-id-8.theme-dir-search-result
	#ptm-currency-switcher
	.ptm-modern-currency-button {
		width: 84px !important;
		min-width: 0 !important;
		max-width: 84px !important;
		min-height: 36px !important;
		padding: 6px 7px !important;
		font-size: 11px !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-menu-action-box__search {
		display: block !important;
		flex: 0 0 36px !important;
		width: 36px !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-menu-action-box__search--trigger {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 36px !important;
		height: 36px !important;
		margin: 0 !important;
	}

	body.page-id-8.theme-dir-search-result
	.theme-menu-action-box__add-listing {
		display: none !important;
	}
}

/* Mobile filter drawer. */
@media (max-width: 767px) {
	body.page-id-8.theme-dir-search-result.modal-overlay-enabled {
		overflow: hidden !important;
	}

	body.page-id-8.theme-dir-search-result.modal-overlay-enabled::before {
		position: fixed;
		inset: 0;
		z-index: 10040;
		content: "";
		background: rgba(15, 23, 42, 0.58);
		pointer-events: none;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar.left-sidebar-contents {
		position: fixed !important;
		top: 0 !important;
		right: auto !important;
		bottom: auto !important;
		left: 0 !important;
		z-index: 10050 !important;

		box-sizing: border-box !important;
		width: min(92vw, 360px) !important;
		min-width: 0 !important;
		max-width: calc(100vw - 24px) !important;

		height: 100vh !important;
		height: 100dvh !important;
		min-height: 100vh !important;
		min-height: 100dvh !important;
		max-height: 100vh !important;
		max-height: 100dvh !important;

		margin: 0 !important;
		padding: 0 !important;

		background: #ffffff !important;
		border: 0 !important;
		border-radius: 0 16px 16px 0 !important;
		box-shadow: 18px 0 42px rgba(15, 23, 42, 0.24) !important;

		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		scrollbar-color: #cbd5e1 transparent;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.directorist-search-contents {
		min-height: 100% !important;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.directorist-advanced-filter,
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.directorist-advanced-filter__advanced {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.directorist-advanced-filter {
		padding-right: 20px !important;
		padding-bottom: 96px !important;
		padding-left: 20px !important;
	}

	/* Sticky drawer header when Directorist renders it separately. */
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	> .directorist-search-contents
	> :first-child:not(.directorist-advanced-filter),
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.listing-with-sidebar__sidebar__header,
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar
	.directorist-advanced-filter__header {
		position: sticky !important;
		top: 0 !important;
		z-index: 12 !important;
		background: #ffffff !important;
		border-bottom: 1px solid #e2e8f0 !important;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar--open
	.directorist-advanced-filter__action--ajax {
		position: fixed !important;
		right: auto !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 10060 !important;

		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;

		box-sizing: border-box !important;
		width: min(92vw, 360px) !important;
		max-width: calc(100vw - 24px) !important;
		min-height: 72px !important;

		margin: 0 !important;
		padding:
			13px
			18px
			calc(13px + env(safe-area-inset-bottom))
			18px !important;

		background: rgba(255, 255, 255, 0.98) !important;
		border-top: 1px solid var(--ptm-results-border) !important;
		box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.08) !important;
		backdrop-filter: blur(8px);
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar--open
	.directorist-btn-reset-ajax {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		box-sizing: border-box !important;
		min-width: 112px !important;
		min-height: 44px !important;

		margin: 0 !important;
		padding: 10px 16px !important;

		color: var(--ptm-results-accent) !important;
		background: #ffffff !important;
		border: 1px solid var(--ptm-results-accent) !important;
		border-radius: 9px !important;

		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar input[type="checkbox"] {
		width: 20px !important;
		height: 20px !important;
		accent-color: var(--ptm-results-accent);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-8.theme-dir-search-result
	article.directorist-listing-single {
		transition: none !important;
	}

	body.page-id-8.theme-dir-search-result
	article.directorist-listing-single:hover {
		transform: none !important;
	}
}

/* =========================================================
   SEARCH RESULTS — FINAL SPACING AND FILTER HEADER
   Page ID 8 only.
   ========================================================= */

/*
 * OneListing leaves an additional gap after the normal header.
 * These measured adjustments reclaim that space without
 * affecting Directorist's search, filters, cards or AJAX.
 */
@media (min-width: 992px) {

	body.page-id-8.theme-dir-search-result
	.directorist-archive-contents {
		margin-top: -76px !important;
		padding-top: 24px !important;
	}
}

/* Tablet. */
@media (min-width: 768px) and (max-width: 991px) {

	body.page-id-8.theme-dir-search-result
	.directorist-archive-contents {
		margin-top: -44px !important;
		padding-top: 22px !important;
	}
}

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

	body.page-id-8.theme-dir-search-result
	.directorist-archive-contents {
		margin-top: -30px !important;
		padding-top: 20px !important;
	}

	/*
	 * Keep the real Directorist Filters heading and close
	 * control visible while scrolling through the drawer.
	 */
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar--open
	.directorist-advanced-filter__top {
		position: sticky !important;
		top: 0 !important;
		z-index: 10065 !important;

		box-sizing: border-box !important;
		min-height: 76px !important;

		margin-right: -20px !important;
		margin-bottom: 18px !important;
		margin-left: -20px !important;
		padding: 16px 20px !important;

		background: rgba(255, 255, 255, 0.98) !important;
		border-bottom: 1px solid #e2e8f0 !important;
		box-shadow: 0 7px 18px rgba(15, 23, 42, 0.06) !important;

		backdrop-filter: blur(8px);
	}

	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar--open
	.directorist-advanced-filter__title {
		margin: 0 !important;

		color: #172033 !important;
		font-size: 20px !important;
		font-weight: 750 !important;
		line-height: 1.3 !important;
	}

	/* Make the native close control easier to tap. */
	body.page-id-8.theme-dir-search-result
	.listing-with-sidebar__sidebar--open
	.directorist-advanced-filter__top
	:is(a, button) {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;

		margin: 0 !important;
		padding: 0 !important;

		border-radius: 50% !important;
	}

	/*
	 * Clear All should look active only when filters are
	 * actually selected.
	 */
	body.page-id-8.theme-dir-search-result
	.directorist-advanced-filter__action--ajax:not(
		.reset-btn-disabled
	)
	.directorist-btn-reset-ajax {
		opacity: 1 !important;
		color: #e91e63 !important;
		background: #ffffff !important;
		border-color: #e91e63 !important;
		cursor: pointer !important;
	}

	body.page-id-8.theme-dir-search-result
	.directorist-advanced-filter__action--ajax.reset-btn-disabled
	.directorist-btn-reset-ajax {
		opacity: 0.48 !important;
		cursor: not-allowed !important;
	}
}

/* PilotBooker v1.9.21 medical self-service action layout. */
.pb-med-profile-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 22px;
}
.pb-med-profile-actions .btn { min-height: 48px; }
@media (max-width: 640px) {
	.pb-med-profile-actions { flex-direction: column; align-items: stretch; }
	.pb-med-profile-actions .btn { width: 100%; }
}
