.rs-rich-text-block.has-rs-margin-top {
	margin-top: var(--rs-margin-top, 0px);
}

/* Headings always keep a default bottom gap unless overridden by a saved variable. */
.wp-block-heading.rs-rich-text-block {
	margin-bottom: var(--rs-margin-bottom, 24px);
}

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

.rs-rich-text-block.has-rs-line-height {
	line-height: var(--rs-line-height);
}

/* Tablet overrides (≤ 1439px — mobile also inherits unless overridden below) */
@media (max-width: 1439px) {
	.rs-rich-text-block.has-rs-margin-top-tablet {
		margin-top: var(--rs-margin-top-tablet, var(--rs-margin-top, 0px));
	}

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

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

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

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

/* Mobile overrides (≤ 960px) */
@media (max-width: 959px) {
	.rs-rich-text-block.has-rs-margin-top-mobile {
		margin-top: var(--rs-margin-top-mobile, var(--rs-margin-top-tablet, var(--rs-margin-top, 0px)));
	}

	/* Headings: 16px bottom on small screens unless overridden by a saved variable. */
	.wp-block-heading.rs-rich-text-block {
		margin-bottom: var(--rs-margin-bottom-mobile, var(--rs-margin-bottom-tablet, var(--rs-margin-bottom, 16px)));
	}

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

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

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

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

/* Spacing */
.wp-block-columns.rs-columns-ext.has-rs-margin-top {
	margin-top: var(--rs-margin-top, 0px) !important;
}

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

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

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

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

/* Tablet (≤ 1439px) */
@media (max-width: 1439px) {
	.wp-block-columns.rs-columns-ext.has-rs-margin-top-tablet {
		margin-top: var(--rs-margin-top-tablet, var(--rs-margin-top, 0px)) !important;
	}

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

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

}

/* Mobile (≤ 959px) */
@media (max-width: 959px) {
	.wp-block-columns.rs-columns-ext.has-rs-margin-top-mobile {
		margin-top: var(--rs-margin-top-mobile, var(--rs-margin-top-tablet, var(--rs-margin-top, 0px))) !important;
	}

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

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

}

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

@media (max-width: 1439px) {
	.wp-block-column.has-rs-column-width-tablet {
		flex-basis: var(--rs-column-width-tablet) !important;
		max-width: var(--rs-column-width-tablet) !important;
	}
}

@media (max-width: 959px) {
	.wp-block-column.has-rs-column-width-mobile {
		flex-basis: var(--rs-column-width-mobile) !important;
		max-width: var(--rs-column-width-mobile) !important;
	}
}
