/* /leistungen/ : layout only, tokens from theme.css (no new colour, font, radius, shadow or motion value) */

/* hero: five tiles (one per service) -> 1 column, 2 columns (last tile full width), then 3 + 2 on a 6-column grid */
.hero--compact .hero__cards { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) {
	.hero--compact .hero__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hero--compact .hero__cards > li:last-child { grid-column: 1 / -1; }
}
@media (min-width: 1000px) {
	.hero--compact .hero__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.hero--compact .hero__cards > li { grid-column: span 2; }
	.hero--compact .hero__cards > li:nth-child(n+4) { grid-column: span 3; }
}

/* service-list: two acute cards (wide photo), three planned cards, caption */
.lp-plan { margin-top: 1.3rem; }
.lp-acute .pcard__media { aspect-ratio: 2 / 1; }
.lp-note { margin: 1.1rem 0 0; font-size: .95rem; color: var(--muted); }
.lp-note + .lead-block { margin-top: 2rem; }

/* problem-router: horizontal rows, whole row is the link (the inline anchor is stretched) */
.lp-prob { list-style: none; display: grid; gap: 1rem; margin: 0; padding: 0; }
.lp-prob .lp-prob__i { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.1rem; row-gap: .3rem; align-items: start; padding: 1.2rem 1.25rem; }
.lp-prob .lp-prob__i .badge { grid-row: 1 / 3; }
.lp-prob .lp-prob__i .icard__t,
.lp-prob .lp-prob__i .icard__x { grid-column: 2; max-width: 46rem; }
.lp-prob .lp-prob__i .icard__x a { color: var(--accent-700); font-weight: 800; text-decoration: underline; text-underline-offset: .2em; }
.lp-prob .lp-prob__i .icard__x a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.lp-prob__go { display: none; }
@media (min-width: 760px) {
	.lp-prob .lp-prob__i { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; padding: 1.3rem 1.7rem; column-gap: 1.4rem; }
	.lp-prob .lp-prob__i .badge { grid-row: 1 / 3; }
	.lp-prob__go { display: grid; place-items: center; grid-row: 1 / 3; grid-column: 3; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: var(--accent-100); color: var(--accent-700); transition: transform .18s var(--ease); }
	.lp-prob__go .ic { width: 1.3rem; height: 1.3rem; }
}
@media (hover: hover) {
	.lp-prob__i:hover .lp-prob__go { transform: translateX(4px); }
}

/* trust-process: rail on the left, pointer card on the right (sticky from 900px) */
.lp-process { display: grid; gap: 2rem; }
.lp-process__steps { max-width: 46rem; }
.lp-aside { display: flex; gap: 1rem; align-items: flex-start; padding: 1.3rem 1.4rem; border-radius: var(--r-lg); background: var(--t-card); border: 1px solid var(--t-card-line); }
.lp-aside p { margin: 0; font-size: 1.0625rem; line-height: 1.6; color: var(--t-body); }
.lp-aside .badge { flex: none; }
@media (min-width: 900px) {
	.lp-process { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 3.6rem; align-items: start; }
	.lp-aside { position: sticky; top: calc(var(--hdr-h) + 24px); flex-direction: column; padding: 1.6rem; }
}

/* cta-close: balance the one closing line so it never ends on a single word */
#cta-close .callrow__line { text-wrap: balance; }

/* kostenlose-beratung: prose left, click-to-call card right */
.lp-call { display: grid; gap: 1.8rem; }
.lp-call__txt p { margin: 0 0 1rem; max-width: 40rem; }
.lp-call__txt p:last-child { margin-bottom: 0; }
.lp-call .phoneblock { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) {
	.lp-call { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3.2rem; align-items: center; }
}
