/**
 * Find a Physical Therapist — directory UI
 * Inspired by horizontal search bar + map|list split.
 * GeoDirectory handles data; this file is presentation only.
 */

body.pt-directory-active {
	--pt-dir-gap: 0.85rem;
	--pt-dir-avatar: 72px;
}

/* Constrain content width and kill theme whitespace */
body.pt-directory-active.pt-side-nav-on .x-main.full,
body.pt-directory-active .x-main.full {
	padding-top: 0.35rem !important;
	padding-bottom: 1rem !important;
}

body.pt-directory-active .x-container.width,
body.pt-directory-active .x-container.max.width {
	padding-top: 0.35rem !important;
	padding-bottom: 0.5rem !important;
	max-width: 1280px !important;
}

body.pt-directory-active .entry-wrap,
body.pt-directory-active .hentry,
body.pt-directory-active .entry-content {
	margin: 0 !important;
	padding: 0 !important;
}

body.pt-directory-active .entry-content > p:empty,
body.pt-directory-active .geodir-category-top-description:empty {
	display: none !important;
}

body.pt-directory-active .geodir-notifications,
body.pt-directory-active .gd-notification {
	margin: 0 0 0.65rem !important;
}

/* --------------------------------------------------------------------------
   Compact page title
   -------------------------------------------------------------------------- */
.pt-dir-hero {
	margin: 0 0 0.65rem;
	padding: 0;
	background: none;
	border: 0;
}

.pt-dir-hero__title {
	margin: 0;
	font-family: var(--pt-font, "DM Sans", sans-serif);
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	color: var(--pt-ink, #1a2332);
}

.pt-dir-hero__sub {
	margin: 0.35rem 0 0;
	max-width: 40rem;
	font-family: var(--pt-font, "DM Sans", sans-serif);
	font-size: 0.95rem;
	line-height: 1.45;
	color: var(--pt-muted, #64748b);
}

.pt-directory-schools .pt-dir-card__rating {
	display: none;
}

.pt-dir-school-ph {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 88px;
	border-radius: 10px;
	background:
		linear-gradient(145deg, rgba(0, 102, 161, 0.12), rgba(244, 163, 58, 0.18)),
		repeating-linear-gradient(
			-12deg,
			transparent,
			transparent 8px,
			rgba(0, 102, 161, 0.04) 8px,
			rgba(0, 102, 161, 0.04) 16px
		);
}

/* --------------------------------------------------------------------------
   Search shell — inspiration horizontal bar
   -------------------------------------------------------------------------- */
.pt-dir-search-shell {
	margin: 0 0 1rem;
	padding: 0.7rem 0.8rem;
	background: #fff;
	border: 1px solid var(--pt-border, #e2e8f0);
	border-radius: 14px;
	box-shadow: 0 4px 18px rgba(26, 35, 50, 0.06);
}

.pt-dir-search-shell .geodir-search-container,
.pt-dir-search-shell .geodir-loc-bar,
.pt-dir-search-shell .geodir-loc-bar-in,
.pt-dir-search-shell .geodir-search,
.pt-dir-search-shell form.geodir-listing-search {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	float: none !important;
	width: 100% !important;
}

.pt-dir-search-shell .geodir-search,
.pt-dir-search-shell .geodir-loc-bar-in,
.pt-dir-search-shell form.geodir-listing-search .geodir-search {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.55rem;
}

.pt-dir-search-shell .gd-search-input-wrapper,
.pt-dir-search-shell .gd-search-field-main-search {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-width: 0;
	position: relative;
}

/* Visual field order matching inspiration */
.pt-dir-search-shell .gd-search-field-search {
	order: 1;
	flex: 1.5 1 200px;
}
.pt-dir-search-shell .gd-search-field-clinic_specialties {
	order: 2;
	flex: 1 1 140px;
}
.pt-dir-search-shell .gd-search-field-near {
	order: 3;
	flex: 1.1 1 150px;
}
.pt-dir-search-shell .gd-search-field-clinic_affiliations {
	order: 4;
	flex: 1 1 130px;
}
.pt-dir-search-shell .gd-search-distance {
	order: 5;
	flex: 0.85 1 120px;
}
.pt-dir-search-shell .geodir_submit_search,
.pt-dir-search-shell button.geodir_submit_search {
	order: 6;
}
.pt-dir-search-shell .geodir-show-filters {
	order: 7;
}
.pt-dir-search-shell .geodir-more-filters,
.pt-dir-search-shell .geodir-filter-container {
	order: 20;
}

/* Hide CPT selector when redundant — keep in DOM for GD */
.pt-dir-search-shell .gd-search-field-cpt:not(.gd-search-distance) {
	display: none !important;
}

.pt-dir-search-shell .gd-search-distance {
	display: block !important;
}

.pt-dir-search-shell input.search_text,
.pt-dir-search-shell input.gd_search_text,
.pt-dir-search-shell input.snear,
.pt-dir-search-shell input[type="text"],
.pt-dir-search-shell select {
	width: 100% !important;
	min-height: 2.65rem !important;
	margin: 0 !important;
	padding: 0.55rem 0.8rem !important;
	border: 1px solid var(--pt-border, #e2e8f0) !important;
	border-radius: 10px !important;
	background: #fff !important;
	font-family: var(--pt-font, "DM Sans", sans-serif) !important;
	font-size: 0.875rem !important;
	color: var(--pt-ink, #1a2332) !important;
	box-shadow: none !important;
}

.pt-dir-search-shell input:focus,
.pt-dir-search-shell select:focus {
	border-color: var(--pt-blue, #0066a1) !important;
	box-shadow: 0 0 0 3px rgba(0, 102, 161, 0.12) !important;
	outline: none !important;
}

.pt-dir-search-shell .geodir_submit_search,
.pt-dir-search-shell button.geodir_submit_search {
	flex: 0 0 auto;
	align-self: stretch;
	min-width: 6.5rem;
	min-height: 2.65rem !important;
	margin: 0 !important;
	padding: 0 1.25rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--pt-blue, #0066a1) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	cursor: pointer;
	box-shadow: none !important;
}

.pt-dir-search-shell .geodir_submit_search:hover {
	background: var(--pt-blue-hover, #005286) !important;
}

/* Advanced filters cog — quieter */
.pt-dir-search-shell .geodir-show-filters {
	flex: 0 0 auto;
	min-width: 2.65rem;
	border-radius: 10px !important;
	border: 1px solid var(--pt-border, #e2e8f0) !important;
	background: #f8fafc !important;
	color: var(--pt-ink-2, #4a5568) !important;
}

.pt-dir-search-shell .geodir-more-filters,
.pt-dir-search-shell .geodir-filter-container {
	flex: 1 1 100%;
	width: 100%;
	margin-top: 0.35rem;
}

/* --------------------------------------------------------------------------
   Map | Listings — ~45 / 55
   -------------------------------------------------------------------------- */
.pt-dir-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	align-items: start;
	margin: 0 0 1rem;
}

@media (min-width: 960px) {
	.pt-dir-split {
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); /* ~45 / 55 */
		gap: 1.1rem;
	}

	.pt-dir-split__map {
		position: static;
		align-self: start;
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
	}
}

.pt-dir-split__map .geodir_map_container,
.pt-dir-split__map .geodir-map-wrap,
.pt-dir-split__map .gd-map-canvas,
.pt-dir-split__map #gd_map_canvas_archive,
.pt-dir-split__map .top_banner_section,
.pt-dir-split__map .geodir_map_container .stick_trigger_container {
	margin: 0 !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	border: 1px solid #dadce0 !important;
	background: #e8eaed;
	box-shadow: 0 1px 2px rgba(60, 64, 67, 0.08), 0 2px 8px rgba(60, 64, 67, 0.06) !important;
}

/* Quieter GeoDirectory map chrome */
.pt-dir-split__map .trigger_sticky,
.pt-dir-split__map .map_category,
.pt-dir-split__map .geodir_map_container .trigger {
	display: none !important;
}

.pt-dir-split__map .geodir-map-wrap,
.pt-dir-split__map .gd-map-canvas,
.pt-dir-split__map #gd_map_canvas_archive,
.pt-dir-split__map .geodir_map_container {
	height: 420px !important;
	max-height: 420px !important;
	min-height: 420px !important;
}

.pt-dir-split__map iframe,
.pt-dir-split__map .gm-style {
	height: 420px !important;
	min-height: 420px !important;
}

/* Loop actions / sort header */
.pt-dir-split__listings .geodir-loop-actions,
.pt-dir-split__listings .gd-loop-actions {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin: 0 0 0.65rem !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}

/* --------------------------------------------------------------------------
   Horizontal list cards — mockup layout
   -------------------------------------------------------------------------- */
body.pt-directory-active {
	--pt-dir-avatar: 84px;
}

body.pt-directory-active .pt-dir-split__listings ul.geodir-category-list-view,
body.pt-directory-active .pt-dir-split__listings ul.geodir-listing-posts {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	column-count: auto !important;
	grid-template-columns: none !important;
}

body.pt-directory-active .pt-dir-split__listings ul.geodir-category-list-view > li,
body.pt-directory-active .pt-dir-split__listings .geodir-post {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
	width: 100% !important;
	margin: 0 !important;
	padding: 1rem 1.1rem !important;
	background: #fff !important;
	border: 1px solid #e5e7eb !important;
	border-radius: 14px !important;
	box-shadow: 0 1px 2px rgba(26, 35, 50, 0.04) !important;
	float: none !important;
	overflow: visible !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.pt-directory-active .pt-dir-split__listings ul.geodir-category-list-view > li:hover {
	border-color: rgba(0, 102, 161, 0.35) !important;
	box-shadow: 0 6px 18px rgba(26, 35, 50, 0.07) !important;
	transform: none !important;
}

/* Circular avatar + verified pin */
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left {
	position: relative !important;
	float: none !important;
	width: var(--pt-dir-avatar) !important;
	height: var(--pt-dir-avatar) !important;
	margin: 0 !important;
	border-radius: 50%;
	overflow: visible !important;
	background: linear-gradient(135deg, #e8f3fa, #eef2f6);
	flex: 0 0 var(--pt-dir-avatar);
	align-self: center;
}

body.pt-directory-active .pt-dir-split__listings .gd-list-item-left img,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left .geodir-image-container,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left .geodir-post-slider,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left .carousel-inner,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left .carousel-item,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left figure,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left a {
	width: var(--pt-dir-avatar) !important;
	height: var(--pt-dir-avatar) !important;
	max-height: var(--pt-dir-avatar) !important;
	object-fit: cover !important;
	border-radius: 50% !important;
	display: block !important;
	margin: 0 !important;
	overflow: hidden;
}

body.pt-directory-active .pt-dir-split__listings .gd-list-item-left img.pt-dir-therapy,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left img.pt-dir-avatar,
.pt-dir-feat__media img.pt-dir-therapy,
.pt-dir-feat__media img.pt-dir-avatar,
.pt-dir-feat__media img {
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: center 20%;
	background: #e8f3fa;
}

body.pt-directory-active .pt-dir-split__listings .gd-list-item-left.pt-dir-has-therapy,
body.pt-directory-active .pt-dir-split__listings .gd-list-item-left.pt-dir-has-avatar {
	background: transparent;
}

.pt-dir-card__badge {
	position: absolute;
	right: 2px;
	bottom: 2px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: #22a06b;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: 0 1px 3px rgba(26, 35, 50, 0.2);
}

.pt-dir-card__badge svg {
	width: 0.75rem;
	height: 0.75rem;
	display: block;
}

body.pt-directory-active .pt-dir-split__listings .gd-list-item-right {
	float: none !important;
	width: auto !important;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
	display: block !important;
}

.pt-dir-card__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}

.pt-dir-card__main {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.28rem;
}

.pt-dir-card__title-row {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.pt-dir-card__title {
	margin: 0 !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	letter-spacing: -0.015em;
}

.pt-dir-card__title a {
	color: var(--pt-ink, #1a2332) !important;
	text-decoration: none !important;
}

.pt-dir-card__title a:hover {
	color: var(--pt-blue, #0066a1) !important;
}

.pt-dir-card__verified {
	display: inline-flex;
	width: 1.05rem;
	height: 1.05rem;
	color: var(--pt-blue, #0066a1);
	flex: 0 0 auto;
}

.pt-dir-card__verified svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pt-dir-card__specs {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.35;
	color: var(--pt-ink-2, #4a5568);
	font-weight: 500;
}

.pt-dir-card__rating {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	flex-wrap: wrap;
}

.pt-dir-card__stars {
	display: inline-flex;
	gap: 0.08rem;
}

.pt-dir-card__stars span {
	display: inline-flex;
	width: 0.95rem;
	height: 0.95rem;
}

.pt-dir-card__stars svg {
	width: 100%;
	height: 100%;
	display: block;
}

.pt-dir-card__stars .is-on svg {
	fill: #f5b301;
}

.pt-dir-card__stars .is-half svg {
	fill: #f5b301;
	opacity: 0.55;
}

.pt-dir-card__stars .is-off svg {
	fill: #d5dbe3;
}

.pt-dir-card__reviews {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--pt-blue, #0066a1) !important;
	text-decoration: none !important;
}

.pt-dir-card__reviews:hover {
	text-decoration: underline !important;
}

.pt-dir-card__reviews--muted {
	color: var(--pt-ink-3, #7a8699) !important;
	font-weight: 500;
}

.pt-dir-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.45rem;
	margin-top: 0.1rem;
	font-size: 0.8rem;
	color: var(--pt-ink-3, #7a8699);
}

.pt-dir-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.28rem;
}

.pt-dir-card__meta-item svg {
	width: 0.85rem;
	height: 0.85rem;
	flex: 0 0 auto;
	opacity: 0.85;
}

.pt-dir-card__dot {
	color: #c1c7d0;
}

.pt-dir-card__actions {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin: 0;
	padding: 0;
	align-self: center;
	min-width: 10.5rem;
	flex: 0 0 auto;
}

.pt-dir-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.35rem;
	padding: 0.45rem 0.9rem;
	border-radius: 10px;
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.pt-dir-btn__icon {
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
}

.pt-dir-btn--outline {
	background: #fff;
	border: 1.5px solid var(--pt-blue, #0066a1);
	color: var(--pt-blue, #0066a1) !important;
}

.pt-dir-btn--outline:hover {
	background: var(--pt-blue, #0066a1);
	color: #fff !important;
}

.pt-dir-btn--ghost {
	background: #fff;
	border: 1.5px solid #d0d7e2;
	color: var(--pt-ink, #1a2332) !important;
}

.pt-dir-btn--ghost:hover {
	border-color: var(--pt-blue, #0066a1);
	color: var(--pt-blue, #0066a1) !important;
	background: var(--pt-blue-soft, #e8f3fa);
}

.pt-dir-btn.pt-dir-discuss--detail {
	display: inline-flex;
	margin-top: 0.75rem;
	background: var(--pt-orange, #f4a33a);
	border-color: var(--pt-orange, #f4a33a);
	color: #1a2332 !important;
}

/* Hide leftover GD chrome inside cards */
body.pt-directory-active .pt-dir-split__listings .gd-badge-meta,
body.pt-directory-active .pt-dir-split__listings .geodir-author-actions,
body.pt-directory-active .pt-dir-split__listings .geodir-post-fav,
body.pt-directory-active .pt-dir-split__listings .gd-read-more {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Trust bar
   -------------------------------------------------------------------------- */
.pt-dir-trust {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
	margin: 1.25rem 0 0.5rem;
	padding: 1rem;
	background: #eef2f7;
	border: 1px solid var(--pt-border, #e2e8f0);
	border-radius: 14px;
}

@media (min-width: 700px) {
	.pt-dir-trust {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1100px) {
	.pt-dir-trust {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0.65rem;
		padding: 0.9rem 1rem;
	}
}

.pt-dir-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
}

.pt-dir-trust__icon {
	flex: 0 0 2.15rem;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 50%;
	background: var(--pt-blue-soft, #e8f3fa);
	position: relative;
}

.pt-dir-trust__icon::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.95rem;
	height: 0.95rem;
	background: var(--pt-blue, #0066a1);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.pt-dir-trust__icon--shield::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3l7 3v5c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3l7 3v5c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E");
}

.pt-dir-trust__icon--pin::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
}

.pt-dir-trust__icon--star::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.2 1 5.8L12 17.8 6.8 19.7l1-5.8L3.5 9.7l5.9-.9L12 3.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.2 1 5.8L12 17.8 6.8 19.7l1-5.8L3.5 9.7l5.9-.9L12 3.5z'/%3E%3C/svg%3E");
}

.pt-dir-trust__icon--chat::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H9l-5 4v-4H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H9l-5 4v-4H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}

.pt-dir-trust__icon--grad::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V15c0 1.7 3.1 3 7 3s7-1.3 7-3v-2.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V15c0 1.7 3.1 3 7 3s7-1.3 7-3v-2.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E");
}

.pt-dir-trust__copy {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.pt-dir-trust__copy strong {
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--pt-ink, #1a2332);
	line-height: 1.25;
}

.pt-dir-trust__copy span {
	font-size: 0.72rem;
	line-height: 1.35;
	color: var(--pt-ink-2, #4a5568);
}

/* Pagination */
body.pt-directory-active .geodir-pagination,
body.pt-directory-active .gd-pagination {
	margin: 0.65rem 0 0 !important;
}

body.pt-directory-active .geodir-pagination .current,
body.pt-directory-active .page-numbers.current {
	background: var(--pt-blue, #0066a1) !important;
	border-color: var(--pt-blue, #0066a1) !important;
	color: #fff !important;
}

/* --------------------------------------------------------------------------
   Map-column widgets (below map)
   -------------------------------------------------------------------------- */
.pt-dir-split__map {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.pt-dir-side {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.pt-dir-widget {
	margin: 0;
	padding: 0.85rem 0.9rem;
	background: #fff;
	border: 1px solid var(--pt-border, #e2e8f0);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(26, 35, 50, 0.04);
}

.pt-dir-widget__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0 0 0.65rem;
}

.pt-dir-widget__title {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--pt-ink, #1a2332);
}

.pt-dir-widget__more {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--pt-blue, #0066a1) !important;
	text-decoration: none !important;
}

.pt-dir-widget__more:hover {
	text-decoration: underline !important;
}

/* Featured */
.pt-dir-feat {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 0.75rem;
	align-items: start;
}

.pt-dir-feat__media {
	position: relative;
	width: 72px;
	height: 72px;
}

.pt-dir-feat__media img,
.pt-dir-feat__placeholder {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	background: linear-gradient(135deg, #e8f3fa, #eef2f6);
}

.pt-dir-feat__verified {
	position: absolute;
	left: 50%;
	bottom: -0.35rem;
	transform: translateX(-50%);
	padding: 0.1rem 0.4rem;
	border-radius: 999px;
	background: var(--pt-blue, #0066a1);
	color: #fff;
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.pt-dir-feat__name {
	display: block;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--pt-ink, #1a2332) !important;
	text-decoration: none !important;
	margin: 0 0 0.2rem;
}

.pt-dir-feat__name:hover {
	color: var(--pt-blue, #0066a1) !important;
}

.pt-dir-feat__spec,
.pt-dir-feat__meta {
	margin: 0 0 0.2rem;
	font-size: 0.78rem;
	line-height: 1.35;
	color: var(--pt-ink-2, #4a5568);
}

.pt-dir-feat__meta {
	color: var(--pt-ink-3, #7a8699);
}

.pt-dir-feat__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.pt-dir-feat__actions .pt-dir-btn {
	flex: 1 1 auto;
	min-width: 0;
	padding: 0.35rem 0.55rem;
	font-size: 0.72rem;
	min-height: 2rem;
}

/* Trending */
.pt-dir-trend {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}

.pt-dir-trend__item {
	margin: 0;
	padding: 0 0 0.55rem;
	border-bottom: 1px solid var(--pt-border, #e2e8f0);
}

.pt-dir-trend__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.pt-dir-trend__title {
	display: block;
	font-size: 0.84rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--pt-ink, #1a2332) !important;
	text-decoration: none !important;
	margin: 0 0 0.15rem;
}

.pt-dir-trend__title:hover {
	color: var(--pt-blue, #0066a1) !important;
}

.pt-dir-trend__meta {
	font-size: 0.72rem;
	color: var(--pt-ink-3, #7a8699);
}

/* Stats */
.pt-dir-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

.pt-dir-stats__card {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.6rem;
	background: var(--pt-bg, #f5f7fb);
	border: 1px solid var(--pt-border, #e2e8f0);
	border-radius: 10px;
}

.pt-dir-stats__icon {
	flex: 0 0 1.85rem;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: 50%;
	background: var(--pt-blue-soft, #e8f3fa);
	position: relative;
}

.pt-dir-stats__icon::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.85rem;
	height: 0.85rem;
	background: var(--pt-blue, #0066a1);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.pt-dir-stats__icon--users::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M16 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zM8 12a3.5 3.5 0 1 0-3.5-3.5A3.5 3.5 0 0 0 8 12zm8 2c-2.7 0-8 1.35-8 4v2h16v-2c0-2.65-5.3-4-8-4zM8 14c-.3 0-.7.02-1.1.05C4.3 14.4 2 15.55 2 17.5V20h6v-2c0-.7.2-1.9 1.5-2.85A12.4 12.4 0 0 0 8 14z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M16 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zM8 12a3.5 3.5 0 1 0-3.5-3.5A3.5 3.5 0 0 0 8 12zm8 2c-2.7 0-8 1.35-8 4v2h16v-2c0-2.65-5.3-4-8-4zM8 14c-.3 0-.7.02-1.1.05C4.3 14.4 2 15.55 2 17.5V20h6v-2c0-.7.2-1.9 1.5-2.85A12.4 12.4 0 0 0 8 14z'/%3E%3C/svg%3E");
}

.pt-dir-stats__icon--grad::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V15c0 1.7 3.1 3 7 3s7-1.3 7-3v-2.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3L1 9l11 6 9-4.9V17h2V9L12 3zm-7 9.2V15c0 1.7 3.1 3 7 3s7-1.3 7-3v-2.8l-7 3.8-7-3.8z'/%3E%3C/svg%3E");
}

.pt-dir-stats__icon--pin::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5z'/%3E%3C/svg%3E");
}

.pt-dir-stats__icon--shield::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3l7 3v5c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 3l7 3v5c0 5-3.5 8.5-7 10-3.5-1.5-7-5-7-10V6l7-3z'/%3E%3C/svg%3E");
}

.pt-dir-stats__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 0.05rem;
}

.pt-dir-stats__copy strong {
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--pt-ink, #1a2332);
}

.pt-dir-stats__copy span {
	font-size: 0.68rem;
	line-height: 1.25;
	color: var(--pt-ink-2, #4a5568);
}

/* Specialty chips */
.pt-dir-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.pt-dir-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	border: 1px solid var(--pt-border, #e2e8f0);
	background: #fff;
	color: var(--pt-ink-2, #4a5568) !important;
	font-size: 0.75rem;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.pt-dir-chip:hover,
.pt-dir-chip.is-active {
	background: var(--pt-blue-soft, #e8f3fa);
	border-color: rgba(0, 102, 161, 0.35);
	color: var(--pt-blue, #0066a1) !important;
}

@media (max-width: 959px) {
	.pt-dir-side {
		margin-top: 0.15rem;
	}
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 759px) {
	.pt-dir-search-shell {
		padding: 0.65rem;
	}

	body.pt-directory-active .pt-dir-split__listings ul.geodir-category-list-view > li {
		flex-wrap: wrap;
		align-items: flex-start;
	}

	body.pt-directory-active .pt-dir-split__listings .gd-list-item-right {
		flex: 1 1 calc(100% - var(--pt-dir-avatar) - 1rem);
	}

	.pt-dir-card__body {
		flex-direction: column;
		align-items: stretch;
	}

	.pt-dir-card__actions {
		flex-direction: row;
		min-width: 0;
		width: 100%;
	}

	.pt-dir-btn {
		flex: 1 1 auto;
	}

	.pt-dir-split__map .geodir-map-wrap,
	.pt-dir-split__map .gd-map-canvas,
	.pt-dir-split__map #gd_map_canvas_archive,
	.pt-dir-split__map .geodir_map_container {
		height: 280px !important;
		min-height: 280px !important;
		max-height: 280px !important;
	}

	.pt-dir-feat {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.pt-dir-feat__media,
	.pt-dir-feat__media img,
	.pt-dir-feat__placeholder {
		width: 64px;
		height: 64px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.pt-directory-active .pt-dir-split__listings ul.geodir-category-list-view > li,
	.pt-dir-btn,
	.pt-dir-chip {
		transition: none !important;
	}
}
