/* ——— Global spacing trims ——— */
.wp-site-blocks { padding-block: 0; }
main > *:first-child { margin-top: 0 !important; }

/* ——— Header/footer quick sanity (your parts already set colors) ——— */
header.wp-block-group { width: 100%; }
footer.wp-block-group { width: 100%; }

/* ——— Hybrid: Editor’s Area subtle box ——— */
.editors-area {
  box-shadow: 0 1px 0 rgba(0,0,0,.06) inset;
}

/* ——— Query block spacing (Latest Advisories) ——— */
.wp-block-query .wp-block-post { margin-bottom: 1rem; }
.wp-block-query .wp-block-separator { margin: .75rem 0; }

/* ——— Optional: if an old “hero” CSS is still coloring the page, neutralize it ——— */
/* Remove any legacy full-width dark hero background that may be lingering */
.home .legacy-hero,
.home .hero,
.home .pmo-hero { background: none !important; }

/* ——— Skip link a11y ——— */
.skip-link a {
  position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.skip-link a:focus {
  position:static; width:auto; height:auto; padding:.5rem .75rem; outline:2px solid #fff;
}

/* ——— PACT pages: force light canvas ——— */
body.pact-light,
body.pact-light .wp-site-blocks {
  background: #fff !important;
  color: #111 !important;
}

/* Make common content inherit readable color */
body.pact-light .wp-block-post-content,
body.pact-light .wp-block-group,
body.pact-light .wp-block-paragraph,
body.pact-light .wp-block-heading,
body.pact-light .wp-block-list,
body.pact-light .wp-block-quote,
body.pact-light .wp-block-table {
  color: inherit;
}

/* Links on light */
body.pact-light a { color: var(--wp--preset--color--up-forest); }
body.pact-light a:hover { text-decoration: underline; }

/* PACT app container specifically */
body.pact-light #pact-root,
body.pact-light .pact-app {
  background: #fff;
  color: #111;
}

/* Optional: soften separators on light */
body.pact-light .wp-block-separator { border-color: rgba(0,0,0,.15); }

/* maroon/green header/footer as-is (they have their own backgrounds). */

/* 1) Keep only the root page scrolling, never inner containers */
html { overflow-y: scroll; }              /* prevents page-width wobble */
body, .wp-site-blocks { overflow-x: hidden; }

/* Kill accidental vertical scroll on inner wrappers */
.wp-site-blocks,
.wp-site-blocks > * ,
.wp-block-group,
.wp-block-cover,
main.wp-block-group { overflow-y: visible !important; }

/* 2) Hero sanity: avoid inner scroll when something is slightly taller than the viewport */
.hero { min-height: 100svh; height: auto; }
.hero * { overflow: visible; }

/* 3) If any full-height Cover/Group sneaks in, do not let it create its own scroller */
.is-content-justification-center,
.is-vertically-aligned-center { overflow: visible; }

/* 4) Keep scrollbar space reserved -> no “wobble” when content length changes */
/*:root { scrollbar-gutter: stable both-edges; }*/

/* ---------- Layout padding failsafe ---------- */
/* If global padding from theme.json doesn’t apply, enforce it here */
.wp-site-blocks {
  padding-left: var(--wp--preset--spacing--50);
  padding-right: var(--wp--preset--spacing--50);
}

/* ---------- Button base (when core button CSS isn’t loaded) ---------- */
.wp-block-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
  text-decoration: none;
  font-weight: 600;
}

/* Color utilities backed by theme.json palette */
.has-up-maroon-background-color { 
  background: var(--wp--preset--color--up-maroon) !important; 
  color: var(--wp--preset--color--base) !important; 
}
.has-up-forest-background-color { 
  background: var(--wp--preset--color--up-forest) !important; 
  color: var(--wp--preset--color--base) !important; 
}

/* ---------- Cover hero: subtle gradient so it doesn’t look empty ---------- */
.wp-block-cover .wp-block-cover__background {
  background:
    radial-gradient(900px 450px at 70% 25%, rgba(123,17,19,.35), transparent 60%),
    radial-gradient(700px 350px at 20% 80%, rgba(21,71,52,.22), transparent 62%),
    linear-gradient(180deg, rgba(15,23,32,.55), rgba(11,15,20,1) 80%);
}

/* ---------- FRONT PAGE FIXES (no inner scroller, centered) ---------- */
html { overflow-y: scroll; }                 /* reserve scrollbar, no wobble */
body, .wp-site-blocks { overflow-x: hidden; }/* no horizontal creep */

/* Never let inner wrappers create their own vertical scrollbar */
.wp-site-blocks,
.wp-site-blocks > *,
.wp-block-cover,
.wp-block-group,
main.wp-block-group { overflow-y: visible !important; }

/* Hero should fill viewport but not create nested scroll */
.pmo-front .wp-block-cover { min-height: 80svh; height: auto; }

/* Feature strip subtle panel */
.pmo-features {
  background:
    radial-gradient(1200px 600px at 70% 20%, rgba(122,0,25,.20), transparent 60%),
    radial-gradient(800px 400px at 22% 82%,  rgba(0,97,65,.16),  transparent 60%),
    var(--wp--preset--color--bg-dark);
}

/* Button readability on dark */
.wp-block-button__link { font-weight: 700; letter-spacing: .02em; }