/* Leistungen subpage. Hero is the shared .gw-page__hero pattern (see components.css). */

.gw-leistungen-page__list { max-width: var(--gw-max-content); margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }

.gw-service-row {
	position: relative;
	background: #fff;
	border: 1px solid var(--gw-hairline);
	border-radius: var(--gw-radius-md);
	padding: 40px;
	display: grid;
	grid-template-columns: 1fr 1.5fr 1fr;
	grid-template-areas:
		"head  head  sidebar"
		"photo body  sidebar";
	column-gap: 40px;
	row-gap: 28px;
	align-items: start;
	overflow: hidden;
}
.gw-service-row--lead {
	background: #bf8544;
	color: #fff;
	border: none;
}
.gw-service-row--lead .gw-service-row__title,
.gw-service-row--lead .gw-service-row__minutes { color: #fff; }
.gw-service-row--lead .gw-service-row__desc,
.gw-service-row--lead .gw-service-row__details li { color: #f7ecde; }

/* Header row: headline left, duration right. */
.gw-service-row__head {
	grid-area: head;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 24px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gw-hairline);
}
.gw-service-row--lead .gw-service-row__head {
	border-bottom-color: rgba(243, 238, 223, 0.18);
}
.gw-service-row__title {
	font-family: var(--gw-font-serif);
	font-size: 38px;
	line-height: 1.05;
	margin: 0;
	letter-spacing: -0.015em;
}
.gw-service-row__minutes {
	font-family: var(--gw-font-serif);
	font-size: 22px;
	color: var(--gw-muted);
	flex-shrink: 0;
	white-space: nowrap;
}

/* Photo column + body column align to the same top edge. */
.gw-service-row__photo { grid-area: photo; }
.gw-service-row__body  { grid-area: body; }

.gw-service-row__desc {
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}
.gw-service-row__desc p { margin: 0 0 12px; }
.gw-service-row__desc p:last-child { margin-bottom: 0; }

.gw-service-row__details { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.gw-service-row__details li {
	font-size: 14px;
	padding-left: 18px;
	position: relative;
}
.gw-service-row__details li::before {
	content: "";
	position: absolute; left: 0; top: 7px;
	width: 8px; height: 8px; border-radius: 999px;
	background: var(--gw-accent);
}
.gw-service-row--lead .gw-service-row__details li::before { background: var(--gw-sage); }

/* Right-column staff sidebar — warm sand panel, dark text. */
.gw-service-row__col-3 {
	grid-area: sidebar;
	background: #ddd0b7;
	color: #1a1814;
	margin: -40px -40px -40px 0;
	padding: 40px 36px;
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.gw-service-row__col-3 .gw-kicker {
	color: #1a1814;
	letter-spacing: 0.04em;
	margin-bottom: 4px;
}
.gw-service-row__staff { display: flex; flex-direction: column; gap: 14px; margin: 0 0 8px; flex: 1; }
.gw-service-row__staff-item {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #1a1814;
	text-decoration: none;
}
.gw-service-row__staff-item:hover { color: #1a1814; opacity: 0.7; }
.gw-service-row__staff-name { font-size: 14px; font-weight: 500; }
.gw-service-row__staff-role { font-size: 12px; color: #5a5246; }

.gw-service-row__cta {
	background: #1a8c87;
	color: #fff;
	align-self: flex-start;
	margin-top: auto;
}
.gw-service-row__cta:hover {
	background: #136a66;
	color: #fff;
}

@media (max-width: 1000px) {
	.gw-service-row {
		grid-template-columns: 1fr;
		grid-template-areas:
			"head"
			"photo"
			"body"
			"sidebar";
	}
	.gw-service-row__col-3 {
		margin: 8px -40px -40px;
		border-radius: 0 0 var(--gw-radius-md) var(--gw-radius-md);
	}
}
