/* Native row shape layers; the shared spacing scale owns their proportions. */
/* Rules family: kit edge heights per size step; fallbacks are the original stops. */
.fl-row.bbs-row-separator { --bbs-row-separator-height: var(--bbs-edge-height-medium, var(--bbs-spacing-12)); }
.fl-row.bbs-row-separator-size-subtle { --bbs-row-separator-height: var(--bbs-edge-height-subtle, var(--bbs-spacing-6)); }
.fl-row.bbs-row-separator-size-bold { --bbs-row-separator-height: var(--bbs-edge-height-bold, var(--bbs-spacing-20)); }
.fl-row.bbs-row-separator > .fl-row-content-wrap > .fl-builder-shape-layer {
	pointer-events: none;
	overflow: hidden;
}
.fl-row.bbs-row-separator > .fl-row-content-wrap > .fl-builder-shape-layer > svg {
	width: 100%;
	/* The managed edge owns its height. BB's layout script freezes every shape
	   svg's measured height inline (FLBuilderLayout._adjustRowShapeLayerHeight,
	   Math.ceil, on load and window resize), but the kit edge height is fluid:
	   a frozen value depends on the width it was measured at, and a re-rendered
	   row re-measures at the current one. The 1px overscan below already covers
	   BB's hairline seam, so the frozen value is overridden, not needed. */
	height: calc(var(--bbs-row-separator-height) + 1px) !important;
}
/* Overscan the flat edge inside its clip to avoid fractional-pixel seams.
   The inward edge and reserved content space retain the exact kit height. */
.fl-row.bbs-row-separator > .fl-row-content-wrap > .fl-builder-top-edge-layer > svg { top: -1px; }
.fl-row.bbs-row-separator > .fl-row-content-wrap > .fl-builder-bottom-edge-layer > svg { bottom: -1px; }
/* Reserve space inside the content rail, retaining the row's own outer inset. */
.fl-row.bbs-row-separator-top > .fl-row-content-wrap > .fl-row-content,
.fl-row.bbs-row-separator-both > .fl-row-content-wrap > .fl-row-content {
	padding-top: var(--bbs-row-separator-height);
}
.fl-row.bbs-row-separator-bottom > .fl-row-content-wrap > .fl-row-content,
.fl-row.bbs-row-separator-both > .fl-row-content-wrap > .fl-row-content {
	padding-bottom: var(--bbs-row-separator-height);
}
@media (forced-colors: active) {
	.fl-row.bbs-row-separator > .fl-row-content-wrap > .fl-builder-shape-layer { display: none; }
}
