/* Bauer Solar PV-Rechner — alles gescopet unter .bspv */
.bspv {
	--bspv-accent: #b05c0a;
	--bspv-accent-dark: #94500a; /* = Site-Hover-Standard */
	--bspv-border: #d9d3c8;
	margin: 2rem auto;
	max-width: 900px;
}

/* Eingabe */
.bspv-form { display: grid; gap: 1rem; margin: 0; }
.bspv-area { border: 1px solid var(--bspv-border); border-radius: 8px; padding: 1rem 1.25rem; margin: 0; background: #fff; }
.bspv-area legend { font-weight: 700; padding: 0 0.35em; }
.bspv-mode { display: flex; gap: 1.25rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.bspv-mode label { display: flex; align-items: center; gap: 0.4em; cursor: pointer; margin: 0; }
/* Theme (go) blendet native Radios global aus (opacity:0) — hier wiederherstellen */
.bspv-mode input[type="radio"] { opacity: 1 !important; position: static !important; width: 1.1em; height: 1.1em; margin: 0; accent-color: var(--bspv-accent); }
.bspv-fields { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.bspv-field { display: flex; flex-direction: column; gap: 0.25rem; margin: 0; flex: 1 1 160px; }
.bspv-field label { font-size: 0.85em; font-weight: 600; }
.bspv-field input,
.bspv-field select { padding: 0.55em 0.7em; border: 1px solid var(--bspv-border); border-radius: 6px; font: inherit; min-height: 44px; background: #fff; width: 100%; }
.bspv-more { border: 1px dashed var(--bspv-border); border-radius: 8px; padding: 0.5rem 1rem; }
.bspv-more[open] { border-style: solid; padding-bottom: 1rem; }
.bspv-more summary { cursor: pointer; font-weight: 600; color: var(--bspv-accent); padding: 0.35rem 0; }
.bspv-more[open] summary { margin-bottom: 0.75rem; }
.bspv-hint { font-size: 0.85em; color: #555; margin: 0; }

/* Ergebnis */
.bspv-result { border: 2px solid var(--bspv-accent); border-radius: 10px; padding: 1.25rem 1.5rem 1.5rem; margin-top: 1.5rem; background: #fdf8f2; }
.bspv-result-title { margin: 0 0 0.75rem; font-size: 1.35rem; }
.bspv-empty { margin: 0; color: #444; }
.bspv-numbers { display: flex; gap: 2.5rem; flex-wrap: wrap; }
.bspv-kpi { display: flex; flex-direction: column; margin: 0; }
.bspv-kpi-value { font-size: 2rem; font-weight: 800; color: var(--bspv-accent-dark); line-height: 1.2; }
.bspv-kpi-label { font-size: 0.85em; color: #444; }
.bspv-warn { font-weight: 600; color: #7a3600; margin: 0; }

/* Monats-Balken (dekorativ; Daten stehen in der Tabelle) */
.bspv-bars { display: flex; align-items: flex-end; gap: 4px; margin-top: 1.25rem; }
.bspv-bar { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.bspv-bar-track { height: 130px; display: flex; align-items: flex-end; }
.bspv-bar-fill { width: 100%; background: var(--bspv-accent); border-radius: 3px 3px 0 0; min-height: 2px; transition: height 0.25s; }
.bspv-bar-label { font-size: 0.7em; text-align: center; margin-top: 4px; color: #555; }

/* Monats-Tabelle */
.bspv-months { width: 100%; border-collapse: collapse; margin-top: 1rem; font-size: 0.9em; }
.bspv-months caption { font-size: 0.85em; color: #555; text-align: left; margin-bottom: 0.4em; }
.bspv-months th,
.bspv-months td { border: 1px solid var(--bspv-border); padding: 0.4em 0.7em; text-align: left; }
.bspv-months td { text-align: right; font-variant-numeric: tabular-nums; }
.bspv-months tfoot th,
.bspv-months tfoot td { font-weight: 700; background: #fff; }

.bspv-note { font-size: 0.85em; color: #444; margin: 1rem 0 0; }
.bspv-cta { margin: 1.25rem 0 0; }
/* !important: Theme-Sheet erzwingt sonst Linkfarbe #b05c0a = Buttonhintergrund */
.bspv-btn { display: inline-block; background: var(--bspv-accent); color: #fff !important; padding: 0.8em 1.6em; border-radius: 6px; font-weight: 700; text-decoration: none; }
.bspv-btn:visited { color: #fff !important; }
.bspv-btn:hover,
.bspv-btn:focus { background: var(--bspv-accent-dark); color: #fff !important; }

@media (max-width: 600px) {
	.bspv-numbers { gap: 1.25rem; }
	.bspv-kpi-value { font-size: 1.55rem; }
	.bspv-bars { gap: 2px; }
	.bspv-bar-track { height: 100px; }
	.bspv-bar-label { font-size: 0.58em; }
	.bspv-result { padding: 1rem 1rem 1.25rem; }
}
