/*
Theme Name: PlainVanilla Base
Theme URI:
Author:
Author URI:
Description: Minimal block theme foundation for PlainVanilla child themes.
Requires at least: 7.1
Tested up to: 7.1
Requires PHP: 8.0
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plainvanilla-base
*/


/*
 * Component geometry
 */


/* Header */

.site-header {
	padding-top: var(--wp--preset--spacing--lg);
	padding-bottom: var(--wp--preset--spacing--lg);
}


/* Footer */

.site-footer-content {
	padding-top: var(--wp--preset--spacing--xxxl);
	padding-bottom: var(--wp--preset--spacing--xxxxl);
}


/* Brand bar */

.site-brand-bar {
	padding-top: var(--wp--preset--spacing--lg);
	padding-bottom: var(--wp--preset--spacing--lg);
}


/* Featured image */

.site-featured-image {
	max-height: 43.75rem;
	overflow: hidden;
}

.site-featured-image img {
	width: 100%;
	max-height: 43.75rem;
	object-fit: cover;
}

/*
 * Fluid layout
 */

:root {
	--pvw-gutter: 1.5rem;
}

@media (max-width: 75rem) {
	:root {
		--pvw-gutter: 3rem;
	}
}


/*
 * Continuous viewport safety gutter
 */

.wp-site-blocks {
	padding-left: var(--pvw-gutter);
	padding-right: var(--pvw-gutter);
}


/*
 * Structural regions remain true full-width
 */

.wp-block-template-part:has(.site-header),
.wp-block-template-part:has(.site-footer),
.wp-block-template-part:has(.site-brand-bar) {
	margin-left: calc(-1 * var(--pvw-gutter));
	margin-right: calc(-1 * var(--pvw-gutter));
	width: calc(100% + (2 * var(--pvw-gutter)));
}


/*
 * Structural wide content respects the gutter
 * while backgrounds remain full-width
 */

.site-header > .alignwide,
.site-footer > .alignwide,
.site-brand-bar > .alignwide {
	width: calc(100% - (2 * var(--pvw-gutter)));
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto !important;
	margin-right: auto !important;
}