// Only output placeholders if the current brand is the core brand.
// This allows components which support multiple brands to use o-editorial-layout.
@if $_o-editorial-layout-placeholders-output == false and oBrandIs('core') {
	// Only output placeholders once.
	$_o-editorial-layout-placeholders-output: true !global;

	// lists
	// - match body
	%_o-editorial-layout-list {
		@extend %_o-editorial-layout-body;
		margin: 0;
	}
	// h1
	// - small margin below by default
	%_o-editorial-layout-heading-1 {
		margin-bottom: oPrivateSpacingByName('s1');
		margin-top: 0;
	}
	// h2
	// - large margin above by default
	// - medium margin below by default
	%_o-editorial-layout-heading-2 {
		// Break typical spacing rules with a bottom margin of 14px, which does
		// not align to the 4px baseline grid, as requested by the design team.
		margin-bottom: oPrivateSpacingGetBaselineValue() * 3.5;
		margin-top: oPrivateSpacingByName('s8');
	}
	// h3 & h4
	// - medium margin below by default
	%_o-editorial-layout-heading-3,
	%_o-editorial-layout-heading-4 {
		// Break typical spacing rules with a bottom margin of 14px, which does
		// not align to the 4px baseline grid, as requested by the design team.
		margin-bottom: oPrivateSpacingGetBaselineValue() * 3.5;
		margin-top: 0;
	}
	// h5
	// - small margin below by default
	%_o-editorial-layout-heading-5 {
		margin-bottom: oPrivateSpacingByName('s1');
		margin-top: 0;
	}
	// body
	// - medium margin below by default
	%_o-editorial-layout-body {
		margin-bottom: oPrivateSpacingByName('s6');
		margin-top: 0;
	}

	// all headings
	// - increase margin between certain elements
	// - increase margin by a smaller amount for body copy elements
	%_o-editorial-layout-heading-1,
	%_o-editorial-layout-heading-2,
	%_o-editorial-layout-heading-3,
	%_o-editorial-layout-heading-4,
	%_o-editorial-layout-heading-5 {
		& + %_o-editorial-layout-body {
			margin-top: oPrivateSpacingByName('s1');
		}

		& + figure,
		& + ul,
		& + ol,
		& + aside,
		& + div {
			margin-top: oPrivateSpacingByIncrement(4);
		}
	}
}
