body.page-template-page-canopy-model {
	--terrace-green-deep: #66752c;
	--terrace-ink: #20211e;
	--terrace-muted: #656760;
	--terrace-warm-white: #faf9f6;
	--terrace-warm-grey: #f1f0ec;
	background: var(--terrace-warm-white);
	color: var(--terrace-ink);
}

body.page-template-page-canopy-model .terrace-model__hero {
	padding: clamp(2.5rem, 4vw, 5rem) 0 clamp(2.4rem, 3.5vw, 4rem);
	background: var(--terrace-warm-grey);
}

body.page-template-page-canopy-model .terrace-model__hero-media {
	overflow: hidden;
	min-height: clamp(300px, 47vw, 620px);
	background: #e5e4df;
}

body.page-template-page-canopy-model .terrace-model__hero-media img {
	display: block;
	width: 100%;
	height: clamp(300px, 47vw, 620px);
	object-fit: cover;
	object-position: center 58%;
}

body.page-template-page-canopy-model .terrace-model__hero-copy {
	padding-top: clamp(1.8rem, 2.5vw, 3rem);
}

body.page-template-page-canopy-model .terrace-model__hero-copy h1 {
	margin: 0;
	font-size: clamp(3.2rem, 4vw, 5.2rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

body.page-template-page-canopy-model .terrace-model__back {
	display: inline-flex;
	margin-bottom: 2rem;
	font-weight: 700;
	color: var(--douma-orange);
}

body.page-template-page-canopy-model .canopy-model__breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin-bottom: 2rem;
	font-size: 1.4rem;
	line-height: 1.5;
	color: var(--terrace-muted);
}

body.page-template-page-canopy-model .canopy-model__breadcrumbs a {
	color: var(--douma-orange);
}

body.page-template-page-canopy-model .canopy-model__content {
	padding: clamp(4rem, 6vw, 7rem) 0;
	background: #fff;
}

body.page-template-page-canopy-model .canopy-model__copy {
	max-width: 820px;
	margin-top: 2.5rem;
}

body.page-template-page-canopy-model .canopy-model__copy p {
	margin: 0 0 1.8rem;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.75;
}

body.page-template-page-canopy-model .canopy-model__copy ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem 3rem;
	margin: 3rem 0 0;
	padding: 0;
	list-style: none;
}

body.page-template-page-canopy-model .canopy-model__copy li {
	position: relative;
	padding-left: 2.2rem;
	font-size: 1.6rem;
	line-height: 1.6;
}

body.page-template-page-canopy-model .canopy-model__copy li::before {
	position: absolute;
	top: .65em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #66752c;
	content: '';
}

body .canopy-options {
	padding: clamp(3.5rem, 5vw, 5.5rem) 0;
	background: #f5f4f1;
}

body .canopy-options h2 {
	margin-bottom: clamp(2rem, 3vw, 3rem);
}

	body .canopy-options__grid {
	--canopy-card-gap: clamp(1.5rem, 2vw, 2.2rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: calc(1005px + (2 * var(--canopy-card-gap)));
	margin-inline: auto;
	gap: var(--canopy-card-gap);
}

body .canopy-options__card {
	flex: 0 0 335px;
	display: block;
	overflow: hidden;
	border-top: 4px solid var(--douma-orange);
	background: #fff;
	color: inherit;
	text-decoration: none;
}

body .canopy-options__card:visited { color: inherit; }
body .canopy-options__card:focus-visible { outline: 3px solid #66752c; outline-offset: 4px; }
body .canopy-options__card.is-current { box-shadow: inset 0 0 0 2px rgba(102, 117, 44, .4); }
body .canopy-options .canopy-options__card .terraces-page__option-image {
	max-height: 180px;
	aspect-ratio: 16 / 9;
}
body .canopy-options .canopy-options__card .terraces-page__option-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body .canopy-options__card .terraces-page__option-content { padding: clamp(1.5rem, 2vw, 2rem); }
body .canopy-options__card .terraces-page__option-content h3 { margin-bottom: .7rem; font-size: 1.9rem; line-height: 1.25; }
body .canopy-options__card .terraces-page__option-content p { margin: 0; font-size: 1.45rem; line-height: 1.5; }

body.page-template-page-terrassen .terraces-page__intro--canopies h2 {
	margin-bottom: 2.5rem;
}

body.page-template-page-terrassen .terraces-page__intro--canopies p {
	max-width: 900px;
	margin: 0 0 1.8rem;
}

@media (max-width: 991.98px) {
	body .canopy-options__grid { max-width: calc(670px + var(--canopy-card-gap)); }
	body .canopy-options__card { flex-basis: min(335px, calc(50% - (var(--canopy-card-gap) / 2))); }
}

@media (max-width: 767.98px) {
	body .canopy-options__grid { max-width: 375px; }
	body .canopy-options__card { flex-basis: min(375px, 100%); }
	body.page-template-page-canopy-model .canopy-model__copy ul { grid-template-columns: 1fr; }
}
