/**
 * Miglior CRM - layout primitives.
 *
 * Containers, sections, section headings and grids. No visual components here.
 */

/* Container */
.mc-container {
	width: 100%;
	max-width: calc(var(--mc-container) + var(--mc-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--mc-gutter);
}

.mc-container--narrow {
	max-width: calc(var(--mc-container-narrow) + var(--mc-gutter) * 2);
}

/*
 * Classic themes (Kadence) wrap core/group children in
 * .wp-block-group__inner-container, so grid/flex components built from
 * groups would see a single child. Let the wrapper vanish from layout for
 * mc-* component groups (is-style-mc-* block styles handle it themselves).
 */
.wp-block-group:is([class^="mc-"], [class*=" mc-"]) > .wp-block-group__inner-container {
	display: contents;
}

/* Sections */
.mc-section {
	padding-block: var(--mc-section-gap) 0;
}

.mc-section--padded {
	padding-block: var(--mc-section-gap);
}

.mc-section--dark {
	margin-top: var(--mc-section-gap);
	padding-block: clamp(3rem, 2.4rem + 2.4vw, 3.75rem);
	background: var(--mc-ink);
	color: var(--mc-on-dark);
}

.mc-section--dark + .mc-section--dark,
.mc-hero + .mc-section--dark {
	margin-top: 0;
}

.mc-section--gray {
	margin-top: var(--mc-section-gap);
	padding-block: var(--mc-section-gap);
	background: var(--mc-gray-100);
}

/* Section heading: kicker + title + lead, optional actions on the right */
.mc-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--mc-space-4) var(--mc-space-6);
	margin-bottom: var(--mc-space-6);
}

.mc-section-head__text {
	max-width: 62ch;
}

.mc-section-head__title {
	margin: var(--mc-space-2) 0 var(--mc-space-2);
	font-size: var(--mc-fs-h2);
}

.mc-section-head__lead {
	margin: 0;
	color: var(--mc-text-3);
	font-size: 0.9375rem;
}

/* Kadence's .single-content p/h2 margins (32px / 1.5em) outrank the ones above */
.single-content .mc-kicker,
.single-content .mc-section-head__lead {
	margin: 0;
}

.single-content .mc-section-head__title {
	margin: var(--mc-space-2) 0;
}

.mc-section--dark .mc-section-head__lead,
.mc-dark .mc-section-head__lead {
	color: var(--mc-on-dark-2);
}

.mc-section-head__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-2);
}

/* Grids */
.mc-grid {
	display: grid;
	gap: var(--mc-space-4);
}

@media (min-width: 720px) {
	.mc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1025px) {
	.mc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Split: text column + aside (FAQ, intro blocks) */
.mc-split {
	display: grid;
	gap: var(--mc-space-6);
	align-items: start;
}

@media (min-width: 1025px) {
	.mc-split {
		grid-template-columns: 1fr 1.3fr;
		gap: var(--mc-space-12);
	}
}

/* Content + sidebar (reviews, guides) */
.mc-layout-sidebar {
	display: grid;
	gap: var(--mc-space-10);
	align-items: start;
}

@media (min-width: 1025px) {
	.mc-layout-sidebar {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: var(--mc-space-12);
	}

	.mc-layout-sidebar__aside {
		position: sticky;
		top: calc(var(--mc-header-h) + var(--mc-space-6));
	}
}

/* Stack: vertical rhythm helper */
.mc-stack > * + * {
	margin-top: var(--mc-space-4);
}
