@use "../abstracts/__index" as *;

body {
	--body-top: 0px; // Requires 0px value. 0 breaks this when it's used in calc() in some instances.
	--scroll-margin-top: calc(var(--body-top) + var(--spacing-lg));

	display: flex;
	flex-direction: column;
	min-height: var(--body-min-height, calc(100svh - var(--body-top)));
	overflow-x: hidden; // Prevent horizontal scrollbars.

	@extend %body;
}

@media screen and (min-width: 601px) {
	// Admin bar is only sticky after 600px.
	body {
		--body-top: var(--wp-admin--admin-bar--height, 0px);
	}
}

.has-sticky-header {
	--scroll-margin-top: calc(var(--body-top) + var(--header-height-shrunk, var(--header-height, 0px)) + var(--spacing-xs)); // Requires 0px value fallback. 0 breaks this.
}

[id] {
	scroll-margin-top: var(--scroll-margin-top);
}
