/* Freshen Homes — balanced section spacing.
 *
 * Bold Builder gives each section INDEPENDENT top/bottom padding via spacing
 * classes (small 1em / medium 4em / large 8em / extra_large 16em / none 0).
 * Over time many sections ended up lopsided — e.g. large top + no bottom — so
 * the page rhythm looks off. This normalizes sections to EQUAL top & bottom
 * padding for a consistent vertical rhythm across the whole site.
 *
 * Intentionally left alone:
 *   - Sections with no spacing on both sides (already balanced at 0; usually
 *     flush/structural wrappers) — excluded so they don't gain unwanted gaps.
 *   - Overlapping / shaped sections that use a non-"none" negative margin
 *     (120px, medium, 15px, extra_large, 250px, 300px). Their asymmetry is a
 *     deliberate design overlap, so their padding is preserved.
 *
 * Only padding is touched here — never margins — so overlaps and the existing
 * service-tabs styling are unaffected. */

:root {
	--fh-section-pad: 80px;
}

.bt_bb_section:not(.bt_bb_top_spacing_none.bt_bb_bottom_spacing_none):not([class*="negative_margin_120px"]):not([class*="negative_margin_medium"]):not([class*="negative_margin_15px"]):not([class*="negative_margin_extra_large"]):not([class*="negative_margin_250px"]):not([class*="negative_margin_300px"]) > .bt_bb_port {
	padding-top: var(--fh-section-pad) !important;
	padding-bottom: var(--fh-section-pad) !important;
}

@media (max-width: 900px) {
	:root { --fh-section-pad: 56px; }
}

@media (max-width: 520px) {
	:root { --fh-section-pad: 40px; }
}

/* Electrical Repair services list mobile spacing.
 * Bold Builder stacks these 4-column service items on phones; add consistent
 * vertical rhythm so each icon/text item clears the previous paragraph. */
@media (max-width: 768px) {
	body.page-id-4275 .bt_bb_service.bt_bb_color_scheme_7.bt_bb_style_transparent_border {
		margin-bottom: 34px !important;
	}

	body.page-id-4275 .bt_bb_service.bt_bb_color_scheme_7.bt_bb_style_transparent_border .bt_bb_service_content_title {
		margin-bottom: 8px !important;
		line-height: 1.2 !important;
	}

	body.page-id-4275 .bt_bb_service.bt_bb_color_scheme_7.bt_bb_style_transparent_border .bt_bb_service_content_text {
		line-height: 1.45 !important;
	}

	body.page-id-4275 .bt_bb_service.bt_bb_color_scheme_7.bt_bb_style_transparent_border + .bt_bb_separator_v2 {
		display: none !important;
	}
}

/* AC Duct Cleaning services mobile spacing.
 * The three-column service list stacks on phones; keep each icon/text pair
 * clear and give the inline CTA panel a little room from the final service. */
@media (max-width: 768px) {
	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border {
		align-items: flex-start !important;
		margin: 0 0 32px !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex: 0 0 64px !important;
		width: 64px !important;
		height: 64px !important;
		min-width: 64px !important;
		font-size: 1.65rem !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 18px !important;
		padding-top: 2px !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_title {
		font-size: 1rem !important;
		line-height: 1.22 !important;
		padding-bottom: 8px !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_text {
		font-size: 0.98rem !important;
		line-height: 1.48 !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator,
	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator_v2 {
		display: none !important;
	}

	body.page-id-4161 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row .bt_bb_separator:first-child {
		display: none !important;
	}

	body.page-id-4161 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] {
		margin-top: 6px !important;
		padding: 28px 18px !important;
	}

	body.page-id-4161 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] p {
		font-size: 19px !important;
		line-height: 1.45 !important;
		margin-bottom: 16px !important;
	}
}

@media (max-width: 380px) {
	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border {
		margin-bottom: 30px !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex-basis: 58px !important;
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
	}

	body.page-id-4161 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 16px !important;
	}

	body.page-id-4161 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] p {
		font-size: 18px !important;
	}
}

/* Service-page mobile spacing: dryer vent, AC repair, HVAC support. */
@media (max-width: 768px) {
	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border {
		align-items: flex-start !important;
		margin: 0 0 32px !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex: 0 0 64px !important;
		width: 64px !important;
		height: 64px !important;
		min-width: 64px !important;
		font-size: 1.65rem !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 18px !important;
		padding-top: 2px !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_title,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_title,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_title {
		font-size: 1rem !important;
		line-height: 1.22 !important;
		padding-bottom: 8px !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_text,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_text,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_text {
		font-size: 0.98rem !important;
		line-height: 1.48 !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator,
	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator_v2,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator_v2,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator_v2 {
		display: none !important;
	}

	body.page-id-4189 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row .bt_bb_separator:first-child,
	body.page-id-4204 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row .bt_bb_separator:first-child,
	body.page-id-4229 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row .bt_bb_separator:first-child {
		display: none !important;
	}

	body.page-id-4189 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"],
	body.page-id-4204 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"],
	body.page-id-4229 .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] {
		margin-top: 6px !important;
		padding: 28px 18px !important;
	}
}

@media (max-width: 380px) {
	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border {
		margin-bottom: 30px !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex-basis: 58px !important;
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
	}

	body.page-id-4189 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content,
	body.page-id-4204 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content,
	body.page-id-4229 .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 16px !important;
	}
}

/* Generic mobile spacing for service icon lists before the pale-green CTA box.
 * Covers the repeated service-page pattern across non-home pages. */
@media (max-width: 768px) {
	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border {
		align-items: flex-start !important;
		margin: 0 0 34px !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex: 0 0 64px !important;
		width: 64px !important;
		height: 64px !important;
		min-width: 64px !important;
		font-size: 1.65rem !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 18px !important;
		padding-top: 2px !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_title {
		font-size: 1rem !important;
		line-height: 1.22 !important;
		padding-bottom: 8px !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content_text {
		font-size: 0.98rem !important;
		line-height: 1.5 !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator,
	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border + .bt_bb_separator_v2 {
		display: none !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) {
		padding-bottom: 10px !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row {
		margin-top: 10px !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row .bt_bb_separator:first-child {
		display: none !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] {
		margin-top: 8px !important;
		padding: 30px 18px !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] p {
		font-size: 19px !important;
		line-height: 1.45 !important;
		margin-bottom: 16px !important;
	}
}

@media (max-width: 380px) {
	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border {
		margin-bottom: 32px !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_icon_holder {
		flex-basis: 58px !important;
		width: 58px !important;
		height: 58px !important;
		min-width: 58px !important;
	}

	body:not(.home) .bt_bb_service.bt_bb_style_transparent_border .bt_bb_service_content {
		padding-left: 16px !important;
	}

	body:not(.home) .bt_bb_row:has(.bt_bb_service.bt_bb_style_transparent_border) + .bt_bb_row [style*="background:#f0fdf4"] p {
		font-size: 18px !important;
	}
}
