/* ─── core/heading, core/paragraph, core/list — typography & margin ─────────
 * Classes and vars are injected via core-rich-text-shared.js (editor)
 * and render_block PHP filter (frontend).
 * ────────────────────────────────────────────────────────────────────────── */

/* Mobile base */
.ct-rich-text-block.has-ct-margin-top-mobile {
	margin-top: var(--ct-margin-top-mobile, 0px);
}

.wp-block-heading.ct-rich-text-block {
	margin-bottom: var(--ct-margin-bottom-mobile, 16px);
}

.ct-rich-text-block.has-ct-margin-bottom-mobile {
	margin-bottom: var(--ct-margin-bottom-mobile, 16px);
}

.ct-rich-text-block.has-ct-font-size-mobile {
	font-size: var(--ct-font-size-mobile) !important;
}

.ct-rich-text-block.has-ct-font-size-mobile h1,
.ct-rich-text-block.has-ct-font-size-mobile h2,
.ct-rich-text-block.has-ct-font-size-mobile h3,
.ct-rich-text-block.has-ct-font-size-mobile h4,
.ct-rich-text-block.has-ct-font-size-mobile h5,
.ct-rich-text-block.has-ct-font-size-mobile h6,
.ct-rich-text-block.has-ct-font-size-mobile p,
.ct-rich-text-block.has-ct-font-size-mobile ul,
.ct-rich-text-block.has-ct-font-size-mobile ol {
	font-size: var(--ct-font-size-mobile) !important;
}

/* Line height — same across all breakpoints */
.ct-rich-text-block.has-ct-line-height {
	line-height: var(--ct-line-height);
}

/* Desktop overrides (≥ 769px) */
@media (min-width: 769px) {
	.ct-rich-text-block.has-ct-margin-top {
		margin-top: var(--ct-margin-top, 0px);
	}

	.wp-block-heading.ct-rich-text-block {
		margin-bottom: var(--ct-margin-bottom, 24px);
	}

	.ct-rich-text-block.has-ct-margin-bottom {
		margin-bottom: var(--ct-margin-bottom, 24px);
	}
}

/* ─── core/columns extension ─────────────────────────────────────────────────
 * Classes and vars are injected via core-columns-layout.js (editor)
 * and render_block PHP filter (frontend).
 * ────────────────────────────────────────────────────────────────────────── */

/* Mobile base */
.wp-block-columns.ct-columns-ext.has-ct-margin-top-mobile {
	margin-top: var(--ct-margin-top-mobile, 0px) !important;
}

.wp-block-columns.ct-columns-ext.has-ct-margin-bottom-mobile {
	margin-bottom: var(--ct-margin-bottom-mobile, 0px) !important;
}

.wp-block-columns.ct-columns-ext.has-ct-column-gap-mobile {
	gap: var(--ct-column-gap-mobile) !important;
}

/* Desktop overrides (≥ 769px) */
@media (min-width: 769px) {
	.wp-block-columns.ct-columns-ext.has-ct-margin-top {
		margin-top: var(--ct-margin-top, 0px) !important;
	}

	.wp-block-columns.ct-columns-ext.has-ct-margin-bottom {
		margin-bottom: var(--ct-margin-bottom, 0px) !important;
	}

	/* Column gap — overrides WP block-gap */
	.wp-block-columns.ct-columns-ext.has-ct-column-gap {
		gap: var(--ct-column-gap) !important;
	}

	/* Horizontal alignment */
	.wp-block-columns.ct-columns-ext.has-ct-justify-content {
		justify-content: var(--ct-justify-content) !important;
	}

	/* Vertical alignment */
	.wp-block-columns.ct-columns-ext.has-ct-align-items {
		align-items: var(--ct-align-items) !important;
	}
}

/* ─── core/column — responsive width ────────────────────────────────────────── */

/* Mobile base */
.wp-block-column.has-ct-column-width-mobile {
	flex-basis: var(--ct-column-width-mobile) !important;
	max-width: var(--ct-column-width-mobile) !important;
}
