/*
 * Homepage layout contract.
 *
 * The header mode owns the vertical relationship between navigation and the
 * first content block. Page content must not add a second spacer simply
 * because it is rendered through the front-page template.
 */
body.nova-home-canvas #main-content {
	margin-block-start: 0;
}

body.nova-home-canvas .nova-page--front-builder {
	padding-block-start: 0 !important;
}

body.nova-home-canvas .nova-page--front-builder > .nova-page__blocks > :first-child,
body.nova-home-canvas .nova-page--front-builder > .nova-page__builder > :first-child {
	margin-block-start: 0 !important;
}

body.nova-home-canvas .nova-page--front-builder > .nova-page__blocks > .wp-block-nova-columns:first-child {
	width: 100%;
	max-width: none;
	margin-block-start: 0 !important;
	padding-block-start: 0 !important;
}

body.nova-home-canvas .nova-page--front-builder > .nova-page__blocks > .wp-block-nova-columns:first-child > .wp-block-nova-carousel {
	margin-block-start: 0 !important;
}

/* Overlay and fixed headers intentionally cover the first content block. */
body.nova-home-canvas.nova-header-mode-overlay .nova-page--front-builder,
body.nova-home-canvas.nova-header-mode-fixed .nova-page--front-builder {
	margin-block-start: 0 !important;
}

/* A solid/sticky header already participates in normal document flow. */
body.nova-home-canvas.nova-header-mode-solid .nova-page--front-builder,
body.nova-home-canvas.nova-header-mode-sticky .nova-page--front-builder {
	margin-block-start: 0 !important;
}

@media (max-width: 767px) {
	body.nova-home-canvas .nova-page--front-builder > .nova-page__blocks > .wp-block-nova-columns:first-child {
		width: 100%;
	}
}
