/**
 * Gutenberg block layout — alignfull / alignwide (homepage only).
 * Other pages use .cbs-container in templates.
 *
 * Desktop: 1200px content rail (matches nav). Gutter on .entry-content at all widths.
 */

:root {
	--wp--style--global--content-size: var(--cbs-content-max-width, 1200px);
	--wp--style--global--wide-size: var(--cbs-content-max-width, 1200px);
}

.home .entry-content {
	padding-left: var(--cbs-content-gutter, 20px);
	padding-right: var(--cbs-content-gutter, 20px);
}

/* Default + wide blocks — centered rail (blocks often ship inline padding:0). */
.home .entry-content > *:not(.alignfull):not(.alignleft):not(.alignright):not([class*="__inner-container"]) {
	max-width: var(--cbs-content-max-width, 1200px);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.home .entry-content > .alignfull {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	max-width: 100vw;
	width: 100vw;
}

.home .entry-content > .alignfull .alignfull,
.home .entry-content > .alignfull .alignwide,
.home .entry-content > .alignwide .alignfull,
.home .entry-content > .alignwide .alignwide,
.home .entry-content .wp-block-column .alignfull,
.home .entry-content .wp-block-column .alignwide {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.home .entry-content [class*="__inner-container"] > .alignfull {
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

@media (max-width: 1024px) {
	.home .entry-content .alignfull .wp-block-cover__inner-container,
	.home .entry-content .alignfull .wp-block-group__inner-container,
	.home .entry-content .wp-block-cover.alignfull .wp-block-cover__inner-container {
		padding-left: var(--cbs-content-gutter, 20px);
		padding-right: var(--cbs-content-gutter, 20px);
	}
}

@media (min-width: 1200px) {
	.home .entry-content .alignfull .wp-block-cover__inner-container,
	.home .entry-content .alignwide .wp-block-cover__inner-container,
	.home .entry-content .alignfull .wp-block-group__inner-container,
	.home .entry-content .alignwide .wp-block-group__inner-container,
	.home .entry-content .wp-block-cover.alignfull .wp-block-cover__inner-container,
	.home .entry-content .wp-block-cover.alignwide .wp-block-cover__inner-container {
		max-width: var(--cbs-content-max-width, 1200px);
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.home .entry-content > .wp-block-cover.alignfull,
	.home .entry-content > .wp-block-cover.alignwide,
	.home .entry-content > .wp-block-group.alignfull,
	.home .entry-content > .wp-block-group.alignwide {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Homepage hero — flush under nav, full-bleed cover. */
.home .site-content {
	padding-top: 0;
}

.home .content-area #primary {
	margin-top: 0;
	margin-bottom: 0;
}

.home .entry-content > .alignfull:first-child {
	margin-top: 0;
}

/*
 * Homepage hero CTA (.hero-text-box) — full-bleed background on mobile.
 * Desktop keeps the rounded card inside the 1200px rail; mobile extends the
 * gradient/image to the viewport edges.
 *
 * Cover + column ship inline padding and border-radius from the block editor;
 * !important is required to override those on small screens.
 */
@media (max-width: 1024px) {
	.home .wp-block-cover.hero-background.alignfull {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.home .wp-block-cover.hero-background .wp-block-cover__inner-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
		width: 100% !important;
	}

	.home .wp-block-cover.hero-background .wp-block-columns {
		width: 100% !important;
		max-width: none !important;
	}

	.home .hero-text-box.wp-block-column {
		width: 100% !important;
		max-width: none !important;
		flex-basis: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		border-radius: 0 !important;
		border-top-left-radius: 0 !important;
		border-top-right-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
		padding-left: var(--cbs-content-gutter, 20px) !important;
		padding-right: var(--cbs-content-gutter, 20px) !important;
		box-sizing: border-box !important;
	}
}

/*
 * Featured plugin banner (.featured-plugin-block — 3 columns under "Featured plugin").
 *
 * Per WordPress core, column "Align middle" sets align-self:center on each column,
 * shrink-wrapping height so in-column flex centering has no effect. Stretch columns
 * to the row height, then flex-center each column's contents.
 *
 * @see https://wordpress.com/support/wordpress-editor/blocks/columns-block/design-columns/
 */
.home .wp-block-group > .featured-plugin-block.wp-block-columns {
	align-items: stretch !important;
}

.home .wp-block-group > .featured-plugin-block.wp-block-columns > .wp-block-column {
	align-self: stretch !important;
	display: flex !important;
	align-items: center !important;
}

.home .wp-block-group > .featured-plugin-block.wp-block-columns > .homepage-featured-icon {
	justify-content: center !important;
}

.home .wp-block-group > .featured-plugin-block.wp-block-columns > .wp-block-column .wp-block-image {
	margin-top: 0;
	margin-bottom: 0;
}

.home .wp-block-group > .featured-plugin-block.wp-block-columns > .wp-block-column:last-child .wp-block-buttons,
.home .wp-block-group > .featured-plugin-block.wp-block-columns > .homepage-featured-button {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	width: 100%;
}
