/* waermepumpe-rechner.net — helles Layout, ohne JS, ohne Webfonts */
:root{--text:#1d2621;--leise:#5a665f;--grund:#f6f8f5;--karte:#fff;--linie:#dde4de;--akzent:#1f6f50;--akzent-hell:#e3f1ea;--sonne:#f2b632;--warn:#9a3d12;--warn-hell:#fdf0e8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--grund)}
a{color:var(--akzent)}
a:hover{color:#134a35}
.rahmen{max-width:52rem;margin:0 auto;padding:0 1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:.5rem;background:#fff;padding:.3rem .6rem;z-index:2}
.kopf{background:#fff;border-bottom:1px solid var(--linie)}
.kopf-innen{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem;padding-top:.7rem;padding-bottom:.7rem}
.marke{display:flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text);text-decoration:none}
.kopf nav{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.95rem}
.kopf nav a{text-decoration:none;color:var(--leise);padding:.2rem 0}
.kopf nav a[aria-current]{color:var(--akzent);font-weight:600;border-bottom:2px solid var(--akzent)}
main{padding-top:1.5rem;padding-bottom:2rem}
h1{font-size:1.85rem;line-height:1.25;margin:.2rem 0 .8rem}
h2{font-size:1.3rem;line-height:1.3;margin:2rem 0 .6rem}
h3{font-size:1.08rem;margin:1.4rem 0 .4rem}
.lead-p{font-size:1.1rem;color:var(--leise)}
.karte{background:var(--karte);border:1px solid var(--linie);border-radius:12px;padding:1.1rem 1.2rem;margin:1rem 0}
.hinweis{background:var(--warn-hell);border-left:4px solid var(--warn);padding:.7rem 1rem;border-radius:6px}
.plus{background:var(--akzent-hell);border-left:4px solid var(--akzent);padding:.7rem 1rem;border-radius:6px}
table{border-collapse:collapse;width:100%;margin:.6rem 0 1rem;background:#fff;font-size:.95rem}
th,td{border-bottom:1px solid var(--linie);padding:.45rem .55rem;text-align:left;vertical-align:top}
th{background:#eef3ef;font-weight:600}
td.z,th.z{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
th.z{white-space:normal}
.tabelle{overflow-x:auto;-webkit-overflow-scrolling:touch}
.kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem;margin:1rem 0}
.kachel{background:#fff;border:1px solid var(--linie);border-radius:10px;padding:.8rem 1rem}
.kachel b{display:block;font-size:1.45rem;line-height:1.2;font-variant-numeric:tabular-nums}
.kachel span{color:var(--leise);font-size:.9rem}
form.rechner{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem 1.2rem}
form.rechner fieldset{border:0;padding:0;margin:0}
.feld label,.feld legend{display:block;font-weight:600;font-size:.95rem;margin-bottom:.2rem}
.feld input[type=text],.feld input[type=date],.feld select{width:100%;font:inherit;padding:.5rem .6rem;border:1px solid #b9c5bc;border-radius:8px;background:#fff;color:var(--text)}
.feld input:focus,.feld select:focus{outline:3px solid #9fd0b8;border-color:var(--akzent)}
.feld small{display:block;color:var(--leise);font-size:.85rem;line-height:1.4;margin-top:.2rem}
.feld .fehler{color:var(--warn);font-weight:600}
.feld.haken label{font-weight:400;display:flex;gap:.5rem;align-items:flex-start}
.feld.haken input{margin-top:.35rem}
.voll{grid-column:1/-1}
details.mehr{grid-column:1/-1;border-top:1px solid var(--linie);padding-top:.6rem}
details.mehr summary{cursor:pointer;font-weight:600;color:var(--akzent)}
details.mehr .innen{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.9rem 1.2rem;margin-top:.8rem}
button{font:inherit;font-weight:700;background:var(--akzent);color:#fff;border:0;border-radius:10px;padding:.75rem 1.4rem;cursor:pointer}
button:hover{background:#185a41}
.knopf{display:inline-block;background:var(--akzent);color:#fff;text-decoration:none;border-radius:10px;padding:.65rem 1.2rem;font-weight:700}
.knopf:hover{background:#185a41;color:#fff}
ul.liste{padding-left:1.2rem}
ul.liste li{margin:.25rem 0}
.raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.6rem 1rem;padding:0;list-style:none}
.raster li a{display:block;background:#fff;border:1px solid var(--linie);border-radius:10px;padding:.6rem .8rem;text-decoration:none;height:100%}
.raster li a:hover{border-color:var(--akzent)}
.raster li small{display:block;color:var(--leise)}
.quellen{font-size:.85rem;color:var(--leise);border-top:1px solid var(--linie);padding-top:.8rem;margin-top:2rem}
.fuss{background:#fff;border-top:1px solid var(--linie);font-size:.9rem;color:var(--leise);padding:1rem 0}
.balken{height:.6rem;background:#e6ece7;border-radius:4px;overflow:hidden;min-width:5rem}
.balken i{display:block;height:100%;background:var(--akzent)}
@media (max-width:560px){.tabelle.stapel tr:first-child{position:absolute;left:-9999px}.tabelle.stapel table,.tabelle.stapel tbody,.tabelle.stapel tr{display:block}.tabelle.stapel tr{border-bottom:2px solid var(--linie);padding:.4rem 0}.tabelle.stapel td{display:grid;grid-template-columns:minmax(6rem,45%) 1fr;gap:.2rem .8rem;border:0;padding:.15rem .35rem;white-space:normal;text-align:left}.tabelle.stapel td.z{text-align:right}.tabelle.stapel td::before{content:attr(data-l);color:var(--leise);font-size:.88rem;text-align:left}.tabelle.stapel td:first-child{display:block;font-weight:600;text-align:left}.tabelle.stapel td:first-child::before{content:none}}
@media (max-width:520px){body{font-size:16px}h1{font-size:1.5rem}.kachel b{font-size:1.25rem}th,td{padding:.4rem .35rem}}
