/* Vorlage: leistung */
.lz-hero { padding: 56px 0 24px; }
.lz-hero-in { max-width: 880px; }
.lz-eyebrow { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); border-left: 4px solid var(--primary); padding-left: 12px; margin-bottom: 14px; }
.lz-h1 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.15; margin: 0 0 18px; color: var(--ink); }
.lz-intro { font-size: 1.08rem; line-height: 1.75; color: var(--muted); }
.lz-intro p { margin: 0 0 1em; }
.lz-block { padding: 56px 0; }
.lz-block:nth-child(even) { background: var(--bg-alt); }
.lz-h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); font-weight: 800; line-height: 1.2; margin: 0 0 28px; padding-left: 14px; border-left: 4px solid var(--primary); color: var(--ink); }
.lz-row { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.lz-block:nth-child(even) .lz-media { order: 2; }
.lz-media { margin: 0; border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 18px 40px rgba(15, 23, 42, .14); background: var(--photo-bg); }
.lz-media picture { display: block; }
.lz-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.lz-img[src^="data:"] { display: none; }
.lz-row:has(.lz-img[src^="data:"]) { grid-template-columns: 1fr; }
.lz-media:has(.lz-img[src^="data:"]) { display: none; }
.lz-text { font-size: 1.02rem; line-height: 1.8; color: var(--muted); }
.lz-text p { margin: 0 0 1.1em; }
.lz-text p:last-child { margin-bottom: 0; }
.lz-after { padding: 40px 0 72px; }
.lz-after-in:not(:has(*)) { display: none; }
@media (max-width: 860px) {
  .lz-row { grid-template-columns: 1fr; gap: 24px; }
  .lz-block:nth-child(even) .lz-media { order: 0; }
  .lz-block { padding: 40px 0; }
  .lz-hero { padding: 36px 0 12px; }
}

/* Tabelle im Abschluss: dünner roter Rahmen, linksbündig, abgesetzte Kopfzeile */
.lz-after-in p { margin: 0 0 1.1em; line-height: 1.75; }
.lz-after-in .table-wrap { overflow-x: auto; margin: 24px 0 0; border: 1px solid var(--primary); border-radius: var(--radius-md); -webkit-overflow-scrolling: touch; }
.lz-after-in table { width: 100%; min-width: 760px; border-collapse: collapse; table-layout: fixed; margin: 0; font-size: .95rem; line-height: 1.5; }
.lz-after-in th, .lz-after-in td { padding: 13px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(225, 29, 72, .22); border-right: 1px solid rgba(225, 29, 72, .22); color: var(--muted); }
.lz-after-in tr > :last-child { border-right: 0; }
.lz-after-in tbody tr:last-child > * { border-bottom: 0; }
.lz-after-in thead th { background: rgba(225, 29, 72, .07); color: var(--ink); font-weight: 800; vertical-align: bottom; border-bottom: 1px solid var(--primary); }
.lz-after-in tbody th { color: var(--ink); font-weight: 700; background: rgba(225, 29, 72, .03); }
.lz-after-in th:first-child, .lz-after-in td:first-child { width: 20%; }
.lz-after-in tbody tr:hover > * { background: rgba(225, 29, 72, .04); }
@media (max-width: 860px) { .lz-after-in table { min-width: 680px; } }
.lz-kicker { font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); margin: 0 0 10px; }
.lz-kicker:empty { display: none; }
/* leerer Abschluss: keine Fläche */
.lz-after-in p:empty { display: none; }
.lz-after:not(:has(.lz-after-in > :not(p:empty))) { display: none; }
/* Listen im Text, Überschriften und Fotogalerie im Abschluss */
.lz-intro ul, .lz-text ul { margin: 0 0 1.1em; padding-left: 1.3em; }
.lz-intro li, .lz-text li { margin: .5em 0; }
.lz-intro li::marker, .lz-text li::marker { color: var(--primary); }
.lz-after-in h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; line-height: 1.2; margin: 0 0 24px; padding-left: 14px; border-left: 4px solid var(--primary); color: var(--ink); }
.lz-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; margin: 0 0 8px; }
.lz-gallery figure { margin: 0; border-radius: var(--radius-md); overflow: hidden; box-shadow: 0 8px 22px rgba(15, 23, 42, .12); background: var(--photo-bg); }
.lz-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lz-intro .cms-baustein { margin-top: 24px; }
.lz-gallery figure { cursor: zoom-in; }
.lz-gallery img { transition: transform .35s ease; }
.lz-gallery figure:hover img { transform: scale(1.04); }
.lz-gallery figure:focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .lz-gallery img { transition: none; } .lz-gallery figure:hover img { transform: none; } }
