/* ════════════════════════════════════════════════════════════════════════════
   04-LAYOUT.CSS — Armonea grid, container & spacing utilities
   Hard rules: --site-* vars only · 8pt grid spacing only
════════════════════════════════════════════════════════════════════════════ */

/* ── Container ───────────────────────────────────────────────────────────── */

.site-container {
	width: 100%;
	max-width: var(--site-container-max);
	margin-inline: auto;
	padding-inline: var(--site-space-l);
}

.site-container--wide {
	max-width: var(--site-container-wide);
}

/* ── Full-bleed override (Gutenberg alignfull) ───────────────────────────── */

.alignfull {
	margin-inline: calc(-1 * var(--site-space-l));
}

/* ── Section spacing ─────────────────────────────────────────────────────── */

.section {
	padding-block: var(--site-space-xl);
}

.section--lg {
	padding-block: var(--site-space-xxl);
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 767px) {
	.site-container {
		padding-inline: var(--site-space-s);
	}

	.alignfull {
		margin-inline: calc(-1 * var(--site-space-s));
	}

	.section {
		padding-block: var(--site-space-l);
	}

	.section--lg {
		padding-block: var(--site-space-xl);
	}
}

/* ── WP Grid Builder grid block ─────────────────────────────────────────── */

.wp-grid-builder {
	max-width: var(--site-container-max);
	margin-inline: auto;
	padding-inline: var(--site-space-l);
	box-sizing: border-box;
}

@media (max-width: 767px) {
	.wp-grid-builder {
		padding-inline: var(--site-space-s);
	}
}

/* ── Landing page header ─────────────────────────────────────────────────── */

.lp-header__logo {
	height: 80px;
	width: auto;
}

/* ── Landing page main ───────────────────────────────────────────────────── */
/* #wrapper.site.wp-site-blocks mirrors Kadence's wrapper — activates        */
/* alignfull CSS and matches the normal page containing block structure.      */
/* lp-main has no padding — blocks control their own width.                  */

.lp-main {
	width: 100%;
}

/* alignfull negative margin cancels parent padding — but lp-main has none,  */
/* so reset to 0 to prevent content from overflowing the viewport left edge. */
.lp-main .alignfull {
	margin-inline: 0;
}

/* All direct children constrained to site max-width, except full/wide-aligned and cover blocks */
.lp-main > *:not(.alignfull):not(.alignwide):not(.wp-block-cover) {
	max-width: var(--site-container-max);
	margin-inline: auto;
}

/* Bare text blocks also get horizontal padding */
.lp-main > .wp-block-heading,
.lp-main > .wp-block-paragraph,
.lp-main > p,
.lp-main > .wp-block-list,
.lp-main > ul,
.lp-main > ol,
.lp-main > .wp-block-quote,
.lp-main > blockquote {
	padding-inline: var(--site-space-l);
}

@media (max-width: 767px) {
	.lp-main > .wp-block-heading,
	.lp-main > .wp-block-paragraph,
	.lp-main > p,
	.lp-main > .wp-block-list,
	.lp-main > ul,
	.lp-main > ol,
	.lp-main > .wp-block-quote,
	.lp-main > blockquote {
		padding-inline: var(--site-space-s);
	}
}

/* ────────────────────────────────────────────────────────────────────────────
   SITE PAGE CONTAINER — shared centered content container
   Used by: single-armonea_site.php, single-armonea_event.php + site template
   parts. Lives here (global) because event singles do NOT load 09-site-single.css.
──────────────────────────────────────────────────────────────────────────── */
.site-page-container {
	width: 100%;
	max-width: var(--global-content-width);
	margin: 0 auto;
	padding: 0 var(--global-content-edge-padding);
	box-sizing: border-box;
}
