/* === Captions 全局定位（所有视口生效）=== */
body.page .mooton-home-hero-visual {
	position: relative;
}

body.page .mooton-home-hero-captions {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 3;
	pointer-events: none;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	flex: none !important;
}

body.page .mooton-home-hero-captions > * {
	pointer-events: auto;
	margin: 0 !important;
}

body.page .mooton-home-hero-captions p {
	margin: 0 !important;
	font-weight: 700;
	line-height: 1.3;
	color: #ffffff;
	text-shadow: 0 0 12px rgba(0, 0, 0, 0.95), 0 2px 6px rgba(0, 0, 0, 0.8);
}

/* === Hero layout: 768px+ (desktop + tablet) === */
@media (min-width: 768px) {
	body.page {
		--mooton-hero-nav-offset: 0px;
	}

	body.page .mooton-home-hero-slide {
		box-sizing: border-box;
		height: calc(80vh - var(--mooton-hero-nav-offset)) !important;
		margin-top: var(--mooton-hero-nav-offset);
		min-height: 400px !important;
	}

	body.page .mooton-home-hero-slide .slide-content {
		align-items: stretch !important;
		box-sizing: border-box;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		height: 100% !important;
		margin-top: 0 !important;
		min-height: 100% !important;
		width: 100%;
	}

	body.page .mooton-home-hero-frame {
		align-items: center;
		box-sizing: border-box;
		display: flex !important;
		height: 100%;
		justify-content: center;
		margin-top: 0;
		min-height: 100%;
		padding: 0 clamp(16px, 3vw, 56px) 0 !important;
		width: 100%;
	}

	body.page .mooton-home-hero-frame > .wp-block-spacer {
		display: none !important;
	}

	body.page .mooton-home-hero-frame > .wp-block-columns {
		align-items: center !important;
		display: grid !important;
		gap: clamp(12px, 1.2vw, 20px);
		grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
		margin: 0 auto !important;
		max-width: none;
		width: 100%;
	}

	body.page .mooton-home-hero-frame > .wp-block-columns > .wp-block-column:first-child {
		min-width: 0;
		padding-right: 0 !important;
		padding-top: 0 !important;
	}

	body.page .mooton-home-hero-frame > .wp-block-columns > .wp-block-column:first-child > * {
		max-width: 100%;
	}

	body.page .mooton-home-hero-frame > .wp-block-columns > .wp-block-column:last-child {
		min-width: 0;
	}

	body.page .mooton-home-hero-visual {
		border: 8px solid #f7f7f5ab;
		border-radius: 4px;
		display: grid !important;
		gap: 0;
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		min-width: 0;
		overflow: hidden;
		width: 100%;
	}

	body.page .mooton-home-hero-primary {
		aspect-ratio: 16 / 12;
		height: auto !important;
		min-height: 0 !important;
		background-position: center center !important;
		background-size: cover !important;
		grid-row: 1 / span 2;
		width: 100%;
	}

	body.page .mooton-home-hero-stack {
		display: grid !important;
		gap: 0 !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
		padding: 0 !important;
		width: 100%;
	}

	body.page .mooton-home-hero-secondary,
	body.page .mooton-home-hero-tertiary,
	body.page .mooton-home-hero-placeholder {
		aspect-ratio: 16 / 9;
		height: auto !important;
		min-height: 0 !important;
		background-position: center center !important;
		background-size: cover !important;
		width: 100%;
	}

	body.page .mooton-home-hero-placeholder {
		background: #d8e1e9 url("/wp-content/uploads/2025/09/default.png") center center / cover no-repeat;
	}

	/* Captions overlay — grid 布局 */
	body.page .mooton-home-hero-captions {
		display: grid !important;
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
		gap: 0 !important;
	}

	body.page .mooton-home-hero-captions > * {
		display: flex !important;
		align-items: flex-start;
	}

	body.page .mooton-home-hero-captions > *:first-child {
		grid-row: 1 / span 2;
		grid-column: 1;
		justify-content: center;
	}

	body.page .mooton-home-hero-captions > *:nth-child(2) {
		grid-row: 1;
		grid-column: 2;
		justify-content: flex-end;
	}

	body.page .mooton-home-hero-captions > *:nth-child(3) {
		grid-row: 2;
		grid-column: 2;
		justify-content: flex-end;
	}

	body.page .mooton-home-hero-captions p {
		padding: clamp(6px, 0.8vw, 10px) clamp(10px, 1.2vw, 16px);
		font-size: clamp(18px, 2vw, 28px);
	}
}

/* Tablet tweaks: extra bottom breathing room for button */
@media (min-width: 768px) and (max-width: 1023px) {
	body.page .mooton-home-hero-copy {
		padding-bottom: clamp(24px, 5vw, 40px) !important;
	}
}

/* Mid-size desktop */
@media (min-width: 1024px) and (max-width: 1280px) {
	body.page .mooton-home-hero-copy {
		padding-bottom: 40px !important;
	}
}

/* === Featured Projects 3-col grid (1024px+) === */
@media (min-width: 1024px) {
	body.page [data-spectra-id="41c3ba05"] {
		align-items: stretch !important;
		display: grid !important;
		gap: 24px !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container {
		display: flex !important;
		flex-direction: column !important;
		height: 100%;
		justify-content: flex-start !important;
		min-width: 0;
		overflow: hidden;
		padding: 24px !important;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:first-child {
		align-self: stretch;
		margin: 0 0 20px !important;
		overflow: hidden;
		padding: 0 !important;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:first-child .wp-block-image,
	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:first-child .wp-block-image a,
	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:first-child .wp-block-image img {
		display: block;
		width: 100%;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:first-child .wp-block-image img {
		aspect-ratio: 16 / 9 !important;
		border-radius: 12px !important;
		height: auto !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:last-child {
		display: flex !important;
		flex: 1 1 auto;
		flex-direction: column !important;
		gap: 16px !important;
		padding: 0 !important;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container > .wp-block-spectra-container:last-child .wp-block-spectra-content:last-of-type {
		flex: 1 1 auto;
	}

	body.page [data-spectra-id="41c3ba05"] > .wp-block-spectra-container .wp-block-spectra-buttons {
		margin-top: auto;
	}
}

/* Find Your Play Space Solution — cards: visible shadow */
[data-spectra-id="e9afa435"],
[data-spectra-id="spectra-cabb2bfd-1d94-45e3-9931-666ab888c061"],
[data-spectra-id="spectra-415f10a0-7fbc-4eba-87be-a7cea97336c5"] {
	box-shadow: 0 4px 24px rgba(0,0,0,0.10) !important;
}
