/* Friese Heizungs-Check – Friese-CI (Logo-Blau #4a71b6) */
.fhc{--fhc:#4a71b6;--fhc-d:#2f4f86;--fhc-l:#e8eef8;--navy:#1a2944;--grau:#5b6472;--rand:#e3e8f0;--rot:#d32f2f;font-family:"Barlow Regular",system-ui,sans-serif;color:#1f2937;font-size:16px;line-height:1.55}
.fhc *{box-sizing:border-box}
.fhc-card{background:#fff;border:1px solid var(--rand);border-radius:20px;padding:30px;box-shadow:0 1px 2px rgba(26,41,68,.06),0 12px 32px rgba(26,41,68,.08)}
.fhc-progress{height:6px;background:var(--fhc-l);border-radius:99px;overflow:hidden;margin-bottom:14px}
.fhc-progress span{display:block;height:100%;background:var(--fhc);border-radius:99px;transition:width .3s}
.fhc-step-meta{font-size:13px;color:var(--grau);letter-spacing:.5px;text-transform:uppercase;margin-bottom:6px}
.fhc-q{font-family:"Barlow Bold","Barlow Regular",sans-serif;font-weight:700;color:var(--navy);font-size:26px;line-height:1.2;margin:0 0 8px;outline:none}
.fhc .fhc-q{font-size:26px;margin:0 0 8px}
.fhc-sub{font-size:14px;color:var(--grau);margin:4px 0 0}
.fhc-lead{font-size:17px;color:#374151;margin:0 0 14px}
.fhc-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0 4px}
.fhc-tile{appearance:none;font:inherit;text-align:left;display:flex;flex-direction:column;gap:2px;padding:14px 16px;min-height:58px;border:1.5px solid #d3ddee;border-radius:14px;background:#fff;color:var(--navy);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;font-family:"Barlow Medium","Barlow Regular",sans-serif;font-size:16px;line-height:1.25}
.fhc-tile small{font-family:"Barlow Regular",sans-serif;font-size:12.5px;color:var(--grau)}
.fhc-tile:hover{border-color:var(--fhc);background:#f7f9fd}
.fhc-tile:active{transform:scale(.98)}
.fhc-tile:focus-visible{outline:3px solid rgba(74,113,182,.35);outline-offset:2px}
.fhc-tile.is-on{border-color:var(--fhc);background:var(--fhc);color:#fff}
.fhc-tile.is-on small{color:rgba(255,255,255,.85)}
.fhc-nav,.fhc-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;flex-wrap:wrap}
.fhc-link{appearance:none;background:none;border:0;padding:6px 0;font:inherit;color:var(--fhc);cursor:pointer;font-family:"Barlow Medium","Barlow Regular",sans-serif}
.fhc-link:hover{color:var(--fhc-d);text-decoration:underline}
.fhc-badge{display:inline-block;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;background:var(--fhc-l);color:var(--fhc-d);border-radius:99px;padding:4px 12px;margin-bottom:12px;font-family:"Barlow Medium","Barlow Regular",sans-serif}
.fhc-result--A .fhc-badge{background:#fdecea;color:#b42318}
.fhc-result--C .fhc-badge{background:#e7f6ec;color:#1e6b3a}
.fhc-result--A{border-top:5px solid var(--rot)}
.fhc-result--B{border-top:5px solid var(--fhc)}
.fhc-result--C{border-top:5px solid #2e9e5b}
.fhc-hinweise{list-style:none;margin:6px 0 18px;padding:0;display:grid;gap:8px}
.fhc-hinweise li{position:relative;padding:12px 14px 12px 40px;background:#f4f6fb;border-radius:12px;font-size:15px;color:#374151}
.fhc-hinweise li::before{content:"i";position:absolute;left:12px;top:12px;width:18px;height:18px;border-radius:50%;background:var(--fhc);color:#fff;font:700 12px/18px Georgia,serif;text-align:center}
.fhc-actions{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 6px}
.fhc-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:12px;border:1.5px solid var(--fhc);background:var(--fhc);color:#fff!important;font:inherit;font-family:"Barlow Medium","Barlow Regular",sans-serif;font-size:16.5px;text-decoration:none!important;cursor:pointer;box-shadow:0 6px 18px rgba(74,113,182,.28);transition:background .15s,transform .15s}
.fhc-btn:hover{background:#3d63a6;transform:translateY(-1px)}
.fhc-btn:disabled{opacity:.6;cursor:default;transform:none}
.fhc-btn--ghost{background:#fff;color:var(--fhc)!important;box-shadow:none}
.fhc-btn--ghost:hover{background:#f4f6fb}
.fhc-btn--rot{background:var(--rot);border-color:var(--rot);box-shadow:0 6px 18px rgba(211,47,47,.3)}
.fhc-btn--rot:hover{background:#b71c1c}
.fhc-mini-link{margin:6px 0 0;font-size:15px}
.fhc-mini-link a{color:var(--fhc)}
.fhc-summary{margin-top:18px;border-top:1px solid var(--rand);padding-top:12px;font-size:14.5px}
.fhc-summary summary{cursor:pointer;color:var(--grau)}
.fhc-summary ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.fhc-summary li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--rand);padding:4px 0}
.fhc-summary li span{color:var(--grau)}
.fhc-disclaimer{font-size:12.5px;color:#6b7280;margin:14px 0 0}
.fhc-kontakt-box{margin-top:18px;padding:20px;border:1px solid var(--rand);border-radius:16px;background:#f9fbfe}
.fhc-kontakt-box h4{margin:0 0 6px;font-family:"Barlow Bold","Barlow Regular",sans-serif;color:var(--navy);font-size:18px}
.fhc-kontakt label{display:block;font-size:14px;color:var(--navy);font-family:"Barlow Medium","Barlow Regular",sans-serif;margin-bottom:10px}
.fhc-kontakt label small{color:#6b7280;font-family:"Barlow Regular",sans-serif}
.fhc-kontakt input:not([type=checkbox]),.fhc-kontakt textarea,.fhc input[type=number],.fhc input[type=date]{display:block;width:100%;margin-top:4px;font:inherit;font-size:16px;padding:11px 13px;border:1px solid #d3ddee;border-radius:10px;background:#fff;color:#1f2937}
.fhc input:focus,.fhc textarea:focus{outline:none;border-color:var(--fhc);box-shadow:0 0 0 3px rgba(74,113,182,.18)}
.fhc-kontakt .fhc-tiles{margin:6px 0 14px}
.fhc-kontakt .fhc-tile{min-height:44px;padding:10px 14px;font-size:15px}
.fhc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.fhc-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 14px}
.fhc-check{display:flex!important;gap:10px;align-items:flex-start;font-family:"Barlow Regular",sans-serif!important;font-size:13.5px!important;color:var(--grau)!important;line-height:1.5}
.fhc-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--fhc);flex:none}
.fhc-check a{color:var(--fhc)}
.fhc-hinweis-klein{font-size:13px;color:#6b7280;margin:0 0 10px}
.fhc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.fhc-msg{margin-top:12px;padding:12px 14px;border-radius:10px;font-size:15px}
.fhc-msg.is-ok{background:#e7f6ec;color:#1e6b3a}
.fhc-msg.is-warn{background:#fdecea;color:#b42318}
/* Rechner */
.fhc-rechner{display:grid;grid-template-columns:1.35fr 1fr;gap:22px;align-items:start}
.fhc-rechner__res{position:sticky;top:110px}
.fhc-field{padding:14px 0;border-top:1px solid var(--rand)}
.fhc-field:first-child{border-top:0;padding-top:0}
.fhc-field__t{font-family:"Barlow Bold","Barlow Regular",sans-serif;color:var(--navy);font-size:16.5px}
.fhc-field__t small{font-family:"Barlow Regular",sans-serif;color:#6b7280;font-size:13px}
.fhc-field .fhc-tiles{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-top:10px}
.fhc-field .fhc-tile{min-height:48px;padding:10px 14px;font-size:15px}
.fhc-grid3 .fhc-field{border-top:1px solid var(--rand)}
.fhc-grid3 .fhc-field input{margin-top:10px}
.fhc-stepper{display:flex;margin-top:10px;border:1px solid #d3ddee;border-radius:10px;overflow:hidden;background:#fff}
.fhc-stepper button{appearance:none;border:0;background:#f4f6fb;width:44px;font-size:20px;color:var(--fhc);cursor:pointer}
.fhc-stepper input{margin:0!important;border:0!important;border-radius:0!important;text-align:center;box-shadow:none!important;-moz-appearance:textfield}
.fhc-big{display:flex;align-items:baseline;gap:10px;margin:4px 0}
.fhc-big b{font-family:"Barlow Bold","Barlow Regular",sans-serif;font-size:44px;line-height:1.05;color:var(--fhc-d)}
.fhc-big span{color:var(--grau);font-size:15px}
.fhc-big--euro b{font-size:34px;color:var(--navy)}
.fhc-zahlen{list-style:none;margin:14px 0 8px;padding:0;border-top:1px solid var(--rand)}
.fhc-zahlen li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rand);font-size:15px}
.fhc-zahlen span{color:var(--grau)}
.fhc-teile{font-size:13.5px;color:var(--grau);margin:6px 0 12px}
@media (max-width:900px){.fhc-rechner{grid-template-columns:1fr}.fhc-rechner__res{position:static}}
@media (max-width:640px){.fhc-card{padding:20px;border-radius:16px}.fhc .fhc-q{font-size:22px}.fhc-tiles{grid-template-columns:1fr 1fr}.fhc-grid2,.fhc-grid3{grid-template-columns:1fr}.fhc-btn{width:100%}.fhc-big b{font-size:36px}}
@media (max-width:380px){.fhc-tiles{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.fhc *{transition:none!important}}
