/*
Layer: 04-components
Datei: gutenberg-grid-compat.css
*/

/**
 * Generator-Markup: wp:columns/wp:group mit Grid-Klassen (Frontend + Editor).
 * Neutralisiert Standard-Flex von core/columns zugunsten bestehender Grid-CSS.
 */

.service-outcomes__grid.wp-block-columns,
.adiumento-cards-grid__row.wp-block-columns,
.adiumento-cards-grid__row.startseite-outcomes__grid,
.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns,
.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns.is-layout-flex,
.hub-output-grid.wp-block-columns,
.hub-principle-grid.wp-block-columns,
.example-cards__grid.wp-block-columns,
.case-snapshot__steps.wp-block-columns,
.case-snapshot__split.wp-block-columns,
.service-split-accordion__grid.wp-block-columns,
.service-page-tools__grid.wp-block-columns,
.wp-block-group.adiumento-icon-cards-grid,
.wp-block-group.adiumento-icon-cards-grid.is-layout-flow,
.wp-block-group.adiumento-icon-cards-grid.is-layout-constrained,
.service-outcomes__grid.wp-block-columns.is-layout-flex,
.hub-output-grid.wp-block-columns.is-layout-flex,
.hub-principle-grid.wp-block-columns.is-layout-flex,
.example-cards__grid.wp-block-columns.is-layout-flex,
.case-snapshot__steps.wp-block-columns.is-layout-flex,
.case-snapshot__split.wp-block-columns.is-layout-flex,
.service-split-accordion__grid.wp-block-columns.is-layout-flex,
.service-page-tools__grid.wp-block-columns.is-layout-flex {
	display: grid !important;
	flex-wrap: unset !important;
	flex-direction: unset !important;
	align-items: start;
}

.service-outcomes__grid.wp-block-columns {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.125rem;
	width: 100%;
	max-width: var(--layout-wide, 72rem);
	margin-inline: auto;
}

/* Kartenanzahl ≠ 4: Grid füllt die Breite gleichmäßig (kein „links hängender“ Block) */
.service-outcomes__grid.wp-block-columns:has(> :nth-child(1):last-child),
.service-outcomes__grid--count-1 {
	grid-template-columns: minmax(0, 1fr);
	max-width: 24rem;
}

.service-outcomes__grid.wp-block-columns:has(> :nth-child(2):last-child),
.service-outcomes__grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-outcomes__grid.wp-block-columns:has(> :nth-child(3):last-child),
.service-outcomes__grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.35rem);
	align-items: stretch;
}

.adiumento-cards-grid__row.wp-block-columns,
.adiumento-cards-grid__row.startseite-outcomes__grid {
	/* Zeilenausrichtung: data-row-align am Block-Wrapper (cards-grid.css) */
}

/* Lösungs-Overview (8 Kacheln in einem columns-Block) */
.loesungen-overview__grid.wp-block-columns,
.startseite-loesungen-teaser__grid.wp-block-columns {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1rem, 2.5vw, 1.35rem);
	align-items: stretch;
}

@media (min-width: 1100px) {
	.startseite-loesungen-teaser__grid.wp-block-columns {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 900px) and (max-width: 1099px) {
	.startseite-loesungen-teaser__grid.wp-block-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.hub-output-grid.wp-block-columns {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.125rem;
	width: 100%;
}

.hub-output-grid.wp-block-columns:has(> :nth-child(3):last-child),
.hub-output-grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hub-output-grid.wp-block-columns:has(> :nth-child(2):last-child),
.hub-output-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hub-principle-grid.wp-block-columns {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	width: 100%;
}

.hub-principle-grid.wp-block-columns:has(> :nth-child(3):last-child),
.hub-principle-grid--count-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hub-principle-grid.wp-block-columns:has(> :nth-child(2):last-child),
.hub-principle-grid--count-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.example-cards__grid.wp-block-columns {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.125rem);
	align-items: start;
}

.case-snapshot__steps.wp-block-columns {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.125rem);
}

.case-snapshot__split.wp-block-columns {
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: start;
}

.service-split-accordion__grid.wp-block-columns {
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: start;
}

.service-page-tools__grid.wp-block-columns {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
	max-width: 56rem;
	margin-inline: auto;
}

.service-outcomes__grid > .wp-block-column,
.startseite-pillars .adiumento-value-columns > .wp-block-column,
.adiumento-cards-grid__row > .wp-block-column,
.hub-output-grid > .wp-block-column,
.hub-principle-grid > .wp-block-column,
.example-cards__grid > .wp-block-column,
.case-snapshot__steps > .wp-block-column,
.case-snapshot__split > .wp-block-column,
.service-split-accordion__grid > .wp-block-column,
.service-page-tools__grid > .wp-block-column {
	flex-basis: unset !important;
	flex-grow: unset !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0 !important;
	max-width: 100%;
}

.service-split-accordion__grid > .wp-block-column.service-split-accordion__content {
	grid-column: 1;
	overflow: hidden;
}

.service-split-accordion__grid > .wp-block-column.service-split-accordion__visual-card {
	grid-column: 2;
}

.service-split-accordion__content .wp-block-coblocks-accordion {
	min-width: 0;
	max-width: 100%;
}

/* Gleiche Kartenhöhe pro Grid-Zeile (Gutenberg: column → group/article) */
.service-outcomes__grid.wp-block-columns,
.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns,
.adiumento-cards-grid__row.wp-block-columns,
.hub-output-grid.wp-block-columns,
.hub-principle-grid.wp-block-columns,
.case-snapshot__steps.wp-block-columns,
.service-page-tools__grid.wp-block-columns {
	align-items: stretch;
}

.service-outcomes__grid > .wp-block-column,
.startseite-pillars .adiumento-value-columns > .wp-block-column,
.adiumento-cards-grid__row > .wp-block-column,
.hub-output-grid > .wp-block-column,
.hub-principle-grid > .wp-block-column,
.case-snapshot__steps > .wp-block-column,
.service-page-tools__grid > .wp-block-column {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.adiumento-cards-grid__row .startseite-outcome-card,
.adiumento-cards-grid__row .adiumento-cards-grid__card {
	flex: 1 1 auto;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
}

.service-outcomes__grid .service-outcome-card,
.hub-output-grid .hub-output-card,
.hub-principle-grid .hub-principle-card,
.case-snapshot__steps .case-snapshot-step,
.service-page-tools__grid .service-tool-card {
	flex: 1 1 auto;
	height: 100%;
	min-height: 100%;
	box-sizing: border-box;
}

.example-cards__grid > .wp-block-column.example-card {
	display: block;
	height: auto;
}

.case-snapshot__steps--stacked.wp-block-group {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.service-outcomes__body > .wp-block-group,
.hub-outputs__body > .wp-block-group,
.hub-principles__body > .wp-block-group,
.example-cards__inner > .wp-block-group,
.case-snapshot__inner > .wp-block-group,
.service-split-accordion__inner > .wp-block-group {
	max-width: none;
}

@media (max-width: 980px) {
	/* Spezifität muss :has()/--count-* aus den Desktop-Regeln schlagen. */
	.service-outcomes__grid.wp-block-columns,
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(3):last-child),
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(4):last-child),
	.service-outcomes__grid--count-3,
	.service-outcomes__grid--count-4,
	.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns,
	.hub-output-grid.wp-block-columns,
	.hub-output-grid.wp-block-columns:has(> :nth-child(3):last-child),
	.hub-output-grid.wp-block-columns:has(> :nth-child(4):last-child),
	.hub-output-grid--count-3,
	.hub-output-grid--count-4,
	.hub-principle-grid.wp-block-columns,
	.hub-principle-grid.wp-block-columns:has(> :nth-child(3):last-child),
	.hub-principle-grid.wp-block-columns:has(> :nth-child(4):last-child),
	.hub-principle-grid--count-3,
	.hub-principle-grid--count-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: var(--layout-wide, 72rem);
	}

	.service-outcomes__grid.wp-block-columns:has(> :nth-child(1):last-child),
	.service-outcomes__grid--count-1,
	.hub-output-grid.wp-block-columns:has(> :nth-child(1):last-child),
	.hub-output-grid--count-1,
	.hub-principle-grid.wp-block-columns:has(> :nth-child(1):last-child),
	.hub-principle-grid--count-1 {
		grid-template-columns: minmax(0, 1fr);
		max-width: 24rem;
	}
}

@media (max-width: 960px) {
	body:not(.block-editor-iframe__body) .case-snapshot__split.wp-block-columns,
	body:not(.block-editor-iframe__body) .service-split-accordion__grid.wp-block-columns,
	body:not(.block-editor-iframe__body) .service-split-accordion__inner .service-split-accordion__grid.wp-block-columns,
	body:not(.block-editor-iframe__body) .service-split-accordion__grid.wp-block-columns.is-layout-flex,
	body:not(.block-editor-iframe__body) .wp-block-columns.is-not-stacked-on-mobile.service-split-accordion__grid {
		grid-template-columns: 1fr !important;
	}

	body:not(.block-editor-iframe__body) .service-split-accordion__grid > .wp-block-column.service-split-accordion__content,
	body:not(.block-editor-iframe__body) .service-split-accordion__grid > .wp-block-column.service-split-accordion__visual-card {
		grid-column: 1;
		width: 100% !important;
		max-width: 100% !important;
	}

	body:not(.block-editor-iframe__body) .case-snapshot__steps.wp-block-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 781px) {
	.example-cards__grid.wp-block-columns,
	.loesungen-overview__grid.wp-block-columns,
	.startseite-loesungen-teaser__grid.wp-block-columns,
	.adiumento-cards-grid__row.wp-block-columns,
	.adiumento-cards-grid__row.startseite-outcomes__grid {
		grid-template-columns: 1fr !important;
	}

	/* Fallback: altes Markup mit is-not-stacked-on-mobile */
	.wp-block-columns.is-not-stacked-on-mobile.loesungen-overview__grid,
	.wp-block-columns.is-not-stacked-on-mobile.startseite-loesungen-teaser__grid {
		display: grid !important;
		flex-direction: unset !important;
		flex-wrap: unset !important;
		grid-template-columns: 1fr !important;
	}

	.wp-block-columns.is-not-stacked-on-mobile.loesungen-overview__grid > .wp-block-column,
	.wp-block-columns.is-not-stacked-on-mobile.startseite-loesungen-teaser__grid > .wp-block-column {
		width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Outcomes / Hub: 1 Spalte ab 781px (WP-Columns-Konvention) */
	.service-outcomes__grid.wp-block-columns,
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(1):last-child),
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(2):last-child),
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(3):last-child),
	.service-outcomes__grid.wp-block-columns:has(> :nth-child(4):last-child),
	.service-outcomes__grid--count-1,
	.service-outcomes__grid--count-2,
	.service-outcomes__grid--count-3,
	.service-outcomes__grid--count-4,
	.wp-block-columns.is-not-stacked-on-mobile.service-outcomes__grid,
	.startseite-pillars .adiumento-value-columns.service-value-features.wp-block-columns,
	.hub-output-grid.wp-block-columns,
	.hub-output-grid.wp-block-columns:has(> :nth-child(1):last-child),
	.hub-output-grid.wp-block-columns:has(> :nth-child(2):last-child),
	.hub-output-grid.wp-block-columns:has(> :nth-child(3):last-child),
	.hub-output-grid.wp-block-columns:has(> :nth-child(4):last-child),
	.hub-output-grid--count-1,
	.hub-output-grid--count-2,
	.hub-output-grid--count-3,
	.hub-output-grid--count-4,
	.hub-principle-grid.wp-block-columns,
	.hub-principle-grid.wp-block-columns:has(> :nth-child(1):last-child),
	.hub-principle-grid.wp-block-columns:has(> :nth-child(2):last-child),
	.hub-principle-grid.wp-block-columns:has(> :nth-child(3):last-child),
	.hub-principle-grid.wp-block-columns:has(> :nth-child(4):last-child),
	.hub-principle-grid--count-1,
	.hub-principle-grid--count-2,
	.hub-principle-grid--count-3,
	.hub-principle-grid--count-4 {
		grid-template-columns: 1fr;
		max-width: var(--layout-wide, 72rem);
	}

	.service-outcomes__grid.wp-block-columns > .wp-block-column,
	.hub-output-grid.wp-block-columns > .wp-block-column,
	.hub-principle-grid.wp-block-columns > .wp-block-column {
		width: 100%;
		flex-basis: 100%;
	}

	.service-page-tools__grid.wp-block-columns {
		grid-template-columns: 1fr;
	}
}

/* Split-Accordion: Visual-Karte (Bild + Fokus-Liste) */
.service-split-accordion__visual-card.wp-block-group {
	overflow: hidden;
}

.service-split-accordion__visual-card .wp-block-image {
	margin: 0;
}

.service-split-accordion__visual-card .wp-block-image img {
	display: block;
	width: 100%;
	max-height: 14rem;
	object-fit: cover;
}

.service-split-accordion__grid > .wp-block-column {
	display: block;
}

/* Editor-Canvas: Grid + Kartenhöhe (Backend-WYSIWYG) */
.editor-styles-wrapper .example-cards__header,
.block-editor-iframe__body .example-cards__header {
	max-width: 46rem;
	margin-inline: auto;
	margin-bottom: clamp(1.5rem, 3vw, 2rem);
	text-align: center;
}

.editor-styles-wrapper .service-outcomes__grid.wp-block-columns,
.editor-styles-wrapper .hub-output-grid.wp-block-columns,
.editor-styles-wrapper .hub-principle-grid.wp-block-columns,
.editor-styles-wrapper .example-cards__grid.wp-block-columns,
.editor-styles-wrapper .case-snapshot__steps.wp-block-columns,
.editor-styles-wrapper .case-snapshot__split.wp-block-columns,
.editor-styles-wrapper .service-split-accordion__grid.wp-block-columns,
.block-editor-iframe__body .service-outcomes__grid.wp-block-columns,
.block-editor-iframe__body .example-cards__grid.wp-block-columns,
.block-editor-iframe__body .case-snapshot__split.wp-block-columns,
.block-editor-iframe__body .service-split-accordion__grid.wp-block-columns {
	display: grid !important;
	flex-wrap: unset !important;
}

.editor-styles-wrapper .example-cards__grid.wp-block-columns,
.block-editor-iframe__body .example-cards__grid.wp-block-columns {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(0.85rem, 2vw, 1.125rem);
	align-items: start !important;
}

.editor-styles-wrapper .service-split-accordion__grid.wp-block-columns,
.editor-styles-wrapper .case-snapshot__split.wp-block-columns,
.block-editor-iframe__body .service-split-accordion__grid.wp-block-columns,
.block-editor-iframe__body .case-snapshot__split.wp-block-columns,
.editor-styles-wrapper .service-split-accordion__grid.wp-block-columns.is-stacked-on-mobile,
.editor-styles-wrapper .case-snapshot__split.wp-block-columns.is-stacked-on-mobile,
.block-editor-iframe__body .service-split-accordion__grid.wp-block-columns.is-stacked-on-mobile,
.block-editor-iframe__body .case-snapshot__split.wp-block-columns.is-stacked-on-mobile {
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important;
	align-items: start !important;
	flex-direction: unset !important;
}

.editor-styles-wrapper .case-snapshot__steps--stacked.wp-block-group,
.block-editor-iframe__body .case-snapshot__steps--stacked.wp-block-group {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.75rem;
}

.editor-styles-wrapper .service-split-accordion__grid > .wp-block-column,
.editor-styles-wrapper .case-snapshot__split > .wp-block-column,
.block-editor-iframe__body .service-split-accordion__grid > .wp-block-column,
.block-editor-iframe__body .case-snapshot__split > .wp-block-column {
	display: block;
	flex-basis: unset !important;
	width: auto !important;
	margin: 0 !important;
}

.editor-styles-wrapper .example-cards__grid > .wp-block-column.example-card,
.block-editor-iframe__body .example-cards__grid > .wp-block-column.example-card {
	display: block;
	height: auto;
	min-height: 0;
}
