/*
 * CCC Update
 * Date: July 24, 2026
 * Description: Contact Us hero uses Elementor margin-top -98px with only 25px
 *              padding, so the contact form overlaps the sticky menu.
 *              Keep the hero bleed under the transparent header, but add enough
 *              top padding so form content clears the nav (and WP admin bar).
 *              Selectors must beat Elementor post CSS
 *              (.elementor-44 .elementor-element.elementor-element-XXXX).
 *
 * CCC Update
 * Date: July 31, 2026
 * Description: Do NOT target generic `.e-con.e-parent:first-child`. On production
 *              the fixed header `#elem-custom-header` also has `e-con e-parent`
 *              and was receiving the hero's 210px padding, expanding the header
 *              to ~330px and overlaying the form/nav. Scope padding to the hero
 *              container only (elementor-element-754b7e2) and hard-reset header.
 */

/* Hard reset: never apply hero clearance to the fixed site header */
body.ccc-page-contact-us #elem-custom-header,
body.ccc-page-contact-us #elem-custom-header > .e-con-inner {
	--padding-top: 0px !important;
	padding-top: 0 !important;
}

/* Hero container only (Contact page Elementor section) */
body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
	--padding-top: 210px !important;
}

body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
	padding-top: 210px !important;
}

/* Logged-in: admin bar sits above the sticky header */
body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
	--padding-top: 242px !important;
}

body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
	padding-top: 242px !important;
}

/* Keep nav above the form card */
body.ccc-page-contact-us #elem-custom-header {
	z-index: 10050 !important;
}

@media (max-width: 1024px) {
	body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
	body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
		--padding-top: 160px !important;
	}

	body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
	body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
		padding-top: 160px !important;
	}

	body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
	body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
		--padding-top: 192px !important;
	}

	body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
	body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
		padding-top: 192px !important;
	}
}

@media (max-width: 767px) {
	body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
	body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
		--padding-top: 130px !important;
	}

	body.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
	body.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
		padding-top: 130px !important;
	}

	body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2,
	body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 {
		--padding-top: 162px !important;
	}

	body.admin-bar.ccc-page-contact-us .elementor-element.elementor-element-754b7e2 > .e-con-inner,
	body.admin-bar.ccc-page-contact-us .elementor-44 .elementor-element.elementor-element-754b7e2 > .e-con-inner {
		padding-top: 162px !important;
	}
}
