/*
 * Structure for the nested SGGW Section shell. The header mirrors a native
 * Boxed container, while the editable body remains an actual Elementor
 * container and therefore owns its Kit-driven width, padding and layout.
 * The vertical rhythm follows the Gutenberg SGGW section shell.
 */

.sggw-elementor-section {
	background-color: transparent;
	box-sizing: border-box;
	color: var(--sggw-text);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	inline-size: 100%;
	padding-block: calc(
		var(--wp--preset--spacing--70, 48px) +
			var(--wp--preset--spacing--50, 32px)
	);
	row-gap: var(--wp--preset--spacing--60, 40px);
}

.sggw-elementor-section:is(
	.sggw-surface-0,
	.sggw-surface-1,
	.sggw-surface-2,
	.sggw-surface-3,
	.sggw-surface-accent-0,
	.sggw-surface-accent-1
) {
	background-color: var(--sggw-surface-current);
}

.sggw-elementor-section__header {
	box-sizing: border-box;
	inline-size: 100%;
	padding-inline-end: var(--container-default-padding-right, 10px);
	padding-inline-start: var(--container-default-padding-left, 10px);
}

.sggw-elementor-section__header-inner {
	align-items: start;
	box-sizing: border-box;
	column-gap: var(--wp--preset--spacing--50, 32px);
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	inline-size: 100%;
	margin-inline: auto;
	max-inline-size: var(--container-max-width, 1200px);
}

.sggw-elementor-section__copy {
	display: grid;
	gap: var(--wp--preset--spacing--20, 12px);
	min-inline-size: 0;
}

.sggw-elementor-section__action {
	align-self: start;
	justify-self: end;
}

.sggw-elementor-section__heading,
.sggw-elementor-section__description {
	margin-block: 0;
}

.sggw-elementor-section__heading {
	color: var(--sggw-text);
}

.sggw-elementor-section__description {
	color: var(--sggw-text-muted);
}

.sggw-elementor-section__button-content {
	align-items: center;
	display: inline-flex;
	gap: var(--wp--preset--spacing--10, 8px);
}

.sggw-elementor-section__button-icon {
	align-items: center;
	color: currentColor;
	display: inline-flex;
	font-size: var(--sggw-icon-size-medium, 24px);
	line-height: 1;
}

.sggw-elementor-section__button-icon :is(i, svg) {
	block-size: 1em;
	color: currentColor;
	fill: currentColor;
	inline-size: 1em;
}

.sggw-elementor-section__content {
	box-sizing: border-box;
	color: var(--sggw-text);
	inline-size: 100%;
	min-inline-size: 0;
}

@media (max-width: 48rem) {
	.sggw-elementor-section {
		padding-block: var(--wp--preset--spacing--70, 48px);
		row-gap: var(--wp--preset--spacing--50, 32px);
	}

	.sggw-elementor-section__header-inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--wp--preset--spacing--50, 32px);
	}

	.sggw-elementor-section__action {
		justify-self: start;
	}
}

@media (forced-colors: active) {
	.sggw-elementor-section {
		background: Canvas;
		color: CanvasText;
		forced-color-adjust: auto;
	}

	.sggw-elementor-section__heading,
	.sggw-elementor-section__description,
	.sggw-elementor-section__content {
		color: CanvasText;
	}
}
