/* File: wp-content/themes/nad-child-theme/assets/css/terra-landing.css
   Official Terra Landscape Collections brand layer.
   Loaded only on Terra Landing 1. Do not copy these tokens into nm-core.css. */

#colibri.nm-template-terra-landing {
	background-color: var(--nad-terra-cream, #fcf9ed);
	background-image: none;
}

#colibri.nm-template-terra-landing .terra-page {
	/* Official brand colors — exact hex only. */
	--terra-cream: var(--nad-terra-cream, #fcf9ed);
	--terra-olive: var(--nad-terra-primary, #45422b);
	--terra-sage: var(--nad-terra-secondary, #acad95);

	/* Typography */
	--terra-font-headline: "DM Sans", sans-serif;
	--terra-font-body: var(--nad-terra-font, "Muli", sans-serif);
	--terra-weight-headline: 700;
	--terra-weight-subhead: 600;
	--terra-weight-body: 400;

	/* Semantic color roles */
	--terra-color-background: var(--nad-terra-background, var(--terra-cream));
	--terra-color-text: var(--nad-terra-text, var(--terra-olive));
	--terra-color-heading: var(--nad-terra-text, var(--terra-olive));
	--terra-color-primary: var(--terra-olive);
	--terra-color-on-primary: var(--terra-cream);
	--terra-color-secondary: var(--terra-sage);
	--terra-color-border: var(--terra-sage);
	--terra-overlay: linear-gradient(90deg, rgba(69, 66, 43, 0.88) 0%, rgba(69, 66, 43, 0.6) 40%, rgba(69, 66, 43, 0) 72%);
	--terra-overlay-mobile: linear-gradient(180deg, rgba(69, 66, 43, 0.82) 0%, rgba(69, 66, 43, 0.62) 48%, rgba(69, 66, 43, 0.42) 100%);

	/* Functional tokens derived from official colors (not extra brand hex). */
	--terra-color-primary-hover: #2f2d1d;
	--terra-color-surface-muted: #f4f2e3;
	--terra-color-text-muted: #6e6b52;

	/* Map into Core layout tokens without putting Terra hex in nm-core.css */
	--nm-color-bg: var(--terra-color-background);
	--nm-color-muted: var(--terra-color-surface-muted);
	--nm-color-text: var(--terra-color-text);
	--nm-color-text-muted: var(--terra-color-text-muted);
	--nm-color-accent: var(--terra-color-primary);
	--nm-color-on-accent: var(--terra-color-on-primary);
	--nm-color-border: var(--terra-color-border);
	--nm-color-focus: var(--terra-olive);
	--nm-font: var(--terra-font-body);
	--nm-hero-min-height: 100vh;
	--nm-radius: var(--nad-terra-radius, 8px);
	--nm-font-size-display: clamp(1.65rem, 2.6vw + 0.85rem, 4rem);

	background: var(--terra-color-background);
	color: var(--terra-color-text);
	font-family: var(--terra-font-body);
	font-weight: var(--terra-weight-body);
}

@supports (height: 100svh) {
	#colibri.nm-template-terra-landing .terra-page {
		--nm-hero-min-height: 100svh;
	}
}

@supports (height: 100dvh) {
	#colibri.nm-template-terra-landing .terra-page {
		--nm-hero-min-height: 100dvh;
	}
}

@supports (color: color-mix(in srgb, #45422b 82%, #000)) {
	#colibri.nm-template-terra-landing .terra-page {
		--terra-color-primary-hover: color-mix(in srgb, var(--terra-olive) 82%, #000);
		--terra-color-surface-muted: color-mix(in srgb, var(--terra-cream) 88%, var(--terra-sage));
		--terra-color-text-muted: color-mix(in srgb, var(--terra-olive) 62%, var(--terra-cream));
	}
}

#colibri.nm-template-terra-landing .terra-page .nm-display,
#colibri.nm-template-terra-landing .terra-page .nm-heading,
#colibri.nm-template-terra-landing .terra-page h1,
#colibri.nm-template-terra-landing .terra-page h2,
#colibri.nm-template-terra-landing .terra-page h3,
#colibri.nm-template-terra-landing .terra-page .nm-card__title,
#colibri.nm-template-terra-landing .terra-page .nm-steps__title {
	color: var(--terra-color-heading);
	font-family: var(--terra-font-headline);
	font-weight: var(--terra-weight-headline);
	letter-spacing: normal;
	text-transform: none;
}

#colibri.nm-template-terra-landing .terra-page,
#colibri.nm-template-terra-landing .terra-page p,
#colibri.nm-template-terra-landing .terra-page .nm-lead,
#colibri.nm-template-terra-landing .terra-page .nm-help,
#colibri.nm-template-terra-landing .terra-page .nm-form,
#colibri.nm-template-terra-landing .terra-page .nm-form label,
#colibri.nm-template-terra-landing .terra-page .nm-form input,
#colibri.nm-template-terra-landing .terra-page .nm-form textarea {
	font-family: var(--terra-font-body);
	font-weight: var(--terra-weight-body);
}

#colibri.nm-template-terra-landing .terra-page .nm-eyebrow {
	color: var(--terra-color-heading);
	font-family: var(--terra-font-body);
	font-weight: var(--terra-weight-subhead);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

#colibri.nm-template-terra-landing .terra-page .nm-button {
	border-style: solid;
	border-width: var(--nm-button-stroke-width, 1px);
	font-family: var(--terra-font-body);
	font-weight: var(--terra-weight-subhead);
	letter-spacing: 0.06em;
}

/* Page body buttons only — Hero uses .terra-hero rules below (keeps Customizer vars authoritative). */
#colibri.nm-template-terra-landing .terra-page .nm-button--primary:not(.nm-hero *) {
	background: var(--terra-color-primary);
	border-color: var(--nm-button-stroke-color, var(--terra-color-primary));
	color: var(--terra-color-on-primary);
}

#colibri.nm-template-terra-landing .terra-page .nm-button--primary:not(.nm-hero *):hover,
#colibri.nm-template-terra-landing .terra-page .nm-button--primary:not(.nm-hero *):focus-visible {
	background: var(--terra-color-primary-hover);
	border-color: var(--nm-button-stroke-color, var(--terra-color-primary-hover));
	color: var(--terra-color-on-primary);
	opacity: 1;
}

#colibri.nm-template-terra-landing .terra-page .nm-button--secondary:not(.nm-hero *) {
	background: transparent;
	border-color: var(--nm-button-stroke-color, var(--terra-olive));
	color: var(--terra-olive);
}

#colibri.nm-template-terra-landing .terra-page .nm-button--secondary:not(.nm-hero *):hover,
#colibri.nm-template-terra-landing .terra-page .nm-button--secondary:not(.nm-hero *):focus-visible {
	background: var(--terra-cream);
	opacity: 1;
}

#colibri.nm-template-terra-landing .terra-page .nm-card,
#colibri.nm-template-terra-landing .terra-page .nm-steps__item {
	background: var(--terra-cream);
	border: var(--nm-stroke-width, 1px) solid var(--nm-stroke-color, var(--terra-sage));
}

#colibri.nm-template-terra-landing .terra-page .nm-form input,
#colibri.nm-template-terra-landing .terra-page .nm-form textarea,
#colibri.nm-template-terra-landing .terra-page .nm-form select {
	background: var(--terra-cream);
	border-color: var(--nm-stroke-color, var(--terra-sage));
	border-width: var(--nm-stroke-width, 1px);
	color: var(--terra-olive);
}

/* Video hero: Cream type over an Olive-derived overlay. Optional Hero Customizer vars override. */
#colibri.nm-template-terra-landing .terra-hero.nm-hero--media {
	color: var(--nm-hero-lead-color, var(--terra-cream));
	--nm-color-text: var(--nm-hero-lead-color, var(--terra-cream));
	--nm-color-focus: var(--nm-hero-heading-color, var(--terra-cream));
}

#colibri.nm-template-terra-landing .terra-hero .nm-hero__overlay {
	background: var(--nm-hero-overlay-compact, var(--terra-overlay-mobile));
}

#colibri.nm-template-terra-landing .terra-hero .nm-hero__inner {
	justify-content: center;
	padding-bottom: var(--nm-hero-pad-bottom, clamp(3rem, 12vh, 7.5rem));
	padding-inline-end: var(--nm-gutter);
	padding-inline-start: var(--nm-gutter);
	padding-top: max(calc(var(--nm-header-offset) + var(--nm-space-lg)), var(--nm-hero-pad-top, clamp(6.5rem, 18vh, 12.5rem)));
}

#colibri.nm-template-terra-landing .terra-hero .nm-eyebrow {
	color: var(--nm-hero-eyebrow-color, var(--terra-cream));
}

#colibri.nm-template-terra-landing .terra-hero .nm-display {
	color: var(--nm-hero-heading-color, var(--terra-cream));
	font-size: var(--nm-font-size-display);
}

#colibri.nm-template-terra-landing .terra-hero .nm-lead {
	color: var(--nm-hero-lead-color, var(--terra-cream));
}

/* Beat .terra-page .nm-button--* so optional Hero color vars always win.
   Use the same `background` shorthand as page rules so longhands do not fight. */
#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--primary {
	background: var(--nm-hero-primary-bg, var(--terra-olive));
	border-color: var(--nm-hero-primary-border, var(--nm-button-stroke-color, var(--terra-olive)));
	color: var(--nm-hero-primary-color, var(--terra-cream));
}

#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--primary:hover,
#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--primary:focus-visible {
	background: var(--nm-hero-primary-hover-bg, var(--terra-color-primary-hover));
	border-color: var(--nm-hero-primary-border, var(--nm-button-stroke-color, var(--terra-color-primary-hover)));
	color: var(--nm-hero-primary-hover-color, var(--nm-hero-primary-color, var(--terra-cream)));
	opacity: 1;
}

#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--secondary {
	background: var(--nm-hero-secondary-bg, transparent);
	border-color: var(--nm-hero-secondary-border, var(--nm-button-stroke-color, var(--terra-cream)));
	color: var(--nm-hero-secondary-color, var(--terra-cream));
}

#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--secondary:hover,
#colibri.nm-template-terra-landing .terra-hero.nm-hero .nm-button.nm-button--secondary:focus-visible {
	background: var(--nm-hero-secondary-hover-bg, rgba(252, 249, 237, 0.12));
	color: var(--nm-hero-secondary-hover-color, var(--nm-hero-secondary-color, var(--terra-cream)));
	opacity: 1;
}

#colibri.nm-template-terra-landing .terra-guide {
	align-items: start;
	display: grid;
	gap: var(--nm-space-xl);
	grid-template-columns: minmax(0, 1fr);
}

/* Olive high-contrast band: invert fill so primary stays the solid CTA. */
#colibri.nm-template-terra-landing .terra-page .nm-section--cta {
	background: var(--terra-olive);
	color: var(--terra-cream);
	--nm-color-text: var(--terra-cream);
	--nm-color-focus: var(--terra-cream);
}

#colibri.nm-template-terra-landing .terra-page .nm-section.nm-block--bg-color {
	background: var(--nm-block-bg, transparent);
	background-image: none;
}

#colibri.nm-template-terra-landing .terra-page .nm-section.nm-block--bg-none,
#colibri.nm-template-terra-landing .terra-page .nm-section--muted.nm-block--bg-none {
	background: transparent;
	background-image: none;
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta.nm-block--has-bg {
	background: var(--nm-block-bg, transparent);
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-lead,
#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-heading {
	color: var(--terra-cream);
	margin-left: auto;
	margin-right: auto;
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--primary {
	background: var(--terra-cream);
	border-color: var(--nm-button-stroke-color, var(--terra-cream));
	color: var(--terra-olive);
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--primary:hover,
#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--primary:focus-visible {
	background: var(--terra-cream);
	border-color: var(--nm-button-stroke-color, var(--terra-cream));
	color: var(--terra-olive);
	opacity: 0.92;
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--secondary {
	background: transparent;
	border-color: var(--nm-button-stroke-color, var(--terra-cream));
	color: var(--terra-cream);
}

#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--secondary:hover,
#colibri.nm-template-terra-landing .terra-page .nm-section--cta .nm-button--secondary:focus-visible {
	background: rgba(252, 249, 237, 0.12);
}

@container nm-hero (min-width: 48rem) {
	#colibri.nm-template-terra-landing .terra-hero .nm-hero__overlay {
		background: var(--nm-hero-overlay-wide, var(--terra-overlay));
	}
}

@container nm-section (min-width: 48rem) {
	#colibri.nm-template-terra-landing .terra-guide {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	}
}

@supports not (container-type: inline-size) {
	@media (min-width: 56.25em) {
		#colibri.nm-template-terra-landing .terra-hero .nm-hero__overlay {
			background: var(--nm-hero-overlay-wide, var(--terra-overlay));
		}

		#colibri.nm-template-terra-landing .terra-hero .nm-hero__inner {
			padding-inline-end: var(--nm-hero-pad-inline-end, var(--nm-gutter));
			padding-inline-start: var(--nm-hero-pad-inline-start, var(--nm-gutter));
		}

		#colibri.nm-template-terra-landing .terra-guide {
			grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		}
	}
}

@media (min-width: 56.25em) {
	#colibri.nm-template-terra-landing .terra-hero .nm-hero__inner {
		padding-inline-end: var(--nm-section-pad-end, var(--nm-hero-pad-inline-end, var(--nm-gutter)));
		padding-inline-start: var(--nm-section-pad-start, var(--nm-hero-pad-inline-start, var(--nm-gutter)));
	}

	#colibri.nm-template-terra-landing .terra-hero .nm-hero__inner.nm-has-pad-start {
		padding-inline-start: var(--nm-section-pad-start);
	}

	#colibri.nm-template-terra-landing .terra-hero .nm-hero__inner.nm-has-pad-end {
		padding-inline-end: var(--nm-section-pad-end);
	}
}

@media (max-width: 56.25em) and (orientation: landscape) {
	#colibri.nm-template-terra-landing .terra-hero .nm-hero__overlay {
		background: var(--nm-hero-overlay-compact, var(--terra-overlay-mobile));
	}
}

@media (min-width: 56.25em) {
	#colibri.nadmedia-customizer-preview.nm-template-terra-landing .terra-hero .nm-hero__inner {
		padding-inline-end: var(--nm-section-pad-end, var(--nm-hero-pad-inline-end, var(--nm-gutter)));
		padding-inline-start: var(--nm-section-pad-start, var(--nm-hero-pad-inline-start, var(--nm-gutter)));
	}

	#colibri.nadmedia-customizer-preview.nm-template-terra-landing .terra-hero .nm-hero__inner.nm-has-pad-start {
		padding-inline-start: var(--nm-section-pad-start);
	}

	#colibri.nadmedia-customizer-preview.nm-template-terra-landing .terra-hero .nm-hero__inner.nm-has-pad-end {
		padding-inline-end: var(--nm-section-pad-end);
	}
}

/* Build Your Yard / collections — Core grid + card, Terra presentation only. */
#colibri.nm-template-terra-landing .terra-collections {
	background: var(--terra-collections-bg, var(--terra-color-background));
	scroll-margin-top: calc(var(--nm-header-offset) + var(--nm-space-sm));
}

#colibri.nm-template-terra-landing .terra-collections .nm-card-grid {
	display: grid;
}

#colibri.nm-template-terra-landing .terra-collections .nm-card,
#colibri.nm-template-terra-landing .terra-collections .wp-block-group.nm-card {
	display: flex;
	flex-direction: column;
}

#colibri.nm-template-terra-landing .terra-collections .nm-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

#colibri.nm-template-terra-landing .terra-collections .nm-card__text {
	color: var(--terra-color-text);
	margin: 0 0 var(--nm-space-md);
	overflow-wrap: anywhere;
}

#colibri.nm-template-terra-landing .terra-collections .nm-card .nm-button-group {
	margin-top: auto;
}

#colibri.nm-template-terra-landing .terra-collections .nm-card .nm-button {
	max-width: 100%;
	white-space: normal;
	width: 100%;
}

#colibri.nm-template-terra-landing .terra-collections .wp-block-image,
#colibri.nm-template-terra-landing .terra-collections .wp-block-image img,
#colibri.nm-template-terra-landing .terra-collections .nm-card__media,
#colibri.nm-template-terra-landing .terra-collections .nm-card img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	margin: 0;
	max-width: 100%;
	object-fit: cover;
	object-position: var(--nad-terra-collections-image-position, center center);
	width: 100%;
}

#colibri.nm-template-terra-landing .terra-collections__note {
	margin-top: var(--nm-space-xl);
	max-width: min(40rem, 100%);
	overflow-wrap: anywhere;
}

#colibri.nm-template-terra-landing .terra-collections__primary {
	margin-top: var(--nm-space-md);
}

#colibri.nm-template-terra-landing.terra-collections-bg-muted .terra-collections {
	--terra-collections-bg: var(--terra-color-surface-muted);
}

#colibri.nm-template-terra-landing.terra-collections-bg-none .terra-collections {
	--terra-collections-bg: transparent;
}

#colibri.nm-template-terra-landing.terra-collections-cards-plain .terra-collections .nm-card {
	border-color: transparent;
}

#colibri.nm-template-terra-landing.terra-collections-cards-raised .terra-collections .nm-card {
	box-shadow: 0 0.75rem 1.75rem rgba(69, 66, 43, 0.1);
}

#colibri.nm-template-terra-landing.terra-collections-space-compact .terra-collections {
	--nm-section-space: clamp(2rem, 4vw, 3rem);
}

#colibri.nm-template-terra-landing.terra-collections-space-generous .terra-collections {
	--nm-section-space: clamp(3.5rem, 7vw, 5.5rem);
}

@container nm-card (min-width: 22rem) {
	#colibri.nm-template-terra-landing .terra-collections .nm-card .nm-button {
		width: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	#colibri.nm-honor-reduced-motion.nm-template-terra-landing .terra-hero .nm-hero__video,
	#colibri.nm-honor-reduced-motion.nm-template-terra-landing .terra-hero .nm-hero__embed {
		display: none;
	}

	#colibri.nm-honor-reduced-motion.nm-template-terra-landing .terra-hero .nm-hero__poster {
		display: block;
	}
}
