.hfeed article {
	margin-bottom: var(--go--spacing--vertical--lg);
}

/* Account for vertical spacing on hfeed. */
.hfeed article .content-area > *:first-child {
	margin-top: calc(var(--go--spacing--vertical--lg) * 0.55) !important;
}

.hfeed article .content-area > *:last-child {
	margin-bottom: 0 !important;
}

/* Account for the first block if we have a featured image. */
.has-featured-image .content-area > *:first-child {
	margin-top: var(--go--spacing--vertical--lg) !important;
}

/* Account for the first block being .alignfull */
body:not(.single-post):not(.has-page-titles) {

	& .content-area > *:first-child.alignfull,
	& .content-area > *:first-child.wp-block-gallery {
		margin-top: 0 !important;
	}
}

/* The page title is never shown on the homepage. */
body.home {

	& .content-area > *:first-child.alignfull {
		margin-top: 0 !important;
	}
}

.single-post.has-comments-open .content-area > *:last-child {
	margin-bottom: var(--go--spacing--vertical--lg) !important;
}

.content-area {

	& p ~ {

		& blockquote,
		& .wp-block-cover:not(.alignfull):not(.alignwide),
		& .wp-block-coblocks-accordion,
		& .wp-block-coblocks-author,
		& figure:not(.alignfull):not(.alignwide) {
			margin-bottom: var(--go--spacing--vertical) !important;
			margin-top: var(--go--spacing--vertical) !important;
		}

		& .coblocks-form,
		& .wp-block-button,
		& .wp-block-separator,
		& .wp-block-coblocks-dynamic-separator,
		& .wp-block-pullquote:not(.is-style-solid-color):not(.alignleft):not(.alignright) {
			margin-bottom: calc(var(--go--spacing--vertical) * 1.5) !important;
			margin-top: calc(var(--go--spacing--vertical) * 2) !important;
		}

		& .wp-block-coblocks-buttons {
			margin-top: calc(var(--go--spacing--vertical) * 2) !important;
		}
	}

	& .wp-block-columns + .wp-block-button,
	& .wp-block-columns + .wp-block-coblocks-buttons {
		margin-top: calc(var(--go--spacing--vertical--lg) * -0.65) !important;
	}

	& > h1,
	& > h2,
	& > h3,
	& > h4,
	& > h5,
	& > h6 {

		& + p,
		& + ol,
		& + ul:not(.wp-block-gallery),
		& + dl {
			margin-top: calc(var(--go--spacing--vertical--lg) * -0.825) !important;
		}

		& + .wp-block-button,
		& + .wp-block-coblocks-buttons {
			margin-top: calc(var(--go--spacing--vertical--lg) * -0.65) !important;
		}

		& + .wp-block-coblocks-logos {
			margin-top: calc(var(--go--spacing--vertical--lg) * -0.65) !important;
		}

		& + .wp-block-coblocks-features {
			margin-top: calc(var(--go--spacing--vertical--lg) * -0.5) !important;
		}

		& + .wp-block-separator {
			margin-top: calc(var(--go--spacing--vertical--lg) * -0.75) !important;
		}
	}
}
