/* Preiskonfigurator „Dein Plan“ (K16, Bau P29-2, 24.10.2026). Aus dem Prototyp Fassung 5 (vorschau/stil.css), ohne die Vorschau-Hülle;
   Ergänzungen für Fassung 6 und die Seite am Ende. Maße in rem wie im Theme (1rem = 10 px). Lädt nur auf Seiten mit [snf_plan]. */

.pk .seite-eyebrow { font: 700 1.3rem "Space Grotesk", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #8b0d14; margin: 0; }

/* ===== Werkzeug ===== */
.pk { --rot: #8b0d14; --tinte: #111; --flaeche: #f7f7f5; --linie: #e3e1dc; --gruen: #0f7a3d; --gelb: #8a5300; --grau: #6b6b66; }
.pk *, .pk *::before, .pk *::after { box-sizing: border-box; }
.pk-buehne { display: grid; grid-template-columns: minmax(0, 1fr) 38rem; gap: 2.4rem; align-items: start; }

/* Gespräch */
.pk-gespraech { min-height: 52rem; }
.pk-verlauf { list-style: none; margin: 0 0 1.2rem; padding: 0; }
.pk-verlauf li { display: flex; justify-content: space-between; align-items: center; gap: 1.2rem; padding: .7rem 1.2rem; border-radius: 1rem; font-size: 1.45rem; color: #444; }
.pk-verlauf li:nth-child(odd) { background: var(--flaeche); }
.pk-verlauf li b { color: var(--tinte); font-weight: 600; }
.pk-verlauf li button { background: none; border: 0; color: var(--grau); text-decoration: underline; font: inherit; font-size: 1.3rem; cursor: pointer; flex: 0 0 auto; }
.pk-karte { background: var(--flaeche); border: 1px solid var(--linie); border-radius: 1.8rem; padding: 2.8rem 2.8rem 2.4rem; animation: pk-ein .35s ease; position: relative; }
@keyframes pk-ein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pk-wer { display: flex; align-items: center; gap: 1.2rem; margin: 0 0 1.4rem; }
.pk-bild { width: 4.4rem; height: 4.4rem; border-radius: 50%; background: var(--rot); color: #fff; font: 700 1.5rem "Space Grotesk", sans-serif; display: grid; place-items: center; flex: 0 0 auto; }
.pk-wer small { color: var(--grau); font-size: 1.3rem; display: block; line-height: 1.3; }
.pk-wer strong { font-size: 1.5rem; }
.pk-schritt { margin-left: auto; font-size: 1.3rem; color: var(--grau); white-space: nowrap; }
.pk-frage { font: 700 2.6rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.pk-unter { margin: 0 0 1.8rem; color: #444; font-size: 1.55rem; }
.pk-echo { background: #fff; border-left: 3px solid var(--rot); border-radius: 0 1rem 1rem 0; padding: 1rem 1.4rem; margin: 0 0 1.8rem; font-size: 1.5rem; color: #333; animation: pk-ein .35s ease; }
.pk-optionen { display: grid; grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr)); gap: 1rem; margin: 0 0 1.6rem; }
.pk-opt { text-align: left; background: #fff; border: 2px solid var(--linie); border-radius: 1.3rem; padding: 1.3rem 1.5rem; font: inherit; cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; display: flex; gap: 1.1rem; align-items: flex-start; color: var(--tinte); }
.pk-opt:hover { border-color: #b9b6ae; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(17,17,17,.06); }
.pk-opt:focus-visible { outline: 3px solid var(--rot); outline-offset: 2px; }
.pk-opt[aria-pressed="true"] { border-color: var(--tinte); box-shadow: inset 0 0 0 1px var(--tinte); }
.pk-opt .ic { font-size: 2.2rem; line-height: 1; flex: 0 0 auto; margin-top: .2rem; }
.pk-opt b { display: block; font-size: 1.6rem; line-height: 1.3; }
.pk-opt small { display: block; color: var(--grau); font-size: 1.35rem; line-height: 1.35; margin-top: .3rem; }
.pk-opt .haken { margin-left: auto; width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid var(--linie); flex: 0 0 auto; }
.pk-opt[aria-pressed="true"] .haken { background: var(--tinte); border-color: var(--tinte); box-shadow: inset 0 0 0 .4rem #fff; }
.pk-zeile { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.pk-feld { display: block; flex: 1 1 22rem; }
.pk-feld span { display: block; font-size: 1.3rem; font-weight: 600; color: #444; margin-bottom: .3rem; }
.pk-feld input, .pk-feld select { width: 100%; padding: 1.2rem 1.4rem; border: 2px solid var(--linie); border-radius: 1.1rem; font: inherit; font-size: 1.7rem; background: #fff; }
.pk-feld input:focus-visible, .pk-feld select:focus-visible { outline: 3px solid var(--rot); outline-offset: 2px; border-color: var(--rot); }
.pk-knopf { padding: 1.3rem 2.4rem; border: 0; border-radius: 1.2rem; background: var(--rot); color: #fff; font: 700 1.65rem Inter, sans-serif; cursor: pointer; transition: background .15s, transform .15s; }
.pk-knopf:hover { background: #6e0a10; transform: translateY(-1px); }
.pk-knopf[disabled] { background: #b5b3ad; cursor: not-allowed; transform: none; }
.pk-knopf.zweit { background: #fff; color: var(--tinte); border: 2px solid var(--tinte); }
.pk-knopf.zweit:hover { background: var(--flaeche); }
.pk-textknopf { background: none; border: 0; color: var(--grau); text-decoration: underline; font: inherit; font-size: 1.45rem; cursor: pointer; padding: .6rem 0; }
.pk-fuss { display: flex; gap: 1.6rem; align-items: center; flex-wrap: wrap; margin-top: .4rem; }
.pk-hinweis { font-size: 1.35rem; color: var(--grau); margin: 1rem 0 0; }
.pk-regler { margin: .4rem 0 1.4rem; }
.pk-regler input[type=range] { width: 100%; accent-color: var(--rot); height: 2.8rem; }
.pk-regler-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.pk-regler-kopf output { font: 700 2.6rem "Space Grotesk", sans-serif; }
.pk-regler-skala { display: flex; justify-content: space-between; font-size: 1.2rem; color: var(--grau); }
.pk-orte { display: flex; flex-wrap: wrap; gap: .5rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.pk-orte li { font-size: 1.3rem; padding: .3rem .9rem; border-radius: 99rem; background: #fff; border: 1px solid var(--linie); color: #999; transition: all .25s; }
.pk-orte li.drin { color: var(--tinte); border-color: var(--tinte); background: #fff; font-weight: 600; }
.pk-orte li small { font-weight: 400; color: var(--grau); }

/* Karte Südbaden (Radius) */
.pk-radius { display: grid; grid-template-columns: 22rem 1fr; gap: 2rem; align-items: center; margin: .4rem 0 1.4rem; }
.pk-radius svg { width: 100%; height: auto; background: #fff; border: 1px solid var(--linie); border-radius: 1.2rem; }

/* Seitenfeld: Dein Markt, dein Plan */
.pk-seite { position: sticky; top: 1.6rem; display: grid; gap: 1.4rem; }
.pk-tafel { background: #111; color: #fff; border-radius: 1.8rem; padding: 2.2rem; position: relative; overflow: hidden; }
.pk-tafel::after { content: ""; position: absolute; right: -6rem; top: -6rem; width: 22rem; height: 22rem; border-radius: 50%;
	background: repeating-radial-gradient(circle, rgba(255,255,255,.06) 0 1px, transparent 1px 1.4rem); pointer-events: none; }
.pk-tafel h4, .pk-plan h4 { font: 700 1.25rem "Space Grotesk", sans-serif; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 1.2rem; color: rgba(255,255,255,.6); display: flex; justify-content: space-between; gap: 1rem; }
.pk-plan h4 { color: var(--grau); }
.pk-tafel .leer { color: rgba(255,255,255,.55); font-size: 1.45rem; margin: 0; }
.pk-zahl { font: 700 4.2rem/1 "Space Grotesk", sans-serif; letter-spacing: -.01em; }
.pk-zahl small { font: 400 1.4rem/1.35 Inter, sans-serif; color: rgba(255,255,255,.7); display: block; margin-top: .5rem; letter-spacing: 0; }
.pk-tafel-zeilen { list-style: none; margin: 1.6rem 0 0; padding: 0; font-size: 1.4rem; }
.pk-tafel-zeilen li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-top: 1px solid rgba(255,255,255,.12); }
.pk-tafel-zeilen li span:last-child { font-weight: 600; text-align: right; }
.pk-tafel .quelle { font-size: 1.15rem; color: rgba(255,255,255,.45); margin: 1.2rem 0 0; }
.pk-live { display: inline-flex; align-items: center; gap: .5rem; color: #7fd6a4; font-size: 1.15rem; letter-spacing: .08em; }
.pk-live::before { content: ""; width: .8rem; height: .8rem; border-radius: 50%; background: #39c07a; animation: pk-puls 1.4s ease-in-out infinite; }
@keyframes pk-puls { 50% { opacity: .3; } }
.pk-balken { height: .8rem; border-radius: 99rem; background: rgba(255,255,255,.12); overflow: hidden; margin-top: .4rem; }
.pk-balken i { display: block; height: 100%; background: #fff; border-radius: 99rem; transition: width .8s cubic-bezier(.2,.8,.2,1); }
.pk-plan { background: #fff; border: 1px solid var(--linie); border-radius: 1.8rem; padding: 2.2rem; }
.pk-plan ul { list-style: none; margin: 0; padding: 0; }
.pk-plan li { display: flex; gap: 1rem; align-items: flex-start; padding: .7rem 0; border-bottom: 1px solid #f0eee9; font-size: 1.45rem; }
.pk-plan li:last-child { border-bottom: 0; }
.pk-plan li .p { width: 1rem; height: 1rem; border-radius: 50%; margin-top: .6rem; flex: 0 0 auto; background: #d9d6cf; }
.pk-plan li.da .p { background: var(--gruen); }
.pk-plan li.da { animation: pk-ein .4s ease; }
.pk-plan li .w { color: var(--grau); }
.pk-plan li.da .w { color: var(--tinte); }
.pk-preis-schleier { margin-top: 1.4rem; background: var(--flaeche); border-radius: 1.2rem; padding: 1.2rem 1.4rem; font-size: 1.4rem; color: #444; display: flex; gap: 1rem; align-items: center; }
.pk-preis-schleier b { font: 700 2.4rem "Space Grotesk", sans-serif; color: var(--tinte); white-space: nowrap; }
.pk-preis-schleier .unscharf { filter: blur(6px); user-select: none; }

/* Rechnen-Moment */
.pk-rechnen { text-align: center; padding: 6rem 2rem; }
.pk-rechnen ol { list-style: none; padding: 0; margin: 2rem auto 0; max-width: 42rem; text-align: left; }
.pk-rechnen li { padding: .6rem 0; color: #aaa; transition: color .3s; font-size: 1.55rem; }
.pk-rechnen li.ok { color: var(--tinte); }
.pk-rechnen li.ok::before { content: "✓ "; color: var(--gruen); font-weight: 700; }

/* ===== Ergebnis ===== */
.pk-ergebnis { margin-top: 1rem; animation: pk-ein .5s ease; }
.pk-ergebnis-kopf { display: flex; justify-content: space-between; gap: 2rem; flex-wrap: wrap; align-items: flex-end; margin: 0 0 2rem; }
.pk-ergebnis-kopf h3 { font: 700 3.4rem/1.15 "Space Grotesk", sans-serif; margin: .4rem 0 .6rem; max-width: 76rem; }
.pk-ergebnis-kopf p { margin: 0; color: #444; max-width: 76rem; }
.pk-held { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0; background: #111; color: #fff; border-radius: 2rem; overflow: hidden; }
.pk-held-links { padding: 3.2rem; }
.pk-held-rechts { padding: 3.2rem; background: #1b1b1b; border-left: 1px solid #2a2a2a; }
.pk-plakette { display: inline-block; font: 700 1.2rem "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; padding: .45rem 1rem; border-radius: 99rem; background: #2f9e62; color: #fff; }
.pk-held h4 { font: 700 3rem/1.15 "Space Grotesk", sans-serif; margin: 1.2rem 0 .6rem; }
.pk-held .satz { color: #ddd; margin: 0 0 2rem; }
.pk-preiszeile { display: flex; gap: 3.2rem; flex-wrap: wrap; align-items: flex-end; margin: 0 0 1.6rem; }
.pk-preiszeile div small { display: block; font-size: 1.3rem; color: #aaa; }
.pk-preiszeile .gross { font: 700 5.6rem/1 "Space Grotesk", sans-serif; }
.pk-preiszeile .mittel { font: 700 3rem/1 "Space Grotesk", sans-serif; }
.pk-preiszeile .einheit { font: 400 1.5rem Inter, sans-serif; color: #bbb; }
.pk-held .klein { font-size: 1.3rem; color: #9a9a96; margin: 0; }
.pk-warum { list-style: none; margin: 0; padding: 0; }
.pk-warum li { padding: 1rem 0 1rem 3.2rem; border-bottom: 1px solid #2c2c2c; position: relative; font-size: 1.5rem; color: #e8e8e8; }
.pk-warum li::before { content: ""; position: absolute; left: .4rem; top: 1.8rem; width: 1rem; height: .2rem; background: #7fd6a4; border-radius: 1rem; }
.pk-warum li q { color: #fff; font-style: italic; quotes: "„" "“"; }
.pk-warum li b { color: #fff; }
.pk-held-rechts h5 { font: 700 1.25rem "Space Grotesk", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #9a9a96; margin: 0 0 .6rem; }

.pk-wege { display: grid; grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)); gap: 1.4rem; margin: 2.4rem 0 0; }
.pk-weg { background: #fff; border: 2px solid var(--linie); border-radius: 1.6rem; padding: 2rem; cursor: pointer; text-align: left; font: inherit; color: var(--tinte); position: relative; transition: border-color .15s, transform .15s; display: flex; flex-direction: column; }
.pk-weg:hover { border-color: #b9b6ae; transform: translateY(-2px); }
.pk-weg[aria-pressed="true"] { border-color: var(--tinte); box-shadow: 0 14px 34px rgba(17,17,17,.1); }
.pk-weg .marke { position: absolute; top: -1.2rem; left: 1.6rem; font: 700 1.15rem "Space Grotesk", sans-serif; letter-spacing: .08em; text-transform: uppercase; background: var(--tinte); color: #fff; padding: .35rem .9rem; border-radius: 99rem; }
.pk-weg .marke.empf { background: #2f9e62; }
.pk-weg .nm { font-size: 1.3rem; color: var(--grau); margin: .4rem 0 .2rem; }
.pk-weg .tt { font: 700 2rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.pk-weg .pr { font: 700 2.8rem "Space Grotesk", sans-serif; margin: 0; }
.pk-weg .pr small { font: 400 1.35rem Inter, sans-serif; color: var(--grau); }
.pk-weg .dazu { font-size: 1.35rem; color: var(--grau); margin: .2rem 0 1rem; }
.pk-weg ul { margin: 0; padding: 0 0 0 1.8rem; font-size: 1.4rem; color: #333; }
.pk-weg .fuer { margin-top: auto; padding-top: 1.2rem; font-size: 1.35rem; color: #444; }
.pk-weg .budget { display: inline-block; margin-top: .8rem; font-size: 1.2rem; font-weight: 700; padding: .25rem .8rem; border-radius: 99rem; }
.pk-weg .budget.ja { background: #e3f3ea; color: var(--gruen); } .pk-weg .budget.nein { background: #f8e4e5; color: var(--rot); }

.pk-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin-top: 2.4rem; }
.pk-kasten { background: var(--flaeche); border-radius: 1.6rem; padding: 2.4rem; }
.pk-kasten.weiss { background: #fff; border: 1px solid var(--linie); }
.pk-kasten.breit { grid-column: 1 / -1; }
.pk-kasten h4 { font: 700 2.1rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .4rem; }
.pk-kasten > p.u { margin: 0 0 1.4rem; color: #555; font-size: 1.5rem; }
.pk-gruppe { font: 700 1.25rem "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--grau); margin: 1.8rem 0 .2rem; }
.pk-seitenplan { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.pk-seitenplan li { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--linie); font-size: 1.5rem; counter-increment: s; }
.pk-seitenplan li::before { content: counter(s); font: 700 1.3rem "Space Grotesk", sans-serif; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: #fff; border: 1px solid var(--linie); display: grid; place-items: center; }
.pk-seitenplan li small { color: var(--grau); display: block; font-size: 1.25rem; }
.pk-seitenplan li .v { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pk-seitenplan li.typ-k::before { background: #fff7e6; border-color: #e7c58a; }

.pk-fahrplan { position: relative; margin: .6rem 0 0; }
.pk-monate { display: grid; grid-template-columns: repeat(12, 1fr); font-size: 1.15rem; color: var(--grau); margin-bottom: .6rem; }
.pk-monate span { text-align: center; }
.pk-spur { display: grid; grid-template-columns: repeat(12, 1fr); gap: .3rem; margin-bottom: .6rem; align-items: center; }
.pk-spur i { grid-row: 1; height: 3.2rem; border-radius: .8rem; display: flex; align-items: center; padding: 0 1rem; font-style: normal; font-size: 1.3rem; font-weight: 600; white-space: nowrap; overflow: hidden; }
.pk-spur i.a { background: #111; color: #fff; } .pk-spur i.b { background: #dfeee5; color: #0b5a2d; } .pk-spur i.c { background: #fff; border: 1px dashed #b9b6ae; color: #444; } .pk-spur i.d { background: #fdf0dc; color: #6b4000; }
.pk-fahrplan-text { list-style: none; margin: 1.4rem 0 0; padding: 0; font-size: 1.45rem; }
.pk-fahrplan-text li { padding: .5rem 0; }
.pk-fahrplan-text b { display: inline-block; min-width: 10rem; }

.pk-rechnung { width: 100%; border-collapse: collapse; font-size: 1.5rem; }
.pk-rechnung td { padding: .7rem 0; border-bottom: 1px solid var(--linie); }
.pk-rechnung td:last-child { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pk-rechnung tr.summe td { border-bottom: 0; border-top: 2px solid var(--tinte); font-weight: 700; font-size: 1.7rem; }
.pk-rechnung tr.extern td { color: var(--grau); font-size: 1.35rem; }
.pk-ergebniszahl { font: 700 4.4rem/1 "Space Grotesk", sans-serif; margin: 1rem 0 .4rem; }
.pk-ergebniszahl small { font: 400 1.5rem Inter, sans-serif; color: #444; }
.pk-satz { margin: .4rem 0 0; font-size: 1.5rem; }
.pk-satz b { color: var(--rot); }

.pk-budget { margin-top: 2.4rem; border-radius: 1.6rem; padding: 2rem 2.4rem; display: flex; gap: 1.6rem; align-items: flex-start; }
.pk-budget.ja { background: #e9f5ee; border: 1px solid #b9dfc8; }
.pk-budget.knapp { background: #fdf3e2; border: 1px solid #ecd0a0; }
.pk-budget.nein { background: #f9eaea; border: 1px solid #e6bdbe; }
.pk-budget .ic { font-size: 2.6rem; line-height: 1; }
.pk-budget h4 { font: 700 2rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .4rem; }
.pk-budget p { margin: 0; font-size: 1.5rem; }

.pk-ehrlich { margin-top: 2.4rem; border: 2px dashed #cfccc5; border-radius: 1.6rem; padding: 2rem 2.4rem; }
.pk-ehrlich h4 { font: 700 2rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.pk-ehrlich ul { margin: 0; padding-left: 2rem; font-size: 1.5rem; }

.pk-aktion { margin-top: 3.2rem; background: var(--rot); color: #fff; border-radius: 2rem; padding: 3.2rem; display: grid; grid-template-columns: 1.2fr 1fr; gap: 3.2rem; align-items: start; }
.pk-aktion h4 { font: 700 3rem/1.15 "Space Grotesk", sans-serif; margin: 0 0 .8rem; }
.pk-aktion p { margin: 0 0 1.2rem; color: #f4dede; }
.pk-aktion .pk-knopf { background: #fff; color: var(--rot); }
.pk-aktion .pk-knopf:hover { background: #f4e7e7; }
.pk-aktion .pk-textknopf { color: #fff; }
.pk-mitnehmen { display: flex; gap: 1.2rem; flex-wrap: wrap; margin-top: 1.2rem; }
.pk-mitnehmen button { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; border-radius: 99rem; padding: .8rem 1.4rem; font: 600 1.4rem Inter, sans-serif; cursor: pointer; }
.pk-mitnehmen button:hover { border-color: #fff; }
.pk-formular { background: #fff; color: var(--tinte); border-radius: 1.4rem; padding: 2rem; }
.pk-formular label { display: block; font-size: 1.3rem; font-weight: 600; margin-bottom: 1rem; }
.pk-formular input { width: 100%; padding: 1rem 1.2rem; border: 2px solid var(--linie); border-radius: 1rem; font: inherit; margin-top: .3rem; }
.pk-formular .vorbelegt { font-size: 1.3rem; background: var(--flaeche); border-radius: .8rem; padding: 1rem 1.2rem; margin: 0 0 1.2rem; color: #333; }
.pk-formular .pk-knopf { background: var(--rot); color: #fff; width: 100%; }
.pk-kleingedruckt { font-size: 1.3rem; color: var(--grau); margin: 2rem 0 0; }
.pk-toast { position: fixed; left: 50%; bottom: 2.4rem; transform: translateX(-50%); background: #111; color: #fff; padding: 1.2rem 2rem; border-radius: 99rem; font-size: 1.45rem; z-index: 50; animation: pk-ein .3s ease; }
.pk-schalter { display: inline-flex; gap: .4rem; background: #fff; border: 1px solid var(--linie); border-radius: 99rem; padding: .3rem; margin: 0 0 1.2rem; }
.pk-schalter button { border: 0; background: none; padding: .6rem 1.2rem; border-radius: 99rem; font: 600 1.35rem Inter, sans-serif; cursor: pointer; color: #444; }
.pk-schalter button[aria-pressed="true"] { background: var(--tinte); color: #fff; }

/* Hülle: zitierfähig, ohne JavaScript vollständig */
.snf-pk-huelle table { width: 100%; border-collapse: collapse; font-size: 1.5rem; margin: 1rem 0 2rem; }
.snf-pk-huelle th, .snf-pk-huelle td { text-align: left; padding: 1rem 1.2rem; border-bottom: 1px solid #e3e1dc; vertical-align: top; }
.snf-pk-huelle th { font: 700 1.3rem "Space Grotesk", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #6b6b66; }
.snf-pk-huelle details { border-bottom: 1px solid #e3e1dc; padding: 1.2rem 0; }
.snf-pk-huelle summary { font-weight: 700; cursor: pointer; font-size: 1.7rem; }
.snf-pk-huelle details p { margin: .8rem 0 0; color: #333; }

@media (max-width: 1000px) {
	.pk-buehne { grid-template-columns: 1fr; }
	.pk-seite { position: static; grid-template-columns: 1fr 1fr; }
	.pk-held, .pk-aktion { grid-template-columns: 1fr; }
	.pk-held-rechts { border-left: 0; border-top: 1px solid #2a2a2a; }
	.pk-wege { grid-template-columns: 1fr; gap: 2rem; }
	.pk-raster { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.pk-karte { padding: 2rem 1.6rem; }
	.pk-frage { font-size: 2.2rem; }
	.pk-seite { grid-template-columns: 1fr; }
	.pk-radius { grid-template-columns: 1fr; }
	.pk-radius svg { max-width: 24rem; }
	.pk-preiszeile .gross { font-size: 4.4rem; }
	.pk-held-links, .pk-held-rechts, .pk-aktion { padding: 2.2rem; }
	.pk-spur i { font-size: 1.1rem; padding: 0 .5rem; }
	.pk-optionen { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .pk *, .pk *::before { animation: none !important; transition: none !important; } }
}
.pk-fortschritt { height: .4rem; border-radius: 99rem; background: #e3e1dc; margin: -.6rem 0 1.8rem; overflow: hidden; }
.pk-fortschritt i { display: block; height: 100%; background: var(--rot); border-radius: 99rem; transition: width .5s ease; }
.pk-vertrag td:last-child { white-space: normal; text-align: right; max-width: 60%; }
.pk-code { font-family: "Space Grotesk", monospace; letter-spacing: .08em; background: #111; color: #fff; padding: .1rem .6rem; border-radius: .4rem; }
.pk-formular .vorbelegt small { color: var(--grau); }
@media (max-width: 640px) {
	.snf-pk-huelle thead { display: none; }
	.snf-pk-huelle tr { display: block; padding: 1rem 0; border-bottom: 1px solid #e3e1dc; }
	.snf-pk-huelle td { display: block; border: 0; padding: .2rem 0; }
}

/* Fassung 3 */
.pk-zwischen { margin: 1.4rem 0 .8rem; font-weight: 600; }
.pk-zahl-klein { font-size: 2.4rem; }
.pk-saison { display: flex; align-items: center; gap: 1rem; margin: 1.2rem 0 0; font-size: 1.25rem; color: rgba(255,255,255,.7); }
.pk-tafel-satz { margin: 1.4rem 0 .4rem; font-size: 1.3rem; color: rgba(255,255,255,.7); }
.pk-vorne { font-size: 1.35rem; margin-top: .6rem; display: flex; justify-content: space-between; gap: 1rem; }
.pk-vorne.grau { color: rgba(255,255,255,.6); }
.pk-haken { list-style: none; margin: 1.6rem 0 0; padding: 0; }
.pk-haken li { padding: .9rem 0 .9rem 3rem; border-bottom: 1px solid #2c2c2c; position: relative; font-size: 1.5rem; color: #e8e8e8; }
.pk-haken li::before { content: "✓"; position: absolute; left: .2rem; top: .8rem; color: #7fd6a4; font-weight: 700; }
.pk-zum-gespraech { display: inline-block; margin-top: 1.8rem; text-decoration: none; }
.pk-eigen-zeile { margin: 1.6rem 0 0; }
.pk-eigen-zeile label { display: inline-flex; gap: .8rem; align-items: flex-start; cursor: pointer; font-size: 1.5rem; color: #111; }
.pk-eigen-zeile input { margin-top: .5rem; }
.pk-ehrlich-kasten { margin: 0 0 2rem; }
.pk-falten { display: grid; gap: 1.2rem; margin-top: 1.6rem; }
.pk-falten details > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.pk-falten details > summary::-webkit-details-marker { display: none; }
.pk-falten details > summary::after { content: "+"; font: 700 2.4rem/1 "Space Grotesk", sans-serif; color: var(--grau); }
.pk-falten details[open] > summary::after { content: "–"; }
.pk-falten details > summary h4 { margin: 0; }
.pk-falten details[open] > summary { margin-bottom: 1rem; }
.pk-liste { margin: 0; padding-left: 2rem; font-size: 1.5rem; }
.pk-liste li { padding: .3rem 0; }
.pk-trenn { border: 0; border-top: 1px solid #e3e1dc; margin: 2rem 0 1.4rem; }
.pk-satz a { color: var(--rot); }
@media print { .pk-zum-gespraech, .pk-eigen-zeile { display: none !important; } .pk-falten details > summary::after { content: ""; } }

/* Runde 4: Gesamtsumme mit Klickbudget */
.pk-gesamt { margin: 0 0 1.2rem; font-size: 1.5rem; color: #e8e8e8; background: #232323; border-radius: 1rem; padding: 1rem 1.2rem; }
.pk-gesamt b { color: #fff; }
.pk-karte-gesamt { font-size: 1.3rem; color: #333; margin: .2rem 0 0; }
.pk-karte-gesamt b { color: var(--tinte); }

/* Runde 5: Linien-Icons, Relaunch-Hinweis, Kuckuck, Kurve */
.pk-opt .ic { color: var(--rot); display: inline-flex; }
.pk-opt[aria-pressed="true"] .ic { color: var(--tinte); }
.pk-budget .ic { display: inline-flex; }
.pk-budget.ja .ic { color: var(--gruen); } .pk-budget.knapp .ic { color: #8a5300; } .pk-budget.nein .ic { color: var(--rot); }
.pk-budget .ic svg { width: 28px; height: 28px; }
.pk-relaunch { margin: 1.6rem 0 0; padding: 1.4rem 1.8rem; border-left: 3px solid var(--tinte); background: var(--flaeche); border-radius: 0 1.2rem 1.2rem 0; font-size: 1.5rem; }
.pk-kuckuck { height: 4rem; position: relative; overflow: hidden; margin: 0 auto 1rem; max-width: 42rem; }
.pk-kuckuck svg { position: absolute; left: -7rem; top: 0; animation: pk-flug 2.2s ease-in-out 1 forwards; }
@keyframes pk-flug { 0% { left: -7rem; transform: translateY(0); } 50% { transform: translateY(-.6rem); } 100% { left: calc(100% + 1rem); transform: translateY(0); } }
.pk-kurve { width: 100%; max-width: 76rem; height: auto; display: block; margin: .8rem 0 1rem; }

/* ===== Bau P29-2: Seite, Theme-Schutz, Fassung 6 ===== */
.snf-pk { --rot: #8b0d14; --tinte: #111; --flaeche: #f7f7f5; --linie: #e3e1dc; --gruen: #0f7a3d; --gelb: #8a5300; --grau: #6b6b66; color: var(--tinte); font-size: 1.7rem; line-height: 1.6; }
.snf-pk *, .snf-pk *::before, .snf-pk *::after { box-sizing: border-box; }
.pk button { letter-spacing: normal; text-transform: none; min-height: 0; box-shadow: none; }
.pk h3, .pk h4, .pk h5 { letter-spacing: normal; text-transform: none; }
.pk ol, .pk ul { margin-left: 0; }
.pk-beta { display: flex; gap: 1rem; align-items: flex-start; font-size: 1.35rem; line-height: 1.5; color: #444; background: var(--flaeche); border: 1px solid var(--linie); border-radius: 1.2rem; padding: 1rem 1.4rem; margin: 0 0 2rem; }
.pk-beta-marke { flex: 0 0 auto; font: 700 1.1rem/1 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--rot); border-radius: 99rem; padding: .5rem .9rem; margin-top: .1rem; }
.pk-beta-klein { margin: 1.2rem 0 0; background: transparent; padding: 0; border: 0; }
.pk-laden { background: #fff; border: 1px solid var(--linie); border-radius: 1.4rem; padding: 1.6rem 1.8rem; margin: 0 0 1.6rem; }
.pk-laden-titel { font-size: 1.9rem; margin: 0 0 .8rem; }
.pk-laden ol { list-style: none; margin: 0; padding: 0; }
.pk-laden li { padding: .4rem 0 .4rem 2.8rem; position: relative; color: #888; font-size: 1.45rem; transition: color .3s; }
.pk-laden li::before { content: ""; position: absolute; left: .2rem; top: .9rem; width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 2px solid var(--linie); }
.pk-laden li.ok { color: var(--tinte); }
.pk-laden li.ok::before { border-color: var(--gruen); background: var(--gruen); box-shadow: inset 0 0 0 .3rem #fff; }
.pk-fehler { background: #fbeeee; border-left: 3px solid var(--rot); border-radius: 0 1rem 1rem 0; padding: 1rem 1.4rem; margin: 0 0 1.6rem; font-size: 1.5rem; }
.pk-spanne { font-size: 3.6rem !important; }
.pk-weg .pr { white-space: normal; }
.pk-ws .wsf-form { margin: 0; }
.pk-formular > .pk-knopf { display: block; text-align: center; text-decoration: none; margin: 0 0 1rem; }
.pk-formular .pk-hinweis { color: var(--grau); }
.snf-pk-formular[hidden] { display: none !important; }
/* Hülle unter dem Werkzeug: Leistungskarten, Preistabelle, Fragen (Konzept 20.7) */
.snf-pk-huelle { margin-top: 5.6rem; }
.snf-pk-huelle-titel { font: 700 3.2rem/1.15 "Space Grotesk", sans-serif; margin: 0 0 1.2rem; }
.snf-pk-karten { display: grid; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); gap: 1.6rem; margin: 2.4rem 0 3.2rem; }
.snf-pk-lk { background: #fff; border: 1px solid var(--linie); border-radius: 1.6rem; padding: 2.2rem; display: flex; flex-direction: column; }
.snf-pk-lk h3 { font: 700 1.9rem/1.25 "Space Grotesk", sans-serif; margin: 0 0 .8rem; }
.snf-pk-lk-preis { font: 700 2.4rem/1.2 "Space Grotesk", sans-serif; color: var(--rot); margin: 0 0 .2rem; }
.snf-pk-lk-klein { font-size: 1.35rem; color: var(--grau); margin: 0 0 1.4rem; }
.snf-pk-lk-ja, .snf-pk-lk-nein { font-size: 1.5rem; margin: 0 0 .9rem; padding-left: 2.6rem; position: relative; }
.snf-pk-lk-ja b, .snf-pk-lk-nein b { display: block; font-size: 1.3rem; }
.snf-pk-lk-ja::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--gruen); font-weight: 700; }
.snf-pk-lk-nein::before { content: "–"; position: absolute; left: .2rem; top: 0; color: var(--rot); font-weight: 700; }
.snf-pk-lk-plus { font-size: 1.35rem; color: #444; background: var(--flaeche); border-radius: .8rem; padding: .8rem 1rem; margin: .4rem 0 1rem; }
.snf-pk-lk-link { margin: auto 0 0; padding-top: .6rem; font-size: 1.5rem; }
.snf-pk-lk-link a { color: var(--rot); font-weight: 600; }
.snf-pk-tabelle-titel { font: 700 2.2rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.snf-pk-tabelle { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.snf-pk-tabelle table { min-width: 56rem; }
.snf-pk-faq { margin-top: 2.4rem; }
.snf-pk-faq h3 { font: 700 2.2rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.snf-pk-quelle { font-size: 1.3rem; color: var(--grau); margin-top: 2rem; }
.snf-pk-quelle a { color: inherit; }
@media (max-width: 640px) {
	.snf-pk-huelle-titel { font-size: 2.6rem; }
	.pk-spanne { font-size: 3rem !important; }
	.pk-beta { font-size: 1.3rem; }
}
/* Plan als PDF: nur das Ergebnis drucken (body.snf-pk-druck setzt das Skript kurz vor window.print) */
@media print {
	body.snf-pk-druck * { visibility: hidden; }
	body.snf-pk-druck #pk-ergebnis, body.snf-pk-druck #pk-ergebnis * { visibility: visible; }
	body.snf-pk-druck #pk-ergebnis { position: absolute; left: 0; top: 0; width: 100%; }
	body.snf-pk-druck .pk-mitnehmen, body.snf-pk-druck .pk-formular, body.snf-pk-druck .pk-weg .budget { display: none !important; }
	.pk-held, .pk-tafel { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.pk-wege, .pk-raster { break-inside: avoid; }
	.pk-aktion { background: #fff; color: #111; border: 2px solid #111; }
	.pk-aktion p { color: #333; }
}
/* Einblendung des Themes (fadeInEffects) für den Block mit dem Werkzeug aus: Der Block ist auf dem Handy so hoch, dass der Sichtbarkeits-
   Anteil der Einblendung nie erreicht wird und er unsichtbar bliebe (gemessen 24.10.2026, 375 px). Das Skript setzt dasselbe als Rückfall. */
.textWrap:has(.snf-pk) { opacity: 1 !important; transform: none !important; }
/* Setup und Monat getrennt, Jahresmengen (Daniel, 24.10.2026) */
.pk-liste-kopf { font: 700 1.25rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #fff; margin: 2rem 0 0; }
.pk-liste-kopf + .pk-haken { margin-top: .6rem; }
.pk-weg .menge { font-size: 1.3rem; font-weight: 600; color: var(--tinte); margin: .4rem 0 0; }
.snf-pk-zwei { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin: 1.2rem 0 2rem; }
.snf-pk-teil { background: #fff; border: 1px solid var(--linie); border-radius: 1.6rem; padding: 2.2rem; }
.snf-pk-teil-kopf { font: 700 1.9rem/1.25 "Space Grotesk", sans-serif; margin: 0 0 .4rem; display: flex; gap: 1rem; align-items: center; }
.snf-pk-teil-kopf span { flex: 0 0 auto; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--rot); color: #fff; display: grid; place-items: center; font-size: 1.5rem; }
.snf-pk-teil ul { margin: .8rem 0 1rem; padding-left: 2rem; font-size: 1.5rem; }
.snf-pk-teil li { padding: .25rem 0; }
@media (max-width: 760px) { .snf-pk-zwei { grid-template-columns: 1fr; } }
/* D-PK2 Runde 2 (Daniel, 24.10.2026): Leistungen kurz in zwei Spalten, Google Ads als optionaler Baustein */
.pk-held .pk-spalten { columns: 2; column-gap: 2.4rem; }
.pk-held .pk-spalten li { break-inside: avoid; border-bottom: 0; padding-top: .5rem; padding-bottom: .5rem; }
.pk-held .pk-haken li b { color: #fff; }
.snf-pk-spalten { columns: 2; column-gap: 2rem; }
.snf-pk-spalten li { break-inside: avoid; }
.pk-option { margin-top: 2rem; border: 2px dashed var(--linie); border-radius: 1.6rem; padding: 2rem 2.4rem; background: #fff; }
.pk-option-kopf { font: 700 1.2rem/1.3 "Space Grotesk", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--grau); margin: 0 0 .4rem; }
.pk-option h4 { font: 700 2rem/1.25 "Space Grotesk", sans-serif; margin: 0 0 .6rem; }
.pk-option p { margin: 0; font-size: 1.5rem; }
@media (max-width: 640px) { .pk-held .pk-spalten, .snf-pk-spalten { columns: 1; } }
/* D-PK2 Runde 3: nach dem Plan Bühne zusammenklappen, Ergebnis direkt darunter */
.pk-buehne.fertig { display: block; }
.pk-buehne.fertig .pk-seite { display: none; }
.pk-buehne.fertig .pk-gespraech { min-height: 0; }
.pk-antworten { border: 1px solid var(--linie); border-radius: 1.2rem; background: var(--flaeche); padding: 1.2rem 1.6rem; margin-bottom: 1.2rem; }
.pk-antworten > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 1.6rem; align-items: center; font-size: 1.5rem; }
.pk-antworten > summary::-webkit-details-marker { display: none; }
.pk-antworten-knopf { flex: 0 0 auto; font-weight: 700; color: var(--rot); text-decoration: underline; }
.pk-antworten .pk-verlauf { margin: 1.2rem 0 0; }
.pk-markt-kasten .pk-tafel { margin-top: 1rem; }
@media (max-width: 640px) { .pk-antworten > summary { flex-direction: column; align-items: flex-start; gap: .6rem; } }
/* Das Theme gibt jedem <section> 80 / 120 px Innenabstand; Bühne und Ergebnis des Werkzeugs sind <section> (gemessen 24.10.2026) */
.pk section { padding: 0; }
.pk #pk-ergebnis { padding-top: 2.4rem; }

/* ===== K18 · Ergebnis neu (Tor D-PK3, Daniel 24.10.2026): Bühne mit Stufen oben, darunter ruhig, keine Versalien-Zeilen, Schrift ab 1,5rem.
   Rückbau: diesen Block löschen und snf-pk.js aus bauplan/preiskonfigurator/ergebnis-k18/sicherung/ zurückspielen. ===== */
.pk-erg { font-size: 1.8rem; line-height: 1.6; color: var(--tinte); }
.pk-erg p { margin: 0; }
.pk-erg h3, .pk-erg h4 { font-family: "Space Grotesk", sans-serif; font-weight: 700; letter-spacing: -.01em; text-transform: none; color: inherit; margin: 0; }
.pk-erg .zahl { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }
.pk-erg .pk-st { padding-top: 7.2rem; }
.pk-erg .pk-st > h3 { font-size: 3.2rem; line-height: 1.2; margin-bottom: 1.2rem; }
.pk-erg .pk-ein { color: #5c5b57; max-width: 72rem; margin-bottom: 3.2rem; }
.pk-erg .pk-leise { color: #5c5b57; font-size: 1.6rem; margin-top: 1.4rem; }
.pk-erg .pk-erf { font-size: 1.4rem; color: #5c5b57; font-style: italic; }
.pk-erg .pk-gruppe { font: 700 2rem/1.3 "Space Grotesk", sans-serif; letter-spacing: 0; text-transform: none; color: var(--tinte); margin: 3.2rem 0 .8rem; }
.pk-erg .pk-gruppe:first-of-type { margin-top: 0; }

/* Kopf (Variante A, Daniel 25.10.2026) */
.pk-erg-kopf { padding-top: 1.6rem; }
.pk-kopf { display: grid; grid-template-columns: 8fr 4fr; gap: 5.6rem; align-items: end; }
.pk-kopf .pk-wo { font-size: 1.6rem; color: #5c5b57; margin-bottom: 1.6rem; }
.pk-kopf h3 { font-size: 5.2rem; line-height: 1.08; margin-bottom: 2rem; }
.pk-kopf h3 em { font-style: normal; color: var(--rot); white-space: nowrap; }
.pk-kopf .pk-lead { font-size: 2.1rem; line-height: 1.55; max-width: 76rem; }
.pk-kopf-seite { border-left: 1px solid var(--linie); padding-left: 3.2rem; }
.pk-kopf-seite p + p { margin-top: 1.8rem; }
.pk-kopf-seite .zahl { font-size: 3.6rem; display: block; line-height: 1.1; }
.pk-kopf-seite span:not(.zahl) { color: #5c5b57; font-size: 1.6rem; }
.pk-leiter { list-style: none; margin: 4.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); border-top: 2px solid var(--linie); }
.pk-leiter li { padding: 1.4rem .8rem 0 0; font-size: 1.5rem; color: #5c5b57; position: relative; line-height: 1.35; }
.pk-leiter li::before { content: ""; position: absolute; top: -.7rem; left: 0; width: 1.2rem; height: 1.2rem; border-radius: 50%; background: #fff; border: 2px solid #b9b5ac; }
.pk-leiter li b { display: block; color: var(--tinte); font-weight: 600; font-size: 1.6rem; }
.pk-leiter li.du { color: var(--tinte); }
.pk-leiter li.du::before { background: var(--rot); border-color: var(--rot); width: 1.6rem; height: 1.6rem; top: -.9rem; }
.pk-leiter li.du::after { content: ""; position: absolute; top: -.2rem; left: 0; right: 0; height: 2px; background: var(--rot); }
.pk-leiter li.du b { color: var(--rot); }
.pk-leiter .du-marke { display: block; margin-top: .6rem; font-size: 1.4rem; font-weight: 600; color: var(--rot); }
.pk-handeln { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem 2.8rem; margin-top: 4rem; }
.pk-handeln .pk-knopf { text-decoration: none; color: #fff; font-size: 1.8rem; padding: 1.6rem 2.8rem; }
.pk-weg-link { all: unset; cursor: pointer; font-size: 1.7rem; text-decoration: underline; text-underline-offset: 3px; color: var(--tinte); }
.pk-weg-link:focus-visible { outline: 2px solid var(--rot); outline-offset: 2px; }

/* Hinweise unter dem Kopf */
.pk-erg .pk-hinweis-zeile { margin-top: 2.4rem; border-left: 3px solid var(--rot); padding: .4rem 0 .4rem 2rem; max-width: 96rem; }
.pk-erg .pk-hinweis-zeile.ja { border-color: var(--gruen); }
.pk-erg .pk-hinweis-zeile.knapp { border-color: var(--gelb); }
.pk-erg .pk-hinweis-zeile h4 { font-size: 2rem; margin-bottom: .4rem; }
.pk-erg .pk-hinweis-zeile p { font-size: 1.7rem; }
.pk-erg .pk-eigen-zeile { margin-top: 2.4rem; font-size: 1.7rem; }

/* Warum genau das */
.pk-sagt { display: flex; gap: 2.4rem; align-items: center; margin: 1.6rem 0; max-width: 96rem; }
.pk-sagt img { width: 9.6rem; height: 9.6rem; border-radius: 50%; object-fit: cover; object-position: top; flex: 0 0 auto; background: #f6f4ef; }
.pk-sagt p { font-size: 2.1rem; line-height: 1.5; }
.pk-sagt p.wer { font-size: 1.5rem; color: #5c5b57; margin-top: .8rem; }
.pk-gruende { list-style: none; margin: 1.6rem 0 0; padding: 0; }
.pk-gruende li { display: grid; grid-template-columns: 20rem 1fr; gap: 3.2rem; padding: 2.4rem 0; border-top: 1px solid var(--linie); }
.pk-gruende li .zahl { font-size: 4.4rem; line-height: 1; color: var(--rot); }
.pk-gruende li .zahl small { display: block; font: 500 1.5rem/1.3 Inter, sans-serif; color: #5c5b57; margin-top: .8rem; }
.pk-gruende li.ohne { padding: 1.6rem 0; }

/* Vertrauen */
.pk-beweis-zahlen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4rem; }
.pk-beweis-zahlen .zahl { font-size: 4.8rem; line-height: 1; display: block; margin-bottom: .8rem; }
.pk-beweis-zahlen p { font-size: 1.7rem; }
.pk-beweis-zahlen .ref { border-left: 3px solid var(--rot); padding-left: 2rem; }
.pk-beweis-zitat { margin-top: 4rem; padding-top: 3.2rem; border-top: 1px solid var(--linie); display: grid; grid-template-columns: 8fr 4fr; gap: 4.8rem; align-items: center; }
.pk-beweis-zitat img { max-width: 100%; height: auto; }
.pk-erg .pk-zitat { margin: 0; padding: 0; border: 0; font-style: normal; background: none; }
.pk-erg .pk-zitat p { font-size: 2rem; line-height: 1.5; }
.pk-erg .pk-zitat p.von { font-size: 1.6rem; color: #5c5b57; margin-top: 1.2rem; }
.pk-erg .pk-zitat p.von b { color: var(--tinte); }

/* Das bekommst du dafür */
.pk-bekommst { display: grid; grid-template-columns: 1fr 1fr; gap: 5.6rem; }
.pk-bekommst h4 { font-size: 2.2rem; }
.pk-bekommst .wann { font-size: 1.6rem; color: #5c5b57; margin: .2rem 0 1.6rem; }
.pk-bekommst ul { list-style: none; margin: 0; padding: 0; }
.pk-bekommst li { padding: .9rem 0 .9rem 2.8rem; border-bottom: 1px solid var(--linie); position: relative; font-size: 1.7rem; }
.pk-bekommst li::before { content: ""; position: absolute; left: .2rem; top: 2rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--rot); }

/* Seitenplan */
.pk-erg .pk-seitenplan li { grid-template-columns: 1fr 6.4rem 12rem; gap: 1.6rem; padding: 1.4rem 0; font-size: 1.7rem; counter-increment: none; }
.pk-erg .pk-seitenplan li::before { content: none; display: none; }
.pk-erg .pk-seitenplan li .n { font-weight: 600; }
.pk-erg .pk-seitenplan li small { font-weight: 400; font-size: 1.5rem; color: #5c5b57; }
.pk-erg .pk-seitenplan li .v { text-align: right; font: 700 2rem "Space Grotesk", sans-serif; }
.pk-erg .pk-seitenplan li .b { height: .8rem; background: #f1efe9; border-radius: .4rem; overflow: hidden; }
.pk-erg .pk-seitenplan li .b i { display: block; height: 100%; background: var(--rot); border-radius: .4rem; }
.pk-erg .pk-seitenplan li.nach .b i { background: #b9b5ac; }

/* Erstes Jahr */
.pk-jahr-spur, .pk-jahr-monate { display: grid; grid-template-columns: repeat(12, 1fr); gap: .4rem; }
.pk-jahr-spur span { height: 1.4rem; border-radius: .3rem; background: #2a2a28; }
.pk-jahr-spur span.s { background: var(--rot); }
.pk-jahr-spur span.f { background: #d9d6cf; }
.pk-jahr-monate { font-size: 1.4rem; color: #5c5b57; text-align: center; margin-top: .6rem; }
.pk-jahr-punkte { list-style: none; margin: 3.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 3.2rem; }
.pk-jahr-punkte li { border-top: 3px solid var(--tinte); padding-top: 1.6rem; }
.pk-jahr-punkte li.s { border-color: var(--rot); }
.pk-jahr-punkte .wann { font: 700 2.2rem "Space Grotesk", sans-serif; display: block; margin-bottom: .6rem; }
.pk-jahr-punkte p { font-size: 1.7rem; }
.pk-jahr-weiter { margin-top: 2.8rem; display: flex; gap: 1.2rem; align-items: baseline; font-size: 1.7rem; }
.pk-jahr-weiter .zahl { font-size: 2.2rem; color: var(--rot); white-space: nowrap; }

/* Kosten, Kurve, Ehrlich */
.pk-erg .pk-zwei { display: grid; grid-template-columns: 7fr 5fr; gap: 6.4rem; }
.pk-erg .pk-zwei > div > h3 { font-size: 3.2rem; line-height: 1.2; margin-bottom: 1.2rem; }
.pk-kosten { list-style: none; margin: 0; padding: 0; }
.pk-kosten li { display: flex; justify-content: space-between; align-items: baseline; gap: 1.6rem; padding: 1.8rem 0; border-bottom: 1px solid var(--linie); }
.pk-kosten li .zahl { font-size: 2.6rem; white-space: nowrap; }
.pk-kosten li.summe { border-bottom: 2px solid var(--tinte); }
.pk-kosten li.summe .zahl { color: var(--rot); }
.pk-kosten-rechts { padding-top: .6rem; }
.pk-kosten-rechts h4 { font-size: 2rem; margin-bottom: .8rem; }
.pk-kosten-rechts p { font-size: 1.7rem; }
.pk-kosten-rechts .pk-option { margin-top: 3.2rem; padding: 2.4rem 0 0; border: 0; border-top: 1px dashed #c9c5bd; background: none; border-radius: 0; }
.pk-erg #pk-kurve .pk-kurve { max-width: 90rem; }
.pk-erg #pk-kurve .pk-satz { font-size: 1.7rem; color: #5c5b57; max-width: 90rem; }
.pk-erg .pk-liste { list-style: none; padding: 0; font-size: 1.8rem; }
.pk-erg .pk-liste li { padding: 0 0 1.6rem 2.8rem; position: relative; }
.pk-erg .pk-liste li::before { content: ""; position: absolute; left: 0; top: 1.3rem; width: 1.4rem; height: 2px; background: var(--rot); }
.pk-erg .pk-ehrlich-st .pk-zitat { align-self: center; }

/* Markt eingeklappt */
.pk-erg .pk-falten { margin-top: 5.6rem; }
.pk-erg .pk-markt-kasten { background: none; border-radius: 0; padding: 0; border-top: 1px solid var(--linie); border-bottom: 1px solid var(--linie); }
.pk-erg .pk-markt-kasten > summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 2rem 0; }
.pk-erg .pk-markt-kasten > summary::-webkit-details-marker { display: none; }
.pk-erg .pk-markt-kasten > summary h4 { font-size: 2.2rem; }
.pk-erg .pk-markt-kasten > summary::after { content: "+"; color: var(--rot); font: 700 2.4rem "Space Grotesk", sans-serif; }
.pk-erg .pk-markt-kasten[open] > summary::after { content: "–"; }
.pk-erg .pk-markt-kasten .pk-tafel { margin: 0 0 2.4rem; }

/* Abschluss */
.pk-erg .pk-aktion { margin-top: 8.8rem; padding: 5.6rem; border-radius: 1.6rem; grid-template-columns: 7fr 5fr; gap: 5.6rem; }
.pk-erg .pk-aktion h4 { font-size: 3.6rem; margin-bottom: 1.6rem; }
.pk-erg .pk-aktion p { color: #fff; font-size: 1.8rem; }
.pk-erg .pk-wer { display: flex; gap: 1.6rem; align-items: center; margin-top: 2.8rem; }
.pk-erg .pk-wer img { width: 7.2rem; height: 7.2rem; border-radius: 50%; object-fit: cover; object-position: top; background: #fff; }
.pk-erg .pk-wer p { font-size: 1.6rem; line-height: 1.4; margin: 0; }
.pk-erg .pk-mitnehmen { margin-top: 2.8rem; }
.pk-erg .pk-formular .vorbelegt { font-size: 1.6rem; }
.pk-erg .pk-formular .vorbelegt small { font-size: 1.4rem; }
.pk-erg .pk-kleingedruckt { font-size: 1.4rem; color: #5c5b57; margin-top: 2.4rem; line-height: 1.5; }

@media (max-width: 900px) {
  .pk-erg { font-size: 1.7rem; }
  .pk-erg .pk-st { padding-top: 5.6rem; }
  .pk-erg .pk-st > h3, .pk-erg .pk-zwei > div > h3 { font-size: 2.7rem; }
  .pk-kopf { grid-template-columns: 1fr; gap: 2.4rem; }
  .pk-kopf h3 { font-size: 3.6rem; }
  .pk-kopf .pk-lead { font-size: 1.9rem; }
  .pk-kopf-seite { border-left: 0; padding-left: 0; border-top: 1px solid var(--linie); padding-top: 2.4rem; }
  .pk-leiter { grid-template-columns: 1fr; border-top: 0; border-left: 2px solid var(--linie); margin-left: .6rem; }
  .pk-leiter li { padding: 0 0 1.8rem 2.4rem; }
  .pk-leiter li::before { top: .4rem; left: -.7rem; }
  .pk-leiter li.du::before { top: .2rem; left: -.9rem; }
  .pk-leiter li.du::after { display: none; }
  .pk-handeln .pk-knopf { width: 100%; text-align: center; }
  .pk-sagt { align-items: flex-start; }
  .pk-sagt img { width: 6.4rem; height: 6.4rem; }
  .pk-sagt p { font-size: 1.9rem; }
  .pk-gruende li, .pk-beweis-zahlen, .pk-beweis-zitat, .pk-bekommst, .pk-erg .pk-zwei, .pk-jahr-punkte { grid-template-columns: 1fr; gap: 1rem 2.8rem; }
  .pk-beweis-zahlen, .pk-bekommst, .pk-erg .pk-zwei { gap: 3.2rem; }
  .pk-erg .pk-seitenplan li { grid-template-columns: 1fr 5.6rem; }
  .pk-erg .pk-seitenplan li .b { grid-column: 1 / -1; }
  .pk-erg .pk-aktion { padding: 3.2rem 2rem; grid-template-columns: 1fr; gap: 2.8rem; }
  .pk-erg .pk-aktion h4 { font-size: 2.8rem; }
}
@media print { .pk-handeln { display: none; } }

/* ===== K18 · Design der Stockwerke (Daniel 25.10.2026, Variante A „ruhige Bänder“): roter Strich über jeder Überschrift, weiße und
   hellgraue Bänder über die volle Breite, Vertrauen dunkel mit Tannenkamm und Höhenlinien, Kosten als Preiskarte mit drei Karten.
   Motive aus dem Facelift. Rückbau: diesen Block löschen, snf-pk.js aus ergebnis-k18/sicherung/snf-pk-vor-design.js. ===== */
body:has(.pk-erg) { overflow-x: clip; }
.pk-erg { --pk-hell: #f7f7f5; --pk-kontur: rgba(17,17,17,.12); --pk-schatten: 0 1px 2px rgba(17,17,17,.06), 0 12px 24px -14px rgba(17,17,17,.22); }
.pk-erg .pk-st > h3::before, .pk-erg .pk-zwei > div > h3::before { content: ""; display: block; width: 4.8rem; height: .4rem; border-radius: .2rem; background: var(--rot); margin-bottom: 1.8rem; }

/* Bänder über die volle Breite (border-image, kein Querscrollen) */
.pk-erg .pk-band { position: relative; padding-top: 8rem; padding-bottom: 8rem; margin-top: 8rem; border-image: conic-gradient(var(--pk-grund) 0 0) fill 0 / / 0 100vmax; }
.pk-erg .pk-band + .pk-band { margin-top: 0; }
.pk-erg .pk-band + .pk-st:not(.pk-band), .pk-erg .pk-band + .pk-falten { padding-top: 8rem; margin-top: 0; }
.pk-erg .pk-band-hell { --pk-grund: var(--pk-hell); }
.pk-erg .pk-band-dunkel { --pk-grund: #111; color: #fff; }

/* Trenner oben (Facelift R2): Tannenkamm steigt aus dem dunklen Band auf */
.pk-erg .pk-trenner::before { content: ""; position: absolute; left: calc(50% - 50vw); width: 100vw; top: -5.5rem; height: 5.6rem; background: var(--pk-grund);
  -webkit-mask: url("/wp-content/themes/southvision-child/assets/facelift/motive/tannenkamm.svg") repeat-x left bottom / auto 100%;
  mask: url("/wp-content/themes/southvision-child/assets/facelift/motive/tannenkamm.svg") repeat-x left bottom / auto 100%; }
.pk-erg .pk-wasser::after { content: ""; position: absolute; top: 0; bottom: 0; right: calc(50% - 50vw); width: min(110rem, 80vw); pointer-events: none; background: rgba(255,255,255,.07);
  -webkit-mask: url("/wp-content/themes/southvision-child/assets/facelift/motive/hoehenlinien.svg") no-repeat right -12rem center / 110rem auto;
  mask: url("/wp-content/themes/southvision-child/assets/facelift/motive/hoehenlinien.svg") no-repeat right -12rem center / 110rem auto; }
.pk-erg .pk-wasser > * { position: relative; z-index: 1; }

/* Vertrauen */
/* höhere Spezifität: die Facelift-Regel für h3 in .textWrap (Block 3a, 0.35em) greift sonst */
.pk .pk-erg .pk-st.pk-beweis > h3 { font-size: 3.2rem; line-height: 1.2; margin-bottom: 4rem; color: #fff; }
.pk-erg .pk-beweis > h3::before { background: #ff9a9f; }
.pk-erg .pk-beweis .zahl { color: #fff; font-size: 5.6rem; }
.pk-erg .pk-beweis-zahlen p { color: #d8d7d2; }
.pk-erg .pk-beweis-zahlen .ref { border-left-color: #ff9a9f; }
.pk-erg .pk-beweis-zitat { border-top-color: rgba(255,255,255,.16); }
.pk-erg .pk-beweis .pk-zitat p { color: #fff; font-size: 2.4rem; line-height: 1.45; }
.pk-erg .pk-beweis .pk-zitat p.von { color: #c9c8c2; font-size: 1.6rem; }
.pk-erg .pk-beweis .pk-zitat p.von b { color: #fff; }
.pk-erg .pk-beweis-zitat img { background: #fff; border-radius: 1.2rem; padding: 1.4rem 1.8rem; }

/* Kosten: Preiskarte links, rechts Laufzeit, Eigentum, Google Ads optional */
.pk-erg .pk-kosten-karte { background: #fff; border: 1px solid var(--pk-kontur); box-shadow: var(--pk-schatten); border-radius: 1.6rem; padding: 3.2rem 3.6rem; }
.pk-erg .pk-kosten-karte .pk-kosten li:last-child { border-bottom: 0; }
.pk-erg .pk-kosten-karte .pk-leise { margin-top: .8rem; }
.pk-erg .pk-kosten-rechts { display: grid; gap: 1.6rem; padding-top: 0; align-content: start; }
.pk-erg .pk-karte-k { background: #fff; border: 1px solid var(--pk-kontur); box-shadow: var(--pk-schatten); border-radius: 1.2rem; padding: 2.2rem 2.4rem; }
.pk-erg .pk-karte-k h4 { font-size: 1.9rem; margin-bottom: .6rem; display: flex; align-items: center; gap: 1rem; }
.pk-erg .pk-karte-k h4 svg { width: 2.4rem; height: 2.4rem; flex: 0 0 auto; color: var(--rot); }
.pk-erg .pk-karte-k p { font-size: 1.6rem; line-height: 1.5; }
.pk-erg .pk-karte-k.optional { background: transparent; box-shadow: none; border: 1px dashed #bdb9b0; }
.pk-erg .pk-plakette-k { margin-left: auto; font: 600 1.3rem Inter, sans-serif; padding: .2rem .8rem; border-radius: 99rem; background: #ebe8e1; color: #444; }
@media (min-width: 901px) { .pk-erg .pk-kosten-rechts { margin-top: 7.4rem; } }

/* Ehrlich: Liste als weiße Karte auf dem hellen Band */
.pk-erg .pk-ehrlich-st.pk-band-hell > div:first-child { background: #fff; border: 1px solid var(--pk-kontur); border-radius: 1.6rem; padding: 3.2rem 3.6rem; box-shadow: var(--pk-schatten); }

/* Abschluss mit Höhenlinien wie die roten Call-to-Actions der Website */
.pk-erg .pk-aktion { position: relative; overflow: hidden; }
.pk-erg .pk-aktion::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: url("/wp-content/themes/southvision-child/assets/facelift/motive/hoehen-rot.svg") no-repeat right -20rem center / 110rem auto; }
.pk-erg .pk-aktion > * { position: relative; }

@media (max-width: 900px) {
  .pk-erg .pk-band { padding-top: 5.6rem; padding-bottom: 5.6rem; margin-top: 5.6rem; }
  .pk-erg .pk-band + .pk-st:not(.pk-band), .pk-erg .pk-band + .pk-falten { padding-top: 5.6rem; }
  .pk-erg .pk-trenner::before { height: 4rem; top: -3.9rem; }
  .pk-erg .pk-beweis .zahl { font-size: 4.4rem; }
  .pk-erg .pk-beweis .pk-zitat p { font-size: 2rem; }
  .pk-erg .pk-kosten-karte, .pk-erg .pk-ehrlich-st.pk-band-hell > div:first-child { padding: 2.4rem 2rem; }
  .pk-erg .pk-wasser::after { width: 100vw; }
}
@media print { .pk-erg .pk-band { border-image: none; } .pk-erg .pk-band-dunkel { color: #000; } .pk-erg .pk-trenner::before, .pk-erg .pk-wasser::after { display: none; } }

/* ===== K19 · Leistungen und Preise unter dem Plan-Rechner (Daniel 25.10.2026, Tor D-K19). Rückbau: diesen Block löschen, snf-preiskonfigurator.php aus leistungen-k19/sicherung. 1rem = 10px. ===== */
.k19 { --hoehen: url("/wp-content/themes/southvision-child/assets/facelift/motive/hoehenlinien.svg"); --rot: #8b0d14; --tinte: #111; --hell: #f7f7f5; --linie: #e3e1dc; --grau: #5c5b57; --kontur: rgba(17,17,17,.12);
  --schatten: 0 1px 2px rgba(17,17,17,.06), 0 12px 24px -14px rgba(17,17,17,.22); color: var(--tinte); font-family: Inter, sans-serif; }
body:has(.k19) { overflow-x: clip; }
.k19 *, .k19 *::before, .k19 *::after { box-sizing: border-box; }
.k19 p, .k19 li { font-size: 1.8rem; line-height: 1.6; }
.k19 .k19-kopf { padding-top: 10rem; }
.k19 h2.k19-titel { font: 700 4.4rem/1.15 "Space Grotesk", sans-serif; margin: 0 0 1.6rem; }
.k19 .k19-lead { color: var(--grau); max-width: 76rem; margin: 0 0 2.4rem; }
.k19 h3.k19-h { font: 700 3.6rem/1.2 "Space Grotesk", sans-serif; margin: 0 0 1.2rem; color: inherit; }
.k19 h3.k19-h::before { content: ""; display: block; width: 4.8rem; height: .4rem; border-radius: .2rem; background: var(--rot); margin-bottom: 1.8rem; }
.k19 h4 { font: 700 2rem/1.3 "Space Grotesk", sans-serif; margin: 0 0 1rem; }

/* Sprungleiste */
.k19-sprung { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0; padding: 0; list-style: none; }
.k19-sprung a { display: inline-flex; gap: .8rem; align-items: baseline; padding: .9rem 1.6rem; border: 1px solid var(--kontur); border-radius: 99rem; background: #fff;
  color: var(--tinte); text-decoration: none; font-size: 1.6rem; font-weight: 600; }
.k19-sprung a span { font-weight: 500; color: var(--rot); }
.k19-sprung a:hover { border-color: var(--tinte); }
.k19 .k19-sprung a, .k19 .k19-sprung a:hover { color: var(--tinte); text-decoration: none; } /* Theme färbt Links in .textWrap rot */
.k19 .k19-sprung a span { color: var(--rot); }

/* Bänder über die volle Breite */
.k19-st { position: relative; padding: 8rem 0; scroll-margin-top: 10rem; }
.k19-band { border-image: conic-gradient(var(--grund) 0 0) fill 0 / / 0 100vmax; }
.k19-hell { --grund: var(--hell); }
.k19-dunkel { --grund: #111; color: #fff; }
.k19-st .k19-lead { margin-bottom: 4rem; }
.k19-dunkel .k19-lead { color: #c9c8c2; }
.k19-dunkel h3.k19-h::before { background: #ff9a9f; }
.k19-wasser::after { content: ""; position: absolute; top: 0; bottom: 0; right: calc(50% - 50vw); width: min(110rem, 80vw); pointer-events: none; background: rgba(255,255,255,.07);
  -webkit-mask: var(--hoehen) no-repeat right -12rem center / 110rem auto; mask: var(--hoehen) no-repeat right -12rem center / 110rem auto; }
.k19-wasser > * { position: relative; z-index: 1; }

/* Kern: Tabs, Treppe, Vergleich */
.k19 .k19-st > .k19-lead { margin-bottom: 4rem; }
.k19 .k19-kern > .k19-lead { margin-bottom: 1.6rem; }
.k19 .k19-erkl { font-size: 1.6rem; max-width: 76rem; margin: 0 0 3.2rem; color: var(--grau); }
.k19-dunkel .k19-erkl { color: #c9c8c2; }
.k19-dunkel .k19-erkl b { color: #fff; }
.k19-tabs { display: inline-flex; gap: .4rem; padding: .4rem; border-radius: 99rem; background: rgba(127,127,127,.14); margin-bottom: 3.2rem; flex-wrap: wrap; }
.k19-tabs button { all: unset; cursor: pointer; padding: 1rem 2rem; border-radius: 99rem; font: 600 1.7rem Inter, sans-serif; }
.k19-tabs button small { font-weight: 500; opacity: .75; margin-left: .6rem; font-size: 1.5rem; }
.k19-tabs button[aria-selected=true] { background: var(--rot); color: #fff; }
.k19-tabs button:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.k19-treppe { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; align-items: end; height: 24rem; }
.k19-treppe button { all: unset; box-sizing: border-box; cursor: pointer; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.k19-treppe .marke { font-size: 1.4rem; font-weight: 600; min-height: 2.2rem; margin-bottom: .6rem; color: #8f8e88; }
.k19-treppe .saeule { border-radius: 1rem 1rem 0 0; padding: 1.4rem 1.4rem 1.2rem; display: flex; flex-direction: column; transition: background .2s, box-shadow .2s; }
.k19-treppe .saeule b { font: 700 1.7rem "Space Grotesk", sans-serif; display: block; }
.k19-treppe .saeule span { font-size: 1.5rem; display: block; margin-top: .2rem; line-height: 1.3; }
.k19-treppe button:focus-visible .saeule { outline: 3px solid currentColor; outline-offset: 2px; }
.k19-boden { border-top: 2px solid; display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; font-size: 1.4rem; padding-top: .8rem; margin-bottom: 4rem; }
.k19-paar { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.k19-karte { border-radius: 1.6rem; padding: 3.2rem 3.2rem 2.8rem; }
.k19-karte .k19-k-kopf { display: flex; justify-content: space-between; gap: 1.6rem; align-items: baseline; flex-wrap: wrap; margin-bottom: 1.2rem; }
.k19-karte .k19-k-name { font: 700 2.6rem "Space Grotesk", sans-serif; }
.k19-karte .k19-k-preis { font: 700 2.2rem "Space Grotesk", sans-serif; }
.k19-karte .k19-k-preis small { font: 500 1.5rem Inter, sans-serif; }
.k19-karte .k19-zahlen { display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem; margin: 2rem 0; padding: 2rem 0; border-top: 1px solid; border-bottom: 1px solid; }
.k19-karte .k19-zahlen b { font: 700 4.8rem/1 "Space Grotesk", sans-serif; display: block; }
.k19-karte .k19-zahlen span { font-size: 1.6rem; display: block; margin-top: .4rem; }
.k19-karte .k19-zahlen em { font-style: normal; font-weight: 600; font-size: 1.5rem; display: block; margin-top: .4rem; }
.k19-karte p { margin: 0 0 1rem; }
.k19-karte .k19-k-wofuer { font-size: 1.6rem; }
.k19-wahl { margin: 2rem 0 0; display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; font-size: 1.6rem; }
.k19-wahl button { all: unset; cursor: pointer; padding: .5rem 1.2rem; border-radius: 99rem; border: 1px solid; font-size: 1.5rem; font-weight: 600; }
.k19-wahl button:focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.k19-gleich { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; margin-top: 6rem; }
.k19-gleich ul, .k19-liste { list-style: none; padding: 0; margin: 0; }
.k19-gleich li, .k19-liste li { padding: .9rem 0 .9rem 2.4rem; border-bottom: 1px solid; position: relative; font-size: 1.7rem; }
.k19-gleich li::before, .k19-liste li::before { content: ""; position: absolute; left: .2rem; top: 1.75rem; width: .8rem; height: .8rem; border-radius: 50%; background: var(--rot); }
.k19-gleich .k19-klein, .k19 .k19-klein { font-size: 1.5rem; color: var(--grau); margin-top: 1.2rem; }
.k19-tabelle-alle { margin-top: 4rem; }
.k19.js .k19-kern .k19-tabelle-alle { display: none; }
.k19:not(.js) .k19-tabs, .k19:not(.js) .k19-treppe, .k19:not(.js) .k19-boden, .k19:not(.js) .k19-paar, .k19:not(.js) .k19-wahl { display: none; }

/* Farbwelt Kern dunkel */
.k19-kern.k19-dunkel .k19-tabs button { color: #fff; }
.k19-kern.k19-dunkel .saeule { background: #2b2b29; box-shadow: inset 0 0 0 2px #4a4a46; color: #fff; }
.k19-kern.k19-dunkel .saeule span { color: #b5b4ae; }
.k19-kern.k19-dunkel button:hover .saeule { background: #3a3a37; }
.k19-kern.k19-dunkel .ist .saeule { background: var(--rot); box-shadow: inset 0 0 0 2px #fff; }
.k19-kern.k19-dunkel .ist .saeule span { color: #ffd9db; }
.k19-kern.k19-dunkel .mit .saeule { box-shadow: inset 0 0 0 2px #fff; }
.k19-kern.k19-dunkel .ist .marke, .k19-kern.k19-dunkel .mit .marke { color: #ff9a9f; }
.k19-kern.k19-dunkel .k19-boden { border-color: #3a3a37; color: #8f8e88; }
.k19-kern.k19-dunkel .k19-karte { background: #1d1d1b; border: 1px solid #333; }
.k19-kern.k19-dunkel .k19-karte.ist { background: var(--rot); border-color: var(--rot); }
.k19-kern.k19-dunkel .k19-karte .k19-zahlen { border-color: rgba(255,255,255,.16); }
.k19-kern.k19-dunkel .k19-karte p, .k19-kern.k19-dunkel .k19-karte span { color: #e6e5e0; }
.k19-kern.k19-dunkel .k19-karte em { color: #ff9a9f; }
.k19-kern.k19-dunkel .k19-karte.ist em { color: #fff; }
.k19-kern.k19-dunkel .k19-wahl button { color: #fff; border-color: #4a4a46; }
.k19-kern.k19-dunkel .k19-wahl button[aria-pressed=true] { background: #fff; color: #111; border-color: #fff; }
.k19-kern.k19-dunkel .k19-gleich li { border-color: rgba(255,255,255,.14); color: #e6e5e0; }
.k19-kern.k19-dunkel .k19-gleich li::before { background: #ff9a9f; }
.k19-kern.k19-dunkel .k19-klein { color: #a9a8a2; }
.k19-kern.k19-dunkel .k19-gleich h4 { color: #fff; }

/* Farbwelt Kern hell */
.k19-kern.k19-hell .saeule { background: #e6e3dc; color: var(--tinte); }
.k19-kern.k19-hell .saeule span { color: #55544f; }
.k19-kern.k19-hell button:hover .saeule { background: #dcd8cf; }
.k19-kern.k19-hell .ist .saeule { background: var(--rot); color: #fff; }
.k19-kern.k19-hell .ist .saeule span { color: #ffd9db; }
.k19-kern.k19-hell .mit .saeule { box-shadow: inset 0 0 0 2px var(--tinte); }
.k19-kern.k19-hell .ist .marke, .k19-kern.k19-hell .mit .marke { color: var(--rot); }
.k19-kern.k19-hell .k19-boden { border-color: #cfccc5; color: var(--grau); }
.k19-kern.k19-hell .k19-karte { background: #fff; border: 1px solid var(--kontur); box-shadow: var(--schatten); }
.k19-kern.k19-hell .k19-karte.ist { box-shadow: inset 0 .5rem 0 var(--rot), var(--schatten); }
.k19-kern.k19-hell .k19-karte .k19-zahlen { border-color: var(--linie); }
.k19-kern.k19-hell .k19-karte em { color: var(--rot); }
.k19-kern.k19-hell .k19-karte .k19-zahlen b { color: var(--rot); }
.k19-kern.k19-hell .k19-wahl button { border-color: #cfccc5; }
.k19-kern.k19-hell .k19-wahl button[aria-pressed=true] { background: var(--tinte); color: #fff; border-color: var(--tinte); }
.k19-kern.k19-hell .k19-gleich li { border-color: var(--linie); }

/* Leistungs-Stockwerke: Preiskarte links, Inhalt rechts */
.k19-zwei { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 5.6rem; align-items: start; }
.k19-preiskarte { background: #fff; border: 1px solid var(--kontur); box-shadow: var(--schatten); border-radius: 1.6rem; padding: 2.8rem 3.2rem; }
.k19-preiskarte dl { margin: 0; }
.k19-preiskarte div { display: flex; justify-content: space-between; gap: 1.6rem; align-items: baseline; padding: 1.4rem 0; border-bottom: 1px solid var(--linie); }
.k19-preiskarte div:last-child { border-bottom: 0; }
.k19-preiskarte dt { font-size: 1.6rem; color: var(--grau); }
.k19-preiskarte dd { margin: 0; font: 700 2.2rem "Space Grotesk", sans-serif; text-align: right; }
.k19-preiskarte dd.rot { color: var(--rot); }
.k19-preiskarte dd small { display: block; font: 500 1.4rem Inter, sans-serif; color: var(--grau); }
.k19-rechts h4 { margin-top: 3.2rem; }
.k19-rechts h4:first-child { margin-top: 0; }
.k19-liste li { border-color: var(--linie); }
.k19-sonst { margin-top: 2.4rem; padding: 1.8rem 2.2rem; border-left: 3px solid var(--rot); background: rgba(139,13,20,.05); border-radius: 0 1rem 1rem 0; }
.k19-sonst p { margin: 0; font-size: 1.7rem; }
.k19-link { margin-top: 2.4rem; }
.k19-link a { color: var(--rot); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Tabellen */
.k19-tab { overflow-x: auto; margin-top: 2.4rem; }
.k19-tab table { width: 100%; border-collapse: collapse; font-size: 1.6rem; min-width: 56rem; }
.k19-tab th { text-align: left; font: 600 1.5rem Inter, sans-serif; color: var(--grau); padding: 1rem 1.2rem; border-bottom: 2px solid var(--tinte); text-transform: none; letter-spacing: 0; }
.k19-tab td { padding: 1.2rem; border-bottom: 1px solid var(--linie); vertical-align: top; }
.k19-tab td:nth-child(2) { white-space: nowrap; }
.k19-kern .k19-tab td:last-child { white-space: normal; }
.k19-kopf + .k19-st { margin-top: 6rem; }
@media (min-width: 901px) { .k19-preiskarte { position: sticky; top: 12rem; } }
.k19-tab td b { font-weight: 600; }
.k19-tab td.rot { color: var(--rot); font-weight: 600; }
.k19-dunkel .k19-tab th { color: #c9c8c2; border-color: #fff; }
.k19-dunkel .k19-tab td { border-color: rgba(255,255,255,.14); }

/* So setzt sich der Preis zusammen */
.k19-teile { display: grid; grid-template-columns: 1fr 1fr; gap: 2.4rem; }
.k19-teil { background: #fff; border: 1px solid var(--kontur); box-shadow: var(--schatten); border-radius: 1.6rem; padding: 3.2rem; }
.k19-teil .k19-teil-kopf { display: flex; gap: 1.2rem; align-items: center; font: 700 2.2rem "Space Grotesk", sans-serif; margin: 0 0 .6rem; color: var(--tinte); }
.k19-teil .k19-teil-kopf span { width: 3.6rem; height: 3.6rem; border-radius: 50%; background: var(--rot); color: #fff; display: grid; place-items: center; font-size: 1.6rem; flex: 0 0 auto; }
.k19-teil > p { color: var(--grau); font-size: 1.6rem; margin: 0 0 1.6rem; }

/* Fragen */
.k19-faq details { border-bottom: 1px solid var(--linie); }
.k19-faq summary { cursor: pointer; list-style: none; padding: 2rem 4rem 2rem 0; font: 700 2rem/1.35 "Space Grotesk", sans-serif; position: relative; }
.k19-faq summary::-webkit-details-marker { display: none; }
.k19-faq summary::after { content: "+"; position: absolute; right: .4rem; top: 1.6rem; font: 400 2.8rem Inter, sans-serif; color: var(--rot); }
.k19-faq details[open] summary::after { content: "–"; }
.k19-faq details p { margin: 0 0 2.2rem; max-width: 84rem; }
.k19-quelle { font-size: 1.4rem !important; color: var(--grau); margin-top: 4rem; }

@media (max-width: 900px) {
  .k19 h2.k19-titel { font-size: 3.2rem; }
  .k19 h3.k19-h { font-size: 2.8rem; }
  .k19-st { padding: 5.6rem 0; }
  .k19 .k19-kopf { padding-top: 6rem; }
  .k19-zwei, .k19-gleich, .k19-teile, .k19-paar { grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
  .k19-treppe { grid-template-columns: 1fr 1fr; height: auto; gap: .6rem; }
  .k19-treppe button { height: auto; }
  .k19-treppe .saeule { height: auto !important; border-radius: .8rem; }
  .k19-treppe .marke { display: none; }
  .k19-boden { display: none; }
  .k19-treppe { margin-bottom: 3.2rem; }
  .k19-karte { padding: 2.4rem 2rem; }
  .k19-karte .k19-zahlen b { font-size: 4rem; }
  .k19-preiskarte, .k19-teil { padding: 2.4rem 2rem; }
  .k19-preiskarte div { flex-direction: column; gap: .4rem; }
  .k19-preiskarte dd { text-align: left; min-width: 0; }
  .k19 p, .k19 li { font-size: 1.7rem; }
}
.k19 h4.k19-alle { margin-top: 6rem; }
.k19.snf-pk-huelle { margin-top: 0; }
