.ochl-filter-shell {
	background: var(--ochl-filter-background, linear-gradient(120deg, rgba(13, 18, 24, 0.96), rgba(53, 56, 62, 0.94)));
	border-radius: 30px;
	box-shadow: 0 28px 60px rgba(10, 12, 18, 0.24);
	color: #ffffff;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	isolation: isolate;
	max-width: 100%;
	padding: 34px 34px 28px;
	position: relative;
	overflow: visible;
	width: 100%;
	z-index: 30;
}

.ochl-filter-shell input,
.ochl-filter-shell select,
.ochl-filter-shell button,
.ochl-filter-shell textarea {
	font-family: inherit;
}

.ochl-filter-shell::before {
	background: var(--ochl-filter-overlay, linear-gradient(90deg, rgba(255, 255, 255, 0.12), transparent 26%));
	content: "";
	inset: 0 auto 0 0;
	pointer-events: none;
	position: absolute;
	width: 28%;
}

.ochl-filter-shell.ochl-filter-shell-plain {
	background: transparent;
	box-shadow: none;
	padding: 0;
}

.ochl-filter-shell.ochl-filter-shell-plain::before {
	display: none;
}

.ochl-filter-shell.ochl-filter-shell-plain.ochl-mobile-layout {
	border-radius: 0;
	padding: 0;
}

.ochl-filter-form,
.ochl-map-shell {
	position: relative;
	z-index: 1;
}

.ochl-filter-layout {
	align-items: end;
	display: grid;
	gap: 20px 24px;
	grid-template-areas:
		"primary actions"
		"secondary secondary";
	grid-template-columns: minmax(0, 1fr) clamp(220px, 18vw, 320px);
}

.ochl-filter-row {
	min-width: 0;
}

.ochl-filter-row-primary {
	grid-area: primary;
}

.ochl-filter-row-actions {
	display: flex;
	grid-area: actions;
	justify-content: flex-end;
}

.ochl-filter-row-secondary {
	display: grid;
	gap: 20px 24px;
	grid-area: secondary;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.ochl-field {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	position: relative;
	width: 100%;
}

.ochl-field.ochl-field-select-open {
	z-index: 260;
}

.ochl-field-care-type-pills {
	grid-column: 1 / -1;
}

.ochl-label {
	color: var(--ochl-label-color, rgba(255, 255, 255, 0.88));
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.ochl-label-hidden {
	opacity: 0;
	pointer-events: none;
}

.ochl-input-wrap {
	align-items: center;
	background: #ffffff;
	border-radius: 10px;
	display: flex;
	min-height: 56px;
	padding: 0 18px;
	width: 100%;
}

.ochl-input-wrap-location svg,
.ochl-search-button svg {
	fill: #203030;
	flex: 0 0 auto;
	height: 20px;
	width: 20px;
}

.ochl-input-wrap input,
.ochl-input-wrap select {
	appearance: none;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #203030;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.2;
	min-height: 56px;
	outline: none;
	padding: 0;
	width: 100%;
}

.ochl-input-wrap input::placeholder {
	color: #203030;
	opacity: 1;
}

.ochl-input-wrap-select {
	padding-right: 48px;
	position: relative;
}

.ochl-input-wrap-select.is-custom-select {
	padding: 0;
	z-index: 20;
}

.ochl-input-wrap-select.is-custom-select.is-open {
	z-index: 280;
}

.ochl-input-wrap-select.is-custom-select.ochl-input-wrap-select-care-type {
	z-index: 120;
}

.ochl-input-wrap-select.is-custom-select.ochl-input-wrap-select-care-type.is-open {
	z-index: 320;
}

.ochl-input-wrap-select.is-custom-select::after {
	display: none;
}

.ochl-input-wrap-select::after {
	border-bottom: 2px solid #203030;
	border-right: 2px solid #203030;
	content: "";
	height: 10px;
	pointer-events: none;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-65%) rotate(45deg);
	width: 10px;
}

.ochl-input-wrap select {
	cursor: pointer;
	padding-right: 8px;
}

.ochl-input-wrap-select.is-custom-select select {
	height: 1px;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 1px;
}

.ochl-custom-select {
	position: relative;
	width: 100%;
}

.ochl-custom-select-button {
	appearance: none !important;
	-webkit-appearance: none !important;
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #203030 !important;
	cursor: pointer;
	display: flex;
	font-size: 1.05rem;
	font-weight: 500;
	gap: 14px;
	justify-content: space-between;
	line-height: 1.2;
	min-height: 56px;
	margin: 0;
	padding: 0 18px;
	text-align: left;
	text-decoration: none !important;
	transform: none !important;
	transition: color 0.18s ease !important;
	-webkit-tap-highlight-color: transparent;
	width: 100%;
}

.ochl-custom-select-button:hover,
.ochl-custom-select-button:focus,
.ochl-custom-select-button:active,
.ochl-custom-select.is-open .ochl-custom-select-button {
	background: transparent !important;
	box-shadow: none !important;
	color: #203030 !important;
	outline: none !important;
	transform: none !important;
}

.ochl-custom-select-button-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ochl-custom-select-button-icon {
	border-bottom: 2px solid #203030;
	border-right: 2px solid #203030;
	flex: 0 0 auto;
	height: 10px;
	transform: translateY(-2px) rotate(45deg);
	transition: transform 0.18s ease;
	width: 10px;
}

.ochl-custom-select.is-open .ochl-custom-select-button-icon {
	transform: translateY(2px) rotate(225deg);
}

.ochl-custom-select.is-open {
	z-index: 45;
}

.ochl-input-wrap-select.is-custom-select.is-open .ochl-custom-select {
	z-index: 290;
}

.ochl-input-wrap-select.ochl-input-wrap-select-care-type .ochl-custom-select.is-open {
	z-index: 140;
}

.ochl-custom-select-menu {
	background: #ffffff;
	border: 1px solid rgba(21, 57, 50, 0.12);
	border-radius: 18px;
	box-shadow: 0 18px 38px rgba(18, 25, 22, 0.14);
	display: none;
	left: 0;
	margin-top: 10px;
	max-height: none;
	overflow: visible;
	position: absolute;
	top: 100%;
	width: 100%;
	z-index: 50;
}

.ochl-input-wrap-select.is-custom-select.is-open .ochl-custom-select-menu {
	z-index: 300;
}

.ochl-input-wrap-select.ochl-input-wrap-select-care-type .ochl-custom-select-menu {
	max-width: min(620px, calc(100vw - 40px));
	min-width: max(100%, 460px);
	width: max-content;
	z-index: 160;
}

.ochl-custom-select.is-open .ochl-custom-select-menu {
	display: block;
}

.ochl-custom-select-option {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #203030 !important;
	cursor: pointer;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
	padding: 12px 18px;
	text-align: left;
	text-decoration: none !important;
	transform: none !important;
	width: 100%;
}

.ochl-custom-select-option:hover,
.ochl-custom-select-option:focus,
.ochl-custom-select-option:active,
.ochl-custom-select-option.is-active {
	background: rgba(21, 57, 50, 0.08) !important;
	color: #153932 !important;
	outline: none !important;
	transform: none !important;
}

.pac-container {
	border: 1px solid rgba(21, 57, 50, 0.12);
	border-radius: 18px;
	box-shadow: 0 18px 38px rgba(18, 25, 22, 0.14);
	margin-top: 8px;
	overflow: hidden;
}

.pac-item,
.pac-item-query {
	color: #153932;
	font-family: inherit;
	font-size: 15px;
}

.pac-item {
	padding: 12px 16px;
}

.pac-item:hover,
.pac-item-selected {
	background: rgba(21, 57, 50, 0.08);
}

.pac-icon {
	display: none;
}

.ochl-care-type-filter {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.ochl-care-type-pill {
	appearance: none !important;
	-webkit-appearance: none !important;
	background: #f8f8f8 !important;
	border: 1px solid #d4cbbf !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #153932 !important;
	cursor: pointer !important;
	font-family: inherit !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	outline: none !important;
	padding: 8px 24px !important;
	transition: all 0.3s ease !important;
	white-space: nowrap !important;
}

.ochl-care-type-pill:hover,
.ochl-care-type-pill:focus,
.ochl-care-type-pill.is-active,
.ochl-care-type-pill[aria-pressed="true"] {
	background: #153932 !important;
	border-color: #153932 !important;
	color: #ffffff !important;
}

.ochl-care-type-pill-all {
	font-weight: 600 !important;
}

.ochl-care-type-shortcode-form {
	display: block;
}

.ochl-care-type-shortcode-actions {
	margin-top: 18px;
}

.ochl-care-type-apply-button {
	padding-left: 22px;
	padding-right: 22px;
}

.ochl-search-button {
	align-items: center;
	background: #203030;
	border: 1px solid #db7871;
	border-radius: 999px;
	color: #db7871;
	cursor: pointer;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
	min-height: 56px;
	padding: 0 20px;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
	white-space: nowrap;
	min-width: 0;
	width: 100%;
}

.ochl-field-submit {
	align-self: end;
	min-width: 0;
	width: 100%;
}

.ochl-search-button span {
	font-size: 1.15rem;
	font-weight: 600;
}

.ochl-search-button svg {
	fill: #db7871;
}

.ochl-search-button:hover,
.ochl-search-button:focus {
	background: transparent;
	border-color: #ffffff;
	box-shadow: none;
	color: #ffffff;
	transform: none;
}

.ochl-search-button:hover svg,
.ochl-search-button:focus svg {
	fill: #ffffff;
}

.ochl-filter-shell.ochl-filter-shell-plain .ochl-search-button:hover,
.ochl-filter-shell.ochl-filter-shell-plain .ochl-search-button:focus {
	border-color: #203030;
	color: #203030;
}

.ochl-filter-shell.ochl-filter-shell-plain .ochl-search-button:hover svg,
.ochl-filter-shell.ochl-filter-shell-plain .ochl-search-button:focus svg {
	fill: #203030;
}

.ochl-view-toggle {
	display: inline-flex;
	gap: 10px;
	margin-top: 24px;
}

.ochl-view-button {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 999px;
	color: #ffffff;
	cursor: pointer;
	font-size: 0.92rem;
	font-weight: 600;
	padding: 10px 18px;
	transition: background 0.18s ease, color 0.18s ease;
}

.ochl-view-button.is-active {
	background: #ffffff;
	color: #20242c;
}

.ochl-map-shell {
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin-top: 24px;
	position: relative;
}

.ochl-map {
	border: 1px solid #cea800;
	border-radius: 32px;
	overflow: hidden;
}

.ochl-empty-state {
	color: #4f5b65;
	margin: 16px 0 0;
}

.ochl-results-notice {
	background: #f5f7f4;
	border: 1px solid rgba(21, 57, 50, 0.12);
	border-radius: 18px;
	color: #153932;
	margin: 18px 0 24px;
	padding: 16px 18px;
}

.ochl-results-notice p {
	margin: 0;
}

.ochl-results-notice.is-empty {
	background: #fbf7f2;
	border-color: rgba(102, 91, 76, 0.16);
	color: #5a5348;
}

.ochl-filter-shell .ochl-results-notice,
.ochl-filter-shell .ochl-results-notice.is-empty {
	background: transparent;
	border: 0;
	color: #ffffff;
	margin: 18px 0 0;
	padding: 0;
}

.ochl-filter-shell .ochl-results-notice p {
	color: inherit;
}

.ochl-map-popup {
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	max-width: 305px;
	padding-bottom: 16px;
	position: relative;
}

.ochl-map-popup-card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 22px 42px rgba(24, 35, 28, 0.22);
	overflow: hidden;
	position: relative;
}

.ochl-map-popup::after {
	border-left: 14px solid transparent;
	border-right: 14px solid transparent;
	border-top: 14px solid #ffffff;
	bottom: 3px;
	content: "";
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}

.gm-style .ochl-map-popup img.ochl-map-popup-image,
.ochl-map-popup img.ochl-map-popup-image {
	display: block !important;
	height: 250px !important;
	max-height: 250px !important;
	min-height: 250px !important;
	object-fit: cover !important;
	object-position: center center !important;
	width: 100% !important;
}

.ochl-map-popup-content {
	display: grid;
	gap: 8px;
	padding: 16px 18px 18px;
}

.ochl-map-popup-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gm-style .ochl-map-popup .ochl-map-popup-title,
.gm-style .ochl-map-popup h3.ochl-map-popup-title {
	color: #153932 !important;
	font-family: "roca", sans-serif !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1.32 !important;
	margin: 0 !important;
}

.ochl-map-popup-address,
.ochl-map-popup-distance {
	color: #95989f;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin: 0;
	text-transform: uppercase;
}

.ochl-map-popup-distance {
	color: #6e737b;
	letter-spacing: 0.08em;
}

.gm-style .ochl-map-popup .ochl-map-popup-link,
.gm-style .ochl-map-popup a.ochl-map-popup-link {
	background: transparent !important;
	border: 1px solid #153932 !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	color: #153932 !important;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	padding: 10px 14px !important;
	text-decoration: none !important;
}

.gm-style .ochl-map-popup .ochl-map-popup-directions,
.gm-style .ochl-map-popup a.ochl-map-popup-directions {
	color: #153932 !important;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 0.84rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

.gm-style .ochl-map-popup .ochl-map-popup-link:hover,
.gm-style .ochl-map-popup .ochl-map-popup-link:focus,
.gm-style .ochl-map-popup a.ochl-map-popup-link:hover,
.gm-style .ochl-map-popup a.ochl-map-popup-link:focus {
	background: #0f2d27 !important;
	border-color: #0f2d27 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.gm-style .ochl-map-popup .ochl-map-popup-directions:hover,
.gm-style .ochl-map-popup .ochl-map-popup-directions:focus,
.gm-style .ochl-map-popup a.ochl-map-popup-directions:hover,
.gm-style .ochl-map-popup a.ochl-map-popup-directions:focus {
	color: #153932 !important;
	text-decoration: underline !important;
}

.gm-style .gm-style-iw-c {
	background: transparent !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	max-width: 360px !important;
	overflow: visible !important;
	padding: 0 !important;
}

.gm-style .gm-style-iw-t {
	filter: none !important;
}

.gm-style .gm-style-iw-d {
	background: transparent !important;
	max-height: none !important;
	overflow: visible !important;
}

.gm-style .gm-style-iw-tc::after {
	display: none !important;
}

.gm-style .gm-style-iw-chr {
	align-items: flex-start;
	padding: 0 !important;
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 3;
}

.gm-style .gm-style-iw-ch button {
	background: rgba(255, 255, 255, 0.78) !important;
	backdrop-filter: blur(6px);
	border-radius: 999px !important;
	box-shadow: 0 8px 18px rgba(18, 25, 22, 0.16);
	height: 42px !important;
	margin: 0 !important;
	opacity: 1 !important;
	width: 42px !important;
}

.ochl-distance {
	color: #eb3357;
	font-weight: 700;
}

.ochl-hidden-panel {
	display: none !important;
}

.hbpdl-contact-form-missing {
	color: #203030;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
}

.hbpdl-contact-form-shell,
.hbpdl-contact-form-shell * {
	box-sizing: border-box;
}

.hbpdl-contact-form-shell {
	color: #203030;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	width: 100%;
}

.hbpdl-contact-form-shell input,
.hbpdl-contact-form-shell select,
.hbpdl-contact-form-shell textarea,
.hbpdl-contact-form-shell button {
	font-family: inherit;
}

.hbpdl-contact-form-shell .hbpdl-contact-form,
.hbpdl-contact-form-shell #hbp_contactform_ajax {
	margin: 0;
	width: 100%;
}

.hbpdl-contact-form-shell .hbpdl-contact-form-grid,
.hbpdl-contact-form-shell #hbp_contactform_ajax fieldset {
	border: 0;
	display: grid;
	gap: 26px 14px;
	margin: 0;
	min-width: 0;
	padding: 0;
	width: 100%;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_input,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_select {
	grid-column: span 2;
	order: 80;
}

.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_check {
	grid-column: span 2;
	order: 140;
}

.hbpdl-contact-form-shell .hbpdl-form-item {
	margin: 0 !important;
	min-width: 0;
	position: relative;
	width: 100%;
}

.hbpdl-contact-form-shell .hbp_input label,
.hbpdl-contact-form-shell .hbp_select label {
	color: #203030;
	display: block;
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 12px;
	text-transform: none;
}

.hbpdl-contact-form-shell .hbp_input label span {
	display: inline;
}

.hbpdl-contact-form-shell .hbp_input input,
.hbpdl-contact-form-shell .hbp_select select,
.hbpdl-contact-form-shell .hbp_input textarea {
	appearance: none;
	background: #ffffff;
	border: 1px solid rgba(32, 48, 48, 0.42);
	border-radius: 999px;
	box-shadow: none;
	color: #203030;
	display: block;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	margin: 0;
	min-height: 70px;
	outline: none;
	padding: 0 24px;
	width: 100%;
}

.hbpdl-contact-form-shell .hbp_input textarea {
	border-radius: 32px;
	min-height: 170px;
	padding: 18px 24px;
	resize: vertical;
}

.hbpdl-contact-form-shell .hbp_input input::placeholder,
.hbpdl-contact-form-shell .hbp_input textarea::placeholder,
.hbpdl-contact-form-shell .hbp_select select {
	color: #7b8788;
	opacity: 1;
}

.hbpdl-contact-form-shell .hbp_input input:focus,
.hbpdl-contact-form-shell .hbp_select select:focus,
.hbpdl-contact-form-shell .hbp_input textarea:focus {
	border-color: #203030;
	box-shadow: 0 0 0 3px rgba(32, 48, 48, 0.08);
}

.hbpdl-contact-form-shell .hbp_select {
	position: relative;
}

.hbpdl-contact-form-shell .hbp_select select {
	cursor: pointer;
	padding-right: 58px;
}

.hbpdl-contact-form-shell .hbp_select::after {
	border-bottom: 2px solid #203030;
	border-right: 2px solid #203030;
	content: "";
	height: 10px;
	pointer-events: none;
	position: absolute;
	right: 26px;
	bottom: 30px;
	transform: rotate(45deg);
	width: 10px;
}

.hbpdl-contact-form-shell .hbpdl-field-first-name {
	order: 10;
}

.hbpdl-contact-form-shell .hbpdl-field-surname {
	order: 20;
}

.hbpdl-contact-form-shell .hbpdl-field-email {
	order: 30;
}

.hbpdl-contact-form-shell .hbpdl-field-phone {
	order: 40;
}

.hbpdl-contact-form-shell .hbpdl-field-postcode {
	grid-column: 1 / -1;
	order: 50;
}

.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbpdl-field-postcode,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbpdl-field-message,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbpdl-field-privacy,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbpdl-marketing-copy,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_status,
.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_success_msg {
	grid-column: 1 / -1;
}

.hbpdl-contact-form-shell .hbpdl-field-development {
	grid-column: 1 / -1;
	order: 60;
}

.hbpdl-contact-form-shell .hbpdl-field-plot {
	order: 70;
}

.hbpdl-contact-form-shell .hbpdl-field-beds {
	order: 80;
}

.hbpdl-contact-form-shell .hbpdl-field-budget-from {
	order: 90;
}

.hbpdl-contact-form-shell .hbpdl-field-budget-to {
	order: 100;
}

.hbpdl-contact-form-shell .hbpdl-field-message {
	grid-column: 1 / -1;
	order: 110;
}

.hbpdl-contact-form-shell .hbpdl-field-message textarea {
	width: 100%;
}

.hbpdl-contact-form-shell .hbpdl-field-privacy {
	align-items: start;
	display: grid;
	gap: 0 12px;
	grid-column: 1 / -1;
	grid-template-columns: 24px minmax(0, 1fr);
	order: 120;
}

.hbpdl-contact-form-shell .hbpdl-field-privacy label {
	color: #203030;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0;
}

.hbpdl-contact-form-shell .hbpdl-marketing-copy {
	color: #203030;
	font-size: 1rem;
	grid-column: 1 / -1;
	line-height: 1.55;
	margin: 4px 0 -4px;
	order: 130;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email,
.hbpdl-contact-form-shell .hbpdl-field-marketing-phone,
.hbpdl-contact-form-shell .hbpdl-field-marketing-sms,
.hbpdl-contact-form-shell .hbpdl-field-marketing-post {
	align-content: start;
	display: grid;
	gap: 12px 10px;
	grid-column: span 1;
	grid-template-columns: 24px minmax(0, 1fr);
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email {
	order: 140;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-phone {
	order: 141;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-sms {
	order: 142;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-post {
	order: 143;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email::before,
.hbpdl-contact-form-shell .hbpdl-field-marketing-phone::before,
.hbpdl-contact-form-shell .hbpdl-field-marketing-sms::before,
.hbpdl-contact-form-shell .hbpdl-field-marketing-post::before {
	color: #203030;
	font-size: 1rem;
	font-weight: 500;
	grid-column: 1 / -1;
	line-height: 1.1;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email::before {
	content: "Marketing Preferences";
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-phone::before {
	content: "Phone Call Preferences";
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-sms::before {
	content: "SMS Preferences";
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-post::before {
	content: "Post Preferences";
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email label,
.hbpdl-contact-form-shell .hbpdl-field-marketing-phone label,
.hbpdl-contact-form-shell .hbpdl-field-marketing-sms label,
.hbpdl-contact-form-shell .hbpdl-field-marketing-post label {
	font-size: 0;
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

.hbpdl-contact-form-shell .hbpdl-field-marketing-email label::after,
.hbpdl-contact-form-shell .hbpdl-field-marketing-phone label::after,
.hbpdl-contact-form-shell .hbpdl-field-marketing-sms label::after,
.hbpdl-contact-form-shell .hbpdl-field-marketing-post label::after {
	color: #203030;
	content: "Yes";
	font-size: 1rem;
	line-height: 1.2;
}

.hbpdl-contact-form-shell .hbp_check input[type="checkbox"] {
	accent-color: #203030;
	height: 22px;
	margin: 1px 0 0 !important;
	width: 22px;
}

.hbpdl-contact-form-shell .hbp_check label {
	align-self: start;
	color: #203030;
	cursor: pointer;
}

.hbpdl-contact-form-shell #hbp_submit,
.hbpdl-contact-form-shell .hbpdl-submit-button {
	align-self: end;
	appearance: none !important;
	background: #203030 !important;
	border: 1px solid #db7871 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: #db7871 !important;
	cursor: pointer;
	font-size: 1.05rem !important;
	font-weight: 600 !important;
	grid-column: 4;
	justify-self: end;
	line-height: 1 !important;
	margin: 0 !important;
	max-width: 232px;
	min-height: 60px;
	padding: 0 30px !important;
	text-decoration: none !important;
	text-shadow: none !important;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
	width: 100%;
	order: 150;
}

.hbpdl-contact-form-shell #hbp_submit:hover,
.hbpdl-contact-form-shell #hbp_submit:focus,
.hbpdl-contact-form-shell .hbpdl-submit-button:hover,
.hbpdl-contact-form-shell .hbpdl-submit-button:focus {
	background: transparent !important;
	border-color: #203030 !important;
	box-shadow: none !important;
	color: #203030 !important;
	outline: none !important;
}

.hbpdl-contact-form-shell .hbp_status,
.hbpdl-contact-form-shell .hbp_success_msg {
	color: #203030;
	font-size: 0.96rem;
	grid-column: 1 / -1;
	line-height: 1.45;
	margin: 0;
	order: 160;
}

.hbpdl-contact-form-shell .hbp_error_msg {
	color: #b95d56;
}

.hbpdl-contact-form-shell .hbp_status_msg,
.hbpdl-contact-form-shell .hbp_error_msg {
	display: block;
}

@media (max-width: 1080px) {
	.ochl-filter-layout {
		grid-template-areas:
			"primary"
			"secondary"
			"actions";
		grid-template-columns: 1fr;
	}

	.ochl-filter-row-actions {
		max-width: 360px;
	}

	.ochl-filter-row-secondary {
		grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	}

	.hbpdl-contact-form-shell .hbpdl-contact-form-grid,
	.hbpdl-contact-form-shell #hbp_contactform_ajax fieldset {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hbpdl-contact-form-shell .hbpdl-field-postcode,
	.hbpdl-contact-form-shell .hbpdl-field-development,
	.hbpdl-contact-form-shell .hbpdl-field-message,
	.hbpdl-contact-form-shell .hbpdl-field-privacy,
	.hbpdl-contact-form-shell .hbpdl-marketing-copy,
	.hbpdl-contact-form-shell .hbp_status,
	.hbpdl-contact-form-shell .hbp_success_msg {
		grid-column: 1 / -1;
	}

	.hbpdl-contact-form-shell .hbpdl-field-marketing-email,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-phone,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-sms,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-post {
		grid-column: span 1;
	}

	.hbpdl-contact-form-shell #hbp_submit,
	.hbpdl-contact-form-shell .hbpdl-submit-button {
		grid-column: 2;
		max-width: none;
	}
}

.ochl-filter-shell.ochl-mobile-layout {
	border-radius: 24px;
	padding: 24px 18px 22px;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-filter-layout {
	grid-template-areas:
		"primary"
		"secondary"
		"actions";
	grid-template-columns: 1fr;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-filter-row-secondary {
	grid-template-columns: 1fr;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-care-type-filter {
	gap: 10px;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-care-type-pill {
	padding-left: 18px !important;
	padding-right: 18px !important;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-search-button {
	min-width: 0;
	width: 100%;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-filter-row-actions {
	max-width: none;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-view-toggle {
	display: flex;
	width: 100%;
}

.ochl-filter-shell.ochl-mobile-layout .ochl-view-button {
	flex: 1 1 auto;
}

@media (max-width: 767px) {
	.hbpdl-contact-form-shell .hbpdl-contact-form-grid,
	.hbpdl-contact-form-shell #hbp_contactform_ajax fieldset {
		gap: 22px;
		grid-template-columns: minmax(0, 1fr);
	}

	.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_input,
	.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_select,
	.hbpdl-contact-form-shell .hbpdl-contact-form-grid > .hbp_check,
	.hbpdl-contact-form-shell .hbpdl-field-postcode,
	.hbpdl-contact-form-shell .hbpdl-field-development,
	.hbpdl-contact-form-shell .hbpdl-field-message,
	.hbpdl-contact-form-shell .hbpdl-field-privacy,
	.hbpdl-contact-form-shell .hbpdl-marketing-copy,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-email,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-phone,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-sms,
	.hbpdl-contact-form-shell .hbpdl-field-marketing-post,
	.hbpdl-contact-form-shell .hbp_status,
	.hbpdl-contact-form-shell .hbp_success_msg,
	.hbpdl-contact-form-shell #hbp_submit,
	.hbpdl-contact-form-shell .hbpdl-submit-button {
		grid-column: 1;
	}

	.hbpdl-contact-form-shell .hbp_input input,
	.hbpdl-contact-form-shell .hbp_select select,
	.hbpdl-contact-form-shell .hbp_input textarea {
		font-size: 0.98rem;
		min-height: 64px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.hbpdl-contact-form-shell .hbp_input textarea {
		min-height: 150px;
		padding: 18px 20px;
	}

	.hbpdl-contact-form-shell .hbp_select::after {
		bottom: 28px;
		right: 22px;
	}
}

.hbp_gallery:not(.owl-carousel) {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.hbp_gallery .carousel-content {
	background: #f7f4eb;
	border: 1px solid rgba(32, 48, 48, 0.12);
	border-radius: 24px;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.hbp_gallery .carousel-content img {
	display: block;
	width: 100%;
}

[id^="gallery"].hbp_gallery .carousel-content img {
	height: 320px;
	object-fit: cover;
}

[id^="floorplan"].hbp_gallery .carousel-content {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 320px;
	padding: 22px;
}

[id^="floorplan"].hbp_gallery .carousel-content img {
	height: 100%;
	max-height: 420px;
	object-fit: contain;
}

.hbpdl-sitemap-shell .hbp_sitemap.hbp_gallery {
	display: block;
}

.hbpdl-sitemap-shell .hbp_sitemap .owl-stage-outer,
.hbpdl-sitemap-shell .hbp_sitemap .owl-stage,
.hbpdl-sitemap-shell .hbp_sitemap .owl-item,
.hbpdl-sitemap-shell .hbp_sitemap .carousel-content,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > div,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > a {
	height: auto !important;
	min-height: 0 !important;
}

.hbpdl-sitemap-shell .hbp_sitemap .carousel-content,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > div,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > a {
	align-items: center;
	aspect-ratio: auto !important;
	background: transparent !important;
	border: 0 !important;
	display: flex !important;
	justify-content: center;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
}

.hbpdl-sitemap-shell .hbp_sitemap .carousel-content img,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > div img,
.hbpdl-sitemap-shell .development-site-map .hbp_gallery_list > a img,
.hbpdl-sitemap-shell .hbp_carousel_list .zb img {
	display: block;
	height: auto !important;
	left: auto !important;
	max-height: none !important;
	max-width: 100% !important;
	object-fit: contain !important;
	padding: 0 !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
}

.hbpdl-development-sitemap-gallery {
	display: grid;
	gap: 24px;
}

.hbpdl-development-sitemap-gallery--single {
	gap: 0;
}

.hbpdl-development-sitemap-item {
	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(32, 48, 48, 0.12);
	border-radius: 24px;
	display: block;
	line-height: 0;
	overflow: hidden;
	text-decoration: none;
}

.hbpdl-development-sitemap-item img {
	display: block;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.hbpdl-development-sitemap-item--document {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: space-between;
	line-height: 1.5;
	padding: 22px 24px;
}

.hbpdl-development-sitemap-document-name,
.hbpdl-development-sitemap-document-action {
	color: #203030;
	font-size: 1rem;
	font-weight: 600;
}

.hbp_gallery.owl-carousel .owl-stage {
	display: flex;
}

.hbp_gallery.owl-carousel .owl-item {
	display: flex;
	height: auto;
}

.hbp_gallery.owl-carousel .owl-item .carousel-content {
	height: 100%;
	width: 100%;
}

.hbp_gallery .owl-nav {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 18px;
}

.hbp_gallery .owl-nav .nav-button {
	align-items: center;
	background: #203030;
	border: 1px solid #db7871;
	border-radius: 999px;
	cursor: pointer;
	display: inline-flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.hbp_gallery .owl-nav .nav-button svg {
	height: 16px;
	width: 16px;
}

.hbpdl-plot-gallery:not(.owl-loaded) {
	align-items: flex-start;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.hbpdl-plot-gallery.hbpdl-plot-gallery--single:not(.owl-loaded) {
	grid-template-columns: minmax(0, 360px);
	justify-content: flex-start;
}

.hbpdl-plot-gallery .carousel-content {
	display: block;
	padding: 0;
	position: relative;
	width: 100%;
}

.hbpdl-plot-gallery .hbpdl-plot-gallery-media {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.hbpdl-plot-gallery .hbpdl-plot-gallery-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.hbpdl-plot-gallery.owl-carousel .owl-item {
	align-items: flex-start;
}

.hbpdl-plot-gallery.owl-carousel .owl-item .carousel-content {
	align-self: flex-start;
	height: auto;
}

.pp_content_container #pp_full_res {
	align-items: center;
	display: flex;
	justify-content: center;
	overflow: hidden;
}

div.pp_overlay {
	height: 100vh !important;
	inset: 0 !important;
	position: fixed !important;
	width: 100vw !important;
	z-index: 999998 !important;
}

div.pp_pic_holder,
div.ppt {
	z-index: 999999 !important;
}

div.ppt,
.pp_pic_holder .pp_social,
.pp_pic_holder .pp_description,
.pp_pic_holder .facebook,
.pp_pic_holder .twitter {
	display: none !important;
}

.pp_pic_holder .pp_details {
	display: flex !important;
	justify-content: flex-end;
	min-height: 40px;
}

.pp_pic_holder .pp_nav,
.pp_pic_holder .currentTextHolder {
	display: none !important;
}

.pp_content_container #pp_full_res img,
.pp_pic_holder #fullResImage {
	display: block;
	height: auto !important;
	margin: 0 auto;
	max-height: calc(100vh - 220px);
	max-width: min(1400px, calc(100vw - 140px)) !important;
	object-fit: contain !important;
	object-position: center center;
	position: static !important;
	width: auto !important;
}

.hbpdl-related-plots {
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.hbpdl-related-plots-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.hbpdl-related-plot-card {
	background: #f7f4eb;
	border: 1px solid rgba(32, 48, 48, 0.12);
	border-radius: 24px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.hbpdl-related-plot-media {
	background: rgba(219, 120, 113, 0.08);
	display: block;
	overflow: hidden;
}

.hbpdl-related-plot-media img,
.hbpdl-related-plot-media-placeholder {
	display: block;
	height: 275px;
	object-fit: cover;
	width: 100%;
}

.hbpdl-related-plot-media-placeholder {
	background: linear-gradient(135deg, rgba(32, 48, 48, 0.08), rgba(219, 120, 113, 0.12));
}

.hbpdl-related-plot-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
}

.hbpdl-related-plot-title {
	color: #203030;
	font-family: "roca", Georgia, serif;
	font-size: clamp(1.5rem, 1.9vw, 2rem);
	font-weight: 400;
	line-height: 1;
	margin: 0;
}

.hbpdl-related-plot-meta,
.hbpdl-related-plot-price {
	color: #203030;
	font-size: 1rem;
	line-height: 1.4;
	margin: 0;
}

.hbpdl-related-plot-price {
	font-weight: 600;
	margin-top: 4px;
}

.hbpdl-related-plot-actions {
	margin-top: auto;
	padding-top: 12px;
}

.hbpdl-button,
.hbp_brochure_link,
.hbp_floorplan_link,
.hbpdl-related-plot-button {
	align-items: center;
	appearance: none;
	background: #203030;
	border: 1px solid #db7871;
	border-radius: 999px;
	box-shadow: none;
	color: #db7871;
	display: inline-flex;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 0.98rem;
	font-weight: 600;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 0 22px;
	text-decoration: none;
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.hbpdl-button:hover,
.hbpdl-button:focus,
.hbp_brochure_link:hover,
.hbp_brochure_link:focus,
.hbp_floorplan_link:hover,
.hbp_floorplan_link:focus,
.hbpdl-related-plot-button:hover,
.hbpdl-related-plot-button:focus {
	background: transparent;
	border-color: #203030;
	box-shadow: none;
	color: #203030;
	outline: none;
}

.hbpdl-related-plot-status {
	background: rgba(219, 120, 113, 0.14);
	border: 1px solid rgba(219, 120, 113, 0.44);
	border-radius: 999px;
	color: #203030;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1;
	padding: 12px 16px;
}

.hbpdl-document-list {
	display: grid;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hbpdl-document-list-item {
	align-items: center;
	background: #f7f4eb;
	border: 1px solid rgba(32, 48, 48, 0.12);
	border-radius: 24px;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	padding: 20px 22px;
}

.hbpdl-document-name {
	color: #203030;
	font-family: "Rethink Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.hbpdl-document-action {
	flex: 0 0 auto;
	min-height: 44px;
	padding: 0 18px;
	white-space: nowrap;
}

.hbpdl-related-plot-status.is-sold {
	background: rgba(32, 48, 48, 0.08);
	border-color: rgba(32, 48, 48, 0.18);
}

@media (max-width: 767px) {
	[id^="gallery"].hbp_gallery .carousel-content img,
	[id^="floorplan"].hbp_gallery .carousel-content {
		min-height: 240px;
	}

	.hbpdl-related-plots-grid {
		grid-template-columns: 1fr;
	}

	.hbpdl-related-plot-media img,
	.hbpdl-related-plot-media-placeholder {
		height: 240px;
	}

	.hbpdl-document-list-item {
		align-items: flex-start;
		flex-direction: column;
	}

	.hbpdl-document-action {
		width: 100%;
	}
}
