/* === Full Width Template === */

/*
 * The full-width template's <main class="full-page"> has no inline
 * padding/margin, so the page header and the hero section are always
 * connected. The parent theme adds block-gap top/bottom padding to <main>
 * (body:not(.home) .wp-site-blocks main); this rule zeroes it for the
 * full-width template. It matches the parent selector's specificity and is
 * loaded after the parent stylesheet, so it wins.
 */
body:not(.home) .wp-site-blocks main.full-page {
    margin: 0;
    padding: 0;
}

/*
 * Core's flow layout applies `:root :where(.is-layout-flow) > * {
 * margin-block-start: 24px }` to every child. Page content starts with a
 * <style> block, so the real first section (e.g. .of-about-hero) is not
 * :first-child and gets that 24px top margin. Cancel it for the first block
 * of each type in this template so the header and hero always connect.
 */
main.full-page > .wp-block-post-content > :first-of-type {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/*
 * Keep "wide" blocks (alignwide) centered and capped at the theme's wide size
 * inside the full-width template (its flow layout does not constrain them).
 */
main.full-page > .wp-block-post-content > .alignwide {
    max-width: var(--wp--style--global--wide-size, 1200px);
    margin-left: auto;
    margin-right: auto;
}
