/* Fördelotsen: Preise, Vergleich, Rechner, Vor-Ort-Kennzeichnung */
.vo { display: inline-block; font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 999px; white-space: nowrap; vertical-align: middle; }
.vo-remote { background: #e3edf7; color: var(--blau); }
.vo-ort { background: var(--gelb); color: var(--tiefe); }

.tabelle-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.5rem; }
.pt { width: 100%; border-collapse: collapse; font-size: .975rem; min-width: 34rem; }
.pt th, .pt td { text-align: left; padding: .8rem .9rem; border-bottom: 1px solid var(--linie); vertical-align: top; }
.pt thead th { border-bottom: 2px solid var(--tiefe); font-weight: 700; vertical-align: bottom; }
.pt tbody th { font-weight: 600; width: 32%; }
.pt td.zahl, .pt th.zahl { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pt tr.summe td, .pt tr.summe th { font-weight: 800; border-top: 2px solid var(--tiefe); background: #fbf4d9; }
.pt tr.plus td { color: #1d5e32; font-weight: 700; }
.pt tr.minus td { color: #8a2a1a; font-weight: 700; }

.hinweis { margin: 0 0 1.5rem; padding: 1rem 1.2rem; border-left: 5px solid var(--gelb); background: #fbf4d9; border-radius: 0 var(--radius-klein) var(--radius-klein) 0; color: var(--tiefe); font-size: .975rem; }
.hinweis strong { font-weight: 800; }
.dunkel .hinweis { color: var(--tiefe); }

.pakete .paket h3 small { font-weight: 500; font-size: .9rem; color: var(--grau); }
.pakete .paket .vo-zeile { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 1rem; }
.pakete .paket .preis-zusatz { margin-bottom: 1rem; }
.pakete .paket .btn { margin-top: auto; justify-content: center; }
.pakete .paket ul.haken { margin-bottom: 1.5rem; }

.zusatzpreise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.25rem; }
.zusatzpreise .zp { background: var(--weiss); border: 1px solid var(--linie); border-radius: var(--radius); padding: 1.4rem 1.5rem; }
.zusatzpreise .zp h3 { font-size: 1.1rem; margin: 0 0 .25rem; }
.zusatzpreise .zp .zp-preis { font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; margin: 0 0 .5rem; }
.zusatzpreise .zp p { margin: 0 0 .5rem; color: var(--grau); font-size: .95rem; }

.rki { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; margin: 0 0 2rem; }
.rki-eingaben { display: grid; gap: 1rem; }
.rki-eingaben fieldset { border: 1px solid var(--linie); border-radius: var(--radius); padding: 1rem 1.1rem 1.1rem; margin: 0; background: var(--weiss); }
.rki-eingaben legend { font-weight: 700; padding: 0 .4rem; font-size: .95rem; }
.rki-eingaben .rki-paar { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.rki-eingaben label { display: grid; gap: .3rem; font-size: .875rem; font-weight: 600; color: var(--grau); }
.rki-eingaben input, .rki-eingaben select { font: inherit; font-size: 1rem; padding: .65rem .75rem; border-radius: var(--radius-klein); border: 1.5px solid var(--linie); background: var(--weiss); color: var(--tiefe); width: 100%; font-variant-numeric: tabular-nums; }
.rki-eingaben input:focus, .rki-eingaben select:focus { border-color: var(--blau); outline: none; box-shadow: 0 0 0 3px rgba(29, 79, 145, .18); }
.rki-ergebnis { background: var(--tiefe); color: var(--nebel); border-radius: var(--radius); padding: clamp(1.25rem, 3vw, 2rem); position: sticky; top: 5.5rem; }
.rki-ergebnis h3 { margin: 0 0 .75rem; font-size: 1rem; color: #c3d0d6; font-weight: 600; }
.rki-ergebnis .gross { font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.05; color: var(--weiss); font-variant-numeric: tabular-nums; margin: 0 0 .3rem; }
.rki-ergebnis .gross.minus { color: #ffb4a8; }
.rki-ergebnis .unter { margin: 0 0 1.1rem; color: #c3d0d6; font-size: .95rem; }
.rki-ergebnis dl { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; margin: 0 0 1rem; font-size: .95rem; }
.rki-ergebnis dt { color: #c3d0d6; }
.rki-ergebnis dd { margin: 0; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--weiss); }
.rki-ergebnis .urteil { margin: 0; padding: .8rem 1rem; border-radius: var(--radius-klein); background: var(--tiefe-2); font-weight: 600; font-size: .95rem; }
.rki-ergebnis .urteil.gut { border-left: 4px solid var(--gelb); }
.rki-ergebnis .urteil.schlecht { border-left: 4px solid #ffb4a8; }

.fliesstext .rki { grid-template-columns: 1fr; }
.fliesstext .rki-ergebnis { position: static; }
.fliesstext .pt { min-width: 30rem; }

@media (max-width: 960px) {
  .zusatzpreise { grid-template-columns: 1fr; }
  .rki { grid-template-columns: 1fr; }
  .rki-ergebnis { position: static; }
}
@media (max-width: 560px) {
  .rki-eingaben .rki-paar { grid-template-columns: 1fr 1fr; }
}
