/**
 * RGE modern electrician styling — maps to Kadence --global-palette* where possible.
 * Palette hints: palette1 accent, palette3 dark, palette8 warm grey, palette9 white sections.
 */

:root {
	--global-content-edge-padding: 1.25rem;
	--rge-accent: var(--global-palette1, #f5b800);
	--rge-accent-dark: #d99a00;
	--rge-brand-blue: var(--global-palette2, #004aad);
	--rge-brand-blue-dark: #003580;
	--rge-ink: var(--global-palette3, #272624);
	--rge-muted: var(--global-palette5, #5c5a57);
	--rge-surface: var(--global-palette8, #f6f5f4);
	--rge-card-bg: var(--global-palette9, #ffffff);
	--rge-radius: 0.5rem;
	--rge-radius-lg: 0.75rem;
	--rge-shadow-sm: 0 2px 8px rgba(39, 38, 36, 0.06);
	--rge-shadow-md: 0 8px 24px rgba(39, 38, 36, 0.1);
	--rge-shadow-hover: 0 14px 32px rgba(39, 38, 36, 0.14);
	--rge-font-display: "Outfit", "Roboto", Arial, sans-serif;
	--rge-font-body: "DM Sans", "Roboto", Arial, sans-serif;
	--rge-transition: 0.22s ease;
}

/* ——— Base typography & fluid type scale ——— */
:root {
	--rge-h1: clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem);
	--rge-h2: clamp(1.2rem, 1.05rem + 0.75vw, 1.65rem);
	--rge-h3: clamp(1.05rem, 0.98rem + 0.4vw, 1.25rem);
	--rge-h4: clamp(0.95rem, 0.9rem + 0.25vw, 1.1rem);
	--rge-text-base: clamp(0.875rem, 0.84rem + 0.2vw, 0.9375rem);
	--rge-text-sm: clamp(0.75rem, 0.72rem + 0.15vw, 0.8125rem);
}

body {
	font-family: var(--rge-font-body);
	background: var(--rge-card-bg, #ffffff);
	color: var(--rge-ink);
	line-height: 1.55;
	font-size: var(--rge-text-base);
}

@media (max-width: 767px) {
	body {
		font-size: 0.875rem;
		line-height: 1.5;
	}
}

h1,
h2,
h3,
h4,
.wp-block-kadence-advancedheading,
.kt-blocks-info-box-title,
.wp-block-heading {
	font-family: var(--rge-font-display);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--rge-ink);
}

/* Device-Friendly Sitewide Heading Hierarchy */
#main h1,
.site-main h1,
.entry-content h1,
.entry-content h1.wp-block-kadence-advancedheading,
.wp-block-kadence-advancedheading[data-kb-block].wp-block-kadence-advancedheading:is(h1),
.wp-block-kadence-advancedheading[data-kb-block]:is(h1) {
	font-size: var(--rge-h1) !important;
	line-height: 1.2 !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
}

#main h2,
.site-main h2,
.entry-content h2,
.entry-content h2.wp-block-kadence-advancedheading,
.wp-block-kadence-advancedheading[data-kb-block].wp-block-kadence-advancedheading:is(h2),
.wp-block-kadence-advancedheading[data-kb-block]:is(h2) {
	font-size: var(--rge-h2) !important;
	line-height: 1.25 !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
}

#main h3,
.site-main h3,
.entry-content h3,
.entry-content h3.wp-block-kadence-advancedheading,
.wp-block-kadence-advancedheading[data-kb-block].wp-block-kadence-advancedheading:is(h3),
.wp-block-kadence-advancedheading[data-kb-block]:is(h3),
.kt-blocks-info-box-title {
	font-size: var(--rge-h3) !important;
	line-height: 1.3 !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
}

#main h4,
#main h5,
#main h6,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-content h4.wp-block-kadence-advancedheading,
.wp-block-kadence-advancedheading[data-kb-block]:is(h4, h5, h6) {
	font-size: var(--rge-h4) !important;
	line-height: 1.35 !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
}

.entry-content p,
#main p,
.wp-block-paragraph,
.wp-block-accordion-panel p,
.wp-block-accordion-panel li,
.has--font-size,
.has-small-font-size {
	font-size: var(--rge-text-base) !important;
	line-height: 1.55 !important;
}

@media (max-width: 767px) {
	.entry-content p,
	#main p,
	.wp-block-paragraph,
	.wp-block-accordion-panel p,
	.wp-block-accordion-panel li,
	.has--font-size,
	.has-small-font-size {
		font-size: 0.875rem !important;
		line-height: 1.5 !important;
	}
}

.entry-content a:not(.kt-blocks-info-box-link-wrap):not(.kb-button):not(.wp-block-button__link) {
	color: var(--rge-brand-blue);
	text-decoration: none;
	transition: color var(--rge-transition);
}

.entry-content a:not(.kt-blocks-info-box-link-wrap):not(.kb-button):not(.wp-block-button__link):hover {
	color: var(--rge-brand-blue-dark);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

/* ——— Header ——— */
#masthead {
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06);
}

#masthead::after {
	content: "";
	display: block;
	height: 3px;
	background: linear-gradient(
		90deg,
		var(--rge-accent) 0%,
		var(--rge-accent) 35%,
		var(--rge-brand-blue) 35%,
		var(--rge-brand-blue) 100%
	);
}

.main-navigation .menu > li > a,
.header-navigation .menu > li > a {
	transition: color var(--rge-transition);
}

.main-navigation .menu > li > a:hover,
.header-navigation .menu > li > a:hover {
	color: var(--rge-accent);
}

/* ——— Kadence buttons ——— */
.kb-button,
.wp-block-kadence-advancedbtn .kb-button,
button:not(.kt-blocks-accordion-header),
input[type="submit"],
.wp-element-button,
.woocommerce a.button {
	font-family: var(--rge-font-display);
	font-weight: 600;
	border-radius: var(--rge-radius);
	padding: 0.65em 1.35em;
	font-size: 1rem;
	background: var(--rge-brand-blue);
	color: #fff;
	border: 2px solid transparent;
	cursor: pointer;
	transition: background var(--rge-transition), transform var(--rge-transition), box-shadow var(--rge-transition);
	box-shadow: var(--rge-shadow-sm);
}

.kb-button:hover,
.wp-block-kadence-advancedbtn .kb-button:hover,
button:not(.kt-blocks-accordion-header):hover,
input[type="submit"]:hover,
.wp-element-button:hover,
.woocommerce a.button:hover {
	background: var(--rge-brand-blue-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: var(--rge-shadow-md);
}

.kb-button.kb-btn-global-outline,
.kb-btn-global-inherit.kb-button {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, 0.85);
	box-shadow: none;
}

.kb-button.kb-btn-global-outline:hover,
.kb-btn-global-inherit.kb-button:hover {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-color: #fff;
}

/* Accent CTA (Call Now) */
.rge-btn-call.kb-button,
.rge-hero .rge-btn-call {
	background: linear-gradient(135deg, var(--rge-accent) 0%, var(--rge-accent-dark) 100%);
	color: var(--rge-ink);
	border-color: transparent;
}

.rge-btn-call.kb-button:hover,
.rge-hero .rge-btn-call:hover {
	background: linear-gradient(135deg, #ffc814 0%, var(--rge-accent) 100%);
	color: var(--rge-ink);
}

/* ——— Hero Above-The-Fold Layout & Height Override ——— */
.rge-hero,
.entry-content > .wp-block-kadence-rowlayout:first-child,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child,
.entry-content-wrap > .wp-block-kadence-rowlayout:first-child {
	min-height: clamp(230px, 34vh, 360px) !important;
	max-height: 380px !important;
	padding-top: clamp(1.25rem, 3vw, 2.5rem) !important;
	padding-bottom: clamp(1.25rem, 3vw, 2.5rem) !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
}

.rge-hero > .kt-row-layout-overlay,
.entry-content > .wp-block-kadence-rowlayout:first-child > .kt-row-layout-overlay,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child > .kt-row-layout-overlay {
	opacity: 0.78 !important;
	background-color: rgba(39, 38, 36, 0.78) !important;
}

.rge-hero > .kt-row-column-wrap,
.entry-content > .wp-block-kadence-rowlayout:first-child > .kt-row-column-wrap,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child > .kt-row-column-wrap {
	align-items: center !important;
	justify-content: center !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: 50rem !important;
}

.rge-hero .kt-inside-inner-col,
.entry-content > .wp-block-kadence-rowlayout:first-child .kt-inside-inner-col,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child .kt-inside-inner-col {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 0 !important;
	margin: 0 auto !important;
	position: relative;
	z-index: 2;
}

/* Hero H1 Title (Overlaying background image, visible above fold) */
.rge-hero h1,
.rge-hero .wp-block-kadence-advancedheading:is(h1),
.entry-content > .wp-block-kadence-rowlayout:first-child h1,
.entry-content > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-advancedheading:is(h1),
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child h1 {
	font-size: clamp(1.45rem, 3.8vw, 2.35rem) !important;
	line-height: 1.2 !important;
	margin-top: 0 !important;
	margin-bottom: 0.4rem !important;
	color: #ffffff !important;
	text-align: center !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6) !important;
	overflow-wrap: break-word !important;
	word-break: break-word !important;
}

/* Hero Subtext / Paragraph (Overlaying background image, visible above fold) */
.rge-hero p,
.rge-hero .wp-block-kadence-advancedheading:is(p),
.entry-content > .wp-block-kadence-rowlayout:first-child p,
.entry-content > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-advancedheading:is(p),
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child p {
	font-size: clamp(0.875rem, 1.15vw, 1.03125rem) !important;
	line-height: 1.45 !important;
	margin-top: 0 !important;
	margin-bottom: 0.85rem !important;
	color: rgba(255, 255, 255, 0.95) !important;
	max-width: 40rem !important;
	text-align: center !important;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5) !important;
}

/* Service areas hub intro — beats hero subtext selectors */
.entry-content > .rge-service-areas-hub > .wp-block-kadence-rowlayout:first-child p.rge-service-areas-intro {
	color: #272624 !important;
	text-shadow: none !important;
	text-align: left !important;
	max-width: none !important;
}

/* Remove decorative spacers inside hero that push text down below fold */
.rge-hero .wp-block-kadence-spacer,
.entry-content > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-spacer,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child .wp-block-kadence-spacer {
	display: none !important;
}

/* Hero Buttons Wrap */
.rge-hero .kb-buttons-wrap,
.entry-content > .wp-block-kadence-rowlayout:first-child .kb-buttons-wrap,
.entry-content > div:not(.rge-service-areas-hub) > .wp-block-kadence-rowlayout:first-child .kb-buttons-wrap {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	margin-top: 0.25rem !important;
	margin-bottom: 0 !important;
	gap: 0.5rem !important;
}

.rge-partner-tagline {
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--rge-accent);
	margin: 0 0 0.5rem;
}

.rge-hero .rge-partner-tagline {
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.rge-hero .wp-block-kadence-advancedheading.has-theme-palette-9-color {
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

/* Trust strip under hero (injected via PHP) */
.rge-trust-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1.5rem;
	padding: 0.85rem 1rem;
	background: var(--rge-ink);
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.875rem;
	font-weight: 500;
	border-bottom: 3px solid var(--rge-accent);
}

.rge-trust-strip span {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.rge-trust-strip strong {
	color: #ffffff;
	font-weight: 700;
}

.rge-hero .kt-row-column-wrap,
.rge-hero .kt-inside-inner-col,
.kb-row-layout-id115_5b7067-a3 .kt-row-column-wrap,
.kb-row-layout-id115_5b7067-a3 .kt-inside-inner-col {
	position: relative;
	z-index: 1;
}

/* ——— Area cards (Location cards) ——— */
.wp-block-kadence-infobox.rge-area-card {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	height: 100% !important;
}

.rge-area-card.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap,
.wp-block-kadence-infobox.rge-area-card a.kt-blocks-info-box-link-wrap,
.wp-block-kadence-infobox a.kt-blocks-info-box-link-wrap[href*="/our-service-areas/"]:not([href*="residential-electrical-services-"]):not([href*="electrical-repairs-maintenance-"]):not([href*="lighting-power-solutions-"]):not([href*="house-rewiring-renovations-"]) {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 100% !important;
	padding: 0 !important;
	background: var(--rge-card-bg, #ffffff) !important;
	border-radius: var(--rge-radius-lg, 0.75rem) !important;
	border: 1px solid rgba(39, 38, 36, 0.1) !important;
	box-shadow: var(--rge-shadow-sm) !important;
	overflow: hidden !important;
	transition: transform var(--rge-transition), box-shadow var(--rge-transition), border-color var(--rge-transition) !important;
	text-decoration: none !important;
	color: inherit !important;
}

.rge-area-card.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap:hover,
.wp-block-kadence-infobox.rge-area-card a.kt-blocks-info-box-link-wrap:hover,
.wp-block-kadence-infobox a.kt-blocks-info-box-link-wrap[href*="/our-service-areas/"]:not([href*="residential-electrical-services-"]):not([href*="electrical-repairs-maintenance-"]):not([href*="lighting-power-solutions-"]):not([href*="house-rewiring-renovations-"]):hover {
	transform: translateY(-4px) !important;
	box-shadow: var(--rge-shadow-hover) !important;
	border-color: var(--rge-brand-blue) !important;
}

.rge-area-card .kt-blocks-info-box-media-container,
.wp-block-kadence-infobox.rge-area-card .kt-blocks-info-box-media-container {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.rge-area-card .kt-blocks-info-box-media,
.wp-block-kadence-infobox.rge-area-card .kt-blocks-info-box-media {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	border: none !important;
	background: transparent !important;
}

.rge-area-card .kadence-info-box-image-inner-intrisic-container,
.rge-area-card .kadence-info-box-image-intrisic,
.rge-area-card .kadence-info-box-image-inner-intrisic,
.wp-block-kadence-infobox.rge-area-card .kadence-info-box-image-inner-intrisic-container,
.wp-block-kadence-infobox.rge-area-card .kadence-info-box-image-intrisic,
.wp-block-kadence-infobox.rge-area-card .kadence-info-box-image-inner-intrisic {
	width: 100% !important;
	max-width: 100% !important;
	height: 0 !important;
	padding-bottom: 56.25% !important;
	position: relative !important;
	border-radius: 0 !important;
	overflow: hidden !important;
}

.rge-area-card img,
.wp-block-kadence-infobox.rge-area-card img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	margin: 0 !important;
	display: block !important;
}

.rge-area-card .kt-infobox-textcontent,
.wp-block-kadence-infobox.rge-area-card .kt-infobox-textcontent {
	flex: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.85rem 0.75rem 1rem !important;
	text-align: center !important;
	width: 100% !important;
	background: var(--rge-card-bg, #ffffff) !important;
	margin: 0 !important;
}

.rge-area-card .kt-blocks-info-box-title,
.wp-block-kadence-infobox.rge-area-card .kt-blocks-info-box-title {
	font-size: 1rem !important;
	font-weight: 700 !important;
	color: var(--rge-ink, #272624) !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.rge-area-card .kt-blocks-info-box-link-wrap::after,
.wp-block-kadence-infobox.rge-area-card .kt-blocks-info-box-link-wrap::after {
	content: none !important;
}

/* ——— Service areas hub (/our-service-areas/) ——— */
.rge-service-areas-hub > .wp-block-kadence-rowlayout:first-child {
	min-height: auto !important;
	max-height: none !important;
	display: block !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
}

.rge-service-areas-hub > .wp-block-kadence-rowlayout:first-child > .kt-row-column-wrap {
	align-items: stretch !important;
	justify-content: flex-start !important;
	max-width: none !important;
}

.rge-service-areas-hub > .wp-block-kadence-rowlayout:first-child .kt-inside-inner-col {
	display: block !important;
	text-align: left !important;
	padding-left: var(--global-content-edge-padding, 1.25rem) !important;
	padding-right: var(--global-content-edge-padding, 1.25rem) !important;
}

.rge-service-areas-hub .rge-service-areas-intro,
.rge-service-areas-hub .wp-block-heading,
.rge-service-areas-hub .wp-block-kadence-advancedheading,
.rge-service-areas-hub p:not(.kt-adv-heading118_79d281-9e) {
	color: var(--rge-ink, #272624) !important;
	text-shadow: none !important;
}

.rge-service-areas-hub .rge-service-area-jump-nav ul,
.rge-service-areas-hub .rge-service-area-suburb-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.rge-service-areas-hub .rge-service-area-jump-nav li,
.rge-service-areas-hub .rge-service-area-suburb-nav li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rge-service-areas-hub .rge-service-area-jump-nav a,
.rge-service-areas-hub .rge-service-area-suburb-nav a {
	display: inline-block;
	padding: 0.35rem 0.85rem;
	border-radius: var(--rge-radius-md, 0.5rem);
	background: var(--rge-card-bg, #fff);
	border: 1px solid rgba(39, 38, 36, 0.12);
	color: var(--rge-ink, #272624);
	font-weight: 600;
	text-decoration: none;
	transition: border-color var(--rge-transition), background var(--rge-transition), color var(--rge-transition);
}

.rge-service-areas-hub .rge-service-area-jump-nav a:hover,
.rge-service-areas-hub .rge-service-area-suburb-nav a:hover,
.rge-service-areas-hub .rge-service-area-jump-nav a:focus-visible,
.rge-service-areas-hub .rge-service-area-suburb-nav a:focus-visible {
	border-color: var(--rge-accent-dark, #d99a00);
	color: var(--rge-accent-dark, #d99a00);
	background: rgba(217, 154, 0, 0.06);
}

.rge-service-areas-hub .rge-service-area-sitemap {
	margin-top: 0.5rem;
}

.rge-service-areas-hub .rge-service-area-sitemap > ul {
	columns: 2;
	column-gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.rge-service-areas-hub .rge-service-area-sitemap > ul > li {
	break-inside: avoid;
	margin-bottom: 1rem;
}

.rge-service-areas-hub .rge-service-area-sitemap a {
	font-weight: 600;
	color: var(--rge-ink, #272624);
	text-decoration: none;
}

.rge-service-areas-hub .rge-service-area-sitemap a:hover {
	color: var(--rge-accent-dark, #d99a00);
	text-decoration: underline;
}

.rge-service-areas-hub .rge-service-area-sitemap ul ul {
	list-style: disc;
	margin: 0.35rem 0 0 1.25rem;
	padding: 0;
}

.rge-service-areas-hub .rge-service-area-sitemap ul ul a {
	font-weight: 400;
	color: inherit;
}

.rge-service-areas-hub .rge-service-area-region + .rge-service-area-region {
	border-top: 1px solid rgba(39, 38, 36, 0.08);
}

@media (min-width: 783px) {
	.rge-service-areas-grid > .kt-row-column-wrap {
		display: grid !important;
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 1.25rem;
	}

	.rge-service-areas-grid > .kt-row-column-wrap > .wp-block-kadence-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
	}
}

@media (max-width: 782px) {
	.rge-service-areas-hub .rge-service-area-sitemap > ul {
		columns: 1;
	}

	/* Region/suburb pill nav: single horizontal row, stay inside content gutters */
	.rge-service-areas-hub .rge-service-area-jump-nav ul,
	.rge-service-areas-hub .rge-service-area-suburb-nav ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
		gap: 0.65rem;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 0.35rem;
	}

	.rge-service-areas-hub .rge-service-area-jump-nav ul::-webkit-scrollbar,
	.rge-service-areas-hub .rge-service-area-suburb-nav ul::-webkit-scrollbar {
		display: none;
	}

	.rge-service-areas-hub .rge-service-area-jump-nav li,
	.rge-service-areas-hub .rge-service-area-suburb-nav li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}
}

/* ——— Service cards ——— */
.wp-block-kadence-infobox.rge-service-card,
.rge-service-cards .wp-block-kadence-infobox {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	height: 100% !important;
}

.rge-service-card.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap,
.wp-block-kadence-infobox.rge-service-card a.kt-blocks-info-box-link-wrap,
.rge-service-cards .kt-blocks-info-box-link-wrap,
.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-link-wrap,
.kb-row-layout-id193_440418-ec .kt-blocks-info-box-link-wrap {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 100% !important;
	padding: 0 !important;
	background: var(--rge-card-bg, #ffffff) !important;
	border-radius: var(--rge-radius-lg, 0.75rem) !important;
	border: 1px solid rgba(39, 38, 36, 0.1) !important;
	border-top: 4px solid var(--rge-accent) !important;
	box-shadow: var(--rge-shadow-sm) !important;
	overflow: hidden !important;
	transition: transform var(--rge-transition), box-shadow var(--rge-transition), border-color var(--rge-transition) !important;
	text-decoration: none !important;
	color: inherit !important;
}

.rge-service-card.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap:hover,
.wp-block-kadence-infobox.rge-service-card a.kt-blocks-info-box-link-wrap:hover,
.rge-service-cards .kt-blocks-info-box-link-wrap:hover,
.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-link-wrap:hover,
.kb-row-layout-id193_440418-ec .kt-blocks-info-box-link-wrap:hover {
	transform: translateY(-4px) !important;
	box-shadow: var(--rge-shadow-hover) !important;
	border-top-color: var(--rge-brand-blue) !important;
}

.rge-service-card .kt-blocks-info-box-media-container,
.wp-block-kadence-infobox.rge-service-card .kt-blocks-info-box-media-container,
.rge-service-cards .kt-blocks-info-box-media-container {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

.rge-service-card .kt-blocks-info-box-media,
.wp-block-kadence-infobox.rge-service-card .kt-blocks-info-box-media,
.rge-service-cards .kt-blocks-info-box-media {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	border: none !important;
	background: transparent !important;
}

.rge-service-card .kadence-info-box-image-inner-intrisic-container,
.rge-service-card .kadence-info-box-image-intrisic,
.rge-service-card .kadence-info-box-image-inner-intrisic,
.wp-block-kadence-infobox.rge-service-card .kadence-info-box-image-inner-intrisic-container,
.wp-block-kadence-infobox.rge-service-card .kadence-info-box-image-intrisic,
.wp-block-kadence-infobox.rge-service-card .kadence-info-box-image-inner-intrisic,
.rge-service-cards .kadence-info-box-image-inner-intrisic-container,
.rge-service-cards .kadence-info-box-image-intrisic,
.rge-service-cards .kadence-info-box-image-inner-intrisic {
	width: 100% !important;
	max-width: 100% !important;
	height: 0 !important;
	padding-bottom: 56.25% !important;
	position: relative !important;
	border-radius: 0 !important;
	overflow: hidden !important;
}

.rge-service-card img,
.wp-block-kadence-infobox.rge-service-card img,
.rge-service-cards img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	margin: 0 !important;
	display: block !important;
}

.rge-service-card .kt-infobox-textcontent,
.wp-block-kadence-infobox.rge-service-card .kt-infobox-textcontent,
.rge-service-cards .kt-infobox-textcontent {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0.85rem 0.75rem 1rem !important;
	text-align: center !important;
	width: 100% !important;
	background: var(--rge-card-bg, #ffffff) !important;
	margin: 0 !important;
}

.rge-service-card .kt-blocks-info-box-title,
.wp-block-kadence-infobox.rge-service-card .kt-blocks-info-box-title,
.rge-service-cards .kt-blocks-info-box-title,
.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-title,
.kb-row-layout-id193_440418-ec .kt-blocks-info-box-title {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	color: var(--rge-ink, #272624) !important;
	margin: 0 !important;
	padding: 0 0.25rem !important;
	text-align: center !important;
	transition: color var(--rge-transition) !important;
}

.rge-service-card.wp-block-kadence-infobox .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title,
.rge-service-cards .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title,
.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title,
.kb-row-layout-id193_440418-ec .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-title {
	color: var(--rge-brand-blue) !important;
}

.rge-service-card .kt-blocks-info-box-link-wrap::after,
.wp-block-kadence-infobox.rge-service-card .kt-blocks-info-box-link-wrap::after,
.rge-service-cards .kt-blocks-info-box-link-wrap::after,
.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-link-wrap::after,
.kb-row-layout-id193_440418-ec .kt-blocks-info-box-link-wrap::after {
	content: none !important;
	display: none !important;
}

/* Homepage trust band — bg must render on mobile (not LiteSpeed-deferred) */
@media (max-width: 767px) {
	.kb-row-layout-id115_908efc-ff {
		background-size: cover !important;
		background-position: center center !important;
		min-height: clamp(280px, 70vw, 420px);
	}

	.kb-row-layout-id115_908efc-ff > .kt-row-column-wrap {
		background-color: transparent !important;
	}

	.kb-row-layout-id115_908efc-ff > .kt-row-layout-overlay {
		opacity: 0 !important;
		background: none !important;
	}

	.kb-row-layout-id115_908efc-ff .kadence-column115_45cb5c-8f {
		display: none !important;
	}
}

/* ——— Partner cards (descriptive text; no service-card CTA pseudo) ——— */
.rge-partner-cards .kt-blocks-info-box-link-wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--rge-card-bg);
	border-radius: var(--rge-radius-lg);
	border: 1px solid rgba(39, 38, 36, 0.08);
	border-top: 4px solid var(--rge-accent);
	box-shadow: var(--rge-shadow-sm);
	overflow: hidden;
	transition: transform var(--rge-transition), box-shadow var(--rge-transition), border-color var(--rge-transition);
	color: inherit;
	text-decoration: none;
}

.rge-partner-cards .kt-blocks-info-box-media-container,
.rge-partner-cards .kadence-info-box-image-inner-intrisic-container,
.rge-partner-cards .kb-info-box-image-ratio,
.rge-partner-cards .kadence-info-box-image-inner-intrisic {
	border-radius: 1rem;
	overflow: hidden;
}

.rge-partner-cards .kt-info-box-image {
	border-radius: 1rem;
}

.rge-partner-cards .kt-blocks-info-box-link-wrap:hover {
	transform: translateY(-4px);
	box-shadow: var(--rge-shadow-hover);
	border-top-color: var(--rge-brand-blue);
}

.rge-partner-cards .kt-blocks-info-box-title {
	color: var(--rge-ink);
	font-size: 1.05rem;
	padding: 0 0 0.35rem;
}

.rge-partner-cards .kt-blocks-info-box-text {
	line-height: 1.55;
	margin: 0;
	padding: 0 0 0.25rem;
}

.rge-partner-cards .kt-infobox-textcontent {
	padding-top: 0.75rem;
}

/* Partner product showcase (LGP spotlight) */
.rge-partner-products .kt-blocks-info-box-link-wrap {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--rge-card-bg);
	border-radius: var(--rge-radius-lg);
	border: 1px solid rgba(39, 38, 36, 0.08);
	overflow: hidden;
	transition: transform var(--rge-transition), box-shadow var(--rge-transition);
	color: inherit;
	text-decoration: none;
}

.rge-partner-products .kt-blocks-info-box-media-container,
.rge-partner-products .kadence-info-box-image-inner-intrisic-container,
.rge-partner-products .kb-info-box-image-ratio,
.rge-partner-products .kadence-info-box-image-inner-intrisic,
.rge-partner-products .kt-info-box-image,
.rge-partner-products img {
	border-radius: 0.75rem !important;
	overflow: hidden !important;
}

.rge-partner-products .kt-blocks-info-box-link-wrap:hover {
	transform: translateY(-4px);
	box-shadow: var(--rge-shadow-hover);
}

.rge-partner-products .kt-blocks-info-box-title {
	color: var(--rge-ink);
	font-size: 1.05rem;
	padding: 0 0 0.35rem;
}

.rge-partner-products .kt-blocks-info-box-text {
	line-height: 1.5;
	margin: 0;
}

.rge-partner-products .kt-infobox-textcontent {
	padding: 0.75rem 0.25rem 0.25rem;
}

/* Partner CTA section styling */
.rge-partner-cta .kt-adv-heading1464_cta01h,
.rge-partner-cta h2,
.rge-partner-cta p {
	color: var(--rge-ink) !important;
}

.rge-partner-cta .kb-button,
.rge-partner-cta .wp-block-kadence-singlebtn a,
.rge-partner-cta a.kb-button {
	background-color: var(--rge-brand-blue) !important;
	color: #ffffff !important;
	border: 2px solid var(--rge-brand-blue) !important;
	font-weight: 600 !important;
	box-shadow: var(--rge-shadow-sm) !important;
	opacity: 1 !important;
	transition: background-color var(--rge-transition), color var(--rge-transition), border-color var(--rge-transition), box-shadow var(--rge-transition) !important;
}

.rge-partner-cta .kb-button span.kt-btn-inner-text,
.rge-partner-cta .wp-block-kadence-singlebtn a span.kt-btn-inner-text,
.rge-partner-cta a.kb-button span.kt-btn-inner-text {
	border: none !important;
	background: transparent !important;
	color: inherit !important;
}

.rge-partner-cta .kb-button:hover,
.rge-partner-cta .wp-block-kadence-singlebtn a:hover,
.rge-partner-cta a.kb-button:hover {
	background-color: transparent !important;
	color: var(--rge-accent-dark, #d99a00) !important;
	border-color: var(--rge-accent-dark, #d99a00) !important;
	box-shadow: none !important;
}

.rge-partner-cta .kb-button:hover span.kt-btn-inner-text,
.rge-partner-cta .wp-block-kadence-singlebtn a:hover span.kt-btn-inner-text,
.rge-partner-cta a.kb-button:hover span.kt-btn-inner-text {
	color: var(--rge-accent-dark, #d99a00) !important;
	border: none !important;
}

.rge-partner-cards .kt-blocks-info-box-link-wrap::after {
	content: none;
	display: none;
}

/* Legacy row IDs (fallback if className not synced yet) */
.kb-row-layout-id115_78229a-28 a.kt-blocks-info-box-link-wrap,
.kb-row-layout-id193_440418-ec a.kt-blocks-info-box-link-wrap {
	color: inherit;
	text-decoration: none;
}

/* ——— Section headings accent ——— */
.entry-content .kt-divider {
	border: none;
	height: 4px;
	background: linear-gradient(90deg, var(--rge-accent) 0%, var(--rge-brand-blue) 100%);
	border-radius: 2px;
	opacity: 1;
}

/* ——— Accordion (service + service-area pages; exclude from global button styles above) ——— */
button.kt-blocks-accordion-header {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: none;
	font-family: var(--rge-font-display);
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	padding: 15px 20px 15px 0;
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--global-palette7, rgba(39, 38, 36, 0.12));
	background: rgba(251, 246, 246, 0.01);
	color: var(--global-palette3, var(--rge-ink));
	box-shadow: none;
	transform: none;
	transition: background var(--rge-transition), color var(--rge-transition);
}

button.kt-blocks-accordion-header:hover,
button.kt-blocks-accordion-header.kt-accordion-panel-active {
	background: rgba(255, 255, 255, 0);
	color: var(--global-palette3, var(--rge-ink));
	box-shadow: none;
	transform: none;
}

button.kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-title {
	color: var(--rge-accent-dark, #d99a00);
}

.entry-content button.kt-blocks-accordion-header .kt-blocks-accordion-title a {
	color: var(--global-palette1, var(--rge-accent));
	text-decoration: none;
}

.entry-content button.kt-blocks-accordion-header .kt-blocks-accordion-title a:hover {
	text-decoration: underline;
}

.kt-accordion-panel.kt-accordion-panel-hidden:not(.kt-accordion-panel-active) {
	display: none;
}

/* ——— Core block accordion (commercial / CoC pages) ——— */
.entry-content .wp-block-accordion-heading__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0 0 0.5rem;
	padding: 0.75rem 1rem;
	font-family: var(--rge-font-display);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.3;
	text-align: left;
	background: transparent !important;
	border: 2px solid var(--rge-accent-dark, #d99a00) !important;
	border-radius: 4px;
	color: var(--rge-accent-dark, #d99a00) !important;
	box-shadow: none !important;
	transform: none;
	transition: border-color var(--rge-transition), color var(--rge-transition);
}

.entry-content .wp-block-accordion-heading__toggle:hover,
.entry-content .wp-block-accordion-heading__toggle[aria-expanded="true"] {
	background: transparent !important;
	border-color: var(--rge-accent-dark, #d99a00) !important;
	color: var(--rge-accent-dark, #d99a00) !important;
}

.entry-content .wp-block-accordion-heading__toggle:focus,
.entry-content .wp-block-accordion-heading__toggle:focus-visible {
	outline: 2px solid var(--rge-accent-dark, #d99a00);
	outline-offset: 2px;
}

.rge-hero .wp-block-accordion-heading__toggle,
.rge-commercial-silo-hero .wp-block-accordion-heading__toggle {
	border-color: #ffffff !important;
	color: #ffffff !important;
}

.rge-hero .wp-block-accordion-heading__toggle:hover,
.rge-hero .wp-block-accordion-heading__toggle[aria-expanded="true"],
.rge-commercial-silo-hero .wp-block-accordion-heading__toggle:hover,
.rge-commercial-silo-hero .wp-block-accordion-heading__toggle[aria-expanded="true"] {
	border-color: #ffffff !important;
	color: #ffffff !important;
}

/* ——— FAQ block (homepage + location hubs) ——— */
.rge-faq-accordion {
	margin-top: 2.5rem;
	margin-bottom: 2rem;
}

.rge-faq-accordion__title {
	font-size: 2rem;
	margin-bottom: 1.25rem;
}

.rge-faq-accordion .kt-accordion-idrge_seo_faq .kt-accordion-panel-inner {
	padding: 0.75rem 0 1rem;
}

.rge-faq-accordion .kt-accordion-idrge_seo_faq .kt-accordion-panel-inner p {
	margin: 0;
	font-weight: 400;
	color: var(--rge-ink);
	line-height: 1.65;
}

/* ——— Commercial / estate location silos ——— */
.rge-commercial-silo-hero .kt-divider {
	border-top-color: var(--rge-accent, #f5b800);
	opacity: 1;
}

.rge-commercial-silo-cards .wp-block-kadence-infobox.rge-service-card {
	border-radius: var(--rge-radius-lg, 0.75rem);
	box-shadow: var(--rge-shadow-sm);
	transition: box-shadow var(--rge-transition), transform var(--rge-transition);
}

.rge-commercial-silo-cards .wp-block-kadence-infobox.rge-service-card:hover {
	box-shadow: var(--rge-shadow-hover);
	transform: translateY(-2px);
}

.rge-commercial-silo-cards .kt-blocks-info-box-text {
	display: block;
	margin-top: 0.5rem;
	font-size: var(--rge-text-sm);
	color: var(--rge-muted);
	line-height: 1.55;
}

.rge-commercial-silo-cards .kt-blocks-info-box-title {
	font-family: var(--rge-font-display);
	font-size: 1.05rem;
}

/* ——— Footer ——— */
#colophon.site-footer .footer-navigation .footer-menu-container > ul li.current-menu-item > a,
#colophon.site-footer .footer-navigation a[aria-current="page"] {
	color: #ffffff;
	background-color: var(--rge-accent-dark, #d99a00);
	border-radius: 3px;
	padding-left: 0.35em;
	padding-right: 0.35em;
}

#colophon.site-footer .footer-navigation .footer-menu-container > ul li > a:hover {
	color: var(--rge-accent-dark, #d99a00);
}

/* Header nav: current page — white on accent pill (WCAG contrast) */
.primary-navigation .menu > li.current-menu-item > a,
.primary-navigation .menu > li.current-menu-ancestor > a,
.primary-navigation a[aria-current="page"],
.mobile-navigation .menu > li.current-menu-item > a,
.mobile-navigation a[aria-current="page"] {
	color: #ffffff !important;
	background-color: var(--rge-accent-dark, #d99a00);
	border-radius: 3px;
	padding-left: 0.35em;
	padding-right: 0.35em;
}

#colophon.site-footer a {
	transition: color var(--rge-transition);
}

#colophon.site-footer a:hover {
	color: var(--rge-accent);
}

/* ——— Mobile sticky call bar (removed) ——— */
.rge-mobile-call-bar {
	display: none !important;
}


/* ——— Homepage appendix (reviews + FAQ below versioned rows) ——— */
.rge-home-appendix {
	background: var(--global-palette9, #ffffff);
	color: var(--rge-ink);
	padding: clamp(2rem, 4vw, 3rem) var(--global-content-edge-padding, 1.5rem)
		clamp(2.5rem, 5vw, 4rem);
	position: relative;
	z-index: 2;
}

.rge-home-appendix .wp-block-heading,
.rge-home-appendix .wp-block-paragraph,
.rge-home-appendix .rge-faq-accordion,
.rge-home-appendix .rge-google-reviews {
	max-width: var(--rge-content-width, 72rem);
	margin-left: auto;
	margin-right: auto;
}

.rge-home-appendix .wp-block-heading,
.rge-home-appendix .rge-faq-accordion__title {
	color: var(--rge-ink);
}

.rge-home-appendix .rge-google-reviews {
	margin-top: 3rem;
	margin-bottom: 3rem;
	padding-left: 0;
	padding-right: 0;
}

.entry-content .rge-home-appendix ul.rge-google-reviews__list {
	list-style: none;
	margin-left: 0;
	padding-left: 0;
}

/* ——— Google reviews (homepage appendix) ——— */
.rge-google-reviews {
	max-width: var(--rge-content-width, 72rem);
	margin: 3rem auto;
	padding: 0 1.25rem;
}

.rge-google-reviews__title {
	font-family: var(--rge-font-display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin-bottom: 0.75rem;
}

.rge-google-reviews__summary {
	font-size: 1.0625rem;
	margin-bottom: 1.25rem;
}

.rge-google-reviews__stars {
	color: var(--rge-accent);
	margin-right: 0.35rem;
}

.rge-google-reviews__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

@media (min-width: 783px) {
	.rge-google-reviews__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

.rge-google-reviews__item {
	background: var(--rge-surface, #f6f7f9);
	border-radius: var(--rge-radius);
	padding: 1.25rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.rge-google-reviews__quote {
	margin: 0 0 0.75rem;
	line-height: 1.55;
}

.rge-google-reviews__meta {
	margin: 0;
	font-size: 0.875rem;
	opacity: 0.85;
}

.rge-google-reviews__cta a {
	font-weight: 600;
}

.rge-google-reviews--compact {
	margin: 0;
	padding: 0;
	max-width: none;
}

.rge-google-reviews--compact .rge-google-reviews__title {
	font-size: 1.375rem;
	margin-bottom: 0.5rem;
}

.rge-google-reviews--compact .rge-google-reviews__list {
	grid-template-columns: 1fr;
}

.rge-google-reviews--compact .rge-google-reviews__item {
	padding: 1rem;
}

.rge-google-reviews--compact .rge-google-reviews__quote {
	font-size: 0.9375rem;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.rge-service-cards .kt-blocks-info-box-link-wrap:hover,
	.kb-row-layout-id115_78229a-28 .kt-blocks-info-box-link-wrap:hover,
	.kb-row-layout-id193_440418-ec .kt-blocks-info-box-link-wrap:hover {
		transform: none;
	}
}

/* ——— Global Mobile Responsiveness & Horizontal Scroll Prevention ——— */
html,
body,
#wrapper,
#main,
.content-wrap,
.entry-content-wrap,
.entry-content,
.site-main {
	max-width: 100% !important;
	overflow-x: hidden !important;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

img, video, iframe, table {
	max-width: 100% !important;
	height: auto;
}

@media (max-width: 767px) {
	/* Force multi-column Kadence rows to stack vertically on mobile (EXCEPT horizontal sliders/cards) */
	.wp-block-kadence-rowlayout:not(.rge-no-stack-mobile):not(.location-slider):not(.rge-mobile-slider):not(.rge-service-cards):not(:has(.rge-area-card)):not(:has(.rge-service-card)) > .kt-row-column-wrap {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wp-block-kadence-rowlayout:not(.rge-no-stack-mobile):not(.location-slider):not(.rge-mobile-slider):not(.rge-service-cards):not(:has(.rge-area-card)):not(:has(.rge-service-card)) > .kt-row-column-wrap > .wp-block-kadence-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 1.25rem !important;
		box-sizing: border-box !important;
	}

	.wp-block-kadence-rowlayout:not(.rge-no-stack-mobile):not(.location-slider):not(.rge-mobile-slider):not(.rge-service-cards):not(:has(.rge-area-card)):not(:has(.rge-service-card)) > .kt-row-column-wrap > .wp-block-kadence-column:last-child {
		margin-bottom: 0 !important;
	}

	/* Readable side gutters for normal content columns (text, lists, etc.) */
	.entry-content .wp-block-kadence-column > .kt-inside-inner-col {
		padding-left: var(--global-content-edge-padding, 1.25rem) !important;
		padding-right: var(--global-content-edge-padding, 1.25rem) !important;
	}

	/* Standalone blocks sitting outside padded columns */
	.entry-content > .wp-block-heading,
	.entry-content > p,
	.entry-content > .wp-block-list,
	.entry-content > .wp-block-kadence-advancedheading,
	.entry-content > .rge-faq-accordion {
		padding-left: var(--global-content-edge-padding, 1.25rem) !important;
		padding-right: var(--global-content-edge-padding, 1.25rem) !important;
		box-sizing: border-box !important;
	}

	/* Swiper/card rows manage their own horizontal inset — keep columns flush inside track */
	.wp-block-kadence-rowlayout.location-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout.rge-mobile-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout.rge-service-cards > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card) > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Homepage trust / icon feature cards: stack icon above text so copy isn't cramped */
	.entry-content .kt-blocks-info-box-media-align-left {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.75rem !important;
	}

	.entry-content .kt-blocks-info-box-media-align-left .kt-blocks-info-box-media-container {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.entry-content .kt-blocks-info-box-media-align-left .kt-blocks-info-box-media {
		margin: 0 !important;
	}

	.entry-content .kt-blocks-info-box-media-align-left .kadence-info-box-icon-container {
		width: 2.75rem !important;
		height: 2.75rem !important;
		padding: 0.65rem !important;
		box-sizing: border-box !important;
	}

	.entry-content .kt-blocks-info-box-media-align-left .kt-infobox-textcontent {
		flex: 1 1 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.entry-content .kt-blocks-info-box-media-align-left .kt-blocks-info-box-title {
		margin-top: 0 !important;
	}

	/* Flex buttons wrap on narrow screens */
	.kb-buttons-wrap {
		display: flex !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 0.5rem !important;
	}

	.kb-buttons-wrap .wp-block-kadence-singlebtn {
		margin: 0 !important;
	}

	.kb-buttons-wrap .kb-button {
		width: auto !important;
		max-width: 100% !important;
		text-align: center !important;
	}
}

/* ——— Mobile Horizontal Sliders / Swiper (Location Cards & Service Cards) — MUST REMAIN AT END OF CSS ———
   Only target explicit slider/card rows. Do NOT match by link href — area lists with
   /our-service-areas/ links would otherwise become swipers and get clipped off-screen.
   Pattern: white full-bleed section + edge-to-edge track; first card inset via padding only. */
@media (max-width: 782px) {
	/* "Areas We Serve" / "Other Areas We Serve" headings sit on white with the swiper */
	.entry-content > .wp-block-heading:has(+ .wp-block-kadence-rowlayout.location-slider),
	.entry-content > .wp-block-heading:has(+ .wp-block-kadence-rowlayout.rge-mobile-slider),
	.entry-content > .wp-block-heading:has(+ .wp-block-kadence-rowlayout.rge-service-cards),
	.entry-content > .wp-block-heading:has(+ .kb-row-layout-wrap.location-slider),
	.entry-content > .wp-block-heading:has(+ .kb-row-layout-wrap.rge-mobile-slider),
	.entry-content > .wp-block-heading:has(+ .kb-row-layout-wrap.rge-service-cards) {
		background-color: #ffffff !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 1.5rem !important;
		padding-bottom: 0.65rem !important;
		padding-left: var(--global-content-edge-padding, 1.25rem) !important;
		padding-right: var(--global-content-edge-padding, 1.25rem) !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.kb-row-layout-wrap.location-slider,
	.kb-row-layout-wrap.rge-mobile-slider,
	.kb-row-layout-wrap.rge-service-cards,
	.wp-block-kadence-rowlayout.location-slider,
	.wp-block-kadence-rowlayout.rge-mobile-slider,
	.wp-block-kadence-rowlayout.rge-service-cards,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card),
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) {
		background-color: #ffffff !important;
		background-image: none !important;
		/* Kill Kadence mobile side padding ("sm") that creates a coloured left gutter */
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		overflow: visible !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.kb-row-layout-wrap.location-slider.theme-palette6,
	.kb-row-layout-wrap.location-slider.theme-palette8,
	.kb-row-layout-wrap.rge-mobile-slider.theme-palette6,
	.kb-row-layout-wrap.rge-mobile-slider.theme-palette8,
	.kb-row-layout-wrap.rge-service-cards.theme-palette6,
	.kb-row-layout-wrap.rge-service-cards.theme-palette8,
	.wp-block-kadence-rowlayout.location-slider.theme-palette6,
	.wp-block-kadence-rowlayout.location-slider.theme-palette8,
	.wp-block-kadence-rowlayout.rge-mobile-slider.theme-palette6,
	.wp-block-kadence-rowlayout.rge-mobile-slider.theme-palette8,
	.wp-block-kadence-rowlayout.rge-service-cards.theme-palette6,
	.wp-block-kadence-rowlayout.rge-service-cards.theme-palette8 {
		background-color: #ffffff !important;
	}

	.kb-row-layout-wrap.location-slider > .kt-row-column-wrap,
	.kb-row-layout-wrap.rge-mobile-slider > .kt-row-column-wrap,
	.kb-row-layout-wrap.rge-service-cards > .kt-row-column-wrap,
	.wp-block-kadence-rowlayout.location-slider > .kt-row-column-wrap,
	.wp-block-kadence-rowlayout.rge-mobile-slider > .kt-row-column-wrap,
	.wp-block-kadence-rowlayout.rge-service-cards > .kt-row-column-wrap,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card) > .kt-row-column-wrap,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) > .kt-row-column-wrap {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		scroll-snap-type: x mandatory !important;
		scroll-padding-left: var(--global-content-edge-padding, 1.25rem) !important;
		scroll-padding-right: var(--global-content-edge-padding, 1.25rem) !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-behavior: smooth !important;
		gap: 0.85rem !important;
		/* White track edge-to-edge; inset is same colour as section — no grey gutter */
		background-color: #ffffff !important;
		padding-left: var(--global-content-edge-padding, 1.25rem) !important;
		padding-right: var(--global-content-edge-padding, 1.25rem) !important;
		padding-bottom: 1rem !important;
		padding-top: 0.35rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	.kb-row-layout-wrap.location-slider > .kt-row-column-wrap::-webkit-scrollbar,
	.kb-row-layout-wrap.rge-mobile-slider > .kt-row-column-wrap::-webkit-scrollbar,
	.kb-row-layout-wrap.rge-service-cards > .kt-row-column-wrap::-webkit-scrollbar,
	.wp-block-kadence-rowlayout.location-slider > .kt-row-column-wrap::-webkit-scrollbar,
	.wp-block-kadence-rowlayout.rge-mobile-slider > .kt-row-column-wrap::-webkit-scrollbar,
	.wp-block-kadence-rowlayout.rge-service-cards > .kt-row-column-wrap::-webkit-scrollbar,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card) > .kt-row-column-wrap::-webkit-scrollbar,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) > .kt-row-column-wrap::-webkit-scrollbar {
		display: none !important;
	}

	.kb-row-layout-wrap.location-slider > .kt-row-column-wrap > .wp-block-kadence-column,
	.kb-row-layout-wrap.rge-mobile-slider > .kt-row-column-wrap > .wp-block-kadence-column,
	.kb-row-layout-wrap.rge-service-cards > .kt-row-column-wrap > .wp-block-kadence-column,
	.wp-block-kadence-rowlayout.location-slider > .kt-row-column-wrap > .wp-block-kadence-column,
	.wp-block-kadence-rowlayout.rge-mobile-slider > .kt-row-column-wrap > .wp-block-kadence-column,
	.wp-block-kadence-rowlayout.rge-service-cards > .kt-row-column-wrap > .wp-block-kadence-column,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card) > .kt-row-column-wrap > .wp-block-kadence-column,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) > .kt-row-column-wrap > .wp-block-kadence-column {
		flex: 0 0 78% !important;
		width: 78% !important;
		max-width: 78% !important;
		min-width: 78% !important;
		scroll-snap-align: start !important;
		scroll-snap-stop: always !important;
		margin: 0 !important;
		height: auto !important;
		display: flex !important;
	}

	.kb-row-layout-wrap.location-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.kb-row-layout-wrap.rge-mobile-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.kb-row-layout-wrap.rge-service-cards > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout.location-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout.rge-mobile-slider > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout.rge-service-cards > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-area-card) > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col,
	.wp-block-kadence-rowlayout:has(> .kt-row-column-wrap > .wp-block-kadence-column .rge-service-card) > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
		width: 100% !important;
		height: 100% !important;
		display: flex !important;
		flex-direction: column !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Kadence skip link: visible on keyboard focus (Lighthouse a11y) */
.skip-link.screen-reader-text:focus,
.skip-link.screen-reader-text:focus-visible {
	position: fixed !important;
	top: 0.5rem !important;
	left: 0.5rem !important;
	clip: auto !important;
	clip-path: none !important;
	width: auto !important;
	height: auto !important;
	padding: 0.65rem 1rem !important;
	margin: 0 !important;
	background: #ffffff !important;
	color: #272624 !important;
	border: 2px solid #272624 !important;
	border-radius: 4px !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	z-index: 100000 !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

/* Contact page: tighten map → form gap on mobile (page-id-117; no page-contact body class on versioned template) */
@media (max-width: 782px) {
	.kadence-column117_301bc6-17 {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
		content-visibility: visible !important;
		contain-intrinsic-size: auto !important;
	}

	.kadence-column117_301bc6-17 > .kt-inside-inner-col {
		padding-bottom: 0 !important;
	}

	.kb-row-layout-id117_72b38f-c1,
	.kb-row-layout-id117_662691-80 {
		content-visibility: visible !important;
		contain-intrinsic-size: auto !important;
	}

	.kb-row-layout-id117_662691-80 {
		margin-top: 0 !important;
	}

	.kb-row-layout-id117_662691-80 > .kt-row-column-wrap {
		padding-top: var(--global-kb-spacing-md, 1.5rem) !important;
	}
}

