.cp-property-gallery-wrap {
	margin-bottom: 28px;
}

.cp-property-gallery {
	display: grid;
	gap: 10px;
	width: 100%;
}

.cp-gallery-vertical {
	grid-template-columns: 92px minmax(0, 1fr);
}

.cp-gallery-horizontal {
	grid-template-columns: minmax(0, 1fr);
}

.cp-property-thumbs {
	display: grid;
	gap: 10px;
	max-height: 520px;
	overflow: auto;
}

.cp-gallery-horizontal .cp-property-thumbs {
	grid-template-columns: repeat(auto-fill, minmax(78px, 1fr));
	order: 2;
	max-height: none;
}

.cp-property-thumb {
	appearance: none;
	background: #fff;
	border: 2px solid transparent;
	cursor: pointer;
	display: block;
	padding: 0;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.cp-property-thumb.is-active {
	border-color: #d28a16;
}

.cp-property-thumb img,
.cp-property-main-img,
.cp-property-card-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cp-property-main-link {
	display:block;
	height:100%;
	width:100%;
}

.cp-property-main {
	background: #f4f4f4;
	cursor: zoom-in;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.cp-aspect-4-3 .cp-property-main-link {
	display:block;
	height:100%;
	width:100%;
}

.cp-property-main {
	aspect-ratio: 4 / 3;
}

.cp-aspect-16-9 .cp-property-main-link {
	display:block;
	height:100%;
	width:100%;
}

.cp-property-main {
	aspect-ratio: 16 / 9;
}

.cp-aspect-1-1 .cp-property-main-link {
	display:block;
	height:100%;
	width:100%;
}

.cp-property-main {
	aspect-ratio: 1 / 1;
}

.cp-gallery-zoom,
.cp-gallery-close,
.cp-slider-button {
	align-items: center;
	background: #fff;
	border: 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.16);
	color: #1d2a33;
	cursor: pointer;
	display: inline-flex;
	font-size: 22px;
	font-weight: 700;
	height: 44px;
	justify-content: center;
	line-height: 1;
	width: 44px;
}

.cp-gallery-zoom {
	border-radius: 50%;
	bottom: 18px;
	left: 18px;
	position: absolute;
}

.cp-gallery-lightbox[hidden] {
	display: none;
}

.cp-lightbox-open {
	overflow: hidden;
}

.cp-gallery-lightbox {
	align-items: center;
	background: rgba(10, 16, 20, 0.9);
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 28px;
	position: fixed;
	z-index: 999999;
}

.cp-gallery-lightbox img {
	display: block;
	max-height: 92vh;
	max-width: 92vw;
	object-fit: contain;
}

.cp-gallery-close {
	position: fixed;
	right: 22px;
	top: 22px;
}

.cp-property-details {
	margin: 18px 0 22px;
}

.cp-property-promotion {
	color: #001b33;
	font-size: 17px;
	margin: 0 0 14px;
}

.cp-property-detail-list {
	margin: 0;
}

.cp-property-detail-row {
	border-bottom: 1px dashed #d9dfe5;
	display: grid;
	grid-template-columns: minmax(130px, 35%) minmax(0, 1fr);
	gap: 16px;
	padding: 8px 0;
}

.cp-property-detail-row dt {
	color: #061626;
	font-weight: 700;
}

.cp-property-detail-row dd {
	color: #536273;
	margin: 0;
	text-align: right;
}

.cp-property-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 20px 0 0;
	overflow: hidden;
	border-radius: 8px;
}

.cp-property-action {
	color: #fff;
	display: block;
	font-weight: 700;
	padding: 13px 18px;
	text-align: center;
	text-decoration: none;
}

.cp-property-action:hover,
.cp-property-action:focus {
	color: #fff;
	filter: brightness(0.96);
	text-decoration: none;
}

.cp-property-action-quote {
	background: #ffa400;
}

.cp-property-action-contact {
	background: #27cf65;
}

.cp-property-map-section {
	clear: both;
	margin: 36px 0;
}

.cp-property-map-section h2,
.cp-featured-slider h2,
.cp-search-results h2 {
	color: #1d2a33;
	font-size: clamp(22px, 2.2vw, 32px);
	line-height: 1.2;
	margin: 0;
}

.cp-property-map {
	aspect-ratio: 16 / 9;
	background: #eef2f4;
	margin-top: 14px;
	overflow: hidden;
	width: 100%;
}

.cp-property-map iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.cp-featured-slider {
	margin: 28px 0;
}

.cp-slider-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.cp-slider-controls {
	display: flex;
	gap: 8px;
}

.cp-slider-button {
	border: 1px solid #dce2e8;
	border-radius: 50%;
	box-shadow: none;
	font-size: 18px;
	height: 38px;
	width: 38px;
}

.cp-slider-track {
	display: grid;
	grid-auto-columns: minmax(260px, 320px);
	grid-auto-flow: column;
	gap: 18px;
	overflow-x: auto;
	padding: 2px 2px 12px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
}

.cp-property-card {
	background: #fff;
	border: 1px solid #dce2e8;
	border-radius: 8px;
	overflow: hidden;
	scroll-snap-align: start;
}

.cp-property-card-media {
	aspect-ratio: 4 / 3;
	background: #eef2f4;
	display: block;
	position: relative;
	text-decoration: none;
}

.cp-property-card-badge {
	background: #ffa400;
	border-radius: 999px;
	color: #171717;
	font-size: 12px;
	font-weight: 700;
	left: 12px;
	padding: 5px 9px;
	position: absolute;
	top: 12px;
}

.cp-property-card-body {
	padding: 14px;
}

.cp-property-card-price {
	color: #c58118;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 8px;
}

.cp-property-card-title {
	font-size: 17px;
	line-height: 1.3;
	margin: 0 0 8px;
}

.cp-property-card-title a {
	color: #152331;
	text-decoration: none;
}

.cp-property-card-address {
	color: #607080;
	font-size: 14px;
	line-height: 1.4;
	margin: 0 0 10px;
}

.cp-property-card-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.cp-property-card-meta li {
	background: #f2f5f7;
	border-radius: 999px;
	color: #334556;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 9px;
}

.cp-property-card-link,
.cp-property-loop-button {
	background: #1d2a33;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-weight: 700;
	justify-content: center;
	padding: 10px 14px;
	text-decoration: none;
}

.cp-property-card-link:hover,
.cp-property-loop-button:hover,
.cp-property-card-link:focus,
.cp-property-loop-button:focus {
	background: #304250;
	color: #fff;
	text-decoration: none;
}

.cp-property-search {
	margin: 24px 0;
}

.cp-search-form {
	background: #fff;
	border: 1px solid #dce2e8;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);
	padding: 18px;
}

.cp-search-segment {
	background: #f2f5f7;
	border-radius: 8px;
	display: inline-grid;
	grid-template-columns: repeat(3, minmax(90px, 1fr));
	margin-bottom: 16px;
	padding: 4px;
}

.cp-search-segment label {
	margin: 0;
}

.cp-search-segment input {
	clip: rect(0, 0, 0, 0);
	position: absolute;
}

.cp-search-segment span {
	border-radius: 6px;
	color: #46596b;
	cursor: pointer;
	display: block;
	font-weight: 700;
	padding: 9px 14px;
	text-align: center;
}

.cp-search-segment input:checked + span {
	background: #fff;
	box-shadow: 0 4px 14px rgba(16, 24, 40, 0.1);
	color: #111f2d;
}

.cp-search-grid {
	display: grid;
	grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(130px, 1fr));
	gap: 12px;
}

.cp-search-grid label {
	display: grid;
	gap: 6px;
	margin: 0;
}

.cp-search-grid label span {
	color: #334556;
	font-size: 13px;
	font-weight: 700;
}

.cp-search-grid input,
.cp-search-grid select {
	background: #fff;
	border: 1px solid #d1d9e0;
	border-radius: 6px;
	color: #152331;
	font-size: 15px;
	min-height: 44px;
	padding: 9px 11px;
	width: 100%;
}

.cp-search-submit {
	align-self: end;
	background: #ffa400;
	border: 0;
	border-radius: 6px;
	color: #1b1b1b;
	cursor: pointer;
	font-weight: 800;
	min-height: 44px;
	padding: 9px 18px;
}

.cp-search-submit:hover,
.cp-search-submit:focus {
	filter: brightness(0.96);
}

.cp-search-results {
	margin-top: 26px;
}

.cp-search-results-head {
	align-items: end;
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}

.cp-search-results-head span {
	color: #607080;
	font-weight: 700;
}

.cp-search-results-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.cp-search-empty {
	background: #f6f8f9;
	border: 1px solid #dce2e8;
	border-radius: 8px;
	color: #536273;
	margin: 0;
	padding: 18px;
}

.woocommerce .products .product .cp-property-loop-button {
	margin-top: 8px;
}

.woocommerce div.product form.cart,
.woocommerce ul.products li.product .add_to_cart_button {
	display: none;
}

@media (max-width: 980px) {
	.cp-search-grid,
	.cp-search-results-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.cp-gallery-vertical {
		grid-template-columns: minmax(0, 1fr);
	}

	.cp-gallery-vertical .cp-property-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		order: 2;
		max-height: none;
	}

	.cp-property-detail-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.cp-property-detail-row dd {
		text-align: left;
	}

	.cp-property-actions {
		grid-template-columns: 1fr;
	}

	.cp-search-segment {
		display: grid;
		width: 100%;
	}

	.cp-search-grid,
	.cp-search-results-grid {
		grid-template-columns: 1fr;
	}

	.cp-search-results-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.cp-slider-heading {
		align-items: flex-start;
		flex-direction: column;
	}
}
.cp-gallery-nav{align-items:center;background:rgba(255,255,255,.95);border:0;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.2);color:#1d2a33;cursor:pointer;display:inline-flex;font-size:46px;font-weight:400;height:54px;justify-content:center;line-height:1;position:fixed;top:50%;transform:translateY(-50%);width:54px;z-index:1000000}.cp-gallery-prev{left:24px}.cp-gallery-next{right:24px}@media (max-width:768px){.cp-gallery-nav{font-size:36px;height:44px;width:44px}.cp-gallery-prev{left:10px}.cp-gallery-next{right:10px}}
