/* Scoped landing page styles: Divi-safe; no global header/footer changes */
.hbf-homepage{--hbf-orange:#F58200;--hbf-dark:#252525;--hbf-brown:#B85B00;color:#252525;font-family:inherit}.hbf-homepage *{box-sizing:border-box}.hbf-homepage .hbf-home-hero{background:#252525;color:#fff;padding:clamp(32px,6vw,86px) clamp(22px,6vw,88px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(24px,5vw,70px);align-items:center}.hbf-homepage h1,.hbf-homepage h2,.hbf-homepage h3{color:inherit;line-height:1.2}.hbf-homepage h1{font-size:clamp(34px,4.7vw,66px);font-weight:800;letter-spacing:-.035em;max-width:780px}.hbf-homepage h1 em{font-style:normal;color:#FFAD42}.hbf-home-eyebrow,.hbf-home-section-head>span,.hbf-home-partners>div>span{font-size:12px;letter-spacing:.16em;font-weight:800;color:#FFAD42}.hbf-home-hero-copy>p{color:#e8e8e8;font-size:18px;line-height:1.7;max-width:650px;margin:20px 0}.hbf-home-pills{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.hbf-home-pills span{border:1px solid #6a6a6a;border-radius:30px;padding:7px 12px;font-size:12px}.hbf-home-jump{display:inline-flex;gap:20px;align-items:center;background:#B85B00;color:#fff!important;padding:16px 20px;border-radius:9px;font-weight:700;text-decoration:none}.hbf-home-jump:hover{background:#934900}.hbf-home-steps{background:#fff;color:#252525;border-radius:18px;padding:clamp(20px,3vw,34px);box-shadow:0 16px 45px #0004}.hbf-home-steps>strong{font-size:19px}.hbf-home-steps>div{display:flex;align-items:center;gap:18px;padding:17px 0;border-bottom:1px solid #eee}.hbf-home-steps b{font-size:24px;color:#B85B00}.hbf-home-steps small{display:block;color:#666;line-height:1.5;margin-top:16px}.hbf-home-match,.hbf-home-region,.hbf-home-services,.hbf-home-trust,.hbf-home-faq,.hbf-home-partners{padding:clamp(36px,5vw,74px) clamp(20px,6vw,88px)}.hbf-home-section-head{max-width:800px;margin-bottom:26px}.hbf-home-section-head>span{color:#B85B00}.hbf-home-section-head h2{font-size:clamp(27px,3.2vw,43px);font-weight:800;margin:10px 0}.hbf-home-section-head p{font-size:17px;line-height:1.7;color:#555}.hbf-homepage .hbf-home-match .hbf-hero{display:none!important}.hbf-homepage .hbf-home-match .hbf-wrap{max-width:1050px;margin:0 auto}.hbf-home-danger{font-size:13px;line-height:1.7;background:#fff6e9;border-left:4px solid #B85B00;padding:15px 18px;margin-top:18px}.hbf-home-region{background:#f7f7f7}.hbf-home-city-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.hbf-home-city-grid a{display:block;background:#fff;border:1px solid #ddd;border-radius:9px;padding:15px;font-size:14px;font-weight:700;color:#252525!important;text-decoration:none}.hbf-home-city-grid a:hover,.hbf-home-city-grid a:focus-visible{border-color:#B85B00;color:#B85B00!important}.hbf-home-service-grid,.hbf-home-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.hbf-home-service-grid article,.hbf-home-trust-grid>div{padding:24px;border:1px solid #ddd;border-radius:12px}.hbf-home-service-grid h3{font-size:21px;font-weight:700}.hbf-home-service-grid p,.hbf-home-trust-grid p{color:#555;line-height:1.7}.hbf-home-trust{background:#fff9f3}.hbf-home-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hbf-home-faq details{border-bottom:1px solid #ddd;padding:19px 0}.hbf-home-faq summary{font-weight:700;cursor:pointer;font-size:17px}.hbf-home-faq details p{padding-top:10px;color:#555}.hbf-home-partners{background:#252525;color:#fff;display:flex;gap:32px;align-items:center;justify-content:space-between}.hbf-home-partners h2{font-size:clamp(27px,3vw,42px);margin:12px 0}.hbf-home-partners p{color:#eee;max-width:670px}.hbf-home-partners a{white-space:nowrap;display:inline-block;background:#B85B00;color:#fff!important;padding:15px 20px;border-radius:8px;font-weight:700}.hbf-homepage :focus-visible{outline:3px solid #B85B00;outline-offset:3px}@media(max-width:980px){.hbf-homepage .hbf-home-hero{grid-template-columns:1fr}.hbf-home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbf-home-trust-grid{grid-template-columns:1fr}.hbf-home-partners{flex-direction:column;align-items:start}}@media(max-width:600px){.hbf-home-service-grid{grid-template-columns:1fr}.hbf-home-city-grid{grid-template-columns:1fr 1fr}.hbf-home-city-grid a{padding:12px;font-size:12px}.hbf-homepage .hbf-home-hero{padding:35px 20px}.hbf-homepage h1{font-size:35px}.hbf-home-hero-copy>p{font-size:16px}}

/* v1.4.7 homepage refinements */
.hbf-homepage{--hbf-orange:#F58200;overflow-wrap:break-word}
.hbf-homepage .hbf-home-jump,.hbf-homepage .hbf-home-partners a{background:#F58200;color:#252525!important}
.hbf-homepage .hbf-home-jump:hover,.hbf-homepage .hbf-home-partners a:hover{background:#FFAD42}
.hbf-home-hero-side{min-width:0;display:flex;flex-direction:column;gap:14px}
.hbf-home-photo{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#eee;max-height:260px}
.hbf-home-photo img{width:100%;height:260px;object-fit:cover;object-position:center 30%;display:block}
.hbf-home-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#252525df);color:#fff;padding:24px 15px 12px;font-size:13px}
.hbf-home-steps{padding:18px}.hbf-home-steps>div{padding:10px 0}.hbf-home-steps b{font-size:19px}
.hbf-home-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;background:#f6f6f6;padding:20px 16px}.hbf-home-badges span{font-size:13px;font-weight:700;background:#fff;border:1px solid #e3e3e3;border-radius:8px;padding:10px 12px;color:#252525}
.hbf-home-sticky{position:fixed;right:20px;bottom:20px;z-index:999;background:#F58200;color:#252525!important;font-weight:800;border:2px solid #252525;border-radius:40px;box-shadow:0 5px 24px #0004;padding:13px 22px;text-decoration:none!important}
.hbf-home-sticky:hover{background:#FFAD42}.hbf-home-sticky:focus-visible{outline:3px solid #252525;outline-offset:3px}
.hbf-search-page{max-width:1160px;margin:0 auto;padding:32px 16px 65px}.hbf-search-intro{text-align:center;max-width:780px;margin:0 auto 20px}.hbf-search-intro>p:first-child{color:#B85B00;font-size:12px;font-weight:800;letter-spacing:.12em}.hbf-search-intro h1{font-size:clamp(28px,4vw,46px);color:#252525;line-height:1.2}.hbf-search-intro p{color:#555}
@media(max-width:600px){.hbf-home-sticky{bottom:12px;right:12px;left:12px;text-align:center;border-radius:12px;padding:12px 15px}.hbf-homepage{padding-bottom:70px}.hbf-home-photo img{height:220px}}
.hbf-home-badges span:before{content:"✓";color:#B85B00;font-weight:900;margin-right:7px}

/* v1.4.8: branded search-first homepage, Divi scoped */
.hbf-homepage{--hbf-orange:#F58200;--hbf-ink:#252525;overflow:visible}
.hbf-landing-top{background:linear-gradient(125deg,#fff 0%,#fff 48%,#fff3e8 100%);padding:clamp(25px,4vw,58px) clamp(16px,5vw,70px) 30px}
.hbf-landing-top-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:28px;align-items:center;max-width:1400px;margin:0 auto 22px}
.hbf-landing-kicker{font-size:12px;letter-spacing:.11em;font-weight:800;color:#9a4700;margin-bottom:13px}
.hbf-homepage .hbf-landing-copy h1{color:#252525;font-size:clamp(32px,4.3vw,62px);line-height:1.08;max-width:790px;margin:0;overflow-wrap:normal;word-break:normal}
.hbf-landing-copy h1 span{color:#b65300;display:block}
.hbf-landing-intro{font-size:clamp(16px,1.4vw,19px);line-height:1.6;max-width:700px;margin:20px 0;color:#444}
.hbf-landing-benefits{display:flex;gap:8px 20px;flex-wrap:wrap;font-weight:700;font-size:13px;color:#333}
.hbf-landing-photo{min-height:300px;border-radius:20px;background:linear-gradient(180deg,#fff2 60%,#25252577),#eee center/cover no-repeat;position:relative;overflow:hidden}
.hbf-landing-photo-tag{position:absolute;bottom:18px;left:18px;right:18px;background:#fff;color:#252525;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:700;box-shadow:0 8px 30px #0002}
.hbf-landing-finder{max-width:1400px;margin:0 auto;background:#fff;border:1px solid #e8e2dc;border-radius:20px;padding:clamp(17px,3vw,32px);box-shadow:0 16px 45px #25252515}
.hbf-landing-form-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:17px}
.hbf-landing-form-heading span{font-size:11px;letter-spacing:.11em;color:#a64d00;font-weight:800}
.hbf-homepage .hbf-landing-form-heading h2{font-size:clamp(23px,2.5vw,33px);margin:6px 0;color:#252525}
.hbf-landing-form-heading p{color:#666;font-size:14px;max-width:250px}
.hbf-landing-fieldset{border:0;margin:0 0 19px;padding:0;min-width:0}.hbf-landing-fieldset legend{font-weight:800;font-size:14px;margin-bottom:10px;color:#252525}
.hbf-landing-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.hbf-landing-service{position:relative;min-width:0;cursor:pointer}.hbf-landing-service input,.hbf-landing-time input{position:absolute;opacity:0;width:1px;height:1px}
.hbf-landing-service-inner{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;border:1px solid #ddd5ce;border-radius:13px;background:#faf9f7;padding:12px 7px;transition:border-color .15s,background .15s;min-width:0}
.hbf-landing-service-inner strong{font-size:clamp(12px,1.1vw,15px);line-height:1.3;color:#252525;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.hbf-landing-service-icon{color:#d76400;line-height:0}.hbf-landing-service-icon svg{width:31px;height:31px}
.hbf-landing-service input:checked+.hbf-landing-service-inner,.hbf-landing-time input:checked+span{border-color:#d66500;background:#fff2e7;box-shadow:inset 0 0 0 1px #d66500}
.hbf-landing-service input:focus-visible+.hbf-landing-service-inner,.hbf-landing-time input:focus-visible+span{outline:3px solid #252525;outline-offset:3px}
.hbf-landing-time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.hbf-landing-time{position:relative;cursor:pointer;min-width:0}.hbf-landing-time>span{display:flex;align-items:center;justify-content:center;min-height:53px;text-align:center;padding:10px 8px;border:1px solid #ddd5ce;border-radius:10px;font-size:13px;font-weight:700;line-height:1.3;color:#252525}
.hbf-landing-form-end{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.9fr);gap:13px;align-items:end}
.hbf-landing-form-end label{font-size:13px;font-weight:700;min-width:0}.hbf-landing-form-end label small{font-weight:400;color:#666}
.hbf-landing-form-end input{display:block;width:100%;height:54px;padding:12px 16px;border:1px solid #c9c9c9;border-radius:10px;font-size:16px;background:#fff;margin-top:6px;color:#252525}
.hbf-landing-form-end button{background:#F58200;color:#252525;border:0;border-radius:10px;min-height:54px;padding:13px 16px;font-size:16px;font-weight:800;cursor:pointer}
.hbf-landing-form-end button:hover{background:#ffad42}.hbf-landing-disclaimer{font-size:12px;color:#666;margin:12px 0 0}
.hbf-landing-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:25px clamp(16px,5vw,70px);background:#fff}
.hbf-landing-trust>div{display:flex;flex-direction:column;gap:5px;padding:8px 13px;border-right:1px solid #eee}.hbf-landing-trust>div:last-child{border-right:0}
.hbf-landing-trust strong{font-size:14px;color:#252525}.hbf-landing-trust span{font-size:12px;color:#666}
.hbf-homepage .hbf-home-sticky{background:#F58200;color:#252525!important;border:0;bottom:15px;right:15px;left:auto;box-shadow:0 6px 30px #0003}
.hbf-homepage .hbf-home-sticky:hover{background:#FFAD42}
@media(max-width:980px){.hbf-landing-top-grid{grid-template-columns:1fr}.hbf-landing-photo{min-height:240px}.hbf-landing-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hbf-landing-time-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hbf-landing-trust{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hbf-landing-top{padding:20px 13px}.hbf-homepage .hbf-landing-copy h1{font-size:clamp(30px,8vw,40px)}.hbf-landing-photo{min-height:210px}.hbf-landing-form-heading{display:block}.hbf-landing-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbf-landing-service-inner{min-height:112px;padding:10px 8px}.hbf-landing-service-inner strong{font-size:13px}.hbf-landing-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbf-landing-form-end{grid-template-columns:1fr}.hbf-landing-trust{grid-template-columns:1fr 1fr;padding:15px 8px}.hbf-landing-trust>div{border:0}.hbf-landing-trust strong{font-size:12px}.hbf-homepage .hbf-home-sticky{left:12px;right:12px;bottom:10px;text-align:center}}

.hbf-landing-photo{background-image:linear-gradient(180deg,#ffffff00 55%,#25252566),url('heizungsfachmann.png')}

.hbf-region-page{max-width:1150px;margin:auto;padding:20px;color:#252525}.hbf-region-hero{background:#252525;color:#fff;border-radius:16px;padding:clamp(24px,5vw,60px)}.hbf-region-hero h1{color:#fff;font-size:clamp(30px,4vw,52px)}.hbf-region-hero p{color:#eee}.hbf-region-hero>a{display:inline-block;background:#F58200;color:#252525!important;padding:14px 20px;border-radius:10px;font-weight:800}.hbf-region-page section{padding:25px 0}.hbf-region-page h2{font-size:clamp(24px,3vw,34px)}.hbf-region-page details{border-bottom:1px solid #ddd;padding:12px 0}

.hbf-footer-cities{background:#252525;color:#fff;padding:24px 20px}.hbf-footer-cities h2{color:#fff;font-size:21px;text-align:center}.hbf-footer-cities>div{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 20px;max-width:1200px;margin:auto}.hbf-footer-cities a{font-size:13px;color:#fff!important;text-decoration:none}.hbf-footer-cities a:hover{color:#FFAD42!important;text-decoration:underline}

/* v1.4.9 — reference-led design: white photographic hero, floating selector, regional band */
.hbf-homepage{--hbf-orange:#ff7500;--hbf-dark:#172431;color:#172431;font-family:Arial,Helvetica,sans-serif}
.hbf-homepage .hbf-landing-top{background:#fff;padding:0 0 10px;overflow:visible}
.hbf-homepage .hbf-landing-top-grid{max-width:none;margin:0;min-height:400px;padding:55px clamp(20px,5vw,85px) 95px;gap:0;grid-template-columns:1.12fr .88fr;background:linear-gradient(90deg,#fff 0%,#fff 40%,#ffffff66 58%,#ffffff00 72%);position:relative}
.hbf-homepage .hbf-landing-copy{position:relative;z-index:2;max-width:750px}
.hbf-homepage .hbf-landing-kicker{color:#d95300;font-size:13px;letter-spacing:.035em}
.hbf-homepage .hbf-landing-copy h1{font-size:clamp(36px,4.2vw,65px);line-height:1.07;letter-spacing:-.045em;color:#112434;font-weight:900}
.hbf-homepage .hbf-landing-copy h1 span{color:#ff7500}
.hbf-homepage .hbf-landing-intro{font-size:clamp(16px,1.5vw,20px);color:#44515b;line-height:1.45}
.hbf-homepage .hbf-landing-benefits{font-size:14px;gap:12px 23px}
.hbf-homepage .hbf-landing-benefits span::first-letter{color:#ff7500}
.hbf-homepage .hbf-landing-photo{position:absolute;right:0;top:0;width:48%;height:100%;min-height:0;border-radius:0;background-position:center 27%;background-size:cover}
.hbf-homepage .hbf-landing-photo-tag{left:auto;right:7%;bottom:40px;width:min(235px,58%);padding:14px 16px;font-size:13px;background:#fff;border-radius:15px}
.hbf-homepage .hbf-landing-photo-tag small{display:block;color:#555;margin-top:6px;font-size:11px}
.hbf-homepage .hbf-landing-finder{position:relative;z-index:3;max-width:1460px;margin:-65px clamp(15px,4vw,65px) 0;padding:22px 26px 18px;border-radius:23px;box-shadow:0 15px 40px #15253716}
.hbf-homepage .hbf-landing-form-heading{margin-bottom:13px}
.hbf-homepage .hbf-landing-form-heading h2{font-size:clamp(23px,2vw,29px);letter-spacing:-.025em}
.hbf-homepage .hbf-landing-service-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.hbf-homepage .hbf-landing-service-inner{min-height:114px;background:#fcfaf7;border-color:#e9e2da;gap:12px;border-radius:13px}
.hbf-homepage .hbf-landing-service-icon{color:#ff7500}.hbf-homepage .hbf-landing-service-icon svg{height:33px;width:33px}
.hbf-homepage .hbf-landing-service-inner strong{font-size:clamp(12px,1vw,15px);line-height:1.25;color:#172431;overflow-wrap:anywhere}
.hbf-homepage .hbf-landing-service input:checked+.hbf-landing-service-inner,.hbf-homepage .hbf-landing-time input:checked+span{border-color:#ff7500;background:#fff5eb;box-shadow:inset 0 0 0 1px #ff7500}
.hbf-homepage .hbf-landing-fieldset{margin-bottom:15px}
.hbf-homepage .hbf-landing-time-grid{gap:9px}
.hbf-homepage .hbf-landing-time>span{min-height:43px}
.hbf-homepage .hbf-landing-form-end{grid-template-columns:1.6fr 1fr;gap:12px}
.hbf-homepage .hbf-landing-form-end input{height:54px}
.hbf-homepage .hbf-landing-form-end button{background:#ff7500;color:#fff;font-weight:800;border-radius:10px}
.hbf-homepage .hbf-landing-form-end button:hover{background:#eb6600}
.hbf-homepage .hbf-landing-trust{padding:20px clamp(15px,4vw,65px);max-width:1500px;margin:auto;gap:8px}
.hbf-homepage .hbf-landing-trust>div{display:flex;flex-direction:row;align-items:center;gap:12px;border-right:1px solid #eee}
.hbf-homepage .hbf-landing-trust>div>span:last-child{display:flex;flex-direction:column;gap:2px}
.hbf-homepage .hbf-landing-trust strong{font-size:14px;color:#172431}.hbf-homepage .hbf-landing-trust small{font-size:12px;color:#66717c}
.hbf-homepage .hbf-trust-icon{color:#ff7500;font-size:26px;font-weight:900;line-height:1}
.hbf-homepage .hbf-home-region{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,2fr) 155px;align-items:center;gap:25px;margin:15px clamp(12px,3vw,45px);padding:23px;border-radius:23px;background:#f8f4ee}
.hbf-homepage .hbf-region-image{min-height:240px;align-self:stretch;border-radius:18px;background:#eee url('heizungsfachmann.png') center/cover}
.hbf-homepage .hbf-region-content{min-width:0}.hbf-homepage .hbf-home-section-head{margin-bottom:12px}
.hbf-homepage .hbf-home-region .hbf-home-section-head h2{font-size:clamp(22px,2.4vw,32px);margin:4px 0}
.hbf-homepage .hbf-home-region .hbf-home-section-head p{font-size:14px}
.hbf-homepage .hbf-home-city-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}
.hbf-homepage .hbf-home-city-grid a{font-size:12px;padding:10px 8px;border-radius:7px;overflow-wrap:anywhere}
.hbf-homepage .hbf-region-map{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;font-size:13px}
.hbf-homepage .hbf-home-sticky{left:0;right:0;bottom:0;border-radius:0;background:#ff7500;color:#fff!important;text-align:center;padding:15px 20px;font-size:15px;box-shadow:0 -4px 22px #0002}
.hbf-homepage .hbf-home-sticky:hover{background:#ec6800}
.hbf-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:980px){.hbf-homepage .hbf-landing-top-grid{grid-template-columns:1fr;min-height:0;padding:30px 24px 245px}.hbf-homepage .hbf-landing-photo{top:auto;bottom:0;width:100%;height:230px;background-position:center 23%}.hbf-homepage .hbf-landing-photo-tag{bottom:16px;right:16px}.hbf-homepage .hbf-landing-finder{margin:-18px 15px 0}.hbf-homepage .hbf-landing-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hbf-homepage .hbf-home-region{grid-template-columns:1fr 2fr}.hbf-homepage .hbf-region-map{display:none}}
@media(max-width:600px){.hbf-homepage .hbf-landing-top-grid{padding:22px 16px 195px}.hbf-homepage .hbf-landing-copy h1{font-size:clamp(30px,8vw,40px)}.hbf-homepage .hbf-landing-photo{height:190px}.hbf-homepage .hbf-landing-photo-tag{max-width:54%;font-size:11px;padding:9px}.hbf-homepage .hbf-landing-benefits{display:grid;gap:7px;font-size:12px}.hbf-homepage .hbf-landing-finder{margin:-6px 10px 0;padding:16px 12px}.hbf-homepage .hbf-landing-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hbf-homepage .hbf-landing-service-inner{min-height:100px;padding:9px 6px}.hbf-homepage .hbf-landing-service-inner strong{font-size:12px}.hbf-homepage .hbf-landing-time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbf-homepage .hbf-landing-form-end{grid-template-columns:1fr}.hbf-homepage .hbf-landing-trust{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 8px}.hbf-homepage .hbf-landing-trust>div{border:0;padding:8px 5px}.hbf-homepage .hbf-landing-trust strong{font-size:11px}.hbf-homepage .hbf-landing-trust small{font-size:10px}.hbf-homepage .hbf-trust-icon{font-size:21px}.hbf-homepage .hbf-home-region{grid-template-columns:1fr;margin:12px;padding:16px}.hbf-homepage .hbf-region-image{min-height:150px}.hbf-homepage .hbf-home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hbf-homepage .hbf-home-sticky{left:0;right:0;bottom:0;padding:13px 10px;border-radius:0;font-size:12px}.hbf-homepage{padding-bottom:55px}}

/* v1.4.10 — do not crop the technician; sticky CTA only after main CTA leaves viewport */
.hbf-homepage .hbf-landing-photo{background-image:url('heizungsfachmann.png')!important;background-size:auto 100%!important;background-repeat:no-repeat!important;background-position:right bottom!important;background-color:#f7f7f5}
.hbf-homepage .hbf-region-image{background-size:contain!important;background-repeat:no-repeat!important;background-position:center bottom!important;background-color:#f7f7f5}
.hbf-homepage .hbf-home-sticky[hidden]{display:none!important}
.hbf-homepage .hbf-home-sticky{transition:opacity .2s ease,transform .2s ease}
@media(max-width:980px){.hbf-homepage .hbf-landing-photo{background-size:auto 100%!important;background-position:center bottom!important}}
@media(max-width:600px){.hbf-homepage .hbf-landing-photo{height:205px!important;background-size:auto 100%!important;background-position:center bottom!important}}
/* Divi standard sidebar layout: make the dedicated search page full width. */
body:has(.hbf-search-page) #left-area{width:100%!important;float:none!important;padding-right:0!important}
body:has(.hbf-search-page) #sidebar{display:none!important}
body:has(.hbf-search-page) #main-content .container:before{display:none!important}
body:has(.hbf-search-page) #content-area{display:block!important;width:100%!important}
body:has(.hbf-search-page) .hbf-search-page{max-width:1100px;margin:0 auto 60px;padding:0 18px}
body:has(.hbf-search-page) .hbf-search-page .hbf-wrap{max-width:100%;margin-left:auto;margin-right:auto}

/* v1.4.11: rebuild hero with predictable responsive sizing. Overrides prior v1.4.9/10 patches. */
.hbf-homepage{width:100%;max-width:100%;overflow-x:clip}
.hbf-homepage .hbf-landing-top{padding:0 0 22px;background:#fff}
.hbf-homepage .hbf-landing-top-grid{display:grid;grid-template-columns:minmax(0,58%) minmax(0,42%);align-items:stretch;gap:0;max-width:1480px;margin:0 auto;min-height:0;padding:0 0 60px;background:#fff;position:relative}
.hbf-homepage .hbf-landing-copy{max-width:none;min-width:0;z-index:1;padding:clamp(28px,4.2vw,58px) clamp(22px,4.5vw,70px) 30px;align-self:center}
.hbf-homepage .hbf-landing-copy h1{font-size:clamp(32px,3.25vw,51px);line-height:1.09;letter-spacing:-.035em;max-width:720px;overflow-wrap:break-word;word-break:normal}
.hbf-homepage .hbf-landing-intro{font-size:clamp(15px,1.25vw,18px);line-height:1.5;margin:20px 0 15px}
.hbf-homepage .hbf-landing-benefits{gap:8px 16px;font-size:12px}
.hbf-homepage .hbf-landing-photo{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;width:100%!important;height:auto!important;min-height:390px!important;border-radius:0!important;background:#f3f3f1 url('heizungsfachmann-portrait.png') no-repeat center bottom!important;background-size:auto 100%!important;overflow:hidden}
.hbf-homepage .hbf-landing-photo-tag{right:12px!important;left:auto!important;bottom:18px!important;width:min(215px,48%)!important;max-width:none!important;padding:11px!important;line-height:1.35!important;font-size:12px!important;overflow-wrap:anywhere}
.hbf-homepage .hbf-landing-finder{margin:-48px auto 0!important;width:calc(100% - 56px);max-width:1400px;position:relative;z-index:3;padding:22px 24px;border-radius:20px}
.hbf-homepage .hbf-landing-form-heading h2{font-size:clamp(22px,2vw,30px);line-height:1.2}
.hbf-homepage .hbf-landing-service-inner{min-width:0;min-height:108px;padding:10px 7px}
.hbf-homepage .hbf-landing-service-inner strong{font-size:clamp(12px,1vw,14px);line-height:1.3;overflow-wrap:anywhere}
.hbf-homepage .hbf-landing-form-end button{background:#ff7500;color:#fff}
@media(max-width:980px){
 .hbf-homepage .hbf-landing-top-grid{grid-template-columns:1fr;padding:0 0 20px!important}
 .hbf-homepage .hbf-landing-copy{padding:27px 24px 22px}
 .hbf-homepage .hbf-landing-copy h1{font-size:clamp(32px,5.2vw,47px)}
 .hbf-homepage .hbf-landing-photo{height:250px!important;min-height:250px!important;background-size:auto 100%!important;background-position:center bottom!important}
 .hbf-homepage .hbf-landing-photo-tag{width:min(205px,46%)!important;bottom:10px!important}
 .hbf-homepage .hbf-landing-finder{width:calc(100% - 30px);margin:-6px auto 0!important}
 .hbf-homepage .hbf-landing-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .hbf-homepage .hbf-landing-copy{padding:24px 18px 17px}
 .hbf-homepage .hbf-landing-copy h1{font-size:clamp(29px,8vw,38px);line-height:1.12}
 .hbf-homepage .hbf-landing-intro{font-size:15px;line-height:1.5;margin:14px 0}
 .hbf-homepage .hbf-landing-benefits{font-size:11px;gap:6px}
 .hbf-homepage .hbf-landing-photo{height:190px!important;min-height:190px!important;background-position:center bottom!important;background-size:auto 100%!important}
 .hbf-homepage .hbf-landing-photo-tag{right:8px!important;bottom:8px!important;width:45%!important;font-size:10px!important;padding:7px!important}
 .hbf-homepage .hbf-landing-photo-tag small{font-size:9px!important}
 .hbf-homepage .hbf-landing-finder{width:calc(100% - 20px);padding:17px 12px;margin:0 auto!important}
 .hbf-homepage .hbf-landing-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hbf-homepage .hbf-landing-service-inner{min-height:100px;padding:8px 5px}
 .hbf-homepage .hbf-landing-service-inner strong{font-size:12px}
 .hbf-homepage .hbf-landing-form-end{grid-template-columns:1fr}
 .hbf-homepage .hbf-home-sticky{font-size:12px;line-height:1.4}
}

/* v1.4.12: photo-free, compact search-first hero; preserve existing matching. */
.hbf-homepage .hbf-landing-top-grid{display:block!important;max-width:1280px!important;padding:0 0 24px!important;min-height:0!important}
.hbf-homepage .hbf-landing-copy{max-width:1100px!important;margin:0 auto!important;padding:clamp(24px,3vw,40px) 24px 14px!important;text-align:left!important}
.hbf-homepage .hbf-landing-copy h1{font-size:clamp(31px,3.4vw,49px)!important;max-width:1000px!important;line-height:1.12!important}
.hbf-homepage .hbf-landing-photo,.hbf-homepage .hbf-region-image{display:none!important}
.hbf-homepage .hbf-landing-finder{margin:0 auto!important;max-width:1200px!important;width:calc(100% - 36px)!important}
.hbf-homepage .hbf-landing-benefits{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px 24px!important;margin:14px 0 4px!important}
.hbf-homepage .hbf-benefit-germany{display:inline-flex!important;align-items:center!important;gap:7px!important}
.hbf-homepage .hbf-benefit-germany svg{display:inline-block!important;flex:none;color:#ff7500;vertical-align:middle}
.hbf-homepage .hbf-home-region{grid-template-columns:minmax(0,1fr) 155px!important}
@media(max-width:980px){.hbf-homepage .hbf-landing-top-grid{padding:0 0 12px!important}.hbf-homepage .hbf-landing-copy{padding:24px 18px 12px!important}.hbf-homepage .hbf-home-region{grid-template-columns:1fr!important}}
@media(max-width:600px){.hbf-homepage .hbf-landing-copy{padding:20px 16px 10px!important}.hbf-homepage .hbf-landing-copy h1{font-size:clamp(28px,7vw,35px)!important}.hbf-homepage .hbf-landing-benefits{gap:7px 13px!important;font-size:12px!important}.hbf-homepage .hbf-landing-finder{width:calc(100% - 20px)!important;padding:15px 12px!important}}

/* v1.4.13 – prominent horizontal Germany search graphic, on all screen sizes */
.hbf-homepage .hbf-home-region{grid-template-columns:minmax(0,1fr) minmax(320px,0.75fr)!important;align-items:center!important}
.hbf-homepage .hbf-region-map{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:20px!important;text-align:left!important;min-width:0!important;padding:22px 20px!important;background:#fff8f1!important;border:1px solid #f3dfc9!important;border-radius:20px!important}
.hbf-homepage .hbf-region-map svg{width:130px!important;height:160px!important;flex:0 0 130px!important;display:block!important}
.hbf-homepage .hbf-region-map-copy{display:flex!important;flex-direction:column!important;gap:9px!important;min-width:0!important}
.hbf-homepage .hbf-region-map-copy strong{font-size:clamp(20px,2vw,27px)!important;line-height:1.14!important;color:#252525!important;font-weight:800!important}
.hbf-homepage .hbf-region-map-copy span{font-size:14px!important;line-height:1.5!important;color:#444!important}
@media(max-width:1100px){.hbf-homepage .hbf-home-region{grid-template-columns:1fr!important}.hbf-homepage .hbf-region-map{justify-content:flex-start!important}}
@media(max-width:600px){.hbf-homepage .hbf-region-map{display:flex!important;flex-direction:row!important;gap:16px!important;padding:16px 12px!important}.hbf-homepage .hbf-region-map svg{width:105px!important;height:132px!important;flex-basis:105px!important}.hbf-homepage .hbf-region-map-copy strong{font-size:21px!important}.hbf-homepage .hbf-region-map-copy span{font-size:12px!important}}

/* v1.4.14: real Germany silhouette prominent RIGHT of the two benefits. */
.hbf-homepage .hbf-landing-benefits{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(290px,390px)!important;align-items:center!important;gap:16px 28px!important;margin:12px 0 0!important;width:100%!important}
.hbf-homepage .hbf-benefits-left{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px 25px!important;font-size:15px!important;font-weight:700!important}
.hbf-homepage .hbf-benefits-left>span::first-letter{color:#ff7500}
.hbf-homepage .hbf-benefit-germany{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;min-width:0!important;color:#252525!important}
.hbf-homepage .hbf-benefit-germany svg{display:block!important;flex:0 0 115px!important;width:115px!important;height:140px!important;max-width:none!important;color:#ff7500!important}
.hbf-homepage .hbf-germany-label{display:flex!important;flex-direction:column!important;gap:5px!important;min-width:0!important}
.hbf-homepage .hbf-germany-label strong{font-size:clamp(19px,1.65vw,26px)!important;line-height:1.14!important;color:#252525!important;font-weight:800!important}
.hbf-homepage .hbf-germany-label small{font-size:13px!important;line-height:1.4!important;font-weight:400!important;color:#444!important}
@media(max-width:900px){.hbf-homepage .hbf-landing-benefits{grid-template-columns:1fr!important;gap:10px!important}.hbf-homepage .hbf-benefit-germany{justify-content:flex-start!important}.hbf-homepage .hbf-benefit-germany svg{width:90px!important;height:110px!important;flex-basis:90px!important}}
@media(max-width:600px){.hbf-homepage .hbf-benefits-left{font-size:12px!important;gap:7px 16px!important}.hbf-homepage .hbf-benefit-germany svg{width:75px!important;height:92px!important;flex-basis:75px!important}.hbf-homepage .hbf-germany-label strong{font-size:20px!important}.hbf-homepage .hbf-germany-label small{font-size:11px!important}.hbf-homepage .hbf-landing-benefits{margin-top:8px!important}}

/* 1.4.16: location-first entry; service and urgency remain in existing matching funnel. */
.hbf-homepage .hbf-landing-top-grid{grid-template-columns:minmax(0,1fr)!important;min-height:0!important;padding-bottom:26px!important}
.hbf-homepage .hbf-landing-copy{max-width:1080px!important}
.hbf-homepage .hbf-landing-copy h1{font-size:clamp(32px,4vw,57px)!important;max-width:1050px!important}
.hbf-homepage .hbf-location-first{margin-top:0!important;position:relative!important;max-width:1250px!important}
.hbf-homepage .hbf-location-first .hbf-landing-form-heading p{max-width:none;font-size:16px}
.hbf-location-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.4fr);gap:12px;align-items:end}
.hbf-location-entry label{font-weight:700;font-size:14px;color:#252525;min-width:0}
.hbf-location-entry input{display:block;width:100%;height:60px;border:1px solid #c9c9c9;border-radius:12px;margin-top:8px;padding:12px 18px;font-size:17px;background:#fff;color:#252525}
.hbf-location-entry button{height:60px;border:0;border-radius:12px;background:#FF7500;color:#fff;font-weight:800;font-size:16px;padding:12px;cursor:pointer}
.hbf-location-entry button:hover,.hbf-location-entry button:focus-visible{background:#D65D00}
@media(max-width:650px){.hbf-homepage .hbf-landing-top-grid{padding:22px 18px 12px!important}.hbf-location-entry{grid-template-columns:1fr}.hbf-location-entry button{width:100%}.hbf-homepage .hbf-landing-copy h1{font-size:clamp(29px,8vw,40px)!important}}

/* v1.4.18 city landing pages */
.hbf-region-page{width:100%;max-width:1300px;margin:0 auto;padding:0 12px;box-sizing:border-box}
.hbf-region-page .hbf-region-hero{padding:28px clamp(16px,4vw,45px);background:#fff7ef;border-radius:20px;margin-bottom:20px}
.hbf-region-page .hbf-region-hero h1{font-size:clamp(30px,4vw,50px);line-height:1.12;color:#252525}
.hbf-region-page .hbf-region-hero a{display:inline-block;background:#FF7500;color:#fff!important;padding:13px 20px;border-radius:12px;text-decoration:none;font-weight:800}
.hbf-region-page .hbf-region-funnel{scroll-margin-top:30px;margin:25px auto}
.hbf-region-page .hbf-region-funnel>h2{font-size:clamp(23px,3vw,33px);color:#252525}

/* v1.4.19: regional landing pages – conversion-first, accessible and compact */
.hbf-region-page.hbf-region-first{max-width:1160px!important;padding:0 12px 36px!important;margin:0 auto!important}
.hbf-region-first .hbf-region-intro{padding:8px 4px 0!important;margin:0!important;background:#fff!important}
.hbf-region-first .hbf-region-intro h1{color:#252525!important;font-size:clamp(26px,3.5vw,40px)!important;line-height:1.15!important;margin:6px 0 10px!important;font-weight:800!important}
.hbf-region-first .hbf-region-benefits{display:flex;gap:8px 20px;flex-wrap:wrap;color:#353535;font-size:14px;margin-bottom:10px}
.hbf-region-first .hbf-region-benefits span::first-letter{color:#f58200}
.hbf-region-first section.hbf-region-funnel{margin:0!important;padding:0!important;scroll-margin-top:15px}
.hbf-region-first .hbf-region-funnel .hbf-hero{display:none!important}
.hbf-region-first .hbf-region-funnel .hbf-wrap{margin:0 auto 24px!important;max-width:1100px!important}
.hbf-region-first .hbf-region-seo{max-width:960px;margin:36px auto 0;color:#252525}
.hbf-region-first .hbf-region-seo section{padding:16px 0!important}
.hbf-region-first .hbf-region-seo h2{font-size:clamp(22px,3vw,30px);line-height:1.25;margin:0 0 12px}
.hbf-region-first .hbf-region-seo p,.hbf-region-first .hbf-region-seo li{font-size:16px;line-height:1.65;color:#343434}
.hbf-region-first .hbf-region-seo details summary{cursor:pointer;font-weight:600}
@media(max-width:700px){.hbf-region-page.hbf-region-first{padding:0 6px 25px!important}.hbf-region-first .hbf-region-intro{padding:4px 8px 0!important}.hbf-region-first .hbf-region-intro h1{font-size:clamp(24px,6.6vw,32px)!important;margin:4px 0 8px!important}.hbf-region-first .hbf-region-benefits{font-size:12px;gap:5px 10px;margin-bottom:9px}.hbf-region-first .hbf-region-seo{margin-top:24px;padding:0 10px}.hbf-region-first .hbf-region-funnel .hbf-wrap{margin:0!important}}
/* Remove duplicate WordPress/Divi page title only on generated regional pages. */
body:has(.hbf-region-first) .entry-title,body:has(.hbf-region-first) .et_post_meta_wrapper>h1{display:none!important}
