/* Hero Options adds to the effective Row entry rhythm, never to inner content.
 * Load after layout-patterns.css. Page-entry/relationship consumers expose their
 * existing top-padding token as --bbs-hero-base-padding-top on this same wrap;
 * otherwise the original density remains the base. Header integration supplies
 * only --bbs-hero-header-clearance. Neither addition replaces the normal rhythm.
 * Both additions default to zero; no local default shadows a site/root option.
 */
.fl-row[data-node].bbs-hero-spacing-options > .fl-row-content-wrap {
	padding-block-start: calc(
		var( --bbs-hero-base-padding-top, var( --bbs-scope-padding-top, var( --bbs-scope-padding-y, 0px ) ) )
		+ var( --bbs-hero-extra-top-space, 0px )
		+ var( --bbs-hero-header-clearance, 0px )
	) !important;
}

/* A heading option changes typography, not the heading's semantic level.
 * Only the explicit Hero Heading module consumes these inherited channels;
 * contact-card headings, eyebrows, buttons and body copy remain untouched.
 * Keep the source role as the blank fallback — the three heroes do not all
 * start at the same size. Strong/Display map to design-kit roles in the closed
 * Component Options registry, not to component-local pixels or font weights.
 */
.bbs-hero-spacing-options .bbs-hero-heading.bbs-role-h1-hero {
	--bbs-hero-default-font-size: var( --bbs-font-size-h1-hero );
	--bbs-hero-default-font-family: var( --bbs-font-family-role-h1-hero );
	--bbs-hero-default-font-weight: var( --bbs-font-weight-h1-hero );
	--bbs-hero-default-line-height: var( --bbs-line-height-h1-hero );
	--bbs-hero-default-letter-spacing: var( --bbs-letter-spacing-h1-hero, 0em );
}
.bbs-hero-spacing-options .bbs-hero-heading.bbs-role-display-xl {
	--bbs-hero-default-font-size: var( --bbs-font-size-display-xl );
	--bbs-hero-default-font-family: var( --bbs-font-family-role-display-xl );
	--bbs-hero-default-font-weight: var( --bbs-font-weight-display-xl );
	--bbs-hero-default-line-height: var( --bbs-line-height-display-xl );
	--bbs-hero-default-letter-spacing: var( --bbs-letter-spacing-display-xl, 0em );
}
.bbs-hero-spacing-options .fl-module-heading.bbs-hero-heading,
.bbs-hero-spacing-options .fl-module-heading.bbs-hero-heading .fl-heading {
	font-size: var( --bbs-hero-heading-font-size, var( --bbs-hero-default-font-size ) );
	font-family: var( --bbs-hero-heading-font-family, var( --bbs-hero-default-font-family ) );
	font-weight: var( --bbs-hero-heading-font-weight, var( --bbs-hero-default-font-weight ) );
	line-height: var( --bbs-hero-heading-line-height, var( --bbs-hero-default-line-height ) );
	letter-spacing: var( --bbs-hero-heading-letter-spacing, var( --bbs-hero-default-letter-spacing ) );
}
