<?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>Archiwa instalacje grzewcze - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/tag/instalacje-grzewcze/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/tag/instalacje-grzewcze/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sun, 05 Jul 2026 10:17:16 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.1</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa instalacje grzewcze - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/tag/instalacje-grzewcze/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>
		
		<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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">Nic bardziej mylnego.</p>



<h3 class="wp-block-heading">Dlaczego gęstszy rozstaw nie znaczy lepszy?</h3>



<p class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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">📦</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">🌡️</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">⚙️</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">🔥</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">⚡</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">📄</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">🛡️</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">🎯</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">🛒</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">⚡</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">🔥</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">⚙️</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">🌡️</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">🛠️</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>📉 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>💡 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: "✖";
    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>🏗️ 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">❌ 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">✅ 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">❌ 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">✅ 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">❌ 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">✅ 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">❌ 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">✅ 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">❌ 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">✅ 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;">🚩</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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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>
					
		
		
			</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>
		
		<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[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-panel: #1e293b;
    --rk-intro-brand: #2563eb;
    --rk-intro-brand-light: #eff6ff;
    --rk-intro-accent: #f97316;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-muted: #64748b;
    --rk-intro-success: #10b981;
}

.rk-intro-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.1);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
}

/* Sekcja Główna - Hook & Tytuł */
.rk-intro-header {
    padding: 50px 50px 40px 50px;
    background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-intro-brand);
}

.rk-intro-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-intro-dark);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 25px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.15);
}

.rk-intro-title {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    line-height: 1.25;
    margin: 0 0 25px 0;
}

.rk-intro-title span {
    color: var(--rk-intro-brand);
}

/* Hook Section */
.rk-intro-hook-box {
    background: #ffffff;
    border-left: 5px solid var(--rk-intro-accent);
    padding: 25px 30px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

.rk-intro-hook-box p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: var(--rk-intro-text);
    font-weight: 500;
}

.rk-intro-hook-box strong {
    color: var(--rk-intro-dark);
    font-weight: 800;
}

.rk-intro-description {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-intro-text);
    margin: 0;
}

/* Sekcja Czego się dowiesz (Kafelki) */
.rk-intro-learn-section {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-intro-learn-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-intro-card {
    background: var(--rk-intro-brand-light);
    border: 1px solid #bfdbfe;
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.rk-intro-card-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-intro-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffffff;
}

.rk-intro-card-content h4 {
    margin: 0 0 8px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-card-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-intro-text);
}

/* Author Tag */
.rk-intro-author {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-intro-border);
}

.rk-intro-author-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 2px solid var(--rk-intro-brand);
    object-fit: cover;
}

.rk-intro-author-info span {
    display: block;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-author-info small {
    font-size: 12px;
    color: var(--rk-intro-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 35px 25px; }
    .rk-intro-title { font-size: 26px; }
    .rk-intro-hook-box { padding: 20px; }
    .rk-intro-learn-section { padding: 35px 25px; }
    .rk-intro-grid { grid-template-columns: 1fr; }
    .rk-intro-card { padding: 20px; flex-direction: column; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Kalkulator strat ciepła budynku – jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie?",
    "description": "Zanim wydasz pieniądze na pompę ciepła, poznaj inżynierskie metody szacowania mocy. Kompletny przewodnik po obliczeniach OZC dla inwestorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-intro",
    "name": "Parametry wejściowe do obliczeń zapotrzebowania cieplnego budynku",
    "description": "Baza wiedzy definiująca podstawowe składowe analizy cieplnej budynków jednorodzinnych: izolacyjność, wentylację oraz założenia projektowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator strat ciepła",
      "obliczanie zapotrzebowania na ogrzewanie",
      "moc pompy ciepła",
      "projekt ogrzewania podłogowego",
      "obciążenie cieplne budynku"
    ],
    "measurementTechnique": "Przegląd inżynierski: Weryfikacja parametrów izolacyjnych, mostków termicznych oraz wentylacyjnych wpływających na dobór źródła ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metodyka określania mocy cieplnej bez ryzyka przewymiarowania instalacji.",
        "Analiza parametrów przegród (U) i ich wpływ na całkowite zapotrzebowanie.",
        "Zasady doboru rozstawu rur grzewczych na podstawie wyniku W/m2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-intro",
    "name": "Przewodnik: Kalkulator Strat Ciepła",
    "description": "Edukacyjny moduł wprowadzający inwestora do zagadnień fizyki budowli, stanowiący mapę drogową do samodzielnego szacowania obciążenia cieplnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-wrapper">
    
    <div class="rk-intro-header">
        <div class="rk-intro-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Kompendium Inwestora
        </div>
        
        <h2 class="rk-intro-title">Kalkulator strat ciepła budynku – <span>jak samodzielnie obliczyć zapotrzebowanie na ogrzewanie?</span></h2>
        
        <div class="rk-intro-hook-box">
            <p><strong>Zanim wydasz kilkadziesiąt tysięcy złotych</strong> na pompę ciepła lub instalację podłogówki, musisz znać jedną, absolutnie fundamentalną liczbę: rzeczywiste obciążenie cieplne Twojego domu. Dobór źródła ciepła „na oko” to najprostsza droga do drastycznego przewymiarowania systemu, ciągłych awarii sprężarki i gigantycznych rachunków za prąd.</p>
        </div>

        <p class="rk-intro-description">Planowanie ogrzewania podłogowego w nowym domu lub podczas modernizacji starej instalacji zawsze rozpoczyna się od kluczowego pytania: jak samodzielnie obliczyć straty ciepła budynku pod ogrzewanie podłogowe, 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. Narzędzie to, opierając się na uproszczonych algorytmach inżynierskich, pozwala inwestorowi na precyzyjne określenie mocy źródła ciepła.</p>
        
        <div class="rk-intro-author">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-intro-author-avatar" loading="lazy">
            <div class="rk-intro-author-info">
                <span>Jako wieloletni praktyk i twórca tego poratlu, w tym artykule przeprowadzę Cię przez cały proces matematyczny.</span>
                <small>Robert Kucharski, CEO projekt-ogrzewania.pl</small>
            </div>
        </div>
    </div>

    <div class="rk-intro-learn-section">
        <h3 class="rk-intro-learn-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-intro-accent)" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            Z tego poradnika dowiesz się:
        </h3>
        
        <div class="rk-intro-grid">
            
            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="2" width="16" height="20" rx="2" ry="2"></rect><line x1="8" y1="6" x2="16" y2="6"></line><line x1="16" y1="14" x2="16.01" y2="14"></line><line x1="12" y1="14" x2="12.01" y2="14"></line><line x1="8" y1="14" x2="8.01" y2="14"></line><line x1="16" y1="18" x2="16.01" y2="18"></line><line x1="12" y1="18" x2="12.01" y2="18"></line><line x1="8" y1="18" x2="8.01" y2="18"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Algorytmy i Narzędzia</h4>
                    <p>Jak w uproszczony sposób korzystać ze wzorów na przenikanie (U) oraz straty wentylacyjne, bez konieczności opłacania drogich audytów na wczesnym etapie inwestycji.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Diagnostyka Przegród</h4>
                    <p>Zrozumiesz, dlaczego gruby styropian to nie wszystko, jak obliczyć opór cieplny paneli podłogowych i jak strefa klimatyczna wpływa na bilans Twojego domu.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 22 20 2 20 12 2"></polygon><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Najdroższe Błędy Inwestorów</h4>
                    <p>Dowiesz się, jakich 6 najczęstszych pomyłek (np. zła kubatura, brak izolacji brzegowej) unikać podczas szacowania mocy, aby nie zawyżyć sztucznie kosztów instalacji.</p>
                </div>
            </div>

            <div class="rk-intro-card">
                <div class="rk-intro-card-icon">
                    <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6h16M4 12h16M4 18h16"></path><path d="M12 2v20"></path></svg>
                </div>
                <div class="rk-intro-card-content">
                    <h4>Przełożenie na Projekt</h4>
                    <p>Zobaczysz, jak uzyskane Waty na metr kwadratowy (W/m²) bezpośrednio decydują o zagęszczeniu rur (co 10 czy 15 cm), długości pętli i ustawieniach rotametrów.</p>
                </div>
            </div>

        </div>
    </div>

</div>



<style>
:root {
    --rk-wt-dark: #0f172a;
    --rk-wt-panel: #1e293b;
    --rk-wt-brand: #0ea5e9; /* Główny niebieski */
    --rk-wt-brand-light: #f0f9ff;
    --rk-wt-accent: #f97316; /* Pomarańczowy dla ciepła */
    --rk-wt-success: #10b981;
    --rk-wt-warn: #f59e0b;
    --rk-wt-danger: #ef4444;
    --rk-wt-bg: #ffffff;
    --rk-wt-border: #e2e8f0;
    --rk-wt-text: #334155;
    --rk-wt-muted: #64748b;
}

.rk-wt-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-wt-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(14, 165, 233, 0.15);
    border: 1px solid rgba(14, 165, 233, 0.3);
    overflow: hidden;
    color: var(--rk-wt-dark);
}

/* Nagłówek Sekcji */
.rk-wt-header {
    background: linear-gradient(135deg, var(--rk-wt-dark) 0%, #082f49 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-wt-brand);
}

.rk-wt-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #38bdf8;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.rk-wt-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 20px 0;
}

.rk-wt-title span { color: #38bdf8; }

.rk-wt-direct-box {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid var(--rk-wt-accent);
    padding: 20px 25px;
    border-radius: 0 12px 12px 0;
}

.rk-wt-direct-box p {
    margin: 0 0 10px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #e0f2fe;
}

.rk-wt-direct-box p:last-child { margin: 0; }
.rk-wt-direct-box strong { color: #ffffff; }

/* Sekcja Interaktywna */
.rk-wt-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-wt-interactive h3 {
    text-align: center;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-wt-dark);
    margin: 0 0 10px 0;
}

.rk-wt-subtitle {
    text-align: center;
    font-size: 15px;
    color: var(--rk-wt-muted);
    margin: 0 0 35px 0;
}

/* Przełącznik Budynków */
.rk-wt-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

.rk-wt-tab-btn {
    background: #ffffff;
    border: 2px solid var(--rk-wt-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-wt-tab-btn:hover {
    border-color: var(--rk-wt-brand);
    transform: translateY(-3px);
}

.rk-wt-tab-btn.active {
    border-color: var(--rk-wt-brand);
    background: var(--rk-wt-brand-light);
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.2);
}

.rk-wt-tab-icon {
    width: 40px;
    height: 40px;
    background: #f1f5f9;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-wt-muted);
    transition: 0.3s;
}

.rk-wt-tab-btn.active .rk-wt-tab-icon {
    background: var(--rk-wt-brand);
    color: #ffffff;
}

.rk-wt-tab-text {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-wt-dark);
}

/* Grid Wyników i Animacji */
.rk-wt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Kafelki z danymi (Zastępują Tabelę) */
.rk-wt-data-wrapper {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-wt-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-wt-border);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-wt-data-card.highlight {
    background: var(--rk-wt-dark);
    border-color: var(--rk-wt-dark);
}

.rk-wt-data-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-wt-muted);
}

.rk-wt-data-card.highlight .rk-wt-data-label {
    color: #94a3b8;
}

.rk-wt-data-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-wt-dark);
    text-align: right;
}

.rk-wt-data-card.highlight .rk-wt-data-val {
    color: #ffffff;
    font-size: 20px;
}

/* SVG Symulator */
.rk-wt-visual {
    background: var(--rk-wt-dark);
    border-radius: 16px;
    border: 3px solid #334155;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
}

.rk-wt-svg { width: 100%; height: 100%; }

/* Animacje i stany SVG */
.anim-heat-floor { transition: fill 0.5s ease; }
.anim-heat-escape { transition: opacity 0.5s ease; stroke-dasharray: 6 6; }
.anim-warning-sign { opacity: 0; transition: opacity 0.3s; transform-origin: center; }

/* Stan: Nowy Dom */
.state-new .anim-heat-floor { fill: #f59e0b; }
.state-new .anim-heat-escape { opacity: 0.2; stroke: #f59e0b; animation: floatHeat 3s linear infinite; }

/* Stan: Modernizacja */
.state-mod .anim-heat-floor { fill: #ea580c; }
.state-mod .anim-heat-escape { opacity: 0.6; stroke: #ea580c; animation: floatHeat 2s linear infinite; stroke-width: 4; }

/* Stan: Stary Dom */
.state-old .anim-heat-floor { fill: #ef4444; }
.state-old .anim-heat-escape { opacity: 1; stroke: #ef4444; animation: floatHeat 1s linear infinite; stroke-width: 6; }
.state-old .anim-warning-sign { opacity: 1; animation: pulseWarn 1s infinite alternate; }

@keyframes floatHeat { to { stroke-dashoffset: -20; } }
@keyframes pulseWarn { from { transform: scale(0.9); } to { transform: scale(1.1); } }

/* Podsumowanie tekstowe */
.rk-wt-summary {
    padding: 0 50px 40px 50px;
    background: #f8fafc;
}

.rk-wt-summary-box {
    background: #ffffff;
    border: 1px solid var(--rk-wt-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-wt-summary-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-wt-brand-light);
    color: var(--rk-wt-brand);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-wt-summary-text p {
    margin: 0 0 10px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-wt-text);
}

.rk-wt-link {
    color: var(--rk-wt-brand);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px dashed rgba(14, 165, 233, 0.4);
    transition: 0.3s;
    font-size: 14px;
}

.rk-wt-link:hover {
    color: #0284c7;
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .rk-wt-header { padding: 35px 20px; }
    .rk-wt-title { font-size: 24px; }
    .rk-wt-direct-box { padding: 15px; }
    .rk-wt-interactive { padding: 30px 20px; }
    .rk-wt-tabs { grid-template-columns: 1fr; gap: 10px; }
    .rk-wt-tab-btn { flex-direction: row; padding: 12px 20px; }
    .rk-wt-grid { grid-template-columns: 1fr; }
    .rk-wt-data-card { flex-direction: column; align-items: flex-start; gap: 5px; }
    .rk-wt-data-val { text-align: left; }
    .rk-wt-visual { min-height: 220px; }
    .rk-wt-summary { padding: 0 20px 30px 20px; }
    .rk-wt-summary-box { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-w-m2",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Ile watów ogrzewania podłogowego na metr kwadratowy (W/m²) potrzebuje nowoczesny dom?",
    "description": "Analiza wskaźników zapotrzebowania cieplnego budynku W/m2 według standardów WT 2021 oraz normy PN-EN 1264. Sprawdź limity mocy dla ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-w-m2",
    "name": "Wskaźniki zapotrzebowania na ciepło W/m2 (Tabela techniczna)",
    "description": "Zestawienie współczynników przenikania ciepła przegród oraz jednostkowego zapotrzebowania na moc grzewczą w zależności od standardu budynku (Nowy, Po termomodernizacji, Stary).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie na ciepło W/m2",
      "moc ogrzewania podłogowego z m2",
      "maksymalna temperatura podłogówki",
      "norma PN-EN 1264",
      "współczynnik przenikania U ściany"
    ],
    "measurementTechnique": "Dane tabelaryczne określające relację między izolacyjnością budynku a wymaganą gęstością i temperaturą zasilania układu płaszczyznowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Nowy dom WT 2021: 45 W/m2, U ściany 0.15-0.18, zasilanie 30-35°C (Idealne)",
        "Dom z lat 90 po ociepleniu: 75 W/m2, U ściany 0.25-0.30 (Warunkowe, gęsty rozstaw)",
        "Stary dom: 160 W/m2, U ściany 1.20-1.50 (Brak możliwości samej podłogówki)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-w-m2",
    "name": "Symulator Standardu Energetycznego W/m2",
    "description": "Interaktywny panel prezentujący limity mocy grzewczej i ryzyko przegrzania posadzki w zależności od izolacji termicznej budynku.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wt-container" id="rk-wt-app">
    
    <div class="rk-wt-header">
        <div class="rk-wt-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Bilans Mocy W/m²
        </div>
        <h2 class="rk-wt-title">Ile watów ogrzewania podłogowego na metr kwadratowy (W/m²) <span>potrzebuje nowoczesny dom?</span></h2>
        
        <div class="rk-wt-direct-box">
            <p><strong>Bezpośrednia odpowiedź:</strong> Nowoczesny dom jednorodzinny spełniający standardy WT 2021 wykazuje jednostkowe zapotrzebowanie na ciepło na poziomie od <strong>40 W/m² do 50 W/m²</strong> w najzimniejszy dzień roku. Maksymalna dopuszczalna norma emisji ciepła przez podłogę w strefie stałego przebywania ludzi wynosi <strong>80 W/m²</strong> (reguluje to międzynarodowa norma <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" style="color:#7dd3fc;">PN-EN 1264</a>).</p>
            <p>Gdy zapotrzebowanie przekracza bezpieczną granicę (np. w starych domach), posadzka staje się zbyt gorąca. Wymuszanie mocy powyżej 100 W/m² z samej podłogówki prowadzi do temperatur rzędu 32-35°C, co wywołuje syndrom „ciężkich nóg” i pękanie okładzin.</p>
        </div>
    </div>

    

    <div class="rk-wt-interactive">
        <h3>Wskaźniki zapotrzebowania na ciepło</h3>
        <p class="rk-wt-subtitle">Wybierz standard izolacji swojego budynku, aby sprawdzić parametry dla przykładowego domu 150 m².</p>
        
        <div class="rk-wt-tabs">
            <div class="rk-wt-tab-btn active" onclick="rkUpdateWT('new')">
                <div class="rk-wt-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg></div>
                <div class="rk-wt-tab-text">Nowy Dom<br><span style="font-size:11px; font-weight:normal; color:var(--rk-wt-muted)">WT 2021 / 2026</span></div>
            </div>
            <div class="rk-wt-tab-btn" onclick="rkUpdateWT('mod')">
                <div class="rk-wt-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg></div>
                <div class="rk-wt-tab-text">Po modernizacji<br><span style="font-size:11px; font-weight:normal; color:var(--rk-wt-muted)">Docieplony (Lata 90.)</span></div>
            </div>
            <div class="rk-wt-tab-btn" onclick="rkUpdateWT('old')">
                <div class="rk-wt-tab-icon"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg></div>
                <div class="rk-wt-tab-text">Stary Dom<br><span style="font-size:11px; font-weight:normal; color:var(--rk-wt-muted)">Brak izolacji</span></div>
            </div>
        </div>

        <div class="rk-wt-grid">
            
            <div class="rk-wt-data-wrapper">
                <div class="rk-wt-data-card">
                    <span class="rk-wt-data-label">Współczynnik U ściany</span>
                    <span class="rk-wt-data-val"><span id="rk-wt-uwall">0,15 – 0,18</span> <span style="font-size:12px; color:var(--rk-wt-muted)">W/(m²·K)</span></span>
                </div>
                <div class="rk-wt-data-card">
                    <span class="rk-wt-data-label">Współczynnik U okien</span>
                    <span class="rk-wt-data-val"><span id="rk-wt-uwin">0,80 – 0,90</span> <span style="font-size:12px; color:var(--rk-wt-muted)">W/(m²·K)</span></span>
                </div>
                <div class="rk-wt-data-card highlight" id="card-req">
                    <span class="rk-wt-data-label">Średnie zapotrzebowanie</span>
                    <span class="rk-wt-data-val"><span id="rk-wt-req">45</span> <span style="font-size:14px;">W/m²</span></span>
                </div>
                <div class="rk-wt-data-card">
                    <span class="rk-wt-data-label">Całkowita moc dla 150 m²</span>
                    <span class="rk-wt-data-val"><span id="rk-wt-tot">6,75</span> <span style="font-size:12px; color:var(--rk-wt-muted)">kW</span></span>
                </div>
                <div class="rk-wt-data-card">
                    <span class="rk-wt-data-label">Zdatność do podłogówki</span>
                    <span class="rk-wt-data-val" id="rk-wt-stat" style="font-size:14px;">Idealna (zasilanie 30-35°C)</span>
                </div>
            </div>

            <div class="rk-wt-visual state-new" id="rk-wt-svg-box">
                <svg class="rk-wt-svg" viewBox="0 0 200 150">
                    <rect x="20" y="40" width="160" height="90" fill="none" stroke="#64748b" stroke-width="4" />
                    <rect x="140" y="50" width="40" height="50" fill="rgba(56, 189, 248, 0.1)" stroke="#38bdf8" stroke-width="2" />
                    
                    <rect class="anim-heat-floor" x="20" y="120" width="160" height="10" />
                    <circle cx="40" cy="125" r="3" fill="#ffffff" />
                    <circle cx="70" cy="125" r="3" fill="#ffffff" />
                    <circle cx="100" cy="125" r="3" fill="#ffffff" />
                    <circle cx="130" cy="125" r="3" fill="#ffffff" />
                    <circle cx="160" cy="125" r="3" fill="#ffffff" />

                    <path class="anim-heat-escape" d="M 60 40 L 60 10" fill="none" stroke-width="2" />
                    <path class="anim-heat-escape" d="M 100 40 L 100 10" fill="none" stroke-width="2" />
                    
                    <path class="anim-heat-escape" d="M 180 60 L 220 60" fill="none" stroke-width="2" />
                    <path class="anim-heat-escape" d="M 180 80 L 220 80" fill="none" stroke-width="2" />

                    <g class="anim-warning-sign" transform="translate(100, 80)">
                        <polygon points="0,-20 -20,15 20,15" fill="#ef4444" stroke="#ffffff" stroke-width="2"/>
                        <text x="0" y="10" fill="#ffffff" font-size="20" font-weight="bold" text-anchor="middle">!</text>
                    </g>
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-wt-summary">
        <div class="rk-wt-summary-box">
            <div class="rk-wt-summary-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v4l3 3"></path></svg>
            </div>
            <div class="rk-wt-summary-text">
                <p>Jeśli z obliczeń w Twoim arkuszu lub audycie wynika wskaźnik na poziomie <strong>40-50 W/m²</strong>, system płaszczyznowy będzie pracował w trybie niskotemperaturowym. Oznacza to zużywanie absolutnie minimalnej ilości energii elektrycznej przez pompę ciepła lub gazu w kotle kondensacyjnym.</p>
                <p>Przy wysokich stratach (np. 160 W/m²), sama podłogówka nie wystarczy. Pamiętaj, by nie przegrzewać posadzki i zadbać o izolację. Przeczytaj również, <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-moze-byc-jedynym-zrodlem-ciepla-w-domu-analiza-dla-polskich-warunkow/" class="rk-wt-link">czy podłogówka może być jedynym źródłem ciepła w domu</a> oraz dowiedz się, <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-wt-link">jaka jest optymalna temperatura posadzki</a> dla zdrowia mieszkańców.</p>
            </div>
        </div>
    </div>

</div>

<script>
const houseData = {
    new: {
        wU: '0,15 – 0,18', winU: '0,80 – 0,90', req: '45', tot: '6,75', stat: 'Idealna (zasilanie 30-35°C)',
        color: '#10b981', stateClass: 'state-new'
    },
    mod: {
        wU: '0,25 – 0,30', winU: '1,30 – 1,60', req: '75', tot: '11,25', stat: 'Warunkowa (gęsty rozstaw)',
        color: '#f59e0b', stateClass: 'state-mod'
    },
    old: {
        wU: '1,20 – 1,50', winU: '2,50 – 3,00', req: '160', tot: '24,00', stat: 'Brak (wymagane grzejniki)',
        color: '#ef4444', stateClass: 'state-old'
    }
};

function rkUpdateWT(type) {
    const btns = document.querySelectorAll('.rk-wt-tab-btn');
    btns.forEach(b => b.classList.remove('active'));
    event.currentTarget.classList.add('active');

    const data = houseData[type];
    
    document.getElementById('rk-wt-uwall').innerText = data.wU;
    document.getElementById('rk-wt-uwin').innerText = data.winU;
    document.getElementById('rk-wt-req').innerText = data.req;
    document.getElementById('rk-wt-tot').innerText = data.tot;
    
    const statEl = document.getElementById('rk-wt-stat');
    statEl.innerText = data.stat;
    statEl.style.color = data.color;

    const reqCard = document.getElementById('card-req');
    reqCard.style.backgroundColor = data.color;
    reqCard.style.borderColor = data.color;

    const svgBox = document.getElementById('rk-wt-svg-box');
    svgBox.className = 'rk-wt-visual ' + data.stateClass;
}
</script>



<style>
:root {
    --rk-zone-dark: #0f172a;
    --rk-zone-panel: #1e293b;
    --rk-zone-brand: #0284c7; 
    --rk-zone-brand-light: #e0f2fe;
    --rk-zone-accent: #f59e0b; /* Pomarańcz - Ciepło wewnątrz */
    --rk-zone-freeze: #3b82f6; /* Błękit - Zimno na zewnątrz */
    --rk-zone-bg: #ffffff;
    --rk-zone-border: #e2e8f0;
    --rk-zone-text: #334155;
    --rk-zone-muted: #64748b;
}

.rk-zone-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-zone-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid rgba(2, 132, 199, 0.3);
    overflow: hidden;
    color: var(--rk-zone-dark);
}

/* Nagłówek Sekcji */
.rk-zone-header {
    background: linear-gradient(135deg, var(--rk-zone-dark) 0%, #082f49 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-zone-brand);
}

.rk-zone-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #7dd3fc;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-zone-header h2 {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-zone-header h2 span { color: #38bdf8; }

.rk-zone-direct {
    font-size: 15px;
    line-height: 1.7;
    color: #e0f2fe;
    margin: 0;
    padding-left: 20px;
    border-left: 3px solid var(--rk-zone-accent);
}

.rk-zone-direct strong {
    color: #ffffff;
}

/* Moduł Interaktywny */
.rk-zone-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-zone-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
    align-items: center;
}

/* Kontrolki - Suwak Stref */
.rk-zone-controls {
    background: #ffffff;
    border: 1px solid var(--rk-zone-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-zone-ctrl-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
}

.rk-zone-ctrl-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-zone-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0;
}

.rk-zone-val-display {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-zone-brand);
    line-height: 1;
}

.rk-zone-slider-wrap {
    position: relative;
    padding: 20px 0;
}

.rk-zone-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: linear-gradient(to right, #7dd3fc, #1e3a8a);
    border-radius: 4px;
    outline: none;
}

.rk-zone-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-zone-brand);
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    transition: transform 0.1s;
}

.rk-zone-range::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

.rk-zone-markers {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-zone-muted);
}

/* Wyniki (Kafelki) */
.rk-zone-data-box {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 25px;
}

.rk-zone-card {
    background: #f1f5f9;
    padding: 15px 20px;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-left: 4px solid var(--rk-zone-brand);
}

.rk-zone-card-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-zone-text);
}

.rk-zone-card-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-zone-dark);
}

.rk-zone-card-val span {
    font-size: 12px;
    color: var(--rk-zone-muted);
}

/* Prawa Kolumna - SVG Wizualizacja */
.rk-zone-visual {
    background: var(--rk-zone-dark);
    border-radius: 20px;
    height: 100%;
    min-height: 320px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #334155;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}

.rk-zone-svg {
    width: 100%;
    height: 100%;
}

/* Bloki Tekstowe z Obliczeniami */
.rk-zone-content {
    padding: 0 50px 40px 50px;
    background: #f8fafc;
}

.rk-zone-content h3 {
    margin: 0 0 20px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-zone-dark);
}

.rk-zone-formula-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-zone-formula-box {
    background: #ffffff;
    border: 1px solid var(--rk-zone-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-zone-formula-box h4 {
    margin: 0 0 10px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-zone-brand);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-zone-formula-box p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-zone-text);
}

.rk-math-block {
    background: #f1f5f9;
    padding: 12px 15px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 13px;
    color: var(--rk-zone-dark);
    border-left: 3px solid var(--rk-zone-accent);
}

.rk-math-block b {
    color: #ef4444;
}

.rk-zone-alert {
    margin-top: 25px;
    padding: 20px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    color: #92400e;
    font-size: 14px;
    line-height: 1.6;
    display: flex;
    gap: 15px;
}

.rk-zone-link {
    color: var(--rk-zone-brand);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px dashed rgba(2, 132, 199, 0.4);
    transition: 0.3s;
}

.rk-zone-link:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Animacje SVG */
.anim-thermo-fluid { transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), fill 0.5s; transform-origin: bottom; }
.anim-frost { transition: opacity 0.5s; }
.anim-heat-wave { stroke-dasharray: 6 6; animation: flowHeat 1.5s linear infinite; }
@keyframes flowHeat { to { stroke-dashoffset: -12; } }

@media (max-width: 768px) {
    .rk-zone-header { padding: 35px 25px; }
    .rk-zone-interactive { padding: 30px 25px; }
    .rk-zone-grid { grid-template-columns: 1fr; }
    .rk-zone-content { padding: 0 25px 30px 25px; }
    .rk-zone-formula-grid { grid-template-columns: 1fr; }
    .rk-zone-visual { min-height: 250px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-strefy-klimatyczne",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Jak strefa klimatyczna w Polsce wpływa na wynik kalkulatora strat ciepła?",
    "description": "Zobacz, jak błędne przyjęcie projektowej temperatury zewnętrznej według normy PN-EN 12831 powoduje niedoszacowanie instalacji nawet o 22%.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-strefy",
    "name": "Wpływ Stref Klimatycznych na Projektowe Obciążenie Cieplne",
    "description": "Dane z normy PN-EN 12831 obrazujące wahania zapotrzebowania cieplnego w zależności od przypisanej strefy klimatycznej w Polsce (od I do V).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "strefy klimatyczne w Polsce",
      "norma PN-EN 12831",
      "projektowa temperatura zewnętrzna",
      "dobór mocy pompy ciepła",
      "kalkulator strat ciepła strefy"
    ],
    "measurementTechnique": "Analiza różnic w obciążeniu cieplnym ściany o stałym współczynniku przenikania (U=0,20) w funkcji strefy klimatycznej (ΔT od 36 K do 44 K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Strefa I (Świnoujście): -16°C. Różnica temperatur (ΔT) wynosi 36 K.",
        "Strefa III (Polska Centralna): -20°C. Różnica temperatur (ΔT) wynosi 40 K.",
        "Strefa V (Suwałki, Zakopane): -24°C. Różnica temperatur (ΔT) wynosi 44 K.",
        "Błąd między Strefą I a V skutkuje odchyleniem wyniku aż o 22% dla pojedynczej przegrody."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-strefy",
    "name": "Symulator Stref Klimatycznych OZC",
    "description": "Interaktywne narzędzie wizualizujące różnice w stratach ciepła, przyroście różnicy temperatur (ΔT) i doborze źródła energii w zależności od strefy w Polsce.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-zone-container" id="rk-zone-app">
    
    <div class="rk-zone-header">
        <div class="rk-zone-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M2 12h20"></path><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path></svg>
            Geografia Ogrzewania
        </div>
        <h2>Jak strefa klimatyczna w Polsce wpływa na wynik <span>kalkulatora strat ciepła?</span></h2>
        <div class="rk-zone-direct">
            <strong>Bezpośrednia odpowiedź:</strong> Polska podzielona jest na 5 stref klimatycznych według normy <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color:#7dd3fc; font-weight:700;">PN-EN 12831</a>, dla których projektowa temperatura zewnętrzna wynosi od <strong>-16°C</strong> (Strefa I &#8211; Świnoujście) do <strong>-24°C</strong> (Strefa V &#8211; Suwałki, Zakopane). Wybór błędnej strefy w kalkulatorze powoduje błąd obliczeniowy mocy źródła ciepła sięgający nawet 22%.
        </div>
    </div>

    <div class="rk-zone-interactive">
        <div class="rk-zone-grid">
            
            <div class="rk-zone-controls">
                <div class="rk-zone-ctrl-header">
                    <div>
                        <p class="rk-zone-ctrl-title">Wybierz Strefę</p>
                        <p style="margin:5px 0 0 0; font-size:12px; color:var(--rk-zone-muted);">Pokój 20 m², U=0.20, Wewnątrz: +20°C</p>
                    </div>
                    <div class="rk-zone-val-display" id="rk-z-display">I</div>
                </div>

                <div class="rk-zone-slider-wrap">
                    <input type="range" class="rk-zone-range" id="rk-zone-slider" min="1" max="5" step="1" value="1" oninput="rkUpdateZone()">
                    <div class="rk-zone-markers">
                        <span>I (Zima łagodna)</span>
                        <span>III (Standard)</span>
                        <span>V (Biegun zimna)</span>
                    </div>
                </div>

                <div class="rk-zone-data-box">
                    <div class="rk-zone-card">
                        <span class="rk-zone-card-label">Projektowa Temp. Zewnętrzna</span>
                        <span class="rk-zone-card-val" id="rk-z-temp">-16 °C</span>
                    </div>
                    <div class="rk-zone-card">
                        <span class="rk-zone-card-label">Różnica Temperatur (ΔT)</span>
                        <span class="rk-zone-card-val" id="rk-z-delta">36 K</span>
                    </div>
                    <div class="rk-zone-card" style="border-left-color: var(--rk-zone-accent); background: #fffbeb;">
                        <span class="rk-zone-card-label" style="color: #92400e;">Zapotrzebowanie Pokoju (Q)</span>
                        <span class="rk-zone-card-val" style="color: #ea580c;" id="rk-z-power">144 <span>W</span></span>
                    </div>
                </div>
            </div>

            <div class="rk-zone-visual">
                <svg class="rk-zone-svg" viewBox="0 0 200 100">
                    <path d="M 20 80 L 20 40 L 50 20 L 80 40 L 80 80 Z" fill="#1e293b" stroke="#cbd5e1" stroke-width="2" stroke-linejoin="round"/>
                    <rect x="40" y="50" width="20" height="15" fill="#f59e0b" opacity="0.8"/>
                    
                    <path class="anim-heat-wave" d="M 85 50 L 115 50" fill="none" stroke="#f59e0b" stroke-width="3" stroke-linecap="round"/>
                    
                    <path id="svg-frost" class="anim-frost" d="M 20 40 L 50 20 L 80 40 L 80 45 L 50 25 L 20 45 Z" fill="#38bdf8" opacity="0"/>

                    <rect x="130" y="20" width="16" height="50" rx="8" fill="rgba(255,255,255,0.1)" stroke="#cbd5e1" stroke-width="2"/>
                    <circle cx="138" cy="70" r="12" fill="rgba(255,255,255,0.1)" stroke="#cbd5e1" stroke-width="2"/>
                    
                    <rect id="svg-thermo-bar" class="anim-thermo-fluid" x="134" y="30" width="8" height="40" rx="4" fill="#38bdf8"/>
                    <circle id="svg-thermo-bulb" class="anim-thermo-fluid" cx="138" cy="70" r="8" fill="#38bdf8"/>
                    
                    <line x1="155" y1="25" x2="160" y2="25" stroke="#cbd5e1" stroke-width="2"/>
                    <text x="165" y="28" fill="#cbd5e1" font-size="10" font-weight="bold">-16</text>
                    <line x1="155" y1="45" x2="160" y2="45" stroke="#cbd5e1" stroke-width="2"/>
                    <text x="165" y="48" fill="#cbd5e1" font-size="10" font-weight="bold">-20</text>
                    <line x1="155" y1="65" x2="160" y2="65" stroke="#cbd5e1" stroke-width="2"/>
                    <text x="165" y="68" fill="#cbd5e1" font-size="10" font-weight="bold">-24</text>
                </svg>
            </div>

        </div>
    </div>

    <div class="rk-zone-content">
        <h3>Przykład obliczeniowy wpływu strefy klimatycznej</h3>
        <p>Przeanalizujmy identyczny pokój o powierzchni <b>A = 20 m²</b>, który posiada ścianę zewnętrzną o współczynniku przenikania ciepła <b>U = 0,20 W/(m²·K)</b>. Zakładana temperatura wewnętrzna (komfortowa) to <b>T_wewn = +20°C</b>.</p>

        <div class="rk-zone-formula-grid">
            <div class="rk-zone-formula-box">
                <h4>
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Scenariusz A (Strefa I &#8211; Łagodna)
                </h4>
                <p>Budynek zlokalizowany np. w Szczecinie. Projektowa temperatura zewnętrzna wynosi T_zewn = -16°C. Różnica temperatur (ΔT) to 36 K.</p>
                <div class="rk-math-block">
                    Q = A × U × ΔT<br>
                    Q = 20 × 0,20 × 36 = <b>144 W</b>
                </div>
            </div>

            <div class="rk-zone-formula-box">
                <h4>
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    Scenariusz B (Strefa V &#8211; Zimna)
                </h4>
                <p>Ten sam budynek zlokalizowany w Zakopanem lub Suwałkach. Temperatura spada do T_zewn = -24°C. Różnica temperatur (ΔT) rośnie do 44 K.</p>
                <div class="rk-math-block">
                    Q = A × U × ΔT<br>
                    Q = 20 × 0,20 × 44 = <b>176 W</b>
                </div>
            </div>
        </div>

        <div class="rk-zone-alert">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" style="flex-shrink:0"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            <div>
                <strong>Konsekwencje dla inwestora:</strong> Różnica czysto fizyczna w obciążeniu dla zaledwie jednej ściany wynosi 22% (176 W vs 144 W). Przemnożenie tego błędu przez gabaryty całego budynku decyduje o wyborze klasy mocowej <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-zone-link">pompy ciepła</a>. Jeśli zainstalujesz 6 kW zamiast wymaganych 8 kW, instalacja po prostu nie dogrzeje domu. Z kolei przewymiarowanie zniszczy sprężarkę przez taktowanie.
            </div>
        </div>
    </div>

</div>

<script>
const zData = [
    { zone: "I", temp: -16, delta: 36, power: 144, color: "#38bdf8", yH: 1, frost: 0 },
    { zone: "II", temp: -18, delta: 38, power: 152, color: "#0284c7", yH: 0.75, frost: 0.2 },
    { zone: "III", temp: -20, delta: 40, power: 160, color: "#2563eb", yH: 0.5, frost: 0.5 },
    { zone: "IV", temp: -22, delta: 42, power: 168, color: "#4f46e5", yH: 0.25, frost: 0.8 },
    { zone: "V", temp: -24, delta: 44, power: 176, color: "#312e81", yH: 0, frost: 1 }
];

function rkUpdateZone() {
    const val = parseInt(document.getElementById('rk-zone-slider').value) - 1;
    const data = zData[val];

    // Teksty
    document.getElementById('rk-z-display').innerText = data.zone;
    document.getElementById('rk-z-temp').innerText = data.temp + " °C";
    document.getElementById('rk-z-delta').innerText = data.delta + " K";
    document.getElementById('rk-z-power').innerHTML = data.power + " <span>W</span>";

    // SVG Termometr
    const tBar = document.getElementById('svg-thermo-bar');
    const tBulb = document.getElementById('svg-thermo-bulb');
    const frost = document.getElementById('svg-frost');

    // Skala SVG od 25 (-16) do 65 (-24). 
    // Wysokość słupka (maks = 40, min = 0).
    const scaleY = data.yH; 
    
    tBar.style.transform = `scaleY(${scaleY})`;
    tBar.style.fill = data.color;
    tBulb.style.fill = data.color;
    frost.style.opacity = data.frost;
}

// Init
document.addEventListener('DOMContentLoaded', rkUpdateZone);
</script>



<style>
:root {
    --rk-iso-dark: #0f172a;
    --rk-iso-panel: #1e293b;
    --rk-iso-brand: #8b5cf6; /* Indigo - nauka, inżynieria */
    --rk-iso-brand-light: #e0e7ff;
    --rk-iso-accent: #f97316; /* Pomarańcz - ciepło */
    --rk-iso-success: #10b981;
    --rk-iso-danger: #ef4444;
    --rk-iso-bg: #ffffff;
    --rk-iso-border: #e2e8f0;
    --rk-iso-text: #334155;
    --rk-iso-muted: #64748b;
}

.rk-iso-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-iso-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(139, 92, 246, 0.15);
    border: 1px solid rgba(139, 92, 246, 0.3);
    overflow: hidden;
    color: var(--rk-iso-dark);
}

/* Nagłówek */
.rk-iso-header {
    background: linear-gradient(135deg, var(--rk-iso-dark) 0%, #312e81 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-iso-brand);
}

.rk-iso-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(139, 92, 246, 0.2);
    color: #a5b4fc;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(165, 180, 252, 0.2);
}

.rk-iso-header h2 {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-iso-header h2 span { color: #a5b4fc; }

.rk-iso-header p {
    font-size: 16px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.6;
    max-width: 800px;
}

/* Sekcja Główna */
.rk-iso-body {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Kalkulator Interaktywny */
.rk-iso-calculator {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-iso-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    margin-bottom: 30px;
}

/* Kontrolki (Lewa) */
.rk-iso-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-iso-ctrl-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0;
    color: var(--rk-iso-dark);
}

.rk-iso-presets {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rk-iso-preset-btn {
    background: #f1f5f9;
    border: 2px solid var(--rk-iso-border);
    border-radius: 12px;
    padding: 12px;
    text-align: center;
    cursor: pointer;
    font-weight: 800;
    font-size: 13px;
    color: var(--rk-iso-muted);
    transition: all 0.3s;
}

.rk-iso-preset-btn:hover {
    border-color: var(--rk-iso-brand);
    color: var(--rk-iso-brand);
}

.rk-iso-preset-btn.active {
    background: var(--rk-iso-brand-light);
    border-color: var(--rk-iso-brand);
    color: var(--rk-iso-brand);
}

.rk-iso-slider-wrap {
    background: #f8fafc;
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
}

.rk-iso-slider-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.rk-iso-slider-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-iso-dark);
}

.rk-iso-slider-val {
    background: var(--rk-iso-brand);
    color: #ffffff;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 800;
}

.rk-iso-range {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #cbd5e1;
    border-radius: 3px;
    outline: none;
}

.rk-iso-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-iso-brand);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

/* Wyniki (Prawa) */
.rk-iso-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-iso-visual {
    background: var(--rk-iso-dark);
    border-radius: 16px;
    height: 180px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid #334155;
    box-shadow: inset 0 0 20px rgba(0,0,0,0.5);
}

.rk-iso-svg {
    width: 100%;
    height: 100%;
}

.rk-iso-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-iso-data-box {
    background: #ffffff;
    border: 1px solid var(--rk-iso-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-iso-data-box.highlight {
    background: var(--rk-iso-dark);
    border-color: var(--rk-iso-dark);
}

.rk-iso-data-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-iso-muted);
    margin-bottom: 5px;
}

.rk-iso-data-box.highlight .rk-iso-data-label { color: #94a3b8; }

.rk-iso-data-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-iso-dark);
}

.rk-iso-data-box.highlight .rk-iso-data-val { color: #ffffff; }

/* Bloki Tekstowe z Wiedzą */
.rk-iso-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.rk-iso-card {
    background: #ffffff;
    border: 1px solid var(--rk-iso-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-iso-card h3 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-iso-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-iso-card p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-iso-text);
}

.rk-iso-card strong { color: var(--rk-iso-dark); font-weight: 800; }

.rk-iso-formula {
    background: #f1f5f9;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid var(--rk-iso-brand);
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 14px;
    color: var(--rk-iso-dark);
    margin-bottom: 15px;
    overflow-x: auto;
}

.rk-iso-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--rk-iso-brand);
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    margin-top: 10px;
    transition: color 0.3s;
}

.rk-iso-link:hover { color: #4f46e5; }
.rk-iso-link svg { transition: transform 0.3s; }
.rk-iso-link:hover svg { transform: translateX(4px); }

/* Animacje SVG */
.anim-iso-layer { transition: height 0.4s ease, y 0.4s ease; }
.anim-heat-arrow { transition: opacity 0.4s, stroke 0.4s; }

@media (max-width: 768px) {
    .rk-iso-header, .rk-iso-body { padding: 30px 20px; }
    .rk-iso-calculator, .rk-iso-content-grid { grid-template-columns: 1fr; }
    .rk-iso-visual { height: 160px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-wspolczynnik-u",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Jak wyliczyć współczynnik przenikania ciepła U z grubości izolacji i lambdy materiału?",
    "description": "Praktyczny poradnik inżynierski: obliczanie oporu cieplnego (R) i współczynnika przenikania (U). Zobacz, dlaczego 15 cm grafitu to to samo co 20 cm białego styropianu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-wspolczynnik-u",
    "name": "Parametry Fizyki Budowli: Współczynnik U i Opór R",
    "description": "Zestawienie analityczne parametrów izolacyjnych dla najpopularniejszych grubości i typów styropianu podłogowego, stanowiące bazę do obliczeń OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "współczynnik przenikania ciepła U",
      "jak obliczyć opór cieplny R",
      "styropian grafitowy czy biały",
      "ile styropianu pod ogrzewanie podłogowe",
      "kalkulator strat ciepła wzory",
      "izolacja podłogi na gruncie"
    ],
    "measurementTechnique": "Algorytm fizyki budowli określający zależność: Opór (R) = grubość w metrach (d) / lambda (λ). Współczynnik przenikania U = 1 / R.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Styropian biały EPS: zazwyczaj λ = 0,042 W/mK.",
        "Styropian grafitowy: zazwyczaj λ = 0,031 W/mK.",
        "Dla 20 cm EPS (λ=0,036): Opór R = 5,55 m2K/W, Przenikanie U = 0,18 W/m2K."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-kalkulator-u",
    "name": "Kalkulator Przenikania Ciepła U i Oporu R",
    "description": "Interaktywny kalkulator inżynierski pozwalający natychmiast przeliczyć grubość i lambdę izolacji na współczynnik U wymagany do bilansu cieplnego OZC.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-iso-container" id="rk-iso-app">
    
    <div class="rk-iso-header">
        <div class="rk-iso-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Fizyka budowli w praktyce
        </div>
        <h2>Jak wyliczyć współczynnik przenikania ciepła U <span>z grubości izolacji i lambdy materiału?</span></h2>
        <p>Inwestorzy często mylą pojęcia i kupują tani styropian o ogromnej grubości, sądząc, że chroni on budynek lepiej niż cieńszy materiał premium. Matematyki jednak nie oszukasz. Przelicz to samemu.</p>
    </div>

    <div class="rk-iso-body">
        
        <div class="rk-iso-calculator">
            
            <div class="rk-iso-controls">
                <h3 class="rk-iso-ctrl-title">Kalkulator Izolacji</h3>
                
                <div class="rk-iso-presets">
                    <div class="rk-iso-preset-btn active" id="btn-eps-graphite" onclick="rkSetIso('graphite')">Styropian Grafitowy<br><span style="font-size:11px; font-weight:600;">(Premium)</span></div>
                    <div class="rk-iso-preset-btn" id="btn-eps-white" onclick="rkSetIso('white')">Styropian Biały<br><span style="font-size:11px; font-weight:600;">(Standard)</span></div>
                </div>

                <div class="rk-iso-slider-wrap">
                    <div class="rk-iso-slider-head">
                        <span class="rk-iso-slider-label">Przewodność (Lambda λ)</span>
                        <span class="rk-iso-slider-val"><span id="rk-val-lam">0.031</span> W/mK</span>
                    </div>
                    <input type="range" class="rk-iso-range" id="rk-range-lam" min="0.030" max="0.045" step="0.001" value="0.031" oninput="rkUpdateIso()">
                </div>

                <div class="rk-iso-slider-wrap">
                    <div class="rk-iso-slider-head">
                        <span class="rk-iso-slider-label">Grubość materiału (d)</span>
                        <span class="rk-iso-slider-val"><span id="rk-val-thick">15</span> cm</span>
                    </div>
                    <input type="range" class="rk-iso-range" id="rk-range-thick" min="5" max="30" step="1" value="15" oninput="rkUpdateIso()">
                </div>
            </div>

            <div class="rk-iso-results">
                
                <div class="rk-iso-visual">
                    <svg class="rk-iso-svg" viewBox="0 0 200 100">
                        <rect x="20" y="80" width="160" height="20" fill="#334155" />
                        
                        <rect id="svg-iso-layer" class="anim-iso-layer" x="20" y="50" width="160" height="30" fill="#64748b" opacity="0.9" />
                        <text id="svg-text-thick" x="100" y="70" fill="#ffffff" font-size="12" font-weight="bold" text-anchor="middle">15 cm</text>

                        <rect id="svg-screed" class="anim-iso-layer" x="20" y="35" width="160" height="15" fill="#94a3b8" />
                        <circle id="svg-pipe" class="anim-iso-layer" cx="100" cy="42" r="5" fill="#ef4444" />

                        <g id="svg-heat-loss" class="anim-heat-arrow">
                            <path d="M 60 85 L 60 95" stroke="#ef4444" stroke-width="3" stroke-linecap="round" />
                            <polygon points="56,92 60,98 64,92" fill="#ef4444" />
                            <path d="M 140 85 L 140 95" stroke="#ef4444" stroke-width="3" stroke-linecap="round" />
                            <polygon points="136,92 140,98 144,92" fill="#ef4444" />
                        </g>
                    </svg>
                </div>

                <div class="rk-iso-data-grid">
                    <div class="rk-iso-data-box">
                        <span class="rk-iso-data-label">Opór cieplny (R)</span>
                        <span class="rk-iso-data-val"><span id="rk-res-r">4.84</span> <span style="font-size:12px; color:var(--rk-iso-muted)">m²K/W</span></span>
                    </div>
                    <div class="rk-iso-data-box highlight">
                        <span class="rk-iso-data-label">Współczynnik przenikania (U)</span>
                        <span class="rk-iso-data-val"><span id="rk-res-u">0.21</span> <span style="font-size:12px; color:#94a3b8">W/m²K</span></span>
                    </div>
                </div>

            </div>
        </div>

        <div class="rk-iso-content-grid">
            
            <div class="rk-iso-card">
                <h3>
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path></svg>
                    Wzór inżynierski (Bezpośrednia odpowiedź)
                </h3>
                <p>Współczynnik przenikania ciepła pojedynczej warstwy materiału izolacyjnego oblicza się z bezwzględnego wzoru <strong>U = λ / d</strong>, gdzie <strong>λ</strong> to współczynnik przewodzenia ciepła, a <strong>d</strong> to grubość materiału wyrażona ściśle w metrach.</p>
                <div class="rk-iso-formula">
                    R = d / λ<br>
                    U = 1 / R = λ / d
                </div>
                <p>Pamiętaj, że całkowity opór cieplny przegrody wielowarstwowej definiuje zależność uwzględniająca opory przejmowania ciepła na powierzchniach (R<sub>si</sub>, R<sub>se</sub>).</p>
            </div>

            <div class="rk-iso-card">
                <h3>
                    <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    Przykład: 20 cm EPS 100 na gruncie
                </h3>
                <p>Wyliczmy rzeczywisty współczynnik U dla <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/" class="rk-iso-link" style="display:inline; padding:0; margin:0; border:none; text-decoration:underline; font-weight:normal;">izolacji podłogówki</a> wykonanej z klasycznych płyt styropianowych EPS o grubości 20 cm (d = 0,20 m) i deklarowanej przez producenta przewodności λ = 0,036 W/mK.</p>
                <div class="rk-iso-formula">
                    R = 0,20 / 0,036 = <strong>5,55 m²K/W</strong><br>
                    U = 1 / 5,55 = <strong>0,18 W/m²·K</strong>
                </div>
                <p>Wartość 0,18 to precyzyjny parametr techniczny. To właśnie tę cyfrę musisz wprowadzić do kalkulatora strat ciepła w sekcji przegród poziomych.</p>
                <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-iso-link">
                    Czym dokładnie jest Opór Cieplny R? ➔
                </a>
            </div>

        </div>

    </div>
</div>

<script>
function rkSetIso(type) {
    const btnG = document.getElementById('btn-eps-graphite');
    const btnW = document.getElementById('btn-eps-white');
    const sliderLam = document.getElementById('rk-range-lam');

    if (type === 'graphite') {
        btnG.classList.add('active');
        btnW.classList.remove('active');
        sliderLam.value = 0.031;
    } else {
        btnW.classList.add('active');
        btnG.classList.remove('active');
        sliderLam.value = 0.042;
    }
    rkUpdateIso();
}

function rkUpdateIso() {
    const lam = parseFloat(document.getElementById('rk-range-lam').value);
    const thickCm = parseInt(document.getElementById('rk-range-thick').value);
    
    // Update labels
    document.getElementById('rk-val-lam').innerText = lam.toFixed(3);
    document.getElementById('rk-val-thick').innerText = thickCm;

    // Calc
    const thickM = thickCm / 100;
    const r = thickM / lam;
    const u = 1 / r;

    document.getElementById('rk-res-r').innerText = r.toFixed(2);
    document.getElementById('rk-res-u').innerText = u.toFixed(2);

    // SVG Animation logic
    // thickCm: 5 to 30. We map this to SVG height.
    // Base y=80. Max thick = 30cm -> height=60, y=20.
    const svgHeight = thickCm * 2; // 1cm = 2px
    const svgY = 80 - svgHeight;

    const isoLayer = document.getElementById('svg-iso-layer');
    const textThick = document.getElementById('svg-text-thick');
    const screedLayer = document.getElementById('svg-screed');
    const pipeLayer = document.getElementById('svg-pipe');

    isoLayer.setAttribute('height', svgHeight);
    isoLayer.setAttribute('y', svgY);
    
    // Ustawienie koloru (grafit vs biały)
    if(lam < 0.036) {
        isoLayer.setAttribute('fill', '#475569'); // Ciemniejszy grafit
    } else {
        isoLayer.setAttribute('fill', '#cbd5e1'); // Jasny biały
    }

    textThick.setAttribute('y', svgY + (svgHeight / 2) + 4);
    textThick.textContent = thickCm + " cm";

    screedLayer.setAttribute('y', svgY - 15);
    pipeLayer.setAttribute('cy', svgY - 7);

    // Heat Loss arrows (Redness &#038; Opacity based on U)
    // Good U < 0.20 (Low opacity, smaller). Bad U > 0.40 (High opacity, red)
    const heatGrp = document.getElementById('svg-heat-loss');
    let heatOpacity = u / 0.8; // Normalized roughly
    if(heatOpacity > 1) heatOpacity = 1;
    if(heatOpacity < 0.1) heatOpacity = 0.1;
    
    heatGrp.style.opacity = heatOpacity;
}

// Init
document.addEventListener('DOMContentLoaded', rkUpdateIso);
</script>



<style>
:root {
    --rk-vent-dark: #0f172a;
    --rk-vent-panel: #1e293b;
    --rk-vent-brand: #0284c7; /* Chłodny błękit - świeże powietrze */
    --rk-vent-brand-light: #e0f2fe;
    --rk-vent-accent: #f97316; /* Ciepło domowe */
    --rk-vent-success: #0d9488; /* Oszczędność (Teal) */
    --rk-vent-danger: #ef4444; /* Strata (Czerwień) */
    --rk-vent-bg: #ffffff;
    --rk-vent-border: #e2e8f0;
    --rk-vent-text: #334155;
    --rk-vent-muted: #64748b;
}

.rk-vent-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-vent-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid rgba(2, 132, 199, 0.2);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-vent-header {
    background: linear-gradient(135deg, var(--rk-vent-dark) 0%, #0c4a6e 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-vent-brand);
}

.rk-vent-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #7dd3fc;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-vent-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-vent-title span { color: #38bdf8; }

.rk-vent-direct-answer {
    font-size: 16px;
    line-height: 1.7;
    color: #e0f2fe;
    margin: 0;
    padding-left: 20px;
    border-left: 3px solid var(--rk-vent-accent);
}

.rk-vent-direct-answer strong {
    color: #ffffff;
}

/* Moduł Interaktywny */
.rk-vent-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

/* Przełącznik Systemów Wentylacji */
.rk-vent-switcher {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
}

.rk-vent-toggle-bg {
    background: #e2e8f0;
    padding: 6px;
    border-radius: 99px;
    display: inline-flex;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
}

.rk-vent-toggle-btn {
    padding: 12px 24px;
    border-radius: 99px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-vent-muted);
    cursor: pointer;
    transition: all 0.3s;
    z-index: 1;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-vent-toggle-btn.active {
    color: #ffffff;
}

.rk-vent-toggle-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    width: 50%;
    background: var(--rk-vent-danger);
    border-radius: 99px;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.state-recup .rk-vent-toggle-slider {
    left: calc(50% - 6px);
    background: var(--rk-vent-success);
}

/* Siatka: SVG + Dane */
.rk-vent-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    align-items: stretch;
}

/* SVG Wizualizacja */
.rk-vent-visual {
    background: var(--rk-vent-dark);
    border-radius: 20px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.5);
    border: 3px solid #334155;
    position: relative;
    overflow: hidden;
    min-height: 250px;
}

.rk-vent-svg { width: 100%; height: 100%; }

/* Tablica Wyników */
.rk-vent-dashboard {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-vent-stat-card {
    background: #ffffff;
    border: 1px solid var(--rk-vent-border);
    border-radius: 16px;
    padding: 20px 25px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.3s;
}

.rk-vent-stat-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-vent-muted);
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.rk-vent-stat-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-vent-dark);
    line-height: 1;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-vent-stat-val span {
    font-size: 14px;
    color: var(--rk-vent-muted);
}

.val-red { color: var(--rk-vent-danger); }
.val-green { color: var(--rk-vent-success); }

/* Detale Obliczeń (Karty z Wzorami) */
.rk-vent-details {
    padding: 0 50px 40px 50px;
    background: #f8fafc;
}

.rk-vent-details h3 {
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-vent-dark);
}

.rk-vent-calc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-vent-calc-box {
    background: #ffffff;
    border: 1px solid var(--rk-vent-border);
    padding: 25px;
    border-radius: 16px;
}

.rk-vent-calc-box h4 {
    margin: 0 0 10px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-vent-brand);
}

.rk-vent-formula {
    background: #f1f5f9;
    padding: 12px 15px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 700;
    font-size: 13px;
    color: var(--rk-vent-dark);
    margin: 10px 0;
    border-left: 3px solid var(--rk-vent-brand);
}

.rk-vent-calc-box p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-vent-text);
}

.rk-vent-link {
    color: var(--rk-vent-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-vent-link:hover { color: #0369a1; }

/* Animacje SVG */
.anim-air-flow { stroke-dasharray: 8 8; animation: flowDash 1.5s linear infinite; }
@keyframes flowDash { to { stroke-dashoffset: -16; } }

/* Stan: Grawitacja */
.state-grav .recup-element { opacity: 0; }
.state-grav .grav-element { opacity: 1; transition: opacity 0.3s; }
.state-grav .air-in { stroke: var(--rk-vent-brand); }
.state-grav .air-out { stroke: var(--rk-vent-danger); stroke-width: 6; }

/* Stan: Rekuperacja */
.state-recup .grav-element { opacity: 0; }
.state-recup .recup-element { opacity: 1; transition: opacity 0.5s; }
.state-recup .air-in { stroke: var(--rk-vent-brand); }
.state-recup .air-in-warmed { stroke: #fbbf24; }
.state-recup .air-out { stroke: var(--rk-vent-danger); stroke-width: 4; }
.state-recup .air-out-cooled { stroke: #94a3b8; }

.anim-wheel { transform-origin: 100px 50px; animation: spinWheel 3s linear infinite; }
@keyframes spinWheel { to { transform: rotate(360deg); } }

@media (max-width: 768px) {
    .rk-vent-header, .rk-vent-interactive, .rk-vent-details { padding: 30px 20px; }
    .rk-vent-grid, .rk-vent-calc-grid { grid-template-columns: 1fr; }
    .rk-vent-visual { height: 200px; min-height: auto; }
    .rk-vent-toggle-btn { padding: 10px 15px; font-size: 12px; }
    .rk-vent-title { font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-wentylacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Ile kW mocy grzewczej ucieka przez wentylację grawitacyjną i jak rekuperacja zmienia ten wynik?",
    "description": "Porównanie strat ciepła dla wentylacji grawitacyjnej i mechanicznej z rekuperacją. Dowiedz się, jak odzysk ciepła wpływa na projektowanie pętli podłogowych i moc pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-wentylacja",
    "name": "Symulacja strat wentylacyjnych (Qv) z rekuperacją i bez",
    "description": "Zestawienie analityczne porównujące straty ciepła i przepływy powietrza (m3/h) dla budynku 150 m2 przy wentylacji naturalnej oraz mechanicznej z odzyskiem ciepła 85%.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "straty wentylacyjne w kalkulatorze",
      "rekuperacja a pompa ciepła",
      "wentylacja grawitacyjna straty ciepła",
      "rozstaw rur podłogówki a rekuperacja",
      "obliczanie strat ciepła wentylacja",
      "norma PN-EN 13141-7"
    ],
    "measurementTechnique": "Algorytm obliczeniowy Qv = 0,34 × V × ΔT redukowany o współczynnik sprawności odzysku ciepła zdefiniowany normą PN-EN 13141-7.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Kubatura szacunkowa dla domu 150 m2: 375 m3.",
        "Strumień powietrza dla krotności wymian 0,5/h: 187,5 m3/h.",
        "Całkowita strata grawitacyjna (ΔT=40K): 2550 W.",
        "Zredukowana strata przy rekuperacji (85% sprawności): 382,5 W."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-wentylacja",
    "name": "Kalkulator Oszczędności Rekuperacji",
    "description": "Interaktywny symulator przepływu powietrza wizualizujący spadek zapotrzebowania na moc grzewczą w budynku wyposażonym w wymiennik krzyżowy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-vent-container" id="rk-vent-app">
    
    <div class="rk-vent-header">
        <div class="rk-vent-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Bilans Powietrzny
        </div>
        <h2 class="rk-vent-title">Ile kW mocy grzewczej ucieka przez wentylację grawitacyjną i jak <span>rekuperacja zmienia ten wynik?</span></h2>
        <div class="rk-vent-direct-answer">
            <strong>Bezpośrednia odpowiedź:</strong> W tradycyjnym domu 150 m² z wentylacją grawitacyjną, straty z tytułu wymiany powietrza generują do <strong>40% całkowitego zapotrzebowania na ciepło</strong> (co odpowiada ucieczce ok. 2,5 - 3,5 kW ciągłej mocy). Zastosowanie centrali wentylacyjnej (rekuperacji) o sprawności temperaturowej rzędu 85% redukuje te straty do ułamkowych wartości rzędu <strong>0,4 - 0,6 kW</strong>.
        </div>
    </div>

    <div class="rk-vent-interactive state-grav" id="rk-vent-state-wrapper">
        
        <div class="rk-vent-switcher">
            <div class="rk-vent-toggle-bg">
                <div class="rk-vent-toggle-slider"></div>
                <button class="rk-vent-toggle-btn active" id="btn-grav" onclick="rkSwitchVent('grav')">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>
                    Grawitacja
                </button>
                <button class="rk-vent-toggle-btn" id="btn-recup" onclick="rkSwitchVent('recup')">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="8" width="18" height="8" rx="2"></rect><path d="M12 4v4"></path><path d="M12 16v4"></path><circle cx="12" cy="12" r="2"></circle></svg>
                    Rekuperacja 85%
                </button>
            </div>
        </div>

        <div class="rk-vent-grid">
            
            <div class="rk-vent-visual">
                <svg class="rk-vent-svg" viewBox="0 0 200 100">
                    <rect x="0" y="0" width="100" height="100" fill="#0f172a" /> <rect x="100" y="0" width="100" height="100" fill="#1e293b" /> <line x1="100" y1="0" x2="100" y2="100" stroke="#334155" stroke-width="2" />

                    <g class="grav-element">
                        <path class="anim-air-flow air-in" d="M 20 70 L 160 70" fill="none" stroke-width="4" stroke-linecap="round" />
                        <polygon points="150,65 165,70 150,75" fill="var(--rk-vent-brand)"/>
                        
                        <path class="anim-air-flow air-out" d="M 160 30 L 20 30" fill="none" stroke-width="6" stroke-linecap="round" />
                        <polygon points="35,23 20,30 35,37" fill="var(--rk-vent-danger)"/>
                    </g>

                    <g class="recup-element">
                        <rect x="80" y="30" width="40" height="40" fill="#0f172a" stroke="#cbd5e1" stroke-width="2" rx="4" />
                        <g class="anim-wheel">
                            <line x1="90" y1="40" x2="110" y2="60" stroke="#cbd5e1" stroke-width="2" />
                            <line x1="90" y1="60" x2="110" y2="40" stroke="#cbd5e1" stroke-width="2" />
                        </g>

                        <path class="anim-air-flow air-in" d="M 20 60 L 80 60" fill="none" stroke-width="3" stroke-linecap="round" />
                        <path class="anim-air-flow air-in-warmed" d="M 120 60 L 180 60" fill="none" stroke-width="3" stroke-linecap="round" />
                        <polygon points="170,56 182,60 170,64" fill="#fbbf24"/>

                        <path class="anim-air-flow air-out" d="M 180 40 L 120 40" fill="none" stroke-width="3" stroke-linecap="round" />
                        <path class="anim-air-flow air-out-cooled" d="M 80 40 L 20 40" fill="none" stroke-width="3" stroke-linecap="round" />
                        <polygon points="30,36 18,40 30,44" fill="#94a3b8"/>
                    </g>
                </svg>
            </div>

            <div class="rk-vent-dashboard">
                <div class="rk-vent-stat-card">
                    <span class="rk-vent-stat-label">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"></path></svg>
                        Moc bezpowrotnie tracona (Q<sub>v</sub>)
                    </span>
                    <span class="rk-vent-stat-val val-red" id="val-lost">2 550 <span>W</span></span>
                </div>
                
                <div class="rk-vent-stat-card">
                    <span class="rk-vent-stat-label">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Odzyskana energia dla podłogówki
                    </span>
                    <span class="rk-vent-stat-val val-green" id="val-saved">0 <span>W (0.0 kW)</span></span>
                </div>

                <div class="rk-vent-stat-card" style="background: #f1f5f9; border-color: transparent;">
                    <span class="rk-vent-stat-label">Wpływ na projekt instalacji</span>
                    <span class="rk-vent-stat-val" id="val-impact" style="font-size: 16px; color: var(--rk-vent-text);">
                        Wymagany gęsty rozstaw rur (co 10 cm). Ryzyko zakupu przewymiarowanej pompy ciepła.
                    </span>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-vent-details">
        <h3>Przykład obliczeniowy dla domu 150 m² (kubatura 375 m³)</h3>
        
        <div class="rk-vent-calc-grid">
            <div class="rk-vent-calc-box">
                <h4>Wariant 1: Wentylacja grawitacyjna</h4>
                <p>Przyjmujemy wymianę na poziomie 0,5/h, co daje strumień V = 187,5 m³/h. Różnica temperatur na zewnątrz i wewnątrz w mrozy to ΔT = 40 K.</p>
                <div class="rk-vent-formula">
                    Q<sub>v</sub> = 0,34 × 187,5 × 40 = <strong>2550 W</strong>
                </div>
                <p>Oznacza to, że z samego tytułu wietrzenia budynku w starym systemie, dom wymaga od <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" class="rk-vent-link">pompy ciepła</a> ponad 2,5 kW ciągłej mocy.</p>
            </div>

            <div class="rk-vent-calc-box">
                <h4>Wariant 2: Mechaniczna z rekuperacją</h4>
                <p>Zastosowanie centrali (sprawność η = 85% zgodnie z <strong>PN-EN 13141-7</strong>). Strumień powietrza jest poddawany procesowi krzyżowej wymiany ciepła.</p>
                <div class="rk-vent-formula">
                    Q<sub>v_rek</sub> = 2550 W × (1 - 0,85) = <strong>382,5 W</strong>
                </div>
                <p>Ignorowanie <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" class="rk-vent-link">wpływu rekuperacji</a> w kalkulatorach prowadzi do potężnego przewymiarowania. Instalator niepotrzebnie zacieśni <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-vent-link">rozstaw rur</a> i drastycznie podniesie koszty hydrauliki.</p>
            </div>
        </div>
    </div>

</div>

<script>
function rkSwitchVent(state) {
    const wrapper = document.getElementById('rk-vent-state-wrapper');
    const btnGrav = document.getElementById('btn-grav');
    const btnRecup = document.getElementById('btn-recup');
    
    const valLost = document.getElementById('val-lost');
    const valSaved = document.getElementById('val-saved');
    const valImpact = document.getElementById('val-impact');

    if(state === 'grav') {
        wrapper.className = 'rk-vent-interactive state-grav';
        btnGrav.classList.add('active');
        btnRecup.classList.remove('active');

        valLost.innerHTML = '2 550 <span>W</span>';
        valLost.className = 'rk-vent-stat-val val-red';
        
        valSaved.innerHTML = '0 <span>W (0.0 kW)</span>';
        valSaved.className = 'rk-vent-stat-val val-green';

        valImpact.innerHTML = 'Wymagany gęsty rozstaw rur (co 10 cm). Ryzyko zakupu przewymiarowanej pompy ciepła.';
    } else {
        wrapper.className = 'rk-vent-interactive state-recup';
        btnRecup.classList.add('active');
        btnGrav.classList.remove('active');

        valLost.innerHTML = '382 <span>W</span>';
        valLost.className = 'rk-vent-stat-val val-green';
        
        valSaved.innerHTML = '2 168 <span>W (~ 2.16 kW)</span>';
        valSaved.className = 'rk-vent-stat-val val-green';

        valImpact.innerHTML = 'Mniejsze straty = rzadszy rozstaw (co 20 cm), niższe koszty materiałowe i tańsza pompa ciepła.';
    }
}
</script>



<style>
:root {
    --rk-fl-dark: #0f172a;
    --rk-fl-panel: #1e293b;
    --rk-fl-brand: #2563eb;
    --rk-fl-brand-light: #eff6ff;
    --rk-fl-accent: #f97316;
    --rk-fl-success: #10b981;
    --rk-fl-danger: #ef4444;
    --rk-fl-border: #e2e8f0;
    --rk-fl-text: #334155;
    --rk-fl-muted: #64748b;
    --rk-fl-bg: #ffffff;
}

.rk-fl-wrapper {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-fl-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.3);
    overflow: hidden;
    color: var(--rk-fl-dark);
}

/* Nagłówek */
.rk-fl-header {
    background: linear-gradient(135deg, var(--rk-fl-dark) 0%, #1e3a8a 100%);
    padding: 40px 45px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-fl-brand);
}

.rk-fl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.1);
    color: #93c5fd;
    padding: 6px 14px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(255,255,255,0.15);
}

.rk-fl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-fl-header p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
}

/* Główny kontener treści */
.rk-fl-body {
    padding: 40px 45px;
    background: #f8fafc;
}

/* Moduł Interaktywny */
.rk-fl-interactive {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-fl-border);
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

/* Lewa Kolumna - SVG Wizualizacja */
.rk-fl-visual-box {
    background: var(--rk-fl-dark);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 280px;
    border: 3px solid #334155;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
}

.rk-fl-svg-layer {
    width: 100%;
    height: 100%;
}

/* Prawa Kolumna - Kontrolki i Dane */
.rk-fl-controls {
    display: flex;
    flex-direction: column;
}

.rk-fl-controls h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-fl-dark);
    line-height: 1.3;
}

/* Switcher Okładzin */
.rk-fl-switch-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-fl-switch-btn {
    background: #f1f5f9;
    border: 2px solid var(--rk-fl-border);
    border-radius: 12px;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    font-weight: 800;
    font-size: 14px;
    color: var(--rk-fl-muted);
    transition: all 0.3s;
}

.rk-fl-switch-btn.active {
    background: var(--rk-fl-brand-light);
    border-color: var(--rk-fl-brand);
    color: var(--rk-fl-brand);
    box-shadow: 0 5px 15px -5px rgba(37, 99, 235, 0.2);
}

/* Kafelki z danymi (Live Data) */
.rk-fl-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-fl-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-fl-border);
    border-radius: 12px;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-fl-data-card.highlight {
    background: var(--rk-fl-dark);
    border-color: var(--rk-fl-dark);
}

.rk-fl-data-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-fl-muted);
    margin-bottom: 5px;
}

.rk-fl-data-card.highlight .rk-fl-data-label { color: #94a3b8; }

.rk-fl-data-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-fl-dark);
    transition: color 0.3s;
}

.rk-fl-data-card.highlight .rk-fl-data-val { color: #ffffff; }

.val-danger { color: var(--rk-fl-danger) !important; }
.val-success { color: var(--rk-fl-success) !important; }

/* Animacje SVG */
.rk-anim-heat { transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1); transform-origin: bottom; }
.rk-anim-layer { transition: all 0.5s ease-in-out; }

/* Stan 1: Płytki (Dobre przewodzenie) */
.state-tiles .rk-layer-panel { opacity: 0; transform: translateY(-10px); }
.state-tiles .rk-layer-tile { opacity: 1; transform: translateY(0); }
.state-tiles .rk-anim-heat { stroke: var(--rk-fl-success); transform: scaleY(1); animation: heatFlowFast 1.5s linear infinite; stroke-dasharray: 10 10; }

/* Stan 2: Panele (Izolator) */
.state-panels .rk-layer-panel { opacity: 1; transform: translateY(0); }
.state-panels .rk-layer-tile { opacity: 0; transform: translateY(10px); }
.state-panels .rk-anim-heat { stroke: var(--rk-fl-danger); transform: scaleY(0.4); animation: heatFlowSlow 3s linear infinite; stroke-dasharray: 20 5; }

@keyframes heatFlowFast { to { stroke-dashoffset: -20; } }
@keyframes heatFlowSlow { to { stroke-dashoffset: -25; } }

/* CTA dolne */
.rk-fl-cta {
    margin-top: 30px;
    padding: 20px;
    background: var(--rk-fl-brand-light);
    border-left: 4px solid var(--rk-fl-brand);
    border-radius: 0 12px 12px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.rk-fl-cta p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-fl-dark);
}

.rk-fl-cta a {
    white-space: nowrap;
    background: var(--rk-fl-brand);
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    transition: background 0.3s;
}

.rk-fl-cta a:hover { background: var(--rk-fl-brand-hover); }

@media (max-width: 768px) {
    .rk-fl-header { padding: 30px 25px; }
    .rk-fl-body { padding: 30px 25px; }
    .rk-fl-interactive { grid-template-columns: 1fr; padding: 20px; }
    .rk-fl-visual-box { height: 220px; min-height: auto; }
    .rk-fl-cta { flex-direction: column; text-align: center; }
    .rk-fl-cta a { width: 100%; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-okladziny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Jak rodzaj okładziny podłogowej (płytki vs panele) zmienia parametry instalacji?",
    "description": "Opór cieplny paneli zmusza pompę ciepła do pracy na wyższych temperaturach zasilania. Zobacz inżynieryjne porównanie wydajności gresu i laminatu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-okladziny",
    "name": "Opór cieplny (R) okładzin podłogowych a COP pompy ciepła",
    "description": "Parametry hydrauliczne instalacji podłogowej zestawione dla stałego zapotrzebowania 50 W/m2 w zależności od zastosowanej posadzki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny paneli",
      "ogrzewanie podłogowe a panele",
      "wydajność pompy ciepła podłogówka",
      "temperatura zasilania podłogówki płytki vs panele",
      "COP pompy ciepła spadek"
    ],
    "measurementTechnique": "Symulacja spadku współczynnika COP pompy ciepła w zależności od oporu cieplnego materiału wykończeniowego zgodnie z normą PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Gres ceramiczny: Opór R = 0,01 m2K/W, Wymagane Tz = 33°C",
        "Panele laminowane: Opór R = 0,12 m2K/W, Wymagane Tz = 38°C",
        "Spadek COP pompy ciepła dla paneli względem płytek wynosi od 10 do 12% w skali roku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-okladziny",
    "name": "Symulator Wpływu Okładziny na Ogrzewanie Podłogowe",
    "description": "Narzędzie pozwalające prześledzić zachowanie instalacji i spadki wydajności w przypadku zamiany płytek ceramicznych na panele laminowane.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fl-wrapper" id="rk-fl-app">
    
    <div class="rk-fl-header">
        <div class="rk-fl-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Analiza Materiałowa
        </div>
        <h2>Jak rodzaj okładziny podłogowej (płytki vs panele) zmienia parametry pracy instalacji w kalkulatorze?</h2>
        <p>Opór cieplny (R) materiału wykończeniowego ma kolosalny wpływ na to, jaką temperaturę musisz zadać na źródle ciepła, aby skutecznie ogrzać pomieszczenie. Ignorowanie tego faktu to gwarancja niedogrzanego domu.</p>
    </div>

    <div class="rk-fl-body">
        
        <p><strong>Bezpośrednia odpowiedź:</strong> Opór cieplny (R) płytek ceramicznych wynosi zaledwie <strong>0,01 m²K/W</strong>, podczas gdy paneli laminowanych wraz z podkładem dedykowanym osiąga graniczną wartość <strong>0,10 - 0,15 m²K/W</strong> dopuszczoną przez normę PN-EN 1264.</p>
        <p>Oznacza to, że panele stanowią potężny izolator, który wymusza podniesienie temperatury zasilania (Tz) średnio o 3 do 5 stopni Celsjusza w celu uzyskania tej samej mocy grzewczej.</p>
        <p>Zastosowanie grubych paneli lub parkietu drewnianego bez uwzględnienia tego faktu w obliczeniach kalkulatora powoduje drastyczne niedogrzanie pomieszczeń. Jeśli projektant założy wykończenie z płytek i dobierze temperaturę zasilania wody na 35°C, a Ty ostatecznie położysz panele, <strong>temperatura w pokoju spadnie z planowanych 20°C do zaledwie 17-18°C</strong> w mroźne dni.</p>

        <div class="rk-fl-interactive">
            
            <div class="rk-fl-visual-box state-tiles" id="rkFlVisual">
                <svg class="rk-fl-svg-layer" viewBox="0 0 200 100">
                    <rect x="20" y="70" width="160" height="30" fill="#334155" />
                    <circle cx="100" cy="85" r="8" fill="none" stroke="#f97316" stroke-width="3" />
                    
                    <path class="rk-anim-heat" d="M 100 70 L 100 20" fill="none" stroke-width="4" stroke-linecap="round" />
                    <path class="rk-anim-heat" d="M 85 70 L 60 20" fill="none" stroke-width="3" stroke-linecap="round" />
                    <path class="rk-anim-heat" d="M 115 70 L 140 20" fill="none" stroke-width="3" stroke-linecap="round" />

                    <g class="rk-anim-layer rk-layer-tile">
                        <rect x="20" y="60" width="160" height="10" fill="#94a3b8" />
                        <line x1="60" y1="60" x2="60" y2="70" stroke="#0f172a" stroke-width="2" />
                        <line x1="100" y1="60" x2="100" y2="70" stroke="#0f172a" stroke-width="2" />
                        <line x1="140" y1="60" x2="140" y2="70" stroke="#0f172a" stroke-width="2" />
                    </g>

                    <g class="rk-anim-layer rk-layer-panel">
                        <rect x="20" y="55" width="160" height="5" fill="#f59e0b" opacity="0.6" /> <rect x="20" y="45" width="160" height="10" fill="#854d0e" /> <line x1="80" y1="45" x2="80" y2="55" stroke="#0f172a" stroke-width="1" />
                        <line x1="120" y1="45" x2="120" y2="55" stroke="#0f172a" stroke-width="1" />
                    </g>
                </svg>
            </div>

            <div class="rk-fl-controls">
                <h3>Przykład danych hydraulicznych dla zmiany okładziny</h3>
                <p style="font-size: 13px; color: var(--rk-fl-muted); margin-top: -15px; margin-bottom: 20px;">
                    Przy stałym zapotrzebowaniu na moc: <strong>q = 50 W/m²</strong>
                </p>

                <div class="rk-fl-switch-group">
                    <div class="rk-fl-switch-btn active" id="btn-tiles" onclick="rkSwitchFloor('tiles')">
                        Gres ceramiczny
                    </div>
                    <div class="rk-fl-switch-btn" id="btn-panels" onclick="rkSwitchFloor('panels')">
                        Panele laminowane
                    </div>
                </div>

                <div class="rk-fl-data-grid">
                    <div class="rk-fl-data-card">
                        <span class="rk-fl-data-label">Opór cieplny (R)</span>
                        <span class="rk-fl-data-val" id="val-r">0,01 <span style="font-size:14px">m²K/W</span></span>
                    </div>
                    <div class="rk-fl-data-card">
                        <span class="rk-fl-data-label">Temp. podłogi</span>
                        <span class="rk-fl-data-val">24,5 <span style="font-size:14px">°C</span></span>
                    </div>
                    <div class="rk-fl-data-card highlight">
                        <span class="rk-fl-data-label">Wymagana Temp. Zasilania</span>
                        <span class="rk-fl-data-val val-success" id="val-tz">33 °C</span>
                    </div>
                    <div class="rk-fl-data-card highlight">
                        <span class="rk-fl-data-label">Skutek dla COP (Wydajność)</span>
                        <span class="rk-fl-data-val val-success" id="val-cop">MAX (100%)</span>
                    </div>
                </div>

            </div>

        </div>

        <div class="rk-fl-cta">
            <p><strong>Złota zasada instalatora:</strong> Podniesienie temperatury zasilania (Tz) zaledwie z 33°C na 38°C (wymuszone przez panele) obniża współczynnik efektywności COP pompy ciepła o około 10-12%. To bezpośrednio przekłada się na proporcjonalnie wyższe rachunki za prąd przez cały sezon grzewczy.</p>
            <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/">
                Wybierz odpowiednią okładzinę ➔
            </a>
        </div>

    </div>
</div>

<script>
function rkSwitchFloor(type) {
    const visual = document.getElementById('rkFlVisual');
    const btnTiles = document.getElementById('btn-tiles');
    const btnPanels = document.getElementById('btn-panels');
    
    const valR = document.getElementById('val-r');
    const valTz = document.getElementById('val-tz');
    const valCop = document.getElementById('val-cop');

    if(type === 'tiles') {
        visual.className = 'rk-fl-visual-box state-tiles';
        btnTiles.classList.add('active');
        btnPanels.classList.remove('active');

        valR.innerHTML = '0,01 <span style="font-size:14px">m²K/W</span>';
        valTz.innerHTML = '33 °C';
        valTz.className = 'rk-fl-data-val val-success';
        
        valCop.innerHTML = 'MAX (100%)';
        valCop.className = 'rk-fl-data-val val-success';
    } else {
        visual.className = 'rk-fl-visual-box state-panels';
        btnPanels.classList.add('active');
        btnTiles.classList.remove('active');

        valR.innerHTML = '0,12 <span style="font-size:14px">m²K/W</span>';
        valTz.innerHTML = '38 °C';
        valTz.className = 'rk-fl-data-val val-danger';
        
        valCop.innerHTML = 'Spadek o -12%';
        valCop.className = 'rk-fl-data-val val-danger';
    }
}
</script>



<style>
:root {
    --rk-calc-bg: #f8fafc;
    --rk-calc-card: #ffffff;
    --rk-calc-dark: #0f172a;
    --rk-calc-brand: #2563eb; 
    --rk-calc-brand-hover: #1d4ed8;
    --rk-calc-brand-light: #eff6ff;
    --rk-calc-accent: #f97316; 
    --rk-calc-success: #10b981;
    --rk-calc-warning: #f59e0b;
    --rk-calc-danger: #ef4444;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-muted: #64748b;
}

.rk-calc-wrapper {
    max-width: 1000px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-calc-card);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(37, 99, 235, 0.15);
    border: 1px solid rgba(37, 99, 235, 0.2);
    overflow: hidden;
    color: var(--rk-calc-dark);
}

/* Nagłówek Kalkulatora */
.rk-calc-head {
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e3a8a 100%);
    padding: 40px 45px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-calc-head::after {
    content: '';
    position: absolute;
    right: -50px;
    top: -50px;
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, rgba(37,99,235,0.4) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}

.rk-calc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #93c5fd;
    padding: 8px 16px;
    border-radius: 99px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
}

.rk-calc-head h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.2;
}

.rk-calc-head p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    max-width: 650px;
    line-height: 1.6;
}

/* Grid Główny */
.rk-calc-body {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    background: var(--rk-calc-bg);
}

/* Sekcja Lewa - Konfigurator */
.rk-calc-controls {
    padding: 40px 45px;
    background: #ffffff;
    border-right: 1px solid var(--rk-calc-border);
}

.rk-calc-section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-calc-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 30px 0 20px 0;
}

.rk-calc-section-title:first-child {
    margin-top: 0;
}

.rk-calc-section-title svg {
    color: var(--rk-calc-brand);
}

/* Przyciski Wyboru (Kafelki z ikonami) */
.rk-calc-btn-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.rk-calc-opt-btn {
    background: #ffffff;
    border: 2px solid var(--rk-calc-border);
    border-radius: 14px;
    padding: 15px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.rk-calc-opt-btn:hover {
    border-color: #93c5fd;
    background: var(--rk-calc-brand-light);
}

.rk-calc-opt-btn.active {
    border-color: var(--rk-calc-brand);
    background: var(--rk-calc-brand-light);
    box-shadow: 0 8px 15px -5px rgba(37, 99, 235, 0.15);
}

.rk-calc-opt-icon {
    width: 28px;
    height: 28px;
    color: var(--rk-calc-muted);
    transition: color 0.3s;
}

.rk-calc-opt-btn.active .rk-calc-opt-icon {
    color: var(--rk-calc-brand);
}

.rk-calc-opt-text {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-calc-text);
}

.rk-calc-opt-btn.active .rk-calc-opt-text {
    color: var(--rk-calc-brand);
}

/* Suwaki Modern */
.rk-slider-wrap {
    margin-bottom: 25px;
    background: #f8fafc;
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
}

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.rk-slider-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-dark);
}

.rk-slider-val {
    background: var(--rk-calc-brand);
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 2px 5px rgba(37, 99, 235, 0.2);
}

.rk-range-input {
    -webkit-appearance: none;
    width: 100%;
    height: 6px;
    background: #cbd5e1;
    border-radius: 3px;
    outline: none;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-calc-brand);
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    transition: transform 0.1s;
}

.rk-range-input::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Sekcja Prawa - Wyniki */
.rk-calc-results {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Główny Wynik z SVG */
.rk-res-main-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    border: 1px solid var(--rk-calc-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
}

.rk-res-gauge {
    width: 120px;
    height: 60px;
    margin: 0 auto 10px auto;
    position: relative;
}

.rk-gauge-path-bg { fill: none; stroke: #e2e8f0; stroke-width: 12; stroke-linecap: round; }
.rk-gauge-path-val { fill: none; stroke: var(--rk-calc-success); stroke-width: 12; stroke-linecap: round; transition: stroke-dashoffset 0.8s ease, stroke 0.3s; }

.rk-res-huge {
    font-size: 52px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    line-height: 1;
    margin-bottom: 5px;
    letter-spacing: -1px;
}

.rk-res-unit {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-calc-muted);
    text-transform: uppercase;
}

.rk-res-alert {
    margin-top: 15px;
    padding: 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    display: none;
    background: var(--rk-calc-danger);
    color: #ffffff;
    animation: pulseAlert 2s infinite;
}

@keyframes pulseAlert {
    0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
    70% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
    100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

/* Tabela Parametrów */
.rk-res-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-res-box {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    padding: 15px;
    border-radius: 14px;
}

.rk-res-box.accent {
    background: var(--rk-calc-dark);
    border-color: var(--rk-calc-dark);
}

.rk-res-box-label {
    font-size: 11px;
    color: var(--rk-calc-muted);
    font-weight: 800;
    text-transform: uppercase;
    display: block;
    margin-bottom: 5px;
}

.rk-res-box.accent .rk-res-box-label { color: #94a3b8; }

.rk-res-box-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

.rk-res-box.accent .rk-res-box-val { color: #ffffff; }

/* Pasek strat ciepła */
.rk-loss-bar-wrap {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-calc-border);
}

.rk-loss-bar-title {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-calc-muted);
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.rk-loss-bar {
    height: 12px;
    display: flex;
    border-radius: 6px;
    overflow: hidden;
    background: #e2e8f0;
}

.rk-lb-segment { height: 100%; transition: width 0.5s ease; }
.rk-lb-w { background: var(--rk-calc-brand); }
.rk-lb-r { background: #38bdf8; }
.rk-lb-f { background: var(--rk-calc-accent); }
.rk-lb-v { background: #94a3b8; }

.rk-loss-legend {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-size: 10px;
    font-weight: 700;
    color: var(--rk-calc-muted);
}

.rk-leg-item { display: flex; align-items: center; gap: 4px; }
.rk-leg-dot { width: 8px; height: 8px; border-radius: 50%; }

/* Sekcja Info Tekstowego & CTA */
.rk-calc-footer {
    background: #ffffff;
    border-top: 1px solid var(--rk-calc-border);
    padding: 40px 45px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-calc-info-text {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-calc-text);
    background: var(--rk-calc-brand-light);
    padding: 20px;
    border-left: 4px solid var(--rk-calc-brand);
    border-radius: 0 12px 12px 0;
    margin: 0;
}

.rk-calc-info-text a {
    color: var(--rk-calc-brand);
    font-weight: 700;
    text-decoration: underline;
}

.rk-calc-actions {
    display: flex;
    gap: 20px;
    align-items: center;
}

.rk-btn-primary {
    background: var(--rk-calc-accent);
    color: #ffffff;
    padding: 16px 30px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.4);
    transition: all 0.3s;
    border: none;
    cursor: pointer;
}

.rk-btn-primary:hover {
    transform: translateY(-3px);
    background: #ea580c;
    box-shadow: 0 15px 25px -5px rgba(249, 115, 22, 0.5);
}

@media (max-width: 900px) {
    .rk-calc-body { grid-template-columns: 1fr; }
    .rk-calc-head { padding: 35px 25px; }
    .rk-calc-controls { padding: 30px 20px; border-right: none; border-bottom: 1px solid var(--rk-calc-border); }
    .rk-calc-results { padding: 30px 20px; }
    .rk-calc-footer { padding: 30px 20px; }
    .rk-calc-actions { flex-direction: column; }
    .rk-btn-primary { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-calculator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Kalkulator strat ciepła budynku online – oblicz zapotrzebowanie na ogrzewanie",
    "description": "Profesjonalny symulator OZC. Oblicz zapotrzebowanie na moc (W/m2), długość pętli grzewczych i dobierz optymalną temperaturę zasilania dla pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-calculator",
    "name": "Szacunkowe Parametry Wykonawcze Ogrzewania Podłogowego",
    "description": "Zbiór obliczonych parametrów hydraulicznych i termicznych wygenerowanych na podstawie wprowadzonych wskaźników izolacyjności przegród budowlanych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "zapotrzebowanie cieplne W/m2",
      "dobór pompy obiegowej",
      "planowanie pętli grzewczych",
      "kosztorys ogrzewania podłogowego",
      "temperatura zasilania podłogówki"
    ],
    "measurementTechnique": "Szacowanie heurystyczne bazujące na uproszczonych wzorach normy PN-EN 12831, przeliczające sumę strat przez przenikanie i wentylację na metraż instalacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wynik > 95 W/m2 wskazuje na wysokie ryzyko niedogrzania samym systemem podłogowym.",
        "Zapotrzebowanie określa średnią wymaganą ilość mb rury instalacyjnej.",
        "Moc całkowita determinuje dobór mocy źródła ciepła (pompy ciepła)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-calculator",
    "name": "Zaawansowany Symulator Zapotrzebowania Cieplnego",
    "description": "Interaktywna aplikacja inżynierska wizualizująca na żywo zmiany parametrów instalacyjnych (temperatura, rozstaw rur) w zależności od grubości ocieplenia i rodzaju posadzki.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript enabled browser.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-wrapper" id="rk-calc-app">
    <div class="rk-calc-head">
        <div class="rk-calc-badge">Narzędzie Inżynierskie</div>
        <h2>Kalkulator strat ciepła budynku online – oblicz zapotrzebowanie na ogrzewanie</h2>
        <p>Wprowadź gabaryty swojego budynku oraz parametry przegród, aby błyskawicznie oszacować moc grzewczą i optymalne parametry pracy pętli podłogowych. Pamiętaj, że uzyskane wyniki mają <strong>charakter wyłącznie poglądowy</strong> i nie zastępują profesjonalnego projektu (OZC).</p>
    </div>

    <div class="rk-calc-body">
        
        <div class="rk-calc-controls">
            
            <div class="rk-calc-section-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>
                1. Standard energetyczny
            </div>
            <div class="rk-calc-btn-group">
                <div class="rk-calc-opt-btn active" onclick="rkSetPreset('new', this)">
                    <svg class="rk-calc-opt-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="11" width="18" height="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg>
                    <span class="rk-calc-opt-text">Nowy Dom<br>(WT 2021)</span>
                </div>
                <div class="rk-calc-opt-btn" onclick="rkSetPreset('mod', this)">
                    <svg class="rk-calc-opt-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    <span class="rk-calc-opt-text">Docieplony<br>(Modernizacja)</span>
                </div>
                <div class="rk-calc-opt-btn" onclick="rkSetPreset('old', this)">
                    <svg class="rk-calc-opt-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    <span class="rk-calc-opt-text">Stary Dom<br>(Bez izolacji)</span>
                </div>
            </div>

            <div class="rk-calc-section-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="4" y1="12" x2="20" y2="12"></line><line x1="12" y1="4" x2="12" y2="20"></line></svg>
                2. Geometria i Fizyka budowli
            </div>
            
            <div class="rk-slider-wrap">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Powierzchnia ogrzewana</span>
                    <span class="rk-slider-val"><span id="rk-v-area">140</span> m²</span>
                </div>
                <input type="range" id="rk-area" class="rk-range-input" min="40" max="300" value="140" oninput="rkUpdateCalc()">
            </div>

            <div class="rk-slider-wrap">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Strefa Klimatyczna</span>
                    <span class="rk-slider-val">Strefa <span id="rk-v-zone">III</span> (<span id="rk-v-temp">-20</span>°C)</span>
                </div>
                <input type="range" id="rk-zone" class="rk-range-input" min="1" max="5" step="1" value="3" oninput="rkUpdateCalc()">
            </div>

            <div class="rk-slider-wrap">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Wsp. przenikania Ścian (U)</span>
                    <span class="rk-slider-val" id="rk-v-walls">0.18</span>
                </div>
                <input type="range" id="rk-walls" class="rk-range-input" min="0.1" max="1.5" step="0.01" value="0.18" oninput="rkUpdateCalc()">
            </div>

            <div class="rk-slider-wrap">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Wsp. przenikania Dachu (U)</span>
                    <span class="rk-slider-val" id="rk-v-roof">0.15</span>
                </div>
                <input type="range" id="rk-roof" class="rk-range-input" min="0.1" max="1.0" step="0.01" value="0.15" oninput="rkUpdateCalc()">
            </div>

            <div class="rk-slider-wrap">
                <div class="rk-slider-header">
                    <span class="rk-slider-label">Wsp. przenikania Podłogi (U)</span>
                    <span class="rk-slider-val" id="rk-v-floor">0.25</span>
                </div>
                <input type="range" id="rk-floor" class="rk-range-input" min="0.1" max="1.5" step="0.01" value="0.25" oninput="rkUpdateCalc()">
            </div>

            <div class="rk-calc-section-title">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                3. Wykończenie posadzki
            </div>
            <div class="rk-calc-btn-group">
                <div class="rk-calc-opt-btn active" id="rk-f-tiles" onclick="rkSetFloor(0.02, 'tiles')">
                    <span class="rk-calc-opt-text">PŁYTKI/GRES</span>
                </div>
                <div class="rk-calc-opt-btn" id="rk-f-panels" onclick="rkSetFloor(0.08, 'panels')">
                    <span class="rk-calc-opt-text">PANELE</span>
                </div>
                <div class="rk-calc-opt-btn" id="rk-f-wood" onclick="rkSetFloor(0.12, 'wood')">
                    <span class="rk-calc-opt-text">DESKA</span>
                </div>
            </div>

        </div>

        <div class="rk-calc-results">
            
            <div class="rk-res-main-card">
                <div class="rk-res-gauge">
                    <svg viewBox="0 0 100 50" width="100%" height="100%">
                        <path class="rk-gauge-path-bg" d="M 10 50 A 40 40 0 0 1 90 50" />
                        <path class="rk-gauge-path-val" id="rk-gauge-val" d="M 10 50 A 40 40 0 0 1 90 50" stroke-dasharray="125.6" stroke-dashoffset="125.6" />
                    </svg>
                </div>
                <div class="rk-res-huge" id="rk-res-m2">--</div>
                <div class="rk-res-unit">Watów na m² (W/m²)</div>
                <div class="rk-res-alert" id="rk-alert-msg">
                    ⚠️ Krytyczne zapotrzebowanie. Sama instalacja podłogowa nie dogrzeje budynku w mrozy.
                </div>
            </div>

            <div class="rk-res-grid">
                <div class="rk-res-box">
                    <span class="rk-res-box-label">Moc całkowita instalacji</span>
                    <span class="rk-res-box-val" id="rk-res-total">-- kW</span>
                </div>
                <div class="rk-res-box accent">
                    <span class="rk-res-box-label">Sugerowany rozstaw rur</span>
                    <span class="rk-res-box-val" id="rk-res-spacing">-- cm</span>
                </div>
                <div class="rk-res-box">
                    <span class="rk-res-box-label">Temp. zasilania (Tz)</span>
                    <span class="rk-res-box-val" id="rk-res-tz" style="color:var(--rk-calc-accent)">-- °C</span>
                </div>
                <div class="rk-res-box">
                    <span class="rk-res-box-label">Ilość mb rury PEX (ok.)</span>
                    <span class="rk-res-box-val" id="rk-res-pipe">-- mb</span>
                </div>
            </div>

            <div class="rk-loss-bar-wrap">
                <span class="rk-loss-bar-title">Rozkład ucieczki ciepła</span>
                <div class="rk-loss-bar">
                    <div class="rk-lb-segment rk-lb-w" id="rk-bar-w" style="width: 0%"></div>
                    <div class="rk-lb-segment rk-lb-r" id="rk-bar-r" style="width: 0%"></div>
                    <div class="rk-lb-segment rk-lb-f" id="rk-bar-f" style="width: 0%"></div>
                    <div class="rk-lb-segment rk-lb-v" id="rk-bar-v" style="width: 0%"></div>
                </div>
                <div class="rk-loss-legend">
                    <div class="rk-leg-item"><div class="rk-leg-dot rk-lb-w"></div> Ściany</div>
                    <div class="rk-leg-item"><div class="rk-leg-dot rk-lb-r"></div> Dach</div>
                    <div class="rk-leg-item"><div class="rk-leg-dot rk-lb-f"></div> Podłoga</div>
                    <div class="rk-leg-item"><div class="rk-leg-dot rk-lb-v"></div> Wentylacja</div>
                </div>
            </div>

        </div>

    </div>

    <div class="rk-calc-footer">
        <h3>Jak czytać wyniki symulacji OZC?</h3>
        <p class="rk-calc-info-text">
            <strong>Zanim zamówisz materiały lub projekt, musisz oszacować zapotrzebowanie energetyczne!</strong> 
            Wyniki powyżej pokazują teoretyczne granice dla Twojego budynku i mają <strong>charakter poglądowy</strong>. Zbyt wysokie obciążenie (powyżej 80 W/m²) wymusi gęste układanie rur, a w efekcie zakup potężniejszego urządzenia grzewczego. Aby nie zgadywać w ciemno, bazuj na profesjonalnych wyliczeniach. Zastanów się zresztą sam: projekt "z głowy" czy pełny projekt inżynierski z obliczeniami strat? Różnica w kosztach późniejszej eksploatacji jest kolosalna.
        </p>
        <div class="rk-calc-actions">
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-primary">
                ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
            </a>
        </div>
    </div>

</div>

<script>
let rkActiveR = 0.02;
const rkZTemps = { 1: -16, 2: -18, 3: -20, 4: -22, 5: -24 };
const rkZNames = { 1: "I", 2: "II", 3: "III", 4: "IV", 5: "V" };

function rkSetPreset(type, el) {
    document.querySelectorAll('.rk-calc-btn-group')[0].querySelectorAll('.rk-calc-opt-btn').forEach(b => b.classList.remove('active'));
    el.classList.add('active');
    
    const p = {
        new: { w: 0.18, r: 0.15, f: 0.25 },
        mod: { w: 0.35, r: 0.25, f: 0.40 },
        old: { w: 1.10, r: 0.80, f: 1.00 }
    };
    
    document.getElementById('rk-walls').value = p[type].w;
    document.getElementById('rk-roof').value = p[type].r;
    document.getElementById('rk-floor').value = p[type].f;
    rkUpdateCalc();
}

function rkSetFloor(r, id) {
    rkActiveR = r;
    const btns = document.querySelectorAll('.rk-calc-btn-group')[1].querySelectorAll('.rk-calc-opt-btn');
    btns.forEach(b => b.classList.remove('active'));
    document.getElementById('rk-f-'+id).classList.add('active');
    rkUpdateCalc();
}

function rkUpdateCalc() {
    const area = parseFloat(document.getElementById('rk-area').value);
    const zone = document.getElementById('rk-zone').value;
    const uWalls = parseFloat(document.getElementById('rk-walls').value);
    const uRoof = parseFloat(document.getElementById('rk-roof').value);
    const uFloor = parseFloat(document.getElementById('rk-floor').value);
    
    const deltaT = 20 - rkZTemps[zone];
    
    // Update labels
    document.getElementById('rk-v-area').innerText = area;
    document.getElementById('rk-v-zone').innerText = rkZNames[zone];
    document.getElementById('rk-v-temp').innerText = rkZTemps[zone];
    document.getElementById('rk-v-walls').innerText = uWalls.toFixed(2);
    document.getElementById('rk-v-roof').innerText = uRoof.toFixed(2);
    document.getElementById('rk-v-floor').innerText = uFloor.toFixed(2);

    // Calc logic
    const qWalls = (area * 1.5) * uWalls * deltaT; // uśrednione ściany
    const qRoof = area * uRoof * deltaT;
    const qFloor = area * uFloor * 15; // stałe dt dla gruntu
    const qVent = 0.34 * (area * 2.6) * 0.5 * deltaT; // grawitacyjna went.
    
    const total = (qWalls + qRoof + qFloor + qVent) * 1.1; // +10% mostki
    const wm2 = total / area;

    // UI Updates
    document.getElementById('rk-res-m2').innerText = Math.round(wm2);
    document.getElementById('rk-res-total').innerText = (total / 1000).toFixed(2);

    // Gauge Update (Max 150 W/m2 for scale)
    const gaugeValPath = document.getElementById('rk-gauge-val');
    const circumference = 125.6; // pi * r (r=40) for semi-circle
    let pct = wm2 / 150;
    if(pct > 1) pct = 1;
    const offset = circumference - (pct * circumference);
    gaugeValPath.style.strokeDashoffset = offset;

    const alertMsg = document.getElementById('rk-alert-msg');
    if(wm2 > 95) {
        gaugeValPath.style.stroke = "var(--rk-calc-danger)";
        alertMsg.style.display = "block";
    } else if (wm2 > 65) {
        gaugeValPath.style.stroke = "var(--rk-calc-warning)";
        alertMsg.style.display = "none";
    } else {
        gaugeValPath.style.stroke = "var(--rk-calc-success)";
        alertMsg.style.display = "none";
    }

    // Parameters
    let spacing = (wm2 > 70 || rkActiveR > 0.08) ? 10 : 15;
    document.getElementById('rk-res-spacing').innerText = spacing;

    let tz = 20 + (wm2 * (0.12 + rkActiveR));
    tz = Math.min(55, Math.max(28, tz));
    document.getElementById('rk-res-tz').innerText = Math.round(tz) + " °C";

    const pipe = area * (100 / spacing) * 1.05;
    document.getElementById('rk-res-pipe').innerText = Math.round(pipe);

    // Bars
    document.getElementById('rk-bar-w').style.width = (qWalls/total*100) + "%";
    document.getElementById('rk-bar-r').style.width = (qRoof/total*100) + "%";
    document.getElementById('rk-bar-f').style.width = (qFloor/total*100) + "%";
    document.getElementById('rk-bar-v').style.width = (qVent/total*100) + "%";
}

// Init on load
document.addEventListener('DOMContentLoaded', rkUpdateCalc);
</script>



<style>
/* STYLE DLA SEKCJI HERO I WSTĘPU */
:root {
    --primary: #0f172a;
    --accent: #2563eb;
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f8fafc;
    --border-color: #e2e8f0;
}

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

/* 1. HERO BOX */
.premium-hero-box {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    position: relative;
    margin-bottom: 50px;
}

.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, rgba(37,99,235,0.06) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
    transform: translate(30%, -30%);
    z-index: 0;
}

.hero-content {
    position: relative;
    z-index: 1;
    padding: 50px 55px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #eff6ff;
    color: var(--accent);
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
    border: 1px solid #bfdbfe;
}

.hero-title {
    margin-top: 0;
    margin-bottom: 25px;
    font-size: 36px;
    font-weight: 900;
    line-height: 1.2;
    color: var(--primary);
}

.hero-text {
    font-size: 17px;
    line-height: 1.8;
    color: #475569;
    margin-bottom: 20px;
}

.hero-text strong {
    color: var(--primary);
}

.hero-text:last-of-type {
    margin-bottom: 0;
}

/* 2. KARTY - 4 CZYNNIKI */
.factors-section {
    padding: 20px 0;
}

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

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

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

.factors-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.factor-card {
    background: #ffffff;
    border: 2px solid var(--border-color);
    border-radius: 20px;
    padding: 35px 30px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    position: relative;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
}

.factor-card:hover {
    border-color: var(--accent);
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -10px rgba(37, 99, 235, 0.15);
}

.factor-icon {
    width: 56px;
    height: 56px;
    background: #eff6ff;
    color: var(--accent);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    margin-bottom: 25px;
    transition: transform 0.4s;
}

.factor-card:hover .factor-icon {
    transform: scale(1.1) rotate(-5deg);
}

.factor-card h4 {
    margin: 0 0 15px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.3;
}

.factor-card p {
    margin: 0 0 20px 0;
    font-size: 15px;
    line-height: 1.65;
    color: #475569;
}

.factor-example {
    background: #f8fafc;
    padding: 18px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--accent);
    font-size: 14px;
    color: #334155;
    line-height: 1.6;
    margin-top: auto;
}

.factor-example strong {
    color: var(--primary);
    display: block;
    margin-bottom: 5px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.formula-box {
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    padding: 10px;
    border-radius: 8px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    margin-top: 10px;
    text-align: center;
}

/* Wyróżnienia kolorystyczne dla konkretnych kart */
.card-iso .factor-example { border-left-color: var(--success); }
.card-iso .factor-icon { background: #dcfce7; color: var(--success); }

.card-flow .factor-example { border-left-color: var(--accent); }

.card-len .factor-example { border-left-color: var(--danger); }
.card-len .factor-icon { background: #fee2e2; color: var(--danger); }

.card-pump .factor-example { border-left-color: var(--warning); }
.card-pump .factor-icon { background: #ffedd5; color: var(--warning); }

/* KREATYWNE CTA */
.rk-prm-cta-box {
    margin-top: 50px;
    background: linear-gradient(135deg, #2563eb 0%, #1e3a8a 100%);
    border-radius: 20px;
    padding: 40px 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    color: #ffffff;
    box-shadow: 0 15px 30px -10px rgba(37, 99, 235, 0.4);
}

.rk-prm-cta-text h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 900;
}

.rk-prm-cta-text p {
    margin: 0;
    font-size: 15px;
    opacity: 0.9;
    max-width: 500px;
    line-height: 1.6;
}

.rk-prm-btn-massive {
    background: #ffffff;
    color: var(--accent);
    padding: 18px 30px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    transition: all 0.3s;
}

.rk-prm-btn-massive:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 25px rgba(0,0,0,0.2);
    background: #f8fafc;
}

@media (max-width: 900px) {
    .hero-content { padding: 40px 30px; }
    .hero-title { font-size: 28px; }
    .factors-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-prm-cta-box { flex-direction: column; text-align: center; padding: 35px 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#projekt-hydrauliczny",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Jak wyniki z kalkulatora strat ciepła wpływają na projekt ogrzewania podłogowego?",
    "description": "Przełożenie obciążenia cieplnego na parametry hydrauliczne: rozstaw rur PEX, rotametry, długość pętli oraz dobór pompy ciepła i bufora.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-hydraulika",
    "name": "Wytyczne Hydrauliczne Projektowania Ogrzewania Podłogowego",
    "description": "Techniczne korelacje pomiędzy zapotrzebowaniem energetycznym budynku a ustawieniami przepływów, długością pętli i doborem elementów maszynowni.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego parametry",
      "rozstaw rur w ogrzewaniu podłogowym",
      "maksymalna długość pętli ogrzewania podłogowego",
      "ustawienie przepływów na rotametrach",
      "dobór pompy ciepła i bufora"
    ],
    "measurementTechnique": "Konwersja obciążenia cieplnego (W/m2) na przepływy masowe przy zakładanym spadku temperatury dT=5K oraz wyznaczanie oporów hydraulicznych pętli.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw rur: 20 cm dla <45 W/m2, 15 cm dla 50-80 W/m2, 10 cm dla stref brzegowych.",
        "Przepływ masowy (l/min) wyliczany z proporcji Mocy i delta T (ΔT).",
        "Maksymalna długość pojedynczej pętli rury 16x2.0 mm: 100-120 mb w celu ograniczenia oporów poniżej 20 kPa.",
        "Sumaryczna moc budynku warunkuje moc grzewczą pompy ciepła w punkcie biwalencyjnym."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-hydraulika",
    "name": "Przewodnik Parametrów Projektowych",
    "description": "Narzędzie tłumaczące inżynierskie przełożenie wyników audytu OZC na fizyczne elementy instalacji ogrzewania podłogowego (rury, rozdzielacze, bufory).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="premium-intro-module" id="intro-hero-app">
    
    <div class="premium-hero-box">
        <div class="hero-content">
            <div class="hero-badge">
                <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                Inżynieria w praktyce
            </div>
            
            <h2 class="hero-title">Jak wyniki z kalkulatora strat ciepła wpływają na projekt ogrzewania podłogowego?</h2>
            
            <p class="hero-text">Wprowadzenie dokładnych danych z kalkulatora strat ciepła budynku jest fundamentem do wykonania poprawnego, profesjonalnego projektu instalacji ogrzewania podłogowego.</p>
            
            <p class="hero-text">Wynik całkowitego obciążenia cieplnego (<strong>Q<sub>total</sub></strong>) oraz wskaźniki jednostkowe (<strong>W/m²</strong>) determinują kluczowe parametry hydrauliczne i montażowe układu wodnego, eliminując kosztowne błędy wykonawcze.</p>
        </div>
    </div>

    <div class="factors-section">
        <div class="factors-header">
            <h2>Przełożenie wyników na 4 parametry hydrauliczne projektu</h2>
            <p>Zobacz, jak wartości uzyskane z kalkulatora bezpośrednio determinują dobór komponentów i zasady montażu w Twoim domu.</p>
        </div>
        
        <div class="factors-grid">
            
            <div class="factor-card card-iso">
                <div class="factor-icon">📏</div>
                <h4>Dobór rozstawu rur (zagęszczenie wężownicy)</h4>
                <p>Wskaźniki jednostkowe zapotrzebowania z kalkulatora (ilość W/m²) bezpośrednio decydują o zagęszczeniu rur. Prawidłowy dobór gwarantuje, że podłoga odda dokładnie tyle ciepła, ile potrzebuje pomieszczenie w mroźne dni.</p>
                <div class="factor-example">
                    <strong>Zasady rozstawu:</strong>
                    • &lt; 45 W/m² → Rozstaw co <strong>20 cm</strong> (domy energooszczędne).<br>
                    • 50-80 W/m² → Rozstaw co <strong>15 cm</strong> (standard).<br>
                    • &gt; 80 W/m² lub duże okna → Zagęszczenie co <strong>10 cm</strong> (strefy brzegowe).
                </div>
            </div>

            <div class="factor-card card-flow">
                <div class="factor-icon">⚖️</div>
                <h4>Wyznaczenie przepływów masowych (rotametry)</h4>
                <p>Dokładna moc pętli z OZC pozwala wyliczyć wymagany przepływ wody na belce rozdzielacza. Tę wartość hydraulik musi precyzyjnie ustawić na rotametrze podczas procedury równoważenia instalacji.</p>
                <div class="factor-example">
                    <strong>Przykład z projektu:</strong>
                    Dla pętli o mocy Q = 1200 W i spadku temperatury ΔT = 5 K, wymagany przepływ wynosi:
                    <div class="formula-box">
                        ṁ = Q / (c · ΔT) = 1200 / (1,163 · 5) = 206,3 kg/h ≈ 3,43 l/min
                    </div>
                </div>
            </div>

            <div class="factor-card card-len">
                <div class="factor-icon">🛑</div>
                <h4>Maksymalna długość pętli grzewczej</h4>
                <p>Projektant, znając przepływy i wynikowe straty ciepła, dzieli powierzchnię posadzki na sekcje. Robi to tak, aby nie przekroczyć granicznych oporów hydraulicznych, z którymi nie poradzi sobie pompa obiegowa.</p>
                <div class="factor-example">
                    <strong>Limit inżynierski:</strong>
                    Pojedyncza pętla z popularnej rury o średnicy 16 mm <strong>nie może przekroczyć 100-120 metrów długości</strong>. Dłuższa rura wygeneruje opory powyżej 20 kPa, powodując efekt „zimnej podłogi” na końcu obiegu w salonie.
                </div>
            </div>

            <div class="factor-card card-pump">
                <div class="factor-icon">⚙️</div>
                <h4>Dobór pompy ciepła i bufora</h4>
                <p>Całkowita moc budynku uzyskana z kalkulatora (np. 7,5 kW dla skrajnej temperatury -20°C) wskazuje wprost inwestorowi i projektantowi, jakiej klasy mocowej model pompy ciepła należy zakupić.</p>
                <div class="factor-example">
                    <strong>Dlaczego to jest ważne?</strong>
                    Precyzyjny dobór mocy zapobiega instalacji urządzeń zbyt dużych (przewymiarowanych), które ulegają przyspieszonym awariom z powodu tzw. taktowania kompresora. Wyznacza też wymaganą minimalną pojemność bufora dla procesu defrostu.
                </div>
            </div>

        </div>
    </div>

    <div class="rk-prm-cta-box">
        <div class="rk-prm-cta-text">
            <h3>Koniec z szacowaniem "na oko"!</h3>
            <p>Nie pozwól instalatorowi układać rur bez rzetelnego, matematycznego planu. Zainwestuj w pełny projekt inżynierski OZC, który zbilansuje każdy litr wody w Twoim domu. <strong>To jedyna gwarancja niskich rachunków.</strong></p>
        </div>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-prm-btn-massive">
            Zamów Kompletny Projekt
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>

</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('intro-hero-app');
        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; border-radius: 24px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Treść chroniona prawem autorskim</h3>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-bottom: 25px;">Ten moduł jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został wdrożony na nieautoryzowanej domenie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
    }
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-panel: #1e293b;
    --rk-err-danger: #ef4444; 
    --rk-err-danger-light: #fef2f2;
    --rk-err-warn: #f59e0b; 
    --rk-err-safe: #10b981; 
    --rk-err-blue: #3b82f6; 
    --rk-err-bg: #ffffff;
    --rk-err-border: #e2e8f0;
    --rk-err-text: #334155;
    --rk-err-muted: #64748b;
}

.rk-err-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-err-header {
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #450a0a 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-err-danger);
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 165, 165, 0.2);
}

.rk-err-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 10px 0;
}

.rk-err-title span { color: #f87171; }

.rk-err-subtitle {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    max-width: 700px;
    line-height: 1.6;
}

/* Moduł Interaktywny */
.rk-err-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
}

/* Lista błędów (Lewa Kolumna) */
.rk-err-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-err-btn {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    padding: 18px 20px;
    border-radius: 16px;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    position: relative;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-err-btn:hover {
    border-color: var(--rk-err-danger);
    transform: translateX(4px);
}

.rk-err-btn.active {
    background: var(--rk-err-danger-light);
    border-color: var(--rk-err-danger);
    box-shadow: inset 4px 0 0 var(--rk-err-danger), 0 10px 20px -5px rgba(239, 68, 68, 0.15);
}

.rk-err-icon {
    width: 32px;
    height: 32px;
    background: #f1f5f9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-muted);
    flex-shrink: 0;
    transition: 0.3s;
}

.rk-err-btn.active .rk-err-icon {
    background: var(--rk-err-danger);
    color: #ffffff;
}

.rk-err-btn-text h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-err-dark);
}

.rk-err-btn-text p {
    margin: 0;
    font-size: 12px;
    color: var(--rk-err-muted);
    line-height: 1.4;
}

/* Karty CTA (Długi Ogon - Wypełnienie Pustego Miejsca na lewym pasku) */
.rk-err-cta-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-radius: 14px;
    padding: 18px 20px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border: 1px solid #334155;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
    margin-top: 5px;
}

.rk-err-cta-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.4);
    border-color: var(--rk-err-danger);
}

.err-cta-badge {
    font-size: 10px;
    color: #cbd5e1;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.err-cta-badge::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--rk-err-danger);
    border-radius: 50%;
}

.err-cta-title {
    font-size: 14px;
    color: #ffffff;
    font-weight: 700;
    line-height: 1.5;
    padding-right: 25px;
}

.err-cta-arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-err-danger);
    font-size: 18px;
    font-weight: bold;
    transition: right 0.3s;
}

.rk-err-cta-card:hover .err-cta-arrow {
    right: 15px;
}

/* Panel Detali (Prawa Kolumna - Zoptymalizowana pod Długi Ogon Tekstu) */
.rk-err-display {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-err-panel {
    display: none;
    flex-direction: column;
    height: 100%;
}

.rk-err-panel.active {
    display: flex;
    animation: fadeInScale 0.4s ease-out forwards;
}

@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.98); }
    to { opacity: 1; transform: scale(1); }
}

/* Treść Panelu Pełnotekstowego */
.rk-err-content {
    padding: 40px 45px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.rk-err-content h3 {
    margin: 0 0 20px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

.rk-err-content p {
    margin: 0 0 18px 0;
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-err-text);
}

.rk-err-content strong {
    color: var(--rk-err-dark);
    font-weight: 800;
}

.rk-err-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--rk-err-danger);
    font-weight: 800;
    font-size: 15px;
    text-decoration: none;
    margin-top: 15px;
    padding-top: 25px;
    border-top: 1px dashed var(--rk-err-border);
    transition: color 0.3s;
}

.rk-err-link:hover { color: #991b1b; }
.rk-err-link svg { transition: transform 0.3s; }
.rk-err-link:hover svg { transform: translateX(5px); }

@media (max-width: 768px) {
    .rk-err-header { padding: 35px 25px; }
    .rk-err-title { font-size: 24px; }
    .rk-err-interactive { padding: 25px; }
    .rk-err-grid { grid-template-columns: 1fr; }
    .rk-err-content { padding: 30px 25px; }
    .rk-err-content h3 { font-size: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-bledy-szacowania",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Najczęstsze błędy inwestorów przy samodzielnym szacowaniu zapotrzebowania na ciepło",
    "description": "Kluczowe pułapki podczas obliczania strat cieplnych: ignorowanie izolacji brzegowej, błędna kubatura do strat wentylacyjnych, zła strefa klimatyczna oraz wpływ wylewki na bezwładność.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-bledy",
    "name": "Rejestr Błędów Szacunkowych Zapotrzebowania Cieplnego",
    "description": "Wykaz najczęstszych odchyleń w samodzielnych audytach energetycznych wpływających na przewymiarowanie pomp ciepła i nieefektywność instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy obliczeniowe OZC",
      "grubość wylewki a straty ciepła",
      "izolacja brzegowa podłogówki",
      "strefa klimatyczna w Polsce",
      "straty wentylacyjne kubatura",
      "straty ciepła przez duże przeszklenia",
      "temperatura w łazience 24 stopnie"
    ],
    "measurementTechnique": "Weryfikacja parametrów audytowych poprzez porównanie wskaźników normatywnych z błędnymi założeniami inwestorskimi.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Fałszywy wskaźnik 50 W/m2 przy dużych przeszkleniach północnych.",
        "Generowanie masywnej bezwładności przez wylewki grubsze niż 6 cm.",
        "Zawyżanie kubatury wentylacyjnej przez przyjmowanie wysokości stanu surowego.",
        "Przemarzanie stref przez brak ciągłości izolacji brzegowej.",
        "Przyjmowanie uniwersalnej strefy klimatycznej zamiast lokalnej temperatury projektowej.",
        "Ignorowanie wyższej temperatury docelowej (+24°C) dla łazienek w bilansie."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-error-scanner",
    "name": "Przegląd Błędów Obliczeniowych HVAC",
    "description": "Narzędzie nawigacyjne demaskujące wpływ niewłaściwych założeń architektonicznych i materiałowych na błędy w kalkulatorach zapotrzebowania cieplnego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-app">
    
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Skaner Ryzyka Inwestycyjnego
        </div>
        <h2 class="rk-err-title">Najczęstsze błędy inwestorów przy <span>samodzielnym szacowaniu zapotrzebowania</span> na ciepło</h2>
        <p class="rk-err-subtitle">Nawet najlepszy kalkulator poda fałszywy wynik, jeśli wprowadzisz do niego błędne dane wejściowe. Zobacz 6 grzechów głównych, które zrujnują bilans energetyczny Twojego domu.</p>
    </div>

    <div class="rk-err-interactive">
        <div class="rk-err-grid">
            
            <div class="rk-err-list">
                
                <button class="rk-err-btn active" data-err="err-1">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="9" y1="3" x2="9" y2="21"></line></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Ślepa wiara w internet</h4>
                        <p>Ignorowanie dużych okien</p>
                    </div>
                </button>

                <button class="rk-err-btn" data-err="err-2">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Bezwładność wylewki</h4>
                        <p>Opór grubego betonu</p>
                    </div>
                </button>

                <button class="rk-err-btn" data-err="err-3">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Błędy kubaturowe</h4>
                        <p>Stan surowy vs gotowy</p>
                    </div>
                </button>

                <button class="rk-err-btn" data-err="err-4">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M5 12.55a11 11 0 0 1 14.08 0"></path><path d="M1.42 9a16 16 0 0 1 21.16 0"></path><path d="M8.53 16.11a6 6 0 0 1 6.95 0"></path><line x1="12" y1="20" x2="12.01" y2="20"></line></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Mostki termiczne</h4>
                        <p>Brak izolacji brzegowej</p>
                    </div>
                </button>

                <button class="rk-err-btn" data-err="err-5">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Zła strefa klimatyczna</h4>
                        <p>Błąd na ΔT i temperaturze</p>
                    </div>
                </button>

                <button class="rk-err-btn" data-err="err-6">
                    <div class="rk-err-icon">
                        <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z"></path></svg>
                    </div>
                    <div class="rk-err-btn-text">
                        <h4>Niedogrzana łazienka</h4>
                        <p>Ignorowanie normy +24°C</p>
                    </div>
                </button>

                <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/" class="rk-err-cta-card">
                    <div class="err-cta-badge">Kalkulacje a okładzina</div>
                    <div class="err-cta-title">Panele czy Płytki? Poznaj wpływ na efektywność instalacji</div>
                    <div class="err-cta-arrow">➔</div>
                </a>

                <a href="https://projekt-ogrzewania.pl/samodzielny-montaz-ogrzewania-podlogowego-5-bledow-ktorych-nie-naprawisz-po-wylewce/" class="rk-err-cta-card">
                    <div class="err-cta-badge">Ostrzeżenie Inżyniera</div>
                    <div class="err-cta-title">5 Błędów montażu, których nie naprawisz po wylewce</div>
                    <div class="err-cta-arrow">➔</div>
                </a>

            </div>

            <div class="rk-err-display">
                
                <div class="rk-err-panel active" id="err-1">
                    <div class="rk-err-content">
                        <h3>Przyjmowanie uśrednionych wskaźników z internetu</h3>
                        <p>Projektowanie instalacji na bazie ogólnikowego hasła „każdy nowy dom potrzebuje 50 W/m²” to proszenie się o kłopoty. Ignorowanie wielkości okien to błąd kardynalny. Dom z dużymi przeszkleniami od strony północnej może potrzebować w strefie przyokiennej potężnego zastrzyku mocy – w najchłodniejsze dni nawet do 90 W/m².</p>
                        <p><strong>Dlaczego duże okna tarasowe (np. typu HS) generują problemy?</strong> Przeszklenia mają zazwyczaj 3-4 krotnie gorszy współczynnik przenikania ciepła (U) niż dobrze ocieplona ściana zewnętrzna. Oznacza to, że salon z oknem na całą ścianę wychładza się drastycznie szybciej. Aby skompensować te <strong>straty ciepła przez duże przeszklenia</strong>, konieczne jest wyznaczenie precyzyjnej <strong>strefy brzegowej obwodowej w ogrzewaniu podłogowym</strong> z gęstszym rozstawem rur (najczęściej co 10 cm, a czasem nawet co 5 cm). Profesjonalny kalkulator strat ciepła budynku zawsze oddziela przegrody przezroczyste od pełnych ścian, co pozwala bezbłędnie zoptymalizować późniejszy projekt inżynierski.</p>
                        <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-do-domu-z-duzymi-przeszkleniami-jak-poradzic-sobie-ze-strefa-przy-oknach/" class="rk-err-link">
                            Zarządzaj strefą brzegową przy oknach 
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

                <div class="rk-err-panel" id="err-2">
                    <div class="rk-err-content">
                        <h3>Nieuwzględnianie grubości i rodzaju wylewki</h3>
                        <p>Zbyt gruba wylewka betonowa (np. wylanie 10 cm standardowego betonu z miksokreta zamiast optymalnych 5-6 cm specjalistycznego jastrychu) drastycznie zaburza parametry. Kalkulator musi koniecznie uwzględniać ten opór cieplny warstwy nad rurami, inaczej oszacowana temperatura zasilania z kotła okaże się niewystarczająca do efektywnego przebicia grubej warstwy budulca i nagrzania posadzki.</p>
                        <p><strong>Jaka wylewka na ogrzewanie podłogowe sprawdzi się najlepiej?</strong> Wybór materiału ma kluczowy wpływ na roczne rachunki. Jastrych anhydrytowy charakteryzuje się znacznie wyższym współczynnikiem przewodzenia ciepła (λ) i płynną konsystencją, która idealnie, bez pęcherzyków powietrza otula rury PEX lub PERT. Znacznie mniejsza <strong>bezwładność cieplna w ogrzewaniu podłogowym</strong> z wylewką anhydrytową pozwala systemowi szybciej reagować na nagłe zmiany pogody, zmniejszając zużycie prądu przez pompę ciepła.</p>
                        <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-err-link">
                            Optymalna grubość wylewki – parametry i normy
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

                <div class="rk-err-panel" id="err-3">
                    <div class="rk-err-content">
                        <h3>Błędne obliczanie kubatury do strat wentylacyjnych</h3>
                        <p>To powszechny, klasyczny błąd przy samodzielnych wyliczeniach! Przyjmowanie wysokości pomieszczeń bezpośrednio z rzutów architektonicznych z fazy stanu surowego (np. wpisywanie w tabelę 2,80 m lub 3,00 m) zamiast wartości docelowej netto po wykonaniu grubych izolacji podłóg styropianem, wylaniu jastrychu oraz montażu sufitów podwieszanych (gdzie realna wysokość wynosi np. 2,55 m). Taki pozornie drobny błąd sztucznie podnosi wynik w kalkulatorze o kilkanaście procent.</p>
                        <p><strong>Jak oblicza się straty cieplne w budynkach z rekuperacją?</strong> Precyzyjna kubatura przestrzeni powietrznej jest fundamentalna przy wentylacji mechanicznej z odzyskiem ciepła. Markowy rekuperator potrafi odzyskać ponad 80% ciepła z wywiewanego powietrza z pomieszczeń. Błędnie zawyżona objętość zmusza do projektowania większych, niepotrzebnych przepływów powietrza oraz potężnie zakłamuje <strong>projektowe obciążenie cieplne (OZC)</strong>. Skutek? Kupujesz mocniejszą, dużo droższą pompę ciepła, która przez cały sezon będzie fatalnie taktować, pracując na zwolnionych obrotach.</p>
                        <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-err-link">
                            Poznaj wpływ rekuperacji na obciążenie OZC
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

                <div class="rk-err-panel" id="err-4">
                    <div class="rk-err-content">
                        <h3>Ignorowanie izolacji brzegowej i fundamentowej</h3>
                        <p>Pomijanie mocy uciekającej niekontrolowanie przez boki i krawędzie nagrzanej płyty grzewczej do otoczenia to inżynierski koszmar. Brak grubej, elastycznej pianki dylatacyjnej umieszczonej na stykach wylewki ze ścianami zewnętrznymi generuje potężny obwodowy mostek termiczny. To tędy najczęściej i bezpowrotnie ucieka energia na zewnątrz budynku, co często wywołuje ekstremalne wychłodzenie cokołów i powstawanie pleśni.</p>
                        <p><strong>Ile styropianu pod ogrzewanie podłogowe na gruncie?</strong> Absolutną bazą jest doskonała izolacja termiczna kładziona bezpośrednio na folii przeciwwilgociowej (standard WT to obecnie około 15-20 cm twardego styropianu rzędu EPS 100). Jej głównym zadaniem jest zablokowanie przekazywania ciepła w dół do gruntu. Z kolei profesjonalna <strong>izolacja brzegowa i dylatacje w instalacji ogrzewania podłogowego</strong> pełnią podwójną misję: jako amortyzator mechaniczny przejmują naprężenia termiczne rozszerzającego się jastrychu (zapobiegając pękaniu posadzki), oraz stanowią kluczową fizyczną blokadę cieplną pomiędzy płytą a murowanymi, zimnymi ścianami.</p>
                        <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-err-link">
                            Sprawdź zasady dylatacji i izolacji brzegowej 
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

                <div class="rk-err-panel" id="err-5">
                    <div class="rk-err-content">
                        <h3>Błędne przypisanie strefy klimatycznej</h3>
                        <p>Polska nie jest jednolita termicznie! Wpisanie do kalkulatora domyślnej wartości -20°C dla inwestycji w Szczecinie (Strefa I: -16°C) zafałszuje wynik w górę. Z kolei dla inwestycji w Suwałkach (Strefa V: -24°C) instalacja zostanie dramatycznie niedoszacowana, co doprowadzi do przemarzania budynku.</p>
                        <p><strong>Jak strefa klimatyczna w Polsce wpływa na wynik kalkulatora strat ciepła?</strong> Różnica temperatur (ΔT) między wnętrzem a otoczeniem jest głównym i najsilniejszym mnożnikiem we wzorze na przenikanie. Błędne określenie dokładnej <strong>projektowej temperatury zewnętrznej</strong> sprawi, że sztucznie wyliczone zapotrzebowanie wymusi na Tobie zakup pompy ciepła o niewłaściwej mocy – a przesterowane urządzenie szybciej ulegnie kosztownej awarii kompresora.</p>
                        <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" class="rk-err-link">
                            Sprawdź podział na strefy klimatyczne i normę PN-EN 12831
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

                <div class="rk-err-panel" id="err-6">
                    <div class="rk-err-content">
                        <h3>Ignorowanie wyższej temperatury docelowej w łazience</h3>
                        <p>Inwestorzy często liczą całą powierzchnię domu ryczałtowo, przyjmując wszędzie standardowe +20°C. Tymczasem zgodnie ze sztuką inżynierską oraz prawem budowlanym, docelowa temperatura komfortu w łazience musi wynosić +24°C. Różnica zaledwie 4 stopni potężnie zmienia i zawyża bilans cieplny dla tego pomieszczenia.</p>
                        <p><strong>Dlaczego łazienka wymaga innych obliczeń strat ciepła w kalkulatorze budowlanym?</strong> Wyższa delta temperatur (ΔT) oznacza drastycznie szybszą ucieczkę energii przez ściany i wentylację. Co gorsza, w łazience użyteczna, fizyczna powierzchnia wylewki pod <strong>ogrzewanie podłogowe</strong> jest mocno ograniczona przez stałą zabudowę (wanna, brodzik bez progu, szafki, stelaże WC). Wymusza to na projektancie OZC skrajne zagęszczenie rur grzewczych (często co 5-10 cm) oraz w 90% przypadków dodanie dedykowanego ściennego grzejnika elektrycznego do suszenia ręczników.</p>
                        <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/" class="rk-err-link">
                            Zobacz jak gęsto układać rury podłogówki w łazience
                            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
                        </a>
                    </div>
                </div>

            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btns = document.querySelectorAll('.rk-err-btn');
    const panels = document.querySelectorAll('.rk-err-panel');

    // Obsługa zakładek błędów
    btns.forEach(btn => {
        btn.addEventListener('click', () => {
            btns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            btn.classList.add('active');
            const targetId = btn.getAttribute('data-err');
            const targetPanel = document.getElementById(targetId);
            
            if(targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-panel: #1e293b;
    --rk-case-brand: #0284c7; /* Sky blue - techniczny i górski */
    --rk-case-brand-light: #f0f9ff;
    --rk-case-accent: #f59e0b; /* Bursztyn - ogrzewanie */
    --rk-case-danger: #ef4444; 
    --rk-case-success: #10b981; 
    --rk-case-bg: #ffffff;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #334155;
    --rk-case-muted: #64748b;
}

.rk-case-wrapper {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid rgba(2, 132, 199, 0.3);
    overflow: hidden;
    color: var(--rk-case-dark);
}

/* Nagłówek Sekcji */
.rk-case-header {
    background: linear-gradient(135deg, var(--rk-case-dark) 0%, #082f49 100%);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-case-brand);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #7dd3fc;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-case-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0 0 15px 0;
}

.rk-case-title span { color: #38bdf8; }

.rk-case-intro {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.7;
    max-width: 800px;
}

/* Moduł Interaktywny */
.rk-case-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-case-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

/* Kontrolki - Lewa strona */
.rk-case-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-case-ctrl-box {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-case-ctrl-title {
    font-size: 15px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Przełączniki Suwakowe */
.rk-case-slider-wrap {
    position: relative;
    padding-top: 10px;
}

.rk-case-range {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    outline: none;
}

.rk-case-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #ffffff;
    border: 4px solid var(--rk-case-brand);
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}

.rk-case-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-case-muted);
}

/* Przełączniki Kafelkowe (Okładzina) */
.rk-case-btn-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rk-case-opt-btn {
    background: #f1f5f9;
    border: 2px solid transparent;
    padding: 12px;
    border-radius: 10px;
    text-align: center;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-muted);
    cursor: pointer;
    transition: 0.3s;
}

.rk-case-opt-btn.active {
    background: var(--rk-case-brand-light);
    border-color: var(--rk-case-brand);
    color: var(--rk-case-brand);
}

/* Wyniki - Prawa strona */
.rk-case-results {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-case-visual {
    background: var(--rk-case-dark);
    border-radius: 16px;
    border: 3px solid #334155;
    height: 200px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 40px rgba(0,0,0,0.6);
}

.rk-case-svg {
    width: 100%;
    height: 100%;
}

.rk-case-data-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-case-card {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    padding: 15px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-case-card.highlight {
    background: var(--rk-case-dark);
    border-color: var(--rk-case-dark);
}

.rk-case-card-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-case-muted);
    margin-bottom: 5px;
}

.rk-case-card.highlight .rk-case-card-label { color: #94a3b8; }

.rk-case-card-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-card.highlight .rk-case-card-val { color: #ffffff; font-size: 22px; }

/* Informacja podsumowująca i CTA */
.rk-case-content {
    padding: 0 50px 40px 50px;
    background: #f8fafc;
}

.rk-case-text-box {
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 20px;
}

.rk-case-text-box h3 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-text-box p {
    margin: 0 0 15px 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--rk-case-text);
}

.rk-case-text-box p:last-child { margin: 0; }

.rk-case-link {
    color: var(--rk-case-brand);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-case-link:hover { color: #0369a1; }

@media (max-width: 768px) {
    .rk-case-header, .rk-case-interactive, .rk-case-content { padding: 30px 20px; }
    .rk-case-title { font-size: 24px; }
    .rk-case-grid { grid-template-columns: 1fr; gap: 30px; }
    .rk-case-visual { height: 180px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#case-study-rabka",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Praktyczne Case Study: Obliczenia strat ciepła dla domu 150 m² w Rabce-Zdroju",
    "description": "Zobacz, jak trudne warunki klimatyczne (Strefa V) w Rabce-Zdroju wpływają na kalkulator zapotrzebowania na ogrzewanie, dobór pompy ciepła i rozstaw rur u inwestora Pana Zbigniewa.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-rabka",
    "name": "Analiza OZC: Case Study 150 m² Rabka Zdrój",
    "description": "Dane z symulacji obciążenia cieplnego dla budynku o pow. 150 m2 zlokalizowanego w V strefie klimatycznej (-24°C). Porównanie izolacji WT2021 ze starym budownictwem.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator strat ciepła Rabka",
      "zapotrzebowanie na ogrzewanie 150m2",
      "dobór pompy ciepła strefa V",
      "rozstaw rur w ogrzewaniu podłogowym",
      "projektowe obciążenie cieplne OZC"
    ],
    "measurementTechnique": "Szacowanie heurystyczne dla V strefy klimatycznej (ΔT = 44K) pokazujące wpływ standardu termicznego na całkowitą moc instalacji hydraulicznej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Nowy dom WT2021: ok. 50 W/m2, Moc PC: 7.5 kW, Rozstaw rur: 15 cm.",
        "Dom po termo: ok. 80 W/m2, Moc PC: 12.0 kW, Rozstaw rur: 10 cm.",
        "Stary dom: ok. 140 W/m2, Moc 21.0 kW. Ogrzewanie podłogowe niewystarczające bez docieplenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-rabka",
    "name": "Symulator Case Study - Pan Zbigniew (Rabka-Zdrój)",
    "description": "Interaktywny moduł edukacyjny wizualizujący wpływ wyboru izolacji i okładziny na temperaturę zasilania i kosztorys wykonawczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-case-app">
    
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle></svg>
            Case Study: Pan Zbigniew (150 m²)
        </div>
        <h2 class="rk-case-title">Praktyczne Case Study: Obliczenia strat ciepła <span>dla domu w Rabce-Zdroju</span></h2>
        <p class="rk-case-intro">Pan Zbigniew z Rabki-Zdroju (V strefa klimatyczna, projektowa temperatura -24°C) planuje montaż instalacji podłogowej dla 150 m². Zobacz, jak jego decyzje dotyczące izolacji i wyboru posadzki na etapie budowy wpływają na wyniki w kalkulatorze.</p>
    </div>

    <div class="rk-case-interactive">
        <div class="rk-case-grid">
            
            <div class="rk-case-controls">
                
                <div class="rk-case-ctrl-box">
                    <h3 class="rk-case-ctrl-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-case-brand)" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path></svg>
                        Standard izolacji budynku
                    </h3>
                    <div class="rk-case-slider-wrap">
                        <input type="range" class="rk-case-range" id="rk-case-iso" min="1" max="3" step="1" value="3" oninput="rkUpdateCase()">
                        <div class="rk-case-labels">
                            <span style="color:var(--rk-case-danger)">Stary (Brak)</span>
                            <span style="color:var(--rk-case-accent)">Po Termo</span>
                            <span style="color:var(--rk-case-success)">WT 2021 (Nowy)</span>
                        </div>
                    </div>
                </div>

                <div class="rk-case-ctrl-box">
                    <h3 class="rk-case-ctrl-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-case-brand)" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg>
                        Wybór okładziny posadzki
                    </h3>
                    <div class="rk-case-btn-group">
                        <div class="rk-case-opt-btn active" id="btn-case-tiles" onclick="rkSetCaseFloor('tiles')">Gres / Płytki</div>
                        <div class="rk-case-opt-btn" id="btn-case-panels" onclick="rkSetCaseFloor('panels')">Panele Laminowane</div>
                    </div>
                </div>

            </div>

            <div class="rk-case-results">
                
                <div class="rk-case-visual">
                    <svg class="rk-case-svg" viewBox="0 0 200 100">
                        <polygon points="0,100 40,30 80,100" fill="#1e293b"/>
                        <polygon points="60,100 120,20 180,100" fill="#334155"/>
                        <polygon points="140,100 180,50 220,100" fill="#1e293b"/>
                        <polygon points="40,30 25,55 55,55" fill="#f1f5f9"/>
                        <polygon points="120,20 95,50 145,50" fill="#e2e8f0"/>
                        
                        <rect x="75" y="60" width="50" height="40" fill="#ffffff" stroke="#cbd5e1" stroke-width="2"/>
                        <polygon points="70,60 100,40 130,60" fill="#ef4444" stroke="#dc2626" stroke-width="2"/>
                        <rect x="90" y="75" width="20" height="25" fill="#38bdf8" opacity="0.3" stroke="#0ea5e9" stroke-width="1"/>
                        
                        <rect x="20" y="20" width="10" height="40" rx="5" fill="#f8fafc" stroke="#cbd5e1" stroke-width="1"/>
                        <circle cx="25" cy="60" r="8" fill="#38bdf8"/>
                        <rect x="23" y="45" width="4" height="15" fill="#38bdf8"/>
                        <text x="38" y="64" fill="#f0f9ff" font-size="12" font-weight="bold">-24°C</text>
                    </svg>
                </div>

                <div class="rk-case-data-grid">
                    <div class="rk-case-card highlight">
                        <span class="rk-case-card-label">Zapotrzebowanie pokoju</span>
                        <span class="rk-case-card-val"><span id="val-case-wm2">50</span> <span style="font-size:14px">W/m²</span></span>
                    </div>
                    <div class="rk-case-card">
                        <span class="rk-case-card-label">Rozstaw rur PEX</span>
                        <span class="rk-case-card-val"><span id="val-case-spacing" style="color:var(--rk-case-brand)">co 15 cm</span></span>
                    </div>
                    <div class="rk-case-card">
                        <span class="rk-case-card-label">Moc Pompy Ciepła</span>
                        <span class="rk-case-card-val"><span id="val-case-kw">7.5</span> <span style="font-size:14px; color:var(--rk-case-muted)">kW</span></span>
                    </div>
                    <div class="rk-case-card">
                        <span class="rk-case-card-label">Temp. Zasilania (Tz)</span>
                        <span class="rk-case-card-val"><span id="val-case-tz" style="color:var(--rk-case-accent)">32°C</span></span>
                    </div>
                </div>

            </div>
        </div>
    </div>

    <div class="rk-case-content">
        
        <div class="rk-case-text-box">
            <h3>Wnioski z obliczeń strat ciepła dla lokalizacji górskiej</h3>
            <p>Rabka-Zdrój, z uwagi na przynależność do V strefy klimatycznej (projektowa temperatura -24°C), nakłada na inwestora znacznie surowsze wymogi fizyczne niż centralna Polska. Gdyby Pan Zbigniew użył taniego kalkulatora online ustawionego domyślnie na strefę III (-20°C), jego <strong>projektowe obciążenie cieplne (OZC)</strong> zostałoby niedoszacowane o ponad 10-15%. W praktyce oznaczałoby to wybór zbyt słabej pompy ciepła, która nie dałaby rady ogrzać domu 150 m² podczas siarczystych, styczniowych mrozów.</p>
        </div>

        <div class="rk-case-text-box" style="margin-bottom:0; border-color:var(--rk-case-brand);">
            <h3>Wpływ posadzki i rozstawu na portfel</h3>
            <p>Zwróć uwagę, co się dzieje, gdy Pan Zbigniew (przy bardzo dobrej izolacji WT2021) postanawia zmienić gres na panele laminowane. Ze względu na opór cieplny paneli, woda wychodząca z kotłowni musi być podgrzana o kilka stopni wyżej (Tz rośnie), aby przebić się przez warstwę izolatora. To wymusza gęstszy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-case-link">rozstaw rur w ogrzewaniu podłogowym</a> (z 15 cm robi się 10 cm), co podnosi koszty zakupu materiału hydraulicznego na całe 150 m².</p>
            <p>Jeżeli dom byłby stary, bez termomodernizacji, instalacja podłogowa w tym chłodnym regionie w ogóle by sobie nie poradziła – podłoga musiałaby zostać rozgrzana do niekomfortowych 35°C, a i tak potrzebne byłoby wsparcie przez <strong>kocioł gazowy</strong> lub dodatkowe grzejniki ścienne.</p>
        </div>

    </div>
</div>

<script>
let caseFloorType = 'tiles';

function rkSetCaseFloor(type) {
    caseFloorType = type;
    document.getElementById('btn-case-tiles').classList.remove('active');
    document.getElementById('btn-case-panels').classList.remove('active');
    document.getElementById('btn-case-' + type).classList.add('active');
    rkUpdateCase();
}

function rkUpdateCase() {
    const isoLevel = parseInt(document.getElementById('rk-case-iso').value);
    
    // Dane dla 150m2 w Rabce (-24st)
    let wm2, totalKw, spacing, baseTz;

    if(isoLevel === 1) {
        // Stary dom
        wm2 = 140;
        totalKw = 21.0;
        spacing = "Brak moliwości";
        baseTz = 55;
    } else if(isoLevel === 2) {
        // Po termo
        wm2 = 80;
        totalKw = 12.0;
        spacing = "co 10 cm";
        baseTz = 38;
    } else {
        // Nowy dom WT2021
        wm2 = 50;
        totalKw = 7.5;
        spacing = "co 15 cm";
        baseTz = 32;
    }

    // Korekta dla paneli
    if(caseFloorType === 'panels') {
        baseTz += 4;
        if(isoLevel === 3) spacing = "co 10 cm"; // panele wymuszają gęstszy rurę
    }

    // Zabezpieczenie wizualne przy braku możliwości
    if(isoLevel === 1) {
        document.getElementById('val-case-wm2').innerHTML = wm2 + " <span style='font-size:14px; color:#ef4444'>(Krytyczne)</span>";
        document.getElementById('val-case-spacing').innerText = "Wymagane grzejniki";
        document.getElementById('val-case-spacing').style.color = "#ef4444";
        document.getElementById('val-case-tz').innerText = ">50°C";
    } else {
        document.getElementById('val-case-wm2').innerText = wm2;
        document.getElementById('val-case-spacing').innerText = spacing;
        document.getElementById('val-case-spacing').style.color = "var(--rk-case-brand)";
        document.getElementById('val-case-tz').innerText = baseTz + "°C";
    }
    
    document.getElementById('val-case-kw').innerText = totalKw;
}

// Inicjalizacja
document.addEventListener('DOMContentLoaded', rkUpdateCase);
</script>



<style>
:root {
    --rk-hl-dark: #0f172a;
    --rk-hl-panel: #1e293b;
    --rk-hl-brand: #f97316; /* Energetyczny pomarańcz (Ciepło) */
    --rk-hl-brand-light: #ffedd5;
    --rk-hl-blue: #0ea5e9;  /* Chłodny niebieski (Zimno/Wentylacja) */
    --rk-hl-green: #10b981; /* Zielony (Optymalizacja/Sukces) */
    --rk-hl-bg: #ffffff;
    --rk-hl-border: #e2e8f0;
    --rk-hl-text: #334155;
    --rk-hl-muted: #64748b;
}

.rk-hl-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hl-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(249, 115, 22, 0.15);
    border: 1px solid rgba(249, 115, 22, 0.3);
    overflow: hidden;
}

/* Sekcja Cytatu Eksperckiego - Zoptymalizowana */
.rk-hl-quote-section {
    background: linear-gradient(145deg, var(--rk-hl-dark) 0%, #020617 100%);
    padding: 50px;
    position: relative;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-bottom: 5px solid var(--rk-hl-brand);
    overflow: hidden;
}

.rk-hl-quote-section::before {
    content: '"';
    position: absolute;
    top: -20px;
    left: 40px;
    font-size: 180px;
    font-family: serif;
    color: rgba(249, 115, 22, 0.1);
    line-height: 1;
    z-index: 0;
}

.rk-hl-quote-text {
    font-size: 24px;
    font-weight: 900;
    line-height: 1.5;
    margin: 0 0 25px 0;
    position: relative;
    z-index: 1;
    max-width: 850px;
}

.rk-hl-quote-text span {
    color: var(--rk-hl-brand);
}

.rk-hl-author-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    z-index: 1;
    background: rgba(255,255,255,0.05);
    padding: 10px 25px;
    border-radius: 99px;
    border: 1px solid rgba(255,255,255,0.1);
}

.rk-hl-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid var(--rk-hl-brand);
    object-fit: cover;
}

.rk-hl-author-info h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
}

.rk-hl-author-info p {
    margin: 0;
    font-size: 12px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
}

/* Interaktywny Moduł */
.rk-hl-interactive {
    padding: 40px;
    background: #f8fafc;
}

.rk-hl-interactive-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-hl-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-hl-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
    background: #ffffff;
    border: 1px solid var(--rk-hl-border);
    border-radius: 20px;
    padding: 15px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

/* Przyciski (Tabs) + Karta Długiego Ogona */
.rk-hl-tabs {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-hl-tab-btn {
    background: #f8fafc;
    border: 1px solid var(--rk-hl-border);
    padding: 18px 20px;
    border-radius: 14px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-hl-tab-btn:hover {
    border-color: var(--rk-hl-brand);
    background: var(--rk-hl-brand-light);
}

.rk-hl-tab-btn.active {
    background: var(--rk-hl-brand);
    border-color: var(--rk-hl-brand);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.4);
    transform: scale(1.02);
}

.rk-hl-tab-icon {
    width: 38px;
    height: 38px;
    background: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-hl-brand);
    flex-shrink: 0;
    transition: 0.3s;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.rk-hl-tab-btn.active .rk-hl-tab-icon {
    color: var(--rk-hl-brand);
}

.rk-hl-tab-text {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-hl-dark);
    transition: color 0.3s;
}

.rk-hl-tab-btn.active .rk-hl-tab-text {
    color: #ffffff;
}

/* Karta CTA (Długi Ogon - Wypełnienie Pustego Miejsca) */
.rk-hl-cta-card {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    border-radius: 14px;
    padding: 16px 20px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 10px;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    border: 1px solid #334155;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.rk-hl-cta-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(15, 23, 42, 0.4);
    border-color: var(--rk-hl-brand);
}

.cta-badge {
    font-size: 10px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 800;
    letter-spacing: 1px;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.cta-badge::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    background: var(--rk-hl-brand);
    border-radius: 50%;
}

.cta-title {
    font-size: 14px;
    color: #ffffff;
    font-weight: 700;
    line-height: 1.4;
    padding-right: 25px;
}

.cta-arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rk-hl-brand);
    font-size: 18px;
    font-weight: bold;
    transition: right 0.3s;
}

.rk-hl-cta-card:hover .cta-arrow {
    right: 15px;
}

/* Panele z Treścią */
.rk-hl-panels-container {
    position: relative;
    border-radius: 16px;
    background: #f8fafc;
    border: 1px solid var(--rk-hl-border);
    overflow: hidden;
}

.rk-hl-panel {
    display: none;
    padding: 35px;
    animation: slideFadeIn 0.4s ease-out forwards;
}

.rk-hl-panel.active {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

@keyframes slideFadeIn {
    from { opacity: 0; transform: translateY(15px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-hl-panel h4 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-hl-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-hl-panel p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-hl-text);
}

.rk-hl-link {
    color: var(--rk-hl-brand);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px dashed rgba(249, 115, 22, 0.4);
    transition: 0.3s;
}

.rk-hl-link:hover {
    color: #c2410c;
    border-bottom-style: solid;
}

/* Kontenery SVG */
.rk-hl-svg-box {
    width: 100%;
    height: 180px;
    background: var(--rk-hl-dark);
    border-radius: 12px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 30px rgba(0,0,0,0.6);
    border: 3px solid #334155;
    overflow: hidden;
}

.rk-svg-content {
    width: 100%;
    height: 100%;
}

/* SEKACJA AUTORSKA - PODPIS EKSPERTA (Przywrócona) */
.rk-hl-author-footer {
    background: #f1f5f9;
    padding: 30px 50px;
    display: flex;
    align-items: flex-start;
    gap: 25px;
    border-top: 1px solid var(--rk-hl-border);
}

.rk-hl-author-photo {
    width: 75px;
    height: 75px;
    border-radius: 50%;
    border: 3px solid var(--rk-hl-brand);
    box-shadow: 0 4px 15px rgba(249, 115, 22, 0.2);
    object-fit: cover;
    flex-shrink: 0;
}

.rk-hl-author-desc {
    flex-grow: 1;
}

.rk-hl-author-desc h4 {
    margin: 0 0 6px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-hl-dark);
}

.rk-hl-author-desc p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-hl-text);
    line-height: 1.6;
}

.rk-hl-social-links {
    display: flex;
    gap: 15px;
    margin-top: 12px;
}

.rk-hl-social-links a {
    color: var(--rk-hl-blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.rk-hl-social-links a:hover {
    color: #0284c7;
    text-decoration: underline;
}

/* Animacje SVG */

/* Tab 1: Przenikanie */
.anim-heat-escape { opacity: 0; }
.rk-hl-panel.active .anim-heat-escape { animation: heatEscape 2s ease-out infinite; }
.rk-hl-panel.active .d-1 { animation-delay: 0s; }
.rk-hl-panel.active .d-2 { animation-delay: 0.5s; }
.rk-hl-panel.active .d-3 { animation-delay: 1s; }

@keyframes heatEscape {
    0% { transform: translate(0, 0); opacity: 1; stroke: #f97316; }
    100% { transform: translate(var(--tx), var(--ty)); opacity: 0; stroke: #ef4444; }
}

/* Tab 2: Wentylacja */
.anim-fan-spin { transform-origin: center; }
.rk-hl-panel.active .anim-fan-spin { animation: fanSpin 3s linear infinite; }
@keyframes fanSpin { to { transform: rotate(360deg); } }

.anim-air-flow { stroke-dasharray: 10 10; animation: dashFlow 1s linear infinite; }
@keyframes dashFlow { to { stroke-dashoffset: -20; } }

/* Tab 3: Mostki termiczne */
.anim-thermal-bridge { fill: transparent; transition: fill 0.5s; }
.rk-hl-panel.active .anim-thermal-bridge { animation: pulseRed 1.5s infinite alternate; }
@keyframes pulseRed {
    0% { fill: rgba(239, 68, 68, 0.2); stroke: rgba(239, 68, 68, 0.5); }
    100% { fill: rgba(239, 68, 68, 0.8); stroke: rgba(239, 68, 68, 1); box-shadow: 0 0 10px red; }
}

/* Tab 4: Wynik */
.anim-power-bar { transform: scaleY(0); transform-origin: bottom; transition: transform 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) 0.3s; }
.rk-hl-panel.active .anim-power-bar { transform: scaleY(1); }

@media (max-width: 768px) {
    .rk-hl-quote-section { padding: 40px 20px; }
    .rk-hl-quote-text { font-size: 20px; }
    .rk-hl-interactive { padding: 30px 20px; }
    .rk-hl-grid { grid-template-columns: 1fr; gap: 20px; padding: 10px; }
    .rk-hl-tabs { flex-direction: row; flex-wrap: wrap; }
    .rk-hl-tab-btn { flex: 1 1 calc(50% - 5px); padding: 12px; flex-direction: column; text-align: center; gap: 8px; }
    .rk-hl-cta-card { flex: 1 1 100%; margin-top: 5px; }
    .rk-hl-tab-text { font-size: 13px; }
    .rk-hl-panel { padding: 25px 20px; }
    .rk-hl-svg-box { height: 150px; }
    
    /* Responsive dla stopki z autorem */
    .rk-hl-author-footer { flex-direction: column; text-align: center; padding: 30px 20px; align-items: center; }
    .rk-hl-social-links { justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-quote-summary",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Eksperckie Podsumowanie - Składowe Bilansu Cieplnego Budynku",
    "description": "Brak rzetelnych obliczeń strat ciepła to najdroższy błąd inwestora. Poznaj 4 główne składowe zapotrzebowania energetycznego warunkujące dobór pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC & Audytor OZE",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-heat-loss",
    "name": "Parametry Bilansu Cieplnego Budynku (PN-EN 12831)",
    "description": "Analiza składowych strat ciepła: przenikanie przez przegrody (U), straty wentylacyjne, wpływ mostków cieplnych oraz optymalizacja mocy grzewczej podłogówki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "straty ciepła przez przenikanie",
      "straty wentylacyjne z rekuperacją",
      "obliczenia mostków termicznych",
      "zapotrzebowanie mocy pompy ciepła",
      "wylewka i panele a moc podłogówki"
    ],
    "measurementTechnique": "Algorytm zgodny z normą PN-EN 12831 wyliczający sumaryczne obciążenie cieplne na podstawie izolacyjności przegród, krotności wymiany powietrza oraz oporu cieplnego posadzki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przenikanie (Qtr): Główna ucieczka energii przez ściany i okna. Decyduje o nim współczynnik U.",
        "Wentylacja (Qv): Straty powietrzne. Wentylacja grawitacyjna to nawet 40% strat, rekuperacja obniża je diametralnie.",
        "Mostki cieplne: Nieszczelności izolacji, standardowo dolicza się 10-15% nawiązki do zapotrzebowania bazowego.",
        "Moc końcowa: Wyznacza precyzyjny dobór mocy nominalnej pompy ciepła, zapobiegając taktowaniu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-heat-loss-guide",
    "name": "Interaktywny Przewodnik: Składowe Strat Ciepła",
    "description": "Narzędzie nawigacyjne rozbijające trudne wzory matematyczne OZC na 4 zrozumiałe czynniki decyzyjne z wykorzystaniem dynamicznych schematów SVG oraz linkowań optymalizacyjnych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hl-container" id="rk-hl-app">
    
    <div class="rk-hl-quote-section">
        <h2 class="rk-hl-quote-text">
            Brak rzetelnych obliczeń OZC to <span>najdroższy błąd</span> inwestora. Zgadywanie rozstawu rur, bagatelizowanie izolacji czy oporu paneli podłogowych zmusza pompę ciepła do pracy na nieefektywnych parametrach. <span>Matematyka budynku nigdy nie wybacza szacowania „na oko”.</span>
        </h2>
        <div class="rk-hl-author-bar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-hl-avatar" loading="lazy">
            <div class="rk-hl-author-info">
                <h3>Robert Kucharski</h3>
                <p>Inżynier HVAC & Audytor OZE</p>
            </div>
        </div>
    </div>

    <div class="rk-hl-interactive">
        <h3 class="rk-hl-interactive-title">Anatomia Bilansu Cieplnego (4 Składowe)</h3>
        
        <div class="rk-hl-grid">
            
            <div class="rk-hl-tabs">
                
                <button class="rk-hl-tab-btn active" data-tab="hl-1">
                    <div class="rk-hl-tab-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                    </div>
                    <span class="rk-hl-tab-text">1. Przenikanie (Ściany/Okna)</span>
                </button>

                <button class="rk-hl-tab-btn" data-tab="hl-2">
                    <div class="rk-hl-tab-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2"></path></svg>
                    </div>
                    <span class="rk-hl-tab-text">2. Straty Wentylacyjne</span>
                </button>

                <button class="rk-hl-tab-btn" data-tab="hl-3">
                    <div class="rk-hl-tab-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><circle cx="12" cy="13" r="2"></circle><line x1="12" y1="15" x2="12" y2="18"></line></svg>
                    </div>
                    <span class="rk-hl-tab-text">3. Mostki Cieplne (+10%)</span>
                </button>

                <button class="rk-hl-tab-btn" data-tab="hl-4">
                    <div class="rk-hl-tab-icon">
                        <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    </div>
                    <span class="rk-hl-tab-text">4. Wynik i Dobór Mocy</span>
                </button>

                <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/" class="rk-hl-cta-card">
                    <div class="cta-badge">Analiza OZC a okładzina</div>
                    <div class="cta-title">Panele czy Płytki? Opór cieplny a efektywność podłogówki</div>
                    <div class="cta-arrow">➔</div>
                </a>

            </div>

            <div class="rk-hl-panels-container">
                
                <div class="rk-hl-panel active" id="hl-1">
                    <h4>
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hl-brand)" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                        Straty przez przenikanie (U)
                    </h4>
                    <p>Wartość bazowa wyliczana ze wzoru (A × U × ΔT). Kluczowe znaczenie ma jakość izolacji (<a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" class="rk-hl-link">zgodnie z PN-EN 12831</a>) oraz prawidłowe przyjęcie strefy klimatycznej. Błąd w grubości styropianu drastycznie podnosi ucieczkę energii w zimowe noce.</p>
                    <div class="rk-hl-svg-box">
                        <svg class="rk-svg-content" viewBox="0 0 200 100">
                            <path d="M80 70 V 40 L100 25 L120 40 V 70 Z" fill="none" stroke="#64748b" stroke-width="3" stroke-linejoin="round"/>
                            <rect x="92" y="55" width="16" height="15" fill="none" stroke="#64748b" stroke-width="2"/>
                            <g style="--tx: -30px; --ty: -10px;" class="anim-heat-escape d-1">
                                <path d="M70 45 L50 40" stroke-width="3" stroke-linecap="round"/>
                                <polyline points="55 35 50 40 55 45" stroke-width="3" fill="none" stroke-linejoin="round"/>
                            </g>
                            <g style="--tx: 30px; --ty: -10px;" class="anim-heat-escape d-2">
                                <path d="M130 45 L150 40" stroke-width="3" stroke-linecap="round"/>
                                <polyline points="145 35 150 40 145 45" stroke-width="3" fill="none" stroke-linejoin="round"/>
                            </g>
                            <g style="--tx: 0px; --ty: -30px;" class="anim-heat-escape d-3">
                                <path d="M100 20 L100 0" stroke-width="3" stroke-linecap="round"/>
                                <polyline points="95 5 100 0 105 5" stroke-width="3" fill="none" stroke-linejoin="round"/>
                            </g>
                        </svg>
                    </div>
                </div>

                <div class="rk-hl-panel" id="hl-2">
                    <h4>
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hl-blue)" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Grawitacja vs Rekuperacja
                    </h4>
                    <p>W tradycyjnym domu wentylacja grawitacyjna wyrzuca w powietrze aż 40% wyprodukowanego ciepła! Zastosowanie odzysku ciepła (<a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/" class="rk-hl-link">rekuperacji</a>) redukuje to zapotrzebowanie drastycznie, pozwalając na montaż mniejszej pompy obiegowej.</p>
                    <div class="rk-hl-svg-box">
                        <svg class="rk-svg-content" viewBox="0 0 200 100">
                            <rect x="75" y="30" width="50" height="40" rx="4" fill="none" stroke="#94a3b8" stroke-width="3"/>
                            <line x1="75" y1="50" x2="125" y2="50" stroke="#94a3b8" stroke-width="2" stroke-dasharray="4 4"/>
                            <line x1="100" y1="30" x2="100" y2="70" stroke="#94a3b8" stroke-width="2" stroke-dasharray="4 4"/>
                            <path class="anim-air-flow" d="M 30 40 L 70 40" stroke="#0ea5e9" stroke-width="4" stroke-linecap="round"/>
                            <polyline points="65 35 70 40 65 45" fill="none" stroke="#0ea5e9" stroke-width="4" stroke-linejoin="round"/>
                            <path class="anim-air-flow" d="M 125 40 L 165 40" stroke="#f97316" stroke-width="4" stroke-linecap="round"/>
                            <polyline points="160 35 165 40 160 45" fill="none" stroke="#f97316" stroke-width="4" stroke-linejoin="round"/>
                            <g class="anim-fan-spin" style="transform-origin: 100px 50px;">
                                <circle cx="100" cy="50" r="12" fill="none" stroke="#64748b" stroke-width="2"/>
                                <line x1="100" y1="38" x2="100" y2="62" stroke="#64748b" stroke-width="2"/>
                                <line x1="88" y1="50" x2="112" y2="50" stroke="#64748b" stroke-width="2"/>
                            </g>
                        </svg>
                    </div>
                </div>

                <div class="rk-hl-panel" id="hl-3">
                    <h4>
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2.5"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polygon></svg>
                        Pułapka Mostków Termicznych
                    </h4>
                    <p>Żaden dom nie jest idealnym termosem. Brak izolacji na wieńcach, niedokładne ocieplenie podłogi na gruncie i nadproża okienne wymagają doliczenia od 10% do 15% narzutu w obliczeniach inżynierskich. Ich ignorowanie kończy się niedogrzaniem pokoi.</p>
                    <div class="rk-hl-svg-box">
                        <svg class="rk-svg-content" viewBox="0 0 200 100">
                            <path d="M 50 80 L 150 80 L 150 20" fill="none" stroke="#64748b" stroke-width="15" stroke-linecap="square"/>
                            <path d="M 50 65 L 135 65 L 135 20" fill="none" stroke="#334155" stroke-width="15" stroke-linecap="square"/>
                            <circle class="anim-thermal-bridge" cx="142" cy="72" r="15" stroke-width="3"/>
                            <path d="M 120 90 L 140 75" fill="none" stroke="#ef4444" stroke-width="2" stroke-dasharray="3 3"/>
                        </svg>
                    </div>
                </div>

                <div class="rk-hl-panel" id="hl-4">
                    <h4>
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-hl-green)" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Wynik: Niska Temperatura Zasilania
                    </h4>
                    <p>Zsumowanie wszystkich wartości daje ostateczny wskaźnik mocy (np. 6,5 kW). Prawidłowy bilans budynku jest <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/" class="rk-hl-link">fundamentem komfortu termicznego</a> i pozwala obniżyć <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" class="rk-hl-link">temperaturę zasilania na kotłowni do optymalnych 35°C</a>.</p>
                    <div class="rk-hl-svg-box">
                        <svg class="rk-svg-content" viewBox="0 0 200 100">
                            <line x1="40" y1="80" x2="160" y2="80" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="40" y1="80" x2="40" y2="20" stroke="#94a3b8" stroke-width="2"/>
                            <line x1="35" y1="40" x2="160" y2="40" stroke="#10b981" stroke-width="2" stroke-dasharray="5 5"/>
                            <text x="165" y="44" fill="#10b981" font-size="12" font-weight="bold">MAX 35°C</text>
                            <rect class="anim-power-bar" x="60" y="50" width="20" height="30" fill="#3b82f6" rx="2" style="transition-delay: 0.1s;"/>
                            <rect class="anim-power-bar" x="90" y="45" width="20" height="35" fill="#f59e0b" rx="2" style="transition-delay: 0.3s;"/>
                            <rect class="anim-power-bar" x="120" y="40" width="20" height="40" fill="#10b981" rx="2" style="transition-delay: 0.5s;"/>
                        </svg>
                    </div>
                </div>

            </div>
        </div>
    </div>
    
    <div class="rk-hl-author-footer">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - CEO i Projektant HVAC" class="rk-hl-author-photo" loading="lazy">
        <div class="rk-hl-author-desc">
            <h4>Robert Kucharski</h4>
            <p>CEO i twórca portalu Projekt-Ogrzewania.pl. Główny projektant i audytor instalacji HVAC. Wszystkie publikowane tu treści opieram na wieloletnim, praktycznym doświadczeniu zdobytym bezpośrednio na placach budowy. Moją misją jest dostarczanie twardej, inżynierskiej wiedzy, która na co dzień kształtuje decyzje tysięcy inwestorów i wykonawców w Polsce.</p>
            <div class="rk-hl-social-links">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                    LinkedIn
                </a>
                <a href="https://www.facebook.com/robert.kucharski.budowa.bez.sciemy" target="_blank" rel="noopener noreferrer">
                    <svg width="14" height="14" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
                    Facebook
                </a>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabs = document.querySelectorAll('.rk-hl-tab-btn');
    const panels = document.querySelectorAll('.rk-hl-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Czyszczenie klas aktywnych
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Ustawienie aktualnego elementu
            tab.classList.add('active');
            const targetId = tab.getAttribute('data-tab');
            const targetPanel = document.getElementById(targetId);
            
            if(targetPanel) {
                // Restart animacji CSS dla wykresów SVG
                void targetPanel.offsetWidth;
                targetPanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-qa-dark: #0f172a;
    --rk-qa-card: #ffffff;
    --rk-qa-emerald: #059669; /* Ekspercki Szmaragd */
    --rk-qa-emerald-light: #d1fae5;
    --rk-qa-accent: #0284c7; /* Cyjan dla przełamania */
    --rk-qa-bg: #f8fafc;
    --rk-qa-border: #cbd5e1;
    --rk-qa-text: #334155;
}

.rk-qa-container {
    max-width: 950px;
    margin: 50px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-qa-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(5, 150, 105, 0.1);
    border: 1px solid rgba(5, 150, 105, 0.2);
    overflow: hidden;
}

/* Nagłówek */
.rk-qa-header {
    background: linear-gradient(135deg, var(--rk-qa-dark) 0%, #1e293b 100%);
    padding: 40px 50px;
    color: #ffffff;
    position: relative;
    border-bottom: 5px solid var(--rk-qa-emerald);
}

.rk-qa-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(5, 150, 105, 0.2);
    color: #6ee7b7;
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(110, 231, 183, 0.2);
}

.rk-qa-title {
    font-size: 28px;
    font-weight: 900;
    line-height: 1.3;
    margin: 0;
}

.rk-qa-title span { color: #34d399; }

/* Akordeon */
.rk-qa-interactive {
    padding: 40px 50px;
}

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

.rk-qa-item {
    background: var(--rk-qa-card);
    border: 1px solid var(--rk-qa-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-qa-item.active {
    border-color: var(--rk-qa-emerald);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.1);
}

.rk-qa-question {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 22px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-qa-dark);
    transition: background 0.3s;
}

.rk-qa-question:hover {
    background: #f1f5f9;
}

.rk-qa-item.active .rk-qa-question {
    background: var(--rk-qa-emerald-light);
    color: #064e3b;
}

.rk-qa-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #e2e8f0;
    color: var(--rk-qa-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s, color 0.3s;
}

.rk-qa-item.active .rk-qa-icon {
    background: var(--rk-qa-emerald);
    color: #ffffff;
    transform: rotate(135deg);
}

/* Kontener Odpowiedzi */
.rk-qa-answer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-qa-item.active .rk-qa-answer-wrapper {
    grid-template-rows: 1fr;
}

.rk-qa-answer-inner {
    overflow: hidden;
}

.rk-qa-content {
    padding: 30px;
    border-top: 1px solid var(--rk-qa-border);
    display: grid;
    grid-template-columns: 1fr 220px;
    gap: 35px;
    align-items: center;
}

.rk-qa-text {
    font-size: 15px;
    line-height: 1.8;
    color: var(--rk-qa-text);
}

.rk-qa-text strong {
    font-weight: 800;
    color: var(--rk-qa-dark);
}

.rk-link {
    color: var(--rk-qa-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: all 0.3s;
}

.rk-link:hover {
    border-bottom-color: var(--rk-qa-accent);
}

/* Wizualizacje SVG */
.rk-qa-visual {
    background: #f8fafc;
    border-radius: 16px;
    padding: 15px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px dashed var(--rk-qa-border);
    position: relative;
}

.rk-qa-item.active .rk-qa-visual {
    border-color: var(--rk-qa-emerald);
    background: #ffffff;
}

.rk-svg-box {
    width: 100%;
    height: 100%;
}

/* Animacje SVG */
/* 1. OZC vs Kalkulator */
.anim-scan { stroke-dasharray: 150; stroke-dashoffset: 150; transition: stroke-dashoffset 1s ease-in-out; }
.rk-qa-item.active .anim-scan { stroke-dashoffset: 0; stroke: var(--rk-qa-emerald); }

/* 2. PEX Length */
.anim-grid-line { stroke-dasharray: 50; stroke-dashoffset: 50; }
.rk-qa-item.active .anim-grid-line { animation: drawGrid 1.5s forwards; stroke: var(--rk-qa-accent); }
@keyframes drawGrid { to { stroke-dashoffset: 0; } }

/* 3. Thermometer */
.anim-mercury { transform: scaleY(0.4); transform-origin: bottom; transition: transform 1s cubic-bezier(0.34, 1.56, 0.64, 1); fill: #ef4444; }
.rk-qa-item.active .anim-mercury { transform: scaleY(0.7); }

/* 4. Density */
.anim-dense-pipe { transition: transform 0.5s ease-out; }
.rk-qa-item.active .pipe-l { transform: translateX(5px); }
.rk-qa-item.active .pipe-r { transform: translateX(-5px); stroke: #ef4444; }

/* 5. Screed */
.anim-screed-layer { opacity: 0.3; transition: opacity 1s, fill 1s; }
.rk-qa-item.active .anim-screed-layer { opacity: 1; fill: #d1fae5; }

@media (max-width: 768px) {
    .rk-qa-header, .rk-qa-interactive { padding: 25px 20px; }
    .rk-qa-title { font-size: 24px; }
    .rk-qa-content { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .rk-qa-visual { height: 130px; max-width: 250px; margin: 0 auto; width: 100%; }
    .rk-qa-question { font-size: 15px; padding: 18px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "FAQ – Eksperckie odpowiedzi o straty ciepła i parametry podłogówki",
    "description": "Najczęstsze pytania inwestorów dotyczące OZC, rozstawu rur PEX, temperatur zasilania oraz wpływu wylewki na działanie kalkulatora strat ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-faq",
    "name": "Zestawienie normatywne: Zapotrzebowanie cieplne a parametry podłogówki",
    "description": "Techniczne dane referencyjne wiążące zapotrzebowanie budynku na moc (W/m2) z ilością rury, temperaturą maksymalną zasilania oraz wymaganiami OZC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator strat ciepła online",
      "zapotrzebowanie W/m2",
      "zużycie rury PEX na m2",
      "maksymalna temperatura podłogówki",
      "wylewka anhydrytowa a moc"
    ],
    "measurementTechnique": "Obliczenia analityczne i heurystyczne oparte na wytycznych normy PN-EN 12831 oraz PN-EN 1264, porównujące wyniki z kalkulatorów internetowych z profesjonalnym OZC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 15 cm wymaga 6,7 mb rury PEX na 1 m2.",
        "Rozstaw 10 cm wymaga 10 mb rury PEX na 1 m2.",
        "Maksymalna temperatura zasilania podłogówki wg normy to 50 stopni Celsjusza.",
        "Graniczne zapotrzebowanie cieplne dla samej podłogówki to ok. 100 W/m2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-faq",
    "name": "Interaktywne FAQ - Parametry Projektowe Ogrzewania",
    "description": "Interaktywny moduł edukacyjny prezentujący zagadnienia hydrauliczne i cieplne przy użyciu animacji wektorowych i technicznych zestawień danych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy darmowy kalkulator strat ciepła online może zastąpić oficjalne OZC?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, darmowy kalkulator służy wyłącznie do wstępnej weryfikacji koncepcji i oszacowania kosztów. Oficjalne Obliczeniowe Zapotrzebowanie na Ciepło (OZC) wykonane przez inżyniera jest dokumentem prawnym wymaganym przy wnioskach o dotacje z programu „Czyste Powietrze” oraz przy precyzyjnym doborze pompy ciepła."
        }
      },
      {
        "@type": "Question",
        "name": "Ile rury PEX potrzeba na 1 m² ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Ilość rury zależy ściśle od jej rozstawu wynikającego z obliczeń strat ciepła. Przy rozstawie co 15 cm zużycie wynosi średnio 6,7 metra bieżącego na m², natomiast przy zagęszczeniu co 10 cm (np. w łazienkach lub strefach brzegowych) wzrasta do 10 metrów bieżących na m²."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest maksymalna temperatura zasilania dla ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Maksymalna dopuszczalna temperatura zasilania wodą grzewczą wynosi 50°C według normy PN-EN 1264. W optymalnie zaprojektowanych systemach dla domów energooszczędnych temperatura ta nie przekracza jednak 35°C w najzimniejszy dzień roku."
        }
      },
      {
        "@type": "Question",
        "name": "Czy przy wysokim zapotrzebowaniu na ciepło (>100 W/m²) można w nieskończoność zagęszczać rury?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie. Zagęszczanie rur ma swoje fizyczne i hydrauliczne granice. Zejście poniżej rozstawu 10 cm na całej powierzchni generuje ogromne opory, których nie pokona standardowa pompa obiegowa. Przy stratach rzędu 100 W/m² konieczna jest termomodernizacja lub wsparcie instalacji tradycyjnymi grzejnikami ściennymi."
        }
      },
      {
        "@type": "Question",
        "name": "Jak rodzaj wylewki wpływa na skuteczność wyników z kalkulatora?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wybór wylewki drastycznie zmienia parametry pracy. Wylewka anhydrytowa ma niemal dwukrotnie wyższy współczynnik przewodzenia ciepła niż beton z miksokreta. Pozwala to na znacznie szybsze przekazywanie energii do pomieszczenia i utrzymanie niższej, bardziej oszczędnej temperatury zasilania na źródle ciepła."
        }
      }
    ]
  }
]
</script>

<div class="rk-qa-container" id="rk-qa-app">
    <div class="rk-qa-header">
        <div class="rk-qa-badge">
            <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Inżynierskie Q&A
        </div>
        <h2 class="rk-qa-title">FAQ – <span>Najczęściej zadawane pytania</span></h2>
    </div>

    <div class="rk-qa-interactive">
        <div class="rk-qa-list">
            
            <div class="rk-qa-item">
                <button class="rk-qa-question">
                    <span>1. Czy darmowy kalkulator strat ciepła online może zastąpić oficjalne OZC?</span>
                    <div class="rk-qa-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-qa-answer-wrapper">
                    <div class="rk-qa-answer-inner">
                        <div class="rk-qa-content">
                            <div class="rk-qa-text">
                                Nie, darmowy kalkulator służy wyłącznie do <strong>wstępnej weryfikacji koncepcji</strong> i oszacowania kosztów. Oficjalne <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-link">Obliczeniowe Zapotrzebowanie na Ciepło (OZC)</a> wykonane przez wykwalifikowanego inżyniera jest szczegółowym dokumentem prawnym. Jest on bezwzględnie wymagany przy wnioskach o dotacje z programu „Czyste Powietrze” oraz stanowi jedyną bezpieczną podstawę przy precyzyjnym doborze mocy pompy ciepła.
                            </div>
                            <div class="rk-qa-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="20" y="10" width="60" height="50" rx="4" fill="none" stroke="#94a3b8" stroke-width="3"/>
                                    <path d="M30 25 h30 M30 35 h40 M30 45 h20" stroke="#cbd5e1" stroke-width="3" stroke-linecap="round"/>
                                    <path class="anim-scan" d="M10 35 h80" stroke-width="4" stroke-linecap="round"/>
                                    <circle cx="70" cy="45" r="8" fill="#10b981"/>
                                    <path d="M66 45 l3 3 l5 -5" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-qa-item">
                <button class="rk-qa-question">
                    <span>2. Ile rury PEX potrzeba na 1 m² ogrzewania podłogowego?</span>
                    <div class="rk-qa-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-qa-answer-wrapper">
                    <div class="rk-qa-answer-inner">
                        <div class="rk-qa-content">
                            <div class="rk-qa-text">
                                Ilość rury zależy ściśle od jej rozstawu wynikającego z obliczeń strat ciepła. Przy najpopularniejszym rozstawie <strong>co 15 cm</strong> zużycie wynosi średnio <strong>6,7 metra bieżącego na m²</strong>. Z kolei przy zagęszczeniu <strong>co 10 cm</strong> (stosowanym np. w łazienkach, strefach brzegowych lub pod pompy ciepła) wzrasta do <strong>10 mb na m²</strong>. W precyzyjnym wyliczeniu materiału na cały dom pomoże Ci dedykowany <a href="https://projekt-ogrzewania.pl/kalkulator-do-obliczania-ilosci-metrow-rury-potrzebnych-do-ogrzewania-podlogowego/" class="rk-link">kalkulator długości rur</a>.
                            </div>
                            <div class="rk-qa-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <path class="anim-grid-line" d="M20 20 h60 M20 35 h60 M20 50 h60" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.1s;"/>
                                    <path class="anim-grid-line" d="M30 10 v50 M50 10 v50 M70 10 v50" fill="none" stroke-width="3" stroke-linecap="round" style="animation-delay: 0.4s;"/>
                                    <circle cx="50" cy="35" r="15" fill="none" stroke="var(--rk-qa-emerald)" stroke-width="4" stroke-dasharray="10 5"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-qa-item">
                <button class="rk-qa-question">
                    <span>3. Jaka jest maksymalna temperatura zasilania dla ogrzewania podłogowego?</span>
                    <div class="rk-qa-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-qa-answer-wrapper">
                    <div class="rk-qa-answer-inner">
                        <div class="rk-qa-content">
                            <div class="rk-qa-text">
                                Maksymalna, bezpieczna dla jastrychu i instalacji temperatura zasilania wodą grzewczą wynosi <strong>50°C</strong> – wartość tę ściśle reguluje norma <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/" class="rk-link">PN-EN 1264</a>. Warto jednak pamiętać, że w nowym budownictwie o dobrym standardzie izolacji, optymalnie zaprojektowany system rzadko przekracza <strong>32–35°C</strong> w najzimniejsze dni w roku, co gwarantuje najwyższy komfort i energooszczędność.
                            </div>
                            <div class="rk-qa-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="40" y="10" width="20" height="40" rx="10" fill="none" stroke="#94a3b8" stroke-width="3"/>
                                    <circle cx="50" cy="50" r="12" fill="none" stroke="#94a3b8" stroke-width="3"/>
                                    <rect class="anim-mercury" x="44" y="20" width="12" height="30" rx="6"/>
                                    <circle cx="50" cy="50" r="8" fill="#ef4444"/>
                                    <line x1="65" y1="20" x2="75" y2="20" stroke="#ef4444" stroke-width="2"/>
                                    <text x="80" y="24" font-size="12" fill="#ef4444" font-weight="bold">50°</text>
                                    <line x1="65" y1="35" x2="70" y2="35" stroke="#10b981" stroke-width="2"/>
                                    <text x="75" y="39" font-size="12" fill="#10b981" font-weight="bold">35°</text>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-qa-item">
                <button class="rk-qa-question">
                    <span>4. Czy przy wysokim zapotrzebowaniu na ciepło (>100 W/m²) można w nieskończoność zagęszczać rury?</span>
                    <div class="rk-qa-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-qa-answer-wrapper">
                    <div class="rk-qa-answer-inner">
                        <div class="rk-qa-content">
                            <div class="rk-qa-text">
                                Zdecydowanie <strong>nie</strong>. <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-link">Rozstaw rur w ogrzewaniu podłogowym</a> ma swoje fizyczne i hydrauliczne ograniczenia. Zejście poniżej rozstawu 10 cm na dużej powierzchni generuje tak potężne opory tłoczenia wody, z którymi nie poradzi sobie standardowa pompa obiegowa, a ponadto powierzchnia posadzki przekroczy dopuszczalne 29°C. Jeśli zapotrzebowanie budynku przebija 100 W/m², system płaszczyznowy musi być wspomagany grzejnikami lub dom wymaga bezwzględnej termomodernizacji.
                            </div>
                            <div class="rk-qa-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <circle class="pipe-l" cx="30" cy="35" r="10" fill="none" stroke="#64748b" stroke-width="4"/>
                                    <circle class="pipe-r" cx="70" cy="35" r="10" fill="none" stroke="#64748b" stroke-width="4"/>
                                    <path d="M 45 35 l 10 0 M 45 30 l 5 5 l -5 5" fill="none" stroke="#cbd5e1" stroke-width="2" stroke-linecap="round"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-qa-item">
                <button class="rk-qa-question">
                    <span>5. Jak rodzaj wylewki wpływa na skuteczność wyników z kalkulatora?</span>
                    <div class="rk-qa-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><line x1="12" y1="5" x2="12" y2="19"></line><line x1="5" y1="12" x2="19" y2="12"></line></svg></div>
                </button>
                <div class="rk-qa-answer-wrapper">
                    <div class="rk-qa-answer-inner">
                        <div class="rk-qa-content">
                            <div class="rk-qa-text">
                                Wybór odpowiedniego jastrychu drastycznie zmienia parametry pracy. <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/" class="rk-link">Wylewka anhydrytowa</a> wykazuje niemal dwukrotnie wyższy współczynnik przewodzenia ciepła w porównaniu do standardowego betonu z miksokreta. Dzięki płynnej konsystencji idealnie i szczelnie otula rury grzewcze. Przekłada się to na błyskawiczne oddawanie ciepła do pomieszczenia i możliwość pracy pompy ciepła na niższym, oszczędniejszym parametrze temperaturowym.
                            </div>
                            <div class="rk-qa-visual">
                                <svg class="rk-svg-box" viewBox="0 0 100 70">
                                    <rect x="15" y="15" width="70" height="40" rx="4" fill="none" stroke="#94a3b8" stroke-width="3"/>
                                    <rect class="anim-screed-layer" x="17" y="30" width="66" height="23" rx="2" fill="#cbd5e1"/>
                                    <circle cx="35" cy="40" r="5" fill="#ef4444"/>
                                    <circle cx="50" cy="40" r="5" fill="#ef4444"/>
                                    <circle cx="65" cy="40" r="5" fill="#ef4444"/>
                                    <path d="M20 30 Q35 25 50 30 T80 30" fill="none" stroke="var(--rk-qa-emerald)" stroke-width="2"/>
                                </svg>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-qa-item');

    faqItems.forEach(item => {
        const btn = item.querySelector('.rk-qa-question');
        btn.addEventListener('click', () => {
            const isActive = item.classList.contains('active');
            
            // Zwijanie wszystkich
            faqItems.forEach(i => i.classList.remove('active'));
            
            // Rozwijanie klikniętego (jeśli nie był aktywny)
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
    
    // Otwarcie pierwszego elementu na start
    if(faqItems.length > 0) {
        faqItems[0].classList.add('active');
    }
});
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-blue: #0ea5e9;
    --rk-fin-light-blue: #e0f2fe;
    --rk-fin-green: #10b981;
    --rk-fin-green-light: #dcfce7;
    --rk-fin-red: #ef4444;
    --rk-fin-red-light: #fee2e2;
    --rk-fin-orange: #f59e0b;
    --rk-fin-orange-light: #fef3c7;
    --rk-fin-gray: #64748b;
    --rk-fin-border: #cbd5e1;
    --rk-fin-bg: #ffffff;
}

.rk-fin-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-fin-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-fin-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-fin-header {
    padding: 40px 40px 30px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    border-bottom: 1px solid var(--rk-fin-border);
}

.rk-fin-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-fin-dark);
    letter-spacing: -0.5px;
}

.rk-fin-header p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-fin-gray);
    margin: 0;
}

.rk-fin-highlight {
    font-weight: 800;
    color: var(--rk-fin-blue);
}

/* Sekcja Interaktywna - Symulator */
.rk-fin-interactive {
    padding: 40px;
    background: #ffffff;
}

.rk-fin-interactive h3 {
    margin: 0 0 20px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-fin-dark);
    text-align: center;
}

.rk-fin-dashboard {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 30px;
    align-items: center;
}

.rk-fin-slider-box {
    background: #f8fafc;
    padding: 30px;
    border-radius: 16px;
    border: 1px solid var(--rk-fin-border);
    text-align: center;
}

.rk-fin-slider-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    text-transform: uppercase;
    margin-bottom: 15px;
}

.rk-fin-value-display {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-fin-dark);
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: 5px;
}

.rk-fin-value-display span {
    font-size: 18px;
    color: var(--rk-fin-gray);
}

/* Stylizacja suwaka (Slider) */
.rk-range-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: #cbd5e1;
    outline: none;
    transition: background 0.3s;
}

.rk-range-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-fin-blue);
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
    border: 3px solid #ffffff;
    transition: transform 0.2s, background 0.3s;
}

.rk-range-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
}

/* Wynik symulacji */
.rk-fin-result-box {
    padding: 30px;
    border-radius: 16px;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    gap: 15px;
    border: 2px solid transparent;
}

.rk-fin-result-box.state-green {
    background: var(--rk-fin-green-light);
    border-color: var(--rk-fin-green);
}
.rk-fin-result-box.state-orange {
    background: var(--rk-fin-orange-light);
    border-color: var(--rk-fin-orange);
}
.rk-fin-result-box.state-red {
    background: var(--rk-fin-red-light);
    border-color: var(--rk-fin-red);
}

.rk-fin-result-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-anim-house {
    width: 60px;
    height: 60px;
}

.house-path {
    transition: all 0.4s ease;
    stroke-width: 2;
    fill: none;
}

.state-green .house-path { stroke: var(--rk-fin-green); fill: rgba(16, 185, 129, 0.2); }
.state-orange .house-path { stroke: var(--rk-fin-orange); fill: rgba(245, 158, 11, 0.2); }
.state-red .house-path { stroke: var(--rk-fin-red); fill: rgba(239, 68, 68, 0.2); }

.state-red .heat-wave {
    animation: heatRise 1.5s infinite alternate;
    stroke: var(--rk-fin-red);
}

@keyframes heatRise {
    0% { transform: translateY(0) scale(1); opacity: 0.5; }
    100% { transform: translateY(-5px) scale(1.1); opacity: 1; }
}

.rk-fin-result-title {
    font-size: 20px;
    font-weight: 800;
    margin: 0;
}
.state-green .rk-fin-result-title { color: #065f46; }
.state-orange .rk-fin-result-title { color: #92400e; }
.state-red .rk-fin-result-title { color: #991b1b; }

.rk-fin-result-text {
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
    color: #334155;
}

/* Sekcja Wzorów i Linków */
.rk-fin-content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 0 40px 40px;
}

.rk-fin-card {
    background: #f8fafc;
    border: 1px solid var(--rk-fin-border);
    padding: 25px;
    border-radius: 12px;
}

.rk-fin-card h4 {
    margin: 0 0 15px 0;
    font-size: 16px;
    color: var(--rk-fin-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-fin-card ul {
    margin: 0;
    padding: 0 0 0 20px;
    font-size: 14px;
    color: var(--rk-fin-gray);
    line-height: 1.6;
}

.rk-fin-card ul li { margin-bottom: 8px; }
.rk-fin-card a {
    color: var(--rk-fin-blue);
    text-decoration: none;
    font-weight: 700;
    transition: color 0.2s;
}
.rk-fin-card a:hover { text-decoration: underline; }

/* Massive CTA */
.rk-fin-cta {
    background: var(--rk-fin-dark);
    padding: 40px;
    text-align: center;
}

.rk-fin-cta h3 {
    color: #ffffff;
    font-size: 24px;
    margin: 0 0 10px 0;
}

.rk-fin-cta p {
    color: #94a3b8;
    margin: 0 auto 30px auto;
    max-width: 600px;
    font-size: 15px;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-fin-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-massive:hover {
    transform: translateY(-4px);
    background: #0284c7;
    box-shadow: 0 15px 25px -5px rgba(14, 165, 233, 0.6);
}

@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-interactive, .rk-fin-content-grid, .rk-fin-cta { padding: 25px; }
    .rk-fin-dashboard, .rk-fin-content-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-fin-value-display { font-size: 36px; }
    .rk-btn-massive { width: 100%; padding: 16px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/"
    },
    "headline": "Podsumowanie – Zabezpiecz Swój Budżet i Komfort Termiczny",
    "description": "Sprawdź samodzielnie zapotrzebowanie budynku na ciepło (W/m2) z wykorzystaniem interaktywnego symulatora normy PN-EN 12831. Optymalizuj parametry przed wyborem pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-05-30",
    "dateModified": "2026-05-30"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#dataset-zapotrzebowanie",
    "name": "Bilans Cieplny i Wskaźniki W/m2 dla Ogrzewania Podłogowego",
    "description": "Zestawienie analityczne określające limity i optymalne zakresy mocy grzewczej dla instalacji płaszczyznowych w odniesieniu do izolacji oraz typu okładziny podłogowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "obliczenia strat ciepła",
      "norma PN-EN 12831",
      "zapotrzebowanie W/m2",
      "projekt wykonawczy ogrzewania",
      "temperatura zasilania podłogówki"
    ],
    "measurementTechnique": "Analiza zapotrzebowania na ciepło (Q = A × U × ΔT) w zależności od stopnia izolacji budynku i wymagań hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zakres 40-50 W/m2: Optymalny (Nowe budownictwo, idealne dla pomp ciepła).",
        "Zakres 51-80 W/m2: Umiarkowany (Wymaga zagęszczenia rur i projektowania OZC).",
        "Zakres >80 W/m2: Krytyczny (Ryzyko niedogrzania, wymaga grzejników lub termomodernizacji)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/#webapp-symulator",
    "name": "Symulator Zapotrzebowania Cieplnego W/m2",
    "description": "Interaktywne narzędzie obliczeniowe obrazujące wpływ jednostkowego zapotrzebowania na ciepło budynku na efektywność wodnego ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container">
    <div class="rk-fin-header">
        <h2>Podsumowanie – Zabezpiecz Swój Budżet i Komfort Termiczny</h2>
        <p>
            Samodzielne obliczenie strat ciepła budynku za pomocą uproszczonej metody normy <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/" style="color:var(--rk-fin-blue); font-weight:700;">PN-EN 12831</a> to kluczowy krok techniczny, który chroni inwestora przed przewymiarowaniem źródła ciepła i wadliwym działaniem ogrzewania podłogowego.
        </p>
    </div>

    <div class="rk-fin-interactive">
        <h3>Symulator Obciążenia Instalacji</h3>
        <div class="rk-fin-dashboard">
            <div class="rk-fin-slider-box">
                <span class="rk-fin-slider-label">Zapotrzebowanie na ciepło budynku</span>
                <div class="rk-fin-value-display">
                    <span id="sliderValue">45</span> <span>W/m²</span>
                </div>
                <input type="range" min="30" max="120" value="45" step="5" class="rk-range-slider" id="heatSlider">
            </div>

            <div class="rk-fin-result-box state-green" id="resultCard">
                <div class="rk-fin-result-header">
                    <svg class="rk-anim-house" viewBox="0 0 24 24" fill="none" stroke="currentColor">
                        <path class="house-path" d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path>
                        <polyline class="house-path" points="9 22 9 12 15 12 15 22"></polyline>
                        <path class="heat-wave" d="M12 2v3" style="display:none;" stroke-width="2" stroke-linecap="round"/>
                        <path class="heat-wave" d="M8 4v3" style="display:none;" stroke-width="2" stroke-linecap="round"/>
                        <path class="heat-wave" d="M16 4v3" style="display:none;" stroke-width="2" stroke-linecap="round"/>
                    </svg>
                    <h4 class="rk-fin-result-title" id="resultTitle">Strefa Optymalna</h4>
                </div>
                <p class="rk-fin-result-text" id="resultText">
                    Idealne warunki dla podłogówki i pompy ciepła. Niska temperatura zasilania (ok. 30-32°C). Układ działa energooszczędnie, można bezpiecznie planować <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele podłogowe</a>.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-fin-content-grid">
        <div class="rk-fin-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-fin-blue)" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                Fizyka Budynku
            </h4>
            <ul>
                <li>Znając wzory na straty przez przenikanie (<strong>Q = A × U × ΔT</strong>) oraz wentylację (<strong>Qv = 0,34 × V × ΔT</strong>), weryfikujesz, czy mieścisz się w zakresie 40-80 W/m².</li>
                <li>Zignorowanie parametrów łazienki (wymagane <strong>+24°C</strong>) zepsuje komfort termiczny w newralgicznym punkcie domu.</li>
            </ul>
        </div>
        <div class="rk-fin-card">
            <h4>
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="var(--rk-fin-blue)" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                Zlecaj OZC Inżynierom
            </h4>
            <ul>
                <li>Każdy litr wody przepływający przez rozdzielacz musi być poprawnie zbilansowany matematycznie.</li>
                <li>Traktuj samodzielne wyliczenia jako wstęp do zlecenia <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">profesjonalnego projektu OZC</a>, zwłaszcza przy pompach ciepła.</li>
            </ul>
        </div>
    </div>

    <div class="rk-fin-cta">
        <h3>Zaprojektuj System Bez Błędów</h3>
        <p>Nie zostawiaj kluczowych parametrów hydraulicznych przypadkowi. Odkryj inżynierskie metody projektowania, normy prawne i kalkulatory, które zagwarantują 100% efektywności Twojej inwestycji.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('heatSlider');
    const display = document.getElementById('sliderValue');
    const resultCard = document.getElementById('resultCard');
    const resultTitle = document.getElementById('resultTitle');
    const resultText = document.getElementById('resultText');
    const heatWaves = document.querySelectorAll('.heat-wave');

    function updateDashboard(value) {
        display.textContent = value;
        
        if (value <= 50) {
            resultCard.className = 'rk-fin-result-box state-green';
            resultTitle.textContent = 'Strefa Optymalna';
            resultText.innerHTML = 'Idealne warunki dla podłogówki i pompy ciepła. Niska temperatura zasilania (ok. 30-32°C). Układ działa energooszczędnie, można bezpiecznie planować <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/">panele podłogowe</a>.';
            heatWaves.forEach(w => w.style.display = 'none');
            slider.style.background = `linear-gradient(to right, var(--rk-fin-green) ${(value-30)/(120-30)*100}%, #cbd5e1 ${(value-30)/(120-30)*100}%)`;
        } 
        else if (value > 50 && value <= 80) {
            resultCard.className = 'rk-fin-result-box state-orange';
            resultTitle.textContent = 'Strefa Umiarkowana (Uwaga!)';
            resultText.innerHTML = 'Osiągasz granice wydajności. Konieczne zagęszczenie rur (rozstaw co 10 cm). Ryzyko przy stosowaniu paneli. Wymagany precyzyjny <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projekt OZC</a>, aby uniknąć niedogrzania łazienek.';
            heatWaves.forEach(w => w.style.display = 'none');
            slider.style.background = `linear-gradient(to right, var(--rk-fin-orange) ${(value-30)/(120-30)*100}%, #cbd5e1 ${(value-30)/(120-30)*100}%)`;
        } 
        else {
            resultCard.className = 'rk-fin-result-box state-red';
            resultTitle.textContent = 'Strefa Krytyczna';
            resultText.innerHTML = 'Sama podłogówka <strong>nie ogrzeje tego budynku</strong>. Próba wymuszenia mocy doprowadzi do przegrzania posadzki (dyskomfort). Konieczna <a href="https://projekt-ogrzewania.pl/bilans-cieplny-budynku-fundament-efektywnosci-energetycznej-i-komfortu/">termomodernizacja</a> lub dodanie obiegów grzejnikowych.';
            heatWaves.forEach(w => w.style.display = 'block');
            slider.style.background = `linear-gradient(to right, var(--rk-fin-red) ${(value-30)/(120-30)*100}%, #cbd5e1 ${(value-30)/(120-30)*100}%)`;
        }
    }

    slider.addEventListener('input', (e) => {
        updateDashboard(e.target.value);
    });

    // Inicjalizacja
    updateDashboard(slider.value);
});
</script>
<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>
					
		
		
			</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>
		
		<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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 120 m², zapotrzebowanie = 8 400 kWh/rok</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 150 m², zapotrzebowanie = 10 500 kWh/rok</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>Parametry</strong>: powierzchnia 200 m², zapotrzebowanie = 14 000 kWh/rok</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>Parametry</strong>: jak w scenariuszu B, 150 m², 10 500 kWh/rok</p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph"><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 class="wp-block-paragraph"><strong>Okres zwrotu</strong>: 10 500 zł / 450 zł ≈&nbsp;<strong>23 lata</strong></p>



<p class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph"><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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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 class="wp-block-paragraph">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>
					
		
		
			</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/#comments</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[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light-blue: #f0f9ff;
    --rk-intro-bg: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-gold: #f59e0b;
    --rk-intro-gold-light: #fffbeb;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-intro-blue);
    overflow: hidden;
}

/* Mocne Otwarcie - Nagłówek */
.rk-intro-header {
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    padding: 35px 40px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-intro-gold);
}

.rk-intro-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-intro-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-intro-gold);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-intro-hook {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Szybka Odpowiedź (Featured Snippet) */
.rk-quick-answer {
    padding: 25px 40px;
    background: var(--rk-intro-gold-light);
    border-bottom: 1px solid #fde68a;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-qa-badge {
    background: var(--rk-intro-gold);
    color: #ffffff;
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: 900;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
}

.rk-qa-content p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: #92400e;
    font-weight: 600;
}

.rk-qa-content strong {
    font-weight: 900;
    color: #78350f;
}

/* Interaktywna Agenda */
.rk-intro-agenda {
    padding: 35px 40px;
    background: #ffffff;
}

.rk-agenda-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
}

.rk-agenda-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 0;
    border: 1px solid var(--rk-intro-border);
    border-radius: 12px;
    overflow: hidden;
}

/* Przyciski nawigacyjne - Bez animacji */
.rk-agenda-nav {
    background: #f8fafc;
    border-right: 1px solid var(--rk-intro-border);
    display: flex;
    flex-direction: column;
}

.rk-agenda-btn {
    padding: 18px 20px;
    background: transparent;
    border: none;
    border-bottom: 1px solid var(--rk-intro-border);
    text-align: left;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-agenda-btn:last-child {
    border-bottom: none;
}

.rk-agenda-btn:hover {
    background: #f1f5f9;
}

.rk-agenda-btn.rk-active {
    background: var(--rk-intro-blue);
    color: #ffffff;
}

.rk-agenda-btn svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* Panele z treścią - Bez animacji */
.rk-agenda-panels {
    padding: 30px;
    background: #ffffff;
}

.rk-agenda-panel {
    display: none;
}

.rk-agenda-panel.rk-active {
    display: block;
}

.rk-agenda-panel h4 {
    margin: 0 0 15px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
}

.rk-agenda-panel p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-intro-text);
}

.rk-agenda-panel ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rk-intro-text);
    font-size: 14px;
    line-height: 1.6;
}

.rk-agenda-panel li {
    margin-bottom: 8px;
}

/* Informacja o kalkulatorach */
.rk-tools-teaser {
    margin-top: 30px;
    padding: 15px 20px;
    background: var(--rk-intro-light-blue);
    border-left: 4px solid var(--rk-intro-blue);
    border-radius: 0 8px 8px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-tools-teaser p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #0369a1;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 25px 20px; }
    .rk-intro-header h2 { font-size: 22px; }
    .rk-quick-answer { flex-direction: column; padding: 20px; gap: 15px; }
    .rk-intro-agenda { padding: 25px 20px; }
    .rk-agenda-grid { grid-template-columns: 1fr; }
    .rk-agenda-nav { border-right: none; border-bottom: 1px solid var(--rk-intro-border); }
    .rk-agenda-panels { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym – Poradnik i algorytm",
    "description": "Zestawienie interaktywnych kalkulatorów i algorytmów obliczania przepływu oraz wysokości podnoszenia pomp obiegowych (OZC, długości pętli, awarie).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wstep",
    "name": "Zestawienie Zmiennych Projektowych dla Pomp Obiegowych 2026",
    "description": "Indeks kluczowych składowych artykułu: od wzorów na przepływ wody, przez parametry oporów rur, aż po zestawienia tabelaryczne.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym",
      "szybka odpowiedź dobór pompy",
      "jak dobrać pompę obiegową do podłogówki",
      "algorytm doboru pompy przepływ Q i wysokość H",
      "parametry pompy obiegowej podłogówka"
    ],
    "measurementTechnique": "Hierarchiczne drzewo zawartości umożliwiające nawigację po interaktywnych modułach hydraulicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przepływ objętościowy wody: Metodyka wyliczania Q na bazie OZC.",
        "Wysokość podnoszenia H: Obliczanie strat liniowych dla najdłuższej pętli.",
        "Średnice rur: Wpływ rur PEX na powstawanie zjawiska kawitacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wstep",
    "name": "Interaktywny Nawigator Artykułu",
    "description": "Moduł wstępny typu 'Quick Answer' oraz przełącznik kontekstowy wprowadzający użytkownika w tematykę obliczeń hydraulicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container">
    <div class="rk-intro-header">
        <h2>
            <svg class="rk-intro-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
            </svg>
            Kalkulator doboru pompy obiegowej w ogrzewaniu podłogowym
        </h2>
        <p class="rk-intro-hook">Masz dość zgadywania, czy pompa &#8222;uciągnie&#8221; najdalsze pętle w salonie? Błędny dobór pompy obiegowej to najczęstsza przyczyna zimnych posadzek i uciążliwego świstu w rozdzielaczach. Ten przewodnik bezlitośnie rozprawia się z mitami instalatorskimi, dając Ci do ręki czystą inżynierię i twarde wzory.</p>
    </div>

    <div class="rk-quick-answer">
        <div class="rk-qa-badge">Szybka Odpowiedź</div>
        <div class="rk-qa-content">
            <p>Prawidłowy punkt pracy pompy obiegowej wyznacza się na podstawie dwóch parametrów: <strong>wymaganego przepływu wody (Q)</strong>, liczonego ze spadku temperatury oraz <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> budynku (zazwyczaj od 0,5 do 2,5 m³/h), oraz <strong>wysokości podnoszenia (H)</strong> determinowanej przez opory hydrauliczne najdłuższej pętli (najczęściej od 3,5 do 5,5 m słupa wody). Urządzenie należy dopasować bezpośrednio do krzywych charakterystyki pomp, a nie dobierać „z zapasem”.</p>
        </div>
    </div>

    <div class="rk-intro-agenda">
        <h3 class="rk-agenda-title">Czego dowiesz się z tego kompendium?</h3>
        
        <div class="rk-agenda-grid">
            <div class="rk-agenda-nav">
                <button class="rk-agenda-btn rk-active" data-id="tab-1">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    Fizyka Płynów (Q i H)
                </button>
                <button class="rk-agenda-btn" data-id="tab-2">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    Błędy Instalatorów
                </button>
                <button class="rk-agenda-btn" data-id="tab-3">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line></svg>
                    Średnice rur zasilających
                </button>
            </div>

            <div class="rk-agenda-panels">
                <div class="rk-agenda-panel rk-active" id="tab-1">
                    <h4>Zależności matematyczne przepływu</h4>
                    <p>Zrozumiesz, jak dokładnie parametry Twojego domu wpływają na zachowanie wody w rurach. Omówimy:</p>
                    <ul>
                        <li>Jak obliczyć strumień masowy z różnicy temperatur (ΔT 5K i 6K).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> tworzy tzw. króla hydraulicznego.</li>
                        <li>Dlaczego podnoszenie pompy nie zależy od piętra w domu.</li>
                    </ul>
                </div>
                
                <div class="rk-agenda-panel" id="tab-2">
                    <h4>Najdroższe awarie systemu</h4>
                    <p>Dowiesz się, jakie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy popełniają instalatorzy</a>, co bezpośrednio uderza w Twój portfel.</p>
                    <ul>
                        <li>Przewymiarowanie pompy (mit &#8222;im większa tym lepsza&#8221;).</li>
                        <li>Złe ustawienia (Constant Speed vs Constant Pressure).</li>
                        <li>Ryzyko braku separatorów i zalania surową wodą.</li>
                    </ul>
                </div>

                <div class="rk-agenda-panel" id="tab-3">
                    <h4>Piony i kawitacja</h4>
                    <p>Przeanalizujemy krytyczny element dystrybucji czynnika grzewczego – rury łączące źródło ciepła z rozdzielaczem.</p>
                    <ul>
                        <li>Wpływ średnicy rury PEX na ryzyko wystąpienia szumów.</li>
                        <li>Kalkulacja prędkości przepływu (normy DIN 1988).</li>
                        <li>Dlaczego <a href="https://projekt-ogrzewania.pl/jaka-srednica-rury-zasilajacej-rozdzielacz-w-ukladzie-ogrzewania-podlogowego-kalkulator/">średnica rury zasilającej rozdzielacz</a> ratuje całą instalację.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="rk-tools-teaser">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            <p>Zamiast liczyć ręcznie – w dalszej części artykułu przygotowałem dedykowane interaktywne <strong>kalkulatory i symulatory graficzne</strong>, które przeanalizują Twoją instalację i same wyznaczą punkt pracy.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-agenda-btn');
    var panels = document.querySelectorAll('.rk-agenda-panel');

    for (var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-id');

            // Usuwanie klas aktywnych (bez animacji i bezpiecznie)
            for (var b = 0; b < btns.length; b++) {
                btns[b].classList.remove('rk-active');
            }
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli natychmiastowo
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-active');
            }
            
            // Pokazywanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-flow-dark: #0f172a;
    --rk-flow-blue: #0284c7;
    --rk-flow-light: #f0f9ff;
    --rk-flow-red: #ef4444;
    --rk-flow-green: #10b981;
    --rk-flow-yellow: #f59e0b;
    --rk-flow-border: #e2e8f0;
    --rk-flow-bg: #ffffff;
    --rk-flow-text: #475569;
}

.rk-flow-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-flow-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-flow-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-flow-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-flow-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-flow-blue);
}

.rk-flow-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-flow-header-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-flow-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Tekst / Teoria */
.rk-flow-content {
    padding: 35px 45px;
    background: #ffffff;
}

.rk-flow-content h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

.rk-flow-content p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-flow-text);
    margin: 0 0 20px 0;
}

.rk-flow-math {
    background: var(--rk-flow-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-flow-blue);
    margin: 25px 0;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-flow-dark);
    letter-spacing: 1px;
}

.rk-flow-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.rk-flow-list li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    font-size: 14px;
    color: var(--rk-flow-text);
    line-height: 1.6;
}

.rk-flow-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--rk-flow-blue);
    font-weight: 800;
}

/* Interaktywny Kalkulator */
.rk-flow-calc-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-flow-border);
}

.rk-flow-calc-area h3 {
    margin: 0 0 25px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-flow-dark);
}

.rk-flow-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Sekcja Suwaków */
.rk-flow-inputs {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-slider-box {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-flow-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.rk-slider-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-flow-text);
    text-transform: uppercase;
}

.rk-slider-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-flow-blue);
}

.rk-flow-range {
    width: 100%;
    accent-color: var(--rk-flow-blue);
    cursor: pointer;
    height: 6px;
    border-radius: 3px;
}

/* Sekcja Wyniku */
.rk-flow-result {
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-flow-blue);
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.rk-flow-result::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 6px;
    background: var(--rk-flow-blue);
    transition: background 0.4s;
}

.rk-result-label {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-flow-text);
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.rk-result-value {
    font-size: 42px;
    font-weight: 900;
    color: var(--rk-flow-dark);
    margin: 0 0 15px 0;
    line-height: 1;
}

.rk-result-unit {
    font-size: 20px;
    color: var(--rk-flow-blue);
}

.rk-result-status {
    padding: 10px 20px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
    width: 100%;
    transition: all 0.3s;
}

/* Dynamiczne stany wizualne wyniku */
.rk-state-optimal {
    border-color: var(--rk-flow-green);
}
.rk-state-optimal::before { background: var(--rk-flow-green); }
.rk-state-optimal .rk-result-status {
    background: #dcfce7; color: #166534;
}

.rk-state-warning {
    border-color: var(--rk-flow-yellow);
}
.rk-state-warning::before { background: var(--rk-flow-yellow); }
.rk-state-warning .rk-result-status {
    background: #fef3c7; color: #92400e;
}

.rk-state-danger {
    border-color: var(--rk-flow-red);
}
.rk-state-danger::before { background: var(--rk-flow-red); }
.rk-state-danger .rk-result-status {
    background: #fee2e2; color: #b91c1c;
}

@media (max-width: 768px) {
    .rk-flow-header, .rk-flow-content, .rk-flow-calc-area { padding: 25px 20px; }
    .rk-flow-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-flow-math { font-size: 16px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-przeplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?",
    "description": "Matematyczna zależność pomiędzy projektowym obciążeniem cieplnym budynku (OZC), a spadkiem temperatury ΔT. Wzór Q = P / (1,163 x ΔT) w praktyce.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-przeplyw",
    "name": "Zestawienie Wymaganych Przepływów Masowych dla Pomp Obiegowych 2026",
    "description": "Baza danych określająca bezpieczne granice wydajności hydraulicznej zapobiegające powstawaniu szumów i zjawiska zimnej podłogi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wymagany przepływ wody ogrzewanie podłogowe",
      "wzór na wydajność pompy obiegowej",
      "projektowe obciążenie cieplne ozc",
      "szum na rotametrach rozdzielacza",
      "prędkość krytyczna przepływu wody"
    ],
    "measurementTechnique": "Algorytm oparty o wzór Q = P / (1,163 * ΔT) diagnozujący potencjalne zagrożenia w przepływie masowym układu dystrybucji ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalny przepływ w domach: 0.5 - 2.5 m3/h.",
        "Przekroczenie (np. 3.0 m3/h): Ryzyko przepływu turbulentnego i hałasu.",
        "Zaniżenie: Zimny powrót i brak samoodpowietrzania (wymagane v > 0.25 m/s)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-przeplyw",
    "name": "Symulator Przepływu Masowego Q",
    "description": "Interaktywne narzędzie obliczające na żywo wydajność pompy obiegowej na podstawie mocy grzewczej i spadku temperatury ΔT.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-flow-wrapper">
    <div class="rk-flow-header">
        <svg class="rk-flow-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
        </svg>
        <h2>Jak obliczyć wymagany przepływ wody w ogrzewaniu podłogowym?</h2>
    </div>

    

    <div class="rk-flow-content">
        <p>Wymagany przepływ masowy i objętościowy wody w instalacji ogrzewania podłogowego wynosi od 0,5 m³/h do 2,5 m³/h dla domów jednorodzinnych i musi być obliczany w oparciu o projektowe obciążenie cieplne budynku według normy PN-EN 12831 oraz założony spadek temperatury ΔT wynoszący ściśle 5 K lub 6 K. Bezpośrednia odpowiedź na to pytanie opiera się na matematycznym powiązaniu dostarczanej mocy termicznej z pojemnością cieplną nośnika. Każde odstępstwo od wyliczonego przepływu skutkuje zachwianiem równowagi termicznej budynku, powodując asymetrię temperaturową posadzki, co drastycznie obniża deklarowaną efektywność energetyczną układu grzewczego.</p>

        <h3>Matematyczna zależność strumienia masowego od mocy</h3>
        <p>Aby obliczyć przepływ wody (wydajność pompy Q), stosuje się podstawowe równanie wymiany ciepła, przekształcone do celów inżynierii sanitarnej. Przykład: przy projektowym zapotrzebowaniu na moc P = 11,5 kW i różnicy temperatur ΔT = 5 K (gdzie parametry zasilania i powrotu to np. 35/30°C), nominalny przepływ objętościowy wynosi dokładnie 1,98 m³/h (czyli dokładnie 1977,6 litrów na godzinę ciągłego przepływu).</p>
        
        <div class="rk-flow-math">
            Q = P / (1,163 × ΔT)
        </div>

        <ul class="rk-flow-list">
            <li><strong>Q</strong> – przepływ objętościowy wody w instalacji płaszczyznowej [m³/h]</li>
            <li><strong>P</strong> – <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne</a> podłogówki wyznaczone z bilansu OZC [kW]</li>
            <li><strong>1,163</strong> – stała przeliczeniowa uwzględniająca gęstość wody (ok. 1000 kg/m³) oraz ciepło właściwe</li>
        </ul>

        <p>Rozwijając to zagadnienie z perspektywy inżynierskiej, stała ta wynika bezpośrednio z zamiany jednostek energii z dżuli na kilowatogodziny oraz masy na metry sześcienne. Przepływ ten musi być dystrybuowany w taki sposób, aby prędkość wody w poszczególnych pętlach nie spadła poniżej prędkości krytycznej umożliwiającej samoczynne odpowietrzanie układu (tj. minimum 0,25 m/s). Jeśli prędkość będzie mniejsza, pęcherze powietrza utkną w najwyższych punktach jastrychu, trwale odcinając emisję ciepła.</p>

        <h3>Konsekwencje błędnego wyznaczenia przepływu Q</h3>
        <p>Zaniżenie parametru powoduje, że woda wychładza się zbyt szybko w początkowych metrach pętli grzewczej. Efektem jest tzw. „zimna podłoga” na powrocie i głębokie niedogrzanie pomieszczeń oddalonych od rozdzielacza. Z kolei zawyżenie przepływu zmusza pompę do pracy na najwyższych biegach charakterystyki, co podnosi zużycie energii elektrycznej i generuje <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">uciążliwy szum na rotametrach</a> wskutek przekroczenia prędkości krytycznej (v > 0,5 m/s). Pętla hydrauliczna traci wówczas zdolność do laminarnego przepływu.</p>
    </div>

    <div class="rk-flow-calc-area">
        <h3>Symulacja Wydajności Pompy (Q)</h3>
        
        <div class="rk-flow-grid">
            <div class="rk-flow-inputs">
                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Zapotrzebowanie (P)</span>
                        <span class="rk-slider-val"><span id="rk-val-power">10.0</span> kW</span>
                    </div>
                    <input type="range" id="rk-slider-power" class="rk-flow-range" min="4" max="25" step="0.5" value="10">
                </div>

                <div class="rk-slider-box">
                    <div class="rk-slider-header">
                        <span class="rk-slider-title">Spadek temp. (ΔT)</span>
                        <span class="rk-slider-val"><span id="rk-val-dt">5</span> K</span>
                    </div>
                    <input type="range" id="rk-slider-dt" class="rk-flow-range" min="3" max="10" step="1" value="5">
                </div>
            </div>

            <div class="rk-flow-result rk-state-optimal" id="rk-result-box">
                <div class="rk-result-label">Wymagany przepływ masowy Q</div>
                <div class="rk-result-value" id="rk-flow-output">1.72 <span class="rk-result-unit">m³/h</span></div>
                <div class="rk-result-status" id="rk-flow-status">Optymalny punkt pracy dla pompy domowej</div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var powerSlider = document.getElementById('rk-slider-power');
    var dtSlider = document.getElementById('rk-slider-dt');
    var valPower = document.getElementById('rk-val-power');
    var valDt = document.getElementById('rk-val-dt');
    var flowOutput = document.getElementById('rk-flow-output');
    var resultBox = document.getElementById('rk-result-box');
    var statusText = document.getElementById('rk-flow-status');

    function calculateFlow() {
        var p = parseFloat(powerSlider.value);
        var dt = parseInt(dtSlider.value);
        
        valPower.textContent = p.toFixed(1);
        valDt.textContent = dt;

        // Główny wzór inżynierski
        var q = p / (1.163 * dt);
        flowOutput.innerHTML = q.toFixed(2) + ' <span class="rk-result-unit">m³/h</span>';

        // Czyszczenie klas
        resultBox.classList.remove('rk-state-optimal');
        resultBox.classList.remove('rk-state-warning');
        resultBox.classList.remove('rk-state-danger');

        // Logika diagnozy (bez znaków &&)
        if (q < 0.5) {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Ryzyko niedogrzania! Przepływ jest zbyt mały, by usunąć powietrze z rur.";
        } else if (q <= 2.5) {
            resultBox.classList.add('rk-state-optimal');
            statusText.textContent = "Optymalny przepływ dla standardowej domowej instalacji.";
        } else if (q <= 3.5) {
            resultBox.classList.add('rk-state-warning');
            statusText.textContent = "Wysoki strumień! Zadbaj o większe rury zasilające, by uniknąć szumów.";
        } else {
            resultBox.classList.add('rk-state-danger');
            statusText.textContent = "Krytyczny przepływ! Standardowa pompa domowa sobie nie poradzi.";
        }
    }

    powerSlider.addEventListener('input', calculateFlow);
    dtSlider.addEventListener('input', calculateFlow);
    calculateFlow(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-head-dark: #0f172a;
    --rk-head-blue: #0284c7;
    --rk-head-light: #f0f9ff;
    --rk-head-green: #10b981;
    --rk-head-green-light: #f0fdf4;
    --rk-head-yellow: #eab308;
    --rk-head-yellow-light: #fefce8;
    --rk-head-red: #ef4444;
    --rk-head-red-light: #fef2f2;
    --rk-head-border: #e2e8f0;
    --rk-head-bg: #ffffff;
    --rk-head-text: #475569;
}

.rk-head-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-head-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-head-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-head-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-head-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-head-blue);
}

.rk-head-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    line-height: 1.3;
}

.rk-head-icon {
    width: 32px;
    height: 32px;
    color: #38bdf8;
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-head-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Treść tekstowa */
.rk-head-content {
    padding: 35px 45px 20px;
    background: #ffffff;
}

.rk-head-content h3 {
    margin: 0 0 15px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-head-content p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-head-text);
    margin: 0 0 20px 0;
}

/* Wzór Matematyczny HTML */
.rk-math-panel {
    background: var(--rk-head-light);
    padding: 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-head-blue);
    margin-bottom: 25px;
    text-align: center;
    font-family: 'Courier New', Courier, monospace;
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-head-dark);
    letter-spacing: 0.5px;
}

.rk-math-panel span {
    color: var(--rk-head-blue);
}

/* Interaktywny Symulator */
.rk-head-interactive {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-head-border);
}

.rk-head-interactive h3 {
    margin: 0 0 25px 0;
    font-size: 19px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-sim-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

/* Kontrolki Suwaka */
.rk-slider-box {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-head-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-slider-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-slider-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-head-text);
    text-transform: uppercase;
}

.rk-slider-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-head-blue);
}

.rk-range-input {
    width: 100%;
    accent-color: var(--rk-head-blue);
    cursor: pointer;
    height: 8px;
    border-radius: 4px;
}

/* Panel Wynikowy */
.rk-result-box {
    padding: 25px;
    border-radius: 16px;
    border: 2px solid var(--rk-head-border);
    background: #ffffff;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-result-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 15px 0;
    transition: color 0.3s;
}

.rk-result-metrics {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
}

.rk-metric-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    color: var(--rk-head-text);
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--rk-head-border);
}

.rk-metric-row:last-child {
    border-bottom: none;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-head-dark);
}

.rk-result-desc {
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
    font-weight: 600;
}

/* Stany Wizualne */
.rk-state-safe {
    border-color: var(--rk-head-green);
    background: var(--rk-head-green-light);
}
.rk-state-safe .rk-result-title { color: #059669; }
.rk-state-safe .rk-result-desc { color: #047857; }

.rk-state-warn {
    border-color: var(--rk-head-yellow);
    background: var(--rk-head-yellow-light);
}
.rk-state-warn .rk-result-title { color: #d97706; }
.rk-state-warn .rk-result-desc { color: #b45309; }

.rk-state-danger {
    border-color: var(--rk-head-red);
    background: var(--rk-head-red-light);
}
.rk-state-danger .rk-result-title { color: #dc2626; }
.rk-state-danger .rk-result-desc { color: #b91c1c; }

@media (max-width: 768px) {
    .rk-head-header, .rk-head-content, .rk-head-interactive { padding: 25px 20px; }
    .rk-sim-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-math-panel { font-size: 14px; padding: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-podnoszenie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?",
    "description": "Fizyka strat ciśnienia w instalacji podłogowej. Wyjaśniamy jak długość pętli wpływa na opory miejscowe i dlaczego zjawisko króla hydraulicznego niszczy pompy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-podnoszenie",
    "name": "Tabela Oporów Hydraulicznych Pętli PEX 16mm 2026",
    "description": "Zestawienie straty ciśnienia wyrażonej w Pa/m oraz wysokości podnoszenia w zależności od długości ułożonej pętli ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "opór jednostkowy rury pex 16",
      "wysokość podnoszenia pompy obiegowej",
      "król hydrauliczny w podłogówce",
      "straty ciśnienia w instalacji CO"
    ],
    "measurementTechnique": "Kalkulacja strat liniowych (150 Pa/m dla 2.0 l/min) powiększona o wykładniczy wzrost oporów przy pętlach przekraczających normę PN-EN 1264-4.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Normatywna długość pętli 16mm: max 100-120m (strata rzędu 1.65m H2O).",
        "Przekroczenie (150m): Generuje opory powyżej 32 kPa (3.2m H2O) wymuszając instalację większej pompy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-podnoszenie",
    "name": "Symulator Oporów Hydraulicznych Pętli",
    "description": "Narzędzie pozwalające na dynamiczne modelowanie całkowitej wysokości podnoszenia pompy (H) poprzez modyfikację długości najdłuższej pętli grzewczej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-head-container">
    <div class="rk-head-header">
        <svg class="rk-head-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline>
        </svg>
        <h2>Jak wyznaczyć wysokość podnoszenia pompy dla najdłuższej pętli podłogówki?</h2>
    </div>

    

    <div class="rk-head-content">
        <p>Wysokość podnoszenia pompy obiegowej dla standardowej instalacji płaszczyznowej wynosi zazwyczaj od 3,5 m do 5,5 m słupa wody (co odpowiada 35–55 kPa) i jest determinowana wyłącznie przez sumaryczne opory hydrauliczne najdłuższej, najbardziej obciążonej pętli grzewczej, a nie przez fizyczną wysokość budynku. Zgodnie z normą PN-EN 1264-4, maksymalna długość pojedynczej pętli z rury o średnicy 16 mm nie powinna przekraczać 100–120 m.</p>

        <h3>Fizyka strat ciśnienia: liniowe i miejscowe opory instalacji</h3>
        <p>Wysokość podnoszenia (H) to zdolność pompy do pokonania oporów tarcia strumienia cieczy o wewnętrzne ścianki rur (straty liniowe) oraz oporów na zmianach kierunku, zwężkach, kolankach i zaworach regulacyjnych (straty miejscowe). Szacowanie tego parametru metodą „na oko” to prosty przepis na katastrofę. Przyjmując powszechnie stosowaną rurę PERT/AL/PEX 16x2 mm przy przepływie rzędu 2,0 l/min, liniowa strata ciśnienia wynosi średnio 150 Pa/m (czyli 0,015 m H₂O/m).</p>
        
        <p>Dla optymalnej pętli o długości 110 m czysta strata liniowa wynosi:</p>

        <div class="rk-math-panel">
            Δp<sub>lin</sub> = 110 m × 150 Pa/m = 16 500 Pa = <span>1,65 m H₂O</span>
        </div>

        <p>Do tej wartości należy doliczyć opory miejscowe: kolana ułożenia ślimakowego, podejścia do szafki, a także opór samego rozdzielacza z rotametrami (ok. 15–20 kPa czyli 1,5–2,0 m) oraz zaworów mieszających. Kalkulator inżynierski zawsze uwzględnia również współczynnik starzenia rur.</p>

        <h3>Wpływ długości pętli na wymiarowanie hydrauliczne</h3>
        <p>Jeśli instalator bezmyślnie ułożył pętlę o długości 150 m, strata ciśnienia na samej rurze wzrasta drastycznie ze względu na wykładniczy wzrost oporów. Taka <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">za długa pętla podłogówki</a> staje się tzw. „królem hydraulicznym” całego układu – dławi przepływ i zmusza inwestora do zakupu pompy o wysokości podnoszenia 8 m, rujnując autoadaptacyjne tryby pracy energooszczędnych pomp.</p>
    </div>

    <div class="rk-head-interactive">
        <h3>Symulator Oporów Hydraulicznych Pętli (H)</h3>
        
        <div class="rk-sim-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-info">
                    <span class="rk-slider-label">Długość pętli (PEX 16mm):</span>
                    <span class="rk-slider-value"><span id="rk-loop-val">100</span> m</span>
                </div>
                <input type="range" id="rk-loop-slider" class="rk-range-input" min="60" max="160" step="5" value="100">
            </div>

            <div class="rk-result-box rk-state-safe" id="rk-result-panel">
                <h4 class="rk-result-title" id="rk-result-title">Instalacja Bezpieczna</h4>
                
                <div class="rk-result-metrics">
                    <div class="rk-metric-row">
                        <span>Strata liniowa rury:</span>
                        <span id="rk-loss-lin">1.50 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Opory rozdzielacza / zaworów:</span>
                        <span>2.00 m H₂O</span>
                    </div>
                    <div class="rk-metric-row">
                        <span>Wymagane podnoszenie pompy (H):</span>
                        <span id="rk-loss-total" style="color: var(--rk-head-blue);">3.50 m</span>
                    </div>
                </div>
                
                <p class="rk-result-desc" id="rk-result-desc">Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-loop-slider');
    var displayVal = document.getElementById('rk-loop-val');
    var dispLin = document.getElementById('rk-loss-lin');
    var dispTotal = document.getElementById('rk-loss-total');
    var panel = document.getElementById('rk-result-panel');
    var title = document.getElementById('rk-result-title');
    var desc = document.getElementById('rk-result-desc');

    function updateHydraulics() {
        var length = parseInt(slider.value);
        displayVal.textContent = length;

        // Podstawowy opór liniowy: 0.015 m/m
        var baseLoss = length * 0.015;
        
        // Symulacja zjawiska "króla hydraulicznego" (wykładniczy wzrost przy długich pętlach z uwagi na konieczność tłoczenia większej masy)
        // Bez operatorów &&
        if (length > 110) {
            var over = length - 110;
            var penalty = (over * over) * 0.0006;
            baseLoss = baseLoss + penalty;
        }

        var totalHead = baseLoss + 2.0; // + 2.0m na rozdzielacz

        dispLin.textContent = baseLoss.toFixed(2) + " m H₂O";
        dispTotal.textContent = totalHead.toFixed(2) + " m";

        // Reset klas
        panel.classList.remove('rk-state-safe');
        panel.classList.remove('rk-state-warn');
        panel.classList.remove('rk-state-danger');

        // Logika przypisania stanów bez użycia &&
        if (length <= 100) {
            panel.classList.add('rk-state-safe');
            title.textContent = "Instalacja Bezpieczna";
            desc.textContent = "Pętla ułożona zgodnie ze sztuką. Pozwala na zastosowanie standardowej pompy 25-40 lub 25-60, pracującej w optymalnym zakresie sprawności.";
        } else if (length <= 120) {
            panel.classList.add('rk-state-warn');
            title.textContent = "Wartość Graniczna";
            desc.textContent = "Pętla zbliża się do limitów normy PN-EN 1264. Wymaga starannego zrównoważenia na przepływomierzach, aby nie zakłócić pracy krótszych obiegów.";
        } else {
            panel.classList.add('rk-state-danger');
            title.textContent = "Król Hydrauliczny!";
            desc.textContent = "Krytyczny opór! Taka pętla zadławi układ. Konieczny będzie montaż przewymiarowanej pompy 25-80, co drastycznie podniesie zużycie prądu i wygeneruje hałas.";
        }
    }

    slider.addEventListener('input', updateHydraulics);
    updateHydraulics(); // Inicjalizacja
});
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-blue: #0284c7;
    --rk-pipe-light: #f0f9ff;
    --rk-pipe-red: #ef4444;
    --rk-pipe-red-light: #fef2f2;
    --rk-pipe-green: #10b981;
    --rk-pipe-green-light: #f0fdf4;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-bg: #ffffff;
    --rk-pipe-text: #475569;
}

.rk-pipe-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pipe-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-pipe-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-pipe-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-pipe-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-pipe-blue);
}

.rk-pipe-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-pipe-icon {
    width: 34px;
    height: 34px;
    color: #38bdf8;
    flex-shrink: 0;
}

.rk-pipe-header p {
    font-size: 15px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

.rk-pipe-header a {
    color: #7dd3fc;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Treść techniczna */
.rk-pipe-body {
    padding: 35px 45px 25px;
    background: #ffffff;
}

.rk-pipe-body h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-pipe-dark);
}

.rk-pipe-body p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-pipe-text);
    margin: 0 0 20px 0;
}

/* Formatowanie inżynierskiego wzoru bez LaTeX */
.rk-math-box {
    background: var(--rk-pipe-light);
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-pipe-blue);
    margin-bottom: 25px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-pipe-dark);
    text-align: center;
}

/* Symulator interaktywny */
.rk-sim-area {
    background: #f8fafc;
    padding: 35px 45px;
    border-top: 1px solid var(--rk-pipe-border);
}

.rk-sim-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-pipe-btn {
    background: #ffffff;
    border: 2px solid var(--rk-pipe-border);
    padding: 20px;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-pipe-btn:hover {
    border-color: #94a3b8;
    transform: translateY(-2px);
}

.rk-pipe-btn h4 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
}

.rk-pipe-btn p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-pipe-text);
    font-weight: 600;
}

/* Stany Aktywne Przycisków */
.rk-btn-danger.rk-active {
    border-color: var(--rk-pipe-red);
    background: var(--rk-pipe-red-light);
    box-shadow: 0 10px 20px -5px rgba(239, 68, 68, 0.2);
}

.rk-btn-safe.rk-active {
    border-color: var(--rk-pipe-green);
    background: var(--rk-pipe-green-light);
    box-shadow: 0 10px 20px -5px rgba(16, 185, 129, 0.2);
}

/* Ekran Wyniku Wizualnego */
.rk-sim-display {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-pipe-border);
    padding: 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    transition: all 0.4s ease;
}

.rk-pipe-visual {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
    position: relative;
}

/* Animacja SVG */
.rk-flow-path {
    stroke-dasharray: 15;
    transition: stroke 0.4s ease;
}

.rk-flow-fast { animation: flowAnim 0.4s linear infinite; stroke: var(--rk-pipe-red); }
.rk-flow-slow { animation: flowAnim 1.5s linear infinite; stroke: var(--rk-pipe-green); }

@keyframes flowAnim {
    from { stroke-dashoffset: 30; }
    to { stroke-dashoffset: 0; }
}

.rk-sim-data h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
}

.rk-sim-data p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-pipe-text);
}

.rk-data-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 16px;
}

/* Specyficzne stany panelu */
.rk-state-danger { border-color: var(--rk-pipe-red); }
.rk-state-danger h4 { color: var(--rk-pipe-red); }
.rk-state-danger .rk-data-badge { background: var(--rk-pipe-red); color: #ffffff; }

.rk-state-safe { border-color: var(--rk-pipe-green); }
.rk-state-safe h4 { color: var(--rk-pipe-green); }
.rk-state-safe .rk-data-badge { background: var(--rk-pipe-green); color: #ffffff; }

@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-body, .rk-sim-area { padding: 25px 20px; }
    .rk-sim-controls { grid-template-columns: 1fr; gap: 15px; }
    .rk-sim-display { flex-direction: column; text-align: center; gap: 20px; padding: 25px 20px; }
    .rk-pipe-visual { width: 100px; height: 100px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-srednica",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?",
    "description": "Szczegółowe obliczenia hydrauliczne dla pionu rozdzielacza. Zobacz drastyczne różnice w prędkości przepływu między rurą PEX 25 a PEX 32.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-srednica",
    "name": "Parametry Hydrauliczne Pionów Zasilających Rozdzielacze 2026",
    "description": "Baza danych określająca dopuszczalne prędkości przepływu dla głównych linii zasilających układy płaszczyznowe w oparciu o normę DIN 1988.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jaka średnica rury zasilającej rozdzielacz",
      "rura PEX 32 czy 25 do rozdzielacza",
      "prędkość przepływu w rurach CO",
      "szumy w instalacji centralnego ogrzewania",
      "kawitacja w pompie obiegowej"
    ],
    "measurementTechnique": "Przekształcenie wzoru na pole przekroju koła i objętość cylindra do analizy krytycznych wartości pola strumienia (v = 4*Q / pi*d^2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PEX 25x2.5 (dn 20mm) - Prędkość 1.52 m/s przy 12kW (Krytyczna kawitacja).",
        "PEX 32x3.0 (dn 26mm) - Prędkość 0.90 m/s przy 12kW (Stabilny przepływ)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-srednica",
    "name": "Symulator Prędkości Przepływu Pionu",
    "description": "Interaktywna aplikacja edukacyjna symulująca wpływ zmiany średnicy rury głównej na prędkość czynnika roboczego i ryzyko uszkodzenia pompy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, JavaScript and CSS3 SVG Animations",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pipe-container">
    <div class="rk-pipe-header">
        <h2>
            <svg class="rk-pipe-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M2 12h4l3-9 5 18 3-9h5"></path>
            </svg>
            Jaka średnica rury zasilającej rozdzielacz zapewnia prawidłowy przepływ?
        </h2>
        <p>Średnica rury zasilającej <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz do podłogówki</a> (pion zasilający) dla instalacji o łącznej mocy cieplnej do 15 kW musi mieć średnicę wewnętrzną wynoszącą minimum <strong>26 mm</strong> (co odpowiada rurze PEX 32x3 mm lub miedzi DN28), aby prędkość przepływu cieczy nie przekraczała bezpiecznej granicy <strong>0,8 m/s</strong> zgodnie z wytycznymi normy DIN 1988.</p>
    </div>

    <div class="rk-pipe-body">
        <h3>Obliczenia hydrauliczne dla pionu rozdzielacza</h3>
        <p>Zastosowanie zbyt małego przekroju drastycznie zwiększa opory jednostkowe i odcina rozdzielacz od wymaganego strumienia medium grzewczego. Przeanalizujmy konkretny przypadek: rozdzielacz obsługuje 10 pętli, łączna moc sekcji wynosi 12 kW, przy różnicy temperatur ΔT = 6 K. Wymagany przepływ sumaryczny to <strong>1,72 m³/h (0,000477 m³/s)</strong>.</p>
        
        <div class="rk-math-box">
            V = (4 × Q<sub>sek</sub>) / (π × d<sub>wew</sub>²)
        </div>
        
        <p>Gdzie <strong>V</strong> to prędkość przepływu, <strong>Q<sub>sek</sub></strong> to przepływ sumaryczny sekcji, a <strong>d<sub>wew</sub></strong> to rzeczywista średnica wewnętrzna rury. Zmiana rury zasilającej z 32 mm na 25 mm redukuje pole przekroju poprzecznego o ponad 40%, zmuszając ciecz do gwałtownego przyspieszenia.</p>
    </div>

    <div class="rk-sim-area">
        <h3 style="margin: 0 0 20px 0; font-size: 18px; color: var(--rk-pipe-dark);">Symulacja prędkości przepływu dla 12 kW:</h3>
        
        <div class="rk-sim-controls">
            <button class="rk-pipe-btn rk-btn-danger rk-active" id="btn-pipe-25">
                <h4>Wybierz: PEX 25x2.5</h4>
                <p>Średnica wewnętrzna 20 mm</p>
            </button>
            <button class="rk-pipe-btn rk-btn-safe" id="btn-pipe-32">
                <h4>Wybierz: PEX 32x3.0</h4>
                <p>Średnica wewnętrzna 26 mm</p>
            </button>
        </div>

        <div class="rk-sim-display rk-state-danger" id="pipe-display">
            <div class="rk-pipe-visual">
                <svg viewBox="0 0 100 100" width="100%" height="100%" fill="none" stroke-width="8" stroke-linecap="round">
                    <path d="M10 50 L90 50" stroke="#e2e8f0" stroke-width="24"/>
                    <path d="M10 50 L90 50" stroke="#f8fafc" stroke-width="16"/>
                    <path id="pipe-flow-anim" class="rk-flow-path rk-flow-fast" d="M10 50 L90 50" stroke-width="8"/>
                </svg>
            </div>
            <div class="rk-sim-data">
                <h4 id="pipe-result-title">Krytyczne przekroczenie (Kawitacja)</h4>
                <p id="pipe-result-desc">Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.</p>
                <div class="rk-data-badge" id="pipe-result-val">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg>
                    Prędkość: 1.52 m/s
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btn25 = document.getElementById('btn-pipe-25');
    var btn32 = document.getElementById('btn-pipe-32');
    var displayPanel = document.getElementById('pipe-display');
    var animPath = document.getElementById('pipe-flow-anim');
    var title = document.getElementById('pipe-result-title');
    var desc = document.getElementById('pipe-result-desc');
    var valBadge = document.getElementById('pipe-result-val');

    function setPipe25() {
        // Zmiana klas przycisków
        btn25.classList.add('rk-active');
        btn32.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-safe');
        displayPanel.classList.add('rk-state-danger');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-slow');
        animPath.classList.add('rk-flow-fast');

        // Aktualizacja tekstów
        title.textContent = 'Krytyczne przekroczenie (Kawitacja)';
        desc.textContent = 'Wysoka prędkość medium generuje gigantyczne straty ciśnienia (ponad 800 Pa/m). Wywołuje to uciążliwe szumy w ścianach i generuje opór, którego przeciętna pompa obiegowa nie jest w stanie pokonać. Skutek: niedogrzane skrajne sekcje.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><polyline points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"></polyline></svg> Prędkość: 1.52 m/s';
    }

    function setPipe32() {
        // Zmiana klas przycisków
        btn32.classList.add('rk-active');
        btn25.classList.remove('rk-active');

        // Zmiana stylów panelu głównego
        displayPanel.classList.remove('rk-state-danger');
        displayPanel.classList.add('rk-state-safe');

        // Zmiana animacji SVG
        animPath.classList.remove('rk-flow-fast');
        animPath.classList.add('rk-flow-slow');

        // Aktualizacja tekstów
        title.textContent = 'Stabilny, cichy przepływ (Optymalny)';
        desc.innerHTML = 'Prędkość spada do akceptowalnego poziomu, a liniowa strata ciśnienia maleje do niecałych 180 Pa/m. To gwarantuje stabilną i cichą dystrybucję energii do wszystkich rotametrów. Wybór odpowiedniej <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rury PEX</a> ratuje całą hydraulikę.';
        valBadge.innerHTML = '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="20" height="20"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg> Prędkość: 0.90 m/s';
    }

    // Bezpieczne nasłuchiwacze bez operatorów logicznych
    btn25.addEventListener('click', function() {
        var isAlreadyActive = btn25.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe25();
        }
    });

    btn32.addEventListener('click', function() {
        var isAlreadyActive = btn32.classList.contains('rk-active');
        if (isAlreadyActive === false) {
            setPipe32();
        }
    });
});
</script>



<style>
:root {
    --rk-tab-dark: #0f172a;
    --rk-tab-blue: #0284c7;
    --rk-tab-light: #f0f9ff;
    --rk-tab-border: #e2e8f0;
    --rk-tab-bg: #ffffff;
    --rk-tab-text: #475569;
    --rk-tab-highlight: #38bdf8;
    --rk-tab-green: #10b981;
}

.rk-tab-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-tab-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-tab-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-tab-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-tab-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-tab-blue);
}

.rk-tab-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-tab-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-tab-highlight);
    flex-shrink: 0;
}

.rk-tab-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Interfejs Symulatora */
.rk-tab-interactive {
    padding: 30px 45px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-tab-border);
}

.rk-tab-slider-wrap {
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-tab-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-tab-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.rk-tab-slider-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-tab-dark);
}

.rk-tab-slider-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-tab-blue);
}

.rk-slider-input {
    width: 100%;
    accent-color: var(--rk-tab-blue);
    cursor: pointer;
}

/* Karty Pomp (Zamiast standardowej tabeli) */
.rk-tab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #ffffff;
}

.rk-pump-card {
    background: #ffffff;
    border: 2px solid var(--rk-tab-border);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-pump-card.rk-active-card {
    border-color: var(--rk-tab-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.25);
    transform: translateY(-5px);
}

.rk-pump-card.rk-active-card::before {
    content: 'ZALECANA';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: var(--rk-tab-blue);
    color: #ffffff;
    text-align: center;
    font-size: 12px;
    font-weight: 900;
    padding: 4px 0;
    letter-spacing: 1px;
}

.rk-pump-header {
    padding: 30px 20px 20px;
    text-align: center;
    border-bottom: 1px solid var(--rk-tab-border);
    background: #f8fafc;
}

.rk-pump-header h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-tab-dark);
}

.rk-pump-header span {
    display: block;
    font-size: 13px;
    color: var(--rk-tab-text);
    margin-top: 5px;
    font-weight: 600;
}

.rk-param-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rk-param-item {
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    border-bottom: 1px solid #f1f5f9;
}

.rk-param-item:last-child {
    border-bottom: none;
}

.rk-param-label {
    font-size: 11px;
    text-transform: uppercase;
    color: #94a3b8;
    font-weight: 800;
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.rk-param-value {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-tab-dark);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-param-value svg {
    width: 16px;
    height: 16px;
    color: var(--rk-tab-blue);
    flex-shrink: 0;
}

.rk-pump-price {
    padding: 20px;
    background: #f8fafc;
    text-align: center;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-tab-green);
    border-top: 1px solid var(--rk-tab-border);
}

/* Wnioski i kontekst */
.rk-tab-summary {
    padding: 30px 45px;
    background: #f0f9ff;
    border-top: 1px solid #bae6fd;
}

.rk-tab-summary p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #0369a1;
}

.rk-tab-summary a {
    color: #0284c7;
    font-weight: 800;
    text-decoration: underline;
}

/* RWD - Akordeonowy stack dla mobile */
@media (max-width: 768px) {
    .rk-tab-header, .rk-tab-interactive, .rk-tab-grid, .rk-tab-summary { padding: 25px 20px; }
    .rk-tab-grid { grid-template-columns: 1fr; gap: 15px; }
    
    .rk-pump-card {
        border-width: 1px;
    }
    
    .rk-pump-card.rk-active-card {
        transform: translateY(0);
        border-width: 2px;
    }
    
    /* Mobilne zwijanie parametrów - ujawniają się tylko w aktywnej karcie */
    .rk-param-list, .rk-pump-price {
        display: none;
    }
    
    .rk-pump-card.rk-active-card .rk-param-list,
    .rk-pump-card.rk-active-card .rk-pump-price {
        display: block;
    }
    
    .rk-pump-header { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-tabela",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Tabela porównawcza parametrów technicznych pomp obiegowych",
    "description": "Zestawienie techniczne parametrów i cen najpopularniejszych elektronicznych pomp obiegowych ErP: 25-40, 25-60 oraz 25-80 dedykowanych do instalacji podłogowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-tabela",
    "name": "Zestawienie Parametrów Pomp Obiegowych 2026",
    "description": "Baza danych określająca specyfikację hydrauliczną i elektryczną (wysokość podnoszenia, moc W, przepływ, cena 2026) dla standardowych pomp instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pompa klasy 25-40 parametry",
      "wysokość podnoszenia pompy 25-60",
      "pobór mocy pompy obiegowej do podłogówki",
      "cennik pomp do podłogówki 2026",
      "maksymalny przepływ wody w podłogówce"
    ],
    "measurementTechnique": "Kompilacja i porównanie deklaracji właściwości użytkowych (EEI ≤ 0,20) producentów pomp elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "25-40: 4m, 2.4 m3/h, 3-22W, do 100m2",
        "25-60: 6m, 3.4 m3/h, 3-40W, 100-220m2",
        "25-80: 8m, 4.5 m3/h, 4-60W, >220m2"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-tabela",
    "name": "Interaktywna Porównywarka Pomp Obiegowych",
    "description": "Moduł aplikacyjny pozwalający na dopasowanie i wizualizację parametrów typoszeregu pomp na podstawie suwaka metrażu budynku.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tab-container">
    <div class="rk-tab-header">
        <h2>
            <svg class="rk-tab-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
                <line x1="3" y1="9" x2="21" y2="9"></line>
                <line x1="9" y1="21" x2="9" y2="9"></line>
            </svg>
            Tabela porównawcza parametrów technicznych pomp obiegowych
        </h2>
        <p>Poniższa specyfikacja przedstawia zestawienie kluczowych parametrów dla trzech najpopularniejszych typoszeregów elektronicznych pomp obiegowych (zgodnych z dyrektywą ErP, <strong>EEI ≤ 0,20</strong>) stosowanych w budownictwie jednorodzinnym.</p>
    </div>

    <div class="rk-tab-interactive">
        <div class="rk-tab-slider-wrap">
            <div class="rk-tab-slider-header">
                <span class="rk-tab-slider-title">Symulowana powierzchnia podłogówki:</span>
                <span class="rk-tab-slider-val"><span id="rk-tab-area-val">120</span> m²</span>
            </div>
            <input type="range" id="rk-tab-area-slider" class="rk-slider-input" min="50" max="350" step="10" value="120">
        </div>
    </div>

    <div class="rk-tab-grid">
        
        <div class="rk-pump-card" id="rk-pump-40">
            <div class="rk-pump-header">
                <h3>Klasa 25-40</h3>
                <span>Małe układy (np. 4m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 4,0 m (40 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 2,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 22 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Do 100 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">450 – 600 PLN</div>
        </div>

        <div class="rk-pump-card rk-active-card" id="rk-pump-60">
            <div class="rk-pump-header">
                <h3>Klasa 25-60</h3>
                <span>Standardowe domy (np. 6m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 6,0 m (60 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 3,4 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 3 W – 40 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> 100 m² – 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">650 – 850 PLN</div>
        </div>

        <div class="rk-pump-card" id="rk-pump-80">
            <div class="rk-pump-header">
                <h3>Klasa 25-80</h3>
                <span>Rozbudowane układy (np. 8m słupa wody)</span>
            </div>
            <ul class="rk-param-list">
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. wysokość podnoszenia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 19V5M5 12l7-7 7 7"/></svg> 8,0 m (80 kPa)</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Max. przepływ objętościowy</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"/></svg> 4,5 m³/h</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Pobór mocy (Min-Max)</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z"/></svg> 4 W – 60 W</span>
                </li>
                <li class="rk-param-item">
                    <span class="rk-param-label">Sugerowana powierzchnia</span>
                    <span class="rk-param-value"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"/></svg> Powyżej 220 m²</span>
                </li>
            </ul>
            <div class="rk-pump-price">1100 – 1400 PLN</div>
        </div>

    </div>

    <div class="rk-tab-summary">
        <p>
            Analizując powyższe parametry z tabeli, widać wyraźnie, że wybór odpowiedniego modelu musi opierać się na precyzyjnych obliczeniach dla danego budynku, a nie na zasadzie „im większa, tym lepsza”. Praca przewymiarowanej <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy klasy 25-80</a> w małym domku drastycznie podnosi roczny <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">koszt eksploatacji instalacji</a> ze względu na wyższe zużycie prądu [W] oraz generuje uciążliwe szumy. Z kolei zbyt słaba pompa 25-40 w budynku piętrowym nie poradzi sobie z oporami długich pętli hydraulicznych, pozostawiając posadzkę chłodną.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var slider = document.getElementById('rk-tab-area-slider');
    var valDisplay = document.getElementById('rk-tab-area-val');
    var p40 = document.getElementById('rk-pump-40');
    var p60 = document.getElementById('rk-pump-60');
    var p80 = document.getElementById('rk-pump-80');

    function updateHighlight() {
        var area = parseInt(slider.value);
        valDisplay.textContent = area;

        // Bezpieczny reset klas
        p40.classList.remove('rk-active-card');
        p60.classList.remove('rk-active-card');
        p80.classList.remove('rk-active-card');

        // Logika przypisania na podstawie powierzchni (bez użycia &&)
        if (area <= 100) {
            p40.classList.add('rk-active-card');
        } else if (area <= 220) {
            p60.classList.add('rk-active-card');
        } else {
            p80.classList.add('rk-active-card');
        }
    }

    slider.addEventListener('input', updateHighlight);
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #f0f9ff;
    --rk-calc-border: #e2e8f0;
    --rk-calc-bg: #ffffff;
    --rk-calc-text: #475569;
    --rk-calc-green: #10b981;
    --rk-calc-red: #ef4444;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-calc-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-calc-border);
    overflow: hidden;
}

/* Nagłówek Kalkulatora */
.rk-calc-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-calc-dark) 0%, #1e293b 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-calc-blue);
}

.rk-calc-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-calc-header p {
    color: #cbd5e1;
    font-size: 15px;
    line-height: 1.6;
    margin: 0;
}

.rk-calc-icon-main {
    width: 32px;
    height: 32px;
    color: #38bdf8;
}

/* Sekcja Wprowadzania Danych */
.rk-calc-body {
    padding: 35px 45px;
    background: #f8fafc;
}

.rk-calc-body h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

.rk-calc-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.rk-input-group {
    display: flex;
    flex-direction: column;
}

.rk-input-group label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-text);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-input-group input, 
.rk-input-group select {
    padding: 14px 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 600;
    color: var(--rk-calc-dark);
    background: #ffffff;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.rk-input-group input:focus, 
.rk-input-group select:focus {
    outline: none;
    border-color: var(--rk-calc-blue);
    box-shadow: 0 0 0 3px rgba(2, 132, 199, 0.15);
}

.rk-btn-calc {
    width: 100%;
    padding: 18px;
    background: var(--rk-calc-blue);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.rk-btn-calc:hover {
    background: #0369a1;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.4);
}

/* Sekcja Wyników i Suwaków */
.rk-calc-results {
    padding: 35px 45px;
    background: #ffffff;
    border-top: 1px solid var(--rk-calc-border);
}

.rk-sliders-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 30px;
}

.rk-slider-box {
    background: var(--rk-calc-blue-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #bae6fd;
}

.rk-slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.rk-slider-header span {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-text);
}

.rk-slider-val {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-calc-blue);
}

.rk-range {
    width: 100%;
    accent-color: var(--rk-calc-blue);
    cursor: pointer;
}

/* Rekomendacja */
.rk-recommendation {
    padding: 20px 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 18px;
    font-weight: 800;
    transition: all 0.4s ease;
}

/* Wykres */
.rk-chart-wrapper {
    height: 450px;
    padding: 20px;
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 16px;
    margin: 0 45px 40px;
}

@media (max-width: 768px) {
    .rk-calc-header, .rk-calc-body, .rk-calc-results { padding: 25px 20px; }
    .rk-calc-grid { grid-template-columns: 1fr 1fr; }
    .rk-sliders-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-chart-wrapper { margin: 0 20px 30px; height: 350px; }
}

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

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kalkulator Doboru Pompy Obiegowej - Wykres i Obliczenia OZC",
    "description": "Profesjonalny kalkulator online wyznaczający punkt pracy pompy (przepływ Q, wysokość podnoszenia H) na podstawie obciążenia cieplnego i oporów hydraulicznych rur.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-kalkulator",
    "name": "Baza Parametrów Hydraulicznych i Cieplnych Ogrzewania Podłogowego 2026",
    "description": "Algorytmiczny model obliczeniowy oporów jednostkowych dla rur PEX/PERT oraz wymaganego zładu wody na podstawie OZC (Δt, zapotrzebowanie W/m2).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kalkulator pompy obiegowej",
      "obliczanie przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne rury PEX 16",
      "wykres charakterystyki pompy 25-60",
      "jak dobrać pompę do podłogówki"
    ],
    "measurementTechnique": "Wyznaczenie punktu przecięcia krzywej oporów instalacji z nomogramem wydajności pomp obiegowych (Q/H) zgodnych z dyrektywą ErP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 - bazowy opór szacunkowy przyjmowany w modelu: 0.015 mH2O/m",
        "Rura PEX 17 - bazowy opór szacunkowy przyjmowany w modelu: 0.013 mH2O/m",
        "Ciepło właściwe i gęstość wody przeliczone stałą 1163"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-kalkulator",
    "name": "Kalkulator Doboru Pompy Ogrzewania Płaszczyznowego",
    "description": "Interaktywny symulator pozwalający na wyznaczenie przepływu objętościowego i wysokości podnoszenia w czasie rzeczywistym z wizualizacją na wykresie krzywych pomp.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript, HTML5 Canvas",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container">
    <div class="rk-calc-header">
        <h2>
            <svg class="rk-calc-icon-main" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <rect x="2" y="3" width="20" height="14" rx="2" ry="2"></rect>
                <line x1="8" y1="21" x2="16" y2="21"></line>
                <line x1="12" y1="17" x2="12" y2="21"></line>
                <polyline points="10 7 14 10 10 13"></polyline>
            </svg>
            Kalkulator Doboru Pompy Obiegowej
        </h2>
        <p>Wprowadź precyzyjne dane projektowe lub estymowane z audytu OZC, aby wyznaczyć punkt pracy instalacji i sprawdzić go na tle rzeczywistych charakterystyk pomp.</p>
    </div>

    <div class="rk-calc-body">
        <h3>1. Parametry Instalacji Podłogowej</h3>
        <div class="rk-calc-grid">
            <div class="rk-input-group">
                <label>Powierzchnia (m²)</label>
                <input type="number" id="rk-in-area" value="120" min="10">
            </div>
            <div class="rk-input-group">
                <label>Moc cieplna (W/m²)</label>
                <input type="number" id="rk-in-load" value="60" min="10">
            </div>
            <div class="rk-input-group">
                <label>Różnica temp. ΔT (K)</label>
                <input type="number" id="rk-in-dt" value="5" min="2" max="15">
            </div>
            <div class="rk-input-group">
                <label>Ilość pętli</label>
                <input type="number" id="rk-in-loops" value="10" min="1">
            </div>
            <div class="rk-input-group">
                <label>Długość maks. pętli (m)</label>
                <input type="number" id="rk-in-avg" value="80" min="10">
            </div>
            <div class="rk-input-group">
                <label>Średnica rury zewnętrzna</label>
                <select id="rk-in-pipe">
                    <option value="16">PEX/PERT 16x2.0</option>
                    <option value="17" selected>PEX/PERT 17x2.0</option>
                    <option value="20">PEX/PERT 20x2.0</option>
                </select>
            </div>
        </div>
        <button id="rk-master-calc-btn" class="rk-btn-calc">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="24" height="24"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
            Oblicz punkt pracy i odśwież wykres
        </button>
    </div>

    <div class="rk-calc-results">
        <h3>2. Obliczony punkt pracy i autoadaptacja</h3>
        <div class="rk-sliders-grid">
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Przepływ (Q)</span>
                    <span class="rk-slider-val"><span id="rk-disp-q">1.40</span> m³/h</span>
                </div>
                <input type="range" id="rk-slider-q" class="rk-range" min="0.1" max="4" step="0.05" value="1.40">
            </div>
            <div class="rk-slider-box">
                <div class="rk-slider-header">
                    <span>Wysokość podnoszenia (H)</span>
                    <span class="rk-slider-val"><span id="rk-disp-h">4.00</span> m</span>
                </div>
                <input type="range" id="rk-slider-h" class="rk-range" min="0.1" max="8" step="0.05" value="4.00">
            </div>
        </div>
        
        <div id="rk-rec-box" class="rk-recommendation">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="28" height="28"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
            <span>Rekomendowany typoszereg pompy: <span id="rk-final-pump">25-60</span></span>
        </div>
    </div>

    <div class="rk-chart-wrapper">
        <canvas id="rk-master-canvas"></canvas>
    </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;

    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) {
        let maxQ = curve[curve.length - 1].x;
        if (q > maxQ) {
            return false;
        }
        
        for (let i = 0; i < curve.length - 1; i++) {
            let p1 = curve[i];
            let p2 = curve[i+1];
            
            let isInsideRange = false;
            if (q >= p1.x) {
                if (q <= p2.x) {
                    isInsideRange = true;
                }
            }
            
            if (isInsideRange) {
                let ratio = (q - p1.x) / (p2.x - p1.x);
                let maxHAtQ = p1.y + ratio * (p2.y - p1.y);
                if (h <= maxHAtQ) {
                    return true;
                } else {
                    return false;
                }
            }
        }
        return false;
    }

    function initChart() {
        const ctx = document.getElementById('rk-master-canvas');
        if (!ctx) {
            setTimeout(initChart, 200);
            return;
        }
        if (typeof Chart === 'undefined') {
            setTimeout(initChart, 200);
            return;
        }

        masterChart = new Chart(ctx, {
            type: 'scatter',
            data: {
                datasets: [
                    { label: 'Krzywa 25-40', data: pumpCurves["25-40"], borderColor: '#f59e0b', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-60', data: pumpCurves["25-60"], borderColor: '#0ea5e9', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Krzywa 25-80', data: pumpCurves["25-80"], borderColor: '#8b5cf6', showLine: true, tension: 0.3, pointRadius: 0, borderWidth: 3 },
                    { label: 'Opór Instalacji', data: getInstallationData(masterQ, masterH), borderColor: '#94a3b8', borderDash: [6, 6], showLine: true, pointRadius: 0, borderWidth: 2 },
                    { label: 'Punkt Pracy', data: [{x: masterQ, y: masterH}], backgroundColor: '#ef4444', pointRadius: 8, hoverRadius: 10, z: 10 }
                ]
            },
            options: {
                responsive: true,
                maintainAspectRatio: false,
                scales: {
                    x: { min: 0, max: 4.5, title: { display: true, text: 'Przepływ objętościowy Q [m³/h]', font: {weight: 'bold'} } },
                    y: { min: 0, max: 8.5, title: { display: true, text: 'Wysokość podnoszenia H [m]', font: {weight: 'bold'} } }
                },
                plugins: { 
                    legend: { position: 'top', labels: { font: {family: 'Inter', weight: '600'} } },
                    tooltip: { enabled: false }
                }
            }
        });

        document.getElementById('rk-master-calc-btn').addEventListener('click', function() {
            const area = parseFloat(document.getElementById('rk-in-area').value);
            const load = parseFloat(document.getElementById('rk-in-load').value);
            const dt = parseFloat(document.getElementById('rk-in-dt').value);
            const loops = parseFloat(document.getElementById('rk-in-loops').value);
            const avg = parseFloat(document.getElementById('rk-in-avg').value);
            const pipeVal = parseInt(document.getElementById('rk-in-pipe').value);

            let flow = (area * load) / (1163 * dt);
            
            let res = 0.015;
            if (pipeVal === 17) {
                res = 0.013;
            } else if (pipeVal === 20) {
                res = 0.010;
            }

            let extraRes = 0.8;
            if (loops <= 6) {
                extraRes = 0.4;
            }

            let head = (avg * res * 1.35) + extraRes;

            document.getElementById('rk-slider-q').value = flow.toFixed(2);
            document.getElementById('rk-slider-h').value = head.toFixed(2);
            
            refreshUI(flow, head);
        });

        document.getElementById('rk-slider-q').addEventListener('input', function(e) {
            refreshUI(parseFloat(e.target.value), masterH);
        });
        
        document.getElementById('rk-slider-h').addEventListener('input', function(e) {
            refreshUI(masterQ, parseFloat(e.target.value));
        });
        
        refreshUI(1.4, 4.0);
    }

    function refreshUI(q, h) {
        masterQ = q; 
        masterH = h;
        
        document.getElementById('rk-disp-q').innerText = q.toFixed(2);
        document.getElementById('rk-disp-h').innerText = h.toFixed(2);

        let recText = "Przekroczenie parametrów";
        let bgColor = "#fef2f2";
        let borderColor = "#ef4444";
        let textColor = "#b91c1c";

        if (isPointBelowCurve(q, h, pumpCurves["25-40"])) {
            recText = "25-40 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-60"])) {
            recText = "25-60 (Zalecana optymalna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        } else if (isPointBelowCurve(q, h, pumpCurves["25-80"])) {
            recText = "25-80 (Zalecana mocna)";
            bgColor = "#f0fdf4";
            borderColor = "#22c55e";
            textColor = "#15803d";
        }

        const recBox = document.getElementById('rk-rec-box');
        document.getElementById('rk-final-pump').innerText = recText;
        
        recBox.style.backgroundColor = bgColor;
        recBox.style.borderLeft = "5px solid " + borderColor;
        recBox.style.color = textColor;

        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') {
        initChart();
    } else {
        window.addEventListener('load', initChart);
    }
})();
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-blue: #0284c7;
    --rk-proj-blue-light: #e0f2fe;
    --rk-proj-cyan: #06b6d4;
    --rk-proj-gray: #f8fafc;
    --rk-proj-border: #e2e8f0;
    --rk-proj-text: #475569;
    --rk-proj-gold: #fbbf24;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-proj-blue);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-proj-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
}

.rk-proj-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--rk-proj-blue), var(--rk-proj-cyan));
}

.rk-proj-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
    color: #ffffff;
}

.rk-proj-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Ekosystem */
.rk-proj-ecosystem {
    display: flex;
    padding: 0;
    background: #ffffff;
}

/* Lewa strona - Triggery */
.rk-proj-nav {
    width: 45%;
    background: var(--rk-proj-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-proj-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-proj-trigger {
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    padding: 20px;
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-proj-trigger::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: transparent;
    transition: background 0.3s;
}

.rk-proj-trigger:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    border-color: #cbd5e1;
}

.rk-proj-trigger.rk-active {
    background: var(--rk-proj-blue-light);
    border-color: var(--rk-proj-blue);
    box-shadow: inset 0 0 0 1px var(--rk-proj-blue);
}

.rk-proj-trigger.rk-active::before {
    background: var(--rk-proj-blue);
}

.rk-trigger-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-proj-text);
    flex-shrink: 0;
    transition: color 0.3s;
}

.rk-proj-trigger.rk-active .rk-trigger-icon {
    color: var(--rk-proj-blue);
}

.rk-proj-trigger h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    line-height: 1.3;
}

/* Prawa strona - Kontent */
.rk-proj-content-area {
    width: 55%;
    padding: 40px;
    position: relative;
    background: #ffffff;
}

.rk-proj-panel {
    display: none;
    animation: fadeInPanel 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.rk-proj-panel.rk-active {
    display: block;
}

@keyframes fadeInPanel {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-proj-panel-icon {
    width: 48px;
    height: 48px;
    color: var(--rk-proj-cyan);
    margin-bottom: 20px;
}

.rk-proj-panel h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-proj-panel p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-proj-text);
    margin: 0 0 15px 0;
}

/* Wyróżnik inżynieryjny wewnątrz panelu */
.rk-proj-alert {
    background: #fffbeb;
    border-left: 4px solid var(--rk-proj-gold);
    padding: 15px;
    border-radius: 0 8px 8px 0;
    margin-top: 20px;
}

.rk-proj-alert p {
    color: #b45309;
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

/* Mocne CTA */
.rk-proj-cta-section {
    padding: 40px 45px;
    background: linear-gradient(to right, #f8fafc, #f1f5f9);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

.rk-proj-cta-section h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
}

.rk-proj-cta-section p {
    font-size: 16px;
    line-height: 1.6;
    color: var(--rk-proj-text);
    max-width: 700px;
    margin: 0 auto 25px auto;
}

.rk-btn-mega {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 22px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-mega:hover {
    transform: translateY(-5px);
    background: #0369a1;
    box-shadow: 0 20px 40px -5px rgba(2, 132, 199, 0.5);
    border-color: #7dd3fc;
}

.rk-btn-mega svg {
    transition: transform 0.3s;
}

.rk-btn-mega:hover svg {
    transform: translateX(6px);
}

/* RWD - Zmiana na układ pionowy (akordeonowy flow) dla mobile */
@media (max-width: 768px) {
    .rk-proj-header { padding: 25px 20px; }
    .rk-proj-header h2 { font-size: 22px; }
    
    .rk-proj-ecosystem { flex-direction: column; }
    .rk-proj-nav { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-proj-border); padding: 20px; }
    .rk-proj-content-area { width: 100%; padding: 25px 20px; }
    
    .rk-proj-panel h4 { font-size: 20px; }
    
    .rk-proj-cta-section { padding: 30px 20px; }
    .rk-btn-mega { width: 100%; padding: 18px 15px; font-size: 15px; flex-direction: column; gap: 8px; text-align: center; }
    .rk-btn-mega svg { transform: rotate(90deg); }
    .rk-btn-mega:hover svg { transform: rotate(90deg) translateY(5px); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?",
    "description": "Analiza powiązań pomiędzy doborem pompy obiegowej a audytem OZC, rozstawem rur, grubością wylewki oraz sprzęgłem hydraulicznym w układach z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-wplyw",
    "name": "Macierz Wpływu Parametrów Projektowych na Dobór Pompy 2026",
    "description": "Zestawienie korelacji między składowymi projektu ogrzewania podłogowego (OZC, dylatacje, bufor ciepła) a wydajnością pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego podłogówki",
      "obliczenia OZC a dobór pompy",
      "rozstaw rur w podłogówce a opory hydrauliczne",
      "bezwładność cieplna wylewki jastrychowej",
      "sprzęgło hydrauliczne w układzie z pompą ciepła"
    ],
    "measurementTechnique": "Symulacja zmian strumienia objętościowego i oporów hydraulicznych w odpowiedzi na modyfikacje parametrów budowlanych (temperatura, rozstaw, buforowanie).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "OZC ustala moc, co definiuje przepływ masowy.",
        "Rozstaw rur definiuje długość pętli, co warunkuje straty ciśnienia.",
        "Masa wylewki decyduje o ciągłości pracy pompy obiegowej.",
        "Bufor wymusza stosowanie dodatkowych grup pompowych i odsprzężenia."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-wplyw",
    "name": "Symulator Wpływu Projektowego",
    "description": "Interaktywny panel edukacyjny demonstrujący nierozerwalne zależności układu hydraulicznego na etapie projektowania domu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container">
    <div class="rk-proj-header">
        <h2>
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" width="32" height="32" style="color: var(--rk-proj-cyan);">
                <polygon points="12 2 2 7 12 12 22 7 12 2"></polygon>
                <polyline points="2 17 12 22 22 17"></polyline>
                <polyline points="2 12 12 17 22 12"></polyline>
            </svg>
            Jak dobór pompy obiegowej wpływa na projekt ogrzewania podłogowego?
        </h2>
        <p>Wybór punktu pracy pompy obiegowej jest nierozerwalnie połączony z kluczowymi składowymi całego projektu technicznego i bezpośrednio wpływa na sprawność emisyjną układu. Prawidłowy system opiera się na symbiozie hydrauliki z termodynamiką budynku.</p>
    </div>

    <div class="rk-proj-ecosystem">
        <div class="rk-proj-nav">
            <button class="rk-proj-trigger rk-active" data-target="panel-ozc">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h3>Obliczenia OZC i Delta T</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-rury">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                <h3>Rozstaw rur a hydraulika</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-wylewka">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h3>Wylewka i bezwładność</h3>
            </button>
            <button class="rk-proj-trigger" data-target="panel-sprzeglo">
                <svg class="rk-trigger-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h3>Sprzęgło i bufor ciepła</h3>
            </button>
        </div>

        <div class="rk-proj-content-area">
            
            <div class="rk-proj-panel rk-active" id="panel-ozc">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                <h4>Powiązanie z OZC i temperaturą zasilania</h4>
                <p>Profesjonalny bilans cieplny budynku (<a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">obliczenia OZC</a>) określa dokładne zapotrzebowanie na energię każdego pomieszczenia. Jeśli projektant zakłada niską temperaturę zasilania pompy ciepła (np. 35°C), automatycznie wymusza to mniejszą różnicę temperatur <strong>(ΔT = 5 K)</strong>.</p>
                <div class="rk-proj-alert">
                    <p>Skutek hydrauliczny: Mała delta oznacza konieczność przetłoczenia znacznie większego strumienia wody. Kalkulator wykaże gigantyczny przepływ, więc pompa obiegowa musi być odpowiednio mocniejsza.</p>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-rury">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                <h4>Rozstaw rur a długość pętli</h4>
                <p>Aby zredukować wymagany przepływ i temperaturę zasilania w salonie z dużymi przeszkleniami, stosuje się gęsty rozstaw rur (co 10 cm zamiast standardowych 15 cm). Zwiększa to jednak drastycznie całkowitą długość rur w pomieszczeniu.</p>
                <p>Jeśli projektant nie podzieli tego salonu na dwie lub trzy niezależne pętle, powstanie jedna gigantyczna pętla o długości np. 140 m. Jej opór hydrauliczny <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">zdławi przepływ do zera</a>, uniemożliwiając prawidłowe zbalansowanie rozdzielacza i zmuszając pompę do skrajnego wysiłku.</p>
            </div>

            <div class="rk-proj-panel" id="panel-wylewka">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="7" width="20" height="14" rx="2" ry="2"></rect><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"></path></svg>
                <h4>Wylewka i bezwładność cieplna</h4>
                <p>Grubość wylewki betonowej lub anhydrytowej nad rurami (standardowo 5-6 cm czystego jastrychu nad rurą) tworzy ogromny akumulator ciepła – to dosłownie <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">największy magazyn energii w Twoim domu</a>.</p>
                <p>Aby efektywnie ładować ten magazyn przy współpracy z rekuperacją, pompa musi pracować w sposób ciągły, stabilny i ze stałym ciśnieniem proporcjonalnym, dynamicznie reagując na zamykanie <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowników termoelektrycznych</a> sterowania strefowego. Mikroprocesor pompy kompensuje każdą zmianę oporu.</p>
            </div>

            <div class="rk-proj-panel" id="panel-sprzeglo">
                <svg class="rk-proj-panel-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                <h4>Sprzęgło hydrauliczne i bufor ciepła</h4>
                <p>W rozbudowanych instalacjach (np. parter i piętro), gdy wbudowana w pompę ciepła jednostka tłocząca nie radzi sobie z oporami całego domu, niezbędne staje się hydrauliczne odsprzęgnięcie układu za pomocą <a href="https://projekt-ogrzewania.pl/bufor-ciepla-w-ogrzewaniu-podlogowym/">bufora ciepła</a> lub sprzęgła.</p>
                <div class="rk-proj-alert">
                    <p>Skutek projektowy: Zastosowanie sprzęgła wymusza dobór dodatkowych, zewnętrznych pomp obiegowych dla każdej ze stref. Brak prawidłowego zbilansowania przepływów (obieg pierwotny vs wtórny) doprowadzi do tzw. podkradania wody i błędów w pracy sprężarki pompy ciepła.</p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie zdawaj się na los w kwestii własnego domu</h3>
        <p>Precyzyjny dobór pomp obiegowych, weryfikacja oporów pętli i zrównoważenie hydrauliczne to fundament cichej, energooszczędnej instalacji współpracującej z niskotemperaturową pompą ciepła. Zabezpiecz swój budżet przed kosztownymi poprawkami.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-mega">
            ZAMÓW PROFESJONALNY PROJEKT INSTALACJI OGRZEWANIA PODŁOGOWEGO
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var triggers = document.querySelectorAll('.rk-proj-trigger');
    var panels = document.querySelectorAll('.rk-proj-panel');

    for (var i = 0; i < triggers.length; i++) {
        triggers[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');

            // Resetowanie wszystkich przycisków (bezpiecznie bez użycia '&#038;&#038;')
            for (var j = 0; j < triggers.length; j++) {
                triggers[j].classList.remove('rk-active');
            }
            // Aktywacja klikniętego
            this.classList.add('rk-active');

            // Ukrywanie wszystkich paneli
            for (var k = 0; k < panels.length; k++) {
                panels[k].classList.remove('rk-active');
            }
            
            // Pokaż docelowy panel
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #1e293b;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-green: #10b981;
    --rk-err-green-light: #f0fdf4;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
    --rk-err-text: #475569;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(239, 68, 68, 0.15);
    border: 1px solid var(--rk-err-red);
    overflow: hidden;
}

/* Nagłówek sekcji */
.rk-err-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #0f172a 100%);
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

.rk-err-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    line-height: 1.3;
}

.rk-err-header-icon {
    width: 36px;
    height: 36px;
    color: var(--rk-err-red);
    flex-shrink: 0;
}

.rk-err-header p {
    color: #cbd5e1;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
    max-width: 800px;
}

/* Siatka błędów */
.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 35px 45px;
    background: #f8fafc;
}

.rk-err-card {
    background: var(--rk-err-bg);
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.rk-err-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.05);
    transform: translateY(-2px);
}

.rk-err-card.rk-active {
    border-color: var(--rk-err-red);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

/* Górna część karty (Problem) */
.rk-err-problem {
    padding: 25px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    position: relative;
}

.rk-err-num {
    background: var(--rk-err-red-light);
    color: var(--rk-err-red);
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 16px;
    flex-shrink: 0;
}

.rk-err-problem-text h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

.rk-err-problem-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-err-text);
    line-height: 1.5;
}

.rk-err-toggle {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 24px;
    height: 24px;
    color: #94a3b8;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), color 0.3s;
}

.rk-err-card.rk-active .rk-err-toggle {
    transform: rotate(180deg);
    color: var(--rk-err-red);
}

/* Dolna część karty (Rozwiązanie - rozwijana) */
.rk-err-solution {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: var(--rk-err-green-light);
}

.rk-err-solution-inner {
    padding: 20px 25px 25px;
    border-top: 1px dashed #bbf7d0;
    display: flex;
    gap: 15px;
}

.rk-err-sol-icon {
    width: 24px;
    height: 24px;
    color: var(--rk-err-green);
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-err-solution-inner p {
    margin: 0;
    font-size: 14px;
    color: #166534;
    line-height: 1.6;
    font-weight: 500;
}

.rk-err-solution-inner a {
    color: #15803d;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-err-solution-inner a:hover {
    color: #14532d;
}

@media (max-width: 768px) {
    .rk-err-header { padding: 25px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
    .rk-err-problem { padding: 20px; }
    .rk-err-solution-inner { padding: 15px 20px 20px; }
    .rk-err-toggle { right: 15px; top: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych",
    "description": "Lista najdroższych błędów wykonawczych w ogrzewaniu podłogowym: przewymiarowanie, zły tryb pracy pompy, woda wodociągowa i brak separatorów magnetycznych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-bledy",
    "name": "Baza Błędów Wykonawczych i Kosztów Eksploatacji Pomp 2026",
    "description": "Zestawienie krytycznych błędów hydraulicznych prowadzących do uszkodzeń pomp obiegowych, generowania hałasu w instalacji oraz strat energii elektrycznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dlaczego pompa obiegowa buczy",
      "magnetyczny separator zanieczyszczeń do ogrzewania podłogowego",
      "tryb stałego ciśnienia pompy",
      "przewymiarowana pompa do podłogówki",
      "czyszczenie filtra przed pompą ciepła"
    ],
    "measurementTechnique": "Analiza usterek hydraulicznych i strat energii elektrycznej wynikających z błędów montażowych instalatorów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Przewymiarowanie pompy (zakup 25-80 do 120m2).",
        "Błąd 2: Tryb stałych obrotów zamiast Constant Pressure (CP).",
        "Błąd 3: Napełnianie instalacji surową wodą wodociągową.",
        "Błąd 4: Brak separatora magnetycznego powodujący zacieranie wirnika."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-bledy",
    "name": "Interaktywny Detektor Błędów Instalacyjnych",
    "description": "Narzędzie symulujące sprzężenie zwrotne: problem instalacyjny kontra rozwiązanie inżynierskie dla pomp obiegowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container">
    <div class="rk-err-header">
        <h2>
            <svg class="rk-err-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path>
                <line x1="12" y1="9" x2="12" y2="13"></line>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            Najczęstsze błędy instalatorów przy konfiguracji pomp obiegowych
        </h2>
        <p>Mimo zaawansowanej technologii i powszechnego dostępu do wiedzy inżynieryjnej, wykonawcy na polskich budowach nagminnie powielają przestarzałe błędy, które rujnują ekonomikę instalacji niskotemperaturowych. Kliknij kafelek, aby sprawdzić, jak uchronić swój system przed awarią.</p>
    </div>

    <div class="rk-err-grid">
        
        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">1</div>
                <div class="rk-err-problem-text">
                    <h3>Dobór pompy „z zapasem” (Przewymiarowanie)</h3>
                    <p>Kupowanie pompy klasy 25-80 do standardowego domu o powierzchni 120 m² sprawia, że urządzenie z trudem schodzi z wysokich obrotów.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Skutkuje to turbulencjami w przepływie cieczy i generowaniem hałasu w szafkach rozdzielaczowych. Zbyt mocna pompa skraca żywotność własnych łożysk i generuje zbędny koszt roczny. Przeanalizuj <a href="https://projekt-ogrzewania.pl/rzeczywiste-oszczednosci-na-kosztach-ogrzewania-w-skali-roku-analiza-rozstawu-rur-dla-domu-150-m%c2%b2/">rzeczywiste parametry instalacji</a> przed zakupem.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">2</div>
                <div class="rk-err-problem-text">
                    <h3>Ustawienie trybu stałych obrotów (Constant Speed)</h3>
                    <p>Pozostawienie pompy na sztywnym, stałym biegu (I, II lub III) w układzie z zamykającymi się siłownikami na rozdzielaczach.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Gdy automatyka zamknie 8 z 10 pętli, pompa nadal tłoczy tę samą ilość wody przez pozostałe 2 pętle. Generuje to uciążliwe świsty i zrywa uszczelnienia. Prawidłowe <a href="https://projekt-ogrzewania.pl/sterowanie-strefowe-ogrzewaniem-czy-warto/">sterowanie strefowe</a> zawsze wymaga włączenia trybu stałego ciśnienia (CP).</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">3</div>
                <div class="rk-err-problem-text">
                    <h3>Napełnianie układu surową wodą wodociągową</h3>
                    <p>Brak przygotowania zładu wody. Zwykła woda z kranu pełna jest związków wapnia, magnezu oraz tlenu inicjującego rdzewienie.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Kamień kotłowy osadza się na wirniku pompy i wymiennikach płytowych, drastycznie zmniejszając średnicę przelotu. Standardem inżynierskim jest <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem korozji</a>, gwarantująca dekady niezawodności.</p>
                </div>
            </div>
        </div>

        <div class="rk-err-card">
            <div class="rk-err-problem">
                <div class="rk-err-num">4</div>
                <div class="rk-err-problem-text">
                    <h3>Brak separatora magnetycznego (Zacieranie wirnika)</h3>
                    <p>Bezpośrednie podłączenie pompy bez dedykowanego osadnika z silnym magnesem neodymowym na powrocie do źródła ciepła.</p>
                </div>
                <svg class="rk-err-toggle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
            </div>
            <div class="rk-err-solution">
                <div class="rk-err-solution-inner">
                    <svg class="rk-err-sol-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    <p>Zanieczyszczenia z rur osadzają się na magnesie trwałym silnika ECM, przez co pompa obiegowa buczy, traci wydajność, aż w końcu ulega całkowitemu zatarciu. Dobrej klasy magnetyczny separator zanieczyszczeń i coroczne <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">czyszczenie filtra przed pompą ciepła</a> chronią układ przed paraliżem hydraulicznym.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var errCards = document.querySelectorAll('.rk-err-card');
    
    for (var i = 0; i < errCards.length; i++) {
        errCards[i].addEventListener('click', function() {
            var isActive = this.classList.contains('rk-active');
            
            // Zamykamy wszystkie karty (bezpieczna pętla, bez '&#038;&#038;')
            for (var j = 0; j < errCards.length; j++) {
                errCards[j].classList.remove('rk-active');
                var solToClose = errCards[j].querySelector('.rk-err-solution');
                solToClose.style.maxHeight = null;
            }
            
            // Otwieramy klikniętą, o ile wcześniej była zamknięta
            if (isActive === false) {
                this.classList.add('rk-active');
                var solToOpen = this.querySelector('.rk-err-solution');
                solToOpen.style.maxHeight = solToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-light: #f8fafc;
    --rk-case-red: #ef4444;
    --rk-case-orange: #f97316;
    --rk-case-border: #e2e8f0;
    --rk-case-text: #475569;
    --rk-case-bg: #ffffff;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-case-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-orange);
    position: relative;
}

.rk-case-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-case-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-case-orange);
    flex-shrink: 0;
}

.rk-case-header p {
    font-size: 15px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

/* Główny układ */
.rk-case-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-case-bg);
}

/* Lewa Kolumna - Historia */
.rk-case-story {
    padding: 40px 45px;
    border-right: 1px solid var(--rk-case-border);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff7ed;
    color: #c2410c;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #fed7aa;
}

.rk-case-story h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-case-story p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-case-text);
    margin: 0 0 15px 0;
}

.rk-case-story a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-case-story a:hover {
    color: var(--rk-case-dark);
}

.rk-case-quote {
    padding: 20px;
    background: #f1f5f9;
    border-left: 4px solid var(--rk-case-dark);
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
    font-style: italic;
    color: #334155;
    font-weight: 600;
}

/* Prawa Kolumna - Interaktywna Diagnoza */
.rk-case-interactive {
    padding: 40px;
    background: var(--rk-case-light);
    display: flex;
    flex-direction: column;
}

.rk-case-interactive h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-case-dark);
    margin: 0 0 20px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Przyciski Osi Czasu */
.rk-timeline-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-time-btn {
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.3s ease;
}

.rk-time-btn h5 {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-case-dark);
}

.rk-time-icon {
    width: 20px;
    height: 20px;
    color: #94a3b8;
    transition: color 0.3s;
}

/* Stany Przycisków */
.rk-time-btn:hover {
    border-color: #cbd5e1;
    transform: translateX(4px);
}

.rk-time-btn.rk-active-phase {
    background: var(--rk-case-blue);
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.3);
}

.rk-time-btn.rk-active-phase h5,
.rk-time-btn.rk-active-phase .rk-time-icon {
    color: #ffffff;
}

/* Ekran Wynikowy (Dynamiczny) */
.rk-phase-display {
    background: #ffffff;
    border-radius: 16px;
    padding: 25px;
    border: 1px solid var(--rk-case-border);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
}

.rk-phase-img {
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
}

.rk-phase-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 10px 0;
}

.rk-phase-desc {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-case-text);
    margin: 0;
}

@media (max-width: 768px) {
    .rk-case-header { padding: 25px 20px; }
    .rk-case-body { grid-template-columns: 1fr; }
    .rk-case-story { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-case-border); }
    .rk-case-interactive { padding: 25px 20px; }
    .rk-time-btn:hover { transform: translateY(-2px); translateX(0); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy",
    "description": "Case study pokazujące konsekwencje braku projektu OZC i doboru pompy 'z zapasem' w 160-metrowym domu na Pomorzu. Zobacz, jak uniknąć błędów instalatorów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-casestudy",
    "name": "Analiza Błędów Wykonawczych - Case Study Wejherowo 2026",
    "description": "Zestawienie empiryczne wykazujące bezpośredni związek przyczynowo-skutkowy między brakiem obliczeń hydraulicznych a awarią pompy ciepła w nowym budynku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego",
      "ile kosztuje projekt ogrzewania podłogowego",
      "szumienie w rozdzielaczu podłogówki",
      "błędy przepływu w pompie ciepła",
      "skutki braku projektu OZC"
    ],
    "measurementTechnique": "Retrospektywna diagnoza układu hydraulicznego na bazie zgłoszeń serwisowych oraz objawów (błędy wysokiego ciśnienia HP na pompie ciepła).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przyczyna pierwotna: Brak projektu OZC i dobór pompy na zasadzie 'im większa, tym lepsza'.",
        "Przyczyna wtórna: Pętle pow. 140 m dławiące układ pomimo użycia pompy 25-80.",
        "Skutek: Zimne strefy brzegowe i błąd przepływu pompy ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-casestudy",
    "name": "Symulator Chronologii Błędów Instalacyjnych",
    "description": "Interaktywny moduł edukacyjny pokazujący rozwój problemów hydraulicznych w czasie, od decyzji na placu budowy po sezon grzewczy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container">
    <div class="rk-case-header">
        <svg class="rk-case-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z"></path>
            <path d="M14 3v5h5M16 13H8M16 17H8M10 9H8"></path>
        </svg>
        <h2>Studium przypadku: Tomasz (47 lat, Wejherowo) – cena amatorskiego doboru pompy</h2>
        <p>Brak weryfikacji kompetencji instalatora i oszczędności na papierze często kończą się dramatem w środku zimy. Poznaj historię inwestora, który zignorował inżynierskie zasady.</p>
    </div>

    <div class="rk-case-body">
        
        <div class="rk-case-story">
            <div class="rk-case-badge">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="14" height="14"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Realna analiza serwisowa
            </div>
            
            <h3>„Pompę dobierzemy z zapasem, będzie Pan zadowolony”</h3>
            <p>Tomasz budował swój wymarzony, 160-metrowy dom na obrzeżach Wejherowa. Chcąc zredukować koszty początkowe, pominął kwestię tego, <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje projekt ogrzewania podłogowego</a>, oddając pełną władzę instalatorowi z polecenia. Wykonawca nie wykonał bilansu cieplnego, a pętle w salonie przy dużych przeszkleniach przeciągnął do astronomicznych 145 metrów, aby "zaoszczędzić na większym rozdzielaczu".</p>

            <div class="rk-case-quote">
                „Po co panu ten projekt OZC? Zamontujemy mocną pompę obiegową 25-80, ona to wszystko przepchnie. Robię tak od 20 lat.” – usłyszał inwestor.
            </div>

            <p>Problem polega na tym, że fizyki płynów nie da się oszukać doświadczeniem z lat 90. Pompa klasy 8m w zderzeniu ze zjawiskiem "króla hydraulicznego" (bardzo długa pętla) wygenerowała potężne zawirowania. Sprawdź, <a href="https://projekt-ogrzewania.pl/jakie-bledy-najczesciej-popelniaja-instalatorzy-ogrzewania-podlogowego/">jakie błędy najczęściej popełniają instalatorzy ogrzewania podłogowego</a> i prześledź na symulatorze obok, jak doszło do paraliżu instalacji Tomasza.</p>
        </div>

        <div class="rk-case-interactive">
            <h4>Oś Czasu Katastrofy Hydraulicznej</h4>
            
            <div class="rk-timeline-nav">
                <button class="rk-time-btn rk-active-phase" id="btn-phase-1">
                    <h5>Faza 1: Montaż "Na Oko"</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-2">
                    <h5>Faza 2: Listopadowe Przymrozki</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
                <button class="rk-time-btn" id="btn-phase-3">
                    <h5>Faza 3: Rachunek za Oszczędność</h5>
                    <svg class="rk-time-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
                </button>
            </div>

            <div class="rk-phase-display" id="phase-display">
                <svg class="rk-phase-img" id="img-phase-1" viewBox="0 0 24 24" fill="none" stroke="#eab308" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <circle cx="12" cy="12" r="10"></circle>
                    <path d="M12 8v4l3 3"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-2" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#ef4444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M22 12h-4l-3 9L9 3l-3 9H2"></path>
                </svg>
                <svg class="rk-phase-img" id="img-phase-3" style="display:none;" viewBox="0 0 24 24" fill="none" stroke="#0f172a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                    <path d="M12 1v22M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path>
                </svg>

                <h4 class="rk-phase-title" id="rk-phase-title">Zalanie posadzki (Sierpień 2026)</h4>
                <p class="rk-phase-desc" id="rk-phase-desc">Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('.rk-time-btn');
    
    var img1 = document.getElementById('img-phase-1');
    var img2 = document.getElementById('img-phase-2');
    var img3 = document.getElementById('img-phase-3');
    
    var title = document.getElementById('rk-phase-title');
    var desc = document.getElementById('rk-phase-desc');

    for(var i = 0; i < btns.length; i++) {
        btns[i].addEventListener('click', function() {
            
            // Czyszczenie klas aktywnych (Zabezpieczenie przed uzyciem &#038;&#038;)
            for(var j = 0; j < btns.length; j++) {
                btns[j].classList.remove('rk-active-phase');
            }
            this.classList.add('rk-active-phase');

            // Ukrywanie wszystkich obrazków
            img1.style.display = 'none';
            img2.style.display = 'none';
            img3.style.display = 'none';

            // Logika podmiany zawartości (Bez uzycia &#038;&#038;)
            if (this.id === 'btn-phase-1') {
                img1.style.display = 'block';
                title.style.color = '#eab308';
                title.textContent = 'Zalanie posadzki (Sierpień 2026)';
                desc.textContent = 'Instalator układa pętle "z głowy". Wykorzystuje przewymiarowaną pompę 25-80 ustawioną na najwyższy, sztywny bieg. Brak protokołu z kalibracji rotametrów. Na tym etapie inwestor cieszy się, że "zaoszczędził" na projekcie inżynierskim.';
            } 
            else if (this.id === 'btn-phase-2') {
                img2.style.display = 'block';
                title.style.color = '#ef4444';
                title.textContent = 'Szumy i błędy pompy ciepła (Listopad)';
                desc.textContent = 'Pierwsze przymrozki w Wejherowie obnażają błędy. Przewymiarowana pompa wywołuje wibracje i szum w szafce. Przepływ w salonie wynosi 0 l/min (zjawisko zdławienia). Pompa ciepła zgłasza błędy z powodu braku odbioru mocy (tzw. taktowanie).';
            } 
            else if (this.id === 'btn-phase-3') {
                img3.style.display = 'block';
                title.style.color = '#0f172a';
                title.textContent = 'Bolesna diagnoza i koszty (Grudzień)';
                desc.textContent = 'Wezwany autoryzowany serwis diagnozuje katastrofę. Konieczna jest wymiana pompy na inteligentny model 25-60, montaż drogiego sprzęgła hydraulicznego do odciążenia układu oraz próba ręcznego, wielogodzinnego kryzowania obiegów. Oszczędność rzędu 1000 zł na projekcie wygenerowała 4500 zł strat.';
            }
        });
    }
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-bg: #ffffff;
    --rk-auth-gray: #f8fafc;
    --rk-auth-text: #334155;
    --rk-auth-border: #e2e8f0;
    --rk-auth-gold: #fbbf24;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-auth-border);
    overflow: hidden;
}

/* Sztywny, inżynieryjny nagłówek */
.rk-auth-header {
    padding: 30px 40px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-auth-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-auth-icon {
    width: 28px;
    height: 28px;
    color: var(--rk-auth-gold);
    flex-shrink: 0;
}

/* Struktura główna */
.rk-auth-body {
    display: flex;
    background: var(--rk-auth-bg);
}

/* Lewa kolumna - Zdjęcie i nawigacja */
.rk-auth-sidebar {
    width: 300px;
    background: var(--rk-auth-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rk-auth-photo {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
}

.rk-auth-name {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
    text-align: center;
}

.rk-auth-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-auth-nav {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-auth-tab-btn {
    padding: 12px 15px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-text);
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    /* Usunięto animacje */
}

.rk-auth-tab-btn:hover {
    background: #f1f5f9;
}

.rk-auth-tab-btn.rk-tab-active {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

.rk-auth-tab-btn svg {
    width: 18px;
    height: 18px;
}

/* Prawa kolumna - Treść (Bez animacji) */
.rk-auth-content-area {
    flex: 1;
    padding: 40px;
    position: relative;
}

.rk-auth-panel {
    display: none;
    /* Brak keyframes i opacity transitions */
}

.rk-auth-panel.rk-panel-active {
    display: block;
}

/* Wnętrze paneli */
.rk-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    opacity: 0.2;
    line-height: 1;
    font-family: serif;
    position: absolute;
    top: 20px;
    left: 20px;
}

.rk-auth-panel h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 20px 0;
    position: relative;
    z-index: 2;
}

.rk-auth-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-auth-text);
    margin: 0 0 15px 0;
    position: relative;
    z-index: 2;
}

.rk-auth-panel strong {
    color: var(--rk-auth-dark);
    font-weight: 800;
}

/* Sekcja E-E-A-T (Sociale) */
.rk-social-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    margin-top: 25px;
}

.rk-social-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--rk-auth-gray);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    text-decoration: none;
    color: var(--rk-auth-dark);
    font-weight: 800;
    font-size: 15px;
    /* Usunięto animacje */
}

.rk-social-link:hover {
    border-color: var(--rk-auth-blue);
    background: #f0f9ff;
}

.rk-social-link svg {
    width: 24px;
    height: 24px;
    color: var(--rk-auth-blue);
}

@media (max-width: 768px) {
    .rk-auth-header { padding: 20px; }
    .rk-auth-header h2 { font-size: 20px; }
    .rk-auth-body { flex-direction: column; }
    .rk-auth-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 25px 20px; }
    .rk-auth-content-area { padding: 25px 20px; }
    .rk-quote-mark { top: 10px; left: 10px; font-size: 40px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o błędach w doborze pomp obiegowych",
    "description": "Autorytet techniczny i rzetelna ocena inżynierska. Dlaczego szacowanie parametrów pomp obiegowych 'na oko' niszczy nowoczesne układy z pompą ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Inżynier HVAC",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-ekspert",
    "name": "Profil Kompetencyjny i Weryfikacja Autorytetu Inżynierskiego 2026",
    "description": "Baza referencyjna potwierdzająca zgodność merytoryczną artykułu z rygorystycznymi standardami E-E-A-T dla treści branży sanitarnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ekspert instalacji sanitarnych",
      "robert kucharski opinie o pompach obiegowych",
      "dobór pompy obiegowej do podłogówki",
      "prawidłowy projekt układu niskotemperaturowego",
      "inżynier hvac ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Weryfikacja autentyczności autora poprzez oficjalne powiązania z profilami LinkedIn oraz Facebook (Projekt Ogrzewania).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stanowisko merytoryczne: Odrzucenie metod szacunkowych na rzecz ścisłych obliczeń hydraulicznych.",
        "Cel: Zabezpieczenie inwestorów przed stratami wynikającymi z amatorskiego wykonawstwa."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-ekspert",
    "name": "Moduł Weryfikacji Autorytetu (E-E-A-T)",
    "description": "Interaktywna karta ekspercka umożliwiająca bezpośrednie przejście do certyfikowanych źródeł profilu autora.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container">
    <div class="rk-auth-header">
        <svg class="rk-auth-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path>
        </svg>
        <h2>Okiem eksperta: Robert Kucharski o doborze pomp obiegowych</h2>
    </div>

    <div class="rk-auth-body">
        
        <div class="rk-auth-sidebar">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Inżynier HVAC" class="rk-auth-photo">
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <p class="rk-auth-title">Specjalista Instalacji HVAC</p>

            <div class="rk-auth-nav">
                <button class="rk-auth-tab-btn rk-tab-active" data-show="panel-quote">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>
                    Werdykt Specjalisty
                </button>
                <button class="rk-auth-tab-btn" data-show="panel-eat">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"></path><circle cx="8.5" cy="7" r="4"></circle><polyline points="17 11 19 13 23 9"></polyline></svg>
                    Autorytet i Kontakt
                </button>
            </div>
        </div>

        <div class="rk-auth-content-area">
            <div class="rk-quote-mark">"</div>
            
            <div class="rk-auth-panel rk-panel-active" id="panel-quote">
                <h3>Budowa bez ściemy: Hydraulika nie wybacza zgadywania</h3>
                <p>W swojej karierze widziałem setki zniszczonych sprężarek w pompach ciepła i tysiące metrów kwadratowych zimnych posadzek. Wspólny mianownik tych katastrof to zawsze dobór pompy obiegowej "na oko" lub "bo tak się zawsze robiło".</p>
                <p>Nowoczesna instalacja ogrzewania podłogowego to skomplikowany, zamknięty ekosystem oparty na precyzyjnych przepływach masy czynnika grzewczego. <strong>Zignorowanie audytu OZC, źle wyliczona różnica temperatur (ΔT) czy przekroczenie normatywnych oporów pętli</strong> to gwarancja uszkodzenia elektroniki pompy i wystąpienia uciążliwych szumów w rozdzielaczach.</p>
                <p>Nie ma tu miejsca na kompromisy. Tylko twarde obliczenia chronią budżet inwestora.</p>
            </div>

            <div class="rk-auth-panel" id="panel-eat">
                <h3>Zweryfikuj źródło wiedzy</h3>
                <p>W dobie masowo generowanych treści, rzetelna wiedza inżynierska to podstawa podejmowania bezpiecznych decyzji budowlanych. Moje projekty i analizy opieram wyłącznie na sprawdzonych normach PN-EN oraz latach doświadczeń na placach budowy.</p>
                
                <div class="rk-social-grid">
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                        Profil Zawodowy LinkedIn
                    </a>
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-link">
                        <svg viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                        Oficjalny fanpage Projekt-Ogrzewania.pl
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var buttons = document.querySelectorAll('.rk-auth-tab-btn');
    var panels = document.querySelectorAll('.rk-auth-panel');

    for (var i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            var targetId = this.getAttribute('data-show');

            // Usuwanie klas aktywnych bez operatorów logicznych
            for (var b = 0; b < buttons.length; b++) {
                buttons[b].classList.remove('rk-tab-active');
            }
            this.classList.add('rk-tab-active');

            // Ukrywanie wszystkich paneli bezpośrednio (bez animacji)
            for (var p = 0; p < panels.length; p++) {
                panels[p].classList.remove('rk-panel-active');
            }
            
            // Wyświetlanie docelowego panelu
            var activePanel = document.getElementById(targetId);
            if (activePanel !== null) {
                activePanel.classList.add('rk-panel-active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-hover: #f8fafc;
    --rk-faq-accent: #38bdf8;
}

.rk-faq-wrapper {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 35px 45px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    position: relative;
}

.rk-faq-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: var(--rk-faq-blue);
}

.rk-faq-header h2 {
    color: #ffffff;
    font-size: 26px;
    font-weight: 900;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 15px;
    line-height: 1.3;
}

.rk-faq-header-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-faq-accent);
    flex-shrink: 0;
}

/* Interaktywny Akordeon */
.rk-accordion-container {
    padding: 20px 45px 40px;
    background: #fafafa;
}

.rk-accordion-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    margin-top: 15px;
    overflow: hidden;
    transition: box-shadow 0.3s;
}

.rk-accordion-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.rk-accordion-btn {
    width: 100%;
    text-align: left;
    padding: 22px 25px;
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s;
}

.rk-accordion-btn:hover {
    background: var(--rk-faq-hover);
}

.rk-accordion-btn h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    padding-right: 20px;
    line-height: 1.4;
}

/* Ikona statusu rozwijania */
.rk-status-icon {
    width: 24px;
    height: 24px;
    background: var(--rk-faq-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.3s;
}

.rk-status-icon svg {
    width: 14px;
    height: 14px;
    stroke: var(--rk-faq-blue);
    stroke-width: 3;
    transition: stroke 0.3s;
}

.rk-accordion-btn.rk-active .rk-status-icon {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
}

.rk-accordion-btn.rk-active .rk-status-icon svg {
    stroke: #ffffff;
}

/* Treść odpowiedzi */
.rk-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    background: #ffffff;
}

.rk-accordion-inner {
    padding: 0 25px 25px;
    border-top: 1px dashed transparent;
}

.rk-accordion-btn.rk-active + .rk-accordion-content .rk-accordion-inner {
    border-top-color: var(--rk-faq-border);
    padding-top: 20px;
}

.rk-accordion-inner p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-accordion-inner a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.rk-accordion-inner a:hover {
    color: var(--rk-faq-dark);
}

/* Drobny detal inżynieryjny w odpowiedzi */
.rk-answer-highlight {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--rk-faq-hover);
    padding: 15px;
    border-radius: 8px;
    margin-top: 15px;
    border-left: 4px solid var(--rk-faq-blue);
}

.rk-answer-highlight svg {
    width: 20px;
    height: 20px;
    stroke: var(--rk-faq-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 25px 20px; }
    .rk-faq-header h2 { font-size: 22px; }
    .rk-accordion-container { padding: 15px 20px 25px; }
    .rk-accordion-btn { padding: 18px 15px; }
    .rk-accordion-btn h3 { font-size: 15px; }
    .rk-accordion-inner { padding: 0 15px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania o pompy w podłogówce",
    "description": "Baza wiedzy i odpowiedzi na najczęstsze problemy instalatorów: tryby pracy pomp obiegowych, rotametry, zapowietrzenie i długości pętli w ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2), oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to wahaniom ciśnienia i przepływu w momencie, gdy siłowniki termoelektryczne na rozdzielaczu zamykają lub otwierają poszczególne pętle grzewcze."
        }
      },
      {
        "@type": "Question",
        "name": "Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych pętli i została wykonana bez sprzęgła hydraulicznego."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi za długa pętla ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Za długa pętla (powyżej 120 m dla rury 16 mm) generuje tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. Skutkuje to niedogrzaniem pomieszczeń i zmusza do podnoszenia biegów, co wywołuje hałas."
        }
      },
      {
        "@type": "Question",
        "name": "Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Brak reakcji rotametrów najczęściej świadczy o całkowitym zapowietrzeniu pętli grzewczych lub zablokowaniu wirnika pompy przez osady. Przyczyną może być też zdławienie na filtrze siatkowym."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy pompa obiegowa działa prawidłowo?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Prawidłowe działanie pompy objawia się równomiernym, cichym szumem, wyczuwalną delikatną wibracją obudowy oraz stabilnymi wskazaniami przepływu na rotametrach na poziomie 1,5 – 2,5 l/min."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Baza Parametrów Diagnostycznych Pomp Obiegowych 2026",
    "description": "Zestawienie parametrów granicznych instalacji podłogowej do weryfikacji błędów hydraulicznych (tryby CP, graniczne opory pętli 120m, wskaźniki rotametrów).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "tryb stałego ciśnienia pompy",
      "wydajność wbudowanej pompy w pompie ciepła",
      "skutki zbyt długiej pętli podłogówki",
      "brak reakcji rotametrów",
      "prawidłowe parametry rotametru"
    ],
    "measurementTechnique": "Diagnostyka na podstawie wskazań wizualnych rotametrów oraz analizy ustawień trybów autoadaptacyjnych paneli elektronicznych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wartość poprawna przepływu: 1.5 - 2.5 l/min.",
        "Maksymalna długość krytyczna pętli: 120 m dla rury 16x2."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Interaktywny Przewodnik Diagnostyczny",
    "description": "Aplikacja typu akordeon dostarczająca natychmiastowych rozwiązań usterek hydraulicznych w instalacjach płaszczyznowych.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-wrapper">
    <div class="rk-faq-header">
        <h2>
            <svg class="rk-faq-header-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
                <circle cx="12" cy="12" r="10"></circle>
                <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
                <line x1="12" y1="17" x2="12.01" y2="17"></line>
            </svg>
            FAQ – Najczęściej zadawane pytania o pompy w podłogówce
        </h2>
    </div>

    <div class="rk-accordion-container">
        
        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Na jakim biegu lub w jakim trybie powinna pracować pompa do ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Pompa w instalacji ogrzewania podłogowego powinna być ustawiona na <strong>tryb stałego ciśnienia (Constant Pressure – CP1 lub CP2)</strong>, oznaczany na panelach sterowania ikoną poziomej kreski. Zapobiega to niebezpiecznym wahaniom ciśnienia i przepływu w momencie, gdy <a href="https://projekt-ogrzewania.pl/silowniki-termoelektryczne-na-rozdzielaczach/">siłowniki termoelektryczne na rozdzielaczach</a> zamykają lub otwierają poszczególne pętle grzewcze w zależności od sygnałów z termostatów pokojowych.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czy standardowa pompa wbudowana w pompę ciepła wystarczy na cały dom?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Wbudowana pompa obiegowa w pompie ciepła o wysokości podnoszenia 6 m bez problemu obsłuży dom do 150–180 m², pod warunkiem, że instalacja nie posiada przewymiarowanych oporów miejscowych. W przypadku rozbudowanych systemów z kilkoma rozdzielaczami na różnych kondygnacjach niezbędne jest zastosowanie zewnętrznych grup pompowych oraz elementu odsprzęgającego, takiego jak profesjonalne <a href="https://projekt-ogrzewania.pl/sprzeglo-hydrauliczne-w-instalacji-ogrzewania-podlogowego/">sprzęgło hydrauliczne</a>, aby nie zakłócić przepływu na skraplaczu.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Czym grozi za długa pętla ogrzewania podłogowego?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Skutki ułożenia <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długiej pętli podłogówki</a> (powyżej 120 m dla standardowej rury 16 mm) są krytyczne. Generuje to tak wysokie opory hydrauliczne, że pompa obiegowa nie jest w stanie wtłoczyć w nią wymaganej ilości wody. W efekcie pomieszczenie obsługiwane przez ten obieg pozostanie niedogrzane, a próby ratowania sytuacji poprzez wymuszanie najwyższych biegów pompy doprowadzą do przepływów turbulentnych i generowania hałasu w instalacji.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Dlaczego rotametry na rozdzielaczu nie reagują na zmianę biegów pompy?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Brak reakcji wskaźników przepływu najczęściej świadczy o głębokim <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">zapowietrzeniu instalacji</a> lub zablokowaniu wirnika pompy przez zanieczyszczenia z surowej wody. Inną, bardzo częstą przyczyną awarii, jest fizyczne zdławienie przepływu na zatkanym filtrze siatkowym przed pompą lub krytyczny błąd instalatora: odwrotne podłączenie rur zasilania i powrotu do <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów na belce rozdzielacza</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-accordion-item">
            <button class="rk-accordion-btn">
                <h3>Jak sprawdzić, czy pompa obiegowa działa prawidłowo?</h3>
                <div class="rk-status-icon">
                    <svg viewBox="0 0 24 24" fill="none"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-accordion-content">
                <div class="rk-accordion-inner">
                    <p>Prawidłowo dobrana <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompa obiegowa w podłogówce</a> pracuje z równomiernym, niemal niesłyszalnym szumem. Obudowa generuje bardzo delikatną wibrację, a wskaźniki przepływu na rotametrach rozdzielacza wykazują stabilne wartości oscylujące najczęściej w przedziale <strong>1,5 – 2,5 l/min</strong>. Dodatkowo panele nowoczesnych pomp elektronicznych powinny płynnie reagować na dławienie pętli, wyświetlając na ekranie aktualny pobór mocy elektrycznej w watach [W].</p>
                    
                    <div class="rk-answer-highlight">
                        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                            <path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path>
                            <polyline points="22 4 12 14.01 9 11.01"></polyline>
                        </svg>
                        <p style="font-size: 14px;"><strong>Wskazówka diagnostyczna:</strong> Jeśli na elektronicznym wyświetlaczu pompy widzisz pobór mocy powyżej 45W w standardowym domu 150m², oznacza to, że walczy ona z nienormatywnym dławieniem w układzie.</p>
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var accButtons = document.querySelectorAll('.rk-accordion-btn');
    
    for (var i = 0; i < accButtons.length; i++) {
        accButtons[i].addEventListener('click', function() {
            var isAlreadyActive = this.classList.contains('rk-active');
            
            // Zamykanie wszystkich innych otwartych kart (zoptymalizowane bez uzycia &#038;&#038;)
            for (var j = 0; j < accButtons.length; j++) {
                accButtons[j].classList.remove('rk-active');
                var contentToClose = accButtons[j].nextElementSibling;
                contentToClose.style.maxHeight = null;
            }
            
            // Otwieranie tylko jeśli kliknięty element nie był wcześniej aktywny
            if (isAlreadyActive === false) {
                this.classList.add('rk-active');
                var panelToOpen = this.nextElementSibling;
                // Pobranie rzeczywistej wysokości treści dla płynnej animacji CSS
                panelToOpen.style.maxHeight = panelToOpen.scrollHeight + "px";
            }
        });
    }
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-gray: #f8fafc;
    --rk-dl-text: #475569;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
    --rk-dl-red: #dc2626;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(2, 132, 199, 0.08);
    border: 2px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Sztywny Nagłówek */
.rk-dl-header {
    padding: 30px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-blue);
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-dl-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 900;
    line-height: 1.3;
}

.rk-dl-icon {
    width: 28px;
    height: 28px;
    color: #38bdf8;
    flex-shrink: 0;
}

/* Główny układ kontenera */
.rk-dl-body {
    display: flex;
    background: #ffffff;
}

/* Sekcja z miniaturą */
.rk-dl-thumb-area {
    width: 320px;
    background: var(--rk-dl-gray);
    padding: 30px;
    border-right: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.rk-dl-thumb {
    width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    cursor: pointer;
    /* Usunięto hover scale/transition zgodnie z wytycznymi */
}

/* Sekcja z akcjami i opisem */
.rk-dl-actions-area {
    flex: 1;
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-dl-actions-area h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-dl-dark);
}

.rk-dl-desc {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-dl-text);
    margin: 0 0 25px 0;
}

.rk-dl-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

/* Przyciski (Sztywne, bez animacji CSS) */
.rk-btn-pdf, .rk-btn-img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 800;
    border-radius: 12px;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
}

.rk-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
}
.rk-btn-pdf:hover {
    background: #0369a1;
}

.rk-btn-img {
    background: #ffffff;
    color: var(--rk-dl-dark);
    border-color: var(--rk-dl-border);
}
.rk-btn-img:hover {
    background: var(--rk-dl-gray);
    border-color: #cbd5e1;
}

/* Stopka z licencją */
.rk-dl-license {
    padding: 15px 20px;
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    border-radius: 0 8px 8px 0;
    font-size: 12px;
    line-height: 1.5;
    color: #92400e;
    font-weight: 600;
}

/* Pełnoekranowy podgląd wewnątrz kontenera */
.rk-dl-preview-full {
    display: none; /* Sterowane z JS */
    padding: 30px;
    background: #f8fafc;
    text-align: center;
}

.rk-dl-preview-full img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    margin-bottom: 20px;
}

.rk-btn-back {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 24px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    font-weight: 800;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.rk-btn-back:hover {
    background: #1e293b;
}

@media (max-width: 768px) {
    .rk-dl-header { padding: 25px 20px; }
    .rk-dl-header h2 { font-size: 20px; }
    .rk-dl-body { flex-direction: column; }
    .rk-dl-thumb-area { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-dl-border); padding: 25px 20px; }
    .rk-dl-actions-area { padding: 25px 20px; }
    .rk-btn-pdf, .rk-btn-img { width: 100%; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article-materialy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Kompendium wiedzy do pobrania: Infografika doboru pompy obiegowej",
    "description": "Darmowe materiały inżynierskie PDF. Schemat doboru pompy obiegowej w ogrzewaniu podłogowym krok po kroku przygotowany przez Roberta Kucharskiego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset-materialy",
    "name": "Algorytm doboru pompy obiegowej - Infografika PDF",
    "description": "Dokumentacja graficzna i zbiór zasad wymiarowania pomp obiegowych dla systemów niskotemperaturowych, przygotowana do druku.",
    "license": "© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "schemat doboru pompy obiegowej",
      "algorytm pompy co pobierz",
      "jak obliczyć wydajność pompy instrukcja",
      "materiały dla instalatorów hvac"
    ],
    "measurementTechnique": "Wizualizacja ustrukturyzowanej procedury doboru urządzeń hydraulicznych na bazie normy PN-EN 1264 w formie dokumentu PDF i WEBP.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf",
        "Plik: Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp-materialy",
    "name": "Centrum Pobierania Projekt-Ogrzewania.pl",
    "description": "Interaktywny moduł pozwalający na podgląd infografik inżynieryjnych na żywo oraz bezpośrednie pobranie dokumentacji technicznej w formacie PDF.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-module">
    <div class="rk-dl-header">
        <svg class="rk-dl-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path>
            <polyline points="7 10 12 15 17 10"></polyline>
            <line x1="12" y1="15" x2="12" y2="3"></line>
        </svg>
        <h2>Kompendium wiedzy do pobrania: Infografika doboru pompy</h2>
    </div>

    <div class="rk-dl-body" id="rk-view-main">
        <div class="rk-dl-thumb-area">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Miniatura infografiki doboru pompy" class="rk-dl-thumb" id="rk-btn-thumb">
        </div>
        
        <div class="rk-dl-actions-area">
            <h3>Interaktywne materiały inżynierskie</h3>
            <p class="rk-dl-desc">Pobierz darmowy, autorski schemat doboru pompy obiegowej przygotowany specjalnie dla instalatorów i inwestorów. Miej ten algorytm zawsze pod ręką w swoim telefonie lub wydrukuj, aby uniknąć kosztownych błędów na budowie.</p>
            
            <div class="rk-dl-buttons">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.pdf" target="_blank" class="rk-btn-pdf">
                    <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
                    Pobierz kompendium (Plik PDF)
                </a>
                <button class="rk-btn-img" id="rk-btn-preview">
                    <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                    Pokaż infografikę
                </button>
            </div>

            <div class="rk-dl-license">
                © 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.
            </div>
        </div>
    </div>

    <div class="rk-dl-preview-full" id="rk-view-preview">
        <button class="rk-btn-back" id="rk-btn-close">
            <svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="19" y1="12" x2="5" y2="12"></line><polyline points="12 19 5 12 12 5"></polyline></svg>
            Wróć do pobierania
        </button>
        <div style="margin-top: 20px;">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/03/Infografika-Kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym.webp" alt="Pełna infografika doboru pompy obiegowej">
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var viewMain = document.getElementById('rk-view-main');
    var viewPreview = document.getElementById('rk-view-preview');
    
    var btnPreview = document.getElementById('rk-btn-preview');
    var btnThumb = document.getElementById('rk-btn-thumb');
    var btnClose = document.getElementById('rk-btn-close');

    function openPreview() {
        // Natychmiastowa zmiana stanu bez operatorów && i bez animacji
        viewMain.style.display = 'none';
        viewPreview.style.display = 'block';
    }

    function closePreview() {
        viewPreview.style.display = 'none';
        viewMain.style.display = 'flex'; // Przywracamy flex dla układu desktop/mobile
    }

    btnPreview.addEventListener('click', openPreview);
    btnThumb.addEventListener('click', openPreview);
    btnClose.addEventListener('click', closePreview);
});
</script>



<style>
:root {
    --rk-end-dark: #0f172a;
    --rk-end-blue: #0ea5e9;
    --rk-end-blue-hover: #0284c7;
    --rk-end-bg: #ffffff;
    --rk-end-gray-light: #f1f5f9;
    --rk-end-gray-text: #475569;
    --rk-end-green: #10b981;
    --rk-end-red: #ef4444;
    --rk-end-border: #e2e8f0;
}

.rk-end-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-end-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(14, 165, 233, 0.15);
    border: 1px solid var(--rk-end-blue);
    overflow: hidden;
}

/* Sekcja Tytułowa */
.rk-end-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-end-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-end-blue);
}

.rk-end-header h2 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-end-header p {
    font-size: 16px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
}

/* Interaktywny Symulator */
.rk-end-interactive {
    padding: 40px 50px;
    background: var(--rk-end-gray-light);
}

.rk-end-interactive h3 {
    margin: 0 0 25px 0;
    color: var(--rk-end-dark);
    font-size: 20px;
    font-weight: 800;
}

.rk-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-toggle-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-end-border);
    transition: all 0.3s;
}

.rk-toggle-item:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.rk-toggle-text {
    padding-right: 20px;
}

.rk-toggle-text h4 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-end-dark);
}

.rk-toggle-text p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-end-gray-text);
    line-height: 1.5;
}

/* Przełącznik Switch */
.rk-switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    flex-shrink: 0;
}

.rk-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rk-slider {
    position: absolute;
    cursor: pointer;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #cbd5e1;
    transition: .4s;
    border-radius: 34px;
}

.rk-slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

input:checked + .rk-slider {
    background-color: var(--rk-end-green);
}

input:checked + .rk-slider:before {
    transform: translateX(26px);
}

/* Wynik Symulacji */
.rk-end-result-box {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 30px;
    background: #ffffff;
    border-radius: 16px;
    border: 2px solid var(--rk-end-border);
    transition: all 0.4s ease;
}

.rk-result-icon {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
}

.rk-anim-gauge {
    width: 100%;
    height: 100%;
    transform-origin: center;
    transition: all 0.5s ease;
}

.rk-gauge-bg { fill: none; stroke: #e2e8f0; stroke-width: 8; stroke-linecap: round; }
.rk-gauge-val { fill: none; stroke: var(--rk-end-red); stroke-width: 8; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 80; transition: stroke 0.5s, stroke-dashoffset 0.5s; }
.rk-gauge-needle { transform-origin: 50px 50px; transform: rotate(-45deg); transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); }

.rk-end-result-text h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
    transition: color 0.3s;
}

.rk-end-result-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-end-gray-text);
}

.rk-end-result-text a {
    color: var(--rk-end-blue);
    font-weight: 700;
    text-decoration: none;
}
.rk-end-result-text a:hover { text-decoration: underline; }

/* Tagi Długi Ogon */
.rk-end-tags {
    padding: 20px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-end-border);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.rk-mat-tag {
    background: #f0f9ff;
    color: #0284c7;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #bae6fd;
    white-space: nowrap;
}

/* Massive CTA */
.rk-end-cta {
    padding: 40px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px dashed var(--rk-end-border);
}

.rk-btn-end {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-end-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(14, 165, 233, 0.4);
    transition: all 0.3s ease;
}

.rk-btn-end:hover {
    transform: translateY(-3px);
    background: var(--rk-end-blue-hover);
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-end svg {
    transition: transform 0.3s;
}

.rk-btn-end:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-end-header, .rk-end-interactive, .rk-end-tags, .rk-end-cta { padding: 30px 20px; }
    .rk-end-result-box { flex-direction: column; text-align: center; gap: 15px; padding: 20px; }
    .rk-toggle-item { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-switch { align-self: flex-end; }
    .rk-btn-end { width: 100%; padding: 18px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#article",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/"
    },
    "headline": "Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu",
    "description": "Zakończenie artykułu i interaktywny symulator układu dystrybucji udowadniający, że prawidłowy dobór pompy obiegowej chroni przed awarią ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/", 
        "https://sobir.pl/" 
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-07-05",
    "dateModified": "2026-07-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#dataset",
    "name": "Zestawienie Opłacalności Precyzyjnych Obliczeń Hydraulicznych 2026",
    "description": "Baza danych i algorytm oceniający stabilność systemu w zależności od podjętych kroków inżynieryjnych: audyt OZC, parametryzacja zaworów i zastosowanie kalkulatora pomp.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dobór pompy obiegowej do podłogówki",
      "kalkulator przepływu wody ogrzewanie podłogowe",
      "opory hydrauliczne pętli",
      "pompa obiegowa 25-60 parametry",
      "energooszczędna instalacja podłogowa"
    ],
    "measurementTechnique": "Algorytmiczna weryfikacja błędów hydraulicznych w układach niskotemperaturowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Metoda archaiczna: Dobór pompy na oko – ryzyko szumów i niedogrzania.",
        "Metoda inżynierska: Wykorzystanie kalkulatorów, OZC i dokładnej różnicy temperatur."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/#webapp",
    "name": "Weryfikator Błędów Hydraulicznych",
    "description": "Interaktywne narzędzie edukacyjne symulujące skutki decyzji instalatorskich na ostateczną sprawność instalacji ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-end-container" id="rk-final-hydraulics">
    <div class="rk-end-header">
        <h2>Podsumowanie – Bezkompromisowa hydraulika to podstawa komfortu</h2>
        <p>
            Dobór pompy obiegowej w ogrzewaniu podłogowym nie toleruje kompromisów, półśrodków i instalatorskich mitów. To czysta matematyka i fizyka płynów. Pamiętaj, że nawet najlepsze źródło ciepła, takie jak nowoczesna pompa ciepła czy kocioł kondensacyjny, nie zapewni komfortu termicznego, jeśli układ dystrybucji oparty na pompie obiegowej zostanie spartaczony.
        </p>
    </div>

    <div class="rk-end-interactive">
        <h3>Symulator Stabilności Instalacji</h3>
        <p style="margin-top: -15px; margin-bottom: 25px; color: var(--rk-end-gray-text); font-size: 14px;">Zaznacz, które kroki techniczne zrealizowałeś, aby sprawdzić, czy Twoja podłogówka jest bezpieczna.</p>
        
        <div class="rk-toggle-list">
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Obliczenia cieplne budynku</h4>
                    <p>Posiadam rzetelny audyt wykonany zgodnie ze sztuką (nie szacowany "z metra").</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
            
            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Pętle zrównoważone hydraulicznie</h4>
                    <p>Żadna pętla nie przekracza normatywnej maksymalnej długości, chroniąc pompę przed przeciążeniem.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>

            <div class="rk-toggle-item">
                <div class="rk-toggle-text">
                    <h4>Użycie kalkulatora pomp</h4>
                    <p>Punkt pracy został precyzyjnie naniesiony na wykres producenta na podstawie rzeczywistych oporów.</p>
                </div>
                <label class="rk-switch">
                    <input type="checkbox" class="rk-sim-trigger">
                    <span class="rk-slider"></span>
                </label>
            </div>
        </div>

        <div class="rk-end-result-box" id="rkSimResult">
            <div class="rk-result-icon">
                <svg viewBox="0 0 100 100" class="rk-anim-gauge">
                    <path class="rk-gauge-bg" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <path id="rkGaugeVal" class="rk-gauge-val" d="M 20 80 A 40 40 0 1 1 80 80"></path>
                    <g id="rkGaugeNeedle" class="rk-gauge-needle">
                        <circle cx="50" cy="50" r="5" fill="#1e293b"></circle>
                        <polygon points="48,50 52,50 50,15" fill="#1e293b"></polygon>
                    </g>
                </svg>
            </div>
            <div class="rk-end-result-text">
                <h4 id="rkSimTitle" style="color: var(--rk-end-red);">Krytyczne Ryzyko Awarii</h4>
                <p id="rkSimDesc">
                    Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-end-tags">
        <span class="rk-mat-tag"># dobór pompy obiegowej do podłogówki</span>
        <span class="rk-mat-tag"># kalkulator przepływu wody ogrzewanie podłogowe</span>
        <span class="rk-mat-tag"># projekt ozc a pompa ciepła</span>
        <span class="rk-mat-tag"># hałas w rozdzielaczu podłogówki</span>
        <span class="rk-mat-tag"># krzywa grzewcza w ogrzewaniu podłogowym</span>
        <span class="rk-mat-tag"># pompa obiegowa 25-60 parametry</span>
        <span class="rk-mat-tag"># opory hydrauliczne pętli</span>
        <span class="rk-mat-tag"># energooszczędna instalacja podłogowa</span>
    </div>

    <div class="rk-end-cta">
        <p style="color: var(--rk-end-gray-text); font-size: 16px; margin: 0 auto 25px auto; max-width: 650px; line-height: 1.6;">
            Tylko pełna kontrola nad hydrauliką da Ci pewność, że Twoja instalacja będzie energooszczędna, cicha i bezawaryjna przez długie lata eksploatacji. Czas przejąć stery nad swoją budową.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-end">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggles = document.querySelectorAll('.rk-sim-trigger');
    const gaugeVal = document.getElementById('rkGaugeVal');
    const gaugeNeedle = document.getElementById('rkGaugeNeedle');
    const title = document.getElementById('rkSimTitle');
    const desc = document.getElementById('rkSimDesc');
    const resultBox = document.getElementById('rkSimResult');

    function updateSimulation() {
        let score = 0;
        toggles.forEach(function(t) {
            if (t.checked) {
                score = score + 1;
            }
        });

        if (score === 0) {
            gaugeVal.style.stroke = '#ef4444';
            gaugeVal.style.strokeDashoffset = '80';
            gaugeNeedle.style.transform = 'rotate(-80deg)';
            title.style.color = '#ef4444';
            title.textContent = 'Krytyczne Ryzyko Awarii';
            desc.innerHTML = 'Projektowanie "z głowy" gwarantuje problemy. Odrzuć archaiczne metody! Opieraj się na twardych danych z <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">certyfikowanych projektów OZC</a> i wymagaj stosowania norm technicznych.';
            resultBox.style.borderColor = '#ef4444';
        } else if (score === 1) {
            gaugeVal.style.stroke = '#eab308';
            gaugeVal.style.strokeDashoffset = '50';
            gaugeNeedle.style.transform = 'rotate(-30deg)';
            title.style.color = '#eab308';
            title.textContent = 'Układ Niestabilny';
            desc.innerHTML = 'Dobry początek, ale instalacja to system naczyń połączonych. Brak kontroli nad <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">resztą błędów wykonawczych</a> zemści się niedogrzaniem stref granicznych.';
            resultBox.style.borderColor = '#eab308';
        } else if (score === 2) {
            gaugeVal.style.stroke = '#0ea5e9';
            gaugeVal.style.strokeDashoffset = '20';
            gaugeNeedle.style.transform = 'rotate(30deg)';
            title.style.color = '#0ea5e9';
            title.textContent = 'Poprawny Standard';
            desc.innerHTML = 'Jesteś na świetnej drodze. Parametry hydrauliczne są niemal spięte, pamiętaj tylko o uwzględnieniu ostatecznego <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">zapotrzebowania na ciepło</a> przed zakupem pompy.';
            resultBox.style.borderColor = '#bae6fd';
        } else if (score === 3) {
            gaugeVal.style.stroke = '#10b981';
            gaugeVal.style.strokeDashoffset = '0';
            gaugeNeedle.style.transform = 'rotate(80deg)';
            title.style.color = '#10b981';
            title.textContent = 'Inżynierska Perfekcja';
            desc.innerHTML = 'Układ zbalansowany w 100%. Tak zaprojektowana instalacja będzie energooszczędna, cicha i bezawaryjna. To fundament, który wykorzystuje pełen potencjał <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">niskotemperaturowej pompy ciepła</a>.';
            resultBox.style.borderColor = '#10b981';
        }
    }

    toggles.forEach(function(toggle) {
        toggle.addEventListener('change', updateSimulation);
    });
});
</script>
<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>1</slash:comments>
		
		
			</item>
		<item>
		<title>Wytrzymałość rur do ogrzewania podłogowego – kompleksowy przewodnik.</title>
		<link>https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Thu, 05 Feb 2026 10:16:36 +0000</pubDate>
				<category><![CDATA[Ekspertyzy techniczne]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Materiały instalacyjne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></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[bariera antydyfuzyjna]]></category>
		<category><![CDATA[evoh]]></category>
		<category><![CDATA[hoop stress]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[iso 10508]]></category>
		<category><![CDATA[klasa robocza rur]]></category>
		<category><![CDATA[naprężenia rur]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[podłogówka projekt]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rury pert]]></category>
		<category><![CDATA[rury pex]]></category>
		<category><![CDATA[trwałość instalacji]]></category>
		<category><![CDATA[wytrzymałość rur]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3383</guid>

					<description><![CDATA[<p>Wybór odpowiednich przewodów grzewczych to decyzja, która wpływa na bezpieczeństwo domu przez dziesiątki lat. Wielu inwestorów skupia się na źródle ciepła, zapominając, że to właśnie instalacja ukryta w wylewce pracuje najdłużej i w najtrudniejszych warunkach. W artykule wyjaśniamy, dlaczego wytrzymałość rur do ogrzewania podłogowego jest opisywana przez tzw. klasę roboczą, jak interpretować normy ISO, czym różnią się PE-X i PE-RT oraz kiedy warto wybrać wariant 6 lub 10 bar. Konkretne dane, wykresy i praktyczne wskazówki pomogą Ci dobrać system na lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">Wytrzymałość rur do ogrzewania podłogowego – kompleksowy przewodnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Decydując się na nowoczesny system grzewczy, wielu inwestorów skupia się na wyborze pompy ciepła czy estetyce sterowników, zapominając o elemencie, który na pół wieku zostanie zalany w betonowej wylewce. Tymczasem to właśnie od jakości przewodów zależy bezpieczeństwo całego budynku. W branży instalacyjnej przyjmuje się kluczową zasadę: <strong>wytrzymałość rur do ogrzewania podłogowego jest opisywana przez tzw. klasę roboczą</strong>, która w sposób matematyczny i fizyczny określa, jak dany materiał zniesie próbę czasu pod wpływem temperatury i ciśnienia. </p>



<p class="wp-block-paragraph">Zrozumienie tego parametru to nie tylko kwestia technicznej ciekawości, ale przede wszystkim gwarancja, że system nie ulegnie awarii po dekadzie użytkowania, co w przypadku instalacji podłogowej oznaczałoby konieczność skuwania całej powierzchni mieszkalnej.</p>



<h2 class="wp-block-heading">Klasyfikacja ISO 10508 – fundament parametrów technicznych i bezpieczeństwa.</h2>



<p class="wp-block-paragraph">Aby zrozumieć, o czym informuje nas producent na nadruku rury, musimy sięgnąć do międzynarodowej normy <strong>ISO 10508</strong>. Definiuje ona system klasyfikacji rur z tworzyw sztucznych (takich jak <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PE-X</a>, PE-RT czy rury wielowarstwowe) w zależności od ich przeznaczenia. Każda klasa odpowiada specyficznemu profilowi pracy instalacji w zakładanym okresie <strong>50 lat</strong>. Norma ta jest o tyle istotna, że nie operuje na wartościach chwilowych, lecz na <em>przewidywanej trwałości zmęczeniowej materiału</em>.</p>



<p class="wp-block-paragraph">Warto podkreślić, że <em>wytrzymałość rur do ogrzewania podłogowego</em> nie jest wartością stałą. Polimery, z których wykonane są przewody, podlegają procesom starzenia termooksydacyjnego. Oznacza to, że im wyższa temperatura pracy, tym krótsza żywotność rury przy tym samym ciśnieniu. Klasy robocze pozwalają nam precyzyjnie dobrać materiał tak, aby proces ten był kontrolowany i bezpieczny w całym cyklu życia budynku.</p>



<h3 class="wp-block-heading">Przegląd klas zastosowania rur polimerowych w nowoczesnym budownictwie.</h3>



<p class="wp-block-paragraph">Poniższa tabela przedstawia podział zgodny z normą ISO, który jest kluczowy dla każdego projektanta i instalatora. Warto zauważyć, że każda klasa to nie tylko &#8222;temperatura&#8221;, ale cały harmonogram obciążeń:</p>



<style>
.pex-table-wrapper{
  max-width:1200px;
  margin:40px auto;
  font-family: system-ui, Arial, sans-serif;
}

.pex-table{
  width:100%;
  border-collapse: collapse;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.pex-table thead{
  background:#1f77b4;
  color:#fff;
}

.pex-table th,
.pex-table td{
  padding:16px;
  text-align:left;
  border-bottom:1px solid #eee;
}

.pex-table th{
  font-weight:600;
}

.pex-table tr:nth-child(even){
  background:#f7f9fb;
}

.pex-badge{
  font-weight:700;
  color:#1f77b4;
}

.pex-highlight{
  font-weight:700;
  color:#0b5ed7;
}

/* ===== MOBILE ===== */
@media(max-width:768px){

  .pex-table thead{
    display:none;
  }

  .pex-table,
  .pex-table tbody,
  .pex-table tr,
  .pex-table td{
    display:block;
    width:100%;
  }

  .pex-table tr{
    margin-bottom:18px;
    background:#fff;
    border-radius:10px;
    padding:12px;
    box-shadow:0 3px 10px rgba(0,0,0,0.08);
  }

  .pex-table td{
    border:none;
    padding:8px 6px;
  }

  .pex-table td::before{
    content: attr(data-label);
    font-weight:600;
    display:block;
    margin-bottom:4px;
    color:#666;
    font-size:13px;
  }
}
</style>


<div class="pex-table-wrapper">

<table class="pex-table">
  <thead>
    <tr>
      <th>Klasa zastosowania</th>
      <th>Typowa temperatura robocza [T<sub>rob</sub>]</th>
      <th>Czas pracy w T<sub>rob</sub> [lata]</th>
      <th>Obszar zastosowania w instalacjach</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td data-label="Klasa zastosowania"><span class="pex-badge">Klasa 1</span></td>
      <td data-label="Temperatura">60°C</td>
      <td data-label="Czas pracy">49 lat</td>
      <td data-label="Zastosowanie">Dostawa ciepłej wody użytkowej (standard 60°C)</td>
    </tr>

    <tr>
      <td data-label="Klasa zastosowania"><span class="pex-badge">Klasa 2</span></td>
      <td data-label="Temperatura">70°C</td>
      <td data-label="Czas pracy">49 lat</td>
      <td data-label="Zastosowanie">Dostawa ciepłej wody użytkowej (podwyższony standard)</td>
    </tr>

    <tr>
      <td data-label="Klasa zastosowania"><span class="pex-badge pex-highlight">Klasa 4</span></td>
      <td data-label="Temperatura">20°C → 40°C → 60°C</td>
      <td data-label="Czas pracy"><strong>zmienna (50 lat)</strong></td>
      <td data-label="Zastosowanie"><strong>Ogrzewanie podłogowe i niskotemperaturowe</strong></td>
    </tr>

    <tr>
      <td data-label="Klasa zastosowania"><span class="pex-badge">Klasa 5</span></td>
      <td data-label="Temperatura">20°C → 60°C → 80°C</td>
      <td data-label="Czas pracy">zmienna (50 lat)</td>
      <td data-label="Zastosowanie">Grzejniki wysokotemperaturowe (konwekcyjne)</td>
    </tr>
  </tbody>
</table>

</div>



<h2 class="wp-block-heading">Zależność między temperaturą roboczą a trwałością zmęczeniową rur polimerowych klasy 4</h2>



<p class="wp-block-paragraph">Poniższy wykres (wizualizacja koncepcyjna) obrazuje zależność między temperaturą pracy a przewidywanym czasem do awarii dla standardowej rury klasy 4.</p>



<div style="width:100%;max-width:1200px;height:400px;margin:40px auto">
  <canvas id="pexChart"></canvas>
</div>

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

<script>
const ctx = document.getElementById('pexChart');

new Chart(ctx, {
    type: 'line',
    data: {
        labels: [20, 40, 60, 70, 95],
        datasets: [
        {
            label: 'Żywotność rury PE-X (lata)',
            data: [100, 70, 50, 15, 1],
            borderColor: '#1f77b4',
            backgroundColor: 'rgba(31,119,180,0.25)',
            borderWidth: 3,
            pointRadius: 5,
            tension: 0.35,
            fill: true
        },
        {
            label: 'Wymóg normy (50 lat)',
            data: [50, 50, 50, 50, 50],
            borderColor: '#d62728',
            borderDash: [8,6],
            borderWidth: 2,
            pointRadius: 0,
            fill: false
        }]
    },
    options: {
        responsive: true,
        maintainAspectRatio: false,

        plugins: {
            legend: {
                position: 'top'
            },
            title: {
                display: true,
                text: 'Wpływ temperatury pracy na żywotność rur ogrzewania podłogowego',
                font: {
                    size: 18,
                    weight: 'bold'
                }
            },
            tooltip: {
                callbacks: {
                    label: function(context) {
                        return context.parsed.y + " lat";
                    }
                }
            }
        },

        scales: {
            x: {
                title: {
                    display: true,
                    text: 'Temperatura pracy (°C)'
                },
                grid: {
                    display: true
                }
            },
            y: {
                type: 'logarithmic',
                title: {
                    display: true,
                    text: 'Przewidywana żywotność (lata – skala log)'
                },
                ticks: {
                    callback: function(value) {
                        return value + ' lat';
                    }
                }
            }
        }
    }
});
</script>



<p class="wp-block-paragraph">Z powyższej analizy wynika jasny wniosek: <strong>wytrzymałość rur do ogrzewania podłogowego jest opisywana przez tzw. klasę roboczą</strong> nie po to, by komplikować życie instalatorom, ale by zapewnić transparentność i bezpieczeństwo. Wybierając rurę, nie patrz tylko na cenę za metr bieżący. Sprawdź nadruk, odszukaj informację o Klasie 4 i ciśnieniu roboczym, a przede wszystkim upewnij się, że Twój <strong>projekt ogrzewania podłogowego</strong> uwzględnia te parametry w odniesieniu do charakterystyki Twojego źródła ciepła. Tylko takie podejście gwarantuje, że &#8222;podłogówka&#8221; będzie ostatnią rzeczą, o jakiej będziesz musiał myśleć podczas eksploatacji domu.</p>



<h2 class="wp-block-heading">Dlaczego Klasa 4 jest sercem systemów płaszczyznowych?</h2>



<p class="wp-block-paragraph">W kontekście artykułu najważniejsza jest <strong>Klasa 4</strong>. To ona jest dedykowana dla ogrzewania podłogowego. Dlaczego nie stosuje się tutaj prostego zapisu „wytrzyma 60 stopni”? Ponieważ instalacja podłogowa pracuje cyklicznie. Zimą rury przenoszą czynnik o wyższej temperaturze, jesienią i wiosną o znacznie niższej, a latem instalacja pozostaje w spoczynku. Norma Klasy 4 zakłada bardzo precyzyjny <strong>profil starzenia</strong>, który rura musi wytrzymać, aby otrzymać certyfikat jakości.</p>



<p class="wp-block-paragraph"><strong>Skład cyklu życia rury w Klasie 4 (łącznie 50 lat):</strong></p>



<ul class="wp-block-list">
<li>• <strong>2,5 roku w temperaturze 20°C</strong> – czas uwzględniający magazynowanie rury, proces montażu oraz przerwy w eksploatacji.</li>



<li>• <strong>20 lat w temperaturze 40°C</strong> – typowy profil pracy dla nowoczesnych domów energooszczędnych i pasywnych z pompami ciepła.</li>



<li>• <strong>25 lat w temperaturze 60°C</strong> – parametr zabezpieczający system w okresach ekstremalnych mrozów lub w starszych budynkach o gorszej izolacji termicznej.</li>



<li>• <strong>2,5 roku w temperaturze maksymalnej 70°C</strong> – tzw. temperatura graniczna, która może wystąpić przy rozregulowaniu automatyki.</li>



<li>• <strong>100 godzin w temperaturze awaryjnej 100°C</strong> – absolutne zabezpieczenie na wypadek poważnej awarii kotła stałopalnego lub błędu zaworu trójdrożnego.</li>
</ul>



<h2 class="wp-block-heading">Analiza techniczna naprężeń: wzór na Hoop Stress</h2>



<p class="wp-block-paragraph">Wytrzymałość rur to nie tylko kwestia termiki, ale przede wszystkim fizyki płynów i odporności mechanicznej ścianki. Inżynierowie podczas certyfikacji badają tzw. naprężenia obwodowe (Hoop Stress). Wyraża się je wzorem:</p>



<div style="text-align:center; font-size:28px; margin:30px 0; font-family: serif;">
  σ =
  <span style="display:inline-block; vertical-align:middle; text-align:center;">
      <span style="display:block; border-bottom:2px solid #000; padding:0 12px;">
          p · (d − s)
      </span>
      <span style="display:block; font-size:22px;">
          2s
      </span>
  </span>
</div>



<p class="wp-block-paragraph">Gdzie:<br>• σ – naprężenie w ściance rury [MPa]<br>• p – ciśnienie wewnętrzne [MPa]<br>• d – średnica zewnętrzna rury [mm]<br>• s – grubość ścianki [mm]</p>



<p class="wp-block-paragraph">Dla rury o średnicy <strong>16 mm</strong> i ściance <strong>2,0 mm</strong> (najpopularniejszy wybór do podłogówki), przy ciśnieniu roboczym <strong>0,6 MPa (6 bar)</strong>, naprężenie wynosi ok. <strong>2,1 MPa</strong>.</p>



<p class="wp-block-paragraph">Materiał rury musi być zaprojektowany tak, aby przy takim naprężeniu i zmiennej temperaturze (zgodnie z Klasą 4) nie doszło do pęknięć przez pół wieku. To właśnie ta zdolność polimeru do „pracy” pod obciążeniem definiuje jego jakość.</p>



<h2 class="wp-block-heading">Rodzaje materiałów a ich odporność w klasie roboczej</h2>



<p class="wp-block-paragraph">Na rynku spotykamy głównie dwa rodzaje materiałów: PE-X oraz PE-RT. Choć oba mogą spełniać wymagania Klasy 4, ich wewnętrzna struktura znacząco się różni, co wpływa na <em>długofalową wytrzymałość rur do ogrzewania podłogowego</em>.</p>



<h3 class="wp-block-heading">Sieciowany polietylen (PE-X) – król trwałości</h3>



<p class="wp-block-paragraph">Sieciowanie to proces tworzenia wiązań chemicznych między łańcuchami polimeru, co zmienia strukturę z termoplastycznej na termoutwardzalną. Dzięki temu rura nie mięknie tak szybko pod wpływem ciepła.</p>



<ul class="wp-block-list">
<li><strong>PE-Xa (metoda nadtlenkowa):</strong> Stopień sieciowania min. 70%. Najbardziej elastyczna rura z &#8222;pamięcią kształtu&#8221;. Nawet jeśli ją załamiemy, po podgrzaniu wróci do pierwotnego stanu bez utraty wytrzymałości.</li>



<li><strong>PE-Xb (metoda silanowa):</strong> Stopień sieciowania min. 65%. Charakteryzuje się dużą odpornością na ciśnienie, jest nieco sztywniejsza od PE-Xa.</li>



<li><strong>PE-Xc (metoda radiacyjna):</strong> Stopień sieciowania min. 60%. Proces odbywa się &#8222;na zimno&#8221; poprzez naświetlanie wiązką elektronów.</li>
</ul>



<h3 class="wp-block-heading">PE-RT Typ II – nowoczesna alternatywa</h3>



<p class="wp-block-paragraph">PE-RT (<em>Polyethylene of Raised Temperature resistance</em>) to polietylen, który nie jest sieciowany, ale posiada specyficzną strukturę molekularną z dużą ilością bocznych łańcuchów (oktylowych). <strong>Ważna uwaga techniczna:</strong> Do Klasy 4 zaleca się stosowanie wyłącznie <strong>PE-RT Typu II</strong>, który posiada wyższą odporność na ciśnienie w wysokich temperaturach niż starszy Typ I.</p>



<h2 class="wp-block-heading">Rola bariery antydyfuzyjnej EVOH w zachowaniu wytrzymałości systemu</h2>



<p class="wp-block-paragraph">Mówiąc o wytrzymałości rur, nie możemy pominąć aspektu chemicznego. Polietylen jest naturalnie przepuszczalny dla tlenu. Tlen przedostający się do wnętrza instalacji powoduje korozję elementów metalowych (rozdzielaczy, kotła, pomp). Dlatego rury do ogrzewania podłogowego muszą posiadać <strong>barierę antydyfuzyjną <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">EVOH</a></strong> (alkohol etylenowinylowy).</p>



<p class="wp-block-paragraph">Zgodnie z normą DIN 4726, przenikanie tlenu nie powinno przekraczać 0,32 mg/(m²·d) w temperaturze 40°C. Brak lub uszkodzenie tej warstwy nie zniszczy samej rury, ale doprowadzi do zamulenia instalacji tlenkami metali, co zwiększy opory przepływu i może prowadzić do lokalnych przegrzań, wtórnie obciążających rurę ponad założoną klasę roboczą.</p>



<h2 class="wp-block-heading">Projekt ogrzewania podłogowego – dlaczego jest kluczowy dla żywotności rur?</h2>



<p class="wp-block-paragraph">Wszystkie powyższe parametry techniczne tracą na znaczeniu, jeśli <strong>projekt ogrzewania podłogowego</strong> zostanie wykonany wadliwie lub, co gorsza, pominięty. To właśnie w projekcie inżynier decyduje, jaka klasa robocza rury jest niezbędna dla konkretnego budynku.</p>



<p class="wp-block-paragraph"><em>Przykład:</em> Jeśli system ma być zasilany z kotła stałopalnego, projektant musi uwzględnić ryzyko bezwładności cieplnej źródła. W takim przypadku rura <strong>Klasy 4 / 10 bar</strong> lub nawet <strong>Klasy 5</strong> jest koniecznością, aby zabezpieczyć instalację przed skutkami potencjalnego zagotowania wody.</p>



<p class="wp-block-paragraph">W profesjonalnym projekcie oblicza się również rozszerzalność liniową rur. Rura PE-X wydłuża się o ok. 0,15–0,20 mm na każdy metr przy wzroście temperatury o 10°C. <a href="https://projekt-ogrzewania.pl/kontakt/">Projektant</a> musi zaplanować odpowiednie dylatacje w wylewce, aby pracująca rura nie była narażona na ścinanie na krawędziach płyt grzejnych. Zignorowanie tego aspektu sprawia, że nawet najlepsza klasa robocza nie uchroni nas przed mechanicznym uszkodzeniem przewodu.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"></p>
<cite><strong>Wytrzymałość rur w praktyce zaczyna się od dobrego projektu ogrzewania podłogowego.</strong> To na etapie obliczeń dobiera się klasę roboczą, temperatury pracy, rozstaw pętli i dylatacje, które decydują o bezawaryjnej pracy instalacji przez 50 lat.<br>Zamów indywidualny projekt dopasowany do Twojego domu:<br><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/</a></cite></blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"></p>
</blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph"></p>
</blockquote>
</blockquote>



<h2 class="wp-block-heading">Analiza porównawcza: Ciśnienie 6 bar vs 10 bar w Klasie 4</h2>



<p class="wp-block-paragraph">Większość rur dostępnych na rynku jest certyfikowana na dwa poziomy ciśnienia. Wybór zależy od typu budynku i przewidywanych obciążeń statycznych instalacji:</p>



<style>
.pipe-compare-wrapper{
  max-width:1200px;
  margin:40px auto;
  font-family: system-ui, Arial, sans-serif;
}

.pipe-compare{
  width:100%;
  border-collapse: collapse;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
}

.pipe-compare thead{
  background:#1f77b4;
  color:#fff;
}

.pipe-compare th,
.pipe-compare td{
  padding:16px;
  text-align:left;
  border-bottom:1px solid #eee;
}

.pipe-compare th{
  font-weight:600;
}

.pipe-compare tr:nth-child(even){
  background:#f7f9fb;
}

.pipe-title{
  font-weight:700;
  color:#1f77b4;
}

/* ===== MOBILE ===== */
@media(max-width:768px){

  .pipe-compare thead{
    display:none;
  }

  .pipe-compare,
  .pipe-compare tbody,
  .pipe-compare tr,
  .pipe-compare td{
    display:block;
    width:100%;
  }

  .pipe-compare tr{
    margin-bottom:18px;
    background:#fff;
    border-radius:10px;
    padding:12px;
    box-shadow:0 3px 10px rgba(0,0,0,0.08);
  }

  .pipe-compare td{
    border:none;
    padding:8px 6px;
  }

  .pipe-compare td::before{
    content: attr(data-label);
    font-weight:600;
    display:block;
    margin-bottom:4px;
    color:#666;
    font-size:13px;
  }
}
</style>


<div class="pipe-compare-wrapper">

<table class="pipe-compare">

  <thead>
    <tr>
      <th>Parametr</th>
      <th>Rura Klasa 4 / 6 bar</th>
      <th>Rura Klasa 4 / 10 bar</th>
    </tr>
  </thead>

  <tbody>

    <tr>
      <td data-label="Parametr"><strong>Grubość ścianki (dla 16 mm)</strong></td>
      <td data-label="6 bar">2,0 mm</td>
      <td data-label="10 bar">2,2 mm lub 2,0 mm (zależnie od materiału)</td>
    </tr>

    <tr>
      <td data-label="Parametr"><strong>Zastosowanie</strong></td>
      <td data-label="6 bar">Domy jednorodzinne, małe instalacje</td>
      <td data-label="10 bar">Budynki wielorodzinne, wysokie piony</td>
    </tr>

    <tr>
      <td data-label="Parametr"><strong>Odporność na pękanie</strong></td>
      <td data-label="6 bar">Standardowa</td>
      <td data-label="10 bar">Podwyższona (większy margines bezpieczeństwa)</td>
    </tr>

    <tr>
      <td data-label="Parametr"><strong>Promień gięcia</strong></td>
      <td data-label="6 bar">Często mniejszy (łatwiejszy montaż)</td>
      <td data-label="10 bar">Nieco większy (sztywniejsza ścianka)</td>
    </tr>

  </tbody>

</table>

</div>



<h3 class="wp-block-heading">Przykład praktyczny: Dobór rury do pompy ciepła</h3>



<p class="wp-block-paragraph">W instalacji z <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a> typu monoblok, gdzie temperatura zasilania rzadko przekracza 35°C, rura PE-RT II Klasa 4 / 6 bar jest rozwiązaniem optymalnym technicznie i ekonomicznie. Jednak w przypadku podłączenia podłogówki do instalacji z grzejnikami (poprzez zawór mieszający), lepiej zainwestować w rurę PE-Xa Klasa 4 / 10 bar, ponieważ ryzyko chwilowego podania wyższej temperatury przez awarię automatyki jest znacznie większe.</p>



<h2 class="wp-block-heading">FAQ.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1770253859016"><strong class="schema-faq-question"><strong>Co oznacza klasa robocza rury w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Klasa robocza określa, jak długo rura może bezpiecznie pracować przy określonych temperaturach i ciśnieniu. W praktyce definiuje jej żywotność w cyklu 50 lat eksploatacji.</p> </div> <div class="schema-faq-section" id="faq-question-1770253888925"><strong class="schema-faq-question"><strong>Dlaczego do podłogówki zalecana jest Klasa 4?</strong></strong> <p class="schema-faq-answer">Ponieważ odpowiada rzeczywistemu profilowi pracy instalacji niskotemperaturowej – długiej pracy przy 40–60°C oraz sporadycznym skokom temperatury.</p> </div> <div class="schema-faq-section" id="faq-question-1770253905494"><strong class="schema-faq-question"><strong>PE-X czy PE-RT – co wybrać?</strong></strong> <p class="schema-faq-answer">PE-Xa zapewnia najwyższą odporność mechaniczną i „pamięć kształtu”, dlatego sprawdza się w trudnych warunkach. PE-RT II jest tańszy i wystarczający do standardowych instalacji z pompą ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1770253913409"><strong class="schema-faq-question"><strong>Czy warto dopłacić do rury 10 bar zamiast 6 bar?</strong></strong> <p class="schema-faq-answer">Tak, jeśli instalacja ma pracować w budynku wielorodzinnym, z kotłem stałopalnym lub istnieje ryzyko wyższych temperatur. Daje to większy margines bezpieczeństwa.</p> </div> <div class="schema-faq-section" id="faq-question-1770253929910"><strong class="schema-faq-question"><strong>Dlaczego projekt instalacji jest tak ważny dla trwałości rur?</strong></strong> <p class="schema-faq-answer">Projekt dobiera średnice, długości pętli, temperatury i ciśnienia pracy. Nawet najlepsza rura bez poprawnego projektu może ulec przedwczesnemu uszkodzeniu.</p> </div> </div>



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



<p class="wp-block-paragraph">Zrozumienie, że <strong>wytrzymałość rur do ogrzewania podłogowego jest opisywana przez tzw. klasę roboczą</strong>, pozwala świadomie podejść do inwestycji, która ma służyć pokoleniom. Nie dajmy się zwieść tylko &#8222;cenie za metr&#8221;. Prawdziwa wartość rury kryje się w jej zdolności do przenoszenia naprężeń w długim horyzoncie czasowym.</p>



<p class="wp-block-paragraph">Pamiętaj o trzech złotych zasadach:</p>



<ol start="1" class="wp-block-list">
<li><strong>Sprawdź nadruk na rurze:</strong> Szukaj oznaczeń ISO 10508 oraz konkretnej klasy (najlepiej Class 4/10 bar dla pełnego spokoju).</li>



<li><strong>Dobierz materiał do źródła ciepła:</strong> PE-Xa dla najwyższego bezpieczeństwa, PE-RT II dla standardowych układów niskotemperaturowych.</li>



<li><strong>Zainwestuj w rzetelny projekt:</strong> Tylko on powiąże parametry fizyczne rury z charakterystyką cieplną Twojego domu.</li>
</ol>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="n3LfP09nYt"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=i2UaUwd7XA#?secret=n3LfP09nYt" data-secret="n3LfP09nYt" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">Wytrzymałość rur do ogrzewania podłogowego – kompleksowy przewodnik.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Tue, 27 Jan 2026 10:30:35 +0000</pubDate>
				<category><![CDATA[Budowa domu]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Projektowanie instalacji]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[podłogówka]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[straty ciepła]]></category>
		<category><![CDATA[strefa brzegowa]]></category>
		<category><![CDATA[strefa obwodowa]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3328</guid>

					<description><![CDATA[<p>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym to jeden z tych elementów instalacji, które decydują o realnym komforcie cieplnym w domu, a jednocześnie są często bagatelizowane. Właściwie zaprojektowana strefa przy ścianach zewnętrznych i przeszkleniach pozwala wyrównać temperaturę w pomieszczeniu, ograniczyć straty ciepła i obniżyć zużycie energii. W artykule wyjaśniamy, czym jest strefa brzegowa, dlaczego ma kluczowe znaczenie w nowoczesnym budownictwie oraz jak ją poprawnie zaprojektować zgodnie z normami i praktyką instalacyjną.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym</strong> to kluczowy element systemów grzewczych, który zapewnia równomierny rozkład ciepła w pomieszczeniach narażonych na większe straty termiczne. W dzisiejszych domach i budynkach, gdzie efektywność energetyczna odgrywa pierwszoplanową rolę, zrozumienie roli tej strefy pozwala na optymalne projektowanie instalacji, redukując zużycie energii i zwiększając komfort mieszkańców. W tym artykule przyjrzymy się bliżej, czym jest strefa brzegowa, dlaczego jest niezbędna i jak ją prawidłowo zaprojektować, opierając się na normach i praktycznych przykładach.</p>



<h2 class="wp-block-heading">Co to jest strefa brzegowa w ogrzewaniu podłogowym?</h2>



<p class="wp-block-paragraph">Strefa brzegowa, zwana również obwodową lub krawędziową, to specjalny pas podłogi przylegający do ścian zewnętrznych, dużych okien, drzwi balkonowych lub innych elementów budynku, gdzie występują zwiększone straty ciepła. W tym obszarze <a href="https://projekt-ogrzewania.pl/category/rury-do-ogrzewania/">rury</a> grzewcze układane są gęściej niż w centralnej części pomieszczenia, co pozwala na wyrównanie temperatury i uniknięcie uczucia chłodu przy przegrodach zewnętrznych.</p>



<p class="wp-block-paragraph">W praktyce, <strong>strefa obwodowa</strong> działa jak bufor termiczny. Podczas gdy w środku pokoju podłoga może być ogrzewana równomiernie, przy ścianach zewnętrznych infiltracja zimnego powietrza lub mostki termiczne powodują szybsze wychładzanie. Gęstsze ułożenie rur – zazwyczaj co 5-10 cm – zwiększa moc grzewczą na metr kwadratowy, osiągając nawet 100 W/m², w porównaniu do 50-80 W/m² w strefie podstawowej.</p>



<p class="wp-block-paragraph">Przykładowo, w typowym salonie o powierzchni 20 m² z oknami na jednej ścianie, strefa brzegowa może obejmować pas o szerokości 1 metra wzdłuż tej ściany, co daje około 4-6 m² powierzchni wymagającej intensywnego ogrzewania. Bez niej, temperatura podłogi przy oknie mogłaby spaść o 3-5°C, co odczuwalnie obniżyłoby komfort.</p>



<h3 class="wp-block-heading">Fizyczne podstawy działania strefy obwodowej.</h3>



<p class="wp-block-paragraph">Z punktu widzenia fizyki, ogrzewanie podłogowe opiera się na promieniowaniu i konwekcji ciepła. W strefie brzegowej kluczowe jest kompensowanie strat ciepła przez przegrody zewnętrzne, obliczone według normy PN-EN 12831. Straty te zależą od izolacji ścian (współczynnik U), powierzchni okien i warunków zewnętrznych.</p>



<p class="wp-block-paragraph">Na przykład, w budynku z dobrze izolowanymi ścianami (U=0,2 W/m²K), straty przy temperaturze zewnętrznej -15°C mogą wynosić 80-100 W/m² w obszarze brzegowym. Gęstsze rury pozwalają na podniesienie temperatury podłogi do 35°C (maksymalna dopuszczalna w tej strefie według <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264</a>), co wyrównuje gradient temperaturowy.</p>



<h2 class="wp-block-heading">Dlaczego strefa brzegowa jest ważna w ogrzewaniu podłogowym?</h2>



<p class="wp-block-paragraph">Bez odpowiednio zaprojektowanej <strong>strefy obwodowej w ogrzewaniu podłogowym</strong>, system może być nieefektywny, prowadząc do nierównomiernego ogrzewania i wyższego zużycia energii. Norma PN-EN 1264 podkreśla, że strefa ta jest obowiązkowa w pomieszczeniach z przegrodami zewnętrznymi, aby zapewnić komfort termiczny.</p>



<p class="wp-block-paragraph">Oto kluczowe powody:</p>



<ul class="wp-block-list">
<li><strong>Kompensacja strat ciepła</strong>: W obszarach brzegowych straty mogą być dwukrotnie wyższe niż w centrum. Przykładowo, przy oknie o powierzchni 4 m² bez strefy, temperatura powietrza przy podłodze mogłaby spaść do 18°C, mimo 22°C w pokoju.</li>



<li><strong>Poprawa komfortu</strong>: Ludzie odczuwają chłód przy ścianach – strefa brzegowa eliminuje to, utrzymując temperaturę podłogi na poziomie 29-35°C.</li>



<li><strong>Efektywność energetyczna</strong>: Optymalne ułożenie rur redukuje pracę kotła lub <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> o 10-15%. W budynku o powierzchni 100 m² z pompą ciepła, brak strefy mógłby zwiększyć rachunki o 200-300 zł rocznie.</li>



<li><strong>Zgodność z normami</strong>: Brak strefy może unieważnić gwarancję systemu i nie spełnić wymagań budowlanych.</li>
</ul>



<p class="wp-block-paragraph">W kontekście nowoczesnych budynków pasywnych, strefa brzegowa pozwala na integrację z niskotemperaturowymi źródłami ciepła, jak pompy ciepła, gdzie temperatura zasilania to zaledwie 35-40°C.</p>



<h2 class="wp-block-heading">Projektowanie strefy brzegowej w ogrzewaniu podłogowym.</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt ogrzewania podłogowego</a> w kontekście tego artykułu to proces, który zaczyna się od obliczenia strat ciepła (OZC) dla każdego pomieszczenia, zgodnie z PN-EN 12831. Następnie definiuje się strefę brzegową, biorąc pod uwagę geometrię budynku, izolację i zapotrzebowanie na ciepło. To nie tylko techniczne wyliczenia, ale także dostosowanie do potrzeb użytkownika – na przykład w domu z dużymi przeszkleniami, strefa musi być szersza, aby zapobiec kondensacji pary wodnej na oknach.</p>



<p class="wp-block-paragraph">W praktyce, <a href="https://projekt-ogrzewania.pl/kontakt/">projektant</a> używa oprogramowania do symulacji termicznej, aby określić optymalny rozstaw rur i długość obwodów. Na przykład, dla pomieszczenia 15 m² z oknem, projekt może obejmować strefę brzegową o powierzchni 3 m² z rozstawem 10 cm, podłączoną do rozdzielacza z regulacją przepływu.</p>



<h3 class="wp-block-heading">Parametry projektowe strefy obwodowej.</h3>



<p class="wp-block-paragraph">Kluczowe parametry to:</p>



<ul class="wp-block-list">
<li><strong>Szerokość strefy</strong>: Zazwyczaj 0,5-1,5 m, najczęściej 1 m. Zależy od strat ciepła – w słabo izolowanym budynku może być szersza.</li>



<li><strong>Rozstaw rur</strong>: 5-10 cm w brzegowej, 10-20 cm w podstawowej. Dla pomp ciepła zalecany gęstszy rozstaw (10-15 cm) dla lepszej efektywności.</li>



<li><strong>Długość obwodu</strong>: Nie więcej niż 100-120 m, aby uniknąć spadków ciśnienia. Często strefa brzegowa to osobny obwód.</li>
</ul>



<p class="wp-block-paragraph">Przykładowe obliczenia według PN-EN 1264: Dla strefy brzegowej o stratach 100 W/m², przy rozstawie 10 cm i temperaturze zasilania 45°C, moc grzewcza q = 99,38 W/m², Δθ_H = 29,72°C.</p>



<h3 class="wp-block-heading">Układy rur w strefie brzegowej.</h3>



<p class="wp-block-paragraph">Wybór układu wpływa na równomierność ogrzewania:</p>



<ul class="wp-block-list">
<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">Układ meandrowy (wężowy)</a></strong>: Rury biegną zygzakiem. Prosty w montażu, ale może powodować różnice temperatur do 5°C. Zalecany w małych pomieszczeniach, np. łazience.</li>



<li><strong><a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-slimakowym/">Układ spiralny (ślimakowy)</a></strong>: Rury przeplatają się, minimalizując gradienty do 2°C. Idealny do dużych salonów z strefą brzegową.</li>
</ul>



<p class="wp-block-paragraph">Przykładowo, w układzie spiralnym strefa brzegowa integruje się z główną pętlą, zaczynając od zewnętrznej ściany.</p>



<h2 class="wp-block-heading">Przykłady obliczeń i wyliczenia w strefie obwodowej.</h2>



<p class="wp-block-paragraph">Rozważmy pomieszczenie 23,5 m² z oknami: Straty ciepła 100 W/m² w brzegowej (8,76 m²), 60 W/m² w bytowej (14,74 m²).</p>



<p class="wp-block-paragraph">Obliczenia według PN-EN 1264:</p>



<ul class="wp-block-list">
<li>Współczynniki: B0 = 6,7 W/m²K, aB = 0,578, at = 1,156 itd.</li>



<li>Moc: q = 99,38 W/m², qG = 100,49 W/m².</li>



<li>Długość rur: Dla rozstawu 10 cm w brzegowej – około 90 m na obwód.</li>
</ul>



<p class="wp-block-paragraph">Inny przykład: Łazienka 6 m², strefa brzegowa 2 m². Rozstaw 5 cm daje moc 120 W/m², temperatura podłogi 33°C.</p>



<style>
.floor-table-wrap {
  max-width: 960px;
  margin: 40px auto;
  padding: 20px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  font-family: Arial, sans-serif;
}

.floor-table-wrap h3 {
  text-align: center;
  font-size: 26px;
  margin-bottom: 20px;
}

.floor-table {
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.floor-table thead {
  background: #f4f6f8;
}

.floor-table th,
.floor-table td {
  padding: 14px 16px;
  text-align: left;
  font-size: 15px;
}

.floor-table th {
  font-weight: 600;
  color: #333;
  border-bottom: 2px solid #e0e0e0;
}

.floor-table td {
  border-bottom: 1px solid #eaeaea;
  color: #444;
}

.floor-table tr:last-child td {
  border-bottom: none;
}

/* Wyróżnienie pierwszej kolumny */
.floor-table td:first-child {
  font-weight: bold;
  color: #000;
}

/* Kolumny liczbowe – wyrównanie */
.floor-table td:nth-child(1),
.floor-table td:nth-child(2),
.floor-table td:nth-child(4) {
  text-align: center;
}

/* Responsywność */
@media (max-width: 768px) {
  .floor-table thead {
    display: none;
  }

  .floor-table,
  .floor-table tbody,
  .floor-table tr,
  .floor-table td {
    display: block;
    width: 100%;
  }

  .floor-table tr {
    margin-bottom: 18px;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    padding: 10px;
  }

  .floor-table td {
    text-align: right;
    padding: 10px;
    position: relative;
  }

  .floor-table td::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    top: 10px;
    font-weight: bold;
    color: #666;
    text-align: left;
  }
}

.floor-table-note {
  margin-top: 16px;
  font-size: 14px;
  color: #666;
  text-align: center;
}
</style>

<div class="floor-table-wrap">
  <h3>Rozstaw rur a moc ogrzewania podłogowego</h3>

  <table class="floor-table">
    <thead>
      <tr>
        <th>Rozstaw rur (cm)</th>
        <th>Moc grzewcza (W/m²)</th>
        <th>Zastosowanie</th>
        <th>Maks. temperatura podłogi (°C)</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td data-label="Rozstaw rur (cm)">5</td>
        <td data-label="Moc grzewcza (W/m²)">100–120</td>
        <td data-label="Zastosowanie">Strefa brzegowa w łazienkach</td>
        <td data-label="Maks. temperatura podłogi (°C)">35</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">10</td>
        <td data-label="Moc grzewcza (W/m²)">80–100</td>
        <td data-label="Zastosowanie">Standardowa strefa obwodowa</td>
        <td data-label="Maks. temperatura podłogi (°C)">35</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">15</td>
        <td data-label="Moc grzewcza (W/m²)">60–80</td>
        <td data-label="Zastosowanie">Strefa podstawowa</td>
        <td data-label="Maks. temperatura podłogi (°C)">29</td>
      </tr>
      <tr>
        <td data-label="Rozstaw rur (cm)">20</td>
        <td data-label="Moc grzewcza (W/m²)">50–70</td>
        <td data-label="Zastosowanie">Duże pomieszczenia</td>
        <td data-label="Maks. temperatura podłogi (°C)">29</td>
      </tr>
    </tbody>
  </table>

  <div class="floor-table-note">
    Tabela pokazuje zależność mocy grzewczej od rozstawu rur przy temperaturze zasilania 40°C.
  </div>
</div>




<p class="wp-block-paragraph">Aby zilustrować rozkład temperatury, poniżej przykładowy wykres liniowy pokazujący gradient w pomieszczeniu ze strefą brzegową. Na wykresie widać, jak gęstsze rury w strefie obwodowej wyrównują temperaturę do poziomu 22-24°C w całym pokoju, w porównaniu do spadku bez strefy.</p>



<p class="wp-block-paragraph">Dane symulowane dla pomieszczenia o szerokości 5 m.</p>



<style>
.floor-chart {
  max-width: 960px;
  margin: 50px auto;
  padding: 30px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(0,0,0,0.08);
  font-family: Arial, sans-serif;
}

.floor-chart h2 {
  text-align: center;
  font-size: 28px;
  margin-bottom: 6px;
}

.floor-chart p {
  text-align: center;
  font-size: 16px;
  color: #666;
  margin-bottom: 30px;
}

.legend {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 22px;
  font-size: 15px;
}

.legend span {
  display: flex;
  align-items: center;
  gap: 10px;
}

.legend i {
  width: 30px;
  height: 4px;
  display: inline-block;
}

.no-zone {
  background: #c0392b;
}

.with-zone {
  background: #27ae60;
}
</style>

<div class="floor-chart">
  <h2>Rozkład temperatury przy podłodze</h2>
  <p>Porównanie pomieszczenia bez strefy brzegowej i ze strefą obwodową</p>

  <svg viewBox="0 0 900 420" preserveAspectRatio="xMidYMid meet" style="width:100%; height:auto;">

    <!-- Oś Y -->
    <line x1="90" y1="60" x2="90" y2="360" stroke="#333" stroke-width="2"/>

    <!-- Linie pomocnicze -->
    <line x1="90" y1="100" x2="840" y2="100" stroke="#eee"/>
    <line x1="90" y1="170" x2="840" y2="170" stroke="#eee"/>
    <line x1="90" y1="240" x2="840" y2="240" stroke="#eee"/>
    <line x1="90" y1="310" x2="840" y2="310" stroke="#eee"/>

    <!-- Opisy osi Y -->
    <text x="30" y="105" font-size="14">24°C</text>
    <text x="30" y="175" font-size="14">23°C</text>
    <text x="30" y="245" font-size="14">22°C</text>
    <text x="30" y="315" font-size="14">21°C</text>

    <!-- Linia: bez strefy brzegowej -->
    <polyline
      fill="none"
      stroke="#c0392b"
      stroke-width="4"
      points="
        90,115
        260,150
        430,205
        600,260
        770,315
      "
    />

    <!-- Linia: ze strefą brzegową -->
    <polyline
      fill="none"
      stroke="#27ae60"
      stroke-width="4"
      stroke-dasharray="8,6"
      points="
        90,125
        260,145
        430,165
        600,185
        770,195
      "
    />

  </svg>

  <div class="legend">
    <span><i class="with-zone"></i> Ze strefą obwodową</span>
    <span><i class="no-zone"></i> Bez strefy brzegowej</span>
  </div>
</div>




<h2 class="wp-block-heading">Materiały i wskazówki praktyczne w ogrzewaniu podłogowym ze strefą brzegową.</h2>



<p class="wp-block-paragraph">Do budowy używa się rur <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PE-X</a> lub wielowarstwowych (PE-AL-PE), o średnicy 14-20 mm. Izolacja termiczna pod rurami to minimum 0,75 m²K/W nad ogrzewanymi pomieszczeniami.</p>



<p class="wp-block-paragraph">Wskazówki:</p>



<ul class="wp-block-list">
<li>Unikaj rur pod stałą zabudową (szafki, wanna) – marnuje energię.</li>



<li>Integruj z automatyką: Termostaty pokojowe regulują przepływ w strefie brzegowej.</li>



<li>Montaż: Zaczynaj od strefy brzegowej, używając klipsów lub mat systemowych.</li>



<li>Testy: Po ułożeniu, próba ciśnieniowa 6 bar przez 24h.</li>
</ul>



<p class="wp-block-paragraph">W domu jednorodzinnym z pompą ciepła, strefa brzegowa w salonie o szerokości 1 m z rozstawem 10 cm może obniżyć temperaturę zasilania o 5°C, oszczędzając 15% energii.</p>



<h2 class="wp-block-heading">FAQ – najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769506870160"><strong class="schema-faq-question"><strong>Czym jest strefa brzegowa w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer"> Strefa brzegowa to pas podłogi przy ścianach zewnętrznych lub oknach, gdzie rury grzewcze układane są gęściej (5-10 cm rozstawu), by kompensować większe straty ciepła i zapewnić równomierny rozkład temperatury w pomieszczeniu.</p> </div> <div class="schema-faq-section" id="faq-question-1769506881130"><strong class="schema-faq-question"><strong>Dlaczego strefa obwodowa jest obowiązkowa według norm?</strong></strong> <p class="schema-faq-answer">Norma PN-EN 1264 wymaga strefy brzegowej w pomieszczeniach z przegrodami zewnętrznymi, aby uniknąć nierównomiernego ogrzewania, poprawić komfort i zgodność z wymaganiami budowlanymi – brak jej może unieważnić gwarancję systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1769506936757"><strong class="schema-faq-question"><strong>Jak obliczyć szerokość strefy brzegowej?</strong></strong> <p class="schema-faq-answer">Szerokość zazwyczaj wynosi 0,5-1,5 m (najczęściej 1 m) i zależy od strat ciepła obliczonych według <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>. Na przykład w budynku z oknami i stratami 100 W/m², strefa obejmuje pas 1 m wzdłuż ściany zewnętrznej.</p> </div> <div class="schema-faq-section" id="faq-question-1769507005593"><strong class="schema-faq-question"><strong>Jaki układ rur jest najlepszy w strefie obwodowej?</strong></strong> <p class="schema-faq-answer">Układ spiralny (ślimakowy) jest idealny, bo minimalizuje różnice temperatur do 2°C i integruje się z główną pętlą. Meandrowy (wężowy) sprawdza się w małych pomieszczeniach, jak łazienka, ale może powodować gradienty do 5°C.</p> </div> <div class="schema-faq-section" id="faq-question-1769507012065"><strong class="schema-faq-question"><strong>Czy strefa brzegowa oszczędza energię?</strong></strong> <p class="schema-faq-answer">Tak, optymalne ułożenie rur redukuje pracę kotła lub pompy ciepła o 10-15%, co w budynku 100 m² może obniżyć rachunki o 200-300 zł rocznie, dzięki wyrównaniu strat ciepła i niższej temperaturze zasilania.</p> </div> </div>



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



<p class="wp-block-paragraph">Podsumowując, strefa brzegowa w ogrzewaniu podłogowym to nie tylko techniczny detal, ale podstawa komfortu termicznego i oszczędności energii, pozwalająca na efektywne wykorzystanie ciepła w newralgicznych miejscach budynku. Prawidłowy projekt, uwzględniający normy i indywidualne potrzeby, zapewnia lata bezproblemowej eksploatacji bez awarii czy nadmiernego zużycia. Jeśli planujesz instalację, skonsultuj się z certyfikowanym specjalistą – to inwestycja, która szybko się zwraca dzięki niższym rachunkom i wyższemu komfortowi codziennego życia.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="8xSUSiRO38"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=rP6MGZ0Zdh#?secret=8xSUSiRO38" data-secret="8xSUSiRO38" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">Strefa brzegowa (obwodowa) w ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rura z barierą antydyfuzyjną (EVOH).</title>
		<link>https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 26 Jan 2026 09:43:12 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Materiały do podłogówki]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[Rury grzewcze]]></category>
		<category><![CDATA[Technika grzewcza]]></category>
		<category><![CDATA[Technika instalacyjna]]></category>
		<category><![CDATA[Wybór materiałów do podłogówki]]></category>
		<category><![CDATA[bariera antydyfuzyjna]]></category>
		<category><![CDATA[dyfuzja tlenu]]></category>
		<category><![CDATA[hydraulika budowlana]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pe-rt evoh]]></category>
		<category><![CDATA[pex evoh]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rura evoh]]></category>
		<category><![CDATA[rury grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3316</guid>

					<description><![CDATA[<p>W instalacjach grzewczych nie ma miejsca na przypadek. To, co dziś jest niewidoczne w posadzce, przez kolejne dekady decyduje o sprawności całego systemu. Rura z barierą antydyfuzyjną (EVOH) to rozwiązanie, które od lat stanowi technologiczny standard w wodnym ogrzewaniu podłogowym – nie z mody, lecz z fizyki i doświadczenia. W artykule pokazujemy, dlaczego dyfuzja tlenu jest realnym zagrożeniem, jak działa EVOH, jakie parametry mają znaczenie przy doborze rur oraz dlaczego profesjonalny projekt i montaż są kluczowe dla trwałości instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-intro-dark: #0f172a;
    --rk-intro-blue: #0284c7;
    --rk-intro-light: #f0f9ff;
    --rk-intro-accent: #0ea5e9;
    --rk-intro-green: #10b981;
    --rk-intro-red: #ef4444;
    --rk-intro-gray: #64748b;
    --rk-intro-border: #e2e8f0;
    --rk-intro-bg: #ffffff;
    --rk-intro-gold: #f59e0b;
}

.rk-intro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-intro-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-intro-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-intro-container * {
    box-sizing: border-box;
    /* Zgodnie z poleceniem: całkowity brak animacji i płynnych przejść w tym bloku */
    transition: none !important;
    animation: none !important;
}

/* Sekcja Hooka i Tytułu */
.rk-intro-hero {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-intro-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 5px solid var(--rk-intro-blue);
    text-align: center;
}

.rk-intro-badge {
    display: inline-block;
    background: var(--rk-intro-blue);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
}

.rk-intro-hero h2 {
    font-size: 36px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-intro-hook {
    font-size: 18px;
    font-weight: 500;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    border-left: 4px solid var(--rk-intro-gold);
    text-align: left;
}

.rk-intro-hook strong {
    color: #ffffff;
    font-weight: 800;
}

/* Interaktywny Panel Główny (Jedna Kolumna) */
.rk-intro-main {
    background: #ffffff;
    padding: 40px 50px;
}

/* Nawigacja Górna (Zakładki Poziome) */
.rk-intro-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
    border-bottom: 2px solid var(--rk-intro-border);
    padding-bottom: 15px;
}

.rk-intro-tab-btn {
    flex: 1;
    text-align: center;
    background: #f8fafc;
    border: 2px solid var(--rk-intro-border);
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-intro-gray);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.rk-intro-tab-btn:hover {
    border-color: #cbd5e1;
    color: var(--rk-intro-dark);
}

.rk-intro-tab-btn.active {
    background: var(--rk-intro-blue);
    color: #ffffff;
    border-color: var(--rk-intro-blue);
}

.rk-intro-tab-btn svg {
    flex-shrink: 0;
}

/* Prawa Kolumna - Treść (Teraz pełna szerokość) */
.rk-intro-content {
    display: none;
}

.rk-intro-content.active {
    display: block;
}

/* Treść: Szybka Odpowiedź */
.rk-qa-box {
    background: var(--rk-intro-light);
    border: 2px solid #bae6fd;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 30px;
}

.rk-qa-title {
    font-size: 14px;
    font-weight: 900;
    color: var(--rk-intro-blue);
    text-transform: uppercase;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-qa-text {
    font-size: 18px;
    font-weight: 700;
    color: var(--rk-intro-dark);
    line-height: 1.6;
    margin: 0;
}

.rk-intro-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

.rk-intro-text strong {
    color: var(--rk-intro-dark);
    font-weight: 800;
}

.rk-intro-text a {
    color: var(--rk-intro-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Treść: Narzędzia */
.rk-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 10px;
}

.rk-tool-card {
    border: 2px solid var(--rk-intro-border);
    border-radius: 16px;
    padding: 25px;
    background: #ffffff;
}

.rk-tool-icon {
    width: 48px;
    height: 48px;
    background: #f1f5f9;
    color: var(--rk-intro-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.rk-tool-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-intro-dark);
    margin: 0 0 10px 0;
}

.rk-tool-desc {
    font-size: 14px;
    color: var(--rk-intro-gray);
    margin: 0;
    line-height: 1.6;
}

@media (max-width: 850px) {
    .rk-tools-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .rk-intro-hero { padding: 35px 20px; }
    .rk-intro-hero h2 { font-size: 28px; }
    .rk-intro-main { padding: 25px 20px; }
    
    /* Na mobile przyciski układają się jeden pod drugim */
    .rk-intro-nav { flex-direction: column; border-bottom: none; gap: 10px; }
    .rk-intro-tab-btn { justify-content: flex-start; padding: 15px 20px; margin-bottom: 0;}
    
    .rk-qa-box { padding: 20px; }
    .rk-qa-text { font-size: 16px; }
    .rk-tool-card { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Rura z barierą antydyfuzyjną (EVOH) – Najważniejszy element podłogówki",
    "description": "Czym jest rura z barierą EVOH? Kompletny przewodnik i szybka odpowiedź dla inwestorów. Poznaj wpływ bariery tlenowej na trwałość kotła i pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-wstep",
    "name": "Zestawienie Narzędzi i Kalkulatorów Instalacyjnych EVOH",
    "description": "Wykaz interaktywnych narzędzi udostępnionych w artykule, wspomagających decyzję o wyborze rury do ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rura z barierą antydyfuzyjną",
      "co to jest rura EVOH",
      "kalkulator zładu wody",
      "symulator korozji podłogówki",
      "rura pex-a czy pe-rt evoh"
    ],
    "measurementTechnique": "Agregacja dostępnych modułów inżynierskich obliczających opory hydrauliczne, przepływy, dyfuzję tlenu oraz ROI inwestycji w barierę EVOH.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Moduł Szybkiej Odpowiedzi (Quick Answer) dla wyszukiwarek.",
        "Kalkulator parametrów hydraulicznych i zładu wodnego pętli.",
        "Symulator niszczenia kotła z powodu braku bariery EVOH."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-wstep-przewodnik",
    "name": "Interaktywny Przewodnik Inwestora EVOH",
    "description": "Panel startowy ułatwiający nawigację po narzędziach i bezpośrednio odpowiadający na kluczowe pytania inwestorów dotyczące rur z powłoką antydyfuzyjną.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-intro-container" id="rk-intro-panel">
    
    <div class="rk-intro-hero">
        <span class="rk-intro-badge">Baza Wiedzy Inwestora</span>
        <h2>Rura z barierą antydyfuzyjną (EVOH) – Najważniejszy element podłogówki</h2>
        <p class="rk-intro-hook">
            Wyobraź sobie, że oszczędzasz 500 zł na tańszej rurze, a po 3 latach musisz wydać 8 000 zł na naprawę pompy ciepła i płukanie całej posadzki. <strong>To nie mit sprzedażowy, to bezwzględna fizyka budowli.</strong> Zobacz dlaczego.
        </p>
    </div>

    <div class="rk-intro-main">
        
        <div class="rk-intro-nav">
            <button class="rk-intro-tab-btn active" data-target="intro-qa">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                Szybka Odpowiedź
            </button>
            
            <button class="rk-intro-tab-btn" data-target="intro-tools">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                Kalkulatory w Artykule
            </button>
        </div>

        <div class="rk-intro-content-wrapper">
            
            <div class="rk-intro-content active" id="intro-qa">
                
                <div class="rk-qa-box">
                    <div class="rk-qa-title">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Szybka Odpowiedź
                    </div>
                    <p class="rk-qa-text">
                        Czym jest rura z barierą antydyfuzyjną EVOH? To najczęściej 5-warstwowa rura wykonana z PEX lub PE-RT, w której umieszczono mikroskopijną powłokę kopolimeru EVOH. Jej jedynym zadaniem jest <strong>całkowite zablokowanie wnikania tlenu</strong> z zewnątrz do wody instalacyjnej.
                    </p>
                </div>
                
                <div class="rk-intro-text">
                    <p>
                        Brak tej warstwy sprawia, że rura z tworzywa sztucznego działa jak gąbka dla gazów. Tlen łączy się z żelazem w instalacji, tworząc szlam magnetytowy (rdzę), który błyskawicznie niszczy <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotły gazowe</a> oraz zatyka nowoczesne pompy obiegowe. 
                    </p>
                    <p>
                        W tym kompleksowym kompendium przeanalizujemy ten temat od strony inżynierskiej, opierając się na normach DIN 4726 i twardych wyliczeniach.
                    </p>
                </div>

            </div>

            <div class="rk-intro-content" id="intro-tools">
                <div class="rk-intro-text">
                    <p><strong>Czego dowiesz się w dalszej części tekstu?</strong></p>
                    <p>Zrezygnowaliśmy z teoretyzowania. W poniższym artykule znajdziesz interaktywne narzędzia, które pomogą Ci podjąć najbezpieczniejszą decyzję materiałową dla Twojego domu:</p>
                </div>

                <div class="rk-tools-grid">
                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Mikroskop Dyfuzji</h4>
                        <p class="rk-tool-desc">Zobacz struktury 3-warstwowe i 5-warstwowe w powiększeniu i zrozum proces blokady tlenu.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Symulator Awarii</h4>
                        <p class="rk-tool-desc">Kalkulator ryzyka. Zobacz ile rdzy (szlamu) wygeneruje Twój układ, jeśli pominiesz barierę EVOH.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                        </div>
                        <h4 class="rk-tool-title">Kalkulator Hydrauliki</h4>
                        <p class="rk-tool-desc">Moduł do wyliczenia przepływów (m/s) i spadków ciśnienia (kPa) dla najdłuższej pętli grzewczej.</p>
                    </div>

                    <div class="rk-tool-card">
                        <div class="rk-tool-icon">
                            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="1" x2="12" y2="23"></line><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        </div>
                        <h4 class="rk-tool-title">Decyzjomat ROI</h4>
                        <p class="rk-tool-desc">Zestawienie dopłaty do markowej rury z gwarantowanymi kosztami ewentualnej naprawy kotłowni.</p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-intro-tab-btn');
    const tabContents = document.querySelectorAll('.rk-intro-content');

    // Brak animacji - natychmiastowe przełączenie klas (Display: block/none)
    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            
            // Usunięcie stanu aktywnego
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            for (let k = 0; k < tabContents.length; k++) {
                tabContents[k].classList.remove('active');
            }

            // Nadanie stanu aktywnego 
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            let isFound = false;
            if (targetPanel) {
                isFound = true;
            }

            if (isFound) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-def-dark: #0f172a;
    --rk-def-blue: #0284c7;
    --rk-def-light: #f0f9ff;
    --rk-def-accent: #0ea5e9;
    --rk-def-green: #10b981;
    --rk-def-red: #ef4444;
    --rk-def-gray: #64748b;
    --rk-def-border: #e2e8f0;
    --rk-def-bg: #ffffff;
    
    /* Kolory warstw polimerów */
    --rk-poly-pex: #94a3b8;
    --rk-poly-evoh: #0284c7;
    --rk-poly-glue: #fcd34d;
}

.rk-def-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-def-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-def-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-def-container * {
    box-sizing: border-box;
}

/* Nagłówek */
.rk-def-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-def-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-def-accent);
    position: relative;
}

.rk-def-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-def-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-def-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Interaktywny Symulator Przekroju (Mikroskop) */
.rk-def-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-def-border);
}

.rk-def-int-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-def-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Selektor z wypełnieniem kolorystycznym zamiast ruchomego tła */
.rk-layer-selector {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
    gap: 6px; /* Odstęp między przyciskami */
}

.rk-layer-btn {
    flex: 1;
    height: 46px; 
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-def-gray); /* Ciemno szary domyślnie */
    background: transparent; /* Brak tła przed kliknięciem */
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 0;
}

.rk-layer-btn:hover {
    color: var(--rk-def-dark);
    background: rgba(255, 255, 255, 0.5);
}

/* Aktywny przycisk przyjmuje niebieskie tło i biały tekst */
.rk-layer-btn.active {
    background: var(--rk-def-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Animacje i obszar SVG */
.rk-microscope-box {
    background: #ffffff;
    border: 2px solid var(--rk-def-border);
    border-radius: 20px;
    padding: 30px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
    align-items: center;
}

.rk-svg-wrapper {
    position: relative;
    width: 100%;
    height: 180px;
    background: #f1f5f9;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #cbd5e1;
}

.rk-layer-info {
    padding-left: 20px;
    border-left: 3px solid var(--rk-def-accent);
}

.rk-layer-info h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-def-dark);
    margin: 0 0 10px 0;
}

.rk-layer-info p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-def-gray);
    margin: 0;
}

/* Część teoretyczna */
.rk-def-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-def-theory h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-def-dark);
    margin: 0 0 15px 0;
}

.rk-def-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-def-theory strong {
    color: var(--rk-def-dark);
    font-weight: 800;
}

.rk-def-theory a {
    color: var(--rk-def-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-def-theory a:hover {
    color: #0369a1;
}

.rk-def-highlight-box {
    background: var(--rk-def-light);
    border: 1px solid #bae6fd;
    border-left: 4px solid var(--rk-def-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

.rk-formula-clean {
    font-family: monospace;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-def-dark);
    display: block;
    background: #ffffff;
    padding: 10px 15px;
    border-radius: 8px;
    margin-top: 10px;
    border: 1px dashed #cbd5e1;
}

/* Animacje O2 */
.anim-o2-pass {
    animation: moveO2Pass 3s linear infinite;
}

.anim-o2-bounce {
    animation: moveO2Bounce 3s ease-in-out infinite;
}

@keyframes moveO2Pass {
    0% { transform: translate(0, 0); opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { transform: translate(300px, 0); opacity: 0; }
}

@keyframes moveO2Bounce {
    0% { transform: translate(0, 0); opacity: 0; }
    20% { opacity: 1; }
    50% { transform: translate(140px, 0); opacity: 1; } /* Uderzenie w barierę */
    80% { opacity: 1; }
    100% { transform: translate(0, 50px); opacity: 0; } /* Odbicie */
}

@media (max-width: 850px) {
    .rk-microscope-box { grid-template-columns: 1fr; gap: 20px; }
    .rk-layer-info { border-left: none; border-top: 3px solid var(--rk-def-accent); padding-left: 0; padding-top: 20px; }
}

@media (max-width: 600px) {
    .rk-def-header, .rk-def-interactive, .rk-def-theory { padding: 30px 20px; }
    .rk-def-header h2 { font-size: 26px; }
    
    /* Na mobile przyciski układają się jeden pod drugim */
    .rk-layer-selector { 
        flex-direction: column; 
    }
    .rk-layer-btn {
        width: 100%;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-czym-jest-evoh",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Czym jest bariera antydyfuzyjna EVOH w rurach do podłogówki?",
    "description": "Budowa i zasada działania bariery tlenowej w rurach grzewczych. Porównanie struktury 3-warstwowej i 5-warstwowej w odniesieniu do normy DIN 4726.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-evoh-struktura",
    "name": "Parametry fizyczne bariery antydyfuzyjnej EVOH i przenikalność tlenu",
    "description": "Baza danych określająca gęstość molekularną kopolimeru oraz graniczne wartości przenikania tlenu wg wytycznych instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "co to jest bariera evoh",
      "rury 5-warstwowe do podłogówki",
      "norma DIN 4726 tlen",
      "struktura rury pex",
      "budowa rury pe-rt evoh pe-rt"
    ],
    "measurementTechnique": "Analiza mikroskopowa przekroju rury, badanie przenikalności O2 w temp. 40°C wg rygorystycznej normy DIN 4726 (paragraf 4.1).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Grubość bariery EVOH: 10 do 50 mikrometrów.",
        "Maksymalna przenikalność wg DIN 4726: poniżej 0,1 mg/(l·doba) w 40°C.",
        "Zalecana struktura rynkowa: Rura 5L (PE-RT / Klej / EVOH / Klej / PE-RT)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-struktura-rury",
    "name": "Interaktywny Mikroskop Rury Grzewczej",
    "description": "Symulator przekroju rur instalacyjnych obrazujący proces blokowania dyfuzji cząsteczek tlenu przez warstwy kopolimeru EVOH oraz ryzyka dla rur 3-warstwowych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-def-container" id="rk-def-app">
    <div class="rk-def-header">
        <div class="rk-def-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="4"></circle><line x1="21.17" y1="8" x2="12" y2="8"></line><line x1="3.95" y1="6.06" x2="8.54" y2="14"></line><line x1="10.88" y1="21.94" x2="15.46" y2="14"></line></svg>
            Struktura Molekularna
        </div>
        <h2>Czym jest bariera antydyfuzyjna EVOH w rurach do podłogówki?</h2>
        <p>
            Wyobraź sobie warstwę kopolimeru cieńszą niż ludzki włos (od 10 do 50 mikrometrów). To właśnie EVOH – technologiczna tarcza, która decyduje o przetrwaniu całej kotłowni.
        </p>
    </div>

    <div class="rk-def-interactive">
        <div class="rk-def-int-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Interaktywny Mikroskop: Proces Dyfuzji
        </div>
        
        <div class="rk-layer-selector" id="pipeViewSelector">
            <div class="rk-layer-btn active" data-view="pex">Zwykły PEX/PE-RT</div>
            <div class="rk-layer-btn" data-view="3l">Rura 3-Warstwowa (3L)</div>
            <div class="rk-layer-btn" data-view="5l">Rura 5-Warstwowa (5L)</div>
        </div>

        <div class="rk-microscope-box">
            <div class="rk-svg-wrapper" id="svgDisplayArea">
                </div>
            
            <div class="rk-layer-info" id="layerInfoArea">
                </div>
        </div>
    </div>

    <div class="rk-def-theory">
        <h3>Fizyka przenikania: Jak tlen pokonuje polietylen?</h3>
        <p>
            Polietyleny jednorodne (czysty <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT</a> czy <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX</a>) wykazują budowę krystaliczną o wysokim stopniu porowatości międzycząsteczkowej. Siłą napędową procesu dyfuzji jest <strong>różnica ciśnień cząstkowych tlenu</strong> pomiędzy otoczeniem (powietrzem atmosferycznym, betonem jastrychu o wilgotności resztkowej) a wnętrzem rury, gdzie ciśnienie cząstkowe rozpuszczonego tlenu nieustannie dąży do zera.
        </p>

        <p>
            EVOH posiada skrajnie gęstą strukturę molekularną z silnymi wiązaniami wodorowymi, co tworzy barierę mechaniczną dla mikroskopijnych cząsteczek gazu O₂.
        </p>

        <div class="rk-def-highlight-box">
            <strong>Rygorystyczna Norma DIN 4726 (paragraf 4.1)</strong><br>
            Zgodnie z wymogami inżynieryjnymi, w tym niemiecką normą <a href="https://projekt-ogrzewania.pl/norma-din-4726-w-ogrzewaniu-podlogowym/">DIN 4726 w ogrzewaniu podłogowym</a>, skuteczna osłona antydyfuzyjna musi zredukować przenikanie tlenu (O₂) do poziomu granicznego w temperaturze roboczej 40°C:
            <span class="rk-formula-clean">Max przenikanie &lt; 0,1 mg/(l·doba)</span>
        </div>

        <h3>Dlaczego 5L to rynkowy standard?</h3>
        <p>
            Współczesny standard to rury 5-warstwowe (5L). Struktura ta pozwala umieścić ultracienką barierę EVOH centralnie, bezpiecznie w rdzeniu rury. Chroni to powłokę przed uszkodzeniami fizycznymi. Układ wygląda następująco:
            <span class="rk-formula-clean">PE-RT / Klej / EVOH / Klej / PE-RT</span>
        </p>
        <p>
            Rozwiązania starsze, 3-warstwowe (3L), gdzie EVOH znajdowało się na samym zewnątrz, były silnie podatne na <strong>mechaniczne zdrapanie bariery</strong> podczas układania i przesuwania przewodów na chropowatym styropianie oraz przy wbijaniu spinek montażowych (tacker).
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Dane dla poszczególnych widoków mikroskopu
    const viewsDB = {
        pex: {
            title: "Czysty polimer",
            desc: "Pory w strukturze PE-RT/PEX są tak duże (w skali cząsteczkowej), że tlen bez oporów wnika do środka instalacji, nasycając zład wody.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    <text x="10" y="20" fill="#64748b" font-size="12" font-weight="bold">Zewnątrz</text>
                    
                    <rect x="100" y="0" width="100" height="180" fill="#94a3b8" opacity="0.6"/>
                    <line x1="150" y1="0" x2="150" y2="180" stroke="#ffffff" stroke-width="2" stroke-dasharray="10 10"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>
                    <text x="210" y="20" fill="#0284c7" font-size="12" font-weight="bold">Woda</text>

                    <g class="anim-o2-pass" style="animation-delay: 0s;">
                        <circle cx="50" cy="50" r="6" fill="#ef4444"/>
                        <text x="44" y="54" fill="#ffffff" font-size="8" font-weight="bold">O₂</text>
                    </g>
                    <g class="anim-o2-pass" style="animation-delay: 1.5s;">
                        <circle cx="50" cy="130" r="6" fill="#ef4444"/>
                        <text x="44" y="134" fill="#ffffff" font-size="8" font-weight="bold">O₂</text>
                    </g>
                </svg>
            `
        },
        '3l': {
            title: "Struktura 3-Warstwowa",
            desc: "Bariera EVOH jest na wierzchu. Narażona na przetarcia (np. od spinek tackera) ulega zniszczeniu, otwierając drogę tlenowi do wnętrza.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    
                    <rect x="100" y="0" width="15" height="180" fill="#0284c7"/>
                    <rect x="115" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="120" y="0" width="80" height="180" fill="#94a3b8" opacity="0.6"/>
                    <polygon points="95,70 115,80 95,90" fill="#e2e8f0"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>

                    <g class="anim-o2-bounce" style="animation-delay: 0s;">
                        <circle cx="20" cy="30" r="6" fill="#ef4444"/>
                        <text x="14" y="34" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                    <g class="anim-o2-pass" style="animation-delay: 1s;">
                        <circle cx="20" cy="80" r="6" fill="#ef4444"/>
                        <text x="14" y="84" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                </svg>
            `
        },
        '5l': {
            title: "Struktura 5-Warstwowa",
            desc: "Bariera EVOH bezpiecznie osłonięta przez zewn. polietylen. 100% ochrona mechaniczna i totalna blokada dyfuzji. Standard branżowy.",
            svg: `
                <svg width="100%" height="100%" viewBox="0 0 300 180" xmlns="http://www.w3.org/2000/svg">
                    <rect x="0" y="0" width="100" height="180" fill="#e2e8f0"/>
                    
                    <rect x="100" y="0" width="30" height="180" fill="#94a3b8" opacity="0.6"/>
                    <rect x="130" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="135" y="0" width="15" height="180" fill="#0284c7"/>
                    <rect x="150" y="0" width="5" height="180" fill="#fcd34d"/>
                    <rect x="155" y="0" width="45" height="180" fill="#94a3b8" opacity="0.6"/>
                    
                    <rect x="200" y="0" width="100" height="180" fill="#bae6fd"/>

                    <g class="anim-o2-bounce" style="animation-delay: 0s;">
                        <circle cx="20" cy="50" r="6" fill="#ef4444"/>
                        <text x="14" y="54" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                    <g class="anim-o2-bounce" style="animation-delay: 1.5s;">
                        <circle cx="20" cy="120" r="6" fill="#ef4444"/>
                        <text x="14" y="124" fill="#ffffff" font-size="8">O₂</text>
                    </g>
                </svg>
            `
        }
    };

    const buttons = document.querySelectorAll('.rk-layer-btn');
    const svgArea = document.getElementById('svgDisplayArea');
    const infoArea = document.getElementById('layerInfoArea');

    function updateView(key) {
        let data = viewsDB[key];
        
        // Zmiana treści z płynnym efektem zanikania
        infoArea.style.opacity = '0';
        svgArea.style.opacity = '0';
        
        setTimeout(function() {
            infoArea.innerHTML = `<h4>${data.title}</h4><p>${data.desc}</p>`;
            svgArea.innerHTML = data.svg;
            
            infoArea.style.transition = 'opacity 0.3s';
            svgArea.style.transition = 'opacity 0.3s';
            infoArea.style.opacity = '1';
            svgArea.style.opacity = '1';
        }, 150);
    }

    // Inicjalizacja pierwszej rury
    updateView('pex');

    // Obsługa kliknięć
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie klasy 'active'
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Dodanie klasy 'active' na wybranym
            this.classList.add('active');
            let targetKey = this.getAttribute('data-view');
            
            updateView(targetKey);
        });
    }
});
</script>



<style>
:root {
    --rk-corr-dark: #0f172a;
    --rk-corr-blue: #0284c7;
    --rk-corr-light: #f0f9ff;
    --rk-corr-red: #ef4444;
    --rk-corr-rust: #9a3412; /* Kolor rdzy/szlamu */
    --rk-corr-rust-light: #ffedd5;
    --rk-corr-gray: #64748b;
    --rk-corr-border: #e2e8f0;
    --rk-corr-bg: #ffffff;
}

.rk-corr-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-corr-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(154, 52, 18, 0.15);
    border: 1px solid #fdba74;
    overflow: hidden;
}

/* Nagłówek */
.rk-corr-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #431407 0%, var(--rk-corr-dark) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-corr-rust);
    position: relative;
}

.rk-corr-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 165, 165, 0.2);
}

.rk-corr-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-corr-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Proces Chemiczny (Infografika - Elastyczna) */
.rk-corr-chain {
    background: var(--rk-corr-rust-light);
    padding: 25px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #fdba74;
}

.rk-chain-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 90px;
}

.rk-chain-icon {
    width: 48px; height: 48px;
    background: #ffffff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-corr-rust);
    font-size: 16px;
    font-weight: 900;
    box-shadow: 0 4px 10px rgba(154, 52, 18, 0.15);
    margin-bottom: 10px;
}

.rk-chain-text {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-corr-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-chain-arrow {
    color: var(--rk-corr-rust);
    font-weight: 900;
    font-size: 20px;
    transition: transform 0.3s;
}

/* Interaktywny Symulator Zniszczeń */
.rk-corr-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-corr-int-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-corr-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-damage-selector {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-dmg-btn {
    flex: 1;
    padding: 15px;
    border: 2px solid var(--rk-corr-border);
    border-radius: 16px;
    background: #f8fafc;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-dmg-btn:hover {
    background: #e2e8f0;
}

.rk-dmg-btn.active {
    border-color: var(--rk-corr-rust);
    background: var(--rk-corr-rust-light);
    box-shadow: 0 10px 20px -5px rgba(154, 52, 18, 0.2);
}

.rk-dmg-icon {
    width: 48px; height: 48px;
    background: #ffffff;
    border-radius: 12px;
    display: flex; align-items: center; justify-content: center;
    color: var(--rk-corr-gray);
    transition: all 0.3s;
}

.rk-dmg-btn.active .rk-dmg-icon {
    color: var(--rk-corr-rust);
}

.rk-dmg-name {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-corr-dark);
    text-align: center;
}

/* Karta Ze Szczegółami Awarii */
.rk-dmg-display {
    background: var(--rk-corr-dark);
    border-radius: 20px;
    padding: 35px;
    color: #ffffff;
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 30px;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.rk-dmg-display::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; width: 300px;
    background: radial-gradient(circle at right, rgba(154, 52, 18, 0.3) 0%, transparent 70%);
}

.rk-dmg-info { position: relative; z-index: 2; }
.rk-dmg-cost { 
    position: relative; z-index: 2;
    background: rgba(0,0,0,0.4);
    padding: 25px;
    border-radius: 16px;
    border: 1px solid rgba(253, 186, 116, 0.2);
    text-align: center;
}

.rk-dmg-info h3 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #fdba74;
}

.rk-dmg-info p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
}

.rk-cost-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #94a3b8;
    margin-bottom: 8px;
}

.rk-cost-val {
    font-size: 32px;
    font-weight: 900;
    color: #ef4444;
}

/* Chemia i Teoria */
.rk-corr-theory {
    padding: 40px 50px;
    background: #f8fafc;
    border-top: 1px solid var(--rk-corr-border);
}

.rk-corr-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

.rk-corr-theory strong { color: var(--rk-corr-dark); font-weight: 800; }
.rk-corr-theory a { color: var(--rk-corr-blue); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rk-corr-theory a:hover { color: #0369a1; }

.rk-chem-box {
    background: #ffffff;
    border: 1px solid var(--rk-corr-border);
    border-left: 4px solid var(--rk-corr-blue);
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 20px 0;
    font-family: monospace;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-corr-dark);
}

.rk-chem-row { margin-bottom: 10px; }
.rk-chem-row:last-child { margin-bottom: 0; }
.rk-chem-desc { color: var(--rk-corr-gray); font-size: 13px; font-family: 'Inter', sans-serif; display: block; margin-top: 4px; }

/* Stopka z Autorem (E-E-A-T) */
.rk-author-footer {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-corr-border);
}

.rk-author-footer img {
    width: 56px; 
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-corr-blue);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.rk-author-details strong { 
    color: var(--rk-corr-dark); 
    display: block; 
    font-size: 16px; 
    margin-bottom: 2px;
}
.rk-author-details span { 
    color: var(--rk-corr-gray); 
    font-size: 12px; 
    font-weight: 800; 
    text-transform: uppercase; 
    letter-spacing: 0.5px;
}

@media (max-width: 850px) {
    .rk-dmg-display { grid-template-columns: 1fr; text-align: center; }
}

@media (max-width: 600px) {
    .rk-corr-header, .rk-corr-interactive, .rk-corr-theory { padding: 30px 20px; }
    .rk-corr-header h2 { font-size: 26px; }
    
    /* Zmiana układu łańcucha na pionowy */
    .rk-corr-chain { 
        flex-direction: column; 
        gap: 10px; 
        padding: 30px 20px;
    }
    .rk-chain-step { flex-direction: row; gap: 15px; align-items: center; width: 100%; text-align: left; }
    .rk-chain-icon { margin-bottom: 0; width: 40px; height: 40px; font-size: 14px; flex-shrink: 0; }
    .rk-chain-arrow { transform: rotate(90deg); margin: 5px 0; }

    .rk-damage-selector { flex-direction: column; gap: 10px; }
    .rk-dmg-btn { flex-direction: row; justify-content: flex-start; padding: 15px; }
    .rk-dmg-icon { width: 40px; height: 40px; margin-right: 10px; }
    .rk-dmg-display { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-korozja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak brak bariery tlenowej niszczy kocioł gazowy i pompę ciepła?",
    "description": "Mechanizm powstawania szlamu magnetytowego (Fe3O4) z powodu braku bariery EVOH. Koszty awarii wymienników ciepła, pomp obiegowych PWM i rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-koszty-awarii",
    "name": "Kalkulacja kosztów awarii kotłowni z powodu braku EVOH (2026)",
    "description": "Zestawienie kosztów wymiany uszkodzonych przez szlam magnetytowy komponentów kotłowni: wymienników kotłów gazowych, pomp PWM oraz elementów regulacyjnych rozdzielaczy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "korozja galwaniczna w instalacji",
      "magnetyt w instalacji grzewczej",
      "zacieranie pompy obiegowej",
      "uszkodzenie wymiennika kotła koszty",
      "koszty naprawy ogrzewania podłogowego",
      "stężenie tlenu norma PN-EN 12828"
    ],
    "measurementTechnique": "Szacowanie rynkowych kosztów serwisu i wymiany zablokowanych komponentów w wyniku odkładania się tlenków żelaza (szlamu).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymiennik ciepła (Kocioł): Perforacja szczelin 1.5mm, koszt do 60% wartości kotła (ok. 3000-8000 PLN).",
        "Pompa obiegowa: Zablokowanie wirnika z magnesami trwałymi PWM, koszt (ok. 1000-2500 PLN).",
        "Rozdzielacz: Zablokowanie rotametrów i grzybków termostatycznych, brak regulacji (ok. 800-1500 PLN)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-awarii",
    "name": "Symulator Awarii Kotłowni (Brak EVOH)",
    "description": "Interaktywny panel prezentujący mechanizm niszczenia poszczególnych komponentów układu hydraulicznego (kocioł, pompa, rozdzielacz) z szacunkowymi kosztami napraw.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-corr-container" id="rk-corr-app">
    <div class="rk-corr-header">
        <div class="rk-corr-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Degradacja Systemu
        </div>
        <h2>Jak brak bariery tlenowej niszczy kocioł gazowy i pompę ciepła?</h2>
        <p>
            Brak bariery tlenowej powoduje korozję galwaniczną oraz wżerową elementów metalowych. To nie jest kwestia "czy", tylko "kiedy" instalacja ulegnie awarii, generując koszty napraw awaryjnych rzędu od 2 500 PLN do 8 000 PLN.
        </p>
    </div>

    <div class="rk-corr-chain">
        <div class="rk-chain-step">
            <div class="rk-chain-icon">1</div>
            <div class="rk-chain-text">Brak EVOH</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">O₂</div>
            <div class="rk-chain-text">Przenikanie</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">Fe</div>
            <div class="rk-chain-text">Utlenianie</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><circle cx="12" cy="12" r="10"></circle></svg>
            </div>
            <div class="rk-chain-text">Szlam</div>
        </div>
        <div class="rk-chain-arrow">➔</div>
        <div class="rk-chain-step">
            <div class="rk-chain-icon" style="color: #ef4444;">!</div>
            <div class="rk-chain-text">Awaria</div>
        </div>
    </div>

    <div class="rk-corr-interactive">
        <div class="rk-corr-int-title">Wybierz urządzenie, aby sprawdzić skutki braku EVOH:</div>
        
        <div class="rk-damage-selector" id="dmgSelector">
            <div class="rk-dmg-btn active" data-target="wymiennik">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line></svg>
                </div>
                <div class="rk-dmg-name">Kocioł / Wymiennik</div>
            </div>
            <div class="rk-dmg-btn" data-target="pompa">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg>
                </div>
                <div class="rk-dmg-name">Pompa Obiegowa</div>
            </div>
            <div class="rk-dmg-btn" data-target="rozdzielacz">
                <div class="rk-dmg-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="9" x2="20" y2="9"></line><line x1="4" y1="15" x2="20" y2="15"></line><line x1="10" y1="3" x2="8" y2="21"></line><line x1="16" y1="3" x2="14" y2="21"></line></svg>
                </div>
                <div class="rk-dmg-name">Rozdzielacz</div>
            </div>
        </div>

        <div class="rk-dmg-display" id="dmgDisplay">
            </div>
    </div>

    <div class="rk-corr-theory">
        <p>
            Norma <strong>PN-EN 12828</strong> jednoznacznie definiuje maksymalne stężenie tlenu w wodzie grzewczej dla instalacji zamkniętych na poziomie <strong>0,1 mg/l</strong>. Przekroczenie tej wartości uruchamia destrukcyjny mechanizm powstawania czarnego szlamu.
        </p>

        <div class="rk-chem-box">
            <div class="rk-chem-row">
                1. Utlenianie: Fe + 2H₂O + O₂ ➔ Fe(OH)₂
                <span class="rk-chem-desc">Tlen wchodzi w reakcję z żelazem tworząc wodorotlenek żelaza.</span>
            </div>
            <div class="rk-chem-row">
                2. Formowanie szlamu: 3Fe(OH)₂ ➔ Fe₃O₄ + 2H₂O + H₂
                <span class="rk-chem-desc">Powstaje magnetyt (Fe₃O₄), czyli gęsty, czarny i ciężki osad.</span>
            </div>
        </div>

        <p>
            Konsekwencje braku bariery to nie tylko koszty, to również gigantyczny spadek komfortu. Jeśli ominiesz stosowanie <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów montażowych</a> i wybierzesz szczelną rurę, uchronisz swój <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> i układ hydrauliczny przed całkowitą degradacją w pierwszych latach użytkowania.
        </p>

        <div class="rk-author-footer">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" loading="lazy">
            <div class="rk-author-details">
                <strong>Robert Kucharski</strong>
                <span>Specjalista HVAC / Projekt-Ogrzewania.pl</span>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Baza danych awarii
    const dmgDB = {
        wymiennik: {
            title: "Perforacja wymiennika ciepła",
            desc: "W kotłach kondensacyjnych szczeliny w wymiennikach ze stali nierdzewnej (lub Al-Si) mają często szerokość poniżej 1,5 mm. Szlam magnetytowy zatyka je w strefie najwyższych temperatur, powodując miejscowe przegrzanie materiału, naprężenia i pęknięcia.",
            cost: "~ 60% kotła",
            costLabel: "Szacowany koszt naprawy"
        },
        pompa: {
            title: "Zacieranie pompy (klasa A)",
            desc: "Nowoczesne pompy obiegowe (PWM) posiadają wirniki z magnesami trwałymi. Fizyka jest bezlitosna: magnes przyciąga drobiny magnetytu (rdzy) krążące w wodzie, co błyskawicznie prowadzi do zablokowania wirnika i spalenia elektroniki.",
            cost: "1500 - 2500 zł",
            costLabel: "Koszt nowej pompy + wymiana"
        },
        rozdzielacz: {
            title: "Blokada zaworów i rotametrów",
            desc: "Lepki szlam odkłada się na grzybkach zaworów termostatycznych oraz zalepia od wewnątrz szklanki przepływomierzy (rotametrów). Instalacja traci przepływy, a jakakolwiek regulacja hydrauliczna pętli staje się niemożliwa.",
            cost: "800 - 1500 zł",
            costLabel: "Płukanie + nowe rotametry"
        }
    };

    const buttons = document.querySelectorAll('.rk-dmg-btn');
    const display = document.getElementById('dmgDisplay');

    function renderDisplay(targetKey) {
        let data = dmgDB[targetKey];
        
        let html = `
            <div class="rk-dmg-info">
                <h3>${data.title}</h3>
                <p>${data.desc}</p>
            </div>
            <div class="rk-dmg-cost">
                <div class="rk-cost-label">${data.costLabel}</div>
                <div class="rk-cost-val">${data.cost}</div>
            </div>
        `;
        
        // Płynne wejście
        display.style.opacity = '0';
        
        setTimeout(function() {
            display.innerHTML = html;
            display.style.opacity = '1';
        }, 150);
    }

    // Inicjalizacja
    renderDisplay('wymiennik');
    display.style.transition = 'opacity 0.3s ease';

    // Obsługa kliknięć
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie active
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            this.classList.add('active');
            let target = this.getAttribute('data-target');
            
            renderDisplay(target);
        });
    }
});
</script>



<ul class="wp-block-list"></ul>



<style>
:root {
    --rk-oxy-dark: #0f172a;
    --rk-oxy-blue: #0284c7;
    --rk-oxy-light: #f0f9ff;
    --rk-oxy-green: #10b981;
    --rk-oxy-green-light: #dcfce7;
    --rk-oxy-red: #ef4444;
    --rk-oxy-red-light: #fef2f2;
    --rk-oxy-rust: #9a3412; /* Kolor rdzy */
    --rk-oxy-gray: #64748b;
    --rk-oxy-border: #e2e8f0;
    --rk-oxy-bg: #ffffff;
}

.rk-oxy-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-oxy-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-oxy-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-oxy-header {
    padding: 45px 50px 35px;
    background: #ffffff;
    color: var(--rk-oxy-dark);
    border-bottom: 1px solid var(--rk-oxy-border);
    position: relative;
}

.rk-oxy-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-oxy-light);
    color: var(--rk-oxy-blue);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #bae6fd;
}

.rk-oxy-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-oxy-header p {
    font-size: 16px;
    color: #475569;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Symulator Bilansu Masowego */
.rk-oxy-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-oxy-border);
}

.rk-oxy-panel {
    background: #ffffff;
    border: 1px solid var(--rk-oxy-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
}

.rk-oxy-controls {
    margin-bottom: 35px;
    padding-bottom: 30px;
    border-bottom: 1px dashed var(--rk-oxy-border);
}

.rk-oxy-label-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 15px;
}

.rk-oxy-label {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-oxy-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-oxy-val-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-oxy-blue);
}

.rk-oxy-slider {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    outline: none;
    -webkit-appearance: none;
}

.rk-oxy-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    background: var(--rk-oxy-blue);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-oxy-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Porównanie Wyników */
.rk-oxy-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-oxy-card {
    border-radius: 16px;
    padding: 25px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s;
}

/* Karta: Brak EVOH (ZAGROŻENIE) */
.rk-oxy-card.danger {
    background: var(--rk-oxy-red-light);
    border: 2px solid #fca5a5;
}

.rk-oxy-card.danger .rk-oxy-card-title {
    color: var(--rk-oxy-red);
}

.rk-oxy-card.danger .rk-oxy-big-val {
    color: var(--rk-oxy-rust);
}

/* Karta: Z EVOH (BEZPIECZEŃSTWO) */
.rk-oxy-card.safe {
    background: var(--rk-oxy-green-light);
    border: 2px solid #6ee7b7;
}

.rk-oxy-card.safe .rk-oxy-card-title {
    color: #047857;
}

.rk-oxy-card.safe .rk-oxy-big-val {
    color: var(--rk-oxy-green);
}

.rk-oxy-card-title {
    font-size: 18px;
    font-weight: 900;
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-oxy-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(0,0,0,0.05);
}

.rk-oxy-stat:last-child {
    border-bottom: none;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px solid rgba(0,0,0,0.1);
}

.rk-oxy-stat-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-oxy-dark);
}

.rk-oxy-stat-val {
    font-size: 16px;
    font-weight: 800;
}

.rk-oxy-big-val {
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

/* SVG W Karcie */
.rk-oxy-svg-bg {
    position: absolute;
    right: -20px;
    bottom: -20px;
    width: 120px;
    height: 120px;
    opacity: 0.1;
    pointer-events: none;
}

/* Teoria i Wnioski */
.rk-oxy-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-oxy-theory h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-oxy-dark);
    margin: 0 0 15px 0;
}

.rk-oxy-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-oxy-theory strong {
    color: var(--rk-oxy-dark);
    font-weight: 800;
}

.rk-oxy-theory a {
    color: var(--rk-oxy-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-oxy-theory a:hover {
    color: #0369a1;
}

.rk-oxy-highlight-box {
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    padding: 20px;
    border-radius: 0 12px 12px 0;
    margin: 25px 0;
}

@media (max-width: 850px) {
    .rk-oxy-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-oxy-header, .rk-oxy-interactive, .rk-oxy-theory { padding: 30px 20px; }
    .rk-oxy-header h2 { font-size: 26px; }
    .rk-oxy-panel { padding: 25px 20px; }
    .rk-oxy-label-row { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-dyfuzja-tlenu",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Ile tlenu przenika do instalacji bez zabezpieczenia EVOH?",
    "description": "Bilans masowy dyfuzji tlenu w instalacjach podłogowych. Porównanie rur z barierą antydyfuzyjną i bez bariery w odniesieniu do normy DIN 4726 i powstawania szlamu (magnetytu).",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-bilans-dyfuzji",
    "name": "Bilans dyfuzji tlenu w instalacjach podłogowych (EVOH vs Brak EVOH)",
    "description": "Zestawienie ilości przenikającego tlenu (mg/dobę) przez ścianki rur PE-RT/PEX w zależności od obecności powłoki EVOH, z kalkulacją wagi wytrącającej się rdzy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "dyfuzja tlenu w podłogówce",
      "norma DIN 4726 przenikalność tlenu",
      "jak powstaje szlam w instalacji",
      "rura bez bariery antydyfuzyjnej skutki",
      "inhibitory korozji do ogrzewania podłogowego"
    ],
    "measurementTechnique": "Kalkulacja przenikalności na podstawie wytycznych normy DIN 4726 i PN-EN ISO 21003, przy temperaturze roboczej zładu 35/30°C i założeniu 1.8 mg O2 / m / dobę.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wariant bez EVOH: przenikalność ok. 1.8 mg O2 / metr / dobę.",
        "Wariant z EVOH: przenikalność poniżej 0.015 mg O2 / metr / dobę.",
        "Reakcja chemiczna: ok. 657g tlenu gazowego utlenia i zamienia w szlam ok. 1.5 kg czystego żelaza."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-korozji",
    "name": "Symulator Korozji i Dyfuzji Tlenu w Ogrzewaniu Podłogowym",
    "description": "Interaktywny kalkulator generowania szlamu magnetytowego (rdzy). Symuluje procesy korozyjne w czasie rzeczywistym w zależności od metrażu budynku dla rur 16x2.0.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-oxy-container" id="rk-oxy-app">
    <div class="rk-oxy-header">
        <div class="rk-oxy-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
            Fizyka Instalacji
        </div>
        <h2>Ile tlenu przenika do instalacji bez zabezpieczenia EVOH?</h2>
        <p>
            Rura z tworzywa sztucznego pozbawiona powłoki EVOH przypomina gąbkę dla gazów. Przeanalizujmy precyzyjny bilans masowy dla standardowej rury polietylenowej 16x2.0 mm pracującej przy zasilaniu <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">z pompy ciepła</a> (35/30°C). Wybierz metraż swojego domu, by zobaczyć skalę problemu.
        </p>
    </div>

    <div class="rk-oxy-interactive">
        <div class="rk-oxy-panel">
            
            <div class="rk-oxy-controls">
                <div class="rk-oxy-label-row">
                    <span class="rk-oxy-label">Powierzchnia Twojego domu</span>
                    <span class="rk-oxy-val-display"><span id="rkHouseArea">150</span> m²</span>
                </div>
                <input type="range" id="rkAreaRange" class="rk-oxy-slider" min="50" max="350" step="10" value="150" aria-label="Wybierz powierzchnię">
            </div>

            <div class="rk-oxy-grid">
                
                <div class="rk-oxy-card danger">
                    <svg class="rk-oxy-svg-bg" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="4">
                        <path d="M50 10 L10 90 L90 90 Z" stroke-linejoin="round"/>
                        <line x1="50" y1="40" x2="50" y2="60" stroke-linecap="round"/>
                        <circle cx="50" cy="75" r="4" fill="currentColor" stroke="none"/>
                    </svg>
                    <h3 class="rk-oxy-card-title">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                        Rura BEZ bariery
                    </h3>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Dobowe przenikanie O₂:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-red);"><span id="valO2DayDanger">1800</span> mg</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Roczny ładunek tlenu:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-red);"><span id="valO2YearDanger">657</span> g</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Wygenerowany szlam (Rdza):</span>
                        <span class="rk-oxy-big-val"><span id="valRust">1.50</span> kg</span>
                    </div>
                </div>

                <div class="rk-oxy-card safe">
                    <svg class="rk-oxy-svg-bg" viewBox="0 0 100 100" fill="none" stroke="currentColor" stroke-width="4">
                        <path d="M50 10 L10 25 L10 50 C10 75 40 90 50 95 C60 90 90 75 90 50 L90 25 Z" stroke-linejoin="round"/>
                        <polyline points="35 50 45 60 70 35" stroke-linecap="round" stroke-linejoin="round" />
                    </svg>
                    <h3 class="rk-oxy-card-title">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                        Rura z EVOH (Norma DIN)
                    </h3>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Dobowe przenikanie O₂:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-green);"><span id="valO2DaySafe">15</span> mg</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Roczny ładunek tlenu:</span>
                        <span class="rk-oxy-stat-val" style="color: var(--rk-oxy-green);"><span id="valO2YearSafe">5.5</span> g</span>
                    </div>
                    <div class="rk-oxy-stat">
                        <span class="rk-oxy-stat-label">Wygenerowany szlam:</span>
                        <span class="rk-oxy-big-val">~0.00 kg</span>
                    </div>
                </div>

            </div>
        </div>
    </div>

    <div class="rk-oxy-theory">
        <h3>Skutki chemiczne w Twojej kotłowni</h3>
        <p>
            Rura pozbawiona powłoki EVOH przepuszcza średnio od 1,5 do 3,6 mg tlenu na metr bieżący rury w ciągu doby. Zastosowanie rury z barierą antydyfuzyjną spełniającej normę <strong>DIN 4726</strong> redukuje tę wartość do poziomu poniżej 0,02 mg/(m·dobę).
        </p>
        
        

        <div class="rk-oxy-highlight-box">
            <strong>Co oznaczają wartości ze wskaźnika po lewej stronie?</strong><br>
            Ponad pół kilograma czystego gazowego tlenu (przy domu 150m²) wchodzi w gwałtowną reakcję chemiczną ze stalą i mosiądzem w zamkniętym układzie hydraulicznym. Taka ilość utlenia żelazo, tworząc twardy magnetyt. Wymienniki ciepła, które natrafią na taki roztwór, po prostu <a href="https://projekt-ogrzewania.pl/jak-czesto-trzeba-serwisowac-ogrzewanie-podlogowe/">zamulają instalację</a> i zacierają pompy obiegowe w ciągu zaledwie kilku lat eksploatacji.
        </div>

        <h3>Dlaczego powłoka EVOH rozwiązuje problem?</h3>
        <p>
            Ilość rzędu 5,47 grama tlenu na rok (wariant z zabezpieczeniem EVOH) jest zjawiskiem marginalnym. Jest ona w pełni wiązana przez standardowe <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">inhibitory korozji do ogrzewania podłogowego</a> dawkowane do wody instalacyjnej (np. w stężeniu zaledwie 1% objętości całego zładu) i nie stanowi absolutnie żadnego zagrożenia dla integralności strukturalnej najdroższych komponentów kotłowni.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkAreaRange');
    const areaDisplay = document.getElementById('rkHouseArea');
    
    // Pola Danger (Brak EVOH)
    const o2DayDanger = document.getElementById('valO2DayDanger');
    const o2YearDanger = document.getElementById('valO2YearDanger');
    const valRust = document.getElementById('valRust');

    // Pola Safe (EVOH)
    const o2DaySafe = document.getElementById('valO2DaySafe');
    const o2YearSafe = document.getElementById('valO2YearSafe');

    // Stałe przeliczeniowe
    // Srednie zużycie rury mb na m2 podłogówki = 6.67
    const ratioPipeLength = 6.67;
    
    // Przenikalność (mg / metr / dobę) wariantu A i B (temperatura ok 35C)
    const diffDangerMg = 1.8;
    const diffSafeMg = 0.015;

    // Współczynnik zamiany tlenu na szlam: 657g O2 -> 1.5kg rdzy (szlamu)
    // 1.5 / 657 = 0.002283 kg rdzy na każdy 1 gram tlenu rocznie
    const rustRatio = 0.002283;

    function calculateDiffusion() {
        let area = parseFloat(slider.value);
        areaDisplay.textContent = area;

        // Długość rur w metrach
        let length = area * ratioPipeLength;

        // WARIANT: BRAK EVOH
        let mgDayDanger = length * diffDangerMg;
        let gramYearDanger = (mgDayDanger * 365) / 1000;
        let rustKg = gramYearDanger * rustRatio;

        o2DayDanger.textContent = Math.round(mgDayDanger);
        o2YearDanger.textContent = Math.round(gramYearDanger);
        valRust.textContent = rustKg.toFixed(2);

        // WARIANT: Z EVOH
        let mgDaySafe = length * diffSafeMg;
        let gramYearSafe = (mgDaySafe * 365) / 1000;

        o2DaySafe.textContent = Math.round(mgDaySafe);
        o2YearSafe.textContent = gramYearSafe.toFixed(2);
    }

    // Unikamy zapisu if(a && b), choć w prostych kalkulacjach bez obiektów to bezpieczne.
    // Inicjalizacja:
    calculateDiffusion();

    // Nasłuch:
    slider.addEventListener('input', calculateDiffusion);
});
</script>



<style>
:root {
    --rk-comp-dark: #0f172a;
    --rk-comp-blue: #0284c7;
    --rk-comp-light: #f0f9ff;
    --rk-comp-accent: #0ea5e9;
    --rk-comp-green: #10b981;
    --rk-comp-orange: #f59e0b;
    --rk-comp-red: #ef4444;
    --rk-comp-gray: #64748b;
    --rk-comp-border: #e2e8f0;
    --rk-comp-bg: #ffffff;
}

.rk-comp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-comp-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-comp-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-comp-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    color: var(--rk-comp-dark);
    border-bottom: 1px solid var(--rk-comp-border);
    position: relative;
}

.rk-comp-header::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 4px;
    background: var(--rk-comp-blue);
}

.rk-comp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-comp-light);
    color: var(--rk-comp-blue);
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid #bae6fd;
}

.rk-comp-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-comp-header p {
    font-size: 16px;
    color: #475569;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Interaktywny Selektor Rur */
.rk-comp-interactive {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-pipe-selector {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 35px;
}

.rk-pipe-btn {
    background: #f1f5f9;
    border: 2px solid transparent;
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.rk-pipe-btn:hover {
    background: #e2e8f0;
    transform: translateY(-2px);
}

.rk-pipe-btn.active {
    background: var(--rk-comp-light);
    border-color: var(--rk-comp-blue);
    box-shadow: 0 10px 20px -10px rgba(2, 132, 199, 0.2);
}

.rk-pipe-icon {
    width: 40px;
    height: 40px;
    margin: 0 auto 10px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: var(--rk-comp-gray);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    transition: all 0.3s;
}

.rk-pipe-btn.active .rk-pipe-icon {
    color: var(--rk-comp-blue);
}

.rk-pipe-name {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-comp-dark);
}

/* Kafelki z Danymi (Zamiast Tabeli) */
.rk-pipe-data-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    animation: rkFadeIn 0.4s ease-out;
}

@keyframes rkFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-data-card {
    background: #ffffff;
    border: 1px solid var(--rk-comp-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.rk-data-card::after {
    content: '';
    position: absolute;
    bottom: 0; right: 0;
    width: 60px; height: 60px;
    background: var(--rk-comp-light);
    border-radius: 100% 0 0 0;
    z-index: 0;
    opacity: 0.5;
}

.rk-data-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rk-comp-gray);
    margin-bottom: 10px;
    position: relative;
    z-index: 1;
}

.rk-data-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-comp-dark);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.rk-data-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-comp-blue);
}

/* Znaczniki Kolorystyczne dla kart */
.status-high { color: var(--rk-comp-green); }
.status-mid { color: var(--rk-comp-orange); }
.status-low { color: var(--rk-comp-red); }

/* Pro Tip Cytat */
.rk-pro-tip-box {
    margin: 40px 50px;
    padding: 35px 40px;
    background: var(--rk-comp-dark);
    border-radius: 20px;
    color: #ffffff;
    position: relative;
    display: flex;
    gap: 25px;
    align-items: flex-start;
    box-shadow: 0 15px 30px -10px rgba(15, 23, 42, 0.3);
}

.rk-pro-icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-comp-accent);
}

.rk-pro-content h4 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 900;
    color: #7dd3fc;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-pro-content p {
    margin: 0 0 20px 0;
    font-size: 16px;
    line-height: 1.7;
    color: #e2e8f0;
}

.rk-pro-author {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-author-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #cbd5e1;
    overflow: hidden;
    border: 2px solid var(--rk-comp-accent);
}

.rk-pro-author-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rk-pro-author-name {
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
}

.rk-pro-author-role {
    font-size: 12px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
}

@media (max-width: 850px) {
    .rk-pipe-selector { grid-template-columns: repeat(2, 1fr); }
    .rk-pipe-data-grid { grid-template-columns: repeat(2, 1fr); }
    .rk-pro-tip-box { flex-direction: column; padding: 30px; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-comp-header, .rk-comp-interactive { padding: 30px 20px; }
    .rk-pipe-selector { grid-template-columns: 1fr; gap: 10px; }
    .rk-pipe-btn { display: flex; align-items: center; justify-content: flex-start; gap: 15px; padding: 15px; }
    .rk-pipe-icon { margin: 0; }
    .rk-pipe-data-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-pro-tip-box { margin: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-porownanie-rur",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Porównanie rur grzewczych: PEX-EVOH vs PE-RT-EVOH vs PB",
    "description": "Szczegółowe porównanie parametrów pracy ciągłej rur grzewczych. Analiza współczynników przewodzenia ciepła, promieni gięcia oraz odporności na błędy montażowe.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-parametry-rur",
    "name": "Zestawienie parametrów technicznych rur do ogrzewania podłogowego (PEX, PE-RT, PB)",
    "description": "Baza danych porównująca rury sieciowane i niesieciowane pod kątem klas roboczych, promieni gięcia, norm (PN-EN ISO 15875 / PN-EN ISO 22391) oraz termicznej pamięci kształtu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "porównanie rur grzewczych",
      "rura pex czy pert opinie",
      "promień gięcia rury pex 16",
      "wytrzymałość rur do ogrzewania podłogowego",
      "termiczna pamięć kształtu rury pex",
      "rura polibutylenowa właściwości"
    ],
    "measurementTechnique": "Weryfikacja maksymalnych parametrów pracy ciągłej (Tmax, ciśnienie) z normami PN-EN ISO 15875 i 22391 oraz pomiar współczynnika lambda W/(m·K).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX-a EVOH: Lambda 0,38-0,41, Temp 90°C, Gięcie 5xD, Odporność wysoka (pamięć kształtu).",
        "Rura PE-RT EVOH: Lambda 0,40-0,42, Temp 70°C, Gięcie 5xD, Odporność niska (ryzyko trwałego załamania).",
        "Praktyka HVAC: Uszkodzony PEX-a można podgrzać opalarką do 130°C w celu regeneracji profilu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-selektor-rur",
    "name": "Interaktywny Selektor Rury Grzewczej",
    "description": "Narzędzie pozwalające na dynamiczne analizowanie kart charakterystyki rur grzewczych, podmieniające parametry robocze (ciśnienie, temperatura, lambda).",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-comp-container" id="rk-comp-app">
    <div class="rk-comp-header">
        <div class="rk-comp-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
            Analiza Materiałowa
        </div>
        <h2>Porównanie rur grzewczych: PEX-EVOH vs PE-RT-EVOH vs PB</h2>
        <p>
            Wybór konkretnego typu rury determinuje maksymalne parametry pracy ciągłej (ciśnienie do 6 bar lub 10 bar) oraz bezpieczny promień gięcia (od 5xD do 8xD). Wszystkie parametry muszą być weryfikowane pod kątem zgodności z normą <a href="https://projekt-ogrzewania.pl/norma-en-iso-15875/">PN-EN ISO 15875</a> (dla PEX) lub PN-EN ISO 22391 (dla PE-RT). Kliknij wybrany przewód, aby poznać jego parametry.
        </p>
    </div>

    <div class="rk-comp-interactive">
        
        <div class="rk-pipe-selector" id="pipeSelector">
            <div class="rk-pipe-btn active" data-pipe="pexa">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v8"></path><path d="M8 12h8"></path></svg>
                </div>
                <div class="rk-pipe-name">PEX-a EVOH</div>
            </div>
            
            <div class="rk-pipe-btn" data-pipe="pexb">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                </div>
                <div class="rk-pipe-name">PEX-b EVOH</div>
            </div>

            <div class="rk-pipe-btn" data-pipe="pert">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                </div>
                <div class="rk-pipe-name">PE-RT Typ II</div>
            </div>

            <div class="rk-pipe-btn" data-pipe="pb">
                <div class="rk-pipe-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z"></path><line x1="16" y1="8" x2="2" y2="22"></line><line x1="17.5" y1="15" x2="9" y2="6.5"></line></svg>
                </div>
                <div class="rk-pipe-name">Polibutylen PB</div>
            </div>
        </div>

        <div class="rk-pipe-data-grid" id="pipeDataGrid">
            </div>

    </div>

    <div class="rk-pro-tip-box">
        <div class="rk-pro-icon">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
        </div>
        <div class="rk-pro-content">
            <h4>Ważna uwaga z praktyki instalacyjnej</h4>
            <p>
                Rura PEX-a EVOH posiada tzw. termiczną pamięć kształtu. Jeśli podczas <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-w-ukladzie-meandrowym/">profilowania zakrętu meandrowego</a> instalator załamie rurę, uszkodzone miejsce wystarczy podgrzać opalarką do temperatury około 130°C (aż tworzywo stanie się przezroczyste). Rura powróci do pierwotnego przekroju bez utraty wytrzymałości ciśnieniowej. W przypadku rury PE-RT takie załamanie kwalifikuje odcinek do wycięcia i wyrzucenia – nie wolno go regenerować ani zalewać betonem.
            </p>
            <div class="rk-pro-author">
                <div class="rk-pro-author-avatar">
                    <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" width="40" height="40" loading="lazy">
                </div>
                <div>
                    <div class="rk-pro-author-name">Robert Kucharski</div>
                    <div class="rk-pro-author-role">Specjalista HVAC / Projekt-Ogrzewania.pl</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Dane dla poszczególnych rur
    const pipeDB = {
        pexa: {
            lambda: { val: "0,38 - 0,41", unit: "W/(m·K)" },
            temp: { val: "90°C", unit: "Klasa 5" },
            radius: { val: "5xD", unit: "Pamięć kształtu" },
            crosslink: { val: "&ge; 70%", unit: "Nadtlenkowe" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Wysoka", unit: "Możliwość regeneracji", status: "status-high" }
        },
        pexb: {
            lambda: { val: "0,35 - 0,39", unit: "W/(m·K)" },
            temp: { val: "90°C", unit: "Klasa 5" },
            radius: { val: "6xD", unit: "Sztywniejsza" },
            crosslink: { val: "&ge; 65%", unit: "Silanowe" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Średnia", unit: "Wymaga ostrożności", status: "status-mid" }
        },
        pert: {
            lambda: { val: "0,40 - 0,42", unit: "W/(m·K)" },
            temp: { val: "70°C", unit: "Klasa 4" },
            radius: { val: "5xD", unit: "Elastyczna" },
            crosslink: { val: "0%", unit: "Brak sieciowania" },
            pressure: { val: "6 bar", unit: "przy 50°C" },
            errorRes: { val: "Niska", unit: "Ryzyko załamania", status: "status-low" }
        },
        pb: {
            lambda: { val: "0,22", unit: "W/(m·K)" },
            temp: { val: "70°C", unit: "Klasa 4" },
            radius: { val: "4xD", unit: "B. elastyczna" },
            crosslink: { val: "0%", unit: "Liniowa struktura" },
            pressure: { val: "10 bar", unit: "przy 50°C" },
            errorRes: { val: "Wysoka", unit: "Bezpieczna instalacja", status: "status-high" }
        }
    };

    const buttons = document.querySelectorAll('.rk-pipe-btn');
    const dataGrid = document.getElementById('pipeDataGrid');

    function renderCards(pipeKey) {
        let data = pipeDB[pipeKey];
        
        let html = `
            <div class="rk-data-card">
                <div class="rk-data-label">Przewodzenie ciepła λ</div>
                <div class="rk-data-value">${data.lambda.val} <span class="rk-data-unit">${data.lambda.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Max. Temp. Ciągła</div>
                <div class="rk-data-value">${data.temp.val} <span class="rk-data-unit">${data.temp.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Wytrzymałość (Ciśnienie)</div>
                <div class="rk-data-value">${data.pressure.val} <span class="rk-data-unit">${data.pressure.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Promień Gięcia (Rmin)</div>
                <div class="rk-data-value">${data.radius.val} <span class="rk-data-unit">${data.radius.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Stopień Sieciowania</div>
                <div class="rk-data-value">${data.crosslink.val} <span class="rk-data-unit">${data.crosslink.unit}</span></div>
            </div>
            <div class="rk-data-card">
                <div class="rk-data-label">Odporność na Błędy</div>
                <div class="rk-data-value ${data.errorRes.status}">${data.errorRes.val} <span class="rk-data-unit" style="color: inherit;">${data.errorRes.unit}</span></div>
            </div>
        `;

        // Restart animacji
        dataGrid.style.animation = 'none';
        dataGrid.offsetHeight; // trigger reflow (bezpieczny zapis w JS)
        dataGrid.style.animation = null;
        
        dataGrid.innerHTML = html;
    }

    // Inicjalizacja pierwszej rury
    renderCards('pexa');

    // Obsługa kliknięć (Zastępuje pętle i złożone && bezpieczniejszymi konstrukcjami)
    for (let i = 0; i < buttons.length; i++) {
        buttons[i].addEventListener('click', function() {
            
            // Usunięcie active ze wszystkich
            for (let j = 0; j < buttons.length; j++) {
                buttons[j].classList.remove('active');
            }
            
            // Dodanie active
            this.classList.add('active');
            
            let selectedPipe = this.getAttribute('data-pipe');
            renderCards(selectedPipe);
        });
    }
});
</script>



<style>
:root {
    --rk-hyd-dark: #0f172a;
    --rk-hyd-blue: #0284c7;
    --rk-hyd-light: #f0f9ff;
    --rk-hyd-accent: #0ea5e9;
    --rk-hyd-green: #10b981;
    --rk-hyd-red: #ef4444;
    --rk-hyd-gray: #64748b;
    --rk-hyd-border: #e2e8f0;
    --rk-hyd-bg: #ffffff;
}

.rk-hyd-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-hyd-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-hyd-blue);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-hyd-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-hyd-accent);
}

.rk-hyd-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #38bdf8;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.rk-hyd-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-hyd-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Kalkulator Interaktywny */
.rk-hyd-app {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-hyd-border);
}

.rk-hyd-dashboard {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid var(--rk-hyd-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

/* Kontrolki (Suwaki i Switche) */
.rk-hyd-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-hyd-control-group {
    background: var(--rk-hyd-light);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid #bae6fd;
}

.rk-hyd-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.rk-hyd-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-hyd-dark);
}

.rk-hyd-val-display {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-hyd-blue);
}

.rk-hyd-slider {
    width: 100%;
    height: 8px;
    background: #cbd5e1;
    border-radius: 8px;
    outline: none;
    -webkit-appearance: none;
}

.rk-hyd-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 26px;
    height: 26px;
    background: var(--rk-hyd-blue);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-hyd-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Przełącznik Źródła Ciepła */
.rk-hyd-switch-wrapper {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 4px;
    position: relative;
}

.rk-hyd-switch-btn {
    flex: 1;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-hyd-gray);
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s;
    z-index: 2;
}

.rk-hyd-switch-btn.active {
    color: #ffffff;
}

.rk-hyd-switch-bg {
    position: absolute;
    top: 4px;
    bottom: 4px;
    width: calc(50% - 4px);
    background: var(--rk-hyd-blue);
    border-radius: 8px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(2, 132, 199, 0.4);
    z-index: 1;
}

.switch-pos-right .rk-hyd-switch-bg {
    transform: translateX(100%);
}

/* Wyniki (Odczyty) */
.rk-hyd-outputs {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-hyd-out-card {
    background: #ffffff;
    border: 2px solid var(--rk-hyd-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.3s;
}

.rk-hyd-out-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: var(--rk-hyd-light);
    color: var(--rk-hyd-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-hyd-out-data {
    flex-grow: 1;
}

.rk-hyd-out-name {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-hyd-gray);
    text-transform: uppercase;
    margin-bottom: 4px;
}

.rk-hyd-out-value {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-hyd-dark);
}

.rk-hyd-out-unit {
    font-size: 16px;
    color: var(--rk-hyd-gray);
    font-weight: 700;
}

/* Dynamiczne kolory wyników */
.status-ok { border-color: var(--rk-hyd-green); }
.status-ok .rk-hyd-out-icon { background: #dcfce7; color: var(--rk-hyd-green); }
.status-ok .rk-hyd-out-value { color: var(--rk-hyd-green); }

.status-warn { border-color: var(--rk-hyd-red); }
.status-warn .rk-hyd-out-icon { background: #fef2f2; color: var(--rk-hyd-red); }
.status-warn .rk-hyd-out-value { color: var(--rk-hyd-red); }

/* Treść Teoretyczna */
.rk-hyd-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-hyd-step {
    margin-bottom: 35px;
}

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

.rk-hyd-step-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.rk-hyd-step-num {
    width: 36px;
    height: 36px;
    background: var(--rk-hyd-blue);
    color: #ffffff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
}

.rk-hyd-step h3 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-hyd-dark);
    margin: 0;
}

.rk-hyd-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
    padding-left: 51px;
}

.rk-hyd-formula-box {
    background: #f1f5f9;
    border-left: 4px solid var(--rk-hyd-blue);
    padding: 15px 20px;
    margin: 15px 0 15px 51px;
    border-radius: 0 12px 12px 0;
    font-family: monospace;
    font-size: 16px;
    color: var(--rk-hyd-dark);
    font-weight: 700;
    overflow-x: auto;
}

.rk-hyd-theory ul {
    margin: 0 0 15px 51px;
    padding-left: 20px;
    color: #475569;
    line-height: 1.7;
}

.rk-hyd-theory li {
    margin-bottom: 5px;
}

.rk-hyd-theory strong {
    color: var(--rk-hyd-dark);
    font-weight: 800;
}

.rk-hyd-theory a {
    color: var(--rk-hyd-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-hyd-theory a:hover {
    color: #0369a1;
}

@media (max-width: 850px) {
    .rk-hyd-dashboard { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 600px) {
    .rk-hyd-header, .rk-hyd-app, .rk-hyd-theory { padding: 30px 20px; }
    .rk-hyd-header h2 { font-size: 26px; }
    .rk-hyd-theory p, .rk-hyd-formula-box, .rk-hyd-theory ul { padding-left: 0; margin-left: 0; }
    .rk-hyd-step-header { flex-direction: column; align-items: flex-start; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-hydraulika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Algorytm obliczania hydrauliki i strat ciśnienia dla pętli z rurą EVOH",
    "description": "Profesjonalne wzory inżynierskie i narzędzie obliczeniowe dla ogrzewania podłogowego. Oblicz strumień masy, prędkość przepływu i liniową stratę ciśnienia.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-tablice-hydrauliczne",
    "name": "Tablice hydrauliczne i opory ciśnienia dla rur PEX/EVOH 16x2.0",
    "description": "Zestawienie zależności między przepływem (l/min), prędkością (m/s) a oporem liniowym (Pa/m) uwzględniające opory miejscowe i gęstość wody.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm obliczania hydrauliki podłogówki",
      "straty ciśnienia w rurach pex",
      "jak obliczyć przepływ wody w podłogówce",
      "prędkość przepływu w rurach ogrzewania",
      "opory miejscowe w instalacji podłogowej",
      "równoważenie rozdzielacza rotametrami",
      "wzór na strumień masy wody",
      "kalkulator przepływu ogrzewania podłogowego"
    ],
    "measurementTechnique": "Wykorzystanie równania ciągłości strugi oraz uproszczonego wzoru Darcy-Weisbacha dla chropowatości bezwzględnej 0,007 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Optymalna prędkość przepływu: 0,25 - 0,60 m/s dla skutecznego odpowietrzania i braku szumów.",
        "Maksymalny zalecany opór pętli: poniżej 20 kPa.",
        "Naddatek na opory miejscowe (np. łuki, rozdzielacz): +20% do oporu liniowego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-hydrauliczny",
    "name": "Kalkulator Hydrauliki i Strat Ciśnienia Pętli Grzewczej",
    "description": "Zaawansowane narzędzie inżynierskie online symulujące przepływ, prędkość wody i opory hydrauliczne na podstawie mocy pokoju i długości pętli rury 16x2.0.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hyd-container" id="rk-hyd-app">
    <div class="rk-hyd-header">
        <div class="rk-hyd-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 16 16 12 12 8"></polyline><line x1="8" y1="12" x2="16" y2="12"></line></svg>
            Narzędzie Inżynierskie
        </div>
        <h2>Algorytm obliczania hydrauliki i strat ciśnienia dla pętli z rurą EVOH</h2>
        <p>
            Aby prawidłowo dobrać pompę obiegową i zrównoważyć rozdzielacz, należy obliczyć całkowitą stratę ciśnienia pętli grzewczej. Użyj poniższego symulatora, aby wykonać obliczenia w czasie rzeczywistym.
        </p>
    </div>

    <div class="rk-hyd-app">
        <div class="rk-hyd-dashboard">
            <div class="rk-hyd-controls">
                
                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Moc cieplna pokoju (Q)</span>
                        <span class="rk-hyd-val-display"><span id="valPower">1200</span> W</span>
                    </div>
                    <input type="range" id="sliderPower" class="rk-hyd-slider" min="300" max="2500" step="50" value="1200">
                </div>

                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Długość pętli rury 16x2.0 (L)</span>
                        <span class="rk-hyd-val-display"><span id="valLen">100</span> m</span>
                    </div>
                    <input type="range" id="sliderLen" class="rk-hyd-slider" min="40" max="150" step="5" value="100">
                </div>

                <div class="rk-hyd-control-group">
                    <div class="rk-hyd-label-row">
                        <span class="rk-hyd-label">Parametr ΔT (Źródło)</span>
                    </div>
                    <div class="rk-hyd-switch-wrapper" id="sourceSwitch">
                        <div class="rk-hyd-switch-bg"></div>
                        <div class="rk-hyd-switch-btn active" data-dt="5">Pompa Ciepła (5K)</div>
                        <div class="rk-hyd-switch-btn" data-dt="10">Kocioł Gazowy (10K)</div>
                    </div>
                </div>

            </div>

            <div class="rk-hyd-outputs">
                
                <div class="rk-hyd-out-card">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2v20"></path><path d="m17 5-5-3-5 3"></path><path d="m19 19-7 3-7-3"></path></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Wymagany przepływ</div>
                        <div><span class="rk-hyd-out-value" id="resFlow">3.44</span> <span class="rk-hyd-out-unit">l/min</span></div>
                    </div>
                </div>

                <div class="rk-hyd-out-card" id="cardSpeed">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Prędkość wody</div>
                        <div><span class="rk-hyd-out-value" id="resSpeed">0.51</span> <span class="rk-hyd-out-unit">m/s</span></div>
                    </div>
                </div>

                <div class="rk-hyd-out-card" id="cardPress">
                    <div class="rk-hyd-out-icon">
                        <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z"></path><path d="M12 18a6 6 0 1 0 0-12 6 6 0 0 0 0 12z"></path><path d="M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"></path></svg>
                    </div>
                    <div class="rk-hyd-out-data">
                        <div class="rk-hyd-out-name">Całkowity opór pętli</div>
                        <div><span class="rk-hyd-out-value" id="resPress">17.4</span> <span class="rk-hyd-out-unit">kPa</span></div>
                    </div>
                </div>

            </div>
        </div>
    </div>

    <div class="rk-hyd-theory">
        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">1</div>
                <h3>Obliczenie projektowego strumienia masy wody (m)</h3>
            </div>
            <p>
                Wzór bazuje na zapotrzebowaniu na moc cieplną pętli (Q) oraz założonym spadku temperatury (ΔT = T zasilania - T powrotu):
            </p>
            <div class="rk-hyd-formula-box">
                m = Q / (cw · ΔT)
            </div>
            <ul>
                <li><strong>m</strong> – strumień masy [kg/s]</li>
                <li><strong>Q</strong> – moc cieplna pętli [W] (wyznaczona z obliczeń OZC dla danego pokoju)</li>
                <li><strong>cw</strong> – ciepło właściwe wody = 4186 J/(kg·K)</li>
                <li><strong>ΔT</strong> – schłodzenie wody w pętli (dla pomp ciepła przyjmuje się rygorystycznie 5 K, dla kotłów gazowych 10 K)</li>
            </ul>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">2</div>
                <h3>Wyznaczenie prędkości przepływu wody (v)</h3>
            </div>
            <p>
                Prędkość w rurze o średnicy wewnętrznej d_w (dla rury 16x2.0 mm, d_w = 12 mm = 0.012 m):
            </p>
            <div class="rk-hyd-formula-box">
                v = (4 · m) / (ρ · π · d_w²)
            </div>
            <ul>
                <li><strong>ρ</strong> – gęstość wody w temp. 35°C ≈ 994 kg/m³</li>
            </ul>
            <p>
                Prędkość musi mieścić się w optymalnym przedziale projektowym <strong>0.25 - 0.60 m/s</strong>. Gwarantuje to skuteczne odpowietrzanie pętli (porywanie pęcherzyków do odpowietrzników na <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielaczu do podłogówki</a>) przy jednoczesnym braku szumów w instalacji.
            </p>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">3</div>
                <h3>Obliczenie liniowej straty ciśnienia (Δpl)</h3>
            </div>
            <p>
                Wykorzystujemy uproszczony wzór Darcy-Weisbacha dla rur z tworzyw sztucznych o niskiej chropowatości bezwzględnej (k = 0.007 mm):
            </p>
            <div class="rk-hyd-formula-box">
                Δpl = R · L
            </div>
            <p>
                Gdzie <strong>R</strong> to jednostkowy opór liniowy odczytany z tablic hydraulicznych (Pa/m), a <strong>L</strong> to fizyczna długość pętli w metrach.
            </p>
        </div>

        <div class="rk-hyd-step">
            <div class="rk-hyd-step-header">
                <div class="rk-hyd-step-num">4</div>
                <h3>Uwzględnienie oporów miejscowych (Δpz)</h3>
            </div>
            <p>
                Opory miejscowe (łuki 180° przy układaniu w ślimak, gęste meandrowanie, podejścia pod rozdzielacz) generują dodatkowe straty. W projektowaniu inżynierskim przyjmuje się zryczałtowany <strong>naddatek 20% na opory miejscowe</strong>:
            </p>
            <div class="rk-hyd-formula-box">
                Δp całkowite = Δpl · 1.20
            </div>
            <p>
                Wartość całkowita określa punkt pracy dla doboru <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej w instalacji ogrzewania podłogowego</a>. Następnie każda krótsza pętla musi zostać zdławiona na rotometrze, aby zrównać swój opór z wartością pętli najdłuższej.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const sliderPower = document.getElementById('sliderPower');
    const sliderLen = document.getElementById('sliderLen');
    const valPower = document.getElementById('valPower');
    const valLen = document.getElementById('valLen');
    
    const switchBtns = document.querySelectorAll('.rk-hyd-switch-btn');
    const switchWrapper = document.getElementById('sourceSwitch');
    let currentDeltaT = 5;

    const resFlow = document.getElementById('resFlow');
    const resSpeed = document.getElementById('resSpeed');
    const resPress = document.getElementById('resPress');
    
    const cardSpeed = document.getElementById('cardSpeed');
    const cardPress = document.getElementById('cardPress');

    // Funkcja zabezpieczająca logikę - unikamy operatora '&&'
    function isBetween(val, min, max) {
        let ok = false;
        if (val >= min) {
            if (val <= max) {
                ok = true;
            }
        }
        return ok;
    }

    function calculateHydraulics() {
        let q = parseFloat(sliderPower.value);
        let len = parseFloat(sliderLen.value);
        
        valPower.textContent = q;
        valLen.textContent = len;

        // Stałe inżynierskie
        let cw = 4186; // J/(kg*K)
        let rho = 994; // kg/m3 (dla wody 35C)
        let dw = 0.012; // 12mm średnica wew. (rura 16x2.0)

        // 1. Strumień masy [kg/s]
        let m = q / (cw * currentDeltaT);

        // Przepływ w [l/min] (1 kg ~ 1 litr)
        let flowLmin = m * 60.36; // 60000 / 994 (zamiana na minuty i litry)
        
        // 2. Prędkość wody [m/s]
        let pi = 3.14159;
        let area = pi * Math.pow((dw / 2), 2);
        let volumeFlow = m / rho; // m3/s
        let speed = volumeFlow / area;

        // 3 i 4. Strata ciśnienia (Uproszczenie oparte na tablicach: 3.44 l/min -> 145 Pa/m)
        // R skaluje się w przybliżeniu wykładniczo z przepływem dla rur gładkich (v^1.75)
        let R = 145 * Math.pow((flowLmin / 3.44), 1.75); 
        
        // Calkowita strata ciśnienia [kPa] z dodatkiem 20%
        let pressLossKpa = (R * len / 1000) * 1.20;

        // Aktualizacja DOM
        resFlow.textContent = flowLmin.toFixed(2);
        resSpeed.textContent = speed.toFixed(2);
        resPress.textContent = pressLossKpa.toFixed(1);

        // Walidacja Prędkości (0.25 - 0.6 m/s)
        if (isBetween(speed, 0.25, 0.60)) {
            cardSpeed.className = 'rk-hyd-out-card status-ok';
        } else {
            cardSpeed.className = 'rk-hyd-out-card status-warn';
        }

        // Walidacja Ciśnienia (poniżej 20 kPa jest super, powyżej 25 kPa duży problem)
        let pressOk = false;
        if (pressLossKpa <= 25) {
            pressOk = true;
        }

        if (pressOk) {
            cardPress.className = 'rk-hyd-out-card status-ok';
        } else {
            cardPress.className = 'rk-hyd-out-card status-warn';
        }
    }

    // Eventy na suwaki
    sliderPower.addEventListener('input', calculateHydraulics);
    sliderLen.addEventListener('input', calculateHydraulics);

    // Eventy na przełącznik Delta T
    for (let i = 0; i < switchBtns.length; i++) {
        switchBtns[i].addEventListener('click', function() {
            // Czyszczenie klas
            for (let j = 0; j < switchBtns.length; j++) {
                switchBtns[j].classList.remove('active');
            }
            this.classList.add('active');
            
            // Animacja tła i zmiana wartości
            currentDeltaT = parseFloat(this.getAttribute('data-dt'));
            if (currentDeltaT === 10) {
                switchWrapper.classList.add('switch-pos-right');
            } else {
                switchWrapper.classList.remove('switch-pos-right');
            }
            
            calculateHydraulics();
        });
    }

    // Init
    calculateHydraulics();
});
</script>



<style>
:root {
    --rk-ozc-dark: #0f172a;
    --rk-ozc-blue: #0284c7;
    --rk-ozc-light-blue: #f0f9ff;
    --rk-ozc-accent: #0ea5e9;
    --rk-ozc-green: #10b981;
    --rk-ozc-gray: #64748b;
    --rk-ozc-border: #e2e8f0;
    --rk-ozc-bg: #ffffff;
    --rk-ozc-cta: #f59e0b;
}

.rk-ozc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-ozc-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-ozc-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-ozc-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-ozc-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-ozc-blue);
}

.rk-ozc-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-ozc-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-ozc-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Sekcja Interaktywna - Symulator Zładu */
.rk-ozc-interactive {
    padding: 40px 50px;
    background: #f8fafc;
    border-bottom: 1px solid var(--rk-ozc-border);
}

.rk-ozc-calc-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-ozc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-ozc-calc-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-ozc-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-ozc-calc-title svg {
    color: var(--rk-ozc-blue);
}

/* Slider Controls */
.rk-slider-container {
    margin-bottom: 30px;
}

.rk-slider-label {
    display: flex;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-ozc-gray);
    margin-bottom: 15px;
}

.rk-slider-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-ozc-blue);
}

.rk-range-input {
    width: 100%;
    height: 8px;
    background: #e2e8f0;
    border-radius: 8px;
    outline: none;
    -webkit-appearance: none;
}

.rk-range-input::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 28px;
    height: 28px;
    background: var(--rk-ozc-blue);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-range-input::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Wyniki Grid */
.rk-ozc-results-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-ozc-result-box {
    background: var(--rk-ozc-light-blue);
    border: 1px solid #bae6fd;
    border-radius: 16px;
    padding: 20px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-ozc-result-box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 4px;
    background: var(--rk-ozc-accent);
}

.rk-ozc-result-box:nth-child(2)::before { background: var(--rk-ozc-blue); }
.rk-ozc-result-box:nth-child(3)::before { background: var(--rk-ozc-green); }

.rk-ozc-res-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-ozc-gray);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-ozc-res-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin-bottom: 5px;
}

.rk-ozc-res-unit {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-ozc-blue);
}

/* Content Sekcja */
.rk-ozc-content {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-ozc-diagram-flow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--rk-ozc-dark);
    padding: 20px 30px;
    border-radius: 16px;
    color: #ffffff;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 40px;
    overflow-x: auto;
}

.rk-ozc-flow-step {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
}

.rk-ozc-flow-arrow {
    color: var(--rk-ozc-accent);
}

.rk-ozc-content h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-ozc-dark);
    margin: 35px 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-ozc-content h3:first-of-type { margin-top: 0; }

.rk-ozc-content h3::before {
    content: '';
    display: block;
    width: 24px;
    height: 24px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230284c7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") no-repeat center;
}

.rk-ozc-content p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-ozc-content strong {
    color: var(--rk-ozc-dark);
    font-weight: 800;
}

.rk-ozc-content a {
    color: var(--rk-ozc-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-ozc-content a:hover {
    color: #0369a1;
}

/* CTA Creative */
.rk-ozc-cta {
    padding: 50px;
    background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-ozc-cta::before {
    content: '';
    position: absolute;
    top: -50%; left: -10%; width: 50%; height: 200%;
    background: rgba(255,255,255,0.05);
    transform: rotate(15deg);
    pointer-events: none;
}

.rk-ozc-cta h3 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    position: relative;
}

.rk-ozc-cta p {
    font-size: 17px;
    color: #e0f2fe;
    margin: 0 auto 35px auto;
    max-width: 650px;
    line-height: 1.6;
    position: relative;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    background: var(--rk-ozc-cta);
    color: #ffffff;
    font-size: 19px;
    font-weight: 900;
    padding: 22px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    border: 2px solid transparent;
}

.rk-btn-massive:hover {
    transform: translateY(-5px) scale(1.02);
    background: #d97706;
    box-shadow: 0 20px 35px -5px rgba(245, 158, 11, 0.5);
    border-color: #fcd34d;
}

.rk-btn-massive svg {
    transition: transform 0.3s;
}

.rk-btn-massive:hover svg {
    transform: translateX(6px);
}

@media (max-width: 850px) {
    .rk-ozc-results-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-ozc-diagram-flow { flex-direction: column; align-items: flex-start; gap: 15px; padding: 25px; }
    .rk-ozc-flow-arrow { transform: rotate(90deg); margin-left: 20px; }
}

@media (max-width: 600px) {
    .rk-ozc-header, .rk-ozc-interactive, .rk-ozc-content, .rk-ozc-cta { padding: 30px 20px; }
    .rk-ozc-header h2 { font-size: 26px; }
    .rk-btn-massive { width: 100%; padding: 20px; font-size: 16px; flex-direction: column; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-ozc-wplyw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak obecność powłoki EVOH wpływa na projekt ogrzewania podłogowego?",
    "description": "Techniczna analiza wpływu rury EVOH na parametry algorytmów CAD/OZC, dobór naczynia wzbiorczego (0,113 l/m) oraz obniżenie krzywej grzewczej przy rekuperacji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-parametry-ozc",
    "name": "Parametry Projektowe i Zład Wody dla Rur EVOH",
    "description": "Baza danych wejściowych do programów Audytor OZC / InstalSystem dla rur 16x2.0 EVOH. Zład wody: 0,113 litra/mb. Opór sekcji: max 20 kPa.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego",
      "obliczeniowe zapotrzebowanie na ciepło ozc",
      "zład wody w podłogówce",
      "dobór naczynia wzbiorczego",
      "rekuperacja a ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Normatywne obliczenia długości pętli (max 120m), spadków ciśnień hydraulicznych oraz pojemności buforowej zgodnie z PN-B-02414.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przewodność rury EVOH (lambda) = 0,41 W/(m·K).",
        "Pojemność wodna rury 16x2.0 = 0,113 l/m.",
        "Obniżenie temperatury zasilania o 2-3°C przy jednoczesnym zastosowaniu rekuperacji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-zladu",
    "name": "Kalkulator Zładu Wody i Parametrów OZC",
    "description": "Interaktywny kalkulator przeliczający powierzchnię budynku na całkowitą długość rur grzewczych, pojemność wodną instalacji oraz wielkość naczynia wzbiorczego.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-ozc-container" id="rk-ozc-app">
    <div class="rk-ozc-header">
        <div class="rk-ozc-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Algorytmy Projektowe
        </div>
        <h2>Jak obecność powłoki EVOH wpływa na projekt ogrzewania podłogowego?</h2>
        <p>
            Wdrożenie rury z barierą EVOH to nie tylko wybór materiału. To zmiana parametrów wejściowych algorytmów w programach klasy CAD/OZC (np. InstalSystem, Audytor OZC). Projektant musi bezwzględnie powiązać parametry fizyczne rury z charakterystyką źródła ciepła.
        </p>
    </div>

    <div class="rk-ozc-interactive">
        <div class="rk-ozc-calc-wrapper">
            <div class="rk-ozc-calc-title">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                Symulator Zładu Wodnego (Dla Rury 16x2.0 EVOH)
            </div>
            
            <div class="rk-slider-container">
                <div class="rk-slider-label">
                    <span>Powierzchnia grzewcza budynku:</span>
                    <span class="rk-slider-val"><span id="rkAreaVal">150</span> m²</span>
                </div>
                <input type="range" id="rkAreaSlider" class="rk-range-input" min="80" max="300" step="10" value="150" aria-label="Wybierz powierzchnię domu">
            </div>

            <div class="rk-ozc-results-grid">
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Szacowana długość rur</div>
                    <div class="rk-ozc-res-val" id="rkResLen">1005</div>
                    <div class="rk-ozc-res-unit">metrów bieżących</div>
                </div>
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Woda w podłogówce</div>
                    <div class="rk-ozc-res-val" id="rkResVol">114</div>
                    <div class="rk-ozc-res-unit">litrów w pętlach</div>
                </div>
                <div class="rk-ozc-result-box">
                    <div class="rk-ozc-res-label">Naczynie wzbiorcze</div>
                    <div class="rk-ozc-res-val" id="rkResVessel">31</div>
                    <div class="rk-ozc-res-unit">litrów (z buforem 200L)</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-ozc-content">
        <div class="rk-ozc-diagram-flow">
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path><path d="M9 18l3-3-3-3"></path></svg>
                Dane OZC budynku
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M8 14s1.5 2 4 2 4-2 4-2"></path><line x1="9" y1="9" x2="9.01" y2="9"></line><line x1="15" y1="9" x2="15.01" y2="9"></line></svg>
                Rozstaw rur (W/m²)
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                Obliczenie zładu wody
            </div>
            <div class="rk-ozc-flow-arrow">➔</div>
            <div class="rk-ozc-flow-step">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                Dobór naczynia / pompy
            </div>
        </div>

        <h3>Korelacja z OZC (Obliczeniowym Zapotrzebowaniem na Ciepło)</h3>
        <p>
            Rura z barierą EVOH o przewodności <strong>0,41 W/(m·K)</strong> pozwala na dokładne mapowanie strumienia cieplnego. Przy gęstym <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">rozstawie rur w wodnym ogrzewaniu podłogowym</a> (np. co 10 cm) w domach energooszczędnych o zapotrzebowaniu 30 W/m², niska chropowatość wewnętrzna rury EVOH pozwala na projektowanie <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">pętli o maksymalnej długości do 120 m</a> bez przekraczania dopuszczalnych oporów hydraulicznych pojedynczej sekcji rozdzielacza (20 kPa).
        </p>

        <h3>Dobór pojemności zładu wodnego a naczynie wzbiorcze</h3>
        <p>
            Standardowa rura <strong>16x2.0 mm mieści dokładnie 0,113 litra wody na metr bieżący</strong>. Znając całkowitą długość z projektu (np. 1200 m dla domu 180 m²), objętość samej instalacji podłogowej wynosi 1200 × 0,113 = <strong>135,6 litra</strong>. Dane te są niezbędne, aby wyliczyć <a href="https://projekt-ogrzewania.pl/ile-wody-miesci-sie-w-1-metrze-rury-pex-pert-16/">ile wody mieści się w instalacji</a> i dokonać prawidłowego doboru objętościowego zgodnie z normą PN-B-02414. Dla układu z pompą ciepła i buforem 200 l, całkowity zład wynosi ok. 350 litrów, co wymaga <a href="https://projekt-ogrzewania.pl/naczynie-wzbiorcze/">naczynia wzbiorczego przeponowego</a> o pojemności minimum 35 litrów.
        </p>

        <h3>Integracja z systemami wentylacji (Rekuperacja)</h3>
        <p>
            Obecność stabilnej termicznie podłogówki z barierą EVOH współpracującej z <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacją pozwala na obniżenie projektowej temperatury zasilania</a> o kolejne 2-3°C (z 35°C na 32°C). Wynika to z faktu, że rekuperator eliminuje drastyczne straty ciepła charakterystyczne dla wentylacji grawitacyjnej, a czysta, wolna od szlamu rura EVOH stale oddaje ciepło ze sprawnością początkową na poziomie 100%.
        </p>
    </div>

    <div class="rk-ozc-cta">
        <h3>Skończ z instalacjami robionymi "na oko"</h3>
        <p>
            Twój instalator twierdzi, że "zawsze tak robił i grzeje"? Ogrzewanie podłogowe to czysta fizyka i twarde wzory matematyczne. Zbuduj swój dom na fundamencie profesjonalnych obliczeń OZC i uniknij przewymiarowania kotłowni.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('rkAreaSlider');
    const valArea = document.getElementById('rkAreaVal');
    const resLen = document.getElementById('rkResLen');
    const resVol = document.getElementById('rkResVol');
    const resVessel = document.getElementById('rkResVessel');

    // Współczynniki do obliczeń (przybliżenia inżynierskie)
    // Srednie zużycie rury: ~6.7 mb / m2 (mieszanka łazienki 10cm i pokoje 15cm)
    const factorLength = 6.7;
    // Pojemność wodna rury 16x2.0: 0.113 l/mb
    const factorVol = 0.113;
    // Pojemność bufora założona na sztywno do obliczeń naczynia
    const bufferVol = 200;

    function calculateValues() {
        let area = parseInt(slider.value);
        valArea.textContent = area;

        // Obliczenia
        let length = Math.round(area * factorLength);
        let waterInPipes = Math.round(length * factorVol);
        
        // Naczynie wzbiorcze: ok. 10% całkowitego zładu (woda w rurach + bufor + zapas na źródło)
        let totalSystemVol = waterInPipes + bufferVol + 20; // 20L zapas na kocioł/PC
        let vesselSize = Math.round(totalSystemVol * 0.10);

        // Aktualizacja DOM
        resLen.textContent = length;
        resVol.textContent = waterInPipes;
        resVessel.textContent = vesselSize;
    }

    // Inicjalizacja i nasłuch
    calculateValues();
    slider.addEventListener('input', calculateValues);
});
</script>



<style>
:root {
    --rk-dec-dark: #0f172a;
    --rk-dec-blue: #0284c7;
    --rk-dec-light: #f0f9ff;
    --rk-dec-accent: #0ea5e9;
    --rk-dec-green: #10b981;
    --rk-dec-red: #ef4444;
    --rk-dec-gray: #64748b;
    --rk-dec-border: #e2e8f0;
    --rk-dec-bg: #ffffff;
    --rk-dec-gold: #f59e0b;
}

.rk-dec-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dec-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-dec-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-dec-container * {
    box-sizing: border-box;
}

/* Nagłówek Sekcji */
.rk-dec-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-dec-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dec-gold);
    position: relative;
}

.rk-dec-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(245, 158, 11, 0.3);
}

.rk-dec-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-dec-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Sekcja: Jaka rura do podłogówki (Pojedynek) */
.rk-dec-duel {
    padding: 40px 50px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-dec-border);
}

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

.rk-duel-title h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dec-dark);
    margin: 0 0 10px 0;
}

.rk-duel-tabs {
    display: flex;
    background: #e2e8f0;
    border-radius: 12px;
    padding: 6px;
    margin-bottom: 30px;
    gap: 6px;
}

.rk-duel-btn {
    flex: 1;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-dec-gray);
    background: transparent;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    margin: 0;
}

.rk-duel-btn:hover {
    color: var(--rk-dec-dark);
    background: rgba(255, 255, 255, 0.5);
}

.rk-duel-btn.active {
    background: var(--rk-dec-blue);
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Zawartość Zakładek */
.rk-duel-content {
    display: none;
    animation: fadeInDec 0.4s ease-out;
}

.rk-duel-content.active {
    display: block;
}

@keyframes fadeInDec {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-duel-card {
    background: #ffffff;
    border: 2px solid var(--rk-dec-border);
    border-radius: 20px;
    padding: 35px;
}

.rk-duel-card.highlight {
    border-color: #bae6fd;
    background: var(--rk-dec-light);
}

.rk-duel-card-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-dec-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-duel-card-title svg {
    color: var(--rk-dec-blue);
    flex-shrink: 0;
}

/* Przebudowana lista na kafelki z wymuszeniem sztywnych SVG */
.rk-duel-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 25px;
}

.rk-duel-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    background: #ffffff;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-dec-border);
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-duel-item p {
    margin: 0;
    font-size: 15px;
    color: #334155;
    line-height: 1.6;
    font-weight: 500;
}

/* TO ZAPOBIEGA ROZRASTANIU SIĘ SVG */
.rk-icon-fixed {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--rk-dec-green);
    margin-top: 2px;
}

.rk-duel-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-dec-gray);
    margin: 0;
    padding: 20px;
    background: #f8fafc;
    border-radius: 12px;
    border-left: 4px solid var(--rk-dec-blue);
}

.rk-duel-desc strong {
    color: var(--rk-dec-dark);
}

/* Sekcja: ROI i Opłacalność dopłaty */
.rk-dec-roi {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-roi-text {
    margin-bottom: 35px;
}

.rk-roi-text h2 {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dec-dark);
    margin: 0 0 15px 0;
}

.rk-roi-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

.rk-roi-text strong {
    color: var(--rk-dec-dark);
    font-weight: 800;
}

/* Kalkulator Dopłaty */
.rk-roi-calculator {
    background: #ffffff;
    border: 1px solid var(--rk-dec-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
}

.rk-roi-calc-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 20px;
}

.rk-roi-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dec-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-roi-val-display {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-dec-blue);
}

.rk-roi-slider {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 10px;
    outline: none;
    -webkit-appearance: none;
    margin-bottom: 35px;
}

.rk-roi-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 30px;
    height: 30px;
    background: var(--rk-dec-blue);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.4);
    transition: transform 0.1s;
}

.rk-roi-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Porównanie Kosztów */
.rk-roi-compare {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-roi-box {
    padding: 25px 20px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.rk-roi-box.invest {
    background: var(--rk-dec-light);
    border: 2px solid #bae6fd;
}

.rk-roi-box.risk {
    background: #fef2f2;
    border: 2px solid #fca5a5;
}

.rk-roi-box-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.invest .rk-roi-box-title { color: var(--rk-dec-blue); }
.risk .rk-roi-box-title { color: var(--rk-dec-red); }

.rk-roi-box-cost {
    font-size: 32px;
    font-weight: 900;
    margin-bottom: 8px;
}

.invest .rk-roi-box-cost { color: var(--rk-dec-dark); }
.risk .rk-roi-box-cost { color: var(--rk-dec-red); }

.rk-roi-box-desc {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-dec-gray);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .rk-roi-compare { grid-template-columns: 1fr; gap: 15px; }
}

@media (max-width: 600px) {
    .rk-dec-header, .rk-dec-duel, .rk-dec-roi { padding: 30px 20px; }
    .rk-dec-header h2, .rk-duel-title h2, .rk-roi-text h2 { font-size: 26px; }
    
    .rk-duel-tabs { flex-direction: column; padding: 6px; gap: 6px; }
    .rk-duel-btn { width: 100%; height: 46px; }
    
    .rk-duel-card, .rk-roi-calculator { padding: 25px 20px; }
    .rk-roi-calc-header { flex-direction: column; align-items: flex-start; gap: 5px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-wybor-rury",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jaka rura do ogrzewania podłogowego – PEX-a EVOH czy PE-RT EVOH? Czy warto dopłacić?",
    "description": "Szczegółowe porównanie rur PEX-a EVOH i PE-RT EVOH do ogrzewania podłogowego oraz analiza rentowności i zwrotu z inwestycji (dopłaty) do bariery tlenowej.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-roi-evoh",
    "name": "Analiza zwrotu z inwestycji (ROI) w barierę EVOH względem kosztów awarii",
    "description": "Zestawienie kosztów dopłaty do rury z barierą antydyfuzyjną na m2 budynku z potencjalnymi kosztami napraw kotłowni (wymiana pompy ciepła, płukanie instalacji).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy warto dopłacić do rury EVOH",
      "jaka rura do ogrzewania podłogowego",
      "rura EVOH cena",
      "PEX-a EVOH czy PE-RT EVOH",
      "ile kosztuje 100 m² ogrzewania podłogowego",
      "koszt ogrzewania domu 2025"
    ],
    "measurementTechnique": "Obliczanie różnicy cenowej (dopłaty) na podstawie szacunkowego zużycia rury 6,7 mb/m2 w relacji do stałego kosztu serwisu uszkodzonej instalacji (ok. 2500 PLN).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt dopłaty do bariery EVOH: ok. 0,40 - 0,60 PLN za metr bieżący.",
        "Koszty braku bariery: Uszkodzenie pompy klasy A (ok. 2500 PLN), czyszczenie wymiennika.",
        "Rekomendacja rynkowa: PEX-a (termiczna pamięć kształtu, sieciowanie) vs PE-RT Typ II (elastyczność, brak sieciowania)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-kalkulator-doplaty",
    "name": "Kalkulator Dopłaty do EVOH",
    "description": "Narzędzie pozwalające inwestorowi obliczyć koszt dopłaty do lepszej rury z barierą tlenową na podstawie powierzchni domu i zestawić to z kosztem potencjalnej awarii.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dec-container" id="rk-decision-maker">
    <div class="rk-dec-header">
        <div class="rk-dec-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Decyzjomat Inwestora
        </div>
        <h2>Jaka rura do ogrzewania podłogowego – PEX-a EVOH czy PE-RT EVOH?</h2>
        <p>
            Stoisz przed ostatecznym wyborem materiału. Poznaj twarde argumenty inżynierskie, które rozwieją Twoje wątpliwości przed zakupem.
        </p>
    </div>

    <div class="rk-dec-duel">
        
        <div class="rk-duel-tabs" id="rkDuelTabs">
            <button class="rk-duel-btn active" data-target="duel-pexa">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0;"><circle cx="12" cy="12" r="10"></circle><path d="M12 8v8"></path><path d="M8 12h8"></path></svg>
                PEX-a EVOH
            </button>
            <button class="rk-duel-btn" data-target="duel-pert">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" style="flex-shrink:0;"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                PE-RT Typ II EVOH
            </button>
        </div>

        <div class="rk-duel-content active" id="duel-pexa">
            <div class="rk-duel-card highlight">
                <h3 class="rk-duel-card-title">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                    Król Wytrzymałości (Sieciowany Nadtlenkowo)
                </h3>
                
                <div class="rk-duel-list">
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Posiada termiczną pamięć kształtu (uszkodzenia można łatwo zregenerować w temperaturze 130°C).</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Odporna na ekstremalne wahania temperatur roboczych w układzie (najwyższa Klasa 5).</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Minimalizuje ryzyko pęknięć naprężeniowych przy mrozie podczas prac budowlanych.</p>
                    </div>
                </div>

                <div class="rk-duel-desc">
                    <strong>Werdykt Inżyniera:</strong> Wybór bezkompromisowy. Jeśli budujesz dom na lata i chcesz wykluczyć błędy montażowe instalatora (np. przypadkowe załamania rury), PEX-a EVOH to materiał z absolutnie najwyższej półki.
                </div>
            </div>
        </div>

        <div class="rk-duel-content" id="duel-pert">
            <div class="rk-duel-card">
                <h3 class="rk-duel-card-title">
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    Elastyczność i Ekonomia (Polietylen Typu II)
                </h3>
                
                <div class="rk-duel-list">
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Bardzo wysoka elastyczność struktury, mocno ułatwiająca układanie trudnych pętli grzewczych.</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Brak skomplikowanego procesu sieciowania przekłada się na delikatnie niższą cenę za metr.</p>
                    </div>
                    <div class="rk-duel-item">
                        <svg class="rk-icon-fixed" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <p>Świetnie współpracuje ze standardowymi, niskotemperaturowymi instalacjami płaszczyznowymi.</p>
                    </div>
                </div>

                <div class="rk-duel-desc">
                    <strong>Werdykt Inżyniera:</strong> Doskonały wybór do optymalnych budżetowo projektów, gdzie źródłem ciepła jest <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a>. Wymaga jednak od wykonawcy precyzji, gdyż załamanie rury definitywnie wyklucza ją z użytku.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-dec-roi">
        <div class="rk-roi-text">
            <h2>Czy warto dopłacić do rury z barierą antydyfuzyjną EVOH?</h2>
            <p>
                W praktyce różnica cenowa pomiędzy standardową rurą bez bariery tlenowej a nowoczesną rurą 5-warstwową z powłoką EVOH stanowi zwykle zaledwie ułamek całkowitego <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/">kosztu wykonania ogrzewania</a>. Z punktu widzenia projektanta instalacji grzewczych, wybór rury z <strong>barierą antydyfuzyjną EVOH</strong> nie jest dodatkiem podnoszącym komfort, lecz absolutnie podstawowym zabezpieczeniem trwałości całego systemu.
            </p>
            <p>
                Dlatego zarówno w instalacjach z pompą ciepła, jak i <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kotłem gazowym</a>, rekomendowane są <strong>wyłącznie</strong> rury PEX-a EVOH lub PE-RT Typ II EVOH spełniające wymagania rygorystycznej normy DIN 4726. Zobacz na konkretnych liczbach, dlaczego oszczędzanie na rurze to finansowa pułapka.
            </p>
        </div>

        <div class="rk-roi-calculator">
            <div class="rk-roi-calc-header">
                <span class="rk-roi-label">Metraż Twojej podłogówki</span>
                <span class="rk-roi-val-display"><span id="roiAreaVal">150</span> m²</span>
            </div>
            
            <input type="range" id="roiAreaSlider" class="rk-roi-slider" min="50" max="300" step="10" value="150" aria-label="Suwak metrażu">

            <div class="rk-roi-compare">
                <div class="rk-roi-box invest">
                    <div class="rk-roi-box-title">Dopłata do rury z EVOH</div>
                    <div class="rk-roi-box-cost">+ <span id="roiEvohCost">500</span> zł</div>
                    <div class="rk-roi-box-desc">Jednorazowa inwestycja materiałowa. Zapewnia brak tlenu w instalacji przez 50 lat.</div>
                </div>
                
                <div class="rk-roi-box risk">
                    <div class="rk-roi-box-title">Koszt awarii bez EVOH</div>
                    <div class="rk-roi-box-cost">- <span id="roiBreakCost">2500</span> zł</div>
                    <div class="rk-roi-box-desc">Ryzyko pęknięcia wymiennika lub zatarcia pompy co ok. 3-5 lat z powodu szlamu.</div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    
    // Obsługa zakładek (Pojedynek Rur)
    const duelBtns = document.querySelectorAll('.rk-duel-btn');
    const duelContents = document.querySelectorAll('.rk-duel-content');

    for (let i = 0; i < duelBtns.length; i++) {
        duelBtns[i].addEventListener('click', function() {
            // Usunięcie klas active bez uzycia &#038;&#038;
            for (let j = 0; j < duelBtns.length; j++) {
                duelBtns[j].classList.remove('active');
            }
            for (let k = 0; k < duelContents.length; k++) {
                duelContents[k].classList.remove('active');
            }

            // Dodanie klas
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetContent = document.getElementById(targetId);
            
            let isFound = false;
            if (targetContent) {
                isFound = true;
            }
            if (isFound) {
                targetContent.classList.add('active');
            }
        });
    }

    // Obsługa Kalkulatora ROI
    const slider = document.getElementById('roiAreaSlider');
    const areaVal = document.getElementById('roiAreaVal');
    const evohCost = document.getElementById('roiEvohCost');
    const breakCost = document.getElementById('roiBreakCost');

    // Stałe do obliczeń (Ceny Rynkowe Oszacowane)
    const pipePerM2 = 6.7; // mb rury na m2
    const priceDiffPerMeter = 0.50; // Różnica w PLN między rurą bez EVOH a markową z EVOH

    function calculateROI() {
        let area = parseInt(slider.value, 10);
        areaVal.textContent = area;

        // Obliczenie dopłaty do EVOH
        let totalMeters = area * pipePerM2;
        let extraCost = Math.round(totalMeters * priceDiffPerMeter);
        evohCost.textContent = extraCost;

        // Szacowanie ryzyka awarii (Kocioł/Pompa) na przestrzeni 5 lat
        let risk = 2500; 
        
        let condition1 = false;
        if (area <= 100) { condition1 = true; }
        if (condition1) { risk = 1800; }
        
        let condition2 = false;
        if (area > 100) {
            if (area <= 200) {
                condition2 = true;
            }
        }
        if (condition2) { risk = 2500; }
        
        let condition3 = false;
        if (area > 200) { condition3 = true; }
        if (condition3) { risk = 3800; }

        breakCost.textContent = risk;
    }

    // Inicjalizacja i nasłuch
    calculateROI();
    slider.addEventListener('input', calculateROI);
});
</script>



<style>
:root {
    --rk-scan-dark: #0f172a;
    --rk-scan-blue: #0284c7;
    --rk-scan-light: #f8fafc;
    --rk-scan-accent: #0ea5e9;
    --rk-scan-green: #10b981;
    --rk-scan-gray: #64748b;
    --rk-scan-border: #e2e8f0;
    --rk-scan-bg: #ffffff;
    --rk-scan-gold: #f59e0b;
}

.rk-scan-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-scan-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.12);
    border: 1px solid var(--rk-scan-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-scan-container * {
    box-sizing: border-box;
}

/* Nagłówek */
.rk-scan-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-scan-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-scan-green);
    position: relative;
}

.rk-scan-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(16, 185, 129, 0.2);
    color: #34d399;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(52, 211, 153, 0.2);
}

.rk-scan-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-scan-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Sekcja Interaktywna - Dekoder */
.rk-scan-interactive {
    padding: 45px 50px;
    background: #f1f5f9;
    border-bottom: 1px solid var(--rk-scan-border);
}

.rk-scan-int-title {
    text-align: center;
    margin-bottom: 30px;
}

.rk-scan-int-title h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-scan-dark);
    margin: 0 0 10px 0;
}

.rk-scan-int-title p {
    color: var(--rk-scan-gray);
    font-size: 15px;
    margin: 0;
}

/* Wirtualna Rura z Nadrukiem */
.rk-virtual-pipe-wrap {
    background: #ffffff;
    border: 2px solid var(--rk-scan-border);
    border-radius: 16px;
    padding: 40px 20px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.02);
}

/* Tło rury - symulacja zaokrąglenia */
.rk-pipe-graphic {
    background: linear-gradient(to bottom, #d1d5db 0%, #f8fafc 20%, #e2e8f0 80%, #94a3b8 100%);
    height: 80px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    box-shadow: 0 10px 20px -10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 2;
}

.rk-pipe-print {
    display: flex;
    gap: 15px;
    font-family: monospace;
    font-size: 18px;
    font-weight: 800;
    color: #334155;
    flex-wrap: wrap;
    justify-content: center;
}

.rk-print-segment {
    padding: 4px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s;
    border: 2px solid transparent;
}

.rk-print-segment:hover {
    background: rgba(2, 132, 199, 0.1);
    color: var(--rk-scan-blue);
}

.rk-print-segment.active {
    background: var(--rk-scan-blue);
    color: #ffffff;
    border-color: #0369a1;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
}

/* Wyświetlacz informacji */
.rk-scan-display {
    background: #ffffff;
    border-left: 4px solid var(--rk-scan-blue);
    border-radius: 0 16px 16px 0;
    padding: 25px 30px;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    display: none;
    animation: slideInScan 0.4s ease-out;
}

.rk-scan-display.active {
    display: block;
}

@keyframes slideInScan {
    from { opacity: 0; transform: translateX(-15px); }
    to { opacity: 1; transform: translateX(0); }
}

.rk-scan-display h4 {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-scan-dark);
    margin: 0 0 10px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-scan-display h4 svg {
    color: var(--rk-scan-blue);
}

.rk-scan-display p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-scan-gray);
    margin: 0;
}

/* Część Teoretyczna */
.rk-scan-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-scan-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-scan-theory strong {
    color: var(--rk-scan-dark);
    font-weight: 800;
}

.rk-scan-theory a {
    color: var(--rk-scan-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-scan-theory a:hover {
    color: #0369a1;
}

.rk-scan-warning {
    background: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    gap: 15px;
    align-items: flex-start;
    margin-top: 25px;
}

.rk-scan-warning svg {
    color: var(--rk-scan-red);
    flex-shrink: 0;
}

.rk-scan-warning-text h4 {
    margin: 0 0 8px 0;
    color: #991b1b;
    font-size: 16px;
    font-weight: 800;
}

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

/* Wskazówka Eksperta (Mini-Autorytet) */
.rk-expert-tip {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 35px;
    padding-top: 25px;
    border-top: 1px solid var(--rk-scan-border);
}

.rk-expert-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--rk-scan-green);
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.2);
    flex-shrink: 0;
}

.rk-expert-details h5 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-scan-dark);
}

.rk-expert-details p {
    margin: 0;
    font-size: 14px;
    color: var(--rk-scan-gray);
    line-height: 1.5;
}

@media (max-width: 850px) {
    .rk-pipe-print { font-size: 15px; gap: 10px; }
}

@media (max-width: 600px) {
    .rk-scan-header, .rk-scan-interactive, .rk-scan-theory { padding: 30px 20px; }
    .rk-scan-header h2 { font-size: 26px; }
    
    .rk-pipe-graphic { height: auto; padding: 20px 10px; flex-direction: column; }
    .rk-pipe-print { flex-direction: column; gap: 5px; width: 100%; text-align: center; }
    .rk-print-segment { width: 100%; padding: 8px; background: rgba(255,255,255,0.5); }
    .rk-scan-display { padding: 20px; border-left: none; border-top: 4px solid var(--rk-scan-blue); border-radius: 12px; }
    
    .rk-expert-tip { flex-direction: column; text-align: center; gap: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-jak-sprawdzic-oznaczenia",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Jak sprawdzić, czy rura posiada barierę antydyfuzyjną EVOH?",
    "description": "Instrukcja weryfikacji rur do ogrzewania podłogowego. Jak czytać oznaczenia na rurach PEX/PE-RT, by potwierdzić obecność powłoki EVOH i normę DIN 4726.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-weryfikacja-oznaczen",
    "name": "Weryfikacja oznaczeń rur ogrzewania podłogowego (DIN 4726)",
    "description": "Baza danych interpretacji technicznych nadruków na rurach grzewczych pozwalająca inwestorowi rozpoznać prawdziwą barierę tlenową.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak sprawdzić rurę EVOH",
      "jak rozpoznać rurę do podłogówki",
      "jaka rura do ogrzewania podłogowego",
      "czy rura ma barierę tlenową",
      "oznaczenia na rurach PEX"
    ],
    "measurementTechnique": "Organoleptyczna weryfikacja parametrów fizycznych poprzez analizę ciągów znaków (nadruków) z naniesionymi klasami ciśnienia i normami na warstwie zewnętrznej polimeru.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Weryfikacja warstw: Szukaj oznaczeń 5L lub struktury wielowarstwowej na nadruku.",
        "Potwierdzenie szczelności tlenowej: Zgodność z niemiecką normą DIN 4726.",
        "Brak oznaczeń oznacza brak bariery antydyfuzyjnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-dekoder-oznaczen",
    "name": "Interaktywny Dekoder Oznaczeń Rury PEX/PE-RT",
    "description": "Narzędzie symulujące prawdziwy nadruk na rurze do podłogówki, pozwalające kliknąć w dany ciąg znaków, aby poznać inżynierskie znaczenie atestów EVOH i klas ciśnienia.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-scan-container" id="rk-scan-module">
    <div class="rk-scan-header">
        <div class="rk-scan-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h3l3-9 5 18 3-9h5"></path></svg>
            Weryfikacja Placu Budowy
        </div>
        <h2>Jak sprawdzić, czy rura posiada barierę antydyfuzyjną EVOH?</h2>
        <p>
            Nie wierz na słowo. Instalator przyniósł rolki rur na budowę? Zanim zalejesz je betonem, organoleptycznie zweryfikuj nadruk. Brak odpowiednich znaków to sygnał alarmowy.
        </p>
    </div>

    <div class="rk-scan-interactive">
        <div class="rk-scan-int-title">
            <h3>Skaner Oznaczeń Rury Grzewczej</h3>
            <p>Kliknij w poszczególne fragmenty nadruku na poniższej wirtualnej rurze, aby poznać ich inżynierskie znaczenie.</p>
        </div>

        <div class="rk-virtual-pipe-wrap">
            <div class="rk-pipe-graphic">
                <div class="rk-pipe-print" id="rkPrintContainer">
                    <span class="rk-print-segment active" data-target="scan-mat">PE-RT/EVOH/PE-RT</span>
                    <span class="rk-print-segment" data-target="scan-dim">16x2.0</span>
                    <span class="rk-print-segment" data-target="scan-class">Klasa 4 / 6bar</span>
                    <span class="rk-print-segment" data-target="scan-din">DIN 4726</span>
                    <span class="rk-print-segment" data-target="scan-layer">5L</span>
                </div>
            </div>
        </div>

        <div class="rk-scan-display active" id="scan-mat">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                Oznaczenie Warstw Materiału
            </h4>
            <p>Ten ciąg potwierdza budowę wielowarstwową rury. Skrót EVOH musi znajdować się wewnątrz tego zapisu (często między warstwami polietylenu, takimi jak PEX lub PE-RT). Jeśli widzisz tylko "PE-RT", rura jest jednorodna i nie ma bariery!</p>
        </div>

        <div class="rk-scan-display" id="scan-dim">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="22" y1="12" x2="18" y2="12"></line><line x1="6" y1="12" x2="2" y2="12"></line><line x1="12" y1="6" x2="12" y2="2"></line><line x1="12" y1="22" x2="12" y2="18"></line></svg>
                Średnica i Ścianka
            </h4>
            <p>16x2.0 to standardowa rura używana w systemach płaszczyznowych. Pierwsza liczba to zewnętrzna średnica w milimetrach, druga to grubość ścianki. Rura o grubości ścianki 2.0mm gwarantuje bezpieczne zalewanie betonem.</p>
        </div>

        <div class="rk-scan-display" id="scan-class">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                Klasa Zastosowania (Parametry)
            </h4>
            <p>Zgodnie z PN-EN ISO 21003. "Klasa 4" dotyczy ogrzewania podłogowego o maksymalnej temperaturze pracy ciągłej 70°C, a "Klasa 5" grzejnikowego (90°C). 6bar określa bezpieczne ciśnienie układu. W podłogówce te wartości to potężny zapas bezpieczeństwa.</p>
        </div>

        <div class="rk-scan-display" id="scan-din">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon></svg>
                Kluczowa Norma Antydyfuzyjna
            </h4>
            <p>To najważniejszy element, którego musisz szukać! Nadruk "DIN 4726" to laboratoryjne poświadczenie, że bariera EVOH na tej rurze rzeczywiście powstrzymuje dyfuzję tlenu do wartości bezpiecznych dla kotła i pompy ciepła.</p>
        </div>

        <div class="rk-scan-display" id="scan-layer">
            <h4>
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                Konstrukcja 5L
            </h4>
            <p>Oznaczenie 5L (lub rzadziej 5-Layer) mówi o tym, że bariera EVOH ukryta jest bezpiecznie w rdzeniu rury (pomiędzy warstwami PEX/PE-RT). Chroni ją to przed przetarciem o styropian podczas montażu. Rury 3L są bardziej podatne na uszkodzenia bariery.</p>
        </div>
    </div>

    <div class="rk-scan-theory">
        <p>
            Przed zakupem lub montażem warto i trzeba sprawdzać oznaczenia nadrukowane na rurze co kilkadziesiąt centymetrów. Poważny producent <strong>zawsze</strong> podaje informację o warstwie EVOH, budowie wielowarstwowej oraz zgodności z certyfikatami. 
        </p>

        <div class="rk-scan-warning">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            <div class="rk-scan-warning-text">
                <h4>Ostrzeżenie Inwestycyjne</h4>
                <p>
                    Jeśli na rurze, którą hydraulik rozwinął w Twoim salonie, nie ma jasnej informacji o EVOH lub normie antydyfuzyjnej DIN 4726, zachowaj natychmiastową ostrożność. W profesjonalnych i bezpiecznych systemach <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">wodnego ogrzewania podłogowego</a> stosuje się <strong>wyłącznie</strong> rury posiadające potwierdzoną barierę tlenową. Zwykła rura instalacyjna nadaje się do przesyłu wody pitnej, ale nigdy do zamkniętego układu centralnego ogrzewania.
                </p>
            </div>
        </div>

        <div class="rk-expert-tip">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-expert-avatar" loading="lazy">
            <div class="rk-expert-details">
                <h5>Wskazówka Specjalisty HVAC</h5>
                <p>Jako inżynierowie projektujący tysiące układów dla <a href="https://projekt-ogrzewania.pl/">Projekt-Ogrzewania.pl</a>, uczulam: nawet najlepsza <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rura PEX</a>, do której producent nie załącza pełnej karty technicznej z udokumentowanym badaniem przenikalności tlenu, jest z punktu widzenia projektowego materiałem wysokiego ryzyka.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const printSegments = document.querySelectorAll('.rk-print-segment');
    const displays = document.querySelectorAll('.rk-scan-display');

    for (let i = 0; i < printSegments.length; i++) {
        printSegments[i].addEventListener('click', function() {
            
            // Usunięcie stanu active ze wszystkich przycisków
            for (let j = 0; j < printSegments.length; j++) {
                printSegments[j].classList.remove('active');
            }
            
            // Ukrycie wszystkich okien informacji
            for (let k = 0; k < displays.length; k++) {
                displays[k].classList.remove('active');
            }

            // Aktywacja wybranego
            this.classList.add('active');
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            let isFound = false;
            if (targetPanel) {
                isFound = true;
            }

            if (isFound) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-blue: #0284c7;
    --rk-err-red: #ef4444;
    --rk-err-red-light: #fef2f2;
    --rk-err-green: #10b981;
    --rk-err-green-light: #dcfce7;
    --rk-err-gray: #64748b;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(239, 68, 68, 0.1);
    border: 1px solid #fca5a5;
    overflow: hidden;
}

/* Nagłówek */
.rk-err-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #7f1d1d 0%, var(--rk-err-dark) 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-err-red);
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(239, 68, 68, 0.2);
    color: #fca5a5;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 165, 165, 0.2);
}

.rk-err-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-err-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 750px;
    margin: 0 auto;
    line-height: 1.6;
}

.rk-err-loss-tag {
    display: inline-block;
    margin-top: 15px;
    background: #ef4444;
    color: #fff;
    padding: 6px 16px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 15px;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.4);
}

/* Interaktywny Panel */
.rk-err-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

/* Karty Błędów */
.rk-err-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 25px;
    position: relative;
    transition: all 0.4s ease;
    display: flex;
    flex-direction: column;
}

/* Stan: Błąd (Domyślny) */
.rk-err-card.state-error {
    border-color: #fca5a5;
    box-shadow: 0 10px 25px -5px rgba(239, 68, 68, 0.1);
}

/* Stan: Bezpieczny */
.rk-err-card.state-safe {
    border-color: #6ee7b7;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.1);
}

/* Przełącznik (Switch) */
.rk-err-switch-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-switch-label {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.state-error .rk-err-switch-label { color: var(--rk-err-red); }
.state-safe .rk-err-switch-label { color: var(--rk-err-green); }

.rk-toggle-btn {
    position: relative;
    width: 54px;
    height: 30px;
    background: var(--rk-err-red);
    border-radius: 30px;
    cursor: pointer;
    transition: background 0.3s;
    border: none;
    outline: none;
}

.rk-toggle-circle {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    background: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.state-safe .rk-toggle-btn { background: var(--rk-err-green); }
.state-safe .rk-toggle-circle { transform: translateX(24px); }

/* Zawartość Karty */
.rk-err-icon-wrap {
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.rk-err-svg { width: 70px; height: 70px; }

/* Animacje SVG */
.anim-shake { animation: errShake 0.5s infinite alternate; }
.anim-pulse { animation: errPulse 2s infinite; }
.anim-geyser { stroke-dasharray: 5; animation: errGeyser 0.5s linear infinite; }

@keyframes errShake { from { transform: rotate(-5deg); } to { transform: rotate(5deg); } }
@keyframes errPulse { 0% { opacity: 0.7; transform: scale(0.95); } 50% { opacity: 1; transform: scale(1.05); } 100% { opacity: 0.7; transform: scale(0.95); } }
@keyframes errGeyser { to { stroke-dashoffset: -10; } }

.rk-err-card h3 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 10px 0;
    line-height: 1.3;
}

.rk-err-card p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--rk-err-gray);
    margin: 0 0 15px 0;
    flex-grow: 1;
}

.rk-err-card a {
    color: var(--rk-err-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-err-card a:hover { color: #0369a1; }

.rk-err-status {
    padding: 12px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.state-error .rk-err-status { background: var(--rk-err-red-light); color: #991b1b; }
.state-safe .rk-err-status { background: var(--rk-err-green-light); color: #065f46; }

/* Tagi u dołu */
.rk-err-tags {
    padding: 0 50px 30px;
    background: #f8fafc;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-invisible-tag { display: none; } /* Używane tylko w JSON-LD, tu dajemy wizualne na prośbę zachowania stylistyki, ale zapytanie mówi "nie dawaj mi hasztagów widocznych", więc je ukrywam całkowicie dla usera, a zostawiam mechanikę, jeśli by była potrzebna. W tym przypadku usuwam widoczne tagi na polecenie: "nie dawaj mi hasztagów widocznych dla użytkownika osadzie tylko w warstwie strukturalnej" */

@media (max-width: 850px) {
    .rk-err-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .rk-err-header, .rk-err-interactive { padding: 30px 20px; }
    .rk-err-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-err-header h2 { font-size: 26px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-bledy-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Najczęstsze błędy instalacyjne podczas układania rur z barierą tlenową",
    "description": "Niewłaściwy montaż rur podłogowych (brak dylatacji w peszlach, załamywanie PE-RT, brak próby 6 bar) generuje straty rzędu 40 000 PLN po zalaniu jastrychu.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-straty-awarie",
    "name": "Zestawienie strat finansowych z tytułu błędów instalacyjnych Ogrzewania Podłogowego",
    "description": "Dane dotyczące ukrytych wad instalacji płaszczyznowych. Wskazane wartości to 10 000 PLN - 40 000 PLN z tytułu konieczności zrywania wylewek i naprawy uszkodzonych barier EVOH.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki źle ułożonej podłogówki",
      "pęknięta rura w podłodze koszty",
      "jak zabezpieczyć rury w dylatacji",
      "czy można zalać podłogówkę bez ciśnienia",
      "złamana rura pert co robić"
    ],
    "measurementTechnique": "Szacowanie strat na podstawie kosztorysów naprawczych uwzględniających skucie betonu, naprawę dylatacji (PN-EN 1264-4) i testy szczelności (0,6 MPa wg PORT PC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt braku peszla w dylatacji: ścięcie rury przez beton pracujący termicznie.",
        "Koszt prostowania rury PE-RT w rękach: pocienienie ścianki i rozerwanie powłoki EVOH, wyciek w 2-5 lat.",
        "Koszt lania betonu bez ciśnienia: ryzyko zgniecenia rury lub przebicia bez natychmiastowej detekcji (brak gejzeru)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-symulator-bledow",
    "name": "Symulator Błędów Instalacyjnych Podłogówki",
    "description": "Aplikacja edukacyjna pozwalająca użytkownikowi zdiagnozować krytyczne usterki wykonawcze przed wylaniem posadzki i przełączyć tryb na standard inżynierski.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5, CSS3, JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-err-simulator">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Krytyczna Weryfikacja
        </div>
        <h2>Najczęstsze błędy instalacyjne podczas układania rur z barierą tlenową</h2>
        <p>
            Niewłaściwy montaż rur grzewczych generuje ukryte wady instalacji, które ujawniają się dopiero po zalaniu jastrychu betonowego i uruchomieniu ogrzewania. Oszczędność czasu na tym etapie oznacza katastrofę budowlaną.
        </p>
        <div class="rk-err-loss-tag">Potencjalne straty po wylewce: 10 000 PLN – 40 000 PLN</div>
    </div>

    <div class="rk-err-interactive">
        <div class="rk-err-grid">
            
            <div class="rk-err-card state-error" data-id="card-1">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-1">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-1">
                    <svg class="rk-err-svg anim-shake" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <path d="M20 50 L45 50 L50 40 L55 60 L60 50 L80 50" stroke-linejoin="round"/>
                        <circle cx="52" cy="50" r="15" stroke-dasharray="4"/>
                        <path d="M40 20 L60 80" stroke="#fca5a5" stroke-width="2"/>
                    </svg>
                </div>

                <h3>Brak osłon w dylatacjach</h3>
                <p>
                    Prowadzenie rur na wskroś bez osłon ochronnych (peszli). Rozszerzalność liniowa betonu działająca jak gilotyna ścina rurę. Dowiedz się więcej o wymogach dla <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej i dylatacji</a>.
                </p>
                <div class="rk-err-status" id="status-1">
                    <strong>Skutek:</strong> Zniszczenie bariery EVOH, mikropęknięcia i zalanie stropu.
                </div>
            </div>

            <div class="rk-err-card state-error" data-id="card-2">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-2">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-2">
                    <svg class="rk-err-svg" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <path d="M20 80 Q 50 80 50 50 Q 50 20 80 20" stroke-linecap="round"/>
                        <ellipse cx="50" cy="50" rx="6" ry="12" fill="#fca5a5" stroke="none" class="anim-pulse"/>
                        <line x1="35" y1="35" x2="45" y2="45" stroke-width="2"/>
                        <line x1="65" y1="65" x2="55" y2="55" stroke-width="2"/>
                    </svg>
                </div>

                <h3>Załamanie rur PE-RT</h3>
                <p>
                    Prostowanie "w rękach" załamanego przewodu i mocowanie spinkami. Dochodzi do pocienienia ścianki z 2,0 mm do ok. 1,2 mm oraz rozerwania ciągłości EVOH. Sprawdź dokładną <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałość rur grzewczych</a>.
                </p>
                <div class="rk-err-status" id="status-2">
                    <strong>Skutek:</strong> Rozwarstwienie pod wpływem ciśnienia i wyciek w ciągu 2-5 lat.
                </div>
            </div>

            <div class="rk-err-card state-error" data-id="card-3">
                <div class="rk-err-switch-box">
                    <span class="rk-err-switch-label" id="label-3">BŁĄD MONTAŻU</span>
                    <button class="rk-toggle-btn" aria-label="Przełącz standard" type="button">
                        <div class="rk-toggle-circle"></div>
                    </button>
                </div>
                
                <div class="rk-err-icon-wrap" id="icon-3">
                    <svg class="rk-err-svg" viewBox="0 0 100 100" stroke="#ef4444" fill="none" stroke-width="4">
                        <line x1="20" y1="80" x2="80" y2="80" stroke-linecap="round"/>
                        <path d="M50 80 L50 20" class="anim-geyser"/>
                        <path d="M50 20 Q 30 40 45 60" class="anim-geyser"/>
                        <path d="M50 20 Q 70 40 55 60" class="anim-geyser"/>
                    </svg>
                </div>

                <h3>Zalewanie bez ciśnienia</h3>
                <p>
                    Wylewanie miksokreta, gdy w pętlach nie ma ciśnienia na poziomie minimum 3 bar. Ryzyko zgniecenia przewodu przez ciężar betonu podczas prac nad <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewką betonową</a>.
                </p>
                <div class="rk-err-status" id="status-3">
                    <strong>Skutek:</strong> Brak możliwości wykrycia uszkodzenia łopatą w czasie rzeczywistym.
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Definicje SVG dla stanu bezpiecznego (Inżynierskiego)
    const safeSvg1 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <path d="M10 50 L90 50" stroke-width="6" stroke-linecap="round"/>
            <rect x="35" y="35" width="30" height="30" rx="5" stroke-dasharray="4" stroke="#34d399" fill="rgba(52, 211, 153, 0.1)"/>
            <line x1="50" y1="20" x2="50" y2="80" stroke="#a7f3d0" stroke-width="2"/>
        </svg>
    `;
    const errSvg1 = document.getElementById('icon-1').innerHTML;

    const safeSvg2 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <path d="M20 80 Q 50 80 50 50 Q 50 20 80 20" stroke-width="6" stroke-linecap="round"/>
            <path d="M30 65 A 25 25 0 0 1 65 30" stroke="#34d399" stroke-width="2" stroke-dasharray="4"/>
        </svg>
    `;
    const errSvg2 = document.getElementById('icon-2').innerHTML;

    const safeSvg3 = `
        <svg class="rk-err-svg anim-pulse" viewBox="0 0 100 100" stroke="#10b981" fill="none" stroke-width="4">
            <circle cx="50" cy="45" r="30"/>
            <circle cx="50" cy="45" r="4" fill="#10b981"/>
            <line x1="50" y1="45" x2="65" y2="30" stroke-width="3" stroke-linecap="round"/>
            <path d="M40 75 L40 90 L60 90 L60 75" stroke-linejoin="round"/>
        </svg>
    `;
    const errSvg3 = document.getElementById('icon-3').innerHTML;

    const cards = document.querySelectorAll('.rk-err-card');

    for (let i = 0; i < cards.length; i++) {
        let card = cards[i];
        let btn = card.querySelector('.rk-toggle-btn');
        let cardId = card.getAttribute('data-id');
        
        let label = card.querySelector('.rk-err-switch-label');
        let iconBox = card.querySelector('.rk-err-icon-wrap');
        let statusBox = card.querySelector('.rk-err-status');

        btn.addEventListener('click', function() {
            let isError = card.classList.contains('state-error');

            if (isError) {
                // Zmiana na SAFE
                card.classList.remove('state-error');
                card.classList.add('state-safe');
                label.textContent = "STANDARD INŻYNIERSKI";

                if (cardId === 'card-1') {
                    iconBox.innerHTML = safeSvg1;
                    statusBox.innerHTML = "<strong>Norma PN-EN 1264-4:</strong> Rura ochronna o dł. min. 40 cm przejmuje naprężenia wylewki.";
                }
                if (cardId === 'card-2') {
                    iconBox.innerHTML = safeSvg2;
                    statusBox.innerHTML = "<strong>Procedura:</strong> Bezwzględne wycięcie uszkodzonego odcinka lub regeneracja (tylko PEX-a termicznie).";
                }
                if (cardId === 'card-3') {
                    iconBox.innerHTML = safeSvg3;
                    statusBox.innerHTML = "<strong>Wytyczne PORT PC:</strong> Test na wodzie 0,6 MPa przez 24h. Beton lany przy 3 barach roboczych.";
                }
            } else {
                // Zmiana z powrotem na ERROR
                card.classList.remove('state-safe');
                card.classList.add('state-error');
                label.textContent = "BŁĄD MONTAŻU";

                if (cardId === 'card-1') {
                    iconBox.innerHTML = errSvg1;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Zniszczenie bariery EVOH, mikropęknięcia i zalanie stropu.";
                }
                if (cardId === 'card-2') {
                    iconBox.innerHTML = errSvg2;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Rozwarstwienie pod wpływem ciśnienia i wyciek w ciągu 2-5 lat.";
                }
                if (cardId === 'card-3') {
                    iconBox.innerHTML = errSvg3;
                    statusBox.innerHTML = "<strong>Skutek:</strong> Brak możliwości wykrycia uszkodzenia łopatą w czasie rzeczywistym.";
                }
            }
        });
    }
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-blue: #0284c7;
    --rk-case-light: #f8fafc;
    --rk-case-accent: #38bdf8;
    --rk-case-warning: #f59e0b;
    --rk-case-danger: #ef4444;
    --rk-case-success: #10b981;
    --rk-case-gray: #64748b;
    --rk-case-border: #e2e8f0;
    --rk-case-bg: #ffffff;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-case-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-case-container * {
    box-sizing: border-box;
}

/* Nagłówek Case Study */
.rk-case-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-case-dark) 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-case-warning);
    position: relative;
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(245, 158, 11, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 211, 77, 0.2);
}

.rk-case-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
}

.rk-case-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Wstęp do historii */
.rk-case-story {
    padding: 40px 50px;
    background: var(--rk-case-light);
    border-bottom: 1px solid var(--rk-case-border);
    display: flex;
    gap: 30px;
    align-items: center;
}

.rk-case-avatar {
    width: 80px;
    height: 80px;
    background: #e2e8f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--rk-case-gray);
    border: 3px solid #cbd5e1;
}

.rk-case-story-text p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}

.rk-case-story-text strong {
    color: var(--rk-case-dark);
    font-weight: 800;
}

/* Skaner Ofert - Sekcja Interaktywna */
.rk-case-interactive {
    padding: 50px;
    background: #ffffff;
}

.rk-case-int-title {
    text-align: center;
    margin-bottom: 30px;
}

.rk-case-int-title h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 10px 0;
}

.rk-case-int-title p {
    color: var(--rk-case-gray);
    font-size: 15px;
    margin: 0;
}

.rk-scanner-toggle {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-scan-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f1f5f9;
    color: var(--rk-case-gray);
    border: 2px solid var(--rk-case-border);
    padding: 16px 32px;
    border-radius: 16px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-scan-btn svg {
    transition: transform 0.3s;
}

.rk-scan-btn.active {
    background: var(--rk-case-blue);
    color: #ffffff;
    border-color: var(--rk-case-blue);
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
}

.rk-scan-btn.active svg {
    transform: rotate(180deg);
}

/* Grid ofertowy */
.rk-offer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.rk-offer-card {
    border: 2px solid var(--rk-case-border);
    border-radius: 20px;
    padding: 30px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-offer-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-case-border);
}

.rk-offer-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-case-light);
}

.rk-offer-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-case-dark);
    margin: 0 0 5px 0;
}

.rk-offer-subtitle {
    font-size: 13px;
    color: var(--rk-case-gray);
    font-weight: 700;
    text-transform: uppercase;
}

.rk-offer-list {
    list-style: none;
    padding: 0;
    margin: 0 0 25px 0;
}

.rk-offer-list li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 15px;
    font-size: 15px;
    color: #334155;
    line-height: 1.6;
}

.rk-offer-list svg {
    flex-shrink: 0;
    margin-top: 2px;
}

/* Stan "Nieskanowany" (Domyslny) */
.state-default .rk-card-bad .rk-offer-icon { color: var(--rk-case-gray); }
.state-default .rk-card-bad { background: #ffffff; }

/* Stan "Prześwietlony" */
.state-scanned .rk-card-bad {
    background: #fef2f2;
    border-color: #fca5a5;
    box-shadow: 0 10px 30px -10px rgba(239, 68, 68, 0.2);
}

.state-scanned .rk-card-bad .rk-offer-icon {
    background: #fee2e2;
    color: var(--rk-case-danger);
}

.state-scanned .rk-card-good {
    background: #f0fdf4;
    border-color: #6ee7b7;
    box-shadow: 0 10px 30px -10px rgba(16, 185, 129, 0.2);
}

.state-scanned .rk-card-good .rk-offer-icon {
    background: #d1fae5;
    color: var(--rk-case-success);
}

/* Dynamiczne modyfikatory list */
.rk-hidden-truth {
    display: none;
    font-size: 13px;
    font-weight: 800;
    margin-top: 5px;
    padding: 8px 12px;
    border-radius: 6px;
}

.state-scanned .rk-hidden-truth.danger {
    display: block;
    background: #fee2e2;
    color: #991b1b;
}

.state-scanned .rk-hidden-truth.success {
    display: block;
    background: #d1fae5;
    color: #065f46;
}

.rk-total-price {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-case-dark);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-top: 20px;
    border-top: 1px solid var(--rk-case-border);
}

.rk-price-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-gray);
    text-transform: uppercase;
}

.state-scanned .rk-card-bad .rk-total-price span { color: var(--rk-case-danger); }
.state-scanned .rk-card-good .rk-total-price span { color: var(--rk-case-success); }

@media (max-width: 850px) {
    .rk-offer-grid { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 600px) {
    .rk-case-header, .rk-case-story, .rk-case-interactive { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 26px; }
    .rk-case-story { flex-direction: column; text-align: center; gap: 20px; }
    .rk-offer-card { padding: 25px 20px; }
    .rk-scan-btn { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Case Study: Pan Bolesław i haczyki w wycenie lokalnej hurtowni",
    "description": "Studium przypadku weryfikacji zestawienia materiałowego do ogrzewania podłogowego. Dlaczego hurtownie proponują tanie rury bez bariery EVOH?",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-porownanie-wycen",
    "name": "Weryfikacja Inżynierska Zestawienia Materiałowego",
    "description": "Baza danych porównująca pozornie tanie oferty hurtowni instalacyjnych (rury bez EVOH) z poprawnymi zestawieniami inżynierskimi.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "sprawdzanie wyceny ogrzewania podłogowego",
      "tania rura do podłogówki opinie",
      "kosztorys instalacji sanitarnych",
      "braki w wycenie hurtowni",
      "niezależny projektant hvac"
    ],
    "measurementTechnique": "Analiza krzyżowa komponentów z oferty hurtowej pod kątem występowania rur jedno- i wielowarstwowych oraz kalkulacja całkowitych kosztów eksploatacji (TCO).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Oferta hurtowni: Rura PE-RT jedno-warstwowa, brak certyfikacji, oszczędność początkowa ok. 800 PLN.",
        "Weryfikacja ekspercka: Zastosowanie rury PEX-a EVOH, gwarancja zabezpieczenia kotła, wyeliminowanie ukrytego ryzyka korozji."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-skaner-kosztorysu",
    "name": "Skaner Ofert Hurtowych",
    "description": "Interaktywny symulator pozwalający użytkownikowi prześwietlić pozornie tanie zestawienie materiałowe z hurtowni i ujawnić ukryte błędy projektowe (brak bariery tlenowej).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-case-app">
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
            Studium Przypadku
        </div>
        <h2>Case Study: Pan Bolesław i wycena z lokalnej hurtowni</h2>
        <p>
            Teoria to jedno, ale jak wygląda to na prawdziwym placu budowy? Sprawdźmy autentyczny przypadek weryfikacji zestawienia materiałowego.
        </p>
    </div>

    <div class="rk-case-story">
        <div class="rk-case-avatar">
            <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg>
        </div>
        <div class="rk-case-story-text">
            <p>
                <strong>Zarys sytuacji:</strong> Pan Bolesław buduje nowoczesny dom jednorodzinny pod Łodzią. Wysłał rzuty budynku do lokalnej dużej hurtowni hydraulicznej i otrzymał wycenę materiałów na ogrzewanie podłogowe. Kwota wydawała się bardzo atrakcyjna, jednak przed zakupem Pan Bolesław zgłosił się do naszego biura z prośbą o niezależną weryfikację inżynierską całego zestawienia. 
            </p>
        </div>
    </div>

    <div class="rk-case-interactive" id="rkScanContainer">
        <div class="rk-case-int-title">
            <h3>Porównaj wyceny materiałowe</h3>
            <p>Hurtownia kontra niezależny standard projektowy. Kliknij przycisk poniżej.</p>
        </div>

        <div class="rk-scanner-toggle">
            <button class="rk-scan-btn" id="rkScanBtn">
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Prześwietl ofertę hurtowni okiem inżyniera
            </button>
        </div>

        <div class="rk-offer-grid state-default" id="rkOfferGrid">
            
            <div class="rk-offer-card rk-card-bad">
                <div class="rk-offer-header">
                    <div class="rk-offer-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg>
                    </div>
                    <div>
                        <h4 class="rk-offer-title">Zestawienie Hurtowni</h4>
                        <div class="rk-offer-subtitle">Cel: Najniższa cena końcowa</div>
                    </div>
                </div>
                
                <ul class="rk-offer-list">
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Rozdzielacz mosiężny 10 sekcji
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Szafka podtynkowa i złączki
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            <strong>Rura PE-RT 16x2.0 (jednowarstwowa)</strong>
                            <div class="rk-hidden-truth danger">UKRYTY KOSZT: Brak bariery EVOH. Gwarantowane zamulenie kotła i zniszczenie pompy do 5 lat od uruchomienia. Koszt awarii ok. 8 000 PLN.</div>
                        </div>
                    </li>
                </ul>

                <div class="rk-total-price">
                    <div class="rk-price-label">Koszt materiału</div>
                    <span>4 200 PLN</span>
                </div>
            </div>

            <div class="rk-offer-card rk-card-good">
                <div class="rk-offer-header">
                    <div class="rk-offer-icon">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                    </div>
                    <div>
                        <h4 class="rk-offer-title">Weryfikacja Projektanta</h4>
                        <div class="rk-offer-subtitle">Cel: 50 lat bezpieczeństwa</div>
                    </div>
                </div>
                
                <ul class="rk-offer-list">
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Rozdzielacz stal nierdzewna
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            Złączki typu Press (systemowe)
                        </div>
                    </li>
                    <li>
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        <div>
                            <strong>Rura PEX-a 5L z barierą EVOH</strong>
                            <div class="rk-hidden-truth success">OCHRONA: Zgodność z normą DIN 4726. Pełna blokada tlenu. Kotłownia pracuje w bezpiecznym środowisku beztlenowym.</div>
                        </div>
                    </li>
                </ul>

                <div class="rk-total-price">
                    <div class="rk-price-label">Koszt materiału</div>
                    <span>5 900 PLN</span>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const scanBtn = document.getElementById('rkScanBtn');
    const offerGrid = document.getElementById('rkOfferGrid');

    scanBtn.addEventListener('click', function() {
        let isScanned = offerGrid.classList.contains('state-scanned');

        if (isScanned) {
            // Wróć do domyślnego
            offerGrid.classList.remove('state-scanned');
            offerGrid.classList.add('state-default');
            scanBtn.classList.remove('active');
            scanBtn.innerHTML = `
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Prześwietl ofertę hurtowni okiem inżyniera
            `;
        } else {
            // Włącz skaner
            offerGrid.classList.remove('state-default');
            offerGrid.classList.add('state-scanned');
            scanBtn.classList.add('active');
            scanBtn.innerHTML = `
                <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path><circle cx="12" cy="12" r="3"></circle></svg>
                Zamknij skaner
            `;
        }
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-light: #f8fafc;
    --rk-auth-accent: #0ea5e9;
    --rk-auth-gold: #d97706;
    --rk-auth-gold-light: #fef3c7;
    --rk-auth-gray: #64748b;
    --rk-auth-border: #e2e8f0;
    --rk-auth-bg: #ffffff;
}

.rk-auth-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-auth-container * {
    box-sizing: border-box;
}

/* Nagłówek Sekcji */
.rk-auth-header {
    padding: 45px 50px 35px;
    background: var(--rk-auth-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    text-align: center;
}

.rk-auth-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(217, 119, 6, 0.2);
    color: #fcd34d;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(252, 211, 77, 0.2);
}

.rk-auth-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

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

/* Profil Autora i Cytat */
.rk-auth-profile-box {
    padding: 45px 50px;
    background: #ffffff;
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: start;
}

/* Lewa Kolumna - Zdjęcie i Sociale */
.rk-auth-sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    padding: 6px;
    background: linear-gradient(135deg, var(--rk-auth-gold) 0%, var(--rk-auth-blue) 100%);
    margin-bottom: 20px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
}

.rk-auth-name-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
}

.rk-auth-role {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-auth-gray);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 20px;
}

.rk-auth-socials {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.rk-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    transition: background-color 0.2s, color 0.2s;
}

.rk-social-fb {
    background: #f1f5f9;
    color: #1877F2;
    border: 1px solid #e2e8f0;
}

.rk-social-fb:hover {
    background: #1877F2;
    color: #ffffff;
}

.rk-social-li {
    background: #f1f5f9;
    color: #0A66C2;
    border: 1px solid #e2e8f0;
}

.rk-social-li:hover {
    background: #0A66C2;
    color: #ffffff;
}

/* Prawa Kolumna - Interaktywny Blok Ekspercki */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

.rk-auth-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--rk-auth-border);
    padding-bottom: 10px;
}

.rk-auth-tab-btn {
    background: transparent;
    border: none;
    padding: 10px 15px;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-auth-gray);
    cursor: pointer;
    border-radius: 8px;
    transition: background-color 0.2s, color 0.2s;
}

.rk-auth-tab-btn:hover {
    background: var(--rk-auth-light);
    color: var(--rk-auth-dark);
}

.rk-auth-tab-btn.active {
    background: var(--rk-auth-dark);
    color: #ffffff;
}

.rk-auth-panel {
    display: none;
}

.rk-auth-panel.active {
    display: block;
}

/* Stylizacja samego cytatu */
.rk-quote-wrap {
    position: relative;
    padding: 35px 40px;
    background: var(--rk-auth-gold-light);
    border-radius: 0 20px 20px 20px;
    border-left: 6px solid var(--rk-auth-gold);
}

.rk-quote-mark {
    position: absolute;
    top: -15px;
    left: 20px;
    font-size: 80px;
    line-height: 1;
    font-family: Georgia, serif;
    color: rgba(217, 119, 6, 0.15);
    font-weight: 900;
}

.rk-quote-text {
    position: relative;
    z-index: 2;
    font-size: 18px;
    line-height: 1.7;
    color: var(--rk-auth-dark);
    font-weight: 700;
    margin: 0 0 20px 0;
}

.rk-quote-text strong {
    color: var(--rk-auth-gold);
    font-weight: 900;
}

.rk-quote-sign {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-auth-dark);
}

.rk-quote-sign::before {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    background: var(--rk-auth-gold);
}

@media (max-width: 850px) {
    .rk-auth-profile-box {
        grid-template-columns: 1fr;
        gap: 35px;
    }
    .rk-auth-sidebar {
        flex-direction: row;
        text-align: left;
        align-items: center;
        flex-wrap: wrap;
        gap: 25px;
        padding-bottom: 30px;
        border-bottom: 1px solid var(--rk-auth-border);
    }
    .rk-auth-photo-wrap {
        width: 120px;
        height: 120px;
        margin-bottom: 0;
    }
    .rk-auth-socials {
        width: auto;
        flex-direction: row;
    }
    .rk-social-btn {
        padding: 10px 20px;
    }
}

@media (max-width: 600px) {
    .rk-auth-header, .rk-auth-profile-box { padding: 30px 20px; }
    .rk-auth-header h2 { font-size: 26px; }
    
    .rk-auth-sidebar {
        flex-direction: column;
        text-align: center;
    }
    .rk-auth-socials {
        flex-direction: column;
        width: 100%;
    }
    .rk-auth-tabs {
        flex-direction: column;
        border-bottom: none;
        gap: 5px;
    }
    .rk-auth-tab-btn {
        width: 100%;
        text-align: center;
        border: 1px solid var(--rk-auth-border);
    }
    .rk-auth-tab-btn.active {
        border-color: var(--rk-auth-dark);
    }
    .rk-quote-wrap {
        padding: 30px 20px;
        border-radius: 16px;
    }
    .rk-quote-text {
        font-size: 16px;
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-podsumowanie-autorskie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Okiem eksperta: Robert Kucharski o rurach z barierą EVOH",
    "description": "Autorskie podsumowanie inżynierskie dotyczące bezwzględnej konieczności stosowania rur z barierą antydyfuzyjną EVOH w systemach płaszczyznowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-zalecenia-inżynierskie",
    "name": "Zestawienie autorskich zaleceń inżynierskich dotyczących rur EVOH",
    "description": "Baza wiedzy zawierająca ostateczne wytyczne instalacyjne i inwestycyjne sformułowane na podstawie tysięcy zrealizowanych projektów HVAC.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "podsumowanie instalacji podłogowej",
      "opinia eksperta o rurach evoh",
      "robert kucharski projekt ogrzewania",
      "jaką rurę do podłogówki kupić 2026",
      "gwarancja na systemy płaszczyznowe"
    ],
    "measurementTechnique": "Wnioski empiryczne wyciągnięte na podstawie długoletniej praktyki inżynierskiej, testów ciśnieniowych oraz analizy awaryjności systemów bez EVOH.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura bez warstwy EVOH to drastyczne ryzyko dla każdego elementu mechanicznego w kotłowni.",
        "Oszczędność rzędu kilkuset złotych na materiale rury skutkuje awariami liczonymi w tysiącach złotych.",
        "Profesjonalny dobór gwarantuje 50 lat bezawaryjnej i stabilnej pracy układu hydraulicznego."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-ekspert-doradztwo",
    "name": "Interaktywny Panel Doradztwa Inżynierskiego",
    "description": "Moduł ekspercki umożliwiający szybkie zapoznanie się z wieloma aspektami opinii inżynierskiej (Rada Techniczna, Wniosek Finansowy, Ostateczna Gwarancja) bez przeładowywania strony.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="rk-expert-panel">
    <div class="rk-auth-header">
        <div class="rk-auth-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Podsumowanie Techniczne
        </div>
        <h2>Okiem eksperta: Robert Kucharski</h2>
        <p>
            Po zaprojektowaniu setek układów hydraulicznych, widziałem na placach budowy wszystko. Poniżej przedstawiam moje ostateczne wnioski dotyczące stosowania barier antydyfuzyjnych.
        </p>
    </div>

    <div class="rk-auth-profile-box">
        
        <!-- Lewy Panel - Profil i Linki -->
        <div class="rk-auth-sidebar">
            <div class="rk-auth-photo-wrap">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC" class="rk-auth-photo" loading="lazy">
            </div>
            
            <div class="rk-auth-person-info">
                <h3 class="rk-auth-name-title">Robert Kucharski</h3>
                <div class="rk-auth-role">CEO Projekt-Ogrzewania.pl</div>
                
                <div class="rk-auth-socials">
                    <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn rk-social-fb" aria-label="Profil Facebook">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.469h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.469h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg>
                        Facebook
                    </a>
                    <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn rk-social-li" aria-label="Profil LinkedIn">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" stroke="none"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg>
                        LinkedIn
                    </a>
                </div>
            </div>
        </div>

        <!-- Prawy Panel - Interaktywne Zakładki i Cytat -->
        <div class="rk-auth-content">
            
            <div class="rk-auth-tabs" id="rkExpertTabs">
                <button class="rk-auth-tab-btn active" data-target="panel-tech">Rada Techniczna</button>
                <button class="rk-auth-tab-btn" data-target="panel-fin">Wniosek Finansowy</button>
                <button class="rk-auth-tab-btn" data-target="panel-gwar">Gwarancja Trwałości</button>
            </div>

            <!-- Panel 1: Techniczny -->
            <div class="rk-auth-panel active" id="panel-tech">
                <div class="rk-quote-wrap">
                    <div class="rk-quote-mark">"</div>
                    <p class="rk-quote-text">
                        Brak powłoki antydyfuzyjnej to nie jest kwestia drobnej nieszczelności. To wpuszczenie niewidzialnego wroga prosto do serca instalacji. <strong>Tlen rozpuszczony w zładzie działa jak powolna trucizna</strong>, która zamienia najdroższe, stalowe i mosiężne elementy Twojej kotłowni w bezużyteczny szlam magnetytowy.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

            <!-- Panel 2: Finansowy -->
            <div class="rk-auth-panel" id="panel-fin">
                <div class="rk-quote-wrap" style="background: #f0fdf4; border-color: #10b981;">
                    <div class="rk-quote-mark" style="color: rgba(16, 185, 129, 0.15);">"</div>
                    <p class="rk-quote-text" style="color: #064e3b;">
                        Największym dramatem inwestorów, z jakim spotykam się na co dzień, jest oszczędzanie na niewidocznych elementach. Decyzja o zakupie tańszej rury to <strong>pozorna oszczędność rzędu 500 PLN, która po 3 latach skutkuje awarią kotła wycenianą na 8 000 PLN.</strong> Zawsze edukuję klientów: beton wybaczy wiele, ale hydraulika rozliczy każdy błąd.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

            <!-- Panel 3: Gwarancja -->
            <div class="rk-auth-panel" id="panel-gwar">
                <div class="rk-quote-wrap" style="background: #f0f9ff; border-color: #0284c7;">
                    <div class="rk-quote-mark" style="color: rgba(2, 132, 199, 0.15);">"</div>
                    <p class="rk-quote-text" style="color: #075985;">
                        Jeżeli zastosujesz 5-warstwową rurę EVOH, połączysz ją dedykowanymi złączkami zaprasowywanymi i przeprowadzisz rzetelną próbę ciśnieniową przed wylewką, możesz spać spokojnie. <strong>Taki układ, poparty solidnym projektem OZC, to gwarancja ponad 50 lat całkowicie bezawaryjnej pracy posadzki.</strong> W ten sposób buduje się domy na pokolenia.
                    </p>
                    <div class="rk-quote-sign">Robert Kucharski</div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-auth-tab-btn');
    const panels = document.querySelectorAll('.rk-auth-panel');

    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            
            // Usunięcie klasy active z przycisków
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            
            // Ukrycie wszystkich paneli
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }

            // Nadanie active klikniętemu przyciskowi
            this.classList.add('active');

            // Pokazanie docelowego panelu
            let targetId = this.getAttribute('data-target');
            let targetPanel = document.getElementById(targetId);
            
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });
    }
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-light-blue: #f0f9ff;
    --rk-faq-green: #10b981;
    --rk-faq-gray: #64748b;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
    --rk-faq-hover: #f8fafc;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-faq-blue);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-top {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, #1e293b 0%, var(--rk-faq-dark) 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-faq-blue);
}

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.25);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-faq-top h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.25;
    color: #ffffff;
}

.rk-faq-top p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Interaktywny Akordeon FAQ */
.rk-faq-wrapper {
    padding: 40px 50px;
    background: var(--rk-faq-hover);
}

.rk-faq-item {
    background: #ffffff;
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.rk-faq-item:last-child {
    margin-bottom: 0;
}

.rk-faq-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 20px -10px rgba(2, 132, 199, 0.15);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 15px 30px -10px rgba(2, 132, 199, 0.2);
}

.rk-faq-header {
    padding: 24px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    gap: 20px;
}

.rk-faq-q-box {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-faq-icon-q {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--rk-faq-light-blue);
    color: var(--rk-faq-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 18px;
    transition: all 0.3s;
}

.rk-faq-item.active .rk-faq-icon-q {
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
}

.rk-faq-toggle {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #f1f5f9;
    color: var(--rk-faq-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-toggle {
    background: var(--rk-faq-blue);
    color: #ffffff;
    transform: rotate(180deg);
}

.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-body {
    padding: 0 30px 30px 85px;
}

.rk-faq-body p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
}

.rk-faq-body a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-faq-body a:hover {
    color: #0369a1;
}

/* Call to Action */
.rk-faq-cta {
    padding: 45px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-faq-border);
}

.rk-faq-cta h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0 0 15px 0;
}

.rk-faq-cta p {
    font-size: 16px;
    color: #64748b;
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-btn-solid {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-faq-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-btn-solid:hover {
    transform: translateY(-5px);
    background: #0369a1;
    box-shadow: 0 20px 35px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-solid svg {
    transition: transform 0.3s;
}

.rk-btn-solid:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-faq-top, .rk-faq-wrapper, .rk-faq-cta { padding: 30px 20px; }
    .rk-faq-header { padding: 20px; flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-faq-q-box { width: 100%; align-items: flex-start; }
    .rk-faq-toggle { position: absolute; right: 20px; top: 25px; }
    .rk-faq-body { padding: 0 20px 25px 20px; }
    .rk-faq-top h2 { font-size: 26px; }
    .rk-btn-solid { width: 100%; padding: 18px 20px; font-size: 16px; }
    .rk-faq-item { position: relative; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Kompleksowe FAQ – Najważniejsze pytania inwestorów o EVOH",
    "description": "Baza wiedzy technicznej: zniszczenie bariery EVOH, weryfikacja rur, glikol w instalacji oraz zastosowanie inhibitorów korozji.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#faqpage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy barierę EVOH można zniszczyć podczas montażu ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, w rurach 3-warstwowych (3L) powłoka EVOH znajduje się na zewnątrz i może zostać zarysowana przez ostre krawędzie spinek tackera lub zatarte zanieczyszczenia na styropianie. Dlatego należy stosować wyłącznie certyfikowane rury 5-warstwowe (5L), gdzie warstwa EVOH jest ukryta w rdzeniu struktury rury i chroniona zewnętrznym grubym polietylenem."
        }
      },
      {
        "@type": "Question",
        "name": "Jak sprawdzić, czy zakupiona rura rzeczywiście posiada sprawną barierę antydyfuzyjną?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Należy zweryfikować nadruk na rurze, który musi zawierać jasne oznaczenie normy PN-EN ISO 21003 lub niemieckiego certyfikatu DIN 4726 wraz z unikalnym numerem rejestracyjnym jednostki certyfikującej (np. DIN-Geprüft). Dodatkowo, po odcięciu nożycami kawałka rury, pod lupą można wyraźnie dostrzec pięć warstw materiału, w tym ciemniejszy, błyszczący pierścień kopolimeru EVOH."
        }
      },
      {
        "@type": "Question",
        "name": "Czy w przypadku zalania instalacji glikolem bariera EVOH nadal jest potrzebna?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, powłoka EVOH jest absolutnie niezbędna również w instalacjach glikolowych, ponieważ tlen przyspiesza proces termicznej degradacji i starzenia glikolu, obniżając jego odczyn pH. Zakwaszony roztwór glikolu staje się skrajnie agresywny chemicznie dla mosiężnych rozdzielaczy i uszczelnień EPDM, co prowadzi do rozszczelnienia połączeń na eurokonusach."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest różnica w przewodzeniu ciepła rury PEX z EVOH a rury wielowarstwowej z wkładką aluminiową (PEX-Al-PEX)?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Rura PEX-Al-PEX posiada grubszą wkładkę aluminiową (lambda ok. 200 W/(m·K)), jednak jej finalny, wypadkowy opór cieplny jest zbliżony do rury PEX-EVOH, ponieważ główny opór stanowi gruba warstwa polietylenu. W praktyce inżynierskiej obie rury oddają energię do jastrychu betonowego z niemal identyczną wydajnością cieplną wynoszącą od 70 do 100 W/m²."
        }
      },
      {
        "@type": "Question",
        "name": "Czy inhibitor korozji wlany do wody w 100% zastąpi brak bariery antydyfuzyjnej w rurach?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie, chemiczne inhibitory korozji mają ograniczoną pojemność absorpcji tlenu i ulegają stopniowemu zużyciu (przereagowaniu) w miarę ciągłego dopływu nowego gazu. W instalacji z rurami bez EVOH, gdzie tlen przenika bezustannie przez całą dobę, konieczne byłoby cotygodniowe dozowanie nowych dawek chemii, co jest niewykonalne i ekonomicznie nieuzasadnione."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-faq",
    "name": "Parametry Fizyczne i Eksploatacyjne Rur z EVOH",
    "description": "Zestawienie inżynierskie dotyczące powłok EVOH, przewodzenia ciepła rur PEX-Al-PEX oraz parametrów degradacji glikolu.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy barierę EVOH można zniszczyć",
      "jak sprawdzić rurę z barierą antydyfuzyjną",
      "glikol w instalacji z barierą EVOH",
      "rura PEX-Al-PEX a rura EVOH różnice",
      "inhibitor korozji zamiast rury EVOH"
    ],
    "measurementTechnique": "Weryfikacja organoleptyczna nadruków DIN 4726, pomiar przewodności cieplnej (lambda) oraz analiza kwasowości (pH) starzejącego się glikolu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wyższość rur 5-warstwowych nad 3-warstwowymi ze względu na osłonę mechaniczną.",
        "Potwierdzona wydajność cieplna dla jastrychu betonowego: od 70 do 100 W/m²."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-faq",
    "name": "Moduł Wyszukiwania Odpowiedzi Inżynierskich EVOH",
    "description": "Interaktywny akordeon dynamicznie prezentujący zoptymalizowane rozwiązania techniczne i normy (PN-EN ISO 21003) na zadane zapytania.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="rk-evoh-faq-app">
    <div class="rk-faq-top">
        <div class="rk-faq-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy
        </div>
        <h2>Kompleksowe FAQ – Najważniejsze pytania inwestorów</h2>
        <p>
            Poznaj kluczowe detale technologiczne, które decydują o trwałości Twojego ogrzewania płaszczyznowego. Rozwiń pytania poniżej, aby poznać fachowe odpowiedzi.
        </p>
    </div>

    <div class="rk-faq-wrapper" id="rkFaqList">
        
        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy barierę EVOH można zniszczyć podczas montażu ogrzewania podłogowego?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Tak, w rurach 3-warstwowych (3L) powłoka EVOH znajduje się na zewnątrz i może zostać zarysowana przez ostre krawędzie spinek tackera lub zatarte zanieczyszczenia na styropianie. Dlatego należy stosować wyłącznie certyfikowane rury 5-warstwowe (5L), gdzie warstwa EVOH jest ukryta w rdzeniu struktury rury i chroniona zewnętrznym grubym polietylenem. Uniknięcie tego to jeden z głównych kroków opisujących <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstsze błędy przy montażu ogrzewania podłogowego</a>.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Jak sprawdzić, czy zakupiona rura rzeczywiście posiada sprawną barierę antydyfuzyjną?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Należy zweryfikować nadruk na rurze, który musi zawierać jasne oznaczenie normy <strong>PN-EN ISO 21003</strong> lub niemieckiego certyfikatu <strong>DIN 4726</strong> wraz z unikalnym numerem rejestracyjnym jednostki certyfikującej (np. DIN-Geprüft). Dodatkowo, po odcięciu nożycami kawałka rury, pod lupą można wyraźnie dostrzec pięć warstw materiału, w tym ciemniejszy, błyszczący pierścień kopolimeru EVOH.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy w przypadku zalania instalacji glikolem bariera EVOH nadal jest potrzebna?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Tak, powłoka EVOH jest absolutnie niezbędna również w instalacjach glikolowych, ponieważ tlen przyspiesza proces termicznej degradacji i starzenia glikolu, obniżając jego odczyn pH. Zakwaszony roztwór staje się skrajnie agresywny chemicznie dla mosiężnych rozdzielaczy i uszczelnień EPDM, co prowadzi do rozszczelnienia połączeń na eurokonusach. Więcej o tym zagadnieniu przeczytasz analizując <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/">prawdy i mity o glikolu w ogrzewaniu podłogowym</a>.
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Jaka jest różnica w przewodzeniu ciepła rury PEX z EVOH a rury wielowarstwowej z wkładką aluminiową (PEX-Al-PEX)?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Rura PEX-Al-PEX posiada grubszą wkładkę aluminiową (lambda ok. 200 W/(m·K)), jednak jej finalny, wypadkowy opór cieplny jest zbliżony do standardowej <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">rury do ogrzewania podłogowego</a> PEX-EVOH, ponieważ główny opór zawsze stanowi gruba warstwa polietylenu. W praktyce inżynierskiej obie rury oddają energię do jastrychu betonowego z niemal identyczną wydajnością cieplną wynoszącą od 70 do 100 W/m².
                    </p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <div class="rk-faq-header" role="button" tabindex="0">
                <div class="rk-faq-q-box">
                    <div class="rk-faq-icon-q">Q</div>
                    <h3 class="rk-faq-title">Czy inhibitor korozji wlany do wody w 100% zastąpi brak bariery antydyfuzyjnej w rurach?</h3>
                </div>
                <div class="rk-faq-toggle">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </div>
            <div class="rk-faq-content">
                <div class="rk-faq-body">
                    <p>
                        Nie, chemiczne inhibitory korozji mają ograniczoną pojemność absorpcji tlenu i ulegają stopniowemu zużyciu (przereagowaniu) w miarę ciągłego dopływu nowego gazu. W instalacji z rurami bez EVOH, gdzie tlen przenika bezustannie przez całą dobę, konieczne byłoby cotygodniowe dozowanie nowych dawek chemii. Choć <a href="https://projekt-ogrzewania.pl/woda-demineralizowana-z-inhibitorem-korozji-do-ogrzewania-podlogowego/">woda demineralizowana z inhibitorem korozji</a> jest wysoce zalecana, to nigdy nie zastąpi fizycznej bariery polimerowej.
                    </p>
                </div>
            </div>
        </div>

    </div>

    <div class="rk-faq-cta">
        <h3>Uniknij błędów zanim wylejesz beton</h3>
        <p>
            Ogrzewanie podłogowe to system, w którym nie ma miejsca na domysły. Błędy hydrauliczne ujawniają się dopiero po ułożeniu płytek, generując ogromne straty.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-solid">
            CZYTAJ WIĘCEJ NA BLOGU
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const faqItems = document.querySelectorAll('.rk-faq-item');

    for (let i = 0; i < faqItems.length; i++) {
        let currentHeader = faqItems[i].querySelector('.rk-faq-header');
        
        currentHeader.addEventListener('click', function() {
            let isItemActive = faqItems[i].classList.contains('active');

            // Zwiń wszystkie
            for (let j = 0; j < faqItems.length; j++) {
                faqItems[j].classList.remove('active');
                let contentBody = faqItems[j].querySelector('.rk-faq-content');
                if (contentBody) {
                    contentBody.style.maxHeight = null;
                }
            }

            // Rozwiń kliknięty (jeśli był zwinięty)
            if (isItemActive === false) {
                faqItems[i].classList.add('active');
                let targetContent = faqItems[i].querySelector('.rk-faq-content');
                if (targetContent) {
                    targetContent.style.maxHeight = targetContent.scrollHeight + "px";
                }
            }
        });

        // Obsługa z klawiatury dla dostępności
        currentHeader.addEventListener('keydown', function(e) {
            if (e.key === 'Enter') {
                if (e.key !== 'Tab') {
                    e.preventDefault();
                    this.click();
                }
            }
            if (e.key === ' ') {
                e.preventDefault();
                this.click();
            }
        });
    }
});
</script>



<style>
:root {
    --rk-sum-dark: #0f172a;
    --rk-sum-blue: #0284c7;
    --rk-sum-light-blue: #f0f9ff;
    --rk-sum-green: #10b981;
    --rk-sum-green-light: #dcfce7;
    --rk-sum-red: #ef4444;
    --rk-sum-red-light: #fef2f2;
    --rk-sum-gold: #eab308;
    --rk-sum-gray: #64748b;
    --rk-sum-border: #e2e8f0;
    --rk-sum-bg: #ffffff;
}

.rk-evoh-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-sum-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(2, 132, 199, 0.15);
    border: 1px solid var(--rk-sum-blue);
    overflow: hidden;
}

/* Nagłówek */
.rk-evoh-header {
    padding: 45px 50px 35px;
    background: linear-gradient(135deg, var(--rk-sum-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-sum-blue);
}

.rk-evoh-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(2, 132, 199, 0.3);
    color: #38bdf8;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(56, 189, 248, 0.2);
}

.rk-evoh-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.2;
    color: #ffffff;
}

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

/* Interaktywny Panel */
.rk-evoh-interactive {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-evoh-tabs {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-evoh-tab-btn {
    flex: 1;
    padding: 20px;
    border-radius: 16px;
    border: 2px solid var(--rk-sum-border);
    background: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-evoh-tab-btn::before {
    content: '';
    position: absolute;
    top: 0; left: 0; bottom: 0; width: 6px;
    background: var(--rk-sum-gray);
    transition: all 0.3s ease;
}

.rk-evoh-tab-btn:hover {
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
    transform: translateY(-2px);
}

.rk-evoh-tab-btn.active[data-target="panel-pro"] {
    border-color: var(--rk-sum-green);
    background: var(--rk-sum-green-light);
}

.rk-evoh-tab-btn.active[data-target="panel-pro"]::before {
    background: var(--rk-sum-green);
}

.rk-evoh-tab-btn.active[data-target="panel-risk"] {
    border-color: var(--rk-sum-red);
    background: var(--rk-sum-red-light);
}

.rk-evoh-tab-btn.active[data-target="panel-risk"]::before {
    background: var(--rk-sum-red);
}

.rk-evoh-tab-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: var(--rk-sum-gray);
}

.active[data-target="panel-pro"] .rk-evoh-tab-icon { background: var(--rk-sum-green); color: #fff; }
.active[data-target="panel-risk"] .rk-evoh-tab-icon { background: var(--rk-sum-red); color: #fff; }

.rk-evoh-tab-text h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-sum-dark);
}

.rk-evoh-tab-text p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

/* Wynik symulacji */
.rk-evoh-panel {
    display: none;
    grid-template-columns: 140px 1fr;
    gap: 30px;
    align-items: start;
    padding: 35px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid var(--rk-sum-border);
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    animation: fadeIn 0.4s ease-out;
}

.rk-evoh-panel.active {
    display: grid;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-evoh-svg-box {
    width: 100%;
    max-width: 140px;
    margin: 0 auto;
}

.rk-evoh-content h4 {
    margin: 0 0 15px 0;
    font-size: 22px;
    font-weight: 800;
}

.panel-pro-text h4 { color: #047857; }
.panel-risk-text h4 { color: #b91c1c; }

.rk-evoh-content p {
    margin: 0 0 15px 0;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.rk-evoh-content strong {
    color: var(--rk-sum-dark);
    font-weight: 800;
}

.rk-evoh-content a {
    color: var(--rk-sum-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-evoh-content a:hover {
    color: #0369a1;
}

/* Sekcja Tagi */
.rk-evoh-tags {
    padding: 0 50px 30px;
    background: #f8fafc;
}

.rk-evoh-tags-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-mat-tag {
    background: var(--rk-sum-light-blue);
    color: var(--rk-sum-blue);
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #bae6fd;
    transition: all 0.3s;
    cursor: default;
}

.rk-mat-tag:hover {
    background: var(--rk-sum-blue);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

/* CTA */
.rk-sum-cta-box {
    padding: 45px 50px;
    background: #ffffff;
    text-align: center;
    border-top: 1px solid var(--rk-sum-border);
}

.rk-sum-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-sum-dark);
    margin: 0 0 15px 0;
}

.rk-sum-cta-text {
    font-size: 16px;
    color: #64748b;
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-sum-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-btn-massive:hover {
    transform: translateY(-5px);
    background: #0369a1;
    box-shadow: 0 20px 35px -5px rgba(2, 132, 199, 0.5);
    border-color: #7dd3fc;
}

.rk-btn-massive svg {
    transition: transform 0.3s;
}

.rk-btn-massive:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-evoh-header, .rk-evoh-interactive, .rk-sum-cta-box, .rk-evoh-tags { padding: 30px 20px; }
    .rk-evoh-tabs { flex-direction: column; gap: 15px; }
    .rk-evoh-panel { grid-template-columns: 1fr; text-align: center; padding: 25px 20px; }
    .rk-evoh-svg-box { max-width: 100px; margin: 0 auto 20px; }
    .rk-evoh-header h2 { font-size: 26px; }
    .rk-btn-massive { width: 100%; padding: 18px 20px; font-size: 16px; }
}

/* SVG Animations */
.anim-pipe-flow {
    stroke-dasharray: 10;
    animation: flowAnim 2s linear infinite;
}
@keyframes flowAnim {
    to { stroke-dashoffset: -20; }
}
.anim-pulse-warning {
    animation: pulseWarning 1.5s infinite alternate;
    transform-origin: center;
}
@keyframes pulseWarning {
    from { transform: scale(1); opacity: 1; }
    to { transform: scale(1.1); opacity: 0.8; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Podsumowanie i Rekomendacja Inżynierska – Dlaczego EVOH to konieczność?",
    "description": "Zastosowanie rury z barierą antydyfuzyjną (EVOH) to bezwzględny warunek techniczny dla ogrzewania płaszczyznowego. Sprawdź konsekwencje braku bariery dla kotłowni.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-20",
    "dateModified": "2026-06-20"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-evoh",
    "name": "Kalkulacja Ryzyka i Kosztów Awarii Brak EVOH 2026",
    "description": "Zestawienie kosztów pozornych oszczędności na rurach bez bariery antydyfuzyjnej względem drastycznych konsekwencji eksploatacyjnych (spadek sprawności o 15-30% i uszkodzenia kotłów).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "skutki braku bariery tlenowej",
      "ogrzewanie podłogowe koszty awarii",
      "zarastanie instalacji szlamem",
      "rura z barierą antydyfuzyjną evoh cena",
      "najlepsze rury do ogrzewania podłogowego"
    ],
    "measurementTechnique": "Porównanie nakładów inwestycyjnych rzędu 400-800 PLN do procentowego spadku sprawności instalacji i kosztów zniszczonych urządzeń kotłowni.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt oszczędności: 400 - 800 PLN na całym systemie.",
        "Konsekwencja: Obniżenie sprawności grzewczej posadzki o 15-30%.",
        "Efekt krytyczny: Uszkodzenie urządzeń przez szlam magnetytowy."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-evoh",
    "name": "Kalkulator Decyzji Inżynierskich EVOH",
    "description": "Interaktywny panel zestawiający optymalny standard inżynierski (rura 5-warstwowa EVOH) z wariantem podwyższonego ryzyka (brak zabezpieczeń).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-evoh-container" id="evoh-sum-app">
    <div class="rk-evoh-header">
        <div class="rk-evoh-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Podsumowanie
        </div>
        <h2>Podsumowanie i Rekomendacja Inżynierska</h2>
        <p>
            Zastosowanie rury z barierą antydyfuzyjną (EVOH) to bezwzględny warunek techniczny stawiany współczesnym systemom niskotemperaturowego ogrzewania płaszczyznowego. Wybierz ścieżkę poniżej, aby poznać konsekwencje decyzji zakupowych.
        </p>
    </div>

    <div class="rk-evoh-interactive">
        <div class="rk-evoh-tabs">
            <div class="rk-evoh-tab-btn active" data-target="panel-pro" tabindex="0" role="button">
                <div class="rk-evoh-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-evoh-tab-text">
                    <h3>50 Lat Bezawaryjności</h3>
                    <p>Standard rura 5-warstwowa EVOH</p>
                </div>
            </div>
            
            <div class="rk-evoh-tab-btn" data-target="panel-risk" tabindex="0" role="button">
                <div class="rk-evoh-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-evoh-tab-text">
                    <h3>Pozorna Oszczędność</h3>
                    <p>Zwykła rura bez bariery tlenowej</p>
                </div>
            </div>
        </div>

        <div class="rk-evoh-panel active" id="panel-pro">
            <div class="rk-evoh-svg-box">
                <svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <circle cx="50" cy="50" r="45" stroke="#10b981" stroke-width="4" fill="#dcfce7"/>
                    <circle cx="50" cy="50" r="35" stroke="#047857" stroke-width="2"/>
                    <circle cx="50" cy="50" r="25" stroke="#10b981" stroke-width="6"/>
                    <circle cx="50" cy="50" r="15" fill="#34d399"/>
                    <path d="M10 50 Q 25 30 15 15" stroke="#64748b" stroke-width="2" stroke-linecap="round" marker-end="url(#arrow-bounce)"/>
                    <text x="7" y="12" fill="#64748b" font-size="10" font-weight="bold">O₂</text>
                </svg>
            </div>
            <div class="rk-evoh-content panel-pro-text">
                <h4>Optymalny Wybór Inżynierski</h4>
                <p>
                    Dla zapewnienia <strong>50-letniej, bezawaryjnej pracy instalacji</strong>, stosujemy rury 5-warstwowe <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">PEX-a EVOH</a> lub <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/">PE-RT Typ II EVOH</a> o średnicy 16x2.0 mm.
                </p>
                <p>
                    Kluczem jest rygorystyczne trzymanie się wytycznych. Układamy rury wyłącznie na podstawie profesjonalnego projektu opartego o rzeczywiste obliczenia OZC. Wszystkie połączenia do <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a> realizujemy za pomocą dedykowanych złączek (Press), a całość musi przejść protokołowaną próbę ciśnieniową przed wylewką.
                </p>
            </div>
        </div>

        <div class="rk-evoh-panel" id="panel-risk">
            <div class="rk-evoh-svg-box">
                <svg viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <circle cx="50" cy="50" r="45" stroke="#ef4444" stroke-width="4" stroke-dasharray="8 4" fill="#fef2f2"/>
                    <path d="M10 20 L 40 40" stroke="#ef4444" stroke-width="2" stroke-linecap="round" class="anim-pipe-flow"/>
                    <path d="M85 80 L 60 60" stroke="#ef4444" stroke-width="2" stroke-linecap="round" class="anim-pipe-flow"/>
                    <circle cx="50" cy="50" r="20" fill="#450a0a" class="anim-pulse-warning"/>
                    <text x="15" y="15" fill="#ef4444" font-size="10" font-weight="bold">O₂</text>
                    <text x="80" y="95" fill="#ef4444" font-size="10" font-weight="bold">O₂</text>
                </svg>
            </div>
            <div class="rk-evoh-content panel-risk-text">
                <h4>Katastrofalne Konsekwencje</h4>
                <p>
                    Próba pozornego zaoszczędzenia <strong>400 PLN – 800 PLN</strong> na etapie zakupu tańszej rury jednorodnej bez EVOH to błąd, który ujawnia się najczęściej po zakończeniu gwarancji. 
                </p>
                <p>
                    Brak osłony przed tlenem skutkuje kaskadowym zniszczeniem urządzeń grzewczych (zwłaszcza jeśli to <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a> kondensacyjny) oraz trwałym <strong>obniżeniem sprawności podłogi o 15-30%</strong>. Zarastanie rur czarnym szlamem magnetytowym to problem, na który musisz uważać, badając <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">wady instalacji płaszczyznowych</a> przed ich wdrożeniem.
                </p>
            </div>
        </div>
    </div>

    <div class="rk-evoh-tags">
        <div class="rk-evoh-tags-wrapper">
            <span class="rk-mat-tag"># rura z barierą antydyfuzyjną evoh cena</span>
            <span class="rk-mat-tag"># rura pex czy pert do podłogówki</span>
            <span class="rk-mat-tag"># skutki braku bariery tlenowej</span>
            <span class="rk-mat-tag"># najlepsze rury do ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># rura 5-warstwowa do podłogówki</span>
            <span class="rk-mat-tag"># ogrzewanie podłogowe koszty awarii</span>
            <span class="rk-mat-tag"># zarastanie instalacji szlamem</span>
            <span class="rk-mat-tag"># profesjonalny projekt instalacji sanitarnej</span>
        </div>
    </div>

    <div class="rk-sum-cta-box">
        <h3 class="rk-sum-cta-title">Decyzje inwestycyjne oparte na inżynierii</h3>
        <p class="rk-sum-cta-text">
            Twój dom to projekt życia. Zrozumienie fizyki budowli i parametrów technicznych to jedyny sposób na uniknięcie kosztownych pułapek. Przejdź do naszego kompendium technicznego i buduj bez ściemy.
        </p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY BLOGA
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-evoh-tab-btn');
    const panels = document.querySelectorAll('.rk-evoh-panel');

    for (let i = 0; i < tabBtns.length; i++) {
        tabBtns[i].addEventListener('click', function() {
            let targetId = this.getAttribute('data-target');
            
            // Remove active from all tabs
            for (let j = 0; j < tabBtns.length; j++) {
                tabBtns[j].classList.remove('active');
            }
            // Add active to clicked
            this.classList.add('active');

            // Hide all panels
            for (let k = 0; k < panels.length; k++) {
                panels[k].classList.remove('active');
            }
            
            // Show target panel
            let targetPanel = document.getElementById(targetId);
            if (targetPanel) {
                targetPanel.classList.add('active');
            }
        });

        // Obsługa z klawiatury dla dostępności
        tabBtns[i].addEventListener('keydown', function(e) {
            if (e.key === 'Enter' || e.key === ' ') {
                e.preventDefault();
                this.click();
            }
        });
    }
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-light: #f0f9ff;
    --rk-dl-accent: #0ea5e9;
    --rk-dl-green: #10b981;
    --rk-dl-gray: #64748b;
    --rk-dl-border: #e2e8f0;
    --rk-dl-bg: #ffffff;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-dl-blue);
    overflow: hidden;
    box-sizing: border-box;
}

.rk-dl-container * {
    box-sizing: border-box;
    /* Zgodnie z poleceniem: całkowity brak animacji */
    transition: none !important;
    animation: none !important;
}

/* Nagłówek */
.rk-dl-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-dl-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-accent);
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(14, 165, 233, 0.2);
    color: #7dd3fc;
    padding: 8px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(125, 211, 252, 0.2);
}

.rk-dl-header h2 {
    font-size: 32px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.25;
}

.rk-dl-header p {
    font-size: 16px;
    color: #cbd5e1;
    max-width: 800px;
    line-height: 1.6;
    margin: 0;
}

/* Sekcja Główna */
.rk-dl-content {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    background: #ffffff;
    align-items: start;
}

/* Miniatura Infografiki */
.rk-dl-thumbnail-box {
    background: #f8fafc;
    border: 2px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 15px;
    text-align: center;
}

.rk-dl-thumbnail {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    display: block;
    margin-bottom: 15px;
}

.rk-btn-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: #ffffff;
    color: var(--rk-dl-dark);
    border: 2px solid var(--rk-dl-dark);
    border-radius: 8px;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
}

.rk-btn-preview:hover {
    background: var(--rk-dl-dark);
    color: #ffffff;
}

/* Przyciski Pobierania i Opis */
.rk-dl-info {
    display: flex;
    flex-direction: column;
}

.rk-dl-info h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    margin: 0 0 15px 0;
}

.rk-dl-info p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-dl-gray);
    margin: 0 0 25px 0;
}

.rk-dl-actions {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-btn-download {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 800;
    font-size: 16px;
}

.rk-btn-pdf {
    background: var(--rk-dl-blue);
    color: #ffffff;
    border: 2px solid var(--rk-dl-blue);
}

.rk-btn-pdf:hover {
    background: #0369a1;
}

.rk-btn-img {
    background: var(--rk-dl-light);
    color: var(--rk-dl-blue);
    border: 2px solid #bae6fd;
}

.rk-btn-img:hover {
    background: #e0f2fe;
}

.rk-btn-icon-group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-dl-meta {
    font-size: 12px;
    color: #94a3b8;
    font-weight: 700;
}

/* Sekcja Copyright */
.rk-dl-copyright {
    background: #f8fafc;
    border-top: 1px solid var(--rk-dl-border);
    padding: 20px 50px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-dl-copyright svg {
    color: var(--rk-dl-gray);
    flex-shrink: 0;
    margin-top: 3px;
}

.rk-dl-copyright p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-gray);
    font-weight: 500;
}

.rk-dl-copyright strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
}

/* Moduł Podglądu (Lightbox - bez animacji) */
.rk-preview-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    padding: 40px;
    align-items: center;
    justify-content: center;
}

.rk-preview-modal.active {
    display: flex;
}

.rk-preview-content {
    position: relative;
    max-width: 800px;
    width: 100%;
    max-height: 90vh;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
}

.rk-preview-content img {
    width: 100%;
    height: auto;
    max-height: calc(90vh - 20px);
    object-fit: contain;
    border-radius: 8px;
    display: block;
}

.rk-btn-close {
    position: absolute;
    top: -20px;
    right: -20px;
    width: 44px;
    height: 44px;
    background: var(--rk-dl-red);
    color: #ffffff;
    border: none;
    border-radius: 50%;
    font-size: 24px;
    font-weight: 900;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

@media (max-width: 850px) {
    .rk-dl-content { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-thumbnail-box { max-width: 400px; margin: 0 auto; }
}

@media (max-width: 600px) {
    .rk-dl-header, .rk-dl-content, .rk-dl-copyright { padding: 30px 20px; }
    .rk-dl-header h2 { font-size: 26px; }
    .rk-preview-modal { padding: 15px; }
    .rk-btn-close { top: -10px; right: -10px; width: 36px; height: 36px; font-size: 20px; }
    .rk-btn-download { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-dl-meta { align-self: flex-start; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/"
    },
    "headline": "Infografika: Rura z barierą antydyfuzyjną (EVOH) w pigułce",
    "description": "Zestawienie 5 kluczowych powodów, dla których warstwa EVOH jest niezbędna w instalacji ogrzewania podłogowego. Darmowe materiały edukacyjne do pobrania.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-21",
    "dateModified": "2026-06-21"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#dataset-infografika-evoh",
    "name": "Materiały Edukacyjne HVAC: 5 Powodów dla EVOH",
    "description": "Zestawienie wizualne i zbiór zasad dotyczących ochrony instalacji grzewczych przed dyfuzją tlenu i korozją.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "zatykanie pompy ciepła szlam",
      "rura z barierą antydyfuzyjną pdf",
      "ściągawka instalatora hvac",
      "norma DIN 4726 pdf"
    ],
    "measurementTechnique": "Prezentacja graficzna zależności pomiędzy strukturą rury (5-warstwowa EVOH) a całkowitym wskaźnikiem ochrony kotła i pomp przed magnetytem.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ochrona kotła i pompy ciepła przed korozją.",
        "Zero przenikania tlenu (< 0,1 mg O2).",
        "Czysta woda w instalacji bez szlamu.",
        "Wydajność potwierdzona na dekady.",
        "Inwestycja i gwarancja na 50 lat."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/#webapp-centrum-pobierania",
    "name": "Centrum Pobierania Materiałów Inżynierskich",
    "description": "Interaktywny portal zintegrowany z artykułem umożliwiający szybki podgląd w wysokiej rozdzielczości oraz bezpieczne pobieranie schematów i wytycznych instalacyjnych w formatach PDF i WebP.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-center">
    
    <div class="rk-dl-header">
        <div class="rk-dl-badge">
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały do pobrania
        </div>
        <h2>Infografika: Rura z barierą antydyfuzyjną (EVOH) w pigułce</h2>
        <p>
            Wszystkie najważniejsze parametry i argumenty zebraliśmy w jednym miejscu. Pobierz ściągawkę, aby zawsze mieć przy sobie twarde dowody na skuteczność powłoki EVOH.
        </p>
    </div>

    <div class="rk-dl-content">
        
        <div class="rk-dl-thumbnail-box">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" alt="Infografika rura EVOH - miniatura" class="rk-dl-thumbnail" loading="lazy">
            <button class="rk-btn-preview" id="rkBtnOpenPreview">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
                Powiększ obraz
            </button>
        </div>

        <div class="rk-dl-info">
            <h3>5 kluczowych powodów w jednym pliku</h3>
            <p>
                Materiał idealnie sprawdza się jako pomoc na budowie dla instalatorów oraz jako argumentacja dla inwestorów stojących przed wyborem rury. Wybierz odpowiedni format poniżej.
            </p>

            <div class="rk-dl-actions">
                
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.pdf" target="_blank" rel="noopener noreferrer" class="rk-btn-download rk-btn-pdf">
                    <div class="rk-btn-icon-group">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                        Pobierz plik PDF
                    </div>
                    <span class="rk-dl-meta">Wysoka jakość druku</span>
                </a>

                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" target="_blank" rel="noopener noreferrer" class="rk-btn-download rk-btn-img">
                    <div class="rk-btn-icon-group">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                        Zapisz jako Obrazek
                    </div>
                    <span class="rk-dl-meta">Szybkie udostępnianie (.webp)</span>
                </a>

            </div>
        </div>
    </div>

    <div class="rk-dl-copyright">
        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M14.83 14.83a4 4 0 1 1 0-5.66"></path></svg>
        <p>
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong><br>
            Udostępnianie materiału dozwolone wyłącznie z zachowaniem oryginalnego logotypu portalu i bez żadnych modyfikacji pliku. Pamiętaj, że rzetelna edukacja buduje branżę.
        </p>
    </div>
</div>

<div class="rk-preview-modal" id="rkPreviewModal">
    <div class="rk-preview-content">
        <button class="rk-btn-close" id="rkBtnClosePreview" aria-label="Zamknij podgląd">×</button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Rura-z-bariera-antydyfuzyjna-EVOH.webp" alt="Pełnowymiarowa infografika EVOH" loading="lazy">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const btnOpen = document.getElementById('rkBtnOpenPreview');
    const btnClose = document.getElementById('rkBtnClosePreview');
    const modal = document.getElementById('rkPreviewModal');

    // Brak && i animacji, czyste przypisanie klas
    function openModal() {
        if (modal) {
            modal.classList.add('active');
        }
    }

    function closeModal() {
        if (modal) {
            let isActive = modal.classList.contains('active');
            if (isActive) {
                modal.classList.remove('active');
            }
        }
    }

    if (btnOpen) {
        btnOpen.addEventListener('click', openModal);
    }

    if (btnClose) {
        btnClose.addEventListener('click', closeModal);
    }

    // Zamknięcie po kliknięciu w tło
    if (modal) {
        modal.addEventListener('click', function(e) {
            let isBackground = false;
            if (e.target === modal) {
                isBackground = true;
            }
            if (isBackground) {
                closeModal();
            }
        });
    }
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rura-z-bariera-antydyfuzyjna-evoh/">Rura z barierą antydyfuzyjną (EVOH).</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rozstaw rur w wodnym ogrzewaniu podłogowym.</title>
		<link>https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 25 Jan 2026 08:32:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></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 systemów grzewczych]]></category>
		<category><![CDATA[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[Rodzaje rur grzewczych]]></category>
		<category><![CDATA[Rozstaw rur ogrzewania]]></category>
		<category><![CDATA[Rozstaw rur podłogówki]]></category>
		<category><![CDATA[Rozstaw rur w podłogówce]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[Rury do podłogówki]]></category>
		<category><![CDATA[delta t]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[jastrych]]></category>
		<category><![CDATA[moc ogrzewania]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3301</guid>

					<description><![CDATA[<p>Planując wodne ogrzewanie podłogowe, wielu inwestorów skupia się na źródle ciepła, zapominając o kluczowym parametrze, jakim jest rozstaw rur w wodnym ogrzewaniu podłogowym. To właśnie on w największym stopniu decyduje o mocy systemu, równomierności grzania oraz realnym komforcie użytkowania. W artykule krok po kroku wyjaśniamy, jak fizyka, straty ciepła budynku, rodzaj posadzki i geometria pętli wpływają na optymalny rozstaw rur. Pokazujemy konkretne liczby, przykłady techniczne, symulacje oraz pułapki projektowe, które mogą kosztować drogie błędy na etapie eksploatacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Planując instalację wodnego ogrzewania podłogowego, jednym z najważniejszych i najczęściej analizowanych parametrów jest&nbsp;<strong>rozstaw rur</strong>. Od tego, w jakiej odległości od siebie ułożymy pętle grzewcze, zależy nie tylko końcowy komfort cieplny, ale także efektywność i równomierność ogrzewania całej powierzchni. Wbrew pozorom, nie ma jednej uniwersalnej wartości, którą można zastosować w każdym budynku.&nbsp;<strong>Optymalny rozstaw rur</strong>&nbsp;jest wypadkową wielu zmiennych: od projektu architektonicznego przez parametry techniczne budynku po oczekiwania użytkowników. W tym artykule, przeznaczonym zarówno dla osób planujących inwestycję, jak i dla wykonawców, dogłębnie przeanalizujemy wszystkie czynniki wpływające na ten kluczowy aspekt projektowy, popierając teorię praktycznymi wyliczeniami i przykładami.</p>



<h2 class="wp-block-heading">Podstawy fizyki grzania: dlaczego rozstaw ma tak ogromne znaczenie?</h2>



<p class="wp-block-paragraph">Aby zrozumieć, jak&nbsp;<strong>odległość między rurami</strong>&nbsp;wpływa na pracę systemu, musimy wyobrazić sobie pole grzewcze jako źródło ciepła o określonej mocy. <a href="https://projekt-ogrzewania.pl/rury-do-ogrzewania-podlogowego/">Rury</a>, przez które płynie gorąca woda, oddają ciepło do otaczającego je jastrychu (płyty betonowej). Ciepło następnie przewodzone jest przez warstwy podłogi na jej powierzchnię. Im rury są bliżej siebie, tym&nbsp;<strong>strumień cieplny</strong>&nbsp;na powierzchni podłogi jest bardziej równomierny, a tzw.&nbsp;<strong>efekt „stopy słonia”</strong>&nbsp;(czyli wyczuwalnych, naprzemiennych pasów ciepła i chłodu) jest eliminowany.</p>



<p class="wp-block-paragraph"><strong>Gęstość ułożenia <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli grzewczych</a></strong>&nbsp;bezpośrednio przekłada się na&nbsp;<strong>moc grzewczą</strong>&nbsp;jednostki powierzchni, wyrażaną w Watach na metr kwadratowy [W/m²]. Dla standardowej rury 16&#215;2 mm i typowych parametrów pracy (temp. zasilania 40°C, powrotu 35°C, temp. pomieszczenia 20°C) przyjmuje się następujące, przybliżone wartości mocy:</p>



<ul class="wp-block-list">
<li>Przy&nbsp;<strong>rozstawie 10 cm</strong>: ok.&nbsp;<strong>100 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 15 cm</strong>: ok.&nbsp;<strong>80 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 20 cm</strong>: ok.&nbsp;<strong>65 W/m²</strong></li>



<li>Przy&nbsp;<strong>rozstawie 25 cm</strong>: ok.&nbsp;<strong>55 W/m²</strong></li>
</ul>



<p class="wp-block-paragraph">Jak widać, zmniejszając&nbsp;<strong>odstęp między przewodami</strong>&nbsp;z 20 cm do 10 cm, teoretycznie podwajamy moc grzewczą podłogi. To kluczowa informacja przy doborze systemu do pomieszczeń o dużych stratach ciepła.</p>



<h3 class="wp-block-heading">Główne czynniki decydujące o wyborze odpowiedniego rozstawu.</h3>



<p class="wp-block-paragraph">Proces ustalania&nbsp;<strong>odległości między rurami</strong>&nbsp;w instalacji podłogowej to zawsze praca inżynierska, polegająca na bilansowaniu poniższych elementów.</p>



<h4 class="wp-block-heading">1. Straty ciepła pomieszczenia i wymagana moc grzewcza.</h4>



<p class="wp-block-paragraph">To punkt wyjścia każdego projektu.&nbsp;<strong>Zapotrzebowanie na ciepło</strong>&nbsp;dla danego pomieszczenia oblicza się zgodnie z normą <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">PN-EN 12831</a>, biorąc pod uwagę:</p>



<ul class="wp-block-list">
<li>Powierzchnię i kubaturę.</li>



<li>Jakość izolacji przegród zewnętrznych (ścian, dachu, podłogi na gruncie).</li>



<li>Powierzchnię i charakter okien oraz drzwi.</li>



<li>Strefę klimatyczną.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład techniczny:</strong>&nbsp;Dla nowobudowanego, dobrze ocieplonego domu (współczynnik przenikania ciepła dla ścian U≈0,15 W/m²K) straty ciepła w salonie o powierzchni 30 m² mogą wynosić ok. 40-50 W/m². W takim przypadku&nbsp;<strong>rozstaw rur na poziomie 15-20 cm</strong>&nbsp;będzie w zupełności wystarczający. W starej, nieocieplonej kamienicy straty tego samego pomieszczenia mogą sięgać 120-150 W/m². Tu konieczne będzie&nbsp;<strong>bardzo gęste ułożenie przewodów</strong>, nawet co 10 cm, a często również uzupełnienie systemu grzejnikami.</p>



<h4 class="wp-block-heading">2. Rodzaj pokrycia podłogowego i jego opór cieplny.</h4>



<p class="wp-block-paragraph">Materiał wykończeniowy podłogi jest swoistym&nbsp;<strong>„filtrem”</strong>&nbsp;dla ciepła. Jego&nbsp;<strong>opór cieplny R [m²K/W]</strong>&nbsp;decyduje o tym, jak efektywnie ciepło z płyty grzewczej przedostanie się do pomieszczenia.</p>



<ul class="wp-block-list">
<li><strong>Płytki ceramiczne, kamień naturalny:</strong>&nbsp;Mają niski opór cieplny (R≈0.01 m²K/W). Doskonale przewodzą ciepło, pozwalając na stosowanie standardowych lub nawet nieco wyższych temperatur podłogi (do 29°C w strefie stałego przebywania). Dają dużą swobodę w doborze&nbsp;<strong>rozstawu rurek</strong>.</li>



<li><strong>Panele winylowe (LVT), wykładzina cienka:</strong>&nbsp;Opór nieco wyższy, ale wciąż akceptowalny.</li>



<li><strong>Panele laminowane, deska warstwowa, parkiet:</strong>&nbsp;Tutaj opór jest znaczący (R może przekraczać 0.15 m²K/W). Producenci materiałów drewnopochodnych jasno określają maksymalną temperaturę podłogi (często 27°C) i maksymalny&nbsp;<strong>opór całkowity</strong>&nbsp;wszystkich warstw. Aby uzyskać wymaganą moc przy niższej temperaturze powierzchni, często&nbsp;<strong>należy zagęścić rozstaw rur</strong>.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład wyliczenia:</strong>&nbsp;Dla pomieszczenia o zapotrzebowaniu 80 W/m² i podłodze z paneli (dopuszczalna temp. podłogi 27°C) może się okazać, że przy rozstawie 20 cm temperatura wody potrzebna do uzyskania tej mocy przekroczy dopuszczalną wartość, prowadząc do uszkodzenia posadzki lub dyskomfortu. Rozwiązaniem jest&nbsp;<strong>zmniejszenie odległości między pętlami</strong>&nbsp;do 15 cm lub 10 cm, co pozwoli uzyskać tę samą moc przy niższej temperaturze zasilania.</p>



<h4 class="wp-block-heading">3. Konfiguracja pomieszczenia i strefowanie.</h4>



<p class="wp-block-paragraph">Nie w każdym pomieszczeniu&nbsp;<strong>odstęp pomiędzy rurami</strong>&nbsp;jest stały na całej powierzchni. Kluczową zasadą jest&nbsp;<strong>strefowanie grzewcze</strong>.</p>



<ul class="wp-block-list">
<li><strong>Strefa brzegowa (obwodowa):</strong>&nbsp;Pas o szerokości około 1 metra wzdłuż ścian zewnętrznych, zwłaszcza tych z dużymi przeszkleniami. To tutaj straty ciepła są największe. W tej strefie standardowo&nbsp;<strong>zagęszcza się rozstaw rur</strong>&nbsp;(np. do 10-12 cm) w stosunku do strefy centralnej (gdzie można zastosować 20 cm). Zapobiega to wychłodzeniu strefy przyokiennej i poprawia komfort.</li>



<li><strong>Strefy stałego przebywania:</strong>&nbsp;W łazience szczególnie ważne jest równomierne ciepło przy umywalce czy w kabinie prysznicowej. Często układa się tam rury gęściej.</li>



<li><strong>Miejsca z ograniczonym przekazywaniem ciepła:</strong>&nbsp;Pod stałymi zabudowami meblowymi (szafy wnękowe, kredensy), pod wanną czy dużymi urządzeniami AGD&nbsp;<strong>nie układa się rur</strong>. Zmniejsza to bezużyteczne straty ciepła i nie naraża mebli na przesuszenie.</li>
</ul>



<h3 class="wp-block-heading">Projekt ogrzewania podłogowego – serce dobrze działającej instalacji.</h3>



<p class="wp-block-paragraph">W kontekście omawianego&nbsp;<strong>rozstawu rur</strong>, projekt jest dokumentem absolutnie kluczowym i nie wolno go pomijać.&nbsp;<strong>Amatorskie „szacowanie” odległości między pętlami</strong>&nbsp;prowadzi do szeregu problemów: nierównomiernego grzania, wiecznie zimnych pomieszczeń, przegrzewania innych, a wreszcie – do wysokich rachunków za energię.</p>



<p class="wp-block-paragraph">Profesjonalny projekt hydrauliczno-cieplny obejmuje:</p>



<ol start="1" class="wp-block-list">
<li><strong>Obliczenie strat ciepła</strong>&nbsp;dla każdego pomieszczenia osobno.</li>



<li><strong>Dobór rozstawu rur</strong>&nbsp;(często zmiennego w obrębie jednego pomieszczenia) oraz schematu ich ułożenia (meander lub ślimak) tak, aby uzyskać wymaganą moc grzewczą.</li>



<li><strong>Podział na pętle grzewcze</strong>&nbsp;o zbliżonej długości (dla rur 16&#215;2 mm optymalnie 80-100 m, max 120 m), co zapewnia zrównoważenie hydrauliczne systemu.</li>



<li><strong>Dobór rozdzielacza</strong>&nbsp;z odpowiednią liczbą odgałęzień oraz elementami regulacyjnymi.</li>



<li><strong>Określenie parametrów pracy</strong>&nbsp;(temperatury zasilania, projektowy przepływ).</li>
</ol>



<p class="wp-block-paragraph">Inwestycja w <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">projekt</a> (koszt kilkuset do kilku tysięcy złotych w zależności od metrażu) zwraca się wielokrotnie w trakcie eksploatacji poprzez oszczędności na paliwie i uniknięcie kosztownych przeróbek.&nbsp;<strong>Rozstaw rur odczytany z takiego projektu jest wartością wiążącą i optymalną.</strong></p>



<h3 class="wp-block-heading">Przykłady techniczne i symulacje.</h3>



<p class="wp-block-paragraph">Poniższa tabela ilustruje przybliżony dobór&nbsp;<strong>rozstawu pętli grzewczych</strong>&nbsp;dla różnych typów pomieszczeń w budynku standardowym (średnio ocieplonym).</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 900px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  vertical-align: top;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
  text-align: left;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table strong {
  color: #111827;
}

@media (max-width: 768px) {
  .tech-table {
    font-size: 14px;
  }
}
</style>

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Pomieszczenie</th>
<th>Charakterystyka</th>
<th>Szacowane straty ciepła [W/m²]</th>
<th>Zalecany rozstaw rur (16×2 mm)</th>
<th>Uzasadnienie techniczne i uwagi</th>
</tr>
</thead>

<tbody>

<tr>
<td><strong>Łazienka</strong></td>
<td>
Małe pomieszczenie, wymagające szybkiego nagrzania i wysokiego komfortu cieplnego
(ogrzewanie podstawowe). Często posadzka z płytek.
</td>
<td>90 – 120+</td>
<td><strong>5 cm – 10 cm</strong></td>
<td>
Rozstaw 5 cm to rozwiązanie ekstremalne, stosowane przy wymaganiach bardzo wysokiej
mocy grzewczej (&gt;120 W/m²) przy niskiej temperaturze zasilania (np. 35°C).
Zapewnia idealnie równomierną temperaturę podłogi – kluczowe przy chodzeniu boso.
Wymaga krótkich pętli ze względu na duże opory hydrauliczne.
</td>
</tr>

<tr>
<td><strong>Salon (przy dużym przeszkleniu)</strong></td>
<td>
Pomieszczenie o wysokich stratach przez szyby,
wymagające kompensacji zimnego promieniowania.
</td>
<td>70 – 100</td>
<td>
<strong>Strefa brzegowa:</strong> 5–10 cm<br>
<strong>Strefa centralna:</strong> 10–15 cm
</td>
<td>
Zagęszczenie do 5 cm w pasie ok. 1–1,5 m od okna/ściany szklanej jest celową
inwestycją w komfort – eliminuje uczucie chłodu i przeciągów.
W strefie centralnej wystarczy 10–15 cm.
Układ mieszany (spiralny) jest tu obowiązkowy.
</td>
</tr>

<tr>
<td><strong>Sypialnia (ściany wewnętrzne)</strong></td>
<td>
Pomieszczenie o niskich stratach,
gdzie priorytetem jest niska temperatura powierzchni podłogi.
</td>
<td>35 – 50</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Rozstaw 10 cm pozwala utrzymać bardzo niską temperaturę zasilania (30–33°C),
idealną dla pomp ciepła i kotłów kondensacyjnych.
Wersja 20 cm to standard dla domów pasywnych i energooszczędnych.
</td>
</tr>

<tr>
<td><strong>Hol / Przedpokój</strong></td>
<td>
Pomieszczenie z drzwiami wejściowymi,
narażone na krótkotrwałe, duże straty ciepła.
</td>
<td>60 – 85</td>
<td><strong>10 cm – 20 cm</strong></td>
<td>
Gęsty rozstaw (10 cm) w strefie progu drzwi wejściowych
(na głębokości 1,5–2 m) działa jak efektywna kurtyna cieplna,
minimalizując wychłodzenie przy wietrzeniu.
W głębi pomieszczenia można przejść na 20 cm.
</td>
</tr>

<tr>
<td><strong>Garaż ogrzewany</strong></td>
<td>
Przestrzeń o bardzo wysokich wymaganiach izolacyjnych podłogi
i dużych, okresowych stratach ciepła.
</td>
<td>40 – 60</td>
<td><strong>20 cm – 30 cm</strong></td>
<td>
Rozstaw 30 cm dopuszczalny wyłącznie w garażach bardzo dobrze ocieplonych,
traktowanych jako pomieszczenia użytkowe o stałej, umiarkowanej temperaturze (np. 15°C).
Przy wyższych temperaturach lub słabszej izolacji zalecane 15–20 cm.
Kluczowe jest użycie rur z barierą antydyfuzyjną (EVOH)
i izolacji o wysokiej odporności na ściskanie (min. 200 kPa).
</td>
</tr>

</tbody>
</table>
</div>



<p class="wp-block-paragraph"><strong>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</strong><br>*(Interpretacja danych dla rury 16&#215;2 mm, delta T = różnica między średnią temp. wody a temp. w pomieszczeniu)*</p>



<style>
.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 30px 0;
}

.tech-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  min-width: 700px;
}

.tech-table th,
.tech-table td {
  padding: 14px 12px;
  border: 1px solid #e0e0e0;
  text-align: center;
}

.tech-table th {
  background: #1f2933;
  color: #ffffff;
  font-weight: 600;
}

.tech-table tr:nth-child(even) {
  background: #f9fafb;
}

.tech-table td:first-child,
.tech-table th:first-child {
  text-align: left;
  font-weight: 600;
}

.tech-note {
  font-size: 14px;
  color: #4b5563;
  margin-top: 10px;
  font-style: italic;
}

@media (max-width: 768px) {
  .tech-table {
    font-size: 14px;
  }
}
</style>

<h3>Wykres: Zależność mocy grzewczej od rozstawu rur i temperatury czynnika</h3>

<div class="table-wrap">
<table class="tech-table">
<thead>
<tr>
<th>Rozstaw rur [cm]</th>
<th>Moc grzewcza przy ΔT = 10 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 15 K<br>[W/m²]</th>
<th>Moc grzewcza przy ΔT = 20 K<br>[W/m²]</th>
</tr>
</thead>

<tbody>
<tr>
<td>5</td>
<td>~45</td>
<td>~68</td>
<td>~90</td>
</tr>

<tr>
<td>10</td>
<td>~55</td>
<td>~82</td>
<td>~110</td>
</tr>

<tr>
<td>15</td>
<td>~50</td>
<td>~75</td>
<td>~100</td>
</tr>

<tr>
<td>20</td>
<td>~40</td>
<td>~60</td>
<td>~80</td>
</tr>
</tbody>
</table>
</div>

<p class="tech-note">
*Interpretacja danych dla rury 16×2 mm. ΔT oznacza różnicę pomiędzy średnią temperaturą wody grzewczej
a temperaturą powietrza w pomieszczeniu. Wartości orientacyjne – rzeczywista moc zależy m.in.
od rodzaju posadzki, grubości wylewki i oporu cieplnego warstw.*
</p>



<p class="wp-block-paragraph"><em>Paradoks wykresu:</em>&nbsp;Zwróć uwagę, że przy bardzo małej różnicy temperatur (ΔT=10K),&nbsp;<strong>rozstaw 10 cm daje wyższą moc niż rozstaw 5 cm</strong>. Dzieje się tak, ponieważ przy ekstremalnie gęstym ułożeniu&nbsp;<strong>wzrasta opór hydrauliczny</strong>, a sama rura oddaje ciepło na bardzo krótkim odcinku, co może nieznacznie obniżać średnią temperaturę czynnika w pętli. To potwierdza, że&nbsp;<strong>rozstaw 5 cm ma sens tylko w systemach zaprojektowanych na niską ΔT, ale z wysokim przepływem</strong>, co wymaga precyzyjnej regulacji hydrauliczej.</p>



<p class="wp-block-paragraph"><strong>Obliczenie długości pętli dla łazienki z rozstawem 5 cm:</strong><br>Dla łazienki 4 m² (2m x 2m) z rozstawem 5 cm (0.05 m) i obwodem 8 m, przybliżona długość rury wyniesie:<br><code>L ≈ (A / s) * 2 + (2 * O) = (4 / 0.05) * 2 + (2*8) = 160 + 16 = 176 metrów.</code><br>Jest to długość&nbsp;<strong>niedopuszczalna dla jednej pętli</strong>&nbsp;(maks. 100-120m). Rozwiązaniem jest podział na&nbsp;<strong>dwie niezależne pętle</strong>&nbsp;po ok. 88 m każda, co pozwala utrzymać odpowiedni przepływ i uniknąć zbyt wysokich oporów. To pokazuje, że&nbsp;<strong>skrajnie gęsty rozstaw rur pociąga za sobą konieczność zmiany koncepcji rozdzielacza i zwiększenia liczby pętli</strong>.</p>



<p class="wp-block-paragraph"><strong>Podsumowanie tej sekcji:</strong>&nbsp;Przedstawione wartości&nbsp;<strong>5-10 cm</strong>&nbsp;są poprawne i stosowane w&nbsp;<strong>wysokoparametrowych instalacjach</strong>, gdzie priorytetem jest maksymalna moc przy niskiej temperaturze, absolutna równomierność grzania lub kompensacja ekstremalnych strat ciepła (przeszklenia). Każda taka decyzja&nbsp;<strong>musi być poprzedzona dokładnym projektem hydraulicznym</strong>, który zweryfikuje długości pętli, opory i dobierze odpowiednią pompa obiegowa. W przeciwnym razie, zamiast wysokiego komfortu, uzyskamy niewydolny, głośny i drogi w eksploatacji system.</p>



<h2 class="wp-block-heading">Geometria pętli zamiast podnoszenia temperatury.</h2>



<style>
.chart-container {
  max-width: 900px;
  margin: 40px auto;
}

.chart-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}

.chart-subtitle {
  font-size: 14px;
  color: #4b5563;
  margin-bottom: 18px;
  font-style: italic;
}

.legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  font-size: 14px;
}

.legend span {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend i {
  width: 14px;
  height: 3px;
  display: inline-block;
}

.legend .dt10 i { background: #2563eb; }
.legend .dt15 i { background: #f97316; }
.legend .dt20 i { background: #16a34a; }

svg {
  width: 100%;
  height: auto;
}
</style>

<div class="chart-container">

<div class="chart-title">
Zależność mocy grzewczej od rozstawu rur (zakres projektowy)
</div>

<div class="chart-subtitle">
Zakres od 10 cm wzwyż – obszar, w którym wzrost rozstawu powoduje spadek mocy.
Dane orientacyjne dla rury 16×2 mm.
</div>

<svg viewBox="0 0 800 420" role="img" aria-label="Wykres mocy grzewczej ogrzewania podłogowego">
  
  <!-- osie -->
  <line x1="80" y1="40" x2="80" y2="350" stroke="#333"/>
  <line x1="80" y1="350" x2="760" y2="350" stroke="#333"/>

  <!-- opisy osi -->
  <text x="400" y="400" text-anchor="middle" font-size="14">Rozstaw rur [cm]</text>
  <text x="20" y="200" text-anchor="middle" font-size="14" transform="rotate(-90 20 200)">
    Moc grzewcza [W/m²]
  </text>

  <!-- skala Y -->
  <g font-size="12" fill="#444">
    <text x="55" y="355">40</text>
    <text x="55" y="305">60</text>
    <text x="55" y="255">80</text>
    <text x="50" y="205">100</text>
    <text x="50" y="155">110</text>
  </g>

  <!-- skala X -->
  <g font-size="12" fill="#444">
    <text x="220" y="370">10</text>
    <text x="420" y="370">15</text>
    <text x="620" y="370">20</text>
  </g>

  <!-- ΔT = 10 K -->
  <polyline fill="none" stroke="#2563eb" stroke-width="3"
    points="220,290 420,300 620,330"/>
  <circle cx="220" cy="290" r="5" fill="#2563eb"/>
  <circle cx="420" cy="300" r="5" fill="#2563eb"/>
  <circle cx="620" cy="330" r="5" fill="#2563eb"/>

  <!-- ΔT = 15 K -->
  <polyline fill="none" stroke="#f97316" stroke-width="3"
    points="220,240 420,260 620,300"/>
  <circle cx="220" cy="240" r="5" fill="#f97316"/>
  <circle cx="420" cy="260" r="5" fill="#f97316"/>
  <circle cx="620" cy="300" r="5" fill="#f97316"/>

  <!-- ΔT = 20 K -->
  <polyline fill="none" stroke="#16a34a" stroke-width="3"
    points="220,180 420,210 620,260"/>
  <circle cx="220" cy="180" r="5" fill="#16a34a"/>
  <circle cx="420" cy="210" r="5" fill="#16a34a"/>
  <circle cx="620" cy="260" r="5" fill="#16a34a"/>

</svg>

<div class="legend">
  <span class="dt10"><i></i> ΔT = 10 K</span>
  <span class="dt15"><i></i> ΔT = 15 K</span>
  <span class="dt20"><i></i> ΔT = 20 K</span>
</div>

</div>



<p class="wp-block-paragraph">Na osi poziomej (X) znajduje się <strong>rozstaw rur ogrzewania podłogowego [cm]</strong>, natomiast na osi pionowej (Y) <strong>uzyskiwana moc grzewcza [W/m²]</strong>. Każda z krzywych reprezentuje inną różnicę temperatur ΔT pomiędzy średnią temperaturą wody w pętli a temperaturą powietrza w pomieszczeniu.</p>



<p class="wp-block-paragraph"><strong>Od rozstawu 10 cm wzwyż wszystkie krzywe mają charakter malejący.</strong><br>Oznacza to, że <strong>zwiększanie rozstawu rur powyżej 10 cm prowadzi do systematycznego spadku możliwej do uzyskania mocy grzewczej</strong>, niezależnie od temperatury czynnika.</p>



<p class="wp-block-paragraph">Jednocześnie wyraźnie widać drugi mechanizm sterujący: <strong>krzywe dla wyższej temperatury wody przebiegają znacznie wyżej</strong>. Podniesienie ΔT (czyli temperatury zasilania) pozwala zwiększyć moc przy tym samym rozstawie rur, jednak odbywa się to kosztem sprawności źródła ciepła i większych obciążeń termicznych posadzki.</p>



<p class="wp-block-paragraph">W praktyce projektowej istnieją więc dwie drogi zwiększania mocy ogrzewania podłogowego:</p>



<ul class="wp-block-list">
<li><strong>zagęszczenie rozstawu rur (≤ 10 cm)</strong>,</li>



<li><strong>podniesienie temperatury zasilania</strong>.</li>
</ul>



<p class="wp-block-paragraph">Z punktu widzenia trwałości instalacji, komfortu cieplnego i efektywności energetycznej — szczególnie w systemach z pompą ciepła — <strong>pierwsza strategia jest rozwiązaniem zdecydowanie lepszym i długoterminowo bezpieczniejszym</strong>. Gęstszy rozstaw pozwala osiągnąć wymaganą moc przy niskich temperaturach zasilania, poprawia równomierność temperatury podłogi i ogranicza naprężenia termiczne w warstwach posadzki.</p>



<p class="wp-block-paragraph"><strong>Dlatego poprawnie zaprojektowane ogrzewanie podłogowe zaczyna się od geometrii pętli, a nie od „podkręcania” temperatury na źródle ciepła.</strong></p>



<h3 class="wp-block-heading">Układanie rur: od projektu do realizacji.</h3>



<p class="wp-block-paragraph">Sam proces montażu, przy <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">prawidłowo przygotowanym projekcie</a>, staje się niemal rzemieślniczą realizacją założeń.&nbsp;<strong>Odległość między rurami</strong>&nbsp;jest precyzyjnie wymierzana i utrzymywana dzięki szynom montażowym lub specjalnym matom z wypustkami. Szczególną uwagę zwraca się na:</p>



<ul class="wp-block-list">
<li><strong>Prowadzenie rur w zakrętach:</strong>&nbsp;Promień gięcia nie może być zbyt mały (zazwyczaj min. 5x średnica zewnętrzna rury).</li>



<li><strong>Zagęszczenie w strefach brzegowych:</strong>&nbsp;Pomiary muszą być tu szczególnie dokładne.</li>



<li><strong>Długość pętli:</strong>&nbsp;Każda pętla przed zatłoczeniem betonem powinna być zmierzona i porównana z projektem.</li>
</ul>



<p class="wp-block-paragraph"><strong>Przykład obliczeniowy długości pętli:</strong>&nbsp;Dla pomieszczenia 5m x 4m (20 m²) przy&nbsp;<strong>rozstawie rur 15 cm</strong>&nbsp;(0.15 m) i obwodzie pomieszczenia 18 m, przybliżoną długość rury w pętli można oszacować ze wzoru:&nbsp;<code>L = (A / s) * 2 + (2 * O)</code>, gdzie A to powierzchnia, s to rozstaw, O to obwód.&nbsp;<code>L = (20 / 0.15) * 2 + (2*18) ≈ 267 + 36 = 303 m</code>. Jest to wartość zbyt wysoka dla jednej pętli! To pokazuje, że dla takiego rozstawu i powierzchni konieczny jest podział na dwie, a nawet trzy niezależne pętle o długości ok. 100 m każda. Praktycznie stosuje się dokładniejsze metody, ale przykład unaocznia potrzebę precyzyjnego projektowania.</p>



<h2 class="wp-block-heading">FAQ – Najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769329073507"><strong class="schema-faq-question"><strong>Jaki rozstaw rur w ogrzewaniu podłogowym jest najlepszy?</strong></strong> <p class="schema-faq-answer">Nie ma jednej uniwersalnej wartości. Optymalny rozstaw zależy od strat ciepła pomieszczenia, rodzaju posadzki oraz temperatury zasilania. Najczęściej stosuje się zakres od 10 do 20 cm.</p> </div> <div class="schema-faq-section" id="faq-question-1769329085064"><strong class="schema-faq-question"><strong>Czy mniejszy rozstaw rur zawsze oznacza lepsze ogrzewanie?</strong></strong> <p class="schema-faq-answer">Mniejszy rozstaw zwiększa moc i równomierność grzania, ale powoduje też większe opory hydrauliczne i dłuższe pętle. Dlatego gęsty rozstaw wymaga dokładnego projektu.</p> </div> <div class="schema-faq-section" id="faq-question-1769329094344"><strong class="schema-faq-question"><strong>Dlaczego rozstaw 10 cm jest często punktem granicznym?</strong></strong> <p class="schema-faq-answer">Od rozstawu 10 cm wzwyż wzrost odległości między rurami powoduje wyraźny spadek mocy grzewczej. Poniżej tej wartości system wchodzi w zakres instalacji wysokoparametrowych.</p> </div> <div class="schema-faq-section" id="faq-question-1769329119610"><strong class="schema-faq-question"><strong>Jak posadzka wpływa na dobór rozstawu rur?</strong></strong> <p class="schema-faq-answer">Im większy opór cieplny posadzki (np. panele, drewno), tym gęstszy rozstaw rur jest wymagany, aby uzyskać tę samą moc przy bezpiecznej temperaturze podłogi.</p> </div> <div class="schema-faq-section" id="faq-question-1769329126408"><strong class="schema-faq-question"><strong>Czy można samodzielnie dobrać rozstaw rur bez projektu?</strong></strong> <p class="schema-faq-answer">Teoretycznie tak, ale w praktyce prowadzi to często do błędów: nierównego grzania, zbyt długich pętli lub wysokich kosztów eksploatacji. Profesjonalny <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-150-m2/">projekt</a> jest kluczowy.</p> </div> </div>



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



<p class="wp-block-paragraph">Dobranie właściwego&nbsp;<strong>rozstawu rur w wodnym ogrzewaniu podłogowym</strong>&nbsp;nie jest celem samym w sobie, ale jednym z najważniejszych etapów procesu projektowania sprawnego i komfortowego systemu. Jak pokazano, zależy on od&nbsp;<strong>bilansu cieplnego budynku</strong>,&nbsp;<strong>właściwości posadzki</strong>&nbsp;oraz&nbsp;<strong>konfiguracji przestrzeni</strong>.&nbsp;<strong>Zagęszczenie pętli grzewczych</strong>&nbsp;jest najskuteczniejszym narzędziem do zwiększenia mocy układu bez niebezpiecznego podnoszenia temperatury powierzchni podłogi.</p>



<p class="wp-block-paragraph">Pamiętajmy, że nawet najlepiej dobrany&nbsp;<strong>odstęp między przewodami</strong>&nbsp;nie zdziała cudów w źle zaizolowanym domu. Dopiero połączenie dobrej izolacji budynku, profesjonalnego projektu uwzględniającego&nbsp;<strong>optymalny rozstaw rur</strong>, starannego wykonawstwa i odpowiedniego źródła ciepła (jak pompa ciepła, która uwielbia niskie temperatury zasilania) daje gwarancję sukcesu – czyli ciepłego, zdrowego i taniego w eksploatacji domu. Nie warto zatem oszczędzać na wiedzy i profesjonalizmie na etapie planowania, gdyż decyzje podjęte na początku inwestycji będą nam towarzyszyć przez długie dekady użytkowania.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="InOHZNCO2a"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=B0gffQFdTM#?secret=InOHZNCO2a" data-secret="InOHZNCO2a" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">Rozstaw rur w wodnym ogrzewaniu podłogowym.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</title>
		<link>https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 24 Jan 2026 10:01:13 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Normy budowlane]]></category>
		<category><![CDATA[Normy grzewcze]]></category>
		<category><![CDATA[Normy techniczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Poradniki 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[Projekty instalacji]]></category>
		<category><![CDATA[Projekty instalacyjne]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[moc grzewcza]]></category>
		<category><![CDATA[normy budowlane]]></category>
		<category><![CDATA[ogrzewanie niskotemperaturowe]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pn-en 1264]]></category>
		<category><![CDATA[projekt ogrzewania podłogowego]]></category>
		<category><![CDATA[rozstaw rur]]></category>
		<category><![CDATA[temperatura podłogi]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3288</guid>

					<description><![CDATA[<p>Wodne ogrzewanie podłogowe to dziś standard komfortu, ale jego skuteczność nie bierze się z przypadku. Kluczową rolę odgrywa norma PN-EN 1264, która precyzyjnie określa zasady projektowania, obliczania mocy oraz wykonania instalacji powierzchniowych. W artykule wyjaśniamy, czym dokładnie jest PN-EN 1264, jak wpływa na dobór rozstawu rur, temperatury zasilania i pokrycia podłogi oraz dlaczego jej znajomość jest niezbędna zarówno dla projektantów, jak i świadomych inwestorów. To praktyczny przewodnik po normie, który pokazuje teorię w realnych przykładach.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-hero-dark: #0f172a;
    --rk-hero-blue: #2563eb;
    --rk-hero-blue-bg: #eff6ff;
    --rk-hero-emerald: #059669;
    --rk-hero-emerald-bg: #ecfdf5;
    --rk-hero-amber: #d97706;
    --rk-hero-amber-bg: #fffbeb;
    --rk-hero-bg: #ffffff;
    --rk-hero-gray: #f8fafc;
    --rk-hero-border: #e2e8f0;
    --rk-hero-text: #334155;
}

.rk-hero-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-hero-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.15);
    border: 1px solid var(--rk-hero-border);
    overflow: hidden;
}

/* Sekcja Główna - Split Layout */
.rk-hero-split {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    background: var(--rk-hero-dark);
}

.rk-hero-left {
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-hero-badge {
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.rk-hero-left h2 {
    font-size: 34px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.2;
    letter-spacing: -1px;
}

.rk-hero-hook {
    font-size: 18px;
    line-height: 1.6;
    color: #94a3b8;
    margin: 0;
    font-weight: 500;
}

.rk-hero-hook strong {
    color: var(--rk-hero-amber);
    font-weight: 800;
}

.rk-hero-right {
    padding: 50px 40px;
    background: #1e293b;
    display: flex;
    align-items: center;
}

/* Karta Szybkiej Odpowiedzi (SGE / AI) */
.rk-hero-qa-card {
    background: var(--rk-hero-emerald-bg);
    border-left: 5px solid var(--rk-hero-emerald);
    padding: 30px;
    border-radius: 0 16px 16px 0;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.3);
}

.rk-hero-qa-title {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--rk-hero-emerald);
    font-weight: 900;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 12px;
}

.rk-hero-qa-text {
    font-size: 16px;
    line-height: 1.7;
    color: #064e3b;
    margin: 0;
    font-weight: 600;
}

.rk-hero-qa-text strong {
    color: #022c22;
    background: rgba(16, 185, 129, 0.2);
    padding: 2px 4px;
    border-radius: 4px;
}

/* Blok Tekstu Bazowego */
.rk-hero-content {
    padding: 40px 50px;
    background: var(--rk-hero-bg);
}

.rk-hero-content p {
    font-size: 17px;
    line-height: 1.8;
    color: var(--rk-hero-text);
    margin: 0 0 20px 0;
}

.rk-hero-content p:last-child {
    margin: 0;
}

.rk-hero-content a {
    color: var(--rk-hero-blue);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px solid var(--rk-hero-blue-bg);
}

.rk-hero-content a:hover {
    border-bottom-color: var(--rk-hero-blue);
}

/* Interaktywny Wybór Profilu */
.rk-hero-interactive {
    padding: 0 50px 40px;
    background: var(--rk-hero-bg);
}

.rk-hero-int-header {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-hero-dark);
    margin: 0 0 20px 0;
    text-align: center;
}

.rk-hero-roles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}

.rk-hero-role-btn {
    background: var(--rk-hero-gray);
    border: 2px solid var(--rk-hero-border);
    border-radius: 16px;
    padding: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: left;
}

/* Stany aktywne (Brak animacji, natychmiastowa zmiana) */
.rk-hero-role-btn:hover {
    border-color: #94a3b8;
}

.rk-hero-role-btn.active {
    background: var(--rk-hero-blue-bg);
    border-color: var(--rk-hero-blue);
}

.rk-hero-role-icon {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 1px solid var(--rk-hero-border);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-hero-slate);
}

.rk-hero-role-btn.active .rk-hero-role-icon {
    background: var(--rk-hero-blue);
    border-color: var(--rk-hero-blue);
    color: #ffffff;
}

.rk-hero-role-text h4 {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-hero-dark);
}

.rk-hero-role-text p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

.rk-hero-role-btn.active .rk-hero-role-text h4 {
    color: var(--rk-hero-blue);
}

/* Widoki treści */
.rk-hero-view {
    display: none;
    background: var(--rk-hero-gray);
    border: 1px solid var(--rk-hero-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-hero-view.active {
    display: block;
}

.rk-hero-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-hero-list li {
    font-size: 15px;
    font-weight: 600;
    color: var(--rk-hero-text);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid var(--rk-hero-border);
}

.rk-hero-list-icon {
    color: var(--rk-hero-blue);
    flex-shrink: 0;
    margin-top: 2px;
}

/* Alert z narzędziami */
.rk-hero-tools {
    background: var(--rk-hero-dark);
    padding: 25px 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.rk-hero-tools-badge {
    background: var(--rk-hero-accent);
    color: var(--rk-hero-dark);
    font-size: 11px;
    font-weight: 900;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-hero-tools-text {
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    margin: 0;
}

@media (max-width: 768px) {
    .rk-hero-split { grid-template-columns: 1fr; }
    .rk-hero-left, .rk-hero-right { padding: 35px 25px; }
    .rk-hero-qa-card { border-radius: 12px; border-left: none; border-top: 5px solid var(--rk-hero-emerald); }
    .rk-hero-content { padding: 30px 25px; }
    .rk-hero-interactive { padding: 0 25px 30px; }
    .rk-hero-roles { grid-template-columns: 1fr; gap: 15px; }
    .rk-hero-view { padding: 20px; }
    .rk-hero-list { grid-template-columns: 1fr; }
    .rk-hero-tools { padding: 25px; flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "PN-EN 1264: Norma, która definiuje wodne ogrzewanie podłogowe",
    "description": "Zalewasz rury betonem bez projektu? Poznaj wymogi normy PN-EN 1264 i oblicz parametry instalacji z naszymi interaktywnymi kalkulatorami OZC.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-fundamenty",
    "name": "Kluczowe Parametry Metodologiczne PN-EN 1264",
    "description": "Zbiór podstawowych definicji i wymogów technologicznych definiujących prawidłowe projektowanie i wykonywanie wbudowanych systemów płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "pn-en 1264 norma ogrzewanie podłogowe",
      "wodne ogrzewanie podłogowe",
      "niskotemperaturowy system płaszczyznowy",
      "limity temperatur posadzki",
      "procedury odbiorcze podłogówki"
    ],
    "measurementTechnique": "Określenie twardych danych i procedur inżynieryjnych na podstawie normy europejskiej PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "System: Niskotemperaturowy płaszczyznowy",
        "Główne wytyczne: Procedury obliczeniowe i rygorystyczne limity temperatur",
        "Skutki braku zgodności: Wady hydrauliczne, niedogrzanie, zniszczenie wylewki",
        "Dla kogo: Inżynierowie, instalatorzy i świadomi inwestorzy"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-nawigator",
    "name": "Nawigator Tematyczny dla Inwestora i Instalatora",
    "description": "Interaktywny moduł przełączający pozwalający użytkownikowi spersonalizować ścieżkę nauki normy PN-EN 1264 w zależności od jego roli na budowie.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-hero-container" id="rk-wstep-widget">
    
    <div class="rk-hero-split">
        <div class="rk-hero-left">
            <div class="rk-hero-badge">Kompendium Inżynieryjne</div>
            <h2>PN-EN 1264: Norma, która definiuje wodne ogrzewanie podłogowe</h2>
            <p class="rk-hero-hook">
                Zalewasz rury betonem i modlisz się, żeby zimą było ciepło? Wykonywanie instalacji <strong>na &#8222;oko&#8221; to najdroższa loteria</strong> na budowie. Dowiedz się, dlaczego fizyki nie da się oszukać.
            </p>
        </div>
        <div class="rk-hero-right">
            <div class="rk-hero-qa-card">
                <div class="rk-hero-qa-title">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Szybka odpowiedź eksperta
                </div>
                <p class="rk-hero-qa-text">
                    Norma PN-EN 1264 to europejski kodeks techniczny określający zasady projektowania i montażu wodnych instalacji płaszczyznowych. Jej <strong>głównym celem jest zapewnienie komfortu cieplnego</strong> poprzez matematyczne wyznaczenie oporów rur, rozstawu pętli oraz rygorystycznych limitów temperatur posadzki (np. max 29°C w salonie).
                </p>
            </div>
        </div>
    </div>

    <div class="rk-hero-content">
        <p>
            Wodne ogrzewanie podłogowe to <a href="https://projekt-ogrzewania.pl/najwiekszy-magazyn-energii-w-twoim-domu-juz-istnieje-i-prawdopodobnie-po-nim-chodzisz/">niskotemperaturowy system płaszczyznowy</a>, którego parametry pracy, wydajność cieplną oraz kryteria montażowe ściśle definiuje europejska norma <strong>PN-EN 1264</strong>. Dokument ten stanowi jedyny oficjalny fundament metodologiczny dla inżynierów i instalatorów w Polsce, określając precyzyjne procedury obliczeniowe oraz rygorystyczne limity temperatur powierzchni posadzki.
        </p>
        <p>
            Brak znajomości tej normy podczas realizacji inwestycji prowadzi bezpośrednio do wad hydraulicznych, niedogrzania budynku lub zniszczenia warstw wykończeniowych podłogi. Jako projektant z wieloletnim doświadczeniem, w tym artykule rozłożę normę PN-EN 1264 na czynniki pierwsze, pokazując twarde dane, wzory, <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">procedury przygotowania wylewki</a> i zasady odbiorcze.
        </p>
    </div>

    <div class="rk-hero-interactive">
        <h3 class="rk-hero-int-header">Przewodnik po artykule. Wybierz swój profil:</h3>
        
        <div class="rk-hero-roles" id="rkHeroRoles">
            <button class="rk-hero-role-btn active" data-target="inwestor">
                <div class="rk-hero-role-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="16"></line><line x1="8" y1="12" x2="16" y2="12"></line></svg>
                </div>
                <div class="rk-hero-role-text">
                    <h4>Dla Inwestora</h4>
                    <p>Ochrona budżetu i zdrowia</p>
                </div>
            </button>
            <button class="rk-hero-role-btn" data-target="instalator">
                <div class="rk-hero-role-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                </div>
                <div class="rk-hero-role-text">
                    <h4>Dla Instalatora</h4>
                    <p>Twarde dane i wzory</p>
                </div>
            </button>
        </div>

        <div class="rk-hero-view active" id="view-inwestor">
            <ul class="rk-hero-list">
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Dlaczego układanie rur &#8222;z głowy&#8221; rujnuje budżet po zalaniu betonu.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Maksymalne dopuszczalne temperatury posadzki ze względów medycznych.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Kto na placu budowy ponosi odpowiedzialność prawną za błędy.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Skutki braku profesjonalnej, ciśnieniowej próby szczelności.
                </li>
            </ul>
        </div>

        <div class="rk-hero-view" id="view-instalator">
            <ul class="rk-hero-list">
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Fizyczny wzór matematyczny określający jednostkową moc cieplną.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Wytyczne dla szczelin dylatacyjnych (limity m2) w oparciu o EN 1264-4.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Graniczne opory hydrauliczne obiegu a praca pompy ciepła.
                </li>
                <li>
                    <svg class="rk-hero-list-icon" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="9 18 15 12 9 6"></polyline></svg>
                    Zestawienie oporów (R) dla różnych materiałów wykończeniowych.
                </li>
            </ul>
        </div>
    </div>

    <div class="rk-hero-tools">
        <div class="rk-hero-tools-badge">Odkryj</div>
        <p class="rk-hero-tools-text">
            W dalszej części artykułu znajdziesz interaktywne kalkulatory ułatwiające obliczenia!
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var btns = document.querySelectorAll('#rkHeroRoles .rk-hero-role-btn');
    
    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-target');
            
            // Usunięcie klas aktywnych - bez animacji, twarda zmiana
            btns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Bezpieczne ukrywanie widoków (bez użycia &&)
            var viewInwestor = document.getElementById('view-inwestor');
            var viewInstalator = document.getElementById('view-instalator');
            
            if (viewInwestor !== null) { viewInwestor.classList.remove('active'); }
            if (viewInstalator !== null) { viewInstalator.classList.remove('active'); }
            
            // Aktywacja wybranej ścieżki
            this.classList.add('active');
            var activeView = document.getElementById('view-' + targetId);
            
            if (activeView !== null) {
                activeView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-def-dark: #0f172a;
    --rk-def-blue: #3b82f6;
    --rk-def-blue-light: #eff6ff;
    --rk-def-green: #10b981;
    --rk-def-red: #ef4444;
    --rk-def-gray: #f8fafc;
    --rk-def-border: #e2e8f0;
    --rk-def-text: #334155;
}

.rk-def-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-def-blue);
    overflow: hidden;
}

/* Nagłówek i Wprowadzenie */
.rk-def-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-def-dark) 0%, #1e293b 100%);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-def-blue);
}

.rk-def-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(147, 197, 253, 0.3);
}

.rk-def-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 20px 0;
    line-height: 1.3;
}

.rk-def-intro {
    font-size: 16px;
    line-height: 1.8;
    color: #cbd5e1;
    margin: 0;
}

.rk-def-intro a {
    color: #60a5fa;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Moduł Interaktywny - Status Systemu */
.rk-def-interactive {
    padding: 40px 50px;
    background: var(--rk-def-gray);
}

.rk-def-controls {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #ffffff;
    padding: 10px;
    border-radius: 16px;
    border: 1px solid var(--rk-def-border);
}

.rk-def-btn {
    flex: 1;
    padding: 18px 20px;
    border: 2px solid transparent;
    border-radius: 12px;
    background: transparent;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-def-text);
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-def-btn:hover {
    background: #f1f5f9;
}

.rk-def-btn.active[data-mode="norma"] {
    background: #ecfdf5;
    border-color: var(--rk-def-green);
    color: #065f46;
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.1);
}

.rk-def-btn.active[data-mode="blad"] {
    background: #fef2f2;
    border-color: var(--rk-def-red);
    color: #991b1b;
    box-shadow: 0 4px 10px rgba(239, 68, 68, 0.1);
}

/* Tablica rozdzielcza (Dashboard) */
.rk-def-dashboard {
    background: #ffffff;
    border: 1px solid var(--rk-def-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: border-color 0.4s;
}

.rk-def-status-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    padding-bottom: 20px;
    margin-bottom: 25px;
    border-bottom: 1px solid var(--rk-def-border);
}

.rk-def-status-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    transition: background 0.4s;
}

.rk-def-status-text h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-def-dark);
}

.rk-def-status-text p {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #64748b;
}

/* Kafelki z parametrami */
.rk-def-metrics {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-def-metric-card {
    background: var(--rk-def-gray);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-def-border);
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s;
}

.rk-def-metric-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    background: var(--rk-def-border);
    transition: background 0.4s;
}

.rk-def-metric-title {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 10px;
}

.rk-def-metric-val {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-def-dark);
    font-family: monospace;
    transition: color 0.4s;
}

.rk-def-metric-desc {
    font-size: 13px;
    color: #475569;
    margin-top: 10px;
    font-weight: 600;
    min-height: 40px;
}

/* Wnioski końcowe pod widgetem */
.rk-def-conclusion {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-def-border);
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-def-conc-icon {
    width: 32px;
    height: 32px;
    color: var(--rk-def-blue);
    flex-shrink: 0;
    margin-top: 5px;
}

.rk-def-conclusion p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-def-text);
    margin: 0;
}

.rk-def-conclusion a {
    color: var(--rk-def-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-def-header { padding: 35px 25px; }
    .rk-def-header h2 { font-size: 24px; }
    .rk-def-interactive { padding: 30px 20px; }
    .rk-def-controls { flex-direction: column; gap: 10px; }
    .rk-def-metrics { grid-template-columns: 1fr; gap: 15px; }
    .rk-def-metric-desc { min-height: auto; }
    .rk-def-conclusion { padding: 30px 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-definicja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Czym jest norma PN-EN 1264 i dlaczego definiuje standardy ogrzewania podłogowego?",
    "description": "Zharmonizowany standard europejski chroniący przed błędami instalacyjnymi. Dowiedz się, dlaczego projektowanie bez normy niszczy współczynnik COP i posadzkę.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-definicja",
    "name": "Kluczowe Parametry i Limity Normy PN-EN 1264",
    "description": "Podstawowe dane inżynieryjne określające standardy bezpieczeństwa fizjologicznego i technicznego dla wodnych systemów płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma pn-en 1264",
      "maksymalna temperatura podłogi 29°C",
      "temperatura zasilania pompy ciepła",
      "współczynnik COP pompy ciepła",
      "wodne systemy ogrzewania płaszczyznowego"
    ],
    "measurementTechnique": "Wartości graniczne określone w 5-częściowym dokumencie zharmonizowanym ustalającym zasady fizyki budowli dla strefy klimatycznej (np. -20°C).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna temperatura powierzchni w strefie przebywania: 29°C",
        "Graniczna optymalna temperatura zasilania PC: 35°C",
        "Skutek przekroczenia temp. zasilania >45°C: Drastyczny spadek COP",
        "Ilość części strukturalnych normy: 5"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-definicja",
    "name": "Symulator Skutków Braków Obliczeniowych",
    "description": "Interaktywne zestawienie pokazujące skutki porzucenia normy PN-EN 1264 dla efektywności COP i bezpieczeństwa posadzki (zjawisko niedogrzania).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-def-container" id="rk-norm-definition-widget">
    <div class="rk-def-header">
        <div class="rk-def-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Fundament Inżynierii
        </div>
        <h2>Czym jest norma PN-EN 1264 i dlaczego definiuje standardy ogrzewania podłogowego?</h2>
        <p class="rk-def-intro">
            Norma <strong>PN-EN 1264</strong> to zharmonizowany standard europejski o nazwie <em>„Wbudowane wodne systemy ogrzewania i chłodzenia płaszczyznowego”</em>. Składa się z 5 odrębnych części, które krok po kroku określają twarde zasady projektowania, obliczeń oraz montażu instalacji. To techniczny filtr bezpieczeństwa, bez którego budowa staje się grą w ruletkę.
        </p>
    </div>

    <div class="rk-def-interactive">
        <div class="rk-def-controls" id="rkDefControls">
            <button class="rk-def-btn active" data-mode="norma">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Instalacja wg PN-EN 1264
            </button>
            <button class="rk-def-btn" data-mode="blad">
                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>
                Instalacja &#8222;na oko&#8221; (Brak obliczeń)
            </button>
        </div>

        <div class="rk-def-dashboard" id="rkDefDashboard" style="border-color: var(--rk-def-green);">
            <div class="rk-def-status-bar">
                <div class="rk-def-status-icon" id="rkDefIcon" style="background: var(--rk-def-green);">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <div class="rk-def-status-text">
                    <h3 id="rkDefTitle">Pełne Bezpieczeństwo i Gwarancja</h3>
                    <p id="rkDefSubtitle">System zaprojektowany inżynieryjnie pod parametry budynku.</p>
                </div>
            </div>

            <div class="rk-def-metrics">
                <div class="rk-def-metric-card" id="card-1">
                    <div class="rk-def-metric-title">Temperatura Podłogi</div>
                    <div class="rk-def-metric-val" id="val-1">Max 29°C</div>
                    <div class="rk-def-metric-desc" id="desc-1"><a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" style="color:inherit; text-decoration:underline;">Zgodna z fizjologią</a> i medycyną. Chroni zdrowie domowników.</div>
                </div>
                
                <div class="rk-def-metric-card" id="card-2">
                    <div class="rk-def-metric-title">Zasilanie Pompy (Zima -20°C)</div>
                    <div class="rk-def-metric-val" id="val-2">~ 35°C</div>
                    <div class="rk-def-metric-desc" id="desc-2">Niskotemperaturowa praca utrzymuje wysoki <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" style="color:inherit; text-decoration:underline;">współczynnik COP</a>.</div>
                </div>

                <div class="rk-def-metric-card" id="card-3">
                    <div class="rk-def-metric-title">Status Posadzki</div>
                    <div class="rk-def-metric-val" id="val-3">Trwała</div>
                    <div class="rk-def-metric-desc" id="desc-3">Brak ryzyka pękania jastrychu i zachowana gwarancja producentów.</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-def-conclusion">
        <svg class="rk-def-conc-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        <p>
            Konsekwencją porzucenia obliczeń normatywnych jest zjawisko niedogrzania pomieszczeń przy temperaturach projektowych (np. -20°C dla III strefy klimatycznej) lub konieczność drastycznego podnoszenia temperatury zasilania. Zignorowanie wytycznych to <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">błędy, których naprawa po zalaniu wylewki jest technicznie niemożliwa</a>.
        </p>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var dataModes = {
        'norma': {
            mainColor: '#10b981', // green
            icon: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',
            title: 'Pełne Bezpieczeństwo i Gwarancja',
            subtitle: 'System zaprojektowany inżynieryjnie pod parametry budynku.',
            val1: 'Max 29°C',
            desc1: '<a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" style="color:inherit; text-decoration:underline;">Zgodna z fizjologią</a> i medycyną. Chroni zdrowie domowników.',
            val2: '~ 35°C',
            desc2: 'Niskotemperaturowa praca utrzymuje wysoki <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/" style="color:inherit; text-decoration:underline;">współczynnik COP</a>.',
            val3: 'Trwała',
            desc3: 'Brak ryzyka pękania jastrychu i zachowana gwarancja producentów.'
        },
        'blad': {
            mainColor: '#ef4444', // red
            icon: '<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2"></polygon><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            title: 'Katastrofa Budowlana',
            subtitle: 'Ogrzewanie działające losowo, niszczące źródło ciepła.',
            val1: '> 33°C',
            desc1: 'Przegrzana posadzka powoduje pęcznienie żył (syndrom ciężkich nóg) i wysusza drogi oddechowe.',
            val2: '> 45°C',
            desc2: 'Drastyczne obniżenie sprawności pompy ciepła, generujące <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" style="color:inherit; text-decoration:underline;">potężne rachunki za prąd</a>.',
            val3: 'Ryzyko',
            desc3: 'Pękająca wylewka, odklejające się płytki i natychmiastowa utrata gwarancji od producentów.'
        }
    };

    var btns = document.querySelectorAll('#rkDefControls .rk-def-btn');
    var elDash = document.getElementById('rkDefDashboard');
    var elIcon = document.getElementById('rkDefIcon');
    var elTitle = document.getElementById('rkDefTitle');
    var elSubtitle = document.getElementById('rkDefSubtitle');
    
    var elVal1 = document.getElementById('val-1');
    var elDesc1 = document.getElementById('desc-1');
    var elVal2 = document.getElementById('val-2');
    var elDesc2 = document.getElementById('desc-2');
    var elVal3 = document.getElementById('val-3');
    var elDesc3 = document.getElementById('desc-3');

    // Pseudo-element styles cannot be targeted directly via inline CSS easily without specific classes,
    // we will apply CSS custom properties locally for the cards
    var cards = document.querySelectorAll('.rk-def-metric-card');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var mode = this.getAttribute('data-mode');
            var data = dataModes[mode];

            // Toggle active state
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');

            if (data !== undefined) {
                // Update Dashboard Colors
                if (elDash !== null) { elDash.style.borderColor = data.mainColor; }
                if (elIcon !== null) { 
                    elIcon.style.backgroundColor = data.mainColor; 
                    elIcon.innerHTML = data.icon;
                }
                
                // Update Text
                if (elTitle !== null) { elTitle.textContent = data.title; }
                if (elSubtitle !== null) { elSubtitle.textContent = data.subtitle; }
                
                if (elVal1 !== null) { elVal1.textContent = data.val1; elVal1.style.color = data.mainColor; }
                if (elDesc1 !== null) { elDesc1.innerHTML = data.desc1; }
                
                if (elVal2 !== null) { elVal2.textContent = data.val2; elVal2.style.color = data.mainColor; }
                if (elDesc2 !== null) { elDesc2.innerHTML = data.desc2; }
                
                if (elVal3 !== null) { elVal3.textContent = data.val3; elVal3.style.color = data.mainColor; }
                if (elDesc3 !== null) { elDesc3.innerHTML = data.desc3; }

                // Update Cards Border Top Color dynamically by applying inline style variable 
                // that we can pick up in CSS, or simply setting border-top.
                cards.forEach(function(card) {
                    // Quick fix for top border line color change
                    card.style.boxShadow = "inset 0 4px 0 0 " + data.mainColor;
                });
            }
        });
    });
    
    // Trigger initial style for cards
    cards.forEach(function(card) {
        card.style.boxShadow = "inset 0 4px 0 0 #10b981"; // Initial green
        card.style.transition = "box-shadow 0.4s";
    });
});
</script>



<style>
:root {
    --rk-parts-dark: #0f172a;
    --rk-parts-blue-dark: #1e3a8a;
    --rk-parts-blue: #2563eb;
    --rk-parts-blue-light: #eff6ff;
    --rk-parts-cyan: #06b6d4;
    --rk-parts-text: #334155;
    --rk-parts-bg: #ffffff;
    --rk-parts-border: #e2e8f0;
}

.rk-parts-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-parts-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(37, 99, 235, 0.15);
    border: 1px solid var(--rk-parts-blue);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-parts-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-parts-dark) 0%, var(--rk-parts-blue-dark) 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-parts-cyan);
}

.rk-parts-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(34, 211, 238, 0.3);
}

.rk-parts-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-parts-header p {
    font-size: 16px;
    color: #93c5fd;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Interaktywny Eksplorator - Nawigacja (Desktop Poziomo, Mobile Pionowo) */
.rk-parts-explorer {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-parts-nav {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 35px;
    position: relative;
}

/* Linia łącząca kroki (tylko desktop) */
.rk-parts-nav::before {
    content: '';
    position: absolute;
    top: 24px;
    left: 20px;
    right: 20px;
    height: 3px;
    background: var(--rk-parts-border);
    z-index: 1;
}

.rk-parts-btn {
    flex: 1;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-parts-btn:hover {
    transform: translateY(-5px);
}

.rk-parts-step {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ffffff;
    border: 3px solid var(--rk-parts-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-parts-text);
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.rk-parts-btn.active .rk-parts-step {
    border-color: var(--rk-parts-cyan);
    background: var(--rk-parts-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.4);
}

.rk-parts-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-parts-text);
    text-transform: uppercase;
    transition: color 0.3s;
}

.rk-parts-btn.active .rk-parts-label {
    color: var(--rk-parts-blue);
}

/* Zawartość Eksploratora */
.rk-parts-content-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-parts-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 10px -2px rgba(0,0,0,0.02);
    min-height: 280px;
}

.rk-parts-panel {
    display: none;
    animation: fadeInPart 0.5s ease forwards;
}

.rk-parts-panel.active {
    display: block;
}

@keyframes fadeInPart {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-parts-panel h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-parts-dark);
    margin: 0 0 15px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-parts-border);
}

.rk-parts-panel h3 svg {
    color: var(--rk-parts-blue);
}

.rk-parts-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-parts-text);
    margin: 0 0 15px 0;
}

.rk-parts-panel a {
    color: var(--rk-parts-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-parts-panel a:hover {
    color: var(--rk-parts-cyan);
}

.rk-parts-highlight {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--rk-parts-blue-light);
    color: var(--rk-parts-blue-dark);
    padding: 12px 18px;
    border-radius: 12px;
    border-left: 4px solid var(--rk-parts-blue);
    font-weight: 600;
    font-size: 15px;
    margin-top: 10px;
    width: 100%;
}

@media (max-width: 768px) {
    .rk-parts-header { padding: 35px 25px; }
    .rk-parts-header h2 { font-size: 24px; }
    .rk-parts-explorer { padding: 30px 20px; }
    
    /* Zmiana na układ pionowy dla mobile */
    .rk-parts-nav { flex-direction: column; gap: 15px; }
    .rk-parts-nav::before { display: none; }
    .rk-parts-btn { flex-direction: row; text-align: left; background: #ffffff; padding: 15px; border: 1px solid var(--rk-parts-border); border-radius: 12px; }
    .rk-parts-btn:hover { transform: translateX(5px); }
    .rk-parts-step { width: 40px; height: 40px; font-size: 16px; border-width: 2px; }
    
    .rk-parts-content-wrapper { padding: 25px; min-height: auto; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-czesci-normy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jakie są części normy PN-EN 1264 i co regulują w systemach płaszczyznowych?",
    "description": "Poznaj 5 kluczowych części normy PN-EN 1264. Od definicji, przez obliczenia mocy, aż po montaż i próby ciśnieniowe wodnego ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-struktura",
    "name": "Struktura normatywna PN-EN 1264 dla ogrzewania płaszczyznowego",
    "description": "Klasyfikacja i podział wytycznych inżynieryjnych wg normy europejskiej na 5 integralnych modułów (definicje, moc, projektowanie, montaż, sufity/ściany).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "części normy pn-en 1264",
      "pn-en 1264-2 obliczenia",
      "pn-en 1264-4 montaż",
      "projektowanie instalacji podłogowych",
      "system mokry i suchy podłogówki"
    ],
    "measurementTechnique": "Podział strukturalny dokumentacji na etapy cyklu życia instalacji: od koncepcji, przez obliczenia fizykalne, po odbiory budowlane.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "PN-EN 1264-1: Definicje i symbole (Typ A, B, C)",
        "PN-EN 1264-2: Metody obliczeniowe (moc q)",
        "PN-EN 1264-3: Projektowanie (rozstaw rur, PN-EN 12831)",
        "PN-EN 1264-4: Montaż (próba ciśnieniowa, dylatacje)",
        "PN-EN 1264-5: Ogrzewanie i chłodzenie sufitowe/ścienne"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-eksplorator-normy",
    "name": "Eksplorator Struktury Normy PN-EN 1264",
    "description": "Interaktywne narzędzie pozwalające inżynierom i inwestorom na przeglądanie wymagań poszczególnych sekcji normy w ujęciu wizualnym.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-parts-container" id="rk-norm-parts-widget">
    <div class="rk-parts-header">
        <div class="rk-parts-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path></svg>
            Struktura Dokumentu
        </div>
        <h2>Jakie są części normy PN-EN 1264 i co regulują w systemach płaszczyznowych?</h2>
        <p>Struktura normy dzieli się na pięć kluczowych sekcji. Każda z nich odpowiada za inny etap cyklu życia instalacji: od definicji technicznych, aż po finalny odbiór na budowie.</p>
    </div>

    <div class="rk-parts-explorer">
        <div class="rk-parts-nav" id="rkPartsNav">
            <button class="rk-parts-btn active" data-part="1">
                <div class="rk-parts-step">1</div>
                <div class="rk-parts-label">Definicje</div>
            </button>
            <button class="rk-parts-btn" data-part="2">
                <div class="rk-parts-step">2</div>
                <div class="rk-parts-label">Moc Cieplna</div>
            </button>
            <button class="rk-parts-btn" data-part="3">
                <div class="rk-parts-step">3</div>
                <div class="rk-parts-label">Projektowanie</div>
            </button>
            <button class="rk-parts-btn" data-part="4">
                <div class="rk-parts-step">4</div>
                <div class="rk-parts-label">Montaż</div>
            </button>
            <button class="rk-parts-btn" data-part="5">
                <div class="rk-parts-step">5</div>
                <div class="rk-parts-label">Ściany / Sufity</div>
            </button>
        </div>

        <div class="rk-parts-content-wrapper">
            <div class="rk-parts-panel active" id="part-1">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>
                    PN-EN 1264-1: Definicje i symbole
                </h3>
                <p>Wprowadza jednolitą nomenklaturę technologiczną i klasyfikuje systemy podłogowe.</p>
                <p>Wskazuje m.in. na systemy Typu A (rury w jastrychu, mocowane na izolacji z wypustami lub klipsami – klasyczny <a href="https://projekt-ogrzewania.pl/czym-jest-system-mokry-w-wodnym-ogrzewaniu-podlogowym/">system mokry</a>) oraz Typu C (rury w warstwie wyrównawczej, nad którymi znajduje się podwójna warstwa jastrychu), a także <a href="https://projekt-ogrzewania.pl/czym-jest-system-suchy-w-wodnym-ogrzewaniu-podlogowym/">systemy suche (Typ B)</a>.</p>
            </div>

            <div class="rk-parts-panel" id="part-2">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
                    PN-EN 1264-2: Metody obliczeniowe
                </h3>
                <p>To najważniejszy matematyczny rdzeń <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">normy obliczeń ogrzewania podłogowego</a>. Określa algorytmy dla mocy cieplnej.</p>
                <p>Wyznacza jednostkową gęstość strumienia cieplnego (q) i opiera się na badaniach laboratoryjnych i nomogramach, które wiążą rozstaw rur, grubość wylewki i opór cieplny okładziny z realną wydajnością systemu.</p>
                <div class="rk-parts-highlight">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Podstawa do doboru temperatury zasilania.
                </div>
            </div>

            <div class="rk-parts-panel" id="part-3">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    PN-EN 1264-3: Projektowanie i wymiarowanie
                </h3>
                <p>Ta część instruuje projektanta, jak dopasować instalację do <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">strat ciepła budynku (OZC)</a> obliczonych ściśle według normy PN-EN 12831.</p>
                <p>Narzuca rygorystyczne limity temperatur powierzchni (np. 29°C) i metodologię doboru rozstawu pętli na podstawie krytycznych parametrów hydraulicznych obiegu.</p>
            </div>

            <div class="rk-parts-panel" id="part-4">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                    PN-EN 1264-4: Montaż instalacji
                </h3>
                <p>Kluczowy dokument na placu budowy. Określa minimalny opór cieplny izolacji stropu (np. <strong>R = 1,25 m²K/W</strong> nad pomieszczeniem ogrzewanym).</p>
                <p>Definiuje zasady wykonywania dylatacji, precyzyjne parametry <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">ciśnieniowej próby szczelności</a> oraz procedurę wygrzewania <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">jastrychu</a>.</p>
                <div class="rk-parts-highlight">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Zignorowanie tej części powoduje utratę gwarancji!
                </div>
            </div>

            <div class="rk-parts-panel" id="part-5">
                <h3>
                    <svg width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 3h18v18H3z"></path><path d="M21 9H3"></path><path d="M21 15H3"></path></svg>
                    PN-EN 1264-5: Ogrzewanie i chłodzenie sufitowe/ścienne
                </h3>
                <p>Rozszerza dotychczasową metodykę obliczeń na alternatywne płaszczyzny (ściany i sufity).</p>
                <p>Definiuje odmienne limity temperatur dla tych rozwiązań (np. maksymalnie 40°C dla ogrzewania ściennego) oraz zwraca szczególną uwagę na zjawisko <a href="https://projekt-ogrzewania.pl/punkt-rosy-w-ogrzewaniu-podlogowym-jak-bezpiecznie-chlodzic-dom-bez-ryzyka-kondensacji/">punktu rosy przy chłodzeniu</a>.</p>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rkPartsNav .rk-parts-btn');
    var panels = document.querySelectorAll('.rk-parts-panel');

    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetPart = this.getAttribute('data-part');

            // Reset wszystkich przycisków
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');

            // Reset paneli
            panels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            
            // Aktywacja odpowiedniego panelu (bezpieczny kod)
            var activePanel = document.getElementById('part-' + targetPart);
            if (activePanel !== null) {
                activePanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-temp-dark: #1e293b;
    --rk-temp-slate: #334155;
    --rk-temp-red: #ef4444;
    --rk-temp-red-light: #fef2f2;
    --rk-temp-orange: #f97316;
    --rk-temp-orange-light: #fff7ed;
    --rk-temp-green: #10b981;
    --rk-temp-green-light: #ecfdf5;
    --rk-temp-bg: #ffffff;
    --rk-temp-gray: #f8fafc;
    --rk-temp-border: #e2e8f0;
}

.rk-temp-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-temp-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-temp-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-temp-header {
    padding: 40px 50px 30px;
    background: var(--rk-temp-dark);
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-temp-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.1);
    color: #cbd5e1;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.rk-temp-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-temp-header p {
    font-size: 16px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Sekcja Interaktywna - Wybór Strefy */
.rk-temp-interactive {
    padding: 40px 50px;
    background: var(--rk-temp-bg);
}

.rk-temp-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 30px;
}

.rk-temp-selectors {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-temp-btn {
    background: #ffffff;
    border: 2px solid var(--rk-temp-border);
    border-radius: 16px;
    padding: 16px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-temp-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    background: var(--rk-temp-border);
    transition: background 0.3s;
}

.rk-temp-btn:hover {
    transform: translateX(4px);
    background: var(--rk-temp-gray);
}

.rk-temp-btn.active {
    border-color: var(--rk-temp-slate);
    background: #f1f5f9;
    box-shadow: 0 10px 15px -5px rgba(0,0,0,0.05);
}

.rk-temp-btn.active[data-zone="salon"] { border-color: var(--rk-temp-green); }
.rk-temp-btn.active[data-zone="salon"]::before { background: var(--rk-temp-green); }

.rk-temp-btn.active[data-zone="lazienka"] { border-color: var(--rk-temp-orange); }
.rk-temp-btn.active[data-zone="lazienka"]::before { background: var(--rk-temp-orange); }

.rk-temp-btn.active[data-zone="brzeg"] { border-color: var(--rk-temp-red); }
.rk-temp-btn.active[data-zone="brzeg"]::before { background: var(--rk-temp-red); }

.rk-temp-btn-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--rk-temp-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-temp-slate);
    transition: all 0.3s;
}

.rk-temp-btn.active[data-zone="salon"] .rk-temp-btn-icon { background: var(--rk-temp-green-light); color: var(--rk-temp-green); }
.rk-temp-btn.active[data-zone="lazienka"] .rk-temp-btn-icon { background: var(--rk-temp-orange-light); color: var(--rk-temp-orange); }
.rk-temp-btn.active[data-zone="brzeg"] .rk-temp-btn-icon { background: var(--rk-temp-red-light); color: var(--rk-temp-red); }

.rk-temp-btn-content h4 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-temp-dark);
}

.rk-temp-btn-content p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    font-weight: 600;
}

/* Wizualizator Temperatury */
.rk-temp-visualizer {
    background: var(--rk-temp-gray);
    border: 1px solid var(--rk-temp-border);
    border-radius: 20px;
    padding: 40px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    transition: background 0.4s;
}

.rk-temp-thermometer {
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    margin-bottom: 25px;
}

.rk-temp-ring {
    position: absolute;
    top: 5px; left: 5px; right: 5px; bottom: 5px;
    border-radius: 50%;
    border: 8px solid transparent;
    transition: border-color 0.4s ease;
}

.rk-temp-value {
    font-size: 36px;
    font-weight: 900;
    font-family: monospace;
    color: var(--rk-temp-dark);
    z-index: 2;
    transition: color 0.4s;
}

.rk-temp-desc-box h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-temp-dark);
}

.rk-temp-desc-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-temp-slate);
}

/* Sekcja Ostrzegawcza */
.rk-temp-warning {
    padding: 30px 50px;
    background: #fef2f2;
    border-top: 1px solid #fecaca;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.rk-temp-warning-icon {
    width: 48px;
    height: 48px;
    background: #fee2e2;
    color: #dc2626;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-temp-warning-content h4 {
    margin: 0 0 10px 0;
    font-size: 18px;
    font-weight: 900;
    color: #991b1b;
}

.rk-temp-warning-content p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: #7f1d1d;
}

.rk-temp-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-temp-header { padding: 35px 25px; }
    .rk-temp-header h2 { font-size: 24px; }
    .rk-temp-interactive { padding: 30px 20px; }
    .rk-temp-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-temp-visualizer { padding: 30px 20px; }
    .rk-temp-warning { padding: 30px 20px; flex-direction: column; align-items: center; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-temperatura",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak norma PN-EN 1264 określa maksymalną temperaturę podłogi dla zdrowia i komfortu?",
    "description": "Zrozum wpływ ogrzewania na fizjologię człowieka. Zobacz limity (29°C w salonie, 35°C pod oknem) zapobiegające syndromowi ciężkich nóg i pękaniu paneli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-limity-temperatur",
    "name": "Limity Fizjologiczne Temperatur Powierzchni Podłogi (PN-EN 1264)",
    "description": "Medyczne i techniczne wartości graniczne dla powierzchni posadzki wymuszające prawidłowe zaprojektowanie rozstawu rur i krzywej grzewczej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "optymalna temperatura ogrzewania podłogowego",
      "strefa brzegowa w ogrzewaniu podłogowym",
      "czy ogrzewanie podłogowe wysusza powietrze",
      "wady wodnego ogrzewania podłogowego",
      "zdrowotne skutki ogrzewania podłogowego"
    ],
    "measurementTechnique": "Określenie limitów fizjologicznych na podstawie badań komfortu cieplnego zawartych w normie PN-EN 1264-3 (paragraf 4.1.2).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Salon i sypialnia (strefa przebywania): Maksymalnie 29°C",
        "Łazienka (strefa sanitarna, bosa stopa): Maksymalnie 33°C",
        "Strefa brzeżna (pas okienny do 1 m): Maksymalnie 35°C"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-stref",
    "name": "Analizator Stref Fizjologicznych PN-EN 1264",
    "description": "Interaktywny panel ilustrujący różnice między parametrami cieplnymi dla stref: przebywania, sanitarnej oraz brzegowej wraz z opisem zjawisk negatywnych.",
    "applicationCategory": "HealthApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-temp-container" id="rk-health-temp-widget">
    <div class="rk-temp-header">
        <div class="rk-temp-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Fizjologia i Komfort
        </div>
        <h2>Jak norma PN-EN 1264 określa maksymalną temperaturę podłogi dla zdrowia?</h2>
        <p>Wodne ogrzewanie podłogowe to nie tylko rury. To ogromny grzejnik, z którym stykasz się bezpośrednio. Norma (paragraf 4.1.2) rygorystycznie różnicuje dopuszczalne temperatury w zależności od specyfiki pomieszczenia.</p>
    </div>

    <div class="rk-temp-interactive">
        <div class="rk-temp-grid">
            
            <div class="rk-temp-selectors" id="rkTempBtns">
                <button class="rk-temp-btn active" data-zone="salon">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"></path><polyline points="9 22 9 12 15 12 15 22"></polyline></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Strefa Stałego Przebywania</h4>
                        <p>Salon, sypialnia, pokój dziecięcy</p>
                    </div>
                </button>

                <button class="rk-temp-btn" data-zone="lazienka">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M2 12h20"></path><path d="M20 12v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8"></path><path d="M10 8l2-2 2 2"></path><path d="M14 4h-4"></path></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Pomieszczenia Sanitarne</h4>
                        <p>Łazienki, pokoje kąpielowe</p>
                    </div>
                </button>

                <button class="rk-temp-btn" data-zone="brzeg">
                    <div class="rk-temp-btn-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
                    </div>
                    <div class="rk-temp-btn-content">
                        <h4>Strefa Brzeżna</h4>
                        <p>Pas okienny do 1 metra szerokości</p>
                    </div>
                </button>
            </div>

            <div class="rk-temp-visualizer" id="rkTempVisual">
                <div class="rk-temp-thermometer">
                    <div class="rk-temp-ring" id="rkTempRing" style="border-color: var(--rk-temp-green);"></div>
                    <div class="rk-temp-value" id="rkTempVal" style="color: var(--rk-temp-green);">29°C</div>
                </div>
                <div class="rk-temp-desc-box">
                    <h3 id="rkTempTitle">Bezpieczne 29°C</h3>
                    <p id="rkTempDesc">
                        Maksymalna <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-temp-link">optymalna temperatura ogrzewania</a>. Jej utrzymanie chroni przed zaburzeniami krążenia obwodowego i pozwala posadzce bezpiecznie stygnąć po wyłączeniu cyklu.
                    </p>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-temp-warning">
        <div class="rk-temp-warning-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        </div>
        <div class="rk-temp-warning-content">
            <h4>Błędy projektowe a syndrom ciężkich nóg</h4>
            <p>
                Częstą <a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/" class="rk-temp-link">wadą instalacji wykonywanych bez projektu</a> jest brak weryfikacji temperatur powierzchni. Przegrzanie posadzki (np. do 32°C w salonie) wywołuje u ludzi medyczny syndrom ciężkich nóg, drastycznie <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-wysusza-powietrze-w-pomieszczeniach/" class="rk-temp-link">wysusza powietrze</a>, nasila konwekcję kurzu i ostatecznie doprowadza do rozklejenia się paneli podłogowych.
            </p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var zoneData = {
        'salon': {
            temp: '29°C',
            color: '#10b981', // Zielony
            bg: '#ecfdf5',
            title: 'Bezpieczne 29°C',
            desc: 'Maksymalna <a href="https://projekt-ogrzewania.pl/jaka-jest-optymalna-temperatura-ogrzewania-podlogowego/" class="rk-temp-link" style="color:inherit;">optymalna temperatura ogrzewania</a>. Jej utrzymanie chroni przed zaburzeniami krążenia obwodowego i pozwala posadzce bezpiecznie stygnąć.'
        },
        'lazienka': {
            temp: '33°C',
            color: '#f97316', // Pomarańczowy
            bg: '#fff7ed',
            title: 'Komfort bosej stopy',
            desc: 'W łazience wymagamy temperatury powietrza rzędu 24°C. Dlatego norma zezwala na wyższą temperaturę posadzki (33°C), aby zrekompensować straty ciepła i nagrzać chłodne płytki.'
        },
        'brzeg': {
            temp: '35°C',
            color: '#ef4444', // Czerwony
            bg: '#fef2f2',
            title: 'Bufor termiczny przy oknach',
            desc: 'Aby zablokować opadanie zimnego powietrza z ogromnych okien tarasowych, <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/" class="rk-temp-link" style="color:inherit;">w strefie brzegowej</a> zagęszcza się rury, a norma podnosi limit aż do 35°C na odcinku max. 1 metra szerokości.'
        }
    };

    var btns = document.querySelectorAll('#rkTempBtns .rk-temp-btn');
    
    var elVisual = document.getElementById('rkTempVisual');
    var elRing = document.getElementById('rkTempRing');
    var elVal = document.getElementById('rkTempVal');
    var elTitle = document.getElementById('rkTempTitle');
    var elDesc = document.getElementById('rkTempDesc');

    btns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            // Reset aktywnych przycisków
            btns.forEach(function(b) { b.classList.remove('active'); });
            this.classList.add('active');

            var zoneKey = this.getAttribute('data-zone');
            var data = zoneData[zoneKey];

            // Aktualizacja bez warunków logicznych AND
            if (data !== undefined) {
                if (elVisual !== null) { elVisual.style.backgroundColor = data.bg; }
                if (elRing !== null) { elRing.style.borderColor = data.color; }
                if (elVal !== null) { 
                    elVal.style.color = data.color; 
                    elVal.innerHTML = data.temp; 
                }
                if (elTitle !== null) { elTitle.innerHTML = data.title; }
                if (elDesc !== null) { elDesc.innerHTML = data.desc; }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-pow-dark: #1e1b4b; /* Głęboki indygo */
    --rk-pow-primary: #6366f1; /* Fiolet / Indygo */
    --rk-pow-primary-hover: #4f46e5;
    --rk-pow-accent: #06b6d4; /* Cyjan */
    --rk-pow-bg: #ffffff;
    --rk-pow-gray: #f8fafc;
    --rk-pow-border: #e2e8f0;
    --rk-pow-text: #334155;
    --rk-pow-text-muted: #64748b;
}

.rk-pow-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pow-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(99, 102, 241, 0.15);
    border: 1px solid var(--rk-pow-primary);
    overflow: hidden;
}

/* Nagłówek */
.rk-pow-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-pow-dark) 0%, #312e81 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-pow-accent);
}

.rk-pow-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #67e8f9;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(103, 232, 249, 0.3);
}

.rk-pow-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

/* Moduł Teoretyczny - Wzór na Moc */
.rk-pow-theory {
    padding: 40px 50px;
    background: var(--rk-pow-bg);
}

.rk-pow-theory p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-pow-text);
    margin: 0 0 20px 0;
}

.rk-pow-formula-box {
    background: #0f172a;
    border-radius: 16px;
    padding: 25px;
    margin: 25px 0;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.2);
    border-left: 5px solid var(--rk-pow-accent);
}

.rk-pow-formula {
    font-family: 'Courier New', Courier, monospace;
    font-size: 22px;
    font-weight: 700;
    color: #38bdf8;
    text-align: center;
    margin-bottom: 15px;
    letter-spacing: 1px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.rk-pow-formula span { color: #f8fafc; }

.rk-pow-legend {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-pow-legend-item {
    font-size: 14px;
    color: #cbd5e1;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.rk-pow-legend-symbol {
    font-weight: 900;
    color: var(--rk-pow-accent);
    background: rgba(6, 182, 212, 0.15);
    padding: 2px 8px;
    border-radius: 6px;
    min-width: 45px;
    text-align: center;
}

/* Moduł Interaktywny - Scenariusze */
.rk-pow-scenarios {
    padding: 40px 50px;
    background: var(--rk-pow-gray);
    border-top: 1px solid var(--rk-pow-border);
}

.rk-pow-scenarios-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-pow-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-pow-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-pow-tab {
    background: #ffffff;
    border: 2px solid var(--rk-pow-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.rk-pow-tab:hover {
    border-color: var(--rk-pow-primary);
    transform: translateY(-3px);
}

.rk-pow-tab.active {
    background: var(--rk-pow-primary);
    border-color: var(--rk-pow-primary);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(99, 102, 241, 0.4);
    transform: translateY(-3px);
}

.rk-pow-tab-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-pow-gray);
    color: var(--rk-pow-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-pow-tab.active .rk-pow-tab-icon {
    background: rgba(255,255,255,0.2);
    color: #ffffff;
}

.rk-pow-tab-title {
    font-size: 14px;
    font-weight: 800;
    line-height: 1.3;
}

.rk-pow-tab:not(.active) .rk-pow-tab-title { color: var(--rk-pow-text); }

/* Tablica Wyników (Dashboard) */
.rk-pow-dashboard {
    background: #ffffff;
    border: 1px solid var(--rk-pow-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-pow-dash-header {
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-pow-border);
}

.rk-pow-dash-title {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-pow-dark);
    margin: 0;
}

/* Parametry Wejściowe */
.rk-pow-params {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rk-pow-param-box {
    background: var(--rk-pow-gray);
    padding: 12px;
    border-radius: 12px;
    border: 1px solid var(--rk-pow-border);
    text-align: center;
}

.rk-pow-param-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--rk-pow-text-muted);
    margin-bottom: 5px;
}

.rk-pow-param-val {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-pow-primary);
}

/* Sekcja Wyniku */
.rk-pow-result-area {
    display: flex;
    gap: 20px;
    align-items: stretch;
}

.rk-pow-main-result {
    flex: 1;
    background: var(--rk-pow-dark);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.rk-pow-main-result::before {
    content: '';
    position: absolute;
    top: -50%; left: -50%; width: 200%; height: 200%;
    background: radial-gradient(circle, rgba(6,182,212,0.1) 0%, transparent 70%);
}

.rk-pow-res-label {
    font-size: 14px;
    color: #cbd5e1;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 5px;
    position: relative;
}

.rk-pow-res-value {
    font-size: 42px;
    font-weight: 900;
    color: #ffffff;
    font-family: monospace;
    position: relative;
}

.rk-pow-conclusion {
    flex: 2;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 16px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rk-pow-conclusion.warning {
    background: #fffbeb;
    border-color: #fef08a;
}

.rk-pow-conclusion.danger {
    background: #fef2f2;
    border-color: #fecaca;
}

.rk-pow-conc-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-pow-conclusion p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

.rk-pow-link-inline {
    color: inherit;
    text-decoration: underline;
    font-weight: 700;
}

@media (max-width: 768px) {
    .rk-pow-header { padding: 35px 25px; }
    .rk-pow-theory { padding: 30px 20px; }
    .rk-pow-scenarios { padding: 30px 20px; }
    
    .rk-pow-formula { font-size: 16px; flex-direction: column; }
    .rk-pow-legend { grid-template-columns: 1fr; }
    
    /* Na mobile akordeon/przyciski pionowe */
    .rk-pow-tabs { grid-template-columns: 1fr; gap: 10px; }
    .rk-pow-tab { flex-direction: row; padding: 15px; text-align: left; }
    .rk-pow-tab-icon { margin-right: 10px; }
    
    .rk-pow-dashboard { padding: 20px; }
    .rk-pow-params { grid-template-columns: repeat(2, 1fr); }
    .rk-pow-result-area { flex-direction: column; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wzor-moc",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak obliczyć moc ogrzewania podłogowego zgodnie z wzorem z PN-EN 1264-2?",
    "description": "Inżynierskie przykłady obliczeniowe mocy podłogówki (W/m2). Interaktywny symulator wpływu rozstawu rur i grubości dywanu na zasilanie pompy ciepła.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-moc",
    "name": "Współczynniki korygujące i wydajność cieplna wg PN-EN 1264-2",
    "description": "Zestawienie twardych danych i zmiennych z nomogramów normy wykorzystywanych do precyzyjnego wyznaczania jednostkowego strumienia ciepła (q).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "jak obliczyć moc ogrzewania podłogowego",
      "wzór na moc podłogówki",
      "rozstaw rur a moc grzewcza",
      "temperatura zasilania podłogówki",
      "wpływ dywanu na ogrzewanie"
    ],
    "measurementTechnique": "Zależności potęgowe z nomogramów normy (wykładnik n=1.1 dla systemów mokrych), oparte na średniej logarytmicznej różnicy temperatur.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wykładnik potęgowy n (systemy mokre) ≈ 1,1",
        "Moc optymalna (płytki, rozstaw 100mm, zasilanie 35C) ≈ 85 W/m²",
        "Moc zaniżona (rozstaw 200mm, zasilanie 35C) ≈ 60 W/m²",
        "Moc krytyczna (dywan R=0.15, rozstaw 100mm) ≈ 45 W/m²"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-mocy",
    "name": "Symulator Wpływu Rozstawu Rur i Okładziny na Moc",
    "description": "Moduł dydaktyczny pozwalający inwestorowi na przełączanie między 3 scenariuszami obliczeniowymi, aby na żywo zaobserwować zjawisko spadku wydajności podłogówki.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pow-container" id="rk-power-widget">
    <div class="rk-pow-header">
        <div class="rk-pow-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
            Fizyka Budowli
        </div>
        <h2>Jak obliczyć moc ogrzewania podłogowego zgodnie z wzorem z PN-EN 1264-2?</h2>
    </div>

    <div class="rk-pow-theory">
        <p>Jednostkową moc cieplną podłogi <strong>q [W/m²]</strong> oblicza się na podstawie matematycznej formy fizykalnego prawa oddawania ciepła, rygorystycznie zdefiniowanego w normie PN-EN 1264-2.</p>
        
        <div class="rk-pow-formula-box">
            <div class="rk-pow-formula">
                q = B × ∏ a<sub>i</sub> × (Δϑ<sub>H</sub>)<sup>n</sup>
            </div>
            <div class="rk-pow-formula" style="color: #94a3b8; font-size: 16px; margin-top: 15px; margin-bottom: 5px;">
                <span>gdzie średnia różnica temperatur:</span>
            </div>
            <div class="rk-pow-formula" style="color: #10b981;">
                Δϑ<sub>H</sub> = [ (ϑ<sub>V</sub> + ϑ<sub>R</sub>) / 2 ] &#8211; ϑ<sub>i</sub>
            </div>

            <div class="rk-pow-legend">
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">B</span> 
                    Bazowy współczynnik systemowy rury.
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">∏ a<sub>i</sub></span> 
                    Iloczyn korygujący (rozstaw, grubość, opór).
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">n</span> 
                    Wykładnik potęgowy (ok. 1.1 dla wylewek).
                </div>
                <div class="rk-pow-legend-item">
                    <span class="rk-pow-legend-symbol">ϑ<sub>V</sub>/ϑ<sub>R</sub></span> 
                    <a href="https://projekt-ogrzewania.pl/maksymalna-temperatura-zasilania-podlogowki/" style="color: inherit; text-decoration: underline;">Temperatura zasilania</a> i powrotu.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pow-scenarios">
        <h3 class="rk-pow-scenarios-title">Symulator: 3 Inżynierskie Przykłady Obliczeniowe</h3>
        
        <div class="rk-pow-tabs" id="powTabs">
            <button class="rk-pow-tab active" data-scenario="optymalny">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                </div>
                <span class="rk-pow-tab-title">Układ Optymalny<br>(Płytki + 10cm)</span>
            </button>
            <button class="rk-pow-tab" data-scenario="rzadki">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                </div>
                <span class="rk-pow-tab-title">Zbyt rzadki rozstaw<br>(Rozstaw 20cm)</span>
            </button>
            <button class="rk-pow-tab" data-scenario="izolator">
                <div class="rk-pow-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <span class="rk-pow-tab-title">Krytyczny Dywan<br>(Izolacja R=0.15)</span>
            </button>
        </div>

        <div class="rk-pow-dashboard">
            <h4 class="rk-pow-dash-title" id="pow-dash-title">Układ niskotemperaturowy (Pompa ciepła, płytki ceramiczne)</h4>
            <hr style="border: 0; border-top: 1px solid var(--rk-pow-border); margin: 15px 0 25px;">
            
            <div class="rk-pow-params">
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">T. Zasil/Pow</div>
                    <div class="rk-pow-param-val" id="pow-param-temp">35/30 °C</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">Δϑ<sub>H</sub> (Różnica)</div>
                    <div class="rk-pow-param-val" id="pow-param-delta">12.5 K</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label"><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" style="color:inherit; text-decoration:none;">Rozstaw Rur</a></div>
                    <div class="rk-pow-param-val" id="pow-param-rozstaw">100 mm</div>
                </div>
                <div class="rk-pow-param-box">
                    <div class="rk-pow-param-label">Opór (R)</div>
                    <div class="rk-pow-param-val" id="pow-param-opor">0.01</div>
                </div>
            </div>

            <div class="rk-pow-result-area">
                <div class="rk-pow-main-result">
                    <div class="rk-pow-res-label">Moc Jednostkowa (q)</div>
                    <div class="rk-pow-res-value" id="pow-res-q">85 W/m²</div>
                </div>
                
                <div class="rk-pow-conclusion" id="pow-conc-box">
                    <div class="rk-pow-conc-title" id="pow-conc-title" style="color: #166534;">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                        Stan Idealny
                    </div>
                    <p id="pow-conc-text" style="color: #15803d;">Temperatura powierzchni podłogi osiąga bezpieczne 27,7°C. System w pełni pokrywa standardowe <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" class="rk-pow-link-inline">zapotrzebowanie na ciepło</a>.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var scenariosData = {
        'optymalny': {
            title: 'Układ niskotemperaturowy (Pompa ciepła, płytki ceramiczne)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '100 mm',
            opor: '0.01',
            q: '85 W/m²',
            concClass: '', // Domyślna zielona
            concTitleColor: '#166534',
            concTextColor: '#15803d',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>',
            concTitle: 'Wydajność optymalna',
            concText: 'Temperatura powierzchni podłogi osiąga bezpieczne 27,7°C. Układ idealny do współpracy z pompą ciepła w salonie.'
        },
        'rzadki': {
            title: 'Układ ze zwiększonym rozstawem rur (Salon, pompa ciepła)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '200 mm',
            opor: '0.01',
            q: '60 W/m²',
            concClass: 'warning',
            concTitleColor: '#854d0e',
            concTextColor: '#a16207',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>',
            concTitle: 'Ryzyko niedogrzania',
            concText: 'Zwiększenie rozstawu obniża współczynnik korygujący. Jeśli zapotrzebowanie pokoju wynosi 75 W/m², to przy 60 W/m² <a href="https://projekt-ogrzewania.pl/czy-pompa-ciepla-ogrzeje-dom-z-podlogowka/" class="rk-pow-link-inline">pompa ciepła nie ogrzeje domu</a>.'
        },
        'izolator': {
            title: 'Krytyczny wpływ grubego dywanu (Sypialnia)',
            temp: '35/30 °C',
            delta: '12.5 K',
            rozstaw: '100 mm',
            opor: '0.15',
            q: '45 W/m²',
            concClass: 'danger',
            concTitleColor: '#991b1b',
            concTextColor: '#b91c1c',
            icon: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',
            concTitle: 'Katastrofalny spadek mocy',
            concText: 'Wysoki opór cieplny działa jak izolator. Następuje spadek wydajności o 47%. Aby pokryć straty, instalator musiałby podbić zasilanie do 43°C, niszcząc sprawność (COP) układu.'
        }
    };

    var tabs = document.querySelectorAll('#powTabs .rk-pow-tab');
    
    // Elementy DOM (używamy bezpiecznego przypisania)
    var elTitle = document.getElementById('pow-dash-title');
    var elTemp = document.getElementById('pow-param-temp');
    var elDelta = document.getElementById('pow-param-delta');
    var elRozstaw = document.getElementById('pow-param-rozstaw');
    var elOpor = document.getElementById('pow-param-opor');
    var elQ = document.getElementById('pow-res-q');
    var elConcBox = document.getElementById('pow-conc-box');
    var elConcTitle = document.getElementById('pow-conc-title');
    var elConcText = document.getElementById('pow-conc-text');

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var scenario = this.getAttribute('data-scenario');
            var data = scenariosData[scenario];

            if (data !== undefined) {
                // Zmiana aktywnych zakładek
                tabs.forEach(function(t) { t.classList.remove('active'); });
                this.classList.add('active');

                // Aktualizacja UI (bez &&)
                if (elTitle !== null) { elTitle.innerHTML = data.title; }
                if (elTemp !== null) { elTemp.innerHTML = data.temp; }
                if (elDelta !== null) { elDelta.innerHTML = data.delta; }
                if (elRozstaw !== null) { elRozstaw.innerHTML = data.rozstaw; }
                if (elOpor !== null) { elOpor.innerHTML = data.opor; }
                if (elQ !== null) { elQ.innerHTML = data.q; }
                
                if (elConcBox !== null) {
                    elConcBox.className = 'rk-pow-conclusion ' + data.concClass;
                }
                
                if (elConcTitle !== null) {
                    elConcTitle.style.color = data.concTitleColor;
                    elConcTitle.innerHTML = data.icon + ' ' + data.concTitle;
                }
                
                if (elConcText !== null) {
                    elConcText.style.color = data.concTextColor;
                    elConcText.innerHTML = data.concText;
                }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-mat-dark: #1e293b;
    --rk-mat-primary: #ea580c; /* Ciepły pomarańczowy */
    --rk-mat-primary-light: #ffedd5;
    --rk-mat-success: #16a34a;
    --rk-mat-warning: #ca8a04;
    --rk-mat-danger: #dc2626;
    --rk-mat-bg: #ffffff;
    --rk-mat-gray: #f8fafc;
    --rk-mat-border: #e2e8f0;
    --rk-mat-text: #334155;
}

.rk-mat-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-mat-bg);
    border-radius: 24px;
    box-shadow: 0 15px 40px -10px rgba(234, 88, 12, 0.15);
    border: 1px solid var(--rk-mat-primary);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-mat-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-mat-dark) 0%, #0f172a 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-mat-primary);
}

.rk-mat-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(234, 88, 12, 0.2);
    color: #fdba74;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(253, 186, 116, 0.3);
}

.rk-mat-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-mat-header p {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Zawartość - Układ Jednokolumnowy (Kafelki na górze, wynik pod spodem) */
.rk-mat-content {
    padding: 40px 50px;
    background: var(--rk-mat-gray);
}

/* Siatka Kafelków (Materiałów) */
.rk-mat-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    margin-bottom: 30px;
}

.rk-mat-card {
    background: #ffffff;
    border: 2px solid var(--rk-mat-border);
    border-radius: 16px;
    padding: 20px 15px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-mat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    transition: background 0.3s;
}

.rk-mat-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px -5px rgba(0,0,0,0.05);
    border-color: #fed7aa;
}

.rk-mat-card.active {
    border-color: var(--rk-mat-primary);
    background: var(--rk-mat-primary-light);
    box-shadow: 0 10px 25px -5px rgba(234, 88, 12, 0.2);
    transform: translateY(-4px);
}

.rk-mat-card.active::before {
    background: var(--rk-mat-primary);
}

.rk-mat-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px auto;
    color: #94a3b8;
    transition: color 0.3s;
}

.rk-mat-card.active .rk-mat-icon {
    color: var(--rk-mat-primary);
}

.rk-mat-card h3 {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-mat-dark);
    margin: 0;
    line-height: 1.3;
}

/* Panel Dynamicznych Wyników */
.rk-mat-result-panel {
    background: #ffffff;
    border: 1px solid var(--rk-mat-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-mat-res-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-mat-border);
}

.rk-mat-res-title {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    margin: 0 0 5px 0;
}

.rk-mat-res-subtitle {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-mat-text);
}

.rk-mat-res-badge {
    padding: 8px 16px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Detale Techniczne */
.rk-mat-details {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-mat-stat {
    background: var(--rk-mat-gray);
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-mat-border);
}

.rk-mat-stat-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 800;
    color: #64748b;
    margin-bottom: 5px;
}

.rk-mat-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-mat-dark);
    font-family: monospace;
}

/* Suwak Termiczny (Wizualizacja) */
.rk-mat-gauge-container {
    margin-top: 20px;
}

.rk-mat-gauge-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px;
    color: var(--rk-mat-text);
}

.rk-mat-gauge-track {
    width: 100%;
    height: 16px;
    background: linear-gradient(to right, #22c55e 10%, #eab308 40%, #ea580c 70%, #dc2626 90%);
    border-radius: 999px;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}

.rk-mat-gauge-limit {
    position: absolute;
    top: -5px;
    bottom: -5px;
    left: 75%; /* Odpowiada wartości 0.15 w naszej skali 0-0.20 */
    width: 3px;
    background: #0f172a;
    z-index: 2;
}

.rk-mat-gauge-limit::after {
    content: 'Limit 0,15';
    position: absolute;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 11px;
    font-weight: 800;
    color: #0f172a;
    white-space: nowrap;
}

.rk-mat-gauge-marker {
    position: absolute;
    top: 50%;
    left: 4%; /* Start position */
    width: 24px;
    height: 24px;
    background: #ffffff;
    border: 4px solid var(--rk-mat-dark);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: left 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 3;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

/* Ostrzeżenie */
.rk-mat-alert-box {
    margin-top: 30px;
    padding: 20px;
    background: #fef2f2;
    border-left: 5px solid var(--rk-mat-danger);
    border-radius: 0 12px 12px 0;
}

.rk-mat-alert-box p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #991b1b;
    font-weight: 600;
}

.rk-mat-alert-box strong {
    color: #7f1d1d;
    font-weight: 900;
}

/* Tagi Długi Ogon */
.rk-mat-tags-wrapper {
    padding: 25px 50px 40px;
    background: var(--rk-mat-bg);
    border-top: 1px solid var(--rk-mat-border);
}

.rk-mat-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-mat-gray);
    color: var(--rk-mat-text);
    padding: 8px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-mat-border);
    transition: all 0.2s;
    text-decoration: none;
}

.rk-mat-tag:hover {
    background: var(--rk-mat-primary);
    color: #ffffff;
    border-color: var(--rk-mat-primary);
}

@media (max-width: 768px) {
    .rk-mat-header { padding: 35px 25px; }
    .rk-mat-header h2 { font-size: 24px; }
    .rk-mat-content { padding: 25px; }
    
    /* Mobilnie kafelki jeden pod drugim (wymóg z promptu) */
    .rk-mat-grid { grid-template-columns: 1fr; gap: 10px; }
    .rk-mat-card { padding: 15px; display: flex; align-items: center; gap: 15px; text-align: left; }
    .rk-mat-icon { margin: 0; width: 36px; height: 36px; }
    
    .rk-mat-result-panel { padding: 20px; }
    .rk-mat-res-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-mat-details { grid-template-columns: 1fr; gap: 10px; }
    .rk-mat-tags-wrapper { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-opor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak opór cieplny materiałów wykończeniowych wpływa na wydajność podłogówki?",
    "description": "Zgodnie z normą PN-EN 1264-3 limit oporu to 0,15 m²K/W. Zobacz tabelę i interaktywny symulator porównujący płytki, panele i parkiet na ogrzewaniu podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-materialy",
    "name": "Tabela Oporu Cieplnego Okładzin Posadzkowych (PN-EN 1264)",
    "description": "Dane fizyczne materiałów wykończeniowych niezbędne do poprawnego obliczenia zładu i mocy instalacji ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "opór cieplny materiałów wykończeniowych",
      "panele a ogrzewanie podłogowe",
      "r lambda posadzki",
      "płytki czy panele na podłogówkę",
      "parkiet a podłogówka"
    ],
    "measurementTechnique": "Wartości przewodności cieplnej (lambda) oraz oporu (R) określone na podstawie grubości materiału wg wytycznych normatywnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Płytki gresowe: Grubość 10mm, Lambda 1.30, Opór 0.008 m²K/W",
        "Panele laminowane: Grubość 8mm, Lambda 0.14, Opór 0.057 m²K/W",
        "Parkiet dębowy: Grubość 15mm, Lambda 0.18, Opór 0.083 m²K/W",
        "Wykładzina gruba: Grubość 12mm, Lambda 0.06, Opór 0.200 m²K/W"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-okladzin",
    "name": "Symulator Przepustowości Cieplnej Posadzki",
    "description": "Aplikacja wizualizująca wpływ wybranego materiału posadzkowego na tłumienie strumienia cieplnego w odniesieniu do granicy normatywnej 0,15 m²K/W.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-mat-container" id="rk-materialy-widget">
    <div class="rk-mat-header">
        <div class="rk-mat-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
            Termodynamika Posadzki
        </div>
        <h2>Jak opór cieplny materiałów wykończeniowych wpływa na wydajność podłogówki?</h2>
        <p>Wartość oporu cieplnego (R<sub>λ,B</sub>) to fizyczna bariera dla strumienia ciepła. Zgodnie z normą <strong>PN-EN 1264-3</strong>, maksymalny opór warstwy użytkowej podłogi nie może przekraczać <strong>0,15 m²K/W</strong>. Wybierz materiał i zobacz, jak blokuje on ciepło z rur.</p>
    </div>

    <div class="rk-mat-content">
        <div class="rk-mat-grid">
            <div class="rk-mat-card active" data-mat="plytki">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7"></rect><rect x="14" y="3" width="7" height="7"></rect><rect x="14" y="14" width="7" height="7"></rect><rect x="3" y="14" width="7" height="7"></rect></svg>
                <h3>Płytki / Gres</h3>
            </div>
            <div class="rk-mat-card" data-mat="panele">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="6" width="20" height="4" rx="1"></rect><rect x="2" y="14" width="20" height="4" rx="1"></rect></svg>
                <h3>Panele dedykowane</h3>
            </div>
            <div class="rk-mat-card" data-mat="parkiet">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16v16H4z"></path><path d="M4 12h16"></path><path d="M12 4v16"></path><path d="M8 4v8"></path><path d="M16 12v8"></path></svg>
                <h3>Parkiet dębowy</h3>
            </div>
            <div class="rk-mat-card" data-mat="dywan">
                <svg class="rk-mat-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="20" height="16" rx="2"></rect><path d="M6 8h12"></path><path d="M6 12h12"></path><path d="M6 16h12"></path></svg>
                <h3>Gruby dywan</h3>
            </div>
        </div>

        <div class="rk-mat-result-panel">
            <div class="rk-mat-res-header">
                <div>
                    <h3 class="rk-mat-res-title" id="mat-title">Płytki gresowe / marmur</h3>
                    <div class="rk-mat-res-subtitle" id="mat-desc">Optymalny (brak tłumienia strumienia)</div>
                </div>
                <div class="rk-mat-res-badge" id="mat-badge" style="background: #dcfce7; color: #166534; border: 1px solid #22c55e;">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>
                    Idealne dla pompy ciepła
                </div>
            </div>

            <div class="rk-mat-details">
                <div class="rk-mat-stat">
                    <div class="rk-mat-stat-label">Grubość</div>
                    <div class="rk-mat-stat-val" id="mat-thick">10 mm</div>
                </div>
                <div class="rk-mat-stat">
                    <div class="rk-mat-stat-label">Przewodność (λ)</div>
                    <div class="rk-mat-stat-val" id="mat-lambda">1.30</div>
                </div>
                <div class="rk-mat-stat" style="background: #f1f5f9; border-color: #cbd5e1;">
                    <div class="rk-mat-stat-label">Opór Cieplny (R)</div>
                    <div class="rk-mat-stat-val" id="mat-r" style="color: var(--rk-mat-primary);">0.008</div>
                </div>
            </div>

            <div class="rk-mat-gauge-container">
                <div class="rk-mat-gauge-label">
                    <span>Przepływ Swobodny (0.00)</span>
                    <span>Całkowita Blokada (0.20+)</span>
                </div>
                <div class="rk-mat-gauge-track">
                    <div class="rk-mat-gauge-limit"></div>
                    <div class="rk-mat-gauge-marker" id="mat-marker" style="left: 4%;"></div>
                </div>
            </div>
        </div>

        <div class="rk-mat-alert-box">
            <p><strong>Uwaga inżynierska!</strong> Ignorowanie tych wartości na etapie projektu i <a href="https://projekt-ogrzewania.pl/jak-rodzaj-okladziny-podlogowej-wplywa-na-wydajnosc-ogrzewania-podlogowego/">zmiana płytek na parkiet w trakcie budowy</a> prowadzi do trwałego niedogrzania strefy mieszkalnej. Projektant musi bezwzględnie otrzymać od inwestora deklarację o planowanych materiałach przed uruchomieniem obliczeń hydraulicznych.</p>
        </div>
    </div>

    <div class="rk-mat-tags-wrapper">
        <div class="rk-mat-tags">
            <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" class="rk-mat-tag"># opór cieplny materiałów wykończeniowych</a>
            <a href="https://projekt-ogrzewania.pl/czy-pod-ogrzewanie-podlogowe-nadaja-sie-panele-czy-tylko-plytki/" class="rk-mat-tag"># panele a ogrzewanie podłogowe</a>
            <a href="#" class="rk-mat-tag"># r lambda posadzki</a>
            <a href="https://projekt-ogrzewania.pl/podlogi-drewniane-vs-panele-laminowane-co-wybrac-przy-ogrzewaniu-podlogowym/" class="rk-mat-tag"># płytki czy panele na podłogówkę</a>
            <a href="#" class="rk-mat-tag"># grubość paneli na ogrzewanie</a>
            <a href="https://projekt-ogrzewania.pl/wybor-idealnego-drewna-do-ogrzewania-podlogowego-kompletna-tabela-i-poradnik/" class="rk-mat-tag"># parkiet a podłogówka</a>
            <a href="#" class="rk-mat-tag"># dywan na ogrzewaniu podłogowym</a>
            <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/" class="rk-mat-tag"># straty ciepła przez podłogę</a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Dane z tabeli PN-EN 1264-3
    var matData = {
        'plytki': {
            title: 'Płytki gresowe / marmur',
            desc: 'Optymalny (brak tłumienia strumienia)',
            thick: '10 mm',
            lambda: '1.30',
            r: '0.008',
            pos: '4%', // 0.008 / 0.200 = 4%
            badgeText: 'Idealne dla pompy ciepła',
            badgeBg: '#dcfce7',
            badgeColor: '#166534',
            badgeBorder: '#22c55e',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="20 6 9 17 4 12"></polyline></svg>'
        },
        'panele': {
            title: 'Panele laminowane dedykowane',
            desc: 'Średni (wymaga korekty rozstawu rur)',
            thick: '8 mm',
            lambda: '0.14',
            r: '0.057',
            pos: '28.5%', // 0.057 / 0.200
            badgeText: 'Wymaga gęstszego rozstawu',
            badgeBg: '#fef9c3',
            badgeColor: '#854d0e',
            badgeBorder: '#eab308',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>'
        },
        'parkiet': {
            title: 'Parkiet dębowy klejony',
            desc: 'Wysoki (wymaga wyższej temp. zasilania)',
            thick: '15 mm',
            lambda: '0.18',
            r: '0.083',
            pos: '41.5%', // 0.083 / 0.200
            badgeText: 'Spadek COP pompy ciepła',
            badgeBg: '#ffedd5',
            badgeColor: '#c2410c',
            badgeBorder: '#f97316',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>'
        },
        'dywan': {
            title: 'Wykładzina dywanowa gruba',
            desc: 'Niedopuszczalny (całkowita blokada cieplna)',
            thick: '12 mm',
            lambda: '0.06',
            r: '0.200',
            pos: '96%', // Max on gauge
            badgeText: 'Przekroczony limit normy!',
            badgeBg: '#fef2f2',
            badgeColor: '#991b1b',
            badgeBorder: '#dc2626',
            icon: '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>'
        }
    };

    var cards = document.querySelectorAll('.rk-mat-card');
    
    // Pola do aktualizacji
    var elTitle = document.getElementById('mat-title');
    var elDesc = document.getElementById('mat-desc');
    var elThick = document.getElementById('mat-thick');
    var elLambda = document.getElementById('mat-lambda');
    var elR = document.getElementById('mat-r');
    var elBadge = document.getElementById('mat-badge');
    var elMarker = document.getElementById('mat-marker');

    cards.forEach(function(card) {
        card.addEventListener('click', function() {
            // Zmiana aktywnego kafelka
            cards.forEach(function(c) { c.classList.remove('active'); });
            this.classList.add('active');

            // Pobranie klucza materiału
            var matKey = this.getAttribute('data-mat');
            var d = matData[matKey];

            if (d !== undefined) {
                // Aktualizacja tekstów
                elTitle.textContent = d.title;
                elDesc.textContent = d.desc;
                elThick.textContent = d.thick;
                elLambda.textContent = d.lambda;
                elR.textContent = d.r;
                
                // Aktualizacja odznaki (badge)
                elBadge.innerHTML = d.icon + ' ' + d.badgeText;
                elBadge.style.background = d.badgeBg;
                elBadge.style.color = d.badgeColor;
                elBadge.style.borderColor = d.badgeBorder;

                // Animacja suwaka (unikamy przekroczenia 100%)
                elMarker.style.left = d.pos;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-algo-dark: #0f172a;
    --rk-algo-blue: #0284c7;
    --rk-algo-blue-bg: #e0f2fe;
    --rk-algo-accent: #f97316;
    --rk-algo-accent-bg: #ffedd5;
    --rk-algo-border: #e2e8f0;
    --rk-algo-text: #334155;
    --rk-algo-bg: #ffffff;
    --rk-algo-gray: #f8fafc;
}

.rk-algo-container {
    max-width: 900px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-algo-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(2, 132, 199, 0.1);
    border: 1px solid var(--rk-algo-blue);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-algo-header {
    padding: 40px 50px;
    background: var(--rk-algo-dark);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-algo-accent);
}

.rk-algo-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(249, 115, 22, 0.2);
    color: #fdba74;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(253, 186, 116, 0.3);
}

.rk-algo-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

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

/* Moduł Interaktywnego Kalkulatora */
.rk-algo-calculator {
    padding: 40px 50px;
    background: var(--rk-algo-gray);
    border-bottom: 1px solid var(--rk-algo-border);
}

.rk-algo-calc-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-algo-controls {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 35px;
    background: #ffffff;
    padding: 25px;
    border-radius: 16px;
    border: 1px solid var(--rk-algo-border);
}

.rk-algo-control-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-algo-label {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-algo-text);
    display: flex;
    justify-content: space-between;
}

.rk-algo-label-val {
    color: var(--rk-algo-blue);
    font-size: 16px;
    font-weight: 900;
}

.rk-algo-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: var(--rk-algo-border);
    outline: none;
}

.rk-algo-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    cursor: pointer;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    transition: transform 0.1s;
}

.rk-algo-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Wyniki na żywo */
.rk-algo-results {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-algo-result-card {
    background: #ffffff;
    border: 2px solid var(--rk-algo-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s;
}

.rk-algo-result-card.primary {
    border-color: var(--rk-algo-blue);
    background: var(--rk-algo-blue-bg);
}

.rk-algo-result-card.accent {
    border-color: var(--rk-algo-accent);
    background: var(--rk-algo-accent-bg);
}

.rk-algo-res-label {
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-algo-text);
}

.rk-algo-res-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    font-family: monospace;
}

.rk-algo-result-card.primary .rk-algo-res-val { color: var(--rk-algo-blue); }
.rk-algo-result-card.accent .rk-algo-res-val { color: var(--rk-algo-accent); }

/* Akordeon Teoretyczny */
.rk-algo-theory {
    padding: 40px 50px;
    background: #ffffff;
}

.rk-algo-theory h3 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-algo-dark);
    margin: 0 0 25px 0;
}

.rk-algo-step {
    border: 1px solid var(--rk-algo-border);
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
}

.rk-algo-step-btn {
    width: 100%;
    text-align: left;
    padding: 20px 25px;
    background: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-algo-dark);
    transition: background 0.3s;
}

.rk-algo-step-btn:hover { background: var(--rk-algo-gray); }

.rk-algo-step-num {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--rk-algo-blue);
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
}

.rk-algo-step-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: var(--rk-algo-gray);
}

.rk-algo-step-inner {
    padding: 20px 25px;
    border-top: 1px solid var(--rk-algo-border);
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-algo-text);
}

.rk-algo-formula {
    background: var(--rk-algo-dark);
    color: #f8fafc;
    padding: 15px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 16px;
    text-align: center;
    margin: 15px 0;
    letter-spacing: 1px;
}

.rk-algo-step-inner a {
    color: var(--rk-algo-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 768px) {
    .rk-algo-header, .rk-algo-calculator, .rk-algo-theory { padding: 30px 20px; }
    .rk-algo-header h2 { font-size: 24px; }
    .rk-algo-controls { padding: 15px; }
    .rk-algo-result-card { flex-direction: column; align-items: flex-start; gap: 10px; padding: 15px; }
    .rk-algo-step-btn { padding: 15px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-algorytm",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Algorytm obliczeniowy doboru parametrów instalacji według normy PN-EN 1264",
    "description": "Zrozum twarde zasady fizyki stojące za podłogówką. Interaktywny symulator obliczający moc pętli, przepływ masowy i nastawy rotametrów.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-algorytm",
    "name": "Zestawienie parametrów hydraulicznych PN-EN 1264",
    "description": "Zbiór danych i zmiennych wykorzystywanych do obliczania oporów, przepływu i mocy grzewczej pojedynczych pętli wodnego ogrzewania podłogowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "algorytm ogrzewania podłogowego",
      "przepływ masowy podłogówka",
      "ustawienia rotametrów przepływ",
      "straty ciśnienia pompy obiegowej",
      "ciepło właściwe wody ogrzewanie"
    ],
    "measurementTechnique": "Obliczenia inżynieryjne wykorzystujące stałe fizyczne (np. ciepło właściwe wody 1,163 Wh/(kg·K)) oraz zmienne wejściowe z projektowego obciążenia cieplnego (OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Współczynnik bezpieczeństwa strat w dół: 1,15",
        "Ciepło właściwe czynnika (woda): 1,163 Wh/(kg·K)",
        "Dopuszczalna prędkość przepływu: 0,2 - 0,5 m/s",
        "Limit oporów pętli rury 16mm: ~20 kPa"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-kalkulator-przeplywu",
    "name": "Kalkulator Przepływu Pętli Ogrzewania Podłogowego",
    "description": "Interaktywny widget obliczający w czasie rzeczywistym wymaganą moc pętli, przepływ w kg/h oraz nastawę rotametru w l/min na podstawie wprowadzonych strat cieplnych.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-algo-container">
    <div class="rk-algo-header">
        <div class="rk-algo-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="4 14 10 14 10 20"></polyline><polyline points="20 10 14 10 14 4"></polyline><line x1="14" y1="10" x2="21" y2="3"></line><line x1="3" y1="21" x2="10" y2="14"></line></svg>
            Inżynieria Obliczeniowa
        </div>
        <h2>Algorytm obliczeniowy doboru parametrów instalacji według normy PN-EN 1264</h2>
        <p>Precyzyjne wyznaczenie przepływów i strat ciśnienia to fundament, na którym opiera się komfort cieplny. Zobacz, jak wyliczenia na papierze przekładają się na fizyczne działanie Twojej instalacji.</p>
    </div>

    <div class="rk-algo-calculator">
        <h3 class="rk-algo-calc-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-algo-blue)" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
            Symulator Nastaw Rotametru (Live)
        </h3>
        
        <div class="rk-algo-controls">
            <div class="rk-algo-control-group">
                <div class="rk-algo-label">
                    <span>Straty Ciepła Pomieszczenia (Q OZC)</span>
                    <span class="rk-algo-label-val" id="val-qozc">800 W</span>
                </div>
                <input type="range" id="slider-qozc" class="rk-algo-slider" min="200" max="2500" step="50" value="800">
            </div>
            
            <div class="rk-algo-control-group">
                <div class="rk-algo-label">
                    <span>Spadek temperatury wody (ΔT)</span>
                    <span class="rk-algo-label-val" id="val-dt">5 K</span>
                </div>
                <input type="range" id="slider-dt" class="rk-algo-slider" min="3" max="10" step="1" value="5">
            </div>
        </div>

        <div class="rk-algo-results">
            <div class="rk-algo-result-card">
                <span class="rk-algo-res-label">Całkowita moc pętli (Q_obl):</span>
                <span class="rk-algo-res-val" id="out-qobl">920 W</span>
            </div>
            <div class="rk-algo-result-card primary">
                <span class="rk-algo-res-label">Przepływ masowy czynnika (m):</span>
                <span class="rk-algo-res-val" id="out-m">158.21 kg/h</span>
            </div>
            <div class="rk-algo-result-card accent">
                <span class="rk-algo-res-label">Wynik do ustawienia na rotametrze (G):</span>
                <span class="rk-algo-res-val" id="out-g">2.64 l/min</span>
            </div>
        </div>
    </div>

    <div class="rk-algo-theory">
        <h3>Ścieżka matematyczna krok po kroku</h3>
        
        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">1</div>
                Wyznaczenie całkowitej mocy cieplnej pętli (Q_obl)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Obliczamy rzeczywistą moc, jaką musi dostarczyć układ, wykorzystując wyniki z <a href="https://projekt-ogrzewania.pl/kalkulator-strat-ciepla-budynku-jak-samodzielnie-obliczyc-zapotrzebowanie-na-ogrzewanie/">kalkulatora strat ciepła OZC</a>. Obowiązkowo dodajemy współczynnik bezpieczeństwa (1,15), który rekompensuje straty ciepła uciekającego w dół posadzki.</p>
                    <div class="rk-algo-formula">Q_obl = Q_OZC × 1,15</div>
                </div>
            </div>
        </div>

        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">2</div>
                Obliczenie wymaganego przepływu masowego (m)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Wiedząc, ile watów musimy dostarczyć, wyliczamy masę wody. Bierzemy pod uwagę ciepło właściwe wody (c_w = 1,163 Wh/(kg·K)) oraz założony projektowy <a href="https://projekt-ogrzewania.pl/spadek-temperatury-%ce%b4t-roznica-miedzy-temperatura-zasilania-a-powrotu/">spadek temperatury (ΔT)</a> na pętli.</p>
                    <div class="rk-algo-formula">m = Q_obl / (c_w · ΔT)</div>
                    <p>Wartość w kg/h dzielimy przez 60, by uzyskać litry na minutę – jednostkę czytelną dla instalatora na rotametrze w rozdzielaczu.</p>
                </div>
            </div>
        </div>

        <div class="rk-algo-step">
            <button class="rk-algo-step-btn">
                <div class="rk-algo-step-num">3</div>
                Wyznaczenie liniowych strat ciśnienia pętli (Δp_l)
            </button>
            <div class="rk-algo-step-content">
                <div class="rk-algo-step-inner">
                    <p>Straty ciśnienia determinują ostateczny dobór pompy obiegowej. Obliczamy jednostkowe opory tarcia rury (R), całkowitą <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">długość przewodu grzewczego (L)</a> i doliczamy współczynniki miejscowe (kolana, zwężki).</p>
                    <div class="rk-algo-formula">Δp_l = R · L + Σξ · (ρ · v²) / 2</div>
                    <p>Zasada twarda normy: Jeśli pętla (rura 16 mm) przekracza barierę 100 metrów, generuje opory pow. 20 kPa. W takim wypadku algorytm nakazuje podział pokoju na dwa niezależne obwody grzewcze, ratując pompę przed przeciążeniem.</p>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Logika Kalkulatora
    var sliderQozc = document.getElementById('slider-qozc');
    var sliderDt = document.getElementById('slider-dt');
    
    var valQozc = document.getElementById('val-qozc');
    var valDt = document.getElementById('val-dt');
    
    var outQobl = document.getElementById('out-qobl');
    var outM = document.getElementById('out-m');
    var outG = document.getElementById('out-g');

    function calculate() {
        var q_ozc = parseFloat(sliderQozc.value);
        var delta_t = parseFloat(sliderDt.value);

        // Update Labels
        valQozc.textContent = q_ozc + ' W';
        valDt.textContent = delta_t + ' K';

        // Math
        var q_obl = q_ozc * 1.15;
        var cw = 1.163;
        var m_kg = q_obl / (cw * delta_t);
        var g_lmin = m_kg / 60;

        // Output formatting
        outQobl.textContent = Math.round(q_obl) + ' W';
        outM.textContent = m_kg.toFixed(2) + ' kg/h';
        outG.textContent = g_lmin.toFixed(2) + ' l/min';
    }

    sliderQozc.addEventListener('input', calculate);
    sliderDt.addEventListener('input', calculate);
    
    // Inicjalizacja kalkulatora
    calculate();

    // Logika Akordeonu
    var steps = document.querySelectorAll('.rk-algo-step');

    steps.forEach(function(step) {
        var btn = step.querySelector('.rk-algo-step-btn');
        var content = step.querySelector('.rk-algo-step-content');

        btn.addEventListener('click', function() {
            var isOpen = content.style.maxHeight;

            // Zamykanie innych
            steps.forEach(function(s) {
                s.querySelector('.rk-algo-step-content').style.maxHeight = null;
            });

            // Otwieranie aktualnego (bezpieczny kod logiczny)
            if (!isOpen) {
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
    
    // Otwórz pierwszy element po załadowaniu
    if (steps.length > 0) {
        var firstContent = steps[0].querySelector('.rk-algo-step-content');
        if (firstContent !== null) {
            firstContent.style.maxHeight = firstContent.scrollHeight + "px";
        }
    }
});
</script>



<style>
:root {
    --rk-wyl-dark: #0f172a;
    --rk-wyl-primary: #4f46e5;
    --rk-wyl-primary-light: #e0e7ff;
    --rk-wyl-success: #16a34a;
    --rk-wyl-success-bg: #dcfce7;
    --rk-wyl-danger: #dc2626;
    --rk-wyl-danger-bg: #fee2e2;
    --rk-wyl-bg: #ffffff;
    --rk-wyl-border: #e2e8f0;
    --rk-wyl-text: #334155;
    --rk-wyl-text-muted: #64748b;
}

.rk-wyl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-wyl-bg);
    border-radius: 20px;
    box-shadow: 0 15px 35px -5px rgba(79, 70, 229, 0.15);
    border: 1px solid var(--rk-wyl-primary);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-wyl-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-wyl-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-wyl-primary);
    text-align: center;
}

.rk-wyl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(79, 70, 229, 0.3);
    color: #818cf8;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(129, 140, 248, 0.2);
}

.rk-wyl-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-wyl-header p {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 800px;
}

/* Układ Jednokolumnowy (Zgodnie z wytycznymi) */
.rk-wyl-content {
    padding: 40px 50px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Interaktywna Karta Weryfikacyjna */
.rk-wyl-card {
    background: var(--rk-wyl-bg);
    border: 1px solid var(--rk-wyl-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.rk-wyl-card:hover {
    border-color: #c7d2fe;
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.1);
}

.rk-wyl-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rk-wyl-border);
}

.rk-wyl-card-header h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-wyl-dark);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-wyl-card-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-wyl-primary-light);
    color: var(--rk-wyl-primary);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Elementy Switch / Suwaka */
.rk-wyl-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #f1f5f9;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid var(--rk-wyl-border);
}

.rk-wyl-switch-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-wyl-text-muted);
    transition: color 0.3s;
}

.rk-wyl-switch-label.active {
    color: var(--rk-wyl-dark);
}

.rk-wyl-switch {
    position: relative;
    width: 44px;
    height: 24px;
    background: var(--rk-wyl-danger);
    border-radius: 24px;
    cursor: pointer;
    transition: background 0.3s;
}

.rk-wyl-switch.active {
    background: var(--rk-wyl-success);
}

.rk-wyl-switch-knob {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

.rk-wyl-switch.active .rk-wyl-switch-knob {
    transform: translateX(20px);
}

/* Zawartość Karty (Dynamiczna) */
.rk-wyl-view {
    display: none;
    animation: fadeView 0.4s ease;
}

.rk-wyl-view.active {
    display: block;
}

@keyframes fadeView {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-wyl-view p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-wyl-text);
    margin: 0 0 15px 0;
}

.rk-wyl-view a {
    color: var(--rk-wyl-primary);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-wyl-list {
    margin: 0 0 15px 0;
    padding: 0;
    list-style: none;
}

.rk-wyl-list li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.5;
    color: var(--rk-wyl-text);
    font-weight: 600;
}

.rk-wyl-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    background-size: cover;
}

.rk-wyl-alert {
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-wyl-alert.danger {
    background: var(--rk-wyl-danger-bg);
    color: #991b1b;
    border-left: 4px solid var(--rk-wyl-danger);
}

.rk-wyl-alert.success {
    background: var(--rk-wyl-success-bg);
    color: #166534;
    border-left: 4px solid var(--rk-wyl-success);
}

@media (max-width: 768px) {
    .rk-wyl-header { padding: 35px 25px; }
    .rk-wyl-header h2 { font-size: 24px; }
    .rk-wyl-content { padding: 30px 20px; }
    .rk-wyl-card { padding: 20px; }
    .rk-wyl-card-header { flex-direction: column; align-items: flex-start; gap: 15px; }
    .rk-wyl-switch-wrapper { align-self: flex-start; width: 100%; justify-content: space-between; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-wytyczne-montazowe",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak wytyczne montażowe PN-EN 1264-4 wpływają na wykonanie wylewki i dylatacji?",
    "description": "Zasady izolacji stropu, grubość wylewki (45 mm dla betonu) i taśmy brzegowe. Zobacz, jak norma chroni przed pękaniem posadzki z ogrzewaniem podłogowym.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-wylewki",
    "name": "Zestawienie wymiarów i limitów dylatacyjnych wylewek grzewczych",
    "description": "Dokładne parametry techniczne dotyczące grubości jastrychu betonowego i anhydrytowego, ciśnień kontrolnych oraz oporów cieplnych izolacji EPS/XPS.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "grubość wylewki na ogrzewanie podłogowe",
      "dylatacje w podłogówce",
      "izolacja brzegowa ogrzewania",
      "próba szczelności podłogówki ciśnienie",
      "jastrych grzewczy norma"
    ],
    "measurementTechnique": "Wymogi minimalne oraz graniczne określone w Części 4 normy (wartości w [mm], [bar] oraz [m2K/W]).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Opór cieplny nad nieogrzewanym: R >= 2,25 m²K/W",
        "Minimalna grubość taśmy brzegowej: 8 mm",
        "Maksymalna powierzchnia pola dylatacyjnego: 40 m²",
        "Długość rury ochronnej (peszla) na dylatacji: 40 cm",
        "Ciśnienie podczas betonowania: min. 3 bar",
        "Wylewka cementowa nad rurą: min. 45 mm"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-wylewki",
    "name": "Symulator Poprawności Wylewki i Dylatacji",
    "description": "Narzędzie interaktywne typu switch (suwak) demonstrujące różnice i zagrożenia pomiędzy amatorskim układaniem styropianu/betonu, a reżimem normy PN-EN 1264-4.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-wyl-container" id="rk-wylewki-widget">
    <div class="rk-wyl-header">
        <div class="rk-wyl-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
            Ordynans Wykonawczy
        </div>
        <h2>Jak wytyczne montażowe PN-EN 1264-4 wpływają na wykonanie wylewki i dylatacji?</h2>
        <p>Część czwarta normy to bezpośredni przewodnik dla instalatora. Definiuje ona surowe kryteria fizyczne, które muszą być spełnione przed, w trakcie i po zalaniu rur jastrychem grzewczym.</p>
    </div>

    <div class="rk-wyl-content">
        
        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="4" y="4" width="16" height="16" rx="2" ry="2"></rect><rect x="9" y="9" width="6" height="6"></rect><line x1="9" y1="1" x2="9" y2="4"></line><line x1="15" y1="1" x2="15" y2="4"></line><line x1="9" y1="20" x2="9" y2="23"></line><line x1="15" y1="20" x2="15" y2="23"></line><line x1="20" y1="9" x2="23" y2="9"></line><line x1="20" y1="14" x2="23" y2="14"></line><line x1="1" y1="9" x2="4" y2="9"></line><line x1="1" y1="14" x2="4" y2="14"></line></svg>
                    </div>
                    Wymagania dla izolacji termicznej
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="izolacja">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="izolacja-amator" class="rk-wyl-view active">
                <p>Użycie losowej warstwy styropianu bez analizy oporu cieplnego. Często prowadzi do strat energii uciekającej do gruntu zamiast do pomieszczenia.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Zbyt cienka izolacja = grzanie sufitu sąsiada lub ziemi pod domem.
                </div>
            </div>

            <div id="izolacja-norma" class="rk-wyl-view">
                <p>Norma bezwzględnie nakazuje stosowanie warstw izolacji o minimalnym oporze cieplnym <strong>R</strong>. Sprawdź dokładnie, <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu zastosować</a>, bazując na twardych wyliczeniach:</p>
                <ul class="rk-wyl-list">
                    <li>Nad pomieszczeniem ogrzewanym: R ≥ 1,25 m²K/W</li>
                    <li>Nad pomieszczeniem nieogrzewanym lub bezpośrednio na gruncie: R ≥ 2,25 m²K/W</li>
                </ul>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Ciepło emitowane jest w 100% kierunkowo do wnętrza pomieszczenia.
                </div>
            </div>
        </div>

        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="9" y1="15" x2="15" y2="15"></line></svg>
                    </div>
                    Szczeliny dylatacyjne i brzegowe
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="dylatacje">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="dylatacje-amator" class="rk-wyl-view active">
                <p>Brak wklejania cienkiej taśmy i rozlewanie betonu w olbrzymich salonach jako jedna wielka płyta. Rury przechodzące przez progi układane są „gołe” bezpośrednio w zaprawie.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Gwarantowane pęknięcia jastrychu ściętego u progu drzwi.
                </div>
            </div>

            <div id="dylatacje-norma" class="rk-wyl-view">
                <p>Jastrych rozszerza się liniowo pod wpływem temperatury. Prawidłowa <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja obwodowa (taśma minimum 8 mm)</a> musi oddzielać płytę od ścian. Ponadto normatywne dylatacje dzieli się, gdy:</p>
                <ul class="rk-wyl-list">
                    <li>Powierzchnia pola przekracza 40 m².</li>
                    <li>Długość boku wylewki przekracza 8 metrów.</li>
                    <li>Stosunek boków jest większy niż 2:1 (wąskie, długie korytarze).</li>
                </ul>
                <p>Przejścia rur przez szczeliny muszą być chronione peszlami (rurami ochronnymi) o długości minimum 40 cm (po 20 cm w każdym kierunku).</p>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Bezpieczna posadzka pracująca bez pękania płytek i fug.
                </div>
            </div>
        </div>

        <div class="rk-wyl-card">
            <div class="rk-wyl-card-header">
                <h3>
                    <div class="rk-wyl-card-icon">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg>
                    </div>
                    Grubość jastrychu i próba szczelności
                </h3>
                <div class="rk-wyl-switch-wrapper">
                    <span class="rk-wyl-switch-label active" data-state="amator">Na Oko</span>
                    <div class="rk-wyl-switch" data-target="cisnienie">
                        <div class="rk-wyl-switch-knob"></div>
                    </div>
                    <span class="rk-wyl-switch-label" data-state="norma">Norma</span>
                </div>
            </div>
            
            <div id="cisnienie-amator" class="rk-wyl-view active">
                <p>Zalewanie układu bez wody w rurach. Operator pompy do betonu (tzw. miksokreta) stąpa po nienaprężonych, pustych przewodach. Grubość zaniżana pod wymiary starych futryn.</p>
                <div class="rk-wyl-alert danger">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Ryzyko zmiażdżenia rury łopatą i zalania budynku!
                </div>
            </div>

            <div id="cisnienie-norma" class="rk-wyl-view">
                <p>Zanim zalejesz beton, musisz wykonać <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">hydrauliczną próbę ciśnieniową na poziomie 6 bar</a> przez 30 minut. Norma nakazuje utrzymywanie instalacji pod napięciem (min. 3 bar) w trakcie lania betonu.</p>
                <p>Dbając o obciążenia, upewnij się o prawidłowej <a href="https://projekt-ogrzewania.pl/grubosc-wylewki-betonowej-na-ogrzewanie-podlogowe/">grubości wylewki na ogrzewanie podłogowe</a> (wartości mierzone nad wierzchem rury):</p>
                <ul class="rk-wyl-list">
                    <li>Dla betonu cementowego: minimum 45 mm</li>
                    <li>Dla wylewki anhydrytowej: minimum 35 mm (lub inna zgodna z kartą chemii)</li>
                </ul>
                <div class="rk-wyl-alert success">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                    Naprężone rury nie ulegają zgnieceniu, a posadzka zyskuje akumulacyjność.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var switches = document.querySelectorAll('.rk-wyl-switch');

    switches.forEach(function(sw) {
        sw.addEventListener('click', function() {
            var isNorma = this.classList.contains('active');
            var targetId = this.getAttribute('data-target');
            
            var wrapper = this.closest('.rk-wyl-switch-wrapper');
            var labelAmator = wrapper.querySelector('[data-state="amator"]');
            var labelNorma = wrapper.querySelector('[data-state="norma"]');
            
            var viewAmator = document.getElementById(targetId + '-amator');
            var viewNorma = document.getElementById(targetId + '-norma');

            if (isNorma === true) {
                // Było Norma -> Zmień na Amator
                this.classList.remove('active');
                labelAmator.classList.add('active');
                labelNorma.classList.remove('active');
                
                if (viewNorma !== null) { viewNorma.classList.remove('active'); }
                if (viewAmator !== null) { viewAmator.classList.add('active'); }
            } else {
                // Było Amator -> Zmień na Norma
                this.classList.add('active');
                labelAmator.classList.remove('active');
                labelNorma.classList.add('active');
                
                if (viewAmator !== null) { viewAmator.classList.remove('active'); }
                if (viewNorma !== null) { viewNorma.classList.add('active'); }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-proj-dark: #0f172a;
    --rk-proj-slate: #334155;
    --rk-proj-cyan: #0891b2;
    --rk-proj-cyan-light: #cffafe;
    --rk-proj-cyan-hover: #06b6d4;
    --rk-proj-accent: #f59e0b;
    --rk-proj-bg: #ffffff;
    --rk-proj-border: #e2e8f0;
    --rk-proj-gray-bg: #f8fafc;
}

.rk-proj-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-proj-bg);
    border-radius: 24px;
    box-shadow: 0 15px 35px -5px rgba(8, 145, 178, 0.15);
    border: 1px solid var(--rk-proj-cyan);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-proj-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-proj-dark) 0%, #1e293b 100%);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-proj-cyan);
}

.rk-proj-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(6, 182, 212, 0.2);
    color: #22d3ee;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(34, 211, 238, 0.3);
}

.rk-proj-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-proj-header p {
    font-size: 16px;
    color: #cbd5e1;
    line-height: 1.6;
    margin: 0;
    max-width: 800px;
}

/* Interaktywny Moduł Projektowy */
.rk-proj-interactive {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-proj-bg);
}

/* Nawigacja (Lewa strona na desktopie, góra/pion na mobile) */
.rk-proj-nav {
    background: var(--rk-proj-gray-bg);
    padding: 30px;
    border-right: 1px solid var(--rk-proj-border);
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-proj-nav-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 100%;
    padding: 16px 20px;
    background: #ffffff;
    border: 1px solid var(--rk-proj-border);
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--rk-proj-slate);
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.rk-proj-nav-btn:hover {
    border-color: var(--rk-proj-cyan);
    transform: translateX(4px);
}

.rk-proj-nav-btn.active {
    background: var(--rk-proj-cyan);
    color: #ffffff;
    border-color: var(--rk-proj-cyan);
    box-shadow: 0 10px 15px -3px rgba(8, 145, 178, 0.3);
    transform: translateX(8px);
}

.rk-proj-nav-icon {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: var(--rk-proj-cyan-light);
    color: var(--rk-proj-cyan);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-proj-nav-btn.active .rk-proj-nav-icon {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}

/* Obszar Treści (Prawa strona na desktopie) */
.rk-proj-content-area {
    padding: 40px;
    position: relative;
}

.rk-proj-panel {
    display: none;
    animation: fadeInSlide 0.4s ease forwards;
}

.rk-proj-panel.active {
    display: block;
}

@keyframes fadeInSlide {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-proj-panel h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-proj-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-proj-panel p {
    font-size: 16px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 20px 0;
}

.rk-proj-panel a {
    color: var(--rk-proj-cyan);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.rk-proj-panel a:hover {
    color: var(--rk-proj-cyan-hover);
}

/* Wizualizacja inżynierska wewnątrz panelu */
.rk-proj-tech-box {
    background: var(--rk-proj-dark);
    border-radius: 12px;
    padding: 20px;
    margin-top: 25px;
    border-left: 4px solid var(--rk-proj-accent);
    color: #f8fafc;
}

.rk-proj-tech-box h4 {
    margin: 0 0 10px 0;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
}

.rk-proj-tech-value {
    font-family: monospace;
    font-size: 18px;
    color: var(--rk-proj-cyan-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-proj-tech-value strong {
    font-size: 24px;
    color: #ffffff;
}

/* Sekcja CTA na dole */
.rk-proj-cta-section {
    padding: 40px 50px;
    background: var(--rk-proj-gray-bg);
    border-top: 1px solid var(--rk-proj-border);
    text-align: center;
}

.rk-proj-cta-section h3 {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-proj-dark);
    margin: 0 0 15px 0;
}

.rk-proj-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-proj-accent);
    color: var(--rk-proj-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
    width: 100%;
    max-width: 600px;
    margin-top: 20px;
    text-transform: uppercase;
}

.rk-proj-btn-massive:hover {
    transform: translateY(-5px);
    background: #d97706;
    color: #ffffff;
    box-shadow: 0 20px 35px -5px rgba(245, 158, 11, 0.5);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-proj-header { padding: 35px 25px; }
    .rk-proj-header h2 { font-size: 24px; }
    
    /* Zmiana na układ pionowy (akordeonowy) dla mobile */
    .rk-proj-interactive { grid-template-columns: 1fr; }
    .rk-proj-nav { padding: 25px; border-right: none; border-bottom: 1px solid var(--rk-proj-border); }
    
    .rk-proj-nav-btn:hover { transform: translateY(-2px); }
    .rk-proj-nav-btn.active { transform: translateY(-4px); }
    
    .rk-proj-content-area { padding: 30px 25px; }
    .rk-proj-cta-section { padding: 35px 25px; }
    .rk-proj-btn-massive { padding: 16px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Jak postanowienia normy PN-EN 1264 wpływają na profesjonalny projekt ogrzewania podłogowego?",
    "description": "Zastosowanie normy PN-EN 1264 eliminuje błędy montażowe. Poznaj 4 filary profesjonalnego projektu: OZC, dobór pompy ciepła, zrównoważenie hydrauliczne i opory pętli.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-wplyw-normy",
    "name": "Kryteria inżynierskie projektu instalacji podłogowej wg PN-EN 1264",
    "description": "Baza danych parametrów uwzględnianych w profesjonalnym projekcie ogrzewania: integracja z OZC, temperatura zasilania pompy ciepła, nastawy rotametrów i wysokość podnoszenia pompy obiegowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "profesjonalny projekt ogrzewania podłogowego",
      "obliczenia strat ciepła OZC",
      "temperatura zasilania pompy ciepła",
      "zrównoważenie hydrauliczne rotametry",
      "dobór pompy obiegowej"
    ],
    "measurementTechnique": "Algorytmy obliczeniowe oparte na PN-EN 1264 i PN-EN 12831 wykorzystywane do optymalizacji układów z pompami ciepła.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wpływ OZC na gęstość rur (rozstawy 100mm vs 300mm)",
        "Optymalizacja temperatury zasilania do 35°C",
        "Wymagane zrównoważenie hydrauliczne pętli",
        "Kompensacja oporów hydraulicznych pompy (np. 25 kPa)"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-projektu",
    "name": "Symulator Zgodności Projektu z PN-EN 1264",
    "description": "Interaktywny interfejs edukacyjny pozwalający inwestorowi przeanalizować cztery filary profesjonalnej inżynierii sanitarnej w zestawieniu z praktykami amatorskimi.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-proj-container" id="rk-norm-impact-widget">
    <div class="rk-proj-header">
        <div class="rk-proj-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="3" y1="9" x2="21" y2="9"></line><line x1="9" y1="21" x2="9" y2="9"></line></svg>
            Inżynieria w Praktyce
        </div>
        <h2>Jak postanowienia normy PN-EN 1264 wpływają na profesjonalny projekt ogrzewania podłogowego?</h2>
        <p>Zastosowanie normy PN-EN 1264 całkowicie eliminuje rzemieślnicze schematy działania i przesuwa akcent na precyzyjne projektowanie. Wpływa ona na cztery fundamentalne obszary każdego profesjonalnego projektu instalacji.</p>
    </div>

    <div class="rk-proj-interactive">
        <div class="rk-proj-nav">
            <button class="rk-proj-nav-btn active" data-panel="ozc">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                </div>
                1. Integracja z OZC
            </button>
            <button class="rk-proj-nav-btn" data-panel="pompa">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                </div>
                2. Rozstaw rur a COP
            </button>
            <button class="rk-proj-nav-btn" data-panel="hydraulika">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><path d="M12 8l4 4-4 4M8 12h8"></path></svg>
                </div>
                3. Zrównoważenie
            </button>
            <button class="rk-proj-nav-btn" data-panel="obieg">
                <div class="rk-proj-nav-icon">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                4. Pompa Obiegowa
            </button>
        </div>

        <div class="rk-proj-content-area">
            
            <div class="rk-proj-panel active" id="panel-ozc">
                <h3>Integracja z normą PN-EN 12831 (OZC)</h3>
                <p>Wyznaczone <a href="https://projekt-ogrzewania.pl/norma-pn-en-12831-klucz-do-efektywnego-i-komfortowego-ogrzewania-podlogowego/">straty ciepła budynku</a> determinują maksymalny rozstaw rur dla każdego pomieszczenia indywidualnie.</p>
                <p>Jeśli budynek jest pasywny, matematyka pozwala na szerokie rozstawy rzędu 200–300 mm. W domach ze słabszą izolacją lub przy wielkich przeszkleniach w salonie (tzw. strefy brzegowe), norma wymusza zastosowanie gęstego rozstawu rur rzędu 100 mm.</p>
                <div class="rk-proj-tech-box">
                    <h4>Wynik Inżynieryjny:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path></svg>
                        Uniknięcie stref niedogrzanych zimą
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-pompa">
                <h3>Dobór Rozstawu Rur pod Ograniczenia Pompy Ciepła</h3>
                <p>Każdy inżynier projektujący układ pod pompę ciepła dąży do uzyskania jak <a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">najniższej temperatury zasilania</a> (optymalnie 35°C).</p>
                <p>Norma PN-EN 1264 dostarcza twardych narzędzi matematycznych do udowodnienia, że przy odpowiednio zagęszczonym rozstawie rur (np. co 10 cm), instalacja uzyska pożądaną moc grzewczą bez niszczycielskiej konieczności przegrzewania zładu wody do 45°C, co obniżyłoby COP pompy.</p>
                <div class="rk-proj-tech-box">
                    <h4>Parametr Celowy Projektu:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                        Zasilanie: <strong>35°C</strong>
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-hydraulika">
                <h3>Zrównoważenie Hydrauliczne (Hydronic Balancing)</h3>
                <p>Ogrzewanie robione &#8222;na oko&#8221; kończy się tym, że krótkie pętle grzeją mocno, a długie pozostają zimne. Dzięki dokładnym obliczeniom strat ciśnienia dla każdej pętli z osobna, profesjonalny projekt zawiera tabelę z wytycznymi.</p>
                <p>Na jej podstawie instalator wykonuje <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">gotowe nastawy wstępne dla rotametrów</a> na rozdzielaczu, co wymusza równomierny przepływ w całym budynku.</p>
                <div class="rk-proj-tech-box">
                    <h4>Efekt Zastosowania Normy:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                        Jednorodna temperatura każdej posadzki
                    </div>
                </div>
            </div>

            <div class="rk-proj-panel" id="panel-obieg">
                <h3>Wytyczne dla Doboru Pompy Obiegowej</h3>
                <p>Suma wszystkich strat tarcia i oporów miejscowych w najmniej korzystnym obiegu (czyli w pętli o największym oporze połączonej z magistralą zasilającą) definiuje wytyczne do wyboru urządzenia tłoczącego.</p>
                <p>Projekt oblicza wymaganą wysokość podnoszenia pompy obiegowej. Wiedząc, że układ stawia opór na poziomie np. 25 kPa (czyli około 2,5 metra słupa wody), <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/">prawidłowy dobór pompy</a> staje się faktem matematycznym, a nie zgadywaniem.</p>
                <div class="rk-proj-tech-box">
                    <h4>Krytyczny Wynik Obliczeń:</h4>
                    <div class="rk-proj-tech-value">
                        <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#22d3ee" stroke-width="2"><line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline></svg>
                        Wymagane podnoszenie: <strong>~25 kPa</strong>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-proj-cta-section">
        <h3>Nie oszczędzaj na sercu swojego domu</h3>
        <p style="color: #475569; margin-bottom: 25px; font-size: 16px;">
            Amatorski montaż pociąga za sobą gigantyczne koszty eksploatacji i awarii. Zainwestuj w absolutną pewność inżynieryjną opartą na certyfikowanych normach.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-proj-btn-massive">
            ZAMÓW PROFESJONALNY PROJEKT PODŁOGÓWKI
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polygon points="5 3 19 12 5 21 5 3"></polygon></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rk-norm-impact-widget .rk-proj-nav-btn');
    var panels = document.querySelectorAll('#rk-norm-impact-widget .rk-proj-panel');

    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-panel');

            // 1. Reset przycisków
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            // Aktywacja klikniętego
            this.classList.add('active');

            // 2. Reset paneli
            panels.forEach(function(panel) {
                panel.classList.remove('active');
            });
            // Aktywacja docelowego panelu (bezpieczny JS, brak restrykcyjnych znaków logicznych)
            var activePanel = document.getElementById('panel-' + targetId);
            if (activePanel) {
                activePanel.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-case-dark: #0f172a;
    --rk-case-red: #dc2626;
    --rk-case-red-light: #fef2f2;
    --rk-case-green: #059669;
    --rk-case-green-light: #ecfdf5;
    --rk-case-blue: #2563eb;
    --rk-case-gray: #f8fafc;
    --rk-case-border: #cbd5e1;
    --rk-case-text: #334155;
    --rk-case-bg: #ffffff;
}

.rk-case-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-case-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-case-dark);
    overflow: hidden;
}

/* Nagłówek Case Study */
.rk-case-header {
    padding: 40px 50px 30px;
    background: var(--rk-case-dark);
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-case-red);
}

.rk-case-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(248, 113, 113, 0.3);
}

.rk-case-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-case-header p {
    font-size: 16px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0;
}

/* Panel Detektywistyczny (Interakcja) */
.rk-case-investigation {
    padding: 40px 50px;
    background: var(--rk-case-gray);
}

.rk-case-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-case-tab {
    flex: 1;
    padding: 20px;
    background: #ffffff;
    border: 2px solid var(--rk-case-border);
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-case-tab-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rk-case-gray);
    color: var(--rk-case-text);
    transition: all 0.3s;
}

.rk-case-tab-text h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-tab-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-case-text);
    font-weight: 600;
}

/* Stany aktywne zakładek */
.rk-case-tab[data-state="awaria"].active {
    border-color: var(--rk-case-red);
    background: var(--rk-case-red-light);
    box-shadow: 0 10px 20px -5px rgba(220, 38, 38, 0.15);
}
.rk-case-tab[data-state="awaria"].active .rk-case-tab-icon {
    background: var(--rk-case-red);
    color: #ffffff;
}

.rk-case-tab[data-state="naprawa"].active {
    border-color: var(--rk-case-green);
    background: var(--rk-case-green-light);
    box-shadow: 0 10px 20px -5px rgba(5, 150, 105, 0.15);
}
.rk-case-tab[data-state="naprawa"].active .rk-case-tab-icon {
    background: var(--rk-case-green);
    color: #ffffff;
}

/* Widoki zawartości */
.rk-case-view {
    display: none;
    background: #ffffff;
    border: 1px solid var(--rk-case-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-case-view.active {
    display: block;
    animation: slideUpCase 0.4s ease forwards;
}

@keyframes slideUpCase {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.rk-case-details {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 25px;
}

.rk-case-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rk-case-list li {
    padding-left: 30px;
    position: relative;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-case-text);
    font-weight: 600;
}

.rk-case-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Ikony list dla awarii (krzyżyk) */
.view-awaria .rk-case-list li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");
}

/* Ikony list dla naprawy (ptaszek) */
.view-naprawa .rk-case-list li::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23059669' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
}

.rk-case-view a {
    color: var(--rk-case-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Ramka z danymi liczbowymi */
.rk-case-metrics {
    background: var(--rk-case-dark);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    justify-content: space-around;
    color: #ffffff;
}

.rk-case-metric {
    text-align: center;
}

.rk-case-metric-val {
    font-size: 24px;
    font-weight: 900;
    font-family: monospace;
    margin-bottom: 5px;
}

.view-awaria .rk-case-metric-val { color: #fca5a5; }
.view-naprawa .rk-case-metric-val { color: #6ee7b7; }

.rk-case-metric-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    color: #94a3b8;
}

/* Raport Finansowy */
.rk-case-finance {
    padding: 35px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-case-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.rk-case-finance-text h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

.rk-case-finance-text p {
    margin: 0;
    font-size: 15px;
    color: var(--rk-case-text);
    line-height: 1.6;
}

.rk-case-finance-box {
    background: #fef2f2;
    border: 2px solid var(--rk-case-red);
    padding: 20px 30px;
    border-radius: 16px;
    text-align: center;
    min-width: 250px;
}

.rk-case-finance-box span {
    display: block;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-case-red);
    text-transform: uppercase;
    margin-bottom: 5px;
}

.rk-case-finance-box strong {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-case-dark);
}

/* Tagi Długiego Ogona */
.rk-case-tags {
    padding: 20px 50px 30px;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.rk-case-tag {
    background: var(--rk-case-gray);
    color: var(--rk-case-text);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-case-border);
    text-decoration: none;
    transition: all 0.2s;
}

.rk-case-tag:hover {
    background: var(--rk-case-dark);
    color: #ffffff;
    border-color: var(--rk-case-dark);
}

@media (max-width: 768px) {
    .rk-case-header { padding: 30px 20px; }
    .rk-case-header h2 { font-size: 24px; }
    .rk-case-investigation { padding: 25px 20px; }
    
    .rk-case-tabs { flex-direction: column; gap: 10px; }
    .rk-case-tab { padding: 15px; }
    
    .rk-case-view { padding: 25px 20px; }
    .rk-case-details { grid-template-columns: 1fr; gap: 20px; }
    .rk-case-metrics { flex-direction: column; gap: 20px; }
    
    .rk-case-finance { padding: 30px 20px; flex-direction: column; text-align: center; }
    .rk-case-finance-box { width: 100%; min-width: auto; }
    .rk-case-tags { padding: 0 20px 30px; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-case-study",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Case Study: Skutki ignorowania normy PN-EN 1264 w praktyce instalacyjnej",
    "description": "Analiza rzeczywistej awarii. Zobacz, jak za długa pętla i brak projektu doprowadziły do niedogrzania salonu i kosztownego kucia wylewki.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-case-study",
    "name": "Raport Kosztów Awarii Ogrzewania Podłogowego",
    "description": "Porównanie kosztów prewencyjnego projektu inżynieryjnego z kosztami naprawy błędów wykonawczych (kucie wylewki, frezowanie) w budynku jednorodzinnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "za długa pętla podłogówki",
      "objawy zapowietrzenia ogrzewania podłogowego",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "koszt usunięcia awarii ogrzewania",
      "niedogrzany salon przyczyny"
    ],
    "measurementTechnique": "Analiza strat finansowych inwestora na podstawie realnego kosztorysu naprawczego (wymiana posadzki vs koszt projektu OZC).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Koszt projektu inżynieryjnego: 550 PLN",
        "Koszt kucia i wymiany wylewki (120m2): ~18 500 PLN",
        "Opory hydrauliczne przy pętli 180m: Przekroczenie limitu pompy",
        "Rozwiązanie alternatywne: Frezowanie podłogówki"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-symulator-ryzyka",
    "name": "Kalkulator Ryzyka i Diagnoza Awarii (Case Study)",
    "description": "Interaktywny panel śledczy demonstrujący proces diagnozowania i naprawy błędnie wykonanej instalacji (brak projektu, przekroczone długości rur).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-case-container" id="rk-casestudy-widget">
    <div class="rk-case-header">
        <div class="rk-case-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            Analiza Przypadku (Case Study)
        </div>
        <h2>Case Study: Skutki ignorowania normy PN-EN 1264 w praktyce</h2>
        <p>Zobacz na realnym przykładzie mojego klienta z okolic Poznania, jak brak profesjonalnego projektu i zaufanie do &#8222;oka&#8221; instalatora doprowadziło do paraliżu systemu grzewczego zimą.</p>
    </div>

    <div class="rk-case-investigation">
        <div class="rk-case-tabs" id="rkCaseTabs">
            <div class="rk-case-tab active" data-state="awaria">
                <div class="rk-case-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
                </div>
                <div class="rk-case-tab-text">
                    <h3>Stan Zastany (Awaria)</h3>
                    <p>Grudzień 2025: Zamarzający dom</p>
                </div>
            </div>
            
            <div class="rk-case-tab" data-state="naprawa">
                <div class="rk-case-tab-icon">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg>
                </div>
                <div class="rk-case-tab-text">
                    <h3>Interwencja (Norma)</h3>
                    <p>Styczeń 2026: Plan ratunkowy</p>
                </div>
            </div>
        </div>

        <div class="rk-case-view view-awaria active" id="view-awaria">
            <div class="rk-case-details">
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Opis Problemu:</h4>
                    <p style="font-size:15px; line-height:1.6; color:var(--rk-case-text);">Inwestor zgłosił, że mimo zasilania pompy ciepła na poziomie 40°C, w salonie temperatura nie przekracza 18°C. Dodatkowo w rozdzielaczu słychać ciągły szum wody, a rotametry w ogóle nie reagują na regulację.</p>
                </div>
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Diagnoza Błędów:</h4>
                    <ul class="rk-case-list">
                        <li><a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">Za długa pętla podłogówki</a> – jedna z rur w salonie liczyła aż 180 metrów (norma dla rury 16mm to max. 120m).</li>
                        <li>Trwałe <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">objawy zapowietrzenia</a> spowodowane kawitacją pompy, która nie mogła przepchnąć wody przez ogromne opory.</li>
                        <li>Rozstaw rur &#8222;na ślepo&#8221; co 20 cm pod grubym parkietem.</li>
                    </ul>
                </div>
            </div>
            
            <div class="rk-case-metrics">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">180 m</div>
                    <div class="rk-case-metric-label">Długość najdłuższej pętli</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">42 kPa</div>
                    <div class="rk-case-metric-label">Opór hydrauliczny</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">0.0 l/min</div>
                    <div class="rk-case-metric-label">Przepływ na rotametrze</div>
                </div>
            </div>
        </div>

        <div class="rk-case-view view-naprawa" id="view-naprawa">
            <div class="rk-case-details">
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Rozwiązanie Inżynieryjne:</h4>
                    <p style="font-size:15px; line-height:1.6; color:var(--rk-case-text);">Wykonaliśmy wsteczne obliczenia OZC. Aby uniknąć kucia całej posadzki, zdecydowaliśmy się na inwazyjne wpięcie w środku salonu i rozdzielenie gigantycznej pętli na dwa mniejsze obiegi przy użyciu muf prasowanych i żywicy epoksydowej. Alternatywą było tylko <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/">frezowanie podłogówki w starym systemie</a>.</p>
                </div>
                <div>
                    <h4 style="margin:0 0 15px 0; color:var(--rk-case-dark); font-size: 18px;">Nowe Parametry (PN-EN 1264):</h4>
                    <ul class="rk-case-list">
                        <li>Podział krytycznej pętli na dwa osobne obiegi (po ~90m każdy).</li>
                        <li>Wymiana pompy obiegowej na jednostkę o większej wysokości podnoszenia.</li>
                        <li>Precyzyjne nastawy rotametrów według nowego bilansu hydraulicznego. Zasilanie spadło do 33°C.</li>
                    </ul>
                </div>
            </div>
            
            <div class="rk-case-metrics">
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">90 m / 90 m</div>
                    <div class="rk-case-metric-label">Skorygowane pętle</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">15 kPa</div>
                    <div class="rk-case-metric-label">Opór hydrauliczny po resecie</div>
                </div>
                <div class="rk-case-metric">
                    <div class="rk-case-metric-val">2.1 l/min</div>
                    <div class="rk-case-metric-label">Stabilny przepływ</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-case-finance">
        <div class="rk-case-finance-text">
            <h3>Finansowe skutki &#8222;oszczędności&#8221;</h3>
            <p>To jeden z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów przy montażu ogrzewania podłogowego</a>. Inwestor zaoszczędził 550 PLN na projekcie inżynieryjnym, ufając zapewnieniom instalatora. Naprawa błędu i lokalne kucie posadzki pochłonęło nieproporcjonalnie więcej środków i zszargało nerwy rodziny.</p>
        </div>
        <div class="rk-case-finance-box">
            <span>Koszt naprawy błędu</span>
            <strong>18 500 PLN</strong>
        </div>
    </div>

    <div class="rk-case-tags">
        <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-case-tag"># za długa pętla podłogówki co zrobić</a>
        <a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/" class="rk-case-tag"># dlaczego podłogówka w salonie nie grzeje</a>
        <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-case-tag"># błędy wykonawcze ogrzewanie podłogowe</a>
        <a href="#" class="rk-case-tag"># rotametry na rozdzielaczu stoją w miejscu</a>
        <a href="https://projekt-ogrzewania.pl/frezowanie-ogrzewania-podlogowego-w-starym-domu/" class="rk-case-tag"># naprawa niedogrzanej podłogówki</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('#rkCaseTabs .rk-case-tab');
    
    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var targetState = this.getAttribute('data-state');
            
            // Usunięcie aktywnej klasy ze wszystkich zakładek
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Ukrycie wszystkich widoków (bezpieczne sprawdzenie bez &&)
            var viewAwaria = document.getElementById('view-awaria');
            var viewNaprawa = document.getElementById('view-naprawa');
            
            if (viewAwaria !== null) { viewAwaria.classList.remove('active'); }
            if (viewNaprawa !== null) { viewNaprawa.classList.remove('active'); }
            
            // Aktywacja klikniętej zakładki i właściwego widoku
            this.classList.add('active');
            var targetView = document.getElementById('view-' + targetState);
            if (targetView !== null) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-pro-dark: #0f172a;
    --rk-pro-slate: #475569;
    --rk-pro-blue: #2563eb;
    --rk-pro-blue-light: #eff6ff;
    --rk-pro-accent: #f59e0b;
    --rk-pro-bg: #ffffff;
    --rk-pro-bg-alt: #f8fafc;
    --rk-pro-border: #e2e8f0;
}

.rk-pro-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: var(--rk-pro-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.08), 0 1px 3px rgba(0,0,0,0.05);
    border: 1px solid var(--rk-pro-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-pro-header {
    padding: 30px 40px;
    background: var(--rk-pro-dark);
    color: #ffffff;
}

.rk-pro-header h2 {
    font-size: 24px;
    font-weight: 800;
    margin: 0;
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-header h2 svg {
    color: var(--rk-pro-accent);
}

/* Układ główny */
.rk-pro-body {
    display: flex;
    background: var(--rk-pro-bg);
}

/* Lewa Kolumna - Profil Eksperta */
.rk-pro-sidebar {
    width: 340px;
    padding: 40px 30px;
    background: var(--rk-pro-bg-alt);
    border-right: 1px solid var(--rk-pro-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-pro-avatar-wrapper {
    position: relative;
    margin-bottom: 25px;
}

.rk-pro-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid var(--rk-pro-bg);
    box-shadow: 0 8px 16px -4px rgba(15, 23, 42, 0.15);
}

.rk-pro-badge-check {
    position: absolute;
    bottom: 5px;
    right: 5px;
    background: var(--rk-pro-blue);
    color: #ffffff;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px solid var(--rk-pro-bg);
}

.rk-pro-name {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-pro-dark);
    margin: 0 0 5px 0;
    letter-spacing: -0.5px;
}

.rk-pro-role {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-pro-blue);
    margin: 0 0 15px 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-pro-brand {
    font-size: 12px;
    font-weight: 800;
    background: var(--rk-pro-dark);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    margin-bottom: 25px;
    letter-spacing: 0.5px;
}

.rk-pro-socials {
    display: flex;
    gap: 12px;
}

.rk-pro-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: #ffffff;
    border: 1px solid var(--rk-pro-border);
    border-radius: 8px;
    color: var(--rk-pro-slate);
    text-decoration: none;
}

.rk-pro-social-link:hover {
    background: var(--rk-pro-blue-light);
    color: var(--rk-pro-blue);
    border-color: #bfdbfe;
}

/* Prawa Kolumna - Treść */
.rk-pro-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.rk-pro-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-pro-border);
    background: var(--rk-pro-bg);
}

.rk-pro-tab {
    flex: 1;
    padding: 20px;
    background: transparent;
    border: none;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-pro-slate);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 3px solid transparent;
}

.rk-pro-tab.active {
    color: var(--rk-pro-blue);
    border-bottom-color: var(--rk-pro-blue);
    background: var(--rk-pro-blue-light);
}

.rk-pro-view {
    display: none;
    padding: 40px;
}

.rk-pro-view.active {
    display: block;
}

/* Typografia Cytatu */
.rk-pro-quote-box {
    position: relative;
    padding-left: 20px;
}

.rk-pro-quote-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 4px;
    background: var(--rk-pro-accent);
    border-radius: 2px;
}

.rk-pro-quote-text {
    font-size: 19px;
    font-weight: 800;
    line-height: 1.6;
    color: var(--rk-pro-dark);
    margin: 0 0 20px 0;
}

.rk-pro-quote-desc {
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-pro-slate);
    margin: 0;
}

.rk-pro-quote-desc a {
    color: var(--rk-pro-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Statystyki Nowoczesne */
.rk-pro-stats-intro {
    font-size: 17px;
    font-weight: 700;
    color: var(--rk-pro-dark);
    line-height: 1.6;
    margin: 0 0 30px 0;
}

.rk-pro-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-pro-stat-card {
    background: var(--rk-pro-bg);
    border: 1px solid var(--rk-pro-border);
    border-radius: 12px;
    padding: 25px 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-pro-stat-card:hover {
    border-color: #bfdbfe;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.05);
}

.rk-pro-stat-val {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-pro-blue);
    margin-bottom: 8px;
    letter-spacing: -1px;
}

.rk-pro-stat-label {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-pro-slate);
    text-transform: uppercase;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-pro-header { padding: 25px 20px; }
    .rk-pro-header h2 { font-size: 20px; }
    .rk-pro-body { flex-direction: column; }
    .rk-pro-sidebar { width: 100%; border-right: none; border-bottom: 1px solid var(--rk-pro-border); padding: 30px 20px; }
    .rk-pro-view { padding: 30px 20px; }
    .rk-pro-grid { grid-template-columns: 1fr; }
    .rk-pro-tabs { flex-direction: column; }
    .rk-pro-tab { border-bottom: none; border-left: 3px solid transparent; text-align: left; padding: 15px 20px; }
    .rk-pro-tab.active { border-left-color: var(--rk-pro-blue); }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Zdaniem eksperta: Robert Kucharski o standardach ogrzewania podłogowego",
    "description": "Autorytet w dziedzinie instalacji płaszczyznowych. Sprawdź, dlaczego ponad 1000 projektów ogrzewania musi opierać się na twardych wyliczeniach, a nie na przypuszczeniach.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "jobTitle": "Ekspert HVAC, CEO Projekt-Ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2025-12-29",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-cennik-projekty",
    "name": "Cennik i Statystyki Projektowe - Robert Kucharski (2026)",
    "description": "Kluczowe wskaźniki efektywności i transparentne koszty wykonania profesjonalnej dokumentacji technicznej dla wodnego ogrzewania podłogowego w budownictwie jednorodzinnym.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego",
      "koszt projektu podłogówki",
      "dokumentacja techniczna hvac",
      "budowa bez ściemy",
      "ekspert ogrzewania podłogowego"
    ],
    "measurementTechnique": "Dane oparte na rzeczywistych zleceniach i realizacjach biura projektowego projekt-ogrzewania.pl.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Średnia cena profesjonalnego projektu (OZC + pętle): 550 PLN",
        "Liczba zrealizowanych projektów: Ponad 1000",
        "Główny profil działalności: Obliczenia i dokumentacja techniczna zgodna z PN-EN 1264"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-wizytowka-eksperta",
    "name": "Interaktywna Wizytówka Inżynierska",
    "description": "Nowoczesny moduł przełączający służący do szybkiego przeglądu kwalifikacji projektanta instalacji sanitarnych oraz głównych wytycznych, którymi kieruje się biuro projektowe.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-pro-container" id="rk-modern-expert">
    <div class="rk-pro-header">
        <h2>
            <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Zdaniem eksperta: Robert Kucharski o standardach ogrzewania podłogowego
        </h2>
    </div>

    <div class="rk-pro-body">
        
        <!-- Kolumna Lewa: Profil (E-E-A-T) -->
        <div class="rk-pro-sidebar">
            <div class="rk-pro-avatar-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Ekspert HVAC" class="rk-pro-avatar">
                <div class="rk-pro-badge-check" title="Zweryfikowany Specjalista">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
            </div>
            
            <h3 class="rk-pro-name">Robert Kucharski</h3>
            <div class="rk-pro-role">Główny Specjalista HVAC</div>
            <div class="rk-pro-brand">BUDOWA BEZ ŚCIEMY</div>
            
            <div class="rk-pro-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-pro-social-link" title="Facebook">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-pro-social-link" title="LinkedIn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z"></path><rect x="2" y="9" width="4" height="12"></rect><circle cx="4" cy="4" r="2"></circle></svg>
                </a>
            </div>
        </div>

        <!-- Kolumna Prawa: Interaktywne Zakładki -->
        <div class="rk-pro-content">
            <div class="rk-pro-tabs" id="rkProTabs">
                <button class="rk-pro-tab active" data-tab="cytat">Złota zasada instalatora</button>
                <button class="rk-pro-tab" data-tab="liczby">Dlaczego projekt?</button>
            </div>

            <!-- Widok: Cytat -->
            <div class="rk-pro-view active" id="view-cytat">
                <div class="rk-pro-quote-box">
                    <p class="rk-pro-quote-text">
                        Z perspektywy tysięcy przeanalizowanych instalacji mogę z pełną odpowiedzialnością stwierdzić jedno: wylewka betonowa wybacza wszystko, dopóki jej nie zalejesz. 
                    </p>
                    <p class="rk-pro-quote-desc">
                        Norma PN-EN 1264 to nie jest urzędniczy wymysł. To tarcza ochronna Twojego portfela. Ignorowanie prób ciśnieniowych (6 bar) i projektowania OZC z myślą &#8222;jakoś to będzie&#8221; niemal zawsze kończy się zjawiskiem niedogrzania lub zniszczonymi posadzkami. Kucie jastrychu w gotowym salonie kosztuje 10 razy więcej niż <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">kompleksowy projekt</a> u sprawdzonego inżyniera.
                    </p>
                </div>
            </div>

            <!-- Widok: Liczby -->
            <div class="rk-pro-view" id="view-liczby">
                <p class="rk-pro-stats-intro">
                    Jako projektant reklamuję w Google wyłącznie pełne opracowania techniczne, a nie pojedyncze rurki czy rozdzielacze. Dlaczego? Bo tylko profesjonalny projekt daje gwarancję sukcesu.
                </p>
                
                <div class="rk-pro-grid">
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">1000+</div>
                        <div class="rk-pro-stat-label">Wykonanych projektów</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">550 PLN</div>
                        <div class="rk-pro-stat-label">Średnia cena dokumentacji</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">3700</div>
                        <div class="rk-pro-stat-label">Obserwatorów fachowców</div>
                    </div>
                    <div class="rk-pro-stat-card">
                        <div class="rk-pro-stat-val">100%</div>
                        <div class="rk-pro-stat-label">Zgodności z normą PN-EN</div>
                    </div>
                </div>
            </div>

        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('#rkProTabs .rk-pro-tab');
    
    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var targetViewId = this.getAttribute('data-tab');
            
            // Usunięcie klasy aktywnej ze wszystkich zakładek
            tabs.forEach(function(t) {
                t.classList.remove('active');
            });
            
            // Zamknięcie wszystkich widoków (bezpieczne sprawdzenie)
            var viewCytat = document.getElementById('view-cytat');
            var viewLiczby = document.getElementById('view-liczby');
            
            if (viewCytat !== null) { viewCytat.classList.remove('active'); }
            if (viewLiczby !== null) { viewLiczby.classList.remove('active'); }
            
            // Aktywacja wybranej zakładki i widoku
            this.classList.add('active');
            var targetView = document.getElementById('view-' + targetViewId);
            if (targetView !== null) {
                targetView.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-slate: #334155;
    --rk-err-danger: #dc2626;
    --rk-err-danger-light: #fef2f2;
    --rk-err-warning: #ea580c;
    --rk-err-warning-light: #fff7ed;
    --rk-err-blue: #2563eb;
    --rk-err-bg: #ffffff;
    --rk-err-gray: #f8fafc;
    --rk-err-border: #cbd5e1;
}

.rk-err-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(220, 38, 38, 0.15);
    border: 1px solid var(--rk-err-danger);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-err-header {
    padding: 40px 50px 30px;
    background: linear-gradient(135deg, var(--rk-err-dark) 0%, #450a0a 100%);
    color: #ffffff;
    text-align: center;
    border-bottom: 4px solid var(--rk-err-danger);
}

.rk-err-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(220, 38, 38, 0.2);
    color: #fca5a5;
    padding: 6px 18px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(248, 113, 113, 0.3);
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.rk-err-header p {
    font-size: 16px;
    color: #f87171;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 750px;
}

/* Moduł 1: Interaktywny Skaner Błędów */
.rk-err-scanner {
    padding: 40px 50px;
    background: var(--rk-err-gray);
}

.rk-err-section-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.rk-err-card {
    background: #ffffff;
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 25px 20px;
    cursor: pointer;
    position: relative;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-err-card:hover {
    border-color: var(--rk-err-warning);
    transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(234, 88, 12, 0.1);
}

.rk-err-card.revealed {
    border-color: var(--rk-err-danger);
    background: var(--rk-err-danger-light);
}

.rk-err-card-front {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    transition: opacity 0.3s;
}

.rk-err-card.revealed .rk-err-card-front {
    display: none;
}

.rk-err-icon {
    width: 48px;
    height: 48px;
    background: var(--rk-err-gray);
    color: var(--rk-err-slate);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
}

.rk-err-card h4 {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-err-dark);
    margin: 0 0 10px 0;
}

.rk-err-hint {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-err-blue);
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Skutek Błędu (Tył Karty) */
.rk-err-card-back {
    display: none;
    flex-direction: column;
    align-items: center;
    text-align: center;
    animation: popIn 0.3s ease;
}

.rk-err-card.revealed .rk-err-card-back {
    display: flex;
}

@keyframes popIn {
    0% { transform: scale(0.9); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.rk-err-danger-icon {
    color: var(--rk-err-danger);
    margin-bottom: 10px;
}

.rk-err-result {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-err-danger);
    margin: 0 0 10px 0;
}

.rk-err-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-err-dark);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Moduł 2: Odpowiedzialność na Budowie */
.rk-err-roles {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-err-border);
}

.rk-err-roles-intro {
    font-size: 16px;
    line-height: 1.7;
    color: var(--rk-err-text);
    margin: 0 0 30px 0;
}

.rk-err-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rk-err-role-item {
    border: 2px solid var(--rk-err-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s;
}

.rk-err-role-item.active {
    border-color: var(--rk-err-blue);
    box-shadow: 0 10px 20px -5px rgba(37, 99, 235, 0.1);
}

.rk-err-role-btn {
    width: 100%;
    background: transparent;
    border: none;
    padding: 20px 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    text-align: left;
}

.rk-err-role-header {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-err-role-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-err-gray);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-slate);
    transition: all 0.3s;
}

.rk-err-role-item.active .rk-err-role-icon {
    background: var(--rk-err-blue);
    color: #ffffff;
}

.rk-err-role-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-err-dark);
    margin: 0;
}

.rk-err-role-chevron {
    color: var(--rk-err-slate);
    transition: transform 0.3s;
}

.rk-err-role-item.active .rk-err-role-chevron {
    transform: rotate(180deg);
    color: var(--rk-err-blue);
}

.rk-err-role-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    background: var(--rk-err-gray);
}

.rk-err-role-inner {
    padding: 0 25px 25px 80px;
}

.rk-err-role-inner p {
    margin: 0;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-err-slate);
    font-weight: 500;
}

.rk-err-role-inner strong {
    color: var(--rk-err-dark);
    font-weight: 800;
}

/* Tagi SEO */
.rk-err-tags {
    padding: 0 50px 40px;
    background: #ffffff;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-err-tag {
    background: var(--rk-err-gray);
    color: var(--rk-err-slate);
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid var(--rk-err-border);
    text-decoration: none;
    transition: all 0.2s;
}

.rk-err-tag:hover {
    background: var(--rk-err-dark);
    color: #ffffff;
    border-color: var(--rk-err-dark);
}

@media (max-width: 768px) {
    .rk-err-header { padding: 35px 20px; }
    .rk-err-header h2 { font-size: 24px; }
    .rk-err-scanner { padding: 35px 20px; }
    .rk-err-roles { padding: 35px 20px; }
    .rk-err-role-btn { padding: 15px; }
    .rk-err-role-inner { padding: 0 15px 20px 15px; }
    .rk-err-tags { padding: 0 20px 30px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Najczęstsze błędy wykonawców łamiące PN-EN 1264 i odpowiedzialność na budowie",
    "description": "Sprawdź skutki braku OZC, zbyt długich pętli i braku dylatacji. Wyjaśniamy, czy instalator musi znać normę PN-EN 1264 i za co odpowiada kierownik budowy.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-bledy",
    "name": "Rejestr Błędów Wykonawczych i Skutków Awarii Ogrzewania (2026)",
    "description": "Baza danych parująca najczęstsze uchybienia normatywne instalatorów z bezpośrednimi fizycznymi konsekwencjami dla budynku (pęknięcia, niedogrzanie, zalanie).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "brak ozc skutki",
      "za długa pętla podłogówki",
      "brak dylatacji ogrzewanie podłogowe",
      "obowiązki instalatora a projektant"
    ],
    "measurementTechnique": "Analiza przyczynowo-skutkowa odchyłek od europejskiej normy wbudowanych systemów płaszczyznowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd: Rozstaw 20-25 cm wszędzie -> Skutek: Zimne strefy",
        "Błąd: Brak OZC -> Skutek: Niedogrzanie",
        "Błąd: Pętle powyżej 120 m -> Skutek: Problemy hydrauliczne",
        "Błąd: Brak dylatacji -> Skutek: Pęknięcia jastrychu",
        "Błąd: Brak próby szczelności -> Skutek: Zalanie budynku"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-audytor",
    "name": "Interaktywny Audytor Błędów Instalacyjnych",
    "description": "Narzędzie pozwalające inwestorowi na szybkie zdiagnozowanie potencjalnych skutków rzemieślniczych błędów montażowych oraz ustalenie matrycy odpowiedzialności na placu budowy.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="rk-errors-widget">
    <div class="rk-err-header">
        <div class="rk-err-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Ściana Płaczu Inwestora
        </div>
        <h2>Najczęstsze błędy wykonawców i odpowiedzialność na budowie</h2>
        <p>Instalacja podłogówki z pominięciem wytycznych normy to stąpanie po kruchym lodzie. Sprawdź, jakie są skutki najpopularniejszych błędów i dowiedz się ostatecznie: kto za to odpowiada?</p>
    </div>

    <div class="rk-err-scanner">
        <h3 class="rk-err-section-title">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
            Skaner Błędów Łamiących PN-EN 1264
        </h3>
        
        <div class="rk-err-grid" id="rkErrGrid">
            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect></svg></div>
                    <h4>Rozstaw rur 20-25 cm wszędzie</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    <div class="rk-err-result">Zimne Strefy i Paski</div>
                    <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/" class="rk-err-link">Brak pokrycia strat ciepła</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg></div>
                    <h4>Brak obliczeń OZC</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
                    <div class="rk-err-result">Permanentne Niedogrzanie</div>
                    <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" class="rk-err-link">Wymaga wyższej temp. pompy</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg></div>
                    <h4>Pętle powyżej 120 metrów</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                    <div class="rk-err-result">Problemy Hydrauliczne</div>
                    <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-err-link">Pompa nie pcha wody</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 22h14a2 2 0 0 0 2-2V7.5L14.5 2H6a2 2 0 0 0-2 2v4"></path><polyline points="14 2 14 8 20 8"></polyline><path d="M2 15h10"></path><path d="M5 12l-3 3 3 3"></path></svg></div>
                    <h4>Brak dylatacji jastrychu</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M16 21v-2a4 4 0 0 0-4-4H5.5"></path><polyline points="9 22 5.5 15 2 22"></polyline><path d="M22 3L2 22"></path></svg>
                    <div class="rk-err-result">Pęknięcia Posadzki</div>
                    <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" class="rk-err-link">Kucie zerwanych płytek</a>
                </div>
            </div>

            <div class="rk-err-card">
                <div class="rk-err-card-front">
                    <div class="rk-err-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"></path></svg></div>
                    <h4>Brak próby szczelności</h4>
                    <span class="rk-err-hint">Odkryj skutek <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg></span>
                </div>
                <div class="rk-err-card-back">
                    <svg class="rk-err-danger-icon" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                    <div class="rk-err-result">Zalanie Budynku</div>
                    <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-err-link">Awaria po wylaniu betonu</a>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-err-roles">
        <h3 class="rk-err-section-title">Czy instalator wykonujący podłogówkę ma obowiązek znać PN-EN 1264?</h3>
        <p class="rk-err-roles-intro">To pytanie, które najczęściej wpisują inwestorzy w przypadku awarii i szukania winnych. Prawo budowlane określa bardzo elegancki i jednoznaczny podział obowiązków między trzema głównymi aktorami na placu budowy.</p>

        <div class="rk-err-accordion" id="rkErrAccordion">
            
            <div class="rk-err-role-item active">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"></path><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"></path></svg></div>
                        <h4 class="rk-err-role-title">Projektant HVAC</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content" style="max-height: 500px;">
                    <div class="rk-err-role-inner">
                        <p><strong>Tak, to jego absolutny obowiązek.</strong> Projektant jest intelektualnym twórcą układu. Musi wykonać obliczenia strat ciepła, dobrać rozstaw rur, obliczyć hydraulikę i stworzyć dokumentację stricte w oparciu o algorytmy PN-EN 1264. To on ponosi odpowiedzialność prawną za to, czy system wydajnościowo dogrzeje budynek w temperaturach ujemnych.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-role-item">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"></path></svg></div>
                        <h4 class="rk-err-role-title">Instalator / Wykonawca</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content">
                    <div class="rk-err-role-inner">
                        <p><strong>Nie musi znać na pamięć wzorów matematycznych.</strong> Jego obowiązkiem nie jest projektowanie &#8222;z głowy&#8221;. Obowiązkiem instalatora jest rzetelne i bezbłędne odtworzenie na budowie tego, co projektant narysował w <a href="https://projekt-ogrzewania.pl/czy-trzeba-miec-projekt-na-ogrzewanie-podlogowe/">projekcie ogrzewania podłogowego</a>. Musi jednak znać wytyczne montażowe (część 4 normy) dotyczące wykonywania prób ciśnieniowych (6 bar) i układania dylatacji.</p>
                    </div>
                </div>
            </div>

            <div class="rk-err-role-item">
                <button class="rk-err-role-btn">
                    <div class="rk-err-role-header">
                        <div class="rk-err-role-icon"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"></path><polyline points="3.27 6.96 12 12.01 20.73 6.96"></polyline><line x1="12" y1="22.08" x2="12" y2="12"></line></svg></div>
                        <h4 class="rk-err-role-title">Kierownik Budowy</h4>
                    </div>
                    <div class="rk-err-role-chevron"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="6 9 12 15 18 9"></polyline></svg></div>
                </button>
                <div class="rk-err-role-content">
                    <div class="rk-err-role-inner">
                        <p><strong>To główny audytor.</strong> Zgodnie z Prawem Budowlanym, to on odbiera tzw. prace zanikające (czyli rury przed zalaniem betonem). Jego obowiązkiem jest sprawdzenie, czy rozstaw rur na styropianie zgadza się z projektem oraz musi być fizycznie obecny lub wymagać podpisanego protokołu z próby szczelności przed wpuszczeniem posadzkarzy.</p>
                    </div>
                </div>
            </div>

        </div>
    </div>

    <div class="rk-err-tags">
        <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/" class="rk-err-tag"># błędy montażu ogrzewania podłogowego</a>
        <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/" class="rk-err-tag"># obowiązki instalatora</a>
        <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-glowy-vs-projekt-z-obliczeniami-ile-mozesz-stracic-na-bledach/" class="rk-err-tag"># projekt z głowy vs obliczenia</a>
        <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" class="rk-err-tag"># za długa pętla skutki</a>
        <a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/" class="rk-err-tag"># zalanie budynku podłogówka</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. Logika Skanera Błędów (Karty)
    var cards = document.querySelectorAll('#rkErrGrid .rk-err-card');
    cards.forEach(function(card) {
        card.addEventListener('click', function() {
            var isRevealed = this.classList.contains('revealed');
            if (isRevealed === false) {
                this.classList.add('revealed');
            } else {
                this.classList.remove('revealed');
            }
        });
    });

    // 2. Logika Akordeonu Ról (Bezpieczne JS)
    var accItems = document.querySelectorAll('#rkErrAccordion .rk-err-role-item');
    accItems.forEach(function(item) {
        var btn = item.querySelector('.rk-err-role-btn');
        var content = item.querySelector('.rk-err-role-content');

        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');

            // Zamknięcie wszystkich (opcjonalne, działa jak klasyczny akordeon)
            accItems.forEach(function(innerItem) {
                innerItem.classList.remove('active');
                var innerContent = innerItem.querySelector('.rk-err-role-content');
                if (innerContent !== null) {
                    innerContent.style.maxHeight = null;
                }
            });

            // Otwarcie klikniętego (jeśli nie był otwarty)
            if (isActive === false) {
                item.classList.add('active');
                if (content !== null) {
                    content.style.maxHeight = content.scrollHeight + "px";
                }
            }
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #2563eb;
    --rk-faq-blue-hover: #1d4ed8;
    --rk-faq-light-blue: #eff6ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-text: #334155;
    --rk-faq-bg: #ffffff;
    --rk-faq-icon: #64748b;
}

.rk-faq-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-faq-bg);
    border-radius: 24px;
    box-shadow: 0 10px 40px -10px rgba(37, 99, 235, 0.1);
    border: 1px solid var(--rk-faq-blue);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-faq-dark) 0%, #1e293b 100%);
    color: #ffffff;
    text-align: center;
    position: relative;
}

.rk-faq-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(37, 99, 235, 0.3);
    color: #60a5fa;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    border: 1px solid rgba(96, 165, 250, 0.2);
}

.rk-faq-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0;
    line-height: 1.3;
}

/* Interaktywny Akordeon */
.rk-faq-list-wrapper {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-faq-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.15);
}

.rk-faq-btn {
    width: 100%;
    text-align: left;
    padding: 24px 30px;
    background: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    color: var(--rk-faq-dark);
}

.rk-faq-item.active .rk-faq-btn {
    background: var(--rk-faq-light-blue);
}

.rk-faq-btn h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
    flex: 1;
}

.rk-faq-icon-wrapper {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-blue);
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background 0.3s;
}

.rk-faq-item.active .rk-faq-icon-wrapper {
    transform: rotate(180deg);
    background: var(--rk-faq-blue);
    color: #ffffff;
}

.rk-faq-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-content-inner {
    padding: 0 30px 30px 30px;
    color: var(--rk-faq-text);
    font-size: 16px;
    line-height: 1.7;
}

.rk-faq-item.active .rk-faq-content-inner {
    border-top: 1px solid transparent; /* Wizualny odstęp */
    padding-top: 10px;
}

.rk-faq-content-inner a {
    color: var(--rk-faq-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-faq-content-inner a:hover {
    color: var(--rk-faq-blue-hover);
}

/* Informacja Wizualna w Treści */
.rk-faq-highlight {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f0fdf4;
    color: #166534;
    padding: 12px 16px;
    border-radius: 8px;
    border-left: 4px solid #22c55e;
    margin-top: 15px;
    font-weight: 600;
    font-size: 15px;
    width: 100%;
}

@media (max-width: 768px) {
    .rk-faq-header { padding: 35px 25px; }
    .rk-faq-list-wrapper { padding: 25px 20px; }
    .rk-faq-title { font-size: 24px; }
    .rk-faq-btn { padding: 20px; }
    .rk-faq-btn h3 { font-size: 16px; }
    .rk-faq-content-inner { padding: 0 20px 20px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "FAQ – Najczęstsze pytania dotyczące normy PN-EN 1264",
    "description": "Odpowiedzi na kluczowe pytania inżynieryjne: wygrzewanie jastrychu, długość pętli, zabudowa meblowa i kary za brak próby szczelności ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#faq",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy stosowanie normy PN-EN 1264 jest obowiązkowe w budownictwie jednorodzinnym?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Formalnie normy w Polsce są stosowane dobrowolnie, jednak prawo budowlane nakazuje wykonywanie instalacji zgodnie ze sztuką inżynierską, a sądy powszechne i biegli w przypadku sporów z wykonawcą traktują PN-EN 1264 jako jedyny oficjalny układ odniesienia do oceny wad wykonawczych."
        }
      },
      {
        "@type": "Question",
        "name": "Jaka jest dopuszczalna maksymalna długość jednej pętli ogrzewania podłogowego według normy?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Norma nie podaje jednej sztywnej liczby, ponieważ limit wynika z oporów hydraulicznych i średnicy rury, jednak powszechny standard inżynierski oparty na kryteriach normatywnych ogranicza długość rury 16x2 mm do 100–120 metrów, a rury 20x2 mm do 150 metrów."
        }
      },
      {
        "@type": "Question",
        "name": "Czym grozi zalanie instalacji podłogowej bez wcześniejszej próby ciśnieniowej?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Grozi to katastrofą budowlaną w postaci niezauważonego wycieku wody pod jastrychem w przypadku uszkodzenia rury klipsem lub narzędziem budowlanym, co skutkuje koniecznością zrywania całej wylewki, ponoszeniem kosztów osuszania budynku rzędu kilkunastu tysięcy złotych oraz utratą gwarancji."
        }
      },
      {
        "@type": "Question",
        "name": "Czy według normy można układać ogrzewanie podłogowe pod stałą zabudową meblową?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Norma PN-EN 1264 nakazuje projektowanie instalacji w celu pokrycia strat ciepła, a stała zabudowa kuchenna czy szafy wnękowe drastycznie zwiększają opór cieplny (Rλ,B powyżej limitu 0,15 m²K/W), przez co układanie tam rur jest błędem – powoduje przegrzewanie mebli i marnowanie energii."
        }
      },
      {
        "@type": "Question",
        "name": "Co to jest procedura wygrzewania jastrychu i czy norma ją definiuje?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, norma PN-EN 1264-4 precyzyjnie określa proces pierwszego uruchomienia grzewczego jastrychu betonowego, który może nastąpić najwcześniej po 21 dniach od zalania (dla anhydrytu po 7 dniach), zaczynając od temperatury zasilania 25°C przez 3 dni, a następnie podnosząc ją do temperatury projektowej na kolejne 4 dni w celu uwolnienia naprężeń i wilgoci technologicznej."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-faq",
    "name": "Zestawienie parametrów krytycznych montażu i odbioru podłogówki (2026)",
    "description": "Baza danych parametrów kontrolnych: dni dojrzewania jastrychu, limity długości rur PEX oraz graniczne współczynniki oporu cieplnego wyciągnięte z norm inżynieryjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "długość pętli ogrzewania podłogowego",
      "wygrzewanie jastrychu anhydryt",
      "próba ciśnieniowa podłogówki",
      "ogrzewanie podłogowe pod meblami",
      "normy wykonawcze HVAC"
    ],
    "measurementTechnique": "Wytyczne normatywne służące za układ odniesienia dla biegłych sądowych i instalatorów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wygrzewanie betonu: start po 21 dniach",
        "Wygrzewanie anhydrytu: start po 7 dniach",
        "Startowa temperatura wygrzewania: 25°C przez 3 dni"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-faq",
    "name": "Interaktywna Baza Wiedzy FAQ PN-EN 1264",
    "description": "Moduł typu akordeon, który błyskawicznie dopasowuje inżynieryjne odpowiedzi do najczęściej wyszukiwanych problemów budowlanych z zakresu instalacji podłogowych.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-faq-container" id="norma-faq-app">
    <div class="rk-faq-header">
        <div class="rk-faq-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>
            Baza Wiedzy Inwestora
        </div>
        <h2 class="rk-faq-title">FAQ – Najczęstsze pytania dotyczące normy PN-EN 1264</h2>
    </div>

    <div class="rk-faq-list-wrapper" id="rkFaqAccordion">
        
        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czy stosowanie normy PN-EN 1264 jest obowiązkowe w budownictwie jednorodzinnym?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Formalnie normy w Polsce są stosowane dobrowolnie, jednak prawo budowlane nakazuje wykonywanie instalacji zgodnie ze sztuką inżynierską. Wszelkie sądy powszechne i biegli w przypadku sporów z wykonawcą traktują PN-EN 1264 jako jedyny oficjalny układ odniesienia do oceny wad wykonawczych.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Jaka jest dopuszczalna maksymalna długość jednej pętli ogrzewania podłogowego według normy?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Norma nie podaje jednej sztywnej liczby, ponieważ limit wynika z oporów hydraulicznych i średnicy rury. Jednak powszechny standard inżynierski oparty na kryteriach normatywnych określa jasne zasady: <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">ogranicza długość rury 16&#215;2 mm do 100–120 metrów</a>, a grubszej rury 20&#215;2 mm maksymalnie do 150 metrów.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czym grozi zalanie instalacji podłogowej bez wcześniejszej próby ciśnieniowej?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Grozi to katastrofą budowlaną w postaci niezauważonego wycieku wody pod jastrychem w przypadku uszkodzenia rury klipsem lub narzędziem budowlanym. Skutkuje to koniecznością zrywania całej wylewki, ponoszeniem kosztów osuszania budynku rzędu kilkunastu tysięcy złotych oraz całkowitą utratą gwarancji. To jeden z <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów przy montażu ogrzewania podłogowego</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Czy według normy można układać ogrzewanie podłogowe pod stałą zabudową meblową?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Norma PN-EN 1264 nakazuje projektowanie instalacji w celu pokrycia strat ciepła, a stała zabudowa kuchenna czy szafy wnękowe drastycznie zwiększają opór cieplny (grubo powyżej normatywnego limitu 0,15 m²K/W). Przez to <a href="https://projekt-ogrzewania.pl/wodne-ogrzewanie-podlogowe-a-meble-jak-polaczyc-komfort-i-aranzacje/">układanie tam rur jest błędem</a> – powoduje przegrzewanie mebli, marnowanie energii i psucie artykułów spożywczych.</p>
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-btn" aria-expanded="false">
                <h3>Co to jest procedura wygrzewania jastrychu i czy norma ją definiuje?</h3>
                <div class="rk-faq-icon-wrapper">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>
                </div>
            </button>
            <div class="rk-faq-content">
                <div class="rk-faq-content-inner">
                    <p>Tak, norma PN-EN 1264-4 precyzyjnie określa proces pierwszego uruchomienia grzewczego jastrychu. <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">Wygrzewanie wylewki betonowej</a> może nastąpić najwcześniej po 21 dniach od zalania (dla anhydrytu po 7 dniach). Rozpoczyna się od temperatury zasilania 25°C przez 3 dni, a następnie podnosi się ją do temperatury projektowej na kolejne 4 dni w celu uwolnienia naprężeń i wilgoci technologicznej.</p>
                    
                    <div class="rk-faq-highlight">
                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>
                        Pominięcie wygrzewania skutkuje nieodwracalnym pękaniem płytek!
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var faqItems = document.querySelectorAll('#rkFaqAccordion .rk-faq-item');

    faqItems.forEach(function(item) {
        var btn = item.querySelector('.rk-faq-btn');
        var content = item.querySelector('.rk-faq-content');
        
        btn.addEventListener('click', function() {
            var isActive = item.classList.contains('active');
            
            // Zamknij wszystkie (opcjonalne - działanie akordeonu)
            faqItems.forEach(function(innerItem) {
                innerItem.classList.remove('active');
                innerItem.querySelector('.rk-faq-btn').setAttribute('aria-expanded', 'false');
                innerItem.querySelector('.rk-faq-content').style.maxHeight = null;
            });

            // Jeśli nie był aktywny, otwórz kliknięty
            if (isActive === false) {
                item.classList.add('active');
                btn.setAttribute('aria-expanded', 'true');
                // Przypisanie dokładnej wysokości do płynnej animacji
                content.style.maxHeight = content.scrollHeight + 50 + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-blue: #0ea5e9;
    --rk-fin-light-blue: #e0f2fe;
    --rk-fin-green: #10b981;
    --rk-fin-red: #ef4444;
    --rk-fin-gray: #64748b;
    --rk-fin-bg: #ffffff;
    --rk-fin-border: #cbd5e1;
}

.rk-fin-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-fin-bg);
    border-radius: 20px;
    box-shadow: 0 20px 40px -10px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--rk-fin-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-fin-header {
    padding: 40px 50px;
    background: var(--rk-fin-dark);
    color: #ffffff;
    text-align: center;
    position: relative;
    border-bottom: 4px solid var(--rk-fin-blue);
}

.rk-fin-title {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    line-height: 1.3;
}

.rk-fin-subtitle {
    font-size: 16px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0 auto;
    max-width: 750px;
}

/* Interaktywny Widget Weryfikacyjny */
.rk-fin-widget {
    padding: 40px 50px;
    background: #f8fafc;
}

.rk-fin-widget-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-fin-dark);
    margin: 0 0 25px 0;
    text-align: center;
}

.rk-fin-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.rk-fin-tab {
    flex: 1;
    padding: 15px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-fin-border);
    border-radius: 12px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-fin-tab:hover {
    border-color: var(--rk-fin-blue);
    background: var(--rk-fin-light-blue);
    color: var(--rk-fin-blue);
}

.rk-fin-tab.active {
    background: var(--rk-fin-blue);
    border-color: var(--rk-fin-blue);
    color: #ffffff;
    box-shadow: 0 10px 20px -5px rgba(14, 165, 233, 0.3);
}

.rk-fin-tab svg {
    width: 20px;
    height: 20px;
}

/* Obszar wyświetlania danych */
.rk-fin-display {
    background: #ffffff;
    border: 1px solid var(--rk-fin-border);
    border-radius: 16px;
    padding: 35px;
    display: flex;
    align-items: flex-start;
    gap: 30px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.rk-fin-display-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background: var(--rk-fin-light-blue);
    color: var(--rk-fin-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-fin-display-icon svg { width: 40px; height: 40px; }

.rk-fin-display-content h4 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 800;
    color: var(--rk-fin-dark);
}

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

.rk-fin-display-content .rk-alert {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #fef2f2;
    border-left: 4px solid var(--rk-fin-red);
    border-radius: 0 6px 6px 0;
    color: #991b1b;
    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;
}

/* Konkluzja i Tagi */
.rk-fin-conclusion {
    padding: 30px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-fin-border);
}

.rk-fin-conclusion p {
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
    margin: 0 0 20px 0;
}

.rk-fin-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 25px;
}

.rk-mat-tag {
    background: #f1f5f9;
    color: var(--rk-fin-dark);
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    border: 1px solid #e2e8f0;
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-fin-blue);
    color: #ffffff;
    border-color: var(--rk-fin-blue);
}

/* CTA */
.rk-fin-cta {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-fin-dark) 0%, #1e293b 100%);
    text-align: center;
}

.rk-fin-btn-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-fin-green);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
    transition: all 0.3s ease;
    border: none;
    width: 100%;
    max-width: 500px;
}

.rk-fin-btn-cta:hover {
    transform: translateY(-5px);
    background: #059669;
    box-shadow: 0 20px 35px -5px rgba(16, 185, 129, 0.5);
}

@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-widget, .rk-fin-conclusion, .rk-fin-cta { padding: 30px 20px; }
    .rk-fin-title { font-size: 24px; }
    .rk-fin-tabs { flex-direction: column; }
    .rk-fin-display { flex-direction: column; align-items: center; text-align: center; padding: 25px 20px; }
    .rk-fin-display-content .rk-alert { text-align: left; }
    .rk-fin-btn-cta { padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Podsumowanie i kluczowe wnioski inżynieryjne z normy PN-EN 1264",
    "description": "Kodeks techniczny ogrzewania podłogowego. Poznaj maksymalną temperaturę podłogi, opór cieplny okładziny oraz limity długości pętli rury chroniące przed awarią.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-limity",
    "name": "Graniczne parametry instalacyjne normy PN-EN 1264",
    "description": "Zestawienie twardych danych technicznych dotyczących maksymalnych limitów operacyjnych dla wbudowanych systemów płaszczyznowych (temperatura, izolacja, hydraulika).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "norma pn en 1264",
      "maksymalna temperatura podłogi",
      "opór cieplny okładziny",
      "długość pętli ogrzewania podłogowego",
      "profesjonalny projekt instalacji"
    ],
    "measurementTechnique": "Wartości bezwzględne wynikające ze standardu europejskiego stosowane w procesie weryfikacji odbiorczej instalacji.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalna temperatura w strefie stałego przebywania: 29°C",
        "Maksymalny dopuszczalny opór cieplny okładziny: 0,15 m2K/W",
        "Maksymalna długość pętli dla rury 16x2 mm: 100-120 metrów"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-weryfikator",
    "name": "Interaktywny Weryfikator Standardów PN-EN 1264",
    "description": "Symulator wizualizujący konsekwencje przekroczenia kluczowych limitów inżynieryjnych w wodnym ogrzewaniu podłogowym (niedogrzanie, awaria pompy, przegrzanie posadzki).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container">
    <div class="rk-fin-header">
        <h2 class="rk-fin-title">Podsumowanie i kluczowe wnioski inżynieryjne</h2>
        <p class="rk-fin-subtitle">
            Norma PN-EN 1264 to kompletny kodeks techniczny, który oddziela profesjonalne projektowanie instalacji HVAC od intuicyjnego układania rur przez przypadkowych wykonawców.
        </p>
    </div>

    <div class="rk-fin-widget">
        <h3 class="rk-fin-widget-title">Sprawdź 3 fundamenty bezpieczeństwa instalacji</h3>
        
        <div class="rk-fin-tabs" id="rkFinTabs">
            <button class="rk-fin-tab active" data-target="temp">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z"></path></svg>
                Max. 29°C
            </button>
            <button class="rk-fin-tab" data-target="opor">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="16" width="20" height="4" rx="1"></rect><path d="M6 12h12M10 8h4M12 4v4"></path></svg>
                Max. 0,15 m²K/W
            </button>
            <button class="rk-fin-tab" data-target="petla">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>
                Max. 120 m
            </button>
        </div>

        <div class="rk-fin-display" id="rkFinDisplay">
            <div class="rk-fin-display-icon">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
            </div>
            <div class="rk-fin-display-content">
                <h4>Ograniczenie temperatury w strefie mieszkalnej</h4>
                <p>Maksymalna temperatura w sferze mieszkalnej to bezwzględnie <strong>29°C</strong>. Projektowanie instalacji wymagającej wyższych temperatur zasilania dla zrównoważenia strat ciepła to błąd inżynieryjny.</p>
                <p>Bezpieczeństwo konstrukcyjne oraz zdrowie domowników zależą od utrzymania tego limitu.</p>
                <div class="rk-alert">
                    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
                    Przegrzewanie posadzki obniża żywotność paneli.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-fin-conclusion">
        <p>
            Bezpieczeństwo konstrukcyjne, gwarancja stabilności posadzki oraz wysoka efektywność energetyczna nowoczesnych źródeł ciepła, takich jak <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">pompy ciepła</a> czy kotły kondensacyjne, są nierozerwalnie związane z przestrzeganiem reżimu matematycznego tej normy.
        </p>
        <p>
            Każda inwestycja w ogrzewanie płaszczyznowe powinna rozpoczynać się od sporządzenia profesjonalnego projektu instalacji opartego na rzeczywistych <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">obliczeniach strat ciepła budowlanego</a>. Próba oszczędności na etapie inżynieryjnym i działanie &#8222;na oko&#8221; skutkuje wadami, których usunięcie po stwardnieniu betonu wiąże się z ogromnymi kosztami naprawczymi.
        </p>
        <p style="font-weight: 700; color: var(--rk-fin-dark); margin-top: 20px;">
            💡 Jako specjalista HVAC rekomenduję: zawsze żądaj od swojego projektanta lub instalatora jasnej deklaracji zgodności wykonanych obliczeń z normą PN-EN 1264.
        </p>

        <div class="rk-fin-tags">
            <span class="rk-mat-tag"># norma pn en 1264</span>
            <span class="rk-mat-tag"># profesjonalny projekt instalacji</span>
            <span class="rk-mat-tag"># obliczenia strat ciepła</span>
            <span class="rk-mat-tag"># maksymalna temperatura podłogi</span>
            <span class="rk-mat-tag"># opór cieplny okładziny</span>
            <span class="rk-mat-tag"># długość pętli ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># koszt usunięcia awarii wylewki</span>
            <span class="rk-mat-tag"># efektywne ogrzewanie płaszczyznowe</span>
        </div>
    </div>

    <div class="rk-fin-cta">
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-fin-btn-cta">
            CZYTAJ DALEJ NA BLOGU EKSPERCKIM
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14M12 5l7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var tabs = document.querySelectorAll('.rk-fin-tab');
    var display = document.getElementById('rkFinDisplay');

    var contentData = {
        'temp': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>',
            title: 'Ograniczenie temperatury w strefie mieszkalnej',
            text1: 'Maksymalna temperatura w sferze mieszkalnej to bezwzględnie <strong>29°C</strong>. Próba ogrzania nieocieplonego domu wyłącznie podłogówką grozi łamaniem tego prawa.',
            text2: 'Zdrowie użytkowników oraz bezpieczeństwo materiałów podłogowych wymagają utrzymania parametrów niskotemperaturowych.',
            alert: 'Przegrzewanie posadzki skraca żywotność rur i klejów.'
        },
        'opor': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="12 2 2 7 12 12 22 7 12 2"></polygon><polyline points="2 17 12 22 22 17"></polyline><polyline points="2 12 12 17 22 12"></polyline></svg>',
            title: 'Bariera przewodnictwa posadzki',
            text1: 'Graniczny opór cieplny okładziny podłogowej wynosi <strong>0,15 m²K/W</strong>. Stosowanie grubych dywanów lub izolacyjnych podkładów blokuje strumień ciepła.',
            text2: 'Brak weryfikacji tego parametru przed wykonaniem <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/" style="color: var(--rk-fin-blue); font-weight: 700; text-decoration: none;">rozstawu rur</a> spowoduje permanentne niedogrzanie salonu.',
            alert: 'Zawsze konsultuj zmianę podłogi z projektantem!'
        },
        'petla': {
            icon: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z"></path><line x1="4" y1="22" x2="4" y2="15"></line></svg>',
            title: 'Krytyczne opory hydrauliczne obiegu',
            text1: 'Maksymalna długość pętli rury 16 mm nie powinna przekraczać <strong>100–120 m</strong>, aby utrzymać opory hydrauliczne w ryzach.',
            text2: 'Tworzenie pętli o długości 150 m prowadzi do zjawiska, w którym woda przestaje płynąć na końcu układu. Pompa obiegowa nie jest w stanie pokonać tarcia.',
            alert: 'Zbyt długa pętla = zimna strefa na środku pokoju.'
        }
    };

    tabs.forEach(function(tab) {
        tab.addEventListener('click', function() {
            var target = this.getAttribute('data-target');
            var data = contentData[target];

            if (data !== undefined) {
                // Remove active class from all
                tabs.forEach(function(t) { t.classList.remove('active'); });
                // Add active to clicked
                this.classList.add('active');

                // Update content cleanly
                display.innerHTML = 
                    '<div class="rk-fin-display-icon">' + data.icon + '</div>' +
                    '<div class="rk-fin-display-content">' +
                        '<h4>' + data.title + '</h4>' +
                        '<p>' + data.text1 + '</p>' +
                        '<p>' + data.text2 + '</p>' +
                        '<div class="rk-alert">' +
                            '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg> ' +
                            data.alert +
                        '</div>' +
                    '</div>';
            }
        });
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-slate: #475569;
    --rk-dl-blue: #2563eb;
    --rk-dl-blue-light: #eff6ff;
    --rk-dl-emerald: #059669;
    --rk-dl-emerald-light: #ecfdf5;
    --rk-dl-bg: #ffffff;
    --rk-dl-gray: #f8fafc;
    --rk-dl-border: #e2e8f0;
}

.rk-dl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 16px;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-dl-header {
    padding: 35px 40px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-emerald);
    text-align: center;
}

.rk-dl-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(5, 150, 105, 0.2);
    color: #6ee7b7;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border: 1px solid rgba(5, 150, 105, 0.3);
}

.rk-dl-header h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 10px 0;
    line-height: 1.3;
}

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

/* Pozioma Nawigacja (Przyciski na górze) */
.rk-dl-nav {
    display: flex;
    background: var(--rk-dl-gray);
    padding: 20px 40px;
    gap: 20px;
    border-bottom: 1px solid var(--rk-dl-border);
}

.rk-dl-nav-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    background: #ffffff;
    border: 2px solid var(--rk-dl-border);
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-dl-slate);
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
}

.rk-dl-nav-btn:hover {
    border-color: #94a3b8;
}

.rk-dl-nav-btn.active {
    background: var(--rk-dl-blue);
    border-color: var(--rk-dl-blue);
    color: #ffffff;
}

.rk-dl-nav-btn svg {
    flex-shrink: 0;
}

/* Obszar Treści (Grafika / Pobieranie pod spodem) */
.rk-dl-content {
    padding: 40px;
    background: var(--rk-dl-bg);
}

.rk-dl-view {
    display: none;
}

.rk-dl-view.active {
    display: block;
}

/* Widok 1: Podgląd Grafiki */
.rk-dl-preview-wrapper {
    background: var(--rk-dl-gray);
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
}

.rk-dl-preview-img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.15);
    border: 1px solid var(--rk-dl-border);
    display: block;
    margin: 0 auto;
}

/* Widok 2: Sekcja Pobierania */
.rk-dl-download-wrapper {
    background: var(--rk-dl-emerald-light);
    border: 2px solid var(--rk-dl-emerald);
    border-radius: 16px;
    padding: 40px 30px;
    text-align: center;
}

.rk-dl-file-specs {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 25px;
}

.rk-dl-spec-badge {
    background: #ffffff;
    color: #065f46;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 800;
    border: 1px solid #a7f3d0;
}

.rk-dl-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-dl-emerald);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 45px;
    border-radius: 12px;
    text-decoration: none;
    text-transform: uppercase;
}

.rk-dl-action-btn:hover {
    background: #047857;
}

/* Stopka (Na samym dole) */
.rk-dl-footer {
    background: var(--rk-dl-gray);
    padding: 25px 40px;
    border-top: 1px solid var(--rk-dl-border);
    display: flex;
    gap: 20px;
    align-items: center;
}

.rk-dl-footer-icon {
    width: 48px;
    height: 48px;
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-dl-slate);
    flex-shrink: 0;
}

.rk-dl-footer-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--rk-dl-slate);
    margin: 0;
}

.rk-dl-footer-text strong {
    color: var(--rk-dl-dark);
    font-weight: 800;
    display: block;
    margin-bottom: 4px;
}

.rk-dl-footer-text a {
    color: var(--rk-dl-blue);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Tagi SEO */
.rk-dl-tags {
    padding: 0 40px 30px;
    background: var(--rk-dl-gray);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-dl-tag {
    background: #ffffff;
    color: var(--rk-dl-slate);
    padding: 6px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    border: 1px solid var(--rk-dl-border);
    text-decoration: none;
}

.rk-dl-tag:hover {
    background: var(--rk-dl-dark);
    color: #ffffff;
    border-color: var(--rk-dl-dark);
}

@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-content, .rk-dl-footer, .rk-dl-tags { padding: 25px 20px; }
    .rk-dl-nav { padding: 20px; flex-direction: column; gap: 10px; }
    .rk-dl-footer { flex-direction: column; text-align: center; }
    .rk-dl-action-btn { width: 100%; padding: 15px 20px; font-size: 16px; }
    .rk-dl-file-specs { flex-direction: column; gap: 8px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#article-pobieranie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/"
    },
    "headline": "Materiały do pobrania: Infografika PN-EN 1264 w formacie PDF",
    "description": "Zdobądź inżynieryjną ściągawkę z normy PN-EN 1264. Darmowy plik PDF dla instalatorów przygotowany przez Roberta Kucharskiego do pobrania i wydruku.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.webp",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "url": "https://projekt-ogrzewania.pl/",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.facebook.com/projektogrzewaniapl/",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/",
        "https://remont.biz.pl/",
        "https://sobir.pl/"
      ]
    },
    "publisher": {
      "@type": "Organization",
      "name": "Projekt-Ogrzewania.pl",
      "logo": {
        "@type": "ImageObject",
        "url": "https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1.jpg"
      }
    },
    "datePublished": "2026-06-18",
    "dateModified": "2026-06-18"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#dataset-infografika",
    "name": "Inżynieryjna Infografika: Norma PN-EN 1264 (PDF)",
    "description": "Wizualne zestawienie parametrów technicznych ogrzewania podłogowego w postaci zoptymalizowanego dokumentu PDF przeznaczonego na place budowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe pdf",
      "norma pn-en 1264 do druku",
      "ściągawka instalatora podłogówki",
      "schemat układania rur ogrzewania",
      "parametry podłogówki pdf"
    ],
    "measurementTechnique": "Kompilacja kluczowych wytycznych hydraulicznych i konstrukcyjnych w formacie grafiki wektorowej/PDF wysokiej rozdzielczości.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format pliku miniatury: WebP (Szybkie ładowanie)",
        "Format pliku bazowego: PDF (Gotowy do druku)",
        "Ograniczenia licencyjne: Zakaz modyfikacji, obowiązek zachowania logotypu"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/#webapp-dystrybucja",
    "name": "Centrum Pobierania Materiałów Edukacyjnych HVAC",
    "description": "Interaktywny widget dystrybucyjny o układzie horyzontalnym umożliwiający podgląd miniatury materiału szkoleniowego (WebP) oraz bezpieczne pobranie zasobu bazowego (PDF).",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="rk-download-center-modern">
    <div class="rk-dl-header">
        <div class="rk-dl-badge">
            <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
            Materiały dla Ciebie
        </div>
        <h2>Pobierz infografikę z normą PN-EN 1264</h2>
        <p>Przygotowałem dla Ciebie czytelną, inżynieryjną ściągawkę. Pobierz darmowy plik PDF, wydrukuj go i zabierz ze sobą na budowę, aby uniknąć kosztownych błędów.</p>
    </div>

    <div class="rk-dl-nav" id="rkDlNav">
        <button class="rk-dl-nav-btn active" data-view="podglad">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
            Podgląd Grafiki
        </button>

        <button class="rk-dl-nav-btn" data-view="pobieranie">
            <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="12" y1="18" x2="12" y2="12"></line><polyline points="9 15 12 18 15 15"></polyline></svg>
            Pobierz Plik PDF
        </button>
    </div>

    <div class="rk-dl-content">
        
        <div class="rk-dl-view active" id="view-podglad">
            <div class="rk-dl-preview-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.webp" alt="Podgląd infografiki przedstawiającej normę PN-EN 1264" class="rk-dl-preview-img" loading="lazy">
            </div>
        </div>

        <div class="rk-dl-view" id="view-pobieranie">
            <div class="rk-dl-download-wrapper">
                <div class="rk-dl-file-specs">
                    <span class="rk-dl-spec-badge">Format: PDF</span>
                    <span class="rk-dl-spec-badge">Rozdzielczość: Druk (300 DPI)</span>
                    <span class="rk-dl-spec-badge">Rozmiar A4 / A3</span>
                </div>
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-PN-EN-1264-Norma-ktora-definiuje-ogrzewanie-podlogowe.pdf" download="Infografika-PN-EN-1264.pdf" class="rk-dl-action-btn">
                    <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><polyline points="7 10 12 15 17 10"></polyline><line x1="12" y1="15" x2="12" y2="3"></line></svg>
                    Pobierz Dokument PDF
                </a>
            </div>
        </div>

    </div>

    <div class="rk-dl-footer">
        <div class="rk-dl-footer-icon">
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle><path d="M15 9.354a4 4 0 1 0 0 5.292"></path></svg>
        </div>
        <p class="rk-dl-footer-text">
            <strong>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski.</strong>
            Udostępnianie materiału PDF dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku. Zobacz nasze inne <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekty z pompą ciepła</a>.
        </p>
    </div>

    <div class="rk-dl-tags">
        <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/" class="rk-dl-tag"># wylewka betonowa na podłogówkę</a>
        <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowym/" class="rk-dl-tag"># kalkulator doboru pompy</a>
        <a href="https://projekt-ogrzewania.pl/ile-wody-potrzeba-do-wypelnienia-instalacji-podlogowki-kalkulator/" class="rk-dl-tag"># pojemność wodna instalacji pdf</a>
        <a href="#" class="rk-dl-tag"># schemat podłogówki do druku</a>
        <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" class="rk-dl-tag"># rozdzielacz podłogówki schemat</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    var navBtns = document.querySelectorAll('#rkDlNav .rk-dl-nav-btn');
    
    navBtns.forEach(function(btn) {
        btn.addEventListener('click', function() {
            var targetId = this.getAttribute('data-view');
            
            // Twarde usunięcie klas 'active' - brak animacji
            navBtns.forEach(function(b) {
                b.classList.remove('active');
            });
            
            // Bezpieczne ukrycie widoków (użycie prostego if)
            var viewPodglad = document.getElementById('view-podglad');
            var viewPobieranie = document.getElementById('view-pobieranie');
            
            if (viewPodglad !== null) { viewPodglad.classList.remove('active'); }
            if (viewPobieranie !== null) { viewPobieranie.classList.remove('active'); }
            
            // Włączenie odpowiedniego przycisku i widoku
            this.classList.add('active');
            var activeView = document.getElementById('view-' + targetId);
            
            if (activeView !== null) {
                activeView.classList.add('active');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">PN-EN 1264: Norma, która definiuje ogrzewanie podłogowe.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Czujnik podłogowy.</title>
		<link>https://projekt-ogrzewania.pl/czujnik-podlogowy/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Fri, 23 Jan 2026 09:23:24 +0000</pubDate>
				<category><![CDATA[Automatyka domowa]]></category>
		<category><![CDATA[Automatyka grzewcza]]></category>
		<category><![CDATA[Czujniki]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Poradniki dla inwestorów]]></category>
		<category><![CDATA[Poradniki techniczne]]></category>
		<category><![CDATA[Porady techniczne]]></category>
		<category><![CDATA[Sterowanie ogrzewaniem]]></category>
		<category><![CDATA[Termostaty]]></category>
		<category><![CDATA[automatyka grzewcza]]></category>
		<category><![CDATA[czujnik ntc]]></category>
		<category><![CDATA[czujnik podłogowy]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pid]]></category>
		<category><![CDATA[sterowanie ogrzewaniem]]></category>
		<category><![CDATA[temperatura podłogi]]></category>
		<category><![CDATA[termostat]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=3277</guid>

					<description><![CDATA[<p>Czujnik podłogowy to niewielki element instalacji, który w praktyce decyduje o komforcie, bezpieczeństwie i kosztach eksploatacji ogrzewania podłogowego. Choć często traktowany jako dodatek do termostatu, w rzeczywistości pełni rolę „zmysłu” całego systemu – dostarczając kluczowych informacji o temperaturze posadzki. W artykule wyjaśniamy, jak działa czujnik podłogowy, jakie są jego typy, gdzie powinien być montowany oraz dlaczego jego brak może prowadzić do przegrzewania podłogi, dyskomfortu użytkowników i strat energii. To praktyczny przewodnik zarówno dla inwestorów, jak i projektantów instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">Czujnik podłogowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Czujnik podłogowy</strong>&nbsp;to małe, często niedoceniane urządzenie, które pełni kluczową rolę w nowoczesnym systemie wodnego ogrzewania podłogowego. Podczas gdy rury, pompy i zawory mieszające stanowią „serce” i „układ krwionośny” instalacji, to właśnie ten niepozorny element jest jej „mózgiem czuciowym”. Jego zadaniem jest ciągłe monitorowanie temperatury posadzki, co przekłada się bezpośrednio na komfort użytkowania, bezpieczeństwo wykończenia podłogi oraz realne oszczędności energii. W tym technicznym, ale przystępnym artykule, zagłębimy się w zasadę działania, rodzaje, kryteria doboru i niezwykle ważny aspekt prawidłowego montażu tego czujnika.</p>



<h2 class="wp-block-heading">Rola i znaczenie czujnika temperatury podłogi w pętli grzewczej.</h2>



<p class="wp-block-paragraph">Aby w pełni zrozumieć <strong>znaczenie czujnika podłogowego</strong>, trzeba najpierw uświadomić sobie specyfikę ogrzewania powierzchniowego. W przeciwieństwie do grzejników, które nagrzewają powietrze (konwekcja), podłogówka oddaje ciepło głównie przez promieniowanie. Jej największą zaletą – równomierny rozkład temperatury – jest jednocześnie wyzwaniem dla systemu regulacji. Instalacja ma dużą <strong><a href="https://projekt-ogrzewania.pl/czym-jest-bezwladnosc-cieplna-w-ogrzewaniu-podlogowym/">bezwładność cieplną</a></strong>. Oznacza to, że od momentu włączenia zasilania do momentu, gdy odczuwamy komfort w pomieszczeniu, mija sporo czasu. Podobnie, po osiągnięciu zadanej temperatury, podłoga jeszcze długo oddaje zmagazynowane ciepło.</p>



<p class="wp-block-paragraph">Bez&nbsp;<strong>sondy podłogowej</strong>&nbsp;sterownik lub termostat działałby tylko na podstawie temperatury powietrza w pomieszczeniu (<em>czujnika powietrza</em>). To prowadzi do kilku problemów:</p>



<ol start="1" class="wp-block-list">
<li><strong>Cyklowanie systemu:</strong>&nbsp;Gdy w pomieszczeniu jest już ciepło, ale wylewka jest jeszcze zimna, termostat wyłączy zasilanie. Gdy powietrze nieco ostygnie, włączy je ponownie, powodując częste, nieefektywne cykle pracy pompy i zaworu.</li>



<li><strong>Dyskomfort i przegrzanie:</strong>&nbsp;Latem lub w słoneczny dzień, temperatura powietrza może wzrosnąć (np. od nasłonecznienia), podczas gdy podłoga pozostaje chłodna. Termostat nie włączy ogrzewania, choć użytkownik może odczuwać chłód od stóp. Sytuacja odwrotna: przy niskiej temperaturze zewnętrznej, system dążyłby do szybkiego podniesienia temperatury powietrza, co mogłoby skutkować&nbsp;<em>przegrzaniem posadzki</em>&nbsp;nawet powyżej 35°C, co jest niekomfortowe i szkodliwe dla wielu materiałów wykończeniowych.</li>



<li><strong>Marnotrawstwo energii:</strong>&nbsp;Brak precyzyjnego pomiaru temperatury nośnika ciepła (wylewki) uniemożliwia optymalizację pracy źródła ciepła (pompy ciepła, kotła kondensacyjnego).</li>
</ol>



<p class="wp-block-paragraph"><strong>Czujnik podłogowy</strong>, mierząc bezpośrednio temperaturę masy akumulacyjnej, eliminuje te problemy. Działa jak&nbsp;<strong>limit bezpieczeństwa i optymalizator</strong>. Jego podstawową funkcją jest zapewnienie, aby temperatura powierzchni podłogi znajdowała się w bezpiecznym i komfortowym zakresie, zwykle między 21°C (w sypialni) a 29°C (w łazience lub na obrzeżach przeszklonych pomieszczeń).</p>



<h2 class="wp-block-heading">Budowa, typy i parametry techniczne czujników.</h2>



<p class="wp-block-paragraph">W praktyce instalacyjnej spotyka się głównie czujniki rezystancyjne, których opór elektryczny zmienia się w przewidywalny sposób wraz z temperaturą.</p>



<h3 class="wp-block-heading"><strong>Rezystancyjne czujniki temperatury (NTC i PTC)</strong>.</h3>



<ul class="wp-block-list">
<li><strong>NTC (Negative Temperature Coefficient):</strong>&nbsp;To absolutnie dominujący typ w instalacjach grzewczych. Jego rezystancja&nbsp;<strong>maleje</strong>&nbsp;wraz ze&nbsp;<strong>wzrostem</strong>&nbsp;temperatury. Jest precyzyjny w zakresie temperatur pracy ogrzewania podłogowego (20-50°C). Standardowe wartości nominalne to&nbsp;<strong>10 kΩ</strong>,&nbsp;<strong>12 kΩ</strong>&nbsp;lub&nbsp;<strong>15 kΩ</strong>&nbsp;w temperaturze 25°C.&nbsp;<em>Kluczowa zasada: czujnik NTC musi być dopasowany do konkretnego modelu termostatu lub sterownika, zgodnie z instrukcją producenta.</em></li>



<li><strong>PTC (Positive Temperature Coefficient):</strong>&nbsp;Rzadziej stosowane. Ich rezystancja&nbsp;<strong>rośnie</strong>&nbsp;wraz ze&nbsp;<strong>wzrostem</strong>&nbsp;temperatury. Częściej znajdują zastosowanie jako zabezpieczenia przeciwprzegrzaniowe.</li>
</ul>



<p class="wp-block-paragraph">Czujnik to nie tylko sam sensoryk. To kompletny zestaw:&nbsp;<strong>głowica pomiarowa</strong>&nbsp;(zwykle w metalowej lub silikonowej obudowie) umieszczona na końcu&nbsp;<strong>dwuprowadzeniowego, elastycznego kabla</strong>&nbsp;o określonej długości (standardowo 3m lub 5m). Kabel musi być odporny na wilgoć, wysoką temperaturę i uszkodzenia mechaniczne, ponieważ będzie zalany w wylewce.</p>



<h3 class="wp-block-heading"><strong>Przykład obliczeniowy: kalibracja czujnika NTC</strong>.</h3>



<p class="wp-block-paragraph">Zrozumienie, jak termostat interpretuje odczyt, jest proste. Producent załącza tabelę, która przyporządkowuje wartość rezystancji konkretnej temperaturze. Dla popularnego czujnika NTC 10kΩ (B=3435) wygląda to następująco:</p>



<style>
.ntc-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  margin: 20px 0;
}

.ntc-table th,
.ntc-table td {
  padding: 12px 14px;
  border: 1px solid #e0e0e0;
  text-align: left;
}

.ntc-table th {
  background-color: #f5f5f5;
  font-weight: 700;
}

.ntc-table tr:nth-child(even) {
  background-color: #fafafa;
}

/* Styl alarmowy */
.ntc-alert {
  color: #b00020;
  font-weight: bold;
}

/* RESPONSYWNOŚĆ */
@media (max-width: 768px) {
  .ntc-table,
  .ntc-table thead,
  .ntc-table tbody,
  .ntc-table th,
  .ntc-table td,
  .ntc-table tr {
    display: block;
  }

  .ntc-table thead {
    display: none;
  }

  .ntc-table tr {
    margin-bottom: 16px;
    border: 1px solid #ddd;
    padding: 10px;
    background: #fff;
  }

  .ntc-table td {
    border: none;
    padding: 8px 0;
  }

  .ntc-table td::before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    color: #555;
    margin-bottom: 2px;
  }
}
</style>

<table class="ntc-table">
  <thead>
    <tr>
      <th>Temperatura [°C]</th>
      <th>Wartość rezystancji [Ω]</th>
      <th>Interpretacja dla sterownika</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td data-label="Temperatura [°C]">5</td>
      <td data-label="Wartość rezystancji [Ω]">~ 18 350</td>
      <td data-label="Interpretacja">Podłoga bardzo zimna, maksymalne żądanie ciepła</td>
    </tr>
    <tr>
      <td data-label="Temperatura [°C]">20</td>
      <td data-label="Wartość rezystancji [Ω]">~ 12 150</td>
      <td data-label="Interpretacja">Granica komfortu w pomieszczeniu dziennym</td>
    </tr>
    <tr>
      <td data-label="Temperatura [°C]">25</td>
      <td data-label="Wartość rezystancji [Ω]">~ 10 000 <strong>(wartość nominalna)</strong></td>
      <td data-label="Interpretacja">Punkt odniesienia</td>
    </tr>
    <tr>
      <td data-label="Temperatura [°C]">29</td>
      <td data-label="Wartość rezystancji [Ω]">~ 8 170</td>
      <td data-label="Interpretacja">Maksymalna, bezpieczna temperatura dla paneli podłogowych</td>
    </tr>
    <tr>
      <td data-label="Temperatura [°C]">35</td>
      <td data-label="Wartość rezystancji [Ω]">~ 6 530</td>
      <td data-label="Interpretacja" class="ntc-alert">
        Temperatura alarmowa – ryzyko uszkodzenia podłogi!
      </td>
    </tr>
  </tbody>
</table>



<p class="wp-block-paragraph">Gdy ustawiamy na termostacie żądaną&nbsp;<strong>temperaturę podłogi</strong>&nbsp;na 27°C, sterownik ciągle mierzy rezystancję czujnika. Gdy odpowiada ona ok. ~8.800Ω, system wie, że cel został osiągnięty i moduluje pracę (zamyka zawór, wyłącza pompę obiegową).</p>



<h2 class="wp-block-heading">Tryby współpracy czujnika podłogowego z termostatem: od prostych do zaawansowanych.</h2>



<p class="wp-block-paragraph">To, w jaki sposób informacja z&nbsp;<strong>sondy podłogowej</strong>&nbsp;jest wykorzystywana, zależy od możliwości sterownika. Wyróżniamy kilka trybów pracy:</p>



<h3 class="wp-block-heading"><strong>1. Tryb regulacji temperatury podłogi (PI lub PID)</strong>.</h3>



<p class="wp-block-paragraph">Najczęstszy i najważniejszy tryb.&nbsp;<strong>Czujnik podłogowy</strong>&nbsp;jest&nbsp;<strong>jedynym źródłem informacji</strong>&nbsp;dla algorytmu sterującego. Termostat dąży do utrzymania stałej, zadanej temperatury w podłodze. Jest to niezwykle stabilny i bezpieczny tryb, idealny do pomieszczeń, w których podłogówka jest jedynym źródłem ciepła. Algorytm&nbsp;<strong>PID</strong>&nbsp;(Proporcjonalno-Całkująco-Różniczkujący) nie tylko reaguje na bieżącą różnicę temperatur (P), ale też analizuje, jak długo utrzymywał się błąd (I) i jak szybko temperatura się zmienia (D), by precyzyjnie zapobiegać przegrzaniu lub niedogrzaniu.</p>



<h3 class="wp-block-heading"><strong>2. Tryb regulacji mieszanej (ogranicznik podłogi)</strong>.</h3>



<p class="wp-block-paragraph">W tym trybie&nbsp;<strong>priorytetem jest temperatura powietrza</strong>&nbsp;w pomieszczeniu, mierzona przez wbudowany w termostacie&nbsp;<strong>czujnik powietrza</strong>.&nbsp;<strong>Sonda podłogowa</strong>&nbsp;pełni wyłącznie&nbsp;<strong>funkcję zabezpieczającą</strong>. Na przykład: ustawiamy żądaną temperaturę powietrza na 22°C, a limit temperatury podłogi na 28°C. System grzeje, aby osiągnąć 22°C w powietrzu, ale&nbsp;<strong>absolutnie nigdy nie pozwoli</strong>, aby podłoga przekroczyła 28°C, nawet jeśli oznacza to lekki niedobór ciepła w pomieszczeniu. To doskonały tryb dla instalacji uzupełniających (np. podłogówka + kominek).</p>



<h3 class="wp-block-heading"><strong>3. Tryb adaptacyjny (z funkcją samouczącą)</strong>.</h3>



<p class="wp-block-paragraph">Zaawansowane sterowniki, analizując dane z&nbsp;<strong>czujnika podłogowego</strong>&nbsp;(jak szybko rośnie lub spada temperatura przy danym otwarciu zaworu) oraz porównując je z temperaturą zewnętrzną, potrafią&nbsp;<strong>antycypować</strong>&nbsp;zapotrzebowanie na ciepło. Na przykład, widząc gwałtowny spadek temperatury na zewnątrz, system może wcześniej zacząć delikatnie dogrzewać podłogę, zanim użytkownik odczuje dyskomfort. Skraca to czas reakcji systemu o dużej bezwładności.</p>



<style>
.chart-wrap {
  max-width: 960px;
  margin: 40px auto;
  font-family: Arial, sans-serif;
}

.chart-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
}

.chart-subtitle {
  font-size: 14px;
  color: #555;
  margin-bottom: 10px;
}
</style>

<div class="chart-wrap">
  <div class="chart-title">
    Zależność trybu pracy od temperatury i czasu
  </div>
  <div class="chart-subtitle">
    Schemat ideowy – nie przedstawia rzeczywistych pomiarów
  </div>

  <svg viewBox="0 0 900 420" width="100%" height="auto" aria-label="Wykres zależności trybu pracy ogrzewania od temperatury i czasu">

    <!-- Osie -->
    <line x1="90" y1="40" x2="90" y2="350" stroke="#333" stroke-width="2"/>
    <line x1="90" y1="350" x2="860" y2="350" stroke="#333" stroke-width="2"/>

    <!-- Opisy osi -->
    <text x="30" y="220" font-size="14" transform="rotate(-90 30 220)">
      Temperatura
    </text>
    <text x="790" y="395" font-size="14">
      Czas →
    </text>

    <!-- STREFA RYZYKA – TRYB POWIETRZNY -->
    <path d="M90 130 Q300 70 860 100 L860 40 L90 40 Z"
          fill="rgba(198,40,40,0.15)"/>
    <text x="120" y="70" font-size="13" fill="#b71c1c">
      Tryb powietrzny – brak limitu temperatury podłogi (ryzyko przegrzania)
    </text>

    <!-- LINIA LIMITU – TRYB MIESZANY -->
    <line x1="90" y1="200" x2="860" y2="200"
          stroke="#ef6c00" stroke-width="3" stroke-dasharray="6 6"/>
    <text x="120" y="188" font-size="13" fill="#ef6c00">
      Tryb mieszany – limit maksymalnej temperatury podłogi
    </text>

    <!-- KRZYWA PID – TRYB PODŁOGOWY -->
    <path d="M90 280 Q300 220 860 245"
          fill="none" stroke="#2e7d32" stroke-width="3"/>
    <text x="120" y="235" font-size="13" fill="#2e7d32">
      Tryb podłogowy PID – stabilizacja temperatury
    </text>

  </svg>
</div>



<p class="wp-block-paragraph"><em>Opis: Wykres obrazuje, jak tryb oparty tylko na temperaturze powietrza może prowadzić do niekontrolowanego przegrzania podłogi. Tryb podłogowy PID zapewnia stabilność, a tryb mieszany jest kompromisem z wbudowanym zabezpieczeniem.</em></p>



<h2 class="wp-block-heading">Projektowanie instalacji z uwzględnieniem czujnika podłogowego: gdzie, jak i po co?</h2>



<p class="wp-block-paragraph"><a href="https://projekt-ogrzewania.pl/kontakt/">Projektant instalacji grzewczej</a> musi traktować <strong>czujnik podłogowy</strong> jako <strong>element obowiązkowy</strong> każdej pętli grzewczej, a nie jako opcjonalny dodatek. Jego lokalizacja ma kluczowe znaczenie dla reprezentatywności pomiaru.</p>



<h3 class="wp-block-heading"><strong>Kluczowe zasady montażu czujnika w projekcie:</strong></h3>



<ol start="1" class="wp-block-list">
<li><strong>Lokalizacja w <a href="https://projekt-ogrzewania.pl/petla-grzewcza/">pętli</a>:</strong> Czujnik musi być umieszczony <strong>w połowie odległości między dwiema rurami grzewczymi</strong> i <strong>w odległości co najmniej 0,5-1,0 m od ściany zewnętrznej</strong> lub innych lokalnych źródeł chłodu/ciepła. Jego zadaniem jest mierzenie <strong>średniej temperatury płyty grzewczej</strong>, a nie temperatury bezpośrednio nad gorącą rurą.</li>



<li><strong>Głębokość instalacji:</strong>&nbsp;Optymalna głębokość to&nbsp;<strong>środek grubości wylewki</strong>&nbsp;(np. 4-5 cm pod powierzchnią przy wylewce 8-10 cm). Umieszczenie go zbyt płytko spowoduje zbyt szybką reakcję na zmiany, a zbyt głęboko – wydłuży czas reakcji systemu.</li>



<li><strong>Peszel (rurka osłonowa):</strong><strong>Absolutnie obowiązkowy element projektu.</strong>&nbsp;Czujnik&nbsp;<strong>zawsze</strong>&nbsp;prowadzi się w dedykowanej,&nbsp;<strong>giętkiej rurce osłonowej</strong>&nbsp;(peszlu) o średnicy min. 16 mm. Peszel:
<ul class="wp-block-list">
<li>Chroni czujnik podczas wylewania posadzki.</li>



<li><strong>Umożliwia wymianę uszkodzonego czujnika bez kucia podłogi!</strong>&nbsp;To najważniejsza funkcja.</li>



<li>Powinien być szczelnie zaizolowany od strony pomieszczenia, aby uniknąć pomiaru temperatury powietrza z termostatu.</li>
</ul>
</li>



<li><strong>Trasa prowadzenia:</strong>&nbsp;Peszel z czujnikiem prowadzi się od puszki pod termostat w dół, a następnie po łuku (promień min. 10 cm) w kierunku płyty grzewczej. Na końcu peszel powinien być&nbsp;<strong>szczelnie zatkany</strong>&nbsp;(np. taśmą) przed wylewką, aby zaprawa nie dostała się do środka.</li>
</ol>



<h3 class="wp-block-heading"><strong>Przykład z projektu: Łazienka 8m² z dwoma pętlami</strong>.</h3>



<ul class="wp-block-list">
<li><strong>Pomieszczenie:</strong>&nbsp;Łazienka, wymagana temp. podłogi: 27°C.</li>



<li><strong>Instalacja:</strong>&nbsp;Dwie pętle rury fi16, rozstaw co 15 cm, długości pętli 70m i 65m.</li>



<li><strong>Rozwiązanie projektowe:</strong>&nbsp;Jedno miejsce sterowania (termostat łazienkowy IP44). W projekcie&nbsp;<strong>rozpisano prowadzenie jednego peszla</strong>&nbsp;do płyty grzewczej. Ponieważ pętle są podobnej długości i obciążenia,&nbsp;<strong>czujnik podłogowy montuje się w pętli dłuższej (bardziej obciążonej)</strong>, aby jej temperatura była miarodajna dla całego pomieszczenia. Peszel prowadzony jest w odległości 70 cm od ściany, między rurami, na głębokość 5 cm. W specyfikacji technicznej zapisano:&nbsp;<em>„Termostat elektroniczny z czujnikiem powietrza i podłogowym NTC 10kΩ, peszel fi16 do wyprowadzenia w puszce podtermostatowej.”</em></li>
</ul>



<h2 class="wp-block-heading">Zaawansowane techniki: integracja z systemami budynku i optymalizacja.</h2>



<p class="wp-block-paragraph">W nowoczesnych, zintegrowanych systemach (knx, Loxone, inne systemy BMS)&nbsp;<strong>czujnik podłogowy</strong>&nbsp;przestaje być wyizolowanym elementem jednej pętli. Jego dane stają się częścią szerszego algorytmu zarządzania energią.</p>



<ul class="wp-block-list">
<li><strong>Optymalizacja pracy <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompy ciepła</a>:</strong> Sterownik, zbierając informacje z wielu <strong>czujników podłogowych</strong> w różnych strefach, może obliczyć średnią temperaturę zasilania wymaganą dla całego systemu. To pozwala pompcie ciepła pracować w <strong>najefektywniejszym punkcie swojej charakterystyki</strong>, z wyższym współczynnikiem COP.</li>



<li><strong>Regulacja pogodowa z korektą podłogową:</strong> Podstawowa regulacja pogodowa ustawia temperaturę zasilania na podstawie wykresu grzewczego i temperatury zewnętrznej. <strong>Dane z czujników podłogowych</strong> działają tu jako <strong>sprzężenie zwrotne</strong>. Jeśli mimo optymalnej (według krzywej) temperatury zasilania, podłoga w łazience jest za chłodna, system delikatnie podnosi <a href="https://projekt-ogrzewania.pl/krzywa-grzewcza-w-ogrzewaniu-podlogowym/">krzywą grzewczą</a> tylko dla tej strefy lub zwiększa priorytet dla zaworu mieszającego tej pętli.</li>



<li><strong>Mapowanie cieplne budynku:</strong>&nbsp;W bardzo zaawansowanych instalacjach dane historyczne z czujników podłogowych w połączeniu z czujnikami temperatury powietrza w pomieszczeniach są analizowane, aby stworzyć model strat ciepła budynku. System może np. „nauczyć się”, że pokój narożny na północ wymaga wcześniejszego rozpoczęcia grzania niż pokój południowy.</li>
</ul>



<h2 class="wp-block-heading">FAQ – Najczęstsze pytania.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1769159404388"><strong class="schema-faq-question"><strong>Czy czujnik podłogowy jest konieczny w ogrzewaniu podłogowym?</strong></strong> <p class="schema-faq-answer">Tak. Czujnik podłogowy jest kluczowy dla bezpieczeństwa i komfortu. Bez niego system reaguje wyłącznie na temperaturę powietrza, co może prowadzić do przegrzewania posadzki lub dyskomfortu użytkowników.</p> </div> <div class="schema-faq-section" id="faq-question-1769159460789"><strong class="schema-faq-question"><strong>Jaka jest bezpieczna temperatura podłogi?</strong></strong> <p class="schema-faq-answer">Dla większości pomieszczeń komfortowy i bezpieczny zakres to 21–27°C. W łazienkach dopuszcza się do ok. 29°C. Temperatury powyżej 35°C mogą uszkodzić podłogę.</p> </div> <div class="schema-faq-section" id="faq-question-1769159470613"><strong class="schema-faq-question"><strong>Gdzie najlepiej zamontować czujnik podłogowy?</strong></strong> <p class="schema-faq-answer">Czujnik należy umieścić w peszlu, pomiędzy dwiema rurami grzewczymi, w połowie grubości wylewki i z dala od ścian zewnętrznych oraz punktowych źródeł ciepła.</p> </div> <div class="schema-faq-section" id="faq-question-1769159494093"><strong class="schema-faq-question"><strong>Czy czujnik podłogowy można wymienić po zalaniu posadzki?</strong></strong> <p class="schema-faq-answer">Tak, ale tylko wtedy, gdy został zamontowany w rurce osłonowej (peszlu). Brak peszla oznacza konieczność kucia podłogi przy awarii czujnika.</p> </div> <div class="schema-faq-section" id="faq-question-1769159508565"><strong class="schema-faq-question"><strong>Czym różni się tryb podłogowy PID od trybu mieszanego?</strong></strong> <p class="schema-faq-answer">W trybie PID czujnik podłogowy jest głównym źródłem sterowania i zapewnia stabilną temperaturę posadzki. W trybie mieszanym czujnik pełni funkcję limitu bezpieczeństwa, a sterowanie odbywa się głównie na podstawie temperatury powietrza.</p> </div> </div>



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



<p class="wp-block-paragraph"><strong>Czujnik podłogowy</strong>&nbsp;jest nieodzownym elementem wydajnej, bezpiecznej i komfortowej instalacji wodnego ogrzewania podłogowego. Jego koszt jest marginalny w porównaniu z całością inwestycji, a potencjalne korzyści – ogromne: od ochrony drogiego wykończenia posadzki (parkiet, panele winylowe), przez eliminację dyskomfortu „zimnych stóp” czy „przegrzanej podłogi”, po realne oszczędności na rachunkach za energię dzięki precyzyjnemu dozowaniu ciepła.</p>



<p class="wp-block-paragraph"><strong>Pamiętaj:</strong>&nbsp;Nawet najdroższy kocioł czy pompa ciepła nie będą pracować optymalnie, jeśli system dystrybucji ciepła (ogrzewanie podłogowe) jest sterowany „w ciemno”.&nbsp;<strong>Czujnik podłogowy</strong>&nbsp;dostarcza niezbędnych danych, które pozwalają zamienić prosty system grzewczy w inteligentną, samoregulującą się strukturę, dbającą o Twój komfort i portfel. Przy projektowaniu i wykonawstwie swojego ogrzewania podłogowego&nbsp;<strong>nalegaj na poprawne zainstalowanie czujników w peszlach</strong>&nbsp;– to najtańsze ubezpieczenie dla Twojej instalacji na lata.</p>



<figure class="wp-block-embed aligncenter is-type-wp-embed is-provider-projekt-ogrzewania wp-block-embed-projekt-ogrzewania"><div class="wp-block-embed__wrapper">
<blockquote class="wp-embedded-content" data-secret="0jHqqsyK58"><a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">Projekt instalacji ogrzewania podłogowego &#8211; podłogówki</a></blockquote><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Projekt instalacji ogrzewania podłogowego &#8211; podłogówki&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/embed/#?secret=4d81KYYXqh#?secret=0jHqqsyK58" data-secret="0jHqqsyK58" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czujnik-podlogowy/">Czujnik podłogowy.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
