/** Shared content geometry. See Code-widget-builder.md, section 5. */
:root {
	--diiho-content-max: 1280px;
	--diiho-grid-padding: .5rem;
	--diiho-content-gutter: 1rem;
}

@media (min-width: 768px) {
	:root {
		--diiho-grid-padding: 1.5rem;
		--diiho-content-gutter: 3rem;
	}
}

/* Compact sections and footer columns already own their horizontal spacing. */
.diiho-builder-section--compact .diiho-builder-widget,
.diiho-builder-footer-column,
.diiho-builder__canvas-section--compact,
.diiho-builder__canvas-section--fixed-footer {
	--diiho-container-max: none;
	--diiho-container-gutter: 0px;
}

/* Explicit contract plus narrowly targeted compatibility for existing AI widgets.
 * Do not match every *__inner / *__container: those may be cards or slider tracks.
 * Only horizontal geometry is owned here; widgets retain vertical spacing. */
:is(.diiho-content-container, [data-diiho-container],
	.diiho-builder-widget .diiho-hero-slider__inner,
	.diiho-builder-widget .unique-widget__container,
	.diiho-ai-display[data-diiho-ai-display="cf7_form"] [data-diiho-items]) {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: var(--diiho-container-max, var(--diiho-content-max)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--diiho-container-gutter, var(--diiho-content-gutter)) !important;
	padding-right: var(--diiho-container-gutter, var(--diiho-content-gutter)) !important;
}

/* Nested containers must not apply the gutter a second time. */
:is(.diiho-content-container, [data-diiho-container],
	.diiho-builder-widget .diiho-hero-slider__inner,
	.diiho-builder-widget .unique-widget__container)
:is(.diiho-content-container, [data-diiho-container],
	.diiho-hero-slider__inner, .unique-widget__container,
	[data-diiho-items]) {
	--diiho-container-max: none;
	--diiho-container-gutter: 0px;
}
