/* Leistungen (leistungen.html) – Ergänzungen zu style.css, gleiche Farben und Formen. Stand 29.09.2026 */

main [id] { scroll-margin-top: calc(var(--cmd-h, 76px) + 24px); }

/* Sprungleiste im Seitenkopf */
.lk-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; list-style: none; }
.lk-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 22px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font-weight: 700; font-size: 0.95rem; text-decoration: none; white-space: nowrap; transition: border-color 0.2s, color 0.2s; }
.lk-jump a:hover { border-color: var(--brand); color: var(--brand); }
.lk-jump a:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }

/* Blöcke „Im Mietpaket enthalten“ */
.lk-incl h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; }
.lk-incl .icon { flex: none; }
.card .lk-list { margin-top: 14px; }

/* Paketkarten */
.lk-card { display: flex; flex-direction: column; }
.lk-card.featured { border: 2px solid var(--brand); }
.lk-for { font-size: 0.85rem; font-weight: 700; color: var(--brand); text-transform: uppercase; letter-spacing: 0.04em; margin-top: 4px; }
.lk-note { font-size: 0.95rem; margin-top: 20px; }

/* Highlights: Link zur Branchenseite */
.lk-hl { display: flex; flex-direction: column; }
.lk-hl p { flex: 1; }
.lk-demo { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; font-weight: 700; font-size: 0.95rem; text-decoration: none; }
.lk-demo::after { content: '→'; margin-left: 6px; transition: transform 0.2s; }
.lk-demo:hover::after { transform: translateX(4px); }
.lk-demos { display: flex; flex-wrap: wrap; column-gap: 20px; }
.lk-compact .card > .lk-demos { clear: left; }

/* KI-Kasten (dunkel wie der KI-Bereich der Startseite) */
.lk-ai { margin-top: 24px; background: var(--ink); border-radius: 18px; padding: 40px; color: #CBD5E1; display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 40px; }
.lk-ai h3 { color: #fff; font-size: 1.45rem; margin-bottom: 10px; }
.lk-ai p { color: #A8B4C7; }
.lk-ai .feature-list li { color: #E2E8F0; }
.lk-ai .feature-list li::before { border-color: #A5B4FC; }
.lk-ai .eyebrow { color: #A5B4FC; }
.lk-ai a { color: #BFDBFE; }
.lk-ai-side { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(148, 163, 184, 0.2); border-radius: var(--radius); padding: 24px; align-self: start; }
.lk-ai-side h3 { font-size: 1.15rem; }

/* Kennzeichnung „auf Anfrage“ */
.lk-badge { display: inline-block; margin-top: 14px; padding: 3px 10px; border-radius: 20px; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.02em; background: #FEF3C7; color: #92400E; border: 1px solid #FDE68A; align-self: flex-start; }

/* Vergleich Miete · Flex · Kauf (ohne Beträge) */
.lk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lk-table-wrap { margin-top: 40px; }
.lk-table-wrap h3 { margin-bottom: 6px; }
.lk-table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 18px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); font-size: 0.95rem; }
.lk-table th, .lk-table td { padding: 14px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.lk-table thead th { background: var(--soft); color: var(--ink); font-size: 1rem; }
.lk-table thead th small { display: block; font-weight: 600; color: var(--muted); font-size: 0.85rem; }
.lk-table tbody th { color: var(--ink); font-weight: 800; width: 22%; }
.lk-table tbody tr:last-child th, .lk-table tbody tr:last-child td { border-bottom: 0; }
.lk-table td { color: var(--text); }
.lk-table .lk-col-main { background: rgba(37, 99, 235, 0.05); }

/* Auf Anfrage */
.lk-request .card { border-style: dashed; display: flex; flex-direction: column; }
.lk-request .card:hover { transform: none; }

@media (max-width: 1024px) {
    .lk-ai { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
    .lk-ai { padding: 28px 22px; gap: 24px; }
}
@media (max-width: 700px) {
    /* Vergleich wird zu Karten je Zeile */
    .lk-table, .lk-table tbody, .lk-table tr, .lk-table th, .lk-table td { display: block; width: 100%; }
    .lk-table { border: 0; background: none; box-shadow: none; overflow: visible; }
    .lk-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .lk-table tr { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); margin-bottom: 12px; overflow: hidden; }
    .lk-table tbody th { background: var(--soft); width: 100%; }
    .lk-table th, .lk-table td { padding: 10px 16px; }
    .lk-table td::before { content: attr(data-label) ": "; font-weight: 800; color: var(--brand); }
    .lk-table tbody tr td:last-child { border-bottom: 0; }
    .lk-table .lk-col-main { background: none; }
}
@media (max-width: 560px) {
    /* Handy: Karten kompakter (Symbol neben der Überschrift) */
    .lk-compact .card { padding: 20px; }
    .lk-compact .card .icon { float: left; width: 40px; height: 40px; font-size: 1.15rem; margin: 0 14px 4px 0; }
    .lk-compact .card h3 { margin: 7px 0 10px; font-size: 1.12rem; }
    .lk-compact .card > p, .lk-compact .card > ul, .lk-compact .card > .lk-demo, .lk-compact .card > .lk-badge { clear: left; }
    .lk-compact .grid-2, .lk-compact .grid-3, .lk-compact .grid-4 { gap: 14px; }
    .lk-compact .card ul li { padding-top: 3px; padding-bottom: 3px; }
}

@media (prefers-color-scheme: dark) {
    .lk-jump a { background: #0F1829; color: #F1F5F9; border-color: #334155; }
    .lk-jump a:hover { border-color: #60A5FA; color: #BFDBFE; }
    .lk-table { background: #0F1829; }
    .lk-table tbody th, .lk-table thead th { color: #F1F5F9; background: #0B1324; }
    .lk-table .lk-col-main { background: rgba(96, 165, 250, 0.07); }
    .lk-ai { background: #0B1324; border: 1px solid var(--line); }
    .lk-badge { background: rgba(251, 191, 36, 0.14); color: #FCD34D; border-color: rgba(251, 191, 36, 0.35); }
}
@media (prefers-color-scheme: dark) and (max-width: 700px) {
    .lk-table { background: none; }
    .lk-table tr { background: #0F1829; }
}
