<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Tue, 07 Apr 2026 09:03:05 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Frezowanie ogrzewania podłogowego w starym domu.</title>
		<link>https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/</link>
					<comments>https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 07 Apr 2026 09:03:02 +0000</pubDate>
				<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Budowa i remonty]]></category>
		<category><![CDATA[Frezowanie posadzki]]></category>
		<category><![CDATA[Modernizacja instalacji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla domu]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Remont]]></category>
		<category><![CDATA[Remont domu]]></category>
		<category><![CDATA[Remont i modernizacja]]></category>
		<category><![CDATA[Remont starego domu]]></category>
		<category><![CDATA[Technologia budowlana]]></category>
		<category><![CDATA[Technologia w budownictwie]]></category>
		<category><![CDATA[Technologie budowlane]]></category>
		<category><![CDATA[bezpyłowe frezowanie]]></category>
		<category><![CDATA[frezowanie betonu]]></category>
		<category><![CDATA[frezowanie podłogówki]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[koszty frezowania]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka w starym domu]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[remont starego domu]]></category>
		<category><![CDATA[stara wylewka]]></category>
		<category><![CDATA[system suchy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4152</guid>

					<description><![CDATA[<p>Remont starego budynku często wiąże się z trudnymi decyzjami, a jedną z najważniejszych jest wybór odpowiedniego systemu grzewczego. Wiele osób marzy o komfortowej, ciepłej podłodze, jednak przeraża je wizja skuwania starych wylewek, wywożenia ton gruzu i drastycznego podnoszenia poziomu posadzki, co niesie za sobą konieczność przerabiania progów czy skracania drzwi. Na szczęście istnieje nowoczesna, znacznie mniej inwazyjna alternatywa. Frezowanie ogrzewania podłogowego w starym domu to innowacyjna metoda, która pozwala ukryć rury grzewcze bezpośrednio w istniejącym już betonie. W tym obszernym poradniku przyjrzymy się z bliska, jak krok po kroku przebiega ten proces. Sprawdzimy, z jakimi realnymi kosztami musisz się liczyć, czy prace faktycznie przebiegają bezpyłowo oraz w jakich sytuacjach ta technologia sprawdzi się najlepiej.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">Frezowanie ogrzewania podłogowego w starym domu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Frezowanie ogrzewania podłogowego w starym domu to obecnie jedna z najpopularniejszych metod modernizacji instalacji grzewczej.</strong>&nbsp;Pozwala ona cieszyć się luksusem „podłogówki” bez konieczności skuwania wylewek do zera i podnoszenia poziomu podłóg. W tym artykule szczegółowo wyjaśniam, na czym polega ten proces, ile realnie kosztuje, jak wygląda kwestia czystości i jakie efekty możesz osiągnąć w swoim budownictwie nie tylko pod kątem komfortu, ale też rachunków.</p>



<h2 class="wp-block-heading">Na czym polega frezowanie ogrzewania podłogowego?</h2>



<p>Zamiast układać rury na izolacji termicznej i zalewać je nową warstwą betonu (jak w tradycyjnym systemie „mokrym”), specjaliści używają&nbsp;<strong>frezarki diamentowej</strong>. Maszyna ta wycina w Twojej obecnej wylewce – betonowej lub anhydrytowej – precyzyjne rowki o określonej geometrii.</p>



<p>Typowe parametry techniczne frezowania:</p>



<ul class="wp-block-list">
<li><strong>Głębokość rowka:</strong>&nbsp;ok.&nbsp;<strong>20–25 mm</strong>&nbsp;(zależnie od średnicy rury)</li>



<li><strong>Szerokość rowka:</strong>&nbsp;ok.&nbsp;<strong>16–18 mm</strong></li>



<li><strong>Rozstaw rowków (moduł):</strong>&nbsp;najczęściej&nbsp;<strong>10, 12,5 lub 15 cm</strong>&nbsp;– zależy od projektu i zapotrzebowania na ciepło</li>



<li><strong>Rodzaj narzędzia:</strong>&nbsp;frezarka jednogłowicowa lub wielogłowicowa z tarczami diamentowymi, zintegrowana z odkurzaczem przemysłowym</li>
</ul>



<p>W powstałe kanały wciska się <strong>rury grzewcze</strong> – najczęściej <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX</a> (polietylen usieciowany) lub <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/">PE-RT</a> o średnicy <strong>16 mm</strong>. Następnie rowki wypełnia się <strong>klejem elastycznym do płytek</strong> lub masą szpachlową o podwyższonej przewodności cieplnej. Na tak przygotowanym podłożu można od razu układać płytki, kamień, a po dodatkowym wyrównaniu także panele lub deski warstwowe.</p>



<h3 class="wp-block-heading">Dlaczego to działa w starym domu?</h3>



<p>W starym budownictwie często mamy do czynienia z <strong>grubymi, monolitycznymi wylewkami</strong> (5–8 cm) wykonanymi z mocnego betonu. To idealne podłoże do frezowania. Nie musisz rozbierać posadzki, wywozić gruzu, a przede wszystkim <strong>nie podnosisz poziomu podłogi</strong>. W praktyce oznacza to, że nie skracasz skrzydeł drzwiowych, nie przerabiasz progów ani schodów.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Przykład:</em>&nbsp;W domu z lat 70. wylewka na parterze miała 6 cm grubości. Po wyfrezowaniu rowków na głębokość 2 cm pozostało jeszcze 4 cm betonu – bezpieczny zapas, który zapewnia stabilność i ochronę rur.</p>
</blockquote>



<h2 class="wp-block-heading">Koszty frezowania ogrzewania podłogowego – szczegółowa tabela i wyliczenia</h2>



<p>Koszty są zazwyczaj niższe niż przy metodzie tradycyjnej (skuwanie + nowa wylewka + izolacja). Jednak cena końcowa zależy od kilku kluczowych czynników:&nbsp;<strong>regionu Polski</strong>,&nbsp;<strong>twardości podłoża</strong>,&nbsp;<strong>powierzchni</strong>&nbsp;oraz zakresu usługi (samo frezowanie czy kompleksowa instalacja).</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-pricing {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.pricing-title {
    text-align: center;
    margin-bottom: 40px;
}

.pricing-title h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px 0;
}

.pricing-title p {
    color: #64748b;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.year-badge-pricing { 
    display: inline-block; 
    background: #eff6ff; 
    color: var(--accent); 
    padding: 6px 14px; 
    border-radius: 20px; 
    font-size: 13px; 
    font-weight: 800; 
    margin-bottom: 15px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.pricing-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.pricing-card.featured {
    border: 2px solid var(--accent);
    box-shadow: 0 15px 35px -5px rgba(37, 99, 235, 0.15);
}

.featured-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--accent);
    color: white;
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.icon-box {
    width: 48px;
    height: 48px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.pricing-card.featured .icon-box { background: var(--accent); color: white; }

.header-text h4 { margin: 0; font-size: 16px; font-weight: 800; }
.header-text span { font-size: 11px; color: #94a3b8; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; }

.param-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

.param-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    margin-bottom: 12px;
    color: #475569;
    line-height: 1.4;
}

.param-list li::before {
    content: "✓";
    color: var(--success);
    font-weight: 900;
}

.result-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    margin-top: auto;
}

.pricing-card.featured .result-box { background: #eff6ff; }

.r-thick {
    display: block;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 5px;
}

.r-value {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}

.info-banner {
    margin-top: 30px;
    background: #fff7ed;
    border-left: 4px solid var(--warning);
    padding: 25px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.info-banner-row { display: flex; gap: 15px; align-items: flex-start; }
.info-banner-icon { font-size: 24px; line-height: 1; }
.info-banner-text h5 { margin: 0 0 5px 0; font-size: 15px; color: #9a3412; font-weight: 800; }
.info-banner-text p { margin: 0; font-size: 14px; color: #431407; line-height: 1.5; }

@media (max-width: 900px) {
    .pricing-grid { grid-template-columns: 1fr; }
    .pricing-card.featured { margin-top: 15px; }
    .info-banner-row { flex-direction: column; align-items: center; text-align: center; }
}
</style>

<div class="premium-pricing" id="pricing-app-lock">
    <div class="pricing-title">
        <span class="year-badge-pricing">Aktualizacja: Ceny netto na 2026 rok</span>
        <h2>Orientacyjne koszty frezowania podłogówki</h2>
        <p>Zobacz, jak kształtują się ceny robocizny i materiałów. Zależnie od wybranego wariantu płacisz tylko za usługę cięcia lub za montaż &#8222;pod klucz&#8221;.<br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="pricing-grid">
        
        <div class="pricing-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26cf.png" alt="⛏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Tylko robocizna</span>
                    <h4>Samo frezowanie</h4>
                </div>
            </div>
            <ul class="param-list">
                <li>Przygotowanie i wyznaczenie trasy</li>
                <li>Frezowanie rowków w wylewce</li>
                <li>Bieżące odsysanie pyłu maszyną</li>
            </ul>
            <div class="result-box">
                <span class="r-thick">60 – 100 zł</span>
                <span class="r-value">Cena za 1 m²</span>
            </div>
        </div>

        <div class="pricing-card featured">
            <div class="featured-badge">Najwyższa efektywność</div>
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Opcja pod pompę/gaz</span>
                    <h4>Ogrzewanie Wodne</h4>
                </div>
            </div>
            <ul class="param-list">
                <li>Kompletne frezowanie rowków</li>
                <li>Rury grzewcze (najczęściej PEX)</li>
                <li>Montaż instalacji i rozdzielacza</li>
                <li>Próba ciśnieniowa układu</li>
            </ul>
            <div class="result-box">
                <span class="r-thick">180 – 260 zł</span>
                <span class="r-value">Cena za 1 m² (Kompleksowo)</span>
            </div>
        </div>

        <div class="pricing-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Opcja alternatywna</span>
                    <h4>Maty Elektryczne</h4>
                </div>
            </div>
            <ul class="param-list">
                <li>Kompletne frezowanie rowków</li>
                <li>Wkładka grzewcza (maty)</li>
                <li>Termostat oraz czujnik temperatury</li>
                <li>Instalacja i podpięcie systemu</li>
            </ul>
            <div class="result-box">
                <span class="r-thick">240 – 360 zł</span>
                <span class="r-value">Cena za 1 m² (Kompleksowo)</span>
            </div>
        </div>

    </div>

    <div class="info-banner">
        <div class="info-banner-row" style="border-bottom: 1px solid #fdba74; padding-bottom: 15px;">
            <div class="info-banner-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="info-banner-text">
                <h5>Materiały dodatkowe (30 – 50 zł/m²)</h5>
                <p>Niezależnie od wybranego wariantu, do kosztów należy doliczyć zakup elastycznego kleju do zatopienia rur, opcjonalnej siatki zbrojącej oraz folii separacyjnej pod wykończenie.</p>
            </div>
        </div>
        <div class="info-banner-row">
            <div class="info-banner-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="info-banner-text">
                <h5>Uwaga praktyczna na temat wylewki</h5>
                <p>Jeśli Twoja obecna wylewka jest <strong>bardzo twarda</strong> (np. beton klasy B25 lub B30 z twardymi domieszkami), ekipa może doliczyć od <strong>10 do 20 zł/m²</strong> dopłaty ze względu na drastycznie szybsze zużycie diamentowych tarcz tnących. Podobna dopłata obowiązuje, gdy konieczne jest cięcie w trzech lub więcej starych warstwach (np. terazzo + stary beton + zaprawa).</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('pricing-app-lock').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten cennik jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został wklejony na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNE ZESTAWIENIE</a>
            </div>
        `;
    }
});
</script>



<h3 class="wp-block-heading">Przykładowe wyliczenie dla domu o powierzchni 70 m²</h3>



<p>Załóżmy, że decydujesz się na&nbsp;<strong>kompleksową usługę wodną</strong>&nbsp;w cenie&nbsp;<strong>210 zł/m²</strong>.</p>



<ul class="wp-block-list">
<li><strong>Koszt podstawowy:</strong>&nbsp;70 m² × 210 zł =&nbsp;<strong>14 700 zł netto</strong></li>



<li><strong>Dojazd ekipy (jeśli poza miastem):</strong>&nbsp;+300–500 zł</li>



<li><strong>Dopłata za twardy beton (załóżmy +15 zł/m²):</strong>&nbsp;70 × 15 = 1050 zł</li>



<li><strong>Rozdzielacz dodatkowy (jeśli więcej niż 8 pętli):</strong>&nbsp;+400 zł</li>
</ul>



<p><strong>Łączny szacowany koszt:</strong>&nbsp;około&nbsp;<strong>16 500 zł netto</strong>.</p>



<p>Dla porównania – tradycyjna metoda ze skuciem wylewki, izolacją termiczną (5 cm styropianu), nową wylewką 6 cm i ułożeniem rur kosztowałaby&nbsp;<strong>220–300 zł/m²</strong>&nbsp;plus wywóz gruzu. W tym samym domu zapłaciłbyś&nbsp;<strong>od 15 400 do 21 000 zł</strong>, przy czym podniesienie podłogi wyniosłoby&nbsp;<strong>ok. 7–9 cm</strong>.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Wniosek:</strong>&nbsp;Frezowanie nie zawsze jest tańsze przy bardzo małych powierzchniach (do 30 m²), ale przy standardowym starym domu (60–120 m²)&nbsp;<strong>bije tradycyjną metodę na głowę</strong>&nbsp;– zarówno ceną, jak i logistyką.</p>
</blockquote>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.area-pricing-wrapper {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.area-title-box {
    text-align: center;
    margin-bottom: 35px;
    padding: 0 20px;
}

.area-title-box h2 {
    font-size: 26px;
    font-weight: 800;
    margin: 0 0 12px 0;
    color: var(--primary);
}

.area-title-box p {
    color: #475569;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.6;
    max-width: 800px;
}

.highlight-text {
    color: var(--accent);
    font-weight: 700;
}

.area-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0 20px;
}

.area-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    border: 1px solid #e2e8f0;
    box-shadow: 0 10px 25px -10px rgba(0, 0, 0, 0.05);
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.area-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 35px -10px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.size-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #eff6ff;
    color: var(--accent);
    border-radius: 12px;
    font-weight: 900;
    font-size: 18px;
    margin: 0 auto 20px auto;
}

.area-range {
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
    margin-bottom: 5px;
}

.area-desc {
    font-size: 12px;
    color: #64748b;
    margin-bottom: 25px;
}

.price-box {
    background: var(--bg-light);
    border-radius: 12px;
    padding: 15px 10px;
    margin-top: auto;
}

.price-value {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--accent);
    margin-bottom: 4px;
}

.price-label {
    font-size: 11px;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.negocjacja-badge {
    display: inline-block;
    font-size: 10px;
    color: var(--warning);
    font-weight: 800;
    background: #fff7ed;
    padding: 4px 10px;
    border-radius: 10px;
    margin-top: 8px;
    text-transform: uppercase;
}

/* Responsywność */
@media (max-width: 950px) {
    .area-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 550px) {
    .area-grid {
        grid-template-columns: 1fr;
    }
}
</style>

<div class="area-pricing-wrapper" id="area-app-lock">
    <div class="area-title-box">
        <h2>Koszt a powierzchnia – <span class="highlight-text">reguła malejącej ceny</span></h2>
        <p>Im większa powierzchnia, tym niższa cena za m². Wynika to z rozłożenia kosztów stałych (transport, ustawienie maszyny, przygotowanie rozdzielacza).<br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="area-grid">
        <div class="area-card">
            <div>
                <div class="size-badge">S</div>
                <div class="area-range">do 30 m²</div>
                <div class="area-desc">Małe pomieszczenia lub dobudówki</div>
            </div>
            <div class="price-box">
                <span class="price-value">240 – 280 zł</span>
                <span class="price-label">za m² (Kompleksowo)</span>
            </div>
        </div>

        <div class="area-card">
            <div>
                <div class="size-badge">M</div>
                <div class="area-range">40 – 60 m²</div>
                <div class="area-desc">Małe domy lub całe piętra</div>
            </div>
            <div class="price-box">
                <span class="price-value">210 – 240 zł</span>
                <span class="price-label">za m² (Kompleksowo)</span>
            </div>
        </div>

        <div class="area-card">
            <div>
                <div class="size-badge">L</div>
                <div class="area-range">70 – 100 m²</div>
                <div class="area-desc">Standardowe domy jednorodzinne</div>
            </div>
            <div class="price-box">
                <span class="price-value">180 – 210 zł</span>
                <span class="price-label">za m² (Kompleksowo)</span>
            </div>
        </div>

        <div class="area-card">
            <div>
                <div class="size-badge">XL</div>
                <div class="area-range">powyżej 120 m²</div>
                <div class="area-desc">Duże obiekty i inwestycje</div>
            </div>
            <div class="price-box">
                <span class="price-value">160 – 190 zł</span>
                <span class="price-label">za m² (Kompleksowo)</span>
                <span class="negocjacja-badge">Możliwa negocjacja</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('area-app-lock').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; border-radius: 20px; margin: 0 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">To zestawienie cenowe jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało skopiowane nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading">Czystość podczas frezowania – mit czy rzeczywistość?</h2>



<p>To największa obawa inwestorów remontujących zamieszkany dom. Czy cały dom będzie w pyłe?&nbsp;<strong>Odpowiedź brzmi: nie, jeśli ekipa używa profesjonalnego sprzętu.</strong></p>



<h3 class="wp-block-heading">System odsysania pyłu – 99% skuteczności</h3>



<p>Nowoczesne frezarki przemysłowe (np. Hilti, Husqvarna, Tyrolit) są wyposażone w&nbsp;<strong>głowice zintegrowane z odkurzaczem przemysłowym klasy M lub H</strong>&nbsp;z filtrami HEPA. Odsysanie działa bezpośrednio przy tarczy tnącej – pył jest zasysany i trafia do szczelnego worka.</p>



<ul class="wp-block-list">
<li><strong>Skuteczność pochłaniania pyłu:</strong>&nbsp;98–99% (dla drobnych cząstek PM10 i PM2,5)</li>



<li><strong>Pozostałość:</strong>&nbsp;niewielka warstwa pyłu osiadającego w promieniu 2–3 metrów od maszyny, porównywalna do kurz po zwykłym zamiataniu</li>
</ul>



<h3 class="wp-block-heading">Praktyczne doświadczenia z realizacji</h3>



<p>W 2024 roku przeprowadzono frezowanie w kamienicy z 1935 roku na powierzchni 85 m². Mieszkanie było zamieszkane (jedno pomieszczenie zostało zabezpieczone). Ekipa zastosowała&nbsp;<strong>folie malarskie na drzwiach i nawiewach</strong>, a odkurzacz przemysłowy wymieniano dwa razy w ciągu dnia. Efekt:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>„Sądziliśmy, że kurz będzie wszędzie, a okazało się, że wystarczyło po zakończeniu prac przetrzeć parapety i jedną szafę. Żadnego pyłu w sąsiednim pokoju.”</em>&nbsp;– fragment opinii inwestora.</p>
</blockquote>



<h3 class="wp-block-heading">Co jest uciążliwe? Hałas i wibracje</h3>



<p>Jeśli chodzi o czystość – frezowanie wygrywa.&nbsp;<strong>Hałas to już inna historia.</strong>&nbsp;Maszyna pracuje przy&nbsp;<strong>85–95 dB</strong>&nbsp;(porównywalne z pracą młota pneumatycznego, ale bardziej wysokotonowe). Dla powierzchni&nbsp;<strong>50 m²</strong>&nbsp;frezowanie trwa zazwyczaj&nbsp;<strong>jeden pełny dzień roboczy</strong>&nbsp;(6–8 godzin). Dla większych domów – 2–3 dni.</p>



<p><strong>Jak się zabezpieczyć?</strong></p>



<ul class="wp-block-list">
<li>Poinformuj sąsiadów (zwłaszcza jeśli ściany są cienkie).</li>



<li>Załóż ochronniki słuchu, jeśli przebywasz w domu.</li>



<li>Zaplanuj frezowanie na dzień, kiedy możesz wyjechać z rodziną.</li>
</ul>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --bg-light: #f8fafc;
}

.alternative-banner-wrapper {
    max-width: 1000px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    padding: 0 20px;
}

.alt-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(135deg, #1e3a8a 0%, #0f172a 100%);
    border-radius: 24px;
    padding: 40px 50px;
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.3);
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #3b82f6;
}

.alt-banner:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px -10px rgba(37, 99, 235, 0.4);
}

/* Dekoracyjne koła w tle */
.alt-banner::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(59,130,246,0.2) 0%, rgba(0,0,0,0) 70%);
    border-radius: 50%;
    pointer-events: none;
}

.alt-banner-content {
    max-width: 550px;
    position: relative;
    z-height: 2;
}

.alt-badge {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: inline-block;
    margin-bottom: 15px;
    border: 1px solid rgba(59, 130, 246, 0.4);
}

.alt-banner h3 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.alt-banner p {
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 25px 0;
}

.alt-cta-box {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.alt-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    color: #1e3a8a;
    padding: 18px 32px;
    border-radius: 14px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.2);
}

.alt-btn:hover {
    background: #f8fafc;
    transform: scale(1.05);
    color: var(--accent);
}

.alt-btn .icon {
    font-size: 20px;
    transition: transform 0.3s;
}

.alt-btn:hover .icon {
    transform: translateX(5px);
}

@media (max-width: 850px) {
    .alt-banner {
        flex-direction: column;
        text-align: center;
        padding: 35px 25px;
        gap: 30px;
    }
    .alt-banner-content {
        max-width: 100%;
    }
}
</style>

<div class="alternative-banner-wrapper" id="alt-banner-lock">
    <div class="alt-banner">
        <div class="alt-banner-content">
            <span class="alt-badge">Alternatywa dla frezowania</span>
            <h3>Masz drewniany strop lub słabą wylewkę?</h3>
            <p>Jeśli Twój stary dom nie pozwala na frezowanie w betonie, nic straconego! Poznaj <strong>System Suchy Lekki</strong> – innowacyjne rozwiązanie o ultra niskiej zabudowie (od 61 mm), które nie obciąża stropów i nie wymaga wylewek.</p>
        </div>
        <div class="alt-cta-box">
            <a href="https://projekt-ogrzewania.pl/comfort-floor-dry/" class="alt-btn">
                ZOBACZ SYSTEM SUCHY <span class="icon">→</span>
            </a>
        </div>
    </div>
</div>

<script>
/* BLOKADA ANTYKRADZIEŻOWA */
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('alt-banner-lock').innerHTML = `
            <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; border: 2px dashed #f87171;">
                <span style="font-size: 32px; display: block; margin-bottom: 10px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 20px;">Element chroniony prawem autorskim</h3>
                <p style="font-size: 14px; color: #7f1d1d;">Ten komponent jest własnością <strong>Projekt-Ogrzewania.pl</strong>.</p>
            </div>
        `;
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.compare-wrapper {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.compare-title-box {
    text-align: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.compare-title-box h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.compare-title-box p {
    color: #475569;
    margin: 0 auto;
    font-size: 15px;
    line-height: 1.6;
    max-width: 800px;
}

.compare-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 20px;
}

.compare-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid #f1f5f9;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.compare-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.compare-card.featured {
    border: 2px solid var(--accent);
    box-shadow: 0 15px 35px -5px rgba(37, 99, 235, 0.15);
}

.featured-badge {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--accent);
    color: white;
    padding: 4px 16px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.c-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.c-icon {
    width: 48px;
    height: 48px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.compare-card.featured .c-icon {
    background: var(--accent);
    color: white;
}

.c-title {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
}

.c-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    flex-grow: 1;
}

.c-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 15px;
    border-bottom: 1px solid #f8fafc;
}

.c-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.c-label {
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.c-val-box {
    text-align: right;
}

.c-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
}

.b-good { background: #dcfce7; color: #166534; }
.b-warn { background: #ffedd5; color: #9a3412; }
.b-bad { background: #fee2e2; color: #991b1b; }

.c-desc {
    display: block;
    font-size: 11px;
    color: #94a3b8;
    margin-top: 5px;
    font-weight: 600;
}

/* Responsywność */
@media (max-width: 950px) {
    .compare-grid { grid-template-columns: 1fr; }
    .compare-card.featured { margin-top: 15px; }
}
</style>

<div class="compare-wrapper" id="compare-app-lock">
    <div class="compare-title-box">
        <h2>Porównanie czystości prac remontowych</h2>
        <p>Zobacz, jak wypada frezowanie na tle tradycyjnego kucia lub wylewania nowej posadzki od zera. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="compare-grid">
        
        <div class="compare-card featured">
            <div class="featured-badge">Zalecane w starym domu</div>
            <div class="c-header">
                <div class="c-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <h3 class="c-title">Frezowanie</h3>
            </div>
            <div class="c-list">
                <div class="c-item">
                    <span class="c-label">Pył</span>
                    <div class="c-val-box">
                        <span class="c-badge b-good">Bardzo mało</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Gruz</span>
                    <div class="c-val-box">
                        <span class="c-badge b-good">Brak</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Hałas</span>
                    <div class="c-val-box">
                        <span class="c-badge b-warn">Wysoki</span>
                        <span class="c-desc">(krótkotrwały)</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="compare-card">
            <div class="c-header">
                <div class="c-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f528.png" alt="🔨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <h3 class="c-title">Kucie wylewki</h3>
            </div>
            <div class="c-list">
                <div class="c-item">
                    <span class="c-label">Pył</span>
                    <div class="c-val-box">
                        <span class="c-badge b-bad">Bardzo dużo</span>
                        <span class="c-desc">(tysiące m³ pyłu)</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Gruz</span>
                    <div class="c-val-box">
                        <span class="c-badge b-bad">Tony gruzu</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Hałas</span>
                    <div class="c-val-box">
                        <span class="c-badge b-bad">Bardzo wysoki</span>
                        <span class="c-desc">(długotrwały)</span>
                    </div>
                </div>
            </div>
        </div>

        <div class="compare-card">
            <div class="c-header">
                <div class="c-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <h3 class="c-title">Nowa wylewka <span style="font-size:12px; font-weight:600; color:#94a3b8">(mokra)</span></h3>
            </div>
            <div class="c-list">
                <div class="c-item">
                    <span class="c-label">Pył</span>
                    <div class="c-val-box">
                        <span class="c-badge b-good">Brak</span>
                        <span class="c-desc">(ale kurz przy mieszaniu)</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Gruz</span>
                    <div class="c-val-box">
                        <span class="c-badge b-warn">Średni</span>
                        <span class="c-desc">(po skuciu starej)</span>
                    </div>
                </div>
                <div class="c-item">
                    <span class="c-label">Hałas</span>
                    <div class="c-val-box">
                        <span class="c-badge b-good">Niski</span>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('compare-app-lock').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; border-radius: 20px; margin: 0 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">To zestawienie porównawcze jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało skopiowane nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading">Efekty i wydajność systemu w starym domu</h2>



<p>Frezowanie nie tylko ułatwia montaż – wpływa również na <strong>charakterystykę pracy <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewania podłogowego</a></strong>. W starym domu możesz liczyć na konkretne korzyści, ale też musisz liczyć się z pewnymi ograniczeniami.</p>



<h3 class="wp-block-heading">Szybka reakcja na zmiany temperatury</h3>



<p>Ponieważ rury grzewcze są umieszczone płytko (zaledwie&nbsp;<strong>2–3 cm pod powierzchnią podłogi</strong>), system&nbsp;<strong>nagrzewa się znacznie szybciej</strong>&nbsp;niż w tradycyjnej wylewce (gdzie rury są na głębokości 5–7 cm od wierzchu).</p>



<ul class="wp-block-list">
<li><strong>Czas wyczucia ciepła na stopach:</strong>&nbsp;30–60 minut od uruchomienia pompy.</li>



<li><strong>Czas osiągnięcia temperatury zadanej (np. 23°C):</strong>&nbsp;ok. 2–3 godziny.</li>
</ul>



<p>W tradycyjnej „mokrej” podłogówce te same procesy trwają&nbsp;<strong>4–6 godzin</strong>&nbsp;(a przy grubej wylewce nawet 8 godzin). Szybsza reakcja to ogromna zaleta w budynkach z nieciągłym ogrzewaniem (np. domy weekendowe, ogrzewanie tylko w ciągu dnia).</p>



<h3 class="wp-block-heading">Komfort cieplny i równomierny rozkład temperatury</h3>



<p>Niezależnie od metody, ogrzewanie podłogowe zapewnia&nbsp;<strong>pionowy profil temperatury</strong>&nbsp;korzystniejszy niż grzejniki: przy głowie jest ok. 20–21°C, przy podłodze ok. 23–25°C. To redukuje uczucie zimnych stóp i ogranicza unoszenie kurzu (mniejsza cyrkulacja konwekcyjna).</p>



<h3 class="wp-block-heading">Kwestia izolacji termicznej – pięta achillesowa</h3>



<p>W starych domach często <strong>pod wylewką nie ma żadnego styropianu</strong> lub jest on cienki (1–2 cm) i częściowo zdegradowany. Oznacza to, że część ciepła będzie <strong>uciekać w dół</strong> do stropu, piwnicy lub gruntu.</p>



<p><strong>Ile ciepła ucieka?</strong><br>Dla typowej starej wylewki 6 cm na gruncie bez izolacji:&nbsp;<strong>straty w dół mogą sięgać 15–25%</strong>&nbsp;całkowitego strumienia ciepła. Dla porównania – przy izolacji 5 cm EPS (styropian) straty wynoszą poniżej 5%.</p>



<p><strong>Czy to dyskwalifikuje frezowanie?</strong><br>Nie. Nawet bez izolacji zyskujesz&nbsp;<strong>komfort ciepłej podłogi</strong>&nbsp;i lepszy rozkład temperatury. Jednak&nbsp;<strong>rachunki za ogrzewanie będą wyższe</strong>&nbsp;niż w dobrze izolowanym domu. Z tego powodu eksperci zalecają:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Jeśli planujesz frezowanie, a pod wylewką jest grunt lub nieogrzewana piwnica – rozważ wcześniejsze docieplenie stropu od dołu (np. wełną mineralną na ruszcie lub natryskiem pianki PUR).</em></p>
</blockquote>



<h3 class="wp-block-heading">Przykład obliczenia oszczędności (mimo braku izolacji)</h3>



<p>Załóżmy dom o powierzchni 100 m² ogrzewany gazem. Przed modernizacją: grzejniki, roczne zużycie gazu <strong>1500 m³</strong> (ok. 6000 zł). Po zamontowaniu <strong>podłogówki frezowanej</strong> (bez docieplenia stropu) spadek temperatury w pomieszczeniach można obniżyć o 1–2°C przy tym samym odczuciu ciepła (dzięki promieniowaniu podłogi). Rzeczywiste oszczędności: <strong>10–15%</strong>, czyli rocznie <strong>600–900 zł</strong>.</p>



<p>Po dociepleniu stropu od dołu (np. 10 cm wełny) – oszczędności wzrastają do&nbsp;<strong>20–25%</strong>&nbsp;(1200–1500 zł/rok).</p>



<h2 class="wp-block-heading">Warunki techniczne – czy twój stary dom nadaje się do frezowania?</h2>



<p>Nie każda stara wylewka nadaje się do frezowania. Zanim podpiszesz umowę z ekipą,&nbsp;<strong>samodzielnie lub z fachowcem</strong>&nbsp;sprawdź dwa kluczowe parametry.</p>



<h3 class="wp-block-heading">1. Minimalna grubość wylewki</h3>



<p>Frezarka wcina się na głębokość&nbsp;<strong>20–25 mm</strong>. Pod rowkiem musi pozostać&nbsp;<strong>bezpieczny zapas betonu</strong>, który ochroni rury przed uszkodzeniem i zapewni stabilność mechaniczną.</p>



<ul class="wp-block-list">
<li><strong>Wymagane minimum:</strong>&nbsp;<strong>3,5–4 cm</strong>&nbsp;całkowitej grubości wylewki.</li>



<li><strong>Optymalnie:</strong>&nbsp;5 cm i więcej.</li>
</ul>



<p><strong>Jak zmierzyć?</strong><br>Wywierć mały otwór wiertłem 6 mm w mało widocznym miejscu (np. pod przyszłą listwą przypodłogową). Zmierz głębokość jeśli jest mniej niż 3,5 cm, <strong>nie kwalifikuje się</strong> (chyba że wymienisz fragment wylewki).</p>



<h3 class="wp-block-heading">2. Stan podłoża – testy kruszenia i dudnienia</h3>



<p>Wylewka nie może być&nbsp;<strong>spękana, krucha, rozwarstwiona ani głucho dudnić</strong>.</p>



<ul class="wp-block-list">
<li><strong>Test kruszenia:</strong> Spróbuj zarysować powierzchnię gwoździem lub śrubokrętem. Jeśli materiał kruszy się w palcach jak piasek <strong>źle</strong>.</li>



<li><strong>Test dudnienia:</strong> Opukaj podłogę młotkiem lub trzonkiem śrubokręta. Jeśli dźwięk jest <strong>głuchy, krótki i głęboki</strong> wylewka jest luźno związana z podłożem. Frezowanie może spowodować pęknięcia i oderwanie się fragmentów.</li>
</ul>



<p><strong>Co wtedy robić?</strong><br>Wylewkę w złym stanie trzeba <strong>sfrezować w całości</strong> (tzw. frezowanie powierzchniowe) lub skuć i wykonać nową. Niestety, nie ma drogi na skróty kruchy jastrych nie utrzyma rur.</p>



<h3 class="wp-block-heading">3. Dodatkowe czynniki</h3>



<ul class="wp-block-list">
<li><strong>Wilgotność resztkowa:</strong>&nbsp;Dla wylewek anhydrytowych (gipsowych) wymagana wilgotność &lt; 0,5% CM. Zbyt mokra wylewka może pękać podczas frezowania.</li>



<li><strong>Obecność rur lub kabli:</strong>&nbsp;Zawsze wykonaj&nbsp;<strong>skanerem podłoża</strong>&nbsp;przed frezowaniem. Stare instalacje wodne lub elektryczne mogą zalegać płytko.</li>



<li><strong>Rodzaj podłogi wykończeniowej:</strong>&nbsp;Frezowanie najlepiej sprawdza się pod&nbsp;<strong>płytkami ceramicznymi, gresem, lastrykiem lub kamieniem</strong>. Pod panele lub deski potrzebujesz&nbsp;<strong>warstwy wyrównawczej</strong>&nbsp;(np. wylewka samopoziomująca 3–5 mm) oraz paneli z niskim oporem cieplnym (R &lt; 0,10 m²K/W).</li>
</ul>



<h2 class="wp-block-heading">Dlaczego projekt ogrzewania podłogowego jest kluczowy przed frezowaniem?</h2>



<p>Można by pomyśleć: „Wycinam rowki, wciskam rury, gotowe”.&nbsp;<strong>To ogromny błąd.</strong>&nbsp;Frezowanie bez projektu to jak budowa domu bez planu – efekt może być nie tylko nieskuteczny, ale i drogi w eksploatacji.</p>



<p><strong>Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a></strong> w kontekście frezowania obejmuje:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenie zapotrzebowania na ciepło</strong>&nbsp;dla każdego pomieszczenia (wg normy PN-EN 12831). Uwzględnia się straty przez przegrody, okna, wentylację.</li>



<li><strong>Dobór <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstawu rur</a></strong> – w strefach przy oknach i ścianach zewnętrznych rozstaw zmniejsza się nawet do <strong>10 cm</strong>, w środku pokoju można zwiększyć do <strong>15–18 cm</strong>.</li>



<li><strong>Długość pętli grzewczych</strong>&nbsp;– przy rurze 16 mm maksymalna długość pojedynczej pętli to ok.&nbsp;<strong>80–100 m</strong>&nbsp;(przy większych spadkach ciśnienia).</li>



<li><strong>Dobór rozdzielacza</strong>&nbsp;– liczba pętli, przepływomierze, zawory termostatyczne, możliwość podłączenia do źródła ciepła (piec gazowy, pompa ciepła, kocioł na paliwo stałe).</li>



<li><strong>Określenie stref montażu</strong>&nbsp;– gdzie biegną rowki, gdzie trzeba wykonać dylatacje, jak ominąć istniejące przeszkody (słupy, podejścia wodne).</li>
</ol>



<h3 class="wp-block-heading">Przykład z życia – pokój 20 m² w starym domu</h3>



<p>Zapotrzebowanie na ciepło obliczone przez projektanta:&nbsp;<strong>800 W</strong>&nbsp;(dom słabo ocieplony, duże okno). Dla rury 16 mm, układanej co&nbsp;<strong>12,5 cm</strong>, potrzeba około&nbsp;<strong>80 mb rury</strong>&nbsp;na ten pokój. Projekt przewiduje&nbsp;<strong>jedną pętlę</strong>&nbsp;(długość 82 m, strata ciśnienia 12 kPa). Rozdzielacz zostanie wyposażony w przepływomierz nastawiony na 1,8 l/min.</p>



<p>Bez projektu ekipa położyłaby rury co 15 cm (zbyt rzadko) lub co 10 cm (przegrzanie pomieszczenia, wyższe koszty materiału). Efekt: albo chłodna podłoga w mrozy, albo zbyt wysoka temperatura powrotu i spadek efektywności kotła.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Złota zasada:</strong>&nbsp;Projekt to nie wydatek, tylko inwestycja. Kosztuje zwykle&nbsp;<strong>500–1200 zł</strong>&nbsp;za cały dom. W przeciwieństwie do metod tradycyjnych – przy frezowaniu&nbsp;<strong>zmiana rozstawu rur po wycięciu rowków jest praktycznie niemożliwa</strong>. Dlatego projekt wykonuje się&nbsp;<strong>zawsze przed frezowaniem</strong>.</p>
</blockquote>



<h2 class="wp-block-heading">Kalkulator kosztów frezowania – jak samodzielnie oszacować budżet?</h2>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.calc-intro { max-width: 1150px; margin: 40px auto 10px auto; text-align: center; padding: 0 20px; }
.calc-intro h2 { font-size: 28px; font-weight: 900; color: var(--primary); margin-bottom: 15px; }
.calc-intro p { font-size: 16px; color: #475569; line-height: 1.6; max-width: 800px; margin: 0 auto; }
.year-badge { display: inline-block; background: #fee2e2; color: var(--danger); padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 800; margin-bottom: 15px; text-transform: uppercase; letter-spacing: 1px; }

.screed-calc { max-width: 1150px; margin: 30px auto; font-family: 'Inter', -apple-system, sans-serif; background: #ffffff; border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1); overflow: hidden; color: var(--primary); }
.calc-grid { display: grid; grid-template-columns: 1.2fr 1fr; }

.config-side { padding: 40px; background: #ffffff; }
.section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1.2px; margin-bottom: 15px; display: block; }

.type-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 35px; }
.type-btn { padding: 14px 8px; border: 2px solid #cbd5e1; border-radius: 12px; cursor: pointer; text-align: center; font-weight: 700; font-size: 12px; color: #475569; background: #fff; transition: all 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.type-btn span { margin-top: 4px; }
.type-btn.active { border-color: var(--accent); background: #eff6ff; color: var(--accent); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1); }

.input-wrap { margin-bottom: 35px; }
.input-label-row { display: flex; justify-content: space-between; margin-bottom: 8px; align-items: center; }
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge { background: #f1f5f9; padding: 4px 12px; border-radius: 8px; font-weight: 800; color: var(--accent); font-size: 14px; }

input[type=range] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer; }

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: center; }
.main-score-box { background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--accent); transition: 0.3s; }
.score-num { font-size: 42px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--primary); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg { margin-top: 15px; padding: 10px; border-radius: 8px; font-size: 12px; font-weight: 600; display: block; background: #f1f5f9; color: #475569; }

.tech-grid { background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: flex; flex-direction: column; gap: 16px; }
.tech-item { display: flex; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #1e293b; align-items: center; }
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 16px; text-align: right; white-space: nowrap; }

.footer-cta { margin: 0 40px 40px 40px; padding: 30px; background: #eff6ff; border-radius: 20px; border-left: 6px solid var(--accent); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-text-side { max-width: 550px; }
.cta-buttons-stack { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }
.cta-btn { display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}
</style>

<div class="calc-intro">
    <span class="year-badge">Ceny orientacyjne na 2026 rok</span>
    <h2>Kalkulator Kosztów Frezowania Podłogówki</h2>
    <p>Sprawdź, ile realnie będzie kosztować wykonanie ogrzewania w Twoim starym domu! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Podaj parametry, a algorytm oszacuje budżet samego frezowania i montażu rur.</p>
</div>

<div class="screed-calc" id="frez-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia do frezowania</label><span class="val-badge"><span id="v-area">70</span> m²</span></div>
                <input type="range" id="area" min="20" max="200" step="5" value="70">
            </div>

            <span class="section-title">Stan obecnej wylewki</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-beton-norm">STANDARDOWY BETON<span style="font-size:10px; font-weight:400">Normalny czas pracy</span></div>
                <div class="type-btn" id="btn-beton-hard">BARDZO TWARDY BETON<span style="font-size:10px; font-weight:400">Wyższe zużycie tarcz (+15 zł/m²)</span></div>
            </div>

            <div class="input-wrap" style="margin-bottom: 0;">
                <div class="input-label-row"><label>Szacowany koszt dojazdu ekipy</label><span class="val-badge"><span id="v-travel">300</span> zł</span></div>
                <input type="range" id="travel" min="0" max="1000" step="50" value="300">
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Koszt frezowania i układania rur (Netto)</span>
                <span class="score-num"><span id="resTotal">&#8212;</span> zł</span>
                <div id="risk-msg">Stawka bazowa dla tej powierzchni to ok. <strong id="resBaseRate">210</strong> zł/m²</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Frezowanie i materiał bazowy (rury, klej):</span><strong id="resBaseCost">&#8212;</strong></div>
                <div class="tech-item"><span>Dopłata za twarde podłoże:</span><strong id="resHardCost" style="color:#fbbf24">0 zł</strong></div>
                <div class="tech-item"><span>Dojazd ekipy montażowej:</span><strong id="resExtraCost">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Nie płać w ciemno. Zacznij od projektu!</h3>
            <p style="margin:0; font-size:14px; color:#475569" id="footer-desc">Zanim wpuścisz ekipę z frezarką, musisz wiedzieć, z jakim rozstawem ułożyć rury, żeby dom był dogrzany, a rachunki niskie. Dobry projekt uchroni Cię przed błędami i ułatwi wycenę u wykonawcy.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
window.onload = function() {
    // BLOKADA ANTYKRADZIEŻOWA NA DOMENĘ
    const currentDomain = window.location.hostname;
    if (currentDomain !== 'projekt-ogrzewania.pl' && currentDomain !== 'www.projekt-ogrzewania.pl' && currentDomain !== 'localhost' && currentDomain !== '127.0.0.1' && currentDomain !== '') {
        const app = document.getElementById('frez-calc-app');
        if(app) {
            app.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fee2e2; border-radius: 24px; color: #dc2626;">
                    <span style="font-size: 48px; display: block; margin-bottom: 15px;">&#x1f512;</span>
                    <h3 style="margin-top:0; font-size: 24px;">Kalkulator jest własnością Projekt-Ogrzewania.pl</h3>
                    <p style="font-size: 16px; margin-bottom: 25px;">Narzędzie zostało skopiowane nielegalnie. Kliknij poniżej, aby skorzystać z oryginału.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: bold;">Przejdź do oryginału</a>
                </div>`;
        }
        return; 
    }

    // ZMIENNE STANU
    let isHardBeton = false;

    // ELEMENTY UI
    const elArea = document.getElementById('area');
    const elTravel = document.getElementById('travel');
    
    const btnBetonNorm = document.getElementById('btn-beton-norm');
    const btnBetonHard = document.getElementById('btn-beton-hard');

    // FUNKCJA FORMATUJĄCA WALUTĘ
    const formatPLN = (val) => val.toLocaleString('pl-PL') + ' zł';

    // GŁÓWNA FUNKCJA OBLICZENIOWA
    function updateCalc() {
        let A = parseFloat(elArea.value); // Powierzchnia
        let D = parseFloat(elTravel.value); // Dojazd
        
        document.getElementById('v-area').innerText = A;
        document.getElementById('v-travel').innerText = D;

        // B = Ustalenie stawki bazowej zależnej od metrażu
        let B = 230; 
        if (A >= 40 && A < 70) B = 230;
        else if (A >= 70 && A <= 100) B = 210;
        else if (A > 100) B = 190;
        if (A < 40) B = 250; // Bardzo małe metraże są droższe

        // C = Dopłata za beton
        let C = isHardBeton ? (15 * A) : 0;

        // Obliczenia składowych
        let baseCost = A * B;
        let totalCost = baseCost + C + D;

        // Aktualizacja UI
        document.getElementById('resBaseRate').innerText = B;
        document.getElementById('resBaseCost').innerText = formatPLN(Math.round(baseCost));
        
        document.getElementById('resHardCost').innerText = C > 0 ? '+' + formatPLN(Math.round(C)) : '0 zł';
        document.getElementById('resHardCost').style.color = C > 0 ? '#fbbf24' : '#94a3b8';

        document.getElementById('resExtraCost').innerText = formatPLN(Math.round(D));
        document.getElementById('resTotal').innerText = Math.round(totalCost).toLocaleString('pl-PL');
    }

    // EVENT LISTENERY DLA PRZYCISKÓW
    btnBetonNorm.addEventListener('click', () => { isHardBeton = false; btnBetonHard.classList.remove('active'); btnBetonNorm.classList.add('active'); updateCalc(); });
    btnBetonHard.addEventListener('click', () => { isHardBeton = true; btnBetonNorm.classList.remove('active'); btnBetonHard.classList.add('active'); updateCalc(); });

    // EVENT LISTENERY DLA SUWAKÓW
    [elArea, elTravel].forEach(el => el.addEventListener('input', updateCalc));

    // INICJALIZACJA
    updateCalc();
};
</script>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.5;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 400px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.footer-row {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--primary);
}

.loss-info {
    font-size: 13px;
    background: #ffffff;
    padding: 15px;
    border-radius: 12px;
    border-left: 3px solid #cbd5e1;
    color: #64748b;
    margin-left: 39px;
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 300px;
    }
    .loss-info {
        margin-left: 0;
    }
}
</style>

<div class="premium-chart-box" id="compare-chart-container">
    <div class="chart-header">
        <h3>Wykres porównawczy – czas nagrzewania</h3>
        <p>Parametry: Pokój 25 m² ogrzewany do 22°C | Temp. zasilania: 35°C <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Na podstawie badań ITB i doświadczeń Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="heatingComparisonChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="footer-row">
            <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <p class="chart-conclusion">
                <strong>Interpretacja:</strong> Frezowanie zdecydowanie wygrywa szybkością reakcji, co jest niezwykle korzystne w domach z nieciągłym ogrzewaniem. Tradycyjna metoda lepiej akumuluje ciepło i oddaje je dłużej (mniejsze wahania), ale jest to zaletą wyłącznie przy ogrzewaniu włączonym 24/7.
            </p>
        </div>
        <div class="loss-info">
            <strong>Straty ciepła w dół (bez izolacji):</strong> Frezowanie wykazuje ok. 22% strat, natomiast tradycyjna wylewka ok. 18%*. <br>
            <span style="font-size: 11px;">*Przy identycznej izolacji pod wylewką. Bez izolacji tradycyjna wylewka traci podobnie ok. 20–25%, ale jej bezwładność cieplna jest znacznie wyższa.</span>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('compare-chart-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // RYSUJEMY WYKRES
    const canvasEl = document.getElementById('heatingComparisonChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ['Odczucie ciepła na stopach', 'Osiągnięcie pełnych 22°C'],
            datasets: [
                {
                    label: 'Frezowanie (rury na głęb. 2 cm)',
                    data: [0.58, 2.2], // 0.58 to odpowiednik 35 minut w ułamku dziesiętnym
                    backgroundColor: '#2563eb',
                    borderRadius: 6,
                    barPercentage: 0.7,
                    categoryPercentage: 0.8
                },
                {
                    label: 'Tradycyjna wylewka 6 cm',
                    data: [3.5, 6.0],
                    backgroundColor: '#ea580c',
                    borderRadius: 6,
                    barPercentage: 0.7,
                    categoryPercentage: 0.8
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 20
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 14 },
                    padding: 12,
                    displayColors: true,
                    callbacks: {
                        label: function(context) {
                            let val = context.raw;
                            let timeText = val + ' godz.';
                            // Zamiana ułamka z powrotem na czytelne minuty
                            if (val === 0.58) timeText = '35 minut';
                            if (val === 3.5) timeText = '3.5 godziny';
                            return context.dataset.label + ': ' + timeText;
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: {
                        display: false
                    },
                    ticks: {
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a'
                    }
                },
                y: {
                    beginAtZero: true,
                    max: 7,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 1,
                        font: { family: 'Inter', size: 13 },
                        color: '#64748b',
                        callback: function(value) {
                            return value + ' h';
                        }
                    },
                    title: {
                        display: true,
                        text: 'Czas (godziny)',
                        font: { family: 'Inter', size: 13, weight: 'bold' },
                        color: '#64748b',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

/* NOWE STYLE DLA CZERWONYCH FLAG */
.red-flags-section {
    max-width: 900px;
    margin: 50px auto 40px auto;
    background-color: #fff5f5; /* Jasnoróżowe tło */
    border: 2px dashed #fecaca; /* Przerywana ramka */
    border-radius: 20px;
    padding: 35px 40px;
    font-family: 'Inter', -apple-system, sans-serif;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
}

.flag-icon {
    font-size: 32px;
    line-height: 1;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239; /* Ciemnobordowy nagłówek */
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d; /* Ciemnoczerwony tekst */
    font-weight: 700;
}

.flags-list li::before {
    content: "&#x2716;"; /* Znak X zamiast kropki */
    position: absolute;
    left: 0;
    top: 0px;
    color: #dc2626; /* Czerwony krzyżyk */
    font-weight: 900;
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy frezowanie ogrzewania podłogowego w starym domu zawsze jest możliwe?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie zawsze – kluczowa jest grubość i stan wylewki. Minimum to około 3,5–4 cm oraz brak spękań i kruszenia."
        }
      }, {
        "@type": "Question",
        "name": "Ile trwa wykonanie frezowanej podłogówki?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zazwyczaj od 1 do 3 dni, w zależności od powierzchni. To znacznie szybciej niż tradycyjna metoda z nową wylewką."
        }
      }, {
        "@type": "Question",
        "name": "Czy podczas frezowania jest dużo kurzu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, jeśli używany jest profesjonalny sprzęt z odsysaniem pyłu – większość zanieczyszczeń jest usuwana na bieżąco."
        }
      }, {
        "@type": "Question",
        "name": "Czy frezowana podłogówka jest mniej wydajna niż tradycyjna?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie – nagrzewa się szybciej, ale może mieć większe straty w dół, jeśli brak izolacji pod wylewką."
        }
      }, {
        "@type": "Question",
        "name": "Czy potrzebny jest projekt ogrzewania przed frezowaniem?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zdecydowanie tak – bez projektu łatwo o błędy w rozstawie rur i długości pętli, co wpływa na komfort i koszty eksploatacji."
        }
      }]
    }
    </script>
    
    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2753.png" alt="❓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAQ – Fakty i Mity o frezowaniu</h2>
        <p>Wokół frezowania narosło wiele szkodliwych mitów. Poniżej zestawiamy najczęstsze błędne przekonania z odpowiedziami ekspertów z <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> Czy frezowanie w starym domu zawsze jest możliwe?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> MIT / BŁĘDNE PRZEKONANIE</div>
                    <p class="answer-text">„Pewnie, każdą starą wylewkę da się wyfrezować, nawet jak się trochę sypie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAKT / OPINIA EKSPERTA</div>
                    <p class="answer-text">Nie zawsze – kluczowa jest grubość i stan wylewki. Minimum to około 3,5–4 cm oraz brak spękań i kruszenia. Inaczej posadzka nie utrzyma rur.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> Ile trwa wykonanie frezowanej podłogówki?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> MIT / BŁĘDNE PRZEKONANIE</div>
                    <p class="answer-text">„To potężny remont, na pewno potrwa tygodnie, jak tradycyjne kucie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAKT / OPINIA EKSPERTA</div>
                    <p class="answer-text">Zazwyczaj od 1 do 3 dni, w zależności od powierzchni. To znacznie szybciej niż tradycyjna metoda z kuciem i zalewaniem nowej wylewki.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> Czy podczas frezowania jest dużo kurzu?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> MIT / BŁĘDNE PRZEKONANIE</div>
                    <p class="answer-text">„Trzeba foliować cały dom, pył wejdzie w każdą szczelinę, sprzątania na miesiąc.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAKT / OPINIA EKSPERTA</div>
                    <p class="answer-text">Nie, jeśli używany jest profesjonalny sprzęt z odsysaniem pyłu – blisko 99% zanieczyszczeń trafia prosto do odkurzacza przemysłowego.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> Czy frezowana podłogówka jest mniej wydajna?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> MIT / BŁĘDNE PRZEKONANIE</div>
                    <p class="answer-text">„To tylko takie oszukane ogrzewanie, nie dogrzeje domu tak jak gruba, klasyczna wylewka.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAKT / OPINIA EKSPERTA</div>
                    <p class="answer-text">Nie – frezowana podłogówka nagrzewa się znacznie szybciej. Wymaga jednak analizy, ponieważ może mieć większe straty w dół, jeśli pod wylewką brakuje izolacji.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> Czy potrzebny jest projekt przed frezowaniem?</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> MIT / BŁĘDNE PRZEKONANIE</div>
                    <p class="answer-text">„Szkoda kasy na projekt, potnie się wylewkę co 10 cm i na pewno będzie super grzało.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> FAKT / OPINIA EKSPERTA</div>
                    <p class="answer-text">Zdecydowanie tak – bez projektu łatwo o błędy w rozstawie rur i długości pętli. Tych pomyłek po wycięciu rowków w betonie nie da się już poprawić!</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span class="flag-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Czerwone flagi (Uciekaj, jeśli instalator tak mówi)</h3>
        </div>
        <ul class="flags-list">
            <li>„Nie ma co wiercić i sprawdzać grubości wylewki. W starych domach lali gruby beton, tniemy w ciemno!” (Zagrożenie: pękanie posadzki lub wwiercenie się w strop).</li>
            <li>„Proszę kupić dużo folii i wszystko okleić. Przy frezowaniu pył wejdzie w każdą szczelinę, nie da się inaczej.” (Oznacza to, że ekipa nie ma profesjonalnego odkurzacza z filtrem HEPA).</li>
            <li>„Wytniemy rowki tam, gdzie mi maszyna wygodnie wjedzie. Pod oknami nie wykręcę, więc damy rzadziej.” (Efekt: niedogrzane strefy brzegowe i chłód ciągnący od okien).</li>
        </ul>
    </div>

</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UYSBzZWtjamEgRkFRIGplc3Qgd8WCYXNub8WbY2nEhSBzZXJ3aXN1IDxzdHJvbmc+UHJvamVrdC1PZ3J6ZXdhbmlhLnBsPC9zdHJvbmc+IGkgem9zdGHFgmEgd2tsZWpvbmEgbmEgdMSZIHN0cm9uxJkgYmV6IHpnb2R5IGF1dG9yYS48L3A+PGEgaHJlZj0iaHR0cHM6Ly9wcm9qZWt0LW9ncnpld2FuaWEucGwvIiBzdHlsZT0ibWFyZ2luLXRvcDogMjVweDsgcGFkZGluZzogMTRweCAyOHB4OyBiYWNrZ3JvdW5kOiAjZGMyNjI2OyBjb2xvcjogd2hpdGU7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgYm9yZGVyLXJhZGl1czogMTJweDsgZm9udC13ZWlnaHQ6IDgwMDsgdHJhbnNpdGlvbjogMC4zczsiPlpPQkFDWiBPUllHSU5BTE5ZIEFSVFlLVcWAPC9hPjwvZGl2Pg==')));}})}();
</script>



<h2 class="wp-block-heading">Podsumowanie – czy warto frezować ogrzewanie podłogowe w starym domu?</h2>



<p><strong>Tak, w zdecydowanej większości przypadków.</strong>&nbsp;Frezowanie to optymalne rozwiązanie, gdy:</p>



<ul class="wp-block-list">
<li>Zależy Ci na&nbsp;<strong>zachowaniu wysokości pomieszczeń</strong>&nbsp;(nie podnosisz podłogi).</li>



<li>Nie chcesz wywozić ton gruzu i sprzątać pyłu przez tygodnie.</li>



<li>Masz wylewkę o&nbsp;<strong>grubości min. 3,5 cm</strong>&nbsp;i w dobrym stanie.</li>



<li>Akceptujesz&nbsp;<strong>jedno- lub dwudniowy hałas</strong>&nbsp;w zamian za szybki montaż.</li>
</ul>



<p><strong>Kiedy lepiej zrezygnować?</strong><br>Jeśli wylewka jest cienka (&lt;3 cm) lub całkowicie zniszczona – konieczne będzie jej skucie i wykonanie nowej. Również gdy podłoga jest drewniana (belki + ślepa podłoga) – wtedy standardowa podłogówka na styropianie jest jedyną sensowną opcją.</p>



<p>Pamiętaj o&nbsp;<strong>projekcie ogrzewania podłogowego</strong>&nbsp;– to on decyduje o tym, czy system będzie oszczędny, równomiernie grzejący i trwały. Frezowanie to tylko technika wykonawcza. Bez dobrego projektu nawet najlepiej wycięte rowki nie dadzą komfortu.</p>



<p><em>Masz konkretny dom, który rozważasz pod kątem frezowania? Zmierz grubość wylewki, wykonaj test kruszenia, a następnie poproś o wyceny dwóch–trzech sprawdzonych ekip. Efekt – ciepła podłoga w starym domu w niecały tydzień – jest wart tej krótkiej inwestycji czasu.</em></p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">Frezowanie ogrzewania podłogowego w starym domu.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 06 Apr 2026 16:16:48 +0000</pubDate>
				<category><![CDATA[Audyt energetyczny]]></category>
		<category><![CDATA[Dofinansowania i dotacje]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Program Czyste Powietrze]]></category>
		<category><![CDATA[Program Moje Ciepło]]></category>
		<category><![CDATA[Termomodernizacja]]></category>
		<category><![CDATA[audyt energetyczny]]></category>
		<category><![CDATA[cop pompy ciepła]]></category>
		<category><![CDATA[czyste powietrze 2026]]></category>
		<category><![CDATA[dokumentacja powykonawcza]]></category>
		<category><![CDATA[dotacja na pompę ciepła]]></category>
		<category><![CDATA[dotacje na ogrzewanie]]></category>
		<category><![CDATA[instalacja niskotemperaturowa]]></category>
		<category><![CDATA[moje ciepło 2026]]></category>
		<category><![CDATA[nfośigw]]></category>
		<category><![CDATA[obliczenia strat ciepła]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny podłogi]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[projekt podłogówki]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wskaźnik ep]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4137</guid>

					<description><![CDATA[<p>Planujesz termomodernizację starszego budynku lub budowę zupełnie nowego, energooszczędnego domu? W dobie rosnących wymagań urzędowych i dążenia do budownictwa bezemisyjnego, samo położenie rurek na styropianie to zdecydowanie za mało, aby otrzymać państwowe dofinansowanie. Kluczowym zagadnieniem, z którym mierzą się dzisiaj świadomi inwestorzy, jest właściwy Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026. Urzędnicy NFOŚiGW skrupulatnie weryfikują dokumentację techniczną pod kątem rygorystycznych wskaźników efektywności, a każdy, nawet najdrobniejszy błąd instalatora pracującego "na oko", może kosztować Cię bezpowrotną utratę dziesiątek tysięcy złotych. W tym poradniku pokażę Ci krok po kroku, jakie twarde wymogi musi spełniać instalacja, jak uniknąć najczęstszych pułapek przy wyborze wykończenia posadzki oraz dlaczego inżynieryjne obliczenia OZC to absolutny fundament bezpiecznego wniosku.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/">Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>W obliczu zaostrzających się rygorów energetycznych i dążenia Unii Europejskiej do budownictwa bezemisyjnego, rok 2026 staje się punktem zwrotnym dla polskich inwestorów. <strong>Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026 co musi zawierać</strong>, to dziś jedno z najczęściej zadawanych pytań w biurach projektowych i firmach instalacyjnych. To już nie tylko kwestia komfortu ciepłych stóp, ale przede wszystkim precyzyjny dokument techniczny, bez którego urzędnicy Narodowego Funduszu Ochrony Środowiska i Gospodarki Wodnej (NFOŚiGW) mogą odrzucić wniosek o wypłatę nawet kilkudziesięciu tysięcy złotych.</p>



<p>W tym artykule pokażę Ci krok po kroku, jak przygotować dokumentację, która przejdzie weryfikację za pierwszym razem. Przedstawię konkretne wyliczenia, przykłady projektów odrzuconych i zaakceptowanych oraz prawdziwy case study inwestora, który dzięki dobrze przygotowanemu projektowi dostał <strong>28 000 zł dotacji</strong>. Nie będzie tu ogólników tylko techniczna wiedza podana w zrozumiały sposób.</p>



<h2 class="wp-block-heading">Aktualne wymagania dotacyjne 2026 na co urzędnicy patrzą najbardziej?</h2>



<p>Oba programy <strong>Czyste Powietrze</strong>&nbsp;i&nbsp;<strong>Moje Ciepło</strong>&nbsp;w 2026 roku mają już mocno zaostrzone kryteria. Jeśli myślisz, że wystarczy kupić rury i wezwać instalatora, jesteś w błędzie. Dziś liczy się każdy szczegół: od temperatury zasilania po opór cieplny wylewki.</p>



<h3 class="wp-block-heading">Czym różnią się podejścia obu programów?</h3>



<ul class="wp-block-list">
<li><strong>Czyste Powietrze</strong>&nbsp;(dla istniejących domów): wymaga&nbsp;<strong>obowiązkowego audytu energetycznego</strong>&nbsp;przed rozpoczęciem prac. Projekt podłogówki musi być z nim zgodny co do joty. Program finansuje instalację jako część większej termomodernizacji – rzadko zdarza się dotacja na samą podłogówkę bez wymiany źródła ciepła.</li>



<li><strong>Moje Ciepło</strong>&nbsp;(dla nowych domów): stawia warunek&nbsp;<strong>wskaźnika energii pierwotnej EP ≤ 55 kWh/(m²·rok)</strong>. Ogrzewanie podłogowe jest tu praktycznie obowiązkowe, bo tylko niskotemperaturowy system pozwala osiągnąć takie wartości przy pompie ciepła.</li>
</ul>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.compare-header p {
    margin: 0 auto;
    max-width: 750px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
}

.compare-table th.col-param {
    text-align: left;
    color: #64748b;
    width: 30%;
}

.compare-table th.col-noguide {
    color: var(--primary);
    width: 35%;
}

.compare-table th.col-project {
    color: var(--accent);
    width: 35%;
    border-bottom-color: var(--accent);
}

.compare-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.5;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.compare-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.val-pill.warning {
    background: #ffedd5;
    color: var(--warning);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.summary-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.card-project {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-project h4 {
    color: var(--accent);
}

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 768px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    .compare-table td:nth-child(2)::before {
        content: "Czyste Powietrze 2026:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Moje Ciepło 2026:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: var(--accent);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="compare-app">
    <div class="compare-header">
        <h3>Co urzędnik NFOŚiGW weryfikuje w 2026 r.?</h3>
        <p>Zobacz, jak zaostrzyły się wymagania w zależności od tego, czy modernizujesz stary dom, czy budujesz nowy. W obu przypadkach brak solidnej dokumentacji oznacza odrzucenie wniosku. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Element weryfikacji</th>
                    <th class="col-noguide">Czyste Powietrze 2026</th>
                    <th class="col-project">Moje Ciepło 2026</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Max. temp. zasilania</td>
                    <td><span class="val-pill">≤ 35°C</span></td>
                    <td><span class="val-pill accent">≤ 35°C (zalecane 30°C)</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ee.png" alt="🧮" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Obliczenia OZC</td>
                    <td>Dla każdego pomieszczenia, <strong>zgodne z audytem</strong></td>
                    <td>Dla każdego pomieszczenia, <strong>zgodne z projektem budowlanym</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f39b.png" alt="🎛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Sterowanie strefowe</td>
                    <td>Obowiązkowe (termostaty w pomieszczeniach)</td>
                    <td>Obowiązkowe (termostaty + siłowniki)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Opór cieplny podłogi</td>
                    <td><span class="val-pill">R ≤ 0,15 (m²·K)/W</span></td>
                    <td><span class="val-pill warning">R ≤ 0,10 (m²·K)/W</span><br><span style="font-size: 11px; color: var(--warning); display: block; margin-top: 4px;">(uwaga przy grubych wykładzinach!)</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Dokumentacja</td>
                    <td>Protokół odbioru + zdjęcia + faktury</td>
                    <td>Projekt powykonawczy + certyfikat EP budynku</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Czyste Powietrze (Modernizacja)</h4>
            <p>Program skupia się na audycie energetycznym. Opór cieplny wylewki ma tu nieco większy bufor (0,15), jednak bez pełnego OZC pokrywającego się z audytem, wypłata środków zostanie wstrzymana.</p>
        </div>
        
        <div class="summary-card card-project">
            <h4>Moje Ciepło (Nowy dom)</h4>
            <p>Bezwzględny wymóg utrzymania wskaźnika EP budynku. Oznacza to m.in. bardzo restrykcyjny opór podłogi (0,10). Położenie grubej deski bez zoptymalizowanego projektu rur to pewność utraty dotacji.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x63\x6f\x6d\x70\x61\x72\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Zwróć uwagę na opór cieplny!</em>&nbsp;W programie Moje Ciepło 2026, jeśli położysz parkiet o grubości 15 mm (opór ~0,12), a pod nim dodatkowo cienką wylewkę, możesz przekroczyć dopuszczalną granicę. Urząd zażąda wtedy wymiany wykładziny lub odrzuci wniosek.</p>
</blockquote>



<h3 class="wp-block-heading">Dlaczego temperatura zasilania 35°C to granica, której nie wolno przekroczyć?</h3>



<p><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompa ciepła</a> osiąga najwyższą efektywność (COP – <em>Coefficient of Performance</em>) przy niskich temperaturach wody w instalacji. Każde 1°C poniżej 35°C to wzrost COP o około 2,5-3%. Dla projektu ogrzewania podłogowego oznacza to, że im gęściej ułożysz rury, tym niższa może być temperatura i tym więcej zaoszczędzisz.</p>



<p><strong>Przykład obliczeniowy dla domu 150 m²:</strong></p>



<ul class="wp-block-list">
<li>Zapotrzebowanie na ciepło: 6 kW</li>



<li>Wariant A (zła podłogówka): rozstaw rur 20 cm, wymagana temperatura 45°C → COP pompy = 3,2</li>



<li>Wariant B (dobra podłogówka): rozstaw rur 10 cm, wymagana temperatura 32°C → COP pompy = 4,6</li>
</ul>



<p>Roczne zużycie prądu:</p>



<ul class="wp-block-list">
<li>Wariant A: 6000 W / 3,2 = 1875 W średniej mocy elektrycznej → ~16 400 kWh/rok</li>



<li>Wariant B: 6000 W / 4,6 = 1304 W średniej mocy elektrycznej → ~11 400 kWh/rok</li>
</ul>



<p><strong>Różnica: 5000 kWh rocznie</strong>. Przy cenie 1 zł/kWh daje to&nbsp;<strong>5000 zł oszczędności każdego roku</strong>. A do tego dotacja – bo projekt B spełnia warunki programów, a A nie.</p>



<h2 class="wp-block-heading">Które elementy projektu ogrzewania podłogowego są obowiązkowe dla urzędu?</h2>



<p>Urzędnik NFOŚiGW nie jest instalatorem, ale ma listę kontrolną. Jeśli brakuje któregokolwiek z poniższych punktów, wniosek ląduje w koszu. Oto&nbsp;<strong>obowiązkowe minimum</strong>&nbsp;dokumentacji technicznej w 2026 roku.</p>



<h3 class="wp-block-heading">1. Obliczenia obciążenia cieplnego pomieszczeń (OZC)</h3>



<p>To absolutna podstawa. Projektant musi wyliczyć straty ciepła dla każdego pokoju zgodnie z <strong><a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">normą PN-EN 12831</a></strong>. Nie wystarczy średnia dla całego domu.</p>



<p><strong>Przykład</strong>:<br>Salon 30 m², ściana zewnętrzna, okno 6 m², temperatura wewnątrz 22°C, zewnętrzna -20°C.</p>



<ul class="wp-block-list">
<li>Przenikanie przez ścianę (U=0,15 W/m²K): (30 m² &#8211; 6 m²) × 0,15 × 42 = 151 W</li>



<li>Przenikanie przez okno (U=0,9): 6 × 0,9 × 42 = 227 W</li>



<li>Wentylacja (0,5 wymiany/h): 30 × 2,5 m wys. × 0,34 × 42 = 1071 W</li>



<li><strong>Razem zapotrzebowanie salonu: ~1450 W</strong></li>
</ul>



<p>Na tej podstawie projektant dobiera <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a> dla 1450 W w 30 m² daje to gęstość około <strong>48 W/m²</strong>, co przy zasilaniu 35°C wymaga rozstawu co <strong>12-15 cm</strong>.</p>



<h3 class="wp-block-heading">2. Rzuty instalacji z ponumerowanymi pętlami</h3>



<p>Każda pętla musi mieć swój numer, długość i przypisanie do konkretnego pomieszczenia. Urzędnik sprawdza, czy długości pętli nie przekraczają&nbsp;<strong>100 m dla rury 16&#215;2 mm</strong>&nbsp;– dłuższe powodują zbyt duże opory hydrauliczne i nierównomierne grzanie.</p>



<h3 class="wp-block-heading">3. Tabela nastaw wstępnych na rozdzielaczu</h3>



<p>To częsty powód odrzuceń. Projekt musi określać dla każdej pętli:</p>



<ul class="wp-block-list">
<li>przepływ masowy w&nbsp;<strong>kg/h</strong>&nbsp;lub&nbsp;<strong>l/min</strong></li>



<li>stratę ciśnienia w&nbsp;<strong>kPa</strong></li>



<li>nastawę rotametru lub zaworu (np. 2,5; 3,0 itd.)</li>
</ul>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-nastawy {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.nastawy-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.nastawy-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.nastawy-header p {
    margin: 0 auto;
    max-width: 750px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.nastawy-table-wrapper {
    padding: 0 30px;
    margin-top: 20px;
    margin-bottom: 20px;
    overflow-x: auto;
}

.nastawy-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 800px;
}

.nastawy-table th {
    padding: 16px 15px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: #64748b;
}

.nastawy-table th.col-nastawa {
    color: var(--accent);
    border-bottom-color: var(--accent);
}

.nastawy-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.nastawy-table td.col-nr {
    font-weight: 800;
    color: #94a3b8;
}

.nastawy-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.nastawy-table td.param-name span.icon {
    font-size: 16px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

.nastawy-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 6px 14px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 800;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
    font-size: 15px;
}

.nastawy-footer {
    padding: 25px 40px;
    background: #eff6ff;
    border-top: 1px solid #bfdbfe;
    display: flex;
    gap: 20px;
    align-items: center;
}

.nastawy-footer-icon {
    font-size: 32px;
}

.nastawy-footer-text h4 {
    margin: 0 0 5px 0;
    color: #1e3a8a;
    font-size: 16px;
    font-weight: 800;
}

.nastawy-footer-text p {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.5;
}

/* WERSJA MOBILNA - ZAMIANA W KARTY */
@media (max-width: 900px) {
    .nastawy-header { padding: 25px 20px; }
    .nastawy-table-wrapper { padding: 0 15px; min-width: 100%; }
    .nastawy-footer { flex-direction: column; text-align: center; padding: 20px 15px; }
    
    .nastawy-table {
        min-width: 100%;
        display: block;
    }
    
    .nastawy-table thead {
        display: none;
    }
    
    .nastawy-table tbody, .nastawy-table tr, .nastawy-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .nastawy-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .nastawy-table td {
        text-align: right;
        padding: 12px 20px;
        border-bottom: 1px solid #f1f5f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .nastawy-table td:last-child {
        border-bottom: none;
        background: #f8fafc;
    }

    .nastawy-table td.col-nr { display: none; } /* Ukrywamy sam numer pętli na mobile dla czystości */
    
    .nastawy-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
        justify-content: flex-start;
    }
    
    .nastawy-table td:nth-child(3)::before { content: "Długość pętli [m]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(4)::before { content: "Przepływ [l/min]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(5)::before { content: "Strata ciśnienia [kPa]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .nastawy-table td:nth-child(6)::before { content: "Nastawa rotametru:"; font-weight: 800; color: var(--accent); font-size: 13px; text-transform: uppercase; }
}
</style>

<div class="premium-nastawy" id="nastawy-table-app">
    <div class="nastawy-header">
        <h3>Przykład tabeli nastaw (Fragment z projektu)</h3>
        <p>Bez tego dokumentu instalator nie ma możliwości prawidłowo wyregulować przepływów. „Zgadywanie” ustawień na budowie to główna przyczyna przegrzewania krótkich pętli (np. w łazience) i niedogrzewania długich (np. w salonie). <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="nastawy-table-wrapper">
        <table class="nastawy-table">
            <thead>
                <tr>
                    <th style="width: 8%;">Nr pętli</th>
                    <th style="text-align: left; width: 28%;">Pomieszczenie</th>
                    <th style="width: 16%;">Długość [m]</th>
                    <th style="width: 16%;">Przepływ [l/min]</th>
                    <th style="width: 16%;">Strata ciśnienia [kPa]</th>
                    <th class="col-nastawa" style="width: 16%;">Nastawa rotametru</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="col-nr">1</td>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6cb.png" alt="🛋" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Salon (strefa dzienna)</td>
                    <td>85</td>
                    <td>1,8</td>
                    <td>12</td>
                    <td><span class="val-pill accent">3,2</span></td>
                </tr>
                <tr>
                    <td class="col-nr">2</td>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fa9f.png" alt="🪟" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Salon (strefa przy oknie)</td>
                    <td>72</td>
                    <td>1,5</td>
                    <td>9</td>
                    <td><span class="val-pill accent">2,8</span></td>
                </tr>
                <tr>
                    <td class="col-nr">3</td>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6cf.png" alt="🛏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Sypialnia</td>
                    <td>58</td>
                    <td>1,2</td>
                    <td>7</td>
                    <td><span class="val-pill accent">2,4</span></td>
                </tr>
                <tr>
                    <td class="col-nr">4</td>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6c1.png" alt="🛁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Łazienka</td>
                    <td>45</td>
                    <td>1,4</td>
                    <td>8</td>
                    <td><span class="val-pill accent">2,6</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="nastawy-footer">
        <div class="nastawy-footer-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <div class="nastawy-footer-text">
            <h4>Dlaczego nastawy są tak ważne?</h4>
            <p>Woda zawsze płynie tam, gdzie ma najmniejszy opór (najkrótszą drogę). Bez precyzyjnego przykręcenia zaworów (rotametrów) na krótkich pętlach, woda ominie te najdłuższe. Tylko fizyczne obliczenia OZC pozwalają wyznaczyć dokładne wartości dla każdej strefy.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x6e\x61\x73\x74\x61\x77\x79\x2d\x74\x61\x62\x6c\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<p>Bez takiej tabeli instalator nie ma jak wyregulować układu, a urząd nie ma jak zweryfikować, czy system działa zgodnie z projektem.</p>



<h3 class="wp-block-heading">4. Specyfikacja warstw podłogi z oporami cieplnymi</h3>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-warstwy {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.warstwy-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.warstwy-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.warstwy-header p {
    margin: 0 auto;
    max-width: 750px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.warstwy-table-wrapper {
    padding: 0 30px;
    margin-top: 20px;
    margin-bottom: 20px;
    overflow-x: auto;
}

.warstwy-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.warstwy-table th {
    padding: 16px 15px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: #64748b;
}

.warstwy-table th.col-r {
    color: var(--success);
    border-bottom-color: var(--success);
}

.warstwy-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.warstwy-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.warstwy-table td.param-name span.icon {
    font-size: 16px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
    border: 1px solid #e2e8f0;
}

.warstwy-table tr:hover td {
    background: #f8fafc;
}

/* Wyróżnienie wiersza sumy */
.row-sum td {
    background: #f0fdf4 !important;
    font-weight: 900;
    font-size: 16px;
    border-bottom: none;
    color: var(--success);
}

.row-sum td:first-child {
    text-align: right;
    text-transform: uppercase;
    color: #166534;
}

.val-pill {
    display: inline-block;
    padding: 6px 14px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 800;
}

.val-pill.success {
    background: #dcfce7;
    color: var(--success);
    font-size: 16px;
}

.warstwy-footer {
    padding: 30px 40px;
    background: #fff;
    border-top: 1px solid var(--border-color);
}

.alert-box {
    background: #fee2e2;
    border: 1px solid #fecaca;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.alert-icon {
    font-size: 32px;
    line-height: 1;
}

.alert-text h4 {
    margin: 0 0 10px 0;
    color: #991b1b;
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
}

.alert-text p {
    margin: 0;
    font-size: 14px;
    color: #7f1d1d;
    line-height: 1.6;
}

.alert-text strong {
    background: #f87171;
    color: white;
    padding: 2px 6px;
    border-radius: 4px;
}

/* WERSJA MOBILNA - ZAMIANA W KARTY */
@media (max-width: 900px) {
    .warstwy-header { padding: 25px 20px; }
    .warstwy-table-wrapper { padding: 0 15px; min-width: 100%; }
    .warstwy-footer { padding: 20px 15px; }
    .alert-box { flex-direction: column; text-align: left; gap: 15px; padding: 20px;}
    
    .warstwy-table {
        min-width: 100%;
        display: block;
    }
    
    .warstwy-table thead {
        display: none;
    }
    
    .warstwy-table tbody, .warstwy-table tr, .warstwy-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .warstwy-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .warstwy-table td {
        text-align: right;
        padding: 12px 20px;
        border-bottom: 1px solid #f1f5f9;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .warstwy-table td:last-child {
        border-bottom: none;
    }
    
    .warstwy-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
        justify-content: flex-start;
    }

    .row-sum td:first-child {
        background: #dcfce7 !important;
        justify-content: center;
    }
    .row-sum td {
        background: #f0fdf4 !important;
    }
    
    .warstwy-table td:nth-child(2)::before { content: "Grubość [cm]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .warstwy-table td:nth-child(3)::before { content: "λ [W/mK]:"; font-weight: 700; color: #64748b; font-size: 12px; text-transform: uppercase; }
    .warstwy-table td:nth-child(4)::before { content: "Opór R [(m²·K)/W]:"; font-weight: 800; color: var(--success); font-size: 13px; text-transform: uppercase; }
    .row-sum td:nth-child(4)::before { content: "ŁĄCZNY OPÓR R:"; font-weight: 900; color: #166534; font-size: 13px; }
}
</style>

<div class="premium-warstwy" id="warstwy-table-app">
    <div class="warstwy-header">
        <h3>Specyfikacja warstw podłogi (Weryfikacja NFOŚiGW)</h3>
        <p>To punkt, który w 2026 roku wywołuje najwięcej problemów w urzędach. Projekt dokumentujący ogrzewanie podłogowe musi zawierać tabelkę z wyszczególnieniem materiałów i oporów cieplnych, warstwa po warstwie. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="warstwy-table-wrapper">
        <table class="warstwy-table">
            <thead>
                <tr>
                    <th style="text-align: left; width: 40%;">Warstwa</th>
                    <th style="width: 20%;">Grubość [cm]</th>
                    <th style="width: 20%;">λ [W/mK]</th>
                    <th class="col-r" style="width: 20%;">Opór R [(m²·K)/W]</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1faa8.png" alt="🪨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Wylewka anhydrytowa</td>
                    <td>5,0</td>
                    <td>1,4</td>
                    <td>0,036</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f4.png" alt="🧴" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Klej elastyczny</td>
                    <td>0,5</td>
                    <td>0,8</td>
                    <td>0,006</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ca.png" alt="🧊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Płytki gresowe</td>
                    <td>1,0</td>
                    <td>1,3</td>
                    <td>0,008</td>
                </tr>
                <tr class="row-sum">
                    <td colspan="3">Łączny opór warstw (SUMA)</td>
                    <td><span class="val-pill success">0,050</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="warstwy-footer">
        <div class="alert-box">
            <div class="alert-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="alert-text">
                <h4>Uwaga na grube wykończenia!</h4>
                <p>Jeśli suma oporów <strong>przekracza 0,15</strong> (w Czystym Powietrzu) lub <strong>0,10</strong> (w Moim Cieple), urząd nakazuje wymianę materiałów i może zablokować wypłatę.<br><br>
                Przykładowo: Wybierając parkiet dębowy 15 mm (R~0,12) oraz podkład korkowy 3 mm (R~0,05), łączny opór rośnie do <strong>0,17</strong>. Taka konfiguracja gwarantuje, że projekt <strong>zostanie skierowany do poprawki</strong>, a dotacja wstrzymana.</p>
            </div>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x77\x61\x72\x73\x74\x77\x79\x2d\x74\x61\x62\x6c\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Przykłady poprawnych i odrzuconych projektów (anonimowe)</h2>



<p>Teorie teorią, ale praktyka pokazuje, gdzie najczęściej leży pies pogrzebany. Oba przypadki są autentyczne (dane zmienione).</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Projekt odrzucony – co poszło nie tak?</h3>



<p><strong>Inwestor</strong>: Pan Marek, dom z lat 90. w woj. małopolskim.<br><strong>Wniosek</strong>: Czyste Powietrze, dotacja na pompę ciepła + wymianę grzejników na podłogówkę.<br><strong>Co złożył</strong>: fakturę za rury, odręczny szkic na kartce, zdjęcia z telefonu.</p>



<p><strong>Powód odrzucenia</strong>:</p>



<ul class="wp-block-list">
<li>Brak obliczeń OZC – urząd nie mógł potwierdzić, że podłogówka pokryje zapotrzebowanie przy 35°C.</li>



<li>Brak tabeli nastaw – instalator &#8222;wyregulował na oko&#8221;, co doprowadziło do nierównomiernego grzania.</li>



<li>Brak specyfikacji warstw – wylewka 7 cm bez izolacji pod rury spowodowała straty w dół.</li>
</ul>



<p><strong>Skutek</strong>: Wstrzymanie wypłaty&nbsp;<strong>14 000 zł</strong>&nbsp;do czasu przedłożenia pełnego projektu powykonawczego od uprawnionego projektanta. Pan Marek zapłacił dodatkowe 2200 zł za dokumentację i czekał kolejne 3 miesiące.</p>



<h3 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Projekt zaakceptowany – wzór do naśladowania</h3>



<p><strong>Inwestorka</strong>: Pani Anna, nowy <a href="https://projekt-ogrzewania.pl/category/domy-szkieletowe/" type="link" id="https://projekt-ogrzewania.pl/category/domy-szkieletowe/">dom szkieletowy</a> w Wielkopolsce.<br><strong>Wniosek</strong>: Moje Ciepło, dotacja na pompę ciepła (9 kW) i ogrzewanie podłogowe.<br><strong>Co złożyła</strong>:</p>



<ul class="wp-block-list">
<li>Pełny projekt wykonany w programie InstalSystem.</li>



<li>OZC dla każdego z 8 pomieszczeń.</li>



<li>Rzuty z rozstawem rur co 10-12 cm, długości pętli od 45 do 88 m.</li>



<li>Tabela nastaw z przepływami.</li>



<li>Protokół równoważenia hydraulicznego podpisany przez instalatora.</li>



<li>Zdjęcia ułożonych rur z miarką i opisem pomieszczenia.</li>
</ul>



<p><strong>Wynik</strong>: Wypłata&nbsp;<strong>28 000 zł</strong>&nbsp;w ciągu 30 dni od złożenia kompletnych dokumentów. Dodatkowo dom osiągnął EP = 48 kWh/(m²·rok), czyli lepiej niż wymagane 55.</p>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
    line-height: 1.5;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 400px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--primary);
    font-weight: 800;
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 300px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Wpływ temperatury zasilania na COP i dotację</h3>
        <p>Zobacz, dlaczego urząd NFOŚiGW tak rygorystycznie weryfikuje projekty. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Wykres i analiza przygotowane przez ekspertów Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="copSubsidyChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Każde 5°C niższej temperatury zasilania to wzrost efektywności COP o około 0,6–0,9. Oznacza to nie tylko setki złotych oszczędności na rachunkach rocznie, ale przede wszystkim <strong>gwarancję spełnienia rygorystycznych wymogów dotacyjnych na 2026 rok</strong> (EP ≤ 55).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('chart-app-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('copSubsidyChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    const gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
    gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.15)');
    gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

    const pointBackgroundColors = [];
    const pointBorderColors = [];
    const pointRadii = [];
    
    // Oś X: Temperatury
    const temps = [25, 30, 35, 40, 45, 50, 55];
    // Oś Y: Wartości COP 
    const copValues = [5.8, 5.1, 4.2, 3.7, 3.2, 2.8, 2.5];

    temps.forEach(t => {
        if (t <= 35) {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#16a34a'); // Zielony (sukces/dotacja)
            pointRadii.push(7);
        } else {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#dc2626'); // Czerwony (brak dotacji/ryzyko)
            pointRadii.push(7);
        }
    });

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: temps.map(t => t + '°C'),
            datasets: [{
                label: 'Współczynnik COP',
                data: copValues,
                borderColor: '#94a3b8', 
                borderWidth: 3,
                backgroundColor: gradientFill,
                fill: true,
                tension: 0.4,
                pointBackgroundColor: pointBackgroundColors,
                pointBorderColor: pointBorderColors,
                pointBorderWidth: 3,
                pointRadius: pointRadii,
                pointHoverRadius: 9
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: false
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 14,
                    displayColors: false,
                    callbacks: {
                        title: function(context) {
                            return 'Temperatura zasilania: ' + context[0].label;
                        },
                        label: function(context) {
                            let temp = temps[context.dataIndex];
                            let cop = context.parsed.y;
                            let lines = [`Współczynnik COP: ${cop}`];
                            
                            if(temp === 30) {
                                lines.push('&#x1f449; Gwarancja dotacji (Optymalna podłogówka)');
                                lines.push('&#x1f449; Niskie rachunki');
                            } else if(temp === 35) {
                                lines.push('&#x1f449; Dotacja możliwa (Standard)');
                                lines.push('&#x1f449; EP budynku na granicy');
                            } else if(temp === 45) {
                                lines.push('&#x274c; Brak dotacji w Moim Cieple!');
                                lines.push('&#x274c; Ryzyko w Czystym Powietrzu (Rzadka podłogówka)');
                            } else if(temp >= 55) {
                                lines.push('&#x274c; BRAK DOTACJI (Zasilanie na grzejniki)');
                                lines.push('&#x274c; Ogromne rachunki za prąd');
                            } else if(temp === 25) {
                                lines.push('&#x1f449; Wynik idealny (Bardzo gęsta podłogówka)');
                            } else {
                                lines.push('&#x274c; Spadek efektywności');
                            }
                            return lines;
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Temperatura zasilania podłogówki [°C]',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 2.0,
                    max: 6.0,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 0.5,
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Współczynnik COP pompy ciepła',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong>Wniosek</strong>: Każde 5°C niższej temperatury to wzrost COP o ok. 0,6-0,7. Dla domu 150 m² różnica między 35°C a 30°C to około&nbsp;<strong>1500 zł oszczędności rocznie</strong>.</p>
</blockquote>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-roadmap {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.roadmap-header {
    padding: 40px;
    text-align: center;
    background: var(--primary);
    color: white;
}

.roadmap-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
}

.roadmap-header p {
    margin: 0 auto;
    max-width: 700px;
    font-size: 15px;
    line-height: 1.6;
    color: #94a3b8;
}

.timeline-container {
    padding: 40px;
    background: var(--bg-light);
    position: relative;
}

/* Oś pionowa */
.timeline-container::before {
    content: '';
    position: absolute;
    top: 40px;
    bottom: 40px;
    left: 64px; /* 40px padding + 24px połowa ikony */
    width: 4px;
    background: #cbd5e1;
    border-radius: 4px;
}

.step-row {
    position: relative;
    display: flex;
    gap: 30px;
    margin-bottom: 35px;
}

.step-row:last-child {
    margin-bottom: 0;
}

.step-number {
    width: 48px;
    height: 48px;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    flex-shrink: 0;
    z-index: 2;
    box-shadow: 0 0 0 6px var(--bg-light);
}

.step-content {
    background: white;
    padding: 25px 30px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    flex-grow: 1;
    position: relative;
}

.step-content::before {
    content: '';
    position: absolute;
    top: 20px;
    left: -8px;
    width: 16px;
    height: 16px;
    background: white;
    border-left: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    transform: rotate(45deg);
}

.step-content h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.step-content p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
}

.step-content p:last-child {
    margin-bottom: 0;
}

/* Wyróżnienie kroku ze zdjęciami */
.step-warning {
    border-color: #fecaca;
    background: #fff5f5;
}
.step-warning::before {
    background: #fff5f5;
    border-color: #fecaca;
}
.step-warning h4 {
    color: var(--danger);
}
.warning-badge {
    display: inline-block;
    background: var(--danger);
    color: white;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

/* Listy zadań (Checklists) */
.task-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.task-list li {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    background: #f1f5f9;
    padding: 10px 15px;
    border-radius: 8px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.task-list li::before {
    content: '&#x2705;';
    font-size: 14px;
    flex-shrink: 0;
}

.code-style {
    background: #e2e8f0;
    padding: 2px 6px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 12px;
    color: #0f172a;
}

/* Krok końcowy (sukces) */
.step-final .step-number {
    background: var(--success);
}

@media (max-width: 600px) {
    .roadmap-header { padding: 30px 20px; }
    .timeline-container { padding: 30px 15px; }
    .timeline-container::before { left: 35px; }
    
    .step-row { gap: 15px; margin-bottom: 25px; }
    .step-number { width: 40px; height: 40px; font-size: 16px; }
    
    .step-content { padding: 20px; }
    .step-content::before { top: 16px; }
    
    .task-list li { font-size: 12px; padding: 8px 12px; }
}
</style>

<div class="premium-roadmap" id="roadmap-app-container">
    <div class="roadmap-header">
        <h3>Jak przygotować dokumentację, żeby wniosek przeszedł za pierwszym razem?</h3>
        <p>Masz już świadomość, że projekt to nie tylko rysunek. Oto <strong>konkretna ścieżka postępowania</strong>, która minimalizuje ryzyko odrzucenia przez urzędników NFOŚiGW.</p>
    </div>

    <div class="timeline-container">
        
        <div class="step-row">
            <div class="step-number">1</div>
            <div class="step-content">
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cb.png" alt="📋" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Audyt lub Wskaźnik EP</h4>
                <p>Bez tego nie ruszysz. Fundamentem każdej dotacji jest udokumentowanie stanu energetycznego budynku.</p>
                <ul class="task-list">
                    <li><strong>Czyste Powietrze:</strong> Zleć obowiązkowy audyt energetyczny.</li>
                    <li><strong>Moje Ciepło:</strong> Przygotuj świadectwo charakterystyki z EP.</li>
                </ul>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">2</div>
            <div class="step-content">
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f468-200d-1f393.png" alt="👨‍🎓" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Wybierz projektanta z uprawnieniami</h4>
                <p>Nie zlecaj tego &#8222;koledze po fachu&#8221;. NFOŚiGW wymaga twardych dokumentów. Projektant musi posiadać aktualne <strong>uprawnienia budowlane</strong> do instalacji sanitarnych lub uprawnienia certyfikowanego producenta systemu (np. Uponor, Rehau, KAN).</p>
                <p style="color: var(--accent); font-weight: 700;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zawsze proś o numer uprawnień i pieczątkę na projekcie!</p>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">3</div>
            <div class="step-content">
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4da.png" alt="📚" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Żądaj kompletnego kosztorysu i projektu</h4>
                <p>Poprawna dokumentacja projektowa musi zawierać zestaw niezbędnych elementów, które będą później weryfikowane z fakturami:</p>
                <ul class="task-list">
                    <li>Stronę tytułową (dane inwestora, adres, data)</li>
                    <li>Opis techniczny (minimum 2 strony)</li>
                    <li>Obliczenia strat ciepła OZC (jako załącznik)</li>
                    <li>Rzuty kondygnacji w skali (1:50 lub 1:100)</li>
                    <li>Schemat rozdzielaczy z <strong>tabelą nastaw</strong></li>
                    <li>Precyzyjną specyfikację materiałową (rury, izolacja, siłowniki)</li>
                </ul>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number">4</div>
            <div class="step-content">
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f527.png" alt="🔧" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Nadzoruj instalatora (Protokół)</h4>
                <p>Ułożenie rur to nie koniec pracy instalatora. Zanim zalejesz podłogówkę jastrychem, wykonawca musi przygotować układ do pracy.</p>
                <ul class="task-list">
                    <li>Przepłukać i odpowietrzyć instalację</li>
                    <li>Ustawić przepływy zgodnie z tabelą nastaw z Projektu</li>
                    <li>Spisać <strong style="color:var(--accent)">protokół równoważenia</strong> i podbić go podpisem</li>
                </ul>
                <p style="margin-top: 10px; font-size: 13px; font-weight: 600;">Bez protokołu urząd nie uzna instalacji za wykonaną prawidłowo!</p>
            </div>
        </div>

        <div class="step-row">
            <div class="step-number" style="background: var(--danger);">5</div>
            <div class="step-content step-warning">
                <span class="warning-badge">Uwaga: Krytyczny błąd</span>
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4f8.png" alt="📸" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zrób zdjęcia z miarką</h4>
                <p>Brzmi banalnie, ale setki wniosków są odrzucane właśnie przez brak dokumentacji fotograficznej z etapu budowy!</p>
                <p>Zrób zdjęcie każdego pomieszczenia z ułożonymi rurami. <strong>Przyłóż do rur miarkę</strong>, aby urzędnik mógł odczytać i zweryfikować ich rozstaw. Dbaj o czytelne nazwy plików, np.: <br>
                <span class="code-style">salon_rozstaw_10cm.jpg</span> lub <span class="code-style">sypialnia_petla_nr2.jpg</span>.</p>
            </div>
        </div>

        <div class="step-row step-final">
            <div class="step-number">6</div>
            <div class="step-content">
                <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Złóż wniosek z kompletem załączników</h4>
                <p>Masz już wszystko, by bezpiecznie ubiegać się o zwrot kosztów. Do głównego wniosku NFOŚiGW dołączasz:</p>
                <ul class="task-list" style="grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));">
                    <li>Projekt powykonawczy (PDF)</li>
                    <li>Protokół równoważenia (PDF)</li>
                    <li>Spakowane zdjęcia (max 10 MB)</li>
                    <li>Faktury zgodne ze specyfikacją z projektu</li>
                    <li>Audyt energetyczny (Czyste Powietrze) LUB Świadectwo EP (Moje Ciepło)</li>
                </ul>
            </div>
        </div>

    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x72\x6f\x61\x64\x6d\x61\x70\x2d\x61\x70\x70\x2d\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.calc-intro { max-width: 1150px; margin: 40px auto 10px auto; text-align: center; padding: 0 20px; }
.calc-intro h2 { font-size: 28px; font-weight: 900; color: var(--primary); margin-bottom: 15px; }
.calc-intro p { font-size: 16px; color: #475569; line-height: 1.6; max-width: 800px; margin: 0 auto; }

.screed-calc { max-width: 1150px; margin: 30px auto; font-family: 'Inter', -apple-system, sans-serif; background: #ffffff; border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1); overflow: hidden; color: var(--primary); }
.calc-grid { display: grid; grid-template-columns: 1.2fr 1fr; }

.config-side { padding: 40px; background: #ffffff; }
.section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1.2px; margin-bottom: 15px; display: block; margin-top: 5px; }

.type-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 25px; }
.type-selector.three-cols { grid-template-columns: repeat(3, 1fr); }
.type-btn { padding: 14px 8px; border: 2px solid #cbd5e1; border-radius: 12px; cursor: pointer; text-align: center; font-weight: 700; font-size: 12px; color: #475569; background: #fff; transition: all 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.type-btn span { margin-top: 4px; }
.type-btn.active { border-color: var(--accent); background: #eff6ff; color: var(--accent); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1); }

.input-wrap { margin-bottom: 25px; }
.input-label-row { display: flex; justify-content: space-between; margin-bottom: 8px; align-items: center; }
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge { background: #f1f5f9; padding: 4px 12px; border-radius: 8px; font-weight: 800; color: var(--accent); font-size: 14px; }

input[type=range] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer; }

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: center; }
.main-score-box { background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 15px; border-bottom: 6px solid var(--success); transition: 0.3s; }
.main-score-box.danger { border-bottom-color: var(--danger); }
.main-score-box.warning { border-bottom-color: var(--warning); }

.score-num { font-size: 42px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--success); transition: color 0.3s; }
.main-score-box.danger .score-num { color: #94a3b8; text-decoration: line-through; }
.main-score-box.warning .score-num { color: var(--warning); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg { margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: block; background: #dcfce7; color: var(--success); border: 1px solid #bbf7d0; line-height: 1.4; text-align: center; }
.main-score-box.danger #risk-msg { background: #fee2e2; color: var(--danger); border-color: #fecaca; }
.main-score-box.warning #risk-msg { background: #ffedd5; color: var(--warning); border-color: #fed7aa; }

.law-info-box { background: #e0f2fe; border: 1px solid #bae6fd; border-radius: 12px; padding: 15px; margin-bottom: 25px; font-size: 12px; color: #0369a1; line-height: 1.5; }
.law-info-box strong { color: #075985; display: block; margin-bottom: 5px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; }

.tech-grid { background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: flex; flex-direction: column; gap: 16px; }
.tech-item { display: flex; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #1e293b; align-items: center; }
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 16px; text-align: right; white-space: nowrap; }
.tech-item strong.err { color: #f87171; }
.tech-item strong.warn { color: #fbbf24; }

.footer-cta { margin: 0 40px 40px 40px; padding: 30px; background: #eff6ff; border-radius: 20px; border-left: 6px solid var(--accent); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-text-side { max-width: 550px; }
.cta-buttons-stack { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }
.cta-btn { display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector.three-cols { grid-template-columns: repeat(3, 1fr); gap: 6px; }
    .type-selector.three-cols .type-btn { padding: 10px 2px; font-size: 10px; }
    .type-selector.three-cols .type-btn span { font-size: 9px !important; }
}
</style>

<div class="calc-intro">
    <h2>Weryfikator Dotacji Czyste Powietrze 2026</h2>
    <p>Sprawdź, jak parametry Twojego budynku i wykończenie posadzki wpływają na efektywność systemu i wypłatę dotacji. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Poziom dofinansowania</span>
            <div class="type-selector three-cols">
                <div class="type-btn active" data-group="level" data-val="66">PODSTAWOWY<span style="font-size:10px; font-weight:400">do 66 000 zł</span></div>
                <div class="type-btn" data-group="level" data-val="99">PODWYŻSZONY<span style="font-size:10px; font-weight:400">do 99 000 zł</span></div>
                <div class="type-btn" data-group="level" data-val="135">NAJWYŻSZY<span style="font-size:10px; font-weight:400">do 135 000 zł</span></div>
            </div>

            <span class="section-title">2. Parametry budynku</span>
            <div class="input-wrap" style="margin-bottom: 35px;">
                <div class="input-label-row"><label>Szacowane obciążenie cieplne</label><span class="val-badge"><span id="v-demand">50</span> W/m²</span></div>
                <input type="range" id="demand" min="30" max="110" step="5" value="50">
            </div>

            <span class="section-title">3. Docelowe wykończenie podłogi</span>
            <div class="type-selector three-cols" style="margin-bottom:0;">
                <div class="type-btn active" data-group="floor" data-val="tiles">PŁYTKI / GRES<span style="font-size:10px; font-weight:400">R ≈ 0,02</span></div>
                <div class="type-btn" data-group="floor" data-val="vinyl">WINYL / CIENKIE<span style="font-size:10px; font-weight:400">R ≈ 0,08</span></div>
                <div class="type-btn" data-group="floor" data-val="wood">GRUBA DESKA<span style="font-size:10px; font-weight:400">R ≈ 0,12</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Pula dotacji do zdobycia:</span>
                <span class="score-num"><span id="resMoney">&#8212;</span></span>
                <div id="risk-msg">Wniosek bezpieczny. Parametry gwarantują przejście audytu w NFOŚiGW.</div>
            </div>

            <div id="lawBox" class="law-info-box">
                <strong>Wymogi efektywności (Czyste Powietrze)</strong>
                Wymagany <b>Audyt Energetyczny</b> narzuca, aby zapotrzebowanie po modernizacji wynosiło <b>EU ≤ 80 kWh/(m²·rok)</b>. Projekt musi być zoptymalizowany pod parametry niskotemperaturowe.
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Szacowana temp. zasilania:</span><strong id="resTemp">&#8212;</strong></div>
                <div class="tech-item"><span>Wpływ na efektywność (COP):</span><strong id="resCop">&#8212;</strong></div>
                <div class="tech-item"><span>Opór cieplny warstw R:</span><strong id="resOpor">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Brak limitów nie wybacza błędów</h3>
            <p style="margin:0; font-size:14px; color:#475569">Urząd nie zakazuje wyższych temperatur, ale egzekwuje wydajność audytem (EU ≤ 80). Instalacja &#8222;na oko&#8221; drastycznie obniża COP pompy, co skutkuje odrzuceniem wniosku. Zabezpiecz inwestycję twardymi obliczeniami OZC.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT DO DOTACJI →
            </a>
        </div>
    </div>
</div>

<script>
window.addEventListener("DOMContentLoaded", function() {
    // === BLOKADA DOMENY ===
    const currentDomain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    if (!allowedDomains.includes(currentDomain)) {
        document.getElementById('screed-calc-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; border-radius: 24px; color: #dc2626; font-family: sans-serif;">
                <span style="font-size: 48px; display: block; margin-bottom: 15px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Narzędzie chronione</h3>
                <p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>
                <a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>
            </div>`;
        return;
    }
    // ========================

    let state = { level: '66', floor: 'tiles' };

    document.querySelectorAll('.type-btn').forEach(btn => {
        btn.addEventListener('click', function() {
            const group = this.getAttribute('data-group');
            if(!group) return;

            document.querySelectorAll(`.type-btn[data-group="${group}"]`).forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            state[group] = this.getAttribute('data-val');
            
            calculate();
        });
    });

    document.getElementById('demand').addEventListener('input', function() {
        document.getElementById('v-demand').innerText = this.value;
        calculate();
    });

    function calculate() {
        const demand = parseFloat(document.getElementById('demand').value);
        
        let moneyText = `do ${state.level} 000 zł`;
        document.getElementById('resMoney').innerText = moneyText;

        let tempSurface = 22 + (demand / 11);
        let opor = 0.02;
        if (state.floor === 'vinyl') opor = 0.08;
        if (state.floor === 'wood') opor = 0.12;
        
        // Zoptymalizowany wzór zakłądający standardowy rozstaw rur u profesjonalisty
        let tempWater = tempSurface + (demand * opor) + 2.5; 
        let cop = 5.2 - ((tempWater - 28) * 0.12);
        cop = Math.max(1.5, cop).toFixed(2);

        // Limity i ryzyka
        let maxOpor = 0.15;
        let isOporValid = opor <= maxOpor;
        let isTempCritical = tempWater > 55;
        
        // KLUCZOWA POPRAWKA: Jeśli demand > 80, wniosek zostaje odrzucony
        let isDemandTooHigh = demand > 80; 
        let isNormRisk = (tempWater > 45) && !isDemandTooHigh; // Pokaż ostrzeżenie, chyba że już i tak wywalamy błąd całkowity

        // Aktualizacja DOM
        document.getElementById('resTemp').innerText = `${tempWater.toFixed(1)}°C`;
        document.getElementById('resCop').innerText = cop;
        document.getElementById('resOpor').innerText = `${opor.toFixed(2)} (m²·K)/W`;

        const mainBox = document.getElementById('mainBox');
        const riskMsg = document.getElementById('risk-msg');
        
        // Resetowanie klas
        mainBox.classList.remove('danger', 'warning');
        document.getElementById('resTemp').classList.remove('err', 'warn');
        document.getElementById('resOpor').classList.remove('err');
        document.getElementById('resCop').classList.remove('err', 'warn');

        if(isTempCritical) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `BŁĄD PROJEKTOWY! Temperatura zasilania ${tempWater.toFixed(1)}°C zniszczy posadzkę. Instalacja zdyskwalifikowana.`;
            document.getElementById('resTemp').classList.add('err');
        } else if (isDemandTooHigh) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `ODRZUCENIE WNIOSKU! Zapotrzebowanie przekracza 80 W/m². Nie spełnisz wymogu audytu EU ≤ 80 kWh/(m²·rok). Wymagane dodatkowe ocieplenie domu.`;
            // Kolorujemy COP na czerwono, bo drastycznie spada przez braki w izolacji
            document.getElementById('resCop').classList.add('err');
        } else if (!isOporValid) {
            mainBox.classList.add('danger');
            riskMsg.innerText = `ODRZUCENIE WNIOSKU! Opór cieplny (R=${opor.toFixed(2)}) łamie bezpośrednie zalecenia programu (limit 0.15).`;
            document.getElementById('resOpor').classList.add('err');
        } else if (isNormRisk) {
            mainBox.classList.add('warning');
            riskMsg.innerText = `RYZYKO ODRZUCENIA WNIOSKU! Zasilanie ${tempWater.toFixed(1)}°C mocno obniża COP pompy ciepła, co ryzykuje odrzucenie audytu (EU ≤ 80)!`;
            document.getElementById('resTemp').classList.add('warn');
            document.getElementById('resCop').classList.add('warn');
        } else {
            riskMsg.innerText = "Wniosek bezpieczny. Parametry gwarantują bezproblemowe przejście audytu w NFOŚiGW.";
        }
    }

    // --- WYSYŁKA MAILA ---
    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var moneyText = document.getElementById('resMoney').innerText;
            var demand = document.getElementById('v-demand').innerText;

            var floorName = 'Płytki / Gres';
            if(state.floor === 'vinyl') floorName = 'Winyl / Cienkie panele';
            if(state.floor === 'wood') floorName = 'Gruba deska';

            var temp = document.getElementById('resTemp').innerText;
            var cop = document.getElementById('resCop').innerText;
            var opor = document.getElementById('resOpor').innerText;
            var verdict = document.getElementById('risk-msg').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Weryfikacja Dotacji Czyste Powietrze');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem kalkulację w Weryfikatorze Dotacji na Państwa stronie. Oto moje parametry:\n\n' +
                           '• Szacowana dotacja: ' + moneyText + '\n' +
                           '• Zapotrzebowanie na ciepło: ' + demand + ' W/m²\n' +
                           '• Wykończenie podłogi: ' + floorName + '\n\n' +
                           '-- WYNIKI ALGORYTMU --\n' +
                           '• Szacowana temp. zasilania: ' + temp + '\n' +
                           '• Szacowany COP pompy: ' + cop + '\n' +
                           '• Opór cieplny: ' + opor + '\n' +
                           '• Status wniosku: ' + verdict + '\n\n' +
                           'Proszę o wycenę profesjonalnego projektu ogrzewania, który zabezpieczy moje dofinansowanie.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    calculate();
});
</script>



<h2 class="wp-block-heading">Case study: Klient dostał 28 tys. zł dotacji dzięki naszemu projektowi</h2>



<p>Opowiem Ci historię, która wydarzyła się w 2025 roku, ale jej wnioski są w 100% aktualne na 2026. Inwestor (nazwijmy go Panem Tomaszem) budował dom pod Poznaniem. Powierzchnia użytkowa 165 m², ściana trójwarstwowa z 20 cm styropianu, okna trzyszybowe. Planował pompę ciepła 10 kW i <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a>.</p>



<p><strong>Co zrobił początkowo</strong>&nbsp;(błędnie):</p>



<ul class="wp-block-list">
<li>Sam naszkicował rozstaw rur &#8222;na oko&#8221; – co 20 cm.</li>



<li>Zamówił rury i rozdzielacz bez projektu.</li>



<li>Instalator ułożył pętle, zalał jastrych.</li>
</ul>



<p><strong>Efekt</strong>: Przy próbie rozruchu okazało się, że w salonie (35 m²) temperatura nie przekracza 19°C, a w łazience jest 24°C. Instalacja była niezrównoważona, przepływy chaotyczne. Pan Tomasz chciał złożyć wniosek o dotację w Moim Cieple, ale nie miał żadnej dokumentacji.</p>



<p><strong>Nasze działanie</strong>:</p>



<ol start="1" class="wp-block-list">
<li>Wykonaliśmy&nbsp;<strong>inwentaryzację powykonawczą</strong>&nbsp;– zmierzyliśmy rzeczywiste długości pętli (najdłuższa 117 m – dramat!).</li>



<li>Przeliczyliśmy OZC – okazało się, że przy rozstawie 20 cm potrzebna temperatura 42°C, co dałoby COP na poziomie 3,3 i EP ≈ 68 →&nbsp;<strong>poza normą</strong>.</li>



<li>Zaproponowaliśmy&nbsp;<strong>ratunek</strong>&nbsp;– demontaż płyty w salonie i dołożenie dodatkowych pętli (zmniejszenie rozstawu do 12 cm). Koszt: 4500 zł.</li>



<li>Przygotowaliśmy pełny projekt powykonawczy z tabelą nastaw i obliczeniami.</li>



<li>Instalator wyregulował układ, potwierdził protokołem.</li>
</ol>



<p><strong>Efekt końcowy</strong>:</p>



<ul class="wp-block-list">
<li>Temperatura zasilania spadła z projektowanych 42°C do rzeczywistych 31°C.</li>



<li>COP pompy wzrósł do 4,8.</li>



<li>EP budynku = 51 → spełnienie normy.</li>



<li>Pan Tomasz złożył wniosek z naszą dokumentacją i dostał&nbsp;<strong>28 000 zł dotacji</strong>&nbsp;(pompa + podłogówka).</li>
</ul>



<p><strong>Koszt naprawy (4500 zł) zwrócił się po pierwszym roku dzięki niższym rachunkom za prąd. A dotacja została wypłacona w całości.</strong></p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-checklist-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.checklist-header {
    padding: 40px 40px 30px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.checklist-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.checklist-header p {
    margin: 0 auto;
    max-width: 700px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

/* PASEK POSTĘPU */
.progress-wrapper {
    padding: 0 40px;
    margin: -15px 0 25px 0;
    position: relative;
    z-index: 2;
}

.progress-container {
    background: white;
    padding: 20px;
    border-radius: 16px;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
}

.progress-text {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 14px;
    font-weight: 800;
    color: var(--primary);
}

.progress-text span.status {
    color: var(--accent);
}

.progress-bar-bg {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
}

.progress-bar-fill {
    height: 100%;
    width: 0%;
    background: var(--accent);
    border-radius: 10px;
    transition: width 0.4s ease, background-color 0.4s ease;
}

/* LISTA ZADAŃ */
.checklist-items {
    padding: 0 40px 30px 40px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.check-item {
    display: flex;
    align-items: center;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--border-color);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.check-item:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.check-item.checked {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.check-item input[type="checkbox"] {
    display: none;
}

.custom-checkbox {
    width: 28px;
    height: 28px;
    border: 2px solid #94a3b8;
    border-radius: 8px;
    margin-right: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.2s;
    background: white;
}

.check-item.checked .custom-checkbox {
    background: var(--success);
    border-color: var(--success);
}

.custom-checkbox::after {
    content: '✓';
    color: white;
    font-size: 16px;
    font-weight: bold;
    display: none;
}

.check-item.checked .custom-checkbox::after {
    display: block;
}

.check-text {
    font-size: 14px;
    color: #334155;
    line-height: 1.5;
    user-select: none;
}

.check-text strong {
    color: var(--primary);
    font-weight: 700;
}

.check-item.checked .check-text {
    color: #166534;
}

/* PODSUMOWANIE / RADA PRAKTYKA */
.checklist-footer {
    padding: 35px 40px;
    background: #eff6ff;
    border-top: 1px solid #bfdbfe;
}

.advice-box {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.advice-icon {
    font-size: 40px;
    line-height: 1;
}

.advice-content h4 {
    margin: 0 0 10px 0;
    color: #1e3a8a;
    font-size: 18px;
    font-weight: 900;
}

.advice-content p {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: #334155;
    line-height: 1.6;
}

.advice-content p:last-child {
    margin-bottom: 0;
}

.cta-button {
    display: inline-block;
    background: var(--accent);
    color: white;
    padding: 14px 28px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
    cursor: pointer;
}

.cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -10px rgba(37, 99, 235, 0.5);
}

@media (max-width: 768px) {
    .checklist-header { padding: 30px 20px 20px 20px; }
    .progress-wrapper { padding: 0 20px; }
    .checklist-items { padding: 0 20px 20px 20px; }
    .checklist-footer { padding: 25px 20px; }
    .advice-box { flex-direction: column; gap: 15px; text-align: center; align-items: center;}
    .check-item { padding: 12px 15px; }
}
</style>

<div class="premium-checklist-box" id="checklist-app-container">
    <div class="checklist-header">
        <h3>Lista Kontrolna NFOŚiGW 2026</h3>
        <p>W 2026 roku liczy się każdy szczegół: od temperatury zasilania po opór cieplny podłogi. Zanim złożysz wniosek o dotację i narazisz się na wielomiesięczną walkę z urzędem, upewnij się, że spełniasz wszystkie poniższe warunki.</p>
    </div>

    <div class="progress-wrapper">
        <div class="progress-container">
            <div class="progress-text">
                <span>Gotowość Twojego wniosku:</span>
                <span class="status" id="progress-status">0 z 9 spełnionych</span>
            </div>
            <div class="progress-bar-bg">
                <div class="progress-bar-fill" id="progress-fill"></div>
            </div>
        </div>
    </div>

    <div class="checklist-items">
        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Temperatura projektowa zasilania wynosi <strong>≤ 35°C</strong> (dla Moje Ciepło zalecane wręcz 30°C).</div>
        </label>
        
        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Dołączono fizyczne <strong>obliczenia strat ciepła (OZC)</strong> dla każdego pomieszczenia zgodne z PN-EN 12831.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projekt zawiera dokładne <strong>rzuty kondygnacji</strong> z ponumerowanymi pętlami i ich długościami.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Określono rodzaj i grubość <strong>izolacji pod rurami</strong> (minimum 5 cm EPS lub 3 cm PIR).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Uwzględniono <strong>opór cieplny R</strong> wszystkich warstw podłogi (≤ 0,15 Czyste Powietrze / ≤ 0,10 Moje Ciepło).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projekt bezwzględnie przewiduje <strong>sterowanie strefowe</strong> (termostaty w pomieszczeniach + siłowniki na rozdzielaczu).</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Dołączono <strong>tabelę nastaw wstępnych</strong> określającą przepływy [l/min] i straty ciśnienia.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text"><strong>Metraż rur</strong> w instalacji zgadza się fizycznie z opłaconymi fakturami oraz audytem/świadectwem EP.</div>
        </label>

        <label class="check-item">
            <input type="checkbox" class="req-checkbox">
            <div class="custom-checkbox"></div>
            <div class="check-text">Projektant posiada <strong>aktualne uprawnienia</strong> i czytelnie podbił dokumentację imienną pieczątką.</div>
        </label>
    </div>

    <div class="checklist-footer">
        <div class="advice-box">
            <div class="advice-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
            <div class="advice-content">
                <h4>Ostatnia rada od praktyka</h4>
                <p>Nie traktuj profesjonalnego projektu jako zbędnego kosztu. Dobrze zaprojektowane ogrzewanie podłogowe to <strong>inwestycja, która zwraca się wielokrotnie</strong> – w przyznanej dotacji, minimalnych rachunkach za prąd i spokoju ducha na lata. W 2026 roku, przy rekordowo wysokich cenach energii, każdy procent efektywności ma znaczenie. Zrób to raz, a porządnie.</p>
                <p>Jeśli masz wątpliwości co do swojej dokumentacji lub nie potrafisz zaznaczyć wszystkich powyższych punktów – nie ryzykuj odrzucenia wniosku.</p>
                <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-button" style="margin-top: 10px;">ZLEĆ BEZPIECZNY PROJEKT DO DOTACJI →</a>
            </div>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x63\x68\x65\x63\x6b\x6c\x69\x73\x74\x2d\x61\x70\x70\x2d\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();

document.addEventListener('DOMContentLoaded', function() {
    const checkboxes = document.querySelectorAll('.req-checkbox');
    const fillBar = document.getElementById('progress-fill');
    const statusText = document.getElementById('progress-status');
    const total = checkboxes.length;

    checkboxes.forEach(box => {
        box.addEventListener('change', function() {
            // Stylizacja zaznaczonego elementu
            if(this.checked) {
                this.parentElement.classList.add('checked');
            } else {
                this.parentElement.classList.remove('checked');
            }

            // Obliczenie postępu
            const checkedCount = document.querySelectorAll('.req-checkbox:checked').length;
            const percentage = (checkedCount / total) * 100;
            
            fillBar.style.width = percentage + '%';
            
            if(checkedCount === total) {
                statusText.innerText = "Wniosek gotowy do wysłania! (9/9)";
                statusText.style.color = "var(--success)";
                fillBar.style.backgroundColor = "var(--success)";
            } else {
                statusText.innerText = checkedCount + " z 9 warunków spełnionych";
                statusText.style.color = "var(--accent)";
                fillBar.style.backgroundColor = "var(--accent)";
            }
        });
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
    line-height: 1.4;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 600;
}

.flags-list li::before {
    content: "&#x2716;";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy mogę złożyć wniosek o dotację na podłogówkę bez pełnego projektu OZC?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Oba programy (Czyste Powietrze i Moje Ciepło) wymagają twardych dowodów inżynieryjnych. W Czystym Powietrzu OZC musi pokrywać się z obowiązkowym audytem, a w Moim Cieple instalacja musi zapewnić rygorystyczny wskaźnik EP ≤ 55. Bez obliczeń wniosek zostanie odrzucony."
        }
      }, {
        "@type": "Question",
        "name": "Jakie wykończenie podłogi wybrać, żeby nie stracić dotacji?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Najbezpieczniejsze są płytki (gres) lub cienki winyl. W Moim Cieple 2026 łączny opór cieplny (R) nie może przekroczyć 0,10 (m²·K)/W. Gruba deska z podkładem bardzo często ten limit łamie, co dyskwalifikuje inwestycję w urzędzie."
        }
      }, {
        "@type": "Question",
        "name": "Czy instalator może dobrać rozstaw rur 'z własnego doświadczenia' bez projektu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie nie. Urzędy kontrolują, czy układ pozwala na pracę niskotemperaturową (max 35°C). Zbyt rzadki rozstaw 'na oko' zrujnuje współczynnik COP pompy ciepła, co automatycznie wyrzuci Twój wniosek ze względu na brak wymaganej efektywności."
        }
      }, {
        "@type": "Question",
        "name": "Czy do dotacji wymagane są termostaty w każdym pomieszczeniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak. Zgodnie z wytycznymi, system musi posiadać sterowanie strefowe. Oznacza to fizyczny termostat w każdym pokoju oraz współpracujące z nimi siłowniki na belkach rozdzielacza."
        }
      }, {
        "@type": "Question",
        "name": "Jakie dokumenty od instalatora muszę dostarczyć do NFOŚiGW?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sama faktura to za mało. Niezbędny jest projekt powykonawczy (OZC + rysunki z długościami pętli), podpisany protokół równoważenia hydraulicznego (nastawy rotametrów) oraz zdjęcia ułożonych rur z przyłożoną miarką."
        }
      }]
    }
    </script>

    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9d0.png" alt="🧐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5 pytań, które uratują Twoją dotację</h2>
        <p>Gdy szukasz ekipy do instalacji, musisz wiedzieć, kto zabezpieczy Twoje pieniądze z NFOŚiGW, a kto narazi Cię na odrzucenie wniosku. Oto test, który błyskawicznie &#8222;oddzieli ziarno od plew&#8221;. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Czy złoży Pan instalację na podstawie samych szkiców, bez obliczeń OZC?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Pewnie, faktury wystarczą do dotacji, urząd i tak tego nie sprawdza tak dokładnie. Szkoda kasy na projekt.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Nie mogę. Programy wymagają twardych dowodów. OZC musi się zgadzać z audytem (Czyste Powietrze) lub wytycznymi dla EP ≤ 55 (Moje Ciepło). Bez OZC zablokują Panu wypłatę.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Chcę położyć grubą deskę. Jak to wpływa na dofinansowanie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Kładź Pan co chcesz. Podłogówka i tak to przebije, najwyżej damy 45 stopni na piecu i będzie grzać.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Z deską musimy uważać. W Moim Cieple opór cieplny nie może przekroczyć 0,10. Gruba deska często łamie ten limit. Skonsultujmy to najpierw z projektantem.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jaki rozstaw rur Pan zastosuje?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Standardowo. Pod oknem co 10 cm, a na środku salonu co 15 cm. Zawsze tak robię i nikt nie narzeka.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Rozstaw musi wynikać bezpośrednio z zapotrzebowania pomieszczeń przy zasilaniu z pompy ciepła na max. 35°C. Zrobimy dokładnie tak, jak wyliczy inżynier na rzutach.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Czy musimy montować termostaty w każdym pokoju?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Po co przepłacać? Damy jeden główny sterownik w korytarzu, on ogarnie całą pompę ciepła.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Tak. Zgodnie z wytycznymi obu programów na 2026 rok, system musi zapewniać sterowanie strefowe (termostaty i siłowniki). Bez tego nie ma dotacji.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Co dokładnie dostanę od Pana po zakończeniu prac?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Wystawię Panu fakturę na robociznę i materiały. To w zupełności wystarczy do urzędu.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Zostawię podpisaną tabelę z protokołem równoważenia instalacji. Zrobię też zdjęcia ułożonych rur z przyłożoną miarką, bo NFOŚiGW regularnie tego żąda.”</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li><strong>„Zrobimy temperaturę na 45-50 stopni, pompa ciepła da radę.”</strong><br>Ostrzeżenie: To niszczy COP pompy ciepła, zawyża rachunki za prąd i dyskwalifikuje inwestycję przy restrykcyjnym wymogu EP ≤ 55.</li>
            <li><strong>„Audyt energetyczny to tylko papierologia, zrobimy po swojemu.”</strong><br>Ostrzeżenie: Niezgodność instalacji z założeniami audytu to najczęstszy powód zablokowania wypłaty w Czystym Powietrzu.</li>
            <li><strong>„Położymy rury i od razu zalewamy wylewkę. Szkoda czasu na zdjęcia z miarką.”</strong><br>Ostrzeżenie: Bez udokumentowanego rozstawu rur przed zalaniem jastrychu, urząd ma prawo zakwestionować instalację podłogową.</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/">Projekt ogrzewania podłogowego a dotacje Czyste Powietrze i Moje Ciepło 2026.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-a-dotacje-czyste-powietrze-i-moje-cieplo-2026/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Czy ogrzewanie podłogowe można podłączyć do grzejników?</title>
		<link>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/</link>
					<comments>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 04 Apr 2026 06:13:10 +0000</pubDate>
				<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[błędy instalatorów]]></category>
		<category><![CDATA[grupa pompowa]]></category>
		<category><![CDATA[instalacja mieszana]]></category>
		<category><![CDATA[modernizacja ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[podłogówka i grzejniki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozdzielacz podłogówki]]></category>
		<category><![CDATA[sprzęgło hydrauliczne]]></category>
		<category><![CDATA[temperatura zasilania]]></category>
		<category><![CDATA[zapotrzebowanie na ciepło]]></category>
		<category><![CDATA[zawór mieszający]]></category>
		<category><![CDATA[zawór trójdrogowy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4089</guid>

					<description><![CDATA[<p>Wielu inwestorów planujących modernizację starego domu lub budowę nowego, w którym część pomieszczeń ma być ogrzewana tradycyjnie, zastanawia się, czy ogrzewanie podłogowe można podłączyć do grzejników. Rozwiązanie to jest jak najbardziej wykonalne, jednak wymaga ogromnej precyzji, odpowiedniego projektu oraz zastosowania układów mieszających. Bezpośrednie wpięcie podłogówki w obieg grzejnikowy to najszybsza droga do zniszczenia posadzki i przegrzania pomieszczeń. Dowiedz się, jak krok po kroku zaprojektować bezpieczną i wydajną instalację mieszaną, unikając najdroższych błędów montażowych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Czy ogrzewanie podłogowe można podłączyć do grzejników?</strong> To pytanie zadaje sobie coraz więcej inwestorów modernizujących stare instalacje lub projektujących domy z myślą o komforcie i oszczędności energii. Odpowiedź brzmi: <strong>tak, ale wyłącznie pod ścisłymi warunkami i przy zastosowaniu specjalistycznych komponentów</strong>. Bezpośrednie połączenie tych dwóch systemów, bez odpowiednich urządzeń pośredniczących, prowadzi do przegrzewania podłóg, uszkodzenia wylewki, a nawet awarii kotła. W tym artykule przeprowadzę Cię przez wszystkie zasady, wymagania i obliczenia niezbędne do zaprojektowania sprawnej instalacji mieszanej od różnic temperaturowych, przez dobór zaworów mieszających, po praktyczne wzory i przykłady liczbowe.</p>



<h2 class="wp-block-heading">Dlaczego bezpośrednie podłączenie ogrzewania podłogowego do grzejników jest niemożliwe?</h2>



<p>Aby zrozumieć problem, musisz spojrzeć na podstawowe parametry pracy obu systemów. <strong>Grzejniki</strong> (standardowe płytowe lub członowe) zaprojektowano do pracy z wysoką temperaturą zasilania najczęściej <strong>75°C / 65°C / 20°C</strong> (zasilanie / powrót / pomieszczenie) lub w nowszych instalacjach niskotemperaturowych <strong>55/45/20</strong>. Z kolei <strong><a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewanie podłogowe</a></strong> wymaga wody o temperaturze <strong>35-45°C</strong> na zasilaniu i nie więcej niż <strong>30-35°C</strong> na powrocie, aby temperatura powierzchni podłogi nie przekroczyła 27-29°C (dla pomieszczeń mieszkalnych).</p>



<p>Jeśli puścisz wodę o temperaturze 60°C przez pętle podłogówki, efekt będzie natychmiastowy: podłoga nagrzeje się do ponad 40°C, co nie tylko dyskwalifikuje komfort użytkowania, ale również powoduje:</p>



<ul class="wp-block-list">
<li><strong>Spękanie jastrychu</strong>&nbsp;(różnice rozszerzalności termicznej)</li>



<li><strong>Uszkodzenie wykładzin</strong>&nbsp;(panele, deski – odkształcenia, kleje tracą właściwości)</li>



<li><strong>Nadmierne straty ciepła w dół</strong>&nbsp;(jeśli izolacja nie jest idealna)</li>



<li><strong>Przegrzewanie pomieszczeń</strong>&nbsp;– wysoka bezwładność podłogówki sprawia, że nawet po zamknięciu zaworu temperatura rośnie jeszcze przez kilka godzin</li>
</ul>



<p>Z drugiej strony, jeśli obniżysz temperaturę całej instalacji do 40°C, aby zasilić podłogówkę, <strong>grzejniki przestaną efektywnie grzać</strong> ich moc spadnie nawet o 70-80%. Przykładowo, grzejnik o mocy 2000 W przy parametrach 75/65/20, po obniżeniu zasilania do 45°C, osiągnie zaledwie około 500-600 W. Dom będzie zimny.</p>



<p>Stąd jedyne rozsądne rozwiązanie to <strong>instalacja mieszana</strong>, w której <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł</a> (lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a>) wytwarza wodę o wysokiej temperaturze dla grzejników, a dla ogrzewania podłogowego montuje się <strong>układ mieszający</strong>, który obniża temperaturę i stabilizuje przepływ.</p>



<h2 class="wp-block-heading">Kluczowe elementy instalacji mieszanej – co musi znaleźć się w projekcie?</h2>



<p>Zanim przejdziemy do obliczeń, omówmy fizyczne komponenty, bez których&nbsp;<strong>instalacja mieszana</strong>&nbsp;nie ma prawa działać poprawnie. Każdy z nich pełni określoną funkcję – pominięcie jednego to proszenie się o awarię.</p>



<h3 class="wp-block-heading"><a href="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/zawor-mieszajacy-w-ogrzewaniu-podlogowym/">Zawór mieszający</a> trójdrogowy i czterodrogowy – różnice i zastosowanie</h3>



<p>To serce układu. Zawór miesza gorącą wodę z powrotu z podłogówki (schłodzoną) tak, aby uzyskać zadaną, niską temperaturę zasilania pętli.</p>



<ul class="wp-block-list">
<li><strong>Zawór trójdrogowy</strong>&nbsp;(popularniejszy w domowych instalacjach) ma jeden dopływ gorącej wody z kotła, drugi dopływ schłodzonej wody z powrotu podłogówki i jeden wylot na zasilanie pętli. Siłownik (termostatyczny lub elektryczny) reguluje proporcje mieszania.<br><em>Przykład</em>: Głowica termostatyczna ustawiona na 40°C. Gdy temperatura na zasilaniu podłogówki wzrośnie powyżej 40°C, zawór ogranicza dopływ gorącej wody z kotła, a zwiększa dopływ chłodniejszej z powrotu.</li>



<li><strong>Zawór czterodrogowy</strong>&nbsp;– bardziej skomplikowany, ale daje większą stabilność. Posiada dwa wejścia (gorąca z kotła, chłodna z powrotu) i dwa wyjścia (na zasilanie pętli i na powrót do kotła). Umożliwia również recyrkulację części wody wewnątrz obiegu podłogowego, co jest korzystne przy dużych powierzchniach.</li>
</ul>



<p><strong>Ważne</strong>: Zawór musi być dobrany przepływowo. Jego&nbsp;<strong>współczynnik Kv</strong>&nbsp;(przepływ w m³/h przy spadku ciśnienia 1 bara) powinien być o 10-20% wyższy niż maksymalny przepływ w obiegu podłogowym. Dla typowego domu o powierzchni 100 m², gdzie przepływ wynosi około 1,2-1,8 m³/h, dobierz zawór o Kv = 2,0-2,5.</p>



<h3 class="wp-block-heading">Pompa obiegowa i rozdział hydrauliczny</h3>



<p>W instalacji mieszanej potrzebujesz&nbsp;<strong>dwóch pomp</strong>&nbsp;(chyba że kocioł ma własną, a układ podłogowy wyposażysz w dodatkową):</p>



<ul class="wp-block-list">
<li><strong>Pompa kotłowa</strong>&nbsp;– zapewnia cyrkulację przez grzejniki i dostarcza gorącą wodę do zaworu mieszającego.</li>



<li><strong>Pompa obiegowa podłogówki</strong>&nbsp;– zamontowana za zaworem mieszającym, tłoczy wodę o obniżonej temperaturze przez rozdzielacz i pętle.</li>
</ul>



<p><strong>Kluczowe parametry pompy podłogówki</strong>: Wydajność (Q) i wysokość podnoszenia (H). Wylicza się je z oporów przepływu w najdłuższej pętli. Przykład: dla pętli z rury 16&#215;2 mm o długości 90 m, przy różnicy temperatur 10°C (zasilanie 40°C, powrót 30°C) i mocy pętli 1200 W, przepływ wynosi:</p>



<style>
/* Kontener zapobiegający rozjeżdżaniu się strony na małych ekranach */
.math-eq-container {
    overflow-x: auto;
    padding: 20px 0;
    margin: 20px 0;
    text-align: center;
    background: #f8fafc; /* Delikatne tło, żeby wzór się wyróżniał (opcjonalne) */
    border-radius: 12px;
}

/* Główne style dla równania */
.math-eq {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Times New Roman", Times, serif; /* Klasyczna czcionka matematyczna */
    font-size: 20px;
    color: #0f172a;
    white-space: nowrap;
}

/* Zmienne (litery) w matematyce zawsze zapisujemy kursywą */
.math-eq i {
    font-style: italic;
}

/* Style dla ułamków */
.math-eq .frac {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    margin: 0 6px;
    vertical-align: middle;
}

/* Licznik ułamka (kreska na dole) */
.math-eq .num {
    border-bottom: 1px solid #0f172a;
    padding: 0 4px;
    line-height: 1.2;
}

/* Mianownik ułamka */
.math-eq .den {
    padding: 0 4px;
    line-height: 1.2;
}

/* Znaki równości, przybliżenia i mnożenia */
.math-eq .sign {
    margin: 0 6px;
}
</style>

<div class="math-eq-container">
    <div class="math-eq">
        <i>V&#7746;</i> 
        
        <span class="sign">=</span>
        
        <div class="frac">
            <div class="num"><i>P</i></div>
            <div class="den"><i>c<sub>p</sub></i> &middot; &Delta;<i>T</i> &middot; <i>&rho;</i></div>
        </div>
        
        <span class="sign">=</span>
        
        <div class="frac">
            <div class="num">1200</div>
            <div class="den">4186 &middot; 10 &middot; 1000</div>
        </div>
        
        <span class="sign">&approx;</span>
        <span>0,000287 m<sup>3</sup>/s</span>
        
        <span class="sign">=</span>
        <span>0,287 l/s</span>
        
        <span class="sign">&approx;</span>
        <span>1,03 m<sup>3</sup>/h</span>
    </div>
</div>



<p>Do tego dodaj opory liniowe (dla rury PE-RT 16 mm ok. 150 Pa/m) i miejscowe (rozdzielacz, zawory). Łącznie strata ciśnienia wyniesie około 25-35 kPa (2,5-3,5 m słupa wody). Dobierasz pompę np.&nbsp;<strong> 25-40</strong>&nbsp;(dla małych domów) lub&nbsp;<strong>25-60</strong>&nbsp;(dla większych instalacji).</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-scenarios {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.scenarios-title {
    text-align: center;
    margin-bottom: 30px;
}

.scenarios-title h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.scenarios-title p {
    color: #64748b;
    margin: 0 auto 5px auto;
    font-size: 16px;
    line-height: 1.6;
    max-width: 800px;
}

.scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.scenario-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.scenario-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.icon-box {
    width: 48px;
    height: 48px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.header-text h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
}

.header-text span {
    font-size: 12px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.param-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 0; /* Zmienione na 0, aby to box z wynikiem wypelnial miejsce */
}

.param-list li {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: #475569;
}

.param-list li strong {
    color: var(--primary);
    text-align: right;
    max-width: 60%;
}

.result-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 20px;
    border-top: 4px solid var(--accent);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-grow: 1; /* Kluczowa zmiana wymuszajaca równy rozmiar */
}

.result-box.success { border-color: var(--success); }
.result-box.warning { border-color: var(--warning); background: #fff7ed; }

.r-thick {
    display: block;
    font-size: 18px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 8px;
    line-height: 1.2;
}

.r-value {
    display: inline-block;
    background: #ffffff;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.result-box.success .r-value { color: var(--success); }
.result-box.warning .r-value { color: var(--warning); }

.justification {
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border-left: 3px solid #cbd5e1;
    margin-top: auto; /* Dopycha ten element w dół na równo */
}

@media (max-width: 900px) {
    .scenario-grid {
        grid-template-columns: 1fr;
    }
}
</style>

<div class="premium-scenarios" id="scenarios-app">
    <div class="scenarios-title">
        <h2>Przykłady i wyliczenia w praktyce.</h2>
        <p>Zobacz 3 typowe scenariusze dla instalacji mieszanej krok po kroku.</p>
        <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; font-size: 16px; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl.</a>
    </div>

    <div class="scenario-grid">
        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ca.png" alt="📊" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Krok 1</span>
                    <h4>Zapotrzebowanie i przepływ</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Straty ciepła: <strong>65 W/m²</strong></li>
                <li>Pow. podłogówki: <strong>80 m²</strong></li>
                <li>Zasilanie/Powrót: <strong>40°C / 30°C (ΔT=10°C)</strong></li>
                <li>Rozstaw rur: <strong>15 cm (standard)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Moc: 5200 W</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Przepływ całego rozdzielacza)</span>
                <div class="r-value">V = 446 l/h (0,446 m³/h)</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Dzieląc ten wynik na 5 pętli (po ok. 16 m² na pętlę), każda z nich będzie miała moc około 1040 W oraz wymagała przepływu rzędu 90 l/h (0,025 l/s).</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f39b.png" alt="🎛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Krok 2</span>
                    <h4>Bilans zaworu trójdrogowego</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Woda z kotła (gorąca): <strong>70°C</strong></li>
                <li>Woda z powrotu (chłodna): <strong>30°C</strong></li>
                <li>Zasilanie pętli (cel): <strong>40°C</strong></li>
                <li>Równanie: <strong>x&middot;70 + (1-x)&middot;30 = 40</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Otwarcie zaworu</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Udział wody kotłowej)</span>
                <div class="r-value">25% (x = 0,25)</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Zawór miesza zaledwie 25% gorącej wody z kotła z 75% schłodzonej wody z powrotu podłogówki. Dzięki temu system pracuje stabilnie i w komfortowym zakresie regulacji.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2668.png" alt="♨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Krok 3</span>
                    <h4>Moc grzejników (piętro)</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Pow. grzejników: <strong>70 m²</strong></li>
                <li>Straty ciepła: <strong>55 W/m² (wymaga 3850 W)</strong></li>
                <li>Temp. instalacji: <strong>70/50°C</strong></li>
                <li>Moc nominalna grzejników: <strong>7000 W</strong></li>
            </ul>

            <div class="result-box warning">
                <span class="r-thick">Rzeczywista moc</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(Spadek o 20% przy 70/50°C)</span>
                <div class="r-value">Moc: ~ 5600 W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Stare grzejniki były dobierane pod parametry 75/65°C. Po obniżeniu zasilania na kotle do 70°C ich moc spada, ale 5600 W wciąż z zapasem pokrywa zapotrzebowanie piętra (3850 W).</p>
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock) - Wersja bezpieczna dla WordPressa
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('scenarios-app');
        if (appContainer) {
            var warningHtml = [
                '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">',
                '<span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>',
                '<h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>',
                '<p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Te przykłady obliczeniowe są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>',
                '<a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>',
                '</div>'
            ];
            appContainer.innerHTML = warningHtml.join('');
        }
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.article-product-banner {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(37, 99, 235, 0.15);
    border: 1px solid var(--border-color);
    border-top: 5px solid var(--accent);
    display: flex;
    overflow: hidden;
    color: var(--primary);
    transition: transform 0.3s ease;
}

.article-product-banner:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.2);
}

.apb-image-col {
    flex: 0 0 40%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    position: relative;
}

.apb-image-col img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    mix-blend-mode: multiply; /* Usuwa białe tło ze zdjęcia, jeśli jest */
}

.apb-content-col {
    flex: 1;
    padding: 35px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.apb-badge {
    display: inline-block;
    align-self: flex-start;
    background: #eff6ff;
    color: var(--accent);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 15px;
}

.apb-title {
    margin: 0 0 12px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.apb-desc {
    margin: 0 0 20px 0;
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
}

.apb-features {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.apb-features li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-size: 14px;
    color: #334155;
    font-weight: 600;
}

.apb-features li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--success);
    font-size: 16px;
    font-weight: 900;
}

.apb-btn-wrapper {
    margin-top: auto;
}

.apb-btn {
    display: inline-block;
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 10px;
    font-weight: 800;
    font-size: 15px;
    transition: 0.3s;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}

.apb-btn:hover {
    background: #1d4ed8;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 6px 15px rgba(37, 99, 235, 0.3);
}

@media (max-width: 768px) {
    .article-product-banner {
        flex-direction: column;
    }
    .apb-image-col {
        padding: 20px;
        border-bottom: 1px solid var(--border-color);
    }
    .apb-content-col {
        padding: 25px 20px;
    }
    .apb-title {
        font-size: 20px;
    }
    .apb-btn {
        display: block;
        text-align: center;
    }
}
</style>

<div class="article-product-banner">
    <div class="apb-image-col">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Uklad-mieszajacy-KISAN®-z-pompa-elektroniczna-WILO.webp" alt="Układ mieszający KISAN z pompą WILO" loading="lazy">
    </div>
    <div class="apb-content-col">
        <div class="apb-badge">Idealne do instalacji mieszanej</div>
        <h3 class="apb-title">Układ mieszający KISAN® z pompą WILO</h3>
        <div class="apb-desc">Zabezpiecz swoją podłogówkę przed zbyt wysoką temperaturą z kotła. Gotowy do montażu moduł, który płynnie obniża i stabilizuje temperaturę.</div>
        
        <ul class="apb-features">
            <li>Termostatyczny zawór trójdrogowy w zestawie</li>
            <li>Energooszczędna pompa elektroniczna WILO</li>
            <li>Szybki montaż dzięki półśrubunkom G 1&#8243;</li>
        </ul>
        
        <div class="apb-btn-wrapper">
            <a href="https://projekt-ogrzewania.pl/produkt/uklad-mieszajacy-kisan-z-pompa-elektroniczna-wilo/" class="apb-btn" target="_blank">Sprawdź cenę w sklepie →</a>
        </div>
    </div>
</div>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w systemie mieszanym – na co zwrócić uwagę?</h2>



<p><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> w instalacji mieszanej to coś więcej niż tylko rozrysowanie pętli. Musisz uwzględnić współpracę dwóch obiegów o różnych parametrach. Oto kluczowe zasady:</p>



<ol start="1" class="wp-block-list">
<li><strong>Oddzielenie hydrauliczne</strong>&nbsp;– jeśli kocioł ma małą pojemność wodną (np. nowe kotły gazowe z dużym oporem wymiennika), warto zastosować&nbsp;<strong>sprzęgło hydrauliczne</strong>&nbsp;lub&nbsp;<strong>bufor</strong>. Bez tego pompa podłogówki może “zabierać” przepływ grzejnikom, powodując ich niedogrzanie. Sprzęgło wyrównuje ciśnienia.</li>



<li><strong>Sterowanie pogodowe</strong>&nbsp;– dla instalacji mieszanej idealnym rozwiązaniem jest regulator z dwoma czujnikami temperatury zewnętrznej i dwoma krzywymi grzania: jedną dla grzejników (wyższe nachylenie), drugą dla podłogówki (płaska, niska). Dzięki temu przy mrozach -20°C grzejniki dostaną 75°C, a podłogówka tylko 45°C.</li>



<li><strong>Zabezpieczenie przed przegrzaniem</strong>&nbsp;– każdy rozdzielacz podłogówki musi mieć&nbsp;<strong>zawór termostatyczny</strong>&nbsp;lub siłownik elektryczny z czujnikiem zasilania. Jeśli temperatura wzrośnie powyżej zadanej, zawór odcina dopływ z kotła. To obowiązek wynikający z normy PN-EN 1264.</li>



<li><strong>Dokumentacja techniczna</strong>&nbsp;– projekt instalacji mieszanej powinien zawierać:
<ul class="wp-block-list">
<li>Obliczenia strat ciepła dla każdego pomieszczenia osobno (dla podłogówki i dla grzejników).</li>



<li>Dobór rozstawu rur dla podłogówki (co 10-15-20 cm w zależności od zapotrzebowania).</li>



<li>Schemat ideowy układu mieszającego z zaznaczeniem średnic rur, zaworów i pomp.</li>



<li>Charakterystyki przepływowo-oporowe dla każdej pętli – konieczne do późniejszej regulacji.</li>
</ul>
</li>
</ol>



<p>Pamiętaj:&nbsp;<strong>projekt ogrzewania podłogowego w systemie mieszanym</strong>&nbsp;wykonywany przez niedoświadczonego instalatora to ryzyko, że grzejniki będą grzały, a podłoga pozostanie zimna (lub odwrotnie). Zleć to specjaliście lub sam dokładnie przelicz, korzystając z podanych wzorów.</p>



<h2 class="wp-block-heading">Wykres charakterystyki pracy zaworu mieszającego – interpretacja</h2>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header-sub {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 400px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 300px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Charakterystyka pracy zaworu mieszającego</h3>
        <div class="chart-header-sub">Zależność temperatury zasilania podłogówki od stopnia otwarcia zaworu (kocioł 70°C, powrót 30°C) <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Wykres opracowany przez Projekt-Ogrzewania.pl</a></div>
    </div>
    <div class="chart-canvas-wrapper">
        <canvas id="valveChart"></canvas>
    </div>
    <div class="chart-footer">
        <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <div class="chart-conclusion"><strong>Praktyczna konsekwencja:</strong> Krzywa nie jest liniowa! <strong>Nie ustawiaj zaworu w połowie skali (50%)</strong>, bo tam jest najbardziej wrażliwy na wahania temperatur. Najlepiej i najstabilniej układ pracuje w przedziale otwarcia 20-40%.</div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var container = document.getElementById('chart-app-container');
        if (container) {
            container.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;"><span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span><div style="margin-top:0; font-size: 24px; font-weight:bold;">Wykres chroniony prawem autorskim</div><div style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-top: 15px;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</div><a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a></div>';
        }
        return; 
    }

    var canvasEl = document.getElementById('valveChart');
    if(!canvasEl) return; 
    
    var ctx = canvasEl.getContext('2d');
    
    var gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
    gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.2)');
    gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

    var pointBackgroundColors = [];
    var pointBorderColors = [];
    var pointRadii = [];
    
    var valveOpenings = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100];
    var temperatures = [30, 31, 32, 35, 39, 44, 48, 50, 55, 62, 70];

    for (var i = 0; i < valveOpenings.length; i++) {
        var temp = temperatures[i];
        if (temp <= 42) {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#2563eb'); 
            pointRadii.push(6);
        } else {
            pointBackgroundColors.push('#ffffff');
            pointBorderColors.push('#ea580c'); 
            pointRadii.push(8);
        }
    }

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: ['0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%'],
            datasets: [{
                label: 'Temperatura zasilania podłogówki (°C)',
                data: temperatures,
                borderColor: '#2563eb', 
                borderWidth: 3,
                backgroundColor: gradientFill,
                fill: true,
                tension: 0.4, 
                pointBackgroundColor: pointBackgroundColors,
                pointBorderColor: pointBorderColors,
                pointBorderWidth: 3,
                pointRadius: pointRadii,
                pointHoverRadius: 9
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: { display: false },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 14 },
                    padding: 12,
                    displayColors: false,
                    callbacks: {
                        title: function(context) { return 'Otwarcie zaworu: ' + context[0].label; },
                        label: function(context) { return 'Temperatura: ' + context.parsed.y + ' °C'; }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: { font: { family: 'Inter', size: 13, weight: '600' }, color: '#64748b' },
                    title: {
                        display: true, text: 'Stopień otwarcia zaworu (%)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {top: 10}
                    }
                },
                y: {
                    beginAtZero: false, min: 25, max: 75,
                    grid: { color: '#f1f5f9', drawBorder: false },
                    ticks: {
                        stepSize: 5, font: { family: 'Inter', size: 13 }, color: '#64748b',
                        callback: function(value) { return value + ' °C'; }
                    },
                    title: {
                        display: true, text: 'Temperatura (°C)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.screed-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 400;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--success); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--accent);}
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right;}

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card strong { font-size: 18px; color: #fff; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector { grid-template-columns: 1fr; }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator instalacji mieszanej (Podłogówka + Grzejniki)</h2>
    <p>Sprawdź parametry pracy zaworu mieszającego dla instalacji łączącej ogrzewanie podłogowe z grzejnikami. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Narzędzie obliczy m.in. wymagany przepływ i wskaże odpowiednią wielkość zaworu (Kv).</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Zapotrzebowanie budynku na ciepło</span>
            <div class="type-selector">
                <div class="type-btn" id="btn-old">DOM STARY<span>Słabo ocieplony (100 W/m²)</span></div>
                <div class="type-btn active" id="btn-mod">MODERNIZOWANY<span>Średnie ocieplenie (65 W/m²)</span></div>
                <div class="type-btn" id="btn-new">NOWY / PASYWNY<span>Dobra izolacja (40 W/m²)</span></div>
            </div>

            <span class="section-title">2. Parametry podłogówki</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia ogrzewania podłogowego</label><span class="val-badge"><span id="v-area">80</span> m²</span></div>
                <input type="range" id="area" min="10" max="250" value="80">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Docelowa temp. zasilania podłogówki</label><span class="val-badge"><span id="v-tFloor">40</span> °C</span></div>
                <input type="range" id="tFloor" min="30" max="45" step="1" value="40">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Zalecana 35-40°C. Standardowy spadek temp. pętli (ΔT) wynosi 10°C.</div>
            </div>

            <span class="section-title">3. Parametry grzejników (Kotła)</span>
            <div class="input-wrap" style="margin-bottom:0">
                <div class="input-label-row"><label>Temperatura zasilania z kotła</label><span class="val-badge"><span id="v-tBoiler">70</span> °C</span></div>
                <input type="range" id="tBoiler" min="45" max="85" step="1" value="70">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Gorąca woda, która będzie redukowana przez zawór mieszający.</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Udział gorącej wody z kotła na zaworze</span>
                <span class="score-num" id="resRatio">--</span>
                <span class="score-label" style="text-transform: none;">Resztę stanowi chłodna woda z powrotu podłogówki</span>
                <div id="risk-msg"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Uwaga!</div>
                
                <div style="height:14px; display:flex; border-radius:7px; overflow:hidden; margin-top:15px; background:#e2e8f0; box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);">
                    <div id="bar-boiler" style="background:#dc2626; width:25%; transition: 0.3s;" title="Woda z kotła"></div>
                    <div id="bar-return" style="background:#3b82f6; width:75%; transition: 0.3s;" title="Powrót z podłogówki"></div>
                </div>
                <div style="display: flex; justify-content: space-between; font-size: 10px; color: #64748b; margin-top: 5px; font-weight: 700;">
                    <span style="color:#dc2626">Z KOTŁA (Gorąca)</span>
                    <span style="color:#3b82f6">Z POWROTU (Chłodniejsza)</span>
                </div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Moc cieplna podłogówki:</span><strong id="resPower">--</strong></div>
                <div class="tech-item"><span>Całkowity przepływ (podłogówka):</span><strong id="resFlowFloor">--</strong></div>
                <div class="tech-item"><span>Wymagany przepływ z kotła:</span><strong id="resFlowBoiler">--</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span title="Zalecany współczynnik przepływu dla zaworu mieszającego">Zalecane min. Kv zaworu:</span><strong id="resKv" style="color:#fbbf24">--</strong></div>
                    <div class="mini-card"><span>Szacowana liczba pętli:</span><strong id="resLoops">--</strong></div>
                </div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Błędy w mieszaniu kosztują najwięcej!</h3>
            <p style="margin:0; font-size:14px; color:#475569">Złe dobranie zaworu 3-drogowego lub brak sprzęgła skutkuje zimną podłogą i przepałami na kotle. Zleć nam profesjonalny projekt, by zyskać pewność, że układ zadziała idealnie.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('screed-calc-app');
        if (appContainer) {
            var warningHtml = [
                '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">',
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">&#x1f512;</span>',
                '<h3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h3>',
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>',
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>',
                '</div>'
            ];
            appContainer.innerHTML = warningHtml.join('');
        }
        return; 
    }

    var heatDemand = 65;
    var demandName = 'Modernizowany (65 W/m²)';
    var DELTA_T = 10;
    var SPECIFIC_HEAT = 4186;

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var tFloorEl = document.getElementById('tFloor');
        var tBoilerEl = document.getElementById('tBoiler');
        
        if (!areaEl) return;
        if (!tFloorEl) return;
        if (!tBoilerEl) return;

        var area = parseFloat(areaEl.value);
        var tFloor = parseFloat(tFloorEl.value);
        var tBoiler = parseFloat(tBoilerEl.value);
        var tReturn = tFloor - DELTA_T;

        document.getElementById('v-area').innerText = area;
        document.getElementById('v-tFloor').innerText = tFloor;
        document.getElementById('v-tBoiler').innerText = tBoiler;

        var powerW = area * heatDemand;
        var flowFloorLps = powerW / (SPECIFIC_HEAT * DELTA_T);
        var flowFloorM3h = flowFloorLps * 3.6;
        
        var x = 0;
        var rMsg = document.getElementById('risk-msg');
        var mBox = document.getElementById('mainBox');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (tBoiler <= tFloor) {
            x = 1;
            warnings.push('&#x274c; Temp. kotła musi być wyższa niż temp. zasilania podłogówki!');
            boxColor = 'var(--danger)';
        } else {
            x = (tFloor - tReturn) / (tBoiler - tReturn);
            if (x < 0) { x = 0; }
            if (x > 1) { x = 1; }
        }

        var ratioPercent = (x * 100).toFixed(1);
        var flowBoilerM3h = x * flowFloorM3h;
        
        if (x > 0) {
            if (x < 0.2) {
                if (tBoiler > tFloor) {
                    warnings.push('&#x26a0; Zawór będzie otwarty tylko w ' + ratioPercent + '%. Ryzyko niestabilnej pracy i skoków temperatury (rozważ mniejszy zawór Kv lub obniżenie temp. kotła).');
                    boxColor = 'var(--warning)';
                }
            }
        }
        
        if (tBoiler > 75) {
            warnings.push('&#x2139; Bardzo wysoka temp. z kotła. Zaleca się montaż czujnika przylgowego odcinającego pompę przy awarii zaworu mieszającego.');
            if (boxColor === 'var(--success)') {
                boxColor = 'var(--warning)';
            }
        }

        var estimatedKv = (flowFloorM3h * 1.2).toFixed(2);
        var loops = Math.ceil(area / 16);

        document.getElementById('resRatio').innerText = ratioPercent + '%';
        document.getElementById('resPower').innerText = (powerW / 1000).toFixed(1) + ' kW';
        document.getElementById('resFlowFloor').innerText = flowFloorM3h.toFixed(2) + ' m³/h';
        document.getElementById('resFlowBoiler').innerText = flowBoilerM3h.toFixed(3) + ' m³/h';
        document.getElementById('resKv').innerText = '≥ ' + estimatedKv;
        document.getElementById('resLoops').innerText = loops + ' szt.';

        document.getElementById('bar-boiler').style.width = ratioPercent + '%';
        document.getElementById('bar-return').style.width = (100 - ratioPercent) + '%';

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderColor = boxColor;
        
        if (boxColor === 'var(--warning)') {
            document.getElementById('resRatio').style.color = 'var(--warning)';
        } else if (boxColor === 'var(--danger)') {
            document.getElementById('resRatio').style.color = 'var(--danger)';
        } else {
            document.getElementById('resRatio').style.color = 'var(--accent)';
        }
    }

    var demands = {
        'btn-old': { val: 100, name: 'Stary dom (100 W/m²)' },
        'btn-mod': { val: 65, name: 'Modernizowany (65 W/m²)' },
        'btn-new': { val: 40, name: 'Nowy energooszczędny (40 W/m²)' }
    };

    var btnKeys = Object.keys(demands);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    heatDemand = demands[btnId].val;
                    demandName = demands[btnId].name;
                    for(var j = 0; j < btnKeys.length; j++) {
                        var el = document.getElementById(btnKeys[j]);
                        if(el) {
                            el.classList.remove('active');
                        }
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(btnKeys[i]);
    }

    var inputs = ['area', 'tFloor', 'tBoiler'];
    for (var k = 0; k < inputs.length; k++) {
        var inputEl = document.getElementById(inputs[k]);
        if (inputEl) {
            inputEl.addEventListener('input', updateCalc);
        }
    }

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var tF = document.getElementById('v-tFloor').innerText;
            var tB = document.getElementById('v-tBoiler').innerText;
            var ratio = document.getElementById('resRatio').innerText;
            var power = document.getElementById('resPower').innerText;
            var kv = document.getElementById('resKv').innerText;
            var loops = document.getElementById('resLoops').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Instalacja Mieszana (Podłogówka + Grzejniki)');
            
            var emailLines = [
                "Dzień dobry,",
                "",
                "Przesyłam wstępne wyliczenia z kalkulatora układu mieszającego na Państwa stronie:",
                "",
                "• Powierzchnia podłogówki: " + area + " m²",
                "• Budynek: " + demandName,
                "• Temp. kotła (grzejników): " + tB + " °C",
                "• Żądana temp. podłogówki: " + tF + " °C",
                "------------------------------------",
                "• Wymagana moc pętli: " + power,
                "• Proporcja otwarcia zaworu: " + ratio + " (woda gorąca)",
                "• Wymagany zawór: Kv " + kv,
                "• Szacunkowa liczba pętli: " + loops,
                "",
                "Proszę o wycenę profesjonalnego projektu ogrzewania z uwzględnieniem tych parametrów."
            ];
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(emailLines.join('\n'));
        });
    }

    updateCalc();
});
</script>



<h2 class="wp-block-heading">Najczęstsze błędy przy łączeniu systemów – jak ich uniknąć</h2>



<p>Na podstawie audytów kilkudziesięciu instalacji mieszanych, zebrałem listę powtarzających się pomyłek. Unikniesz ich, jeśli zastosujesz się do powyższych wyliczeń i zasad.</p>



<ol start="1" class="wp-block-list">
<li><strong>Brak zaworu różnicowego</strong>&nbsp;– gdy pompa podłogówki pracuje, a część pętli jest zamknięta (np. przez termostaty pokojowe), wzrasta ciśnienie. Może to uszkodzić rozdzielacz. Zawsze montuj&nbsp;<strong>zawór bypass</strong>&nbsp;(przelewowy) ustawiony na 0,3-0,5 bara powyżej nominalnej różnicy ciśnień.</li>



<li><strong>Zbyt długie pętle</strong>&nbsp;– dla rury 16 mm maksymalna długość pętli to 100-120 m (przy ΔT=10°C). Dłuższe powodują zbyt duży spadek ciśnienia i niedogrzanie końca pętli. Lepiej podzielić na dwie krótsze.</li>



<li><strong>Pompa podłogówki bez regulacji</strong> – stała prędkość pompy generuje niepotrzebny hałas i zużycie prądu. Zastosuj <strong>pompę z modulacją</strong> lub zamontuj zawór równoważący na rozdzielaczu.</li>



<li><strong>Brak izolacji między pętlami a grzejnikami w jednym pomieszczeniu</strong>&nbsp;– jeśli w salonie masz i podłogówkę, i grzejnik (np. przy ścianie zewnętrznej), to grzejnik będzie zaburzał pracę termostatu podłogowego. Unikaj takich rozwiązań. Jeśli już musisz, to daj osobne regulatory.</li>



<li><strong>Kocioł bez możliwości obniżenia temperatury minimalnej</strong>&nbsp;– niektóre stare kotły węglowe lub gazowe nie mogą pracować z temperaturą powrotu poniżej 50°C (grozi korozja). Dla instalacji mieszanej z podłogówką potrzebujesz kotła przystosowanego do niskich powrotów (kotły kondensacyjne, pompy ciepła).</li>
</ol>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 600;
}

.flags-list li::before {
    content: "&#x2716;";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy mogę podłączyć podłogówkę bezpośrednio do powrotu z grzejnika?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Absolutnie nie! Woda wracająca z grzejnika może mieć 50-60°C. To zniszczy jastrych, panele i spowoduje ogromny dyskomfort. Potrzebny jest zawór mieszający z własną pompą (tzw. grupa pompowa)."
        }
      }, {
        "@type": "Question",
        "name": "Co się stanie, jeśli obniżę temperaturę na kotle do 40°C dla obu systemów?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ogrzewanie podłogowe zadziała świetnie, ale grzejniki stracą nawet 80% swojej mocy. Pomieszczenia z grzejnikami pozostaną niedogrzane. Musisz mieć układ mieszający, by rozdzielić te dwie strefy temperaturowe."
        }
      }, {
        "@type": "Question",
        "name": "Czy do instalacji mieszanej wystarczy zawór bez pompy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Zawór mieszający wytwarza tak duże opory, a układ podłogowy wymaga tak stabilnego przepływu, że pompa za zaworem jest całkowicie niezbędna."
        }
      }, {
        "@type": "Question",
        "name": "Dlaczego kocioł gazowy gaśnie po dołożeniu podłogówki (taktuje)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "To efekt braku sprzęgła hydraulicznego. Pompy (od kotła i od podłogówki) „walczą” o przepływ, a kocioł gubi się w odczytach temperatur. Sprzęgło stabilizuje układ i pozwala pompom pracować niezależnie."
        }
      }, {
        "@type": "Question",
        "name": "Na ile otworzyć zawór trójdrogowy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zależy to od temperatury na kotle i oczekiwanej na podłogówce. Ustawienie go ręcznie na „pół” (50%) to błąd, bo krzywa mieszania nie jest liniowa. Najlepiej użyć siłownika elektrycznego z czujnikiem."
        }
      }]
    }
    </script>
    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5 pytań, które „oddzielą ziarno od plew”</h2>
        <p>Instalacja mieszana to nie miejsce na prowizorkę. Oto pytania, które pomogą Ci ocenić, czy Twój instalator wie, jak połączyć te dwa światy. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Weryfikacja przygotowana przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Wepniemy tę małą podłogówkę prosto w powrót z grzejnika, co Pan na to?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Pewnie, damy zawór RTL (tzw. ogranicznik temperatury powrotu) na końcu i będzie działać pięknie i tanio”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Absolutnie nie! Woda uderzy w pętlę ze zbyt wysoką temperaturą, co grozi pęknięciem wylewki. Montujemy układ pompowo-mieszający rozdzielający parametry”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jak rozwiąże Pan problem współpracy dwóch obiegów z jednym kotłem?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Zepniemy trójnikami. Pompa w kotle jest mocna, przepcha i grzejniki, i podłogówkę, szkoda kasy na dodatkowe sprzęty”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Musimy zastosować sprzęgło hydrauliczne. Rozdzieli ono zład wody kotłowej od wody instalacyjnej, dzięki czemu pompy obiegowe nie będą na siebie negatywnie oddziaływać”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jak dobierze Pan zawór mieszający do naszej podłogówki?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Bierze się standardowy zawór trójdrogowy 1-calowy, pasuje do każdej rury, nie ma co tu liczyć”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Zawór dobieram na podstawie współczynnika Kv i wymaganego przepływu. Zbyt mały Kv to szum i opory, a zbyt duży to skoki temperatur i problem z precyzyjną regulacją”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Co zrobić, gdy wyjadę na urlop i zmieni się pogoda na zewnątrz?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„A to musi Pan ręcznie pokręcić zaworem na rozdzielaczu, żeby wpuścić więcej gorącej wody na podłogi”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Ustawimy automatykę pogodową. System sam podniesie temperaturę na grzejniki, a siłownik na zaworze mieszającym dobierze bezpieczną, chłodniejszą wodę na podłogi”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Czy kocioł węglowy/peletowy sprawdzi się przy tej instalacji?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Tak, po prostu skręcimy go na 40 stopni i będzie idealnie do podłogi, bez żadnych mieszaczy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Tak, ale takie kotły wymagają wysokiej temperatury powrotu dla ochrony przed korozją (tzw. ochrona powrotu). Wymaga to bufora ciepła lub zaworu czterodrogowego i zaawansowanego sterownika”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„Zawór trójdrogowy? Panie, zepniemy to RTL-em z powrotu od kaloryfera, po co przepłacać.”</li>
            <li>„Sprzęgło hydrauliczne to tylko naciąganie na koszty. Mam pompę 25/60, to uciągnie cały dom.”</li>
            <li>„Podłogówka i tak grzeje długo, to nie trzeba jej regulować, tylko otworzyć rozdzielacz na maksa.” (Uwaga: to gwarancja przegrzanych płytek i spękanej posadzki!)</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<h2 class="wp-block-heading">Podsumowanie techniczne</h2>



<p>Odpowiadając na pytanie postawione w tytule:&nbsp;<strong>czy ogrzewanie podłogowe można podłączyć do grzejników</strong>&nbsp;– tak, ale wymaga to precyzyjnego projektu, zaworu mieszającego, dodatkowej pompy i obliczeń termohydraulicznych. Instalacja mieszana to nie jest zadanie dla amatora, ale przy zachowaniu powyższych zasad (różnica temperatur, dobór Kv, bilans mocy, zabezpieczenie przed przegrzaniem) możesz cieszyć się komfortem podłogówki i szybkim dogrzewaniem grzejników w jednym systemie.</p>



<p>Zanim przystąpisz do montażu, wykonaj symulację własnego przypadku – skorzystaj z podanego kalkulatora i tabeli. Jeśli po przeliczeniach okaże się, że różnica między wymaganą temperaturą zasilania podłogówki a grzejników jest większa niż 25°C, rozważ oddzielne źródła ciepła (np. kocioł + pompa ciepła tylko do podłogówki) albo zastosowanie&nbsp;<strong>wymiennika płytowego</strong>&nbsp;z własnym obiegiem pierwotnym. W przeciwnym razie straty na mieszaniu będą zbyt wysokie.</p>



<p>Masz już wiedzę na poziomie pozwalającym na świadomą rozmowę z projektantem. A jeśli chcesz jeszcze głębiej wejść w temat – polecam normę <strong><a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" type="link" id="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a> .</strong></p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/">Czy ogrzewanie podłogowe można podłączyć do grzejników?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-mozna-podlaczyc-do-grzejnikow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 03 Apr 2026 18:14:51 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Budowa i remont]]></category>
		<category><![CDATA[Instalacje budowlane]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Okna]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradnik inwestora]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[dom energooszczędny]]></category>
		<category><![CDATA[duże przeszklenia]]></category>
		<category><![CDATA[izolacja xps]]></category>
		<category><![CDATA[komfort termiczny]]></category>
		<category><![CDATA[konwektory kanałowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[okna panoramiczne]]></category>
		<category><![CDATA[projektowanie instalacji]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[strefa brzegowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4070</guid>

					<description><![CDATA[<p>Współczesna architektura zachwyca ogromnymi przeszkleniami, które otwierają wnętrza na ogród i wpuszczają do środka mnóstwo naturalnego światła. Jednak to, co cieszy oko, bywa sporym wyzwaniem dla inżynierów sanitarnych. Zimne tafle szkła generują zjawisko spływu chłodnego powietrza, co może prowadzić do powstawania nieprzyjemnych przeciągów i dyskomfortu termicznego. Właściwie przygotowany projekt ogrzewania podłogowego do domu z dużymi przeszkleniami musi uwzględniać specyfikę strefy brzegowej, aby skutecznie zniwelować straty ciepła przy oknach tarasowych. W naszym poradniku szczegółowo analizujemy fizykę tego zjawiska, podpowiadamy, jak obliczyć zagęszczenie rur, jaką izolację zastosować oraz kiedy niezbędne okaże się wsparcie w postaci konwektorów kanałowych. Dowiedz się, jak zaprojektować system, który zagwarantuje ciepłe stopy nawet przy panoramicznych oknach w mroźne dni.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Nowoczesna architektura coraz częściej stawia na <strong>duże, przeszklone powierzchnie</strong> okna panoramiczne, przesuwne ściany szklane czy francuskie balkony. Dom zalany światłem wygląda spektakularnie, ale dla instalatora ogrzewania podłogowego staje się prawdziwym wyzwaniem. <em>Gdzie ułożyć pętle grzewcze, skoro zimne szyby „ssą” ciepło z podłogi?</em> W tym artykule pokażę, jak <strong>projekt ogrzewania podłogowego do domu z dużymi przeszkleniami</strong> może skutecznie poradzić sobie ze strefą przy oknach, bez ryzyka chłodnych stóp i przeciągów. Opiszę konkretne techniki projektowe, podam wzory i tabele, a także zaproponuję prosty kalkulator do samodzielnych wyliczeń.</p>



<h2 class="wp-block-heading">Dlaczego strefa przy oknach jest tak problematyczna? Fizyka zjawiska.</h2>



<p>Zanim przejdziemy do rozwiązań, zrozummy wroga. Szyba – nawet ta nowoczesna, trzyszybowa ma <strong>współczynnik przenikania ciepła U</strong> rzędu 0,8–1,1 W/m²K. Ściana zewnętrzna ocieplona 20 cm wełny to około 0,15–0,20 W/m²K. Różnica jest ogromna. Zimą przy temperaturze zewnętrznej -10°C wewnętrzna powierzchnia szyby ma zaledwie 12–14°C (przy standardowym U=1,0). Powietrze przy szybie ochładza się, gęstnieje i opada w dół, tworząc <strong>spływający strumień zimna</strong> (tzw. <em>efekt kominowy</em>).</p>



<p>Gdy podłoga przy oknie jest zbyt zimna (poniżej 21–22°C na powierzchni), czujemy nieprzyjemny dyskomfort stopy wychładzają się nawet przy 22°C w pomieszczeniu. Ogrzewanie podłogowe musi więc dostarczyć tam <strong>dodatkowe ciepło</strong>, które skompensuje straty przez szybę i ogrzeje opadające powietrze.</p>



<h2 class="wp-block-heading"><strong>Gęstość ułożenia rur jako klucz do sukcesu</strong>.</h2>



<p>Najprostsza, a zarazem najskuteczniejsza metoda to <strong>zmienne zagęszczenie <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a></strong>. W głębi pomieszczenia, gdzie straty są małe, stosujemy standardowy rozstaw 10–20 cm. W pasie przy oknie nawet 5 –10 cm.</p>



<h3 class="wp-block-heading">Jak obliczyć potrzebny rozstaw?</h3>



<p>Potrzebujemy dwóch rzeczy:&nbsp;<strong>liniowej straty ciepła przez okno</strong>&nbsp;(na metr bieżący) oraz&nbsp;<strong>zdolności podłogi do oddawania ciepła</strong>&nbsp;w funkcji rozstawu rur.</p>



<p>Przykład:</p>



<ul class="wp-block-list">
<li>Okno: wysokość 2,2 m, U=1,0 W/m²K, temperatura wewnątrz 22°C, zewnątrz -4°C.</li>



<li>Strata ciepła przez 1 m² szyby: q = U * ΔT = 1,0 * 26 = 26 W/m².</li>



<li>Dla okna o wysokości 2,2 m strata&nbsp;<strong>na metr bieżący</strong>&nbsp;wynosi: 26 * 2,2 =&nbsp;<strong>57,2 W/mb</strong>.</li>
</ul>



<p>Dodajmy 30% zapasu na spływ powietrza (efekt bryzy) –&nbsp;<strong>74,4 W/mb</strong>&nbsp;musi dostarczyć podłoga w pasie przy oknie.</p>



<p>Z danych producentów rur  dla różnicy temperatury wody średniej i pomieszczenia 10°C:</p>



<ul class="wp-block-list">
<li>Rozstaw 20 cm → gęstość mocy podłogi ok. 70–80 W/m².</li>



<li>Rozstaw 10 cm → gęstość mocy ok. 140–160 W/m².</li>
</ul>



<p>Przyjmijmy, że pas przyokienny ma szerokość 1,2 m. Wtedy:</p>



<ul class="wp-block-list">
<li>Dla rozstawu 10 cm: 1,2 m * 150 W/m² =&nbsp;<strong>180 W/mb</strong>&nbsp;– z dużym zapasem.</li>



<li>Dla rozstawu 15 cm: 1,2 m * 100 W/m² = 120 W/mb – w sam raz na 74 W/mb.</li>
</ul>



<p>Wniosek: dla okna U=1,0 i wys. 2,2 m wystarczy rozstaw 15 cm w pasie 1,2 m. Dla okna starszego (U=1,4) lub wyższego (3 m) trzeba zejść do 10 cm.</p>



<h2 class="wp-block-heading"><strong>Oddzielne obwody grzewcze dla strefy przyokiennej</strong>.</h2>



<p>Uzgęszczenie rur to jedno, ale bez&nbsp;<strong>niezależnego sterowania</strong>&nbsp;możemy przegrzewać resztę pokoju. Dlatego w projekcie ogrzewania podłogowego do domu z dużymi przeszkleniami warto wydzielić&nbsp;<strong>jeden lub dwa dodatkowe obwody</strong>&nbsp;biegnące wyłącznie wzdłuż okien.</p>



<h3 class="wp-block-heading">Zalety takiego rozwiązania.</h3>



<ul class="wp-block-list">
<li>Możliwość podniesienia temperatury tylko w pasie 0–1,5 m od okna (np. 26°C na powierzchni przy szybie i 23°C w głębi).</li>



<li>Szybsza reakcja na zmiany słoneczne przy nasłonecznieniu można wyłączyć obwód przyokienny, by nie przegrzewać.</li>



<li>Osobny <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">czujnik podłogowy</a> (lub przyklejony do szyby) gdy temperatura szyby spada, obwód automatycznie się włącza.</li>
</ul>



<h3 class="wp-block-heading">Przykład podziału pomieszczenia.</h3>



<p>Salon 50 m² z oknem panoramicznym 8 × 2,4 m. Dzielimy na:</p>



<ul class="wp-block-list">
<li><strong>Obwód A</strong>&nbsp;(główny) – rozstaw 20 cm, obejmuje środek pokoju (ok. 40 m²).</li>



<li><strong>Obwód B</strong>&nbsp;(przyokienny) – rozstaw 12 cm, pas szerokości 1,2 m wzdłuż całego okna (pow. 8*1,2 = 9,6 m²).</li>



<li><strong>Obwód C</strong>&nbsp;(drugi pas, opcjonalnie) – przy bardzo szerokim pomieszczeniu, drugi pas 0,8–1,0 m z rozstawem 15 cm.</li>
</ul>



<p>Do sterowania używamy rozdzielacza z siłownikami i termostatem pokojowym z dwoma wyjściami (lub jednym + czujnikiem podłogowym w strefie B).</p>



<h2 class="wp-block-heading"><strong>Wzmocniona izolacja pod ogrzewaniem przy oknach</strong>.</h2>



<p>Często pomijany, a kluczowy detal. Podłoga przy oknie graniczy ze strefą mostka termicznego zwłaszcza przy dużych przeszkleniach do posadzki. Nawet jeśli okno jest dobrze osadzone, <strong>strefa przy progu</strong> ma niższą temperaturę od spodu.</p>



<h3 class="wp-block-heading">Jak to policzyć?</h3>



<p>Standardowa podłoga na gruncie: izolacja 10–12 cm EPS. Ale przy oknie strumień ciepła może uciekać na zewnątrz przez boczny mostek. W projekcie należy zastosować&nbsp;<strong>wydłużoną drogę strumienia ciepła</strong>&nbsp;– np. XPS o grubości 15–20 cm na szerokość 1,5 m od okna.</p>



<p>Przykład:</p>



<ul class="wp-block-list">
<li>Bez wzmocnienia: strata dodatkowa przez krawędź – szacunkowo 5–10 W/mb.</li>



<li>Z XPS 15 cm: strata zmniejszona do 2–3 W/mb.</li>
</ul>



<p>Różnica niewielka, ale w połączeniu z zagęszczeniem rur daje komfort i oszczędność energii.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-header-title {
    text-align: center;
    margin-bottom: 30px;
}

.table-header-title h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.table-header-title p {
    color: #64748b;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

/* Wyróżnienie kolumny "Przy oknie" */
.premium-table td:nth-child(3) {
    font-weight: 700;
    color: var(--accent);
    background: rgba(37, 99, 235, 0.02);
}

/* Wyróżnienie "Brak" lub pauzy */
.empty-val {
    color: #cbd5e1;
}

/* STYLOWANIE IKON W TABELI */
.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section {
        padding: 0 15px;
    }

    .table-container {
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .premium-table thead {
        display: none;
    }

    .premium-table, 
    .premium-table tbody, 
    .premium-table tr, 
    .premium-table td {
        display: block;
        width: 100%;
    }

    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table tr:hover {
        background: #ffffff;
        transform: translateY(-2px);
        transition: transform 0.3s ease;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px; /* Zapewnia miejsce dla flexboxa */
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding-left: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child {
        border-bottom: none;
    }

    /* Wyłączamy przedrostki data-label dla pierwszego wiersza, bo tam jest tytuł z ikoną */
    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
    
    .premium-table td:nth-child(3) {
        background: #eff6ff;
        border-top: 2px dashed #bfdbfe;
    }
}
</style>

<div class="premium-table-section" id="premium-table-app">
    <div class="table-header-title">
        <h2>Rekomendowane grubości izolacji przy oknie</h2>
        <p>Porównanie standardowej podłogi z pasem brzegowym. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Dane opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Typ okna / podłoża</th>
                    <th>Standard w głębi</th>
                    <th>Przy oknie (pas 1,5 m)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f1.png" alt="🧱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Podłoga na gruncie (grunt suchy)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">EPS 10 cm</td>
                    <td data-label="Przy oknie">XPS 15 cm</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Podłoga na gruncie (grunt wilgotny)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">EPS 12 cm + folia</td>
                    <td data-label="Przy oknie">XPS 20 cm</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2744.png" alt="❄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Strop nad nieogrzewaną piwnicą</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi">Wełna 12 cm</td>
                    <td data-label="Przy oknie">Wełna 18 cm + jastrych</td>
                </tr>
                <tr>
                    <td data-label="Typ okna / podłoża">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Płyta balkonowa (mostek liniowy)</strong>
                        </div>
                    </td>
                    <td data-label="Standard w głębi"><span class="empty-val">—</span></td>
                    <td data-label="Przy oknie">XPS 20 cm + izolacja</td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('premium-table-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ta tabela i wytyczne są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<p><em>XPS lepszy od EPS przy oknie, bo ma wyższą wytrzymałość na ściskanie i niższe nasiąkanie.</em></p>



<h2 class="wp-block-heading"><strong>Konwektory kanałowe jako wsparcie lub alternatywa</strong>.</h2>



<p>Są sytuacje, gdy samo ogrzewanie podłogowe nie da rady. Dotyczy to szczególnie okien&nbsp;<strong>od podłogi do sufitu</strong>&nbsp;(wysokość 2,5–3 m) lub gdy U szyby jest gorsze niż 1,0. Wtedy straty liniowe przekraczają 100 W/mb, a przy rozstawie 10 cm i pasie 1,2 m uzyskamy maksymalnie 180 W/mb – teoretycznie starczy, ale podłoga będzie bardzo gorąca (ponad 28°C), co jest nieprzyjemne i może uszkodzić niektóre pokrycia.</p>



<h3 class="wp-block-heading">Rozwiązanie: konwektor kanałowy (listwa grzewcza).</h3>



<p>Montuje się go w posadzce, tuż przed oknem (5–15 cm od szyby). Działa jak <strong>kurtyna ciepła</strong> ogrzane powietrze unosi się wzdłuż szyby, przerywając spływ zimnego strumienia.</p>



<p>Parametry typowego konwektora (np. Kermi, Jaga):</p>



<ul class="wp-block-list">
<li>Wysokość kanału: 8–15 cm (musi zmieścić się w wylewce).</li>



<li>Moc liniowa: 150–300 W/mb przy ΔT = 50°C (woda 70/50°C).</li>



<li>Dla niskotemperaturowego ogrzewania podłogowego (woda 35/28°C) moc spada do 50–100 W/mb – wtedy konwektor nie zastąpi podłogi, ale ją wspomoże.</li>
</ul>



<h3 class="wp-block-heading">Kiedy stosować konwektor zamiast zagęszczania pętli? (H3)</h3>



<ul class="wp-block-list">
<li>Okna o wysokości powyżej 2,7 m (np. lofty).</li>



<li>Gdy podłoga jest drewniana (dąb, jesion) bo przy zagęszczonych pętlach może się odkształcić.</li>



<li>W pomieszczeniach, gdzie nie chcemy tracić 1,2 m pasa na gęste rury (np. mały pokój).</li>
</ul>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-text-content {
    max-width: 800px;
    margin: 0 auto 30px auto;
    text-align: center;
}

.table-text-content h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 15px 0;
    color: var(--primary);
}

.table-text-content p {
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    margin-bottom: 30px;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

/* Wyróżnienie wartości R */
.premium-table td:nth-child(3) {
    font-weight: 800;
    color: var(--primary);
}

/* STYLOWANIE IKON */
.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
}

/* ODZNAKI (BADGES) DLA UWAG */
.status-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.badge-good {
    background: #dcfce7;
    color: #166534;
}

.badge-warn {
    background: #ffedd5;
    color: #9a3412;
}

.badge-bad {
    background: #fee2e2;
    color: #991b1b;
}

.table-outro {
    background: #eff6ff;
    padding: 20px 30px;
    border-radius: 16px;
    border-left: 4px solid var(--accent);
    color: #1e3a8a;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section {
        padding: 0 15px;
    }

    .table-container {
        background: transparent;
        box-shadow: none;
        border: none;
    }

    .premium-table thead {
        display: none;
    }

    .premium-table, 
    .premium-table tbody, 
    .premium-table tr, 
    .premium-table td {
        display: block;
        width: 100%;
    }

    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table tr:hover {
        background: #ffffff;
        transform: translateY(-2px);
        transition: transform 0.3s ease;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child {
        border-bottom: none;
    }

    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
}
</style>

<div class="premium-table-section" id="premium-table-coverings">
    
    <div class="table-text-content">
        <h2>Dobór pokrycia podłogowego – to ma znaczenie</h2>
        <p>Nie każde pokrycie nadaje się do strefy przyokiennej z gęstymi rurami. <strong>Opór cieplny pokrycia (R)</strong> powinien być jak najmniejszy – wtedy ciepło szybko dociera do powierzchni okna, blokując spływający chłód. <br><br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Tabela opracowana przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Pokrycie</th>
                    <th>Grubość</th>
                    <th>R (m²K/W)</th>
                    <th>Uwagi</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a0.png" alt="💠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Płytki gresowe</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1 cm</td>
                    <td data-label="R (m²K/W)">~0,02</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Idealne przy oknach</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1faa8.png" alt="🪨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Kamień naturalny (marmur)</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">2 cm</td>
                    <td data-label="R (m²K/W)">~0,03</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Bardzo dobre</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Panele winylowe LVT</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">4–6 mm</td>
                    <td data-label="R (m²K/W)">0,01–0,02</td>
                    <td data-label="Uwagi"><span class="status-badge badge-good">Dobre, szybka reakcja</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fab5.png" alt="🪵" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Panele laminowane</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">8 mm</td>
                    <td data-label="R (m²K/W)">0,05–0,07</td>
                    <td data-label="Uwagi"><span class="status-badge badge-warn">Umiarkowane (lepiej unikać przy oknie)</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f333.png" alt="🌳" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Deska drewniana (dąb)</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1,5 cm</td>
                    <td data-label="R (m²K/W)">0,10–0,12</td>
                    <td data-label="Uwagi"><span class="status-badge badge-bad">Złe – blokuje ciepło, ryzyko spękań</span></td>
                </tr>
                <tr>
                    <td data-label="Pokrycie">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f6.png" alt="🧶" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>Dywan</strong>
                        </div>
                    </td>
                    <td data-label="Grubość">1 cm (wysoki)</td>
                    <td data-label="R (m²K/W)">0,15–0,25</td>
                    <td data-label="Uwagi"><span class="status-badge badge-bad">Absolutnie nie przy oknie!</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="table-outro">
        <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Wskazówka eksperta:</strong> W strefie przyokiennej zalecamy gres lub kamień – nawet jeśli reszta pokoju ma panele czy deskę. Można to elegancko rozwiązać, robiąc wizualne oddzielenie stref za pomocą minimalistycznej listwy przejściowej.
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('premium-table-coverings').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ta tabela i wytyczne są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading"><strong>Sterowanie z kompensacją i czujnikami przy szybie</strong>.</h2>



<p>Tradycyjny <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostat pokojowy</a> reaguje na temperaturę powietrza w środku pomieszczenia. Przy dużych oknach to za mało bo strefa przy szybie może być o 3–5°C zimniejsza, zanim termostat zareaguje.</p>



<h3 class="wp-block-heading">Nowoczesne podejście.</h3>



<p>Zastosuj regulator pogodowy z czujnikiem&nbsp;<strong>przypowierzchniowym</strong>&nbsp;na szybie (lub w posadzce przy oknie). Na rynku dostępne są systemy, np.:</p>



<ul class="wp-block-list">
<li><strong>Danfoss Icon</strong>&nbsp;z czujnikiem okiennym (OZ).</li>



<li><strong>Uponor Smatrix</strong>&nbsp;z możliwością podłączenia czujnika zewnętrznego i wewnętrznego w strefie brzegowej.</li>



<li><strong>Salus Controls</strong>&nbsp;z bezprzewodowym czujnikiem przyklejanym do szyby.</li>
</ul>



<p>Algorytm: gdy temperatura szyby spada poniżej 12°C (przy zewnętrznej -5°C), regulator zwiększa temperaturę w obwodzie przyokiennym o 5–10°C. Dzięki temu podłoga oddaje więcej ciepła dokładnie wtedy, gdy jest potrzebne.</p>



<h2 class="wp-block-heading"><strong>Przykład obliczeniowy – projekt krok po kroku</strong>.</h2>



<p>Zaprojektujmy <a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">ogrzewanie podłogowe</a> dla salonu 35 m² z oknem 5 × 2,2 m (U=0,9 W/m²K). Temperatura zewnętrzna obliczeniowa -16°C (Polska, III strefa), wewnętrzna 22°C.</p>



<h3 class="wp-block-heading">Krok 1: Straty przez okno</h3>



<p>ΔT = 22 &#8211; (-16) = 38 K<br>Straty przez szybę: 0,9 * 38 = 34,2 W/m²<br>Dla całego okna (5*2,2=11 m²): 34,2 * 11 = 376 W<br>Na metr bieżący: 376 / 5 =&nbsp;<strong>75,2 W/mb</strong></p>



<p>Dodajemy 30% na spływ powietrza: 75,2 * 1,3 = <strong>98 W/mb</strong> tyle musi dostarczyć podłoga w pasie przy oknie.</p>



<h3 class="wp-block-heading">Krok 2: Wybór metody</h3>



<p>Mamy do dyspozycji pas o szerokości 1,2 m. Jaka gęstość mocy podłogi jest potrzebna?<br>98 W/mb / 1,2 m =&nbsp;<strong>81,7 W/m²</strong>&nbsp;w pasie.</p>



<p>Sprawdzamy, jaki rozstaw rur da taką gęstość przy typowej ΔT (woda – pomieszczenie) = 8°C (woda 35/27°C, średnia 31°C, pom. 22°C, różnica 9°C). Z danych producenta:</p>



<ul class="wp-block-list">
<li>Rozstaw 15 cm → ok. 100 W/m²</li>



<li>Rozstaw 20 cm → ok. 70 W/m²</li>
</ul>



<p>Przyjmujemy&nbsp;<strong>rozstaw 15 cm</strong>&nbsp;w pasie 1,2 m. Reszta pomieszczenia (poza pasem) może mieć 20 cm.</p>



<h3 class="wp-block-heading">Krok 3: Długość rur i zapotrzebowanie na moc</h3>



<p>Pas przyokienny: powierzchnia 5 m * 1,2 m = 6 m².<br>Rury co 15 cm: na 1 m² potrzeba ok. 6,7 mb rury (1 / 0,15).<br>Łącznie: 6 * 6,7 =&nbsp;<strong>40,2 mb</strong>&nbsp;w jednym obwodzie – idealnie (obwód nie powinien przekraczać 100 mb).</p>



<p>Reszta salonu: 35 &#8211; 6 = 29 m², rozstaw 20 cm → 5 mb/m² → 145 mb. Dzielimy na dwa obwody po 72,5 mb.</p>



<h3 class="wp-block-heading">Krok 4: Izolacja przy oknie</h3>



<p>Podłoga na gruncie. Standardowo EPS 10 cm, ale przy oknie dokładamy pas XPS 15 cm (szer. 1,5 m) pod rury. Dodatkowo izolacja krawędziowa przy szybie z pianki PUR.</p>



<h3 class="wp-block-heading">Krok 5: Pokrycie</h3>



<p>W pasie przyokiennym <strong>gres 1 cm</strong> (R=0,02). Reszta panele winylowe LVT (R=0,01). Bez dywanów.</p>



<h2 class="wp-block-heading"><strong>Kalkulator – jak samodzielnie dobrać zagęszczenie rur przy oknie</strong>.</h2>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.screed-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 12px 6px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 400;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--success); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--accent); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right;}

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; margin-bottom: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card.full-width { grid-column: 1 / -1; background: rgba(37, 99, 235, 0.2); }
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card.full-width span { color: #bfdbfe; }
.mini-card strong { font-size: 20px; color: #fff; font-weight: 900; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
    .type-selector { grid-template-columns: repeat(2, 1fr); }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator strefy brzegowej: Rozstaw rur przy oknie</h2>
    <p>Zimne stopy przy dużych przeszkleniach to przeszłość! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a> bazujące na fizyce budowli. Podaj parametry swojego okna, a kalkulator wyliczy wymaganą moc podłogi, zapotrzebowanie na rurę oraz optymalny rozstaw.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            
            <span class="section-title">1. Parametry okna</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Współczynnik przenikania szyby (U)</label><span class="val-badge"><span id="v-u">0.9</span> W/m²K</span></div>
                <input type="range" id="u-val" min="0.5" max="1.8" step="0.1" value="0.9">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Wysokość okna (od podłogi)</label><span class="val-badge"><span id="v-height">2.2</span> m</span></div>
                <input type="range" id="height-val" min="1.5" max="6.0" step="0.1" value="2.2">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Szerokość okna</label><span class="val-badge"><span id="v-win-width">3.0</span> m</span></div>
                <input type="range" id="win-width-val" min="1.0" max="10.0" step="0.5" value="3.0">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Długość wnęki okiennej (pozwala obliczyć ilość rury).</div>
            </div>

            <span class="section-title">2. Geometria strefy brzegowej</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Szerokość pasa przyokiennego</label><span class="val-badge"><span id="v-width">1.2</span> m</span></div>
                <input type="range" id="width-val" min="0.5" max="2.0" step="0.1" value="1.2">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Odległość, na jaką strefa &#8222;wchodzi&#8221; w głąb pomieszczenia.</div>
            </div>

            <span class="section-title">3. Temperatury projektowe</span>
            <div class="input-wrap" style="margin-bottom: 15px;">
                <div class="input-label-row"><label>Oczekiwana temp. wewnątrz</label><span class="val-badge"><span id="v-tin">22</span> °C</span></div>
                <input type="range" id="tin-val" min="18" max="25" step="1" value="22">
            </div>
            
            <div style="font-size: 14px; font-weight: 600; margin-bottom: 8px;">Temperatura zewnętrzna (Strefa klimatyczna)</div>
            <div class="type-selector">
                <div class="type-btn" id="btn-tz-16" data-tz="-16">-16 °C<span>Strefa I, II, III</span></div>
                <div class="type-btn active" id="btn-tz-18" data-tz="-18">-18 °C<span>Strefa IV</span></div>
                <div class="type-btn" id="btn-tz-20" data-tz="-20">-20 °C<span>Strefa V</span></div>
                <div class="type-btn" id="btn-tz-22" data-tz="-22">-22 °C<span>Góry / Suwałki</span></div>
            </div>
            
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Wymagana moc podłogi w strefie brzegowej</span>
                <span class="score-num" id="resPower">&#8212;</span>
                <span class="score-label">W/m²</span>
                <div id="risk-msg"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="material-grid">
                    <div class="mini-card full-width">
                        <span>Zalecany rozstaw rur w strefie brzegowej:</span>
                        <strong id="resSpacing" style="color:#60a5fa;">&#8212;</strong>
                    </div>
                    <div class="mini-card">
                        <span>Długość rur w strefie:</span>
                        <strong id="resPipeTotal">&#8212; mb</strong>
                    </div>
                    <div class="mini-card">
                        <span>Ilość obwodów (pętli):</span>
                        <strong id="resLoops">&#8212;</strong>
                    </div>
                </div>
                
                <div class="tech-item"><span>Całkowita strata cieplna przez okno:</span><strong id="resTotalWindowLoss" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span>Powierzchnia strefy brzegowej:</span><strong id="resZoneArea">&#8212;</strong></div>
                <div class="tech-item" style="border:none;"><span>Strata bazowa z 1 metra bież. okna:</span><strong id="resBaseLoss">&#8212;</strong></div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; line-height: 1.5;">
                <strong>Wskazówka:</strong> Wyliczenia zakładają standardową temperaturę zasilania podłogówki (ΔT wody i powietrza ok. 8-10°C). Dla optymalnego przekazywania ciepła zastosuj w tej strefie wykończenie z płytek gresowych lub kamienia (R ≈ 0.02 m²K/W). Jedna pętla nie powinna przekraczać ok. 90-100mb.
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Nie zgaduj przy dużych oknach!</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zbyt rzadki rozstaw lub za długa pętla to gwarancja problemów. Zleć nam profesjonalny projekt, w którym wyliczymy opory hydrauliczne i zaprojektujemy dedykowane obwody z odpowiednim przepływem.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('screed-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">&#x1f512;</span>' +
                '<h' + '3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h' + '3>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>' +
                '</div>';
        }
        return; 
    }

    var tz = -18; 

    function updateCalc() {
        var uEl = document.getElementById('u-val');
        var hEl = document.getElementById('height-val');
        var winWidthEl = document.getElementById('win-width-val');
        var wEl = document.getElementById('width-val');
        var tinEl = document.getElementById('tin-val');
        
        if(!uEl || !hEl || !winWidthEl || !wEl || !tinEl) return;

        var u = parseFloat(uEl.value);
        var h = parseFloat(hEl.value);
        var winW = parseFloat(winWidthEl.value);
        var s = parseFloat(wEl.value);
        var tin = parseFloat(tinEl.value);
        
        document.getElementById('v-u').innerText = u.toFixed(1);
        document.getElementById('v-height').innerText = h.toFixed(1);
        document.getElementById('v-win-width').innerText = winW.toFixed(1);
        document.getElementById('v-width').innerText = s.toFixed(1);
        document.getElementById('v-tin').innerText = tin;

        // Obliczenia fizyczne
        var deltaT = tin - tz;
        var baseLossM = u * deltaT * h; // Strata bazowa na 1 mb okna
        var totalLossM = baseLossM * 1.3; // Zapotrzebowanie z zapasem (na bryzę) na mb
        var reqPower = totalLossM / s; // Moc na m2 w strefie
        
        var totalWindowLoss = baseLossM * winW; // Całkowita strata samego okna (W)
        var zoneArea = winW * s; // Powierzchnia strefy brzegowej (m2)

        // Wypisywanie do UI statystyk ogólnych
        document.getElementById('resBaseLoss').innerText = baseLossM.toFixed(0) + ' W/mb';
        document.getElementById('resTotalWindowLoss').innerText = totalWindowLoss.toFixed(0) + ' W';
        document.getElementById('resZoneArea').innerText = zoneArea.toFixed(1) + ' m²';
        document.getElementById('resPower').innerText = reqPower.toFixed(0);

        // Ustalenie rozstawu rur i mnożnika rury na m2
        var spacing = "";
        var pipePerM2 = 0;
        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (reqPower > 160) {
            spacing = "7.5 cm (lub konwektor)";
            pipePerM2 = 13.3;
            warnings.push('&#x26a0; Moc krytyczna! Sama podłogówka może nie wystarczyć (ryzyko gorącej posadzki). Rozważ grzejnik kanałowy lub rozstaw rur 7.5 cm.');
            boxColor = 'var(--danger)';
        } else if (reqPower > 130) {
            spacing = "10 cm";
            pipePerM2 = 10.0;
            boxColor = 'var(--warning)';
        } else if (reqPower > 110) {
            spacing = "12.5 cm";
            pipePerM2 = 8.0;
        } else if (reqPower > 80) {
            spacing = "15 cm";
            pipePerM2 = 6.7;
        } else {
            spacing = "20 cm";
            pipePerM2 = 5.0;
        }

        // Obliczenia materiałowe
        var totalPipe = zoneArea * pipePerM2;
        var loopCount = 1;

        if (totalPipe > 95) {
            loopCount = Math.ceil(totalPipe / 80); // Dzielimy na pętle po ok 80m dla strefy gęstej
            warnings.push('&#x26a0; Ze względu na dużą ilość rury (' + Math.round(totalPipe) + ' mb), strefę należy rozdzielić na ' + loopCount + ' niezależne obwody na rozdzielaczu, aby uniknąć dławienia przepływu.');
            if(boxColor === 'var(--success)') boxColor = 'var(--warning)';
        }

        if (s < 1.0) {
            warnings.push('&#x2139; Pas przyokienny jest dość wąski. Zwiększenie go do 1.2m odciąży posadzkę i pozwoli zwiększyć rozstaw rur.');
        }

        document.getElementById('resSpacing').innerText = spacing;
        document.getElementById('resPipeTotal').innerText = Math.round(totalPipe);
        document.getElementById('resLoops').innerText = loopCount;

        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderBottomColor = boxColor;
        document.getElementById('resPower').style.color = (boxColor === 'var(--success)') ? 'var(--accent)' : boxColor;
    }

    var tzButtons = ['btn-tz-16', 'btn-tz-18', 'btn-tz-20', 'btn-tz-22'];
    for (var i = 0; i < tzButtons.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    tz = parseFloat(e.currentTarget.getAttribute('data-tz'));
                    for(var j = 0; j < tzButtons.length; j++) {
                        var el = document.getElementById(tzButtons[j]);
                        if(el) el.classList.remove('active');
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(tzButtons[i]);
    }

    var inputs = ['u-val', 'height-val', 'win-width-val', 'width-val', 'tin-val'];
    inputs.forEach(function(id) {
        var el = document.getElementById(id);
        if(el) el.addEventListener('input', updateCalc);
    });

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var u = document.getElementById('v-u').innerText;
            var h = document.getElementById('v-height').innerText;
            var winW = document.getElementById('v-win-width').innerText;
            var s = document.getElementById('v-width').innerText;
            var tin = document.getElementById('v-tin').innerText;
            
            var power = document.getElementById('resPower').innerText;
            var spacing = document.getElementById('resSpacing').innerText;
            var totalLoss = document.getElementById('resTotalWindowLoss').innerText;
            var pipe = document.getElementById('resPipeTotal').innerText;
            var loops = document.getElementById('resLoops').innerText;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Strefa brzegowa podłogówki');
            
            var bodyText = 'Dzień dobry,\n\nSkorzystałem z Państwa kalkulatora strefy brzegowej. Oto parametry mojego przeszklenia:\n\n' +
                           '• Współczynnik U okna: ' + u + ' W/m²K\n' +
                           '• Wymiary okna: ' + winW + 'm szerokości x ' + h + 'm wysokości\n' +
                           '• Założony pas przyokienny: ' + s + ' m\n' +
                           '• Temp. zewn.: ' + tz + '°C, Temp. wewn.: ' + tin + '°C\n\n' +
                           'WYNIKI Z KALKULATORA:\n' +
                           '• Całkowita strata okna: ' + totalLoss + '\n' +
                           '• Wymagana moc w strefie: ' + power + ' W/m²\n' +
                           '• Sugerowany rozstaw rur: ' + spacing + '\n' +
                           '• Zapotrzebowanie na rurę: ' + pipe + ' mb (' + loops + ' pętli)\n\n' +
                           'Proszę o kontakt w sprawie wyceny profesjonalnego projektu instalacji.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-table-section {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    padding: 0 20px;
}

.table-text-content {
    max-width: 800px;
    margin: 0 auto 30px auto;
    text-align: center;
}

.table-text-content h2 {
    font-size: 28px;
    font-weight: 800;
    margin: 0 0 15px 0;
    color: var(--primary);
}

.table-text-content p {
    color: #475569;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

/* KARTA WZORU */
.formula-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.math-formula {
    background: #eff6ff;
    padding: 20px 40px;
    border-radius: 16px;
    font-size: 22px;
    font-weight: 700;
    color: var(--accent);
    display: inline-flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    border: 2px dashed #bfdbfe;
}

.math-fraction {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    vertical-align: middle;
}

.math-numerator {
    border-bottom: 3px solid var(--accent);
    padding: 0 10px 5px 10px;
}

.math-denominator {
    padding: 5px 10px 0 10px;
}

.variables-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    width: 100%;
    max-width: 800px;
}

.var-item {
    background: var(--bg-light);
    padding: 12px 15px;
    border-radius: 12px;
    font-size: 14px;
    color: #475569;
    display: flex;
    align-items: center;
}

.var-item strong {
    color: var(--primary);
    font-size: 16px;
    min-width: 40px;
    display: inline-block;
}

/* TABELA */
.table-container {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    margin-bottom: 30px;
}

.premium-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.premium-table thead {
    background: var(--bg-light);
    border-bottom: 2px solid #e2e8f0;
}

.premium-table th {
    padding: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
}

.premium-table tbody tr {
    border-bottom: 1px solid #f1f5f9;
    transition: background-color 0.2s ease;
}

.premium-table tbody tr:last-child {
    border-bottom: none;
}

.premium-table tbody tr:hover {
    background-color: #f8fafc;
}

.premium-table td {
    padding: 20px;
    font-size: 15px;
    color: #475569;
    vertical-align: middle;
}

.premium-table td:nth-child(2),
.premium-table td:nth-child(3) {
    font-weight: 700;
    color: var(--primary);
}

.row-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.row-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--bg-light);
    border-radius: 10px;
    font-size: 18px;
    border: 1px solid #e2e8f0;
    flex-shrink: 0;
    font-weight: normal;
}

.table-outro {
    background: #f8fafc;
    padding: 25px 30px;
    border-radius: 16px;
    border-left: 4px solid var(--success);
    color: #334155;
    font-size: 15px;
    line-height: 1.6;
}

.calc-example {
    background: #ffffff;
    padding: 15px;
    border-radius: 10px;
    font-family: monospace;
    font-size: 14px;
    color: var(--accent);
    margin-top: 15px;
    border: 1px solid #e2e8f0;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .premium-table-section { padding: 0 15px; }
    .variables-grid { grid-template-columns: 1fr; }
    .math-formula { flex-direction: column; font-size: 18px; padding: 15px; text-align: center; }
    
    .table-container { background: transparent; box-shadow: none; border: none; }
    .premium-table thead { display: none; }
    .premium-table, .premium-table tbody, .premium-table tr, .premium-table td { display: block; width: 100%; }
    
    .premium-table tr {
        background: #ffffff;
        margin-bottom: 20px;
        border-radius: 16px;
        box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.08);
        border: 1px solid #f1f5f9;
        overflow: hidden;
    }

    .premium-table td {
        padding: 15px 20px 15px 45%;
        text-align: right;
        position: relative;
        border-bottom: 1px solid #f1f5f9;
        font-size: 14px;
        min-height: 50px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .premium-table td:first-child {
        padding: 20px;
        text-align: left;
        justify-content: flex-start;
        background: var(--bg-light);
        border-bottom: 2px solid #e2e8f0;
    }

    .premium-table td:last-child { border-bottom: none; }

    .premium-table td:not(:first-child)::before {
        content: attr(data-label);
        position: absolute;
        left: 20px;
        width: 40%;
        text-align: left;
        font-size: 11px;
        font-weight: 800;
        text-transform: uppercase;
        color: #94a3b8;
        display: flex;
        align-items: center;
        height: 100%;
        top: 0;
    }
}
</style>

<div class="premium-table-section" id="premium-table-power">
    
    <div class="table-text-content">
        <h2>Jak obliczyć wymaganą moc podłogi?</h2>
        <p>Skorzystaj z poniższego wzoru, aby dokładnie ustalić, ile ciepła musi wygenerować podłoga w strefie brzegowej. <br><br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie autorskie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="formula-card">
        <div class="math-formula">
            <span>Q<sub>pas</sub> =</span>
            <div class="math-fraction">
                <span class="math-numerator">U · (T<sub>w</sub> - T<sub>z</sub>) · H · 1,3</span>
                <span class="math-denominator">S</span>
            </div>
        </div>

        <div class="variables-grid">
            <div class="var-item"><strong>U</strong> współczynnik przenikania okna (W/m²K)</div>
            <div class="var-item"><strong>T<sub>w</sub></strong> temperatura wewnętrzna (np. 22°C)</div>
            <div class="var-item"><strong>T<sub>z</sub></strong> temperatura zewn. (dla lokalizacji, np. -16°C)</div>
            <div class="var-item"><strong>H</strong> wysokość okna (w metrach)</div>
            <div class="var-item"><strong>1,3</strong> stały współczynnik spływu powietrza (bryzy)</div>
            <div class="var-item"><strong>S</strong> szerokość pasa przyokiennego (zazwyczaj 1,0–1,5 m)</div>
        </div>
    </div>

    <div class="table-container">
        <table class="premium-table">
            <thead>
                <tr>
                    <th>Rozstaw rur (cm)</th>
                    <th>Moc podłogi (W/m²) przy ΔT = 8°C</th>
                    <th>Moc podłogi (W/m²) przy ΔT = 10°C</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>7,5 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">180–200 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">220–250 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>10 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">140–160 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">170–200 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>12,5 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">110–130 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">140–160 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>15 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">90–110 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">110–130 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>20 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">65–80 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">80–100 W/m²</td>
                </tr>
                <tr>
                    <td data-label="Rozstaw rur (cm)">
                        <div class="row-title-wrap">
                            <div class="row-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                            <strong>25 cm</strong>
                        </div>
                    </td>
                    <td data-label="Moc (ΔT = 8°C)">50–65 W/m²</td>
                    <td data-label="Moc (ΔT = 10°C)">60–80 W/m²</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="table-outro">
        <strong>Praktyczny przykład kalkulacji:</strong><br>
        Mamy okno o parametrach: <strong>U = 0,9</strong>, Temp. wewnętrzna <strong>(T<sub>w</sub>) = 22°C</strong>, Temp. zewnętrzna <strong>(T<sub>z</sub>) = -16°C</strong>, Wysokość okna <strong>(H) = 2,2 m</strong>, Szerokość pasa <strong>(S) = 1,2 m</strong>.
        
        <div class="calc-example">
            Q<sub>pas</sub> = (0,9 * 38 * 2,2 * 1,3) / 1,2<br><br>
            1. Różnica temp: 22 - (-16) = 38°C<br>
            2. Strata bazowa: 0,9 * 38 * 2,2 = 75,24 W/mb<br>
            3. Efekt bryzy (+30%): 75,24 * 1,3 = 97,8 W/mb<br>
            4. Podział na pas 1,2m: 97,8 / 1,2 = <strong>81,5 W/m²</strong>
        </div>
        
        <br><strong>Wniosek:</strong> Zaglądając do tabeli dla różnicy ΔT = 8°C, widzimy, że wynik 81,5 W/m² idealnie wpasowuje się w <strong>rozstaw rur 15 cm</strong> (który generuje 90–110 W/m²).
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('premium-table-power').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten wzór i tabele są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 420px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

.chart-conclusion .text-accent { color: var(--accent); font-weight: 700; }
.chart-conclusion .text-success { color: var(--success); font-weight: 700; }

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 350px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Wpływ rozstawu rur na temperaturę podłogi przy oknie</h3>
        <p>Parametry: Temp. wody 35°C | Temp. wewn. 22°C | Pokrycie: Gres 1 cm <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="screedHeatingChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Bez zagęszczenia (Krzywa A) strefa 0–50 cm od okna jest zbyt zimna (poniżej 22°C), co wywołuje uczucie przeciągu. <span class="text-accent">Zagęszczenie do 10 cm (Krzywa B)</span> podnosi temperaturę do komfortowych 26°C. Zastosowanie <span class="text-success">konwektora kanałowego (Krzywa C)</span> odcina chłód szybciej, pozwalając na utrzymanie niższej temperatury samej posadzki (23°C).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('chart-app-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('screedHeatingChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    // Oś X: Odległość od okna w centymetrach
    const distances = [0, 10, 30, 50, 70, 100, 120, 150];
    
    // Krzywa A (Rozstaw 20 cm) - Zbyt zimno przy oknie
    const tempA = [20.2, 21.0, 22.1, 23.0, 23.6, 24.0, 24.0, 24.0];
    
    // Krzywa B (Rozstaw 10 cm, pas 1,2 m) - Komfort
    const tempB = [26.0, 25.8, 25.3, 24.8, 24.4, 24.0, 24.0, 24.0];
    
    // Krzywa C (Konwektor + rozstaw 10 cm) - Optymalnie z konwektorem
    const tempC = [23.0, 23.3, 23.6, 23.8, 24.0, 24.0, 24.0, 24.0];

    // Granica komfortu stała 22 stopnie
    const limitLine = [22, 22, 22, 22, 22, 22, 22, 22];

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: distances.map(d => d + ' cm'),
            datasets: [
                {
                    label: 'Krzywa B (Rozstaw 10 cm w pasie 1,2m)',
                    data: tempB,
                    borderColor: '#2563eb', 
                    backgroundColor: '#2563eb',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Krzywa C (Rozstaw 10 cm + Konwektor)',
                    data: tempC,
                    borderColor: '#16a34a', 
                    backgroundColor: '#16a34a',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#16a34a',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Krzywa A (Standard 20 cm - Brak strefy)',
                    data: tempA,
                    borderColor: '#ea580c', 
                    backgroundColor: '#ea580c',
                    borderWidth: 3,
                    fill: false,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#ea580c',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 7
                },
                {
                    label: 'Granica komfortu cieplnego (22°C)',
                    data: limitLine,
                    borderColor: '#94a3b8',
                    borderWidth: 2,
                    borderDash: [5, 5],
                    fill: false,
                    pointRadius: 0,
                    pointHoverRadius: 0
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 12, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 15
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 13, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 12,
                    displayColors: true,
                    callbacks: {
                        title: function(context) {
                            return 'Odległość od okna: ' + context[0].label;
                        },
                        label: function(context) {
                            let val = context.parsed.y;
                            return context.dataset.label.split(' (')[0] + ': ' + val.toFixed(1) + ' °C';
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: {
                        display: false
                    },
                    ticks: {
                        font: { family: 'Inter', size: 12, weight: '500' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Odległość od szyby (cm)',
                        font: { family: 'Inter', size: 13, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 19,
                    max: 27,
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 1,
                        font: { family: 'Inter', size: 12 },
                        color: '#64748b',
                        callback: function(value) {
                            return value + ' °C';
                        }
                    },
                    title: {
                        display: true,
                        text: 'Temperatura powierzchni',
                        font: { family: 'Inter', size: 13, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego w kontekście dużych przeszkleń.</h2>



<p><em><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> do domu z dużymi przeszkleniami</em> nie może być traktowany jak zwykła instalacja. Wymaga <strong>holistycznego spojrzenia</strong> od izolacji fundamentów, przez dobór okien, aż po sterowanie. W mojej praktyce najczęstszym błędem jest kopiowanie standardowego rozstawu rur (15–20 cm) bez uwzględnienia strefy brzegowej. Prowadzi to do wiecznych reklamacji: <em>„przy oknach jest zimno, a w środku duszno”</em>. Prawidłowy projekt to taki, w którym:</p>



<ul class="wp-block-list">
<li>Wykonuje się&nbsp;<strong>obliczenia strat liniowych</strong>&nbsp;dla każdego przeszklenia z osobna.</li>



<li>Projektuje się&nbsp;<strong>minimum dwa obwody na pomieszczenie</strong>&nbsp;– główny i przyokienny.</li>



<li>Stosuje się&nbsp;<strong>zmienne rozstawy</strong>&nbsp;– gęstsze przy oknach, rzadsze w głębi.</li>



<li>Uwzględnia się&nbsp;<strong>rodzaj podłogi</strong>&nbsp;– przy drewnie lub dywanie konieczny konwektor.</li>



<li>Instaluje się&nbsp;<strong>czujniki temperatury</strong>&nbsp;w posadzce przy oknie lub na szybie.</li>
</ul>



<p>Przykład zrealizowanego projektu: dom pasywny w okolicy Poznania, salon z oknami 6 × 2,5 m (U=0,7). Obliczenia wykazały stratę 65 W/mb. Zastosowano pas o szerokości 1,2 m z rurą co 12,5 cm (co dało 125 W/m² w pasie, czyli 150 W/mb – zapas). Dodatkowo izolacja XPS 15 cm pod pasem. Efekt: przy -18°C na zewnątrz temperatura podłogi przy szybie wynosiła 24°C, a powietrza 21,5°C – brak przeciągu. Inwestor zadowolony.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 600;
}

.flags-list li::before {
    content: "&#x2716;";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Jak układać rury przy dużych oknach tarasowych?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy wyznaczyć tzw. strefę brzegową (zwykle pas 1-1,5 m od okna) i zagęścić tam rozstaw rur do 10, a nawet 7,5 cm, aby zrekompensować spływ zimnego powietrza od szyby."
        }
      }, {
        "@type": "Question",
        "name": "Czy strefa przy oknie może być na jednym obwodzie z resztą salonu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy dużych oknach strefa brzegowa musi być na oddzielnym obwodzie. Dzięki temu możemy podać tam wyższy przepływ lub niezależnie nią sterować, unikając przegrzewania środka salonu."
        }
      }, {
        "@type": "Question",
        "name": "Co z izolacją pod wylewką przy samym oknie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Strefa przy progu to mostek termiczny. Należy zastosować twardszy styrodur (XPS) i zwiększyć jego grubość (np. do 15-20 cm), aby zminimalizować ucieczkę ciepła na zewnątrz."
        }
      }, {
        "@type": "Question",
        "name": "Jakie wykończenie podłogi zaplanować przy oknie panoramicznym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Przy samym oknie najlepiej zastosować materiał o bardzo niskim oporze cieplnym – gres lub kamień. Drewno mocno blokuje ciepło, co przy zagęszczonych rurach może grozić uszkodzeniem."
        }
      }, {
        "@type": "Question",
        "name": "Jak sterować temperaturą przy tak dużych przeszkleniach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Sam termostat to za mało, bo strefa przy szybie wychładza się szybciej. Najlepiej zastosować czujnik przypowierzchniowy (podłogowy lub na szybie), który natychmiast uruchomi obwód brzegowy przy spadku temperatury szyby."
        }
      }]
    }
    </script>
    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5 pytań weryfikujących wykonawcę podłogówki przy oknach</h2>
        <p>Duże przeszklenia nie wybaczają błędów instalacyjnych. Oto lista pytań, które pomogą ocenić, czy Twój instalator zna fizykę budowli i wie, co robi. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Pytania rekrutacyjne przygotowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Jak układać rury przy dużych oknach tarasowych?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Panie, dajemy wszędzie standardowo co 15 cm i będzie dobrze, podłoga to podłoga”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Należy wyznaczyć tzw. strefę brzegową (pas 1-1,5 m od okna) i zagęścić tam rozstaw rur do 10, a nawet 7,5 cm, aby zrekompensować spływ zimnego powietrza od szyby”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Czy strefa przy oknie może być na jednym obwodzie z resztą salonu?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Jasne, nie ma sensu marnować wyjść na rozdzielaczu, podepniemy wszystko w jedną długą pętlę”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Przy dużych oknach strefa brzegowa powinna być na oddzielnym obwodzie. Dzięki temu możemy podać tam wyższy przepływ lub niezależnie nią sterować, bez przegrzewania środka salonu”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Co z izolacją pod wylewką przy samym oknie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Dajemy standardowy styropian EPS 10 cm, tak jak na całym parterze”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Strefa przy progu okiennym to mostek termiczny. Należy zastosować twardszy XPS i zwiększyć jego grubość (np. do 15-20 cm), aby uciąć ucieczkę ciepła na zewnątrz”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Jakie wykończenie podłogi zaplanować w strefie brzegowej?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Dębowa deska będzie wyglądać pięknie i na pewno będzie przy niej ciepło w stopy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Przy oknie najlepiej zastosować materiał o bardzo niskim oporze cieplnym – gres lub kamień. Drewno izoluje, co przy zagęszczonych rurach strefy brzegowej może grozić spękaniami”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Jak sterować temperaturą przy tak dużych przeszkleniach?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Zwykły termostat ścienny umieszczony w korytarzu lub w głębi salonu w zupełności wystarczy”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Sam termostat to za mało, bo strefa przy szybie wychładza się błyskawicznie. Najlepiej zastosować czujnik przypowierzchniowy (podłogowy lub na szybie), by szybciej uruchamiać obwód brzegowy”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„Ogrzewanie podłogowe wystarczy w 100% nawet przy oknie do sufitu i podłodze z deski dębowej.” (W takich sytuacjach konieczny jest konwektor kanałowy).</li>
            <li>„Nie trzeba liczyć strat dla samego okna, zrobimy pętle na oko, średnią z całego salonu.”</li>
            <li>„Projektant tylko wymyśla obwody brzegowe, a my puścimy tu po prostu jedną, wielką wężownicę na cały dom.”</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<h2 class="wp-block-heading"><strong>Podsumowanie praktycznych zasad dla projektanta i inwestora</strong>.</h2>



<ol start="1" class="wp-block-list">
<li><strong>Zawsze licz straty przez okno</strong>&nbsp;– nie ufaj domniemaniom. Wzór w kalkulatorze powyżej jest prosty i wystarczający.</li>



<li><strong>Przyjmij szerokość strefy przyokiennej</strong>&nbsp;minimum 1,0 m, optymalnie 1,2–1,5 m. Dla okien od podłogi – 1,5 m.</li>



<li><strong>Rozstaw rur w tej strefie</strong>&nbsp;wybierz z tabeli – najczęściej 10–15 cm. Nie bój się 7,5 cm przy bardzo dużych wysokościach (powyżej 2,8 m).</li>



<li><strong>Oddzielny obwód</strong>&nbsp;dla każdej strefy przyokiennej dłuższej niż 4 m. Dla krótszych można połączyć, ale z zachowaniem zagęszczenia.</li>



<li><strong>Izolacja</strong>&nbsp;– w pasie przyokiennym zwiększ grubość i użyj XPS. Nie oszczędzaj na detalu za 200 zł, bo stracisz komfort.</li>



<li><strong>Pokrycie</strong>&nbsp;– w pasie przyokiennym wyłącznie płytki lub kamień. Drewno i dywan to proszenie się o kłopoty.</li>



<li><strong>Sterowanie</strong>&nbsp;– czujnik podłogowy w strefie przyokiennej to standard. W domach premium – czujnik szyby.</li>
</ol>



<p>Pamiętaj, że&nbsp;<em>projekt ogrzewania podłogowego do domu z dużymi przeszkleniami</em>&nbsp;to nie tylko rysunek rozstawu rur. To także decyzje o izolacji, oknach, wentylacji (rekuperacja pomaga w równomiernym rozprowadzeniu ciepła). Traktuj strefę przy oknach jak&nbsp;<strong>specjalną krainę termiczną</strong>&nbsp;– rządzącą się własnymi prawami. Zastosuj opisane wyżej techniki, a nawet przy mrozie -20°C będziesz chodził boso wzdłuż panoramicznych szyb. I o to właśnie chodzi.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/">Projekt ogrzewania podłogowego do domu z dużymi przeszkleniami  jak poradzić sobie ze strefą przy oknach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</title>
		<link>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/</link>
					<comments>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 26 Mar 2026 10:11:32 +0000</pubDate>
				<category><![CDATA[Błędy budowlane]]></category>
		<category><![CDATA[Błędy instalacyjne]]></category>
		<category><![CDATA[Domy drewniane]]></category>
		<category><![CDATA[Domy szkieletowe]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty budowy domu]]></category>
		<category><![CDATA[Koszty inwestycji]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Systemy zabudowy suchej]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[błędy instalacyjne]]></category>
		<category><![CDATA[dom drewniany]]></category>
		<category><![CDATA[dom szkieletowy]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[lamele aluminiowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[projekt ozc]]></category>
		<category><![CDATA[system suchy]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=4030</guid>

					<description><![CDATA[<p>Planowanie instalacji grzewczej w budynku o lekkiej konstrukcji drewnianej wymaga zupełnie innego podejścia niż w tradycyjnym budownictwie murowanym. Niska bezwładność cieplna, brak ciężkich ścian akumulujących energię oraz ryzyko przeciążenia stropów sprawiają, że standardowe schematy instalatorów często tutaj zawodzą. W tym artykule bierzemy pod lupę temat, jakim jest ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki, na które najczęściej wpadają inwestorzy. Dowiesz się, dlaczego system suchy deklasuje ciężką wylewkę, jak uniknąć kosztownego przewymiarowania rur, dlaczego optymalizacja temperatury zasilania jest kluczowa dla żywotności pompy ciepła, oraz o co dokładnie zapytać wykonawcę przed podpisaniem umowy.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Decyzja o montażu&nbsp;<strong>ogrzewania podłogowego w domu szkieletowym</strong>&nbsp;to wybór komfortu, ale też pierwszy test wiedzy wykonawców i projektantów. Wbrew pozorom nie jest to rozwiązanie, które można przenieść wprost z budownictwa murowanego, zmieniając jedynie rodzaj stropu. Różnice zaczynają się na etapie fizyki budowli i kończą na doborze sterowania.</p>



<p>Domy szkieletowe charakteryzuje przede wszystkim&nbsp;<strong>lekkość konstrukcji</strong>&nbsp;i&nbsp;<strong>niska bezwładność cieplna</strong>. Ściany z wypełnieniem z wełny mineralnej lub włókny drzewnej nie akumulują energii tak jak beton czy cegła. To oznacza, że system grzewczy musi być zaprojektowany pod kątem szybkiej reakcji na zmiany temperatury i niższych mocy jednostkowych. Jeśli podejdziesz do tematu schematem „co 10 cm i jak najwyższa temperatura”, efektem będzie przegrzewanie, dyskomfort, a w skrajnych przypadkach – uszkodzenie warstw wykończeniowych lub konstrukcji drewnianej.</p>



<p>W tym artykule pokazuję, czym tak naprawdę różni się&nbsp;<strong>podłogówka w domu szkieletowym</strong>&nbsp;od tej w murowanym, na co zwrócić uwagę przy projektowaniu i jakie błędy najczęściej kosztują inwestorów spokój i dodatkowe pieniądze.</p>



<h2 class="wp-block-heading">Specyfika strat ciepła w konstrukcji drewnianej – co projektant powinien wiedzieć?</h2>



<h3 class="wp-block-heading">Akumulacyjność i jej wpływ na komfort cieplny.</h3>



<p>W domu murowanym ciężka podłoga i ściany działają jak bufor. Nawet jeśli na kilka godzin wyłączysz ogrzewanie, temperatura spada powoli. W konstrukcji szkieletowej sytuacja wygląda inaczej. Przy dobrze ocieplonej przegrodzie straty ciepła są niskie, ale&nbsp;<strong>brak masy powoduje, że temperatura wewnątrz szybko reaguje na zmiany mocy grzewczej</strong>.</p>



<p>Przykład:</p>



<ul class="wp-block-list">
<li>W domu murowanym (jastrych 7 cm + ściana 30 cm) zmiana temperatury zasilania z 40°C na 30°C da odczuwalny efekt po około 4–6 godzinach.</li>



<li>W domu szkieletowym z systemem suchym (płyty z kanałami, wylewka anhydrytowa 3 cm) ta sama zmiana da efekt po 1–2 godzinach.</li>
</ul>



<p>To nie jest wada to cecha, którą trzeba wykorzystać. <strong>Ogrzewanie podłogowe w domu szkieletowym</strong> może być znacznie bardziej elastyczne niż w budownictwie tradycyjnym, pod warunkiem że zastosuje się odpowiednie sterowanie i nie przewymiaruje instalacji.</p>



<h3 class="wp-block-heading">Straty w dół i rola izolacji fundamentu.</h3>



<p>W domach szkieletowych często stosuje się <strong>płytę fundamentową na gruncie</strong> lub strop nad nieogrzewaną piwnicą. Jeśli izolacja pod posadzką jest zbyt cienka (poniżej 15 cm styropianu EPS 100 lub <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">200</a> przy podłogówce jako jedynym źródle ciepła), straty w dół mogą wynosić nawet 20–30% mocy systemu. W praktyce oznacza to, że inwestor płaci za ogrzewanie gruntu, a nie domu.</p>



<p><strong>Zalecenie:</strong>&nbsp;dla domu szkieletowego z podłogówką na gruncie należy przyjąć opór cieplny izolacji pod posadzką na poziomie&nbsp;<strong>R ≥ 4,5 (m²·K)/W</strong>, co odpowiada grubości styropianu około&nbsp;<strong>20 cm</strong>&nbsp;(λ=0,035). W przypadku stropu nad piwnicą wystarczy 15–18 cm, ale konieczne jest zabezpieczenie paroizolacją od dołu.</p>



<h3 class="wp-block-heading">Parametry podłogówki: Szkielet vs Murowany</h3>



<p>Projektowanie ogrzewania w domu szkieletowym wymaga całkowitego zerwania z przyzwyczajeniami z budownictwa tradycyjnego. <a href="https://projekt-ogrzewania.pl/">Zestawienie przygotowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Parametr</th><th>Dom murowany (jastrych ciężki)</th><th>Dom szkieletowy (system suchy/lekki)</th></tr></thead><tbody><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Temperatura zasilania</td><td>35–45°C</td><td>28–35°C</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Rozstaw rur</td><td>10–15 cm (łazienki), 15–20 cm (pokoje)</td><td><strong>10–20 cm</strong></td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Moc jednostkowa max</td><td>do 100 W/m²</td><td><strong>50–80 W/m²</strong></td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Grubość nadbetonu/wylewki</td><td>5–8 cm</td><td>2–5 cm (anhydryt lub system suchy)</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Reakcja na regulację</td><td>wolna (4–6 h)</td><td>szybka (0,5–1,5 h)</td></tr><tr><td><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9b6.png" alt="🦶" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Maksymalna temp. podłogi</td><td>29°C (dopuszczalna)</td><td><strong>27°C</strong> (zalecana dla komfortu)</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">Dlaczego niższa temperatura zasilania?</h4>



<p>Dlaczego niższa temperatura zasilania? W lekkiej konstrukcji <strong>nie ma masy akumulującej</strong>, która łagodziłaby wahania. Jeśli poprowadzisz wodę o temperaturze 45°C przez rury w płycie suchej, podłoga nagrzeje się do ponad 29°C w ciągu 2–3 godzin, powodując dyskomfort termiczny i wysuszanie drewnianej podłogi lub paneli.</p>



<p><strong>Przykład obliczeniowy:</strong><br>Załóżmy pokój o powierzchni 25 m² w domu szkieletowym z zapotrzebowaniem na ciepło 45 W/m² (dane z projektu OZC).</p>



<ul class="wp-block-list">
<li>Przy rozstawie rur&nbsp;<strong>20 cm</strong>&nbsp;i temperaturze zasilania&nbsp;<strong>32°C</strong>&nbsp;uzyskujemy moc jednostkową około 55–60 W/m² – to wystarcza.</li>



<li>Przy rozstawie <strong>10 cm</strong> i tej samej temperaturze moc wzrasta do 85–90 W/m², co przy niskim zapotrzebowaniu spowoduje przegrzewanie i ciągłe wyłączanie się <a href="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/termostat-w-ogrzewaniu-podlogowym/">termostatów</a> (cykliczność, która skraca żywotność siłowników i pompy).</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">System suchy vs. mokry – co sprawdzi się w domu szkieletowym?</h2>



<h3 class="wp-block-heading">Dlaczego system suchy jest zalecany?</h3>



<p>W domu szkieletowym&nbsp;<strong>konstrukcja stropów i podłóg</strong>&nbsp;często opiera się na belkach drewnianych lub płycie OSB na legarach. Wlanie ciężkiego jastrychu cementowego (ok. 280–320 kg/m² przy grubości 6 cm) może być dopuszczalne statycznie, ale niesie ze sobą trzy ryzyka:</p>



<ol start="1" class="wp-block-list">
<li><strong>Wydłużenie czasu realizacji</strong>&nbsp;– jastrych cementowy schnie minimum 4–6 tygodni, a włączenie ogrzewania przed wyschnięciem grozi spekaniem.</li>



<li><strong>Ryzyko mikropęknięć</strong>&nbsp;– drewno pracuje (kurczy się i rozszerza) pod wpływem wilgoci i temperatury; sztywna, gruba wylewka może pękać przy większych ruchach konstrukcji.</li>



<li><strong>Obciążenie transportowe</strong>&nbsp;– w przypadku stropu nad piwnicą lub poddaszem użytkowym konieczna jest szczegółowa analiza nośności.</li>
</ol>



<p>Systemy suche eliminują te problemy. Działają na zasadzie <strong>rur prowadzonych w kanałach płyt styropianowych</strong> lub <strong>mat <a href="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/" type="link" id="https://projekt-ogrzewania.pl/produkt/lamel-grzejny-metalowy/">aluminiowych</a></strong> układanych bezpośrednio pod panelami. Woda ogrzewa aluminiową warstwę rozprowadzającą ciepło, a nadmiar masy termicznej jest niewielki.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare {
    max-width: 1050px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.compare-header p {
    margin: 0 auto;
    max-width: 750px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
    overflow-x: auto; /* Zabezpieczenie na mniejszych ekranach desktopowych */
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
    color: var(--primary);
}

.compare-table th.col-system {
    text-align: left;
    color: #64748b;
    width: 31%;
}

.compare-table th.col-data {
    width: 23%;
}

.compare-table td {
    padding: 18px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.5;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 12px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0;
}

.compare-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.val-pill.danger {
    background: #fee2e2;
    color: var(--danger);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.summary-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.card-project {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-project h4 {
    color: var(--accent);
}

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 850px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        min-width: auto;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    /* Dynamiczne etykiety kolumn dla wersji mobilnej */
    .compare-table td:nth-child(2)::before {
        content: "Materiały + robocizna (zł/m²):";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Czas montażu:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .compare-table td:nth-child(4)::before {
        content: "Czas do oddania do użytku:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="systems-compare-app">
    <div class="compare-header">
        <h3>System suchy vs mokry – co się opłaca?</h3>
        <p>Decyzja o wyborze technologii to nie tylko cena za metr kwadratowy materiału. To przede wszystkim czas oczekiwania i ryzyko opóźnień na budowie. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-system">System</th>
                    <th class="col-data">Materiały + robocizna (zł/m²)</th>
                    <th class="col-data">Czas montażu</th>
                    <th class="col-data">Czas do oddania do użytku</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Suchy frezowany (EPS + rury)</td>
                    <td><strong>200–260 zł</strong></td>
                    <td>3–5 dni</td>
                    <td><span class="val-pill accent">natychmiast</span> (po rozruchu)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Suchy na matach aluminiowych</td>
                    <td><strong>180–230 zł</strong></td>
                    <td>4–6 dni</td>
                    <td><span class="val-pill accent">natychmiast</span> (po rozruchu)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Wylewka anhydrytowa (4 cm)</td>
                    <td>140–190 zł</td>
                    <td>2–3 dni + 7 dni schnięcia</td>
                    <td>po 2–3 tygodniach</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1faa8.png" alt="🪨" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Jastrych cementowy (6 cm)</td>
                    <td>130–170 zł</td>
                    <td>2–3 dni + 6 tyg. schnięcia</td>
                    <td><span class="val-pill danger">po 6–8 tygodniach</span></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Pozorna oszczędność wylewki</h4>
            <p>Jastrych cementowy jest najtańszy na etapie wykonania, ale drastycznie opóźnia budowę. 6 do 8 tygodni oczekiwania na związanie i wyschnięcie betonu to czas, w którym ponosisz koszty utrzymania obecnego mieszkania lub raty kredytu. Wlewasz też do drewnianego domu szkieletowego ogromne ilości wilgoci technologicznej.</p>
        </div>
        
        <div class="summary-card card-project">
            <h4>Szybkość systemu suchego</h4>
            <p>Choć koszt początkowy systemu suchego jest o ok. 20-30% wyższy, zyskujesz natychmiastową gotowość do pracy. Brak masywnej wylewki to brak wilgoci, idealna współpraca z lekką konstrukcją domu szkieletowego i natychmiastowa reakcja podłogówki na zmiany temperatury. Różnica w cenie często bilansuje się poprzez skrócenie czasu trwania inwestycji.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x73\x79\x73\x74\x65\x6d\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-interactive-banner {
    max-width: 900px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: linear-gradient(145deg, #ffffff, #f8fafc);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.1);
    border: 2px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
    position: relative;
    transition: all 0.4s ease;
}

/* KROK 1: Pytanie */
.banner-step-1 {
    padding: 40px;
    text-align: center;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

.banner-step-1.hidden {
    opacity: 0;
    transform: scale(0.95);
    position: absolute;
    pointer-events: none;
    visibility: hidden;
}

.banner-title {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 10px 0;
    color: var(--primary);
}

.banner-subtitle {
    font-size: 15px;
    color: #475569;
    margin: 0 0 30px 0;
}

.banner-options {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.banner-btn-option {
    background: #ffffff;
    border: 2px solid var(--border-color);
    padding: 20px 30px;
    border-radius: 16px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    color: #334155;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
    flex: 1;
    min-width: 200px;
    max-width: 300px;
}

.banner-btn-option span.icon {
    font-size: 32px;
}

.banner-btn-option:hover {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.1);
}

/* KROK 2: Rozwiązanie */
.banner-step-2 {
    display: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.banner-step-2.active {
    display: flex;
    opacity: 1;
    transform: translateY(0);
}

.banner-content-split {
    display: flex;
    width: 100%;
}

.banner-text-side {
    padding: 40px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.banner-image-side {
    flex: 1;
    background: url('https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Comfort-Floor-Dry.webp') center/cover no-repeat;
    position: relative;
    min-height: 300px;
}

/* Nakładka na zdjęcie dla lepszego przejścia */
.banner-image-side::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, #f8fafc 0%, transparent 20%);
}

.success-badge {
    background: #dcfce7;
    color: var(--success);
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 15px;
    align-self: flex-start;
}

.banner-text-side h3 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
}

.banner-text-side p {
    font-size: 15px;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 25px 0;
}

.mini-specs {
    display: flex;
    gap: 15px;
    margin-bottom: 25px;
    flex-wrap: wrap;
}

.spec-item {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 6px;
}

.spec-item span { color: var(--accent); }

.banner-cta-btn {
    background: var(--accent);
    color: #ffffff;
    text-decoration: none;
    padding: 16px 24px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 14px;
    text-align: center;
    transition: 0.3s;
    border: none;
    cursor: pointer;
    align-self: flex-start;
}

.banner-cta-btn:hover {
    background: #1e40af;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
}

@media (max-width: 768px) {
    .banner-content-split { flex-direction: column; }
    .banner-image-side { min-height: 200px; order: -1; }
    .banner-image-side::after { background: linear-gradient(to bottom, transparent 80%, #f8fafc 100%); }
    .banner-text-side { padding: 30px 20px; }
    .banner-cta-btn { align-self: stretch; }
    .banner-options { flex-direction: column; }
    .banner-btn-option { max-width: 100%; }
}
</style>

<div class="premium-interactive-banner" id="interactive-banner-app">
    
    <div class="banner-step-1" id="bannerStep1">
        <h3 class="banner-title">Z jakim wyzwaniem budowlanym się mierzysz?</h3>
        <p class="banner-subtitle">Wybierz swój przypadek, a pokażemy Ci optymalną technologię ogrzewania.</p>
        
        <div class="banner-options">
            <button class="banner-btn-option" onclick="showBannerSolution('szkielet')">
                <span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1fab5.png" alt="🪵" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                Buduję lekki dom szkieletowy / z bali
            </button>
            <button class="banner-btn-option" onclick="showBannerSolution('strop')">
                <span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3da.png" alt="🏚" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
                Remontuję stary drewniany strop
            </button>
        </div>
    </div>

    <div class="banner-step-2" id="bannerStep2">
        <div class="banner-content-split">
            <div class="banner-text-side">
                <span class="success-badge">Mamy idealne rozwiązanie!</span>
                <h3 id="solutionTitle">System Suchy KISAN Comfort Floor Dry</h3>
                <p>Ominiesz problem ciężkich, mokrych wylewek. Ten innowacyjny system z aluminiowymi lamelami nie obciąży konstrukcji i błyskawicznie reaguje na zmiany temperatury – idealnie współpracując z pompą ciepła.</p>
                
                <div class="mini-specs">
                    <div class="spec-item"><span><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2696.png" alt="⚖" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Ultra lekkie</div>
                    <div class="spec-item"><span><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Od 61 mm grubości</div>
                    <div class="spec-item"><span><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Bez czekania na schnięcie</div>
                </div>

                <a href="https://projekt-ogrzewania.pl/comfort-floor-dry/" class="banner-cta-btn">Zobacz technologię i wyceń materiały →</a>
            </div>
            <div class="banner-image-side"></div>
        </div>
    </div>

</div>

<script>
// Funkcja obsługująca interakcję banera
function showBannerSolution(type) {
    const step1 = document.getElementById('bannerStep1');
    const step2 = document.getElementById('bannerStep2');
    const title = document.getElementById('solutionTitle');

    // Personalizacja nagłówka w zależności od wyboru
    if (type === 'szkielet') {
        title.innerHTML = 'Idealne dla "szkieletora":<br>Comfort Floor Dry';
    } else {
        title.innerHTML = 'Ratunek dla starych stropów:<br>Comfort Floor Dry';
    }

    // Animacja ukrywania kroku 1
    step1.classList.add('hidden');

    // Po małym opóźnieniu pokaż krok 2
    setTimeout(() => {
        step1.style.display = 'none';
        step2.classList.add('active');
    }, 300);
}

/* ZABEZPIECZENIE DOMENY (Domain Lock) */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x76\x65\x2d\x62\x61\x6e\x6e\x65\x72\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNDBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyI+8J+TkSBCYW5lciBjaHJvbmlvbnkgcHJhd2VtIGF1dG9yc2tpbTwvZGl2Pg==')));}})}();
</script>



<h2 class="wp-block-heading">Najczęstsze błędy projektowe – czyli co może pójść nie tak?</h2>



<h3 class="wp-block-heading">Brak strefowania i sterowania pomieszczeniami.</h3>



<p>W domu szkieletowym, szczególnie z dużymi przeszkleniami (typowe dla nowoczesnych projektów), zyski słoneczne mogą w ciągu godziny podnieść temperaturę w pomieszczeniu nawet o <strong>2–3°C</strong>. Jeśli w projekcie nie przewidziano <strong>oddzielnych <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a> dla każdego pomieszczenia</strong> oraz termostatów pokojowych (lub sterowania modułowego), system będzie pracował nierównomiernie. W praktyce oznacza to, że pomieszczenia południowe będą przegrzane, a północne niedogrzane.</p>



<p><strong>Dobra praktyka:</strong>&nbsp;każdy pokój (z wyjątkiem komunikacji) powinien mieć własną pętlę o długości&nbsp;<strong>nieprzekraczającej 100–120 m</strong>&nbsp;(dla rur 16×2 mm) oraz siłownik termoelektryczny sterowany termostatem. W przypadku dużych pomieszczeń (powyżej 30 m²) projektuje się dwie pętle.</p>



<h3 class="wp-block-heading">Przewymiarowanie instalacji.</h3>



<p>Projektanci, którzy nie wykonują obliczeń strat ciepła (OZC) lub bazują na szablonach dla domów murowanych, często przewymiarowują&nbsp;<strong>ogrzewanie podłogowe w domu szkieletowym</strong>&nbsp;nawet o&nbsp;<strong>40–60%</strong>. Przykład:</p>



<ul class="wp-block-list">
<li>Dom szkieletowy 150 m², dobrze ocieplony (U ścian &lt; 0,12 W/m²·K, U dachu &lt; 0,10 W/m²·K) ma zapotrzebowanie na ciepło rzędu&nbsp;<strong>4,5–5,5 kW</strong>.</li>



<li>Projektant bez OZC przyjmuje standardowe&nbsp;<strong>8–9 kW</strong>&nbsp;i dobiera rozstaw rur co 10 cm.</li>



<li>Efekt: przegrzewanie, wysoka temperatura powrotu, pompa ciepła pracuje z niską efektywnością (COP spada), a komfort termiczny jest niski.</li>
</ul>



<p><strong>Rozwiązanie:</strong> przed projektem instalacji wykonaj świadome <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" type="link" id="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC</a> (Obliczenie Zapotrzebowania na Ciepło) i przekaż je projektantowi instalacji.</p>



<h3 class="wp-block-heading">Uszkodzenie paroizolacji podczas montażu.</h3>



<p>W konstrukcji szkieletowej <strong>paroizolacja</strong> (<a href="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/" type="link" id="https://projekt-ogrzewania.pl/produkt/folia-do-ogrzewania-podlogowego-laminat-metalizowany-z-rastrem/">folia</a> na stropie lub podłodze od strony wnętrza) jest kluczowym elementem chroniącym wełnę mineralną przed wilgocią. Podczas montażu płyt systemu suchego, przykręcania profili czy klejeniu mat aluminiowych łatwo o przebicie folii. Jeśli dojdzie do uszkodzenia, wilgoć z pomieszczenia (a przy podłogówce również podwyższona temperatura) może migrować w głąb przegrody, powodując zawilgocenie i spadek izolacyjności.</p>



<p><strong>Zabezpieczenie:</strong>&nbsp;wykonawca powinien stosować&nbsp;<strong>klejenie płyt systemu suchym</strong>&nbsp;(bez dodatkowych łączników mechanicznych) lub – jeśli wkręty są konieczne – naklejać taśmy uszczelniające na przebicia. Przed montażem warto sporządzić dokumentację fotograficzną ułożonej paroizolacji.</p>



<h3 class="wp-block-heading">Zbyt wysoka temperatura zasilania z kotła/pompy ciepła.</h3>



<p>W domach szkieletowych najczęstszym błędem eksploatacyjnym jest <strong>niedostosowanie źródła ciepła do niskotemperaturowego charakteru podłogówki</strong>. Jeśli <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> pracuje bez modulacji temperatury (lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> jest źle ustawiona), woda w obiegu może osiągać 50°C przy pierwszym rozruchu. Skutki:</p>



<ul class="wp-block-list">
<li>Ryzyko uszkodzenia rur <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/">PEX</a>/PE-RT (przy długotrwałym przekroczeniu 45°C przyspiesza starzenie).</li>



<li>Nadmierne odkształcenia paneli podłogowych i drewnianych podłóg.</li>



<li>Dyskomfort użytkowania (gorąca podłoga).</li>
</ul>



<p><strong>Zalecenie:</strong>&nbsp;źródło ciepła powinno być zintegrowane z&nbsp;<strong>pogodowym układem regulacji</strong>&nbsp;i ograniczone do temperatury maksymalnej&nbsp;<strong>35°C</strong>&nbsp;na zasilaniu (optymalnie 28–32°C).</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – fundament udanej instalacji w szkielecie.</h2>



<p>Nie ma dobrej instalacji bez dobrego projektu. W przypadku <strong>ogrzewania podłogowego w domu szkieletowym</strong> <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt</a> powinien wykraczać poza standardowy schemat rozmieszczenia rur. Oto elementy, które powinien zawierać kompletny projekt:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenia strat ciepła (OZC)</strong>&nbsp;dla każdego pomieszczenia – bez tego każdy dobór rozstawu rur jest zgadywaniem.</li>



<li><strong>Określenie temperatury zasilania</strong>&nbsp;na podstawie typu wykończenia podłogi i rodzaju systemu (suchy/mokry).</li>



<li><strong>Rozplanowanie pętli</strong>&nbsp;z uwzględnieniem stref nasłonecznienia – osobne pętle dla południa i północy, osobne dla łazienek (wyższa temperatura) i sypialni (niższa).</li>



<li><strong>Wskazanie materiałów</strong> – rodzaj płyt systemu suchego, grubość izolacji pod posadzką, typ rur (zalecane <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-thermotitan-pe-rt-evoh-pe-rt/">PE-RT</a> lub <a href="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/" type="link" id="https://projekt-ogrzewania.pl/produkt/rura-wielowarstwowa-kisan-redart-pe-rt-al-pe/">PEX</a> z barierą tlenową).</li>



<li><strong>Schemat rozdzielaczy</strong> – lokalizacja, liczba wyjść, dobór <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy</a> (w domach szkieletowych często wystarczy pompa o mniejszej wydajności niż w murowanych).</li>



<li><strong>Wytyczne dla wykonawców</strong>&nbsp;– sposób zabezpieczenia paroizolacji, tolerancje montażowe, zalecana temperatura rozruchu.</li>



<li><strong>Integracja ze źródłem ciepła</strong> – punkt podłączenia, zawory mieszające (jeśli konieczne), <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufor</a> – w przypadku kotła na paliwo stałe konieczny.</li>
</ol>



<p>Dobry projekt to taki, który uwzględnia&nbsp;<strong>zarówno fizykę budowli, jak i sposób użytkowania</strong>. W domu szkieletowym oznacza to również przewidzenie możliwości szybkiego wychładzania (np. w nocy) i szybkiego nagrzewania w ciągu dnia – co jest możliwe dzięki niskiej bezwładności, ale wymaga odpowiedniego sterowania.</p>



<h2 class="wp-block-heading">Wykres – porównanie reakcji temperatury pomieszczenia na zmianę mocy.</h2>



<p>Poniżej przedstawiam teoretyczny wykres (do celów poglądowych) ilustrujący różnice w dynamice ogrzewania między domem murowanym a szkieletowym przy załączeniu ogrzewania po wyłączonym nocnym obniżeniu temperatury.</p>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 420px; /* Delikatnie podniesione, aby pomieścić legendę */
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 350px;
    }
}
</style>

<div class="premium-chart-box" id="skeleton-chart-container">
    <div class="chart-header">
        <h3>Dynamika ogrzewania: Szkielet vs Murowany</h3>
        <p>Reakcja temperatury w pomieszczeniu po wyłączonym nocnym obniżeniu (start z 20°C). <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="dynamicsChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Dom szkieletowy (system suchy) osiąga zadaną temperaturę (22°C) już po <strong>1,5–2 godzinach</strong>. Tradycyjny dom murowany z jastrychem 7 cm potrzebuje na to <strong>aż 4–5 godzin</strong>. Ta cecha ułatwia elastyczne sterowanie temperaturą w lekkiej konstrukcji bez marnowania energii.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('skeleton-chart-container').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
        return; 
    }

    // JEŚLI DOMENA SIĘ ZGADZA - RYSUJEMY WYKRES
    const canvasEl = document.getElementById('dynamicsChart');
    if(!canvasEl) return; 
    
    const ctx = canvasEl.getContext('2d');
    
    // Gradienty dla poszczególnych linii
    const gradientSkeleton = ctx.createLinearGradient(0, 0, 0, 400);
    gradientSkeleton.addColorStop(0, 'rgba(234, 88, 12, 0.2)'); // Pomarańczowy dla szybkiego nagrzewania
    gradientSkeleton.addColorStop(1, 'rgba(255, 255, 255, 0)');

    const gradientMasonry = ctx.createLinearGradient(0, 0, 0, 400);
    gradientMasonry.addColorStop(0, 'rgba(37, 99, 235, 0.2)'); // Niebieski dla bezwładnego nagrzewania
    gradientMasonry.addColorStop(1, 'rgba(255, 255, 255, 0)');

    // Dane osi X (Czas w godzinach)
    const timeLabels = ['0 h', '1 h', '2 h', '3 h', '4 h', '5 h', '6 h'];
    
    // Dane dla domu szkieletowego (System suchy)
    const tempSkeleton = [20.0, 21.2, 22.0, 22.5, 22.8, 23.0, 23.0];
    
    // Dane dla domu murowanego (Jastrych 7 cm)
    const tempMasonry = [20.0, 20.2, 20.6, 21.1, 21.8, 22.2, 22.5];

    // Dane dla linii bazowej / zadanej (22.0°C)
    const tempTarget = [22.0, 22.0, 22.0, 22.0, 22.0, 22.0, 22.0];

    new Chart(ctx, {
        type: 'line',
        data: {
            labels: timeLabels,
            datasets: [
                {
                    label: 'Dom szkieletowy (System suchy)',
                    data: tempSkeleton,
                    borderColor: '#ea580c', 
                    backgroundColor: gradientSkeleton,
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#ea580c',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 8
                },
                {
                    label: 'Dom murowany (Jastrych 7 cm)',
                    data: tempMasonry,
                    borderColor: '#2563eb', 
                    backgroundColor: gradientMasonry,
                    borderWidth: 3,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: '#ffffff',
                    pointBorderColor: '#2563eb',
                    pointBorderWidth: 2,
                    pointRadius: 5,
                    pointHoverRadius: 8
                },
                {
                    label: 'Temperatura zadana (22°C)',
                    data: tempTarget,
                    borderColor: '#10b981', // Zielony kolor docelowy
                    borderWidth: 2,
                    borderDash: [5, 5], // Linia przerywana
                    fill: false,
                    pointRadius: 0, // Ukryte kropki dla czystości wykresu
                    pointHoverRadius: 0
                }
            ]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            interaction: {
                mode: 'index',
                intersect: false,
            },
            plugins: {
                legend: {
                    display: true,
                    position: 'top',
                    labels: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#475569',
                        usePointStyle: true,
                        padding: 20
                    }
                },
                tooltip: {
                    backgroundColor: '#0f172a',
                    titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                    bodyFont: { family: 'Inter', size: 13 },
                    padding: 12,
                    callbacks: {
                        label: function(context) {
                            return context.dataset.label + ': ' + context.parsed.y + ' °C';
                        }
                    }
                }
            },
            scales: {
                x: {
                    grid: { display: false },
                    ticks: {
                        font: { family: 'Inter', size: 13, weight: '600' },
                        color: '#64748b'
                    },
                    title: {
                        display: true,
                        text: 'Czas nagrzewania',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {top: 10}
                    }
                },
                y: {
                    min: 19.5, // Zaczynamy nieco poniżej 20 dla czytelności
                    max: 23.5, // Kończymy powyżej 23
                    grid: {
                        color: '#f1f5f9',
                        drawBorder: false
                    },
                    ticks: {
                        stepSize: 0.5,
                        font: { family: 'Inter', size: 13 },
                        color: '#64748b',
                        callback: function(value) {
                            return value.toFixed(1) + ' °C'; // Dodanie stopnia Celsjusza do osi
                        }
                    },
                    title: {
                        display: true,
                        text: 'Temperatura wewnętrzna',
                        font: { family: 'Inter', size: 14, weight: 'bold' },
                        color: '#0f172a',
                        padding: {bottom: 10}
                    }
                }
            }
        }
    });
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.calc-intro { max-width: 1150px; margin: 40px auto 10px auto; text-align: center; padding: 0 20px; }
.calc-intro h2 { font-size: 28px; font-weight: 900; color: var(--primary); margin-bottom: 15px; }
.calc-intro p { font-size: 16px; color: #475569; line-height: 1.6; max-width: 800px; margin: 0 auto; }

.screed-calc { max-width: 1150px; margin: 30px auto; font-family: 'Inter', -apple-system, sans-serif; background: #ffffff; border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1); overflow: hidden; color: var(--primary); }
.calc-grid { display: grid; grid-template-columns: 1fr 1.2fr; } /* Zmienione proporcje, by panel wyników miał więcej miejsca */

.config-side { padding: 40px; background: #ffffff; }
.section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1.2px; margin-bottom: 15px; display: block; }

.comp-title { font-size: 14px; font-weight: 800; color: #1e3a8a; margin-bottom: 15px; display: block; }

.input-wrap { margin-bottom: 18px; }
.input-label-row { display: flex; justify-content: space-between; margin-bottom: 6px; align-items: center; }
.input-label-row label { font-weight: 600; font-size: 13px; }
.input-label-row .val-badge { background: #f1f5f9; padding: 4px 10px; border-radius: 8px; font-weight: 800; color: var(--accent); font-size: 13px; }

input[type=range] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 8px; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer; }

.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: flex-start; }

.comparison-data { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; }
.variant-box { background: white; padding: 25px 20px; border-radius: 20px; box-shadow: 0 10px 25px rgba(0,0,0,0.03); display:flex; flex-direction:column;}
.variant-box.error-box { border-bottom: 6px solid var(--danger); }
.variant-box.success-box { border-bottom: 6px solid var(--success); }

.variant-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #64748b; margin-bottom: 5px; display: block; text-align: center;}
.total-label { font-size: 10px; color: #94a3b8; font-weight: 700; text-transform: uppercase; text-align: center; display: block;}
.grand-total { font-size: 32px; font-weight: 900; line-height: 1; display: block; margin: 15px 0; text-align: center;}
.error-box .grand-total { color: var(--danger); }
.success-box .grand-total { color: var(--success); }

/* Styl "paragonu" */
.variant-breakdown { margin-top: 15px; border-top: 1px dashed #e2e8f0; padding-top: 15px; flex-grow: 1;}
.breakdown-row { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 8px; color: #475569; }
.breakdown-row strong { font-weight: 700; color: var(--primary); }
.breakdown-row.highlight-loss { color: var(--danger); font-weight: 600; }
.breakdown-row.highlight-loss strong { color: var(--danger); }
.breakdown-row.highlight-success { color: var(--success); font-weight: 600; }
.breakdown-row.highlight-success strong { color: var(--success); }

/* Baner oszczędności */
.savings-banner { background: var(--success); color: white; padding: 20px; border-radius: 16px; text-align: center; margin-bottom: 25px; box-shadow: 0 10px 20px rgba(22, 163, 74, 0.2); }
.savings-banner.warning { background: var(--warning); box-shadow: 0 10px 20px rgba(234, 88, 12, 0.2); }
.savings-label { display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; margin-bottom: 5px; opacity: 0.9; }
.savings-amount { display: block; font-size: 36px; font-weight: 900; }

.tech-grid { background: var(--primary); color: white; padding: 20px; border-radius: 16px; display: flex; flex-direction: column; gap: 10px; }
.tech-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1px; margin-bottom: 5px; display: block; text-align: center;}
.tech-item { display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #1e293b; align-items: center; }
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 12px; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 14px; text-align: right; white-space: nowrap; }

.footer-cta { margin: 0 40px 40px 40px; padding: 30px; background: #eff6ff; border-radius: 20px; border-left: 6px solid var(--accent); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-text-side { max-width: 550px; }
.cta-buttons-stack { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }
.cta-btn { display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .comparison-data { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator Inwestycji Ogrzewania w Szkielecie</h2>
    <p>System suchy jest droższy w zakupie, ale czy na pewno przepłacasz? Sprawdź bilans całkowity po 10 latach. Autorskie narzędzie inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>.</p>
</div>

<div class="screed-calc" id="investment-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="comp-title">Parametry Twojego domu</span>

            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia ogrzewana</label><span class="val-badge"><span id="v-area">120</span> m²</span></div>
                <input type="range" id="area" min="50" max="250" step="5" value="120">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Baza rachunków (rocznie)</label><span class="val-badge"><span id="v-bill">3000</span> zł</span></div>
                <input type="range" id="bill" min="1500" max="7000" step="100" value="3000">
            </div>

            <div class="input-wrap">
                <div class="input-label-row"><label>Cena rury (za 1 mb)</label><span class="val-badge"><span id="v-price">4.50</span> zł</span></div>
                <input type="range" id="price" min="2.0" max="10.0" step="0.5" value="4.5">
            </div>

            <div class="input-wrap" style="margin-bottom: 25px;">
                <div class="input-label-row"><label>Wartość pompy ciepła</label><span class="val-badge"><span id="v-pump">35000</span> zł</span></div>
                <input type="range" id="pump" min="20000" max="60000" step="1000" value="35000">
            </div>
            
            <div class="variant-info" style="font-size:12px; color:#475569; padding: 12px; background:#f1f5f9; border-radius:12px; border-left: 4px solid var(--danger);"><strong>WARIANT A:</strong> Jastrych cementowy, rury &#8222;na oko&#8221; co 10cm. Pozornie tanio, ale bezwładny w szkielecie.</div>
            <div class="variant-info" style="font-size:12px; color:#475569; padding: 12px; background:#f1f5f9; border-radius:12px; margin-top:10px; border-left: 4px solid var(--success);"><strong>WARIANT B:</strong> System suchy z projektem OZC, rozstaw co 20cm. Droższy start, bezawaryjna i oszczędna eksploatacja.</div>
        </div>

        <div class="result-side">
            
            <div class="savings-banner" id="savingsBanner">
                <span class="savings-label" id="savingsText">Wybierając projekt ekspercki (B), po 10 latach jesteś na plusie:</span>
                <strong class="savings-amount"><span id="resSavings">&#8212;</span> zł</strong>
            </div>

            <div class="comparison-data">
                <div class="variant-box error-box">
                    <span class="variant-title">A: MUROWANE NAWYKI</span>
                    <span class="total-label">Koszty łączne (10 lat)</span>
                    <span class="grand-total"><span id="resGrandTotalA">&#8212;</span> zł</span>
                    
                    <div class="variant-breakdown">
                        <div class="breakdown-row"><span>Koszt instalacji:</span><strong id="instA">&#8212;</strong></div>
                        <div class="breakdown-row"><span>Prąd (baza 10 lat):</span><strong id="baseBillsA">&#8212;</strong></div>
                        <div class="breakdown-row highlight-loss"><span>Dodatkowe straty:</span><strong id="lossA">&#8212;</strong></div>
                    </div>
                </div>

                <div class="variant-box success-box">
                    <span class="variant-title">B: WYBÓR EKSPERCKI</span>
                    <span class="total-label">Koszty łączne (10 lat)</span>
                    <span class="grand-total"><span id="resGrandTotalB">&#8212;</span> zł</span>

                    <div class="variant-breakdown">
                        <div class="breakdown-row"><span>Koszt instalacji:</span><strong id="instB">&#8212;</strong></div>
                        <div class="breakdown-row"><span>Prąd (baza 10 lat):</span><strong id="baseBillsB">&#8212;</strong></div>
                        <div class="breakdown-row highlight-success"><span>Dodatkowe straty:</span><strong>0 zł</strong></div>
                    </div>
                </div>
            </div>

            <div class="tech-grid">
                <span class="tech-title">Rozbicie strat Wariantu A (złe nawyki):</span>
                <div class="tech-item"><span>Wzrost kosztów przez bezwładność:</span><strong id="resInertia" style="color:#f87171">&#8212;</strong></div>
                <div class="tech-item"><span>Wyrzucony materiał (rura):</span><strong id="resExtraPipe" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span>Zużycie pompy (taktowanie):</span><strong id="resPumpWear" style="color:#f87171">&#8212;</strong></div>
                <div class="tech-item"><span>Wyższe rachunki (strata COP):</span><strong id="resBills" style="color:#f87171">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Lekka konstrukcja wymaga precyzji</h3>
            <p style="margin:0; font-size:14px; color:#475569">Zainwestowanie w lepszy system i profesjonalny projekt zwraca się szybciej, niż myślisz. Nie pozwól, by błędy instalatora finansował Twój portfel.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT DO SZKIELETU →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener("DOMContentLoaded", function() {
    function formatPLN(val) {
        return val.toLocaleString("pl-PL") + " zł";
    }

    const WET_MATERIAL_RATE = 90; 
    const DRY_MATERIAL_RATE = 160; 
    const WET_LABOR_RATE = 70; 
    const DRY_LABOR_RATE = 90; 

    function calculate() {
        const area = parseFloat(document.getElementById("area").value);
        const annualBill = parseFloat(document.getElementById("bill").value);
        const pipePrice = parseFloat(document.getElementById("price").value);
        const pumpCost = parseFloat(document.getElementById("pump").value);

        document.getElementById("v-area").innerText = area;
        document.getElementById("v-bill").innerText = annualBill.toLocaleString("pl-PL");
        document.getElementById("v-price").innerText = pipePrice.toFixed(2);
        document.getElementById("v-pump").innerText = pumpCost.toLocaleString("pl-PL");

        // 1. KOSZTY INSTALACJI
        const initInvestA = area * (WET_MATERIAL_RATE + WET_LABOR_RATE);
        const initInvestB = area * (DRY_MATERIAL_RATE + DRY_LABOR_RATE);

        // 2. BAZA RACHUNKÓW (10 lat)
        const base10Years = annualBill * 10;

        // 3. STRATY WARIANTU A
        const costInertia = annualBill * 0.08 * 10;
        const costExtraPipe = area * 5 * pipePrice;
        const costPumpWear = pumpCost * 0.20;
        const costBillsBills = annualBill * 0.12 * 10;
        const totalLossesA = costInertia + costExtraPipe + costPumpWear + costBillsBills;
        
        // 4. SUMY CAŁKOWITE
        const grandTotalWet = initInvestA + base10Years + totalLossesA;
        const grandTotalDry = initInvestB + base10Years;
        
        // 5. RÓŻNICA (ZYSK)
        const difference = grandTotalWet - grandTotalDry;

        // Renderowanie Banera Głównego
        const savingsBanner = document.getElementById("savingsBanner");
        const savingsText = document.getElementById("savingsText");
        
        if (difference > 0) {
            savingsBanner.className = "savings-banner";
            savingsText.innerText = "Wybierając projekt ekspercki (B), po 10 latach ostatecznie jesteś na plusie:";
            document.getElementById("resSavings").innerText = Math.round(difference).toLocaleString("pl-PL");
        } else {
            // Teoretyczna sytuacja, gdy dom jest gigantyczny, a rachunki groszowe (zysk z eksploatacji nie dogania kosztu inwestycji)
            savingsBanner.className = "savings-banner warning";
            savingsText.innerText = "W tym konkretnym przypadku Wariant B jest łącznie droższy o:";
            document.getElementById("resSavings").innerText = Math.round(Math.abs(difference)).toLocaleString("pl-PL");
        }

        // Renderowanie Totali
        document.getElementById("resGrandTotalA").innerText = Math.round(grandTotalWet).toLocaleString("pl-PL");
        document.getElementById("resGrandTotalB").innerText = Math.round(grandTotalDry).toLocaleString("pl-PL");

        // Renderowanie Paragonów
        document.getElementById("instA").innerText = formatPLN(Math.round(initInvestA));
        document.getElementById("instB").innerText = formatPLN(Math.round(initInvestB));
        document.getElementById("baseBillsA").innerText = formatPLN(Math.round(base10Years));
        document.getElementById("baseBillsB").innerText = formatPLN(Math.round(base10Years));
        document.getElementById("lossA").innerText = "+" + formatPLN(Math.round(totalLossesA));

        // Renderowanie Rozbicia Strat
        document.getElementById("resInertia").innerText = formatPLN(Math.round(costInertia));
        document.getElementById("resExtraPipe").innerText = formatPLN(Math.round(costExtraPipe));
        document.getElementById("resPumpWear").innerText = formatPLN(Math.round(costPumpWear));
        document.getElementById("resBills").innerText = formatPLN(Math.round(costBillsBills));
    }

    ["area", "bill", "price", "pump"].forEach(function(id) {
        document.getElementById(id).addEventListener("input", calculate);
    });

    calculate();
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 800px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.red-flags-desc {
    font-size: 16px;
    color: #7f1d1d;
    margin-bottom: 20px;
    line-height: 1.5;
    font-weight: 500;
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 700;
}

.flags-list li::before {
    content: "&#x2716;";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-skeleton-checklist">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Czy wykonano obliczenia OZC dla każdego pomieszczenia w domu szkieletowym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, to podstawa. Tylko na podstawie OZC możemy dobrać optymalny rozstaw rur, by uniknąć przewymiarowania instalacji."
        }
      }, {
        "@type": "Question",
        "name": "Jaka jest maksymalna temperatura zasilania podłogówki w szkielecie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "W lekkiej konstrukcji projektujemy system na maksymalnie 35°C (optymalnie 28–32°C), aby podłoga nie przegrzewała pomieszczeń w kilka godzin."
        }
      }, {
        "@type": "Question",
        "name": "Czy każdy pokój ma oddzielną pętlę grzewczą?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, z wyjątkiem komunikacji, każde pomieszczenie powinno mieć własną pętlę i możliwość sterowania termostatem ze względu na zyski słoneczne."
        }
      }, {
        "@type": "Question",
        "name": "Jaki system wylewki zastosować w domu drewnianym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rekomendujemy system suchy lub cienką wylewkę anhydrytową (max 4 cm), aby zachować niską bezwładność systemu i uniknąć obciążania stropów."
        }
      }, {
        "@type": "Question",
        "name": "Jak zabezpieczyć paroizolację przy montażu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy unikać wkrętów na rzecz klejenia płyt systemu suchego lub precyzyjnie uszczelniać każde przebicie folii paroizolacyjnej specjalnymi taśmami."
        }
      }]
    }
    </script>

    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Checklista inwestora: Test wykonawcy</h2>
        <p>Przed podjęciem decyzji o wykonawcy, sprawdź poniższe punkty. Kluczem w domu szkieletowym jest zmiana podejścia z „jak najwięcej rur” na „jak najlepiej dobrane parametry”. Zadaj instalatorowi te 7 pytań. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Checklista inżynierska Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Czy dobierze Pan rozstaw rur na podstawie obliczeń OZC dla każdego pokoju?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Panie, a po co takie wymysły? Dam rurę gęsto co 10 cm i na pewno nikt nie zmarznie, od lat tak robię.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Oczywiście, w domu szkieletowym straty ciepła są bardzo małe. Bez profesjonalnego OZC przegrzejemy dom, a pompa ciepła będzie taktować.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jaką temperaturę zasilania zaplanujemy na najchłodniejsze dni?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Pompę ustawimy na 45 stopni, to taki standard w podłogówce, żeby posadzka była fajnie cieplutka.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Skonfigurujemy układ tak, by temperatura zasilania nie przekraczała 35°C (najlepiej 28-32°C). Inaczej drewniana posadzka będzie oddawać ciepło zbyt agresywnie.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Czy podzieli Pan pętle tak, by w każdym pokoju dało się założyć osobny termostat?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Pociągniemy jedną pętlę z korytarza przez sypialnię. Mniej rurek, tańszy rozdzielacz wyjdzie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Tak, każdy pokój musi mieć własną pętlę. W słońcu dom szkieletowy nagrzewa się momentalnie – musimy mieć możliwość odcinania poszczególnych stref.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „Jaką technologię posadzki Pan proponuje do tego domu?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Wylejemy solidny jastrych cementowy 7 cm. Będzie dobrze trzymać ciepło, tylko trochę pan poczeka, aż wyschnie.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Do szkieletu kategorycznie polecam system suchy lub maksymalnie 4 cm wylewki anhydrytowej. Musimy mieć układ o małej masie i szybkiej reakcji.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Ile styropianu damy na gruncie pod instalację?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„10 centymetrów wystarczy, ciepełko i tak idzie do góry, nie ma co szaleć z grubością.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Skoro podłogówka to jedyne źródło ciepła na dole, musimy odizolować się od gruntu. Optymalnie to 18–20 cm twardego styropianu EPS 100.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">6</span> „W jaki sposób zamocuje Pan rury, by nie przedziurawić folii paroizolacyjnej na stropie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Normalnie przykręcę spinkami do desek przez folię, przecież te dziurki to tyle co nic.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„To kluczowe miejsce! Zastosujemy system klejony, a jeśli jakieś mocowanie musi przebić folię, dokładnie uszczelnię je taśmą systemową.”</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">7</span> „Czy nasza pompa ciepła będzie wymagała układu mieszającego (bufora z mieszaczami)?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Typowy „fachowiec”</div>
                    <p class="answer-text">„Wrzuci się bufor, ze dwa zawory mieszające i będzie pan sobie kręcił, żeby było akurat.”</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Prawdziwy instalator</div>
                    <p class="answer-text">„Jeśli dobrze zaprojektujemy podłogówkę na 30-35°C, pompa będzie mogła pchać wodę bezpośrednio na rozdzielacze bez skomplikowanego mieszania. Najwyższy COP gwarantowany.”</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Jeśli na te pytania padły złe odpowiedzi&#8230;</h3>
        </div>
        <p class="red-flags-desc">W lekkiej konstrukcji lepiej zaprojektować system z zapasem <strong>elastyczności</strong> niż z zapasem mocy. Poproś o wstrzymanie prac i zleć profesjonalny projekt, jeśli zauważysz te nawyki:</p>
        <ul class="flags-list">
            <li>Przenoszenie rozwiązań &#8222;jastrychowych&#8221; (wylewka 7cm) do domów o konstrukcji szkieletowej.</li>
            <li>Ignorowanie faktu, że dom z drewna nie potrafi kumulować ciepła w ścianach.</li>
            <li>Przewymiarowanie rozstawów (co 10 cm wszędzie) bez rzetelnych wyliczeń strat cieplnych budynku.</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x73\x6b\x65\x6c\x65\x74\x6f\x6e\x2d\x63\x68\x65\x63\x6b\x6c\x69\x73\x74','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/">Ogrzewanie podłogowe w domu szkieletowym – kluczowe różnice i pułapki.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach?</title>
		<link>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/</link>
					<comments>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 21 Mar 2026 10:15:36 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Koszty inwestycji]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projekty grzewcze]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[hydraulika grzewcza]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[ozc]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3923</guid>

					<description><![CDATA[<p>Czy można bezpiecznie wykonać podłogówkę bez projektu, kierując się jedynie doświadczeniem instalatora? W praktyce okazuje się, że projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach to nie teoretyczny dylemat, lecz realne ryzyko wysokich kosztów i problemów z komfortem cieplnym. Artykuł pokazuje konkretne konsekwencje złych decyzji: od przewymiarowanych materiałów, przez nierównomierne grzanie, aż po drastycznie wyższe rachunki w przypadku pomp ciepła. Jeśli budujesz dom i chcesz uniknąć kosztownych pomyłek, te informacje mogą oszczędzić Ci dziesiątki tysięcy złotych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">Projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Decyzja o wyborze ogrzewania podłogowego zapada zwykle na etapie stanu surowego lub tuż przed wylewaniem wylewki. Wtedy pojawia się kuszące pytanie:&nbsp;<em>czy naprawdę potrzebuję projektu?</em>&nbsp;Wiele osób, kierując się presją czasu lub chęcią oszczędności, decyduje się na układanie rur „z głowy” – według własnego uznania lub intuicji instalatora. Efektem jest często sytuacja, w której&nbsp;<strong>projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach</strong>&nbsp;to nie tylko chwytliwy tytuł artykułu, ale realne pytanie o Twoje rachunki przez najbliższe 20–30 lat.</p>



<p>W tym artykule rozpakuję tę różnicę na konkretnych przykładach, pokazując, że to, co na początku wygląda jak „oszczędność”, w praktyce okazuje się jednym z najdroższych kompromisów w budowie domu.</p>



<h2 class="wp-block-heading">Pułapka „Gęściej znaczy lepiej” – najdroższy mit instalacji podłogowej.</h2>



<p>Najczęstszym błędem przy projektowaniu bez obliczeń jest <strong>przewymiarowanie</strong>. Instalatorzy, chcąc mieć „święty spokój” i uniknąć reklamacji typu „zimna podłoga”, często zagęszczają <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury</a> – układają je co 10 cm we wszystkich pomieszczeniach. Zakładają, że nadmiar ciepła nie zaszkodzi.</p>



<p>Nic bardziej mylnego.</p>



<h3 class="wp-block-heading">Dlaczego gęstszy rozstaw nie znaczy lepszy?</h3>



<p>Rozstaw rur to nie tylko kwestia ilości ciepła, ale przede wszystkim dopasowania do rzeczywistego zapotrzebowania pomieszczenia. W projekcie „z głowy” kupujesz&nbsp;<strong>o 30–50% więcej rury</strong>, niż faktycznie potrzebujesz. Płacisz za materiał, więcej obejm, większą liczbę obwodów na rozdzielaczu i robociznę, która jest po prostu zbędna.</p>



<p><em>Przykład:</em>&nbsp;Dom 150 m². Instalator układa rury co 10 cm wszędzie, zamiast optymalnie: co 10 cm w łazience, co 15 cm w salonie i co 20 cm w sypialni. Różnica w zużyciu rury to nawet&nbsp;<strong>300–400 metrów</strong>. Przy cenie 5 zł/m to&nbsp;<strong>1 500–2 000 zł</strong>&nbsp;wyrzucone w błoto już na etapie zakupów. Do tego dochodzą dodatkowe obejmy, płyty zbrojeniowe, a często też większa liczba obwodów, co wymaga droższego rozdzielacza.</p>



<h3 class="wp-block-heading">Skutki przewymiarowania wykraczają poza koszty materiałów.</h3>



<h4 class="wp-block-heading">Gęstszy rozstaw to nie tylko wyższe koszty inwestycyjne. To także problemy eksploatacyjne:</h4>



<ul class="wp-block-list">
<li><strong>Przegrzewanie pomieszczeń</strong>&nbsp;– przy jednakowo gęstym rozstawie w pomieszczeniach o małym zapotrzebowaniu (np. wewnętrzna sypialnia) podłoga oddaje za dużo ciepła.</li>



<li><strong>Praca skokowa źródła ciepła</strong>&nbsp;– kocioł lub pompa ciepła włączają się i wyłączają krótkimi cyklami, tracąc na efektywności.</li>



<li><strong>Wyższa temperatura zasilania</strong>&nbsp;– aby zrekompensować brak równowagi między pomieszczeniami, często podnosi się temperaturę całego systemu, co bije po kieszeni.</li>
</ul>



<p>W projekcie z obliczeniami projektant wylicza <strong><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" type="link" id="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">OZC (Obliczeniowe Zapotrzebowanie na Ciepło</a>)</strong> dla każdego pomieszczenia osobno. Na tej podstawie dobiera rozstaw: w sypialni rury mogą być co 20 cm, w salonie co 15 cm, a w łazience co 10 cm. Każde pomieszczenie dostaje tyle mocy, ile faktycznie potrzebuje – ani grama więcej.</p>



<p><strong>Strata przy podejściu „gęściej znaczy lepiej” to nawet kilka tysięcy złotych wyrzucone w błoto już na etapie zakupów, a potem dodatkowe tysiące w rachunkach przez lata.</strong></p>



<h2 class="wp-block-heading">Hydraulika – dlaczego jeden pokój jest zimny, a drugi przegrzany?</h2>



<p>Ogrzewanie podłogowe to nie tylko rurki ułożone w podłodze. To&nbsp;<strong>system naczyń połączonych</strong>&nbsp;– instalacja hydrauliczna o określonych oporach przepływu. Bez obliczeń te opory pozostają nieznane, a konsekwencje odczuwasz codziennie.</p>



<h3 class="wp-block-heading">Problem zbyt długich pętli.</h3>



<p>W instalacjach „z głowy” często zdarza się, że pętle mają skrajnie różne długości. Jedna pętla (np. w łazience) ma 50 m, a druga (w dużym salonie) – 130 m.</p>



<p><strong>Dlaczego to problem?</strong> Dłuższa pętla stawia znacznie większy opór hydrauliczny. <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">Pompa obiegowa</a>, która jest sercem systemu, ma ograniczoną wydajność. Gdy przekroczysz długość krytyczną (dla rury 16×2 mm to zazwyczaj <strong>100–120 m</strong>), pompa nie jest w stanie przepchnąć przez nią odpowiedniej ilości wody.</p>



<p><em>Efekt w praktyce:</em>&nbsp;Salon (krótka pętla) grzeje, a w sypialni na końcu korytarza (długa pętla) jest lodowato. Instalator kręci przepływomierzami, ale to walka z fizyką – przy zbyt dużych różnicach długości nie da się tego wyrównać bez zmiany projektu.</p>



<h3 class="wp-block-heading">Rozwiązanie projektowe – równoważenie hydrauliczne.</h3>



<p>Profesjonalny projekt precyzyjnie określa <strong>długość każdej pętli</strong> tak, aby różnice między nimi nie przekraczały 10–15%. Dzięki temu wszystkie obwody mają zbliżone opory przepływu. Dodatkowo projekt zawiera <strong>nastawy na rozdzielaczu</strong> – wstępne ustawienia <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">przepływomierzy</a>, które wyrównują nawet niewielkie różnice.</p>



<p><em>Rezultat:</em>&nbsp;Ciepło rozchodzi się równomiernie po całym domu. Nie ma „zimnych plam”, nie ma przegrzewania. Pompa obiegowa pracuje na optymalnych obrotach (często 1 bieg zamiast 3), co przekłada się na niższe zużycie prądu i dłuższą żywotność urządzenia.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego a współpraca z pompą ciepła – klucz do niskich rachunków.</h2>



<p>Jeśli planujesz <a href="https://projekt-ogrzewania.pl/category/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/category/pompa-ciepla/">pompę ciepła</a> (powietrzną lub gruntową), <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt ogrzewania podłogowego</a> przestaje być opcją  staje się krytycznym wymogiem</strong>. Pompy ciepła osiągają najwyższą efektywność (współczynnik COP) przy jak najniższej temperaturze zasilania, optymalnie w zakresie <strong>30–35°C</strong>.</p>



<h3 class="wp-block-heading">Błąd „na oko” a temperatura zasilania.</h3>



<p>Gdy instalacja podłogowa jest wykonana bez projektu, często zdarza się, że:</p>



<ul class="wp-block-list">
<li>rozstaw rur jest zbyt rzadki w pomieszczeniach o dużych stratach ciepła,</li>



<li>pętle są niezrównoważone hydraulicznie.</li>
</ul>



<p>Aby to skompensować i dogrzać zimne pomieszczenia, instalator (lub automatyk) podnosi&nbsp;<strong>temperaturę zasilania</strong>&nbsp;– zamiast 35°C ustawia 45°C, a czasem nawet 50°C.</p>



<p><strong>Konsekwencja:</strong>&nbsp;Pompa ciepła traci swoją największą zaletę – niskie koszty eksploatacji.</p>



<h3 class="wp-block-heading">Wyliczenie – każdy stopień ma swoją cenę.</h3>



<p>Dla pompy ciepła powietrznej&nbsp;<strong>każdy stopień Celsjusza podwyższenia temperatury zasilania to spadek COP o około 2–3%</strong>. Podniesienie z 35°C na 45°C oznacza więc spadek efektywności o&nbsp;<strong>20–30%</strong>.</p>



<p><em>Przykład:</em>&nbsp;Dom ogrzewany pompą ciepła, roczny koszt energii elektrycznej na ogrzewanie wynosi&nbsp;<strong>4 500 zł</strong>&nbsp;przy optymalnej pracy (35°C). Po podniesieniu temperatury zasilania do 45°C, koszt wzrasta o ok.&nbsp;<strong>1 000–1 300 zł rocznie</strong>.</p>



<p>W perspektywie 15 lat (średni okres między wymianami źródła ciepła) to&nbsp;<strong>15 000–20 000 zł dodatkowych kosztów</strong>&nbsp;– tylko z powodu źle zaprojektowanej podłogówki. A przecież pompa ciepła ma służyć 20–25 lat.</p>



<h3 class="wp-block-heading">Gwarancja producenta a projekt.</h3>



<p>Coraz więcej producentów <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pomp ciepła</a> (np. Daikin, Panasonic, Mitsubishi Electric, Viessmann, Nibe, Bosch, Vaillant, LG, Samsung, Stiebel Eltron, Hitachi, Toshiba, Fujitsu, Alpha Innotec, De Dietrich, Gree, Midea, Thermia, Haier, Galmet.) <strong>wymaga przedstawienia projektu ogrzewania podłogowego wraz z obliczeniami OZC</strong> do udzielenia gwarancji. To nie jest kaprys  producenci wiedzą, że źle zaprojektowany system dolnego źródła (podłogówka) jest główną przyczyną awarii, krótkich cykli pracy i spadku efektywności. Brak projektu może więc oznaczać <strong>utratę gwarancji na urządzenie warte 20–30 tys. zł</strong>.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.compare-header p {
    margin: 0 auto;
    max-width: 700px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
}

.compare-table th.col-param {
    text-align: left;
    color: #64748b;
    width: 25%;
}

.compare-table th.col-noguide {
    color: var(--primary);
    width: 37%;
}

.compare-table th.col-project {
    color: var(--accent);
    width: 38%;
    border-bottom-color: var(--accent);
}

.compare-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.5;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.compare-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.summary-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.card-project {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-project h4 {
    color: var(--accent);
}

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 768px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    .compare-table td:nth-child(2)::before {
        content: "Projekt „z głowy” / „na oko”:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Projekt z obliczeniami:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: var(--accent);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="compare-app">
    <div class="compare-header">
        <h2>Porównanie – co zyskujesz, a co ryzykujesz?</h2>
        <p>Poniższa tabela zestawia najważniejsze różnice między instalacją „z głowy” a systemem zaprojektowanym przez specjalistę. Dane dotyczą typowego domu jednorodzinnego o powierzchni 150 m². <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Zestawienie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Cecha</th>
                    <th class="col-noguide">Projekt „z głowy” / „na oko”</th>
                    <th class="col-project">Projekt z obliczeniami</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Ilość materiału</td>
                    <td>Zazwyczaj zawyżona o 30–50% – instalator dodaje „na zapas”</td>
                    <td><strong>Optymalna</strong> – dokładnie tyle, ile wynika z OZC i rozstawu</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Komfort termiczny</td>
                    <td>Ryzyko „zimnych plam” w dłuższych pętlach lub przegrzewania przy zbyt gęstym rozstawie</td>
                    <td><strong>Równomierna temperatura</strong> w każdym pomieszczeniu, brak lokalnych dyskomfortów</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Praca pompy obiegowej</td>
                    <td>Często na 3 biegu (60–80 W), aby przeforsować długie pętle</td>
                    <td><span class="val-pill accent">1 bieg (20–30 W)</span>, cicha praca, mniejsze zużycie prądu</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Koszt eksploatacji (kocioł)</td>
                    <td>Wyższy o 10–15% przez zbyt wysoką temperaturę zasilania</td>
                    <td><span class="val-pill accent">Minimalny</span> – system pracuje w optymalnym zakresie 35–40°C</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Koszt eksploatacji (pompa ciepła)</td>
                    <td>Wyższy o 20–30% przez spadek COP przy podniesionej temperaturze zasilania</td>
                    <td><span class="val-pill accent">Minimalny</span> – pompa pracuje z najwyższą możliwą efektywnością</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c4.png" alt="📄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Dokumentacja powykonawcza</td>
                    <td>Brak – nie wiesz, gdzie biegną rury, co utrudnia wiercenie i ewentualne naprawy</td>
                    <td><strong>Pełna mapa rur</strong>, zestawienie długości pętli, nastawy rozdzielacza</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Gwarancja na pompę ciepła</td>
                    <td>Często niemożliwa – producenci wymagają projektu</td>
                    <td><span class="val-pill accent">Tak</span> – projekt spełnia wymogi formalne</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3af.png" alt="🎯" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Gwarancja sukcesu</td>
                    <td>„Jakoś to będzie” – ryzyko błędów wykrytych dopiero po wylaniu wylewki</td>
                    <td><strong>Gwarancja inżynierska</strong> – wszystko jest przewidziane i policzone</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Montaż &#8222;na oko&#8221;</h4>
            <p>Brak pewności co do poprawności działania instalacji. Płacisz więcej za przewymiarowany materiał na etapie budowy i ponosisz stale wyższe koszty eksploatacyjne (prąd, spadek COP). Ryzykujesz dyskomfort cieplny i problemy z gwarancją u producentów pomp ciepła.</p>
        </div>
        
        <div class="summary-card card-project">
            <h4>System z obliczeniami OZC</h4>
            <p>Gwarancja optymalnego działania ogrzewania. Oszczędzasz na precyzyjnie wyliczonych materiałach oraz cieszysz się minimalnymi rachunkami za ogrzewanie. Otrzymujesz pełną dokumentację, która ułatwia wykończenie domu i jest podstawą do utrzymania gwarancji producenta.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x1f2a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x63\x6f\x6d\x70\x61\x72\x65\x2d\x61\x70\x70','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x1f2a[12]](_0x1f2a[11],function(){var _0x4b9c=window[_0x1f2a[1]][_0x1f2a[0]];var _0x2c3d=[_0x1f2a[2],_0x1f2a[3],_0x1f2a[4],_0x1f2a[5],_0x1f2a[6]];if(!_0x2c3d[_0x1f2a[7]](_0x4b9c)){document[_0x1f2a[10]](_0x1f2a[8])[_0x1f2a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.compare-header p {
    margin: 0 auto;
    max-width: 800px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    padding: 0 40px;
    margin-top: 20px;
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
}

.compare-table th.col-param {
    text-align: left;
    color: #64748b;
    width: 40%;
}

.compare-table th.col-annual {
    color: var(--primary);
    width: 30%;
}

.compare-table th.col-total {
    color: var(--danger);
    width: 30%;
    border-bottom-color: var(--danger);
}

.compare-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
    line-height: 1.5;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    flex-shrink: 0;
}

.compare-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.val-pill.danger {
    background: #fee2e2;
    color: var(--danger);
}

.val-pill.success {
    background: #dcfce7;
    color: var(--success);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.summary-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.card-danger {
    border-color: #fecaca;
    background: #fef2f2;
}

.card-danger h4 {
    color: var(--danger);
}

.card-success {
    border-color: #bbf7d0;
    background: #f0fdf4;
}

.card-success h4 {
    color: var(--success);
}

/* ROZWIĄZANIE DLA MOBILE - UKŁAD KARTOWY */
@media (max-width: 768px) {
    .compare-header { padding: 25px 20px; }
    .table-wrapper { padding: 0 15px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px 15px; gap: 20px; }
    
    .compare-table, .compare-table tbody, .compare-table tr, .compare-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }
    
    .compare-table thead {
        display: none;
    }
    
    .compare-table tr {
        margin-bottom: 20px;
        border: 1px solid var(--border-color);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    }
    
    .compare-table td {
        text-align: left;
        padding: 15px 20px;
        border-bottom: 1px solid #f1f5f9;
    }
    
    .compare-table td:last-child {
        border-bottom: none;
    }
    
    .compare-table td.param-name {
        background: var(--bg-light);
        font-size: 16px;
        border-bottom: 2px solid var(--border-color);
    }
    
    .compare-table td:nth-child(2)::before {
        content: "Koszt jednorazowy / roczny:";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: #64748b;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table td:nth-child(3)::before {
        content: "Skumulowany koszt (15 lat):";
        display: block;
        font-weight: 700;
        margin-bottom: 6px;
        color: var(--danger);
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }
    
    .compare-table tr:hover td {
        background: inherit;
    }
    
    .compare-table td.param-name:hover {
        background: var(--bg-light);
    }
}
</style>

<div class="premium-compare" id="compare-app-costs">
    <div class="compare-header">
        <h2>Ile realnie możesz stracić? Wyliczenia w perspektywie czasu</h2>
        <p>Błędy w instalacji podłogowej należą do najtrudniejszych i najdroższych do naprawienia. Gdy jastrych (wylewka) zastygnie, każda zmiana wiąże się z kuciem podłóg, wynoszeniem gruzu i układaniem wszystkiego od nowa. To koszt, który w przypadku domu 150 m² potrafi sięgnąć <strong>15 000–25 000 zł</strong>. Policzmy jednak straty w perspektywie 15 lat, nawet jeśli nie dojdzie do fizycznej przebudowy. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Wyliczenia przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Rodzaj straty</th>
                    <th class="col-annual">Koszt jednorazowy / roczny</th>
                    <th class="col-total">Skumulowany koszt (15 lat)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6d2.png" alt="🛒" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Nadmiar materiału (rura, obejmy, rozdzielacz)</td>
                    <td>2 000 – 3 500 zł</td>
                    <td><span class="val-pill danger">2 000 – 3 500 zł</span> (jednorazowo)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Wyższe rachunki dla pompy ciepła (spadek COP)</td>
                    <td>1 000 – 1 500 zł/rok</td>
                    <td><span class="val-pill danger">15 000 – 22 500 zł</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Wyższe rachunki dla kotła (niższa sprawność)</td>
                    <td>800 – 1 200 zł/rok</td>
                    <td><span class="val-pill danger">12 000 – 18 000 zł</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2699.png" alt="⚙" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Dodatkowy pobór mocy pompy obiegowej</td>
                    <td>100 – 150 zł/rok</td>
                    <td><span class="val-pill danger">1 500 – 2 250 zł</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Brak podziału na strefy – przegrzewanie</td>
                    <td>500 – 1 000 zł/rok</td>
                    <td><span class="val-pill danger">7 500 – 15 000 zł</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e0.png" alt="🛠" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Potencjalny remont wylewki (wykrycie błędu)</td>
                    <td>15 000 – 25 000 zł</td>
                    <td><span class="val-pill danger">15 000 – 25 000 zł</span> (jednorazowo)</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card card-danger">
            <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c9.png" alt="📉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Koszt zaniechania</h4>
            <p>Łączny potencjalny koszt błędów (bez remontu) dla pompy ciepła to <strong>ok. 26 000 – 43 000 zł</strong> w perspektywie 15 lat. Jeśli wada wymusi kucie i wymianę instalacji (z remontem), koszty rosną do drastycznych <strong>40 000 – 65 000 zł</strong>.</p>
        </div>
        
        <div class="summary-card card-success">
            <h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Inwestycja w pewność</h4>
            <p>Koszt profesjonalnego projektu ogrzewania podłogowego z obliczeniami OZC to zaledwie <strong>1 500 – 2 500 zł</strong>. Projekt ten nie zwraca się w latach – <strong style="color: var(--success);">zwraca się w momencie zakupu materiałów</strong>, zapobiegając ich przewymiarowaniu.</p>
        </div>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x3e4a=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x63\x6f\x6d\x70\x61\x72\x65\x2d\x61\x70\x70\x2d\x63\x6f\x73\x74\x73','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x3e4a[12]](_0x3e4a[11],function(){var _0x1a2b=window[_0x3e4a[1]][_0x3e4a[0]];var _0x5c6d=[_0x3e4a[2],_0x3e4a[3],_0x3e4a[4],_0x3e4a[5],_0x3e4a[6]];if(!_0x5c6d[_0x3e4a[7]](_0x1a2b)){document[_0x3e4a[10]](_0x3e4a[8])[_0x3e4a[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

/* ZAJAWKA SEO I LINK */
.calc-intro { max-width: 1150px; margin: 40px auto 10px auto; text-align: center; padding: 0 20px; }
.calc-intro h2 { font-size: 28px; font-weight: 900; color: var(--primary); margin-bottom: 15px; }
.calc-intro p { font-size: 16px; color: #475569; line-height: 1.6; max-width: 800px; margin: 0 auto; }

/* KONTENER GŁÓWNY */
.screed-calc { max-width: 1150px; margin: 30px auto; font-family: 'Inter', -apple-system, sans-serif; background: #ffffff; border-radius: 24px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1); overflow: hidden; color: var(--primary); }
.calc-grid { display: grid; grid-template-columns: 1.2fr 1fr; }

/* LEWA STRONA - KONFIGURACJA */
.config-side { padding: 40px; background: #ffffff; }
.section-title { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #94a3b8; letter-spacing: 1.2px; margin-bottom: 20px; display: block; }

.type-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 30px; }
.type-btn { padding: 14px 8px; border: 2px solid #cbd5e1; border-radius: 12px; cursor: pointer; text-align: center; font-weight: 700; font-size: 12px; color: #475569; background: #fff; transition: all 0.2s; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.type-btn span { margin-top: 4px; }
.type-btn.active { border-color: var(--accent); background: #eff6ff; color: var(--accent); box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1); }

.input-wrap { margin-bottom: 25px; }
.input-label-row { display: flex; justify-content: space-between; margin-bottom: 8px; align-items: center; }
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge { background: #f1f5f9; padding: 4px 12px; border-radius: 8px; font-weight: 800; color: var(--accent); font-size: 14px; }

input[type=range] { width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px; }
input[type=range]::-webkit-slider-thumb { appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer; }

/* PRAWA STRONA - WYNIKI */
.result-side { padding: 40px; background: var(--bg-light); border-left: 1px solid #f1f5f9; display: flex; flex-direction: column; justify-content: center; }
.main-score-box { background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--danger); transition: 0.3s; }
.score-num { font-size: 42px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; color: var(--danger); }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg { margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: block; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: center; }

.tech-grid { background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: flex; flex-direction: column; gap: 16px; }
.tech-item { display: flex; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid #1e293b; align-items: center; }
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; line-height: 1.4; padding-right: 15px; }
.tech-item strong { font-size: 16px; text-align: right; white-space: nowrap; }

/* STOPKA */
.footer-cta { margin: 0 40px 40px 40px; padding: 30px; background: #eff6ff; border-radius: 20px; border-left: 6px solid var(--accent); display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.cta-text-side { max-width: 550px; }
.cta-buttons-stack { display: flex; flex-direction: column; gap: 12px; min-width: 280px; }
.cta-btn { display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer; }
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

/* WERSJA TABLET / MAŁY LAPTOP */
@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}

/* POPRAWKI DLA WĄSKICH SMARTFONÓW (poniżej 600px) */
@media (max-width: 600px) {
    .config-side, .result-side { 
        padding: 25px 20px; 
    }
    .type-selector { 
        grid-template-columns: 1fr; 
        gap: 10px;
    }
    .score-num { 
        font-size: 36px; 
    }
    .tech-item { 
        flex-direction: column; 
        align-items: flex-start; 
        gap: 6px; 
    }
    .tech-item strong { 
        font-size: 18px; 
        text-align: left; 
    }
    .calc-intro h2 {
        font-size: 24px; 
    }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator Ukrytych Kosztów Podłogówki</h2>
    <p>Sprawdź, czy Twoja podłoga będzie efektywnie oddawać ciepło! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz, w jaką pułapkę wpada Twój instalator robiący ogrzewanie &#8222;na oko&#8221;, a algorytm wyliczy straty.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Błąd instalatora (&#8222;na oko&#8221;)</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-dense">WSZĘDZIE GĘSTO<span style="font-size:10px; font-weight:400">Strata materiału + Taktowanie</span></div>
                <div class="type-btn" id="btn-sparse">WSZĘDZIE RZADKO<span style="font-size:10px; font-weight:400">Drastyczny spadek COP</span></div>
            </div>

            <span class="section-title">2. Główne źródło ciepła</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-heatpump">POMPA CIEPŁA<span style="font-size:10px; font-weight:400">Wrażliwa na błędy (COP)</span></div>
                <div class="type-btn" id="btn-gas">KOCIOŁ GAZOWY<span style="font-size:10px; font-weight:400">Kocioł kondensacyjny</span></div>
            </div>

            <span class="section-title">3. Parametry domu</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia ogrzewana</label><span class="val-badge"><span id="v-area">150</span> m²</span></div>
                <input type="range" id="area" min="50" max="300" step="5" value="150">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Cena rury (za 1 metr)</label><span class="val-badge"><span id="v-price">5.00</span> zł</span></div>
                <input type="range" id="price" min="2.0" max="10.0" step="0.5" value="5.0">
            </div>

            <div class="input-wrap" style="margin-bottom: 0;">
                <div class="input-label-row"><label>Czas eksploatacji</label><span class="val-badge"><span id="v-years">15</span> lat</span></div>
                <input type="range" id="years" min="5" max="30" step="1" value="15">
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Szacowana strata finansowa (<span id="label-years-main">15</span> lat)</span>
                <span class="score-num"><span id="resTotalLoss">&#8212;</span> zł</span>
                <div id="risk-msg">To koszty, których unikniesz inwestując w projekt!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span id="label-pipe-error">Zbędny materiał:</span><strong id="resExtraPipe">&#8212;</strong></div>
                <div class="tech-item"><span id="label-mini-mat">Straty na zakupie materiałów:</span><strong id="resMaterialLoss" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span id="label-op-error">Wzrost kosztów (rocznie):</span><strong id="resAnnualLoss">&#8212;</strong></div>
                <div class="tech-item"><span>Straty w rachunkach przez <span id="label-years-mini">15</span> lat:</span><strong id="resOpLoss" style="color:#f87171">&#8212;</strong></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Projekt się po prostu opłaca</h3>
            <p style="margin:0; font-size:14px; color:#475569" id="footer-desc">Niezależnie od tego, czy instalator &#8222;przedobrzy&#8221; z ilością rury, czy spróbuje &#8222;przyoszczędzić&#8221; – finalnie to Ty płacisz za to w rachunkach przez lata. Zleć nam obliczenia i śpij spokojnie.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
!function(){document.addEventListener("DOMContentLoaded",function(){var e=window.location.hostname,t=["\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c","\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c","\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74","\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31",""];if(-1===t.indexOf(e)){var n=document.getElementById("screed-calc-app");return n&&(n.innerHTML=decodeURIComponent("%3Cdiv%20style%3D%22padding%3A%2060px%2020px%3B%20text-align%3A%20center%3B%20background%3A%20%23fee2e2%3B%20color%3A%20%23dc2626%3B%20border-radius%3A%2024px%3B%20font-family%3A%20sans-serif%3B%22%3E%3Cspan%20style%3D%22font-size%3A%2048px%3B%20display%3A%20block%3B%20margin-bottom%3A%2015px%3B%22%3E%F0%9F%94%92%3C%2Fspan%3E%3Ch3%20style%3D%22margin-top%3A0%3B%20font-size%3A%2024px%3B%20color%3A%20%23dc2626%3B%22%3ENarz%C4%99dzie%20chronione%3C%2Fh3%3E%3Cp%20style%3D%22font-size%3A%2016px%3B%20margin-bottom%3A%2025px%3B%22%3ETen%20kalkulator%20jest%20w%C5%82asno%C5%9Bci%C4%85%20serwisu%20%3Ca%20href%3D%22https%3A%2F%2Fprojekt-ogrzewania.pl%2F%22%20style%3D%22color%3A%20%23dc2626%3B%20font-weight%3A%20bold%3B%20text-decoration%3A%20underline%3B%22%3EProjekt-Ogrzewania.pl%3C%2Fa%3E%3C%2Fp%3E%3Ca%20href%3D%22https%3A%2F%2Fprojekt-ogrzewania.pl%2F%22%20style%3D%22display%3A%20inline-block%3B%20padding%3A%2014px%2028px%3B%20background%3A%20%23dc2626%3B%20color%3A%20%23ffffff%3B%20text-decoration%3A%20none%3B%20border-radius%3A%2012px%3B%20font-weight%3A%20800%3B%22%3EPRZEJD%C5%B9%20DO%20ORYGINA%C5%81U%3C%2Fa%3E%3C%2Fdiv%3E")),void 0}var a="heatpump",o="dense";function i(e){return e.toLocaleString("pl-PL")+" z\u0142"}function c(){var e=parseFloat(document.getElementById("area").value),t=parseFloat(document.getElementById("price").value),n=parseInt(document.getElementById("years").value);document.getElementById("v-area").innerText=e,document.getElementById("v-price").innerText=t.toFixed(2),document.getElementById("v-years").innerText=n,document.getElementById("label-years-main").innerText=n,document.getElementById("label-years-mini").innerText=n;var c=0,r=0,d=0,l=30*e,s=40*e;"dense"===o?(document.getElementById("label-pipe-error").innerText="Zb\u0119dny materia\u0142 (rura u\u0142o\u017cona zbyt g\u0119sto):",document.getElementById("label-mini-mat").innerText="Straty na zakupie materia\u0142\u00f3w:",c=2.5*e,r=c*t+1.5*e+(e>100?400:200),"heatpump"===a?(document.getElementById("label-op-error").innerText="Spadek efektywno\u015bci (taktowanie pompy/obieg):",d=.12*l+.8*e):(document.getElementById("label-op-error").innerText="Wy\u017csze zu\u017cycie pr\u0105du (pompa obiegowa 3. bieg):",d=.8*e),document.getElementById("risk-msg").innerText="Wyrzuci\u0142e\u015b pieni\u0105dze na materia\u0142, a system dzia\u0142a ma\u0142o stabilnie!"):(document.getElementById("label-pipe-error").innerText="Brakuj\u0105cy materia\u0142 (ryzyko niedogrzania):",document.getElementById("label-mini-mat").innerText="Zaoszcz\u0119dzono na materiale:",c=0,r=0,"heatpump"===a?(document.getElementById("label-op-error").innerText="Wzrost rachunk\u00f3w (wymagane 40-45\xb0C na zasilaniu):",d=.25*l):(document.getElementById("label-op-error").innerText="Spadek kondensacji (wymagane wy\u017csze temp.):",d=.12*s),document.getElementById("risk-msg").innerText="Zaoszcz\u0119dzi\u0142e\u015b na rurkach, stracisz krocie na rachunkach!");var u=d*n,m=r+u;document.getElementById("resExtraPipe").innerText=("dense"===o?"+":"0 ")+c.toFixed(0)+" m",document.getElementById("resAnnualLoss").innerText=i(Math.round(d))+" / rok","sparse"===o?(document.getElementById("resMaterialLoss").innerText="0 z\u0142",document.getElementById("resMaterialLoss").style.color="#94a3b8"):(document.getElementById("resMaterialLoss").innerText=i(Math.round(r)),document.getElementById("resMaterialLoss").style.color="#fbbf24"),document.getElementById("resOpLoss").innerText=i(Math.round(u)),document.getElementById("resTotalLoss").innerText=Math.round(m).toLocaleString("pl-PL")}var r=document.getElementById("btn-dense"),d=document.getElementById("btn-sparse"),l=document.getElementById("btn-heatpump"),s=document.getElementById("btn-gas");r&&d&&(r.addEventListener("click",function(){o="dense",d.classList.remove("active"),r.classList.add("active"),c()}),d.addEventListener("click",function(){o="sparse",r.classList.remove("active"),d.classList.add("active"),c()})),l&&s&&(l.addEventListener("click",function(){a="heatpump",s.classList.remove("active"),l.classList.add("active"),c()}),s.addEventListener("click",function(){a="gas",l.classList.remove("active"),s.classList.add("active"),c()})),["area","price","years"].forEach(function(e){var t=document.getElementById(e);t&&t.addEventListener("input",c)}),c()})}();
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-questions {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.qa-header {
    text-align: center;
    margin-bottom: 40px;
}

.qa-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: var(--primary);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qa-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #475569;
    max-width: 700px;
    margin: 0 auto;
}

.qa-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.qa-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
}

.qa-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    border-color: #cbd5e1;
}

.question-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--primary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bg-light);
    display: flex;
    gap: 15px;
}

.q-number {
    background: var(--primary);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.answers-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.answer-box {
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid;
}

.answer-bad {
    background: #fef2f2;
    border-color: var(--danger);
}

.answer-good {
    background: #f0fdf4;
    border-color: var(--success);
}

.answer-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.answer-bad .answer-label { color: var(--danger); }
.answer-good .answer-label { color: var(--success); }

.answer-text {
    font-size: 15px;
    line-height: 1.6;
    color: #334155;
    margin: 0;
    font-style: italic;
}

.red-flags-section {
    margin-top: 50px;
    background: #fff1f2;
    border: 2px dashed #fecaca;
    border-radius: 20px;
    padding: 35px 40px;
}

.red-flags-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.red-flags-header h3 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    color: #9f1239;
}

.flags-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.flags-list li {
    position: relative;
    padding-left: 35px;
    font-size: 16px;
    line-height: 1.5;
    color: #7f1d1d;
    font-weight: 600;
}

.flags-list li::before {
    content: "&#x2716;";
    position: absolute;
    left: 0;
    top: 2px;
    color: var(--danger);
    font-size: 18px;
}

@media (max-width: 768px) {
    .answers-grid { grid-template-columns: 1fr; gap: 15px; }
    .qa-card { padding: 20px; }
    .question-title { font-size: 18px; line-height: 1.4; }
    .red-flags-section { padding: 25px 20px; }
    .red-flags-header h3 { font-size: 20px; }
}
</style>

<div class="premium-questions" id="qa-app-installer">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Na jakiej podstawie dobierze Pan rozstaw rur i długość pętli?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Potrzebuję projektu z obliczonym OZC (zapotrzebowaniem na ciepło) dla każdego pomieszczenia. Inaczej rozłożymy rury w łazience, a inaczej w sypialni, żeby nie przegrzewać wnętrz."
        }
      }, {
        "@type": "Question",
        "name": "Jaka będzie maksymalna długość jednej pętli?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Staram się nie przekraczać 100–120 metrów dla rury 16 mm. Zbyt długie pętle generują duże opory i podłoga na końcu może być zimna."
        }
      }, {
        "@type": "Question",
        "name": "Jak zamierza Pan wykonać dylatacje?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Dylatacje muszą być w progach, przy dużych powierzchniach (powyżej 30-40 m²) i tam, gdzie pomieszczenia mają kształt litery L. Rury przechodzące przez dylatacje muszę puścić w otulinie (peszlu)."
        }
      }, {
        "@type": "Question",
        "name": "W jaki sposób zrównoważy Pan instalację hydraulicznie?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Zrobię nastawy wstępne na rotametrach w rozdzielaczu, zgodnie z projektem. Każda pętla ma inny opór, więc muszę wyregulować przepływy, żeby wszędzie grzało tak samo."
        }
      }, {
        "@type": "Question",
        "name": "Czy przeprowadzimy próbę szczelności na mokro czy na sucho?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Próba musi odbyć się przed zalaniem jastrychu, najlepiej sprężonym powietrzem lub wodą pod ciśnieniem (np. 6 bar). Podczas zalewania rury muszą być pod ciśnieniem, żeby widzieć, czy ekipa od wylewek czegoś nie uszkodziła."
        }
      }]
    }
    </script>
    <div class="qa-header">
        <h2><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3d7.png" alt="🏗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 5 pytań, które powinien zadać inwestor.</h2>
        <p>Aby uniknąć pułapek opisanych wcześniej, musisz zweryfikować, z kim masz do czynienia. Oto lista pytań, które pomogą ocenić, czy instalator podchodzi do tematu profesjonalnie. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Pytania rekrutacyjne przygotowane przez inżynierów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="qa-list">
        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">1</span> „Na jakiej podstawie dobierze Pan rozstaw rur i długość pętli?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Panie, u każdego daję co 10 cm i jest git, nikt nie narzekał”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Potrzebuję projektu z obliczonym OZC (zapotrzebowaniem na ciepło) dla każdego pomieszczenia. Inaczej rozłożymy rury w łazience, a inaczej w sypialni, żeby nie przegrzewać wnętrz”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">2</span> „Jaka będzie maksymalna długość jednej pętli?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Ile wyjdzie, tyle wyjdzie, najwyżej mocniejszą pompę się wstawi”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Staram się nie przekraczać 100–120 metrów dla rury 16 mm. Zbyt długie pętle generują duże opory i podłoga na końcu może być zimna”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">3</span> „Jak zamierza Pan wykonać dylatacje?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Wylewka sama zapracuje, nie ma co dzielić podłogi”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Dylatacje muszą być w progach, przy dużych powierzchniach (powyżej 30-40 m²) i tam, gdzie pomieszczenia mają kształt litery L. Rury przechodzące przez dylatacje muszę puścić w otulinie (peszlu)”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">4</span> „W jaki sposób zrównoważy Pan instalację hydraulicznie?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Samo się wyrówna po odpaleniu pompy, najwyżej się pokręci na rozdzielaczu”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Zrobię nastawy wstępne na rotametrach w rozdzielaczu, zgodnie z projektem. Każda pętla ma inny opór, więc muszę wyregulować przepływy, żeby wszędzie grzało tak samo”.</p>
                </div>
            </div>
        </div>

        <div class="qa-card">
            <h3 class="question-title"><span class="q-number">5</span> „Czy przeprowadzimy próbę szczelności na mokro czy na sucho?”</h3>
            <div class="answers-grid">
                <div class="answer-box answer-bad">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/274c.png" alt="❌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Zła odpowiedź</div>
                    <p class="answer-text">„Puszczę wodę, jak skończę, i zobaczymy czy kapie”.</p>
                </div>
                <div class="answer-box answer-good">
                    <div class="answer-label"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dobra odpowiedź</div>
                    <p class="answer-text">„Próba musi odbyć się przed zalaniem jastrychu, najlepiej sprężonym powietrzem lub wodą pod ciśnieniem (np. 6 bar). Podczas zalewania rury muszą być pod ciśnieniem, żeby widzieć, czy ekipa od wylewek czegoś nie uszkodziła”.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="red-flags-section">
        <div class="red-flags-header">
            <span style="font-size: 32px;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6a9.png" alt="🚩" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span>
            <h3>Czerwone flagi (Uciekaj, jeśli to usłyszysz!)</h3>
        </div>
        <ul class="flags-list">
            <li>„OZC? A po co to komu? Ja na oko widzę, że tu trzeba gęsto kłaść.”</li>
            <li>„Projektant tylko bierze kasę, a ja to w rękach miałem setki razy.”</li>
            <li>„Pompę ciepła ustawimy na 45 stopni i na pewno będzie ciepło.” (Uwaga: to zabójstwo dla Twojego portfela!)</li>
        </ul>
    </div>
</div>

<script>
/* DOMAIN PROTECTION MODULE */
!function(){var _0x5c8f=['\x68\x6f\x73\x74\x6e\x61\x6d\x65','\x6c\x6f\x63\x61\x74\x69\x6f\x6e','\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x77\x77\x77\x2e\x70\x72\x6f\x6a\x65\x6b\x74\x2d\x6f\x67\x72\x7a\x65\x77\x61\x6e\x69\x61\x2e\x70\x6c','\x6c\x6f\x63\x61\x6c\x68\x6f\x73\x74','\x31\x32\x37\x2e\x30\x2e\x30\x2e\x31','','\x69\x6e\x63\x6c\x75\x64\x65\x73','\x71\x61\x2d\x61\x70\x70\x2d\x69\x6e\x73\x74\x61\x6c\x6c\x65\x72','\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c','\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x42\x79\x49\x64','\x44\x4f\x4d\x43\x6f\x6e\x74\x65\x6e\x74\x4c\x6f\x61\x64\x65\x64','\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72'];document[_0x5c8f[12]](_0x5c8f[11],function(){var _0x2b3c=window[_0x5c8f[1]][_0x5c8f[0]];var _0x4d1e=[_0x5c8f[2],_0x5c8f[3],_0x5c8f[4],_0x5c8f[5],_0x5c8f[6]];if(!_0x4d1e[_0x5c8f[7]](_0x2b3c)){document[_0x5c8f[10]](_0x5c8f[8])[_0x5c8f[9]]=decodeURIComponent(escape(window.atob('PGRpdiBzdHlsZT0icGFkZGluZzogNjBweCAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7IGJhY2tncm91bmQ6ICNmZWUyZTI7IGNvbG9yOiAjZGMyNjI2OyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWluLWhlaWdodDogNDAwcHg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA0OHB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyI+8J+TkTwvc3Bhbj48aDMgc3R5bGU9Im1hcmdpbi10b3A6MDsgZm9udC1zaXplOiAyNHB4OyI+VHJlxZvEhyBjaHJvbmlvbmEgcHJhd2VtIGF1dG9yc2tpbTwvaDM+PHAgc3R5bGU9ImZvbnQtc2l6ZTogMTZweDsgbWF4LXdpZHRoOiA1MDBweDsgY29sb3I6ICM3ZjFkMWQ7IGxpbmUtaGVpZ2h0OiAxLjU7Ij5UbyB6ZXN0YXdpZW5pZSBqZXN0IHfFgmFzbm/Fm2NpxIUgc2Vyd2lzdSA8c3Ryb25nPlByb2pla3QtT2dyemV3YW5pYS5wbDwvc3Ryb25nPiBpIHpvc3RhxYJvIHdrbGVqb25lIG5hIHTEmSBzdHJvbsSZIGJleiB6Z29keSBhdXRvcmEuPC9wPjxhIGhyZWY9Imh0dHBzOi8vcHJvamVrdC1vZ3J6ZXdhbmlhLnBsLyIgc3R5bGU9Im1hcmdpbi10b3A6IDI1cHg7IHBhZGRpbmc6IDE0cHggMjhweDsgYmFja2dyb3VuZDogI2RjMjYyNjsgY29sb3I6IHdoaXRlOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGJvcmRlci1yYWRpdXM6IDEycHg7IGZvbnQtd2VpZ2h0OiA4MDA7IHRyYW5zaXRpb246IDAuM3M7Ij5aT0JBQ1ogT1JZR0lOQUxOWSBBUlRZS1XFgTwvYT48L2Rpdj4=')));}})}();
</script>



<h2 class="wp-block-heading">Podsumowanie – projekt to nie koszt, to inwestycja.</h2>



<p>Budowa domu to jeden z największych wydatków w życiu. Na etapie wykończenia, gdy kasa się kończy, a termin goni, łatwo ulec pokusie uproszczeń. Jednak&nbsp;<strong>ogrzewanie podłogowe to instalacja, która będzie z Tobą na co najmniej 30 lat</strong>. Błędy popełnione na etapie układania rur będą generować straty każdego miesiąca, przez każdą zimę, przez cały ten okres.</p>



<p><strong>Projekt ogrzewania podłogowego z obliczeniami to nie koszt – to inwestycja, która zwraca się zazwyczaj już w momencie zakupu materiałów u hurtownika</strong>&nbsp;(dzięki optymalizacji ilości rury) i w&nbsp;<strong>pierwszym sezonie grzewczym</strong>&nbsp;(dzięki niższym rachunkom). To także jedyny sposób, aby:</p>



<ul class="wp-block-list">
<li>uniknąć kosztownego kucia wylewki,</li>



<li>zapewnić równomierny komfort cieplny w całym domu,</li>



<li>umożliwić sprawne sterowanie strefowe,</li>



<li>spełnić wymogi gwarancyjne producentów pomp ciepła.</li>
</ul>



<p>Odpowiedź na pytanie postawione w tytule jest więc jednoznaczna:&nbsp;<strong>projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach</strong>&nbsp;to różnica rzędu&nbsp;<strong>kilkudziesięciu tysięcy złotych</strong>&nbsp;w perspektywie 15–20 lat, nie wspominając o codziennym komforcie, który przy systemie intuicyjnie ułożonym jest zwykle daleki od ideału.</p>



<p>Nie daj się przekonać, że „wystarczy na oko”. Ogrzewanie podłogowe to system inżynieryjny – wymaga obliczeń, wiedzy i precyzji. Profesjonalny projekt to jedyny sposób, aby spać spokojnie, nie martwiąc się o zimne stopy ani o rachunki, które wymykają się spod kontroli.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/">Projekt ogrzewania podłogowego „z głowy” vs. projekt z obliczeniami – ile możesz stracić na błędach?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Grubość wylewki betonowej na ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/</link>
					<comments>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 14 Mar 2026 14:21:33 +0000</pubDate>
				<category><![CDATA[Błędy wykonawcze]]></category>
		<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Posadzki i wylewki]]></category>
		<category><![CDATA[bezwładność cieplna]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[dylatacje]]></category>
		<category><![CDATA[grubość wylewki]]></category>
		<category><![CDATA[jastrych cementowy]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[opór cieplny]]></category>
		<category><![CDATA[plastyfikator do betonu]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[posadzki]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[wylewka anhydrytowa]]></category>
		<category><![CDATA[wylewka betonowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3831</guid>

					<description><![CDATA[<p>Decyzja o montażu „podłogówki” to zaledwie początek wyzwań, z jakimi musisz się zmierzyć podczas budowy lub remontu domu. Jednym z kluczowych parametrów, który bezpośrednio wpłynie na sprawność instalacji, wysokość rachunków za energię oraz trwałość samej posadzki, jest odpowiednia grubość wylewki betonowej na ogrzewanie podłogowe. Zbyt cienka warstwa to ogromne ryzyko pęknięć i nierównomiernego rozkładu temperatur (tzw. efekt „zebry”). Z kolei zbyt masywny jastrych drastycznie zwiększy bezwładność cieplną systemu, sprawiając, że dom będzie nagrzewał się wolno, a koszty eksploatacji niepotrzebnie wzrosną. W tym artykule rozkładamy na czynniki pierwsze fizykę przenikania ciepła, tłumaczymy obowiązujące normy i podpowiadamy, jak uniknąć kosztownych błędów wykonawczych.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Decyzja o montażu ogrzewania podłogowego to dopiero początek drogi. Przed wykonawcą i inwestorem stoi szereg kluczowych wyborów technologicznych, a jednym z najważniejszych jest określenie&nbsp;<strong>grubości wylewki betonowej na ogrzewanie podłogowe</strong>. Parametr ten decyduje nie tylko o trwałości i wytrzymałości posadzki, ale przede wszystkim o efektywności całego systemu grzewczego. Zbyt cienka warstwa grozi pęknięciami i nierównomiernym rozprowadzeniem ciepła, z kolei zbyt gruba wylewka znacząco zwiększy bezwładność cieplną i rachunki za energię.</p>



<p>W tym artykule przeprowadzę Cię przez wszystkie techniczne aspekty doboru właściwej grubości jastrychu cementowego. Pokażę, jakie normy i zasady obowiązują, czym różni się wylewka pod ogrzewanie od tradycyjnej posadzki oraz jakie konsekwencje niesie za sobą nieprawidłowe wykonanie warstwy nośnej. W drugiej części artykułu zagłębimy się w fizykę przenikania ciepła – poznasz wzory i dane, które pozwolą Ci samodzielnie obliczyć opór cieplny wylewki i zrozumieć, jak każdy centymetr grubości wpływa na efektywność ogrzewania. Postaram się, by nawet skomplikowane zależności były zrozumiałe, a zdobytą wiedzę będziesz mógł wykorzystać podczas budowy lub remontu.</p>



<h2 class="wp-block-heading">Dlaczego grubość wylewki ma aż tak duże znaczenie dla ogrzewania podłogowego?</h2>



<p>Zanim przejdziemy do konkretnych wartości liczbowych, warto zrozumieć fizykę zjawisk zachodzących w podłodze. Wylewka betonowa w systemie <a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">ogrzewania podłogowego</a> pełni bowiem dwie zasadnicze funkcje: konstrukcyjną i akumulacyjną.</p>



<p>Z jednej strony musi przenosić obciążenia użytkowe (ciężar mebli, ludzi, ścianek działowych) i chronić rury grzewcze przed uszkodzeniami mechanicznymi. Z drugiej strony – to właśnie masa betonowa odpowiada za przejmowanie ciepła z rur i oddawanie go do pomieszczenia. Im większa&nbsp;<strong>grubość otulenia <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rur grzewczych</a></strong>, tym większa masa bierze udział w wymianie ciepła.</p>



<p>W praktyce wygląda to następująco: ciepło z rur (o temperaturze zazwyczaj 35-55°C) przenika przez warstwę betonu, a następnie poprzez wykończenie podłogi (płytki, panele) trafia do wnętrza. Proces ten podlega ścisłym prawom fizyki – im grubsza warstwa, tym dłuższa droga, jaką musi pokonać energia cieplna.</p>



<h3 class="wp-block-heading">Rola wylewki jako akumulatora ciepła</h3>



<p>Właściwości akumulacyjne betonu są pożądane, ale tylko w pewnym zakresie. Z jednej strony&nbsp;<strong>odpowiednia grubość wylewki</strong>&nbsp;pozwala na utrzymanie stabilnej temperatury w pomieszczeniu – nawet po wyłączeniu kotła podłoga jeszcze długo oddaje ciepło. Z drugiej – zbyt masywna warstwa sprawia, że system staje się &#8222;ospały&#8221; i wolno reaguje na zmiany pogody czy nasze potrzeby.</p>



<p>Wyobraź sobie dwie sytuacje:</p>



<ul class="wp-block-list">
<li><strong>Cienka wylewka (4-5 cm nad rurą)</strong>&nbsp;– nagrzewa się szybko, ale też szybko stygnie. Idealna do pomieszczeń użytkowanych okazjonalnie, gdzie zależy nam na szybkim efekcie.</li>



<li><strong>Gruba wylewka (8-10 cm nad rurą)</strong>&nbsp;– potrzeba kilku godzin, by odczuć zmianę temperatury, ale raz nagrzana utrzymuje ciepło przez długi czas. Sprawdza się w budynkach z ciągłym trybem ogrzewania.</li>
</ul>



<h2 class="wp-block-heading">Jakie czynniki wpływają na optymalną grubość wylewki betonowej?</h2>



<p>Decyzja o tym,&nbsp;<strong>jaka grubość wylewki pod ogrzewanie podłogowe</strong>&nbsp;będzie właściwa, zależy od kilku zmiennych. Nie można jej podejmować w oderwaniu od reszty projektu.</p>



<h3 class="wp-block-heading">1. Źródło ciepła i temperatura zasilania</h3>



<p>To, czym grzejesz dom, ma bezpośredni wpływ na wymaganą grubość jastrychu. <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompy ciepła</a> pracują na niskich parametrach (zasilanie 35-40°C) – wymagają więc cieńszej wylewki, by ciepło mogło efektywnie przenikać do pomieszczenia. <a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">Kotły gazowe</a> czy na <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/" type="link" id="https://projekt-ogrzewania.pl/kociol-na-pellet/">paliwa stałe</a> często wymagają wyższych temperatur, co teoretycznie pozwala na zastosowanie grubszej warstwy, ale jednocześnie zwiększa ryzyko przegrzewania posadzki.</p>



<h3 class="wp-block-heading">2. Rozstaw rur grzewczych</h3>



<p>Gęstość ułożenia <a href="https://projekt-ogrzewania.pl/petla-grzewcza/" type="link" id="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a> ma kolosalne znaczenie. Standardowo rury układa się co 10-20 cm. Im gęstszy rozstaw, tym cieńsza może być wylewka, ponieważ ciepło ma mniejszą odległość do pokonania w poziomie. Przy rzadkim rozstawie (np. co 25-30 cm) konieczne jest zastosowanie grubszej warstwy, by zniwelować efekt &#8222;zebry&#8221; – czyli pasm zimniejszych i cieplejszych na podłodze.</p>



<h3 class="wp-block-heading">3. Przeznaczenie pomieszczenia i obciążenia</h3>



<p>Inne wymagania będzie miała posadzka w sypialni, a inne w hali produkcyjnej. Normy obciążeniowe narzucają minimalną wytrzymałość wylewki. Dla pomieszczeń mieszkalnych wystarczy klasa wytrzymałości F4 (4 MPa), ale już w garażach czy kotłowniach potrzebna jest większa grubość i wyższa klasa betonu.&nbsp;<strong>Całkowita grubość wylewki betonowej</strong>&nbsp;musi uwzględniać te wymagania.</p>



<h3 class="wp-block-heading">4. Rodzaj izolacji podłogowej</h3>



<p>Pod wylewką znajduje się warstwa izolacji termicznej (najczęściej <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/" type="link" id="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">styropian</a> lub pianka poliuretanowa). Im grubsza i bardziej miękka izolacja, tym większe ryzyko ugięć i pęknięć jastrychu. W przypadku miękkiego podłoża konieczne jest zwiększenie grubości wylewki lub zastosowanie zbrojenia, by skompensować brak sztywności.</p>



<h2 class="wp-block-heading">Minimalna i maksymalna grubość wylewki – co mówią normy i producenci?</h2>



<p>Przejdźmy do konkretów. Wieloletnie doświadczenia wykonawców oraz zalecenia producentów systemów grzewczych pozwoliły na wypracowanie złotego środka.</p>



<p><strong>Optymalna grubość wylewki cementowej na ogrzewaniu podłogowym</strong>&nbsp;mieści się w przedziale&nbsp;<strong>6-8 cm</strong>&nbsp;(licząc od górnej powierzchni izolacji do gotowej posadzki). Jednak kluczowe jest tutaj&nbsp;<strong>minimum nad rurą</strong>, które powinno wynosić&nbsp;<strong>3-4,5 cm</strong>.</p>



<h3 class="wp-block-heading">Dlaczego nie można kłaść cieńszej warstwy?</h3>



<p>Jeśli wykonawca zaproponuje Ci wylewkę o grubości nad rurą poniżej 3 cm – podziękuj i poszukaj innego fachowca. Zbyt cienka otulina grozi:</p>



<ul class="wp-block-list">
<li><strong>Pęknięciami</strong>&nbsp;– beton nie ma wystarczającej nośności, by przenieść obciążenia punktowe.</li>



<li><strong>Prześwitywaniem rur</strong>&nbsp;– na powierzchni podłogi będą widoczne ślady ułożenia instalacji.</li>



<li><strong>Nierównomiernym nagrzewaniem</strong>&nbsp;– nad rurą będzie gorąco, a w przestrzeniach między nimi zimno.</li>



<li><strong>Uszkodzeniem rur</strong>&nbsp;– podczas wiercenia czy mocowania listew przypodłogowych łatwo trafić w przewód.</li>
</ul>



<h3 class="wp-block-heading">Konsekwencje zbyt grubej wylewki</h3>



<p>Przekroczenie 8 cm całkowitej grubości to również poważny błąd. Co wtedy?</p>



<ul class="wp-block-list">
<li><strong>Wzrost kosztów ogrzewania</strong>&nbsp;– im więcej masy betonowej, tym więcej energii trzeba dostarczyć, by ją nagrzać.</li>



<li><strong>Wydłużony czas reakcji</strong>&nbsp;– sterowanie temperaturą staje się trudne, system nie nadąża za zmianami pogody.</li>



<li><strong>Ryzyko przegrzewania</strong>&nbsp;– dolne partie wylewki przy rurach mogą osiągać zbyt wysoką temperaturę, co prowadzi do naprężeń termicznych i mikropęknięć.</li>



<li><strong>Niepotrzebne obciążenie stropu</strong>&nbsp;– każdy centymetr betonu to dodatkowe 20-25 kg/m².</li>
</ul>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

.premium-compare {
    max-width: 1000px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.compare-header {
    padding: 35px 40px;
    text-align: center;
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-color);
}

.compare-header h3 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
}

.compare-header p {
    margin: 0 auto;
    max-width: 700px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.table-wrapper {
    overflow-x: auto;
    padding: 0 40px;
    margin-top: 20px;
}

.compare-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 700px;
}

.compare-table th {
    padding: 20px 15px;
    text-align: center;
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid var(--border-color);
}

.compare-table th.col-param {
    text-align: left;
    color: #64748b;
    width: 30%;
}

.compare-table th.col-cement {
    color: var(--primary);
    width: 35%;
}

.compare-table th.col-anhydrite {
    color: var(--accent);
    width: 35%;
    border-bottom-color: var(--accent);
}

.compare-table td {
    padding: 16px 15px;
    text-align: center;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}

.compare-table td.param-name {
    text-align: left;
    font-weight: 700;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.compare-table td.param-name span.icon {
    font-size: 18px;
    background: #f8fafc;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.compare-table tr:hover td {
    background: #f8fafc;
}

.val-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 8px;
    font-weight: 700;
}

.val-pill.accent {
    background: #eff6ff;
    color: var(--accent);
}

.compare-footer {
    padding: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
}

.summary-card {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--border-color);
}

.summary-card h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 10px;
}

.summary-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.card-anhydrite {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.card-anhydrite h4 {
    color: var(--accent);
}

@media (max-width: 768px) {
    .compare-header { padding: 25px; }
    .table-wrapper { padding: 0 20px; }
    .compare-footer { grid-template-columns: 1fr; padding: 20px; gap: 20px; }
}
</style>

<div class="premium-compare" id="compare-app">
    <div class="compare-header">
        <h3>Wylewka betonowa czy anhydrytowa?</h3>
        <p>Na rynku dominują dwa rozwiązania: tradycyjna wylewka cementowa oraz nowoczesna wylewka anhydrytowa. Różnią się one właściwościami, co bezpośrednio przekłada się na wymaganą grubość i czas reakcji ogrzewania. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Porównanie przygotowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="table-wrapper">
        <table class="compare-table">
            <thead>
                <tr>
                    <th class="col-param">Parametr</th>
                    <th class="col-cement">Betonowa (Cementowa)</th>
                    <th class="col-anhydrite">Anhydrytowa (Samopoziomująca)</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cf.png" alt="📏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Całkowita grubość</td>
                    <td><span class="val-pill">6 – 8 cm</span></td>
                    <td><span class="val-pill accent">3,5 – 5 cm</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Otulina nad rurą</td>
                    <td><span class="val-pill">3 – 4,5 cm</span></td>
                    <td><span class="val-pill accent">ok. 2 – 3 cm</span></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f525.png" alt="🔥" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Przewodność (λ)</td>
                    <td>1,1 – 1,4 W/(m·K)</td>
                    <td><strong>1,6 – 2,0 W/(m·K)</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6e1.png" alt="🛡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Opór cieplny (na 1 cm)</td>
                    <td>~ 0,0083 m²K/W</td>
                    <td><strong>~ 0,0055 m²K/W</strong></td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Czas schnięcia</td>
                    <td>Długi (ok. 28 dni)</td>
                    <td>Krótki (7-14 dni)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a7.png" alt="💧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Odporność na wilgoć</td>
                    <td><strong>Wysoka</strong> (idealna do łazienek)</td>
                    <td>Niska (wymaga hydroizolacji)</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2696.png" alt="⚖" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Poziomowanie</td>
                    <td>Wymaga starannego zacierania</td>
                    <td>Idealnie gładka, samopoziomująca</td>
                </tr>
                <tr>
                    <td class="param-name"><span class="icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4b0.png" alt="💰" class="wp-smiley" style="height: 1em; max-height: 1em;" /></span> Koszt materiału</td>
                    <td><strong>Niższy</strong></td>
                    <td>Wyższy</td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="compare-footer">
        <div class="summary-card">
            <h4>Wylewka Betonowa (Cementowa)</h4>
            <p>Jest rozwiązaniem uniwersalnym i bardziej &#8222;wybaczającym&#8221; błędy wykonawcze. Jej większa grubość zapewnia wysoką stabilność mechaniczną i świetnie sprawdza się w pomieszczeniach wilgotnych (łazienki, garaże). Wymaga jednak wyższej temperatury zasilania z uwagi na większy opór cieplny.</p>
        </div>
        
        <div class="summary-card card-anhydrite">
            <h4>Wylewka Anhydrytowa</h4>
            <p>Dzięki lepszemu przewodnictwu ciepła może być znacznie cieńsza. To absolutna zaleta w remontach, gdzie walczymy o każdy centymetr wysokości pomieszczenia, oraz przy pompach ciepła. Szybciej się nagrzewa, jednak w miejscach mokrych (pod prysznicem) bezwzględnie wymaga szczelnej hydroizolacji.</p>
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE DLA TABELI
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    // Dopuszczone domeny. Dodaj swoje w razie potrzeby.
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('compare-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">To zestawienie jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-physics {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}

.physics-header {
    padding: 35px 40px;
    background: var(--bg-light);
    border-bottom: 1px solid #f1f5f9;
}

.physics-header h3 {
    margin: 0 0 15px 0;
    font-size: 24px;
    font-weight: 800;
    color: var(--primary);
}

.physics-header p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.physics-body {
    padding: 40px;
}

/* WZÓR FIZYCZNY */
.formula-box {
    background: #eff6ff;
    border-left: 6px solid var(--accent);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 35px;
}

.formula-main {
    font-size: 32px;
    font-weight: 900;
    color: var(--accent);
    letter-spacing: 2px;
    font-family: 'Courier New', Courier, monospace;
    background: #ffffff;
    padding: 10px 20px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.1);
}

.formula-legend {
    list-style: none;
    padding: 0;
    margin: 0;
}

.formula-legend li {
    font-size: 14px;
    color: #475569;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.formula-legend li strong {
    color: var(--primary);
    background: #e2e8f0;
    padding: 2px 8px;
    border-radius: 4px;
    font-family: monospace;
    font-size: 14px;
}

/* TABELA */
.tech-table-wrapper {
    overflow-x: auto;
    margin-bottom: 30px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
}

.tech-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.tech-table th {
    background: #f8fafc;
    padding: 15px 20px;
    font-size: 12px;
    text-transform: uppercase;
    color: #64748b;
    font-weight: 800;
    letter-spacing: 0.5px;
    border-bottom: 2px solid #e2e8f0;
}

.tech-table td {
    padding: 15px 20px;
    font-size: 14px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
}

.tech-table tr:last-child td {
    border-bottom: none;
}

.tech-table td strong {
    color: var(--accent);
}

/* PRZYKŁADY OBLICZEŃ */
.examples-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 35px;
}

.example-card {
    background: #ffffff;
    border: 2px solid #f1f5f9;
    border-radius: 16px;
    padding: 25px;
    position: relative;
    transition: 0.3s;
}

.example-card:hover {
    border-color: var(--accent);
    box-shadow: 0 10px 25px rgba(37, 99, 235, 0.05);
}

.example-badge {
    position: absolute;
    top: -12px;
    left: 20px;
    background: var(--primary);
    color: white;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
}

.example-card h4 {
    margin: 10px 0 15px 0;
    font-size: 16px;
    font-weight: 800;
}

.calc-step {
    font-family: monospace;
    background: #f8fafc;
    padding: 10px;
    border-radius: 8px;
    color: #475569;
    font-size: 13px;
    margin-bottom: 15px;
    text-align: center;
}

.calc-result {
    text-align: center;
    font-size: 24px;
    font-weight: 900;
    color: var(--accent);
}

.calc-result span {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}

.conclusion-box {
    margin-top: 25px;
    padding: 20px;
    background: #f0fdf4;
    border-radius: 12px;
    border-left: 4px solid var(--success);
    font-size: 14px;
    color: #166534;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .formula-box {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    .examples-grid {
        grid-template-columns: 1fr;
    }
    .physics-header, .physics-body {
        padding: 25px;
    }
}
</style>

<div class="premium-physics" id="physics-app">
    <div class="physics-header">
        <h3>Fizyka przenikania ciepła – jak obliczyć opór cieplny wylewki?</h3>
        <p>Aby zbudować rzetelny kalkulator lub samodzielnie ocenić efektywność planowanej podłogi, musisz operować na współczynniku przewodzenia ciepła (λ – lambda). To właśnie opór cieplny (R) mówi nam, jak bardzo dana warstwa będzie utrudniać przepływ ciepła z rur do pomieszczenia. <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Opracowanie inżynierskie: Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="physics-body">
        <div class="formula-box">
            <div class="formula-main">R = d / λ</div>
            <ul class="formula-legend">
                <li><strong>R</strong> opór cieplny [m²K/W]</li>
                <li><strong>d</strong> grubość warstwy w metrach [m]</li>
                <li><strong>λ</strong> współczynnik przewodzenia ciepła [W/(m⋅K)]</li>
                <li style="margin-top: 10px; font-size: 12px; font-weight: 600;"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Im niższy opór (R), tym lepiej dla ogrzewania!</li>
            </ul>
        </div>

        <h4 style="margin: 0 0 15px 0; font-size: 16px; font-weight: 800;">Dane techniczne dla wylewek (na 1 cm grubości)</h4>
        <div class="tech-table-wrapper">
            <table class="tech-table">
                <thead>
                    <tr>
                        <th>Rodzaj wylewki</th>
                        <th>Przewodność (λ)</th>
                        <th>Opór (R) na 1 cm [m²K/W]</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Jastrych cementowy (standard)</td>
                        <td>~ 1,1 – 1,4 (przyjmujemy 1,2)</td>
                        <td><strong>0,0083</strong></td>
                    </tr>
                    <tr>
                        <td>Wylewka anhydrytowa</td>
                        <td>~ 1,6 – 2,0 (przyjmujemy 1,8)</td>
                        <td><strong>0,0055</strong></td>
                    </tr>
                    <tr>
                        <td>Beton z plastyfikatorem</td>
                        <td>~ 1,4 – 1,5</td>
                        <td><strong>0,0068</strong></td>
                    </tr>
                </tbody>
            </table>
        </div>

        <p style="font-size: 14px; line-height: 1.6; color: #475569; margin-bottom: 30px;">
            Widać wyraźnie, że <strong>anhydryt ma o ok. 30-40% mniejszy opór cieplny</strong> niż zwykły beton przy tej samej grubości. To oznacza, że nie tylko może być cieńszy, ale też lepiej &#8222;oddaje&#8221; energię z rurek.
        </p>

        <h4 style="margin: 0; font-size: 18px; font-weight: 800; text-align: center;">Praktyczne przykłady z kalkulatora</h4>
        <div class="examples-grid">
            
            <div class="example-card">
                <div class="example-badge">Przykład 1</div>
                <h4>Wylewka cementowa (7 cm)</h4>
                <div class="calc-step">R = 0,07 m / 1,2 λ</div>
                <div class="calc-result">0,0583 <span>m²K/W</span></div>
            </div>

            <div class="example-card">
                <div class="example-badge" style="background: var(--accent);">Przykład 2</div>
                <h4>Wylewka anhydrytowa (4 cm)</h4>
                <div class="calc-step">R = 0,04 m / 1,8 λ</div>
                <div class="calc-result">0,0222 <span>m²K/W</span></div>
            </div>

        </div>

        <div class="conclusion-box">
            <strong>Wniosek:</strong> Różnica jest ponad dwukrotna! To tłumaczy, dlaczego anhydrytowe ogrzewanie podłogowe reaguje szybciej – ciepło ma po prostu mniejsze &#8222;utrudnienie&#8221; w drodze z rurki na powierzchnię posadzki.
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock)
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    // Dopuszczone domeny:
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('physics-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść edukacyjna chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Powyższe obliczenia i wzory stanowią własność intelektualną inżynierów z <strong>Projekt-Ogrzewania.pl</strong> i zostały skopiowane bez zgody.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h3 class="wp-block-heading">Co na to normy?</h3>



<p>Dla porównania, norma&nbsp;<strong><a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" type="link" id="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a></strong>&nbsp;(systemy ogrzewania podłogowego) sugeruje, aby&nbsp;<strong>łączny opór cieplny warstw znajdujących się nad rurami grzewczymi (wylewka + wykończenie podłogi) nie przekraczał 0,15 m²K/W</strong>, aby system był uznawany za efektywny.</p>



<p>W naszym przykładzie:</p>



<ul class="wp-block-list">
<li>Dla wylewki 7 cm (R=0,058) pozostaje nam jeszcze spory zapas na wykończenie – panele z podkładem (R=0,05-0,10) zmieszczą się w normie.</li>



<li>Dla wylewki 4 cm anhydrytowej (R=0,022) mamy ogromną rezerwę, co oznacza, że system będzie pracował bardzo efektywnie nawet przy grubych panelach.</li>
</ul>



<h2 class="wp-block-heading">Jak grubość wylewki wpływa na odbiór ciepła przez różne wykończenia podłogi?</h2>



<p>Nie bez znaczenia jest także to, czym ostatecznie wykończysz podłogę. Płytki ceramiczne, panele laminowane, deska drewniana czy wykładzina – każdy z tych materiałów ma inną oporność cieplną. Producenci systemów grzewczych podają współczynnik oporu cieplnego (R) dla posadzki. Im wyższy R, tym trudniej ciepłu przeniknąć do pomieszczenia.</p>



<h3 class="wp-block-heading">Przykład praktyczny z uwzględnieniem oporu</h3>



<p>Załóżmy, że masz wylewkę cementową o grubości 6 cm (R≈0,05 m²K/W). Planujesz położyć:</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne (gr. 1 cm)</strong>&nbsp;– ich opór cieplny to ok. 0,01 m²K/W. Łączny opór (wylewka + płytki) to 0,06. Ciepło swobodnie przepływa.</li>



<li><strong>Panele laminowane (gr. 1 cm) z podkładem</strong>&nbsp;– opór może wynieść nawet 0,10-0,15 m²K/W. Łączny opór rośnie do 0,15-0,20. To oznacza, że temperatura zasilania musi być wyższa o kilka stopni, by osiągnąć ten sam komfort, a system zbliża się do granicy normy lub ją przekracza.</li>
</ul>



<p>Wniosek? Im grubsza i bardziej izolacyjna warstwa wykończeniowa, tym cieńsza powinna być wylewka, by skompensować opory. W praktyce przy panelach często celuje się w dolne granice grubości jastrychu (ok. 5-6 cm), przy płytkach można pozwolić sobie na nieco więcej (6-8 cm).</p>



<h2 class="wp-block-heading">Bezwładność cieplna – drugi wymiar grubości</h2>



<p>Oprócz oporu cieplnego, grubość wylewki determinuje jej bezwładność cieplną, czyli zdolność do magazynowania energii. To ważne z punktu widzenia komfortu i sterowania.</p>



<p>Możesz dodać do swojego kalkulatora przelicznik masy:</p>



<ul class="wp-block-list">
<li><strong>Beton waży ok. 20-23 kg na każdy 1 cm grubości na 1 m² powierzchni.</strong></li>
</ul>



<p>Dla wylewki 7 cm na powierzchni 50 m² mamy więc:<br>7 cm × 22 kg/m²/cm × 50 m² =&nbsp;<strong>7700 kg (7,7 tony) betonu do ogrzania!</strong></p>



<p>To pokazuje, ile energii trzeba dostarczyć, by cała ta masa osiągnęła żądaną temperaturę. Kalkulator mógłby szacować czas nagrzewania w zależności od mocy instalacji.</p>



<h2 class="wp-block-heading">Technologia wykonania – dylatacje i zbrojenie a grubość wylewki</h2>



<p>Sama decyzja o&nbsp;<strong>grubości wylewki betonowej</strong>&nbsp;to nie wszystko. Równie ważne jest prawidłowe wykonanie detali. Ogrzewanie podłogowe to instalacja pracująca w zmiennych temperaturach – wylewka będzie się rozszerzać i kurczyć. Aby temu zaradzić, stosuje się dylatacje.</p>



<h3 class="wp-block-heading">Dylatacje obwodowe i połówkowe</h3>



<p>Przy ścianach należy ułożyć taśmę dylatacyjną o grubości minimum 5-8 mm, która oddzieli wylewkę od ścian i odizoluje ją od naprężeń. W przypadku dużych pomieszczeń (powyżej 30-40 m²) konieczne jest wykonanie dylatacji pośrednich, dzielących posadzkę na mniejsze pola.&nbsp;<strong>Grubość wylewki</strong>&nbsp;determinuje tu rozstaw dylatacji – im grubszy jastrych, tym większe pole można zostawić bez cięcia, ale nie powinno ono przekraczać 6-8 metrów.</p>



<h3 class="wp-block-heading">Zbrojenie – kiedy jest konieczne?</h3>



<p>Wylewka na ogrzewaniu podłogowym pracuje inaczej niż tradycyjna. Zmiany temperatury powodują naprężenia, które mogą prowadzić do rys. Aby im zapobiec, stosuje się:</p>



<ul class="wp-block-list">
<li><strong>Włókna polipropylenowe (rozwłóknienie)</strong>&nbsp;– dodawane do mieszanki betonowej, zabezpieczają przed mikrorysami skurczowymi.</li>



<li><strong>Siatka zbrojąca</strong>&nbsp;– układana nad rurami (nie pod nimi!), zwiększa nośność mechaniczną. W przypadku cienkich wylewek (poniżej 5 cm) siatka jest wręcz obowiązkowa. Przy grubości 6-8 cm można ją stosować opcjonalnie, szczególnie przy miękkiej izolacji.</li>
</ul>



<h3 class="wp-block-heading">Plastyfikator – niezbędny dodatek</h3>



<p>Jeśli decydujesz się na wylewkę cementową, upewnij się, że ekipa dodała plastyfikator do betonu. Zwiększa on gęstość masy i sprawia, że lepiej &#8222;oblepia&#8221; rurki, co poprawia oddawanie ciepła o około 10-15%. Plastyfikator wpływa też na współczynnik λ, obniżając go z ok. 1,2 do nawet 1,4-1,5, co widać w tabeli oporu cieplnego.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

/* ZAJAWKA SEO I LINK */
.calc-intro {
    max-width: 1150px;
    margin: 40px auto 10px auto;
    text-align: center;
    padding: 0 20px;
}

.calc-intro h2 {
    font-size: 28px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 15px;
}

.calc-intro p {
    font-size: 16px;
    color: #475569;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

.screed-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.type-btn span {
    margin-top: 4px;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 25px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    align-items: center;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 800;
    color: var(--accent);
    font-size: 14px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none; margin-top: 10px;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--success); transition: 0.3s;
}
.score-num { font-size: 48px; font-weight: 900; line-height: 1; display: block; margin: 10px 0; }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 13px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca; line-height: 1.4; text-align: left;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 12px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #1e293b; align-items: center;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; text-align: right;}

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 15px; border-radius: 12px; text-align: center;}
.mini-card span { font-size: 11px; color: #94a3b8; display: block; margin-bottom: 6px; text-transform: uppercase; font-weight: 600;}
.mini-card strong { font-size: 18px; color: #fff; }

/* STOPKA */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block; background: var(--accent); color: white; text-decoration: none; padding: 16px 20px; border-radius: 12px; font-weight: 800; transition: 0.3s; font-size: 13px; text-align: center; border: none; cursor: pointer;
}
.cta-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2); }

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}
</style>

<div class="calc-intro">
    <h2>Kalkulator grubości wylewki i oporu cieplnego</h2>
    <p>Sprawdź, czy Twoja podłoga będzie efektywnie oddawać ciepło! Autorskie narzędzie stworzone przez inżynierów <a href="https://projekt-ogrzewania.pl/" style="color: #2563eb; font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>. Wybierz rodzaj jastrychu, dostosuj grubość wylewki oraz planowane wykończenie. Kalkulator na żywo wyliczy łączny opór cieplny (R) i oszacuje czas nagrzewania.</p>
</div>

<div class="screed-calc" id="screed-calc-app">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Rodzaj wylewki</span>
            <div class="type-selector">
                <div class="type-btn active" id="btn-cement">BETONOWA (CEMENTOWA)<span style="font-size:10px; font-weight:400">λ = 1.2 W/(m·K)</span></div>
                <div class="type-btn" id="btn-anhydrite">ANHYDRYTOWA<span style="font-size:10px; font-weight:400">λ = 1.8 W/(m·K)</span></div>
            </div>

            <span class="section-title">2. Parametry posadzki</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia pomieszczenia</label><span class="val-badge"><span id="v-area">50</span> m²</span></div>
                <input type="range" id="area" min="10" max="250" value="50">
            </div>
            
            <div class="input-wrap">
                <div class="input-label-row"><label>Grubość całkowita wylewki</label><span class="val-badge"><span id="v-thick">6.5</span> cm</span></div>
                <input type="range" id="thick" min="3.5" max="12.0" step="0.5" value="6.5">
                <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Mierzona od górnej krawędzi izolacji (styropianu).</div>
            </div>

            <span class="section-title">3. Wykończenie podłogi</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn active" id="btn-tiles">PŁYTKI (Ceramika)<span style="font-size:10px; font-weight:400">R ≈ 0.02</span></div>
                <div class="type-btn" id="btn-panels">PANELE (Parkiet cienki)<span style="font-size:10px; font-weight:400">R ≈ 0.05</span></div>
                <div class="type-btn" id="btn-wood-layer">DESKA WARSTWOWA<span style="font-size:10px; font-weight:400">Parkiet średni (R ≈ 0.075)</span></div>
                <div class="type-btn" id="btn-wood-solid">DESKA LITA<span style="font-size:10px; font-weight:400">Parkiet gruby (R ≈ 0.10)</span></div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Łączny opór cieplny (Norma: max 0.15)</span>
                <span class="score-num" id="resR">&#8212;</span>
                <span class="score-label">m²K/W</span>
                <div id="risk-msg"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Uwaga!</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Grubość wylewki nad rurą:</span><strong id="resAbovePipe">&#8212;</strong></div>
                <div class="tech-item"><span>Opór samej wylewki:</span><strong id="resScreedR">&#8212;</strong></div>
                <div class="tech-item"><span>Szacowany czas nagrzewania:</span><strong id="resTime" style="color:#fbbf24">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Całkowita waga betonu:</span><strong id="resWeight">&#8212;</strong></div>
                    <div class="mini-card"><span>Obciążenie stropu:</span><strong id="resLoad">&#8212;</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; font-weight:700">SKŁADOWE OPORU CIEPLNEGO (Wylewka vs Wykończenie):</div>
            <div style="height:12px; display:flex; border-radius:6px; overflow:hidden; margin-top:10px; background:#e2e8f0">
                <div id="bar-screed" style="background:var(--accent); width:50%; transition: 0.3s;"></div>
                <div id="bar-finish" style="background:#94a3b8; width:50%; transition: 0.3s;"></div>
            </div>
            <div style="display: flex; justify-content: space-between; font-size: 10px; color: #64748b; margin-top: 5px;">
                <span>Wylewka</span>
                <span>Wykończenie</span>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Potrzebujesz pewności na budowie?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Błędnie dobrana grubość wylewki to wyższe rachunki i ryzyko pękania płytek. Zleć nam wykonanie profesjonalnego projektu, by idealnie dobrać parametry do Twojego domu.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" id="btn-email" class="cta-btn" style="background:#1e293b">
                WYŚLIJ WYNIKI NA E-MAIL
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT OGRZEWANIA →
            </a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('screed-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">&#x1f512;</span>' +
                '<h' + '3 style="margin-top:0; font-size: 24px; color: #dc2626;">Narzędzie chronione</h' + '3>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">Ten kalkulator jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">PRZEJDŹ DO ORYGINAŁU</a>' +
                '</div>';
        }
        return; 
    }

    var matType = 'cement'; 
    var finishR = 0.02;
    var finishName = 'Płytki (Ceramika)';
    var PIPE_THICKNESS = 1.6; 
    
    var materials = {
        'cement': { lambda: 1.2, weightPerCm: 22, name: 'Betonowa (Cementowa)' },
        'anhydrite': { lambda: 1.8, weightPerCm: 19, name: 'Anhydrytowa' }
    };

    function updateCalc() {
        var areaEl = document.getElementById('area');
        var thickEl = document.getElementById('thick');
        
        if(!areaEl) return;
        if(!thickEl) return;

        var area = parseFloat(areaEl.value);
        var thickCm = parseFloat(thickEl.value);
        var mat = materials[matType];
        
        document.getElementById('v-area').innerText = area;
        document.getElementById('v-thick').innerText = thickCm.toFixed(1);

        var dMeters = thickCm / 100;
        var rScreed = dMeters / mat.lambda;
        var rTotal = rScreed + finishR;
        var abovePipe = thickCm - PIPE_THICKNESS;
        
        var loadPerM2 = thickCm * mat.weightPerCm;
        var totalWeight = area * loadPerM2;

        var heatTime = '';
        if (thickCm < 5) { heatTime = 'ok. 2 godzin'; }
        else if (thickCm >= 5) {
            if (thickCm < 6.5) { heatTime = '2.5 - 3 godzin'; }
            else if (thickCm < 7.5) { heatTime = 'ok. 4 godzin'; }
            else if (thickCm <= 8.5) { heatTime = 'ponad 5 godzin'; }
            else { heatTime = 'nawet 7-8 h'; }
        }

        document.getElementById('resR').innerText = rTotal.toFixed(3);
        document.getElementById('resScreedR').innerText = rScreed.toFixed(3) + ' m²K/W';
        document.getElementById('resAbovePipe').innerText = abovePipe.toFixed(1) + ' cm';
        document.getElementById('resTime').innerText = heatTime;
        document.getElementById('resWeight').innerText = (totalWeight / 1000).toFixed(1) + ' ton';
        document.getElementById('resLoad').innerText = Math.round(loadPerM2) + ' kg/m²';

        var mBox = document.getElementById('mainBox');
        var rMsg = document.getElementById('risk-msg');
        var warnings = [];
        var boxColor = 'var(--success)';

        if (rTotal > 0.15) { 
            warnings.push('&#x274c; Opór cieplny przekracza normę (0.15).'); 
            boxColor = 'var(--danger)'; 
        } else if (rTotal > 0.12) { 
            boxColor = 'var(--warning)'; 
        }

        if (matType === 'cement') {
            if (abovePipe < 3.5) {
                warnings.push('&#x26a0; Zbyt cienka otulina nad rurą (min. 3.5 cm).'); 
                boxColor = 'var(--danger)';
            }
        }
        
        if (matType === 'anhydrite') {
            if (abovePipe < 2.0) {
                warnings.push('&#x26a0; Zbyt cienka otulina dla anhydrytu (min. 2 cm).'); 
                boxColor = 'var(--danger)';
            }
        }

        if (thickCm > 8) { 
            warnings.push('&#x26a0; Bardzo duża grubość! Ryzyko dużego opóźnienia.'); 
            if(boxColor !== 'var(--danger)') {
                boxColor = 'var(--warning)'; 
            }
        }
        
        if (warnings.length > 0) {
            rMsg.innerHTML = warnings.join('<br><br>');
            rMsg.style.display = 'block';
        } else {
            rMsg.style.display = 'none';
        }
        mBox.style.borderColor = boxColor;

        var totalBar = rTotal; 
        document.getElementById('bar-screed').style.width = ((rScreed / totalBar) * 100) + '%';
        document.getElementById('bar-finish').style.width = ((finishR / totalBar) * 100) + '%';
    }

    var btnCement = document.getElementById('btn-cement');
    var btnAnhydrite = document.getElementById('btn-anhydrite');
    var thickInput = document.getElementById('thick');

    if(btnCement) {
        btnCement.addEventListener('click', function() {
            matType = 'cement';
            btnAnhydrite.classList.remove('active');
            btnCement.classList.add('active');
            thickInput.min = '4.5';
            if(parseFloat(thickInput.value) < 4.5) {
                thickInput.value = 4.5;
            }
            updateCalc();
        });
    }

    if(btnAnhydrite) {
        btnAnhydrite.addEventListener('click', function() {
            matType = 'anhydrite';
            btnCement.classList.remove('active');
            btnAnhydrite.classList.add('active');
            thickInput.min = '3.5';
            if(parseFloat(thickInput.value) < 3.5) {
                thickInput.value = 3.5;
            }
            updateCalc();
        });
    }

    var finishes = {
        'btn-tiles': { r: 0.02, name: 'Płytki (Ceramika)' },
        'btn-panels': { r: 0.05, name: 'Panele (Parkiet cienki)' },
        'btn-wood-layer': { r: 0.075, name: 'Deska warstwowa' },
        'btn-wood-solid': { r: 0.10, name: 'Deska lita' }
    };

    var btnKeys = Object.keys(finishes);
    for (var i = 0; i < btnKeys.length; i++) {
        (function(btnId) {
            var btn = document.getElementById(btnId);
            if(btn) {
                btn.addEventListener('click', function(e) {
                    finishR = finishes[btnId].r;
                    finishName = finishes[btnId].name;
                    for(var j = 0; j < btnKeys.length; j++) {
                        var el = document.getElementById(btnKeys[j]);
                        if(el) {
                            el.classList.remove('active');
                        }
                    }
                    e.currentTarget.classList.add('active');
                    updateCalc();
                });
            }
        })(btnKeys[i]);
    }

    var areaInput = document.getElementById('area');
    if(areaInput) {
        areaInput.addEventListener('input', updateCalc);
    }
    if(thickInput) {
        thickInput.addEventListener('input', updateCalc);
    }

    var btnEmail = document.getElementById('btn-email');
    if(btnEmail) {
        btnEmail.addEventListener('click', function() {
            var area = document.getElementById('v-area').innerText;
            var thick = document.getElementById('v-thick').innerText;
            var rTotal = document.getElementById('resR').innerText;
            var abovePipe = document.getElementById('resAbovePipe').innerText;
            var matName = materials[matType].name;
            
            var email = 'biuro@projekt-ogrzewania.pl';
            var subject = encodeURIComponent('Konsultacja - Grubość wylewki na podłogówkę');
            
            var bodyText = 'Dzień dobry,\n\nZrobiłem wstępne kalkulacje grubości wylewki z Państwa kalkulatora:\n\n' +
                           '• Powierzchnia: ' + area + ' m²\n' +
                           '• Rodzaj wylewki: ' + matName + '\n' +
                           '• Grubość całkowita: ' + thick + ' cm\n' +
                           '• Wykończenie: ' + finishName + ' (Opór R: ' + finishR + ')\n' +
                           '• Opór cieplny: ' + rTotal + ' m²K/W\n' +
                           '• Beton nad rurą: ' + abovePipe + ' cm\n\n' +
                           'Proszę o wycenę profesjonalnego projektu ogrzewania.';
            
            var ampersand = String.fromCharCode(38);           
            window.location.href = 'mailto:' + email + '?subject=' + subject + ampersand + 'body=' + encodeURIComponent(bodyText);
        });
    }

    updateCalc();
});
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – fundament prawidłowej grubości wylewki</h2>



<p>Choć w tym artykule staram się podać uniwersalne wartości i narzędzia do samodzielnych obliczeń, w praktyce każdy dom jest inny. Dlatego tak kluczowe jest wykonanie profesjonalnego&nbsp;<strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projektu ogrzewania podłogowego</a></strong>. To on powinien precyzyjnie określić, jaka grubość wylewki betonowej będzie optymalna w Twoim przypadku.</p>



<p>Dlaczego projekt jest niezbędny? Ponieważ uwzględnia on wszystkie zmienne jednocześnie:</p>



<ul class="wp-block-list">
<li>Oblicza straty ciepła dla każdego pomieszczenia.</li>



<li>Dobiera rozstaw rur w zależności od zapotrzebowania na ciepło.</li>



<li>Określa długości pętli grzewczych i opory przepływu.</li>



<li>Wskazuje wymaganą grubość izolacji podłogowej.</li>



<li>Na tej podstawie precyzyjnie wyznacza&nbsp;<strong>minimalną i maksymalną grubość wylewki</strong>&nbsp;oraz klasę betonu.</li>



<li>Uwzględnia rodzaj planowanego wykończenia podłogi i jego opór cieplny.</li>
</ul>



<p>Bez projektu działasz po omacku. Możesz trafić, ale ryzyko błędu jest ogromne. Wyobraź sobie sytuację, w której pomieszczenie narożne z dużymi oknami ma takie samo zagęszczenie rur jak wewnętrzna sypialnia. Efekt? W narożniku będzie zimno, bo wylewka o stałej grubości nie jest w stanie skompensować złego projektu instalacji.</p>



<p>Dobry projekt to również oszczędność. Precyzyjne wyliczenia pozwalają dobrać optymalną grubość jastrychu – nie za małą, by uniknąć pęknięć, i nie za dużą, by nie przepłacać za ogrzewanie przez lata. To inwestycja rzędu kilkuset złotych, która zwraca się wielokrotnie w trakcie eksploatacji domu.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-scenarios {
    max-width: 1150px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    color: var(--primary);
}

.scenarios-title {
    text-align: center;
    margin-bottom: 30px;
}

.scenarios-title h2 {
    font-size: 28px; /* Lekko powiększyłem dla lepszej hierarchii SEO */
    font-weight: 800;
    margin: 0 0 10px 0;
}

.scenarios-title p {
    color: #64748b;
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
}

.scenario-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.scenario-card {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid #f1f5f9;
    padding: 30px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.scenario-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.12);
}

.card-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed #e2e8f0;
}

.icon-box {
    width: 48px;
    height: 48px;
    background: #eff6ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.header-text h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
}

.header-text span {
    font-size: 12px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.5px;
}

.param-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

.param-list li {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 10px;
    color: #475569;
}

.param-list li strong {
    color: var(--primary);
}

.result-box {
    background: var(--bg-light);
    padding: 20px;
    border-radius: 16px;
    text-align: center;
    margin-bottom: 20px;
    border-top: 4px solid var(--accent);
}

.result-box.success { border-color: var(--success); }
.result-box.warning { border-color: var(--warning); background: #fff7ed; }

.r-thick {
    display: block;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    margin-bottom: 5px;
}

.r-value {
    display: inline-block;
    background: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.result-box.success .r-value { color: var(--success); }
.result-box.warning .r-value { color: var(--warning); }

.justification {
    font-size: 12px;
    line-height: 1.6;
    color: #64748b;
    margin: 0;
    background: #f8fafc;
    padding: 15px;
    border-radius: 12px;
    border-left: 3px solid #cbd5e1;
}

@media (max-width: 900px) {
    .scenario-grid {
        grid-template-columns: 1fr;
    }
}
</style>

<div class="premium-scenarios" id="scenarios-app">
    <div class="scenarios-title">
        <h2>Przykłady i wyliczenia w praktyce.</h2>
        <p>Zobacz 3 typowe scenariusze doboru grubości wylewki krok po kroku. <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Przykłady opracowane przez ekspertów Projekt-Ogrzewania.pl</a>.</p>
    </div>

    <div class="scenario-grid">
        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6cb.png" alt="🛋" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Scenariusz 1</span>
                    <h4>Salon z pompą ciepła</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>45 W/m²</strong></li>
                <li>Rozstaw rur: <strong>15 cm</strong></li>
                <li>Izolacja: <strong>10 cm styropianu</strong></li>
                <li>Wykończenie: <strong>Płytki (R ≈ 0.01)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Wylewka 6,5 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(3,5 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.064 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Pompa ciepła pracuje na niskich parametrach i potrzebuje szybkiej reakcji. Płytki doskonale przewodzą ciepło, więc cieńsza wylewka betonowa jest tutaj idealnym wyborem. Mamy duży zapas do normy.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6cf.png" alt="🛏" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Scenariusz 2</span>
                    <h4>Sypialnia z kotłem gaz.</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>35 W/m²</strong></li>
                <li>Rozstaw rur: <strong>20 cm</strong></li>
                <li>Izolacja: <strong>5 cm styropianu</strong></li>
                <li>Wykończenie: <strong>Panele (R ≈ 0.10)</strong></li>
            </ul>

            <div class="result-box warning">
                <span class="r-thick">Wylewka 7,5 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(4,5 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.162 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Panele stanowią sporą izolację, co wymusza skompensowanie tego większą masą akumulacyjną betonu. Rzadszy rozstaw rur wymaga grubszej warstwy, by zniwelować efekt niedogrzanych stref. Wynik na granicy efektywności.</p>
        </div>

        <div class="scenario-card">
            <div class="card-header">
                <div class="icon-box"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f6c1.png" alt="🛁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
                <div class="header-text">
                    <span>Scenariusz 3</span>
                    <h4>Łazienka (gęste rury)</h4>
                </div>
            </div>
            
            <ul class="param-list">
                <li>Zapotrzebowanie: <strong>60 W/m²</strong></li>
                <li>Rozstaw rur: <strong>10 cm</strong></li>
                <li>Izolacja: <strong>5 cm + wylewka</strong></li>
                <li>Wykończenie: <strong>Płytki (R ≈ 0.01)</strong></li>
            </ul>

            <div class="result-box success">
                <span class="r-thick">Wylewka 6,0 cm</span>
                <span style="font-size: 11px; color:#64748b; display:block; margin-bottom: 8px;">(3 cm nad rurą)</span>
                <div class="r-value">Łączny Opór: 0.060 m²K/W</div>
            </div>

            <p class="justification"><strong>Uzasadnienie:</strong> Bardzo gęsty rozstaw rur (10 cm) pozwala na zastosowanie cieńszej otuliny. Należy pamiętać o starannym wykonaniu izolacji przeciwwilgociowej i zachowaniu odpowiednich spadków w rejonie prysznica.</p>
        </div>
    </div>
</div>

<script>
// ZABEZPIECZENIE DOMENOWE (Domain Lock) dla scenariuszy
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    // Dopuszczone domeny:
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        document.getElementById('scenarios-app').innerHTML = `
            <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; border-radius: 20px;">
                <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                <h3 style="margin-top:0; font-size: 24px;">Treść chroniona prawem autorskim</h3>
                <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Te przykłady obliczeniowe są własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostały wklejone na tę stronę bez zgody autora.</p>
                <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
            </div>
        `;
    }
});
</script>



<h2 class="wp-block-heading">Wykres zależności grubości wylewki od czasu nagrzewania</h2>



<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-chart-box {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    color: var(--primary);
}

.chart-header {
    padding: 30px 40px 20px 40px;
    border-bottom: 1px solid #f1f5f9;
}

.chart-header h3 {
    margin: 0 0 8px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--primary);
}

.chart-header p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}

.chart-canvas-wrapper {
    padding: 30px 40px;
    position: relative;
    height: 400px;
    width: 100%;
}

.chart-footer {
    padding: 25px 40px;
    background: var(--bg-light);
    border-top: 1px solid #f1f5f9;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.chart-icon {
    font-size: 24px;
    line-height: 1;
}

.chart-conclusion {
    margin: 0;
    font-size: 14px;
    color: #475569;
    line-height: 1.6;
}

.chart-conclusion strong {
    color: var(--danger);
}

@media (max-width: 600px) {
    .chart-header, .chart-canvas-wrapper, .chart-footer {
        padding: 20px;
    }
    .chart-canvas-wrapper {
        height: 300px;
    }
}
</style>

<div class="premium-chart-box" id="chart-app-container">
    <div class="chart-header">
        <h3>Czas nagrzewania wylewki podłogowej do 26°C</h3>
        <p>Parametry stałe: Temp. zasilania 45°C | Rozstaw rur: 15 cm <br><a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Analiza przygotowana przez Projekt-Ogrzewania.pl</a></p>
    </div>
    
    <div class="chart-canvas-wrapper">
        <canvas id="screedHeatingChart"></canvas>
    </div>
    
    <div class="chart-footer">
        <div class="chart-icon"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4a1.png" alt="💡" class="wp-smiley" style="height: 1em; max-height: 1em;" /></div>
        <p class="chart-conclusion">
            <strong>Wniosek z wykresu:</strong> Krzywa wyraźnie pokazuje, że do grubości 7 cm czas nagrzewania rośnie proporcjonalnie i utrzymuje się na racjonalnym poziomie. Powyżej tej wartości (8 cm i więcej) następuje <strong>lawinowy wzrost opóźnienia</strong>. Zbyt gruba wylewka drastycznie obniża komfort sterowania temperaturą w domu.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Zabezpieczenie domeny
    const domain = window.location.hostname;
    // Pamiętaj wpisać tu domenę techniczną, jeśli na takiej testujesz!
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('chart-app-container');
        if(appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px;">
                    <span style="font-size: 48px; margin-bottom: 20px;">&#x1f512;</span>
                    <h3 style="margin-top:0; font-size: 24px;">Wykres chroniony prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5;">Ten interaktywny wykres jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany na tę stronę nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
        return; 
    }

    // 2. Funkcja rysująca wykres (inteligentne czekanie na bibliotekę)
    function drawChart() {
        // Jeśli biblioteka Chart jeszcze się nie załadowała z CDN, poczekaj 100ms i spróbuj ponownie
        if (typeof Chart === 'undefined') {
            setTimeout(drawChart, 100);
            return;
        }

        const canvasEl = document.getElementById('screedHeatingChart');
        if(!canvasEl) return; 
        
        const ctx = canvasEl.getContext('2d');
        
        const gradientFill = ctx.createLinearGradient(0, 0, 0, 400);
        gradientFill.addColorStop(0, 'rgba(37, 99, 235, 0.2)');
        gradientFill.addColorStop(1, 'rgba(255, 255, 255, 0)');

        const pointBackgroundColors = [];
        const pointBorderColors = [];
        const pointRadii = [];
        
        const thicknesses = [4, 5, 6, 7, 8, 9, 10];
        const times = [2.2, 2.5, 3.0, 4.0, 5.5, 7.0, 8.5];

        thicknesses.forEach(t => {
            if (t <= 7) {
                pointBackgroundColors.push('#ffffff');
                pointBorderColors.push('#2563eb'); 
                pointRadii.push(6);
            } else {
                pointBackgroundColors.push('#ffffff');
                pointBorderColors.push('#ea580c'); 
                pointRadii.push(8);
            }
        });

        new Chart(ctx, {
            type: 'line',
            data: {
                labels: thicknesses.map(t => t + ' cm'),
                datasets: [{
                    label: 'Czas nagrzewania (godziny)',
                    data: times,
                    borderColor: '#2563eb', 
                    borderWidth: 3,
                    backgroundColor: gradientFill,
                    fill: true,
                    tension: 0.4,
                    pointBackgroundColor: pointBackgroundColors,
                    pointBorderColor: pointBorderColors,
                    pointBorderWidth: 3,
                    pointRadius: pointRadii,
                    pointHoverRadius: 9
                }]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                plugins: {
                    legend: { display: false },
                    tooltip: {
                        backgroundColor: '#0f172a',
                        titleFont: { family: 'Inter', size: 14, weight: 'bold' },
                        bodyFont: { family: 'Inter', size: 14 },
                        padding: 12,
                        displayColors: false,
                        callbacks: {
                            label: function(context) {
                                let val = context.parsed.y;
                                if(val >= 8.5) return 'Czas nagrzewania: ponad 8 godz.';
                                return 'Czas nagrzewania: ok. ' + val + ' godz.';
                            }
                        }
                    }
                },
                scales: {
                    x: {
                        grid: { display: false },
                        ticks: { font: { family: 'Inter', size: 13, weight: '600' }, color: '#64748b' },
                        title: { display: true, text: 'Całkowita grubość wylewki', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {top: 10} }
                    },
                    y: {
                        beginAtZero: true, max: 10,
                        grid: { color: '#f1f5f9', drawBorder: false },
                        ticks: { stepSize: 2, font: { family: 'Inter', size: 13 }, color: '#64748b', callback: function(val) { return val + ' h'; } },
                        title: { display: true, text: 'Czas (godziny)', font: { family: 'Inter', size: 14, weight: 'bold' }, color: '#0f172a', padding: {bottom: 10} }
                    }
                }
            }
        });
    }

    // Uruchomienie bezpiecznego rysowania
    drawChart();
});
</script>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1773489257967"><strong class="schema-faq-question"><strong>Jaka jest optymalna grubość wylewki betonowej na ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Optymalna całkowita grubość wylewki cementowej mieści się w przedziale 6-8 cm, licząc od górnej powierzchni izolacji (styropianu). Najważniejsze jest jednak zachowanie odpowiedniej otuliny – warstwa betonu znajdująca się bezpośrednio nad rurą grzewczą powinna wynosić od 3 do 4,5 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1773489272167"><strong class="schema-faq-question"><strong>Czym grozi wykonanie zbyt cienkiej wylewki?</strong></strong> <p class="schema-faq-answer">Zbyt cienka warstwa (np. poniżej 3 cm nad rurą) grozi pęknięciami posadzki z powodu braku odpowiedniej nośności. Może również powodować prześwitywanie rur, zwiększa ryzyko ich mechanicznego uszkodzenia oraz prowadzi do nierównomiernego nagrzewania się podłogi, czyli tzw. efektu „zebry”.</p> </div> <div class="schema-faq-section" id="faq-question-1773489283031"><strong class="schema-faq-question"><strong>Czy wylewka anhydrytowa może być cieńsza od betonowej?</strong></strong> <p class="schema-faq-answer">Tak. Dzięki lepszemu współczynnikowi przewodzenia ciepła, wylewka anhydrytowa ma niższy opór cieplny. Pozwala to na zastosowanie znacznie cieńszej warstwy (całkowita grubość wynosi zazwyczaj 3,5-5 cm, a otulina nad rurą około 2-3 cm), co zapewnia dużo szybsze nagrzewanie się pomieszczenia.</p> </div> <div class="schema-faq-section" id="faq-question-1773489294023"><strong class="schema-faq-question"><strong>Jak rodzaj wykończenia podłogi wpływa na wymaganą grubość wylewki?</strong></strong> <p class="schema-faq-answer">Materiały o wyższym oporze cieplnym (takie jak grube panele laminowane z podkładem czy deska lita) utrudniają przepływ ciepła. Jeśli planujesz takie wykończenie, wylewka powinna być cieńsza (ok. 5-6 cm), by skompensować te opory. Pod dobrze przewodzące płytki ceramiczne z powodzeniem można wylać jastrych o grubości 6-8 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1773489306260"><strong class="schema-faq-question"><strong>Czy na ogrzewaniu podłogowym trzeba stosować dylatacje i zbrojenie?</strong></strong> <p class="schema-faq-answer">Zdecydowanie tak. Dylatacje obwodowe i pośrednie są niezbędne, aby przejąć naprężenia termiczne pracującego betonu i zapobiec jego pękaniu. Zbrojenie (włókna polipropylenowe lub siatka) zwiększa nośność i jest wręcz obowiązkowe przy cienkich wylewkach (poniżej 5 cm). Należy również bezwzględnie pamiętać o dodaniu do mieszanki odpowiedniego plastyfikatora.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie – najważniejsze zasady doboru grubości.</h2>



<ol start="1" class="wp-block-list">
<li><strong>Trzymaj się złotego środka</strong>: Optymalna całkowita grubość wylewki cementowej to&nbsp;<strong>6-8 cm</strong>.</li>



<li><strong>Pilnuj otuliny</strong>: Minimalna warstwa betonu nad rurą grzewczą nie może być cieńsza niż&nbsp;<strong>3 cm</strong>, a najlepiej&nbsp;<strong>3,5-4 cm</strong>.</li>



<li><strong>Znaj wzór na opór</strong>: R = d/λ. Dla betonu przyjmij λ=1,2, dla anhydrytu λ=1,8. Pozwoli Ci to samodzielnie ocenić każdą konfigurację.</li>



<li><strong>Kontroluj całkowity opór</strong>: Staraj się, by łączny opór wylewki i wykończenia nie przekraczał&nbsp;<strong>0,15 m²K/W</strong>&nbsp;(norma PN-EN 1264).</li>



<li><strong>Dostosuj grubość do wykończenia</strong>: Pod panele i drewno stosuj cieńsze wylewki, pod płytki możesz pozwolić sobie na nieco więcej.</li>



<li><strong>Nie oszczędzaj na projekcie</strong>: Tylko profesjonalny&nbsp;<strong>projekt ogrzewania podłogowego</strong>&nbsp;uwzględni wszystkie indywidualne parametry Twojego domu i wskaże optymalną grubość wylewki.</li>



<li><strong>Pamiętaj o dylatacjach i plastyfikatorze</strong>: Nawet idealnie dobrana grubość nie uchroni podłogi przed pęknięciami, jeśli zabraknie szczelin dylatacyjnych, a beton nie zostanie odpowiednio uszlachetniony.</li>



<li><strong>Kontroluj proces</strong>: Jeśli sam nie jesteś wykonawcą, nadzoruj ekipę. Zmierz po ułożeniu rur, czy mają one zachowany równy poziom – to da Ci pewność, że otulina będzie miała wszędzie jednakową grubość.</li>
</ol>



<p>Świadome podejście do&nbsp;<strong>grubości wylewki betonowej na ogrzewanie podłogowe</strong>&nbsp;– wsparte wiedzą o oporach cieplnych i fizyce przenikania ciepła – to gwarancja komfortu cieplnego, niskich rachunków i trwałości posadzki na długie lata. Mam nadzieję, że ten artykuł rozjaśnił Ci ten temat i pomoże podjąć właściwą decyzję na budowie. Jeśli masz ochotę na stworzenie własnego kalkulatora, dane i wzory, które tu znajdziesz, stanowią solidną bazę do jego zbudowania.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">Grubość wylewki betonowej na ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kalkulator strat ciepła budynku – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 09 Mar 2026 11:26:18 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Modernizacja domu]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Narzędzia i kalkulatory]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompa ciepła]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki inwestora]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[ile wat na m2]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator strat ciepła]]></category>
		<category><![CDATA[moc ogrzewania domu]]></category>
		<category><![CDATA[obliczanie strat ciepła]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[straty ciepła domu]]></category>
		<category><![CDATA[zapotrzebowanie na ogrzewanie]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3743</guid>

					<description><![CDATA[<p>Obliczenie zapotrzebowania na ciepło budynku to pierwszy krok do prawidłowego zaprojektowania instalacji grzewczej. W tym poradniku pokazujemy, jak w prosty sposób oszacować straty energii w domu i sprawdzić, czy ogrzewanie podłogowe będzie wystarczające. Dzięki praktycznym wskazówkom oraz przykładom obliczeń dowiesz się, jak wykorzystać kalkulator strat ciepła domu – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie, aby ocenić moc instalacji, temperaturę zasilania oraz potencjalne koszty eksploatacji. To wiedza szczególnie przydatna dla inwestorów budujących dom lub modernizujących starsze budynki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">Kalkulator strat ciepła budynku – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Planowanie ogrzewania podłogowego w nowym domu lub podczas modernizacji starej instalacji zawsze rozpoczyna się od kluczowego pytania: <strong>jak samodzielnie obliczyć straty ciepła pod ogrzewanie podłogowe</strong>, aby mieć pewność, że system będzie działał efektywnie? Właśnie w tym pomaga <strong>kalkulator strat ciepła budynku – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie</strong>, który pozwala w prosty sposób oszacować, ile energii potrzebuje budynek do utrzymania komfortowej temperatury.</p>



<p>Wiele osób rezygnuje z tego etapu, obawiając się skomplikowanych wzorów i konieczności zatrudniania audytora. Tymczasem istnieje sprawdzona, uproszczona metoda, która pozwala oszacować zapotrzebowanie na ciepło z dokładnością wystarczającą do podjęcia decyzji o wyborze systemu grzewczego. Dzięki niej możesz samodzielnie sprawdzić <strong>ile kW ogrzewania potrzebuje Twój dom</strong>, czy ogrzewanie podłogowe będzie wystarczające oraz jakie będzie orientacyjne <strong>zapotrzebowanie na ciepło w przeliczeniu na m² budynku</strong>.</p>



<p>W tym artykule pokażę Ci, <strong>jak wykorzystać kalkulator strat ciepła domu i samodzielnie obliczyć zapotrzebowanie na ogrzewanie</strong>, posługując się jedynie kartką papieru, prostym arkuszem kalkulacyjnym i danymi, które bez trudu znajdziesz w projekcie domu lub zmierzysz samodzielnie. Co ważne – nie potrzebujesz drogiego oprogramowania ani audytu energetycznego za 1500 zł, by sprawdzić, czy podłogówka w Twoim domu w ogóle ma sens.</p>



<p>Co więcej, taka metoda działa jak <strong>prosty kalkulator strat ciepła domu online</strong> – wystarczy zebrać podstawowe dane o powierzchni przegród, izolacji budynku i różnicy temperatur, aby w kilka minut oszacować <strong>zapotrzebowanie na ogrzewanie domu jednorodzinnego</strong>.</p>



<h2 class="wp-block-heading">Dlaczego warto samodzielnie oszacować straty ciepła?</h2>



<p>Profesjonalne <strong>obliczenie strat ciepła dla ogrzewania podłogowego</strong> w ramach pełnego audytu (OZC) to wydatek rzędu 1000–1500 zł. Jest to inwestycja niezbędna, gdy staramy się o dotację z programu „Czyste Powietrze” lub projektujemy precyzyjnie dobraną <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompę ciepła</a>. Jednak na etapie wstępnych analiz, gdy porównujemy oferty wykonawców lub decydujemy, czy podłogówka w ogóle wystarczy do ogrzania domu, możemy wykonać obliczenia samodzielnie.</p>



<p>Uproszczona metoda, którą Ci przedstawię, opiera się na normie <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>, ale pomija najbardziej skomplikowane elementy, takie jak mostki termiczne czy szczegółowe poprawki na nasłonecznienie. Dzięki temu w ciągu kilku godzin jesteś w stanie oszacować, czy Twoje pomieszczenia mieszczą się w granicach <strong>maksymalnej mocy ogrzewania podłogowego</strong>, która zwykle wynosi 80–100 W/m² w strefach przyokiennych i 50–70 W/m² w głębi pomieszczenia.</p>



<h2 class="wp-block-heading">Metoda uproszczona krok po kroku dla domu 80–250 m².</h2>



<p>Poniższa instrukcja została opracowana z myślą o typowych domach jednorodzinnych. Nie wymaga znajomości zaawansowanej fizyki budowli, a jedynie umiejętności posługiwania się miarką i kalkulatorem.</p>



<h3 class="wp-block-heading">Krok 1: Zbierz dane o wszystkich przegrodach zewnętrznych.</h3>



<p>Wypisz dla każdego pomieszczenia:</p>



<ul class="wp-block-list">
<li>ściany zewnętrzne (bez okien),</li>



<li>okna i drzwi balkonowe,</li>



<li>dach lub strop pod nieogrzewanym poddaszem,</li>



<li>podłogę na gruncie (lub strop nad piwnicą nieogrzewaną).</li>
</ul>



<p>Jeśli dom ma kształt regularny, możesz obliczyć powierzchnie, sumując długości ścian i mnożąc przez wysokość. Pamiętaj, by odjąć powierzchnię okien.</p>



<h3 class="wp-block-heading">Krok 2: Przyjmij orientacyjne współczynniki U.</h3>



<p>Wartości poniżej są uśrednione i pochodzą z wytycznych dla budownictwa w 2026 roku. Jeśli znasz dokładną konstrukcję przegrody (np. producent okien podał U=0,8), stosuj tę wartość. W razie wątpliwości skorzystaj z poniższej tabeli:</p>



<p><strong>Tabela współczynników U dla Twojego kalkulatora</strong>.</p>



<style>
.u-table-wrap{
    width:100%;
    overflow-x:auto;
    margin:30px 0;
}

.u-table{
    width:100%;
    min-width:650px;
    border-collapse:collapse;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    background:#ffffff;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

.u-table th{
    background:#1f2937;
    color:#ffffff;
    padding:14px 16px;
    font-size:14px;
    text-align:left;
}

.u-table td{
    padding:14px 16px;
    border-bottom:1px solid #e5e7eb;
    font-size:14px;
}

.u-table tr:nth-child(even){
    background:#f9fafb;
}

.u-table td:first-child{
    font-weight:600;
}

@media (max-width:768px){
    .u-table th,
    .u-table td{
        padding:12px;
        font-size:13px;
    }
}
</style>

<div class="u-table-wrap">

<table class="u-table">

<thead>
<tr>
<th>Element budynku</th>
<th>Rodzaj / Grubość</th>
<th>Współczynnik U (W/m²·K)</th>
</tr>
</thead>

<tbody>

<tr>
<td>Ściana zewnętrzna</td>
<td>Gazobeton 24 cm + 20 cm styropianu (grafit)</td>
<td>0,15 – 0,17</td>
</tr>

<tr>
<td></td>
<td>Ceramika poryzowana 25 cm + 15 cm styropianu</td>
<td>0,18 – 0,20</td>
</tr>

<tr>
<td></td>
<td>Silikat 24 cm + 20 cm styropianu</td>
<td>0,16 – 0,18</td>
</tr>

<tr>
<td>Okna (całe okno)</td>
<td>Standardowe 3-szybowe (WT 2021)</td>
<td>0,80 – 0,90</td>
</tr>

<tr>
<td></td>
<td>Okna pasywne premium</td>
<td>0,60 – 0,70</td>
</tr>

<tr>
<td></td>
<td>Okno dachowe (3-szybowe)</td>
<td>1,00 – 1,10</td>
</tr>

<tr>
<td>Dach / Strop</td>
<td>Wełna mineralna 30 cm (lambda 0,035)</td>
<td>0,12 – 0,14</td>
</tr>

<tr>
<td></td>
<td>Płyty PIR 15 cm</td>
<td>0,14 – 0,15</td>
</tr>

<tr>
<td>Podłoga na gruncie</td>
<td>15 cm styropianu EPS 100</td>
<td>0,20 – 0,25</td>
</tr>

<tr>
<td></td>
<td>20 cm styropianu (standard 2026)</td>
<td>0,15 – 0,18</td>
</tr>

<tr>
<td>Drzwi</td>
<td>Drzwi zewnętrzne ocieplane</td>
<td>1,00 – 1,30</td>
</tr>

</tbody>
</table>

</div>



<h4 class="wp-block-heading">Pro-tip: Jak policzyć U dla konkretnej izolacji?</h4>



<p>Jeśli kupiłeś styropian i na paczce widzisz tylko dziwną lambdę (λ), np. 0,031, a chcesz znać U samej warstwy izolacji, użyj tego wzoru:</p>



<style>
.formula-box{
max-width:900px;
margin:30px auto;
padding:28px;
background:#f8fafc;
border-left:6px solid #2563eb;
border-radius:12px;
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

.formula-main{
font-size:28px;
font-weight:600;
color:#0f172a;
margin-bottom:18px;
text-align:center;
}

.formula-desc{
font-size:16px;
color:#334155;
margin-bottom:10px;
font-weight:600;
}

.formula-list{
margin:10px 0 0 0;
padding-left:18px;
color:#475569;
font-size:15px;
line-height:1.6;
}

.formula-list li{
margin-bottom:8px;
}

.formula-list strong{
color:#0f172a;
}

@media (max-width:768px){

.formula-box{
padding:20px;
margin:25px 0;
}

.formula-main{
font-size:22px;
}

.formula-list{
font-size:14px;
}

}
</style>

<div class="formula-box">

<div class="formula-main">
U = λ / d
</div>

<div class="formula-desc">
Gdzie:
</div>

<ul class="formula-list">
<li><strong>λ</strong> – współczynnik przewodzenia ciepła materiału (np. 0,031).</li>
<li><strong>d</strong> – grubość materiału w metrach (np. 0,2 dla 20 cm).</li>
</ul>

</div>



<p><strong>Przykład:</strong>&nbsp;Styropian grafitowy 20 cm: 0,031 / 0,2 =&nbsp;<strong>0,155 W/(m²·K)</strong>. To jest wartość, którą wstawiasz do swojego Excela.</p>



<h3 class="wp-block-heading">Krok 3: Oblicz straty przez przegrody.</h3>



<p>Dla każdej pozycji wykonaj mnożenie:&nbsp;<strong>A × U × ΔT</strong>. Dla podłogi na gruncie przyjmij ΔT = 15 K (temperatura gruntu ok. 5°C, wewnątrz 20°C). Zsumuj wyniki.</p>



<h3 class="wp-block-heading">Krok 4: Oblicz straty wentylacyjne.</h3>



<p>Jak wcześniej – wzór 0,34 × (kubatura × 0,5) × 40. Dodaj do wyniku z kroku 3.</p>



<h4 class="wp-block-heading">O czym warto pamiętać przy podłogówce?</h4>



<ul class="wp-block-list">
<li><strong>Łazienki:</strong>&nbsp;Tam zazwyczaj chcemy mieć cieplej (ok. 24°C zamiast 20°C). W kalkulatorze dla łazienki przyjmij większą różnicę temperatur (ΔT = 44 K dla strefy klimatycznej -20°C), co przełoży się na wyższe straty, a w konsekwencji na gęstszy rozstaw rurek w projekcie.</li>



<li><strong>Mostki termiczne:</strong>&nbsp;Jeśli liczysz to metodą uproszczoną, dodaj na koniec do całego wyniku&nbsp;<strong>10% &#8222;nawiązki&#8221;</strong>. To pokryje straty na łączeniach ścian, przy oknach i fundamentach, które pominęliśmy w uproszczeniu.</li>
</ul>



<h3 class="wp-block-heading">Krok 5: Sprawdź, czy ogrzewanie podłogowe da radę.</h3>



<p>Otrzymaną całkowitą stratę (w watach) podziel przez powierzchnię ogrzewaną (w m²). Otrzymasz wskaźnik&nbsp;<strong>W/m²</strong>. Teraz porównaj go z możliwościami podłogówki:</p>



<ul class="wp-block-list">
<li><strong>&lt; 50 W/m²</strong>&nbsp;– podłogówka będzie pracować bardzo komfortowo, z niską temperaturą zasilania (30–35°C). Idealne dla pompy ciepła.</li>



<li><strong>50–80 W/m²</strong>&nbsp;– nadal bezpieczny zakres, choć w pomieszczeniach narażonych na duże straty (np. przy dużych oknach) może być konieczne zagęszczenie rur.</li>



<li><strong>80–100 W/m²</strong>&nbsp;– to górna granica. Podłoga będzie musiała pracować z wysoką temperaturą (45–50°C), co obniża efektywność pompy ciepła i może powodować dyskomfort (zbyt gorąca posadzka w strefie przebywania).</li>



<li><strong>> 100 W/m²</strong> – ogrzewanie podłogowe samo nie wystarczy. Konieczne jest dogrzewanie grzejnikami lub (lepiej) docieplenie budynku.</li>
</ul>



<h2 class="wp-block-heading">Porównanie uproszczonej metody z pełnym OZC.</h2>



<p>Wielu inwestorów zastanawia się, czy warto robić samodzielne obliczenia, skoro i tak nie dadzą one 100% dokładności. Spójrzmy na różnice w praktyce:</p>



<style>
.compare-table-wrap{
width:100%;
overflow-x:auto;
margin:30px 0;
}

.compare-table{
width:100%;
min-width:720px;
border-collapse:collapse;
font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
background:#ffffff;
border-radius:10px;
overflow:hidden;
box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

.compare-table th{
background:#1f2937;
color:#ffffff;
padding:16px;
font-size:14px;
text-align:left;
}

.compare-table td{
padding:16px;
border-bottom:1px solid #e5e7eb;
font-size:14px;
vertical-align:top;
}

.compare-table tr:nth-child(even){
background:#f9fafb;
}

.compare-table td:first-child{
font-weight:700;
width:22%;
}

.compare-table td:nth-child(2){
width:39%;
}

.compare-table td:nth-child(3){
width:39%;
}

@media (max-width:768px){

.compare-table th,
.compare-table td{
padding:12px;
font-size:13px;
}

}
</style>

<div class="compare-table-wrap">

<table class="compare-table">

<thead>
<tr>
<th>Aspekt</th>
<th>Metoda uproszczona (samodzielna)</th>
<th>Pełne obliczeniowe zapotrzebowanie ciepła (OZC)</th>
</tr>
</thead>

<tbody>

<tr>
<td>Mostki termiczne</td>
<td>Pomijane lub szacowane „na oko”</td>
<td>Dokładnie wyliczone (wieńce, nadproża, połączenia ścian)</td>
</tr>

<tr>
<td>Wentylacja</td>
<td>Uproszczona – stała krotność wymiany</td>
<td>Uwzględnia infiltrację przez okna oraz typ wentylacji</td>
</tr>

<tr>
<td>Podłoga na gruncie</td>
<td>Uproszczony podział na strefy</td>
<td>Szczegółowe obliczenia z uwzględnieniem izolacji krawędziowej</td>
</tr>

<tr>
<td>Dokładność</td>
<td>Ok. 80–90% wartości rzeczywistej</td>
<td>Bardzo wysoka (błąd &lt;5%)</td>
</tr>

<tr>
<td>Koszt i czas</td>
<td>0 zł, 2–3 godziny pracy</td>
<td>1000–1500 zł, kilka dni oczekiwania</td>
</tr>

</tbody>
</table>

</div>



<p>Jak widzisz,&nbsp;<strong>samodzielne oszacowanie strat ciepła</strong>&nbsp;jest doskonałym narzędziem do wstępnej weryfikacji. Jeśli Twoje wyliczenia pokażą zapotrzebowanie rzędu 40–50 W/m², możesz być spokojny – podłogówka będzie działać świetnie. Jeśli wynik oscyluje wokół 90 W/m², warto rozważyć docieplenie budynku lub wykonanie pełnego OZC, by precyzyjnie dobrać parametry instalacji.</p>



<h2 class="wp-block-heading">Kiedy jednak nie obejdziesz się bez profesjonalnego OZC?</h2>



<p>Są sytuacje, w których samodzielne obliczenia mogą okazać się niewystarczające, a oszczędność 1500 zł obróci się przeciwko Tobie:</p>



<ol start="1" class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">Projekt z pompą ciepła</a></strong> – pompa ciepła musi być precyzyjnie dobrana do strat budynku. Źle dobrana (za duża lub za mała) będzie pracować nieefektywnie, a rachunki za prąd mogą być wyższe niż przy starym piecu. Profesjonalne OZC to podstawa.</li>



<li><strong>Dom o skomplikowanej bryle</strong>&nbsp;– wykusze, balkony, nietypowe kształty generują mostki termiczne, które w uproszczonych obliczeniach pominiesz, a które mają realny wpływ na straty.</li>



<li><strong>Wniosek o dotację</strong>&nbsp;– programy „Czyste Powietrze” i „Moje Ciepło” wymagają audytu energetycznego lub świadectwa charakterystyki. Bez profesjonalnego dokumentu nie otrzymasz wyższego dofinansowania.</li>



<li><strong>Spór z wykonawcą</strong>&nbsp;– jeśli chcesz mieć gwarancję, że instalacja została poprawnie zaprojektowana, OZC jest dokumentem, na który możesz się powołać.</li>
</ol>



<h2 class="wp-block-heading">Praktyczne przykłady obliczeń dla trzech różnych domów.</h2>



<p>Teoria teorią, ale najlepiej uczyć się na konkretnych przypadkach. Poniżej przeanalizujemy trzy budynki o różnym standardzie energetycznym. Wszystkie obliczenia wykonamy metodą uproszczoną, pamiętając o dodaniu 10% na mostki termiczne na samym końcu.</p>



<h3 class="wp-block-heading">Założenia wspólne:</h3>



<ul class="wp-block-list">
<li>Temperatura wewnętrzna: 20°C (z wyjątkiem łazienek, ale dla uproszczenia w przykładach przyjmijmy 20°C wszędzie)</li>



<li>Temperatura zewnętrzna: -20°C (ΔT = 40 K)</li>



<li>Wentylacja grawitacyjna: 0,5 wymiany na godzinę</li>
</ul>



<h3 class="wp-block-heading">Przykład 1: Nowy dom energooszczędny z 2025 roku</h3>



<p><strong>Dane:</strong></p>



<ul class="wp-block-list">
<li>Powierzchnia ogrzewana: 120 m², wysokość 2,5 m → kubatura 300 m³</li>



<li>Ściany z silikatu 24 cm + 20 cm styropianu: U = 0,17 (środek zakresu), powierzchnia 200 m²</li>



<li>Okna 3-szybowe standardowe: U = 0,85, powierzchnia 20 m²</li>



<li>Dach: wełna 30 cm: U = 0,13, powierzchnia 120 m²</li>



<li>Podłoga na gruncie: 20 cm styropianu: U = 0,17, powierzchnia 80 m²</li>
</ul>



<p><strong>Obliczenia strat przez przegrody:</strong></p>



<ul class="wp-block-list">
<li>Ściany: 0,17 × 200 × 40 =&nbsp;<strong>1360 W</strong></li>



<li>Okna: 0,85 × 20 × 40 =&nbsp;<strong>680 W</strong></li>



<li>Dach: 0,13 × 120 × 40 =&nbsp;<strong>624 W</strong></li>



<li>Podłoga: 0,17 × 80 × 15 =&nbsp;<strong>204 W</strong></li>



<li><strong>Suma przegród: 2868 W</strong></li>
</ul>



<p><strong>Straty wentylacyjne:</strong><br>V = 300 × 0,5 = 150 m³/h<br>Q_went = 0,34 × 150 × 40 =&nbsp;<strong>2040 W</strong></p>



<p><strong>Suma częściowa:</strong>&nbsp;2868 + 2040 = 4908 W<br><strong>Dodatek na mostki (10%):</strong>&nbsp;+491 W<br><strong>Razem zapotrzebowanie:</strong>&nbsp;<strong>5399 W</strong><br><strong>Wskaźnik na m²:</strong>&nbsp;5399 / 120 =&nbsp;<strong>45,0 W/m²</strong></p>



<p><strong>Wniosek:</strong>&nbsp;Zapotrzebowanie 45 W/m² oznacza, że podłogówka będzie pracować w idealnych warunkach. Temperatura zasilania nie przekroczy 30–32°C, co daje maksymalną efektywność pompy ciepła. Można zastosować rozstaw rur co 20 cm w całym domu.</p>



<h3 class="wp-block-heading">Przykład 2: Dom z lat 90. po termomodernizacji</h3>



<p><strong>Dane:</strong></p>



<ul class="wp-block-list">
<li>Powierzchnia: 150 m², wysokość 2,5 m → kubatura 375 m³</li>



<li>Ściany (docieplone 15 cm styropianu): ceramika poryzowana + styropian → U = 0,20, pow. 250 m²</li>



<li>Okna (wymienione na 3-szybowe): U = 0,9, pow. 25 m²</li>



<li>Dach (docieplony 20 cm wełny, lambda 0,040): U = 0,040/0,2 = 0,20 (z pro-tipa), pow. 150 m²</li>



<li>Podłoga (częściowa izolacja 10 cm): U = 0,25 (z tabeli), pow. 100 m²</li>
</ul>



<p><strong>Obliczenia:</strong></p>



<ul class="wp-block-list">
<li>Ściany: 0,20 × 250 × 40 =&nbsp;<strong>2000 W</strong></li>



<li>Okna: 0,9 × 25 × 40 =&nbsp;<strong>900 W</strong></li>



<li>Dach: 0,20 × 150 × 40 =&nbsp;<strong>1200 W</strong></li>



<li>Podłoga: 0,25 × 100 × 15 =&nbsp;<strong>375 W</strong></li>



<li><strong>Suma przegród: 4475 W</strong></li>
</ul>



<p><strong>Wentylacja:</strong><br>V = 375 × 0,5 = 187,5 m³/h<br>Q_went = 0,34 × 187,5 × 40 =&nbsp;<strong>2550 W</strong></p>



<p><strong>Suma częściowa:</strong>&nbsp;4475 + 2550 = 7025 W<br><strong>Dodatek na mostki (10%):</strong>&nbsp;+703 W<br><strong>Razem:</strong>&nbsp;<strong>7728 W</strong><br><strong>Wskaźnik:</strong>&nbsp;7728 / 150 =&nbsp;<strong>51,5 W/m²</strong></p>



<p><strong>Wniosek:</strong>&nbsp;51,5 W/m² to wartość komfortowa dla podłogówki. Temperatura zasilania wyniesie około 35–38°C. W salonie z dużymi oknami warto rozważyć zagęszczenie rur do 15 cm w strefie brzegowej, by zwiększyć moc w najchłodniejszych miejscach.</p>



<h3 class="wp-block-heading">Przykład 3: Stary dom bez izolacji (przed remontem)</h3>



<p><strong>Dane:</strong></p>



<ul class="wp-block-list">
<li>Powierzchnia: 100 m², wysokość 2,7 m → kubatura 270 m³</li>



<li>Ściany (cegła pełna 38 cm, brak izolacji): U = 1,2, pow. 180 m²</li>



<li>Okna (stare, drewniane): U = 2,5, pow. 15 m²</li>



<li>Dach (brak izolacji): U = 1,0, pow. 100 m²</li>



<li>Podłoga na gruncie (brak izolacji): U = 0,8, pow. 70 m²</li>
</ul>



<p><strong>Obliczenia:</strong></p>



<ul class="wp-block-list">
<li>Ściany: 1,2 × 180 × 40 =&nbsp;<strong>8640 W</strong></li>



<li>Okna: 2,5 × 15 × 40 =&nbsp;<strong>1500 W</strong></li>



<li>Dach: 1,0 × 100 × 40 =&nbsp;<strong>4000 W</strong></li>



<li>Podłoga: 0,8 × 70 × 15 =&nbsp;<strong>840 W</strong></li>



<li><strong>Suma przegród: 14 980 W</strong></li>
</ul>



<p><strong>Wentylacja:</strong><br>V = 270 × 0,5 = 135 m³/h<br>Q_went = 0,34 × 135 × 40 =&nbsp;<strong>1836 W</strong></p>



<p><strong>Suma częściowa:</strong>&nbsp;14 980 + 1836 = 16 816 W<br><strong>Dodatek na mostki (10%):</strong>&nbsp;+1682 W<br><strong>Razem:</strong>&nbsp;<strong>18 498 W</strong><br><strong>Wskaźnik:</strong>&nbsp;18 498 / 100 =&nbsp;<strong>185 W/m²</strong></p>



<p><strong>Wniosek:</strong>&nbsp;Wynik 185 W/m² jest dramatycznie wysoki. Nawet przy najgęstszym rozstawie rur (co 5–10 cm) i temperaturze zasilania 55°C, podłoga jest w stanie oddać maksymalnie około 120 W/m². Oznacza to, że ogrzewanie podłogowe samo nie ogrzeje tego domu. Dodatkowo straty przez podłogę (840 W) są ogromne – ciepło będzie uciekać w dół do gruntu. W tym przypadku jedynym rozsądnym rozwiązaniem jest&nbsp;<strong>głęboka termomodernizacja</strong>: docieplenie ścian, dachu, wymiana okien i izolacja fundamentów, a dopiero potem montaż podłogówki.</p>



<h2 class="wp-block-heading">Kalkulator strat ciepła budynku – oblicz zapotrzebowanie na ogrzewanie.</h2>



<p>Skorzystaj z naszego narzędzia, aby szybko sprawdzić <strong>zapotrzebowanie na ogrzewanie w Twoim domu</strong> lub mieszkaniu i oszacować, czy ogrzewanie podłogowe będzie wystarczające. Ten <strong>kalkulator strat ciepła budynku</strong> pozwala w kilka sekund obliczyć orientacyjne straty energii na podstawie powierzchni budynku, parametrów izolacji oraz strefy klimatycznej.</p>



<p>Wynik pokazuje <strong>moc grzewczą w W/m²</strong>, całkowite zapotrzebowanie na ciepło, sugerowany rozstaw rur podłogówki oraz temperaturę zasilania instalacji. Dzięki temu możesz szybko ocenić, czy Twój dom mieści się w optymalnym zakresie dla ogrzewania podłogowego i czy warto wykonać <strong><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">profesjonalny projekt instalacji grzewczej</a></strong>.</p>



<style>
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
}

.premium-calc {
    max-width: 1150px;
    margin: 30px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    color: var(--primary);
}

.calc-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
}

/* LEWA STRONA - KONFIGURACJA */
.config-side {
    padding: 40px;
    background: #ffffff;
}

.section-title {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: block;
}

.type-selector {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 30px;
}

.type-btn {
    padding: 14px 8px;
    border: 2px solid #cbd5e1;
    border-radius: 12px;
    cursor: pointer;
    text-align: center;
    font-weight: 700;
    font-size: 12px;
    color: #475569;
    background: #fff;
    transition: all 0.2s;
}

.type-btn.active {
    border-color: var(--accent);
    background: #eff6ff;
    color: var(--accent);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.1);
}

.input-wrap { margin-bottom: 22px; }
.input-label-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
}
.input-label-row label { font-weight: 600; font-size: 14px; }
.input-label-row .val-badge {
    background: #f1f5f9;
    padding: 3px 10px;
    border-radius: 6px;
    font-weight: 800;
    color: var(--accent);
    font-size: 13px;
}

input[type=range] {
    width: 100%; height: 6px; background: #e2e8f0; border-radius: 10px; appearance: none; outline: none;
}
input[type=range]::-webkit-slider-thumb {
    appearance: none; width: 20px; height: 20px; background: var(--accent); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

/* PRAWA STRONA - WYNIKI */
.result-side {
    padding: 40px;
    background: var(--bg-light);
    border-left: 1px solid #f1f5f9;
}

.main-score-box {
    background: white; padding: 30px; border-radius: 20px; text-align: center; box-shadow: 0 10px 25px rgba(0,0,0,0.03); margin-bottom: 25px; border-bottom: 6px solid var(--success);
}
.score-num { font-size: 56px; font-weight: 900; line-height: 1; display: block; margin: 8px 0; }
.score-label { font-size: 12px; color: #64748b; font-weight: 700; text-transform: uppercase; }

#risk-msg {
    margin-top: 15px; padding: 12px; border-radius: 10px; font-size: 12px; font-weight: 600; display: none; background: #fee2e2; color: var(--danger); border: 1px solid #fecaca;
}

.tech-grid {
    background: var(--primary); color: white; padding: 25px; border-radius: 20px; display: grid; gap: 10px;
}
.tech-item {
    display: flex; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid #1e293b;
}
.tech-item:last-child { border: none; padding-bottom: 0; }
.tech-item span { color: #94a3b8; font-size: 13px; }
.tech-item strong { font-size: 15px; }

.material-grid {
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 15px;
}
.mini-card { background: rgba(255,255,255,0.08); padding: 12px; border-radius: 12px; }
.mini-card span { font-size: 10px; color: #94a3b8; display: block; margin-bottom: 4px; text-transform: uppercase; }
.mini-card strong { font-size: 16px; color: #fff; }

/* STOPKA - UKŁAD PIONOWY PRZYCISKÓW */
.footer-cta {
    margin: 0 40px 40px 40px;
    padding: 30px;
    background: #eff6ff;
    border-radius: 20px;
    border-left: 6px solid var(--accent);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    max-width: 550px;
}

.cta-buttons-stack {
    display: flex;
    flex-direction: column; 
    gap: 12px;
    min-width: 280px; 
}

.cta-btn {
    display: block;
    background: var(--accent);
    color: white;
    text-decoration: none;
    padding: 16px 20px;
    border-radius: 12px;
    font-weight: 800;
    transition: 0.3s;
    font-size: 13px;
    text-align: center;
    border: none;
    cursor: pointer;
}

.cta-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(37, 99, 235, 0.2);
}

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; gap: 25px; margin: 20px; }
    .cta-buttons-stack { min-width: 100%; width: 100%; }
}
</style>

<div class="premium-calc">
    <div class="calc-grid">
        <div class="config-side">
            <span class="section-title">1. Standard budynku</span>
            <div class="type-selector">
                <div class="type-btn active" onclick="setPreset('new', this)">NOWY DOM</div>
                <div class="type-btn" onclick="setPreset('mod', this)">MODERNIZACJA</div>
                <div class="type-btn" onclick="setPreset('old', this)">STARY DOM</div>
            </div>

            <span class="section-title">2. Parametry izolacji</span>
            <div class="input-wrap">
                <div class="input-label-row"><label>Powierzchnia Domu</label><span class="val-badge"><span id="v-area">140</span> m²</span></div>
                <input type="range" id="area" min="40" max="300" value="140" oninput="update()">
            </div>
            <div class="input-wrap">
                <div class="input-label-row"><label>Strefa Klimatyczna</label><span class="val-badge">Strefa <span id="v-zone">III</span> (<span id="v-temp-ext">-20</span>°C)</span></div>
                <input type="range" id="zone" min="1" max="5" step="1" value="3" oninput="update()">
            </div>
            <div class="input-wrap">
                <div class="input-label-row"><label>Izolacja Ścian (U)</label><span class="val-badge"><span id="v-walls">0.20</span></span></div>
                <input type="range" id="walls" min="0.1" max="1.5" step="0.01" value="0.20" oninput="update()">
            </div>
            <div class="input-wrap">
                <div class="input-label-row"><label>Izolacja Dachu (U)</label><span class="val-badge"><span id="v-roof">0.15</span></span></div>
                <input type="range" id="roof" min="0.1" max="1.0" step="0.01" value="0.15" oninput="update()">
            </div>
            <div class="input-wrap">
                <div class="input-label-row"><label>Izolacja Podłogi (U)</label><span class="val-badge"><span id="v-floor">0.30</span></span></div>
                <input type="range" id="floor" min="0.1" max="1.5" step="0.01" value="0.30" oninput="update()">
            </div>

            <span class="section-title">3. Wykończenie podłogi</span>
            <div class="type-selector" style="margin-bottom:0">
                <div class="type-btn active" id="f-tiles" onclick="setFloor(0.02, 'tiles')">PŁYTKI</div>
                <div class="type-btn" id="f-panels" onclick="setFloor(0.08, 'panels')">PANELE</div>
                <div class="type-btn" id="f-carpet" onclick="setFloor(0.15, 'carpet')">DYWAN</div>
            </div>
        </div>

        <div class="result-side">
            <div id="mainBox" class="main-score-box">
                <span class="score-label">Zapotrzebowanie jednostkowe</span>
                <span class="score-num" id="resM2">&#8212;</span>
                <span class="score-label">W / m²</span>
                <div id="risk-msg"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Uwaga! Ryzyko niedogrzania przy obecnych parametrach.</div>
            </div>

            <div class="tech-grid">
                <div class="tech-item"><span>Moc całkowita:</span><strong id="resTotal">&#8212;</strong></div>
                <div class="tech-item"><span>Sugerowany rozstaw rur:</span><strong id="resSpacing">&#8212;</strong></div>
                <div class="tech-item"><span>Projektowa Temp. Zasilania:</span><strong id="resTz" style="color:#fbbf24">&#8212;</strong></div>
                <div class="tech-item"><span>Temp. powierzchni podłogi:</span><strong id="resTsurf">&#8212;</strong></div>
                <div class="tech-item"><span>Kubatura (orient.):</span><strong id="resVol">&#8212;</strong></div>
                
                <div class="material-grid">
                    <div class="mini-card"><span>Potrzebna rura (ok.):</span><strong id="resPipe">&#8212;</strong></div>
                    <div class="mini-card"><span>Ilość pętli (szac.):</span><strong id="resLoops">&#8212;</strong></div>
                </div>
            </div>
            
            <div style="margin-top:20px; font-size:11px; color:#94a3b8; font-weight:700">ROZKŁAD STRAT ENERGII:</div>
            <div style="height:10px; display:flex; border-radius:5px; overflow:hidden; margin-top:10px; background:#e2e8f0">
                <div id="b-walls" style="background:var(--accent); width:0%"></div>
                <div id="b-roof" style="background:#60a5fa; width:0%"></div>
                <div id="b-floor" style="background:#93c5fd; width:0%"></div>
                <div id="b-vent" style="background:#cbd5e1; width:0%"></div>
            </div>
        </div>
    </div>

    <div class="footer-cta">
        <div class="cta-text-side">
            <h3 style="margin:0 0 10px 0; color:#1e3a8a">Wyniki budzą Twoje wątpliwości?</h3>
            <p style="margin:0; font-size:14px; color:#475569">Możesz przesłać te obliczenia bezpośrednio do nas. Przeanalizujemy je i podpowiemy, jakie rozwiązanie będzie najkorzystniejsze dla Twojej inwestycji.</p>
        </div>
        <div class="cta-buttons-stack">
            <a href="javascript:void(0)" onclick="sendEmail()" class="cta-btn" style="background:#1e293b">
                SKONSULTUJ WYNIKI (E-MAIL)
            </a>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">
                ZAMÓW PROJEKT →
            </a>
        </div>
    </div>
</div>

<script>
let activeR = 0.02;
const zTemps = { 1: -16, 2: -18, 3: -20, 4: -22, 5: -24 };
const zNames = { 1: "I", 2: "II", 3: "III", 4: "IV", 5: "V" };

function setPreset(type, el) {
    document.querySelectorAll('.config-side .type-btn').forEach(b => b.classList.remove('active'));
    el.classList.add('active');
    const p = {
        new: { w: 0.20, r: 0.15, f: 0.30 },
        mod: { w: 0.45, r: 0.30, f: 0.50 },
        old: { w: 1.10, r: 0.80, f: 1.20 }
    };
    document.getElementById('walls').value = p[type].w;
    document.getElementById('roof').value = p[type].r;
    document.getElementById('floor').value = p[type].f;
    update();
}

function setFloor(r, id) {
    activeR = r;
    const btns = document.querySelectorAll('.type-selector')[1].querySelectorAll('.type-btn');
    btns.forEach(b => b.classList.remove('active'));
    document.getElementById('f-'+id).classList.add('active');
    update();
}

function update() {
    const area = parseFloat(document.getElementById('area').value);
    const zone = document.getElementById('zone').value;
    const uWalls = parseFloat(document.getElementById('walls').value);
    const uRoof = parseFloat(document.getElementById('roof').value);
    const uFloor = parseFloat(document.getElementById('floor').value);
    
    const deltaT = 20 - zTemps[zone];
    document.getElementById('v-area').innerText = area;
    document.getElementById('v-zone').innerText = zNames[zone];
    document.getElementById('v-temp-ext').innerText = zTemps[zone];
    document.getElementById('v-walls').innerText = uWalls.toFixed(2);
    document.getElementById('v-roof').innerText = uRoof.toFixed(2);
    document.getElementById('v-floor').innerText = uFloor.toFixed(2);

    const qWalls = (area * 1.5) * uWalls * deltaT;
    const qRoof = area * uRoof * deltaT;
    const qFloor = area * uFloor * 15;
    const qVent = 0.34 * (area * 2.6) * 0.5 * deltaT;
    
    const total = (qWalls + qRoof + qFloor + qVent) * 1.1;
    const wm2 = total / area;

    document.getElementById('resM2').innerText = Math.round(wm2);
    document.getElementById('resTotal').innerText = Math.round(total) + " W";
    document.getElementById('resVol').innerText = Math.round(area * 2.6) + " m³";

    const mBox = document.getElementById('mainBox');
    const rMsg = document.getElementById('risk-msg');
    if(wm2 > 95) {
        mBox.style.borderColor = "var(--danger)";
        rMsg.style.display = "block";
    } else {
        mBox.style.borderColor = wm2 > 65 ? "var(--warning)" : "var(--success)";
        rMsg.style.display = "none";
    }

    let spacing = (wm2 > 70 || activeR > 0.08) ? 10 : 15;
    document.getElementById('resSpacing').innerText = spacing + " cm";

    let tz = 20 + (wm2 * (0.12 + activeR));
    tz = Math.min(50, Math.max(30, tz));
    document.getElementById('resTz').innerText = Math.round(tz) + "°C";
    
    const tSurf = 20 + (wm2 / 11);
    document.getElementById('resTsurf').innerText = tSurf.toFixed(1) + "°C";

    const pipe = area * (100 / spacing) * 1.05;
    document.getElementById('resPipe').innerText = Math.round(pipe) + " mb";
    document.getElementById('resLoops').innerText = Math.ceil(pipe / 90) + " szt.";

    document.getElementById('b-walls').style.width = (qWalls/total*100) + "%";
    document.getElementById('b-roof').style.width = (qRoof/total*100) + "%";
    document.getElementById('b-floor').style.width = (qFloor/total*100) + "%";
    document.getElementById('b-vent').style.width = (qVent/total*100) + "%";
}

function sendEmail() {
    const area = document.getElementById('v-area').innerText;
    const zone = document.getElementById('v-zone').innerText;
    const wm2 = document.getElementById('resM2').innerText;
    const totalW = document.getElementById('resTotal').innerText;
    const tz = document.getElementById('resTz').innerText;
    const pipe = document.getElementById('resPipe').innerText;
    const loops = document.getElementById('resLoops').innerText;
    const uWalls = document.getElementById('v-walls').innerText;

    const email = "biuro@projekt-ogrzewania.pl";
    const subject = encodeURIComponent("Konsultacja wyników z kalkulatora - Ogrzewanie Podłogowe");
    
    const body = encodeURIComponent(
        `Dzień dobry,\n\nProszę o konsultację moich wyników z kalkulatora podłogówki:\n\n` +
        `• Powierzchnia: ${area} m²\n` +
        `• Strefa klimatyczna: ${zone}\n` +
        `• Izolacja ścian (U): ${uWalls}\n` +
        `• Zapotrzebowanie: ${wm2} W/m² (Łącznie: ${totalW})\n` +
        `• Projektowa temp. zasilania: ${tz}\n` +
        `• Szacowana ilość rur: ${pipe}\n` +
        `• Szacowana ilość pętli: ${loops}\n\n` +
        `Proszę o informację, jaki byłby koszt wykonania profesjonalnego projektu dla mojego domu.`
    );

    window.location.href = `mailto:${email}?subject=${subject}&body=${body}`;
}

window.onload = update;
</script>



<h2 class="wp-block-heading">Jak wykorzystać wyniki obliczeń w projekcie ogrzewania podłogowego?</h2>



<p>Same&nbsp;<strong>obliczenia strat ciepła dla ogrzewania podłogowego</strong>&nbsp;to dopiero pierwszy krok. Kolejnym jest przełożenie tych wartości na konkretny projekt instalacji. Gdy już wiesz, że np. salon o powierzchni 25 m² potrzebuje 1300 W mocy, musisz tak zaprojektować pętle grzewcze, by dostarczyły tę energię przy zachowaniu komfortowych temperatur posadzki.</p>



<h3 class="wp-block-heading">Określenie temperatury zasilania.</h3>



<p>Moc podłogówki zależy od różnicy temperatury między czynnikiem grzewczym a pomieszczeniem oraz od rozstawu rur. Im wyższa temperatura zasilania i im gęściej ułożone rury, tym większa moc. Dla typowej podłogi z wykończeniem ceramicznym (dobry przewodnik ciepła) i rozstawem rur 15 cm, moc przy temperaturze zasilania 40°C wynosi około 80 W/m². Jeśli potrzebujesz 52 W/m² (jak w przykładzie 2), wystarczy zasilanie 35°C i rozstaw 20 cm.</p>



<p>W praktyce projektant ogrzewania, mając wyniki obliczeń strat, dobiera:</p>



<ul class="wp-block-list">
<li><strong>rozstaw rur</strong>&nbsp;– gęstszy w strefach przyokiennych (10–15 cm), rzadszy w głębi pomieszczeń (20–25 cm),</li>



<li><strong>długość pętli</strong>&nbsp;– by opory przepływu były akceptowalne,</li>



<li><strong>temperaturę zasilania</strong>&nbsp;– tak, by pokryć największe zapotrzebowanie w najchłodniejszy dzień.</li>
</ul>



<p>Pamiętaj, że maksymalna temperatura powierzchni podłogi w strefie przebywania ludzi nie powinna przekraczać 29°C (dla podłóg drewnianych nawet 27°C). Przekroczenie tych wartości powoduje dyskomfort i może szkodzić niektórym materiałom wykończeniowym.</p>



<h3 class="wp-block-heading">Znaczenie izolacji pod podłogówką.</h3>



<p>Wracając do przykładu 3 – straty przez podłogę wyniosły 840 W. Gdyby ten dom został docieplony, a współczynnik U podłogi spadł do 0,20, straty zmalałyby do 0,20 × 70 × 15 =&nbsp;<strong>210 W</strong>. To oszczędność 630 W, czyli prawie 15% całkowitego zapotrzebowania po dociepleniu. Dlatego tak ważne jest, by przed położeniem rur grzewczych zadbać o solidną izolację przeciwwilgociową i termiczną podłogi. Minimum to 10 cm styropianu, a w domach energooszczędnych 15–20 cm (standard na 2026 rok to już 20 cm).</p>



<p>Jeśli wykonujesz&nbsp;<strong>obliczenia strat ciepła pod ogrzewanie podłogowe</strong>&nbsp;samodzielnie i widzisz, że straty przez podłogę są wysokie, masz bezpośrednią wskazówkę: zwiększ izolację fundamentów i podłogi. To inwestycja, która zwróci się w niższych rachunkach przez całe lata.</p>



<h2 class="wp-block-heading">FAQ &#8211; najczęściej zadawane pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1773052087779"><strong class="schema-faq-question"><strong>Ile kW ogrzewania potrzeba na 100 m² domu?</strong></strong> <p class="schema-faq-answer">W nowoczesnych domach energooszczędnych zapotrzebowanie na ogrzewanie wynosi zwykle <strong>40–60 W/m²</strong>. Oznacza to, że dla domu o powierzchni <strong>100 m²</strong> potrzebna moc grzewcza wynosi około <strong>4–6 kW</strong>. W starszych budynkach bez izolacji wartość ta może być nawet dwa razy wyższa.</p> </div> <div class="schema-faq-section" id="faq-question-1773052160248"><strong class="schema-faq-question"><strong>Jak obliczyć straty ciepła w domu?</strong></strong> <p class="schema-faq-answer">Najprostszą metodą jest zastosowanie wzoru <strong>Q = A × U × ΔT</strong>, gdzie:<br><strong>A</strong> – powierzchnia przegrody (m²),<br><strong>U</strong> – współczynnik przenikania ciepła (W/m²·K),<br><strong>ΔT</strong> – różnica temperatur między wnętrzem a otoczeniem.<br>Po obliczeniu strat dla wszystkich przegród budynku należy dodać <strong>straty wentylacyjne</strong>, aby uzyskać całkowite zapotrzebowanie na ciepło.</p> </div> <div class="schema-faq-section" id="faq-question-1773052173511"><strong class="schema-faq-question"><strong>Ile watów ogrzewania podłogowego na m²?</strong></strong> <p class="schema-faq-answer">Standardowa moc ogrzewania podłogowego wynosi:<br><strong>40–50 W/m²</strong> – domy energooszczędne<br><strong>50–80 W/m²</strong> – typowe nowe domy jednorodzinne<br><strong>80–100 W/m²</strong> – maksymalna moc przy gęstym rozstawie rur<br>Jeśli zapotrzebowanie budynku przekracza <strong>100 W/m²</strong>, sama podłogówka może nie wystarczyć i konieczne będzie dodatkowe źródło ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1773052210972"><strong class="schema-faq-question"><strong>Czy można samodzielnie obliczyć zapotrzebowanie na ciepło domu?</strong></strong> <p class="schema-faq-answer">Tak. Wstępne obliczenia można wykonać samodzielnie przy użyciu <strong>kalkulatora strat ciepła domu</strong> lub prostego arkusza kalkulacyjnego. Taka metoda pozwala z dokładnością około <strong>80–90%</strong> oszacować zapotrzebowanie budynku na ogrzewanie.</p> </div> <div class="schema-faq-section" id="faq-question-1773052219312"><strong class="schema-faq-question"><strong>Czy kalkulator strat ciepła zastąpi profesjonalne OZC?</strong></strong> <p class="schema-faq-answer">Kalkulator pozwala na szybkie oszacowanie zapotrzebowania na ciepło, jednak <strong>pełne obliczeniowe zapotrzebowanie ciepła (OZC)</strong> jest bardziej dokładne i wymagane np. przy doborze pompy ciepła lub ubieganiu się o dotacje.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p>Samodzielne obliczenie strat ciepła dla ogrzewania podłogowego jest nie tylko możliwe, ale i bardzo przydatne na wczesnym etapie planowania inwestycji. Dzięki przedstawionej metodzie – prostemu arkuszowi kalkulacyjnemu, tabelom współczynników U, wzorowi na wentylację i praktycznym pro-tipom (jak wyliczanie U z lambdy czy dodatek na mostki) – jesteś w stanie ocenić, czy Twój dom nadaje się do podłogówki, czy wymaga docieplenia, a także jakie będą orientacyjne koszty eksploatacji.</p>



<p>Pamiętaj jednak, że uzyskany wynik to wartość orientacyjna. Jeśli planujesz zakup pompy ciepła, starasz się o dotację lub budujesz dom o skomplikowanej bryle, koniecznie zleć profesjonalne OZC. W pozostałych przypadkach – śmiało, sięgnij po kalkulator i sprawdź, co możesz zyskać, projektując ogrzewanie podłogowe w swoim domu.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">Kalkulator strat ciepła budynku – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</title>
		<link>https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/</link>
					<comments>https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 07 Mar 2026 14:43:41 +0000</pubDate>
				<category><![CDATA[Domy energooszczędne]]></category>
		<category><![CDATA[Energooszczędne budownictwo]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Koszty energii]]></category>
		<category><![CDATA[Koszty instalacji grzewczych]]></category>
		<category><![CDATA[Koszty ogrzewania]]></category>
		<category><![CDATA[Koszty ogrzewania podłogowego]]></category>
		<category><![CDATA[Modernizacja ogrzewania]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy ciepła]]></category>
		<category><![CDATA[Porady dla inwestorów]]></category>
		<category><![CDATA[Porady inwestycyjne]]></category>
		<category><![CDATA[Technologia grzewcza]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[koszty ogrzewania domu]]></category>
		<category><![CDATA[ogrzewanie domu 2026]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka czy grzejniki]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<category><![CDATA[zwrot z inwestycji ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3718</guid>

					<description><![CDATA[<p>Rosnące ceny energii sprawiają, że inwestorzy coraz częściej analizują nie tylko koszt budowy instalacji grzewczej, ale także jej opłacalność w długiej perspektywie. Właśnie dlatego temat zwrot z inwestycji w ogrzewanie podłogowe budzi dziś ogromne zainteresowanie wśród właścicieli domów i osób planujących budowę. Nowoczesne systemy niskotemperaturowe, współpracujące z pompami ciepła, pozwalają znacząco obniżyć rachunki za ogrzewanie. Sprawdzamy realne wyliczenia na 2026 rok, porównujemy koszty z grzejnikami i pokazujemy, kiedy podłogówka zaczyna przynosić realny zysk.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Inwestycja w ogrzewanie podłogowe to jedna z tych decyzji, które dzielą inwestorów na dwa obozy: tych, którzy liczą każdą złotówkę wydaną „na starcie”, oraz tych, którzy patrzą na całkowity koszt posiadania domu przez dekady. W 2026 roku, w obliczu uwolnionych cen energii, taryf dynamicznych i rygorystycznych norm unijnych wynikających z dyrektywy EPBD, odpowiedź na pytanie o&nbsp;<strong>zwrot z inwestycji w ogrzewanie podłogowe</strong>&nbsp;nie jest już tylko kwestią komfortu, ale twardej matematyki, którą można precyzyjnie wyliczyć.</p>



<p>Czy „podłogówka” to nadal luksus, czy może jedyna droga do przetrwania w dobie drogiego prądu? Sprawdzamy, ile realnie zaoszczędzisz po 10 latach i dlaczego tradycyjne grzejniki stają się dla pomp ciepła „kulą u nogi”. Wstępne koszty instalacji ogrzewania podłogowego są wyższe o około 30-40% w porównaniu do klasycznych grzejników, ale w 2026 roku kluczowym pojęciem jest&nbsp;<strong>COP (Coefficient of Performance)</strong>&nbsp;pompy ciepła.</p>



<p><a href="https://projekt-ogrzewania.pl/" type="link" id="https://projekt-ogrzewania.pl/">Ogrzewanie podłogowe</a> to system niskotemperaturowy (zasilanie ok. 30–35°C), podczas gdy grzejniki wymagają 50–55°C, by pracować efektywnie. Każdy stopień obniżenia temperatury zasilania to około 2-3% oszczędności na rachunku za prąd. W skali dekady, przy uwzględnieniu inflacji i rosnących opłat dystrybucyjnych, różnica ta staje się Twoim czystym zyskiem. <strong>Inwestycja w ogrzewanie podłogowe zwrot</strong> następuje zazwyczaj między 7. a 11. rokiem użytkowania, ale jeśli weźmiemy pod uwagę taryfy dynamiczne (ładowanie „bufora ciepła” w wylewce, gdy prąd jest tani), okres ten może skrócić się nawet do 5-6 lat.</p>



<h2 class="wp-block-heading">Jakie czynniki decydują o opłacalności podłogówki w 2026 roku?</h2>



<p>Zanim przejdziemy do szczegółowych wyliczeń, musimy zrozumieć, dlaczego w ogóle ogrzewanie podłogowe może być bardziej ekonomiczne od tradycyjnych grzejników. Odpowiedź kryje się w dwóch słowach:&nbsp;<strong>temperatura zasilania</strong>.</p>



<h3 class="wp-block-heading">Niska temperatura to wyższa efektywność źródła ciepła.</h3>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">Pompy ciepła</a></strong> osiągają tym wyższą efektywność (współczynnik COP), im niższa jest temperatura wody w instalacji. Dla podłogówki COP może wynosić nawet 4,2–4,5, podczas gdy przy grzejnikach spada do 2,8–3,2.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/kociol-gazowy/" type="link" id="https://projekt-ogrzewania.pl/kociol-gazowy/">Kotły kondensacyjne</a></strong> w pełni wykorzystują zjawisko kondensacji pary wodnej właśnie przy niskich temperaturach powrotu. Im chłodniejsza woda wraca do kotła, tym więcej ciepła odzyskujemy ze spalin.</li>
</ul>



<h3 class="wp-block-heading">Taryfy dynamiczne i magazynowanie ciepła – nowość 2026 roku.</h3>



<p>W 2026 roku taryfy dynamiczne pozwalają pompie pracować głównie w godzinach taniego prądu (np. między 11:00 a 15:00, gdy fotowoltaika sąsiadów generuje nadwyżki do sieci).&nbsp;<strong>Wylewka anhydrytowa o grubości 6-7 cm magazynuje to ciepło na wieczór</strong>, działając jak tani akumulator. Grzejniki takiej możliwości nie dają – muszą pracować wtedy, gdy jest zimno, czyli często w godzinach szczytu wieczornego, gdy prąd jest najdroższy.</p>



<h3 class="wp-block-heading">Koszt instalacji w 2026 roku – ile trzeba wydać na starcie?</h3>



<p>Dla potrzeb naszych wyliczeń przyjmujemy następujące koszty instalacji wewnętrznej (bez źródła ciepła):</p>



<ul class="wp-block-list">
<li><strong>Dom 120 m²</strong>: podłogówka około 27 600 zł, grzejniki około 19 200 zł</li>



<li><strong>Dom 150 m²</strong>: podłogówka około 34 500 zł, grzejniki około 24 000 zł</li>



<li><strong>Dom 200 m²</strong>: podłogówka około 46 000 zł, grzejniki około 32 000 zł</li>
</ul>



<h2 class="wp-block-heading">Realne wyliczenia dla czterech scenariuszy inwestycyjnych (dane na 2026 rok).</h2>



<p>Przyjmujemy średnią cenę prądu w 2026 roku na poziomie&nbsp;<strong>1,10 zł/kWh</strong>&nbsp;(z dystrybucją) oraz gazu na poziomie&nbsp;<strong>0,42 zł/kWh</strong>. Standard energetyczny domów: WT 2021 (około&nbsp;<strong>70 kWh/m²/rok</strong>).</p>



<h3 class="wp-block-heading">Scenariusz A: Mały dom (120 m²) + Pompa ciepła powietrzna.</h3>



<p><strong>Parametry</strong>: powierzchnia 120 m², zapotrzebowanie = 8 400 kWh/rok</p>



<p><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa ciepła: 19 200 zł + 35 000 zł = 54 200 zł</li>



<li>Podłogówka + pompa ciepła: 27 600 zł + 35 000 zł = 62 600 zł</li>



<li><strong>Różnica (dopłata do podłogówki)</strong>: 8 400 zł</li>
</ul>



<p><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (COP przy 55°C = 3,0): 8 400 / 3,0 = 2 800 kWh × 1,10 zł =&nbsp;<strong>3 080 zł</strong></li>



<li>Podłogówka (COP przy 35°C = 4,2): 8 400 / 4,2 = 2 000 kWh × 1,10 zł =&nbsp;<strong>2 200 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 080 – 2 200 =&nbsp;<strong>880 zł</strong></li>
</ul>



<p><strong>Prosty okres zwrotu</strong>: 8 400 zł / 880 zł ≈&nbsp;<strong>9,5 roku</strong></p>



<h3 class="wp-block-heading">Scenariusz B: Średni dom (150 m²) + Pompa ciepła + Taryfy dynamiczne.</h3>



<p><strong>Parametry</strong>: powierzchnia 150 m², zapotrzebowanie = 10 500 kWh/rok</p>



<p><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa ciepła: 24 000 zł + 35 000 zł = 59 000 zł</li>



<li>Podłogówka + pompa ciepła: 34 500 zł + 35 000 zł = 69 500 zł</li>



<li><strong>Różnica</strong>: 10 500 zł</li>
</ul>



<p><strong>Roczne koszty ogrzewania</strong>&nbsp;(z optymalizacją taryf dynamicznych):</p>



<ul class="wp-block-list">
<li>Grzejniki (COP 3,0, brak akumulacji): 10 500 / 3,0 = 3 500 kWh × 1,10 zł =&nbsp;<strong>3 850 zł</strong></li>



<li>Podłogówka (COP 4,2 + magazynowanie w wylewce pozwala wykorzystać 70% energii w tańszej taryfie 0,80 zł/kWh): 10 500 / 4,2 = 2 500 kWh, z czego 1 750 kWh po 0,80 zł i 750 kWh po 1,10 zł = 1 400 + 825 =&nbsp;<strong>2 225 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 850 – 2 225 =&nbsp;<strong>1 625 zł</strong>&nbsp;(dla uśrednienia przyjmijmy 1 450 zł, uwzględniając lata mniej słoneczne)</li>
</ul>



<p><strong>Okres zwrotu</strong>: 10 500 zł / 1 450 zł ≈&nbsp;<strong>7,2 roku</strong></p>



<h3 class="wp-block-heading">Scenariusz C: Duży dom (200 m²) + Pompa ciepła gruntowa.</h3>



<p><strong>Parametry</strong>: powierzchnia 200 m², zapotrzebowanie = 14 000 kWh/rok</p>



<p><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + pompa gruntowa: 32 000 zł + 65 000 zł = 97 000 zł</li>



<li>Podłogówka + pompa gruntowa: 46 000 zł + 65 000 zł = 111 000 zł</li>



<li><strong>Różnica</strong>: 14 000 zł</li>
</ul>



<p><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (COP 4,0 dla gruntówki przy 55°C): 14 000 / 4,0 = 3 500 kWh × 1,10 zł =&nbsp;<strong>3 850 zł</strong></li>



<li>Podłogówka (COP 5,0 przy 35°C): 14 000 / 5,0 = 2 800 kWh × 1,10 zł =&nbsp;<strong>3 080 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 3 850 – 3 080 =&nbsp;<strong>770 zł</strong>&nbsp;(Uwaga: to mniej niż w scenariuszu B, bo gruntówka jest już bardzo efektywna nawet z grzejnikami)</li>
</ul>



<p><strong>Okres zwrotu</strong>: 14 000 zł / 770 zł ≈&nbsp;<strong>18 lat</strong>&nbsp;– to pokazuje, że przy gruntowej pompie głównym zyskiem jest komfort, a nie ekonomia.</p>



<h3 class="wp-block-heading">Scenariusz D: Dom 150 m² + Kocioł gazowy kondensacyjny (modernizacja).</h3>



<p><strong>Parametry</strong>: jak w scenariuszu B, 150 m², 10 500 kWh/rok</p>



<p><strong>Koszty instalacji</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki + kocioł: 24 000 zł + 18 000 zł = 42 000 zł</li>



<li>Podłogówka + kocioł: 34 500 zł + 18 000 zł = 52 500 zł</li>



<li><strong>Różnica</strong>: 10 500 zł</li>
</ul>



<p><strong>Roczne koszty ogrzewania</strong>:</p>



<ul class="wp-block-list">
<li>Grzejniki (sprawność 95%): 10 500 / 0,95 = 11 053 kWh gazu × 0,42 zł =&nbsp;<strong>4 642 zł</strong></li>



<li>Podłogówka (sprawność 105%): 10 500 / 1,05 = 10 000 kWh gazu × 0,42 zł =&nbsp;<strong>4 200 zł</strong></li>



<li><strong>Roczna oszczędność</strong>: 4 642 – 4 200 =&nbsp;<strong>442 zł</strong>&nbsp;(w zaokrągleniu 450 zł)</li>
</ul>



<p><strong>Okres zwrotu</strong>: 10 500 zł / 450 zł ≈&nbsp;<strong>23 lata</strong></p>



<p><strong>Wniosek</strong>: Przy gazie podłogówkę wybieramy głównie dla komfortu, a nie czystego zysku. To potwierdza, że prawdziwym beneficjentem niskotemperaturowej podłogówki jest pompa ciepła.</p>



<h2 class="wp-block-heading">Tabela rzeczywistego zwrotu w latach (z inflacją i taryfami dynamicznymi).</h2>



<p>Poniższa tabela przedstawia skumulowane oszczędności z wyboru ogrzewania podłogowego nad grzejnikowym dla&nbsp;<strong>domu 150 m² z pompą ciepła i taryfami dynamicznymi</strong>&nbsp;(Scenariusz B). Założono średni wzrost cen energii o 4% rocznie oraz coroczną optymalizację taryfową.</p>



<style>
.roi-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 40px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.roi-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.06);
}

.roi-table thead {
    background: #1c7c54;
    color: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.roi-table th {
    padding: 18px;
    font-size: 14px;
    text-align: left;
    font-weight: 600;
}

.roi-table td {
    padding: 16px 18px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    vertical-align: middle;
}

.roi-table tr:nth-child(even) {
    background: #fafafa;
}

/* POPRAWKA: Selektor ograniczony tylko do ciała tabeli */
.roi-table tbody tr:hover:not(.roi-break) {
    background: #f2f7f5;
}

.roi-bold {
    font-weight: 700;
}

.roi-profit {
    color: #157a5b;
    font-weight: 700;
}

.roi-loss {
    color: #c0392b;
    font-weight: 600;
}

.roi-break {
    background: #fff3dc !important;
    font-weight: 700;
    box-shadow: inset 4px 0 0 #e0a94f;
}

.roi-progress {
    height: 8px;
    background: #e9f3ef;
    border-radius: 6px;
    margin-top: 6px;
    overflow: hidden;
}

.roi-bar {
    height: 100%;
    background: #1c7c54;
    border-radius: 6px;
}

@media(max-width:768px) {
    .roi-table th {
        font-size: 13px;
        padding: 14px;
    }
    .roi-table td {
        font-size: 14px;
        padding: 14px;
    }
}
</style>

<div class="roi-table-wrapper">
    <table class="roi-table">
        <thead>
            <tr>
                <th>Rok</th>
                <th>Koszt eksploatacji<br>(Grzejniki)</th>
                <th>Koszt eksploatacji<br>(Podłogówka)</th>
                <th>Skumulowana oszczędność</th>
                <th>Bilans inwestycji<br>(Nadwyżka / Strata)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="roi-bold">Rok 0</td>
                <td>–</td>
                <td>–</td>
                <td>–</td>
                <td class="roi-loss">-10 500 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 1</td>
                <td>3 850 zł</td>
                <td>2 225 zł</td>
                <td>1 625 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:8%"></div></div>
                </td>
                <td class="roi-loss">-8 875 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 2</td>
                <td>4 004 zł</td>
                <td>2 314 zł</td>
                <td>3 315 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:17%"></div></div>
                </td>
                <td class="roi-loss">-7 185 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 3</td>
                <td>4 164 zł</td>
                <td>2 407 zł</td>
                <td>5 072 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:26%"></div></div>
                </td>
                <td class="roi-loss">-5 428 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 4</td>
                <td>4 331 zł</td>
                <td>2 503 zł</td>
                <td>6 900 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:35%"></div></div>
                </td>
                <td class="roi-loss">-3 600 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 5</td>
                <td>4 504 zł</td>
                <td>2 603 zł</td>
                <td>8 801 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:45%"></div></div>
                </td>
                <td class="roi-loss">-1 699 zł</td>
            </tr>
            <tr class="roi-break">
                <td class="roi-bold">Rok 6</td>
                <td>4 684 zł</td>
                <td>2 707 zł</td>
                <td>10 778 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:55%"></div></div>
                </td>
                <td class="roi-profit">+278 zł (Próg rentowności)</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 7</td>
                <td>4 872 zł</td>
                <td>2 815 zł</td>
                <td>12 835 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:66%"></div></div>
                </td>
                <td class="roi-profit">+2 335 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 8</td>
                <td>5 067 zł</td>
                <td>2 928 zł</td>
                <td>14 974 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:77%"></div></div>
                </td>
                <td class="roi-profit">+4 474 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 9</td>
                <td>5 270 zł</td>
                <td>3 045 zł</td>
                <td>17 199 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:88%"></div></div>
                </td>
                <td class="roi-profit">+6 699 zł</td>
            </tr>
            <tr>
                <td class="roi-bold">Rok 10</td>
                <td>5 481 zł</td>
                <td>3 167 zł</td>
                <td class="roi-bold">19 513 zł
                    <div class="roi-progress"><div class="roi-bar" style="width:100%"></div></div>
                </td>
                <td class="roi-profit roi-bold">+9 013 zł</td>
            </tr>
        </tbody>
    </table>
</div>



<p><strong>Interpretacja</strong>: W 6. roku użytkowania system podłogowy nie tylko „spłacił” różnicę w cenie zakupu (10 500 zł), ale zaczyna przynosić czysty zysk. Po 10 latach na koncie zostaje dodatkowe&nbsp;<strong>9 013 zł</strong>&nbsp;w porównaniu do sytuacji, w której pozostalibyśmy przy grzejnikach. Po 15 latach zysk przekracza 20 000 zł.</p>



<h2 class="wp-block-heading">Porównanie systemów grzewczych: podłogówka vs grzejniki vs ogrzewanie powietrzne.</h2>



<p>Dlaczego ogrzewanie powietrzne (klimatyzacja z funkcją grzania) przegrywa w bilansie 10-letnim? Choć jest tanie w montażu, w 2026 roku traci na&nbsp;<strong>braku bezwładności cieplnej</strong>. Poniższa tabela zestawia kluczowe cechy:</p>



<style>
.system-table-wrapper {
    width: 100%;
    overflow-x: auto;
    margin: 30px 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

.system-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 720px;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.system-table thead {
    background: #1c7c54;
    color: #ffffff;
}

.system-table th {
    padding: 16px;
    font-size: 15px;
    text-align: left;
    font-weight: 600;
}

.system-table td {
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    font-size: 15px;
    vertical-align: top;
}

.system-table tr:nth-child(even) {
    background: #fafafa;
}

/* POPRAWKA: Selektor ograniczony do tbody */
.system-table tbody tr:hover {
    background: #f3f7f5;
}

.system-feature {
    font-weight: 600;
    white-space: nowrap;
}

.system-best {
    color: #1c7c54;
    font-weight: 700;
}

.system-warning {
    color: #c0392b;
    font-weight: 600;
}

@media(max-width:768px) {
    .system-table th {
        font-size: 13px;
    }
    .system-table td {
        font-size: 14px;
    }
}
</style>

<div class="system-table-wrapper">
    <table class="system-table">
        <thead>
            <tr>
                <th>Cecha</th>
                <th>Ogrzewanie podłogowe</th>
                <th>Grzejniki (konwekcyjne)</th>
                <th>Klimatyzacja (powietrze-powietrze)</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td class="system-feature">Efektywność z PC</td>
                <td class="system-best">Najwyższa (COP 4.0–4.5)</td>
                <td>Średnia (COP 2.8–3.2)</td>
                <td>Wysoka (COP 3.5–4.0), ale brak akumulacji</td>
            </tr>
            <tr>
                <td class="system-feature">Komfort cieplny</td>
                <td class="system-best">Idealny (ciepłe stopy, brak przeciągów)</td>
                <td>Punktowy (zimne strefy przy podłodze)</td>
                <td class="system-warning">Nawiew (ryzyko przeciągów i przesuszenia)</td>
            </tr>
            <tr>
                <td class="system-feature">Akumulacja ciepła</td>
                <td class="system-best">Bardzo wysoka (6–12 godzin w wylewce)</td>
                <td>Bardzo niska (minuty)</td>
                <td>Brak</td>
            </tr>
            <tr>
                <td class="system-feature">Możliwość optymalizacji taryfowej</td>
                <td class="system-best">Pełna – ładujemy tani prąd w południe</td>
                <td>Ograniczona</td>
                <td class="system-warning">Żadna – grzeje gdy jest zimno, czyli drogo</td>
            </tr>
            <tr>
                <td class="system-feature">Estetyka</td>
                <td class="system-best">Niewidoczne</td>
                <td>Zajmują ściany</td>
                <td>Widoczne jednostki wewnętrzne</td>
            </tr>
            <tr>
                <td class="system-feature">Koszt instalacji</td>
                <td>Wysoki</td>
                <td>Niski / Średni</td>
                <td>Średni</td>
            </tr>
        </tbody>
    </table>
</div>



<p>Kluczowa różnica: ogrzewanie podłogowe pozwala „kupić” tanią energię w południe i oddawać ją do północy. Klimatyzacja musi pracować wtedy, kiedy jest zimno – czyli często w godzinach szczytu wieczornego, gdy prąd jest najdroższy. W perspektywie 10 lat to setki, a nawet tysiące złotych różnicy.</p>



<h2 class="wp-block-heading"><strong>Kalkulator zwrotu: Podłogówka vs Grzejniki</strong>.</h2>



<style>
.roi-kalkulator {
    max-width: 1100px;
    margin: 20px auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    color: #333;
    background: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 12px;
}

.roi-box {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

@media(max-width: 900px) {
    .roi-box { grid-template-columns: 1fr; }
}

.roi-panel {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 35px rgba(0,0,0,0.05);
}

.roi-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 25px;
    text-align: center;
    color: #1c7c54;
}

.roi-input {
    margin-bottom: 20px;
}

.roi-input label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 14px;
}

.roi-input .helper-text {
    font-size: 12px;
    color: #666;
    margin-bottom: 8px;
    display: block;
    line-height: 1.3;
}

.roi-input input,
.roi-input select {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid #ccc;
    font-size: 16px;
    box-sizing: border-box;
    transition: all 0.2s ease;
}

.roi-input input:focus {
    border-color: #1c7c54;
    outline: none;
    box-shadow: 0 0 0 3px rgba(28, 124, 84, 0.1);
}

.roi-result {
    font-size: 16px;
    margin-bottom: 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f0f0f0;
}

.roi-big {
    font-size: 26px;
    font-weight: 700;
    color: #1c7c54;
    margin-top: 4px;
}

.roi-cta {
    margin-top: 25px;
}

.roi-cta a {
    display: block;
    background: #1c7c54;
    color: white;
    padding: 16px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    transition: background 0.3s ease;
    line-height: 1.4;
}

.roi-cta a:hover {
    background: #155f41;
}

#roi-res-zwrot {
    color: #e67e22;
}
</style>

<div class="roi-kalkulator">
    <div class="roi-title">Kalkulator zwrotu: Podłogówka vs Grzejniki</div>
    
    <div class="roi-box">
        <div class="roi-panel">
            <div class="roi-input">
                <label>Powierzchnia domu (m²)</label>
                <input type="number" id="roi-metraz" value="150" min="1">
            </div>

            <div class="roi-input">
                <label>Standard energetyczny</label>
                <select id="roi-standard">
                    <option value="70">Nowy dom (WT 2021) &#8211; 70 kWh/m²</option>
                    <option value="50">Dom energooszczędny &#8211; 50 kWh/m²</option>
                    <option value="100">Dom starszy / modernizowany &#8211; 100 kWh/m²</option>
                </select>
            </div>

            <div class="roi-input">
                <label>Źródło ciepła</label>
                <select id="roi-zrodlo">
                    <option value="pc_powietrze">Pompa ciepła powietrzna</option>
                    <option value="pc_grunt">Pompa ciepła gruntowa</option>
                    <option value="gaz">Kocioł gazowy kondensacyjny</option>
                </select>
            </div>

            <div class="roi-input">
                <label>Cena energii (zł/kWh)</label>
                <input type="number" id="roi-energia" value="1.10" step="0.01">
            </div>

            <div class="roi-input">
                <label>Różnica w koszcie inwestycji (zł)</label>
                <span class="helper-text">Wpisz o ile droższy jest montaż podłogówki od instalacji z grzejnikami (np. 12 000 zł).</span>
                <input type="number" id="roi-roznica" placeholder="Pozostaw puste, by zobaczyć same oszczędności" min="0">
            </div>
        </div>

        <div class="roi-panel">
            <div class="roi-result">
                Roczny koszt – grzejniki
                <div class="roi-big" id="roi-res-grzejniki">0 zł</div>
            </div>

            <div class="roi-result">
                Roczny koszt – podłogówka
                <div class="roi-big" id="roi-res-podlogowka">0 zł</div>
            </div>

            <div class="roi-result">
                Roczna oszczędność na paliwie
                <div class="roi-big" id="roi-res-oszczednosc">0 zł</div>
            </div>

            <div class="roi-result">
                Czas zwrotu różnicy kosztów
                <div class="roi-big" id="roi-res-zwrot">0 lat</div>
            </div>

            <div class="roi-result">
                Bilans po 10 latach użytkowania
                <div class="roi-big" id="roi-res-zysk">0 zł</div>
            </div>

            <div class="roi-cta">
                <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">
                    Zamów profesjonalny projekt, aby realnie obniżyć koszty ogrzewania
                </a>
            </div>
        </div>
    </div>
</div>

<script>
(function() {
    // Funkcja formatująca walutę
    function format(val) {
        return Math.round(val).toLocaleString('pl-PL') + " zł";
    }

    function oblicz() {
        const metraz = parseFloat(document.getElementById("roi-metraz").value) || 0;
        const standard = parseFloat(document.getElementById("roi-standard").value) || 0;
        const cenaEnergii = parseFloat(document.getElementById("roi-energia").value) || 0;
        const roznicaInwestycji = parseFloat(document.getElementById("roi-roznica").value) || 0;
        const zrodlo = document.getElementById("roi-zrodlo").value;

        // Roczne zapotrzebowanie na ciepło (kWh)
        const zapotrzebowanie = metraz * standard;

        // Ustawienie sprawności (COP / Sprawność kotła)
        let copGrzejnik = 3.0, copPodloga = 4.2;

        if (zrodlo === "pc_grunt") { copGrzejnik = 4.0; copPodloga = 5.0; }
        if (zrodlo === "gaz") { copGrzejnik = 0.95; copPodloga = 1.05; }

        // Koszty eksploatacji
        const kosztG = (zapotrzebowanie / copGrzejnik) * cenaEnergii;
        const kosztP = (zapotrzebowanie / copPodloga) * cenaEnergii;
        const oszczednoscRoczna = kosztG - kosztP;
        
        // Logika wyświetlania zwrotu
        let zwrotWynik = "0.0 lat";
        if (oszczednoscRoczna > 0) {
            if (roznicaInwestycji > 0) {
                zwrotWynik = (roznicaInwestycji / oszczednoscRoczna).toFixed(1) + " lat";
            } else {
                zwrotWynik = "0.0 lat";
            }
        } else {
            zwrotWynik = "Brak zwrotu";
        }

        // Zysk po 10 latach (Oszczędności * 10 - koszt początkowy różnicy)
        const bilans10 = (oszczednoscRoczna * 10) - roznicaInwestycji;

        // Renderowanie wyników
        document.getElementById("roi-res-grzejniki").innerText = format(kosztG);
        document.getElementById("roi-res-podlogowka").innerText = format(kosztP);
        document.getElementById("roi-res-oszczednosc").innerText = format(oszczednoscRoczna);
        document.getElementById("roi-res-zwrot").innerText = zwrotWynik;
        document.getElementById("roi-res-zysk").innerText = format(bilans10);
    }

    // Nasłuchiwanie zmian
    const inputs = ["roi-metraz", "roi-standard", "roi-zrodlo", "roi-energia", "roi-roznica"];
    inputs.forEach(id => {
        document.getElementById(id).addEventListener("input", oblicz);
    });

    // Startowe wywołanie
    oblicz();
})();
</script>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – klucz do realnych oszczędności</h2>



<p>Wszystkie powyższe wyliczenia opierają się na założeniu, że instalacja została prawidłowo zaprojektowana i wykonana. W kontekście <strong>zwrotu z inwestycji w ogrzewanie podłogowe</strong> należy podkreślić, że <strong>profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">projekt</a> to nie koszt, ale inwestycja, która bezpośrednio przekłada się na oszczędności</strong>.</p>



<p>Dlaczego projekt jest tak ważny w 2026 roku? Po pierwsze, określa on optymalny rozstaw rur w zależności od stref obciążenia cieplnego – w pomieszczeniach narażonych na duże straty (przy oknach, drzwiach balkonowych) rury układa się gęściej, co zapobiega wychładzaniu podłogi. Po drugie, projekt uwzględnia opory przepływu i dobiera odpowiednią średnicę rur, aby pompa ciepła pracowała w optymalnym zakresie wydajności. Po trzecie, zawiera wytyczne dotyczące grubości i rodzaju wylewki –&nbsp;<strong>wylewka anhydrytowa o grubości 6-7 cm</strong>&nbsp;to dziś standard, bo najlepiej przewodzi ciepło i magazynuje je na potrzeby taryf dynamicznych.</p>



<p>Dla inwestorów modernizujących stare budynki, którzy nie mogą zerwać podłóg, projektanci proponują <strong><a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemy suche</a> (cienkowarstwowe)</strong> – ich zwrot jest nieco dłuższy, ale wciąż lepszy niż pozostanie przy wysokotemperaturowych grzejnikach. Koszt projektu (1 500–3 000 zł) zwraca się już w pierwszym sezonie grzewczym dzięki niższym rachunkom i bezawaryjnej pracy systemu.</p>



<h2 class="wp-block-heading">Dodatkowe korzyści: wartość domu przy sprzedaży i prestiż.</h2>



<p>W 2026 roku kupujący domy są znacznie bardziej świadomi energetycznie niż jeszcze 5 lat temu.&nbsp;<strong>Certyfikat Energetyczny (Świadectwo Charakterystyki Energetycznej)</strong>&nbsp;jest dokumentem krytycznym przy transakcji.</p>



<ul class="wp-block-list">
<li><strong>Wyższa klasa energetyczna</strong>: Dom z podłogówką i pompą ciepła łatwiej wpada w klasę „A” lub „A+”. To realnie podnosi cenę ofertową nieruchomości o&nbsp;<strong>5–8%</strong>&nbsp;. Dla domu wartego 1 000 000 zł to dodatkowe 50 000 – 80 000 zł.</li>



<li><strong>Uniwersalność wykończenia</strong>: Brak grzejników pod oknami do samej ziemi (portfenetrami) to standard nowoczesnej architektury. Domy z grzejnikami w 2026 roku zaczynają być postrzegane jako „technologicznie przestarzałe”.</li>



<li><strong>Zdrowie i higiena</strong>: Ograniczenie konwekcji (unoszenia się kurzu) to argument, który dla alergików jest wart dopłaty przy zakupie domu.</li>
</ul>



<h2 class="wp-block-heading">FAQ;</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1772881304440"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe naprawdę się opłaca?</strong></strong> <p class="schema-faq-answer">Tak, szczególnie w połączeniu z pompą ciepła. Niska temperatura zasilania zwiększa efektywność systemu, dzięki czemu rachunki za energię mogą być nawet o kilkadziesiąt procent niższe niż przy grzejnikach.</p> </div> <div class="schema-faq-section" id="faq-question-1772881366554"><strong class="schema-faq-question"><strong>Po ilu latach następuje zwrot z inwestycji w ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">W większości nowych domów z pompą ciepła <strong>zwrot z inwestycji w ogrzewanie podłogowe</strong> następuje zazwyczaj po około 6–9 latach użytkowania, w zależności od cen energii i standardu izolacji budynku.</p> </div> <div class="schema-faq-section" id="faq-question-1772881379861"><strong class="schema-faq-question"><strong>Czy podłogówka działa lepiej z pompą ciepła niż z grzejnikami?</strong></strong> <p class="schema-faq-answer">Tak. Ogrzewanie podłogowe jest systemem niskotemperaturowym, dlatego pompa ciepła pracuje z wyższym współczynnikiem COP, co bezpośrednio przekłada się na niższe koszty eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1772881405330"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można zastosować w modernizowanym domu?</strong></strong> <p class="schema-faq-answer">Tak, istnieją systemy cienkowarstwowe i suche, które pozwalają zamontować podłogówkę bez znacznego podnoszenia poziomu podłogi. W takich przypadkach kluczowy jest dobrze wykonany projekt instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1772881413673"><strong class="schema-faq-question"><strong>Czy podłogówka zwiększa wartość domu?</strong></strong> <p class="schema-faq-answer">Tak. Domy wyposażone w nowoczesne systemy niskotemperaturowe, takie jak ogrzewanie podłogowe i pompy ciepła, uzyskują często wyższą klasę energetyczną, co może zwiększyć wartość nieruchomości nawet o kilka procent.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie: czy to się opłaca?</h2>



<p>Jeśli budujesz dom w 2026 roku i planujesz w nim mieszkać dłużej niż 7 lat,&nbsp;<strong>inwestycja w ogrzewanie podłogowe zwrot</strong>&nbsp;jest gwarantowany przez samą fizykę i zmiany w systemie rozliczeń energii. Nasze wyliczenia pokazują, że:</p>



<ol start="1" class="wp-block-list">
<li><strong>Przy pompie ciepła i taryfach dynamicznych</strong>&nbsp;okres zwrotu wynosi&nbsp;<strong>6–9 lat</strong>&nbsp;(w zależności od metrażu i izolacji). Po 10 latach zysk sięga kilku-kilkunastu tysięcy złotych.</li>



<li><strong>Przy kotle gazowym</strong>&nbsp;okres zwrotu wydłuża się do 20–25 lat – w tym przypadku podłogówkę wybieramy dla komfortu, a nie dla oszczędności.</li>



<li><strong>Kluczową rolę odgrywa możliwość magazynowania ciepła w wylewce</strong>&nbsp;i wykorzystania tanich taryf – to wyróżnik podłogówki, którego nie ma żaden inny system.</li>



<li><strong>Wartość domu przy sprzedaży rośnie o 5–8%</strong>&nbsp;, co wielokrotnie przewyższa początkową dopłatę do instalacji.</li>
</ol>



<h3 class="wp-block-heading">Rekomendacje na 2026 rok:</h3>



<ul class="wp-block-list">
<li><strong>Dla oszczędnych</strong>: Wybierz system wodny z grubszą wylewką anhydrytową (minimum 6 cm) i sterownikiem obsługującym taryfy dynamiczne. To połączenie daje najszybszy zwrot.</li>



<li><strong>Dla modernizujących</strong>: Jeśli nie możesz zerwać podłóg, rozważ systemy suche (cienkowarstwowe) – ich zwrot jest nieco dłuższy, ale wciąż opłacalny w perspektywie 10-12 lat.</li>
</ul>



<p>Inwestycja w ogrzewanie podłogowe to w 2026 roku nie tylko zakup <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/" type="link" id="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rurek</a> i <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/" type="link" id="https://projekt-ogrzewania.pl/rozdzielacz-do-ogrzewania-podlogowego-mosiezny-czy-ze-stali-nierdzewnej/">rozdzielaczy</a>. To zakup <strong>„akumulatora ciepła”</strong>, który jako jedyny pozwala skutecznie walczyć z niestabilnymi cenami energii na wolnym rynku. Decydując się na podłogówkę, zyskujesz nie tylko niższe rachunki, ale przede wszystkim wyższą wartość swojego domu i bezkonkurencyjny komfort przez najbliższe dekady.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/">Zwrot z inwestycji w ogrzewanie podłogowe – realne wyliczenia na 2026 rok.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/zwrot-z-inwestycji-w-ogrzewanie-podlogowe-realne-wyliczenia-na-2026-rok/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/</link>
					<comments>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#respond</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 09:13:56 +0000</pubDate>
				<category><![CDATA[Hydraulika]]></category>
		<category><![CDATA[Hydraulika grzewcza]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Kalkulatory budowlane]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Pompy obiegowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[dobór pompy]]></category>
		<category><![CDATA[hydraulika instalacji]]></category>
		<category><![CDATA[instalacja podłogówki]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[kalkulator pompy obiegowej]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pompa 25-60]]></category>
		<category><![CDATA[pompa do podłogówki]]></category>
		<category><![CDATA[pompa obiegowa]]></category>
		<category><![CDATA[projekt instalacji grzewczej]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[przepływ instalacji]]></category>
		<category><![CDATA[przepływ w instalacji]]></category>
		<category><![CDATA[wysokość podnoszenia pompy]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3575</guid>

					<description><![CDATA[<p>Dobór odpowiedniej pompy obiegowej ma ogromny wpływ na sprawność i komfort działania instalacji grzewczej. Właśnie dlatego kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym może być niezwykle pomocnym narzędziem dla inwestorów, instalatorów oraz osób planujących budowę domu. Dzięki niemu można w prosty sposób oszacować wymagany przepływ wody oraz wysokość podnoszenia pompy, a następnie dopasować urządzenie do realnych parametrów instalacji. W artykule pokazuję krok po kroku, jak wykonać podstawowe obliczenia, zrozumieć charakterystyki pomp i uniknąć najczęstszych błędów przy projektowaniu podłogówki.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p><strong>Kalkulator doboru pompy obiegowej</strong>&nbsp;to narzędzie, które pozwala precyzyjnie określić, jaka pompa będzie optymalna dla Twojej instalacji ogrzewania podłogowego. Wybór odpowiedniego urządzenia to nie tylko kwestia komfortu cieplnego, ale także rachunków za energię elektryczną i żywotności całego systemu. W tym artykule pokażę Ci, krok po kroku, jak samodzielnie wykonać niezbędne obliczenia, na co zwrócić uwagę przy analizie charakterystyk pomp i dlaczego warto sięgnąć po profesjonalny projekt, zanim podejmiesz ostateczną decyzję.</p>



<h2 class="wp-block-heading">Rola pompy obiegowej w instalacji podłogówki.</h2>



<p>Pompa obiegowa to serce każdej wodnej instalacji grzewczej. W <a href="https://projekt-ogrzewania.pl" type="link" id="https://projekt-ogrzewania.pl">ogrzewaniu podłogowym</a> jej zadaniem jest wymuszanie ciągłego przepływu ciepłej wody przez pętle grzewcze ułożone w posadzce. Dzięki niej energia z kotła, <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" type="link" id="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> lub innego źródła ciepła jest równomiernie rozprowadzana po całym domu. Bez odpowiednio dobranej pompy nawet najlepiej zaprojektowana podłogówka nie będzie działać prawidłowo – niektóre pomieszczenia pozostaną chłodne, a inne przegrzane, a na dodatek rachunki za prąd mogą być niepotrzebnie wysokie.</p>



<p>Dlatego tak ważne jest, aby&nbsp;<strong>dobór pompy obiegowej</strong>&nbsp;oprzeć na rzeczywistych potrzebach instalacji, a nie na zasadzie „wezmę większą, żeby była na zapas”. Zbyt silna pompa generuje hałas, zwiększa zużycie energii i powoduje szybsze zużycie elementów układu. Z kolei zbyt słaba nie zapewni wymaganego przepływu, co odbije się na komforcie cieplnym.</p>



<h2 class="wp-block-heading">Kluczowe parametry – wydajność i wysokość podnoszenia.</h2>



<p>Każda pompa obiegowa opisana jest dwoma podstawowymi parametrami:&nbsp;<strong>wydajnością (Q)</strong>&nbsp;oraz&nbsp;<strong>wysokością podnoszenia (H)</strong>. To właśnie one decydują o tym, czy urządzenie sprosta wymaganiom Twojej instalacji.</p>



<h3 class="wp-block-heading">Wydajność pompy (Q).</h3>



<p>Wydajność, oznaczana symbolem Q, to ilość wody, jaką pompa jest w stanie przetłoczyć w jednostce czasu. Wyrażamy ją najczęściej w&nbsp;<strong>metrach sześciennych na godzinę (m³/h)</strong>&nbsp;lub&nbsp;<strong>litrach na minutę (l/min)</strong>. Wartość ta mówi nam, jak dużo ciepła może zostać dostarczone do podłogówki – im większy przepływ, tym więcej energii trafia do posadzki.</p>



<p>Dlaczego to takie ważne? Otóż każdy metr kwadratowy podłogi oddaje pewną moc cieplną, która zależy od temperatury zasilania i rozstawu rur. Aby tę moc dostarczyć, potrzebny jest odpowiedni strumień wody. Zbyt mały przepływ spowoduje, że woda zbyt mocno ostygnie, zanim dotrze do końca pętli – powstanie duża różnica temperatur między zasilaniem a powrotem, a podłoga będzie grzała nierównomiernie.</p>



<h3 class="wp-block-heading">Wysokość podnoszenia (H).</h3>



<p>Wysokość podnoszenia (H) to zdolność pompy do pokonania oporów hydraulicznych występujących w instalacji. Opory te wynikają z tarcia wody o ścianki rur, a także z lokalnych przeszkód, takich jak zawory, kolanka, rozdzielacze czy kształtki. Im dłuższe i bardziej kręte pętle, im więcej elementów na drodze wody, tym większe opory i tym wyższej wysokości podnoszenia potrzebujemy. Wartość H podaje się w&nbsp;<strong>metrach słupa wody (m H₂O)</strong>.</p>



<p>W praktyce wysokość podnoszenia to swoista „siła” pompy – musi ona być na tyle duża, aby przepchnąć wodę przez najdłuższą i najbardziej oporową pętlę w instalacji. Jeśli pompa ma zbyt małe H, woda po prostu nie dotrze do końca niektórych obiegów.</p>



<h2 class="wp-block-heading">Jak samodzielnie obliczyć wymaganą wydajność?</h2>



<p>Obliczenie wymaganej wydajności (Q) jest stosunkowo proste, jeśli znamy łączną moc cieplną instalacji oraz projektową różnicę temperatur między zasilaniem a powrotem.</p>



<style>
/* ===== BLOK WZORU - PROJEKT OGRZEWANIA ===== */

.wzor-ogrzewania {
    max-width: 900px;
    margin: 40px auto;
    padding: 28px;
    background: #f7f9fc;
    border-radius: 10px;
    border-left: 5px solid #1e73be;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.wzor-ogrzewania h3 {
    margin-top: 0;
    font-size: 22px;
    color: #1a1a1a;
}

.wzor-ogrzewania .wzor {
    font-size: 20px;
    font-weight: 600;
    margin: 18px 0;
    color: #1e73be;
    line-height: 1.6;
    word-break: break-word;
}

.wzor-ogrzewania .lub {
    text-align: center;
    font-weight: 600;
    margin: 8px 0;
    color: #666;
}

.wzor-ogrzewania .opis {
    margin-top: 20px;
    font-size: 16px;
}

.wzor-ogrzewania ul {
    margin: 10px 0 0 18px;
}

.wzor-ogrzewania li {
    margin-bottom: 8px;
}

/* ===== KALKULATOR ===== */

.kalkulator {
    margin-top: 25px;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    border: 1px solid #e2e6ed;
}

.kalkulator label {
    display: block;
    font-weight: 600;
    margin-top: 10px;
}

.kalkulator input {
    width: 100%;
    padding: 10px;
    margin-top: 6px;
    border-radius: 6px;
    border: 1px solid #ccc;
    font-size: 16px;
}

.wynik {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 700;
    color: #1e73be;
}

@media (max-width:768px) {

    .wzor-ogrzewania {
        padding: 20px;
    }

    .wzor-ogrzewania h3 {
        font-size: 20px;
    }

    .wzor-ogrzewania .wzor {
        font-size: 18px;
    }

}
</style>

<div class="wzor-ogrzewania">

<h3>Wzór podstawowy (w dwóch równoważnych postaciach)</h3>

<div class="wzor">
Q [m³/h] = (0,86 × P) / Δt
</div>

<div class="lub">lub</div>

<div class="wzor">
Q [m³/h] = P / (1,163 × Δt)
</div>

<div class="opis">
<strong>gdzie:</strong>
<ul>
<li><strong>P</strong> – łączna moc cieplna instalacji podłogowej [kW]</li>
<li><strong>Δt</strong> – różnica temperatur między zasilaniem a powrotem [°C]</li>
</ul>
</div>

<div class="kalkulator">

<h3>Kalkulator przepływu w instalacji ogrzewania podłogowego</h3>

<label>Moc instalacji P [kW]</label>
<input type="number" id="moc" placeholder="np. 8">

<label>Różnica temperatur Δt [°C]</label>
<input type="number" id="dt" placeholder="np. 5">

<div class="wynik">
Przepływ Q = <span id="wynik">0</span> m³/h
</div>

</div>

</div>

<script>

function obliczPrzeplyw(){

let P = parseFloat(document.getElementById("moc").value);
let dt = parseFloat(document.getElementById("dt").value);

if(!isNaN(P) && !isNaN(dt) && dt > 0){

let Q = (0.86 * P) / dt;

document.getElementById("wynik").innerHTML = Q.toFixed(3);

}

}

document.getElementById("moc").addEventListener("input", obliczPrzeplyw);
document.getElementById("dt").addEventListener("input", obliczPrzeplyw);

</script>



<p>Skąd wziąć moc P? Najlepiej z projektu budowlanego lub instalacyjnego. Jeśli go nie masz, możesz oszacować zapotrzebowanie na ciepło, przyjmując dla dobrze ocieplonego domu około&nbsp;<strong>50–80 W na metr kwadratowy</strong>&nbsp;ogrzewanej powierzchni. Dla domów starszych, słabo izolowanych, wartość ta może być wyższa – nawet 100–120 W/m².</p>



<p>Różnica temperatur Δt dla ogrzewania podłogowego wynosi zwykle&nbsp;<strong>5–8°C</strong>. Im niższa Δt, tym większy przepływ będzie potrzebny, ale jednocześnie uzyskujemy bardziej równomierną temperaturę podłogi. W nowoczesnych instalacjach niskotemperaturowych często przyjmuje się Δt = 5°C (np. 40°C na zasilaniu i 35°C na powrocie).</p>



<p><strong>Przykład 1 (dom jednorodzinny):</strong></p>



<ul class="wp-block-list">
<li>Powierzchnia ogrzewana: 150 m²</li>



<li>Przyjęte zapotrzebowanie jednostkowe: 65 W/m²</li>



<li>Moc całkowita P = 150 × 0,065 =&nbsp;<strong>9,75 kW</strong></li>



<li>Założona Δt = 6°C</li>
</ul>



<p>Obliczenie wydajności:<br>Q = 9,75 / (1,163 × 6) = 9,75 / 6,978 ≈&nbsp;<strong>1,40 m³/h</strong></p>



<p>Oznacza to, że pompa musi być w stanie tłoczyć około 1,4 metra sześciennego wody na godzinę, aby przy różnicy 6°C dostarczyć wymaganą moc 9,75 kW.</p>



<h2 class="wp-block-heading">Jak oszacować wymaganą wysokość podnoszenia?</h2>



<p>Wysokość podnoszenia to parametr nieco trudniejszy do oszacowania bez szczegółowych obliczeń hydraulicznych. W warunkach domowych możemy jednak posłużyć się metodą uproszczoną, która daje wystarczającą dokładność dla typowych instalacji.</p>



<h3 class="wp-block-heading">Składowe oporów.</h3>



<p>Na całkowite opory (H) składają się:</p>



<ul class="wp-block-list">
<li><strong>Opory liniowe</strong>&nbsp;– powstają na prostych odcinkach rur. Zależą od długości pętli, średnicy rury i prędkości przepływu. Dla popularnych rur PEX o średnicy 16×2 mm i przepływach rzędu 1–3 l/min można przyjąć orientacyjną wartość&nbsp;<strong>100–200 Pa na metr</strong>&nbsp;(co odpowiada 0,01–0,02 m słupa wody na metr rury).</li>



<li><strong>Opory miejscowe</strong>&nbsp;– wywołane przez kształtki, kolana, zawory, rozdzielacze. Zwykle dodaje się&nbsp;<strong>20–30%</strong>&nbsp;do oporów liniowych.</li>



<li><strong>Opory rozdzielacza i zaworów regulacyjnych</strong>&nbsp;– w praktyce dla bezpieczeństwa dolicza się&nbsp;<strong>2–3 m słupa wody</strong>.</li>
</ul>



<h3 class="wp-block-heading">Uproszczony wzór.</h3>



<style>
/* ===== BLOK WZORU HYDRAULICZNEGO ===== */

.wzor-hydrauliczny {
    max-width: 900px;
    margin: 40px auto;
    padding: 28px;
    background: #f7f9fc;
    border-radius: 10px;
    border-left: 5px solid #1e73be;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.wzor-hydrauliczny h3 {
    margin-top: 0;
    font-size: 22px;
    color: #1a1a1a;
}

.wzor-hydrauliczny .wzor {
    font-size: 20px;
    font-weight: 600;
    margin: 18px 0;
    color: #1e73be;
    line-height: 1.6;
    word-break: break-word;
}

.wzor-hydrauliczny .opis {
    margin-top: 18px;
    font-size: 16px;
}

.wzor-hydrauliczny ul {
    margin: 10px 0 0 18px;
}

.wzor-hydrauliczny li {
    margin-bottom: 8px;
}

@media (max-width:768px) {

    .wzor-hydrauliczny {
        padding: 20px;
    }

    .wzor-hydrauliczny h3 {
        font-size: 20px;
    }

    .wzor-hydrauliczny .wzor {
        font-size: 18px;
    }

}
</style>

<div class="wzor-hydrauliczny">

<h3>Uproszczony wzór</h3>

<div class="wzor">
H [m] = (długość najdłuższej pętli [m] × opór jednostkowy [m/m]) × 1,3 + 2,5 m
</div>

<div class="opis">
<strong>gdzie:</strong>
<ul>
<li><strong>1,3</strong> – współczynnik uwzględniający opory miejscowe</li>
<li><strong>2,5 m</strong> – szacunkowy opór rozdzielacza i armatury</li>
</ul>
</div>

</div>



<p><strong>Przykład 2 (kontynuacja przykładu 1):</strong></p>



<ul class="wp-block-list">
<li>Najdłuższa pętla w domu ma długość 110 m (zgodnie z projektem).</li>



<li>Przyjmujemy opór jednostkowy&nbsp;<strong>0,015 m/m</strong>&nbsp;(czyli 150 Pa/m – wartość średnia dla rur 16×2 mm przy przepływie ok. 1,5–2 l/min).</li>
</ul>



<p>Opory liniowe = 110 × 0,015 = 1,65 m<br>Dodajemy 30% na opory miejscowe → 1,65 × 1,3 = 2,15 m<br>Doliczamy opór rozdzielacza (2,5 m) →&nbsp;<strong>H ≈ 4,65 m</strong></p>



<p>Zatem dla tej instalacji potrzebujemy pompy zdolnej do wytworzenia wysokości podnoszenia około 4,7 m przy przepływie 1,4 m³/h.</p>



<h2 class="wp-block-heading">Punkt pracy i charakterystyka pompy.</h2>



<p>Każda pompa obiegowa ma swoją charakterystykę – wykres przedstawiający zależność wysokości podnoszenia od wydajności. Na jednym wykresie producent zwykle pokazuje kilka krzywych odpowiadających różnym prędkościom obrotowym lub trybom regulacji.&nbsp;<strong>Punkt pracy</strong>&nbsp;instalacji to miejsce, w którym krzywa pompy przecina się z tzw. charakterystyką instalacji (czyli zapotrzebowaniem na H przy danym Q). Naszym zadaniem jest tak dobrać pompę, aby punkt pracy znajdował się w optymalnym zakresie jej możliwości.</p>



<h3 class="wp-block-heading">Interpretacja wykresów producentów.</h3>



<p>Wyobraźmy sobie wykres, na którym oś pozioma to wydajność Q (m³/h), a oś pionowa to wysokość podnoszenia H (m). Nałożone są na niego krzywe pomp – np. dla modelu 25-60 (oznaczenie: średnica przyłączy 25 mm, maksymalna wysokość podnoszenia 6 m). Dla naszego punktu pracy Q = 1,4 m³/h, H = 4,65 m sprawdzamy, czy leży on poniżej krzywej dla danej prędkości. Jeśli tak – pompa da radę.</p>



<p>W praktyce dla domu z przykładu odpowiednia będzie pompa&nbsp;<strong>25-60</strong>&nbsp;pracująca na średnich obrotach (lub w trybie automatycznym). Z kolei mniejsza 25-40 mogłaby okazać się za słaba (jej maksymalna wysokość to 4 m, a przy przepływie 1,4 m³/h osiąga jeszcze mniej). Większa 25-80 byłaby przewymiarowana.</p>



<h2 class="wp-block-heading">Tabela orientacyjnych wartości dla domów jednorodzinnych.</h2>



<p>Aby ułatwić pierwsze rozeznanie, przygotowałem tabelę z orientacyjnymi wartościami przepływu i wysokości podnoszenia dla typowych domów jednorodzinnych. Pamiętaj jednak, że są to dane szacunkowe – ostateczny dobór zawsze powinien opierać się na projekcie lub dokładnych obliczeniach.</p>



<style>

/* ===== TABELA PROJEKT OGRZEWANIA ===== */

.tabela-ogrzewanie {
max-width: 900px;
margin: 40px auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.tabela-ogrzewanie table {
width: 100%;
border-collapse: collapse;
background: #ffffff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.tabela-ogrzewanie thead {
background: #f7f9fc;
}

.tabela-ogrzewanie th {
text-align: left;
padding: 16px;
font-size: 16px;
font-weight: 700;
color: #1a1a1a;
}

.tabela-ogrzewanie td {
padding: 16px;
font-size: 15px;
border-top: 1px solid #e6e6e6;
}

.tabela-ogrzewanie tr:hover {
background: #f9fbff;
}

@media (max-width:768px){

.tabela-ogrzewanie table,
.tabela-ogrzewanie thead,
.tabela-ogrzewanie tbody,
.tabela-ogrzewanie th,
.tabela-ogrzewanie td,
.tabela-ogrzewanie tr{
display:block;
}

.tabela-ogrzewanie thead{
display:none;
}

.tabela-ogrzewanie tr{
margin-bottom:18px;
border:1px solid #e6e6e6;
border-radius:8px;
padding:10px;
}

.tabela-ogrzewanie td{
border:none;
padding:8px 10px;
}

.tabela-ogrzewanie td:before{
font-weight:700;
display:block;
margin-bottom:4px;
color:#1e73be;
}

.tabela-ogrzewanie td:nth-of-type(1):before{content:"Powierzchnia ogrzewana";}
.tabela-ogrzewanie td:nth-of-type(2):before{content:"Orientacyjny przepływ Q";}
.tabela-ogrzewanie td:nth-of-type(3):before{content:"Orientacyjna wysokość H";}
.tabela-ogrzewanie td:nth-of-type(4):before{content:"Sugerowana pompa";}

}

</style>

<div class="tabela-ogrzewanie">

<table>

<thead>
<tr>
<th>Powierzchnia ogrzewana</th>
<th>Orientacyjny przepływ Q</th>
<th>Orientacyjna wysokość H</th>
<th>Sugerowana pompa</th>
</tr>
</thead>

<tbody>

<tr>
<td>do 100 m²</td>
<td>0,8 – 1,2 m³/h</td>
<td>2 – 3,5 m</td>
<td>25-40</td>
</tr>

<tr>
<td>100 – 180 m²</td>
<td>1,2 – 2,0 m³/h</td>
<td>3,5 – 5 m</td>
<td>25-60</td>
</tr>

<tr>
<td>180 – 250 m²</td>
<td>2,0 – 2,8 m³/h</td>
<td>4 – 6 m</td>
<td>25-60 / 25-80</td>
</tr>

</tbody>

</table>

</div>



<p>Wartości w tabeli zakładają typowe warunki: dobrze zaprojektowane pętle o długości do 120 m, <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" type="link" id="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstaw rur</a> co 15–20 cm oraz źródło ciepła pracujące na parametry 40/35°C. W przypadku większych oporów (dłuższe pętle, więcej zaworów) należy wybrać model o wyższym H.</p>



<p></p>



<div id="pg-final-wrapper" style="max-width:850px; margin:40px auto; padding:25px; background:#ffffff; border-radius:20px; box-shadow:0 15px 45px rgba(0,0,0,0.07); font-family: sans-serif; color: #333; line-height: 1.5;">

    <h2 style="text-align:center; color:#1e73be; margin-bottom:25px;">Kalkulator Doboru Pompy Obiegowej</h2>

    <div style="background:#f8fbff; padding:20px; border-radius:15px; border:1px solid #e1e8f0; margin-bottom:20px;">
        <h3 style="margin-top:0; font-size:18px; color:#444;">1. Wprowadź dane instalacji:</h3>
        <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:15px;">
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Powierzchnia (m²)</label><input type="number" id="pg-in-area" value="120" style="padding:10px; border:1px solid #ccc; border-radius:8px;"></div>
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Zapotrzebowanie (W/m²)</label><input type="number" id="pg-in-load" value="60" style="padding:10px; border:1px solid #ccc; border-radius:8px;"></div>
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Δt (°C)</label><input type="number" id="pg-in-dt" value="5" style="padding:10px; border:1px solid #ccc; border-radius:8px;"></div>
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Liczba pętli</label><input type="number" id="pg-in-loops" value="10" style="padding:10px; border:1px solid #ccc; border-radius:8px;"></div>
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Śr. dł. pętli (m)</label><input type="number" id="pg-in-avg" value="80" style="padding:10px; border:1px solid #ccc; border-radius:8px;"></div>
            <div style="display:flex; flex-direction:column;"><label style="font-size:12px; font-weight:bold; margin-bottom:5px;">Średnica rury</label><select id="pg-in-pipe" style="padding:10px; border:1px solid #ccc; border-radius:8px; background:white;"><option value="16">PEX 16</option><option value="17" selected>PEX 17</option><option value="20">PEX 20</option></select></div>
        </div>
        <button id="pg-master-calc-btn" style="width:100%; margin-top:20px; padding:15px; background:#2c7be5; color:#fff; border:none; border-radius:10px; font-size:17px; font-weight:bold; cursor:pointer;">Oblicz i narysuj wykres</button>
    </div>

    <div style="margin-bottom:25px; padding:20px; background:#ffffff; border:1px solid #eee; border-radius:15px;">
        <h3 style="margin-top:0; font-size:18px; color:#444;">2. Wyniki i punkt pracy:</h3>
        <div style="display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:25px; margin-bottom:20px;">
            <div>
                <label style="display:block; font-size:13px; font-weight:bold; margin-bottom:8px;">Przepływ Q: <span id="pg-disp-q" style="color:#1e73be; font-size:16px;">1.40</span> m³/h</label>
                <input type="range" id="pg-slider-q" min="0.1" max="4" step="0.05" value="1.40" style="width:100%;">
            </div>
            <div>
                <label style="display:block; font-size:13px; font-weight:bold; margin-bottom:8px;">Wysokość H: <span id="pg-disp-h" style="color:#1e73be; font-size:16px;">4.00</span> m</label>
                <input type="range" id="pg-slider-h" min="0.1" max="8" step="0.05" value="4.00" style="width:100%;">
            </div>
        </div>
        <div id="pg-rec-box" style="padding:15px; background:#f0fdf4; border-left:5px solid #2e7d32; border-radius:8px;">
            <strong>Rekomendacja: <span id="pg-final-pump" style="color:#1e73be; font-size:20px;">25-60</span></strong>
        </div>
    </div>

    <div style="height:450px; position:relative; background:#fff; border:1px solid #f0f0f0; border-radius:15px; padding:15px; margin-bottom:25px;">
        <canvas id="pg-master-canvas"></canvas>
    </div>

    <div id="pg-cta-final" style="display:none; padding:30px; background:#f0f7ff; border-radius:15px; border-left:6px solid #0056b3; text-align:left;">
        <h4 style="margin:0 0 10px 0; color:#1a1a1a; font-size:18px; font-weight:bold;">Uwaga techniczna:</h4>
        <p style="margin:0 0 25px 0; color:#444; font-size:15px; line-height:1.6;">
            Wyniki mają charakter poglądowy i służą do wstępnej analizy koncepcyjnej instalacji. Obliczenia oparto na uproszczonym modelu cieplnym i hydraulicznym. Do realizacji instalacji zaleca się wykonanie indywidualnego projektu ogrzewania podłogowego zgodnie z warunkami konkretnego budynku.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" target="_blank" style="display:inline-block; padding:16px 32px; background:#0056b3; color:#ffffff; text-decoration:none; border-radius:8px; font-weight:bold; font-size:16px; transition: background 0.3s ease;">
            Zamów profesjonalny projekt ogrzewania podłogowego &rarr;
        </a>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>

<script>
(function() {
    "use strict";
    let masterChart = null;
    let masterQ = 1.40;
    let masterH = 4.00;
    let interactionStarted = false; // Flaga sprawdzająca czy użytkownik coś zrobił

    const pumpCurves = {
        "25-40": [{x:0,y:4}, {x:0.5,y:3.8}, {x:1,y:3.3}, {x:1.5,y:2.5}, {x:2,y:1.5}, {x:2.5,y:0.3}, {x:2.6,y:0}],
        "25-60": [{x:0,y:6}, {x:1,y:5.4}, {x:2,y:4}, {x:2.5,y:3.2}, {x:3,y:2.2}, {x:3.5,y:0.8}, {x:3.8,y:0}],
        "25-80": [{x:0,y:8}, {x:1,y:7.4}, {x:2,y:6.2}, {x:3,y:4.4}, {x:3.5,y:3.2}, {x:4,y:1.8}]
    };

    function getInstallationData(q, h) {
        let pts = [];
        let k = h / (q * q);
        for (let i = 0; i <= 4.1; i += 0.1) { pts.push({x: i, y: k * i * i}); }
        return pts;
    }

    function isPointBelowCurve(q, h, curve) {
        if (q > curve[curve.length - 1].x) return false;
        for (let i = 0; i < curve.length - 1; i++) {
            let p1 = curve[i];
            let p2 = curve[i+1];
            if (q >= p1.x && q <= p2.x) {
                let ratio = (q - p1.x) / (p2.x - p1.x);
                let maxHAtQ = p1.y + ratio * (p2.y - p1.y);
                return h <= maxHAtQ;
            }
        }
        return false;
    }

    function showCTA() {
        if (!interactionStarted) {
            document.getElementById('pg-cta-final').style.display = 'block';
            interactionStarted = true;
        }
    }

    function startApp() {
        const ctx = document.getElementById('pg-master-canvas');
        if (!ctx || typeof Chart === 'undefined') { setTimeout(startApp, 200); return; }

        masterChart = new Chart(ctx, {
            type: 'scatter',
            data: {
                datasets: [
                    { label: 'Pompa 25-40', data: pumpCurves["25-40"], borderColor: '#ff9800', showLine: true, tension: 0.3, pointRadius: 0 },
                    { label: 'Pompa 25-60', data: pumpCurves["25-60"], borderColor: '#2c7be5', showLine: true, tension: 0.3, pointRadius: 0 },
                    { label: 'Pompa 25-80', data: pumpCurves["25-80"], borderColor: '#9c27b0', showLine: true, tension: 0.3, pointRadius: 0 },
                    { label: 'Instalacja', data: getInstallationData(masterQ, masterH), borderColor: '#2e7d32', borderDash: [5, 5], showLine: true, pointRadius: 0 },
                    { label: 'Punkt pracy', data: [{x: masterQ, y: masterH}], backgroundColor: '#ef4444', pointRadius: 10, z: 10 }
                ]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                scales: {
                    x: { min: 0, max: 4, title: { display: true, text: 'Q [m³/h]' } },
                    y: { min: 0, max: 8, title: { display: true, text: 'H [m]' } }
                },
                plugins: { legend: { position: 'top' } }
            }
        });

        document.getElementById('pg-master-calc-btn').addEventListener('click', function() {
            const area = parseFloat(document.getElementById('pg-in-area').value);
            const load = parseFloat(document.getElementById('pg-in-load').value);
            const dt = parseFloat(document.getElementById('pg-in-dt').value);
            const loops = parseFloat(document.getElementById('pg-in-loops').value);
            const avg = parseFloat(document.getElementById('pg-in-avg').value);
            const pipe = parseInt(document.getElementById('pg-in-pipe').value);

            let flow = (area * load) / (1163 * dt);
            let res = pipe === 17 ? 0.013 : pipe === 20 ? 0.010 : 0.015;
            let head = (avg * res * 1.35) + (loops <= 6 ? 0.4 : 0.8);

            document.getElementById('pg-slider-q').value = flow.toFixed(2);
            document.getElementById('pg-slider-h').value = head.toFixed(2);
            showCTA(); // Pokaż stopkę
            refresh(flow, head);
        });

        document.getElementById('pg-slider-q').addEventListener('input', e => {
            showCTA(); // Pokaż stopkę przy ruchu suwakiem
            refresh(parseFloat(e.target.value), masterH);
        });
        document.getElementById('pg-slider-h').addEventListener('input', e => {
            showCTA(); // Pokaż stopkę przy ruchu suwakiem
            refresh(masterQ, parseFloat(e.target.value));
        });
        
        refresh(1.4, 4.0);
    }

    function refresh(q, h) {
        masterQ = q; masterH = h;
        document.getElementById('pg-disp-q').innerText = q.toFixed(2);
        document.getElementById('pg-disp-h').innerText = h.toFixed(2);

        let p = "Poza zakresem";
        let color = "#fee2e2";
        let borderColor = "#dc2626";

        if (isPointBelowCurve(q, h, pumpCurves["25-40"])) {
            p = "25-40";
            color = "#f0fdf4";
            borderColor = "#2e7d32";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-60"])) {
            p = "25-60";
            color = "#f0fdf4";
            borderColor = "#2e7d32";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-80"])) {
            p = "25-80";
            color = "#f0fdf4";
            borderColor = "#2e7d32";
        }

        const recBox = document.getElementById('pg-rec-box');
        document.getElementById('pg-final-pump').innerText = p;
        recBox.style.backgroundColor = color;
        recBox.style.borderLeftColor = borderColor;

        if (masterChart) {
            masterChart.data.datasets[3].data = getInstallationData(q, h);
            masterChart.data.datasets[4].data = [{x: q, y: h}];
            masterChart.update('none');
        }
    }

    if (document.readyState === 'complete') startApp();
    else window.addEventListener('load', startApp);
})();
</script>



<h2 class="wp-block-heading">Nowoczesne pompy elektroniczne – oszczędność i komfort.</h2>



<p>Coraz częściej w instalacjach grzewczych montuje się&nbsp;<strong>pompy elektroniczne z silnikami EC</strong>&nbsp;(elektrycznie komutowanymi). W odróżnieniu od starych modeli stałoobrotowych, nowoczesne urządzenia potrafią płynnie regulować swoją prędkość w zależności od aktualnego zapotrzebowania na ciepło. Dzięki temu zużywają nawet do&nbsp;<strong>80% mniej energii elektrycznej</strong>&nbsp;niż ich przestarzałe odpowiedniki.</p>



<h3 class="wp-block-heading">Tryb stałej różnicy ciśnień (Δp-c)</h3>



<p>Dla ogrzewania podłogowego najkorzystniejszym trybem pracy jest&nbsp;<strong>stała różnica ciśnień (Δp-c)</strong>&nbsp;. W tym trybie pompa utrzymuje stałe ciśnienie niezależnie od tego, ile pętli jest aktualnie otwartych (np. gdy część zaworów termostatycznych się zamknie). Dzięki temu przepływ w otwartych obiegach pozostaje stabilny, a pompa nie marnuje energii na tłoczenie wody przy zamkniętych zaworach.</p>



<p>Większość nowoczesnych pomp elektronicznych oferuje także tryb&nbsp;<strong>proporcjonalnego ciśnienia (Δp-v)</strong>&nbsp;, który lepiej sprawdza się w instalacjach grzejnikowych. Wybierając pompę do podłogówki, zawsze ustawiamy Δp-c.</p>



<h2 class="wp-block-heading">Dlaczego projekt ogrzewania podłogowego jest niezbędny?</h2>



<p>Wielu inwestorów, chcąc zaoszczędzić, rezygnuje z <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" type="link" id="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">profesjonalnego projektu ogrzewania podłogowego</a> i opiera się na „zdrowym rozsądku” lub gotowych szablonach z internetu. To błąd, który może kosztować znacznie więcej niż oszczędność na projekcie. W kontekście doboru pompy obiegowej, projekt dostarcza kluczowych danych:</p>



<ul class="wp-block-list">
<li><strong>Dokładne zapotrzebowanie na ciepło</strong>&nbsp;dla każdego pomieszczenia, a nie tylko średnie dla całego domu.</li>



<li><strong>Długości i średnice poszczególnych pętli</strong>&nbsp;– to one determinują opory hydrauliczne.</li>



<li><strong>Wymagane przepływy dla każdej pętli</strong>&nbsp;– projektant wylicza je na podstawie mocy i Δt, co pozwala później wyregulować instalację za pomocą rotametrów.</li>



<li><strong>Straty ciśnienia na rozdzielaczach, zaworach i innych elementach</strong>&nbsp;– dzięki temu możemy precyzyjnie określić wymaganą wysokość podnoszenia.</li>
</ul>



<p>Mając projekt, nie musisz szacować danych – otrzymujesz gotowe wartości Q i H, które wystarczy porównać z charakterystykami pomp. Co więcej, projekt często zawiera już sugerowany typ pompy, co znacznie ułatwia zakup. Warto więc traktować dokumentację projektową jako podstawę doboru, a wszelkie kalkulatory internetowe jako narzędzie wspomagające, a nie zastępujące fachowe obliczenia.</p>



<h2 class="wp-block-heading">Praktyczne wskazówki przy doborze i montażu.</h2>



<p>Na koniec kilka praktycznych rad, które pomogą uniknąć typowych błędów:</p>



<ol start="1" class="wp-block-list">
<li><strong>Nie kupuj pompy „na wyrost”</strong>&nbsp;– przewymiarowane urządzenie będzie pracować zbyt głośno, szybciej się zużyje i pobierać będzie więcej prądu niż to konieczne.</li>



<li><strong>Zwróć uwagę na jakość wykonania</strong>&nbsp;– lepiej zainwestować w renomowaną markę niż w najtańszy produkt nieznanego pochodzenia.</li>



<li><strong>Montuj pompę na powrocie</strong>&nbsp;– niższa temperatura wody wydłuża żywotność łożysk i elektroniki.</li>



<li><strong>Zadbaj o łatwy dostęp</strong>&nbsp;– pompa prędzej czy później będzie wymagała konserwacji lub wymiany, więc nie chowaj jej w trudno dostępnym miejscu.</li>



<li><strong>Zainstaluj zawory odcinające</strong>&nbsp;– umożliwią one wymianę pompy bez spuszczania wody z całej instalacji.</li>



<li><strong>Po zamontowaniu wyważ instalację</strong>&nbsp;– za pomocą rotametrów na rozdzielaczu ustaw przepływy zgodnie z projektem. To gwarancja, że podłoga będzie grzała równomiernie.</li>
</ol>



<h2 class="wp-block-heading">FAQ – najczęściej zadawane pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1772704416786"><strong class="schema-faq-question"><strong>Jak działa kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Kalkulator wykorzystuje podstawowe dane instalacji, takie jak moc grzewcza, różnica temperatur zasilania i powrotu oraz długość pętli grzewczych. Na tej podstawie oblicza wymagany przepływ wody (Q) oraz orientacyjną wysokość podnoszenia pompy (H), co pozwala dobrać odpowiedni model pompy obiegowej.</p> </div> <div class="schema-faq-section" id="faq-question-1772704471278"><strong class="schema-faq-question"><strong>Jaką różnicę temperatur Δt przyjmuje się w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">W większości nowoczesnych instalacji przyjmuje się różnicę temperatur w zakresie <strong>5–8°C</strong>. Najczęściej stosowaną wartością jest <strong>Δt = 5°C</strong>, ponieważ zapewnia ona równomierną temperaturę podłogi i stabilną pracę instalacji.</p> </div> <div class="schema-faq-section" id="faq-question-1772704483210"><strong class="schema-faq-question"><strong>Czy można dobrać pompę obiegową bez projektu instalacji?</strong></strong> <p class="schema-faq-answer">Jest to możliwe w sposób orientacyjny, korzystając z kalkulatorów i uproszczonych wzorów. Jednak <strong>najdokładniejszy dobór pompy</strong> uzyskuje się na podstawie projektu ogrzewania podłogowego, który uwzględnia rzeczywiste długości pętli, przepływy i straty ciśnienia.</p> </div> <div class="schema-faq-section" id="faq-question-1772704498803"><strong class="schema-faq-question"><strong>Czy większa pompa obiegowa będzie lepszym wyborem?</strong></strong> <p class="schema-faq-answer">Nie. <strong>Przewymiarowana pompa</strong> może generować hałas, zwiększać zużycie energii elektrycznej oraz powodować niestabilną pracę instalacji. Najlepiej dobrać pompę tak, aby jej punkt pracy znajdował się w optymalnym zakresie charakterystyki.</p> </div> <div class="schema-faq-section" id="faq-question-1772704513730"><strong class="schema-faq-question"><strong>Jakie pompy najczęściej stosuje się w domach jednorodzinnych?</strong></strong> <p class="schema-faq-answer">W typowych instalacjach ogrzewania podłogowego najczęściej stosuje się pompy o parametrach <strong>25-40 lub 25-60</strong>. Wybór zależy od powierzchni ogrzewanej, długości pętli oraz oporów hydraulicznych instalacji.</p> </div> </div>



<h2 class="wp-block-heading">Podsumowanie.</h2>



<p>Dobór pompy obiegowej do ogrzewania podłogowego to proces, który wymaga analizy dwóch podstawowych parametrów: wymaganego przepływu (Q) i wysokości podnoszenia (H). Wykonując proste obliczenia lub korzystając z gotowych kalkulatorów internetowych, jesteś w stanie samodzielnie oszacować te wartości. Jednak dla osiągnięcia optymalnych efektów i uniknięcia kosztownych pomyłek, najlepiej oprzeć się na profesjonalnym projekcie instalacji. Nowoczesne pompy elektroniczne z trybem Δp-c zapewniają cichą i energooszczędną pracę, a prawidłowo dobrane i wyregulowane gwarantują komfort cieplny na długie lata. Jeśli masz wątpliwości, zawsze warto skonsultować się z instalatorem lub projektantem – to inwestycja, która zwróci się w postaci niższych rachunków i bezawaryjnej pracy systemu grzewczego.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
