/* Innovate ScrollStage · Gutenberg glue styles.
   The unclip-* classes are applied by ss-gutenberg.js ONLY to the real ancestor
   chain of a tagged pinning host — never globally — so a position:sticky stage
   can actually stick. */
.ss-unclip-overflow {
	overflow: visible !important;
}

.ss-unclip-transform {
	transform: none !important;
	perspective: none !important;
	filter: none !important;
}

/* Pinned effects recede the buried panel with a depth scale, so any
   area the top panel doesn't cover reveals whatever is BEHIND the stage. Give the
   pinned stage an opaque default background so that "behind" is the stage itself,
   not the page. A background set on the block in the editor outputs a
   higher-priority rule and overrides this. */
.ss-viewport {
	background-color: var(--ss-stage-bg, #0b0f1a);
}

/* The stage must be edge-to-edge. Block themes constrain group content width and
   add block-gap margins; strip those on the STRUCTURAL stage blocks (host +
   viewport) so the viewport and panels fill the section. Panels keep their own
   design padding (from patterns.css or the user), so we only strip their margin
   and width cap — never their padding. */
.ss-host,
.ss-viewport {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	max-width: none !important;
}
.ss-panel {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	max-width: none !important;
}

/* Constrained-layout groups center their children in a max-width column and add
   vertical gaps between them. On our stage blocks we want children full-bleed and
   flush. */
.ss-host.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.ss-viewport.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}
.ss-host.is-layout-flow > * + *,
.ss-viewport.is-layout-flow > * + *,
.ss-viewport > * + * {
	margin-block-start: 0 !important;
}
