body.single-gd_place .geodir-entry-header,
body.single-gd_place .entry-header,
body.single-gd_place .geodir-single-header,
body.single-gd_place .geodir-post-header {
	gap: 12px 14px;
}

body.single-gd_place .geodir-field-primary_services,
body.single-gd_place .geodir-field-secondary_services,
body.single-gd_place .geodir-field-community_focus,
body.single-gd_place .geodir-field-experience_level,
body.single-gd_place .geodir-field-signup_form {
	min-width: 0;
}

@media (max-width: 1024px) {
	body.single-gd_place .site-content-grid {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: flex-start;
	}

	body.single-gd_place .content-area,
	body.single-gd_place #secondary.widget-area {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		float: none !important;
	}

	body.single-gd_place .content-area {
		order: 1;
		flex: 1 1 100% !important;
	}

	body.single-gd_place #secondary.widget-area {
		order: 2;
		flex: 1 1 100% !important;
		margin-top: 24px;
	}

	body.single-gd_place .geodir-entry-header,
	body.single-gd_place .entry-header,
	body.single-gd_place .geodir-single-header,
	body.single-gd_place .geodir-post-header {
		flex-direction: column;
		align-items: flex-start;
	}

	body.single-gd_place .geodir-field-primary_services,
	body.single-gd_place .geodir-field-secondary_services,
	body.single-gd_place .geodir-field-community_focus,
	body.single-gd_place .geodir-field-experience_level,
	body.single-gd_place .geodir-field-signup_form {
		width: 100%;
		max-width: none;
	}

	body.single-gd_place .geodir-map-directions-wrap .input-group-text,
	body.single-gd_place .geodir-map-directions-wrap .gd-directions-from-user {
		width: 100% !important;
		min-width: 0 !important;
		border-radius: 10px !important;
	}
}

@media (max-width: 768px) {
	body.single-gd_place .geodir-category,
	body.single-gd_place .geodir_post_taxomomies {
		gap: 6px;
	}

	body.single-gd_place .geodir-category a.badge,
	body.single-gd_place .geodir-category .badge,
	body.single-gd_place .geodir_post_taxomomies a.badge,
	body.single-gd_place .geodir-category a[class*="gd-termid-"],
	body.single-gd_place .geodir-taxonomies a,
	body.single-gd_place .geodir-taxonomy a,
	body.single-gd_place .gd-badge {
		margin: 0 6px 6px 0 !important;
		padding: 6px 11px !important;
		border-radius: 999px !important;
	}

	body.single-gd_place .geodir-map-directions-wrap .gd-input-group,
	body.single-gd_place .geodir-map-directions-wrap .input-group {
		flex-wrap: wrap !important;
	}

	body.single-gd_place .geodir-map-directions-wrap .form-control,
	body.single-gd_place .geodir-map-directions-wrap input[type="text"],
	body.single-gd_place .geodir-map-directions-wrap .btn-primary,
	body.single-gd_place .geodir-map-directions-wrap .btn.btn-primary {
		width: 100% !important;
	}

	body.single-gd_place .geodir-map-directions-wrap .input-group-text,
	body.single-gd_place .geodir-map-directions-wrap .gd-directions-from-user {
		min-height: 46px !important;
	}
}

/* ======================================================================
   Single listing: info boxes, contact blocks, and service blocks spacing
   Ownership: gd-responsive-single.css — keeps single page layout balanced
 ====================================================================== */
body.single-gd_place .geodir-post .geodir-field,
body.single-gd_place .geodir-post .geodir-contact-block,
body.single-gd_place .geodir-post .geodir-services-block {
	padding: 14px 12px !important;
	margin-bottom: 12px;
	background: transparent;
}

body.single-gd_place .geodir-contact-block .gd-icon,
body.single-gd_place .geodir-services-block .gd-icon {
	width: 36px;
	height: 36px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin-right:10px;
}

@media (max-width: 600px) {
	body.single-gd_place .geodir-post .geodir-field,
	body.single-gd_place .geodir-post .geodir-contact-block,
	body.single-gd_place .geodir-post .geodir-services-block {
		padding: 12px !important;
	}
}

@media (max-width: 600px) {
	body.single-gd_place .geodir-tabs .nav-tabs,
	body.single-gd_place .geodir-tab-head .nav-tabs,
	body.single-gd_place .geodir-tab-head .nav-pills {
		overflow-x: auto;
		white-space: nowrap;
	}

	body.single-gd_place .geodir-tabs .nav-link,
	body.single-gd_place .geodir-tab-head .nav-link {
		padding-inline: 0.75rem;
	}

	body.single-gd_place :is(.geodir-field-primary_services, .geodir-field-secondary_services, .geodir-field-community_focus, .geodir-field-experience_level, .geodir-field-signup_form) {
		padding: 14px 12px !important;
	}
}

@media (max-width: 480px) {
	body.single-gd_place .geodir-entry-header,
	body.single-gd_place .entry-header,
	body.single-gd_place .geodir-single-header,
	body.single-gd_place .geodir-post-header {
		padding: 16px 18px !important;
	}

	body.single-gd_place .geodir-category a.badge,
	body.single-gd_place .geodir-category .badge,
	body.single-gd_place .geodir_post_taxomomies a.badge,
	body.single-gd_place .geodir-category a[class*="gd-termid-"],
	body.single-gd_place .geodir-taxonomies a,
	body.single-gd_place .geodir-taxonomy a,
	body.single-gd_place .gd-badge {
		font-size: 12px !important;
	}
}

@media (max-width: 360px) {
	body.single-gd_place .geodir-field-primary_services,
	body.single-gd_place .geodir-field-secondary_services,
	body.single-gd_place .geodir-field-community_focus,
	body.single-gd_place .geodir-field-experience_level,
	body.single-gd_place .geodir-field-signup_form {
		min-height: 0;
	}
}

/* Stabilize gallery, map and CTA rhythm on single listing pages */
body.single-gd_place .geodir-gallery,
body.single-gd_place .geodir-gallery .gd-gallery-wrap,
body.single-gd_place .geodir-place-main {
	margin: 0 0 18px;
}

body.single-gd_place .geodir-gallery img,
body.single-gd_place .geodir-place-main img,
body.single-gd_place .entry-content img {
	width:100%;
	height:auto;
	max-height:420px;
	object-fit:cover;
	border-radius:10px;
	display:block;
}

body.single-gd_place .geodir-map-container,
body.single-gd_place #geodir_map,
body.single-gd_place .geodir-map {
	min-height:260px;
	border-radius:10px;
	overflow:hidden;
	margin-bottom:18px;
}

@media (max-width:768px){
	body.single-gd_place .geodir-map-container,
	body.single-gd_place #geodir_map,
	body.single-gd_place .geodir-map {
		min-height:200px;
	}
}

/* CTA and action button sizing — keep touch targets comfortable */
body.single-gd_place .geodir-listing-cta .btn,
body.single-gd_place .geodir-cta .btn,
body.single-gd_place .entry-content .btn {
	min-height:44px;
	padding:10px 14px;
	border-radius:8px;
}

/* Tabs and nav rhythm */
body.single-gd_place .geodir-tabs .nav-tabs .nav-link,
body.single-gd_place .geodir-tab-head .nav-link {
	padding:0.5rem 0.9rem;
	margin-right:6px;
	border-radius:8px;
}

body.single-gd_place .geodir-tabs .nav-tabs .nav-item{margin-bottom:6px}

/* Prevent media overflow from gallery thumbnails */
body.single-gd_place .geodir-gallery .gd-gallery-item img{max-width:100%;height:auto;object-fit:cover}

/* Additional mobile overflow and touch improvements */
@media (max-width:480px){
	body.single-gd_place img, body.single-gd_place iframe, body.single-gd_place embed, body.single-gd_place video {
		max-width:100%;
		height:auto;
	}

	body.single-gd_place .geodir-post .geodir-field,
	body.single-gd_place .geodir-post .geodir-contact-block,
	body.single-gd_place .geodir-post .geodir-services-block {
		padding:10px !important;
		margin-bottom:10px;
	}

	body.single-gd_place .geodir-tabs .nav-tabs,
	body.single-gd_place .geodir-tab-head .nav-tabs,
	body.single-gd_place .geodir-tab-head .nav-pills {
		overflow-x:auto;
		-webkit-overflow-scrolling:touch;
		white-space:nowrap;
		padding-bottom:6px;
	}

	body.single-gd_place .geodir-tabs .nav-link,
	body.single-gd_place .geodir-tab-head .nav-link {
		display:inline-block;
		padding:10px 12px;
		min-height:40px;
	}

	body.single-gd_place .geodir-map-container,
	body.single-gd_place #geodir_map,
	body.single-gd_place .geodir-map {
		min-height:180px !important;
		max-height:60vh;
	}

	body.single-gd_place .geodir-social a img, body.single-gd_place .geodir-social img {
		width:28px;
		height:28px;
		object-fit:contain;
		margin-right:8px;
	}

	body.single-gd_place .geodir-listing-cta .btn,
	body.single-gd_place .geodir-cta .btn {
		width:100%;
		box-sizing:border-box;
	}
}

/* Fix root cause of right-side overflow in services/contact blocks on single listing */
@media (max-width:480px){
	body.single-gd_place .geodir-post .geodir-field,
	body.single-gd_place .geodir-post .geodir-contact-block,
	body.single-gd_place .geodir-post .geodir-services-block,
	body.single-gd_place .geodir-post .geodir-post-content-container {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important; /* allow flex children to shrink */
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	/* Ensure direct flex children can shrink instead of forcing overflow */
	body.single-gd_place .geodir-post .geodir-field > *,
	body.single-gd_place .geodir-post .geodir-contact-block > *,
	body.single-gd_place .geodir-post .geodir-services-block > * {
		min-width: 0 !important;
		box-sizing: border-box;
	}

	/* Icon/social groups: wrap and clamp icons */
	body.single-gd_place .geodir-social,
	body.single-gd_place .geodir-social a,
	body.single-gd_place .geodir-social img {
		max-width:100% !important;
	}
	body.single-gd_place .geodir-social { display:flex; flex-wrap:wrap; gap:8px; }

	/* Meta and field rows: allow wrapping and prevent long inline elements from expanding container */
	body.single-gd_place .geodir-post .geodir-meta,
	body.single-gd_place .geodir-post .geodir-post .gd-meta,
	body.single-gd_place .geodir-post .geodir-field .row {
		flex-wrap: wrap !important;
	}

	/* Buttons/CTA inside fields: ensure they don't overflow horizontally */
	body.single-gd_place .geodir-post .geodir-listing-cta .btn,
	body.single-gd_place .geodir-post .geodir-post .btn {
		max-width:100% !important;
		box-sizing:border-box;
	}
}

@media (max-width:360px){
	body.single-gd_place .geodir-post .geodir-field,
	body.single-gd_place .geodir-post .geodir-contact-block,
	body.single-gd_place .geodir-post .geodir-services-block {
		padding:8px !important;
	}
	body.single-gd_place .geodir-map-container,
	body.single-gd_place #geodir_map,
	body.single-gd_place .geodir-map {
		min-height:150px !important;
		max-height:50vh;
	}
}

@media (max-width:480px){
	body.single-gd_place .geodir-map-container,
	body.single-gd_place #geodir_map,
	body.single-gd_place .geodir-map {
		width:100% !important;
		max-width:100% !important;
		box-sizing:border-box;
	}

	body.single-gd_place .geodir-map-directions-wrap *{
		max-width:100% !important;
		box-sizing:border-box;
	}

	body.single-gd_place .geodir-gallery img,
	body.single-gd_place .geodir-place-main img {
		max-width:100% !important;
		height:auto !important;
		max-height:45vh !important;
		object-fit:cover !important;
	}
}
