/*
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Description: Home-To-Let child theme with premium Property Hive presentation.
Version: 4.5.4
*/

/*
==============================================================
HOME-TO-LET PROPERTY SYSTEM 4.5.4 — MOBILE FOOTER CONSOLIDATION
==============================================================

PURPOSE
- Preserve the approved visual design.
- Keep Kadence, Property Hive and Home-To-Let responsibilities clear.
- Make future maintenance safe for developers and AI-assisted workflows.
- Favour readable, component-oriented CSS over aggressive compression.

OWNERSHIP
- Kadence controls standard page layouts, the global header and footer.
- Property Hive supplies property data, search, gallery and archive markup.
- .htl-* selectors control the custom Home-To-Let property presentation.
- No Kadence or Property Hive plugin files are modified.

SUPPORTED ROUTES
- body.htl-properties-landing: Properties landing page.
- body.htl-property-search-results: filtered search-results page.
- body.htl-single-rental: genuine rental listing.
- body.htl-single-marketing: Property Wanted / landlord-opportunity page.
- body.single-property: shared single-property behaviour.

MAINTENANCE RULES
- Preserve current rendering unless a defect is explicitly identified.
- Use Kadence controls before adding page-specific CSS.
- Prefer route-scoped selectors over broad body:not(...) selectors.
- Keep compatibility overrides isolated and documented.
- Do not add historical release-log blocks to this file.
- Record project history in CHANGELOG.md instead.
- Treat the consolidated mobile footer as a controlled component.
==============================================================
*/

/*
RELEASE 4.5.4 — MOBILE FOOTER CONSOLIDATION
- Preserves the approved Version 4.5.3 frontend.
- Consolidates repeated mobile-footer declarations by exact selector ownership.
- Replaces nine max-width: 767px blocks with one authoritative block.
- Replaces two max-width: 380px blocks with one narrow-mobile exception.
- Preserves the existing mobile-footer JavaScript class contract.
- Changes no intended visual value or breakpoint.
*/


/*
AUTHORITATIVE COMPONENT OWNERSHIP

01   Design tokens and foundations
02A  Rental header and title area
02B  Property search form
02C  Rental gallery and facts
02D  Rental content sections and media
02E  Rental sidebar, enquiry card and final CTA
03   Archive and Properties-page cards
04A  Generated-route and Property Hive compatibility
04B  Search-results shell, hero and toolbar
04C  Generic archive controls
05   Final route-specific corrections
06   Property Hive archive compatibility
06A  Archive grid and responsive breakpoints
07A  Related-property cards
07B  Pagination
08   Property Wanted presentation
09   Mobile footer — protected
10   Desktop footer width
10A  Shared footer internal spacing
11   Accessibility and responsive safeguards

PHYSICAL SOURCE ORDER

02 shared foundations
→ 02C → 02D → 02E → 02A → 02B
→ 03 → 04A → search-hero integration → 04B
→ 06 → 06A → 10A → 04C → final route resets
→ 07A → 07B → 08 → 05
→ 09 protected mobile footer → 10 → 11

The physical order is intentionally not numerical. Section 08 now owns the complete Property Wanted presentation. Section 05
contains rental-only corrections.

COMPONENT DEPENDENCY CHAIN

Design tokens
→ shared route foundations
→ authoritative component section
→ compatibility normalisation
→ final route correction
→ accessibility safeguard

CASCADE CONTRACT
- Edit the authoritative component section first.
- Use Section 05 only for a proven route-specific correction.
- Do not create a second authoritative block for an existing component.
- Do not reorder sections solely to make numbering sequential.
- Do not remove Property Hive or Kadence compatibility rules without testing.
- Edit the consolidated mobile footer only from verified computed-style evidence.
*/

/*
AI / DEVELOPER MAINTENANCE CONTRACT

Before editing:
1. Identify the route body class and owning section.
2. Confirm whether the rule is presentation, compatibility or a final override.
3. Preserve selector scope and existing source order unless a defect requires change.
4. Never remove a Property Hive or Kadence override solely because it looks repetitive.
5. Treat 4.3.0 as the visual rollback baseline and test one component per release.

Required regression routes:
- Properties landing page
- Filtered Property Search page
- Standard single rental
- Property Wanted advert
- Mobile and desktop footer
*/

/*
SELECTOR GLOSSARY

Route classes
- .htl-properties-landing       Properties landing page.
- .htl-property-search-results  Filtered Property Hive results.
- .htl-single-rental            Standard rental listing.
- .htl-single-marketing         Property Wanted / landlord marketing page.
- .single-property              Shared Property Hive single-page scope.

Primary component families
- .htl-property-card*           Archive and Properties-page cards.
- .htl-single-property*         Shared single-property shell.
- .htl-property-hero-copy*      Standard rental heading and price panel.
- .htl-marketing-hero*          Property Wanted hero.
- .htl-property-facts*          Standard rental facts grid.
- .htl-enquiry-card*            Sticky enquiry panel.
- .htl-related-property*        Related-property cards.
- .htl-mobile-footer-*          Protected mobile-footer component.

Editing boundaries
- Edit presentation in the authoritative component section.
- Edit plugin normalisation only in compatibility sections.
- Edit final route corrections only in Section 05.
- Never create a second authoritative block for an existing component.
*/

/*
CHANGE DECISION GUIDE

Presentation change
- Edit the component's authoritative section.

Plugin markup conflict
- Edit the relevant compatibility section.

One-route exception
- Add the smallest possible rule to Section 05 and explain why.

Responsive change
- Keep the breakpoint beside the owning component where practical.

Footer change
- Stop and inspect the live Kadence markup before editing Section 09.
*/


:root {
	--htl-purple: #4d3a78;
	--htl-purple-dark: #362653;
	--htl-olive: #8f9742;
	--htl-olive-dark: #71782d;
	--htl-cream: #f7f7ef;
	--htl-grey: #424242;
	--htl-border: rgba(77, 58, 120, 0.12);
	--htl-shadow: 0 18px 48px rgba(41, 31, 66, 0.10);
	--htl-site-width: 1440px;
	--htl-header-height: 90px;
	--htl-page-gutter: 24px;
	--htl-card-radius: 18px;
	--htl-section-radius: 22px;
	--htl-generated-hero-min-height: 250px;
	--htl-generated-section-gap: 30px;
	--htl-generated-card-image-ratio: 16 / 10;
	--htl-generated-card-summary-lines: 3;
}

/* ==============================================================
   02 — SHARED SINGLE-PROPERTY FOUNDATIONS
   Shared structure and authoritative single-property page shell.

   EDIT BOUNDARY
   - Keep genuinely shared foundations and the page-shell spacing here.
   - Rental-specific styling belongs in Sections 02A–02E.
   - Property Wanted styling belongs entirely in Section 08.
   - Section 05 is reserved for rental-only corrections.
   ============================================================== */

body.single-property {
	background: var(--htl-cream);
}

/*
 * Authoritative single-property page shell.
 *
 * Final desktop values were previously distributed across several later
 * declarations. Keep all route-shell spacing here.
 */
body.single-property .site-main {
	max-width: 1440px;
	margin: 0 auto;
	padding: 54px 32px 96px;
	padding-top: 42px !important;
}

@media (max-width: 1100px) {
	body.single-property .site-main {
		padding-inline: 24px;
	}
}

@media (max-width: 700px) {
	body.single-property .site-main {
		padding: 24px 14px 56px;
		padding-top: 26px !important;
	}
}

@media (max-width: 640px) {
	body.single-property .site-main {
		padding: 30px 16px 60px;
		padding-top: 26px !important;
	}
}


body.single-property .content-area,
body.single-property .site-container,
body.single-property .content-container {
	max-width: none;
}


body.single-property .htl-single-property {
	width: 100%;
	color: var(--htl-grey);
	font-family: Inter, Arial, sans-serif;
}

body.single-property .htl-single-property * {
	box-sizing: border-box;
}

body.single-property .htl-single-property svg {
	display: block;
	width: 1.15em;
	height: 1.15em;
	flex: 0 0 auto;
}


html {
	scroll-padding-top: 118px;
}

@media (max-width: 900px) {
	html {
		scroll-padding-top: 90px;
	}
}


/* ==============================================================
   02C — SINGLE-PROPERTY GALLERY AND FACTS
   Authoritative Pass 8 implementation.

   Ownership:
   - Property Hive supplies FlexSlider gallery markup and property data.
   - This section controls the standard rental gallery and facts grid.
   - Property Wanted marketing-gallery rules remain owned by Section 08.
   ============================================================== */

/* Gallery shell */
body.single-property .htl-single-property__gallery {
	overflow: hidden;
	margin: 0 0 26px;
	border-radius: 22px;
	background: #edece8;
	box-shadow: var(--htl-shadow);
}

body.single-property .htl-single-property__gallery .images,
body.single-property .htl-single-property__gallery .flexslider {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.single-property .htl-single-property__gallery #slider ul.slides,
body.single-property .htl-single-property__gallery #slider ul.slides > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-property .htl-single-property__gallery #slider ul.slides > li img {
	display: block;
	width: 100%;
	height: clamp(500px, 46vw, 660px);
	object-fit: cover;
	object-position: center;
}

/* Gallery navigation */
body.single-property .htl-single-property__gallery .flex-direction-nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--htl-purple);
	font-size: 0;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
	opacity: 1;
}

body.single-property .htl-single-property__gallery .flex-direction-nav a::before {
	color: var(--htl-purple);
	font-size: 22px;
}

/* Thumbnail rail */
body.single-property .htl-single-property__gallery #carousel.thumbnails.flexslider {
	width: 100%;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--htl-border);
	background: #fff;
}

body.single-property .htl-single-property__gallery #carousel .flex-viewport {
	width: 100% !important;
	height: 118px !important;
	min-height: 118px !important;
	max-height: 118px !important;
	padding: 14px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
}

body.single-property .htl-single-property__gallery #carousel .flex-viewport::-webkit-scrollbar {
	display: none;
}

body.single-property .htl-single-property__gallery #carousel ul.slides {
	display: flex !important;
	flex-flow: row nowrap !important;
	gap: 10px;
	align-items: center;
	width: max-content !important;
	height: 90px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	transform: none !important;
	transition: none !important;
}

body.single-property .htl-single-property__gallery #carousel ul.slides > li {
	float: none !important;
	flex: 0 0 126px !important;
	width: 126px !important;
	height: 90px !important;
	margin: 0 !important;
}

body.single-property .htl-single-property__gallery #carousel ul.slides > li img {
	display: block;
	width: 126px !important;
	height: 90px !important;
	border: 3px solid transparent;
	border-radius: 10px;
	object-fit: cover;
	opacity: .72;
	cursor: pointer;
	transition:
		transform .22s ease,
		opacity .22s ease,
		border-color .22s ease;
}

body.single-property .htl-single-property__gallery #carousel ul.slides > li img.flex-active,
body.single-property .htl-single-property__gallery #carousel ul.slides > li img:hover {
	border-color: var(--htl-olive);
	opacity: 1;
}

body.single-property .htl-single-property__gallery #carousel .flex-direction-nav {
	display: none;
}

/* Facts grid */
body.single-property .htl-property-facts {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)) !important;
	gap: 0;
	overflow: hidden;
	margin: 0 0 28px;
	border: 1px solid var(--htl-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(41, 31, 66, .06);
}

body.single-property .htl-property-fact {
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	justify-content: center;
	min-height: 118px;
	padding: 18px 14px;
	border-right: 1px solid var(--htl-border);
	border-bottom: 1px solid var(--htl-border);
	background: #fff;
	text-align: center;
}

body.single-property .htl-property-fact:last-child {
	border-right: 0;
}

body.single-property .htl-property-fact__icon {
	display: inline-grid;
	flex: 0 0 44px;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(143, 151, 66, .12);
	color: var(--htl-purple, #4d3a78);
	font-size: 24px;
}

body.single-property .htl-property-fact__copy {
	display: grid;
	gap: 3px;
	justify-items: center;
	min-width: 0;
	width: 100%;
}

body.single-property .htl-property-fact__copy small {
	display: block;
	margin-bottom: 0;
	color: #68616d;
	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .035em;
	text-transform: uppercase;
}

body.single-property .htl-property-fact__copy strong {
	display: block;
	overflow: hidden;
	color: #312d37;
	font-size: 14px;
	line-height: 1.3;
	text-overflow: ellipsis;
}

/* Fine-pointer interactions */
@media (hover: hover) and (pointer: fine) {
	body.single-property .htl-single-property__gallery #carousel ul.slides > li img:hover {
		transform: scale(1.035);
	}
}

/* Tablet */
@media (max-width: 900px) {
	body.single-property .htl-single-property__gallery #slider ul.slides > li img {
		height: 460px;
	}
}

/* Mobile */
@media (max-width: 700px) {
	body.single-property .htl-single-property__gallery {
		border-radius: 15px;
	}

	body.single-property .htl-single-property__gallery #slider ul.slides > li img {
		height: 320px;
	}

	body.single-property .htl-single-property__gallery #carousel .flex-viewport {
		height: 92px !important;
		min-height: 92px !important;
		max-height: 92px !important;
		padding: 10px !important;
	}

	body.single-property .htl-single-property__gallery #carousel ul.slides,
body.single-property .htl-single-property__gallery #carousel ul.slides > li,
body.single-property .htl-single-property__gallery #carousel ul.slides > li img {
		height: 72px !important;
	}

	body.single-property .htl-single-property__gallery #carousel ul.slides > li {
		flex-basis: 96px !important;
		width: 96px !important;
	}

	body.single-property .htl-single-property__gallery #carousel ul.slides > li img {
		width: 96px !important;
	}

	body.single-property .htl-property-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.single-property .htl-property-fact {
		min-height: 104px;
		padding: 14px 10px;
	}
}

/* Small mobile */
@media (max-width: 440px) {
	body.single-property .htl-property-fact {
		align-items: center;
		gap: 8px;
		text-align: center;
	}
}


/* ==============================================================
   02D — SINGLE-PROPERTY CONTENT SECTIONS AND MEDIA
   Authoritative Pass 9A implementation.

   Ownership:
   - content-single-property.php supplies the section markup and content.
   - This section controls the main content column only.
   - Sidebar, enquiry card and final CTA remain reserved for Pass 9B.
   - Property Wanted presentation remains owned by Section 08.
   ============================================================== */

/* Main content stack */
body.single-property .htl-single-property__main {
	display: grid;
	gap: 24px;
	min-width: 0;
}

/* Shared content card */
body.single-property .htl-single-property__section {
	padding: clamp(30px, 3.5vw, 44px);
	border: 1px solid var(--htl-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(41, 31, 66, .06);
}

/* Section headings */
body.single-property .htl-section-heading > span {
	display: block;
	margin-bottom: 7px;
	color: var(--htl-olive-dark);
	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.single-property .htl-section-heading h2 {
	margin: 0;
	color: #2d2932;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(32px, 3vw, 43px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.05;
	text-wrap: balance;
}

/* Highlights */
body.single-property .htl-property-highlights__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}

body.single-property .htl-property-highlight {
	display: flex;
	gap: 12px;
	align-items: center;
	min-height: 58px;
	padding: 13px 15px;
	border-radius: 12px;
	background: #f8f8f3;
}

body.single-property .htl-property-highlight > span {
	display: grid;
	flex: 0 0 30px;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--htl-olive);
	color: #fff;
}

body.single-property .htl-property-highlight p {
	margin: 0;
	color: #3b3740;
	font-size: 14px;
	font-weight: 650;
}

/* Overview and room descriptions */
body.single-property .htl-property-overview__lead {
	max-width: 760px;
	margin: 25px 0 0;
	color: #4b4650;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(18px, 1.35vw, 21px);
	line-height: 1.65;
}

body.single-property .htl-property-description__content,
body.single-property .htl-room-details .property-description,
body.single-property .htl-room-details .description {
	display: grid;
	gap: 14px;
	margin-top: 28px;
	color: #504b55;
	font-size: 15px;
	line-height: 1.72;
}

body.single-property .htl-room-details .property-description,
body.single-property .htl-room-details .description {
	margin-top: 0;
}

body.single-property .htl-property-description__content > p,
body.single-property .htl-room-details .property-description > p,
body.single-property .htl-room-details .description > p {
	position: relative;
	margin: 0 !important;
	padding: 21px 22px !important;
	border: 1px solid rgba(77, 58, 120, .10) !important;
	border-radius: 13px;
	background: #fafaf7;
	line-height: 1.72;
}

body.single-property .htl-property-description__content > p::before,
body.single-property .htl-room-details .property-description > p::before,
body.single-property .htl-room-details .description > p::before {
	display: none !important;
	content: none !important;
}

body.single-property .htl-property-description__content > p:last-child {
	padding-bottom: 21px !important;
	border-bottom: 1px solid rgba(77, 58, 120, .10) !important;
}

body.single-property .htl-property-description__content strong,
body.single-property .htl-room-details strong {
	display: inline-block;
	margin-right: 7px;
	color: var(--htl-purple);
	font-size: 15px;
}

body.single-property .htl-property-description__content h3 {
	margin: 30px 0 8px;
	color: var(--htl-purple);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 26px;
}

/* Floorplans, EPC and other media */
body.single-property .htl-property-media-grid {
	display: grid;
	gap: 18px;
	margin-top: 28px;
}

body.single-property .htl-property-media-card {
	display: grid;
	gap: 15px;
	padding: 15px;
	border: 1px solid var(--htl-border);
	border-radius: 16px;
	color: var(--htl-purple);
	text-align: center;
	text-decoration: none;
}

body.single-property .htl-property-media-card img {
	display: block;
	width: 100%;
	max-height: 620px;
	border-radius: 10px;
	background: #f6f5f1;
	object-fit: contain;
}

body.single-property .htl-property-document-icon {
	display: grid;
	place-items: center;
	min-height: 260px;
	border-radius: 10px;
	background: #f6f5f1;
	font-size: 48px;
}

/* Documents */
body.single-property .htl-property-documents__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 28px;
}

body.single-property .htl-property-document {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) 22px;
	gap: 13px;
	align-items: center;
	min-height: 92px;
	padding: 16px;
	border: 1px solid var(--htl-border);
	border-radius: 14px;
	color: var(--htl-purple);
	text-decoration: none;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

body.single-property .htl-property-document > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(77, 58, 120, .09);
	font-size: 21px;
}

body.single-property .htl-property-document strong {
	display: block;
	font-size: 14px;
}

body.single-property .htl-property-document small {
	display: block;
	margin-top: 3px;
	color: #77727e;
	font-size: 12px;
}

/* Location */
body.single-property .htl-property-location__heading {
	display: flex;
	gap: 20px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 25px;
}

body.single-property .htl-property-location__heading > a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--htl-purple);
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

body.single-property .htl-property-location__map {
	overflow: hidden;
	border-radius: 14px;
	background: #eee;
}

body.single-property .htl-property-location__map iframe {
	display: block;
	width: 100% !important;
	height: 500px !important;
	border: 0;
}

body.single-property .htl-property-location__address {
	display: flex;
	gap: 9px;
	align-items: center;
	margin: 14px 0 0;
	color: #68636d;
	font-size: 13px;
}

body.single-property .htl-property-location__address svg {
	color: var(--htl-olive-dark);
}

body.single-property .htl-property-location::after {
	content: "Use the interactive map to explore nearby transport, schools, shops and local amenities.";
	display: block;
	margin-top: 16px;
	padding: 14px 16px;
	border-radius: 11px;
	background: #f8f8f3;
	color: #66616b;
	font-size: 13px;
	line-height: 1.55;
}

/* Rental information note */
body.htl-single-rental .htl-property-information-note {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
}

body.htl-single-rental .htl-property-information-note__content {
	min-width: 0;
}

body.htl-single-rental .htl-property-information-note .htl-section-heading,
body.htl-single-rental .htl-property-information-note .htl-section-heading h2 {
	margin: 0;
}

body.htl-single-rental .htl-property-information-note p {
	max-width: 760px;
	margin: 14px 0 0;
}

body.htl-single-rental .htl-property-information-note > .htl-button {
	min-width: 178px;
	white-space: nowrap;
}

/* Fine-pointer interactions */
@media (hover: hover) and (pointer: fine) {
	body.single-property .htl-property-document:hover {
		transform: translateY(-2px);
		border-color: rgba(77, 58, 120, .20);
		box-shadow: 0 12px 26px rgba(41, 31, 66, .09);
	}
}

/* Tablet */
@media (max-width: 900px) {
	body.single-property .htl-property-location__map iframe {
		height: 420px !important;
	}
}

/* Mobile */
@media (max-width: 700px) {
	body.single-property .htl-single-property__section {
		padding: 24px 20px;
	}

	body.single-property .htl-property-highlights__grid,
body.single-property .htl-property-documents__grid {
		grid-template-columns: 1fr;
	}

	body.single-property .htl-property-location__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	body.single-property .htl-property-location__map iframe {
		height: 340px !important;
	}

	body.htl-single-rental .htl-property-information-note {
		grid-template-columns: 1fr;
	}

	body.htl-single-rental .htl-property-information-note > .htl-button {
		width: 100%;
		min-width: 0;
		white-space: normal;
	}
}


/* ==============================================================
   02E — SINGLE-PROPERTY SIDEBAR, ENQUIRY AND FINAL CTA
   Authoritative Pass 9B implementation.

   Ownership:
   - content-single-property.php supplies layout, enquiry and CTA markup.
   - This section controls the two-column property layout and action panels.
   - Property Wanted hero and process sections remain owned by Section 08.
   - The unique mobile footer remains protected and unchanged.
   ============================================================== */

/* Main content/sidebar layout */
body.single-property .htl-single-property__layout,
body.single-property .htl-property-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 32px;
	align-items: start !important;
	overflow: visible !important;
}

body.single-property .htl-single-property__sidebar {
	position: sticky !important;
	top: 118px !important;
	align-self: start !important;
	height: fit-content;
	z-index: 5;
}

/* Shared buttons */
body.single-property .htl-button {
	display: inline-flex;
	gap: 9px;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: 9px;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease;
}

body.single-property .htl-button--white {
	background: #fff;
	color: var(--htl-purple);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
}

body.single-property .htl-button--glass {
	border-color: rgba(255, 255, 255, .50);
	background: rgba(255, 255, 255, .12);
	color: #fff;
}

body.single-property .htl-button--olive {
	background: var(--htl-olive);
	color: #fff;
}

body.single-property .htl-button--outline-light {
	border-color: rgba(255, 255, 255, .42);
	color: #fff;
}

body.single-property .htl-button--outline-dark {
	border-color: var(--htl-purple);
	color: var(--htl-purple);
}

/* Enquiry card */
body.single-property .htl-enquiry-card {
	overflow: hidden;
	padding: 30px;
	border-radius: 22px;
	background: linear-gradient(145deg, var(--htl-purple) 0%, var(--htl-purple-dark) 100%);
	color: #fff;
	box-shadow: 0 22px 50px rgba(54, 38, 83, .25);
}

body.single-property .htl-enquiry-card__agency {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, .14);
}

body.single-property .htl-enquiry-card__logo {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 82px;
	min-height: 58px;
	padding: 7px 9px;
	border-radius: 12px;
	background: #fff;
}

body.single-property .htl-enquiry-card__logo .htl-brand-logo__image {
	display: block;
	width: auto;
	max-width: 64px;
	max-height: 48px;
	height: auto;
	object-fit: contain;
}

body.single-property .htl-enquiry-card__logo.htl-brand-logo--fallback {
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: .04em;
}

body.single-property .htl-enquiry-card__monogram {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	color: var(--htl-purple);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .03em;
}

body.single-property .htl-enquiry-card__agency strong,
body.single-property .htl-enquiry-card__agency small {
	display: block;
}

body.single-property .htl-enquiry-card__agency strong {
	color: #fff;
	font-size: 14px;
}

body.single-property .htl-enquiry-card__agency small {
	margin-top: 2px;
	color: rgba(255, 255, 255, .68);
	font-size: 11px;
}

body.single-property .htl-enquiry-card__eyebrow {
	display: block;
	margin-bottom: 9px;
	color: #d9df9b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.single-property .htl-enquiry-card h2 {
	margin: 0 0 12px;
	color: #fff;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 35px;
	line-height: 1;
}

body.single-property .htl-enquiry-card__intro,
body.single-property .htl-enquiry-card > p {
	margin: 0 0 16px;
	color: rgba(255, 255, 255, .84);
	font-size: 14px;
	line-height: 1.65;
}

body.single-property .htl-enquiry-card__property {
	margin-bottom: 20px;
	padding: 15px 16px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
	background: rgba(255, 255, 255, .07);
}

body.single-property .htl-enquiry-card__property small {
	display: block;
	margin-bottom: 4px;
	color: rgba(255, 255, 255, .64);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.single-property .htl-enquiry-card__property strong {
	display: block;
	color: #fff;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 18px;
	line-height: 1.08;
}

body.single-property .htl-enquiry-card__property span {
	display: block;
	margin-top: 8px;
	color: #d9df9b;
	font-weight: 800;
}

body.single-property .htl-enquiry-card__actions {
	display: grid;
	gap: 10px;
}

body.single-property .htl-enquiry-card__actions .htl-button {
	min-height: 48px;
}

body.single-property .htl-enquiry-card__text-link {
	display: flex;
	gap: 9px;
	align-items: center;
	justify-content: center;
	padding: 8px;
	color: rgba(255, 255, 255, .94);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

body.single-property .htl-enquiry-card__note {
	margin: 18px 0 0 !important;
	color: rgba(255, 255, 255, .58) !important;
	font-size: 11px !important;
	text-align: center;
}

/* Final CTA */
body.single-property .htl-property-final-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(320px, .8fr);
	gap: 52px;
	align-items: center;
	margin-top: 40px;
	padding: clamp(48px, 5.5vw, 72px) clamp(34px, 5vw, 58px);
	border-radius: 22px;
	background: var(--htl-purple);
	color: #fff;
	box-shadow: var(--htl-shadow);
}

body.single-property .htl-property-final-cta > div > span {
	display: block;
	margin-bottom: 7px;
	color: #d9df9b;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.single-property .htl-property-final-cta h2 {
	max-width: 720px;
	margin: 0;
	color: #fff;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: clamp(34px, 3vw, 48px);
	font-weight: 700;
	letter-spacing: -.02em;
	line-height: 1.02;
	text-wrap: balance;
}

body.single-property .htl-property-final-cta p {
	max-width: 650px;
	margin: 12px 0 0;
	color: rgba(255, 255, 255, .78);
}

body.single-property .htl-property-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: flex-end;
}

body.single-property .htl-property-final-cta__actions .htl-button {
	min-height: 54px;
	padding-inline: 22px;
}

/* Fine-pointer interactions */
@media (hover: hover) and (pointer: fine) {
	body.single-property .htl-button:hover {
		transform: translateY(-2px);
		box-shadow: 0 10px 22px rgba(41, 31, 66, .16);
	}
}

/* Intermediate desktop */
@media (max-width: 1100px) {
	body.single-property .htl-single-property__layout,
	body.single-property .htl-property-content-grid {
		grid-template-columns: minmax(0, 1fr) 330px;
		gap: 24px;
	}

	body.single-property .htl-property-final-cta {
		grid-template-columns: 1fr;
	}

	body.single-property .htl-property-final-cta__actions {
		justify-content: flex-start;
	}
}

/* Tablet */
@media (max-width: 900px) {
	body.single-property .htl-single-property__layout,
	body.single-property .htl-property-content-grid {
		grid-template-columns: 1fr;
	}

	body.single-property .htl-single-property__sidebar {
		position: static !important;
		top: auto !important;
		height: auto;
		z-index: auto;
	}
}

/* Mobile */
@media (max-width: 700px) {
	body.single-property .htl-enquiry-card {
		padding: 26px 22px;
	}

	body.single-property .htl-property-final-cta {
		grid-template-columns: 1fr;
		gap: 28px;
		padding: 34px 22px;
	}

	body.single-property .htl-property-final-cta__actions {
		display: grid;
		width: 100%;
	}

	body.single-property .htl-property-final-cta__actions .htl-button {
		width: 100%;
	}
}

/* Small mobile */
@media (max-width: 440px) {
	body.single-property .htl-enquiry-card,
	body.single-property .htl-property-final-cta {
		padding-inline: 20px;
	}
}


/* ==============================================================
   02A — SINGLE-PROPERTY HEADER AND RENTAL HERO
   Authoritative Pass 1 implementation.

   Ownership:
   - Kadence supplies the global header markup.
   - These rules only normalise the header on Property Hive single pages.
   - The rental hero uses one desktop definition and three responsive states.
   - Property Wanted's dedicated .htl-marketing-hero remains in Section 08.
   ============================================================== */

/* Global single-property header */
body.single-property .site-header,
body.single-property .site-header-wrap,
body.single-property .site-main-header-wrap {
	position: relative !important;
	top: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(77, 58, 120, .08) !important;
	z-index: 1000;
}

body.single-property .site-main-header-inner-wrap,
body.single-property .site-header-row-container-inner,
body.single-property .site-header .site-container,
body.single-property .site-header .site-header-row-layout-contained,
body.single-property .site-header .site-branding,
body.single-property .site-header .site-branding a,
body.single-property .site-header .site-logo-img,
body.single-property .site-header .main-navigation,
body.single-property .site-header .primary-menu-container,
body.single-property .site-header .primary-menu-container > ul {
	height: auto !important;
	min-height: 90px !important;
}

body.single-property .site-header .site-branding,
body.single-property .site-header .site-branding a,
body.single-property .site-header .site-logo-img,
body.single-property .site-header .main-navigation,
body.single-property .site-header .primary-menu-container,
body.single-property .site-header .primary-menu-container > ul {
	display: flex !important;
	align-items: center !important;
	margin: 0 !important;
	padding-block: 0 !important;
}

body.single-property .site-header .custom-logo,
body.single-property .site-header .site-logo-img img {
	display: block !important;
	width: auto !important;
	max-width: 190px !important;
	max-height: 70px !important;
	height: auto !important;
	margin: 0 !important;
}

body.single-property .main-navigation .primary-menu-container > ul > li > a {
	display: flex !important;
	align-items: center !important;
	min-height: 90px !important;
	padding-inline: 14px;
	color: var(--htl-purple) !important;
}

body.single-property .site-header-item .button,
body.single-property .header-button {
	color: #fff !important;
}

body.admin-bar.single-property .site-header,
body.admin-bar.single-property .site-header-wrap,
body.admin-bar.single-property .site-main-header-wrap {
	top: auto !important;
}

/* Main-content clearance beneath the approved relative header */


/* Rental hero */
body.single-property .htl-property-hero-copy {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 290px !important;
	gap: 46px !important;
	align-items: start !important;
	margin: 0 0 30px !important;
	padding: 0 !important;
}

body.single-property .htl-property-hero-copy__main {
	min-width: 0;
	padding: 4px 0 0 18px !important;
}

body.single-property .htl-property-hero-copy__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin-bottom: 13px;
}

body.single-property .htl-property-eyebrow,
body.single-property .htl-property-availability {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 6px 12px;
	border-radius: 999px;
	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1;
	text-transform: uppercase;
}

body.single-property .htl-property-eyebrow {
	background: var(--htl-olive);
	color: #fff;
}

body.single-property .htl-property-availability {
	border: 1px solid rgba(143, 151, 66, .35);
	background: rgba(143, 151, 66, .10);
	color: var(--htl-olive-dark);
}

body.single-property .htl-single-property__title {
	max-width: 1040px;
	margin: 0 0 12px !important;
	color: #28242e;
	font-family: Inter, Arial, sans-serif !important;
	font-size: clamp(44px, 4.1vw, 66px) !important;
	font-weight: 500 !important;
	letter-spacing: -.035em !important;
	line-height: 1.06 !important;
	text-wrap: balance;
}

body.single-property .htl-single-property__title > span,
body.single-property .htl-single-property__title > small {
	display: block;
}

body.single-property .htl-single-property__title > small {
	max-width: 760px;
	margin-top: 10px;
	color: #514b57;
	font-family: Inter, Arial, sans-serif !important;
	font-size: clamp(18px, 1.45vw, 23px) !important;
	font-weight: 400 !important;
	letter-spacing: -.015em !important;
	line-height: 1.35 !important;
}

body.single-property .htl-property-reference {
	margin: 13px 0 0;
	color: #77727e;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	letter-spacing: .035em;
}

body.single-property .htl-property-hero-copy__price {
	position: static !important;
	top: auto !important;
	align-self: start !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 290px !important;
	margin: 18px 0 0 !important;
	padding: 26px 28px !important;
	border: 1px solid rgba(77, 58, 120, .12) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 14px 34px rgba(54, 38, 83, .10) !important;
	transform: none !important;
}

body.single-property .htl-property-hero-copy__price > span {
	display: block;
	margin: 0 0 7px !important;
	color: #77727e;
	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

body.single-property .htl-property-hero-copy__price > strong {
	display: block;
	margin: 0 0 12px !important;
	color: var(--htl-purple);
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 36px !important;
	line-height: 1 !important;
}

body.single-property .htl-property-hero-copy__price > a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-top: 0 !important;
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

@media (max-width: 1024px) {
	body.single-property .site-main-header-inner-wrap,
body.single-property .site-header-row-container-inner,
body.single-property .site-header .site-container,
body.single-property .site-header .site-header-row-layout-contained,
body.single-property .site-header .site-branding,
body.single-property .site-header .site-branding a,
body.single-property .site-header .site-logo-img,
body.single-property .site-header .main-navigation,
body.single-property .site-header .primary-menu-container,
body.single-property .site-header .primary-menu-container > ul {
		min-height: 76px !important;
	}

	body.single-property .main-navigation .primary-menu-container > ul > li > a {
		min-height: 76px !important;
	}

	body.single-property .htl-property-hero-copy {
		grid-template-columns: minmax(0, 1fr) 260px !important;
		gap: 30px !important;
	}

	body.single-property .htl-property-hero-copy__price {
		max-width: 260px !important;
	}
}

@media (max-width: 900px) {
	body.single-property .htl-property-hero-copy {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	body.single-property .htl-property-hero-copy__price {
		max-width: none !important;
		margin-top: 0 !important;
	}
}

@media (max-width: 700px) {


	body.single-property .htl-property-hero-copy__main {
		padding-left: 8px !important;
	}

	body.single-property .htl-single-property__title {
		font-size: 40px !important;
	}

	body.single-property .htl-single-property__title > small {
		font-size: 19px !important;
	}

	body.single-property .htl-property-hero-copy__price {
		width: 100% !important;
	}
}


/* ==============================================================
   02B — PROPERTY SEARCH FORM
   Authoritative Pass 2 implementation.

   Ownership:
   - Property Hive supplies the form markup and query behaviour.
   - Kadence supplies the surrounding page and hero structure.
   - These rules control only the Home-To-Let visual presentation.
   - Landing and filtered-results routes share one form system.
   ============================================================== */

/* Shared form shell */
body.htl-properties-landing .property-search-form,
body.htl-properties-landing form.property-search-form,
body.htl-properties-landing .propertyhive-search-form,
body.htl-properties-landing form.propertyhive-search-form,
body.htl-properties-landing form.search-properties,
body.htl-property-search-results .property-search-form,
body.htl-property-search-results form.property-search-form,
body.htl-property-search-results .propertyhive-search-form,
body.htl-property-search-results form.propertyhive-search-form,
body.htl-property-search-results form.search-properties {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(150px, 180px) !important;
	gap: 16px !important;
	align-items: end !important;
	box-sizing: border-box !important;
	width: min(calc(100% - 48px), 1200px) !important;
	margin-inline: auto !important;
	padding: 26px 30px !important;
	border: 1px solid rgba(77, 58, 120, .11) !important;
	border-radius: 20px !important;
	background: #fff !important;
	background-clip: padding-box !important;
	box-shadow: 0 20px 48px rgba(54, 38, 83, .13) !important;
	overflow: hidden !important;
	isolation: isolate;
	font-family: Inter, Arial, sans-serif !important;
}

/* Landing-page overlap */
body.htl-properties-landing .property-search-form,
body.htl-properties-landing form.property-search-form,
body.htl-properties-landing .propertyhive-search-form,
body.htl-properties-landing form.propertyhive-search-form,
body.htl-properties-landing form.search-properties {
	position: relative !important;
	z-index: 8 !important;
	margin-top: -28px !important;
	margin-bottom: 38px !important;
}

/* Filtered-results spacing */
body.htl-property-search-results .property-search-form,
body.htl-property-search-results form.property-search-form,
body.htl-property-search-results .propertyhive-search-form,
body.htl-property-search-results form.propertyhive-search-form,
body.htl-property-search-results form.search-properties {
	position: relative !important;
	inset: auto !important;
	margin-top: 0 !important;
	margin-bottom: 30px !important;
}

/* Neutralise Property Hive table layout where present */
body.htl-properties-landing .property-search-form table,
body.htl-properties-landing .property-search-form tbody,
body.htl-properties-landing .property-search-form tr,
body.htl-property-search-results .property-search-form table,
body.htl-property-search-results .property-search-form tbody,
body.htl-property-search-results .property-search-form tr {
	display: contents !important;
}

body.htl-properties-landing .property-search-form td,
body.htl-properties-landing .property-search-form th,
body.htl-property-search-results .property-search-form td,
body.htl-property-search-results .property-search-form th {
	display: block !important;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Form controls */
body.htl-properties-landing .property-search-form .control,
body.htl-properties-landing .propertyhive-search-form .control,
body.htl-properties-landing form.search-properties .control,
body.htl-property-search-results .property-search-form .control,
body.htl-property-search-results .propertyhive-search-form .control,
body.htl-property-search-results form.search-properties .control {
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.htl-properties-landing .property-search-form label,
body.htl-properties-landing .propertyhive-search-form label,
body.htl-properties-landing form.search-properties label,
body.htl-property-search-results .property-search-form label,
body.htl-property-search-results .propertyhive-search-form label,
body.htl-property-search-results form.search-properties label {
	display: block !important;
	margin: 0 0 8px !important;
	color: #4d4652 !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: .055em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}

body.htl-properties-landing .property-search-form select,
body.htl-properties-landing .property-search-form input:not([type="submit"]),
body.htl-properties-landing .propertyhive-search-form select,
body.htl-properties-landing .propertyhive-search-form input:not([type="submit"]),
body.htl-properties-landing form.search-properties select,
body.htl-properties-landing form.search-properties input:not([type="submit"]),
body.htl-property-search-results .property-search-form select,
body.htl-property-search-results .property-search-form input:not([type="submit"]),
body.htl-property-search-results .propertyhive-search-form select,
body.htl-property-search-results .propertyhive-search-form input:not([type="submit"]),
body.htl-property-search-results form.search-properties select,
body.htl-property-search-results form.search-properties input:not([type="submit"]) {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 15px !important;
	border: 1px solid rgba(77, 58, 120, .22) !important;
	border-radius: 9px !important;
	background-color: #fff !important;
	color: #302b34 !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}

body.htl-properties-landing .property-search-form select:hover,
body.htl-properties-landing .propertyhive-search-form select:hover,
body.htl-properties-landing form.search-properties select:hover,
body.htl-property-search-results .property-search-form select:hover,
body.htl-property-search-results .propertyhive-search-form select:hover,
body.htl-property-search-results form.search-properties select:hover {
	border-color: rgba(77, 58, 120, .48) !important;
}

body.htl-properties-landing .property-search-form select:focus,
body.htl-properties-landing .property-search-form input:focus,
body.htl-properties-landing .propertyhive-search-form select:focus,
body.htl-properties-landing .propertyhive-search-form input:focus,
body.htl-properties-landing form.search-properties select:focus,
body.htl-properties-landing form.search-properties input:focus,
body.htl-property-search-results .property-search-form select:focus,
body.htl-property-search-results .property-search-form input:focus,
body.htl-property-search-results .propertyhive-search-form select:focus,
body.htl-property-search-results .propertyhive-search-form input:focus,
body.htl-property-search-results form.search-properties select:focus,
body.htl-property-search-results form.search-properties input:focus {
	border-color: var(--htl-purple) !important;
	box-shadow: 0 0 0 3px rgba(77, 58, 120, .12) !important;
	outline: none !important;
}

/* Submit control */
body.htl-properties-landing .property-search-form button,
body.htl-properties-landing .property-search-form input[type="submit"],
body.htl-properties-landing .propertyhive-search-form button,
body.htl-properties-landing .propertyhive-search-form input[type="submit"],
body.htl-properties-landing form.search-properties button,
body.htl-properties-landing form.search-properties input[type="submit"],
body.htl-property-search-results .property-search-form button,
body.htl-property-search-results .property-search-form input[type="submit"],
body.htl-property-search-results .propertyhive-search-form button,
body.htl-property-search-results .propertyhive-search-form input[type="submit"],
body.htl-property-search-results form.search-properties button,
body.htl-property-search-results form.search-properties input[type="submit"] {
	width: 100% !important;
	min-height: 54px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: var(--htl-purple) !important;
	color: #fff !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	white-space: nowrap !important;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

body.htl-properties-landing .property-search-form button:hover,
body.htl-properties-landing .property-search-form input[type="submit"]:hover,
body.htl-properties-landing .propertyhive-search-form button:hover,
body.htl-properties-landing .propertyhive-search-form input[type="submit"]:hover,
body.htl-properties-landing form.search-properties button:hover,
body.htl-properties-landing form.search-properties input[type="submit"]:hover,
body.htl-property-search-results .property-search-form button:hover,
body.htl-property-search-results .property-search-form input[type="submit"]:hover,
body.htl-property-search-results .propertyhive-search-form button:hover,
body.htl-property-search-results .propertyhive-search-form input[type="submit"]:hover,
body.htl-property-search-results form.search-properties button:hover,
body.htl-property-search-results form.search-properties input[type="submit"]:hover {
	background: var(--htl-purple-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(54, 38, 83, .16);
}

/* Hide the unused department field without affecting query handling */
body.htl-properties-landing .property-search-form [class*="department"],
body.htl-properties-landing .propertyhive-search-form [class*="department"],
body.htl-properties-landing form.search-properties [class*="department"],
body.htl-property-search-results .property-search-form [class*="department"],
body.htl-property-search-results .propertyhive-search-form [class*="department"],
body.htl-property-search-results form.search-properties [class*="department"] {
	display: none !important;
}

/* Tablet */
@media (max-width: 1000px) {
	body.htl-properties-landing .property-search-form,
body.htl-properties-landing form.property-search-form,
body.htl-properties-landing .propertyhive-search-form,
body.htl-properties-landing form.propertyhive-search-form,
body.htl-properties-landing form.search-properties,
body.htl-property-search-results .property-search-form,
body.htl-property-search-results form.property-search-form,
body.htl-property-search-results .propertyhive-search-form,
body.htl-property-search-results form.propertyhive-search-form,
body.htl-property-search-results form.search-properties {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		width: min(calc(100% - 36px), 1200px) !important;
	}
}

/* Mobile */
@media (max-width: 700px) {
	body.htl-properties-landing .property-search-form,
body.htl-properties-landing form.property-search-form,
body.htl-properties-landing .propertyhive-search-form,
body.htl-properties-landing form.propertyhive-search-form,
body.htl-properties-landing form.search-properties,
body.htl-property-search-results .property-search-form,
body.htl-property-search-results form.property-search-form,
body.htl-property-search-results .propertyhive-search-form,
body.htl-property-search-results form.propertyhive-search-form,
body.htl-property-search-results form.search-properties {
		grid-template-columns: 1fr !important;
		width: calc(100% - 28px) !important;
		padding: 20px !important;
		border-radius: 16px !important;
	}

	body.htl-properties-landing .property-search-form,
body.htl-properties-landing form.property-search-form,
body.htl-properties-landing .propertyhive-search-form,
body.htl-properties-landing form.propertyhive-search-form,
body.htl-properties-landing form.search-properties {
		margin-top: 18px !important;
		margin-bottom: 30px !important;
	}

	body.htl-property-search-results .property-search-form,
body.htl-property-search-results form.property-search-form,
body.htl-property-search-results .propertyhive-search-form,
body.htl-property-search-results form.propertyhive-search-form,
body.htl-property-search-results form.search-properties {
		margin-bottom: 28px !important;
	}
}


/* ==============================================================
   03 — PROPERTY CARDS
   Authoritative Pass 3 implementation.

   Ownership:
   - Property Hive supplies the list markup and property data.
   - content-property.php supplies the .htl-property-card structure.
   - These rules control archive cards on both Properties routes.
   - Related-property cards on single listings remain separate.
   ============================================================== */

/* Shared card shell */
.htl-property-card {
	display: flex !important;
	flex-direction: column !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid var(--htl-border) !important;
	border-radius: var(--htl-card-radius) !important;
	background: #fff !important;
	box-shadow: 0 14px 36px rgba(41, 31, 66, .08);
	font-family: Inter, Arial, sans-serif;
}

/* Image */
.htl-property-card__image,
.htl-property-card .thumbnail.htl-property-card__image {
	position: relative !important;
	display: block !important;
	flex: 0 0 auto !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	height: auto !important;
	aspect-ratio: 4 / 3 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 17px 17px 0 0 !important;
	background: #ecebe6;
}

.htl-property-card__image > a,
.htl-property-card__image picture,
.htl-property-card__image figure {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.htl-property-card__image img,
.htl-property-card .thumbnail img {
	display: block !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	transition: transform .35s ease;
}

.htl-property-card--marketing .htl-property-card__image img {
	object-fit: contain !important;
	background: #f4f3ed !important;
}

/* Content */
.htl-property-card__content,
.htl-property-card .details.htl-property-card__content {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	float: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 22px !important;
	background: #fff;
}

.htl-property-card--marketing .htl-property-card__content {
	background: linear-gradient(180deg, #fff 0%, #fbfbf6 100%);
}

.htl-property-card__price {
	display: flex;
	align-items: center;
	min-height: 28px;
	color: var(--htl-purple);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.2;
}

.htl-property-card__marketing-label {
	color: var(--htl-olive-dark);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.htl-property-card__title {
	display: -webkit-box;
	overflow: hidden;
	min-height: 52px;
	margin: 8px 0 12px;
	color: #302c35;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.08;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.htl-property-card__title a {
	color: inherit;
	text-decoration: none;
}

.htl-property-card__summary {
	display: -webkit-box;
	overflow: hidden;
	min-height: 64px;
	max-height: 64px;
	margin: 0 0 18px;
	color: #625d67;
	font-size: 13.5px;
	line-height: 1.58;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.htl-property-card__summary p {
	margin: 0;
}

/* Facts and tags */
.htl-property-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	gap: 7px 8px;
	min-height: 74px;
	margin: 0 0 18px;
	color: #706b74;
	font-size: 11.5px;
	line-height: 1.35;
}

.htl-property-card__meta-item {
	display: inline-flex;
	gap: 5px;
	align-items: center;
	min-height: 27px;
	padding: 5px 8px;
	border: 1px solid rgba(77, 58, 120, .10);
	border-radius: 7px;
	background: #faf9fc;
}

.htl-property-card__meta-item--tag,
.htl-property-card__meta-item--status {
	border-color: rgba(143, 151, 66, .17);
	background: #f5f6ec;
	color: var(--htl-olive-dark);
	font-weight: 700;
}

.htl-property-card__meta-icon {
	display: inline-flex !important;
	flex: 0 0 18px;
	align-items: center;
	justify-content: center;
	width: 18px !important;
	height: 18px !important;
	color: var(--htl-olive-dark) !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.htl-property-card__meta-icon > .htl-icon,
.htl-property-card__meta-icon svg {
	display: block !important;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	min-height: 17px !important;
	overflow: visible !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Actions */
.htl-property-card__actions {
	width: 100% !important;
	margin-top: auto !important;
}

.htl-property-card__actions .button,
.htl-property-card__marketing-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 52px;
	padding: 11px 16px;
	border: 0 !important;
	border-radius: 9px;
	background: var(--htl-purple) !important;
	color: #fff !important;
	font-family: Inter, Arial, sans-serif;
	font-size: 13px !important;
	font-weight: 800;
	letter-spacing: .01em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		background-color .2s ease;
}

.htl-property-card__actions .button::after,
.htl-property-card__marketing-button::after {
	content: none !important;
}

/* Marketing and featured variants */
.htl-property-card--marketing {
	border-color: rgba(143, 151, 66, .35) !important;
}

.htl-property-card__promo-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 3;
	padding: 8px 11px;
	border-radius: 999px;
	background: var(--htl-olive);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.htl-property-card.featured:not(.htl-property-card--marketing) .htl-property-card__image::after {
	content: "Featured";
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--htl-olive-dark);
	font-family: Inter, Arial, sans-serif;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	box-shadow: 0 7px 18px rgba(41, 31, 66, .12);
}

/* Property Hive compatibility */
body:not(.single-property) .propertyhive ul.properties > li.htl-property-card,
body.htl-property-search-results ul.properties > li.htl-property-card {
	display: flex !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body:not(.single-property) .propertyhive li.htl-property-card > :empty,
body:not(.single-property) .propertyhive li.htl-property-card > a:first-child:empty {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Fine-pointer interactions */
@media (hover: hover) and (pointer: fine) {
	.htl-property-card {
		transition:
			transform .24s ease,
			box-shadow .24s ease,
			border-color .24s ease;
	}

	.htl-property-card:hover {
		transform: translateY(-4px);
		border-color: rgba(77, 58, 120, .22) !important;
		box-shadow: 0 22px 46px rgba(41, 31, 66, .13);
	}

	.htl-property-card:hover .htl-property-card__image img {
		transform: scale(1.025);
	}

	.htl-property-card__actions .button:hover,
.htl-property-card__marketing-button:hover {
		transform: translateY(-2px);
		background: var(--htl-purple-dark) !important;
		box-shadow: 0 10px 22px rgba(41, 31, 66, .16);
	}
}

/* Tablet */
@media (max-width: 1000px) {
	.htl-property-card__meta {
		min-height: 0;
	}
}

/* Mobile */
@media (max-width: 700px) {
	.htl-property-card__content,
.htl-property-card .details.htl-property-card__content {
		padding: 18px !important;
	}

	.htl-property-card__title {
		min-height: 0;
		font-size: 21px;
	}

	.htl-property-card__summary,
.htl-property-card__meta {
		min-height: 0;
		max-height: none;
	}

	.htl-property-card__summary {
		font-size: 13px;
	}

	.htl-property-card__actions .button,
.htl-property-card__marketing-button {
		min-height: 50px;
	}
}


/* ==============================================================
   04A — GENERATED-ROUTE AND SEARCH COMPATIBILITY
   Historical route, header, grid and plugin-normalisation rules.

   Important:
   - This is not the authoritative toolbar implementation.
   - Section 04B later in the file owns the final results shell and toolbar.
   - Retain these rules unless testing proves the compatibility layer obsolete.
   ============================================================== */

body.htl-property-search-results .property-search {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(145px, 1fr)) minmax(135px, 165px);
	gap: 18px;
	align-items: end;
	visibility: visible !important;
	opacity: 1 !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	margin: 0 0 34px !important;
	padding: 26px !important;
	border: 1px solid var(--htl-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--htl-shadow);
}


body.htl-property-search-results ul.properties,
body.htl-property-search-results .properties {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.htl-property-search-results ul.properties::before,
body.htl-property-search-results ul.properties::after {
	display: none !important;
}

body.htl-property-search-results ul.properties > li {
	float: none !important;
	width: auto !important;
	clear: none !important;
}

body.htl-property-search-results .site-header-wrap {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(77, 58, 120, .08);
}

body.admin-bar.htl-property-search-results .site-header-wrap,
body.admin-bar.htl-property-search-results .site-main-header-wrap {
	top: 32px;
}

body.single-property a:focus-visible,
body.htl-property-search-results a:focus-visible,
body.single-property button:focus-visible,
body.htl-property-search-results button:focus-visible,
body.htl-property-search-results select:focus-visible,
body.htl-property-search-results input:focus-visible {
	outline: 3px solid rgba(143, 151, 66, .75);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	body.single-property *,
body.htl-property-search-results * {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

@media (max-width: 1000px) {


	body.htl-property-search-results ul.properties,
body.htl-property-search-results .properties {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	body.admin-bar.htl-property-search-results .site-header-wrap,
body.admin-bar.htl-property-search-results .site-main-header-wrap {
		top: 46px;
	}
}

@media (max-width: 700px) {


	body.htl-property-search-results ul.properties,
body.htl-property-search-results .properties {
		grid-template-columns: 1fr;
		gap: 18px;
	}


}

body.htl-property-search-results .site-header-wrap,
body.htl-property-search-results .site-header {
	position: relative !important;
	top: auto !important;
	width: 100% !important;
	background: #fff !important;
}

body.htl-property-search-results .site-header-row-container-inner {
	background: #fff !important;
}

body.htl-property-search-results .main-navigation a,
body.htl-property-search-results .primary-menu-container > ul > li > a,
body.htl-property-search-results .site-header-item a:not(.button) {
	color: var(--htl-purple) !important;
}

body.htl-property-search-results .site-header-item .button,
body.htl-property-search-results .header-button,
body.single-property .header-button {
	color: #fff !important;
}


body.htl-property-search-results #page,
body.htl-property-search-results .site,
body.htl-property-search-results .site-content,
body.htl-property-search-results .content-wrap {
	overflow: visible !important;
}


body.single-property #page,
body.single-property .site,
body.single-property .site-content,
body.single-property .content-wrap,
body.single-property .content-area,
body.single-property #primary,
body.single-property .site-main {
	overflow: visible !important;
}


body.single-property .htl-single-property,
body.htl-property-search-results {
	font-family: Inter, Arial, sans-serif;
}

body.single-property .htl-single-property h1,
body.single-property .htl-single-property h2,
body.single-property .htl-single-property h3 {
	font-family: "Cormorant Garamond", Georgia, serif;
}


.htl-icon {
	display: block !important;
	width: 1em !important;
	height: 1em !important;
	overflow: visible !important;
	fill: none !important;
	stroke: currentColor !important;
	opacity: 1 !important;
	visibility: visible !important;
}


/*
 * Early overflow guard retained for compatibility.
 * The later overflow-x: hidden declaration is the final authoritative value.
 */
html,
body {
	max-width: 100%;
	overflow-x: clip;
}


@media (min-width: 1025px) {
	body.htl-property-search-results .site-header .site-container,
body.htl-property-search-results .site-header .site-header-row-layout-contained,
body.htl-property-search-results .site-header-row-container-inner {
		width: min(calc(100% - 48px), 1440px) !important;
		max-width: 1440px !important;
		margin-inline: auto !important;
	}

	body.htl-property-search-results .site-header-row-container-inner {
		min-height: 90px !important;
	}

}

body.htl-property-search-results .site-header .custom-logo,
body.htl-property-search-results .site-header .site-logo-img img {
	max-width: 190px !important;
	height: auto !important;
}

body.htl-property-search-results .main-navigation .primary-menu-container > ul > li > a {
	min-height: 90px;
	display: flex;
	align-items: center;
	padding-inline: 14px;
}

@media (max-width: 1024px) {
	body.htl-property-search-results .site-header-row-container-inner {
		min-height: 76px !important;
	}

	body.htl-property-search-results .main-navigation .primary-menu-container > ul > li > a {
		min-height: 76px;
	}
}


body.single-property #page,
body.single-property .site,
body.single-property .site-content,
body.single-property .content-wrap,
body.single-property .content-area,
body.single-property #primary,
body.single-property .site-main,
body.htl-property-search-results #page,
body.htl-property-search-results .site,
body.htl-property-search-results .site-content,
body.htl-property-search-results .content-wrap {
	max-width: none !important;
}

/* Final production overflow policy. */
html,
body {
	overflow-x: hidden;
}

body.single-property .site-content,
body.single-property .content-wrap,
body.single-property .content-area,
body.single-property #primary,
body.single-property .site-main,
body.single-property .htl-single-property {
	overflow: visible !important;
}


body.htl-property-search-results .property-search {
	gap: 16px !important;
	margin-bottom: 30px !important;
	padding: 24px !important;
	border-radius: 20px;
}


body.single-property .site-content,
body.htl-property-search-results .site-content {
	padding-bottom: 0 !important;
}


body.single-property .htl-icon,
body.htl-property-search-results .htl-icon {
	display: block;
	width: 1em;
	height: 1em;
	min-width: 1em;
	min-height: 1em;
	overflow: visible;
	color: currentColor;
	stroke: currentColor;
}


.htl-property-final-cta h2,
.htl-section-heading h2 {
	text-wrap: balance;
}


.htl-property-availability {
	border-color: color-mix(in srgb, var(--htl-olive, #8F9742) 34%, transparent);
	background: color-mix(in srgb, var(--htl-olive, #8F9742) 13%, white);
	color: var(--htl-olive-dark, #71782D);
}


/*
PROPERTY SEARCH HERO INTEGRATION — AUTHORITATIVE

Owns:
- Hero background, overlay, title and introductory copy presentation.
- Search-form overlap immediately below the hero.

Depends on:
- functions.php resolving the Properties-page image.
- property-search.js creating .htl-search-hero markup.

Does not own:
- Search controls (Section 02B).
- Results toolbar and page shell (Section 04B).
*/
body.htl-property-search-results .htl-search-hero {
	position: relative;
	display: grid;
	align-items: end;
	min-height: clamp(280px, 34vw, 430px);
	margin: -46px calc(50% - 50vw) 0;
	padding: clamp(52px, 7vw, 92px) max(24px, calc((100vw - 1200px) / 2));
	overflow: hidden;
	background:
		linear-gradient(90deg, rgba(35, 27, 53, .82) 0%, rgba(54, 38, 83, .58) 50%, rgba(54, 38, 83, .28) 100%),
		var(--htl-search-hero-image, linear-gradient(135deg, var(--htl-purple-dark), var(--htl-purple)));
	background-position: center;
	background-size: cover;
	color: #fff;
}

body.htl-property-search-results .htl-search-hero__inner {
	width: min(100%, 1200px);
	margin-inline: auto;
}

body.htl-property-search-results .htl-search-hero .htl-search-hero__title {
	max-width: 760px;
	margin: 0 0 14px !important;
	color: #fff !important;
	font-size: clamp(48px, 5vw, 72px) !important;
	text-shadow: 0 3px 18px rgba(0, 0, 0, .18);
}

body.htl-property-search-results .htl-search-hero .htl-search-hero__intro {
	max-width: 680px;
	margin: 0 !important;
}

body.htl-property-search-results .htl-search-hero .htl-search-hero__intro p {
	color: rgba(255, 255, 255, .92);
	font-size: clamp(16px, 1.4vw, 20px);
	text-shadow: 0 2px 12px rgba(0, 0, 0, .16);
}

body.htl-property-search-results .htl-search-hero + .property-search-form,
body.htl-property-search-results .htl-search-hero + form.property-search-form,
body.htl-property-search-results .htl-search-hero + .propertyhive-search-form,
body.htl-property-search-results .htl-search-hero + form.propertyhive-search-form,
body.htl-property-search-results .htl-search-hero + form.search-properties {
	z-index: 8 !important;
	margin-top: -34px !important;
	margin-bottom: 38px !important;
}

@media (max-width: 1000px) {
	body.htl-property-search-results .htl-search-hero {
		margin-top: -46px;
		padding-inline: 18px;
	}
}

@media (max-width: 700px) {
	body.htl-property-search-results .htl-search-hero {
		min-height: 260px;
		margin: -28px calc(50% - 50vw) 0;
		padding: 54px 20px 60px;
	}

	body.htl-property-search-results .htl-search-hero .htl-search-hero__title {
		font-size: 42px !important;
	}

	body.htl-property-search-results .htl-search-hero + .property-search-form,
	body.htl-property-search-results .htl-search-hero + form.property-search-form,
	body.htl-property-search-results .htl-search-hero + .propertyhive-search-form,
	body.htl-property-search-results .htl-search-hero + form.propertyhive-search-form,
	body.htl-property-search-results .htl-search-hero + form.search-properties {
		margin-top: -24px !important;
		margin-bottom: 30px !important;
	}
}


/* ==============================================================
   04B — PROPERTY SEARCH RESULTS SHELL AND TOOLBAR
   Authoritative Pass 6 implementation.

   Ownership:
   - Property Hive supplies results, count, ordering and pagination markup.
   - Pass 2 owns the search form itself.
   - Pass 3 owns the property cards.
   - This section owns the results-page shell and toolbar.
   - The dedicated hero integration block immediately above owns hero presentation.
   ============================================================== */

body.htl-property-search-results {
	background: var(--htl-cream);
}

body.htl-property-search-results .site-main,
body.htl-property-search-results #primary,
body.htl-property-search-results .content-area {
	box-sizing: border-box !important;
	width: min(calc(100% - 48px), 1200px) !important;
	max-width: 1200px !important;
	margin-inline: auto !important;
	padding: 46px 0 104px !important;
	overflow: visible !important;
}

body.htl-property-search-results h1,
body.htl-property-search-results .page-title,
body.htl-property-search-results .archive-title,
body.htl-property-search-results .htl-search-hero__title {
	max-width: 820px;
	margin: 12px 0 28px !important;
	color: #2d2932 !important;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-size: clamp(42px, 3.5vw, 58px) !important;
	font-weight: 700 !important;
	letter-spacing: -.025em !important;
	line-height: 1.06 !important;
	text-wrap: balance;
}

body.htl-property-search-results .htl-search-hero__intro {
	max-width: 720px;
	margin: 0 0 28px !important;
}

body.htl-property-search-results .htl-search-hero__intro p {
	margin: 0;
	color: #655f69;
	font-family: Inter, Arial, sans-serif;
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.65;
}

body.htl-property-search-results .htl-results-toolbar {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-end !important;
	justify-content: space-between !important;
	gap: 24px !important;
	width: 100% !important;
	margin: 0 0 24px !important;
	padding: 0 2px !important;
}

body.htl-property-search-results .htl-results-toolbar__count {
	order: 1 !important;
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	gap: 2px !important;
	margin: 0 !important;
	color: #726c76;
	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.35;
}

body.htl-property-search-results .htl-results-toolbar__count strong {
	color: #302c35 !important;
	font-size: 17px !important;
	font-weight: 750 !important;
}

body.htl-property-search-results .htl-results-toolbar__count span {
	color: #726c76 !important;
	font-size: 12px !important;
}

body.htl-property-search-results .htl-results-toolbar__sort,
body.htl-property-search-results .htl-results-toolbar__sort form,
body.htl-property-search-results form.propertyhive-ordering,
body.htl-property-search-results .propertyhive-ordering {
	order: 2 !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
}

body.htl-property-search-results .htl-results-toolbar__sort select,
body.htl-property-search-results .propertyhive-ordering select,
body.htl-property-search-results select.orderby {
	min-width: 190px;
	min-height: 44px !important;
	padding: 0 38px 0 13px !important;
	border: 1px solid rgba(77, 58, 120, .18) !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	color: #4d4752 !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

body.htl-property-search-results .propertyhive-result-count,
body.htl-property-search-results .propertyhive-results-count,
body.htl-property-search-results .results-count,
body.htl-property-search-results .property-count {
	color: #4b4550 !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

@media (max-width: 1000px) {
	body.htl-property-search-results .site-main,
body.htl-property-search-results #primary,
body.htl-property-search-results .content-area {
		width: min(calc(100% - 36px), 1200px) !important;
	}
}

@media (max-width: 700px) {
	body.htl-property-search-results .site-main,
body.htl-property-search-results #primary,
body.htl-property-search-results .content-area {
		width: min(calc(100% - 28px), 1200px) !important;
		padding: 28px 0 72px !important;
	}

	body.htl-property-search-results h1,
body.htl-property-search-results .page-title,
body.htl-property-search-results .archive-title,
body.htl-property-search-results .htl-search-hero__title {
		margin-top: 0 !important;
		font-size: 38px !important;
	}

	body.htl-property-search-results .htl-search-hero__intro {
		margin-bottom: 22px !important;
	}

	body.htl-property-search-results .htl-results-toolbar {
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 12px !important;
	}

	body.htl-property-search-results .htl-results-toolbar__sort,
body.htl-property-search-results .htl-results-toolbar__sort form,
body.htl-property-search-results .htl-results-toolbar__sort select,
body.htl-property-search-results form.propertyhive-ordering,
body.htl-property-search-results .propertyhive-ordering,
body.htl-property-search-results .propertyhive-ordering select,
body.htl-property-search-results select.orderby {
		width: 100% !important;
		min-width: 0 !important;
	}
}


/* ==============================================================
   06 — PROPERTY HIVE COMPATIBILITY
   Resets required to neutralise plugin floats, widths and image rules.
   ============================================================== */

body:not(.single-property) .propertyhive ul.properties {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 38px !important;
	padding: 0 !important;
	list-style: none !important;
}

body:not(.single-property) .propertyhive ul.properties::before,
body:not(.single-property) .propertyhive ul.properties::after {
	display: none !important;
	content: none !important;
}


/* ==============================================================
   06A — ARCHIVE GRID AND RESPONSIVE BREAKPOINTS

   Ownership:
   - Section 06 owns the base Property Hive archive grid.
   - This subsection owns only archive-grid responsive states and spacing.
   - Pagination is owned exclusively by Section 07B.
   ============================================================== */


@media (max-width: 1000px) {
	body:not(.single-property) .propertyhive ul.properties {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}


}

@media (max-width: 700px) {
	body:not(.single-property) .propertyhive ul.properties {
		grid-template-columns: 1fr !important;
		gap: 18px !important;
	}


}


@media (min-width: 1001px) {
	body.htl-property-search-results ul.properties,
body.htl-property-search-results .properties {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}
}


body:not(.single-property):not(.htl-property-search-results) .propertyhive ul.properties {
	margin-bottom: 46px !important;
}


/* ==============================================================
   10A — SHARED FOOTER INTERNAL SPACING

   Ownership:
   - Kadence retains footer structure and desktop column layout.
   - This subsection owns only shared widget, heading and row spacing.
   - Section 09 remains the protected mobile footer.
   - Section 10 owns desktop outer-container width.
   ============================================================== */

.site-footer .widget {
	margin-bottom: 0;
}

.site-footer .widget-title {
	margin-bottom: 16px;
}

.site-footer .widget_nav_menu li + li,
.site-footer .menu li + li,
.site-footer .wp-block-navigation-item + .wp-block-navigation-item {
	margin-top: 7px;
}

.site-footer p + p {
	margin-top: 8px;
}

.site-footer .site-footer-section:first-child {
	padding-right: 10px;
}

.site-bottom-footer-wrap {
	min-height: 38px !important;
}


/* ==============================================================
   04C — GENERIC ARCHIVE CONTROL FALLBACKS

   Ownership:
   - Section 04B owns the enhanced search-results toolbar.
   - These rules provide generic Property Hive count and ordering fallbacks
     for non-single archive routes where enhanced toolbar markup is absent.
   ============================================================== */

body.htl-property-search-results select,
body.htl-property-search-results input,
body.htl-property-search-results button {
	font-family: Inter, Arial, sans-serif;
}


body:not(.single-property) .propertyhive-result-count,
body:not(.single-property) .propertyhive-results-count,
body:not(.single-property) .results-count,
body:not(.single-property) .property-count {
	color: #4b4550 !important;
	font-family: Inter, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

body:not(.single-property) .propertyhive-ordering,
body:not(.single-property) .propertyhive-ordering select,
body:not(.single-property) .orderby {
	font-family: Inter, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
}

body:not(.single-property) form.propertyhive-ordering,
body:not(.single-property) .propertyhive-ordering {
	margin-bottom: 16px !important;
}

body:not(.single-property) .propertyhive-ordering select,
body:not(.single-property) select.orderby {
	min-height: 42px !important;
	padding: 0 38px 0 12px !important;
	border: 1px solid rgba(77, 58, 120, .22) !important;
	border-radius: 7px !important;
	background-color: #fff !important;
	color: #3c3640 !important;
}


/* ==============================================================
   02F — FINAL SINGLE-PROPERTY ROUTE RESETS

   Ownership:
   - These two resets neutralise inherited Kadence top padding.
   - They intentionally remain late in source order for compatibility.
   - They do not own component presentation.
   ============================================================== */

body.single-property .htl-single-property {
	padding-top: 0 !important;
}


body.single-property .site-content {
	padding-top: 0 !important;
}


/* ==============================================================
   07A — RELATED PROPERTY CARDS
   Authoritative Pass 7 implementation.

   Ownership:
   - content-single-property.php supplies the related-property markup.
   - These rules control only cards shown beneath single properties.
   - Archive cards remain owned by Section 03.
   ============================================================== */

body.single-property .htl-related-properties {
	margin: 76px 0 26px;
}

body.single-property .htl-related-properties__heading {
	display: flex;
	gap: 20px;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 24px;
}

body.single-property .htl-related-properties__heading > a {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
}

body.single-property .htl-related-properties__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}

body.single-property .htl-related-property {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--htl-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(41, 31, 66, .07);
	transition:
		transform .24s ease,
		box-shadow .24s ease,
		border-color .24s ease;
}

body.single-property .htl-related-property__image {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #ecebe6;
}

body.single-property .htl-related-property__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

body.single-property .htl-related-property__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 21px 22px 22px;
}

body.single-property .htl-related-property__price {
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 17px;
	font-weight: 800;
}

body.single-property .htl-related-property h3 {
	display: -webkit-box;
	overflow: hidden;
	min-height: 72px;
	margin: 8px 0 12px;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 24px;
	line-height: 1.06;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.single-property .htl-related-property h3 a {
	color: #302c35;
	text-decoration: none;
}

body.single-property .htl-related-property__summary {
	display: -webkit-box;
	overflow: hidden;
	min-height: 60px;
	max-height: 60px;
	margin: 0 0 14px;
	color: #68626d;
	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

body.single-property .htl-related-property__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	margin-bottom: 15px;
	color: #706b74;
	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
}

body.single-property .htl-related-property__meta span {
	display: inline-flex;
	gap: 6px;
	align-items: center;
}

body.single-property .htl-related-property__link {
	display: inline-flex;
	gap: 8px;
	align-items: center;
	margin-top: auto;
	padding-top: 2px;
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
	body.single-property .htl-related-property:hover {
		transform: translateY(-4px);
		border-color: rgba(77, 58, 120, .22);
		box-shadow: 0 22px 46px rgba(41, 31, 66, .13);
	}

	body.single-property .htl-related-property:hover .htl-related-property__image img {
		transform: scale(1.035);
	}
}

@media (max-width: 1024px) {
	body.single-property .htl-related-properties {
		margin-top: 64px;
	}

	body.single-property .htl-related-properties__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	body.single-property .htl-related-properties {
		margin-top: 52px;
		margin-bottom: 18px;
	}

	body.single-property .htl-related-properties__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	body.single-property .htl-related-properties__grid {
		grid-template-columns: 1fr;
	}

	body.single-property .htl-related-property h3 {
		min-height: 0;
		-webkit-line-clamp: 3;
	}

	body.single-property .htl-related-property__summary {
		min-height: 0;
		max-height: none;
	}
}

/* ==============================================================
   07B — PAGINATION
   Authoritative Pass 7 implementation.

   Ownership:
   - Property Hive supplies pagination markup and URLs.
   - These rules control spacing, interaction states and accessibility.
   ============================================================== */

body:not(.single-property) .propertyhive-pagination,
body:not(.single-property) .propertyhive .pagination {
	float: none !important;
	clear: both !important;
	margin: 24px 0 42px !important;
	text-align: center;
}

body:not(.single-property) .propertyhive-pagination ul,
body:not(.single-property) .propertyhive .pagination ul {
	display: inline-flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body:not(.single-property) .propertyhive-pagination a,
body:not(.single-property) .propertyhive-pagination span,
body:not(.single-property) .propertyhive .pagination a,
body:not(.single-property) .propertyhive .pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid #dfddd6;
	border-radius: 8px;
	background: #fff;
	color: var(--htl-purple);
	font-family: Inter, Arial, sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition:
		background-color .2s ease,
		border-color .2s ease,
		color .2s ease,
		transform .2s ease,
		box-shadow .2s ease;
}

body:not(.single-property) .propertyhive-pagination .current,
body:not(.single-property) .propertyhive .pagination .current {
	border-color: var(--htl-purple) !important;
	background: var(--htl-purple) !important;
	color: #fff !important;
	box-shadow: 0 7px 16px rgba(54, 38, 83, .18);
}

body:not(.single-property) .propertyhive-pagination a:focus-visible,
body:not(.single-property) .propertyhive .pagination a:focus-visible {
	border-color: var(--htl-purple) !important;
	outline: 3px solid rgba(77, 58, 120, .22) !important;
	outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
	body:not(.single-property) .propertyhive-pagination a:hover,
body:not(.single-property) .propertyhive .pagination a:hover {
		transform: translateY(-2px);
		border-color: var(--htl-purple) !important;
		background: var(--htl-purple) !important;
		color: #fff !important;
		box-shadow: 0 7px 16px rgba(54, 38, 83, .12);
	}
}

@media (pointer: coarse) {
	body:not(.single-property) .propertyhive-pagination a,
body:not(.single-property) .propertyhive-pagination span,
body:not(.single-property) .propertyhive .pagination a,
body:not(.single-property) .propertyhive .pagination span {
		min-height: 44px;
	}
}


/* ==============================================================
   08 — PROPERTY WANTED PRESENTATION
   Single authoritative owner for the Property Wanted route.

   Ownership:
   - content-single-property.php supplies Property Wanted markup.
   - This section owns hero, gallery, proof, process, CTA spacing and breakpoints.
   - Section 02 contains only shared single-property foundations.
   - Section 05 contains rental-only corrections.
   ============================================================== */

/* Hero shell */
body.htl-single-marketing .htl-marketing-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.28fr) minmax(360px, .72fr);
	align-items: stretch;
	min-height: 0 !important;
	margin: 0 auto;
	overflow: hidden;
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--htl-shadow);
}

/* Gallery */
body.htl-single-marketing .htl-marketing-hero__gallery {
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	min-width: 0;
	min-height: 0 !important;
	margin: 0;
	padding: 0 !important;
	border-radius: 0;
	background: #fff !important;
	box-shadow: none;
}

body.htl-single-marketing .htl-marketing-hero__gallery #carousel {
	display: none;
}

body.htl-single-marketing .htl-marketing-hero__gallery #slider,
body.htl-single-marketing .htl-marketing-hero__gallery #slider .flex-viewport,
body.htl-single-marketing .htl-marketing-hero__gallery #slider ul.slides,
body.htl-single-marketing .htl-marketing-hero__gallery #slider ul.slides > li {
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.htl-single-marketing .htl-marketing-hero__gallery #slider ul.slides > li {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #fff !important;
}

body.htl-single-marketing .htl-marketing-hero__gallery #slider ul.slides > li img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	aspect-ratio: 16 / 10;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #fff !important;
}

/* Hero content */
body.htl-single-marketing .htl-marketing-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(34px, 4vw, 56px);
}

body.htl-single-marketing .htl-marketing-hero__content > span {
	display: block;
	margin-bottom: 7px;
	color: var(--htl-olive-dark);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.htl-single-marketing .htl-marketing-hero h1 {
	max-width: 520px;
	margin: 0;
	color: #28242e;
	font-family: Inter, Arial, sans-serif !important;
	font-size: clamp(38px, 3.1vw, 52px) !important;
	font-weight: 500 !important;
	letter-spacing: -.04em !important;
	line-height: 1.02 !important;
	text-wrap: balance;
}

body.htl-single-marketing .htl-marketing-hero__content p {
	max-width: 520px;
	margin: 22px 0 26px;
	color: #5d5862;
	font-size: 16px;
	line-height: 1.68;
}

body.htl-single-marketing .htl-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Proof and process */
body.htl-single-marketing .htl-marketing-proof,
body.htl-single-marketing .htl-marketing-process {
	margin-top: 30px;
	padding: clamp(32px, 4vw, 50px);
	border: 1px solid var(--htl-border);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 14px 38px rgba(41,31,66,.07);
}

body.htl-single-marketing .htl-marketing-proof__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 18px;
	margin-top: 30px;
}

body.htl-single-marketing .htl-marketing-proof__grid article {
	padding: 24px;
	border-radius: 16px;
	background: #f8f8f3;
}

body.htl-single-marketing .htl-marketing-proof__grid article > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	border-radius: 12px;
	background: rgba(143,151,66,.14);
	color: var(--htl-olive-dark);
	font-size: 21px;
}

body.htl-single-marketing .htl-marketing-proof__grid h3,
body.htl-single-marketing .htl-marketing-process__grid h3 {
	margin: 0 0 8px;
	color: #302c35;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-size: 25px;
	line-height: 1.08;
}

body.htl-single-marketing .htl-marketing-proof__grid p,
body.htl-single-marketing .htl-marketing-process__grid p {
	margin: 0;
	color: #635e67;
	font-size: 14px;
	line-height: 1.65;
}

body.htl-single-marketing .htl-marketing-process__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 14px;
	margin: 30px 0 0;
	padding: 0;
	list-style: none;
}

body.htl-single-marketing .htl-marketing-process__grid li {
	padding: 22px;
	border: 1px solid var(--htl-border);
	border-radius: 15px;
	background: #fff;
}

body.htl-single-marketing .htl-marketing-process__grid b {
	display: block;
	margin-bottom: 18px;
	color: var(--htl-olive);
	font-size: 12px;
	letter-spacing: .12em;
}

body.htl-single-marketing .htl-marketing-final-cta {
	margin-top: 30px;
}

@media (max-width: 1100px) {
	body.htl-single-marketing .htl-marketing-hero {
		grid-template-columns: minmax(0, 1.12fr) minmax(330px, .88fr);
	}

	body.htl-single-marketing .htl-marketing-hero h1 {
		font-size: clamp(36px, 4vw, 48px) !important;
	}

	body.htl-single-marketing .htl-marketing-process__grid {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}

@media (max-width: 900px) {
	body.htl-single-marketing .htl-marketing-hero {
		grid-template-columns: 1fr;
	}

	body.htl-single-marketing .htl-marketing-hero__gallery #slider ul.slides > li img {
		height: auto !important;
		aspect-ratio: auto;
	}

	body.htl-single-marketing .htl-marketing-hero__content {
		padding: 38px 32px 42px;
	}

	body.htl-single-marketing .htl-marketing-hero h1,
	body.htl-single-marketing .htl-marketing-hero__content p {
		max-width: 680px;
	}

	body.htl-single-marketing .htl-marketing-proof__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	body.htl-single-marketing .htl-inline-actions {
		flex-direction: column;
		width: 100%;
	}
}

@media (max-width: 640px) {
	body.htl-single-marketing .htl-marketing-hero {
		border-radius: 16px;
	}

	body.htl-single-marketing .htl-marketing-hero__content {
		padding: 30px 22px 34px;
	}

	body.htl-single-marketing .htl-marketing-hero h1 {
		font-size: clamp(34px, 10vw, 43px) !important;
	}

	body.htl-single-marketing .htl-marketing-hero .htl-inline-actions {
		display: grid;
		width: 100%;
	}

	body.htl-single-marketing .htl-marketing-process__grid {
		grid-template-columns: 1fr;
	}
}

/* ==============================================================
   05 — FINAL RENTAL-SPECIFIC CORRECTIONS
   Minimal rental-only adjustments that intentionally win over shared rules.

   Ownership:
   - Section 02A remains the primary rental-header owner.
   - Property Wanted presentation is fully owned by Section 08.
   ============================================================== */

body.htl-single-rental .htl-property-hero-copy__price {
	align-self: start !important;
	margin-top: 10px !important;
}

/* ==============================================================
   09 — MOBILE FOOTER
   Consolidated authoritative Kadence footer contract.

   Ownership:
   - mobile-footer.js creates the approved Home-To-Let helper classes.
   - This section owns all footer presentation below 768px.
   - Exact selector groups were consolidated from the approved 4.5.3 cascade.
   - The 380px block contains only genuine narrow-phone exceptions.
   - Desktop footer width remains owned by Section 10.
   ============================================================== */

@media (max-width: 767px) {

	.site-footer,
	.site-footer-wrap,
	.site-middle-footer-wrap,
	.site-middle-footer-inner-wrap,
	.site-bottom-footer-wrap,
	.site-bottom-footer-inner-wrap,
	.site-footer-row,
	.site-footer-row-container-inner,
	.site-footer .site-footer-section,
	.site-footer .footer-widget-area,
	.site-footer .widget
	{
		min-height: 0 !important;
		height: auto !important;
	}

	.site-footer .site-middle-footer-wrap
	{
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	.site-footer .htl-mobile-footer-brand .kt-inside-inner-col,
	.site-footer .htl-mobile-footer-brand .footer-widget-area,
	.site-footer .htl-mobile-footer-brand .widget
	{
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-links-column,
	.site-footer .htl-mobile-footer-hours-column,
	.site-footer .htl-mobile-footer-links-column .kt-inside-inner-col,
	.site-footer .htl-mobile-footer-hours-column .kt-inside-inner-col
	{
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-quicklinks-source
	{
		display: none !important;
	}

	.site-footer .htl-mobile-footer-hours-column .kt-row-column-wrap
	{
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 8px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column .wp-block-kadence-column,
	.site-footer .htl-mobile-footer-hours-column .kt-inside-inner-col
	{
		min-height: 0 !important;
		height: auto !important;
	}

	.site-footer .htl-mobile-footer-hours-column .kt-inside-inner-col
	{
		display: grid !important;
		grid-template-columns: 24px minmax(0, 1fr) !important;
		align-items: center !important;
		column-gap: 7px !important;
		text-align: left !important;
	}

	.site-footer .htl-mobile-footer-hours-column p,
	.site-footer .htl-mobile-footer-hours-column strong,
	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-text
	{
		grid-column: 2 !important;
		margin: 0 !important;
		padding: 0 !important;
		font-family: Inter, Arial, sans-serif !important;
		text-align: left !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-item-wrap:last-child
	{
		border-bottom: 0 !important;
		padding-bottom: 2px !important;
	}

	.site-footer,
	.site-footer-wrap,
	.site-footer-row-container-inner,
	.site-footer-row,
	.site-middle-footer-wrap,
	.site-middle-footer-inner-wrap,
	.site-bottom-footer-wrap,
	.site-bottom-footer-inner-wrap,
	.site-footer .site-footer-section,
	.site-footer .footer-widget-area,
	.site-footer .widget,
	.site-footer .kt-row-column-wrap,
	.site-footer .wp-block-kadence-column,
	.site-footer .kt-inside-inner-col
	{
		min-height: 0 !important;
		height: auto !important;
	}

	.site-footer .site-middle-footer-wrap,
	.site-footer .site-middle-footer-inner-wrap
	{
		margin: 0 !important;
		padding: 0 !important;
		gap: 0 !important;
	}

	.site-footer .site-middle-footer-inner-wrap
	{
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		margin: 0 auto !important;
		padding: 0 !important;
		gap: 0 !important;
		width: min(calc(100% - 24px), 376px) !important;
		max-width: 376px !important;
	}

	.site-footer .site-middle-footer-inner-wrap > .site-footer-section
	{
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
		text-align: center !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-quicklinks-grid
	{
		display: grid !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
		column-gap: 12px !important;
	}

	.site-footer .htl-mobile-quicklinks-column
	{
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		min-width: 0 !important;
		gap: 4px !important;
	}

	.site-footer .htl-mobile-quicklinks-column a
	{
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		color: var(--htl-grey) !important;
		font-family: Inter, Arial, sans-serif !important;
		font-weight: 500 !important;
		text-align: left !important;
		text-decoration: none !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
		font-size: 10.5px !important;
		line-height: 1.18 !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-hours-original
	{
		display: none !important;
	}

	.site-footer .htl-mobile-footer-why h2::after,
	.site-footer .htl-mobile-footer-why h3::after,
	.site-footer .htl-mobile-footer-why h4::after,
	.site-footer .htl-mobile-footer-why h5::after,
	.site-footer .htl-mobile-footer-why h6::after,
	.site-footer .htl-mobile-footer-why .widget-title::after,
	.site-footer .htl-mobile-footer-why .wp-block-heading::after
	{
		content: "" !important;
		display: block !important;
		width: 28px !important;
		height: 2px !important;
		margin: 8px auto 0 !important;
		background: var(--htl-olive) !important;
		margin-top: 5px !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-single,
	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-single svg
	{
		color: var(--htl-olive) !important;
		width: 14px !important;
		height: 14px !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-text
	{
		font-family: Inter, Arial, sans-serif !important;
		font-weight: 500 !important;
		text-align: left !important;
		font-size: 10.5px !important;
		line-height: 1.18 !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-item-wrap:last-child,
	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-items,
	.site-footer .htl-mobile-footer-why .kt-inside-inner-col,
	.site-footer .htl-mobile-footer-why .footer-widget-area,
	.site-footer .htl-mobile-footer-why .widget
	{
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.site-footer .site-bottom-footer-wrap
	{
		display: flex !important;
		align-items: center !important;
		width: 100% !important;
		background: var(--htl-purple) !important;
		min-height: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .site-bottom-footer-inner-wrap,
	.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner,
	.site-footer .site-bottom-footer-wrap .site-footer-row,
	.site-footer .site-bottom-footer-wrap .site-footer-section,
	.site-footer .site-bottom-footer-wrap .footer-widget-area,
	.site-footer .site-bottom-footer-wrap .widget
	{
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border: 0 !important;
		width: 100% !important;
		min-height: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .site-middle-footer-inner-wrap > .site-footer-section + .site-footer-section
	{
		border-top: 1px solid rgba(77, 58, 120, .10) !important;
	}

	.site-footer .htl-mobile-footer-brand img,
	.site-footer .htl-mobile-footer-brand .custom-logo,
	.site-footer .htl-mobile-footer-brand .site-logo-img img
	{
		display: block !important;
		width: auto !important;
		max-width: 220px !important;
		max-height: 108px !important;
		margin: 0 auto 5px !important;
		margin-bottom: 7px !important;
	}

	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-single,
	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-single svg
	{
		color: var(--htl-purple) !important;
		width: 17px !important;
		height: 17px !important;
	}

	.site-footer .htl-mobile-footer-brand,
	.site-footer .htl-mobile-footer-brand .kt-inside-inner-col,
	.site-footer .htl-mobile-footer-brand .footer-widget-area,
	.site-footer .htl-mobile-footer-brand .widget
	{
		min-height: 0 !important;
		height: auto !important;
		margin-bottom: 0 !important;
	}

	.site-footer .htl-mobile-footer-links-hours-row h2,
	.site-footer .htl-mobile-footer-links-hours-row h3,
	.site-footer .htl-mobile-footer-links-hours-row h4,
	.site-footer .htl-mobile-footer-links-hours-row h5,
	.site-footer .htl-mobile-footer-links-hours-row h6,
	.site-footer .htl-mobile-footer-links-hours-row .widget-title,
	.site-footer .htl-mobile-footer-links-hours-row .wp-block-heading
	{
		padding: 0 !important;
		color: var(--htl-purple) !important;
		font-family: Inter, Arial, sans-serif !important;
		font-weight: 750 !important;
		text-align: left !important;
		margin: 0 0 7px !important;
		font-size: 14px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		margin-bottom: 6px !important;
	}

	.site-footer .htl-mobile-footer-hours-column > h2,
	.site-footer .htl-mobile-footer-hours-column > h3,
	.site-footer .htl-mobile-footer-hours-column > h4,
	.site-footer .htl-mobile-footer-hours-column > h5,
	.site-footer .htl-mobile-footer-hours-column > h6,
	.site-footer .htl-mobile-footer-hours-column > .widget-title,
	.site-footer .htl-mobile-footer-hours-column > .wp-block-heading
	{
		display: block !important;
		width: 100% !important;
		text-align: left !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-hours-list
	{
		display: flex !important;
		flex-direction: column !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 8px !important;
	}

	.site-footer .htl-mobile-hours-row
	{
		display: grid !important;
		margin: 0 !important;
		padding: 0 !important;
		grid-template-columns: 22px minmax(0, 1fr) !important;
		column-gap: 7px !important;
		align-items: center !important;
	}

	.site-footer .htl-mobile-hours-icon,
	.site-footer .htl-mobile-hours-icon svg
	{
		color: var(--htl-olive) !important;
		width: 22px !important;
		height: 22px !important;
	}

	.site-footer .htl-mobile-hours-copy
	{
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 1px !important;
		min-width: 0 !important;
		justify-content: center !important;
	}

	.site-footer .htl-mobile-hours-copy strong
	{
		white-space: nowrap !important;
		font-size: 10.8px !important;
		line-height: 1.1 !important;
	}

	.site-footer .htl-mobile-hours-copy > span
	{
		white-space: nowrap !important;
		font-size: 9px !important;
		line-height: 1.15 !important;
	}

	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child .footer-widget-area,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child .widget,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child .kt-row-column-wrap,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child .wp-block-kadence-column,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section:last-child .kt-inside-inner-col
	{
		flex: 0 0 auto !important;
		min-height: 0 !important;
		height: auto !important;
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	.site-footer .site-middle-footer-inner-wrap,
	.site-footer .site-middle-footer-inner-wrap > .site-footer-section
	{
		align-content: start !important;
		align-items: start !important;
		justify-content: start !important;
	}

	.site-footer .site-bottom-footer-wrap,
	.site-footer .site-bottom-footer-inner-wrap,
	.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner,
	.site-footer .site-bottom-footer-wrap .site-footer-row,
	.site-footer .site-bottom-footer-wrap .site-footer-section,
	.site-footer .site-bottom-footer-wrap .footer-widget-area,
	.site-footer .site-bottom-footer-wrap .widget
	{
		min-height: 40px !important;
		height: 40px !important;
	}

	.site-footer .site-bottom-footer-wrap p,
	.site-footer .site-bottom-footer-wrap a,
	.site-footer .site-bottom-footer-wrap .site-info-inner
	{
		color: #fff !important;
		font-family: Inter, Arial, sans-serif !important;
		text-align: center !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 8px !important;
		line-height: 1 !important;
		overflow: visible !important;
		font-size: 9px !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column
	{
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > p,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > strong,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kt-svg-icon-list-text
	{
		grid-column: 2 !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-footer-hours-column .wp-block-kadence-icon,
	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-items,
	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-item-wrap
	{
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		margin: 0 !important;
		padding: 0 !important;
		position: static !important;
		inset: auto !important;
		transform: none !important;
	}

	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-single,
	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-single svg,
	.site-footer .htl-mobile-footer-hours-column .kb-svg-icon-wrap,
	.site-footer .htl-mobile-footer-hours-column .kb-svg-icon-wrap svg
	{
		display: block !important;
		margin: 0 !important;
		color: var(--htl-olive) !important;
		width: 18px !important;
		height: 18px !important;
	}

	.site-footer .htl-mobile-footer-hours-column strong
	{
		white-space: nowrap !important;
		grid-row: 1 !important;
		display: block !important;
		font-weight: 750 !important;
		font-size: 10.5px !important;
		line-height: 1.08 !important;
		margin: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column p,
	.site-footer .htl-mobile-footer-hours-column .kt-svg-icon-list-text
	{
		white-space: nowrap !important;
		grid-row: 2 !important;
		display: block !important;
		font-size: 8.8px !important;
		line-height: 1.08 !important;
		margin: 1px 0 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column p:first-child,
	.site-footer .htl-mobile-footer-hours-column p:last-child
	{
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.site-footer .htl-mobile-footer-brand
	{
		padding-top: 20px !important;
		padding: 8px 0 9px !important;
		padding-bottom: 4px !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > h2,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > h3,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > h4,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > h5,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > h6,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .widget-title,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .wp-block-heading
	{
		display: block !important;
		width: 100% !important;
		font-size: 14px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		margin: 0 0 7px !important;
		padding: 0 !important;
		text-align: left !important;
		margin-bottom: 5px !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap
	{
		display: grid !important;
		grid-template-columns: 1fr !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		gap: 5px !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col
	{
		display: grid !important;
		width: 100% !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		grid-template-columns: 18px minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		row-gap: 0 !important;
		align-items: center !important;
		column-gap: 5px !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-icon,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kt-svg-icon-list-items,
	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .kt-svg-icon-list-item-wrap
	{
		margin: 0 !important;
		padding: 0 !important;
		width: 18px !important;
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		justify-self: start !important;
		align-self: start !important;
		padding-top: 2px !important;
	}

	.site-footer .htl-mobile-footer-links-hours-row
	{
		width: 100% !important;
		display: grid !important;
		align-items: start !important;
		margin: 0 !important;
		padding: 9px 0 10px !important;
		grid-template-columns: minmax(0, 1fr) 132px !important;
		column-gap: 10px !important;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}

	.site-footer .htl-mobile-footer-why
	{
		margin: 0 !important;
		padding: 8px 0 6px !important;
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}

	.site-footer .htl-mobile-footer-why,
	.site-footer .htl-mobile-footer-why .footer-widget-area,
	.site-footer .htl-mobile-footer-why .widget,
	.site-footer .htl-mobile-footer-why .kt-row-column-wrap,
	.site-footer .htl-mobile-footer-why .wp-block-kadence-column,
	.site-footer .htl-mobile-footer-why .kt-inside-inner-col
	{
		align-items: stretch !important;
		justify-content: flex-start !important;
		text-align: center !important;
	}

	.site-footer .htl-mobile-footer-why h2,
	.site-footer .htl-mobile-footer-why h3,
	.site-footer .htl-mobile-footer-why h4,
	.site-footer .htl-mobile-footer-why h5,
	.site-footer .htl-mobile-footer-why h6,
	.site-footer .htl-mobile-footer-why .widget-title,
	.site-footer .htl-mobile-footer-why .wp-block-heading
	{
		color: var(--htl-purple) !important;
		font-family: Inter, Arial, sans-serif !important;
		font-weight: 750 !important;
		margin: 0 0 8px !important;
		font-size: 15px !important;
		line-height: 1.12 !important;
		white-space: nowrap !important;
		margin-bottom: 6px !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center !important;
	}

	.site-footer .htl-mobile-footer-hours-column
	{
		display: block !important;
		width: 142px !important;
		min-width: 142px !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
	}

	.site-footer .htl-mobile-footer-hours-column > .kt-inside-inner-col
	{
		min-width: 0 !important;
		text-align: left !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column h2,
	.site-footer .htl-mobile-footer-hours-column h3,
	.site-footer .htl-mobile-footer-hours-column h4,
	.site-footer .htl-mobile-footer-hours-column h5,
	.site-footer .htl-mobile-footer-hours-column h6,
	.site-footer .htl-mobile-footer-hours-column .widget-title,
	.site-footer .htl-mobile-footer-hours-column .wp-block-heading
	{
		display: block !important;
		width: 100% !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
		text-align: left !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-original
	{
		display: none !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-list
	{
		display: flex !important;
		flex-direction: column !important;
		gap: 13px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-row
	{
		display: grid !important;
		grid-template-columns: 29px minmax(0, 1fr) !important;
		align-items: center !important;
		column-gap: 9px !important;
		width: 100% !important;
		min-height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-icon
	{
		transform: none !important;
		display: grid !important;
		place-items: center !important;
		width: 29px !important;
		height: 29px !important;
		margin: 0 !important;
		padding: 0 !important;
		align-self: center !important;
		color: var(--htl-olive) !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-icon svg
	{
		display: block !important;
		width: 29px !important;
		height: 29px !important;
		margin: 0 !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.9 !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-icon--weekend
	{
		color: var(--htl-purple) !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-copy
	{
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		gap: 3px !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-copy strong
	{
		display: block !important;
		margin: 0 !important;
		color: #2f2935 !important;
		font-family: Inter, Arial, sans-serif !important;
		font-size: 11.5px !important;
		font-weight: 750 !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-footer-hours-column .htl-mobile-hours-copy > span
	{
		display: block !important;
		margin: 0 !important;
		color: #4f4953 !important;
		font-family: Inter, Arial, sans-serif !important;
		font-size: 9.8px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-items
	{
		display: inline-flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 !important;
		gap: 6px !important;
	}

	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-item-wrap
	{
		display: grid !important;
		align-items: center !important;
		justify-content: start !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		grid-template-columns: 18px auto !important;
		column-gap: 8px !important;
		min-height: 20px !important;
		line-height: 1.3 !important;
	}

	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-text,
	.site-footer .htl-mobile-footer-brand .kt-svg-icon-list-item-wrap a
	{
		font-weight: 700 !important;
		white-space: nowrap !important;
		font-size: 12px !important;
		line-height: 1.3 !important;
	}

	.site-footer .htl-mobile-footer-why > .kt-inside-inner-col,
	.site-footer .htl-mobile-footer-why .footer-widget-area,
	.site-footer .htl-mobile-footer-why .widget
	{
		width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-items
	{
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
		width: min(100%, 308px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.site-footer .htl-mobile-footer-why .kt-svg-icon-list-item-wrap
	{
		display: grid !important;
		align-items: center !important;
		margin: 0 !important;
		border-bottom: 1px solid rgba(77, 58, 120, .08) !important;
		grid-template-columns: 14px minmax(0, 1fr) !important;
		column-gap: 7px !important;
		min-height: 0 !important;
		padding: 3px 0 !important;
		width: 100% !important;
		text-align: left !important;
	}
}

@media (max-width: 380px) {

	.site-footer .site-middle-footer-inner-wrap
	{
		width: calc(100% - 24px) !important;
	}

	.site-footer .htl-mobile-footer-links-hours-row
	{
		grid-template-columns: minmax(0, 1.22fr) minmax(112px, .78fr) !important;
		column-gap: 12px !important;
	}

	.site-footer .htl-mobile-quicklinks-grid
	{
		column-gap: 9px !important;
	}
}

/* ==============================================================
   10 — DESKTOP FOOTER WIDTH
   Safe Pass 4 implementation.

   Important:
   - Kadence retains ownership of the footer's row and column layout.
   - This block changes only the width of the outer desktop footer containers.
   - It does not convert footer rows or nested Kadence blocks to grid/flex.
   - The protected mobile footer below 768px is unaffected.
   ============================================================== */

@media (min-width: 768px) {
	.site-footer .site-middle-footer-inner-wrap,
	.site-footer .site-bottom-footer-inner-wrap {
		box-sizing: border-box !important;
		width: min(calc(100% - 64px), 1440px) !important;
		max-width: 1440px !important;
		margin-inline: auto !important;
	}

	.site-footer .site-footer-section,
	.site-footer .footer-widget-area,
	.site-footer .widget {
		min-width: 0 !important;
	}

	.site-footer .site-middle-footer-wrap {
		width: 100% !important;
	}

	.site-footer .site-bottom-footer-wrap {
		width: 100% !important;
	}
}

/* ==============================================================
   11 — ACCESSIBILITY AND RESPONSIVE SAFEGUARDS
   Authoritative Pass 5 implementation.

   Purpose:
   - Improve keyboard visibility and touch usability.
   - Prevent accidental horizontal overflow.
   - Preserve readable wrapping at narrow widths.
   - Respect reduced-motion preferences.
   - Avoid changing the approved visual design.
   ============================================================== */

/* Keep responsive media inside its owning component. */
.htl-single-property img,
.htl-property-card img,
.htl-related-property img,
.site-footer img {
	max-width: 100%;
}

/* Prevent long addresses, references and links from creating overflow. */
.htl-property-card__title,
.htl-property-card__summary,
.htl-related-property h3,
.htl-related-property__summary,
.htl-single-property__title,
.htl-property-reference,
.htl-enquiry-card__property strong,
.site-footer a,
.site-footer p {
	overflow-wrap: anywhere;
}

/* Consistent keyboard focus without affecting pointer interactions. */
.htl-property-card a:focus-visible,
.htl-property-card button:focus-visible,
.htl-single-property a:focus-visible,
.htl-single-property button:focus-visible,
.htl-single-property input:focus-visible,
.htl-single-property select:focus-visible,
.htl-property-search-results a:focus-visible,
.htl-property-search-results button:focus-visible,
.htl-property-search-results input:focus-visible,
.htl-property-search-results select:focus-visible,
.site-footer a:focus-visible {
	outline: 3px solid rgba(143, 151, 66, .78) !important;
	outline-offset: 3px;
}

/* Maintain usable controls on touch devices. */
@media (pointer: coarse) {
	.htl-property-card__actions .button,
	.htl-property-card__marketing-button,
	.htl-button,
	.propertyhive-pagination a,
	.propertyhive-pagination span,
	.propertyhive .pagination a,
	.propertyhive .pagination span {
		min-height: 44px;
	}
}

/* Narrow-screen protection for property layouts. */
@media (max-width: 700px) {
	.htl-property-card,
	.htl-related-property,
	body.single-property .htl-single-property__section,
	body.single-property .htl-enquiry-card,
	body.single-property .htl-property-final-cta,
	body.htl-properties-landing .property-search-form,
	body.htl-property-search-results .property-search-form {
		max-width: 100%;
	}

	body.single-property .htl-property-location__map iframe {
		width: 100% !important;
	}

	body.single-property .htl-property-hero-copy,
	body.single-property .htl-property-final-cta,
	body.single-property .htl-property-information-note {
		min-width: 0;
	}
}

/* Respect users who request less animation. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto !important;
	}

	.htl-property-card,
	.htl-property-card *,
	.htl-related-property,
	.htl-related-property *,
	.htl-button,
	.propertyhive-pagination a,
	.propertyhive .pagination a {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Windows high-contrast and forced-colour support. */
@media (forced-colors: active) {
	.htl-property-card,
	.htl-related-property,
	body.single-property .htl-single-property__section,
	body.single-property .htl-enquiry-card,
	body.single-property .htl-property-final-cta,
	.property-search-form {
		border: 1px solid CanvasText !important;
	}

	.htl-property-card__actions .button,
	.htl-property-card__marketing-button,
	.htl-button,
	.propertyhive-pagination .current,
	.propertyhive .pagination .current {
		border: 1px solid ButtonText !important;
	}
}

