/* Every non-home H1 stays subordinate to the homepage display headings. */
body.exg-shell:not(.exg-home-v2) #main-content#main-content h1 {
	font-family: var(--exg-display) !important;
	font-size: var(--exg-type-interior-title-size) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-display) !important;
	letter-spacing: -0.02em !important;
	line-height: var(--exg-type-page-title-line) !important;
	text-wrap: balance;
}

/*
 * Shared category, PLP and PDP page-title contract.
 *
 * Keep this selector list deliberately narrow: card headings, modal headings
 * and editorial content retain their own hierarchy.
 */
body.exg-shell #main-content#main-content :is(
	.exg-category-masthead h1,
	.exg-commerce-library__hero h1,
	.exg-commerce-library__intro h1,
	.exg-guard-library__hero h1,
	.exg-bracket-library__hero h1,
	.exg-bracket-library__intro h1,
	.exg-coverage-category__hero h1,
	.exg-store-product__summary > h1,
	.exg-unified-pdp .product__heading > h1.product__title,
	.single-coverage-product .product__heading > h1.product__title,
	.singleGuard .hero > .grid-container > h1.hero__title,
	.singleBracketKits__info > h1.singleBracketKits__title
) {
	font-family: var(--exg-display) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-display) !important;
	letter-spacing: -0.02em !important;
	line-height: var(--exg-type-page-title-line) !important;
	text-wrap: balance;
}

body.exg-shell #main-content#main-content .exg-category-masthead h1 {
	font-size: var(--exg-type-category-title-size) !important;
}

body.exg-shell #main-content#main-content :is(
	.exg-commerce-library__hero h1,
	.exg-commerce-library__intro h1,
	.exg-guard-library__hero h1,
	.exg-bracket-library__hero h1,
	.exg-bracket-library__intro h1,
	.exg-coverage-category__hero h1
) {
	font-size: var(--exg-type-plp-title-size) !important;
}

body.exg-shell #main-content#main-content :is(
	.exg-store-product__summary > h1,
	.exg-unified-pdp .product__heading > h1.product__title,
	.single-coverage-product .product__heading > h1.product__title,
	.singleGuard .hero > .grid-container > h1.hero__title,
	.singleBracketKits__info > h1.singleBracketKits__title
) {
	font-size: var(--exg-type-pdp-title-size) !important;
}

/* Prominent PDP section headings stay below the product title. Compact card,
 * modal and specification headings keep their component-level sizes. */
body.exg-shell #main-content#main-content :is(
	.exg-unified-pdp .guard__title,
	.guard-engineering__content > h2,
	.model__intro > .model__title,
	.model__comparison-header > h2,
	.pickup-pdp-install-options__header > h2,
	.pickup-pdp-self-install__header h2,
	.exg-store-product__secondary :is(.related, .upsells) > h2,
	.exg-store-product__secondary .woocommerce-Tabs-panel > h2,
	.singleGuard__info > .singleGuard__title,
	.coatingdesignbox h2,
	.singleGuard__model-title,
	.singleBracketKits__relatedProducts-title
) {
	font-size: var(--exg-type-pdp-section-size) !important;
	line-height: var(--exg-type-pdp-section-line) !important;
}

/* Vehicle PLPs have a doubled-ID legacy rule with !important declarations.
 * Match that boundary here so the shared contract remains the final owner. */
body.exg-shell.exg-catalog-page
	#main-content#main-content.exg-vehicle-library--direct-start
	.exg-bracket-library__intro h1 {
	font-family: var(--exg-display) !important;
	font-size: var(--exg-type-plp-title-size) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-display) !important;
	letter-spacing: -0.02em !important;
	line-height: var(--exg-type-page-title-line) !important;
	text-wrap: balance;
}
