/* ==========================================================
   WP Concierge LA — Front Page Composition
   Existing Gutenberg content remains the content layer.
   ========================================================== */

/* Make Astra's front-page content canvas truly full width. */
body.home .site-content,
body.home .site-content > .ast-container,
body.home #primary,
body.home .site-main,
body.home article.page,
body.home .entry-content {
	width: 100%;
	max-width: none;
	margin: var(--wpcla-s0);
	padding: var(--wpcla-s0);
}

body.home .site-content > .ast-container {
	display: block;
}

/* ---------- Hero ---------- */

body.home .entry-content > .wp-block-group:first-child {
	min-height: var(--wpcla-hero-min);
	width: 100%;
	max-width: none;
	margin: var(--wpcla-s0);
	padding:
		var(--wpcla-s16)
		max(var(--wpcla-gutter), calc((100vw - var(--wpcla-shell)) / 2))
		var(--wpcla-s12);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background-image:
		var(--wpcla-hero-overlay),
		url("../images/golden-hour-workspace.webp");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	color: var(--wpcla-white);
}

body.home .entry-content > .wp-block-group:first-child > * {
	max-width: var(--wpcla-hero-copy);
}

body.home .entry-content > .wp-block-group:first-child > p:first-child {
	margin: var(--wpcla-s0) var(--wpcla-s0) var(--wpcla-s2);
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--wpcla-fs-sm);
	font-weight: var(--wpcla-weight-bold);
	letter-spacing: var(--wpcla-track-wide);
	text-transform: uppercase;
}

body.home .entry-content > .wp-block-group:first-child h1 {
	margin: var(--wpcla-s0) var(--wpcla-s0) var(--wpcla-s3);
	color: var(--wpcla-white);
	font-size: var(--wpcla-fs-hero);
	text-shadow: 0 0.25rem 1.75rem rgba(0, 0, 0, 0.18);
}

body.home .entry-content > .wp-block-group:first-child p.has-large-font-size,
body.home .entry-content > .wp-block-group:first-child h1 + p {
	margin-bottom: var(--wpcla-s4);
	max-width: 40rem;
	color: rgba(255, 255, 255, 0.91);
	font-size: var(--wpcla-fs-md) !important;
	line-height: 1.55;
}

body.home .entry-content > .wp-block-group:first-child .wp-block-buttons {
	gap: var(--wpcla-s2);
	margin-top: var(--wpcla-s3);
}

body.home .entry-content > .wp-block-group:first-child .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	border-color: var(--wpcla-white);
	background: var(--wpcla-white);
	color: var(--wpcla-ink);
}

body.home .entry-content > .wp-block-group:first-child .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	border-color: var(--wpcla-copper);
	background: var(--wpcla-copper);
	color: var(--wpcla-white);
}

body.home .entry-content > .wp-block-group:first-child .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.78);
	background: rgba(255, 255, 255, 0.04);
	color: var(--wpcla-white);
}

body.home .entry-content > .wp-block-group:first-child .wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wpcla-white);
	background: rgba(255, 255, 255, 0.12);
}

/* ---------- Shared section width ---------- */

body.home .entry-content > h2,
body.home .entry-content > p,
body.home .entry-content > .wp-block-columns,
body.home .entry-content > .wp-block-group:not(:first-child) {
	width: min(calc(100% - (var(--wpcla-gutter) * 2)), var(--wpcla-shell));
	margin-left: auto;
	margin-right: auto;
}

body.home .entry-content > .wp-block-spacer {
	height: var(--wpcla-s8) !important;
}

/* ---------- Service introduction ---------- */

body.home .entry-content > h2:first-of-type {
	max-width: 52rem;
	margin-top: var(--wpcla-s12);
	margin-bottom: var(--wpcla-s2);
	text-align: center;
}

body.home .entry-content > h2:first-of-type + p {
	max-width: var(--wpcla-reading);
	margin-bottom: var(--wpcla-s5);
	text-align: center;
}

/* ---------- Service cards ---------- */

body.home .entry-content > .wp-block-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wpcla-s2);
	margin-top: var(--wpcla-s2);
	margin-bottom: var(--wpcla-s2);
}

body.home .entry-content > .wp-block-columns > .wp-block-column {
	min-height: 16rem;
	padding: var(--wpcla-s4);
	border: var(--wpcla-border-width) solid var(--wpcla-border);
	border-radius: var(--wpcla-radius-md);
	background: rgba(255, 255, 255, 0.72);
	box-shadow: var(--wpcla-shadow-soft);
	transition:
		border-color var(--wpcla-transition),
		box-shadow var(--wpcla-transition),
		transform var(--wpcla-transition);
}

body.home .entry-content > .wp-block-columns > .wp-block-column:hover {
	border-color: var(--wpcla-copper);
	box-shadow: var(--wpcla-shadow-lift);
	transform: translateY(-0.125rem);
}

body.home .entry-content > .wp-block-columns > .wp-block-column::before {
	content: "";
	display: block;
	width: var(--wpcla-s6);
	height: 0.1875rem;
	margin-bottom: var(--wpcla-s3);
	border-radius: var(--wpcla-radius-sm);
	background: var(--wpcla-copper);
}

body.home .entry-content > .wp-block-columns h3 {
	margin-bottom: var(--wpcla-s2);
	font-size: var(--wpcla-fs-lg);
}

body.home .entry-content > .wp-block-columns p {
	color: var(--wpcla-muted);
	font-size: var(--wpcla-fs-base);
}

body.home .entry-content > .wp-block-columns p:last-child {
	margin-top: var(--wpcla-s3);
	margin-bottom: var(--wpcla-s0);
}

body.home .entry-content > .wp-block-columns p:last-child a {
	color: var(--wpcla-navy);
	font-weight: var(--wpcla-weight-bold);
	text-decoration: none;
}

/* ---------- Concierge explanation and final CTA ---------- */

body.home .entry-content > .wp-block-group:not(:first-child) {
	margin-top: var(--wpcla-s8);
	margin-bottom: var(--wpcla-s8);
	padding: clamp(var(--wpcla-s5), 5vw, var(--wpcla-s8));
	border-radius: var(--wpcla-radius-lg);
	background: var(--wpcla-navy);
	box-shadow: var(--wpcla-shadow-soft);
}

body.home .entry-content > .wp-block-group:not(:first-child) h2 {
	max-width: 48rem;
	margin-bottom: var(--wpcla-s2);
	color: var(--wpcla-white);
}

body.home .entry-content > .wp-block-group:not(:first-child) p {
	max-width: 60rem;
	color: rgba(255, 255, 255, 0.78);
}

body.home .entry-content > .wp-block-group:not(:first-child) a {
	color: #f1c59f;
	font-weight: var(--wpcla-weight-semibold);
}

body.home .entry-content > .wp-block-group:last-child {
	margin-bottom: var(--wpcla-s12);
	background: var(--wpcla-paper-deep);
	box-shadow: none;
	border: var(--wpcla-border-width) solid var(--wpcla-border);
}

body.home .entry-content > .wp-block-group:last-child h2,
body.home .entry-content > .wp-block-group:last-child p {
	color: var(--wpcla-ink);
}

body.home .entry-content > .wp-block-group:last-child .wp-block-button__link {
	color: var(--wpcla-white);
}

/* ---------- Responsive ---------- */

@media (max-width: 62rem) {
	body.home .entry-content > .wp-block-group:first-child {
		min-height: 38rem;
		padding:
			var(--wpcla-s12)
			var(--wpcla-gutter)
			var(--wpcla-s8);
		background-position: 62% center;
	}

	body.home .entry-content > .wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 42rem) {
	body.home .entry-content > .wp-block-group:first-child {
		min-height: 36rem;
		padding:
			var(--wpcla-s10)
			var(--wpcla-gutter)
			var(--wpcla-s6);
		background-position: 67% center;
	}

	body.home .entry-content > .wp-block-group:first-child .wp-block-buttons {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.home .entry-content > .wp-block-group:first-child .wp-block-button,
	body.home .entry-content > .wp-block-group:first-child .wp-block-button__link {
		width: 100%;
		text-align: center;
	}

	body.home .entry-content > .wp-block-columns {
		grid-template-columns: 1fr;
	}

	body.home .entry-content > .wp-block-columns > .wp-block-column {
		min-height: 0;
	}

	body.home .entry-content > .wp-block-group:not(:first-child) {
		border-radius: var(--wpcla-radius-md);
	}
}
