/**
 * Page layout spacing below the fixed site header and banner.
 */

/* Inner pages start below the fixed navigation. */
body.page:not(.home):not(.prism-fullpage-active) #main {
	padding-top: var(--prism-site-header-height);
}

body.admin-bar.page:not(.home):not(.prism-fullpage-active) #main {
	padding-top: calc(var(--prism-site-header-height) + var(--prism-admin-bar-offset, 0px));
}

/* Homepage: let the first banner sit flush with the top behind the transparent header. */
body.home #main {
	padding-top: 0;
}

body.home #main > [class*="wp-block-acf-"]:first-child > .prism-block--banner,
body.home #main > [class*="wp-block-acf-"]:first-child > .prism-block[class*="prism-padding-top"] {
	margin-top: 0;
	padding-top: 0;
}

/* The first block should not add extra top padding below the site header on inner pages. */
body.page:not(.home):not(.prism-fullpage-active) #main > [class*="wp-block-acf-"]:first-child > .prism-block[class*="prism-padding-top"] {
	padding-top: 0;
}

/* Full-page scroll pages: offset only non-full-height banner sections on inner pages. */
body.prism-fullpage-active:not(.home) #prism-fullpage > .wp-block-acf-banner:first-child:not(:has(.prism-banner--height-full)) {
	margin-top: var(--prism-site-header-height);
}

body.admin-bar.prism-fullpage-active:not(.home) #prism-fullpage > .wp-block-acf-banner:first-child:not(:has(.prism-banner--height-full)) {
	margin-top: calc(var(--prism-site-header-height) + var(--prism-admin-bar-offset, 0px));
}

/* Stack page blocks directly below the banner with no extra gap. */
#main > .wp-block-acf-banner:not(:last-child) .prism-block--banner,
#prism-fullpage > .wp-block-acf-banner:not(:last-child) .prism-block--banner {
	padding-bottom: 0;
}

#main > .wp-block-acf-banner ~ [class*="wp-block-acf-"] > .prism-block[class*="prism-padding-top"],
#prism-fullpage > .wp-block-acf-banner ~ [class*="wp-block-acf-"] > .prism-block[class*="prism-padding-top"] {
	padding-top: 0;
}
