/* PScoat Adressrechner v2. Ruhig, kompakt, feste Slots, tabellarische Ziffern,
 * 44-px-Ziele. Farben angelehnt an die Energie-Ratgeberseiten des Netzes. */
.psc-adr {
	--adr-ink: #1c2b2a;
	--adr-soft: #5f7371;
	--adr-line: #cfd9d7;
	--adr-bg: #f4f7f6;
	--adr-akzent: #076a80;
	--adr-akzent-dunkel: #05505f;
	--adr-warn: #8a4b00;
	--adr-fehler: #a3231b;
	--adr-ziel: 44px;
	color: var(--adr-ink);
	font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	max-width: 44rem;
	margin: 0 auto;
	padding: 0 16px 32px;
	box-sizing: border-box;
}
.psc-adr *, .psc-adr *::before, .psc-adr *::after { box-sizing: border-box; }
.psc-adr [hidden] { display: none !important; }
.psc-adr a { color: var(--adr-akzent-dunkel); text-decoration-thickness: 1px; text-underline-offset: 2px; }

.psc-adr-seite { margin: 0; background: #fff; }
.psc-adr-haupt { padding-top: 24px; }
.psc-adr-kopf { box-sizing: border-box; max-width: 44rem; margin: 0 auto; padding: 0 16px 8px; color: #1c2b2a; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.psc-adr-marke { margin: 0 0 4px; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #076a80; }
.psc-adr-kopf h1 { margin: 0 0 8px; font-size: 1.625rem; line-height: 1.25; }
.psc-adr-lead-satz { margin: 0; color: #5f7371; }

/* Eigene, feste Textfarbe (nicht var(--adr-ink)): der cremefarbene Hintergrund bleibt in
   jedem Theme gleich, im dunklen Dashboard waere geerbter heller Text sonst unlesbar --
   der Balken wirkte dadurch leer. */
.psc-adr-vorschau { margin: 8px 0 16px; padding: 8px 12px; border-left: 3px solid var(--adr-warn); background: #fdf3e3; color: #5c3a00; font-size: 0.9375rem; }
.psc-adr-vorschau strong { color: #5c3a00; }

.psc-adr-schritt { padding: 20px 0 4px; border-top: 1px solid var(--adr-line); margin-top: 8px; }
.psc-adr-schritt h2 { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 1.125rem; line-height: 1.3; }
.psc-adr-nr { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--adr-akzent); color: #fff; font-size: 0.875rem; font-variant-numeric: tabular-nums; }

.psc-adr label { display: block; margin: 0 0 4px; font-size: 0.9375rem; font-weight: 600; }
.psc-adr input[type=text], .psc-adr input[type=email], .psc-adr input[type=tel] {
	width: 100%; min-height: var(--adr-ziel); padding: 8px 12px; border: 1px solid #8fa3a0; border-radius: 6px; background: #fff; color: inherit; font: inherit;
}
.psc-adr input:focus-visible, .psc-adr button:focus-visible, .psc-adr summary:focus-visible, .psc-adr a:focus-visible { outline: 3px solid #f2b705; outline-offset: 2px; }
.psc-adr-zeile { display: flex; gap: 8px; align-items: stretch; flex-wrap: wrap; }
.psc-adr-zeile input { flex: 1 1 14rem; min-width: 0; }

.psc-adr-btn { min-height: var(--adr-ziel); padding: 8px 18px; border: 1px solid var(--adr-akzent); border-radius: 6px; background: #fff; color: var(--adr-akzent-dunkel); font: inherit; font-weight: 600; cursor: pointer; }
.psc-adr-btn-primaer { background: var(--adr-akzent); color: #fff; }
.psc-adr-btn-primaer:hover { background: var(--adr-akzent-dunkel); }
.psc-adr-btn:disabled { opacity: 0.55; cursor: progress; }
.psc-adr-link { padding: 10px 0; border: 0; background: none; color: var(--adr-akzent-dunkel); font: inherit; text-decoration: underline; cursor: pointer; min-height: var(--adr-ziel); }

.psc-adr-ds { margin: 0 0 12px; padding: 10px 12px; background: var(--adr-bg); border-radius: 6px; font-size: 0.9375rem; }
.psc-adr-manuell { margin: 2px 0 0; }
.psc-adr-status { min-height: 1.5em; margin: 4px 0 8px; color: var(--adr-soft); font-size: 0.9375rem; }
.psc-adr-hinweis { min-height: 1.5em; margin: 4px 0 0; color: var(--adr-soft); font-size: 0.875rem; }
.psc-adr-fehler { min-height: 1.5em; margin: 8px 0 0; color: var(--adr-fehler); font-weight: 600; }

.psc-adr-feld { margin: 0 0 14px; }
.psc-adr-raster { display: grid; gap: 0 16px; grid-template-columns: 1fr; }
.psc-adr-baujahr { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.psc-adr-baujahr legend { padding: 0; margin: 0 0 6px; font-size: 0.9375rem; font-weight: 600; }
.psc-adr-optionen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 480px) { .psc-adr-optionen { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.psc-adr-option { position: relative; margin: 0 !important; font-weight: 400 !important; }
.psc-adr-option input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.psc-adr-option span { display: flex; align-items: center; justify-content: center; min-height: var(--adr-ziel); padding: 6px 4px; border: 1px solid #8fa3a0; border-radius: 6px; background: #fff; font-variant-numeric: tabular-nums; text-align: center; white-space: nowrap; font-size: 0.9375rem; }
.psc-adr-option input:checked + span { border-color: var(--adr-akzent); background: var(--adr-akzent); color: #fff; }
.psc-adr-option input:focus-visible + span { outline: 3px solid #f2b705; outline-offset: 2px; }
.psc-adr-annahmen { margin: 0 0 14px; }
.psc-adr-annahmen summary { min-height: var(--adr-ziel); display: flex; align-items: center; color: var(--adr-akzent-dunkel); cursor: pointer; }
.psc-adr-annahmen .psc-adr-raster { padding-top: 6px; }

.psc-adr-lead-hinweis { margin: 0 0 10px; color: var(--adr-soft); font-size: 0.9375rem; }
.psc-adr-objekt-adresse { margin: 0 0 14px; padding: 8px 12px; background: var(--adr-bg); border-radius: 6px; font-size: 0.9375rem; }
.psc-adr-einwilligung { display: flex !important; align-items: flex-start; gap: 10px; margin: 4px 0 8px !important; font-weight: 400 !important; font-size: 0.9375rem !important; }
.psc-adr-einwilligung input { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0 0; }
.psc-adr-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Ergebnis */
.psc-adr-erg { font-variant-numeric: tabular-nums; }
.psc-adr-kontext { margin: 0 0 12px; color: var(--adr-soft); font-size: 0.9375rem; }
.psc-adr-klassen { display: grid; grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr); align-items: stretch; gap: 8px; margin: 0 0 12px; }
.psc-adr-klasse { display: grid; grid-template-rows: auto 3.25rem auto; justify-items: center; align-content: start; padding: 10px 8px; border: 1px solid var(--adr-line); border-radius: 8px; text-align: center; }
.psc-adr-klasse-label { font-size: 0.8125rem; font-weight: 600; color: var(--adr-soft); text-transform: uppercase; letter-spacing: 0.05em; }
.psc-adr-klasse-wert { align-self: center; font-size: 1.875rem; font-weight: 700; line-height: 1.1; white-space: nowrap; }
.psc-adr-klasse-soll { border-color: var(--adr-akzent); background: #eaf4f6; }
.psc-adr-klasse-soll .psc-adr-klasse-wert { color: var(--adr-akzent-dunkel); }
.psc-adr-klasse-sub { font-size: 0.8125rem; color: var(--adr-soft); }
.psc-adr-pfeil { align-self: center; text-align: center; font-size: 1.5rem; color: var(--adr-soft); }
.psc-adr-korridor { margin: 0 0 12px; font-size: 1.0625rem; font-weight: 600; }
.psc-adr-zahlen { margin: 0 0 14px; }
.psc-adr-zahlen div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 4px 12px; padding: 8px 0; border-bottom: 1px solid var(--adr-line); }
.psc-adr-zahlen dt { color: var(--adr-soft); }
.psc-adr-zahlen dd { margin: 0; font-weight: 600; text-align: right; }
.psc-adr-klein { font-weight: 400; color: var(--adr-soft); font-size: 0.8125rem; }
.psc-adr-pakete { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.psc-adr-pakete caption { padding: 0 0 6px; text-align: left; font-size: 0.875rem; color: var(--adr-soft); }
.psc-adr-pakete th, .psc-adr-pakete td { padding: 8px 6px; border-bottom: 1px solid var(--adr-line); vertical-align: top; text-align: left; }
.psc-adr-pakete thead th { font-size: 0.8125rem; color: var(--adr-soft); font-weight: 600; }
.psc-adr-pakete tbody th { font-weight: 600; }
.psc-adr-pakete tbody th .psc-adr-klein { display: block; }
.psc-adr-pakete .psc-adr-num { text-align: right; white-space: normal; }
.psc-adr-notizen { margin: 0 0 12px; padding-left: 1.1em; color: var(--adr-soft); font-size: 0.9375rem; }
.psc-adr-grenze { margin: 0 0 12px; font-size: 0.875rem; color: var(--adr-soft); }

.psc-adr-wie { margin: 20px 0 8px; border-top: 1px solid var(--adr-line); }
.psc-adr-wie summary { min-height: var(--adr-ziel); display: flex; align-items: center; font-weight: 600; cursor: pointer; }
.psc-adr-methode { margin: 0 0 12px; padding-left: 1.2em; font-size: 0.9375rem; }
.psc-adr-methode li { margin: 0 0 8px; }
.psc-adr-quellen { margin: 8px 0 0; font-size: 0.8125rem; color: var(--adr-soft); }

@media (min-width: 560px) {
	.psc-adr-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.psc-adr-klasse-wert { font-size: 2.25rem; }
	.psc-adr-zahlen div { grid-template-columns: 14rem minmax(0, 1fr); }
	.psc-adr-pakete th, .psc-adr-pakete td { padding: 10px 8px; }
}
@media (min-width: 680px) { .psc-adr-baujahr .psc-adr-optionen { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 380px) {
	.psc-adr-pakete { font-size: 0.8125rem; }
	.psc-adr-klasse { padding: 10px 4px; }
	.psc-adr-klasse-wert { font-size: 1.375rem; }
	.psc-adr-klasse-label { letter-spacing: 0.02em; }
	.psc-adr-pakete th, .psc-adr-pakete td { padding: 8px 3px; }
	.psc-adr-pakete tbody th { overflow-wrap: anywhere; }
}
/* v2: Paketwahl, Stockwerke, Schalter, Badge, Detailkarten */
.psc-adr-paketwahl, .psc-adr-stockwerke { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.psc-adr-paketwahl legend, .psc-adr-stockwerke legend { padding: 0; margin: 0 0 6px; font-size: 0.9375rem; font-weight: 600; }
.psc-adr-paketwahl .psc-adr-optionen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 480px) { .psc-adr-paketwahl .psc-adr-optionen { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.psc-adr-stockwerke .psc-adr-optionen { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (min-width: 560px) { .psc-adr-stockwerke .psc-adr-optionen { grid-template-columns: repeat(8, minmax(0, 1fr)); } }
.psc-adr-stockwerke .psc-adr-option span, .psc-adr-paketwahl .psc-adr-option span, .psc-adr-gebaeudetyp .psc-adr-option span, .psc-adr-heizungsart .psc-adr-option span, .psc-adr-heizungswahl .psc-adr-option span { white-space: normal; line-height: 1.2; padding: 6px 8px; }
/* Lauf 146: "Ihre Heizung heute"/"Ihre Heizung" -- gleiches Kachel-Raster wie Baujahr/Gebäudetyp, bei 5 Optionen auf dem Handy nie breiter als die Spalte (kein horizontaler Überlauf bei 390 px). */
.psc-adr-heizungsart, .psc-adr-heizungswahl { margin: 0 0 14px; padding: 0; border: 0; min-width: 0; }
.psc-adr-heizungsart legend, .psc-adr-heizungswahl legend { padding: 0; margin: 0 0 6px; font-size: 0.9375rem; font-weight: 600; }
.psc-adr-heizungsarten-tabelle tr.psc-adr-heizungsart-gewaehlt th, .psc-adr-heizungsarten-tabelle tr.psc-adr-heizungsart-gewaehlt td { background: #eaf4f6; font-weight: 600; }
.psc-adr-schalter { margin: 0 0 14px; display: grid; gap: 8px; }
.psc-adr-haken { display: flex !important; align-items: flex-start; gap: 10px; margin: 0 !important; font-weight: 400 !important; }
.psc-adr-haken input { flex: 0 0 22px; width: 22px; height: 22px; margin: 2px 0 0; }
.psc-adr-haken .psc-adr-klein { display: block; }
.psc-adr-badge { margin: 0 0 8px; padding: 8px 12px; border-left: 4px solid var(--adr-akzent); background: #eaf4f6; font-size: 0.9375rem; font-weight: 600; color: var(--adr-akzent-dunkel); }
.psc-adr-uwert-zeile { margin: 0 0 10px; font-size: 0.9375rem; color: var(--adr-soft); }
.psc-adr-detail { margin: 0 0 8px; }
.psc-adr-pakete tr.psc-adr-gewaehlt th, .psc-adr-pakete tr.psc-adr-gewaehlt td { background: #eaf4f6; }
.psc-adr-aktion { margin: 12px 0; }
.psc-adr-btn-zweit { background: #fff; color: var(--adr-akzent-dunkel); }
.psc-adr-btn-zweit:hover { background: var(--adr-bg); }

/* v2.1: Bauteil-Kennzahl "Waermeverlust ueber Fassade und Dachbodendecke" mit Passivhaus-Niveau-Abzeichen daneben */
.psc-adr-kennreihe { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: stretch; margin: 0 0 10px; }
.psc-adr-kennreihe > * { margin: 0; }
.psc-adr-kennzahl { flex: 1 1 15rem; display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 10px 14px; border: 1px solid var(--adr-akzent); border-radius: 8px; background: #fff; }
.psc-adr-kennzahl-label { font-size: 0.875rem; font-weight: 600; color: var(--adr-soft); }
.psc-adr-kennzahl-wert { font-size: 1.75rem; line-height: 1.15; font-weight: 700; color: var(--adr-akzent-dunkel); }
.psc-adr-kennreihe .psc-adr-badge { flex: 1 1 15rem; display: flex; align-items: center; }
.psc-adr-klassen-erklaerung { margin: 0 0 12px; font-size: 0.9375rem; color: var(--adr-soft); }
.psc-adr-klima-hinweis { margin: 0 0 10px; padding: 8px 12px; border-left: 4px solid var(--adr-line); background: var(--adr-bg); }
.psc-adr-angebot-bauteil { list-style: none; margin: 0 0 8px; padding: 0; }
.psc-adr-angebot-bauteil li { padding: 5px 0; border-bottom: 1px solid #bbb; }
.psc-adr-angebot .psc-adr-kennzahl-wert { display: inline; font-size: 13pt; }
.psc-adr-angebot-bauteil .psc-adr-badge { display: block; margin: 4px 0 0; padding: 4px 8px; font-size: 9.5pt; }
@media print { body.psc-adr-druckt .psc-adr-angebot-bauteil li { break-inside: avoid; } }

/* Paketvergleich als Karten auf dem Handy */
@media (max-width: 679px) {
	.psc-adr-pakete, .psc-adr-pakete tbody, .psc-adr-pakete tr, .psc-adr-pakete th, .psc-adr-pakete td { display: block; width: 100%; }
	.psc-adr-pakete thead { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
	.psc-adr-pakete tbody tr { margin: 0 0 10px; padding: 4px 10px; border: 1px solid var(--adr-line); border-radius: 8px; }
	.psc-adr-pakete tbody th { padding: 8px 0 4px; border-bottom: 1px solid var(--adr-line); font-size: 1rem; }
	.psc-adr-pakete tbody th .psc-adr-klein { display: inline; }
	.psc-adr-pakete td { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: 8px; padding: 6px 0; text-align: right; }
	.psc-adr-pakete td::before { content: attr(data-label); text-align: left; color: var(--adr-soft); font-size: 0.8125rem; font-weight: 600; }
	.psc-adr-pakete .psc-adr-num { text-align: right; }
	.psc-adr-pakete tr.psc-adr-gewaehlt { border-color: var(--adr-akzent); background: #eaf4f6; }
}

/* Lauf 142: Heizkosten-/Foerderungs-Tabellen als Karten auf dem Handy,
   gleiches Muster wie .psc-adr-pakete oben (vermeidet horizontales
   Ueberlaufen bei vier Spalten unter 390px). */
.psc-adr-heizungsarten-tabelle, .psc-adr-foerderung-tabelle { width: 100%; border-collapse: collapse; margin: 0 0 10px; }
.psc-adr-heizungsarten-tabelle th, .psc-adr-heizungsarten-tabelle td,
.psc-adr-foerderung-tabelle th, .psc-adr-foerderung-tabelle td { padding: 8px 6px; border-bottom: 1px solid var(--adr-line); vertical-align: top; text-align: left; }
.psc-adr-heizungsarten-tabelle thead th, .psc-adr-foerderung-tabelle thead th { font-size: 0.8125rem; color: var(--adr-soft); font-weight: 600; }
.psc-adr-heizungsarten-tabelle .psc-adr-num, .psc-adr-foerderung-tabelle .psc-adr-num { text-align: right; white-space: normal; }
@media (max-width: 679px) {
	.psc-adr-heizungsarten-tabelle, .psc-adr-heizungsarten-tabelle tbody, .psc-adr-heizungsarten-tabelle tr, .psc-adr-heizungsarten-tabelle th, .psc-adr-heizungsarten-tabelle td,
	.psc-adr-foerderung-tabelle, .psc-adr-foerderung-tabelle tbody, .psc-adr-foerderung-tabelle tr, .psc-adr-foerderung-tabelle th, .psc-adr-foerderung-tabelle td { display: block; width: 100%; }
	.psc-adr-heizungsarten-tabelle thead, .psc-adr-foerderung-tabelle thead { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
	.psc-adr-heizungsarten-tabelle tbody tr, .psc-adr-foerderung-tabelle tbody tr { margin: 0 0 10px; padding: 4px 10px; border: 1px solid var(--adr-line); border-radius: 8px; }
	.psc-adr-heizungsarten-tabelle tbody th, .psc-adr-foerderung-tabelle tbody th { padding: 8px 0 4px; border-bottom: 1px solid var(--adr-line); font-size: 1rem; }
	.psc-adr-heizungsarten-tabelle td, .psc-adr-foerderung-tabelle td { display: grid; grid-template-columns: minmax(0, 8rem) minmax(0, 1fr); gap: 8px; padding: 6px 0; text-align: right; }
	.psc-adr-heizungsarten-tabelle td::before, .psc-adr-foerderung-tabelle td::before { content: attr(data-label); text-align: left; color: var(--adr-soft); font-size: 0.8125rem; font-weight: 600; }
	.psc-adr-heizungsarten-tabelle .psc-adr-num, .psc-adr-foerderung-tabelle .psc-adr-num { text-align: right; }
}
.psc-adr-zusatzflaechen { margin: 0 0 12px; padding-left: 1.1rem; }
.psc-adr-zusatzflaechen li { margin: 0 0 4px; }
.psc-adr-mehr { margin: 0 0 16px; }
.psc-adr-mehr-kachel { margin: 0 0 12px; padding: 12px; border: 1px solid var(--adr-line); border-radius: 8px; }
.psc-adr-mehr-kachel h4 { margin: 0 0 6px; }
.psc-adr-tarifcheck { font-size: 0.9375rem; color: var(--adr-soft); margin: 0 0 12px; }

/* Angebot (Druckansicht, auf dem Bildschirm unsichtbar) */
.psc-adr-druck { display: none; }
.psc-adr-angebot { color: #000; font: 11pt/1.4 system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.psc-adr-angebot h2 { margin: 0 0 4px; font-size: 18pt; }
.psc-adr-angebot h3 { margin: 14px 0 6px; font-size: 12pt; }
.psc-adr-angebot table { width: 100%; border-collapse: collapse; margin: 0 0 8px; }
.psc-adr-angebot th, .psc-adr-angebot td { padding: 4px 6px; border-bottom: 1px solid #bbb; text-align: left; vertical-align: top; }
.psc-adr-angebot thead th { font-size: 9pt; text-transform: none; }
.psc-adr-angebot-objekt th { width: 38%; font-weight: 600; }
.psc-adr-angebot-fuss { margin-top: 14px; padding-top: 8px; border-top: 1px solid #000; font-size: 10pt; }
.psc-adr-angebot tr.psc-adr-gewaehlt th, .psc-adr-angebot tr.psc-adr-gewaehlt td { background: #e8eef0; font-weight: 600; }

@media print {
	@page { size: A4; margin: 16mm; }
	body.psc-adr-druckt { background: #fff !important; }
	body.psc-adr-druckt .psc-adr-kopf,
	body.psc-adr-druckt .psc-adr-vorschau,
	body.psc-adr-druckt .psc-adr > *:not(.psc-adr-druck) { display: none !important; }
	body.psc-adr-druckt .psc-adr-druck { display: block !important; }
	body.psc-adr-druckt .psc-adr { max-width: none; padding: 0; }
	body.psc-adr-druckt .psc-adr-haupt { padding: 0; }
	body.psc-adr-druckt .psc-adr-angebot table, body.psc-adr-druckt .psc-adr-angebot tr { break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) { .psc-adr * { scroll-behavior: auto !important; transition: none !important; } }

/* ================================================================
 * v3 (Energiescan-Dashboard): Gebaeudeansicht (Karte/Luftbild/3D),
 * U-Wert-Vergleich, Mini-Kennzahlen, Belege, CTA/WhatsApp, Dashboard-Raster.
 * Diese Bausteine sind grundsaetzlich fuer beide Modi gebaut (helles Formular
 * per Shortcode UND die dunkle Dashboard-Seite /adressrechner/); die dunkle
 * Optik unten setzt nur die --adr-*-Variablen um, die der Rest der Datei
 * schon ueberall verwendet.
 * ================================================================ */

/* -- Dashboard-Raster: Schritte 1-2 links, Ergebnis rechts (ab Tablet-Breite) */
.psc-adr-dashboard { display: block; }
.psc-adr-platzhalter { margin: 20px 0 0; padding: 16px; border: 1px dashed var(--adr-line); border-radius: 10px; color: var(--adr-soft); font-size: 0.9375rem; text-align: center; }
@media (min-width: 900px) {
	.psc-adr-dashboard { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 28px; align-items: start; }
	.psc-adr-spalte-links, .psc-adr-spalte-rechts { min-width: 0; }
	.psc-adr-spalte-rechts { position: sticky; top: 12px; }
}

/* -- Gebaeudeansicht: Karte/Luftbild/3D */
.psc-adr-unter-h { margin: 0 0 8px; font-size: 1rem; font-weight: 600; }
.psc-adr-gebaeudeansicht { margin: 14px 0 4px; }
.psc-adr-karten-umschalter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.psc-adr-chip { min-height: 36px; padding: 6px 14px; border: 1px solid var(--adr-akzent); border-radius: 999px; background: transparent; color: var(--adr-akzent-dunkel); font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; }
.psc-adr-chip[aria-pressed="true"] { background: var(--adr-akzent); color: #fff; }
.psc-adr-karte { height: 260px; border-radius: 10px; overflow: hidden; background: var(--adr-bg); border: 1px solid var(--adr-line); }
.psc-adr-3d { margin: 0; }
.psc-adr-3d canvas { display: block; width: 100%; height: auto; border-radius: 10px; background: #0e1613; cursor: grab; touch-action: none; }
.psc-adr-3d canvas:active { cursor: grabbing; }
.psc-adr-3d canvas:focus-visible { outline: 3px solid #f2b705; outline-offset: 2px; }
.psc-adr-3d-hinweis { margin: 6px 0 0; font-size: 0.8125rem; color: var(--adr-soft); }
.psc-adr-karten-quelle { margin: 6px 0 0; font-size: 0.75rem; color: var(--adr-soft); }

/* -- U-Wert-Vergleich (Ist-Zustand rot -> Nach Sanierung gruen) */
.psc-adr-uvgl { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 8px; margin: 0 0 10px; padding: 12px; border: 1px solid var(--adr-line); border-radius: 10px; }
.psc-adr-uvgl-seite { display: flex; flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.psc-adr-uvgl-label { font-size: 0.75rem; font-weight: 600; color: var(--adr-soft); text-transform: uppercase; letter-spacing: 0.04em; }
.psc-adr-uvgl-wert { font-size: 1.75rem; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.psc-adr-uvgl-ist .psc-adr-uvgl-wert { color: #e2543f; }
.psc-adr-uvgl-soll .psc-adr-uvgl-wert { color: #1f9e5a; }
.psc-adr-uvgl-einheit { font-size: 0.75rem; color: var(--adr-soft); }
.psc-adr-uvgl-pfeil { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 1.25rem; color: var(--adr-soft); }
.psc-adr-uvgl-abzeichen { padding: 2px 8px; border-radius: 999px; background: #1f9e5a; color: #fff; font-size: 0.75rem; font-weight: 700; white-space: nowrap; }

/* -- Weitere Kennzahlen (CO2, Amortisation) als Mini-Karten */
.psc-adr-mini-kennzahlen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 14px; }
.psc-adr-mini-kennzahlen div { padding: 8px 10px; border: 1px solid var(--adr-line); border-radius: 8px; }
.psc-adr-mini-kennzahlen dt { margin: 0 0 2px; font-size: 0.75rem; color: var(--adr-soft); }
.psc-adr-mini-kennzahlen dd { margin: 0; font-weight: 700; font-size: 0.9375rem; }

/* -- Belege & Pruefwerte */
.psc-adr-belege { margin: 0 0 14px; border-top: 1px solid var(--adr-line); padding-top: 10px; }
.psc-adr-belege summary { min-height: var(--adr-ziel); display: flex; align-items: center; font-weight: 600; cursor: pointer; }
.psc-adr-belege-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0; }
@media (min-width: 560px) { .psc-adr-belege-raster { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.psc-adr-beleg-karte { display: flex; flex-direction: column; gap: 2px; padding: 10px; border: 1px solid var(--adr-line); border-radius: 8px; }
.psc-adr-beleg-label { font-size: 0.75rem; color: var(--adr-soft); }
.psc-adr-beleg-wert { font-weight: 700; font-size: 0.9375rem; }
.psc-adr-beleg-klein { font-size: 0.75rem; color: var(--adr-soft); }
.psc-adr-belege-liste { margin: 0; padding-left: 1.1em; font-size: 0.875rem; color: var(--adr-soft); }
.psc-adr-belege-liste li { margin: 0 0 6px; }

/* -- CTA, WhatsApp, Energieausweis-Hinweis */
.psc-adr-btn-gross { font-size: 1.0625rem; padding: 12px 24px; }
.psc-adr-btn-whatsapp { display: inline-flex; align-items: center; min-height: var(--adr-ziel); padding: 8px 18px; border: 1px solid #25963f; border-radius: 6px; background: #25963f; color: #fff; font: inherit; font-weight: 600; text-decoration: none; }
.psc-adr-btn-whatsapp:hover { background: #1c7a32; }
.psc-adr-energieausweis { margin: 10px 0 0; font-size: 0.9375rem; color: var(--adr-soft); }

/* ================================================================
 * v3.1 (PScoat-Marke, Conversion-Aufbau): Hero, Mikro-Vertrauenszeile,
 * Fortschrittsanzeige, Ergebnis-Hero (grosse Zahl zuerst), Vergleich mit
 * klassischer Daemmung, FAQ, mehrere CTAs + Sticky-CTA mobil. Farben,
 * Schrift, Radien, Schatten und Button-Stil 1:1 aus dem Shop-Theme
 * powersmartcoat-v2 (style.css :root, lesend per ssh geprueft 10.10.2026):
 * Hintergrund #06101a, Karte #0f2031, Akzent-Cyan #04b7d5 (exakt aus dem
 * Logo gemessen, Kontrast auf dunklem Grund 7,97:1), Navy #2f375e, Radius
 * 18/9px, Schrift Inter -- kein CDN-Nachladen, Fallback wie im Shop-Theme.
 * Siehe docs/projects/powersmartcoat-energiescan-v31-2026-10-10.md.
 * ================================================================ */

/* -- Dunkles Dashboard (nur die eigene Seite /adressrechner/, nicht der Shortcode auf fremden Seiten) */
.psc-adr-seite-dashboard { background: #06101a; }
.psc-adr-seite-dashboard .psc-adr-kopf, .psc-adr-seite-dashboard .psc-adr-hero { max-width: 68rem; }
.psc-adr-seite-dashboard .psc-adr-marke { color: #04b7d5; display: inline-flex; align-items: center; gap: 8px; font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.psc-adr-seite-dashboard .psc-adr-marke::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #04b7d5; box-shadow: 0 0 10px 2px rgba(4,183,213,.32); }
.psc-adr-seite-dashboard .psc-adr-kopf h1, .psc-adr-seite-dashboard .psc-adr-lead-satz { color: #eef5fb; }
.psc-adr-seite-dashboard .psc-adr-lead-satz { color: #a9b8c7; }
.psc-adr-seite-dashboard .psc-adr {
	--adr-ink: #eef5fb;
	--adr-soft: #a9b8c7;
	--adr-line: rgba(173, 205, 229, 0.18);
	--adr-bg: #0f2031;
	--adr-akzent: #04b7d5;
	--adr-akzent-dunkel: #0391ab;
	max-width: 68rem;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
.psc-adr-seite-dashboard .psc-adr input[type=text],
.psc-adr-seite-dashboard .psc-adr input[type=email],
.psc-adr-seite-dashboard .psc-adr input[type=tel],
.psc-adr-seite-dashboard .psc-adr-option span,
.psc-adr-seite-dashboard .psc-adr-btn,
.psc-adr-seite-dashboard .psc-adr-chip { background: #0f2031; color: var(--adr-ink); border-color: rgba(173, 205, 229, 0.28); border-radius: 9px; }
.psc-adr-seite-dashboard .psc-adr-btn-primaer,
.psc-adr-seite-dashboard .psc-adr-option input:checked + span,
.psc-adr-seite-dashboard .psc-adr-chip[aria-pressed="true"] { background: var(--adr-akzent); color: #04141a; border-color: var(--adr-akzent); font-weight: 700; box-shadow: 0 6px 24px -6px rgba(4,183,213,.32); }
.psc-adr-seite-dashboard .psc-adr-btn-primaer:hover { background: var(--adr-akzent-dunkel); color: #fff; transform: translateY(-1px); }
.psc-adr-seite-dashboard .psc-adr-klasse-soll,
.psc-adr-seite-dashboard .psc-adr-badge,
.psc-adr-seite-dashboard .psc-adr-klima-hinweis,
.psc-adr-seite-dashboard .psc-adr-pakete tr.psc-adr-gewaehlt th,
.psc-adr-seite-dashboard .psc-adr-pakete tr.psc-adr-gewaehlt td,
.psc-adr-seite-dashboard .psc-adr-objekt-adresse,
.psc-adr-seite-dashboard .psc-adr-ds { background: #122a3d; }
.psc-adr-seite-dashboard .psc-adr-btn-zweit { background: transparent; }
.psc-adr-seite-dashboard .psc-adr a { color: #5fd3ef; }
.psc-adr-seite-dashboard .psc-adr-kennzahl { background: #122a3d; border-color: rgba(4,183,213,.4); }
.psc-adr-seite-dashboard .psc-adr-ergebnis-hero,
.psc-adr-seite-dashboard .psc-adr-klassisch,
.psc-adr-seite-dashboard .psc-adr-klassisch-karte,
.psc-adr-seite-dashboard .psc-adr-beleg-karte,
.psc-adr-seite-dashboard .psc-adr-faq details,
.psc-adr-seite-dashboard .psc-adr-uvgl { background: #0f2031; border-radius: 14px; }
.psc-adr-seite-dashboard .psc-adr-klassisch-karte.psc-adr-klassisch-pscoat { background: rgba(4,183,213,.1); border-color: #04b7d5; }
.psc-adr-seite-dashboard .psc-adr-fortschritt li.ist-aktiv .psc-adr-fortschritt-nr,
.psc-adr-seite-dashboard .psc-adr-fortschritt li.ist-fertig .psc-adr-fortschritt-nr { background: #04b7d5; border-color: #04b7d5; color: #04141a; }
.psc-adr-seite-dashboard .psc-adr-vertrauen li::before { color: #04b7d5; }

/* -- Hero: Headline, Unterzeile, Mikro-Vertrauenszeile. Das Adressfeld
   (Schritt 1) folgt in derselben Flaeche direkt darunter (kein zweites Feld). */
.psc-adr-hero { margin: 0 0 18px; padding: 28px 0 6px; }
.psc-adr-hero h1 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.6rem); line-height: 1.14; margin: 0 0 10px; }
.psc-adr-hero-sub { max-width: 46rem; margin: 0 0 16px; font-size: 1.0625rem; }
.psc-adr-vertrauen { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 0; padding: 0; list-style: none; font-size: .8125rem; font-weight: 600; }
.psc-adr-vertrauen li { display: flex; align-items: center; gap: 6px; }
.psc-adr-vertrauen li::before { content: "✓"; color: var(--adr-akzent, #076a80); font-weight: 800; }

/* -- Fortschrittsanzeige: 1 Adresse -> 2 Gebaeude -> 3 Ergebnis */
.psc-adr-fortschritt { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; margin: 0 0 18px; padding: 0; list-style: none; font-size: .8125rem; font-weight: 600; color: var(--adr-soft); }
.psc-adr-fortschritt li { display: flex; align-items: center; gap: 8px; }
.psc-adr-fortschritt li:not(:last-child)::after { content: ""; width: 26px; height: 1px; background: var(--adr-line); margin-left: 6px; }
.psc-adr-fortschritt-nr { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 22px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--adr-line); font-size: .75rem; font-variant-numeric: tabular-nums; }
.psc-adr-fortschritt li.ist-aktiv,
.psc-adr-fortschritt li.ist-fertig { color: var(--adr-ink); }
.psc-adr-fortschritt li.ist-aktiv .psc-adr-fortschritt-nr,
.psc-adr-fortschritt li.ist-fertig .psc-adr-fortschritt-nr { background: var(--adr-akzent); border-color: var(--adr-akzent); color: #fff; }

/* -- Ergebnis-Hero: das grosse, persoenliche Ergebnis zuerst */
.psc-adr-ergebnis-hero { margin: 0 0 16px; padding: 20px; border: 1px solid var(--adr-line); border-radius: 14px; background: var(--adr-bg); text-align: center; }
.psc-adr-ergebnis-hero-label { margin: 0 0 4px; font-size: .8125rem; font-weight: 600; color: var(--adr-soft); text-transform: uppercase; letter-spacing: .04em; }
.psc-adr-ergebnis-hero-zahl { margin: 0; font-size: clamp(2.1rem, 1.7rem + 1.6vw, 3rem); font-weight: 800; line-height: 1.05; color: var(--adr-akzent-dunkel); font-variant-numeric: tabular-nums; }
.psc-adr-ergebnis-hero-neben { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 26px; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--adr-line); }
.psc-adr-ergebnis-hero-neben div { text-align: center; }
.psc-adr-ergebnis-hero-neben dt { margin: 0 0 2px; font-size: .75rem; color: var(--adr-soft); }
.psc-adr-ergebnis-hero-neben dd { margin: 0; font-weight: 700; font-size: 1.0625rem; }

/* -- Vergleich mit klassischer Daemmung (PScoat Komplett 1 mm vs. 10 cm EPS, Objektstudie) */
.psc-adr-klassisch { margin: 0 0 16px; padding: 16px; border: 1px solid var(--adr-line); border-radius: 14px; background: var(--adr-bg); }
.psc-adr-klassisch h3 { margin: 0 0 10px; font-size: 1rem; }
.psc-adr-klassisch-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.psc-adr-klassisch-karte { padding: 12px; border: 1px solid var(--adr-line); border-radius: 10px; text-align: center; }
.psc-adr-klassisch-karte.psc-adr-klassisch-pscoat { border-color: var(--adr-akzent); background: #eaf4f6; }
.psc-adr-klassisch-wert { display: block; font-size: 1.5rem; font-weight: 800; }
.psc-adr-klassisch-label { margin: 2px 0 0; font-size: .8125rem; color: var(--adr-soft); }
.psc-adr-klassisch-uwert { display: block; margin-top: 3px; font-size: .75rem; font-weight: 700; color: var(--adr-akzent-dunkel); }
.psc-adr-klassisch-quelle { margin: 10px 0 0; font-size: .75rem; color: var(--adr-soft); }
@media (max-width: 420px) { .psc-adr-klassisch-raster { grid-template-columns: 1fr; } }

/* -- FAQ (Einwand-Fragen) */
.psc-adr-faq { margin: 24px 0 12px; max-width: 68rem; padding: 0 16px; }
.psc-adr-faq h2 { font-size: 1.25rem; margin: 0 0 12px; }
.psc-adr-faq details { margin: 0 0 8px; padding: 2px 0; border-bottom: 1px solid var(--adr-line, #cfd9d7); }
.psc-adr-faq summary { min-height: var(--adr-ziel); display: flex; align-items: center; font-weight: 600; cursor: pointer; }
.psc-adr-faq p { margin: 0 0 12px; color: var(--adr-soft, #5f7371); font-size: .9375rem; }
.psc-adr-seite-dashboard .psc-adr-faq { color: #eef5fb; }
.psc-adr-seite-dashboard .psc-adr-faq details { border-bottom-color: rgba(173, 205, 229, 0.18); }
.psc-adr-seite-dashboard .psc-adr-faq p { color: #a9b8c7; }

/* -- Mehrere CTAs (Angebot, WhatsApp, Rueckruf) am Ende der Ergebnis-Geschichte */
.psc-adr-cta-reihe { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.psc-adr-btn-rueckruf { display: inline-flex; align-items: center; min-height: var(--adr-ziel); padding: 8px 18px; border: 1px solid var(--adr-akzent); border-radius: 9px; background: transparent; color: var(--adr-akzent-dunkel); font: inherit; font-weight: 600; text-decoration: none; }

/* -- Mini-CTA mobil: ein schlanker, oben klebender Knopf direkt am Ergebnis-Hero
   (nicht die ganze Knopf-Reihe -- die wuerde ueber grosse Teile der Ergebnis-
   Geschichte liegen, siehe docs/projects/powersmartcoat-energiescan-v31-2026-10-10.md). */
.psc-adr-mini-cta { display: none; margin: 0 0 14px; }
@media (max-width: 679px) {
	.psc-adr-mini-cta { display: block; position: sticky; top: 0; z-index: 6; padding: 8px 0; background: #fff; }
	.psc-adr-mini-cta .psc-adr-btn { display: flex; width: 100%; }
	.psc-adr-seite-dashboard .psc-adr-mini-cta { background: #06101a; }
}

/* ================================================================
 * v3.2: dritte Stufe "PScoat + Wärmepumpe" -- farbige GEG-Effizienzskala
 * A+ bis H (wie im Energieausweis, gruen -> rot) mit drei Markern
 * "Heute" / "Mit PScoat <Paket>" / "Mit PScoat + Wärmepumpe".
 * Siehe docs/projects/powersmartcoat-energiescan-v32-2026-10-10.md.
 * ================================================================ */
.psc-adr-geg { margin: 0 0 10px; }
.psc-adr-geg-balken { display: flex; border-radius: 8px; overflow: hidden; }
.psc-adr-geg-feld { flex: 1 1 0; display: flex; align-items: center; justify-content: center; min-height: 30px; font-size: .8125rem; font-weight: 700; font-variant-numeric: normal; }
.psc-adr-geg-feld-a-plus { background: #0a8a3c; color: #fff; }
.psc-adr-geg-feld-a      { background: #1aa64a; color: #fff; }
.psc-adr-geg-feld-b      { background: #8cc63f; color: #14310e; }
.psc-adr-geg-feld-c      { background: #d7df23; color: #2b2a06; }
.psc-adr-geg-feld-d      { background: #ffd400; color: #2b2200; }
.psc-adr-geg-feld-e      { background: #fcb040; color: #2b1700; }
.psc-adr-geg-feld-f      { background: #f7941e; color: #2b1300; }
.psc-adr-geg-feld-g      { background: #ed1c24; color: #fff; }
.psc-adr-geg-feld-h      { background: #a6192e; color: #fff; }
.psc-adr-geg-marker { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 8px 0 0; }
.psc-adr-geg-markerchip { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; color: var(--adr-soft); }
.psc-adr-geg-markerchip-punkt { flex: 0 0 11px; width: 11px; height: 11px; border-radius: 50%; }
.psc-adr-geg-markerchip-wert { font-weight: 700; color: var(--adr-ink); }
.psc-adr-geg-markerchip-betont .psc-adr-geg-markerchip-label,
.psc-adr-geg-markerchip-betont .psc-adr-geg-markerchip-wert { color: var(--adr-akzent-dunkel); font-weight: 700; }
.psc-adr-geg-highlight { margin: 10px 0 2px; padding: 8px 12px; border-left: 4px solid var(--adr-akzent); background: #eaf4f6; font-size: 1.0625rem; }
.psc-adr-geg-satz { margin: 4px 0 10px; font-size: .875rem; color: var(--adr-soft); }
.psc-adr-seite-dashboard .psc-adr-geg-highlight { background: #122a3d; border-left-color: var(--adr-akzent); color: #eef5fb; }
.psc-adr-seite-dashboard .psc-adr-geg-markerchip-wert { color: #eef5fb; }

/* -- "Professor PScoat" (v3.2, optional): LiveAvatar-Embed erst nach zwei Klicks */
.psc-adr-avatar { margin: 24px 0 12px; max-width: 68rem; padding: 0 16px; }
.psc-adr-avatar h2 { font-size: 1.125rem; margin: 0 0 10px; }
.psc-adr-avatar-hinweis { margin: 0 0 10px; font-size: .875rem; color: var(--adr-soft, #5f7371); max-width: 40rem; }
.psc-adr-avatar-iframe { display: block; width: 100%; height: 480px; border: 0; border-radius: 14px; }
.psc-adr-seite-dashboard .psc-adr-avatar { color: #eef5fb; }
.psc-adr-seite-dashboard .psc-adr-avatar-hinweis { color: #a9b8c7; }
/* Der Avatar-Block sitzt ausserhalb von .psc-adr (eigener Abschnitt der Seiten-Shell,
   wie .psc-adr-faq), erbt also KEINE --adr-*-Variablen. Eigene Knopf-Regeln mit
   Fallback-Werten, statt sich auf die globale .psc-adr-btn-Regel zu verlassen -- sonst
   bleibt der Knopf auf dem dunklen Dashboard-Hintergrund praktisch unsichtbar. */
.psc-adr-avatar .psc-adr-btn { min-height: 44px; padding: 8px 18px; border: 1px solid var(--adr-akzent, #076a80); border-radius: 6px; background: #fff; color: var(--adr-akzent-dunkel, #05505f); font: inherit; font-weight: 600; cursor: pointer; }
.psc-adr-avatar .psc-adr-btn-primaer { background: var(--adr-akzent, #076a80); color: #fff; border-color: var(--adr-akzent, #076a80); }
.psc-adr-seite-dashboard .psc-adr-avatar .psc-adr-btn-primaer { background: #04b7d5; color: #04141a; border-color: #04b7d5; font-weight: 700; }
.psc-adr-seite-dashboard .psc-adr-avatar .psc-adr-btn-primaer:hover { background: #0391ab; color: #fff; }

.psc-adr-tarifcheck-box { margin: 0 0 16px; }
.psc-adr-c24-knoepfe { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.psc-adr-c24-platz { width: 100%; max-width: 100%; overflow: hidden; }
.psc-adr-c24-platz iframe { max-width: 100%; }
