<?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 Planowanie instalacji grzewczych - Projekt Ogrzewania</title>
	<atom:link href="https://projekt-ogrzewania.pl/category/planowanie-instalacji-grzewczych/feed/" rel="self" type="application/rss+xml" />
	<link>https://projekt-ogrzewania.pl/category/planowanie-instalacji-grzewczych/</link>
	<description>Twój partner w projektowaniu komfortu – profesjonalne ogrzewanie podłogowe dla Twojego domu.</description>
	<lastBuildDate>Sat, 13 Jun 2026 15:08:51 +0000</lastBuildDate>
	<language>pl-PL</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/cropped-Projekt-ogrzewania-logo-1-32x32.jpg</url>
	<title>Archiwa Planowanie instalacji grzewczych - Projekt Ogrzewania</title>
	<link>https://projekt-ogrzewania.pl/category/planowanie-instalacji-grzewczych/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<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>Czy do ogrzewania podłogowego potrzebny jest projekt?</title>
		<link>https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/</link>
					<comments>https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 03 Feb 2025 22:20:18 +0000</pubDate>
				<category><![CDATA[Bezpieczeństwo instalacji]]></category>
		<category><![CDATA[Efektywne ogrzewanie]]></category>
		<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Normy grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Optymalizacja systemów grzewczych]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Poradnik budowlany]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Unikanie błędów instalacyjnych]]></category>
		<category><![CDATA[bezpieczeństwo budowlane]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[normy budowlane]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[optymalizacja instalacji]]></category>
		<category><![CDATA[planowanie ogrzewania]]></category>
		<category><![CDATA[projekt instalacji]]></category>
		<category><![CDATA[wodne ogrzewanie podłogowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2068</guid>

					<description><![CDATA[<p>Czy do ogrzewania podłogowego potrzebny jest projekt? Odpowiedź jest jednoznaczna – tak! Profesjonalna dokumentacja gwarantuje bezpieczeństwo, optymalizację kosztów i efektywność systemu. W artykule dowiesz się, kiedy projekt jest konieczny, co powinien zawierać i jakie korzyści przynosi. Nie ryzykuj kosztownych błędów – zainwestuj w projekt, by cieszyć się sprawnie działającą instalacją przez lata.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">Czy do ogrzewania podłogowego potrzebny jest projekt?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --rk-int-dark: #0f172a;
    --rk-int-blue: #0284c7;
    --rk-int-blue-light: #f0f9ff;
    --rk-int-border: #e2e8f0;
    --rk-int-text: #334155;
    --rk-int-muted: #64748b;
    --rk-int-red: #dc2626;
    --rk-int-red-light: #fef2f2;
}

.rk-int-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-int-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-int-header {
    padding: 40px 50px 25px;
    background: #ffffff;
}

.rk-int-header h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-int-dark);
    line-height: 1.3;
}

/* Główny obszar roboczy - Jedna czysta kolumna */
.rk-int-main-stream {
    padding: 0 50px 40px 50px;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Zintegrowany Horyzontalny Dashboard Ostrzegawczy */
.rk-int-dashboard-bar {
    background: var(--rk-int-red-light);
    border: 2px solid var(--rk-int-red);
    border-radius: 16px;
    padding: 25px;
}

.rk-int-dash-title {
    font-size: 13px;
    font-weight: 900;
    color: var(--rk-int-red);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-int-dash-item {
    background: #ffffff;
    border: 1px solid var(--rk-int-border);
    border-radius: 10px;
    padding: 15px;
}

.rk-int-dash-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-int-dark);
    margin-bottom: 4px;
    display: block;
}

.rk-int-dash-desc {
    font-size: 13px;
    font-weight: 600;
    color: var(--rk-int-text);
    line-height: 1.4;
}

/* Szybka odpowiedź / Featured Snippet Box */
.rk-int-snippet-box {
    background: var(--rk-int-blue-light);
    border-left: 4px solid var(--rk-int-blue);
    padding: 25px;
    border-radius: 0 12px 12px 0;
}

.rk-int-snippet-box p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 700;
    color: var(--rk-int-dark);
}

/* Bloki tekstowe */
.rk-int-content-block h3 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-int-dark);
}

.rk-int-content-block p {
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
    margin: 0 0 15px 0;
}

.rk-int-content-block p:last-child {
    margin-bottom: 0;
}

.rk-int-content-block strong {
    color: var(--rk-int-dark);
}

.rk-int-content-block a {
    color: var(--rk-int-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

/* Lista co w artykule */
.rk-int-feature-list {
    margin: 15px 0 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-int-feature-list li {
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
    padding-left: 20px;
    position: relative;
}

.rk-int-feature-list li::before {
    content: "■";
    color: var(--rk-int-blue);
    position: absolute;
    left: 0;
    top: -1px;
    font-size: 14px;
}

/* Widget Dolny: Baza Wiedzy */
.rk-int-footer-widget {
    background: var(--rk-int-blue-light);
    border: 1px solid #bae6fd;
    border-radius: 16px;
    padding: 25px;
    margin-top: 10px;
}

.rk-int-widget-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-int-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 15px 0;
}

.rk-int-widget-links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 15px;
}

.rk-int-widget-links li {
    font-size: 14px;
    line-height: 1.4;
}

.rk-int-widget-links a {
    color: var(--rk-int-dark);
    text-decoration: none;
    font-weight: 700;
}

.rk-int-widget-links a:hover {
    color: var(--rk-int-blue);
    text-decoration: underline;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-int-header { padding: 30px 20px 10px 20px; }
    .rk-int-header h2 { font-size: 24px; }
    .rk-int-main-stream { padding: 0 20px 30px 20px; gap: 25px; }
    .rk-int-dash-grid { grid-template-columns: 1fr; gap: 15px; }
    .rk-int-widget-links { grid-template-columns: 1fr; gap: 12px; }
    .rk-int-snippet-box { padding: 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-wstep",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Czy do ogrzewania podłogowego potrzebny jest projekt? Szybka odpowiedź inżynierska i mapa drogowa",
    "description": "Wstęp inżynierski i ostateczny werdykt. Dowiedz się, dlaczego projekt techniczny podłogówki sankcjonowany normą PN-EN 1264 chroni przed awarią i stratami.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-wstep",
    "name": "Struktura merytoryczna bilansowania systemów niskotemperaturowych",
    "description": "Macierz wprowadzająca do kryteriów weryfikacji jastrychów grzewczych, strat ciepła oraz optymalizacji współczynników sprawności pomp ciepła SCOP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy do ogrzewania podłogowego potrzebny jest projekt",
      "norma obliczeń ogrzewania podłogowego en 1264",
      "błędy montażu ogrzewania podłogowego",
      "kompleksowy kalkulator ogrzewania podłogowego",
      "projekt ogrzewania podłogowego z pompą ciepła"
    ],
    "measurementTechnique": "Identyfikacja mostków termicznych i strat hydraulicznych w oparciu o wytyczne inżynierskie normy emisyjnej PN-EN 1264.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Featured Snippet: Projekt instalacji jest formalnie i praktycznie niezbędny do zrównoważenia przepływów czynnika.",
        "Konsekwencje błędów: Wzrost rachunków o 35% z powodu złego rozstawu rur i asymetrii cieplnej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-wstep",
    "name": "Interaktywna Karta Nawigacji Merytorycznej",
    "description": "Narzędzie pozwalające czytelnikowi na natychmiastowe zmapowanie struktury inżynierskiej artykułu i weryfikację celów badawczych przed przystąpieniem do obliczeń.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-int-container" id="article-intro-block">
    <div class="rk-int-header">
        <h2>Czy do ogrzewania podłogowego potrzebny jest projekt? Szybka odpowiedź inżynierska i mapa drogowa</h2>
    </div>

    <div class="rk-int-main-stream">
        
        <div class="rk-int-dashboard-bar">
            <div class="rk-int-dash-title">
                <svg width="18" height="18" 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>
                Statystyki awarii i strat bez projektu
            </div>
            <div class="rk-int-dash-grid">
                <div class="rk-int-dash-item">
                    <span class="rk-int-dash-val">&#8211; 2400 PLN</span>
                    <span class="rk-int-dash-desc">Średnia strata finansowa na rurach i szafkach przez kupowanie „z zapasem”.</span>
                </div>
                <div class="rk-int-dash-item">
                    <span class="rk-int-dash-val">+ 35%</span>
                    <span class="rk-int-dash-desc">Wyższe rachunki za energię elektryczną spowodowane oporami hydraulicznymi obwodów.</span>
                </div>
                <div class="rk-int-dash-item">
                    <span class="rk-int-dash-val">100% ryzyka</span>
                    <span class="rk-int-dash-desc">Niebezpieczeństwo pękania jastrychu i kafli przy zaniechaniu dylatacji.</span>
                </div>
            </div>
        </div>

        <div class="rk-int-snippet-box">
            <p>Tak, profesjonalny projekt techniczny instalacji ogrzewania podłogowego jest formalnie i praktycznie niezbędny do prawidłowego działania systemu, a jego wymóg bezpośrednio sankcjonuje europejska norma obliczeń ogrzewania podłogowego EN 1264. Brak obliczeń hydraulicznych i cieplnych skutkuje niedogrzaniem budynku, pękaniem jastrychu oraz drastycznym spadkiem efektywności pompy ciepła.</p>
        </div>

        <div class="rk-int-content-block">
            <h3>Koszty złudzeń inwestorskich</h3>
            <p>Wielu inwestorów ulega niebezpiecznemu złudzeniu, że ogrzewanie płaszczyznowe to jedynie ułożenie rur w pętle według uniwersalnego szablonu zaproponowanego przez montera. To intuicyjne podejście generuje realny ból na etapie użytkowania domu.</p>
            <p>Wadliwa instalacja objawia się niedogrzanymi pokojami dziecięcymi, uciążliwym „efektem zebry” (wyczuwalnymi pasami zimna i ciepła pod stopami) oraz rachunkami za prąd wyższymi o 35%. Projekt to nie koszt, lecz jedyna inżynierska tarcza chroniąca przed zniszczeniem podłóg.</p>
        </div>

        <div class="rk-int-content-block">
            <h3>Czego dowiesz się z tego przewodnika?</h3>
            <p>Ten artykuł przeprowadzi Cię przez proces inżynierski pod Twoją posadzką. W dalszych sekcjach udostępniliśmy dla Ciebie:</p>
            <ul class="rk-int-feature-list">
                <li><strong>Interaktywny kalkulator przepływów</strong>, wyznaczający <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a> dla pokoju.</li>
                <li><strong>Symulator rozstawu wężownic</strong> optymalizujący <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projekt ogrzewania z pompą ciepła</a> pod wysoki SCOP.</li>
                <li><strong>Wizualny komparator jastrychów</strong> ukazujący właściwości fizyczne anhydrytu i betonu.</li>
                <li><strong>Rzeczywiste Case Study</strong> pokazujące zysk 2400 zł na samych materiałach u hurtownika.</li>
            </ul>
        </div>

        <div class="rk-int-footer-widget">
            <h4 class="rk-int-widget-title">Powiązana Baza Wiedzy HVAC</h4>
            <ul class="rk-int-widget-links">
                <li><a href="https://projekt-ogrzewania.pl/jak-dziala-ogrzewanie-podlogowe/">Jak działa ogrzewanie podłogowe</a></li>
                <li><a href="https://projekt-ogrzewania.pl/pn-en-1264-norma-ktora-definiuje-ogrzewanie-podlogowe/">Norma PN-EN 1264 w praktyce</a></li>
                <li><a href="https://projekt-ogrzewania.pl/zalety-ogrzewania-podlogowego-w-porownaniu-do-tradycyjnych-grzejnikow/">Podłogówka vs Grzejniki</a></li>
            </ul>
        </div>

    </div>
</div>



<style>
:root {
    --rk-prc-dark: #0f172a;
    --rk-prc-blue: #0284c7;
    --rk-prc-blue-light: #f0f9ff;
    --rk-prc-border: #e2e8f0;
    --rk-prc-text: #334155;
    --rk-prc-muted: #64748b;
    --rk-prc-green: #10b981;
    --rk-prc-green-light: #dcfce7;
    --rk-prc-red: #ef4444;
    --rk-prc-red-light: #fef2f2;
    --rk-prc-gold: #f59e0b;
}

.rk-prc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-prc-border);
    overflow: hidden;
}

.rk-prc-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-prc-border);
}

.rk-prc-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-prc-dark);
    line-height: 1.3;
}

.rk-prc-header p {
    font-size: 16px;
    color: var(--rk-prc-text);
    line-height: 1.6;
    margin: 0;
}

/* Moduł interaktywnego kalkulatora cenowego */
.rk-prc-workspace {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: #fafafa;
    border-bottom: 1px solid var(--rk-prc-border);
}

/* Panel konfiguracyjny (lewa strona) */
.rk-prc-inputs-sidebar {
    padding: 40px;
    background: #ffffff;
    border-right: 1px solid var(--rk-prc-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-prc-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-prc-label {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-prc-dark);
}

.rk-prc-slider-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-prc-range {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    background: var(--rk-prc-border);
    outline: none;
}

.rk-prc-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--rk-prc-blue);
    cursor: pointer;
    transition: transform 0.1s;
}

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

.rk-prc-val-badge {
    width: 85px;
    padding: 8px 12px;
    border: 1px solid var(--rk-prc-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-prc-dark);
    text-align: center;
    background: #f8fafc;
}

/* Układ opcji wyboru */
.rk-prc-toggle-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-prc-toggle-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 18px;
    background: #f8fafc;
    border: 1px solid var(--rk-prc-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.rk-prc-toggle-row:hover {
    border-color: var(--rk-prc-muted);
}

.rk-prc-toggle-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rk-prc-toggle-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-prc-dark);
}

.rk-prc-toggle-desc {
    font-size: 12px;
    color: var(--rk-prc-muted);
    font-weight: 500;
}

.rk-prc-checkbox {
    display: none;
}

.rk-prc-switch {
    width: 44px;
    height: 24px;
    background: #cbd5e1;
    border-radius: 999px;
    position: relative;
    transition: background 0.3s;
}

.rk-prc-switch::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #ffffff;
    border-radius: 50%;
    transition: transform 0.3s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.rk-prc-checkbox:checked + .rk-prc-switch {
    background: var(--rk-prc-blue);
}

.rk-prc-checkbox:checked + .rk-prc-switch::after {
    transform: translateX(20px);
}

/* Panel wyników (prawa strona) */
.rk-prc-results-display {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
}

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

.rk-prc-card.primary {
    border-color: var(--rk-prc-blue);
    background: var(--rk-prc-blue-light);
}

.rk-prc-card.savings {
    border-color: var(--rk-prc-green);
    background: var(--rk-prc-green-light);
}

.rk-prc-meta-info h4 {
    margin: 0 0 6px 0;
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-prc-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-prc-card.primary h4 {
    color: var(--rk-prc-blue);
}

.rk-prc-card.savings h4 {
    color: var(--rk-prc-green);
}

.rk-prc-meta-info .value {
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-prc-dark);
    line-height: 1.1;
}

.rk-prc-meta-info .sub-desc {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

/* Sekcja szczegółowych wytycznych inżynierskich */
.rk-prc-details-block {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-prc-border);
}

.rk-prc-details-block h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-prc-dark);
}

/* Wizualny Blok Porównawczy (Zastępuje ścianę tekstu) */
.rk-prc-comparison-box {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    background: #f8fafc;
    border: 1px solid var(--rk-prc-border);
    border-radius: 16px;
    padding: 25px;
    margin-bottom: 30px;
    align-items: stretch;
}

.rk-prc-comp-side {
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    border: 1px solid var(--rk-prc-border);
    display: flex;
    flex-direction: column;
}

.rk-prc-comp-side.danger {
    border-top: 4px solid var(--rk-prc-red);
}

.rk-prc-comp-side.success {
    border-top: 4px solid var(--rk-prc-green);
}

.rk-prc-comp-side h5 {
    margin: 0 0 15px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-prc-dark);
}

.rk-prc-comp-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.rk-prc-comp-list li {
    font-size: 13px;
    color: var(--rk-prc-text);
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed var(--rk-prc-border);
    padding-bottom: 8px;
}

.rk-prc-comp-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-prc-comp-list li span {
    font-weight: 800;
    color: var(--rk-prc-red);
    background: var(--rk-prc-red-light);
    padding: 2px 8px;
    border-radius: 4px;
}

.rk-prc-comp-invest {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    flex: 1;
}

.rk-prc-comp-invest .price {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-prc-green);
    line-height: 1;
    margin-bottom: 8px;
}

.rk-prc-comp-invest p {
    font-size: 13px;
    color: var(--rk-prc-muted);
    margin: 0;
    line-height: 1.4;
}

.rk-prc-comp-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-prc-muted);
}

.rk-prc-text-link {
    font-size: 14px;
    color: var(--rk-prc-text);
    text-align: center;
    margin-bottom: 30px;
}

.rk-prc-text-link a {
    color: var(--rk-prc-blue);
    font-weight: 700;
    text-decoration: underline;
}

/* Siatka czynników */
.rk-prc-factors-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-prc-factor-row {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rk-prc-border);
}

.rk-prc-factor-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-prc-factor-title {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-prc-dark);
    margin-bottom: 6px;
}

.rk-prc-factor-row p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-prc-text);
    margin: 0;
}

.rk-prc-factor-row a {
    color: var(--rk-prc-blue);
    text-decoration: underline;
    font-weight: 700;
}

/* Wyróżniony Baner Promocyjny */
.rk-prc-promo-banner {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-prc-dark) 0%, #1e293b 100%);
    text-align: center;
    position: relative;
    border-top: 4px solid var(--rk-prc-gold);
}

.rk-prc-promo-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-prc-gold);
    color: var(--rk-prc-dark);
    padding: 6px 20px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3);
}

.rk-prc-banner-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 10px 0 10px 0;
}

.rk-prc-price-highlight {
    font-size: 20px;
    color: #e2e8f0;
    margin-bottom: 20px;
    font-weight: 600;
}

.rk-prc-price-highlight span {
    font-size: 38px;
    font-weight: 900;
    color: var(--rk-prc-gold);
    display: block;
    margin-top: 5px;
    line-height: 1;
}

.rk-prc-banner-desc {
    font-size: 16px;
    color: #94a3b8;
    max-width: 600px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-prc-banner-desc strong {
    color: #ffffff;
}

.rk-btn-prc-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-prc-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid transparent;
}

.rk-btn-prc-massive:hover {
    transform: translateY(-3px);
    background: #0369a1;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
    border-color: #7dd3fc;
}

.rk-btn-prc-massive svg {
    transition: transform 0.3s;
}

.rk-btn-prc-massive:hover svg {
    transform: translateX(5px);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-prc-header { padding: 30px 20px; }
    .rk-prc-workspace { grid-template-columns: 1fr; }
    .rk-prc-inputs-sidebar { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-prc-border); }
    .rk-prc-results-display { padding: 25px 20px; }
    .rk-prc-details-block { padding: 30px 20px; }
    
    .rk-prc-comparison-box { grid-template-columns: 1fr; gap: 15px; padding: 15px; }
    .rk-prc-comp-divider { display: none; }
    
    .rk-prc-promo-banner { padding: 45px 20px 35px; }
    .rk-prc-banner-title { font-size: 20px; }
    .rk-prc-price-highlight span { font-size: 32px; }
    .rk-btn-prc-massive { width: 100%; padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-cena",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Ile kosztuje projekt ogrzewania podłogowego i od czego zależy cena?",
    "description": "Cennik i analiza kosztów projektu ogrzewania podłogowego. Sprawdź, jak obliczenia OZC oraz automatyka strefowa wpływają na wycenę i zwrot z inwestycji.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-cena",
    "name": "Kalkulator kosztów projektowych i oszczędności materiałowych HVAC",
    "description": "Zestawienie stałych oraz zmiennych składowych wpływających na wycenę dokumentacji technicznej instalacji płaszczyznowych oraz estymacja redukcji nadmiaru materiałów.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile kosztuje projekt ogrzewania podłogowego",
      "projektowe obciążenie cieplne ozc",
      "norma obliczeń ogrzewania podłogowego en 1264",
      "rura pex do ogrzewania podłogowego",
      "rozdzielacz do podłogówki kluczowy element"
    ],
    "measurementTechnique": "Algorytm kalkulacyjny oparty na stawce bazowej za metr kwadratowy powierzchni z uwzględnieniem narzutów pracochłonności inżynierskiej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wycena bazowa: Dla 150 m2 wynosi od 550 PLN netto (ok. 4 PLN/m2).",
        "Zwrot z inwestycji: Eliminacja zapasu rur i nadmiarowych sekcji generuje średnio 2500 PLN oszczędności."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-cena",
    "name": "Interaktywny Estymator Kosztów Projektowych i ROI",
    "description": "Narzędzie interaktywne pozwalające inwestorowi na dynamiczne wyliczenie ceny indywidualnego projektu instalacji oraz prognozowanych zysków materiałowych.",
    "applicationCategory": "FinancialApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-prc-container" id="pricing-estimator-block">
    <div class="rk-prc-header">
        <h2>Ile kosztuje projekt ogrzewania podłogowego i od czego zależy cena?</h2>
        <p>Cena indywidualnego projektu ogrzewania podłogowego dla domu jednorodzinnego o powierzchni 150 m² wynosi od <strong>550 PLN netto</strong> (średnio 4 PLN/m²). Koszt ten jest ściśle uzależniony od stopnia skomplikowania bryły budynku, obecności przeszkleń oraz dostępności aktualnego świadectwa charakterystyki energetycznej lub obliczeń OZC (Obliczeniowe Zapotrzebowanie na Ciepło). Wdrożenie projektu pozwala na redukcję kosztów materiałowych na etapie zakupów o średnio <strong>2500 PLN brutto</strong>.</p>
    </div>

    <div class="rk-prc-workspace">
        <div class="rk-prc-inputs-sidebar">
            <div class="rk-prc-group">
                <label class="rk-prc-label" for="rkPrcInpArea">Powierzchnia domu (A)</label>
                <div class="rk-prc-slider-container">
                    <input type="range" class="rk-prc-range" id="rkPrcInpArea" min="60" max="300" step="10" value="150">
                    <span class="rk-prc-val-badge" id="rkPrcLabelArea">150 m²</span>
                </div>
            </div>

            <div class="rk-prc-group">
                <label class="rk-prc-label">Czynniki modyfikujące pracochłonność</label>
                <div class="rk-prc-toggle-stack">
                    
                    <label class="rk-prc-toggle-row" for="chkPrcOzo">
                        <div class="rk-prc-toggle-info">
                            <span class="rk-prc-toggle-title">Brak gotowych obliczeń OZC</span>
                            <span class="rk-prc-toggle-desc">Wymaga wykonania bilansu cieplnego pokoi</span>
                        </div>
                        <input type="checkbox" class="rk-prc-checkbox" id="chkPrcOzo">
                        <div class="rk-prc-switch"></div>
                    </label>

                    <label class="rk-prc-toggle-row" for="chkPrcArch">
                        <div class="rk-prc-toggle-info">
                            <span class="rk-prc-toggle-title">Skomplikowana bryła i przeszklenia</span>
                            <span class="rk-prc-toggle-desc">Okna HST, antresole, dachy skośne</span>
                        </div>
                        <input type="checkbox" class="rk-prc-checkbox" id="chkPrcArch">
                        <div class="rk-prc-switch"></div>
                    </label>

                    <label class="rk-prc-toggle-row" for="chkPrcAuto">
                        <div class="rk-prc-toggle-info">
                            <span class="rk-prc-toggle-title">Integracja z automatyką</span>
                            <span class="rk-prc-toggle-desc">Projekt sterowania strefowego i okablowania</span>
                        </div>
                        <input type="checkbox" class="rk-prc-checkbox" id="chkPrcAuto">
                        <div class="rk-prc-switch"></div>
                    </label>

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

        <div class="rk-prc-results-display">
            <div class="rk-prc-card primary">
                <div class="rk-prc-meta-info">
                    <h4>Szacowany koszt projektu</h4>
                    <div class="value" id="rkPrcResTotal">550 PLN</div>
                    <div class="sub-desc" id="rkPrcResUnit">Cena jednostkowa: ~3.67 PLN/m² netto</div>
                </div>
            </div>

            <div class="rk-prc-card savings">
                <div class="rk-prc-meta-info">
                    <h4>Zysk przy zakupie materiałów</h4>
                    <div class="value" id="rkPrcResSavings" style="color: var(--rk-prc-green);">~2500 PLN</div>
                    <div class="sub-desc" style="color: #15803d;">Unikasz nadmiaru rur PEX i przewymiarowanych rozdzielaczy</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-prc-details-block">
        <h3>Od czego zależy końcowa wycena dokumentacji technicznej?</h3>
        
        <div class="rk-prc-comparison-box">
            <div class="rk-prc-comp-side danger">
                <h5>Brak projektu (Koszty ukryte)</h5>
                <ul class="rk-prc-comp-list">
                    <li>Kupno &#8222;na oko&#8221; 500m rury PEX <span>+ 2000 PLN</span></li>
                    <li>Przewymiarowany rozdzielacz <span>+ 500 PLN</span></li>
                </ul>
            </div>
            
            <div class="rk-prc-comp-divider">
                <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><line x1="8" y1="12" x2="16" y2="12"></line><line x1="12" y1="8" x2="12" y2="16"></line></svg>
            </div>

            <div class="rk-prc-comp-side success">
                <h5>Inwestycja w dokumentację</h5>
                <div class="rk-prc-comp-invest">
                    <div class="price">550 PLN</div>
                    <p>Wydajesz raz, a zyskujesz natychmiast na zerowych stratach materiałowych.</p>
                </div>
            </div>
        </div>

        <p class="rk-prc-text-link">Sprawdź szczegółowy cennik w artykule: <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje projekt ogrzewania podłogowego</a>.</p>
        
        <div class="rk-prc-factors-grid">
            <div class="rk-prc-factor-row">
                <div class="rk-prc-factor-title">Dostępność OZC</div>
                <p>Jeśli projektant musi samodzielnie obliczyć straty ciepła dla każdego pomieszczenia zgodnie z normą PN-EN 12831, cena wzrasta o ok. 300-600 PLN. Bilans ten jest jednak kluczowy, by precyzyjnie wyznaczyć <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>.</p>
            </div>
            <div class="rk-prc-factor-row">
                <div class="rk-prc-factor-title">Architektura budynku</div>
                <p>Duże przeszklenia typu HST, antresole oraz dachy skośne wymagają zaawansowanego modelowania stref brzegowych, co znacząco podnosi pracochłonność inżynierską i determinuje gęstość ułożenia przewodów w płycie grzewczej.</p>
            </div>
            <div class="rk-prc-factor-row">
                <div class="rk-prc-factor-title">Integracja z automatyką</div>
                <p>Zaprojektowanie dedykowanego okablowania pod systemy sterowania strefowego (np. listwy podłogowe, siłowniki termoelektryczne) podwyższa bazowy koszt dokumentacji o ok. 300 PLN, gwarantując jednak bezbłędny montaż elektryczny i hydrauliczny. Dowiedz się, jak powinien wyglądać <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt do ogrzewania podłogowego</a>.</p>
            </div>
        </div>
    </div>

    <div class="rk-prc-promo-banner">
        <div class="rk-prc-promo-badge">Oferta Specjalna</div>
        <h3 class="rk-prc-banner-title">Zyskaj pewność inżynierską i chroń swój budżet</h3>
        <div class="rk-prc-price-highlight">
            Kompletny projekt kupisz u nas już od
            <span>550 zł</span>
        </div>
        <p class="rk-prc-banner-desc">Zamów indywidualny projekt hydrauliczny ogrzewania płaszczyznowego. Uniknij błędów instalatorów i <strong>zaoszczędź nawet 2500 zł</strong> na samych materiałach (brak nadmiaru rur i zbyt dużych rozdzielaczy).</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-prc-massive">
            ZAMÓW SWÓJ PROJEKT ONLINE
            <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 inpArea = document.getElementById('rkPrcInpArea');
    const chkOzo = document.getElementById('chkPrcOzo');
    const chkArch = document.getElementById('chkPrcArch');
    const chkAuto = document.getElementById('chkPrcAuto');

    const labelArea = document.getElementById('rkPrcLabelArea');
    const resTotal = document.getElementById('rkPrcResTotal');
    const resUnit = document.getElementById('rkPrcResUnit');
    const resSavings = document.getElementById('rkPrcResSavings');

    function calculateProjectCost() {
        const area = parseFloat(inpArea.value);
        labelArea.innerText = area + " m²";

        // Bazowy algorytm wyceny Robert-Ogrzewania dostosowany do progu 550 PLN dla 150m2
        let basePrice = Math.round(area * 3.666);
        if (basePrice < 400) basePrice = 400;

        // Modyfikatory pracochłonności
        if (chkOzo.checked) basePrice += 450;
        if (chkArch.checked) basePrice += 300;
        if (chkAuto.checked) basePrice += 300;

        resTotal.innerText = basePrice + " PLN";
        resUnit.innerText = "Cena jednostkowa: ~" + (basePrice / area).toFixed(2) + " PLN/m² netto";

        // Dynamiczne wyliczenie zysku z zakupu materiałów
        const dynamicSavings = Math.round(area * 16.66);
        resSavings.innerText = "~" + dynamicSavings + " PLN";
    }

    inpArea.addEventListener('input', calculateProjectCost);
    chkOzo.addEventListener('change', calculateProjectCost);
    chkArch.addEventListener('change', calculateProjectCost);
    chkAuto.addEventListener('change', calculateProjectCost);

    // Pierwsze uruchomienie
    calculateProjectCost();
});
</script>



<h2 class="wp-block-heading">Ile kosztuje projekt ogrzewania podłogowego i od czego zależy cena?</h2>



<p class="wp-block-paragraph">Cena indywidualnego projektu ogrzewania podłogowego dla domu jednorodzinnego o powierzchni <strong>150 m²</strong> wynosi od <strong>550 PLN</strong> netto (średnio <strong>4 PLN/m²</strong>). Koszt ten jest ściśle uzależniony od stopnia skomplikowania bryły budynku, obecności przeszkleń oraz dostępności aktualnego świadectwa charakterystyki energetycznej lub obliczeń OZC (Obliczeniowe Zapotrzebowanie na Ciepło). Wdrożenie projektu pozwala na redukcję kosztów materiałowych na etapie zakupów o średnio <strong>2500 PLN</strong> brutto.</p>



<p class="wp-block-paragraph">Inwestorzy często szukają oszczędności tam, gdzie generują one największe ryzyko straty. Wydatek rzędu <strong>550 PLN</strong> na rzetelną dokumentację inżynierską zwraca się natychmiast przy zakupie materiałów. Bez projektu instalatorzy rutynowo kupują rury "z zapasem", co przy średnim domu oznacza nadmiar nawet <strong>500 metrów</strong> rury PEX/AL/PEX 16x2 mm (generując zbędny koszt ok. <strong>2000 PLN</strong>) oraz montaż zbyt dużych, droższych o <strong>500 PLN</strong> rozdzielaczy z nadmiarową liczbą sekcji.</p>



<p class="wp-block-paragraph">Największy wpływ na finalną wycenę projektu mają:</p>



<ul class="wp-block-list">
<li><strong>Dostępność OZC:</strong> Jeśli projektant musi samodzielnie obliczyć straty ciepła dla każdego pomieszczenia zgodnie z normą <strong>PN-EN 12831</strong>, cena wzrasta o ok. <strong>300-600 PLN</strong>.</li>



<li><strong>Architektura budynku:</strong> Duże przeszklenia typu HST, antresole oraz dachy skośne wymagają zaawansowanego modelowania stref brzegowych, co podnosi pracochłonność inżynierską.</li>



<li><strong>Integracja z automatyką:</strong> Zaprojektowanie okablowania pod systemy sterowania strefowego (np. listwy podłogowe, siłowniki termoelektryczne) podwyższa bazowy koszt dokumentacji o ok. <strong>300 PLN</strong>.</li>
</ul>



<style>
:root {
    --rk-dist-dark: #0f172a;
    --rk-dist-blue: #0284c7;
    --rk-dist-blue-light: #f0f9ff;
    --rk-dist-border: #e2e8f0;
    --rk-dist-text: #334155;
    --rk-dist-muted: #64748b;
    --rk-dist-green: #10b981;
    --rk-dist-green-light: #dcfce7;
    --rk-dist-amber: #f59e0b;
    --rk-dist-amber-light: #fffbeb;
}

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

.rk-dist-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-dist-border);
}

.rk-dist-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-dist-dark);
    line-height: 1.3;
}

.rk-dist-header p {
    font-size: 16px;
    color: var(--rk-dist-text);
    line-height: 1.6;
    margin: 0;
}

/* Moduł interaktywnego symulatora rozstawu */
.rk-dist-workspace {
    display: grid;
    grid-template-columns: 340px 1fr;
    background: #fafafa;
}

/* Selektor rozstawu (lewa strona) */
.rk-dist-menu {
    padding: 25px;
    background: #ffffff;
    border-right: 1px solid var(--rk-dist-border);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.rk-dist-btn-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-dist-menu-btn {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-dist-border);
    background: #f8fafc;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

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

.rk-dist-menu-btn.active[data-index="1"] {
    background: var(--rk-dist-blue-light);
    border-color: var(--rk-dist-blue);
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.08);
}

.rk-dist-menu-btn.active[data-index="2"] {
    background: var(--rk-dist-green-light);
    border-color: var(--rk-dist-green);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.08);
}

.rk-dist-menu-btn.active[data-index="3"] {
    background: var(--rk-dist-amber-light);
    border-color: var(--rk-dist-amber);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.08);
}

.rk-dist-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-dist-dark);
    margin-bottom: 4px;
}

.rk-dist-btn-desc {
    font-size: 12px;
    color: var(--rk-dist-muted);
    font-weight: 600;
}

/* Mini nawigacja boczna */
.rk-dist-sidebar-widget {
    background: #f8fafc;
    border: 1px solid var(--rk-dist-border);
    border-radius: 12px;
    padding: 20px;
}

.rk-dist-widget-title {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-dist-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px 0;
}

.rk-dist-widget-links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-dist-widget-links li {
    font-size: 13px;
    line-height: 1.4;
}

.rk-dist-widget-links a {
    color: var(--rk-dist-blue);
    text-decoration: none;
    font-weight: 600;
}

.rk-dist-widget-links a:hover {
    text-decoration: underline;
}

/* Ekran Wizualizacji (prawa strona) */
.rk-dist-display {
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    background: #f8fafc;
}

/* Monitor Parametrów Pompy Ciepła */
.rk-dist-monitor-box {
    background: #ffffff;
    border: 1px solid var(--rk-dist-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 30px;
}

.rk-dist-visual-pipes {
    width: 130px;
    height: 100px;
    flex-shrink: 0;
    background: #f1f5f9;
    border-radius: 8px;
    border: 1px solid var(--rk-dist-border);
}

.rk-dist-metrics-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-dist-metric-card {
    background: #f8fafc;
    border: 1px solid var(--rk-dist-border);
    border-radius: 10px;
    padding: 12px 15px;
}

.rk-dist-metric-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-dist-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rk-dist-metric-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-dist-dark);
}

/* Blok opisu tekstowego */
.rk-dist-text-card {
    background: #ffffff;
    border: 1px solid var(--rk-dist-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.01);
}

.rk-dist-text-card h3 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-dist-dark);
}

.rk-dist-text-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-dist-text-card a {
    color: var(--rk-dist-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-dist-header { padding: 30px 20px; }
    .rk-dist-workspace { grid-template-columns: 1fr; }
    .rk-dist-menu { border-right: none; border-bottom: 1px solid var(--rk-dist-border); padding: 20px; }
    .rk-dist-display { padding: 25px 20px; }
    .rk-dist-monitor-box { flex-direction: column; text-align: center; padding: 20px; gap: 20px; }
    .rk-dist-metrics-grid { width: 100%; grid-template-columns: 1fr; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-rozstaw",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Jaki rozstaw rur ogrzewania podłogowego wybrać dla pompy ciepła?",
    "description": "Poradnik inżynierski doboru rozstawu rur dla pompy ciepła. Sprawdź, jak gęstość ułożenia wężownic wpływa na sprawność SCOP i temperaturę zasilania 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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-rozstaw",
    "name": "Korelacja gęstości wężownic i sprawności pompy ciepła",
    "description": "Zestawienie fizycznych i operacyjnych parametrów instalacji: przełożenie rozstawu rur (10 cm, 15 cm, 20 cm) na wymaganą temperaturę zasilania jastrychu oraz współczynnik SCOP.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "rozstaw rur ogrzewania podłogowego przy pompie ciepła",
      "niska temperatura zasilania pompy ciepła",
      "strefa brzegowa w ogrzewaniu podłogowym",
      "jak gęsto rozkładać podłogówkę",
      "norma obliczeń ogrzewania podłogowego en 1264"
    ],
    "measurementTechnique": "Obliczenia emisyjności cieplnej podłogi grzewczej dla stałego obciążenia 50 W/m² zgodnie z kryteriami technicznymi normy PN-EN 1264-2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 15 cm: Zapewnia niskie zasilanie 35°C i optymalny współczynnik SCOP w granicach 4.2 - 4.8.",
        "Rozstaw 20 cm: Wymaga podniesienia temperatury do 42°C, co zwiększa zużycie prądu o ok. 15-20%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-rozstaw",
    "name": "Interaktywny Symulator Sprawności Termicznej Emiterów",
    "description": "Moduł aplikacyjny wizualizujący zagęszczenie przewodów w płycie grzewczej i automatycznie wyliczający zmiany wydajności oraz strat sprawności pompy ciepła.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dist-container" id="pipe-spacing-simulator-block">
    <div class="rk-dist-header">
        <h2>Jaki rozstaw rur ogrzewania podłogowego wybrać dla pompy ciepła?</h2>
        <p>Optymalny rozstaw rur ogrzewania podłogowego dla pompy ciepła w standardowym budynku WT2021 wynosi <strong>10 cm w strefach brzegowych</strong> (przy oknach) oraz <strong>15 cm w strefach stałego przebywania ludzi</strong>. Zgodnie z normą <strong>PN-EN 1264-2</strong>, parametry te pozwalają utrzymać temperaturę zasilania na poziomie <strong>35°C</strong> (przy parametrach 35/30°C, gdzie różnica zasilania i powrotu wynosi 5 K), co gwarantuje uzyskanie najwyższego współczynnika efektywności SCOP pompy ciepła na poziomie <strong>4,2 - 4,8</strong>.</p>
    </div>

    <div class="rk-dist-workspace">
        <div class="rk-dist-menu" id="distMenuList">
            <div class="rk-dist-btn-group">
                <button class="rk-dist-menu-btn active" data-index="1" data-v1="35°C" data-v2="4.2 - 4.8" data-v3="Idealny (0%)">
                    <div class="rk-dist-btn-title">Rozstaw standardowy (15 cm)</div>
                    <div class="rk-dist-btn-desc">Strefy stałego przebywania</div>
                </button>
                <button class="rk-dist-menu-btn" data-index="2" data-v1="32°C" data-v2="4.9 - 5.2" data-v3="Zwiększony (+10%)">
                    <div class="rk-dist-btn-title">Rozstaw strefowy (10 cm)</div>
                    <div class="rk-dist-btn-desc">Strefy brzegowe i łazienki</div>
                </button>
                <button class="rk-dist-menu-btn" data-index="3" data-v1="42°C" data-v2="3.4 - 3.8" data-v3="Wzrost o 15% do 20%">
                    <div class="rk-dist-btn-title">Rozstaw rzadki (20 cm)</div>
                    <div class="rk-dist-btn-desc">Błędy instalacji "na oko"</div>
                </button>
            </div>

            <div class="rk-dist-sidebar-widget">
                <h4 class="rk-dist-sidebar-title">Zagadnienia projektowe</h4>
                <ul class="rk-dist-widget-links">
                    <li><a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">Rozstaw rur a pompa ciepła</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">Rola strefy brzegowej</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/niska-temperatura-zasilania-pompy-ciepla-dlaczego-35-stopni-to-ideal-dla-podlogowki/">Dlaczego 35°C to ideał dla podłogówki</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowego-co-10-czy-15-cm/">Rozstaw co 10 czy 15 cm</a></li>
                </ul>
            </div>
        </div>

        <div class="rk-dist-display">
            <div class="rk-dist-monitor-box">
                <div class="rk-dist-gauge-wrapper">
                    <svg class="rk-dist-svg-dial" viewBox="0 0 100 100" id="svgPipesVisual">
                        <rect x="5" y="75" width="90" height="15" fill="#94a3b8"/>
                        <g id="svgPipeGroup"></g>
                    </svg>
                </div>
                
                <div class="rk-dist-metrics-grid">
                    <div class="rk-dist-metric-card">
                        <div class="rk-dist-metric-label">Temp. zasilania</div>
                        <div class="rk-dist-metric-value" id="valDistMetric1">35°C</div>
                    </div>
                    <div class="rk-dist-metric-card">
                        <div class="rk-dist-metric-label">Efektywność SCOP</div>
                        <div class="rk-dist-metric-value" id="valDistMetric2">4.2 - 4.8</div>
                    </div>
                    <div class="rk-dist-metric-card" style="grid-column: span 2;">
                        <div class="rk-dist-metric-label">Pobór prądu / Rachunki</div>
                        <div class="rk-dist-metric-value" id="valDistMetric3" style="color: var(--rk-dist-blue);">Optymalny (0%)</div>
                    </div>
                </div>
            </div>

            <div class="rk-dist-text-card">
                <div id="distDescriptionTarget">
                    <h3>Rozstaw standardowy (15 cm)</h3>
                    <p>Zapewnia idealny kompromis między wydatkiem materiałowym a sprawnością niskotemperaturową pompy ciepła w pokojach dziennych i sypialniach. Pozwala pokryć standardowe straty ciepła bez potrzeby przegrzewania jastrychu. Zapobiega powstawaniu asymetrii termicznej, chroniąc przed pękaniem okładzin ceramicznych.</p>
                </div>
            </div>
        </div>
    </div>

    <div style="display: none;" id="distDataStorage">
        <div id="dist-txt-1">
            <h3>Rozstaw standardowy (15 cm)</h3>
            <p>Zapewnia idealny kompromis między wydatkiem materiałowym a sprawnością niskotemperaturową pompy ciepła w pokojach dziennych i sypialniach. Pozwala pokryć standardowe straty ciepła bez potrzeby przegrzewania jastrychu. Zapobiega powstawaniu asymetrii termicznej, chroniąc przed pękaniem okładzin ceramicznych. Sprawdź, <a href="https://projekt-ogrzewania.pl/jak-gesto-rozkladac-podlogowke/">jak gęsto rozkładać podłogówkę</a> w strefach przebywania stałego.</p>
        </div>
        <div id="dist-txt-2">
            <h3>Rozstaw strefowy (10 cm)</h3>
            <p>Stosowany bezwzględnie w strefach brzegowych (wzdłuż okien tarasowych i ścian zewnętrznych) oraz w łazienkach, gdzie ograniczona powierzchnia posadzki musi oddać wyższą moc grzewczą w celu osiągnięcia normatywnych 24°C. Tak gęste ułożenie rur pozwala obniżyć parametry temperaturowe całej instalacji, co maksymalizuje wskaźnik SCOP urządzenia. Poznaj zasady modelowania obwodów w artykule o <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-obwodowa-w-ogrzewaniu-podlogowym/">strefach brzegowych i obwodowych</a>.</p>
        </div>
        <div id="dist-txt-3">
            <h3>Rozstaw rzadki (20 cm)</h3>
            <p>Zwiększenie rozstawu rur do 20 cm w celu rzekomej oszczędności na materiale drastycznie obniża wydajność cieplną podłogi. Aby pokryć zapotrzebowanie pomieszczenia na ciepło wynoszące np. 50 W/m², instalacja o rozstawie 20 cm wymaga podniesienia temperatury zasilania z 35°C do 42°C. Dla pompy ciepła każdy wzrost temperatury zasilania o 1°C oznacza spadek sprawności i wzrost zużycia energii o około 2,5% do 3%. Stopa ludzka zaczyna też wyraźnie odczuwać tzw. efekt zebry, a naprężenia termiczne niszczą wiązania wylewek, wywołując pękanie płytek ceramicznych i paneli.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const menuBtns = document.querySelectorAll('.rk-dist-menu-btn');
    const valMetric1 = document.getElementById('valDistMetric1');
    const valMetric2 = document.getElementById('valDistMetric2');
    const valMetric3 = document.getElementById('valDistMetric3');
    const descTarget = document.getElementById('distDescriptionTarget');
    const pipeGroup = document.getElementById('svgPipeGroup');

    function drawPipes(index) {
        pipeGroup.innerHTML = '';
        let cxPoints = [];
        
        if(index === "1") { // 15 cm rozstaw
            cxPoints = [20, 50, 80];
        } else if(index === "2") { // 10 cm rozstaw
            cxPoints = [15, 32, 50, 68, 85];
        } else if(index === "3") { // 20 cm rozstaw
            cxPoints = [25, 75];
        }

        cxPoints.forEach(cx => {
            // Rysowanie rury w przekroju
            const circle = document.createElementNS("http://www.w3.org/2000/svg", "circle");
            circle.setAttribute("cx", cx);
            circle.setAttribute("cy", "75");
            circle.setAttribute("r", "6");
            circle.setAttribute("fill", "#ef4444");
            circle.setAttribute("stroke", "#b91c1c");
            circle.setAttribute("stroke-width", "2");
            pipeGroup.appendChild(circle);
        });
    }

    menuBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            menuBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const index = this.getAttribute('data-index');
            const v1 = this.getAttribute('data-v1');
            const v2 = this.getAttribute('data-v2');
            const v3 = this.getAttribute('data-v3');

            // Aktualizacja wskaźników tekstowych pompy obiegowej
            valMetric1.innerText = v1;
            valMetric2.innerText = v2;
            valMetric3.innerText = v3;

            // Zmiana barwy ostrzegawczej przy awaryjnym wariancie
            if(index === "3") {
                valMetric3.style.color = "var(--rk-dist-red)";
            } else if(index === "2") {
                valMetric3.style.color = "var(--rk-dist-green)";
            } else {
                valMetric3.style.color = "var(--rk-dist-blue)";
            }

            // Podmiana grafiki SVG rur
            drawPipes(index);

            // Podmiana tekstu opisu
            const localSource = document.getElementById(`dist-txt-${index}`);
            if (localSource) {
                descTarget.innerHTML = localSource.innerHTML;
            }
        });
    });

    // Wstępne narysowanie rur standardowych
    drawPipes("1");
});
</script>



<style>
:root {
    --rk-loop-dark: #0f172a;
    --rk-loop-blue: #0284c7;
    --rk-loop-blue-light: #e0f2fe;
    --rk-loop-bg-light: #f8fafc;
    --rk-loop-border: #e2e8f0;
    --rk-loop-text: #334155;
    --rk-loop-muted: #64748b;
    --rk-loop-green: #10b981;
    --rk-loop-green-light: #dcfce7;
    --rk-loop-red: #ef4444;
    --rk-loop-red-light: #fef2f2;
}

.rk-loop-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-loop-border);
    overflow: hidden;
}

.rk-loop-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-loop-border);
}

.rk-loop-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    line-height: 1.3;
}

.rk-loop-header p {
    font-size: 16px;
    color: var(--rk-loop-text);
    line-height: 1.6;
    margin: 0;
}

/* Moduł interaktywnego kalkulatora i symulatora oporów */
.rk-loop-workspace {
    display: grid;
    grid-template-columns: 340px 1fr;
    background: var(--rk-loop-bg-light);
    border-bottom: 1px solid var(--rk-loop-border);
}

/* Panel sterowania parametrami */
.rk-loop-inputs-panel {
    padding: 35px 30px;
    background: #ffffff;
    border-right: 1px solid var(--rk-loop-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-loop-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-loop-label {
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-loop-dark);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-loop-slider-box {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-loop-range {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    background: var(--rk-loop-border);
    outline: none;
}

.rk-loop-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--rk-loop-blue);
    cursor: pointer;
    transition: transform 0.1s;
}

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

.rk-loop-val-badge {
    width: 75px;
    padding: 6px 10px;
    border: 1px solid var(--rk-loop-border);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-loop-dark);
    text-align: center;
    background: var(--rk-loop-bg-light);
}

/* Przełącznik rozstawu rur dostosowany pionowo pod mobile */
.rk-loop-spacing-select {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-loop-spacing-btn {
    width: 100%;
    padding: 12px 15px;
    background: var(--rk-loop-bg-light);
    border: 1px solid var(--rk-loop-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-loop-text);
    cursor: pointer;
    text-align: left;
    transition: all 0.2s ease;
}

.rk-loop-spacing-btn.active {
    background: var(--rk-loop-blue);
    color: #ffffff;
    border-color: var(--rk-loop-blue);
}

/* Panel analizy graficzno-tekstowej */
.rk-loop-analysis-panel {
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
}

/* Monitor Bezpieczeństwa Hydraulicznego */
.rk-loop-status-card {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 25px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.rk-loop-status-card.success {
    border-color: var(--rk-loop-green);
    background: var(--rk-loop-green-light);
}

.rk-loop-status-card.danger {
    border-color: var(--rk-loop-red);
    background: var(--rk-loop-red-light);
}

.rk-loop-indicator-svg {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
}

.rk-loop-summary-info {
    flex: 1;
}

.rk-loop-summary-info .status-title {
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-loop-dark);
    margin-bottom: 4px;
}

.rk-loop-summary-info .status-desc {
    font-size: 14px;
    color: #475569;
    line-height: 1.4;
}

/* Blok dynamicznych wyliczeń i opisu */
.rk-loop-dynamic-text {
    background: #ffffff;
    border: 1px solid var(--rk-loop-border);
    border-radius: 16px;
    padding: 25px;
}

.rk-loop-dynamic-text h3 {
    margin: 0 0 12px 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-loop-dark);
}

.rk-loop-dynamic-text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-loop-dynamic-text a {
    color: var(--rk-loop-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

/* Dolna sekcja z opisem i CTA */
.rk-loop-footer-cta {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-loop-dark) 0%, #1e293b 100%);
    text-align: center;
}

.rk-loop-cta-title {
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
}

.rk-loop-cta-desc {
    font-size: 15px;
    color: #94a3b8;
    max-width: 650px;
    margin: 0 auto 25px auto;
    line-height: 1.6;
}

.rk-btn-loop-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-loop-blue);
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-loop-massive:hover {
    transform: translateY(-3px);
    background: #0369a1;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.5);
}

.rk-btn-loop-massive svg {
    transition: transform 0.3s;
}

.rk-btn-loop-massive:hover svg {
    transform: translateX(5px);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-loop-header { padding: 30px 20px; }
    .rk-loop-workspace { grid-template-columns: 1fr; }
    .rk-loop-inputs-panel { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-loop-border); }
    .rk-loop-analysis-panel { padding: 25px 20px; }
    .rk-loop-status-card { flex-direction: column; text-align: center; padding: 20px; }
    .rk-loop-footer-cta { padding: 35px 20px; }
    .rk-btn-loop-massive { width: 100%; padding: 16px 20px; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-hydraulika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Jak obliczyć długość pętli podłogówki bez błędów w hydraulice?",
    "description": "Zasady obliczania długości wężownic ogrzewania podłogowego. Dowiedz się, dlaczego granica 100 metrów chroni instalację przed krytycznymi oporami.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-hydraulika",
    "name": "Graniczne limity oporów hydraulicznych rurociągów PEX 16mm",
    "description": "Zbiór danych technicznych dotyczących zależności liniowych długości obwodu grzewczego od narostu oporów miejscowych i liniowych (limit 20 kPa).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "ile rury na m² ogrzewania podłogowego",
      "rozdzielacz do podłogówki kluczowy element",
      "za długa pętla podłogówki",
      "zrównoważenie hydrauliczne instalacji"
    ],
    "measurementTechnique": "Modelowanie matematyczne przepływów i strat ciśnienia płynu grzewczego w przewodach polietylenowych PEX-Al-PEX 16x2 mm.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Maksymalny obwód: 100 metrów bieżących (wliczając podejścia zasilania i powrotu do rozdzielacza).",
        "Granica strat ciśnienia: Straty liniowe i miejscowe nie powinny przekraczać progu 20 kPa (200 mbar)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-hydraulika",
    "name": "Symulator Przekroczeń Hydraulicznych Wężownic Podłogowych",
    "description": "Interaktywny algorytm sprawdzający liniowy i geometryczny dobór długości rury grzewczej i generujący ostrzeżenia o konieczności podziału sekcji rozdzielacza.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-loop-container" id="hydraulic-loop-block">
    <div class="rk-loop-header">
        <h2>Jak obliczyć długość pętli podłogówki bez błędów w hydraulice?</h2>
        <p>Maksymalna długość pojedynczej pętli ogrzewania podłogowego dla rury o średnicy 16 mm wynosi <strong>100 metrów bieżących</strong> wraz z odcinkami doprowadzającymi (podejściami) do rozdzielacza. Zasada ta wynika z ograniczeń oporów hydraulicznych, które dla rury PEX 16x2 mm przy optymalnym przepływie nie powinny przekraczać wartości <strong>20 kPa (200 mbar)</strong>. Przekroczenie tej granicy blokuje hydrauliczną regulację instalacji.</p>
    </div>

    <div class="rk-loop-workspace">
        <div class="rk-loop-inputs-panel">
            <div class="rk-loop-group">
                <label class="rk-loop-label" for="rkLoopInpArea">Powierzchnia pola grzewczego</label>
                <div class="rk-loop-slider-box">
                    <input type="range" class="rk-loop-range" id="rkLoopInpArea" min="5" max="35" step="1" value="15">
                    <span class="rk-loop-val-badge" id="rkLoopLabelArea">15 m²</span>
                </div>
            </div>

            <div class="rk-loop-group">
                <label class="rk-loop-label">Planowany rozstaw rur</label>
                <div class="rk-loop-spacing-select">
                    <button class="rk-loop-spacing-btn" data-multiplier="10" id="btnSpacing10">Gęsty strefowy (co 10 cm) — 10 m/m²</button>
                    <button class="rk-loop-spacing-btn active" data-multiplier="6.7" id="btnSpacing15">Standardowy bytowy (co 15 cm) — 6.7 m/m²</button>
                    <button class="rk-loop-spacing-btn" data-multiplier="5" id="btnSpacing20">Rzadki ekonomiczny (co 20 cm) — 5 m/m²</button>
                </div>
            </div>

            <div class="rk-loop-group">
                <label class="rk-loop-label" for="rkLoopInpDist">Odległość do rozdzielacza</label>
                <div class="rk-loop-slider-box">
                    <input type="range" class="rk-loop-range" id="rkLoopInpDist" min="1" max="25" step="1" value="5">
                    <span class="rk-loop-val-badge" id="rkLoopLabelDist">5 m</span>
                </div>
            </div>
        </div>

        <div class="rk-loop-analysis-panel">
            <div class="rk-loop-status-card success" id="rkLoopStatusCard">
                <div class="rk-loop-indicator-svg" id="rkLoopIconBox">
                    <svg viewBox="0 0 24 24" fill="none" stroke="var(--rk-loop-green)" stroke-width="2.5" id="svgIconSuccess" style="display: block; width: 100%; height: 100%;"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path></svg>
                    <svg viewBox="0 0 24 24" fill="none" stroke="var(--rk-loop-red)" stroke-width="2.5" id="svgIconDanger" style="display: none; width: 100%; height: 100%;"><path stroke-linecap="round" stroke-linejoin="round" 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-loop-summary-info">
                    <div class="status-title" id="rkLoopTxtStatus">Bezpieczny przepływ liniowy</div>
                    <div class="status-desc" id="rkLoopTxtDesc">Opory hydrauliczne obwodu mieszczą się w normatywnym limicie do 20 kPa. Standardowa pompa obiegowa bez problemu przetłoczy wodę.</div>
                </div>
            </div>

            <div class="rk-loop-dynamic-text">
                <h3 id="rkLoopTxtCalculated">Całkowity obwód: 110.5 metra</h3>
                <p id="rkLoopTxtExplanation">Dla pokoju o metrażu 15 m² i rozstawie rur co 15 cm, zapotrzebowanie na rurę wynosi średnio 6,7 metra bieżącego na każdy metr kwadratowy, co daje 100,5 metra samej wężownicy. Dodając do tego odległość do rozdzielacza (2 × 5 metrów podejść), otrzymujemy wynik 110,5 metra. Taki obwód należy bezwzględnie podzielić na dwie równe pętle po ok. 55 metrów, co zredukuje opory hydrauliczne o ponad połowę i zapewni idealne zrównoważenie przepływów.</p>
            </div>
        </div>
    </div>

    <div class="rk-loop-footer-cta">
        <h3 class="rk-loop-cta-title">Błędy w obliczeniach pętli oznaczają konieczność kucia posadzek</h3>
        <p class="rk-loop-cta-desc">Gdy instalator ułoży zbyt długi obwód (np. 130 metrów), opór hydrauliczny rośnie wykładniczo, woda schładza się przed końcem pętli, a pomieszczenie pozostaje permanentnie niedogrzane. Nie pozwól na montaż "na oko".</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-loop-massive">
            Zleć Wykonanie Obliczeń Inżynierskich
            <svg width="22" height="22" 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 inpArea = document.getElementById('rkLoopInpArea');
    const inpDist = document.getElementById('rkLoopInpDist');
    const lblArea = document.getElementById('rkLoopLabelArea');
    const lblDist = document.getElementById('rkLoopLabelDist');
    
    const spacingBtns = document.querySelectorAll('.rk-loop-spacing-select button');
    const statusCard = document.getElementById('rkLoopStatusCard');
    const iconSuccess = document.getElementById('svgIconSuccess');
    const iconDanger = document.getElementById('svgIconDanger');
    
    const txtStatus = document.getElementById('rkLoopTxtStatus');
    const txtDesc = document.getElementById('rkLoopTxtDesc');
    const txtCalculated = document.getElementById('rkLoopTxtCalculated');
    const txtExplanation = document.getElementById('rkLoopTxtExplanation');

    let currentMultiplier = 6.7;

    // Przełączanie wariantów rozstawu
    spacingBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            spacingBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            currentMultiplier = parseFloat(this.getAttribute('data-multiplier'));
            calculateHydraulicStatus();
        });
    });

    function calculateHydraulicStatus() {
        const area = parseFloat(inpArea.value);
        const dist = parseFloat(inpDist.value);

        // Aktualizacja etykiet suwaków
        lblArea.innerText = area + " m²";
        lblDist.innerText = dist + " m";

        // Wyliczenie długości
        const coilLength = parseFloat((area * currentMultiplier).toFixed(1));
        const leadsLength = dist * 2;
        const totalLength = parseFloat((coilLength + leadsLength).toFixed(1));

        txtCalculated.innerText = "Całkowity obwód: " + totalLength + " metra";

        // Sprawdzenie kryterium inżynierskiego (limit 100m wg PN-EN 1264)
        if (totalLength <= 100) {
            statusCard.className = "rk-loop-status-card success";
            iconSuccess.style.display = "block";
            iconDanger.style.display = "none";
            txtStatus.innerText = "Bezpieczny przepływ liniowy";
            txtDesc.innerText = "Opory hydrauliczne obwodu mieszczą się w normatywnym limicie do 20 kPa. Standardowa pompa obiegowa bez problemu przetłoczy wodę.";
            
            txtExplanation.innerHTML = "Dla wybranego pomieszczenia o powierzchni " + area + " m² rura w wężownicy zajmuje " + coilLength + " metrów. Dodając odległość do rozdzielacza (" + leadsLength + " m podeść w obie strony), zamykasz się w " + totalLength + " metrach. Taki obwód ułożony na jednej sekcji gwarantuje prawidłowe <a href='https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/'>zbalansowanie hydrauliczne</a> systemu bez strat energii.";
        } else {
            statusCard.className = "rk-loop-status-card danger";
            iconSuccess.style.display = "none";
            iconDanger.style.display = "block";
            txtStatus.innerText = "Krytyczne opory hydrauliczne!";
            txtDesc.innerText = "Przekroczenie bariery 100 metrów drastycznie podnosi straty ciśnienia powyżej 20 kPa. Ta sekcja grozi permanentnym niedogrzaniem strefowym.";
            
            const splitLoops = (totalLength / 2).toFixed(1);
            txtExplanation.innerHTML = "Uwaga: Całkowity wynik " + totalLength + " metra przekracza bezpieczną barierę inżynierską. Aby instalacja działała wydajnie, obwód ten należy bezwzględnie rozbić na <strong>dwie niezależne pętle</strong> po ok. " + splitLoops + " metra każda. Taki podział zredukuje opory o ponad połowę i uchroni Cię przed wadami, jakie generuje <a href='https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/'>za długa pętla podłogówki</a>. Pamiętaj, aby uwzględnić to, dobierając odpowiedni <a href='https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/'>rozdzielacz do podłogówki</a>.";
        }
    }

    inpArea.addEventListener('input', calculateHydraulicStatus);
    inpDist.addEventListener('input', calculateHydraulicStatus);

    // Pierwsze uruchomienie
    calculateHydraulicStatus();
});
</script>



<style>
:root {
    --rk-cons-dark: #0f172a;
    --rk-cons-blue: #0284c7;
    --rk-cons-blue-light: #f0f9ff;
    --rk-cons-red: #ef4444;
    --rk-cons-red-light: #fef2f2;
    --rk-cons-amber: #f59e0b;
    --rk-cons-border: #e2e8f0;
    --rk-cons-text: #334155;
    --rk-cons-muted: #64748b;
}

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

.rk-cons-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-cons-border);
}

.rk-cons-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-cons-dark);
    line-height: 1.3;
}

.rk-cons-header p {
    font-size: 16px;
    color: var(--rk-cons-text);
    line-height: 1.6;
    margin: 0;
}

/* Panel Interaktywnego Symulatora Usterek */
.rk-cons-workspace {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: #fafafa;
}

/* Selektor awarii (pionowy stos) */
.rk-cons-menu {
    padding: 25px;
    background: #ffffff;
    border-right: 1px solid var(--rk-cons-border);
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Wypycha widget na dół */
    gap: 20px;
}

.rk-cons-btn-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-cons-menu-btn {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-cons-border);
    background: #f8fafc;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 12px;
}

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

.rk-cons-menu-btn.active {
    background: var(--rk-cons-red-light);
    border-color: var(--rk-cons-red);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.05);
}

.rk-cons-btn-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--rk-cons-muted);
    transition: all 0.3s;
    flex-shrink: 0;
}

.rk-cons-menu-btn.active .rk-cons-btn-dot {
    background: var(--rk-cons-red);
    transform: scale(1.3);
}

.rk-cons-btn-text {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-cons-dark);
}

/* Widget Długi Ogon - Lewa Kolumna Dół */
.rk-cons-sidebar-widget {
    background: var(--rk-cons-blue-light);
    border: 1px solid #bae6fd;
    border-radius: 12px;
    padding: 20px;
}

.rk-cons-widget-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--rk-cons-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 12px 0;
}

.rk-cons-widget-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-cons-widget-list li {
    font-size: 13px;
    line-height: 1.4;
    position: relative;
    padding-left: 15px;
}

.rk-cons-widget-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--rk-cons-blue);
    font-weight: bold;
}

.rk-cons-widget-list a {
    color: var(--rk-cons-text);
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}

.rk-cons-widget-list a:hover {
    color: var(--rk-cons-blue);
    text-decoration: underline;
}

/* Ekran Wizualizacji i Monitora Danych */
.rk-cons-display {
    padding: 35px;
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    gap: 25px;
}

/* Panel Diagnostyczny SVG */
.rk-cons-monitor-box {
    background: #ffffff;
    border: 1px solid var(--rk-cons-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.rk-cons-gauge-wrapper {
    width: 120px;
    height: 120px;
    flex-shrink: 0;
}

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

.dial-pointer {
    transform-origin: 50px 50px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform: rotate(0deg);
}

.rk-cons-metrics {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-cons-metric-card {
    background: #f8fafc;
    border: 1px solid var(--rk-cons-border);
    border-radius: 10px;
    padding: 12px 15px;
}

.rk-cons-metric-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-cons-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rk-cons-metric-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cons-dark);
}

.rk-cons-metric-value.danger {
    color: var(--rk-cons-red);
}

/* Blok opisu tekstowego */
.rk-cons-text-card {
    background: #ffffff;
    border: 1px solid var(--rk-cons-border);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.01);
}

.rk-cons-text-card h3 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cons-dark);
}

.rk-cons-text-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-cons-text-card a {
    color: var(--rk-cons-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-cons-header { padding: 30px 20px; }
    .rk-cons-workspace { grid-template-columns: 1fr; }
    .rk-cons-menu { border-right: none; border-bottom: 1px solid var(--rk-cons-border); padding: 20px; }
    .rk-cons-display { padding: 25px 20px; }
    .rk-cons-monitor-box { flex-direction: column; text-align: center; padding: 20px; gap: 20px; }
    .rk-cons-metrics { width: 100%; grid-template-columns: 1fr; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-konsekwencje",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Jakie są konsekwencje braku projektu instalacji ogrzewania podłogowego?",
    "description": "Analiza awarii i strat finansowych wynikających z montażu podłogówki bez obliczeń: niedogrzanie łazienek, koszty kucia jastrychu i marnowanie energii.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-konsekwencje",
    "name": "Koszty awaryjne i odchylenia temperatur HVAC",
    "description": "Zbiór danych techniczno-ekonomicznych obrazujących finansowe skutki błędów instalacyjnych: wydatki na kucie betonu, wzrost zużycia energii o 40% oraz niedogrzanie strefowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "konsekwencje braku projektu podłogówki",
      "za długa pętla podłogówki",
      "pękanie wylewki ogrzewanie podłogowe",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "objawy zapowietrzenia ogrzewania podłogowego"
    ],
    "measurementTechnique": "Kompilacja danych kosztorysowych i odchyleń temperatur posadzki na podstawie rzeczywistych ekspertyz inżynierskich HVAC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Usterka hydrauliczna: Koszt naprawy po wylaniu posadzek wynosi od 30 000 do 80 000 PLN.",
        "Marnowanie energii: Praca na parametrach awaryjnych zwiększa zużycie prądu przez pompę o 40%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-konsekwencje",
    "name": "Interaktywny Panel Diagnostyki Wad Hydraulicznych",
    "description": "Moduł symulacyjny obrazujący odchylenia temperatur normatywnych i generowane straty finansowe w przypadku zaniechania obliczeń inżynierskich.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cons-container" id="consequences-simulator-block">
    <div class="rk-cons-header">
        <h2>Jakie są konsekwencje braku projektu instalacji ogrzewania podłogowego?</h2>
        <p>Najgroźniejszą konsekwencją braku projektu jest trwała usterka hydrauliczna objawiająca się niedogrzaniem pomieszczeń, której usunięcie po wykonaniu wylewek kosztuje od <strong>30 000 PLN</strong> do nawet <strong>80 000 PLN</strong>. Zgodnie z danymi technicznymi, wadliwie zbalansowany system bez obliczonych nastaw wstępnych na rotametrach zużywa do <strong>40% więcej energii</strong>, pracując na parametrach awaryjnych.</p>
    </div>

    <div class="rk-cons-workspace">
        <div class="rk-cons-menu" id="consMenuList">
            <div class="rk-cons-btn-group">
                <button class="rk-cons-menu-btn active" data-index="1" data-angle="45" data-l1="Wymagane: 24°C" data-v1="Realne: 19-20°C" data-l2="Skutek finansowy" data-v2="Dogrzewanie elektryczne">
                    <div class="rk-cons-btn-dot"></div>
                    <div class="rk-cons-btn-text">1. Niedogrzanie łazienek</div>
                </button>
                <button class="rk-cons-menu-btn" data-index="2" data-angle="-45" data-l1="Wymagane: 18°C" data-v1="Realne: Przegrzewanie" data-l2="Komfort dobowy" data-v2="Zła jakość snu">
                    <div class="rk-cons-btn-dot"></div>
                    <div class="rk-cons-btn-text">2. Przegrzewanie sypialni</div>
                </button>
                <button class="rk-cons-menu-btn" data-index="3" data-angle="90" data-l1="Dopuszczalna pow." data-v1="Powyżej 40 m²" data-l2="Koszt kucia posadzki" data-v2="30 000 - 80 000 PLN">
                    <div class="rk-cons-btn-dot"></div>
                    <div class="rk-cons-btn-text">3. Pękanie jastrychu</div>
                </button>
            </div>

            <div class="rk-cons-sidebar-widget">
                <h4 class="rk-cons-widget-title">Diagnostyka Pokrewna</h4>
                <ul class="rk-cons-widget-list">
                    <li><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></li>
                    <li><a href="https://projekt-ogrzewania.pl/wady-wodnego-ogrzewania-podlogowego-na-co-zwrocic-uwage-przed-instalacja/">Wady wodnego ogrzewania podłogowego</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/objawy-zapowietrzenia-ogrzewania-podlogowego/">Objawy zapowietrzenia ogrzewania podłogowego</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/">Próba szczelności ogrzewania podłogowego</a></li>
                </ul>
            </div>
        </div>

        <div class="rk-cons-display">
            <div class="rk-cons-monitor-box">
                <div class="rk-cons-gauge-wrapper">
                    <svg class="rk-cons-svg-dial" viewBox="0 0 100 100">
                        <circle cx="50" cy="50" r="40" fill="none" stroke="#e2e8f0" stroke-width="6"/>
                        <path d="M 21.7 78.3 A 40 40 0 1 1 78.3 78.3" fill="none" stroke="#ef4444" stroke-width="6" stroke-linecap="round"/>
                        <g class="dial-pointer" id="consDialPointer" style="transform: rotate(45deg);">
                            <polygon points="50,15 46,50 54,50" fill="var(--rk-cons-dark)"/>
                            <circle cx="50" cy="50" r="5" fill="#ffffff" stroke="var(--rk-cons-dark)" stroke-width="2"/>
                        </g>
                    </svg>
                </div>
                
                <div class="rk-cons-metrics">
                    <div class="rk-cons-metric-card">
                        <div class="rk-cons-metric-label" id="lblMetric1">Wymg. Temperatura</div>
                        <div class="rk-cons-metric-value" id="valMetric1">Wymagane: 24°C</div>
                    </div>
                    <div class="rk-cons-metric-card">
                        <div class="rk-cons-metric-label" id="lblMetric2">Skutek finansowy</div>
                        <div class="rk-cons-metric-value danger" id="valMetric2">Dogrzewanie elektryczne</div>
                    </div>
                </div>
            </div>

            <div class="rk-cons-text-card">
                <div id="consDescriptionTarget">
                    <h3>Niedogrzanie łazienek</h3>
                    <p>Łazienka wymaga temperatury wewnętrznej 24°C (zgodnie z rozporządzeniem Ministra Infrastruktury). Bez projektu instalatorzy układają tam rury tak samo jak w salonie (co 15 cm), co przy ograniczonej powierzchni podłogi (pomniejszonej o brodzik czy wannę) pozwala uzyskać maksymalnie 19-20°C. Wybiera się wtedy rozwiązanie ratunkowe: dogrzewanie grzałkami elektrycznymi, generujące ogromne koszty eksploatacyjne. Często powodem jest też <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długa pętla podłogówki</a>, która wychładza się przed końcem obiegu.</p>
                </div>
            </div>
        </div>
    </div>

    <div style="display: none;" id="consDataStorage">
        <div id="cons-txt-1">
            <h3>Niedogrzanie łazienek</h3>
            <p>Łazienka wymaga temperatury wewnętrznej 24°C (zgodnie z rozporządzeniem Ministra Infrastruktury). Bez projektu instalatorzy układają tam rury tak samo jak w salonie (co 15 cm), co przy ograniczonej powierzchni podłogi (pomniejszonej o brodzik czy wannę) pozwala uzyskać maksymalnie 19-20°C. Wybiera się wtedy rozwiązanie ratunkowe: dogrzewanie grzałkami elektrycznymi, generujące ogromne koszty eksploatacyjne. Często powodem jest też <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/">za długa pętla podłogówki</a>, która wychładza się przed końcem obiegu.</p>
        </div>
        <div id="cons-txt-2">
            <h3>Przegrzewanie sypialni</h3>
            <p>Pomieszczenia nocne wymagają stabilnej temperatury na poziomie 18°C. Brak precyzyjnych obliczeń cieplnych skutkuje ułożeniem nadmiernej ilości rur przez instalatorów pracujących bez dokumentacji, co wywołuje permanentne przegrzewanie i złą jakość snu mieszkańców. Prawidłowe zbalansowanie i podział na strefy grzewcze gwarantuje tylko rzetelne określenie geometrii pętli, co opisujemy w poradniku: <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">jak zaplanować rozmieszczenie pętli grzewczych</a>.</p>
        </div>
        <div id="cons-txt-3">
            <h3>Pękanie jastrychu i okładzin podłogowych</h3>
            <p>Brak wyznaczonych stref dylatacyjnych w projekcie (wymaganych bezwzględnie przy powierzchniach powyżej 40 m² lub długości boku pomieszczenia powyżej 8 m) prowadzi do niekontrolowanych pęknięć wylewki betonowej lub anhydrytowej pod wpływem ciągłej rozszerzalności termicznej, bezpowrotnie niszcząc drogie okładziny. Przed wylewkami sprawdź koniecznie, jak powinna wyglądać prawidłowa <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a>, by uniknąć katastrofalnych naprężeń mechanicznych.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const menuBtns = document.querySelectorAll('.rk-cons-menu-btn');
    const pointer = document.getElementById('consDialPointer');
    const valMetric1 = document.getElementById('valMetric1');
    const valMetric2 = document.getElementById('valMetric2');
    const descTarget = document.getElementById('consDescriptionTarget');

    menuBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Przełączanie klas aktywności przycisków
            menuBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            // Pobieranie danych z atrybutów przycisku
            const index = this.getAttribute('data-index');
            const angle = this.getAttribute('data-angle');
            const v1 = this.getAttribute('data-v1');
            const v2 = this.getAttribute('data-v2');

            // Animacja obrotu wskazówki SVG
            pointer.style.transform = `rotate(${angle}deg)`;

            // Aktualizacja pól tekstowych metryk diagnostycznych
            valMetric1.innerText = v1;
            valMetric2.innerText = v2;

            // Zmiana etykiety opisu dla kroku 3 (Specyfika jastrychu)
            const lbl1 = document.getElementById('lblMetric1');
            if(index === "3") {
                lbl1.innerText = "Próg dylatacji";
            } else {
                lbl1.innerText = "Status termiczny";
            }

            // Podmiana głównego bloku opisu z ukrytego magazynu HTML
            const localSource = document.getElementById(`cons-txt-${index}`);
            if (localSource) {
                descTarget.innerHTML = localSource.innerHTML;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-tbl-dark: #0f172a;
    --rk-tbl-blue: #0284c7;
    --rk-tbl-blue-light: #f0f9ff;
    --rk-tbl-border: #e2e8f0;
    --rk-tbl-text: #334155;
    --rk-tbl-muted: #64748b;
    --rk-tbl-green: #10b981;
    --rk-tbl-green-light: #h1fdf4;
}

.rk-tbl-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-tbl-border);
    overflow: hidden;
}

.rk-tbl-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-tbl-border);
}

.rk-tbl-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-tbl-dark);
    line-height: 1.3;
}

.rk-tbl-header p {
    font-size: 16px;
    color: var(--rk-tbl-text);
    line-height: 1.6;
    margin: 0;
}

/* Moduł Interaktywny */
.rk-tbl-workspace {
    padding: 35px 50px 40px;
    background: #f8fafc;
}

/* Selektor Wariantów (Widok Przełączników) */
.rk-tbl-selector-tabs {
    display: flex;
    gap: 10px;
    margin-bottom: 30px;
}

.rk-tbl-tab-btn {
    flex: 1;
    padding: 15px 20px;
    background: #ffffff;
    border: 1px solid var(--rk-tbl-border);
    border-radius: 12px;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rk-tbl-tab-btn:hover {
    background: #f1f5f9;
    border-color: var(--rk-tbl-muted);
}

.rk-tbl-tab-btn.active {
    background: var(--rk-tbl-blue);
    border-color: var(--rk-tbl-blue);
    box-shadow: 0 8px 20px -6px rgba(2, 132, 199, 0.3);
}

.rk-tbl-tab-label {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-tbl-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-tbl-tab-btn.active .rk-tbl-tab-label {
    color: rgba(255,255,255,0.8);
}

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

.rk-tbl-tab-btn.active .rk-tbl-tab-title {
    color: #ffffff;
}

/* Tabela Główna (Desktop) */
.rk-tbl-desktop-wrapper {
    background: #ffffff;
    border: 1px solid var(--rk-tbl-border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-matrix-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

.rk-matrix-table th {
    background: #ffffff;
    padding: 20px;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-tbl-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--rk-tbl-border);
}

.rk-matrix-table td {
    padding: 20px;
    font-size: 15px;
    color: var(--rk-tbl-text);
    border-bottom: 1px solid var(--rk-tbl-border);
    line-height: 1.5;
}

.rk-matrix-table tr:last-child td {
    border-bottom: none;
}

.rk-matrix-table td.param-name {
    font-weight: 800;
    color: var(--rk-tbl-dark);
    background: #fafafa;
    width: 25%;
}

/* Dynamiczne podświetlanie kolumn */
.col-highlight {
    transition: background-color 0.3s ease;
}

tr:hover .col-highlight {
    background-color: var(--rk-tbl-blue-light);
}

.rk-matrix-table td.active-col {
    background-color: linear-gradient(0deg, rgba(2,132,199,0.05) 0%, rgba(2,132,199,0.02) 100%) !important;
    font-weight: 700;
}

/* Widok Mobilny (Kafelki zamiast poziomej tabeli) */
.rk-tbl-mobile-cards {
    display: none;
    flex-direction: column;
    gap: 16px;
}

.rk-tbl-mobile-card {
    background: #ffffff;
    border: 1px solid var(--rk-tbl-border);
    border-radius: 16px;
    padding: 24px;
    display: none;
    animation: rkTblFade 0.4s ease forwards;
}

.rk-tbl-mobile-card.active {
    display: block;
}

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

.rk-tbl-mobile-card h3 {
    margin: 0 0 20px 0;
    font-size: 18px;
    font-weight: 900;
    color: var(--rk-tbl-blue);
    border-bottom: 1px solid var(--rk-tbl-border);
    padding-bottom: 10px;
}

.rk-mobile-row {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
}

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

.rk-mobile-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-tbl-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-mobile-value {
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-tbl-dark);
}

.rk-tbl-mobile-card a {
    color: var(--rk-tbl-blue);
    text-decoration: underline;
    font-weight: 700;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-tbl-header { padding: 30px 20px; }
    .rk-tbl-workspace { padding: 20px; }
    .rk-tbl-selector-tabs { flex-direction: column; gap: 8px; }
    .rk-tbl-tab-btn { padding: 12px 16px; }
    .rk-tbl-desktop-wrapper { display: none; }
    .rk-tbl-mobile-cards { display: flex; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-parametry",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Parametry techniczne ogrzewania podłogowego – Porównanie rozwiązań",
    "description": "Zestawienie fizyczne i wykonawcze jastrychów anhydrytowych oraz betonowych. Poznaj minimalne grubości wylewek, przewodność cieplną i bezwładność termiczną.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-parametry",
    "name": "Baza Właściwości Termofizycznych Jastrychów Grzewczych",
    "description": "Porównanie charakterystyki przewodzenia ciepła, grubości konstrukcyjnych i czasów reakcji dla systemów mokrych ogrzewania podłogowego wg PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "wylewka na ogrzewanie podłogowe",
      "rozstaw rur w ogrzewaniu podłogowym",
      "grubosc wylewki na ogrzewanie podlogowe",
      "czym jest system mokry w ogrzewaniu",
      "niska temperatura zasilania pompy ciepla"
    ],
    "measurementTechnique": "Dane laboratoryjno-normatywne wyznaczone na podstawie procedur badawczych określonych w europejskiej normie emisyjnej PN-EN 1264-2.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wylewka anhydrytowa: Przewodność 1.6 - 1.8 W/(m·K), minimalna grubość nad rurą od 20 mm, krótki czas reakcji.",
        "Jastrych betonowy: Przewodność 1.2 - 1.4 W/(m·K), wymagana grubość nad rurą min. 45 mm, wysoka akumulacja."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-parametry",
    "name": "Interaktywny Komparator Jastrychów Posadzkowych",
    "description": "Narzędzie do porównywania parametrów fizycznych i dopasowania typu posadzki grzewczej do planowanego źródła ciepła w budownictwie WT2021.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-tbl-container" id="technical-matrix-block">
    <div class="rk-tbl-header">
        <h2>Parametry techniczne ogrzewania podłogowego – Porównanie rozwiązań</h2>
        <p>Poniższe zestawienie przedstawia kluczowe parametry techniczne instalacji ogrzewania podłogowego w zależności od rodzaju zastosowanej wylewki oraz wybranego rozstawu rur grzewczych. Dane oparto na rygorystycznych wytycznych normy <strong>PN-EN 1264</strong>.</p>
    </div>

    <div class="rk-tbl-workspace">
        <div class="rk-tbl-selector-tabs" id="matrixSelectorBox">
            <button class="rk-tbl-tab-btn active" data-index="1">
                <span class="rk-tbl-tab-label">Wariant A</span>
                <span class="rk-tbl-tab-title">Anhydryt (Rozstaw 10 cm)</span>
            </button>
            <button class="rk-tbl-tab-btn" data-index="2">
                <span class="rk-tbl-tab-label">Wariant B</span>
                <span class="rk-tbl-tab-title">Anhydryt (Rozstaw 15 cm)</span>
            </button>
            <button class="rk-tbl-tab-btn" data-index="3">
                <span class="rk-tbl-tab-label">Wariant C</span>
                <span class="rk-tbl-tab-title">Beton (Rozstaw 15 cm)</span>
            </button>
            <button class="rk-tbl-tab-btn" data-index="4">
                <span class="rk-tbl-tab-label">Wariant D</span>
                <span class="rk-tbl-tab-title">Beton (Rozstaw 20 cm)</span>
            </button>
        </div>

        <div class="rk-tbl-desktop-wrapper">
            <table class="rk-matrix-table" id="rkTechMatrixTable">
                <thead>
                    <tr>
                        <th>Parametr techniczny</th>
                        <th class="col-highlight col-1">Anhydryt (co 10 cm)</th>
                        <th class="col-highlight col-2">Anhydryt (co 15 cm)</th>
                        <th class="col-highlight col-3">Beton (co 15 cm)</th>
                        <th class="col-highlight col-4">Beton (co 20 cm)</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td class="param-name">Minimalna grubość nad rurą</td>
                        <td class="col-1"><strong>20 mm</strong></td>
                        <td class="col-2"><strong>25 mm</strong></td>
                        <td class="col-3"><strong>45 mm</strong></td>
                        <td class="col-4"><strong>50 mm</strong></td>
                    </tr>
                    <tr>
                        <td class="param-name">Przewodność cieplna (lambda)</td>
                        <td class="col-1"><strong>1,6 - 1,8 W/(m·K)</strong></td>
                        <td class="col-2"><strong>1,6 - 1,8 W/(m·K)</strong></td>
                        <td class="col-3"><strong>1,2 - 1,4 W/(m·K)</strong></td>
                        <td class="col-4"><strong>1,2 - 1,4 W/(m·K)</strong></td>
                    </tr>
                    <tr>
                        <td class="param-name">Max. wydajność (powierzchnia 29°C)</td>
                        <td class="col-1"><strong>100 W/m²</strong></td>
                        <td class="col-2"><strong>78 W/m²</strong></td>
                        <td class="col-3"><strong>65 W/m²</strong></td>
                        <td class="col-4"><strong>48 W/m²</strong></td>
                    </tr>
                    <tr>
                        <td class="param-name">Bezwładność cieplna (czas reakcji)</td>
                        <td class="col-1">ok. 1,5 - 2 godziny</td>
                        <td class="col-2">ok. 2 - 2,5 godziny</td>
                        <td class="col-3">ok. 4 - 5 godzin</td>
                        <td class="col-4">ok. 5 - 6 godzin</td>
                    </tr>
                    <tr>
                        <td class="param-name">Rekomendowane źródło ciepła</td>
                        <td class="col-1">Pompa ciepła (niskotemperaturowa)</td>
                        <td class="col-2">Pompa ciepła / Kocioł gazowy</td>
                        <td class="col-3">Kocioł gazowy / Pompa ciepła</td>
                        <td class="col-4">Kocioł gazowy / Kocioł na pellet</td>
                    </tr>
                </tbody>
            </table>
        </div>

        <div class="rk-tbl-mobile-cards" id="rkTblMobileCardsContainer">
            <div class="rk-tbl-mobile-card active" id="m-card-1">
                <h3>Wylewka anhydrytowa (rozstaw rur 10 cm)</h3>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Minimalna grubość nad rurą:</span>
                    <span class="rk-mobile-value">20 mm</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Przewodność cieplna:</span>
                    <span class="rk-mobile-value">1,6 - 1,8 W/(m·K)</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Max. wydajność cieplna:</span>
                    <span class="rk-mobile-value">100 W/m²</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Czas reakcji systemu:</span>
                    <span class="rk-mobile-value">ok. 1,5 - 2 godziny</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Dedykowane źródło:</span>
                    <span class="rk-mobile-value">Certyfikowana <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompa ciepła</a> (niskotemperaturowa)</span>
                </div>
            </div>

            <div class="rk-tbl-mobile-card" id="m-card-2">
                <h3>Wylewka anhydrytowa (rozstaw rur 15 cm)</h3>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Minimalna grubość nad rurą:</span>
                    <span class="rk-mobile-value">25 mm</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Przewodność cieplna:</span>
                    <span class="rk-mobile-value">1,6 - 1,8 W/(m·K)</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Max. wydajność cieplna:</span>
                    <span class="rk-mobile-value">78 W/m²</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Czas reakcji systemu:</span>
                    <span class="rk-mobile-value">ok. 2 - 2,5 godziny</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Dedykowane źródło:</span>
                    <span class="rk-mobile-value">Pompa ciepła / Kondensacyjny <a href="https://projekt-ogrzewania.pl/kociol-gazowy/">kocioł gazowy</a></span>
                </div>
            </div>

            <div class="rk-tbl-mobile-card" id="m-card-3">
                <h3>Jastrych betonowy (rozstaw rur 15 cm)</h3>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Minimalna grubość nad rurą:</span>
                    <span class="rk-mobile-value">45 mm</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Przewodność cieplna:</span>
                    <span class="rk-mobile-value">1,2 - 1,4 W/(m·K)</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Max. wydajność cieplna:</span>
                    <span class="rk-mobile-value">65 W/m²</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Czas reakcji systemu:</span>
                    <span class="rk-mobile-value">ok. 4 - 5 godzin</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Dedykowane źródło:</span>
                    <span class="rk-mobile-value">Kocioł gazowy / Klasyczna pompa obiegowa. Zobacz jak zachowuje się <a href="https://projekt-ogrzewania.pl/wylewka-na-ogrzewanie-podlogowe-kompletny-przewodnik/">wylewka na ogrzewanie podłogowe</a> typu tradycyjnego.</span>
                </div>
            </div>

            <div class="rk-tbl-mobile-card" id="m-card-4">
                <h3>Jastrych betonowy (rozstaw rur 20 cm)</h3>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Minimalna grubość nad rurą:</span>
                    <span class="rk-mobile-value">50 mm</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Przewodność cieplna:</span>
                    <span class="rk-mobile-value">1,2 - 1,4 W/(m·K)</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Max. wydajność cieplna:</span>
                    <span class="rk-mobile-value">48 W/m²</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Czas reakcji systemu:</span>
                    <span class="rk-mobile-value">ok. 5 - 6 godzin</span>
                </div>
                <div class="rk-mobile-row">
                    <span class="rk-mobile-label">Dedykowane źródło:</span>
                    <span class="rk-mobile-value">Kocioł gazowy / Ekonomiczny <a href="https://projekt-ogrzewania.pl/kociol-na-pellet/">kocioł na pellet</a>. Zweryfikuj optymalny <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym-co-10-czy-15-cm/">rozstaw rur w ogrzewaniu podłogowym</a> dla uniknięcia pętli awaryjnych.</span>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-tbl-tab-btn');
    const tableCells = document.querySelectorAll('#rkTechMatrixTable td, #rkTechMatrixTable th');
    const mobileCards = document.querySelectorAll('.rk-tbl-mobile-card');

    function highlightColumn(index) {
        // Usuwanie starych podświetleń z tabeli desktopowej
        tableCells.forEach(cell => {
            cell.style.backgroundColor = '';
            cell.style.fontWeight = '';
        });

        // Dodawanie podświetlenia dla wybranej kolumny (index od 1 do 4)
        const activeCells = document.querySelectorAll(`#rkTechMatrixTable .col-${index}`);
        activeCells.forEach(cell => {
            if(cell.tagName === 'TD' && !cell.classList.contains('param-name')) {
                cell.style.backgroundColor = 'var(--rk-tbl-blue-light)';
            }
        });
    }

    tabBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            tabBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const index = this.getAttribute('data-index');

            // Akcja Desktop
            highlightColumn(index);

            // Akcja Mobile
            mobileCards.forEach(card => card.classList.remove('active'));
            document.getElementById(`m-card-${index}`).classList.add('active');
        });
    });

    // Inicjalne podświetlenie pierwszej kolumny na starcie
    highlightColumn(1);
});
</script>



<style>
:root {
    --rk-calc-dark: #0f172a;
    --rk-calc-blue: #0284c7;
    --rk-calc-blue-light: #e0f2fe;
    --rk-calc-bg-light: #f8fafc;
    --rk-calc-border: #e2e8f0;
    --rk-calc-text: #334155;
    --rk-calc-muted: #64748b;
    --rk-calc-green: #10b981;
    --rk-calc-green-light: #dcfce7;
}

.rk-calc-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-calc-border);
    overflow: hidden;
}

.rk-calc-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-calc-border);
}

.rk-calc-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-calc-dark);
    line-height: 1.3;
}

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

/* Moduł roboczy kalkulatora */
.rk-calc-workspace {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--rk-calc-bg-light);
    border-bottom: 1px solid var(--rk-calc-border);
}

/* Panel wejściowy (lewa strona) */
.rk-calc-inputs-sidebar {
    padding: 40px;
    background: #ffffff;
    border-right: 1px solid var(--rk-calc-border);
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-calc-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

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

.rk-calc-slider-container {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-calc-range {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    border-radius: 3px;
    background: var(--rk-calc-border);
    outline: none;
}

.rk-calc-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--rk-calc-blue);
    cursor: pointer;
    transition: transform 0.1s;
}

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

.rk-calc-number-box {
    width: 80px;
    padding: 8px 12px;
    border: 1px solid var(--rk-calc-border);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-dark);
    text-align: center;
    background: var(--rk-calc-bg-light);
}

/* Panel wynikowy (prawa strona) */
.rk-calc-results-display {
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
}

.rk-calc-res-card {
    background: #ffffff;
    border: 1px solid var(--rk-calc-border);
    border-radius: 14px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-calc-res-card.highlight {
    border-color: var(--rk-calc-green);
    background: var(--rk-calc-green-light);
}

.rk-calc-svg-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
}

.rk-calc-res-info h4 {
    margin: 0 0 4px 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-calc-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-calc-res-info .value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-calc-dark);
}

/* Sekcja opisu kroków algorytmu pod kalkulatorem */
.rk-calc-steps-details {
    padding: 40px 50px;
    background: #ffffff;
    border-top: 1px solid var(--rk-calc-border);
}

.rk-calc-steps-details h3 {
    margin: 0 0 25px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-calc-dark);
}

.rk-calc-step-row {
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--rk-calc-border);
}

.rk-calc-step-row:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.rk-calc-step-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-calc-blue);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-calc-step-row p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-calc-text);
    margin: 0 0 12px 0;
}

.rk-calc-formula-badge {
    display: inline-block;
    background: var(--rk-calc-bg-light);
    border: 1px solid var(--rk-calc-border);
    padding: 8px 16px;
    border-radius: 8px;
    font-family: monospace;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-calc-dark);
}

.rk-calc-step-row a {
    color: var(--rk-calc-blue);
    text-decoration: underline;
    font-weight: 700;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-calc-header { padding: 30px 20px; }
    .rk-calc-workspace { grid-template-columns: 1fr; }
    .rk-calc-inputs-sidebar { padding: 25px 20px; border-right: none; border-bottom: 1px solid var(--rk-calc-border); }
    .rk-calc-results-display { padding: 25px 20px; }
    .rk-calc-steps-details { padding: 30px 20px; }
    .rk-calc-res-card { padding: 15px; gap: 15px; }
    .rk-calc-res-info .value { font-size: 18px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-kalkulator",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Kalkulator ogrzewania podłogowego – Algorytm obliczeniowy krok po kroku",
    "description": "Profesjonalny inżynierski algorytm obliczeniowy instalacji podłogowej. Wyznacz projektowe obciążenie cieplne, gęstość strumienia oraz wymagany przepływ wody.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-kalkulator",
    "name": "Stałe fizyczne algorytmu hydraulicznego PN-EN 1264",
    "description": "Zestaw stałych obliczeniowych dla wody: ciepło właściwe 1.163 Wh/(kg·K), narzut bezpieczeństwa obciążenia 1.15, normatywny spadek temperatury deltaT = 5K.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "kompleksowy kalkulator ogrzewania podłogowego",
      "projektowe obciążenie cieplne ozc",
      "norma obliczeń ogrzewania podłogowego en 1264",
      "spadek temperatury instalacji",
      "rotametr wskaźnik przepływu"
    ],
    "measurementTechnique": "Wyliczenia matematyczne bilansu cieplno-przepływowego stref grzewczych na podstawie zmiennych dynamicznych wprowadzanych przez użytkownika.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Ciepło właściwe wody: 1.163 Wh/(kg·K) stosowane do wyznaczenia strumienia masowego.",
        "Współczynnik korekcyjny: 1.15 podnoszący bazowe straty przenikania i wentylacji do wartości projektowej."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-kalkulator",
    "name": "Interaktywny Kalkulator Przepływów Hydraulicznych HVAC",
    "description": "Aplikacja obliczeniowa służąca do symulacji gęstości strumienia cieplnego oraz pożądanych nastaw rotometrów w litrach na minutę.",
    "applicationCategory": "ComputationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-calc-container" id="hydraulic-calculator-block">
    <div class="rk-calc-header">
        <h2>Kalkulator ogrzewania podłogowego – Algorytm obliczeniowy krok po kroku</h2>
        <p>Projektowanie instalacji ogrzewania podłogowego opiera się na ścisłym algorytmie matematyczno-fizycznym, determinowanym przez normę <strong>PN-EN 1264</strong>. Poniżej znajduje się inżynierski opis procedury obliczeniowej wraz z kalkulatorem, który pozwala wyznaczyć kluczowe parametry hydrauliczne dla pojedynczego pomieszczenia.</p>
    </div>

    <div class="rk-calc-workspace">
        <div class="rk-calc-inputs-sidebar">
            <div class="rk-calc-group">
                <label class="rk-calc-label" for="inpLosses">Straty ciepła pokoju (Q_tr + Q_v)</label>
                <div class="rk-calc-slider-container">
                    <input type="range" class="rk-calc-range" id="inpLosses" min="200" max="2500" step="50" value="1000">
                    <span class="rk-calc-number-box" id="valLosses">1000 W</span>
                </div>
            </div>
            <div class="rk-calc-group">
                <label class="rk-calc-label" for="inpArea">Aktywna powierzchnia grzewcza (A_g)</label>
                <div class="rk-calc-slider-container">
                    <input type="range" class="rk-calc-range" id="inpArea" min="5" max="50" step="1" value="20">
                    <span class="rk-calc-number-box" id="valArea">20 m²</span>
                </div>
            </div>
            <div class="rk-calc-group">
                <label class="rk-calc-label" for="inpDelta">Schłodzenie czynnika (Spadek temperatury ΔT)</label>
                <div class="rk-calc-slider-container">
                    <input type="range" class="rk-calc-range" id="inpDelta" min="3" max="8" step="1" value="5">
                    <span class="rk-calc-number-box" id="valDelta">5 K</span>
                </div>
            </div>
        </div>

        <div class="rk-calc-results-display">
            <div class="rk-calc-res-card">
                <svg class="rk-calc-svg-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-calc-blue)" 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>
                <div class="rk-calc-res-info">
                    <h4>Obciążenie projektowe (Q_obl)</h4>
                    <div class="value" id="resQobl">1150 W</div>
                </div>
            </div>
            
            <div class="rk-calc-res-card">
                <svg class="rk-calc-svg-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-calc-blue)" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="2"></rect><path d="M9 3v18M15 3v18M3 9h18M3 15h18"></path></svg>
                <div class="rk-calc-res-info">
                    <h4>Gęstość strumienia (q)</h4>
                    <div class="value" id="resFlux">57.5 W/m²</div>
                </div>
            </div>

            <div class="rk-calc-res-card highlight">
                <svg class="rk-calc-svg-icon" viewBox="0 0 24 24" fill="none" stroke="var(--rk-calc-green)" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"></path></svg>
                <div class="rk-calc-res-info">
                    <h4>Nastawa na rotometrze (m)</h4>
                    <div class="value" id="resFlow" style="color: var(--rk-calc-green);">3.3 l/min</div>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-calc-steps-details">
        <h3>Opis procedury obliczeniowej</h3>
        
        <div class="rk-calc-step-row">
            <div class="rk-calc-step-title">Krok 1: Wyznaczenie projektowego obciążenia cieplnego (Q_obl)</div>
            <p>W pierwszym kroku obliczamy realne zapotrzebowanie pomieszczenia na ciepło, uwzględniając straty przez przenikanie oraz wentylację, powiększone o współczynnik bezpieczeństwa. Wszystkie te elementy uwzględnia profesjonalny <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projekt obciążenia cieplnego OZC</a>.</p>
            <div class="rk-calc-formula-badge">Wzór: Q_obl = (Q_tr + Q_v) * 1.15</div>
        </div>

        <div class="rk-calc-step-row">
            <div class="rk-calc-step-title">Krok 2: Obliczenie gęstości strumienia cieplnego (q)</div>
            <p>Gęstość strumienia cieplnego to ilość mocy grzewczej, jaką musi oddać jeden metr kwadratowy podłogi grzewczej, aby pokryć straty ciepła. Powierzchnia ta (A_g) jest pomniejszana o stałą zabudowę (np. wyspy kuchenne), co szczegółowo omawiamy w artykule opisującym <a href="https://projekt-ogrzewania.pl/gdzie-nie-ukladac-ogrzewania-podlogowego/">miejsca, gdzie nie należy układać ogrzewania podłogowego</a>.</p>
            <div class="rk-calc-formula-badge">Wzór: q = Q_obl / A_g</div>
        </div>

        <div class="rk-calc-step-row">
            <div class="rk-calc-step-title">Krok 3: Wyznaczenie przepływu masowego czynnika (m)</div>
            <p>Przepływ masowy określa, ile wody grzewczej musi przepłynąć przez wężownicę w ciągu godziny, aby dostarczyć wymaganą moc przy założonym schłodzeniu czynnika (ΔT). Uzyskany przepływ w litrach na minutę jest kluczowy dla instalatora – to właśnie tę wartość ustawia się na rotometrach rozdzielacza, co ułatwia nasz <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/">kompleksowy kalkulator ogrzewania podłogowego</a>.</p>
            <div class="rk-calc-formula-badge">Wzór: m = Q_obl / (c_w * ΔT)</div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const inpLosses = document.getElementById('inpLosses');
    const inpArea = document.getElementById('inpArea');
    const inpDelta = document.getElementById('inpDelta');

    const valLosses = document.getElementById('valLosses');
    const valArea = document.getElementById('valArea');
    const valDelta = document.getElementById('valDelta');

    const resQobl = document.getElementById('resQobl');
    const resFlux = document.getElementById('resFlux');
    const resFlow = document.getElementById('resFlow');

    const cw = 1.163; // Ciepło właściwe wody Wh/(kg·K)

    function calculateHydraulics() {
        const losses = parseFloat(inpLosses.value);
        const area = parseFloat(inpArea.value);
        const deltaT = parseFloat(inpDelta.value);

        // Aktualizacja etykiet tekstowych suwaków
        valLosses.innerText = losses + " W";
        valArea.innerText = area + " m²";
        valDelta.innerText = deltaT + " K";

        // Krok 1: Q_obl
        const qObl = Math.round(losses * 1.15);
        resQobl.innerText = qObl + " W";

        // Krok 2: q
        const flux = (qObl / area).toFixed(1);
        resFlux.innerText = flux + " W/m²";

        // Krok 3: Przepływ masowy i przeliczenie na l/min
        // m_kg_h = Q_obl / (c_w * deltaT)
        // l_min = m_kg_h / 60
        const massFlowKgH = qObl / (cw * deltaT);
        const flowLMin = (massFlowKgH / 60).toFixed(1);
        resFlow.innerText = flowLMin + " l/min";
    }

    inpLosses.addEventListener('input', calculateHydraulics);
    inpArea.addEventListener('input', calculateHydraulics);
    inpDelta.addEventListener('input', calculateHydraulics);

    // Inicjalizacja pierwszego wyliczenia
    calculateHydraulics();
});
</script>



<style>
:root {
    --rk-opt-dark: #0f172a;
    --rk-opt-blue: #0284c7;
    --rk-opt-blue-light: #e0f2fe;
    --rk-opt-bg-light: #f8fafc;
    --rk-opt-border: #e2e8f0;
    --rk-opt-text: #334155;
    --rk-opt-muted: #64748b;
    --rk-opt-green: #10b981;
}

.rk-opt-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-opt-border);
    overflow: hidden;
}

.rk-opt-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-opt-border);
}

.rk-opt-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-opt-dark);
    line-height: 1.3;
}

.rk-opt-header p {
    font-size: 16px;
    color: var(--rk-opt-text);
    line-height: 1.6;
    margin: 0;
}

/* Interaktywny Moduł Flowchart i Zawartości */
.rk-opt-workspace {
    padding: 40px 50px;
    background: var(--rk-opt-bg-light);
}

/* Graficzny łańcuch projektowy (Desktop) */
.rk-opt-flowchart-desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 40px;
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid var(--rk-opt-border);
}

.rk-opt-flow-node {
    flex: 1;
    background: var(--rk-opt-bg-light);
    border: 1px solid var(--rk-opt-border);
    border-radius: 10px;
    padding: 12px 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.rk-opt-flow-node.active {
    background: var(--rk-opt-blue);
    border-color: var(--rk-opt-blue);
}

.rk-opt-flow-node.active .rk-opt-node-title {
    color: #ffffff;
}

.rk-opt-node-step {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-opt-muted);
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.rk-opt-flow-node.active .rk-opt-node-step {
    color: rgba(255, 255, 255, 0.8);
}

.rk-opt-node-title {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-opt-dark);
    line-height: 1.3;
}

.rk-opt-flow-arrow {
    display: flex;
    align-items: center;
    color: var(--rk-opt-muted);
    flex-shrink: 0;
}

/* Panele z opisami technicznymi */
.rk-opt-content-box {
    background: #ffffff;
    border: 1px solid var(--rk-opt-border);
    border-radius: 16px;
    padding: 35px;
    box-shadow: 0 10px 25px -15px rgba(0,0,0,0.05);
}

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

.rk-opt-panel.active {
    display: block;
    animation: rkOptFadeIn 0.4s ease forwards;
}

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

.rk-opt-panel h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-opt-dark);
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.rk-opt-panel ul {
    margin: 0;
    padding: 0 0 0 20px;
}

.rk-opt-panel li {
    font-size: 15px;
    line-height: 1.6;
    color: var(--rk-opt-text);
    margin-bottom: 12px;
}

.rk-opt-panel a {
    color: var(--rk-opt-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 3px;
}

.rk-opt-panel a:hover {
    color: #0369a1;
}

/* Układ Mobilny - Harmonijka / Akordeon zastępujący flowchart */
.rk-opt-accordion-mobile {
    display: none;
    flex-direction: column;
    gap: 12px;
}

/* Mocne CTA */
.rk-opt-cta-box {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-opt-dark) 0%, #1e293b 100%);
    text-align: center;
    border-top: 1px solid var(--rk-opt-border);
}

.rk-opt-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
}

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

.rk-btn-opt-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-opt-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid transparent;
}

.rk-btn-opt-action:hover {
    transform: translateY(-4px);
    background: #0369a1;
    box-shadow: 0 15px 30px -5px rgba(2, 132, 199, 0.6);
    border-color: #7dd3fc;
}

.rk-btn-opt-action svg {
    transition: transform 0.3s;
}

.rk-btn-opt-action:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-opt-header { padding: 30px 20px; }
    .rk-opt-workspace { padding: 20px; }
    .rk-opt-flowchart-desktop { display: none; }
    .rk-opt-content-box { display: none; }
    
    .rk-opt-accordion-mobile { display: flex; }
    
    .rk-opt-acc-item {
        background: #ffffff;
        border: 1px solid var(--rk-opt-border);
        border-radius: 12px;
        overflow: hidden;
    }
    
    .rk-opt-acc-trigger {
        width: 100%;
        background: transparent;
        border: none;
        padding: 16px 20px;
        text-align: left;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .rk-opt-acc-trigger .rk-opt-node-title {
        font-size: 15px;
    }
    
    .rk-opt-acc-icon {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: #f1f5f9;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s;
    }
    
    .rk-opt-acc-item.active .rk-opt-acc-icon {
        transform: rotate(180deg);
        background: var(--rk-opt-blue);
        color: #ffffff;
    }
    
    .rk-opt-acc-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
    }
    
    .rk-opt-acc-body {
        padding: 0 20px 20px 20px;
        border-top: 1px solid #f1f5f9;
        font-size: 14px;
        line-height: 1.6;
        color: var(--rk-opt-text);
    }
    
    .rk-opt-acc-body h3 {
        font-size: 16px;
        margin: 15px 0 10px 0;
        font-weight: 800;
    }
    
    .rk-opt-acc-body p {
        margin-bottom: 10px;
    }

    .rk-opt-cta-box { padding: 35px 20px; }
    .rk-btn-opt-action { 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/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-optymalizacja",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Jak to wpływa na projekt ogrzewania podłogowego? Optymalizacja parametrów budowlanych",
    "description": "Fizyka budowli i instalacje sanitarne a projektowanie podłogówki. Poznaj wpływ obliczeń OZC, grubości styropianu oraz rekuperacji na hydraulikę instalacji.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-optymalizacja",
    "name": "Macierz Zależności Projektowych HVAC WT2021",
    "description": "Zbiór danych technicznych odzwierciedlających wpływ izolacji termicznej gruntu oraz odzysku ciepła z wentylacji mechanicznej na końcowe opory hydrauliczne pętli grzewczych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "ile styropianu pod ogrzewanie podłogowe",
      "rekuperacja i ogrzewanie podłogowe",
      "projektowe obciążenie cieplne ozc",
      "kalkulator doboru pompy obiegowej"
    ],
    "measurementTechnique": "Algorytm symulacyjny oporów hydraulicznych i przenikania ciepła w oparciu o wytyczne normy PN-EN 1264-4 oraz PN-EN 12831.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Izolacja: Wymóg minimalny oporu cieplnego R_ins = 1.25 m²·K/W przy gruncie.",
        "Wentylacja: Redukcja strat wentylacyjnych o 75-85% dzięki zastosowaniu rekuperacji zmienia zapotrzebowanie na moc wężownic."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-optymalizacja",
    "name": "Interaktywny Schemat Kaskady Projektowej HVAC",
    "description": "Narzędzie inżynierskie wizualizujące przełożenie fizyki budowli na parametry robocze wężownic ogrzewania podłogowego i punkt pracy pompy obiegowej.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-opt-container" id="parameter-optimizer-block">
    <div class="rk-opt-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego? Optymalizacja parametrów budowlanych</h2>
        <p>Wszystkie decyzje dotyczące fizyki budowli i pozostałych instalacji sanitarnych mają bezpośrednie, zwrotne przełożenie na projekt techniczny. System podłogowy nie istnieje w próżni; jest on finalnym emiterem energii, którego konfiguracja zależy od izolacji termicznej, konstrukcji posadzki oraz sposobu wentylacji budynku.</p>
    </div>

    <div class="rk-opt-workspace">
        <div class="rk-opt-flowchart-desktop" id="rkOptFlowchart">
            <div class="rk-opt-flow-node active" data-step="1">
                <div class="rk-opt-node-step">Krok 1</div>
                <div class="rk-opt-node-title">Obliczenia OZC</div>
            </div>
            <div class="rk-opt-flow-arrow">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </div>
            <div class="rk-opt-flow-node" data-step="2">
                <div class="rk-opt-node-step">Krok 2</div>
                <div class="rk-opt-node-title">Izolacja Gruntu</div>
            </div>
            <div class="rk-opt-flow-arrow">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </div>
            <div class="rk-opt-flow-node" data-step="3">
                <div class="rk-opt-node-step">Krok 3</div>
                <div class="rk-opt-node-title">Wpływ Rekuperacji</div>
            </div>
            <div class="rk-opt-flow-arrow">
                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5"><polyline points="9 18 15 12 9 6"></polyline></svg>
            </div>
            <div class="rk-opt-flow-node" data-step="4">
                <div class="rk-opt-node-step">Krok 4</div>
                <div class="rk-opt-node-title">Dobór Pompy</div>
            </div>
        </div>

        <div class="rk-opt-content-box" id="rkOptContentBox">
            <div class="rk-opt-panel active" id="opt-panel-1">
                <h3>Kompleksowe obliczenia OZC (Norma PN-EN 12831)</h3>
                <p>Punktem wyjścia dla każdego projektu instalacji grzewczej jest dokładne określenie zapotrzebowania budynku na energię cieplną. Wyznaczenie dokładnych strat ciepła pozwala uniknąć przewymiarowania źródła energii i jest bazą do obliczania parametrów hydraulicznych pętli.</p>
                <p>Rzetelnie wykonany projekt określa zbieżność zapotrzebowania cieplnego poszczególnych stref z ograniczeniami emisyjnymi płaszczyzny podłogi. Zobacz szczegóły w artykule: <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>.</p>
            </div>
            
            <div class="rk-opt-panel" id="opt-panel-2">
                <h3>Grubość styropianu pod podłogówką a straty do gruntu</h3>
                <p>Zastosowanie odpowiedniej grubości izolacji termicznej pod rurami grzewczymi jest fundamentalne. Zgodnie z normą PN-EN 1264-4, opór cieplny izolacji pod elementem grzejnym w przypadku stropu nad przestrzenią nieogrzewaną lub gruntu musi wynosić minimum R_ins = 1.25 m²·K/W. W praktyce oznacza to konieczność użycia twardego styropianu (np. EPS 100 lub XPS) o łącznej grubości minimum 15 cm (układanego warstwowo, np. 10 cm + 5 cm z przesunięciem szwów w celu eliminacji mostków termicznych).</p>
                <p>Zmniejszenie tej grubości do 10 cm drastycznie zmienia wektor ucieczki ciepła. Podłogówka zamiast emitować energię w górę do pomieszczenia, zaczyna intensywnie grzać grunt pod budynkiem. Mostki termiczne na łączeniach płyt mogą generować straty ciepła w dół na poziomie nawet 15-20 W/m². Wpływa to bezpośrednio na projekt instalacji: projektant, widząc wyższe straty do gruntu, zmuszony jest zagęścić rozstaw rur lub podnieść temperaturę zasilania pompy ciepła, co bezpowrotnie obniża jej efektywność. Przeczytaj więcej o tym, <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu pod ogrzewanie podłogowe</a> należy zastosować w Twoim przypadku.</p>
            </div>

            <div class="rk-opt-panel" id="opt-panel-3">
                <h3>Wpływ rekuperacji na bilans cieplny i projekt pętli</h3>
                <p>Montaż wentylacji mechanicznej z odzyskiem ciepła (rekuperacji) radykalnie obniża zapotrzebowanie na moc grzewczą budynku, redukując straty wentylacyjne o 75-85%. Dla nowoczesnego domu oznacza to spadek całkowitego zapotrzebowania na ciepło o około 20-30 W/m².</p>
                <p>W kontekście projektu ogrzewania podłogowego obecność rekuperacji pozwala na:</p>
                <ul>
                    <li>Rozrzedzenie rozstawu rur w strefach bytowych z 10 cm do 15 cm, co generuje oszczędności na materiale (rura PEX, klipsy tackera).</li>
                    <li>Zmniejszenie liczby sekcji w rozdzielaczu, ponieważ mniejsze zapotrzebowanie na ciepło pozwala na projektowanie dłuższych pętli przy zachowaniu niskich oporów hydraulicznych.</li>
                    <li>Całkowitą zmianę bilansu cieplnego pomieszczeń o dużej kubaturze (np. salon z antresolą), gdzie rekuperacja zapobiega stagnacji ciepłego powietrza pod sufitem, eliminując konieczność przewymiarowywania pętli podłogowych w tych strefach. Dowiedz się czy <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja i ogrzewanie podłogowe</a> to opłacalny duet.</li>
                </ul>
            </div>

            <div class="rk-opt-panel" id="opt-panel-4">
                <h3>Dobór pompy ciepła i optymalizacja hydrauliczna</h3>
                <p>Projekt ogrzewania podłogowego jest dokumentem wyjściowym do prawidłowego doboru mocy pompy ciepła oraz parametrów jej pompy obiegowej. Dopiero po zsumowaniu mocy wszystkich pętli grzewczych oraz obliczeniu całkowitego strumienia objętościowego wody (przepływu masowego) znamy dokładny punkt pracy urządzenia.</p>
                <p>Jeśli z projektu wynika, że budynek przy temperaturze zewnętrznej -20°C potrzebuje 7,5 kW mocy grzewczej, a opory hydrauliczne najdłuższej pętli wraz z rozdzielaczem i rurociągami tranzytowymi wynoszą 24 kPa, dobiera się pompę ciepła o precyzyjnie dopasowanej krzywej grzewczej. Brak tych danych skutkuje dwojakim błędem: montażem pompy o zbyt dużej mocy (częste taktowanie, szybkie zużycie sprężarki) lub wyborem pompy ze zbyt słabą zintegrowaną pompą obiegową, co zmusza inwestora do montażu dodatkowego sprzęgła hydraulicznego i zewnętrznej pompy obiegowej, podnosząc koszt kotłowni o kolejne 2500 PLN. Skorzystaj z wiedzy i użyj <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowego/">kalkulatora doboru pompy obiegowej</a> dla optymalizacji hydrauliki.</p>
            </div>
        </div>

        <div class="rk-opt-accordion-mobile" id="rkOptAccordionMobile">
            <div class="rk-opt-acc-item active">
                <button class="rk-opt-acc-trigger">
                    <div class="rk-opt-node-title">Krok 1: Obliczenia OZC</div>
                    <div class="rk-opt-acc-icon">
                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-opt-acc-content" style="max-height: 500px;">
                    <div class="rk-opt-acc-body">
                        <h3>Kompleksowe obliczenia OZC (Norma PN-EN 12831)</h3>
                        <p>Punktem wyjścia dla każdego projektu instalacji grzewczej jest dokładne określenie zapotrzebowania budynku na energię cieplną. Wyznaczenie dokładnych strat ciepła pozwala uniknąć przewymiarowania źródła energii i jest bazą do obliczania parametrów hydraulicznych pętli.</p>
                        <p>Rzetelnie wykonany projekt określa zbieżność zapotrzebowania cieplnego poszczególnych stref z ograniczeniami emisyjnymi płaszczyzny podłogi. Zobacz szczegóły w artykule: <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowe obciążenie cieplne OZC</a>.</p>
                    </div>
                </div>
            </div>

            <div class="rk-opt-acc-item">
                <button class="rk-opt-acc-trigger">
                    <div class="rk-opt-node-title">Krok 2: Izolacja styropianowa</div>
                    <div class="rk-opt-acc-icon">
                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-opt-acc-content">
                    <div class="rk-opt-acc-body">
                        <h3>Grubość styropianu pod podłogówką a straty do gruntu</h3>
                        <p>Zkonfigurowany opór cieplny izolacji pod elementem grzejnym w przypadku stropu nad gruntem musi wynosić minimum R_ins = 1.25 m²·K/W (Norma PN-EN 1264-4). W praktyce oznacza to twardy styropian EPS 100 o grubości minimum 15 cm.</p>
                        <p>Zmniejszenie grubości do 10 cm drastycznie przekierowuje strumień energii w grunt (straty rzędu 15-20 W/m²). Projektant zmuszony jest wtedy zagęścić rozstaw rur lub podnieść parametry temperaturowe zasilania. Dowiedz się więcej: <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">ile styropianu pod ogrzewanie podłogowe</a>.</p>
                    </div>
                </div>
            </div>

            <div class="rk-opt-acc-item">
                <button class="rk-opt-acc-trigger">
                    <div class="rk-opt-node-title">Krok 3: Wpływ Rekuperacji</div>
                    <div class="rk-opt-acc-icon">
                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-opt-acc-content">
                    <div class="rk-opt-acc-body">
                        <h3>Wpływ rekuperacji na bilans cieplny i projekt pętli</h3>
                        <p>Rekuperacja redukuje straty wentylacyjne o 75-85%, co obniża całkowite zapotrzebowanie budynku o ok. 20-30 W/m².</p>
                        <p>W projekcie instalacji podłogowej pozwala to na bezpieczne rozrzedzenie rur z 10 cm do 15 cm w strefach bytowych, ograniczenie sekcji w rozdzielaczu oraz optymalne zrównoważenie pomieszczeń o dużej kubaturze z antresolami. Sprawdź: <a href="https://projekt-ogrzewania.pl/rekuperacja-i-ogrzewanie-podlogowe-czy-to-sie-oplaca/">rekuperacja i ogrzewanie podłogowe</a>.</p>
                    </div>
                </div>
            </div>

            <div class="rk-opt-acc-item">
                <button class="rk-opt-acc-trigger">
                    <div class="rk-opt-node-title">Krok 4: Pompa i Hydraulika</div>
                    <div class="rk-opt-acc-icon">
                        <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3"><polyline points="6 9 12 15 18 9"></polyline></svg>
                    </div>
                </button>
                <div class="rk-opt-acc-content">
                    <div class="rk-opt-acc-body">
                        <h3>Dobór pompy ciepła i optymalizacja hydrauliczna</h3>
                        <p>Suma mocy pętli oraz obliczony przepływ masowy definiują precyzyjny punkt pracy pompy obiegowej. Jeśli opory hydrauliczne najdłuższej sekcji wynoszą np. 24 kPa przy obciążeniu projektowym 7,5 kW (dla temperatury zewnętrznej -20°C), dobiera się precyzyjną krzywą grzewczą.</p>
                        <p>Brak obliczeń grozi taktowaniem sprężarki bądź koniecznością montażu dodatkowego sprzęgła hydraulicznego i zewnętrznej pompy, co podwyższa koszt inwestycji o kolejne 2500 PLN. Sprawdź <a href="https://projekt-ogrzewania.pl/kalkulator-doboru-pompy-obiegowej-w-ogrzewaniu-podlogowego/">kalkulator doboru pompy obiegowej</a>.</p>
                    </div>
                </div>
            </div>
        </div>

    </div>
    
    <div class="rk-opt-cta-box">
        <h3 class="rk-opt-cta-title">Fizyka budynku nie wybacza błędów w hydraulice</h3>
        <p class="rk-opt-cta-text">
            Nie zgaduj, czy Twoja pompa ciepła poradzi sobie z ucieczką energii do gruntu. Zamień ryzyko na twarde obliczenia inżynierskie i zyskaj idealnie zoptymalizowany system na lata.
        </p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-opt-action">
            ZAMÓW PROJEKT I ZOPTYMALIZUJ KOSZTY
            <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 nodes = document.querySelectorAll('.rk-opt-flow-node');
    const panels = document.querySelectorAll('.rk-opt-panel');

    nodes.forEach(node => {
        node.addEventListener('click', function() {
            nodes.forEach(n => n.classList.remove('active'));
            this.classList.add('active');

            const step = this.getAttribute('data-step');
            panels.forEach(p => p.classList.remove('active'));
            document.getElementById(`opt-panel-${step}`).classList.add('active');
        });
    });

    const accItems = document.querySelectorAll('.rk-opt-acc-item');

    accItems.forEach(item => {
        const trigger = item.querySelector('.rk-opt-acc-trigger');
        const content = item.querySelector('.rk-opt-acc-content');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            accItems.forEach(i => {
                i.classList.remove('active');
                i.querySelector('.rk-opt-acc-content').style.maxHeight = null;
            });

            if (!isActive) {
                item.classList.add('active');
                content.style.maxHeight = content.scrollHeight + "px";
            }
        });
    });
});
</script>



<style>
:root {
    --rk-err-dark: #0f172a;
    --rk-err-red: #dc2626;
    --rk-err-red-light: #fef2f2;
    --rk-err-amber: #d97706;
    --rk-err-gray: #64748b;
    --rk-err-border: #e2e8f0;
    --rk-err-bg: #ffffff;
    --rk-err-blue: #0284c7;
}

.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(220, 38, 38, 0.08);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

.rk-err-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-err-border);
}

.rk-err-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

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

/* Interaktywny Panel Diagnostyczny */
.rk-err-diagnostic-panel {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: #fafafa;
}

/* Selektor błędów (lewa strona) */
.rk-err-selector-list {
    padding: 25px;
    background: #ffffff;
    border-right: 1px solid var(--rk-err-border);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rk-err-menu-btn {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-err-border);
    background: #f8fafc;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-err-menu-btn:hover {
    background: #f1f5f9;
    border-color: var(--rk-err-gray);
}

.rk-err-menu-btn.active {
    background: var(--rk-err-red-light);
    border-color: var(--rk-err-red);
    box-shadow: 0 4px 12px rgba(220, 38, 38, 0.05);
}

.rk-err-btn-num {
    font-size: 12px;
    font-weight: 800;
    background: #e2e8f0;
    color: var(--rk-err-dark);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.rk-err-menu-btn.active .rk-err-btn-num {
    background: var(--rk-err-red);
    color: #ffffff;
}

.rk-err-btn-text {
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-err-dark);
    line-height: 1.3;
}

/* Ekran Wizualizacji Tekstowej (prawa strona) */
.rk-err-display-screen {
    padding: 35px 40px;
    display: flex;
    align-items: flex-start;
    background: #f8fafc;
}

.rk-err-content-card {
    background: #ffffff;
    border: 1px solid var(--rk-err-border);
    border-radius: 16px;
    padding: 35px 30px;
    width: 100%;
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.05);
    border-top: 4px solid var(--rk-err-red);
}

/* Animacja podmiany tekstu */
.rk-anim-fade-in {
    animation: fadeSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeSlideIn {
    0% { opacity: 0; transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Bloki Opisowe */
.rk-err-description-block h3 {
    margin: 0 0 15px 0;
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-err-red);
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.rk-err-description-block h3 svg {
    flex-shrink: 0;
    margin-top: 2px;
}

.rk-err-description-block p {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}

.rk-err-description-block a {
    color: var(--rk-err-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 3px;
    transition: color 0.2s;
}

.rk-err-description-block a:hover {
    color: #0369a1;
}

/* Tagi SEO (Ukryte) */
.rk-err-hidden-meta {
    display: none;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-err-header { padding: 30px 20px; }
    .rk-err-diagnostic-panel { grid-template-columns: 1fr; }
    .rk-err-selector-list { border-right: none; border-bottom: 1px solid var(--rk-err-border); padding: 20px; }
    .rk-err-display-screen { padding: 25px 20px; }
    .rk-err-content-card { padding: 25px 20px; }
    .rk-err-description-block h3 { font-size: 18px; }
    .rk-err-description-block p { font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Najczęstsze błędy wykonawcze wynikające z braku dokumentacji projektowej",
    "description": "Analiza inżynierska krytycznych błędów montażowych podłogówki: brak dylatacji, mieszanie rur i blokowanie emisji ciepła przez stałą zabudowę.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-bledy",
    "name": "Metryka awaryjności jastrychów grzewczych",
    "description": "Baza danych fizycznych konsekwencji błędów wykonawczych: wydłużenie liniowe betonu, współczynniki sztywności rur, parametry deformacji termicznej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy montażu ogrzewania podłogowego",
      "dylatacje ogrzewania podłogowego",
      "pękanie jastrychu podłogówki",
      "gdzie nie układać podłogówki",
      "awaria ogrzewania podłogowego koszty"
    ],
    "measurementTechnique": "Modelowanie naprężeń termiczno-mechanicznych płyty grzewczej dla wydłużeń liniowych na poziomie 0.5 mm na metr bieżący posadzki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wydłużenie jastrychu: Brak dylatacji niszczy wielkoformatowe gresy w pierwszym sezonie.",
        "Zasłanianie emisji: Układanie rur pod meblami stojącymi bezpośrednio na gruncie marnuje strumień ciepła."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-bledy",
    "name": "Interaktywny Symulator Wad Wykonawczych Jastrychu",
    "description": "Aplikacja inżynierska zestawiająca konsekwencje hydrauliczne i budowlane instalacji podłogowej w przypadku pominięcia wytycznych projektu technicznego.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-err-container" id="diagnostic-app-block">
    <div class="rk-err-header">
        <h2>Najczęstsze błędy wykonawcze wynikające z braku dokumentacji projektowej</h2>
        <p>Realizacja instalacji "na oko" przez ekipy wykonawcze bez nadzoru inżynierskiego to prosta droga do katastrofy budowlanej. Brak projektu uniemożliwia weryfikację poprawności prac na poszczególnych etapach technologicznych.</p>
    </div>

    <div class="rk-err-diagnostic-panel">
        <div class="rk-err-selector-list" id="errMenuList">
            <button class="rk-err-menu-btn active" data-error="error1">
                <div class="rk-err-btn-num">1</div>
                <div class="rk-err-btn-text">Brak dylatacji strefowych</div>
            </button>
            <button class="rk-err-menu-btn" data-error="error2">
                <div class="rk-err-btn-num">2</div>
                <div class="rk-err-btn-text">Mieszanie typów materiałów</div>
            </button>
            <button class="rk-err-menu-btn" data-error="error3">
                <div class="rk-err-btn-num">3</div>
                <div class="rk-err-btn-text">Przejścia przez szczeliny</div>
            </button>
            <button class="rk-err-menu-btn" data-error="error4">
                <div class="rk-err-btn-num">4</div>
                <div class="rk-err-btn-text">Zasłanianie stref zabudowy</div>
            </button>
        </div>

        <div class="rk-err-display-screen" id="errDisplayScreen">
            <div class="rk-err-content-card rk-anim-fade-in" id="errContentCard">
                <div class="rk-err-description-block" id="errDescriptionTarget">
                    <h3>
                        <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="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>
                        Brak dylatacji strefowych
                    </h3>
                    <p>Wylewka betonowa pod wpływem temperatury rozszerza się liniowo o ok. 0,5 mm na każdy metr. Brak wykonania szczelin dylatacyjnych wokół pomieszczeń oraz w progach drzwiowych skutkuje powstawaniem potężnych naprężeń. Efekt to pękanie jastrychu, odklejanie się wielkoformatowych gresów lub wybrzuszanie paneli podłogowych już w pierwszym sezonie grzewczym. Sprawdź, jak prawidłowo powinna zostać wykonana <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a> w Twoim domu.</p>
                </div>
            </div>
        </div>
    </div>
    
    <div class="rk-err-hidden-meta" id="errDataStorage">
        <div id="txt-error1">
            <h3>
                <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="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>
                Brak dylatacji strefowych
            </h3>
            <p>Wylewka betonowa pod wpływem temperatury rozszerza się liniowo o ok. 0,5 mm na każdy metr. Brak wykonania szczelin dylatacyjnych wokół pomieszczeń oraz w progach drzwiowych skutkuje powstawaniem potężnych naprężeń. Efekt to pękanie jastrychu, odklejanie się wielkoformatowych gresów lub wybrzuszanie paneli podłogowych już w pierwszym sezonie grzewczym. Sprawdź, jak prawidłowo powinna zostać wykonana <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacja brzegowa i dylatacje</a> w Twoim domu.</p>
        </div>
        <div id="txt-error2">
            <h3>
                <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="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>
                Mieszanie materiałów o różnej rozszerzalności
            </h3>
            <p>Układanie w obrębie jednej pętli grzewczej rur różnych producentów lub o różnych parametrach sztywności (np. rury PE-RT bez wkładki aluminiowej połączonej z PEX/AL/PEX) utrudnia prawidłowe zbalansowanie systemu i sprzyja powstawaniem ognisk korozji naprężeniowej na złączkach. Zobacz, jakie są <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> i chroń swój budżet przed awarią.</p>
        </div>
        <div id="txt-error3">
            <h3>
                <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="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>
                Nieprawidłowe przejścia przez szczeliny dylatacyjne
            </h3>
            <p>Rury przechodzące przez dylatacje muszą być bezwzględnie prowadzone w rurach ochronnych (peszlach) o długości minimum 50 cm (25 cm po każdej stronie szczeliny). Instalatorzy bez projektu często ignorują ten wymóg, co przy ruchach pracującej płyty betonowej doprowadza do ścięcia przewodu i spektakularnego wycieku wody pod posadzki. Wybierz sprawdzone rozwiązania, takie jak certyfikowana <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/">rura PEX do ogrzewania podłogowego</a> z barierą antydyfuzyjną.</p>
        </div>
        <div id="txt-error4">
            <h3>
                <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="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>
                Zasłanianie stref zabudowy stałej
            </h3>
            <p>Układanie rur pod planowanymi szafami wnękowymi, wyspami kuchennymi czy szafkami stojącymi bezpośrednio na podłodze prowadzi do przegrzewania mebli, zsychana się drewna oraz marnowania energii. Projekt architektoniczny wnętrza musi być bezwzględnie zintegrowany z mapą pętli grzewczych. Przeczytaj szczegółowy poradnik o tym, <a href="https://projekt-ogrzewania.pl/gdzie-nie-ukladac-ogrzewania-podlogowego/">gdzie nie układać ogrzewania podłogowego</a>, by uniknąć ekranowania strumienia ciepła.</p>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const menuBtns = document.querySelectorAll('.rk-err-menu-btn');
    const contentCard = document.getElementById('errContentCard');
    const descTarget = document.getElementById('errDescriptionTarget');

    menuBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Przełączanie klas aktywności przycisków
            menuBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const errorType = this.getAttribute('data-error');

            // Reset animacji dla płynnego przejścia
            contentCard.classList.remove('rk-anim-fade-in');
            void contentCard.offsetWidth; // Wymuszenie reflow
            contentCard.classList.add('rk-anim-fade-in');

            // Podmiana treści opisu z ukrytego kontenera danych
            const dataSource = document.getElementById(`txt-${errorType}`);
            if (dataSource) {
                descTarget.innerHTML = dataSource.innerHTML;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-cs-dark: #0f172a;
    --rk-cs-blue: #0284c7;
    --rk-cs-blue-light: #f0f9ff;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-muted: #64748b;
    --rk-cs-green: #10b981;
    --rk-cs-green-light: #dcfce7;
    --rk-cs-red: #ef4444;
    --rk-cs-red-light: #fef2f2;
    --rk-cs-gold: #f59e0b;
}

.rk-cs-container {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.06);
    border: 1px solid var(--rk-cs-border);
    overflow: hidden;
}

/* Sekcja Nagłówkowa */
.rk-cs-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-cs-border);
}

.rk-cs-header h2 {
    margin: 0 0 15px 0;
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    line-height: 1.3;
}

.rk-cs-header p {
    font-size: 16px;
    color: var(--rk-cs-text);
    line-height: 1.6;
    margin: 0;
}

/* Panel Interaktywnego Studium Przypadku */
.rk-cs-workspace {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: #fafafa;
    border-bottom: 1px solid var(--rk-cs-border);
}

/* Selektor Wariantów (Lewa kolumna) */
.rk-cs-menu {
    padding: 25px;
    background: #ffffff;
    border-right: 1px solid var(--rk-cs-border);
    display: flex;
    flex-direction: column;
    gap: 20px; /* Zastąpiono space-between naturalnym odstępem */
}

.rk-cs-btn-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-cs-menu-btn {
    width: 100%;
    padding: 16px 20px;
    border-radius: 12px;
    border: 1px solid var(--rk-cs-border);
    background: #f8fafc;
    text-align: left;
    cursor: pointer;
}

.rk-cs-menu-btn.active[data-index="1"] {
    background: var(--rk-cs-red-light);
    border-color: var(--rk-cs-red);
}

.rk-cs-menu-btn.active[data-index="2"] {
    background: var(--rk-cs-green-light);
    border-color: var(--rk-cs-green);
}

.rk-cs-btn-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cs-dark);
    margin-bottom: 4px;
}

.rk-cs-btn-subtitle {
    font-size: 12px;
    color: var(--rk-cs-muted);
    font-weight: 600;
}

/* Nowy Widget: Paragon Oszczędności */
.rk-cs-receipt-box {
    background: #ffffff;
    border: 2px dashed var(--rk-cs-green);
    border-radius: 12px;
    padding: 20px;
    position: relative;
    margin-top: 5px;
}

.rk-cs-receipt-badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-cs-green);
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 999px;
    white-space: nowrap;
}

.rk-cs-receipt-items {
    list-style: none;
    padding: 0;
    margin: 5px 0 12px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-cs-receipt-items li {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    color: var(--rk-cs-text);
    font-weight: 600;
}

.rk-cs-receipt-items li span {
    font-weight: 900;
    color: var(--rk-cs-green);
}

.rk-cs-receipt-total {
    border-top: 1px solid var(--rk-cs-border);
    padding-top: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-receipt-total span {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-cs-green);
}

/* Widget Nawigacyjny na Długi Ogon */
.rk-cs-sidebar-widget {
    background: var(--rk-cs-blue-light);
    border: 1px solid #bae6fd;
    border-radius: 12px;
    padding: 20px;
}

.rk-cs-widget-title {
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-cs-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 0 10px 0;
}

.rk-cs-widget-links {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rk-cs-widget-links li {
    font-size: 13px;
    line-height: 1.4;
}

.rk-cs-widget-links a {
    color: var(--rk-cs-text);
    text-decoration: none;
    font-weight: 600;
}

.rk-cs-widget-links a:hover {
    color: var(--rk-cs-blue);
    text-decoration: underline;
}

/* Ekran Wyświetlania Danych (Prawa strona) */
.rk-cs-display {
    padding: 35px;
    display: flex;
    flex-direction: column;
    gap: 25px;
}

/* Panel Metryk i Podsumowań */
.rk-cs-monitor-box {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 30px;
}

.rk-cs-icon-wrapper {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    background: var(--rk-cs-bg-light);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-cs-metrics-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rk-cs-metric-card {
    background: #f8fafc;
    border: 1px solid var(--rk-cs-border);
    border-radius: 10px;
    padding: 12px 15px;
}

.rk-cs-metric-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--rk-cs-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
}

.rk-cs-metric-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-metric-value.danger { color: var(--rk-cs-red); }
.rk-cs-metric-value.success { color: var(--rk-cs-green); }

/* Karta Opisowa Tekstu */
.rk-cs-text-card {
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 30px;
}

.rk-cs-text-card h4 {
    margin: 0 0 12px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-text-card p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-cs-text-card a {
    color: var(--rk-cs-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

/* Baner Promocyjny Premium na Końcu */
.rk-cs-promo-banner {
    padding: 45px 50px;
    background: linear-gradient(135deg, var(--rk-cs-dark) 0%, #1e293b 100%);
    text-align: center;
    position: relative;
    border-top: 4px solid var(--rk-cs-gold);
}

.rk-cs-promo-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rk-cs-gold);
    color: var(--rk-cs-dark);
    padding: 6px 20px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-cs-banner-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 10px 0;
}

.rk-cs-price-highlight {
    font-size: 18px;
    color: #e2e8f0;
    margin-bottom: 20px;
    font-weight: 600;
}

.rk-cs-price-highlight span {
    font-size: 38px;
    font-weight: 900;
    color: var(--rk-cs-gold);
    display: block;
    margin-top: 5px;
    line-height: 1;
}

.rk-cs-banner-desc {
    font-size: 15px;
    color: #94a3b8;
    max-width: 620px;
    margin: 0 auto 30px auto;
    line-height: 1.6;
}

.rk-cs-banner-desc strong {
    color: #ffffff;
}

.rk-btn-cs-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-cs-blue);
    color: #ffffff;
    font-size: 18px;
    font-weight: 900;
    padding: 18px 36px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(2, 132, 199, 0.4);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid transparent;
}

.rk-btn-cs-massive:hover {
    background: #0369a1;
    border-color: #7dd3fc;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-cs-header { padding: 30px 20px; }
    .rk-cs-workspace { grid-template-columns: 1fr; }
    .rk-cs-menu { border-right: none; border-bottom: 1px solid var(--rk-cs-border); padding: 20px; }
    .rk-cs-display { padding: 25px 20px; }
    .rk-cs-monitor-box { flex-direction: column; text-align: center; padding: 20px; gap: 20px; }
    .rk-cs-metrics-grid { width: 100%; grid-template-columns: 1fr; gap: 10px; }
    .rk-cs-promo-banner { padding: 45px 20px 35px; }
    .rk-cs-banner-title { font-size: 20px; }
    .rk-cs-price-highlight span { font-size: 32px; }
    .rk-btn-cs-massive { width: 100%; padding: 16px 20px; font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Zdaniem Roberta Kucharskiego: Studium przypadku optymalizacji kosztów instalacji 200 m²",
    "description": "Rzeczywiste studium przypadku pani Jadwigi z Poznania. Porównanie kosztów hydraulika szacującego 'na oko' z oszczędnościami z projektu inżynierskiego HVAC.",
    "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-casestudy",
    "name": "Zestawienie bilansu materiałowego wężownic PEX",
    "description": "Porównanie zapotrzebowania na rury grzewcze dla budynku 200 m² w oparciu o wskaźnik ryczałtowy (10m/m²) oraz zróżnicowany rozstaw strefowy (10 cm i 15 cm).",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury na m² ogrzewania podłogowego",
      "strefa brzegowa w ogrzewaniu podłogowym",
      "projektowe obciążenie cieplne ozc",
      "rozdzielacz do podłogówki kluczowy element",
      "błędy montażu ogrzewania podłogowego"
    ],
    "measurementTechnique": "Porównanie ryczałtu wykonawczego z obliczeniami numerycznymi długości przewodów grzewczych w oparciu o geometrię budynku.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Szacunek na oko: Płaskie zapotrzebowanie 2000m rury prowadzące do zakupu nadmiarowych obwodów i szafek.",
        "Obliczenia inżynierskie: Realne zużycie 1560m rury, redukcja pętli z 20 do 16, mniejsze rozdzielacze."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-casestudy",
    "name": "Interaktywny Analizator Wariantów Materiałowych Case Study",
    "description": "Narzędzie zestawiania kosztów ryczałtowych instalatorów z precyzyjnymi danymi wynikającymi z obliczeń inżynierskich.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-cs-container" id="case-study-block">
    <div class="rk-cs-header">
        <h2>Zdaniem Roberta Kucharskiego: Wydatek czy inwestycja? Analiza kosztów na przykładzie domu 200 m²</h2>
        <p>Aby ostatecznie dowieść, jak potężne znaczenie ma indywidualna dokumentacja techniczna, przeanalizujmy autentyczne studium przypadku pani Jadwigi z Poznania, właścicielki nowo wybudowanego domu o powierzchni użytkowej 200 m².</p>
    </div>

    <div class="rk-cs-workspace">
        <div class="rk-cs-menu" id="csMenuList">
            <div class="rk-cs-btn-group">
                <button class="rk-cs-menu-btn active" data-index="1" data-v1="2000 metrów" data-v2="20 pętli" data-v3="20 sekcji (Duże szafki)" data-v4="Tradycyjny ryczałt">
                    <div class="rk-cs-btn-title">Wycena hydraulika „na oko”</div>
                    <div class="rk-cs-btn-subtitle">Standardowy szablon wykonawcy</div>
                </button>
                <button class="rk-cs-menu-btn" data-index="2" data-v1="1560 metrów" data-v2="16 pętli" data-v3="16 sekcji (Mniejsze szafki)" data-v4="Zbalansowany inżyniersko">
                    <div class="rk-cs-btn-title">Projekt inżynierski OZC</div>
                    <div class="rk-cs-btn-subtitle">Dokładne wyliczenia numeryczne</div>
                </button>
            </div>

            <div class="rk-cs-receipt-box">
                <div class="rk-cs-receipt-badge">Analiza Zysków</div>
                <h4 class="rk-cs-receipt-title">Bilans materiałowy z projektu</h4>
                <ul class="rk-cs-receipt-items">
                    <li>Brak nadmiaru rur <span>+ 1760 zł</span></li>
                    <li>Mniejsze rozdzielacze <span>+ 640 zł</span></li>
                </ul>
                <div class="rk-cs-receipt-total">
                    Zostaje w kieszeni: <span>2400 zł</span>
                </div>
            </div>

            <div class="rk-cs-sidebar-widget">
                <h4 class="rk-cs-widget-title">Powiązane analizy</h4>
                <ul class="rk-cs-widget-links">
                    <li><a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">Ile rury na m² podłogówki</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">Rola strefy przy oknach</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">Wybór sekcji rozdzielacza</a></li>
                    <li><a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">Jak obliczamy OZC</a></li>
                </ul>
            </div>
        </div>

        <div class="rk-cs-display">
            <div class="rk-cs-monitor-box">
                <div class="rk-cs-icon-wrapper" id="rkCsStatusIcon">
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-cs-red)" stroke-width="2" id="csIconDanger" style="display: block;"><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>
                    <svg width="40" height="40" viewBox="0 0 24 24" fill="none" stroke="var(--rk-cs-green)" stroke-width="2" id="csIconSuccess" style="display: none;"><polyline points="20 6 9 17 4 12"></polyline></svg>
                </div>
                
                <div class="rk-cs-metrics-grid">
                    <div class="rk-cs-metric-card">
                        <div class="rk-cs-metric-label">Długość rury PEX</div>
                        <div class="rk-cs-metric-value danger" id="valCsMetric1">2000 metrów</div>
                    </div>
                    <div class="rk-cs-metric-card">
                        <div class="rk-cs-metric-label">Liczba obwodów</div>
                        <div class="rk-cs-metric-value" id="valCsMetric2">20 pętli</div>
                    </div>
                    <div class="rk-cs-metric-card">
                        <div class="rk-cs-metric-label">Wymóg rozdzielaczy</div>
                        <div class="rk-cs-metric-value" id="valCsMetric3">20 sekcji (Duże szafki)</div>
                    </div>
                    <div class="rk-cs-metric-card">
                        <div class="rk-cs-metric-label">Stan hydrauliki</div>
                        <div class="rk-cs-metric-value" id="valCsMetric4">Tradycyjny ryczałt</div>
                    </div>
                </div>
            </div>

            <div class="rk-cs-text-card">
                <div id="csDescriptionTarget">
                    <h4>Zagrożenie przeszacowaniem materiałowym</h4>
                    <p>Hydraulik wezwany na budowę pani Jadwigi zastosował potoczną metodę mnożenia powierzchni przez ryczałtowe zużycie (10 m rury na każdy m² posadzki). Zsumował całą przestrzeń i nakazał zakup aż 2000 metrów rury. Takie podejście wymusiło podział na 20 obwodów, generując olbrzymie, nadmiarowe koszty u hurtownika i zakup przewymiarowanych rozdzielaczy z szafkami, bez uwzględnienia realnych stref strat ciepła.</p>
                </div>
            </div>
        </div>
    </div>

    <div style="display: none;" id="csDataStorage">
        <div id="cs-txt-1">
            <h4>Zagrożenie przeszacowaniem materiałowym</h4>
            <p>Hydraulik wezwany na budowę pani Jadwigi zastosował potoczną metodę mnożenia powierzchni przez ryczałtowe zużycie (10 m rury na każdy m² posadzki). Zsumował całą przestrzeń i nakazał zakup aż 2000 metrów rury. Takie podejście wymusiło podział na 20 obwodów, generując olbrzymie, nadmiarowe koszty u hurtownika i zakup przewymiarowanych rozdzielaczy z szafkami, bez uwzględnienia realnych stref strat ciepła.</p>
        </div>
        <div id="cs-txt-2">
            <h4>Optymalizacja inżynierska i oszczędności</h4>
            <p>Złożenie zamówienia na projekt techniczny całkowicie zmieniło strukturę kosztów. Przeprowadzone obliczenia wykazały, że łazienki (20 m²) oraz krytyczne strefy przy oknach tarasowych HS (15 m²) wymagają zagęszczonego rozstawu rur co 10 cm. Jednak w pozostałych strefach bytowych (165 m²) w zupełności wystarczył optymalny rozstaw rur co 15 cm. Sumaryczne zużycie rurociągów spadło do 1560 metrów (o 440 m mniej!), co zredukowało liczbę pętli do 16 sekcji. Pani Jadwiga zakupiła mniejsze rozdzielacze i szafki, a instalacja działa bezawaryjnie na najniższych temperaturach roboczych pompy ciepła.</p>
        </div>
    </div>

    <div class="rk-cs-promo-banner">
        <div class="rk-cs-promo-badge">Promocja portalu</div>
        <h3 class="rk-cs-banner-title">Zainwestuj w projekt i zyskaj natychmiastowy zwrot</h3>
        <div class="rk-cs-price-highlight">
            Kompletny projekt techniczny ogrzewania podłogowego
            <span>550 zł za całość</span>
        </div>
        <p class="rk-cs-banner-desc">Historia pani Jadwigi udowadnia, że brak obliczeń to prosta droga do przepłacenia za materiały. Wydając 550 zł na profesjonalny projekt, <strong>zyskujesz średnio 2400 zł realnych oszczędności</strong> na samych rurach i rozdzielaczach. Otrzymujesz pełne obliczenia, rozstaw rur, przepływy oraz kompletną specyfikację do hurtowni.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-cs-massive">
            ZAMÓW PROJEKT ZA 550 ZŁ I OSZCZĘDZAJ
            <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 menuBtns = document.querySelectorAll('.rk-cs-menu-btn');
    const iconDanger = document.getElementById('csIconDanger');
    const iconSuccess = document.getElementById('csIconSuccess');
    
    const val1 = document.getElementById('valCsMetric1');
    const val2 = document.getElementById('valCsMetric2');
    const val3 = document.getElementById('valCsMetric3');
    const val4 = document.getElementById('valCsMetric4');
    
    const descTarget = document.getElementById('csDescriptionTarget');

    menuBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Natychmiastowe usuwanie i dodawanie klas aktywnych bez animacji
            menuBtns.forEach(b => b.classList.remove('active'));
            this.classList.add('active');

            const index = this.getAttribute('data-index');
            const v1 = this.getAttribute('data-v1');
            const v2 = this.getAttribute('data-v2');
            const v3 = this.getAttribute('data-v3');
            const v4 = this.getAttribute('data-v4');

            // Przypisywanie metryk
            val1.innerText = v1;
            val2.innerText = v2;
            val3.innerText = v3;
            val4.innerText = v4;

            // Zmiana stylów wizualnych w zależności od wariantu
            if (index === "1") {
                iconDanger.style.display = "block";
                iconSuccess.style.display = "none";
                val1.className = "rk-cs-metric-value danger";
                val4.className = "rk-cs-metric-value";
            } else {
                iconDanger.style.display = "none";
                iconSuccess.style.display = "block";
                val1.className = "rk-cs-metric-value success";
                val4.className = "rk-cs-metric-value success";
            }

            // Podmiana zawartości opisu
            const localSource = document.getElementById(`cs-txt-${index}`);
            if (localSource) {
                descTarget.innerHTML = localSource.innerHTML;
            }
        });
    });
});
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-blue: #0284c7;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-muted: #64748b;
    --rk-auth-bg: #f8fafc;
    --rk-auth-gold: #b45309;
    --rk-auth-gold-light: #fef3c7;
}

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

/* Sekcja Nagłówka z nazwiskiem w H2 */
.rk-auth-header {
    background: var(--rk-auth-dark);
    padding: 35px 50px;
    color: #ffffff;
}

.rk-auth-header h2 {
    margin: 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    color: #ffffff;
}

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

/* Główny układ: Profil + Treść */
.rk-auth-workspace {
    display: grid;
    grid-template-columns: 280px 1fr;
}

/* Lewa kolumna: Twarz i Autorytet */
.rk-auth-profile-box {
    padding: 40px 30px;
    background: var(--rk-auth-bg);
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-image-wrapper {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    overflow: hidden;
    margin-bottom: 20px;
}

.rk-auth-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rk-auth-name {
    font-size: 20px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
}

.rk-auth-role {
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-auth-blue);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 25px;
}

.rk-auth-socials {
    display: flex;
    gap: 15px;
    width: 100%;
    justify-content: center;
}

.rk-auth-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: #ffffff;
    border: 1px solid var(--rk-auth-border);
    border-radius: 8px;
    color: var(--rk-auth-dark);
    text-decoration: none;
}

.rk-auth-social-link:hover {
    background: var(--rk-auth-blue);
    color: #ffffff;
    border-color: var(--rk-auth-blue);
}

/* Prawa kolumna: Cytat i Interakcja */
.rk-auth-content-box {
    padding: 40px 50px;
}

.rk-auth-quote {
    font-size: 18px;
    line-height: 1.6;
    color: var(--rk-auth-dark);
    font-style: italic;
    font-weight: 600;
    margin: 0 0 30px 0;
    position: relative;
}

.rk-auth-quote::before {
    content: '"';
    font-size: 60px;
    color: var(--rk-auth-blue);
    opacity: 0.2;
    position: absolute;
    top: -20px;
    left: -20px;
    line-height: 1;
    font-family: serif;
}

/* Interaktywny Weryfikator (Bez animacji) */
.rk-auth-verifier {
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    overflow: hidden;
}

.rk-auth-verifier-header {
    background: var(--rk-auth-bg);
    padding: 15px 20px;
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-auth-dark);
    border-bottom: 1px solid var(--rk-auth-border);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-auth-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-tab-btn {
    flex: 1;
    padding: 15px;
    background: #ffffff;
    border: none;
    border-right: 1px solid var(--rk-auth-border);
    font-size: 13px;
    font-weight: 700;
    color: var(--rk-auth-muted);
    cursor: pointer;
}

.rk-auth-tab-btn:last-child {
    border-right: none;
}

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

.rk-auth-panel {
    display: none;
    padding: 25px;
    background: #ffffff;
}

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

.rk-auth-myth {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--rk-auth-border);
}

.rk-auth-fact {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.rk-auth-badge {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.rk-auth-badge.myth { background: #fee2e2; color: #b91c1c; }
.rk-auth-badge.fact { background: #dcfce7; color: #15803d; }

.rk-auth-text-content {
    flex: 1;
}

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

.rk-auth-text-content a {
    color: var(--rk-auth-blue);
    font-weight: 700;
    text-decoration: underline;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-auth-header { padding: 25px 20px; }
    .rk-auth-header h2 { font-size: 22px; }
    .rk-auth-workspace { grid-template-columns: 1fr; }
    .rk-auth-profile-box { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 20px; }
    .rk-auth-content-box { padding: 30px 20px; }
    .rk-auth-quote { font-size: 16px; }
    .rk-auth-tabs { flex-direction: column; }
    .rk-auth-tab-btn { border-right: none; border-bottom: 1px solid var(--rk-auth-border); text-align: left; padding: 15px 20px; }
    .rk-auth-myth, .rk-auth-fact { flex-direction: column; gap: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-ekspert",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Ostateczny werdykt inżynierski: Czy do ogrzewania podłogowego potrzebny jest projekt? – Robert Kucharski",
    "description": "Autorskie zestawienie faktów i mitów dotyczących projektowania instalacji płaszczyznowych. Ekspert HVAC Robert Kucharski weryfikuje opłacacalność projektów OZC.",
    "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 / CEO",
      "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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-ekspert",
    "name": "Baza Inżynierskich Mitów i Faktów HVAC",
    "description": "Zestawienie najczęstszych obiekcji inwestorskich zderzonych z rygorystycznymi wymogami norm PN-EN 1264 oraz fizyką budowli WT2021.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt ogrzewania podłogowego z pompą ciepła",
      "prawidłowy projekt ozc",
      "wycena projektu instalacji grzewczej",
      "najczęstsze błędy przy montażu ogrzewania podłogowego",
      "rozstaw rur w ogrzewaniu podłogowym"
    ],
    "measurementTechnique": "Weryfikacja obiegowych opinii instalatorskich poprzez zastosowanie wzorów hydraulicznych i kalkulacji przepływów masowych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Mit instalatora: Projekt to zbędny papier.",
        "Fakt inżynierski: Bez dokumentacji system działa na parametrach awaryjnych, zużywając do 40% więcej energii w skali roku."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-ekspert",
    "name": "Weryfikator Opinii Instalacyjnych",
    "description": "Narzędzie pozwalające na błyskawiczne zderzenie najczęstszych obietnic wykonawczych z bezwzględnymi prawami fizyki i hydrauliki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-auth-container" id="expert-verdict-block">
    <div class="rk-auth-header">
        <h2>Ostateczny werdykt: Czy projekt ogrzewania podłogowego to wymóg? <span>Ocenia  Robert Kucharski</span></h2>
    </div>

    <div class="rk-auth-workspace">
        
        <!-- Lewy Panel: Autor i zaufanie (E-E-A-T) -->
        <div class="rk-auth-profile-box">
            <div class="rk-auth-image-wrapper">
                <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski - Specjalista HVAC">
            </div>
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-role">CEO / Specjalista HVAC</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener nofollow" class="rk-auth-social-link" title="LinkedIn">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg>
                </a>
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener nofollow" class="rk-auth-social-link" title="Facebook">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z"></path></svg>
                </a>
            </div>
        </div>

        <!-- Prawy Panel: Treść ekspercka i narzędzie -->
        <div class="rk-auth-content-box">
            <div class="rk-auth-quote">
                Jako inżynier projektujący instalacje od kilkunastu lat widziałem setki zniszczonych posadzek i zrujnowanych budżetów domowych. Powód zawsze był ten sam: wiara w to, że instalator "wie jak to ułożyć z pamięci". Podłogówka to matematyka, opory hydrauliczne i gęstość strumienia. Fizyki nie da się oszukać doświadczeniem montera.
            </div>

            <div class="rk-auth-verifier">
                <div class="rk-auth-verifier-header">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="var(--rk-auth-blue)" stroke-width="2.5"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
                    Weryfikator obiekcji (Fakty vs Mity)
                </div>
                
                <div class="rk-auth-tabs" id="authTabs">
                    <button class="rk-auth-tab-btn active" data-target="tab1">Obliczenia vs "Na Oko"</button>
                    <button class="rk-auth-tab-btn" data-target="tab2">Rozstaw wężownic</button>
                    <button class="rk-auth-tab-btn" data-target="tab3">Koszty dokumentacji</button>
                </div>

                <div class="rk-auth-panel active" id="tab1">
                    <div class="rk-auth-myth">
                        <div class="rk-auth-badge myth">Zły doradca</div>
                        <div class="rk-auth-text-content">
                            <p>„Zrobiłem 100 domów bez papierka i u wszystkich grzeje. Dobry instalator wie, jak ułożyć rury bez projektu.”</p>
                        </div>
                    </div>
                    <div class="rk-auth-fact">
                        <div class="rk-auth-badge fact">Prawda Inżynierska</div>
                        <div class="rk-auth-text-content">
                            <p>To, że podłoga robi się ciepła, nie znaczy, że system jest zbalansowany. Bez obliczeń <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego OZC</a>, pompa ciepła wymusza wyższe parametry zasilania (aby nadrobić błędy w hydraulice). W skali roku zużywasz do 40% więcej energii. Koszty eksploatacji rosną lawinowo.</p>
                        </div>
                    </div>
                </div>

                <div class="rk-auth-panel" id="tab2">
                    <div class="rk-auth-myth">
                        <div class="rk-auth-badge myth">Zły doradca</div>
                        <div class="rk-auth-text-content">
                            <p>„Wszędzie kładziemy rury co 15 centymetrów i będzie pan zadowolony. Nie ma co kombinować.”</p>
                        </div>
                    </div>
                    <div class="rk-auth-fact">
                        <div class="rk-auth-badge fact">Prawda Inżynierska</div>
                        <div class="rk-auth-text-content">
                            <p>Pokoje mają różne straty ciepła. Stosowanie uniwersalnego rozstawu powoduje przegrzewanie sypialni i ciągłe niedogrzanie łazienek. Prawidłowy <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-ogrzewaniu-podlogowym/">rozstaw rur w ogrzewaniu podłogowym</a> wylicza się na podstawie rygorystycznej normy PN-EN 1264, z podziałem na dedykowane strefy brzegowe.</p>
                        </div>
                    </div>
                </div>

                <div class="rk-auth-panel" id="tab3">
                    <div class="rk-auth-myth">
                        <div class="rk-auth-badge myth">Zły doradca</div>
                        <div class="rk-auth-text-content">
                            <p>„Szkoda wydawać kilkaset złotych na projekt, te pieniądze lepiej dołożyć do lepszych płytek w salonie.”</p>
                        </div>
                    </div>
                    <div class="rk-auth-fact">
                        <div class="rk-auth-badge fact">Prawda Inżynierska</div>
                        <div class="rk-auth-text-content">
                            <p>Profesjonalna <a href="https://projekt-ogrzewania.pl/wycena-projektu-ogrzewania-podlogowego/">wycena projektu instalacji grzewczej</a> to ułamek promila wartości budowy. Brak projektu oznacza straty rzędu 2500 zł już na etapie zakupów – instalator kupi przewymiarowany rozdzielacz i kilkaset metrów zbędnych rur jako "zapas bezpieczeństwa". Projekt to nie koszt, to Twoja finansowa tarcza ochronna.</p>
                        </div>
                    </div>
                </div>

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

<script>
// Prosty skrypt natychmiastowego przełączania bez żadnych animacji
document.addEventListener('DOMContentLoaded', function() {
    const tabBtns = document.querySelectorAll('.rk-auth-tab-btn');
    const panels = document.querySelectorAll('.rk-auth-panel');

    tabBtns.forEach(btn => {
        btn.addEventListener('click', function() {
            // Natychmiastowe usunięcie klas aktywnych
            tabBtns.forEach(b => b.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Natychmiastowe dodanie klas aktywnych do klikniętego elementu
            this.classList.add('active');
            const targetId = this.getAttribute('data-target');
            document.getElementById(targetId).classList.add('active');
        });
    });
});
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-blue: #0284c7;
    --rk-faq-blue-light: #f0f9ff;
    --rk-faq-border: #e2e8f0;
    --rk-faq-bg: #ffffff;
    --rk-faq-text: #334155;
}

.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 25px 50px -12px rgba(2, 132, 199, 0.08);
    border: 1px solid var(--rk-faq-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-faq-header {
    padding: 40px 50px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-faq-border);
    text-align: center;
}

.rk-faq-header h2 {
    margin: 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    line-height: 1.3;
}

.rk-faq-header p {
    font-size: 16px;
    color: var(--rk-faq-text);
    line-height: 1.6;
    margin: 10px auto 0;
    max-width: 600px;
}

/* Główny obszar - Jedna centralna kolumna */
.rk-faq-workspace {
    padding: 40px 50px;
    background: #fafafa;
}

/* Harmonijka FAQ */
.rk-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
}

.rk-faq-item {
    border: 1px solid var(--rk-faq-border);
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}

.rk-faq-item.active {
    border-color: var(--rk-faq-blue);
    box-shadow: 0 10px 15px -3px rgba(2, 132, 199, 0.08);
}

.rk-faq-trigger {
    width: 100%;
    background: transparent;
    border: none;
    padding: 22px 25px;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.rk-faq-trigger h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    line-height: 1.4;
}

.rk-faq-item.active .rk-faq-trigger h3 {
    color: var(--rk-faq-blue);
}

.rk-faq-icon-box {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--rk-faq-blue-light);
    color: var(--rk-faq-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-faq-item.active .rk-faq-icon-box {
    background: var(--rk-faq-blue);
    color: #ffffff;
    transform: rotate(180deg);
}

/* Usunięto animacje - natychmiastowe wyświetlanie */
.rk-faq-content {
    display: none;
}

.rk-faq-item.active .rk-faq-content {
    display: block;
}

.rk-faq-content-inner {
    padding: 0 25px 25px 25px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
    border-top: 1px solid transparent;
}

.rk-faq-item.active .rk-faq-content-inner {
    border-top-color: var(--rk-faq-blue-light);
    padding-top: 15px;
}

.rk-faq-content-inner a {
    color: var(--rk-faq-blue);
    text-decoration: underline;
    font-weight: 700;
    text-underline-offset: 2px;
}

.rk-faq-content-inner a:hover {
    color: #0369a1;
}

/* Tagi SEO na samym dole kontenera */
.rk-faq-meta-tags {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: #e2e8f0;
    color: #475569;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: lowercase;
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-faq-header { padding: 35px 20px; }
    .rk-faq-header h2 { font-size: 24px; }
    .rk-faq-workspace { padding: 25px 20px; }
    .rk-faq-trigger { padding: 18px 20px; }
    .rk-faq-trigger h3 { font-size: 15px; }
    .rk-faq-content-inner { padding: 0 20px 20px 20px; font-size: 14px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "FAQ – Najczęściej zadawane pytania: Czy do ogrzewania podłogowego potrzebny jest projekt?",
    "description": "Odpowiedzi na kluczowe pytania inwestorów dotyczące projektowania podłogówki, kosztów dokumentacji technicznej i doboru 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-06-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-faq",
    "name": "Baza Wiedzy i Zapytań Inwestorskich HVAC",
    "description": "Zbiór ustrukturyzowanych zapytań z zakresu wymogów prawnych i technicznych projektowania instalacji płaszczyznowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "czy można zrobić ogrzewanie podłogowe bez projektu",
      "ile kosztuje projekt ogrzewania podłogowego",
      "projekt ogrzewania podłogowego z pompą ciepła",
      "jakie dane są potrzebne do wykonania projektu",
      "czy trzeba mieć projekt na ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Bezpośrednia weryfikacja zapytań użytkowników z normami PN-EN 12831 oraz wymogami instalacyjnymi producentów urządzeń grzewczych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Wymóg projektu: Niezbędny do precyzyjnego wyliczenia oporów dla pomp ciepła.",
        "Koszt dokumentacji: Średnio 550 PLN netto, co stanowi ułamek kosztów ewentualnych poprawek."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-faq",
    "name": "Moduł Weryfikacji Zapytań Technicznych FAQ",
    "description": "Narzędzie typu akordeon dostarczające natychmiastowych odpowiedzi inżynierskich na najczęstsze obiekcje inwestorów.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Czy można zrobić ogrzewanie podłogowe bez projektu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Fizycznie ułożenie rur bez dokumentacji jest możliwe, jednak z punktu widzenia sztuki inżynierskiej to błąd. Skutkuje to brakiem zrównoważenia hydraulicznego, co prowadzi do niedogrzewania wybranych pomieszczeń, wyższych o kilkadziesiąt procent rachunków za prąd oraz ryzyka pękania jastrychu z powodu przegrzewania stref."
        }
      },
      {
        "@type": "Question",
        "name": "Ile kosztuje projekt ogrzewania podłogowego?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Cena profesjonalnego projektu dla standardowego domu jednorodzinnego o powierzchni 150 m² zaczyna się od około 550 PLN netto. Jest to wydatek, który natychmiast zwraca się na etapie zakupów w hurtowni, ponieważ eliminuje konieczność kupowania rur i rozdzielaczy 'z zapasem'."
        }
      },
      {
        "@type": "Question",
        "name": "Czy hydraulik może sam zaprojektować podłogówkę?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Instalator bazujący wyłącznie na swoim doświadczeniu, bez wsparcia programów inżynierskich, jedynie 'szacuje' parametry. Nie jest w stanie w głowie precyzyjnie wyliczyć oporów hydraulicznych pętli ani projektowego obciążenia cieplnego (OZC) dla każdego pokoju zgodnie z normą PN-EN 12831."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie dane są potrzebne do wykonania projektu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Do sporządzenia rzetelnych obliczeń projektant potrzebuje rzutów architektonicznych budynku, przekrojów, informacji o planowanych źródłach ciepła (np. rodzaj pompy ciepła), materiałach z jakich zbudowano ściany, grubości izolacji (styropianu) oraz docelowych okładzinach podłogowych w poszczególnych pokojach."
        }
      },
      {
        "@type": "Question",
        "name": "Czy projekt ogrzewania podłogowego jest wymagany przy pompie ciepła?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, przy pompie ciepła projekt to absolutna konieczność. Pompy ciepła są urządzeniami skrajnie wrażliwymi na opory przepływu i wymaganą temperaturę zasilania. Instalacja zrobiona 'na oko' wymusi pracę urządzenia na wyższych temperaturach, co drastycznie obniży współczynnik sprawności SCOP i zniszczy sprężarkę."
        }
      }
    ]
  }
]
</script>

<div class="rk-faq-container" id="faq-app-section">
    <div class="rk-faq-header">
        <h2>FAQ – Najczęściej zadawane pytania inwestorów</h2>
        <p>Rozwiewamy inżynierskie wątpliwości. Sprawdź szybkie odpowiedzi na najpopularniejsze pytania dotyczące dokumentacji dla ogrzewania płaszczyznowego.</p>
    </div>

    <div class="rk-faq-workspace">
        <div class="rk-faq-accordion" id="rkFaqAccordion">
            
            <div class="rk-faq-item active">
                <button class="rk-faq-trigger">
                    <h3>Czy można zrobić ogrzewanie podłogowe bez projektu?</h3>
                    <div class="rk-faq-icon-box">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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">
                        Fizycznie ułożenie rur bez dokumentacji jest możliwe, jednak z punktu widzenia sztuki inżynierskiej to błąd. Skutkuje to brakiem zrównoważenia hydraulicznego, co prowadzi do niedogrzewania wybranych pomieszczeń, wyższych o kilkadziesiąt procent rachunków za prąd oraz ryzyka pękania jastrychu z powodu przegrzewania stref.
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <h3>Ile kosztuje projekt ogrzewania podłogowego?</h3>
                    <div class="rk-faq-icon-box">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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">
                        Cena profesjonalnego projektu dla standardowego domu jednorodzinnego o powierzchni 150 m² zaczyna się od około 550 PLN netto. Jest to wydatek, który natychmiast zwraca się na etapie zakupów w hurtowni, ponieważ eliminuje konieczność kupowania rur i rozdzielaczy "z zapasem". Sprawdź pełne zestawienie w artykule: <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/">ile kosztuje projekt ogrzewania podłogowego</a>.
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <h3>Czy hydraulik może sam zaprojektować podłogówkę?</h3>
                    <div class="rk-faq-icon-box">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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">
                        Instalator bazujący wyłącznie na swoim doświadczeniu, bez wsparcia programów inżynierskich, jedynie "szacuje" parametry. Nie jest w stanie w głowie precyzyjnie wyliczyć oporów hydraulicznych pętli ani <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> dla każdego pokoju osobno, co nakazuje norma PN-EN 12831.
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <h3>Jakie dane są potrzebne do wykonania projektu?</h3>
                    <div class="rk-faq-icon-box">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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">
                        Do sporządzenia rzetelnych obliczeń projektant potrzebuje rzutów architektonicznych budynku, przekrojów, informacji o planowanych źródłach ciepła, materiałach z jakich zbudowano ściany, odpowiedniej <a href="https://projekt-ogrzewania.pl/ile-styropianu-pod-ogrzewanie-podlogowe/">grubości styropianu</a> oraz docelowych okładzinach podłogowych w poszczególnych pokojach.
                    </div>
                </div>
            </div>

            <div class="rk-faq-item">
                <button class="rk-faq-trigger">
                    <h3>Czy projekt ogrzewania podłogowego jest wymagany przy pompie ciepła?</h3>
                    <div class="rk-faq-icon-box">
                        <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" 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">
                        Tak, to absolutna konieczność. Pompy ciepła są urządzeniami skrajnie wrażliwymi na opory przepływu i wymaganą temperaturę zasilania. Instalacja zrobiona "na oko" wymusi pracę urządzenia na wyższych temperaturach, co drastycznie obniży współczynnik sprawności SCOP i przyspieszy zużycie sprężarki. Dowiedz się więcej o <a href="https://projekt-ogrzewania.pl/projekt-ogrzewania-podlogowego-z-pompa-ciepla/">projektowaniu instalacji pod pompy ciepła</a>.
                    </div>
                </div>
            </div>
        </div>

        <div class="rk-faq-meta-tags">
            <span class="rk-mat-tag"># czy trzeba mieć projekt na ogrzewanie podłogowe</span>
            <span class="rk-mat-tag"># ile kosztuje projekt ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># jakie dane są potrzebne do wykonania projektu</span>
            <span class="rk-mat-tag"># projekt ogrzewania podłogowego z pompą ciepła</span>
        </div>
    </div>
</div>

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

    faqItems.forEach(item => {
        const trigger = item.querySelector('.rk-faq-trigger');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Natychmiastowe zamknięcie wszystkich innych paneli
            faqItems.forEach(i => i.classList.remove('active'));

            // Natychmiastowe otwarcie klikniętego panelu (jeśli był zamknięty)
            if (!isActive) {
                item.classList.add('active');
            }
        });
    });
});
</script>



<style>
:root {
    --rk-fin-dark: #0f172a;
    --rk-fin-blue: #0284c7;
    --rk-fin-light-blue: #f0f9ff;
    --rk-fin-green: #10b981;
    --rk-fin-green-light: #dcfce7;
    --rk-fin-red: #ef4444;
    --rk-fin-red-light: #fef2f2;
    --rk-fin-gold: #eab308;
    --rk-fin-gray: #64748b;
    --rk-fin-border: #e2e8f0;
    --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: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-fin-border);
    overflow: hidden;
}

.rk-fin-header {
    padding: 40px 50px 30px;
    background: var(--rk-fin-light-blue);
    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);
    line-height: 1.3;
}

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

.rk-fin-interactive-area {
    padding: 40px 50px;
    background: #ffffff;
}

/* Przełącznik (Switch) */
.rk-fin-switch-wrapper {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

.rk-fin-toggle {
    display: flex;
    background: #f1f5f9;
    border-radius: 999px;
    padding: 6px;
    border: 1px solid var(--rk-fin-border);
    position: relative;
}

.rk-fin-toggle-btn {
    padding: 12px 30px;
    border-radius: 999px;
    border: none;
    background: transparent;
    font-size: 16px;
    font-weight: 700;
    color: var(--rk-fin-gray);
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 2;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.rk-fin-toggle-btn svg {
    width: 20px;
    height: 20px;
}

.rk-fin-toggle-slider {
    position: absolute;
    top: 6px;
    left: 6px;
    height: calc(100% - 12px);
    border-radius: 999px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
}

/* Panele z treścią */
.rk-fin-panel {
    display: none;
    animation: fadeIn 0.5s ease-out forwards;
}

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

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

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

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

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

.rk-fin-card ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rk-fin-card li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.6;
    color: #475569;
}

.rk-fin-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
}

.panel-pro .rk-fin-card {
    border-color: var(--rk-fin-green-light);
    background: #f0fdf4;
}
.panel-pro .rk-fin-card 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='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/%3E%3Cpolyline points='22 4 12 14.01 9 11.01'/%3E%3C/svg%3E");
}

.panel-amateur .rk-fin-card {
    border-color: var(--rk-fin-red-light);
    background: #fef2f2;
}
.panel-amateur .rk-fin-card 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='%23ef4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E");
}

/* Tagi SEO */
.rk-fin-tags {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: #e2e8f0;
    color: #475569;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    text-transform: lowercase;
    transition: all 0.2s;
}

.rk-mat-tag:hover {
    background: var(--rk-fin-blue);
    color: #ffffff;
}

/* Mocne CTA */
.rk-fin-cta-box {
    padding: 40px 50px;
    background: linear-gradient(135deg, var(--rk-fin-dark) 0%, #1e293b 100%);
    text-align: center;
}

.rk-fin-cta-title {
    font-size: 24px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 25px 0;
}

.rk-btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-fin-gold);
    color: var(--rk-fin-dark);
    font-size: 18px;
    font-weight: 900;
    padding: 20px 40px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 20px -5px rgba(234, 179, 8, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rk-btn-action:hover {
    transform: translateY(-4px);
    background: #facc15;
    box-shadow: 0 15px 30px -5px rgba(234, 179, 8, 0.5);
}

.rk-btn-action svg {
    transition: transform 0.3s;
}

.rk-btn-action:hover svg {
    transform: translateX(5px);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-fin-header, .rk-fin-interactive-area, .rk-fin-cta-box { padding: 30px 20px; }
    .rk-fin-toggle { flex-direction: column; border-radius: 12px; }
    .rk-fin-toggle-slider { display: none; } /* Upraszczamy na mobile */
    .rk-fin-toggle-btn { border-radius: 8px; margin-bottom: 5px; justify-content: center; }
    .rk-fin-toggle-btn.active { background: var(--rk-fin-dark); }
    .rk-fin-grid { grid-template-columns: 1fr; gap: 20px; }
    .rk-btn-action { 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/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-podsumowanie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Podsumowanie – Dlaczego projekt to absolutny fundament inwestycji",
    "description": "Ogrzewanie podłogowe to system o dużej bezwładności, który nie wybacza pomyłek. Zobacz, dlaczego brak obliczeń prowadzi do przegrzewania podłogi i wysokich rachunkó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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-podsumowanie",
    "name": "Konsekwencje braku projektu podłogówki",
    "description": "Porównanie techniczno-eksploatacyjne parametrów instalacji wykonanej na podstawie wytycznych normatywnych oraz instalacji układanej 'na oko'.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "temperatura zasilania ogrzewania podłogowego",
      "dopuszczalna temperatura podłogi",
      "koszty eksploatacji pompy ciepła",
      "projekt instalacji grzewczej cena",
      "błędy ogrzewania podłogowego"
    ],
    "measurementTechnique": "Symulacja interaktywna zestawiająca optymalne parametry pracy (temp. pokojowa, SCOP) z parametrami awaryjnymi wynikającymi z braku zrównoważenia hydraulicznego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Inwestycja z projektem: Gwarancja normatywnych temperatur powierzchni (29°C i 33°C), stabilna praca pompy ciepła.",
        "Montaż na oko: Pękanie paneli, przegrzewanie powyżej normy, drastyczny wzrost kosztów prądu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-podsumowanie",
    "name": "Symulator Decyzji Inwestycyjnych HVAC",
    "description": "Aplikacja pozwalająca inwestorowi na wizualizację skutków inżynierskich i ekonomicznych w zależności od wybranego wariantu wykonawczego instalacji grzewczej.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-fin-container" id="podsumowanie-app">
    <div class="rk-fin-header">
        <h2>Podsumowanie – Dlaczego projekt to absolutny fundament inwestycji</h2>
        <p>Ogrzewanie podłogowe to system niskotemperaturowy, który cechuje się ogromną masą akumulacyjną i dużą bezwładnością. W przeciwieństwie do tradycyjnych grzejników, gdzie błędy hydrauliczne można częściowo zmaskować podnosząc temperaturę na kotle o 10°C, <strong>podłogówka nie wybacza pomyłek.</strong></p>
    </div>

    <div class="rk-fin-interactive-area">
        
        <div class="rk-fin-switch-wrapper">
            <div class="rk-fin-toggle" id="finToggleBox">
                <div class="rk-fin-toggle-slider" id="finSlider" style="width: 50%; background: var(--rk-fin-green);"></div>
                <button class="rk-fin-toggle-btn active" data-target="panel-pro" style="color: #ffffff;">
                    <svg 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>
                    Instalacja z Projektem
                </button>
                <button class="rk-fin-toggle-btn" data-target="panel-amateur">
                    <svg 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>
                    Montaż "Na Oko"
                </button>
            </div>
        </div>

        <div class="rk-fin-panel active panel-pro" id="panel-pro">
            <div class="rk-fin-grid">
                <div class="rk-fin-card">
                    <h3 style="color: var(--rk-fin-green);">
                        Święty spokój i fizyka
                    </h3>
                    <ul>
                        <li><strong>Pewność temperaturowa:</strong> Gwarancja utrzymania projektowanej temperatury komfortu nawet w skrajnych warunkach zimowych (-20°C).</li>
                        <li><strong>Ochrona posadzki:</strong> Idealnie dobrana temperatura zasilania, która nie zniszczy podłogi drewnianej i zachowa normatywne maksima (29°C w salonie, 33°C w łazienkach).</li>
                    </ul>
                </div>
                <div class="rk-fin-card">
                    <h3 style="color: var(--rk-fin-green);">
                        Maksymalne oszczędności
                    </h3>
                    <ul>
                        <li><strong>Optymalizacja OZC:</strong> Precyzyjne dopasowanie układu hydraulicznego do krzywej grzewczej pompy ciepła.</li>
                        <li><strong>ROI inwestycji:</strong> Koszt projektu zwraca się już przy zakupie materiałów (brak rur "z zapasem") oraz gwarantuje najniższe rachunki za prąd przez dekady.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="rk-fin-panel panel-amateur" id="panel-amateur">
            <div class="rk-fin-grid">
                <div class="rk-fin-card">
                    <h3 style="color: var(--rk-fin-red);">
                        Katastrofa budowlana
                    </h3>
                    <ul>
                        <li><strong>Destrukcja materiałów:</strong> Konieczność podniesienia temperatury w celu zmaskowania błędów prowadzi do trwałego pękania paneli i zsychana się drewna.</li>
                        <li><strong>Brak balansu:</strong> Niekontrolowane opory w pętlach powodują efekt "zebry" (zimne i gorące pasy na podłodze) oraz permanentne niedogrzanie skrajnych stref.</li>
                    </ul>
                </div>
                <div class="rk-fin-card">
                    <h3 style="color: var(--rk-fin-red);">
                        Drastyczny skok kosztów
                    </h3>
                    <ul>
                        <li><strong>Zajechana sprężarka:</strong> Taktowanie przewymiarowanej pompy ciepła, pracującej na wadliwych nastawach przepływów.</li>
                        <li><strong>Rachunki +30%:</strong> Każdy dodatkowy stopień na zasilaniu to bezpośredni spadek parametru SCOP i potężny wzrost zużycia energii elektrycznej.</li>
                    </ul>
                </div>
            </div>
        </div>

        <div class="rk-fin-tags">
            <span class="rk-mat-tag"># koszty eksploatacji pompy ciepła</span>
            <span class="rk-mat-tag"># temperatura zasilania ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># dopuszczalna temperatura podłogi</span>
            <span class="rk-mat-tag"># projekt instalacji grzewczej cena</span>
        </div>

    </div>

    <div class="rk-fin-cta-box">
        <h3 class="rk-fin-cta-title">Nie pozwól, aby o komforcie Twojego domu decydował przypadek</h3>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-btn-action">
            ZAINWESTUJ W PROFESJONALNY PROJEKT TECHNICZNY
            <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 btns = document.querySelectorAll('.rk-fin-toggle-btn');
    const panels = document.querySelectorAll('.rk-fin-panel');
    const slider = document.getElementById('finSlider');

    // Ustawienie szerokości slidera w oparciu o przyciski
    if(window.innerWidth > 768 && btns.length > 0) {
        slider.style.width = btns[0].offsetWidth + 'px';
    }

    btns.forEach((btn, index) => {
        btn.addEventListener('click', function() {
            // Zarządzanie aktywnym stanem przycisków
            btns.forEach(b => {
                b.classList.remove('active');
                b.style.color = 'var(--rk-fin-gray)';
            });
            this.classList.add('active');
            this.style.color = '#ffffff';

            // Animacja slidera (tylko na desktop)
            if(window.innerWidth > 768) {
                slider.style.width = this.offsetWidth + 'px';
                slider.style.left = this.offsetLeft + 'px';
                
                if(this.getAttribute('data-target') === 'panel-pro') {
                    slider.style.background = 'var(--rk-fin-green)';
                } else {
                    slider.style.background = 'var(--rk-fin-red)';
                }
            } else {
                // Zachowanie kolorów tła na urządzeniach mobilnych bez animacji slidera
                 if(this.getAttribute('data-target') === 'panel-pro') {
                    this.style.background = 'var(--rk-fin-green)';
                    btns[1].style.background = 'transparent';
                } else {
                    this.style.background = 'var(--rk-fin-red)';
                    btns[0].style.background = 'transparent';
                }
            }

            // Przełączanie paneli
            const targetId = this.getAttribute('data-target');
            panels.forEach(panel => {
                panel.classList.remove('active');
            });
            document.getElementById(targetId).classList.add('active');
        });
    });

    // Ustawienie stanu początkowego na mobile
    if(window.innerWidth <= 768) {
        btns[0].style.background = 'var(--rk-fin-green)';
    }

    // Obsługa zmiany rozmiaru okna
    window.addEventListener('resize', () => {
        if(window.innerWidth > 768) {
            const activeBtn = document.querySelector('.rk-fin-toggle-btn.active');
            slider.style.display = 'block';
            slider.style.width = activeBtn.offsetWidth + 'px';
            slider.style.left = activeBtn.offsetLeft + 'px';
            activeBtn.style.background = 'transparent'; // slider robi tło
        } else {
            slider.style.display = 'none';
            const activeBtn = document.querySelector('.rk-fin-toggle-btn.active');
            activeBtn.style.background = activeBtn.getAttribute('data-target') === 'panel-pro' ? 'var(--rk-fin-green)' : 'var(--rk-fin-red)';
        }
    });
});
</script>



<style>
:root {
    --rk-dl-dark: #0f172a;
    --rk-dl-blue: #0284c7;
    --rk-dl-blue-light: #f0f9ff;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #334155;
    --rk-dl-muted: #64748b;
    --rk-dl-green: #10b981;
    --rk-dl-bg: #ffffff;
    --rk-dl-gray-bg: #f8fafc;
}

.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 25px 50px -12px rgba(2, 132, 199, 0.08);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-dl-header {
    padding: 40px 50px 25px;
    background: var(--rk-dl-bg);
    border-bottom: 1px solid var(--rk-dl-border);
    text-align: center;
}

.rk-dl-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    font-weight: 900;
    color: var(--rk-dl-dark);
    line-height: 1.3;
}

.rk-dl-header p {
    font-size: 16px;
    color: var(--rk-dl-text);
    line-height: 1.6;
    margin: 0 auto;
    max-width: 700px;
}

/* Główny obszar roboczy (Pełna szerokość) */
.rk-dl-workspace {
    background: var(--rk-dl-gray-bg);
    padding: 40px 50px;
    border-bottom: 1px solid var(--rk-dl-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
}

/* Centralny podgląd obrazu */
.rk-dl-preview-box {
    width: 100%;
    max-width: 800px;
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 15px;
    box-shadow: 0 10px 25px -10px rgba(0,0,0,0.05);
    position: relative;
}

.rk-dl-preview-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 0 10px;
}

.rk-dl-preview-title {
    font-size: 12px;
    font-weight: 900;
    color: var(--rk-dl-blue);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rk-dl-zoom-btn {
    background: var(--rk-dl-gray-bg);
    border: 1px solid var(--rk-dl-border);
    border-radius: 8px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-dl-dark);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rk-dl-zoom-btn:hover {
    background: #e2e8f0;
}

.rk-dl-image-element {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    object-fit: contain;
    max-height: 450px;
    border: 1px solid var(--rk-dl-gray-bg);
}

.rk-dl-image-element.expanded {
    max-height: none;
}

/* Panel Akcji (Pobieranie i specyfikacja) */
.rk-dl-action-bar {
    width: 100%;
    max-width: 800px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}

.rk-dl-specs {
    background: #ffffff;
    border: 1px solid var(--rk-dl-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.rk-dl-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: var(--rk-dl-muted);
    font-weight: 600;
    border-bottom: 1px dashed var(--rk-dl-border);
    padding-bottom: 8px;
}

.rk-dl-spec-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rk-dl-spec-row span {
    font-weight: 900;
    color: var(--rk-dl-dark);
}

.rk-dl-download-area {
    display: flex;
    align-items: stretch;
}

.rk-btn-dl-massive {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--rk-dl-green);
    color: #ffffff;
    padding: 20px;
    border-radius: 12px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(16, 185, 129, 0.4);
    width: 100%;
    border: 2px solid transparent;
}

.rk-btn-dl-massive:hover {
    background: #059669;
    border-color: #6ee7b7;
}

.rk-btn-dl-title {
    font-size: 18px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-btn-dl-subtitle {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255,255,255,0.8);
}

/* Tagi długiego ogona (SEO) i Stopka Prawa Autorskie */
.rk-dl-footer-block {
    background: var(--rk-dl-bg);
    padding: 30px 50px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.rk-dl-seo-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.rk-mat-tag {
    background: var(--rk-dl-gray-bg);
    color: var(--rk-dl-muted);
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid var(--rk-dl-border);
    font-size: 12px;
    font-weight: 800;
    text-transform: lowercase;
}

.rk-dl-copyright {
    color: var(--rk-dl-muted);
    font-size: 13px;
    line-height: 1.6;
    text-align: center;
    border-top: 1px solid var(--rk-dl-border);
    padding-top: 20px;
    width: 100%;
}

.rk-dl-copyright strong {
    color: var(--rk-dl-dark);
}

/* Responsywność */
@media (max-width: 768px) {
    .rk-dl-header { padding: 35px 20px 20px; }
    .rk-dl-header h2 { font-size: 24px; }
    .rk-dl-workspace { padding: 25px 20px; }
    .rk-dl-action-bar { grid-template-columns: 1fr; }
    .rk-dl-footer-block { padding: 30px 20px; }
    .rk-btn-dl-title { font-size: 16px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#article-download",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/"
    },
    "headline": "Darmowe materiały inżynierskie: Infografika i schemat instalacji PDF",
    "description": "Pobierz bezpłatną infografikę oraz dokumentację PDF podsumowującą wymogi inżynierskie i zasady projektowania instalacji ogrzewania podłogowego.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt.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-13",
    "dateModified": "2026-06-13"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#dataset-download",
    "name": "Schemat i infografika do projektowania instalacji płaszczyznowej",
    "description": "Zbiór wytycznych projektowych i normatywnych zawarty w interaktywnej infografice oraz skompresowanym pliku PDF przeznaczonym do pobrania i druku.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "darmowy projekt ogrzewania podłogowego",
      "schemat instalacji ogrzewania podłogowego pdf",
      "infografika podłogówka",
      "jak ułożyć rury do ogrzewania podłogowego",
      "instalacja ogrzewania podłogowego krok po kroku"
    ],
    "measurementTechnique": "Prezentacja graficzna zależności hydraulicznych, rozstawów strefowych i wymogów normy PN-EN 1264 dostosowana do szybkiej analizy wizualnej.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Format PDF: Dokumentacja przygotowana w wysokiej rozdzielczości do swobodnego druku i przekazania wykonawcom.",
        "Format WEBP: Zoptymalizowana, lekka grafika poglądowa do weryfikacji online."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/#webapp-download",
    "name": "Interaktywna Przeglądarka Schematów Instalacyjnych",
    "description": "Moduł bezpośredniego podglądu i udostępniania plików graficznych z wytycznymi wykonawczymi dla instalacji HVAC.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>

<div class="rk-dl-container" id="material-download-block">
    <div class="rk-dl-header">
        <h2>Darmowe materiały inżynierskie: Infografika i schemat instalacji PDF</h2>
        <p>Szukasz skondensowanej wiedzy w pigułce, którą możesz pokazać swojemu instalatorowi? Zebraliśmy najważniejsze normy, zasady wyznaczania pętli i dobór parametrów zasilania w jeden przystępny materiał wizualny.</p>
    </div>

    <div class="rk-dl-workspace">
        
        <div class="rk-dl-preview-box">
            <div class="rk-dl-preview-header">
                <span class="rk-dl-preview-title">Podgląd bezpośredni</span>
                <button class="rk-dl-zoom-btn" id="rkDlZoomBtn">
                    <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="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>
                    Rozwiń grafikę
                </button>
            </div>
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt.webp" alt="Infografika inżynierska instalacji HVAC" class="rk-dl-image-element" id="rkDlPreviewImage" loading="lazy">
        </div>

        <div class="rk-dl-action-bar">
            <div class="rk-dl-specs">
                <div class="rk-dl-spec-row">
                    Format pliku: <span>PDF (Wysoka rozdzielczość)</span>
                </div>
                <div class="rk-dl-spec-row">
                    Przeznaczenie: <span>Do druku / Na budowę</span>
                </div>
                <div class="rk-dl-spec-row">
                    Weryfikacja: <span>Robert Kucharski</span>
                </div>
            </div>
            
            <div class="rk-dl-download-area">
                <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt.pdf" target="_blank" class="rk-btn-dl-massive">
                    <div class="rk-btn-dl-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="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 materiał PDF
                    </div>
                    <div class="rk-btn-dl-subtitle">Całkowicie za darmo, bez podawania emaila</div>
                </a>
            </div>
        </div>

    </div>

    <div class="rk-dl-footer-block">
        <div class="rk-dl-seo-tags">
            <span class="rk-mat-tag"># darmowy projekt ogrzewania podłogowego</span>
            <span class="rk-mat-tag"># schemat instalacji ogrzewania podłogowego pdf</span>
            <span class="rk-mat-tag"># infografika podłogówka</span>
        </div>

        <div class="rk-dl-copyright">
            <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. Chronimy autorską wiedzę inżynierską.
        </div>
    </div>
</div>

<script>
// Skrypt natychmiastowego powiększania obrazu bez animacji css transition
document.addEventListener('DOMContentLoaded', function() {
    const zoomBtn = document.getElementById('rkDlZoomBtn');
    const previewImg = document.getElementById('rkDlPreviewImage');

    zoomBtn.addEventListener('click', function() {
        const isExpanded = previewImg.classList.contains('expanded');

        if (isExpanded) {
            previewImg.classList.remove('expanded');
            zoomBtn.innerHTML = '<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="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> Rozwiń grafikę';
        } else {
            previewImg.classList.add('expanded');
            zoomBtn.innerHTML = '<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="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg> Zwiń grafikę';
        }
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/">Czy do ogrzewania podłogowego potrzebny jest projekt?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/czy-do-ogrzewania-podlogowego-potrzebny-jest-projekt/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Ile metrów podłogówki na jednej pętli?</title>
		<link>https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 01 Feb 2025 22:18:09 +0000</pubDate>
				<category><![CDATA[Budowa i remonty]]></category>
		<category><![CDATA[Domowe systemy grzewcze]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Poradniki instalacyjne]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Porady ekspertów]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Rury do ogrzewania]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[długość pętli]]></category>
		<category><![CDATA[hydraulika]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[porady ekspertów]]></category>
		<category><![CDATA[projektowanie ogrzewania]]></category>
		<category><![CDATA[remonty]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=2053</guid>

					<description><![CDATA[<p>Planujesz montaż ogrzewania podłogowego i zastanawiasz się, ile metrów podłogówki na jednej pętli to optymalna długość? W naszym artykule znajdziesz praktyczne porady, jak obliczyć długość pętli, jakie czynniki wpływają na jej maksymalną długość oraz jak uniknąć błędów przy projektowaniu. Dowiesz się również, dlaczego profesjonalny projekt jest kluczowy dla efektywności systemu. Sprawdź, jak zaplanować ogrzewanie podłogowe, aby cieszyć się komfortem i oszczędnościami przez lata!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">Ile metrów podłogówki na jednej pętli?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
:root {
    --primary: #0f172a;
    --accent: #0284c7; 
    --danger: #dc2626;
    --warning: #ea580c;
    --success: #16a34a;
    --bg-light: #f0f9ff; 
    --border-color: #e2e8f0;
}

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

/* Subtelne tło dekoracyjne */
.premium-hero-box::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.05) 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: 45px 50px;
    background: linear-gradient(to bottom, #ffffff, var(--bg-light));
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #e0f2fe;
    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 #bae6fd;
}

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

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

.hero-text a {
    color: var(--accent);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    font-weight: 600;
    transition: color 0.2s ease;
}

.hero-text a:hover {
    color: #0369a1;
}

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

/* Moduły / Spis treści */
.hero-modules-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 1px;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.hero-modules-title::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: var(--border-color);
}

.hero-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.hero-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    padding: 20px 15px;
    border-radius: 16px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    top: 0;
}

.hero-card:hover {
    top: -5px;
    border-color: var(--accent);
    box-shadow: 0 15px 25px -5px rgba(2, 132, 199, 0.1);
}

.hero-card-icon {
    font-size: 28px;
    margin-bottom: 12px;
    display: block;
    transition: transform 0.3s;
}

.hero-card:hover .hero-card-icon {
    transform: scale(1.15);
}

.hero-card-title {
    font-size: 13px;
    font-weight: 800;
    color: var(--primary);
    line-height: 1.4;
}

@media (max-width: 900px) {
    .hero-content { padding: 35px 25px; }
    .hero-grid { grid-template-columns: repeat(2, 1fr); gap: 15px; }
}

@media (max-width: 500px) {
    .hero-grid { grid-template-columns: 1fr; }
    .hero-card { display: flex; align-items: center; text-align: left; gap: 15px; padding: 15px; }
    .hero-card-icon { margin-bottom: 0; font-size: 24px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Ile metrów podłogówki na jednej pętli? Kompendium doboru i obliczeń",
    "description": "Zasady projektowania długości pętli ogrzewania podłogowego. Dowiedz się, jak obliczyć optymalną ilość rury na 1 m², aby uniknąć problemów hydraulicznych i zapewnić równomierne grzanie.",
    "license": "https://projekt-ogrzewania.pl/",
    "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"
    },
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Przegląd techniczny parametrów pętli ogrzewania podłogowego",
    "description": "Zestawienie kluczowych parametrów technicznych i granicznych długości obiegów dla instalacji ogrzewania płaszczyznowego wg PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Maksymalna długość pętli (rura 16x2)",
        "value": "80-100 m",
        "description": "Zalecana górna granica długości dla najpopularniejszej średnicy rury PEX/PERT, gwarantująca optymalne opory hydrauliczne."
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna długość pętli (rura 20x2)",
        "value": "120-150 m",
        "description": "Dopuszczalna długość dla rur o większym przekroju, stosowana zazwyczaj w halach i dużych salonach."
      },
      {
        "@type": "PropertyValue",
        "name": "Opór hydrauliczny instalacji",
        "value": "Max 20-30 kPa",
        "description": "Graniczna wartość oporu przepływu, przy której standardowa pompa obiegowa pracuje efektywnie."
      },
      {
        "@type": "PropertyValue",
        "name": "Zapotrzebowanie rury (rozstaw 10 cm)",
        "value": "10 m.b. / m²",
        "description": "Ilość rury grzejnej przypadająca na 1 metr kwadratowy powierzchni podłogi przy najgęstszym układzie."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator długości obiegów i oporów hydraulicznych",
    "description": "Interaktywny algorytm obliczeniowy symulujący przepływ czynnika grzewczego. Narzędzie przelicza powierzchnię pomieszczenia i rozstaw rur na metry bieżące pętli, szacując opory hydrauliczne i optymalny punkt pracy pompy obiegowej.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Przeliczanie powierzchni na metry rury",
      "Symulacja spadku ciśnienia (kPa) dla rur 16mm i 20mm",
      "Rekomendacja podziału pętli dla rozdzielacza",
      "Optymalizacja parametru ΔT (różnicy temperatur)"
    ]
  }
]
</script>

<div class="premium-hero-box" id="hero-app-container">
    <div class="hero-content">
        
        <div class="hero-badge">
            <span>📏</span> Precyzja Projektowania
        </div>
        
        <p class="hero-text">W lutym 2025 roku, projektując instalację dla domu o powierzchni 140 m² pod Krakowem zasilanego nowoczesną <a href="https://projekt-ogrzewania.pl/pompa-ciepla/">pompą ciepła</a>, stanąłem przed klasycznym dylematem optymalizacji hydraulicznej. Zastosowałem tam układ 14 pętli grzewczych, aby precyzyjnie utrzymać opory hydrauliczne na bezpiecznym poziomie nieprzekraczającym <strong>20 kPa</strong>. Kluczowym pytaniem, na które musiał odpowiedzieć ten <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">profesjonalny projekt ogrzewania podłogowego</a>, było to najważniejsze: <strong>ile metrów podłogówki na jednej pętli</strong> należy ułożyć, aby system pracował z najwyższą efektywnością energetyczną i gwarantował pompie ciepła najwyższy możliwy współczynnik SCOP.</p>
        
        <p class="hero-text">Odpowiedź na to pytanie absolutnie nie może być dziełem przypadku. Fraza ta definiuje graniczną długość rury grzejnej w pojedynczym obiegu, która gwarantuje równomierny rozkład temperatury, eliminuje zjawisko &#8222;zimnych stref&#8221; i pozwala uniknąć przeciążenia <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/">pompy obiegowej</a>. W tym kompendium, opierając się na wytycznych normy PN-EN 1264, krok po kroku wyjaśnię, jak prawidłowo zaprojektować długość poszczególnych obiegów podłogówki.</p>

        <div class="hero-modules-title">W tym kompendium przeanalizujemy:</div>
        
        <div class="hero-grid">
            <div class="hero-card">
                <span class="hero-card-icon">📐</span>
                <span class="hero-card-title">Optymalne długości rur</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">💧</span>
                <span class="hero-card-title">Opory hydrauliczne</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🌡️</span>
                <span class="hero-card-title">Równomierność grzania</span>
            </div>
            <div class="hero-card">
                <span class="hero-card-icon">🧮</span>
                <span class="hero-card-title">Algorytm obliczeniowy</span>
            </div>
        </div>

    </div>

    <noscript>
        <div style="padding: 20px 50px; background: #f8fafc; border-top: 1px solid #e2e8f0; font-family: sans-serif;">
            <h2 style="font-size: 18px; color: #0f172a; margin-bottom: 15px;">Kluczowe wytyczne dla pętli ogrzewania podłogowego</h2>
            <table style="width: 100%; border-collapse: collapse; font-size: 14px; text-align: left;">
                <thead>
                    <tr style="border-bottom: 2px solid #cbd5e1;">
                        <th style="padding: 10px 0; color: #475569;">Parametr hydrauliczny</th>
                        <th style="padding: 10px 0; color: #475569;">Wartość graniczna</th>
                        <th style="padding: 10px 0; color: #475569;">Opis / Skutek przekroczenia</th>
                    </tr>
                </thead>
                <tbody>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Max. dł. pętli rury 16&#215;2 mm</td>
                        <td style="padding: 10px 0; font-weight: bold;">80 &#8211; 100 m</td>
                        <td style="padding: 10px 0; color: #0284c7;">Wyższe opory zmuszają pompę do pracy na wysokim biegu</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Max. dł. pętli rury 20&#215;2 mm</td>
                        <td style="padding: 10px 0; font-weight: bold;">120 &#8211; 150 m</td>
                        <td style="padding: 10px 0; color: #0284c7;">Stosowane przy rzadszym rozstawie w przemyśle lub dużych salonach</td>
                    </tr>
                    <tr style="border-bottom: 1px solid #e2e8f0;">
                        <td style="padding: 10px 0;">Dopuszczalny opór pętli</td>
                        <td style="padding: 10px 0; font-weight: bold;">20 &#8211; 30 kPa</td>
                        <td style="padding: 10px 0; color: #0284c7;">Optymalny punkt pracy dla energooszczędnych pomp obiegowych</td>
                    </tr>
                    <tr>
                        <td style="padding: 10px 0;">Maksymalny spadek temp. (ΔT)</td>
                        <td style="padding: 10px 0; font-weight: bold;">5 &#8211; 7 K</td>
                        <td style="padding: 10px 0; color: #0284c7;">Zapobiega zjawisku drastycznie zimnych stref w posadzce</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('hero-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 60px 20px; text-align: center; background: #e0f2fe; color: #0284c7; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 300px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <div style="margin-top:0; font-size: 24px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <p style="font-size: 16px; max-width: 500px; color: #0369a1; line-height: 1.5;">Ten moduł wprowadzający jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i został skopiowany nielegalnie.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="margin-top: 25px; padding: 14px 28px; background: #0284c7; color: white; text-decoration: none; border-radius: 12px; font-weight: 800; transition: 0.3s;">ZOBACZ ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



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

.pipe-analysis-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.pipe-header {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 30px 40px;
    border-bottom: 1px solid #bae6fd;
}

.pipe-header h2 {
    margin: 0;
    font-size: 24px;
    color: #0369a1;
    font-weight: 800;
    line-height: 1.3;
}

.pipe-content {
    padding: 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
}

.pipe-content strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

.pipe-content a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
}

.pipe-content a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

.benefits-list {
    background: var(--bg-light);
    border-left: 4px solid var(--accent);
    padding: 25px 30px;
    border-radius: 0 12px 12px 0;
    margin-top: 30px;
}

.benefits-list h3 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 18px;
    color: var(--primary);
}

.benefits-list ul {
    margin: 0;
    padding-left: 20px;
}

.benefits-list li {
    margin-bottom: 12px;
}

.benefits-list li:last-child {
    margin-bottom: 0;
}

/* Interaktywny Moduł - Symulator */
.interactive-module {
    margin-top: 40px;
    padding: 30px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

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

.slider-container {
    margin: 30px 0;
}

.pipe-slider {
    width: 100%;
    accent-color: var(--accent);
    cursor: pointer;
}

.slider-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #64748b;
    margin-top: 8px;
    font-weight: 600;
}

.results-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 25px;
}

.result-card {
    padding: 20px;
    border-radius: 12px;
    text-align: center;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.result-value {
    font-size: 28px;
    font-weight: 800;
    margin: 10px 0;
}

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

#status-card.status-safe { border-color: var(--success); background: #f0fdf4; color: var(--success); }
#status-card.status-warning { border-color: var(--warning); background: #fff7ed; color: var(--warning); }
#status-card.status-danger { border-color: var(--danger); background: #fef2f2; color: var(--danger); }

@media (max-width: 600px) {
    .pipe-content { padding: 25px; }
    .results-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Charakterystyka oporów hydraulicznych rury PEX/PERT 16x2 mm",
    "description": "Zbiór danych określających liniowe spadki ciśnienia (kPa) dla rur ogrzewania płaszczyznowego 16mm w zależności od długości pętli, z uwzględnieniem normy PN-EN 1264.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Optymalna długość pętli",
        "value": "80 m",
        "description": "Gwarantuje równowagę hydrauliczną i optymalny pobór prądu."
      },
      {
        "@type": "PropertyValue",
        "name": "Maksymalna długość pętli",
        "value": "100 m",
        "description": "Wartość graniczna powodująca wzrost oporów do ok. 25-30 kPa."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Oporów Pętli Grzewczej 16mm",
    "description": "Interaktywny algorytm obliczający szacunkowy opór hydrauliczny (kPa) dla podanej długości obwodu grzewczego. Narzędzie wskazuje optymalne, ostrzegawcze i krytyczne wartości długości rury.",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczne wyliczanie strat ciśnienia",
      "Wizualizacja strefy bezpiecznej i niebezpiecznej pracy pompy",
      "Zgodność progów z wytycznymi PN-EN 1264"
    ]
  }
]
</script>

<div class="pipe-analysis-box" id="pipe-section-container">
    <div class="pipe-header">
        <h2>Jaka jest maksymalna długość pętli dla rury o średnicy 16 mm?</h2>
    </div>
    
    <div class="pipe-content">
        <p>Maksymalna długość pętli dla rury <strong>16&#215;2 mm</strong> wynosi <strong>100 metrów</strong>, jednak w profesjonalnych projektach HVAC dąży się do nieprzekraczania <strong>80 metrów</strong>. Wynika to bezpośrednio z normy <strong>PN-EN 1264</strong>, która określa dopuszczalne spadki ciśnienia w układzie.</p>
        
        <p>Przy rurze 16 mm i długości pętli <strong>100 m</strong>, opór hydrauliczny samej rury (bez uwzględnienia zaworów na rozdzielaczu) wynosi ok. <strong>25-30 kPa</strong> przy typowym przepływie. Przekroczenie tej wartości powoduje, że standardowa <a href="https://projekt-ogrzewania.pl/pompa-obiegowa-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">pompa obiegowa w instalacji ogrzewania podłogowego</a> może nie zapewnić wymaganej prędkości przepływu czynnika, co skutkuje niedogrzaniem końcowego odcinka pętli.</p>

        <div class="benefits-list">
            <h3>Dlaczego warto celować w 80 metrów?</h3>
            <ul>
                <li><strong>Równowaga hydrauliczna:</strong> Łatwiej zrównoważyć system, gdy pętle mają zbliżoną długość (np. 70-80 m).</li>
                <li><strong>Liniowe spadki temperatury:</strong> Przy Delta T = 5K (różnica między zasilaniem a powrotem), rura o długości <strong>80 m</strong> oddaje ciepło w sposób przewidywalny, eliminując efekt &#8222;zimnej podłogi&#8221; pod koniec obiegu.</li>
                <li><strong>Mniejszy pobór prądu:</strong> Pompa pracuje na niższym biegu, co realnie obniża <a href="https://projekt-ogrzewania.pl/koszt-ogrzewania-domu-2025/" target="_blank" rel="noreferrer noopener">koszt ogrzewania domu 2025/2026</a>.</li>
            </ul>
        </div>

        <div class="interactive-module">
            <div class="im-title">⚙️ Symulator oporów hydraulicznych (Rura 16&#215;2)</div>
            
            <div class="slider-container">
                <input type="range" id="lengthSlider" class="pipe-slider" min="40" max="140" value="80" step="5">
                <div class="slider-labels">
                    <span>40 m</span>
                    <span>90 m</span>
                    <span>140 m</span>
                </div>
            </div>

            <div class="results-grid">
                <div class="result-card">
                    <div class="result-label">Opór hydrauliczny</div>
                    <div class="result-value" id="kpa-output">21.5 kPa</div>
                    <div class="result-label" style="font-size: 11px;">Szacunek dla przepływu 2 l/min</div>
                </div>
                <div class="result-card status-safe" id="status-card">
                    <div class="result-label">Status projektowy</div>
                    <div class="result-value" id="status-text" style="font-size: 22px; margin-top: 15px;">ZALECANE</div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. 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 container = document.getElementById('pipe-section-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Treść skopiowana bez zezwolenia</p>
                    <p>Odwiedź <strong>Projekt-Ogrzewania.pl</strong>, aby korzystać z oryginalnych narzędzi i artykułów Roberta Kucharskiego.</p>
                </div>
            `;
            return;
        }
    }

    // 2. Logika symulatora
    const slider = document.getElementById('lengthSlider');
    const kpaOutput = document.getElementById('kpa-output');
    const statusCard = document.getElementById('status-card');
    const statusText = document.getElementById('status-text');

    function updateSimulator() {
        const length = parseInt(slider.value);
        // Aproksymacja oporu dla rury 16x2 przy przepływie rzędu ~2.0 l/min
        // Przyjmujemy ok. 0.27 kPa na 1 metr bieżący wliczając złączki
        const kpa = (length * 0.27).toFixed(1);
        
        kpaOutput.textContent = `${kpa} kPa`;

        // Reset klas
        statusCard.classList.remove('status-safe', 'status-warning', 'status-danger');

        if (length <= 80) {
            statusCard.classList.add('status-safe');
            statusText.textContent = "ZALECANE";
        } else if (length > 80 && length <= 100) {
            statusCard.classList.add('status-warning');
            statusText.textContent = "AKCEPTOWALNE";
        } else {
            statusCard.classList.add('status-danger');
            statusText.textContent = "PRZEKROCZONE";
        }
    }

    if(slider) {
        slider.addEventListener('input', updateSimulator);
        updateSimulator(); // Inicjalizacja
    }
});
</script>



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

.premium-pipe20-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.pipe20-header {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    padding: 30px 40px;
    border-bottom: 1px solid #cbd5e1;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjny element tła (imitacja rury 20mm) */
.pipe20-header::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 150px;
    height: 20px;
    background: transparent;
    border: 6px solid rgba(148, 163, 184, 0.2);
    border-radius: 30px;
}

.pipe20-header h2 {
    margin: 0;
    font-size: 24px;
    color: var(--industrial);
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.pipe20-content {
    padding: 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
}

.pipe20-content strong {
    color: var(--primary);
    background: rgba(71, 85, 105, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

.pipe20-content a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
    font-weight: 600;
}

.pipe20-content a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Moduł interaktywny */
.interactive-20mm-module {
    margin-top: 35px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.module-title {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.config-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.config-group {
    display: flex;
    flex-direction: column;
}

.config-label {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary);
}

.toggle-group {
    display: flex;
    gap: 10px;
}

.toggle-btn {
    flex: 1;
    padding: 12px;
    text-align: center;
    border: 2px solid var(--border-color);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
    transition: 0.2s;
}

.toggle-btn.active {
    border-color: var(--industrial);
    color: var(--industrial);
    background: #f1f5f9;
}

.slider-container {
    position: relative;
    padding-top: 10px;
}

.pipe20-slider {
    width: 100%;
    accent-color: var(--industrial);
    cursor: pointer;
    height: 6px;
    background: #e2e8f0;
    border-radius: 10px;
    appearance: none;
    outline: none;
}
.pipe20-slider::-webkit-slider-thumb {
    appearance: none; width: 22px; height: 22px; background: var(--industrial); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.15); cursor: pointer;
}

.slider-val-display {
    text-align: right;
    font-weight: 800;
    color: var(--primary);
    font-size: 18px;
    margin-top: 5px;
}

.result-banner {
    padding: 20px;
    border-radius: 12px;
    border-left: 6px solid var(--success);
    background: #f0fdf4;
    transition: all 0.3s ease;
}

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

.result-banner.status-danger {
    border-color: var(--danger);
    background: #fef2f2;
}

.res-title {
    font-size: 16px;
    font-weight: 800;
    margin-bottom: 8px;
    color: var(--primary);
}

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

@media (max-width: 768px) {
    .config-row { grid-template-columns: 1fr; gap: 20px; }
    .pipe20-content { padding: 25px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Charakterystyka oporów i zastosowania rury 20x2 mm",
    "description": "Zbiór danych określających możliwości zastosowania rur 20mm w instalacjach ogrzewania płaszczyznowego z podziałem na budownictwo jednorodzinne i przemysłowe.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Maksymalna zalecana długość pętli",
        "value": "120-150 m",
        "description": "Graniczna długość pętli dla rury 20mm zapewniająca odpowiedni przepływ przy standardowej pompie."
      },
      {
        "@type": "PropertyValue",
        "name": "Zastosowanie przemysłowe",
        "value": "Zalecane",
        "description": "Hale, magazyny, duże powierzchnie komercyjne."
      },
      {
        "@type": "PropertyValue",
        "name": "Zastosowanie jednorodzinne",
        "value": "Ograniczone",
        "description": "Mniejsza elastyczność i trudniejszy promień gięcia w gęstych rozstawach (np. co 10 cm)."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Zastosowania Rury 20mm",
    "description": "Narzędzie interaktywne oceniające poprawność zastosowania rury 20x2 mm na podstawie długości pętli i typu budynku (dom vs hala przemysłowa).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczna ocena oporu hydraulicznego dla rur o większym przekroju",
      "Weryfikacja elastyczności i promienia gięcia w zależności od przeznaczenia budynku",
      "Rekomendacje zgodne z PN-EN ISO 15875"
    ]
  }
]
</script>

<div class="premium-pipe20-box" id="pipe20-app-container">
    <div class="pipe20-header">
        <h2>Jaka jest maksymalna długość pętli dla rury o średnicy 20 mm?</h2>
    </div>
    
    <div class="pipe20-content">
        <p>Dla rur o średnicy <strong>20x2 mm</strong>, dopuszczalna długość pojedynczej pętli wzrasta do <strong>120-150 metrów</strong>. Dzięki większemu przekrojowi wewnętrznemu, opory przepływu są znacznie niższe niż w przypadku "szesnastki". Zastosowanie rury 20 mm jest uzasadnione w halach przemysłowych, magazynach lub bardzo dużych salonach, gdzie <a href="https://projekt-ogrzewania.pl/salon-ile-petli-podlogowki/" target="_blank" rel="noreferrer noopener">salon ile pętli podłogówki</a> to pytanie o optymalizację kosztów rozdzielacza. Jednak w budownictwie jednorodzinnym rura 20 mm jest rzadziej stosowana ze względu na mniejszą elastyczność i trudniejszy montaż w gęstych rozstawach. Zgodnie z normą <strong>PN-EN ISO 15875</strong>, parametry wytrzymałościowe rur <a href="https://projekt-ogrzewania.pl/rura-pert-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">PERT</a> i <a href="https://projekt-ogrzewania.pl/rura-pex-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">PEX</a> pozwalają na bezpieczną pracę w tych długościach pod warunkiem prawidłowego doboru pompy.</p>

        <div class="interactive-20mm-module">
            <div class="module-title">🏗️ Analizator zastosowania rury 20x2 mm</div>
            
            <div class="config-row">
                <div class="config-group">
                    <div class="config-label">Długość projektowanej pętli:</div>
                    <div class="slider-container">
                        <input type="range" id="len-slider-20" class="pipe20-slider" min="60" max="200" value="130" step="5">
                        <div class="slider-val-display"><span id="len-val-20">130</span> m</div>
                    </div>
                </div>
                
                <div class="config-group">
                    <div class="config-label">Typ realizowanego obiektu:</div>
                    <div class="toggle-group">
                        <div class="toggle-btn" id="btn-house" data-type="house">Dom / Salon</div>
                        <div class="toggle-btn active" id="btn-industry" data-type="industry">Hala / Magazyn</div>
                    </div>
                </div>
            </div>

            <div id="result-20-banner" class="result-banner">
                <div class="res-title" id="res-title">Analiza hydrauliczna</div>
                <p class="res-desc" id="res-desc">Wybierz parametry powyżej, aby zobaczyć rekomendację inżynierską.</p>
            </div>
        </div>
    </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 container = document.getElementById('pipe20-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Narzędzie skopiowane nielegalnie</p>
                    <p>Zapraszamy na <strong>Projekt-Ogrzewania.pl</strong> w celu skorzystania z oryginalnych narzędzi.</p>
                </div>
            `;
            return;
        }
    }

    // Logika symulatora
    const slider = document.getElementById('len-slider-20');
    const valDisplay = document.getElementById('len-val-20');
    const btnHouse = document.getElementById('btn-house');
    const btnIndustry = document.getElementById('btn-industry');
    const banner = document.getElementById('result-20-banner');
    const title = document.getElementById('res-title');
    const desc = document.getElementById('res-desc');

    let currentType = 'industry'; // domyślnie hala

    function updateSimulation() {
        const length = parseInt(slider.value);
        valDisplay.textContent = length;

        // Reset klas
        banner.classList.remove('status-warning', 'status-danger');

        if (currentType === 'industry') {
            if (length <= 150) {
                // Sukces Hala
                banner.style.borderColor = "var(--success)";
                banner.style.backgroundColor = "#f0fdf4";
                title.style.color = "var(--success)";
                title.textContent = "✅ Idealne rozwiązanie przemysłowe";
                desc.innerHTML = `Przy <strong>${length} metrach</strong> rura 20x2 mm pracuje optymalnie. Zapewnia niskie opory tłoczenia i pozwala drastycznie zmniejszyć ilość pętli na ogromnych powierzchniach magazynowych.`;
            } else {
                // Przekroczenie Hala
                banner.classList.add('status-warning');
                title.style.color = "var(--warning)";
                title.textContent = "⚠️ Uwaga: Wysokie opory hydrauliczne";
                desc.innerHTML = `Długość <strong>${length} m</strong> wkracza w strefę podwyższonego ryzyka. Pomimo większego przekroju (20mm), obieg stawia opór mogący wymagać mocniejszych, przemysłowych pomp obiegowych. Lepiej rozbić to na 2 pętle po ${(length/2).toFixed(0)}m.`;
            }
        } else if (currentType === 'house') {
            if (length <= 120) {
                // Ostrzeżenie Dom krótko
                banner.classList.add('status-warning');
                title.style.color = "var(--warning)";
                title.textContent = "⚠️ Wymagany doświadczony instalator";
                desc.innerHTML = `Hydraulicznie <strong>${length} m</strong> to żaden problem. Jednak rura 20mm jest <strong>bardzo sztywna</strong>. Ułożenie jej w standardowym rozstawie (np. co 10-15 cm) w salonie będzie niezwykle uciążliwe (duży promień gięcia). Często lepiej wybrać rurę 16mm i zrobić 2 krótsze pętle.`;
            } else if (length > 120 && length <= 150) {
                 // Granica Dom
                banner.classList.add('status-warning');
                title.style.color = "var(--warning)";
                title.textContent = "⚠️ Akceptowalne tylko dla bardzo dużych salonów";
                desc.innerHTML = `Długość <strong>${length} m</strong> zredukuje koszty rozdzielacza, ale pamiętaj o trudnościach przy formowaniu ślimaka. Wykonawca musi uważać na załamania rury w strefach brzegowych!`;
            } else {
                // Przekroczenie Dom
                banner.classList.add('status-danger');
                title.style.color = "var(--danger)";
                title.textContent = "❌ Przekroczenie parametrów i dyskomfort montażowy";
                desc.innerHTML = `W warunkach domowych długość <strong>${length} m</strong> na jednym obwodzie to proszenie się o problemy z wyważeniem układu i przepływami rotametrów. System straci równowagę hydrauliczną.`;
            }
        }
    }

    // Event Listenery
    if(slider) {
        slider.addEventListener('input', updateSimulation);
    }

    if(btnHouse && btnIndustry) {
        btnHouse.addEventListener('click', function() {
            btnIndustry.classList.remove('active');
            btnHouse.classList.add('active');
            currentType = 'house';
            updateSimulation();
        });
        
        btnIndustry.addEventListener('click', function() {
            btnHouse.classList.remove('active');
            btnIndustry.classList.add('active');
            currentType = 'industry';
            updateSimulation();
        });
    }

    // Inicjalizacja
    updateSimulation();
});
</script>



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

.premium-formula-box {
    max-width: 800px;
    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;
}

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

.formula-header h2 {
    margin: 0 0 10px 0;
    font-size: 22px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

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

.formula-content {
    padding: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 35px;
}

.math-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: 46px;
    font-weight: 700;
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    color: var(--accent);
    background: #eff6ff;
    padding: 25px 50px;
    border-radius: 16px;
    border: 2px solid #bfdbfe;
    box-shadow: inset 0 2px 4px rgba(255,255,255,0.5);
}

.math-fraction {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.1;
    margin-top: -5px;
}

.math-numerator {
    border-bottom: 4px solid var(--accent);
    padding: 0 12px 2px 12px;
}

.math-denominator {
    padding: 4px 12px 0 12px;
}

.math-sub {
    font-size: 22px;
    vertical-align: baseline;
    position: relative;
    top: 5px;
}

.legend-box {
    width: 100%;
    max-width: 550px;
    background: #ffffff;
    padding: 0;
}

.legend-title {
    font-weight: 800;
    margin-bottom: 15px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #94a3b8;
    text-align: left;
}

.legend-item {
    display: flex;
    align-items: center;
    padding: 14px 20px;
    margin-bottom: 8px;
    background: var(--bg-light);
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    font-size: 15px;
    color: #334155;
    transition: 0.2s;
}

.legend-item:hover {
    background: #f1f5f9;
    border-color: #e2e8f0;
}

.legend-item:last-child {
    margin-bottom: 0;
}

.legend-symbol {
    font-family: 'Georgia', 'Times New Roman', serif;
    font-style: italic;
    font-weight: 700;
    font-size: 20px;
    color: var(--primary);
    width: 55px;
    flex-shrink: 0;
}

.legend-desc {
    line-height: 1.5;
}

/* Sekcja z treścią artykułu wewnątrz kontenera */
.formula-article-text {
    padding: 0 40px 30px 40px;
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
}

.formula-article-text ul {
    margin: 20px 0;
    padding-left: 20px;
}

.formula-article-text li {
    margin-bottom: 10px;
}

.formula-article-text a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
    font-weight: 600;
}

.formula-article-text a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

.formula-footer {
    padding: 20px 40px;
    background: #ffffff;
    border-top: 1px solid #f1f5f9;
    text-align: center;
    font-size: 13px;
    color: #64748b;
}

@media (max-width: 600px) {
    .formula-header { padding: 25px 20px; }
    .formula-content { padding: 30px 20px; gap: 25px; }
    .math-display { font-size: 34px; padding: 20px 30px; gap: 10px; }
    .math-sub { font-size: 16px; top: 3px; }
    .legend-item { padding: 12px 15px; font-size: 14px; }
    .formula-article-text { padding: 0 20px 25px 20px; }
    .formula-footer { padding: 15px 20px; }
}
</style>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Wzór na zapotrzebowanie rury do ogrzewania podłogowego na 1 m²",
  "description": "Definicja i legenda symboli do wzoru obliczającego długość rury ogrzewania podłogowego w przeliczeniu na metry kwadratowe.",
  "license": "https://projekt-ogrzewania.pl/",
  "variableMeasured": [
    {
      "@type": "PropertyValue",
      "name": "L",
      "description": "Długość rury (w metrach bieżących) przypadająca na 1 m² ogrzewanej powierzchni."
    },
    {
      "@type": "PropertyValue",
      "name": "a",
      "description": "Rozstaw rur grzewczych (odległość między rurami) wyrażony w metrach (np. 0,1 m)."
    },
    {
      "@type": "PropertyValue",
      "name": "1,1",
      "description": "Współczynnik korygujący dodający 10% zapasu na tzw. podejścia do rozdzielacza."
    }
  ],
  "creator": {
    "@type": "Person",
    "name": "Robert Kucharski",
    "sameAs": [
      "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
      "https://www.linkedin.com/in/robert-kucharski-38069b48/"
    ]
  }
}
</script>

<div class="premium-formula-box" id="formula-app-pipe">
    <div class="formula-header">
        <h2>Jak obliczyć ile rury przypada na 1 m² powierzchni?</h2>
        <p>W projektowaniu instalacji płaszczyznowych przyjmuje się uniwersalny wzór, który pozwala precyzyjnie oszacować zapotrzebowanie materiałowe.</p>
    </div>

    <div class="formula-content">
        <div class="math-display">
            <span>L</span>
            <span style="color: var(--primary); font-style: normal;">=</span>
            <div class="math-fraction">
                <span class="math-numerator">1</span>
                <span class="math-denominator">a</span>
            </div>
            <span style="color: var(--primary); font-style: normal;">&middot;</span>
            <span>1,1</span>
        </div>

        <div class="legend-box">
            <div class="legend-title">Legenda symboli:</div>
            <div class="legend-item">
                <div class="legend-symbol">L</div>
                <div class="legend-desc"><strong>Długość rury</strong> (w metrach bieżących) niezbędna do pokrycia 1 m² powierzchni podłogi.</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">a</div>
                <div class="legend-desc"><strong>Rozstaw rur</strong> wyrażony w metrach (np. 0,1 m dla rozstawu co 10 cm).</div>
            </div>
            <div class="legend-item">
                <div class="legend-symbol">1,1</div>
                <div class="legend-desc"><strong>Współczynnik bezpieczeństwa</strong> doliczający 10% zapasu rury na tzw. podejścia odbiegów do rozdzielacza.</div>
            </div>
        </div>
    </div>

    <div class="formula-article-text">
        <p>Dla standardowych rozstawów wartości w praktyce instalacyjnej prezentują się następująco:</p>
        <ul>
            <li>Rozstaw <strong>10 cm</strong>: ok. <strong>10 metrów bieżących</strong> rury na 1 m².</li>
            <li>Rozstaw <strong>15 cm</strong>: ok. <strong>6,7 metrów bieżących</strong> rury na 1 m².</li>
            <li>Rozstaw <strong>20 cm</strong>: ok. <strong>5 metrów bieżących</strong> rury na 1 m².</li>
        </ul>
        <p>Jeśli planujesz <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/" target="_blank" rel="noreferrer noopener">rozstaw rur ogrzewania podłogowego przy pompie ciepła</a>, najczęściej stosujemy układ co 10 cm, co oznacza, że jedna zalecana pętla 80 m obsłuży maksymalnie <strong>7-8 m²</strong> powierzchni w danym pomieszczeniu. To kluczowa informacja, by już na etapie planowania nie popełnić krytycznego błędu, jakim jest <a href="https://projekt-ogrzewania.pl/za-dluga-petla-podlogowki/" target="_blank" rel="noreferrer noopener">za długa pętla podłogówki</a>.</p>
    </div>

    <div class="formula-footer">
        Opracowanie techniczne: <a href="https://projekt-ogrzewania.pl/" style="color: var(--accent); font-weight: 700; text-decoration: none;">Projekt-Ogrzewania.pl</a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock - Jawny skrypt)
    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('formula-app-pipe');
        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>
                    <p style="margin-top:0; font-size: 24px; font-weight: 900;">Treść chroniona prawem autorskim</p>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-bottom: 25px;">To opracowanie wzoru jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało skopiowane nielegalnie.</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 ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



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

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

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

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

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

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

.compare-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.compare-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px -5px rgba(0,0,0,0.08);
}

/* Wyróżnienie karty ZALECANEJ */
.compare-card.recommended {
    border: 2px solid var(--success);
    box-shadow: 0 20px 40px -10px rgba(22, 163, 74, 0.15);
    transform: scale(1.03);
    z-index: 2;
    background: linear-gradient(to bottom, #ffffff, #f0fdf4);
}

.compare-card.recommended:hover {
    transform: scale(1.03) translateY(-5px);
}

.compare-card.warning {
    border-top: 4px solid var(--warning);
}

.compare-card.industrial {
    border-top: 4px solid #64748b;
}

.card-badge {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--success);
    color: white;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    white-space: nowrap;
    box-shadow: 0 4px 6px rgba(22, 163, 74, 0.2);
}

.card-title {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 5px;
    color: var(--primary);
}

.card-subtitle {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 25px;
    display: block;
}

.feature-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.feature-item {
    display: flex;
    flex-direction: column;
    padding: 14px 0;
    border-bottom: 1px solid #f1f5f9;
}

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

.feature-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 4px;
    font-weight: 600;
}

.feature-val {
    font-size: 17px;
    font-weight: 800;
    color: var(--primary);
}

.compare-card.recommended .feature-val {
    color: #166534;
}

.feature-val a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
}

.feature-val a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

@media (max-width: 900px) {
    .compare-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .compare-card.recommended {
        transform: scale(1);
    }
    .compare-card.recommended:hover {
        transform: translateY(-5px);
    }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Porównanie parametrów technicznych pętli grzewczych",
    "description": "Zestawienie kluczowych parametrów hydraulicznych dla rur 16x2 mm i 20x2 mm, uwzględniające optymalne oraz graniczne długości pętli, opory i pojemności wodne w roku 2026.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Rura 16x2 mm (Zalecane)",
        "value": "Długość: 80m, Opór: 18 kPa, Rozdzielacz: Stal INOX",
        "description": "Optymalne parametry dla instalacji w domach jednorodzinnych gwarantujące równowagę hydrauliczną."
      },
      {
        "@type": "PropertyValue",
        "name": "Rura 16x2 mm (Graniczne)",
        "value": "Długość: 100m, Opór: 28 kPa, Rozdzielacz: Mosiężny",
        "description": "Maksymalne dopuszczalne parametry wymagające precyzyjnego doboru pompy obiegowej."
      },
      {
        "@type": "PropertyValue",
        "name": "Rura 20x2 mm (Przemysłowe)",
        "value": "Długość: 130m, Opór: 22 kPa",
        "description": "Parametry dedykowane dla obiektów wielkopowierzchniowych i hal przemysłowych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  }
]
</script>

<div class="premium-compare-box" id="comparison-app">
    <div class="compare-header">
        <h2>Porównanie parametrów technicznych pętli</h2>
        <p>Poniższe zestawienie przedstawia kluczowe parametry hydrauliczne i projektowe dla najpopularniejszych rozwiązań stosowanych w nowoczesnych instalacjach w 2026 roku.</p>
    </div>

    <div class="compare-grid">
        
        <div class="compare-card recommended">
            <div class="card-badge">⭐ Najlepszy Wybór</div>
            <div class="card-title">Rura 16x2 mm</div>
            <span class="card-subtitle">Wariant Optymalny (Zalecany)</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">80 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">7,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val">18 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">8,8 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val">
                        <a target="_blank" rel="noreferrer noopener" href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-ze-stali-nierdzewnej-inox-do-ogrzewania-podlogowego-z-rotametrami/">Stal INOX</a>
                    </span>
                </li>
            </ul>
        </div>

        <div class="compare-card warning">
            <div class="card-title">Rura 16x2 mm</div>
            <span class="card-subtitle">Wariant Graniczny (Maksymalny)</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">100 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">9,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val" style="color: var(--warning)">28 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">11,0 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val">
                        <a target="_blank" rel="noreferrer noopener" href="https://projekt-ogrzewania.pl/produkt/rozdzielacz-mosiezny-do-ogrzewania-podlogowego-z-rotametrami/">Mosiężny</a>
                    </span>
                </li>
            </ul>
        </div>

        <div class="compare-card industrial">
            <div class="card-title">Rura 20x2 mm</div>
            <span class="card-subtitle">Wariant Przemysłowy / Hale</span>
            
            <ul class="feature-list">
                <li class="feature-item">
                    <span class="feature-label">Długość pętli</span>
                    <span class="feature-val">130 m</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Max. powierzchnia (co 10 cm)</span>
                    <span class="feature-val">12,5 m²</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Opór hydrauliczny (ok.)</span>
                    <span class="feature-val">22 kPa</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Pojemność wodna</span>
                    <span class="feature-val">20,8 litra</span>
                </li>
                <li class="feature-item">
                    <span class="feature-label">Zalecany rozdzielacz</span>
                    <span class="feature-val" style="color: #64748b">Przemysłowy</span>
                </li>
            </ul>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('comparison-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: 300px; border-radius: 24px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px;">🔒</span>
                    <p style="margin-top:0; font-size: 24px; font-weight: 900;">Treść chroniona prawem autorskim</p>
                    <p style="font-size: 16px; max-width: 500px; color: #7f1d1d; line-height: 1.5; margin-bottom: 25px;">To zestawienie tabelaryczne jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i zostało skopiowane nielegalnie.</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 ORYGINALNY ARTYKUŁ</a>
                </div>
            `;
        }
    }
});
</script>



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

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

/* Sekcja z treścią artykułu i wzorami */
.calc-theory-box {
    background: #ffffff;
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    margin-bottom: 30px;
}

.calc-theory-box h2 {
    margin: 0 0 20px 0;
    font-size: 26px;
    font-weight: 900;
    color: var(--primary);
    line-height: 1.3;
}

.calc-theory-box p {
    font-size: 16px;
    line-height: 1.7;
    color: #334155;
    margin-bottom: 20px;
}

.calc-theory-box a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    font-weight: 600;
    transition: all 0.2s ease;
}

.calc-theory-box a:hover {
    color: #1d4ed8;
    border-bottom-style: solid;
}

.step-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.step-list li {
    position: relative;
    padding-left: 45px;
    margin-bottom: 25px;
    font-size: 16px;
    line-height: 1.6;
    color: #334155;
}

.step-list li::before {
    content: counter(step-counter);
    counter-increment: step-counter;
    position: absolute;
    left: 0;
    top: -2px;
    width: 28px;
    height: 28px;
    background: #e0f2fe;
    color: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 14px;
}

body { counter-reset: step-counter; }

.math-highlight {
    background: #f1f5f9;
    padding: 15px 20px;
    border-radius: 12px;
    border-left: 4px solid var(--accent);
    margin: 15px 0;
    font-family: 'Georgia', serif;
    font-style: italic;
    font-size: 18px;
    color: #1e293b;
    display: inline-block;
}

/* Właściwy Kalkulator */
.adv-calc {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    border: 1px solid var(--border-color);
}

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

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

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

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

.type-selector.two-cols { grid-template-columns: repeat(2, 1fr); }

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

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

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

.input-wrap { margin-bottom: 30px; }
.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;
}

.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: 20px; border-bottom: 6px solid var(--accent);
}
.score-num { font-size: 56px; font-weight: 900; line-height: 1; display: block; margin: 5px 0; color: var(--primary); }
.score-label { font-size: 12px; color: #64748b; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }

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

/* STOPKA */
.footer-cta {
    padding: 25px 40px;
    background: #eff6ff;
    border-top: 1px solid #dbeafe;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

.cta-text-side {
    font-size: 13px; color: #475569; line-height: 1.5;
}

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

@media (max-width: 900px) {
    .calc-grid { grid-template-columns: 1fr; }
    .footer-cta { flex-direction: column; text-align: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Algorytm obliczeniowy długości pętli i przepływów",
    "description": "Procedura inżynierska wyznaczania liczby pętli ogrzewania podłogowego, oparta o OZC, przepływ masowy i optymalizację oporów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "author": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Parametry termodynamiczne i hydrauliczne pętli grzewczej",
    "description": "Zmienne wykorzystywane do obliczania zapotrzebowania na moc, przepływu masowego i wymaganej długości rury PEX/PERT.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "OZC",
        "description": "Obciążenie cieplne budynku (W/m²)"
      },
      {
        "@type": "PropertyValue",
        "name": "Delta T (ΔT)",
        "description": "Różnica temperatury pomiędzy zasilaniem a powrotem (K)"
      },
      {
        "@type": "PropertyValue",
        "name": "Przepływ masowy (m)",
        "description": "Ilość wody (kg/h) potrzebna do przeniesienia żądanej mocy cieplnej Q."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Kalkulator Inżynierski Podłogówki - Podział Pętli i Przepływy",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "description": "Kalkulator symulujący podział instalacji na pętle z uwzględnieniem mocy cieplnej (OZC), przepływów na rotametrach oraz granicznych oporów hydraulicznych.",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Obliczanie przepływu czynnika (l/min) dla pokoju",
      "Automatyczny podział na pętle do 80 metrów",
      "Estymacja przepływu na pojedynczym rotametrze",
      "Obliczanie całkowitej mocy grzewczej (W)"
    ]
  }
]
</script>

<div class="premium-calc-container" id="adv-loop-calc-app">
    
    <div class="calc-theory-box">
        <h2>Kalkulator długości pętli – Algorytm obliczeniowy krok po kroku</h2>
        <p>Jako inżynier, przy każdym profesjonalnym projekcie wykonuję precyzyjną procedurę obliczeniową. Poniżej przedstawiam algorytm, który możesz wykorzystać do wstępnego oszacowania parametrów hydraulicznych i termicznych Twojego układu:</p>
        
        <ul class="step-list">
            <li><strong>Obliczenie OZC (Obciążenia Cieplnego):</strong> Na podstawie normy <strong>PN-EN 12831</strong> wyznaczamy zapotrzebowanie na moc (np. 50 W/m² dla nowego domu). Dowiedz się więcej: <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/" target="_blank" rel="noreferrer noopener">projektowe obciążenie cieplne OZC</a>.</li>
            <li><strong>Wyznaczenie przepływu masowego (m):</strong>
                <div class="math-highlight">Q = m &middot; c<sub>p</sub> &middot; &Delta;T</div>
                <br>Przykład: Dla pokoju o zapotrzebowaniu 1000 W i parametrze &Delta;T = 5 K, przepływ wynosi około 172 kg/h (czyli ok. 0,17 m³/h).
            </li>
            <li><strong>Dobór rozstawu rur:</strong> Uwzględniając <a href="https://projekt-ogrzewania.pl/opor-cieplny-r-m%c2%b2k-w-klucz-do-efektywnego-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">opór cieplny R m²K/W</a> wybranej okładziny (płytki vs panele), decydujemy o gęstości rur.</li>
            <li><strong>Podział na pętle:</strong> Dzielimy całkowitą wyliczoną długość przez graniczną wartość <strong>80 m</strong> (aby uniknąć wysokich oporów). Wynik zaokrąglamy w górę (np. 130 m / 80 m = 2 pętle po 65 m).</li>
        </ul>
    </div>

    <div class="adv-calc">
        <div class="calc-grid">
            <div class="config-side">
                <span class="section-title">1. Parametry geometryczne i termiczne</span>
                
                <div class="input-wrap">
                    <div class="input-label-row"><label>Powierzchnia pomieszczenia</label><span class="val-badge"><span id="val-area">20</span> m²</span></div>
                    <input type="range" id="input-area" min="5" max="100" step="1" value="20">
                </div>
                
                <div class="input-wrap">
                    <div class="input-label-row"><label>Zapotrzebowanie (OZC)</label><span class="val-badge"><span id="val-ozc">50</span> W/m²</span></div>
                    <input type="range" id="input-ozc" min="30" max="100" step="5" value="50">
                    <div style="font-size: 11px; color: #64748b; margin-top: 8px;">Od 30 W/m² (domy pasywne) do 100 W/m² (starsze budownictwo).</div>
                </div>

                <span class="section-title">2. Parametry układu hydraulicznego</span>
                
                <div class="input-label-row" style="margin-bottom: 12px;"><label>Różnica temperatur (&Delta;T)</label></div>
                <div class="type-selector">
                    <div class="type-btn active" id="dt-5">5 K<span>Pompa ciepła</span></div>
                    <div class="type-btn" id="dt-7">7 K<span>Kocioł gaz. / Standard</span></div>
                    <div class="type-btn" id="dt-10">10 K<span>Stare układy</span></div>
                </div>

                <div class="input-label-row" style="margin-bottom: 12px;"><label>Rozstaw rur (gęstość)</label></div>
                <div class="type-selector two-cols" style="margin-bottom: 0;">
                    <div class="type-btn" id="roz-10">10 cm<span>Gęsty</span></div>
                    <div class="type-btn active" id="roz-15">15 cm<span>Optymalny</span></div>
                </div>
            </div>

            <div class="result-side">
                <div class="main-score-box">
                    <span class="score-label">Podział na rozdzielaczu</span>
                    <span class="score-num" id="res-loops">2</span>
                    <span class="score-label" id="res-loops-txt">Pętle Grzewcze</span>
                </div>

                <div class="tech-grid">
                    <div class="tech-item"><span>Wymagana moc dla pokoju (Q):</span><strong id="res-power">--</strong></div>
                    <div class="tech-item"><span>Całkowita długość rury:</span><strong id="res-total-len">--</strong></div>
                    <div class="tech-item"><span>Długość pojedynczej pętli:</span><strong id="res-single-len" class="highlight-val">--</strong></div>
                    <div class="tech-item"><span>Całkowity przepływ:</span><strong id="res-total-flow">--</strong></div>
                    <div class="tech-item" style="border: none;"><span>Ustawienie rotametru (na 1 pętlę):</span><strong id="res-rotameter" class="highlight-val" style="font-size: 18px;">--</strong></div>
                </div>
            </div>
        </div>
        
        <div class="footer-cta">
            <div class="cta-text-side">
                <strong>Zrozumiałeś algorytm?</strong> Zastosuj go do każdego pomieszczenia. A jeśli chcesz mieć gwarancję, że cała fizyka układu (wraz z oporami i doborem pompy) została wyliczona bezbłędnie...
            </div>
            <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="cta-btn">ZAMÓW PROJEKT U INŻYNIERA →</a>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // BLOKADA DOMENOWA (Domain Lock)
    var domain = window.location.hostname;
    var allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (allowedDomains.indexOf(domain) === -1) {
        var appContainer = document.getElementById('adv-loop-calc-app');
        if (appContainer) {
            appContainer.innerHTML = '<div style="padding: 60px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 24px; font-family: sans-serif;">' +
                '<span style="font-size: 48px; display: block; margin-bottom: 15px;">🔒</span>' +
                '<p style="margin-top:0; font-size: 24px; font-weight: 900; margin-bottom: 10px;">Algorytm chroniony</p>' +
                '<p style="font-size: 16px; margin-bottom: 25px;">To narzędzie jest własnością serwisu <a href="https://projekt-ogrzewania.pl/" style="color: #dc2626; font-weight: bold; text-decoration: underline;">Projekt-Ogrzewania.pl</a></p>' +
                '<a href="https://projekt-ogrzewania.pl/" style="display: inline-block; padding: 14px 28px; background: #dc2626; color: #ffffff; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>' +
                '</div>';
        }
        return; 
    }

    // Stan aplikacji
    var state = {
        area: 20,
        ozc: 50,
        deltaT: 5,
        spacing: 0.15,
        maxLoopLength: 80 // Celujemy w max 80m jak w treści
    };

    // Funkcja aktualizująca fizykę
    function calculatePhysics() {
        // 1. Zapotrzebowanie cieplne Q (W)
        var qTotal = state.area * state.ozc;
        
        // 2. Przepływ masowy (m) -> Q = m * cp * dT -> m [kg/h] = Q / (1.163 * dT)
        var massFlow = qTotal / (1.163 * state.deltaT);
        var flowLpm = massFlow / 60; // litry na minutę
        
        // 3. Zapotrzebowanie na rurę (wzór L = (Area/Rozstaw) * 1.1)
        var totalLength = (state.area / state.spacing) * 1.1;
        
        // 4. Podział na pętle
        var loops = Math.ceil(totalLength / state.maxLoopLength);
        if (loops < 1) loops = 1;

        // 5. Parametry na pętlę
        var lengthPerLoop = totalLength / loops;
        var flowPerLoop = flowLpm / loops;

        // Aktualizacja UI
        document.getElementById('res-loops').innerText = loops;
        document.getElementById('res-loops-txt').innerText = loops === 1 ? 'Pętla Grzewcza' : (loops > 4 ? 'Pętli Grzewczych' : 'Pętle Grzewcze');
        
        document.getElementById('res-power').innerText = Math.round(qTotal) + ' W';
        document.getElementById('res-total-len').innerText = Math.round(totalLength) + ' m';
        document.getElementById('res-single-len').innerText = Math.round(lengthPerLoop) + ' m';
        
        document.getElementById('res-total-flow').innerText = flowLpm.toFixed(2) + ' l/min';
        document.getElementById('res-rotameter').innerText = flowPerLoop.toFixed(2) + ' l/min';
    }

    // Event Listenery - Suwaki
    document.getElementById('input-area').addEventListener('input', function(e) {
        state.area = parseFloat(e.target.value);
        document.getElementById('val-area').innerText = state.area;
        calculatePhysics();
    });

    document.getElementById('input-ozc').addEventListener('input', function(e) {
        state.ozc = parseFloat(e.target.value);
        document.getElementById('val-ozc').innerText = state.ozc;
        calculatePhysics();
    });

    // Event Listenery - Przyciski Delta T
    var dtBtns = { 'dt-5': 5, 'dt-7': 7, 'dt-10': 10 };
    Object.keys(dtBtns).forEach(function(id) {
        var btn = document.getElementById(id);
        if(btn) {
            btn.addEventListener('click', function() {
                Object.keys(dtBtns).forEach(function(k){ document.getElementById(k).classList.remove('active'); });
                this.classList.add('active');
                state.deltaT = dtBtns[id];
                calculatePhysics();
            });
        }
    });

    // Event Listenery - Przyciski Rozstaw
    var rozBtns = { 'roz-10': 0.10, 'roz-15': 0.15 };
    Object.keys(rozBtns).forEach(function(id) {
        var btn = document.getElementById(id);
        if(btn) {
            btn.addEventListener('click', function() {
                Object.keys(rozBtns).forEach(function(k){ document.getElementById(k).classList.remove('active'); });
                this.classList.add('active');
                state.spacing = rozBtns[id];
                calculatePhysics();
            });
        }
    });

    // Uruchomienie pierwsze
    calculatePhysics();
});
</script>



<style>
:root {
    --primary-hvac: #0f172a;
    --accent-hvac: #2563eb;
    --bg-tip: #f1f5f9;
}

.expert-tip-wrapper {
    max-width: 850px;
    margin: 50px auto 40px auto;
}

.expert-tip-wrapper h2 {
    font-family: 'Inter', -apple-system, sans-serif;
    font-size: 24px;
    font-weight: 900;
    color: var(--primary-hvac);
    margin: 0 0 20px 0;
    text-align: center;
}

.expert-tip-container {
    background: var(--bg-tip);
    border-radius: 20px;
    padding: 30px;
    display: flex;
    gap: 25px;
    align-items: center;
    border-left: 6px solid var(--accent-hvac);
    position: relative;
    font-family: 'Inter', -apple-system, sans-serif;
    text-align: left;
}

.expert-tip-photo-wrap {
    flex-shrink: 0;
    width: 90px;
    height: 90px;
    position: relative;
}

.expert-tip-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 3px solid #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.expert-tip-photo-wrap::after {
    content: '📏';
    position: absolute;
    bottom: -5px;
    right: -5px;
    background: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.expert-tip-content {
    flex-grow: 1;
}

.expert-tip-label {
    display: block;
    font-size: 12px;
    font-weight: 800;
    color: var(--accent-hvac);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.expert-tip-text {
    font-size: 16px;
    line-height: 1.6;
    color: var(--primary-hvac);
    font-style: italic;
    margin: 0;
}

.expert-tip-signature {
    display: block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #64748b;
}

@media (max-width: 600px) {
    .expert-tip-container { flex-direction: column; text-align: center; padding: 25px; }
    .expert-tip-photo-wrap { margin-bottom: 10px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Quotation",
    "license": "https://projekt-ogrzewania.pl/",
    "text": "Planując instalację, kluczowe jest zrozumienie, ile metrów podłogówki na jednej pętli faktycznie może obsłużyć Twój system. Przekroczenie magicznej barierze 100 metrów przy rurze 16 mm to nie tylko błąd montażowy, to wyrok na sprawność pompy ciepła i Twój komfort cieplny.",
    "spokenByCharacter": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "jobTitle": "Inżynier HVAC & Główny Projektant",
      "url": "https://projekt-ogrzewania.pl",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ],
      "worksFor": {
        "@type": "Organization",
        "name": "Projekt-Ogrzewania.pl"
      }
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zbiór danych projektowych: Limity długości pętli grzewczych",
    "description": "Zestawienie inżynierskich norm spadku ciśnienia i temperatury dla różnych długości obiegów ogrzewania podłogowego rur PEX/PERT.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": "Spadek ciśnienia (kPa) vs Długość rury (m)",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Logika Projektowa Roberta Kucharskiego",
    "description": "Interaktywny algorytm wyznaczania granicznych oporów hydraulicznych w zależności od metrów bieżących pętli grzewczej.",
    "applicationCategory": "DesignApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    }
  }
]
</script>

<div class="expert-tip-wrapper">
    <h2><span style="margin-right:10px">💡</span>Złota zasada inżyniera HVAC</h2>
    
    <div class="expert-tip-container" id="expert-tip-hvac">
        <div class="expert-tip-photo-wrap">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="expert-tip-photo" loading="lazy">
        </div>
        <div class="expert-tip-content">
            <span class="expert-tip-label">Inżynierski punkt widzenia</span>
            <p class="expert-tip-text">
                "Pytanie o to, <strong>ile metrów podłogówki na jednej pętli</strong> ułożyć, to w rzeczywistości pytanie o hydraulikę i opory przepływu. Moja rada? Nigdy nie daj się namówić na pętle 16 mm o długości 120-130 metrów tylko po to, by 'oszczędzić' na sekcjach rozdzielacza. Optymalne 80 metrów to gwarancja, że system będzie cichy, a podłoga nagrzeje się równomiernie nawet przy niskim parametrze zasilania z pompy ciepła."
            </p>
            <span class="expert-tip-signature">— Robert Kucharski, CEO Projekt-Ogrzewania.pl</span>
        </div>
    </div>

    <noscript>
        <div style="padding: 20px; background: #f1f5f9; border-radius: 20px; margin-top: 20px; font-family: sans-serif;">
            <p style="font-size: 14px; font-weight: bold; color: #0f172a;">Rekomendacja Roberta Kucharskiego:</p>
            <p style="font-size: 14px; color: #475569;">Dla rury 16x2 mm optymalna długość to 80-90 m. Przekroczenie 100 m drastycznie zwiększa opory hydrauliczne i obniża wydajność systemu.</p>
        </div>
    </noscript>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const container = document.getElementById('expert-tip-hvac');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; width: 100%; border: 2px solid #dc2626;">
                    <span style="font-size: 32px; margin-bottom: 15px;">🔒</span>
                    <div style="font-size: 20px; font-weight: bold; margin-bottom: 10px;">Treść chroniona prawem autorskim</div>
                    <p style="font-size: 14px; color: #7f1d1d;">Ten moduł ekspercki jest własnością Projekt-Ogrzewania.pl i nie może być powielany na innych domenach.</p>
                </div>
            `;
            container.style.borderLeft = 'none';
            container.style.background = 'transparent';
            container.style.padding = '0';
        }
    }
});
</script>



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

.premium-scenario-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.scenario-header {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 30px 40px;
    border-bottom: 1px solid #bae6fd;
}

.scenario-header h2 {
    margin: 0;
    font-size: 24px;
    color: #0369a1;
    font-weight: 900;
    line-height: 1.3;
}

.scenario-content {
    padding: 30px 40px 10px 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
}

.scenario-content strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

.scenario-content a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
    font-weight: 600;
}

.scenario-content a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Interaktywny Moduł - Symulator Profilu */
.interactive-scenario-module {
    margin: 0 40px 40px 40px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    overflow: hidden;
}

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.scenario-tabs {
    display: flex;
    background: #f1f5f9;
    padding: 15px 25px 0 25px;
    gap: 10px;
    border-bottom: 1px solid var(--border-color);
}

.tab-btn {
    padding: 12px 20px;
    background: #e2e8f0;
    border: none;
    border-radius: 10px 10px 0 0;
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    flex: 1;
    text-align: center;
}

.tab-btn.active {
    background: #ffffff;
    color: var(--accent);
    border: 1px solid var(--border-color);
    border-bottom: 1px solid #ffffff;
    margin-bottom: -1px;
    box-shadow: 0 -4px 10px rgba(0,0,0,0.02);
}

.scenario-display {
    padding: 30px 25px;
}

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.metric-card {
    padding: 15px 20px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
}

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

.metric-value {
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

.metric-value.highlight {
    color: var(--accent);
}

.scenario-desc-box {
    padding: 20px;
    border-radius: 12px;
    background: #f0f9ff;
    border-left: 4px solid var(--accent);
    font-size: 14px;
    line-height: 1.6;
    color: #334155;
    transition: all 0.3s ease;
}

@media (max-width: 768px) {
    .scenario-content { padding: 25px 20px 10px 20px; }
    .interactive-scenario-module { margin: 0 20px 25px 20px; }
    .scenario-tabs { flex-direction: column; padding: 15px; gap: 5px; }
    .tab-btn { border-radius: 8px; margin-bottom: 0 !important; border: 1px solid transparent; }
    .tab-btn.active { border: 1px solid var(--accent); box-shadow: none; }
    .metrics-grid { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Zależność parametrów pętli grzewczych od przeznaczenia budynku",
    "description": "Zbiór danych definiujących różnice w projektowaniu ogrzewania podłogowego dla specyficznych stref: domów szkieletowych, łazienek oraz instalacji zewnętrznych (podjazdy).",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Długość pętli (Dom szkieletowy)",
        "value": "60-70 m",
        "description": "Zalecana krótsza pętla ze względu na wymóg szybkiej reakcji na zmiany temperatury przy niskiej bezwładności budynku."
      },
      {
        "@type": "PropertyValue",
        "name": "Rozstaw rur (Łazienka)",
        "value": "7,5 - 10 cm",
        "description": "Zagęszczony układ rur w celu osiągnięcia normatywnej temperatury 24°C."
      },
      {
        "@type": "PropertyValue",
        "name": "Czynnik grzewczy (Podjazdy)",
        "value": "Glikol",
        "description": "Ciecz o wysokiej lepkości stosowana na zewnątrz, wymagająca instalacji mocniejszych pomp obiegowych."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Profilu Grzewczego (Przeznaczenie Obiektu)",
    "description": "Interaktywne narzędzie inżynierskie demonstrujące, jak zmieniają się kluczowe parametry pętli ogrzewania płaszczyznowego w zależności od strefy (bezwładność, rozstaw, czynnik, obciążenie pompy).",
    "applicationCategory": "UtilitiesApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczna zmiana parametrów hydraulicznych na podstawie wybranej strefy",
      "Weryfikacja czynnika grzewczego (Woda vs Glikol)",
      "Analiza obciążenia pompy obiegowej i bezwładności cieplnej"
    ]
  }
]
</script>

<div class="premium-scenario-box" id="scenario-app-container">
    <div class="scenario-header">
        <h2>Jak zaplanować rozmieszczenie pętli w budynkach o różnym przeznaczeniu?</h2>
    </div>
    
    <div class="scenario-content">
        <p>Projektując <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-domu-szkieletowym-kluczowe-roznice-i-pulapki/" target="_blank" rel="noreferrer noopener">ogrzewanie podłogowe w domu szkieletowym</a>, musimy pamiętać o mniejszej bezwładności systemu. Tutaj pętle powinny być jeszcze krótsze (ok. <strong>60-70 m</strong>), aby system szybciej reagował na zmiany temperatury. Z kolei w łazienkach, gdzie wymagana temperatura to <strong>24°C</strong> (zgodnie z rozporządzeniem), stosujemy rozstaw <strong>10 cm</strong> lub nawet <strong>7,5 cm</strong>, co drastycznie skraca powierzchnię obsługiwaną przez jedną pętlę. Szczególnym przypadkiem są <a href="https://projekt-ogrzewania.pl/podgrzewane-podjazdy-chodniki-parkingi-i-tarasy-komfort-zima-ktorego-potrzebujesz/" target="_blank" rel="noreferrer noopener">podgrzewane podjazdy i parkingi</a>. Tam pętle mogą być dłuższe, a jako czynnik stosuje się <a href="https://projekt-ogrzewania.pl/glikol-w-ogrzewaniu-podlogowym-prawda-i-mity-ktore-musi-znac-kazdy-inwestor/" target="_blank" rel="noreferrer noopener">glikol w ogrzewaniu podlogowym</a>, co zwiększa lepkość cieczy i wymusza użycie mocniejszych pomp.</p>
    </div>

    <div class="interactive-scenario-module">
        <div class="module-title">⚙️ Symulator Profilu Grzewczego (Strefy)</div>
        
        <div class="scenario-tabs">
            <button class="tab-btn active" data-tab="szkielet">Dom Szkieletowy</button>
            <button class="tab-btn" data-tab="lazienka">Strefa Łazienki</button>
            <button class="tab-btn" data-tab="podjazd">Podjazd / Parking</button>
        </div>

        <div class="scenario-display">
            <div class="metrics-grid">
                <div class="metric-card">
                    <span class="metric-label">Zalecana długość pętli</span>
                    <span class="metric-value highlight" id="sim-length">60 - 70 m</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Rozstaw rur (Gęstość)</span>
                    <span class="metric-value" id="sim-spacing">10 - 15 cm</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Czynnik grzewczy</span>
                    <span class="metric-value" id="sim-fluid">Woda kotłowa / Demineralizowana</span>
                </div>
                <div class="metric-card">
                    <span class="metric-label">Wymagania pompy obiegowej</span>
                    <span class="metric-value" id="sim-pump">Standardowa</span>
                </div>
            </div>

            <div class="scenario-desc-box" id="sim-desc">
                <strong>Inżynierski punkt widzenia:</strong> Budynki szkieletowe cechują się bardzo niską akumulacyjnością cieplną (brak grubych, murowanych ścian). Wymusza to zaprojektowanie systemu o krótkich pętlach, aby instalacja mogła błyskawicznie reagować na nagłe zmiany zapotrzebowania (np. nagłe zyski od nasłonecznienia). Długa pętla spowodowałaby przegrzewanie pomieszczeń.
            </div>
        </div>
    </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 container = document.getElementById('scenario-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Moduł zablokowany</p>
                    <p>Skopiowano bez autoryzacji. Oryginalne narzędzia inżynierskie znajdziesz na <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Baza danych profili
    const profiles = {
        szkielet: {
            length: "60 - 70 m",
            spacing: "10 - 15 cm",
            fluid: "Woda / Woda demineralizowana",
            pump: "Standardowa (Energooszczędna)",
            color: "var(--accent)",
            bg: "#f0f9ff",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Budynki szkieletowe cechują się bardzo niską akumulacyjnością cieplną (brak grubych ścian). Wymusza to zaprojektowanie systemu o krótkich pętlach, aby instalacja mogła błyskawicznie reagować na nagłe zmiany zapotrzebowania (np. duże nasłonecznienie). Długa pętla powodowałaby bezwładne przegrzewanie."
        },
        lazienka: {
            length: "40 - 60 m",
            spacing: "7,5 - 10 cm",
            fluid: "Woda / Woda demineralizowana",
            pump: "Standardowa",
            color: "var(--warning)",
            bg: "#fff7ed",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Łazienka to strefa o najwyższym wymogu termicznym (24°C). Musimy maksymalnie zagęścić rury (często 7,5 cm), co sprawia, że jedna pętla obsługuje bardzo małą powierzchnię (np. 4-5 m²). Zbyt długa rura przy tak gęstym układzie stłumiłaby przepływ."
        },
        podjazd: {
            length: "100 - 150 m",
            spacing: "15 - 20 cm",
            fluid: "Glikol (Roztwór 30-50%)",
            pump: "Wysokiej wydajności (Przemysłowa)",
            color: "#64748b",
            bg: "#f8fafc",
            desc: "<strong>Inżynierski punkt widzenia:</strong> Instalacje przeciwoblodzeniowe na zewnątrz muszą być zalane roztworem glikolu. Glikol ma znacznie wyższą lepkość kinematyczną niż woda. Generuje to gigantyczne opory hydrauliczne, dlatego absolutnie niezbędne jest zastosowanie zewnętrznych wymienników ciepła i bardzo mocnych pomp o dużej wysokości podnoszenia."
        }
    };

    // Logika przełączania
    const tabs = document.querySelectorAll('.tab-btn');
    const elLength = document.getElementById('sim-length');
    const elSpacing = document.getElementById('sim-spacing');
    const elFluid = document.getElementById('sim-fluid');
    const elPump = document.getElementById('sim-pump');
    const elDesc = document.getElementById('sim-desc');

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Reset active tabs
            tabs.forEach(t => t.classList.remove('active'));
            this.classList.add('active');

            // Get data
            const key = this.getAttribute('data-tab');
            const data = profiles[key];

            // Update UI
            elLength.textContent = data.length;
            elSpacing.textContent = data.spacing;
            elFluid.textContent = data.fluid;
            elPump.textContent = data.pump;
            elDesc.innerHTML = data.desc;

            // Apply styles
            elLength.style.color = data.color;
            elDesc.style.borderLeftColor = data.color;
            elDesc.style.backgroundColor = data.bg;
        });
    });
});
</script>



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

.premium-impact-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.impact-header {
    background: #ffffff;
    padding: 35px 40px 15px 40px;
}

.impact-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    color: var(--primary);
    font-weight: 900;
    line-height: 1.3;
}

.impact-content {
    padding: 0 40px 30px 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
}

.impact-content ul {
    margin: 20px 0;
    padding-left: 0;
    list-style: none;
}

.impact-content li {
    margin-bottom: 15px;
    padding-left: 28px;
    position: relative;
}

.impact-content li::before {
    content: "➔";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent);
    font-weight: 900;
}

.impact-content strong {
    color: var(--primary);
}

.impact-content a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
    font-weight: 600;
}

.impact-content a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Moduł Interaktywny - Symulator Skutków */
.interactive-impact-module {
    margin: 0 40px 40px 40px;
    background: var(--bg-light);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    overflow: hidden;
}

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: #ffffff;
    display: flex;
    align-items: center;
    gap: 10px;
}

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

.config-panel {
    padding: 30px 25px;
    background: #ffffff;
    border-right: 1px solid var(--border-color);
}

.config-group {
    margin-bottom: 25px;
}

.config-group:last-child {
    margin-bottom: 0;
}

.config-label {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 10px;
    color: var(--primary);
}

.val-display {
    color: var(--accent);
    font-weight: 900;
}

.impact-slider {
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 10px;
    appearance: none;
    outline: none;
    margin-top: 5px;
}
.impact-slider::-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;
}

.results-panel {
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.res-card {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 15px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

.res-info {
    display: flex;
    flex-direction: column;
}

.res-label {
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 4px;
}

.res-val {
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
}

.res-icon {
    font-size: 24px;
}

/* Dynamiczne kolory */
.status-good { border-left: 4px solid var(--success); }
.status-warn { border-left: 4px solid var(--warning); }
.status-bad { border-left: 4px solid var(--danger); }

.cost-highlight { color: var(--danger); }

@media (max-width: 768px) {
    .impact-header { padding: 25px 25px 10px 25px; }
    .impact-content { padding: 0 25px 25px 25px; }
    .interactive-impact-module { margin: 0 20px 25px 20px; }
    .impact-grid { grid-template-columns: 1fr; }
    .config-panel { border-right: none; border-bottom: 1px solid var(--border-color); }
    .res-card { flex-direction: column; align-items: flex-start; gap: 10px; }
    .res-icon { display: none; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Wpływ długości pętli na koszty sprzętu i hydraulikę",
    "description": "Zestawienie korelacji pomiędzy projektowaną długością pętli a rozmiarem rozdzielacza, kosztami inwestycyjnymi, efektywnością SCOP oraz trudnością równoważenia hydraulicznego rotametrów.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Rozmiar rozdzielacza i szafki",
        "description": "Ilość sekcji rośnie odwrotnie proporcjonalnie do zakładanej długości pojedynczej pętli (zwiększając koszty osprzętu)."
      },
      {
        "@type": "PropertyValue",
        "name": "Koszt sekcji rozdzielacza",
        "value": "150-250 PLN",
        "description": "Szacunkowy koszt dodania jednego obwodu grzewczego (zawór, rotametr, złączki)."
      },
      {
        "@type": "PropertyValue",
        "name": "Zrównoważenie hydrauliczne",
        "description": "Dla pętli powyżej 100m i pętli o skrajnie różnej długości, regulacja przepływów staje się krytycznie trudna."
      },
      {
        "@type": "PropertyValue",
        "name": "SCOP Pompy Ciepła",
        "description": "Krótsze pętle pozwalają obniżyć temperaturę zasilania (30-35°C), co diametralnie podnosi współczynnik efektywności urządzenia."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Skutków Projektowych Podłogówki",
    "description": "Interaktywny analizator ukazujący, jak założenia projektowe (średnia długość pętli) rzutują na koszty rozdzielacza, równoważenie układu i SCOP pompy ciepła dla zadanej długości całej instalacji.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Estymacja wielkości rozdzielacza i szafki",
      "Kalkulacja szacunkowych kosztów sekcyjnych",
      "Wizualna ocena ryzyka równoważenia hydraulicznego",
      "Ocena wpływu decyzji na temperaturę zasilania i efektywność pompy ciepła"
    ]
  }
]
</script>

<div class="premium-impact-box" id="impact-app-container">
    <div class="impact-header">
        <h2>Jak to wpływa na projekt ogrzewania podłogowego i wybór urządzeń?</h2>
    </div>
    
    <div class="impact-content">
        <p>Długość pętli to fundament, na którym opiera się cały <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">profesjonalny projekt ogrzewania podłogowego</a>. Błędne założenie "zrobimy pętle po 120 metrów" rzutuje na:</p>
        
        <ul>
            <li><strong>Dobór rozdzielacza:</strong> Każda dodatkowa pętla to konieczność zakupu większego <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rozdzielacza do podłogówki</a>. Koszt dodatkowej sekcji to ok. <strong>150-250 PLN</strong>, ale jest to inwestycja, która zapobiega problemom z hydrauliką.</li>
            <li><strong>Wielkość szafki:</strong> Więcej pętli wymaga większej <a href="https://projekt-ogrzewania.pl/produkt/szafka-podtynkowa-do-rozdzielaczy-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">szafki podtynkowej</a>.</li>
            <li><strong>Równoważenie:</strong> Na każdym <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rotametrze</a> musimy ustawić konkretny przepływ (np. 1,5 l/min). Jeśli pętle są rażąco różnej długości, np. 30 m i 110 m, ich zrównoważenie bywa niemożliwe bez zewnętrznych zaworów dławiących.</li>
            <li><strong>Źródło ciepła:</strong> <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank" rel="noreferrer noopener">Pompa ciepła</a> najlepiej pracuje przy niskiej temperaturze zasilania (<strong>30-35°C</strong>). Krótkie pętle pozwalają na pracę przy minimalnej różnicy temperatur, co podnosi współczynnik SCOP urządzenia.</li>
        </ul>
    </div>

    <div class="interactive-impact-module">
        <div class="module-title">📉 Symulator skutków decyzji projektowych</div>
        
        <div class="impact-grid">
            <div class="config-panel">
                <div class="config-group">
                    <div class="config-label">
                        <span>Zapotrzebowanie na rurę (Dom)</span>
                        <span class="val-display"><span id="inp-total">1000</span> m</span>
                    </div>
                    <input type="range" id="slider-total" class="impact-slider" min="400" max="2000" value="1000" step="50">
                    <div style="font-size: 11px; color: #94a3b8; margin-top: 6px;">Całkowita ilość rury PEX wyliczona z OZC.</div>
                </div>

                <div class="config-group" style="margin-top: 35px;">
                    <div class="config-label">
                        <span>Zakładana dł. pojedynczej pętli</span>
                        <span class="val-display" id="inp-loop-color"><span id="inp-loop">120</span> m</span>
                    </div>
                    <input type="range" id="slider-loop" class="impact-slider" min="50" max="150" value="120" step="5">
                    <div style="font-size: 11px; color: #94a3b8; margin-top: 6px;">Sprawdź "tani" montaż (120m) vs optymalny (80m).</div>
                </div>
            </div>

            <div class="results-panel">
                <div class="res-card" id="card-manifold">
                    <div class="res-info">
                        <span class="res-label">Wymagany rozdzielacz</span>
                        <span class="res-val"><span id="out-sections">9</span> sekcji (<span id="out-cost">1800</span> PLN)</span>
                    </div>
                    <div class="res-icon">🎛️</div>
                </div>

                <div class="res-card" id="card-balance">
                    <div class="res-info">
                        <span class="res-label">Równoważenie hydrauliczne</span>
                        <span class="res-val" id="out-balance">Bardzo trudne / Niemożliwe</span>
                    </div>
                    <div class="res-icon">⚖️</div>
                </div>

                <div class="res-card" id="card-scop">
                    <div class="res-info">
                        <span class="res-label">Wpływ na pompę ciepła (SCOP)</span>
                        <span class="res-val" id="out-scop">Obniżony SCOP (Wymaga >35°C)</span>
                    </div>
                    <div class="res-icon">⚡</div>
                </div>
            </div>
        </div>
    </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 container = document.getElementById('impact-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Treść zablokowana</p>
                    <p>Moduł interaktywny został skopiowany. Odwiedź <strong>Projekt-Ogrzewania.pl</strong>, aby z niego skorzystać.</p>
                </div>
            `;
            return;
        }
    }

    // Elementy DOM
    const sTotal = document.getElementById('slider-total');
    const sLoop = document.getElementById('slider-loop');
    
    const vTotal = document.getElementById('inp-total');
    const vLoop = document.getElementById('inp-loop');
    const vLoopColor = document.getElementById('inp-loop-color');
    
    const oSections = document.getElementById('out-sections');
    const oCost = document.getElementById('out-cost');
    const oBalance = document.getElementById('out-balance');
    const oScop = document.getElementById('out-scop');

    const cardManifold = document.getElementById('card-manifold');
    const cardBalance = document.getElementById('card-balance');
    const cardScop = document.getElementById('card-scop');

    // Przyjęty średni koszt sekcji (zł)
    const costPerSection = 200; 

    function updateSimulator() {
        const totalPipe = parseInt(sTotal.value);
        const loopLen = parseInt(sLoop.value);

        vTotal.textContent = totalPipe;
        vLoop.textContent = loopLen;

        // Obliczenia
        const sectionsCount = Math.ceil(totalPipe / loopLen);
        const totalCost = sectionsCount * costPerSection;

        oSections.textContent = sectionsCount;
        oCost.textContent = totalCost;

        // Reset klas
        cardManifold.className = 'res-card';
        cardBalance.className = 'res-card';
        cardScop.className = 'res-card';

        // Ocena kosztów rozdzielacza (im mniej pętli, tym taniej inwestycyjnie, ale uwaga na skutki!)
        // Moduł celowo nie barwi kosztów jako błędu, tylko pokazuje tradeoff.
        cardManifold.classList.add('status-good');

        // Ocena długości pętli (Hydraulika i Pompa)
        if (loopLen <= 80) {
            vLoopColor.style.color = "var(--success)";
            
            oBalance.textContent = "Idealne (rotametry działają poprawnie)";
            cardBalance.classList.add('status-good');

            oScop.textContent = "Wysoki SCOP (Zasilanie 30-33°C)";
            cardScop.classList.add('status-good');

        } else if (loopLen > 80 && loopLen <= 100) {
            vLoopColor.style.color = "var(--warning)";
            
            oBalance.textContent = "Dopuszczalne (Wymaga dobrych pomp)";
            cardBalance.classList.add('status-warn');

            oScop.textContent = "Średni SCOP (Zasilanie ok. 35°C)";
            cardScop.classList.add('status-warn');

        } else {
            vLoopColor.style.color = "var(--danger)";
            
            oBalance.textContent = "Ryzyko awarii i niedogrzania stref";
            cardBalance.classList.add('status-bad');

            oScop.textContent = "Drastyczny spadek SCOP (>38°C)";
            cardScop.classList.add('status-bad');
        }
    }

    // Nasłuchiwacze
    if (sTotal) sTotal.addEventListener('input', updateSimulator);
    if (sLoop) sLoop.addEventListener('input', updateSimulator);

    // Inicjalizacja
    updateSimulator();
});
</script>



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

.premium-error-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 40px -10px rgba(220, 38, 38, 0.1);
    border: 1px solid var(--border-color);
    border-top: 5px solid var(--danger);
    overflow: hidden;
    color: var(--primary);
}

.error-header {
    background: #fffafa;
    padding: 35px 40px 20px 40px;
}

.error-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    color: var(--danger);
    font-weight: 900;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
}

.error-content {
    padding: 0 40px 30px 40px;
    line-height: 1.8;
    color: #334155;
    font-size: 16px;
    background: #fffafa;
}

.error-content p {
    margin-bottom: 20px;
}

.error-list {
    margin: 20px 0;
    padding-left: 0;
    list-style: none;
    display: grid;
    gap: 15px;
}

.error-list li {
    background: #ffffff;
    border: 1px solid #fee2e2;
    padding: 15px 20px;
    border-radius: 12px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.02);
    position: relative;
    padding-left: 50px;
}

.error-number {
    position: absolute;
    left: 15px;
    top: 15px;
    background: #fecaca;
    color: var(--danger);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 900;
    font-size: 13px;
}

.error-content strong {
    color: var(--primary);
}

.error-content a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: all 0.2s ease;
    font-weight: 600;
}

.error-content a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

/* Moduł Interaktywny - Symulator Ryzyka */
.interactive-risk-module {
    margin: 0 40px 40px 40px;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
}

.module-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

.risk-config {
    padding: 25px;
    border-bottom: 1px solid var(--border-color);
}

.slider-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 15px;
}

.val-badge {
    background: #f1f5f9;
    padding: 4px 12px;
    border-radius: 8px;
    font-weight: 900;
    color: var(--danger);
}

.risk-slider {
    width: 100%;
    height: 6px;
    background: #e2e8f0;
    border-radius: 10px;
    appearance: none;
    outline: none;
}
.risk-slider::-webkit-slider-thumb {
    appearance: none; width: 24px; height: 24px; background: var(--danger); border-radius: 50%; border: 3px solid white; box-shadow: 0 2px 5px rgba(0,0,0,0.2); cursor: pointer; transition: 0.2s;
}
.risk-slider::-webkit-slider-thumb:active {
    transform: scale(1.1);
}

/* Termowizja */
.thermal-bar-container {
    padding: 20px 25px;
    background: #f8fafc;
    border-bottom: 1px solid var(--border-color);
}

.thermal-label {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.thermal-bar {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(to right, #ef4444 0%, #f59e0b 50%, #ef4444 100%);
    transition: background 0.3s ease;
}

.thermal-markers {
    display: flex;
    justify-content: space-between;
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    margin-top: 8px;
}

/* Wyniki ryzyk */
.risk-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 25px;
}

.risk-card {
    padding: 15px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    text-align: center;
    transition: all 0.3s ease;
}

.risk-icon { font-size: 24px; margin-bottom: 8px; }
.risk-title { font-size: 12px; font-weight: 800; color: #64748b; text-transform: uppercase; margin-bottom: 5px; }
.risk-val { font-size: 18px; font-weight: 900; color: var(--primary); }

.status-ok { border-color: var(--success); background: #f0fdf4; }
.status-warn { border-color: var(--warning); background: #fff7ed; }
.status-crit { border-color: var(--danger); background: #fef2f2; color: var(--danger); }

@media (max-width: 768px) {
    .error-header { padding: 25px 25px 15px 25px; }
    .error-content { padding: 0 25px 25px 25px; }
    .interactive-risk-module { margin: 0 20px 25px 20px; }
    .risk-results { grid-template-columns: 1fr; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Konsekwencje błędnego projektowania ogrzewania podłogowego (zbyt długie pętle)",
    "description": "Dokumentacja usterek i ryzyk związanych z przekraczaniem normatywnej długości pętli grzewczych (130-140m). Dane obejmują ryzyko kawitacji, spadki temperatury oraz uszkodzenia wylewki.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zjawisko kawitacji",
        "description": "Szumy i niszczenie instalacji spowodowane nadmierną prędkością czynnika przy próbie pokonania oporów długiej pętli."
      },
      {
        "@type": "PropertyValue",
        "name": "Zimne plamy (Spadek ΔT)",
        "value": "8-10°C spadku",
        "description": "Drastyczne wychłodzenie czynnika na końcu pętli prowadzące do stref niedogrzania."
      },
      {
        "@type": "PropertyValue",
        "name": "Pękanie wylewki",
        "description": "Naprężenia termiczne jastrychu wywołane nierównomiernym rozkładem temperatury oraz brakiem izolacji brzegowej/dylatacji."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Symulator Błędów Instalacyjnych Podłogówki",
    "description": "Wizualizator ryzyk pokazujący wpływ przekraczania zalecanej długości rury grzewczej na prędkość przepływu (kawitację), wychłodzenie pętli (zimne plamy) oraz naprężenia posadzki.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Symulacja spadku temperatury czynnika grzewczego (wizualizacja termowizyjna)",
      "Ocena ryzyka kawitacji i szumów w instalacji",
      "Wskazania naprężeń wylewki betonowej i ryzyka pęknięć"
    ]
  }
]
</script>

<div class="premium-error-box" id="error-app-container">
    <div class="error-header">
        <h2>⚠️ Najczęstsze błędy: Dlaczego "na oko" wychodzi drożej?</h2>
    </div>
    
    <div class="error-content">
        <p>Pracując jako inżynier HVAC, często poprawiam instalacje wykonane bez obliczeń. Inwestorzy, chcąc zaoszczędzić na <a href="https://projekt-ogrzewania.pl/ile-kosztuje-projekt-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">cenie projektu ogrzewania podłogowego</a>, godzą się na ułożenie pętli o długości <strong>130-140 m</strong> rurą 16 mm. <strong>Skutki są opłakane:</strong></p>
        
        <ul class="error-list">
            <li>
                <div class="error-number">1</div>
                <strong>Zjawisko kawitacji:</strong> Szumy w instalacji spowodowane zbyt dużą prędkością przepływu przy próbie "przepchnięcia" wody przez za długą pętlę.
            </li>
            <li>
                <div class="error-number">2</div>
                <strong>Zimne plamy:</strong> Woda na końcu pętli ma temperaturę o <strong>8-10 stopni niższą</strong> niż na początku. <a href="https://projekt-ogrzewania.pl/czy-ogrzewanie-podlogowe-jest-zdrowe/" target="_blank" rel="noreferrer noopener">Czy ogrzewanie podłogowe jest zdrowe</a> w takiej sytuacji? Nie, bo generuje naprężenia w wylewce i dyskomfort termiczny.
            </li>
            <li>
                <div class="error-number">3</div>
                <strong>Pękanie wylewki:</strong> Brak uwzględnienia <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">izolacji brzegowej i dylatacji</a> przy długich obiegach to prosta droga do zniszczenia drogich płytek lub paneli.
            </li>
        </ul>
        
        <p style="margin-bottom: 0;">Jeśli remontujesz dom, sprawdź <a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/" target="_blank" rel="noreferrer noopener">ogrzewanie podłogowe w remontowanym budynku – czy warto</a>, zanim podejmiesz decyzję o rozkładzie rur.</p>
    </div>

    <div class="interactive-risk-module">
        <div class="module-title">🔥 Symulator awarii: Zobacz co się dzieje "na końcu" rury</div>
        
        <div class="risk-config">
            <div class="slider-label-row">
                <span>Długość ułożonej pętli (rura 16x2)</span>
                <span class="val-badge"><span id="risk-len-val">140</span> metrów</span>
            </div>
            <input type="range" id="risk-slider" class="risk-slider" min="60" max="160" value="140" step="5">
            <div style="font-size: 11px; color: #94a3b8; margin-top: 8px;">Przesuń suwak, aby sprawdzić zachowanie układu hydraulicznego.</div>
        </div>

        <div class="thermal-bar-container">
            <div class="thermal-label">Symulacja termowizyjna rozkładu ciepła (Początek ➔ Koniec pętli)</div>
            <div class="thermal-bar" id="thermal-gradient"></div>
            <div class="thermal-markers">
                <span>Zasilanie (35°C)</span>
                <span>Środek pokoju</span>
                <span id="thermal-end-txt">Powrót (<span id="temp-drop-val">25</span>°C)</span>
            </div>
        </div>

        <div class="risk-results">
            <div class="risk-card" id="card-temp">
                <div class="risk-icon">❄️</div>
                <div class="risk-title">Zimne plamy</div>
                <div class="risk-val" id="val-temp">ΔT = 10°C</div>
            </div>
            
            <div class="risk-card" id="card-cav">
                <div class="risk-icon">🌊</div>
                <div class="risk-title">Opory i Szumy</div>
                <div class="risk-val" id="val-cav">Kawitacja</div>
            </div>

            <div class="risk-card" id="card-stress">
                <div class="risk-icon">💥</div>
                <div class="risk-title">Naprężenia wylewki</div>
                <div class="risk-val" id="val-stress">Krytyczne</div>
            </div>
        </div>
    </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 container = document.getElementById('error-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <p style="margin: 15px 0;">Blokada bezpieczeństwa</p>
                    <p>Skopiowano bez autoryzacji. Oryginalne symulatory ryzyk instalacyjnych znajdziesz na <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Elementy
    const slider = document.getElementById('risk-slider');
    const valDisplay = document.getElementById('risk-len-val');
    
    const thermalBar = document.getElementById('thermal-gradient');
    const tempDropVal = document.getElementById('temp-drop-val');
    
    const cardTemp = document.getElementById('card-temp');
    const valTemp = document.getElementById('val-temp');
    
    const cardCav = document.getElementById('card-cav');
    const valCav = document.getElementById('val-cav');
    
    const cardStress = document.getElementById('card-stress');
    const valStress = document.getElementById('val-stress');

    // Stała temperatura zasilania
    const T_ZASILANIE = 35;

    function updateRisk() {
        const len = parseInt(slider.value);
        valDisplay.textContent = len;

        // Reset klas
        cardTemp.className = 'risk-card';
        cardCav.className = 'risk-card';
        cardStress.className = 'risk-card';

        let dT = 5; // standardowy spadek

        if (len <= 80) {
            dT = 5;
            // Bezpiecznie
            cardTemp.classList.add('status-ok');
            valTemp.textContent = `ΔT = ${dT}°C`;
            
            cardCav.classList.add('status-ok');
            valCav.textContent = "Brak szumów (Cicho)";
            
            cardStress.classList.add('status-ok');
            valStress.textContent = "Minimalne";

            thermalBar.style.background = "linear-gradient(to right, #ef4444 0%, #f59e0b 50%, #f97316 100%)";

        } else if (len > 80 && len <= 100) {
            dT = 7;
            // Ostrzeżenie
            cardTemp.classList.add('status-warn');
            valTemp.textContent = `ΔT = ${dT}°C`;
            
            cardCav.classList.add('status-warn');
            valCav.textContent = "Wysokie opory";
            
            cardStress.classList.add('status-warn');
            valStress.textContent = "Podwyższone";

            thermalBar.style.background = "linear-gradient(to right, #ef4444 0%, #f97316 60%, #fbbf24 100%)";

        } else {
            // Ryzyko krytyczne - przeliczenie dT
            dT = Math.round(7 + (len - 100) * 0.1); // np 140 -> 7 + 4 = 11
            
            cardTemp.classList.add('status-crit');
            valTemp.textContent = `ΔT = ${dT}°C (Zimno!)`;
            
            cardCav.classList.add('status-crit');
            valCav.textContent = "Zjawisko kawitacji";
            
            cardStress.classList.add('status-crit');
            valStress.textContent = "Ryzyko pęknięć";

            // Termowizja pokazuje spadek do niebieskiego
            let bluePoint = 100 - ((len - 100) * 1.5); 
            if(bluePoint < 50) bluePoint = 50;
            thermalBar.style.background = `linear-gradient(to right, #ef4444 0%, #f59e0b 30%, #3b82f6 ${bluePoint}%, #1e3a8a 100%)`;
        }

        // Aktualizacja powrotu
        tempDropVal.textContent = T_ZASILANIE - dT;
    }

    if (slider) {
        slider.addEventListener('input', updateRisk);
        updateRisk(); // start
    }
});
</script>



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

.premium-faq-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 35px -10px rgba(0, 0, 0, 0.05);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.faq-header {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 35px 40px 25px 40px;
    border-bottom: 1px solid #bae6fd;
}

.faq-header h2 {
    margin: 0 0 15px 0;
    font-size: 28px;
    color: #0369a1;
    font-weight: 900;
    line-height: 1.3;
}

.faq-header p {
    font-size: 15px;
    color: #334155;
    margin: 0 0 20px 0;
    line-height: 1.6;
}

/* Wyszukiwarka */
.faq-search-wrapper {
    position: relative;
    max-width: 500px;
}

.faq-search-input {
    width: 100%;
    padding: 14px 20px 14px 45px;
    border: 2px solid #bae6fd;
    border-radius: 12px;
    font-size: 15px;
    font-family: 'Inter', sans-serif;
    outline: none;
    transition: all 0.3s ease;
    background: #ffffff;
    color: var(--primary);
    box-sizing: border-box;
}

.faq-search-input:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 4px rgba(2, 132, 199, 0.1);
}

.faq-search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    color: #7dd3fc;
    transition: color 0.3s;
}

.faq-search-input:focus + .faq-search-icon {
    color: var(--accent);
}

/* Akordeon FAQ */
.faq-content {
    padding: 20px 40px 40px 40px;
    background: #ffffff;
}

.faq-no-results {
    display: none;
    text-align: center;
    padding: 30px;
    color: #64748b;
    font-weight: 600;
    background: var(--bg-light);
    border-radius: 12px;
}

.faq-item {
    border-bottom: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 25px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 800;
    color: var(--primary);
    font-family: inherit;
    transition: color 0.2s;
}

.faq-question:hover {
    color: var(--accent);
}

.faq-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    background: #e0f2fe;
    color: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    transition: transform 0.3s ease, background 0.3s ease;
    margin-left: 15px;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
    background: var(--accent);
    color: #ffffff;
}

.faq-item.active .faq-question {
    color: var(--accent);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-answer-inner {
    padding-bottom: 25px;
    font-size: 15px;
    line-height: 1.7;
    color: #475569;
}

.faq-answer-inner strong {
    color: var(--primary);
}

.faq-answer-inner a {
    color: var(--accent);
    text-decoration: none;
    border-bottom: 1px dashed var(--accent);
    transition: 0.2s;
    font-weight: 600;
}

.faq-answer-inner a:hover {
    color: #0369a1;
    border-bottom-style: solid;
}

@media (max-width: 768px) {
    .faq-header { padding: 30px 20px 20px 20px; }
    .faq-content { padding: 10px 20px 30px 20px; }
    .faq-question { padding: 20px 0; font-size: 15px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
      {
        "@type": "Question",
        "name": "Ile metrów podłogówki na jednej pętli to maksymalna długość dla rury 16 mm?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Maksymalna dopuszczalna długość to 100 metrów, jednak w profesjonalnych projektach zaleca się nieprzekraczanie 80 metrów. Taka długość gwarantuje optymalne opory hydrauliczne (ok. 20 kPa) i równomierne grzanie bez przeciążania pompy obiegowej."
        }
      },
      {
        "@type": "Question",
        "name": "Jak obliczyć długość pętli ogrzewania podłogowego dla pokoju?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Wzór inżynierski to: (Powierzchnia pokoju / rozstaw w metrach) * 1,1 (współczynnik na podejścia). Na przykład dla 20 m² przy rozstawie co 15 cm otrzymujemy: (20 / 0,15) * 1,1 ≈ 147 metrów. Otrzymaną wartość dzielimy na dwie pętle (np. po 74 metry)."
        }
      },
      {
        "@type": "Question",
        "name": "Czy rozstaw rur wpływa na ilość pętli w pomieszczeniu?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Tak, ma decydujący wpływ. Im mniejszy rozstaw (np. 10 cm dedykowany pod pompy ciepła), tym więcej rury zużywamy na 1 m². Gęstszy rozstaw wymusza podzielenie instalacji w jednym pomieszczeniu na większą liczbę osobnych obiegów podłączonych do rozdzielacza."
        }
      },
      {
        "@type": "Question",
        "name": "Jakie błędy najczęściej popełnia się przy projektowaniu pętli?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Głównym błędem jest projektowanie zbyt długich pętli (np. 140 m). Prowadzi to do niedogrzania stref końcowych (woda zdąży ostygnąć), powstawania szumów z powodu zjawiska kawitacji oraz braku możliwości zrównoważenia przepływów na rotametrach."
        }
      },
      {
        "@type": "Question",
        "name": "Czy warto stosować rurę 20 mm w domu, aby zrobić dłuższe pętle?",
        "acceptedAnswer": {
          "@type": "Answer",
          "text": "Nie jest to zalecane w standardowym budownictwie jednorodzinnym. Choć rura 20 mm pozwala na pętle rzędu 150 m, jest ona bardzo sztywna, co sprawia ogromne problemy przy formowaniu układu meandrowego lub ślimakowego w małych rozstawach."
        }
      }
    ]
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Baza Wiedzy HVAC: Opory i Długości Pętli",
    "description": "Zestaw ustrukturyzowanych pytań i eksperckich odpowiedzi dotyczących inżynierii ogrzewania płaszczyznowego, uwzględniający wymogi norm i hydrauliki budynkowej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Interaktywny Eksplorator Wiedzy o Podłogówce",
    "description": "Narzędzie typu FAQ pozwalające na interaktywne filtrowanie i wyszukiwanie problemów projektowych związanych z instalacją ogrzewania podłogowego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczne wyszukiwanie pytań i odpowiedzi (Live Search)",
      "Rozwijane komponenty informacyjne (Akordeon)",
      "Baza danych autoryzowana przez inżyniera HVAC"
    ]
  }
]
</script>

<div class="premium-faq-box" id="faq-app-container">
    <div class="faq-header">
        <h2>Pytania i odpowiedzi (FAQ)</h2>
        <p>Szybkie podsumowanie najważniejszych kwestii inżynierskich związanych z doborem rur i projektowaniem pętli ogrzewania podłogowego.</p>
        
        <div class="faq-search-wrapper">
            <input type="text" id="faq-search" class="faq-search-input" placeholder="Wpisz słowo kluczowe (np. długość, rozstaw)...">
            <span class="faq-search-icon">🔍</span>
        </div>
    </div>
    
    <div class="faq-content">
        <div id="faq-no-results" class="faq-no-results">
            Brak pytań pasujących do wyszukiwania. Spróbuj innych słów kluczowych.
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Ile metrów podłogówki na jednej pętli to maksymalna bezpieczna długość (16 mm)?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Maksymalna dopuszczalna długość to <strong>100 metrów</strong>, jednak jako inżynier projektujący instalacje od lat, kategorycznie zalecam celowanie w <strong>80 metrów</strong>. Taka długość gwarantuje optymalne opory hydrauliczne (ok. 20 kPa), bezproblemowe zrównoważenie na <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">rotametrach</a> i równomierne oddawanie ciepła bez przeciążania pompy obiegowej.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Jak obliczyć ile rury potrzebuję do konkretnego pomieszczenia?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Możesz skorzystać ze wzoru: <strong>(Powierzchnia pokoju / rozstaw w metrach) * 1,1</strong> (współczynnik na podejścia). Przykładowo, dla pokoju 20 m² przy rozstawie co 15 cm daje to: (20 / 0,15) * 1,1 ≈ 147 metrów. Pamiętając o limitach z pierwszego pytania, taką wartość musisz bezwzględnie podzielić na co najmniej <strong>dwie pętle</strong> na rozdzielaczu (np. po ok. 74 metry każda). Do dokładnych wyliczeń polecam nasz <a href="https://projekt-ogrzewania.pl/kompleksowy-kalkulator-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">kalkulator podłogówki</a>.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Czy rozstaw rur ma wpływ na liczbę pętli w pokoju?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Oczywiście. Im gęstszy rozstaw (np. 10 cm polecany pod <a href="https://projekt-ogrzewania.pl/pompa-ciepla/" target="_blank" rel="noreferrer noopener">pompy ciepła</a>), tym więcej metrów bieżących rury przypada na 1 m² powierzchni (ok. 10 mb/m²). Szybsze zużycie rury sprawia, że szybciej dobijamy do bezpiecznego limitu 80 metrów, co wymusza zaprojektowanie dodatkowego obiegu grzewczego.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Co się stanie, jeśli wykonawca zrobi mi pętlę rzędu 130-140 metrów?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Skutki zazwyczaj widać już po pierwszej zimie. Woda na końcu takiego obiegu zdąży drastycznie ostygnąć, tworząc "zimne plamy" na podłodze. Próba przyspieszenia przepływu przez pompę, aby to wyrównać, doprowadzi z kolei do <strong>kawitacji i nieznośnych szumów</strong> w rurach (zbyt duże opory tłoczenia). Dodatkowo nierównomierne stygnięcie to prosta droga do <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/" target="_blank" rel="noreferrer noopener">naprężeń i pękania wylewki</a>.
                </div>
            </div>
        </div>

        <div class="faq-item">
            <button class="faq-question">
                <span>Czy do długich pętli w domu jednorodzinnym warto zastosować rurę 20 mm?</span>
                <span class="faq-icon">+</span>
            </button>
            <div class="faq-answer">
                <div class="faq-answer-inner">
                    Odradzam. Rury o średnicy <a href="https://projekt-ogrzewania.pl/srednice-rur-w-ogrzewaniu-podlogowym/" target="_blank" rel="noreferrer noopener">20x2 mm</a> pozwalają na dłuższe pętle (nawet 130 m), ale są dedykowane głównie do hal przemysłowych i magazynów, gdzie stosuje się rzadki rozstaw. W budownictwie jednorodzinnym rura 20 mm sprawia ogromne problemy instalatorom – jest sztywna, wymaga wielkiej siły i stwarza trudności przy gięciu blisko okien i ścian. Optymalnym materiałem pozostaje rura 16x2 mm.
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('faq-app-container');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px; display: block;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Baza Wiedzy Zablokowana</h3>
                    <p style="font-size: 16px; max-width: 500px; margin: 0 auto 25px auto; line-height: 1.5; color: #7f1d1d;">Ten moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i nie może być używany poza oryginalną domeną.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
        return;
    }

    // 2. LOGIKA AKORDEONU
    const faqItems = document.querySelectorAll('.faq-item');

    faqItems.forEach(item => {
        const question = item.querySelector('.faq-question');
        const answer = item.querySelector('.faq-answer');

        question.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamknij wszystkie inne (opcjonalne, ale daje ładny efekt)
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.faq-answer').style.maxHeight = null;
            });

            // Otwórz lub zamknij kliknięty
            if (!isActive) {
                item.classList.add('active');
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });

    // 3. LOGIKA WYSZUKIWARKI (Live Search)
    const searchInput = document.getElementById('faq-search');
    const noResultsMsg = document.getElementById('faq-no-results');

    searchInput.addEventListener('input', function() {
        const query = this.value.toLowerCase().trim();
        let visibleCount = 0;

        faqItems.forEach(item => {
            const text = item.textContent.toLowerCase();
            if (text.includes(query)) {
                item.style.display = 'block';
                visibleCount++;
            } else {
                item.style.display = 'none';
                item.classList.remove('active'); // Zwijamy ukrywane
                item.querySelector('.faq-answer').style.maxHeight = null;
            }
        });

        if (visibleCount === 0) {
            noResultsMsg.style.display = 'block';
        } else {
            noResultsMsg.style.display = 'none';
        }
    });
});
</script>



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

.premium-infographic-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.infographic-header {
    background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
    padding: 30px 40px;
    border-bottom: 1px solid #bae6fd;
    text-align: center;
}

.infographic-header h2 {
    margin: 0 0 10px 0;
    font-size: 26px;
    color: #0369a1;
    font-weight: 900;
    line-height: 1.3;
}

.infographic-header p {
    font-size: 15px;
    color: #334155;
    margin: 0;
    line-height: 1.6;
}

/* Sekcja obrazka */
.infographic-viewer {
    position: relative;
    padding: 40px;
    background: #f8fafc;
    text-align: center;
}

.image-container {
    position: relative;
    display: inline-block;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    cursor: zoom-in;
    transition: transform 0.3s ease;
    border: 1px solid #cbd5e1;
}

.image-container img {
    display: block;
    max-width: 100%;
    height: auto;
    transition: filter 0.3s ease;
}

.image-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(2, 132, 199, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.image-container:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

.image-container:hover .image-overlay {
    opacity: 1;
}

.zoom-icon {
    background: var(--accent);
    color: white;
    padding: 15px 25px;
    border-radius: 30px;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.3);
    pointer-events: none;
}

/* Modals / Lightbox */
.lightbox-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(15, 23, 42, 0.95);
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.lightbox-modal.active {
    display: flex;
    opacity: 1;
}

.lightbox-content {
    max-width: 90%;
    max-height: 90vh;
    border-radius: 8px;
    box-shadow: 0 0 40px rgba(0,0,0,0.5);
    object-fit: contain;
}

.lightbox-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 40px;
    font-weight: 300;
    cursor: pointer;
    transition: color 0.2s;
}

.lightbox-close:hover {
    color: var(--danger);
}

/* Sekcja Pobierania */
.infographic-footer {
    padding: 30px 40px;
    background: #ffffff;
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.footer-text {
    flex: 1;
}

.footer-text h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--primary);
}

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

.btn-download-pdf {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--danger);
    color: white;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(220, 38, 38, 0.25);
    white-space: nowrap;
}

.btn-download-pdf:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(220, 38, 38, 0.35);
}

@media (max-width: 768px) {
    .infographic-header { padding: 25px 20px; }
    .infographic-viewer { padding: 20px; }
    .infographic-footer { flex-direction: column; text-align: center; padding: 25px 20px; }
    .btn-download-pdf { width: 100%; justify-content: center; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Ekspercka Infografika: Zestawienie parametrów ogrzewania podłogowego",
    "description": "Wizualne zestawienie normatywnych długości pętli (60-100m) dla systemów płaszczyznowych. Zawiera matrycę doboru rury na podstawie metrażu pomieszczenia oraz katalog krytycznych błędów instalacyjnych.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Zalecana długość pętli",
        "value": "60 - 100 m",
        "description": "Złoty środek inżynierski chroniący przed spadkami temperatury."
      },
      {
        "@type": "PropertyValue",
        "name": "Dobór pętli do powierzchni",
        "description": "Tabela korelująca wielkość pomieszczenia (np. do 10m², 15-20m²) z wymaganą długością obwodu grzewczego."
      },
      {
        "@type": "PropertyValue",
        "name": "Praktyczne wskazówki",
        "description": "Checklista dla instalatorów m.in. omijani stref stałej zabudowy oraz wymóg prób ciśnieniowych przed wylewką."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Przeglądarka Infografik Inżynierskich HVAC",
    "description": "Interaktywny moduł prezentacyjny umożliwiający analizę schematów technicznych w wysokiej rozdzielczości z opcją pobrania dokumentacji w formacie PDF.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Dynamiczne powiększanie schematów (Lightbox)",
      "Responsywna prezentacja techniczna w formacie WEBP",
      "Bezpośredni eksport norm inżynierskich do formatu PDF"
    ]
  }
]
</script>

<div class="premium-infographic-box" id="infographic-app-container">
    <div class="infographic-header">
        <h2>Ekspercka ściąga: Ile metrów podłogówki na pętli?</h2>
        <p>Zapisz naszą autorską infografikę. To wizualne kompendium wiedzy, które uratuje Twój projekt przed najczęstszymi błędami hydraulicznymi.</p>
    </div>
    
    <div class="infographic-viewer">
        <div class="image-container" id="open-lightbox">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.webp" 
                 alt="Kompleksowa infografika inżynierska stanowiąca przewodnik po projektowaniu instalacji płaszczyznowych, skupiona na kluczowym pytaniu: ile metrów podłogówki na jednej pętli." 
                 width="800" height="auto" loading="lazy">
            <div class="image-overlay">
                <span class="zoom-icon">🔍 KLIKNIJ, ABY POWIĘKSZYĆ</span>
            </div>
        </div>
    </div>

    <div class="infographic-footer">
        <div class="footer-text">
            <h3>Zabierz te dane na budowę!</h3>
            <p>Pobierz infografikę w wysokiej jakości (PDF). Wydrukuj ją i skonsultuj z instalatorem przed wylaniem posadzki.</p>
        </div>
        <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.pdf" class="btn-download-pdf" target="_blank" rel="noopener noreferrer">
            📄 POBIERZ PDF (HD)
        </a>
    </div>

    <div class="lightbox-modal" id="lightbox">
        <span class="lightbox-close" id="close-lightbox">&times;</span>
        <img decoding="async" class="lightbox-content" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/Infografika-Ile-metrow-podlogowki-na-jednej-petli.webp" alt="Powiększenie infografiki">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // 1. ZABEZPIECZENIE DOMENOWE (Domain Lock)
    const domain = window.location.hostname;
    const allowedDomains = ['projekt-ogrzewania.pl', 'www.projekt-ogrzewania.pl', 'localhost', '127.0.0.1', ''];
    
    if (!allowedDomains.includes(domain)) {
        const appContainer = document.getElementById('infographic-app-container');
        if (appContainer) {
            appContainer.innerHTML = `
                <div style="padding: 50px 20px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 20px; font-family: sans-serif;">
                    <span style="font-size: 48px; margin-bottom: 20px; display: block;">🔒</span>
                    <h3 style="margin-top:0; font-size: 24px; font-weight: 900;">Materiały Zablokowane</h3>
                    <p style="font-size: 16px; max-width: 500px; margin: 0 auto 25px auto; line-height: 1.5; color: #7f1d1d;">Ten interaktywny moduł edukacyjny jest własnością serwisu <strong>Projekt-Ogrzewania.pl</strong> i nie może być używany poza autoryzowaną domeną.</p>
                    <a href="https://projekt-ogrzewania.pl/" style="padding: 14px 28px; background: #dc2626; color: white; text-decoration: none; border-radius: 12px; font-weight: 800;">ZOBACZ ORYGINAŁ</a>
                </div>
            `;
        }
        return;
    }

    // 2. LOGIKA LIGHTBOXA (Przybliżanie obrazu)
    const openBtn = document.getElementById('open-lightbox');
    const lightbox = document.getElementById('lightbox');
    const closeBtn = document.getElementById('close-lightbox');

    if(openBtn && lightbox && closeBtn) {
        // Otwieranie
        openBtn.addEventListener('click', function() {
            lightbox.classList.add('active');
            document.body.style.overflow = 'hidden'; // Blokada scrollowania strony pod spodem
        });

        // Zamykanie krzyżykiem
        closeBtn.addEventListener('click', function() {
            lightbox.classList.remove('active');
            document.body.style.overflow = 'auto';
        });

        // Zamykanie przez kliknięcie w tło
        lightbox.addEventListener('click', function(e) {
            if (e.target === lightbox) {
                lightbox.classList.remove('active');
                document.body.style.overflow = 'auto';
            }
        });

        // Zamykanie klawiszem ESC
        document.addEventListener('keydown', function(e) {
            if (e.key === "Escape" && lightbox.classList.contains('active')) {
                lightbox.classList.remove('active');
                document.body.style.overflow = 'auto';
            }
        });
    }
});
</script>



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

.premium-summary-box {
    max-width: 950px;
    margin: 40px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 15px 40px -10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--border-color);
    overflow: hidden;
    color: var(--primary);
}

.summary-header {
    background: var(--primary);
    padding: 35px 40px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

/* Dekoracyjne tło w nagłówku */
.summary-header::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -20px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(2, 132, 199, 0.4) 0%, rgba(255,255,255,0) 70%);
    border-radius: 50%;
}

.summary-header h2 {
    margin: 0 0 15px 0;
    font-size: 26px;
    font-weight: 900;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.summary-text {
    padding: 35px 40px 10px 40px;
    font-size: 16px;
    line-height: 1.8;
    color: #334155;
}

.summary-text strong {
    color: var(--primary);
    background: rgba(2, 132, 199, 0.05);
    padding: 2px 6px;
    border-radius: 4px;
}

/* Moduł interaktywny - Weryfikator */
.interactive-checklist-module {
    margin: 20px 40px 40px 40px;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.checklist-title {
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 1px;
    padding: 20px 25px;
    border-bottom: 1px solid var(--border-color);
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.progress-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 200px;
}

.progress-track {
    flex: 1;
    height: 8px;
    background: #e2e8f0;
    border-radius: 4px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    width: 0%;
    background: var(--accent);
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.progress-text {
    font-size: 12px;
    font-weight: 900;
    color: var(--primary);
    min-width: 40px;
    text-align: right;
}

.checklist-items {
    padding: 20px 25px;
    display: grid;
    gap: 12px;
}

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

.check-item:hover {
    border-color: #bae6fd;
    background: #f0f9ff;
}

.check-item.completed {
    border-color: var(--success);
    background: #f0fdf4;
}

.check-box {
    width: 24px;
    height: 24px;
    border: 2px solid #cbd5e1;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    background: #fff;
    margin-top: 2px;
}

.check-item.completed .check-box {
    background: var(--success);
    border-color: var(--success);
}

.check-icon {
    color: white;
    font-size: 14px;
    font-weight: 900;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.check-item.completed .check-icon {
    opacity: 1;
    transform: scale(1);
}

.check-content h4 {
    margin: 0 0 5px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--primary);
}

.check-content p {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
}

/* CTA Sukcesu - ROZWIĄZANIE HYBRYDOWE */
.success-cta-box {
    padding: 30px 40px;
    background: #f8fafc; /* Neutralne tło na start */
    border-top: 1px solid var(--border-color);
    text-align: center;
    transition: all 0.4s ease;
}

.success-cta-box.is-success {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-top-color: #bbf7d0;
}

.success-messages {
    display: none;
    animation: fadeIn 0.5s ease;
}

.success-cta-box.is-success .success-messages {
    display: block;
}

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

.success-messages h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    color: #166534;
    font-weight: 900;
}

.success-messages p {
    font-size: 15px;
    color: #15803d;
    margin: 0 0 20px 0;
}

.success-cta-promo {
    font-size: 15px;
    color: var(--primary);
    margin-bottom: 20px;
    font-weight: 700;
    transition: color 0.4s ease;
}

.success-cta-box.is-success .success-cta-promo {
    color: #166534; /* Dopasowanie koloru w stanie sukcesu */
}

.cta-btn-blog {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #16a34a;
    color: #ffffff;
    padding: 14px 28px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.3);
}

.cta-btn-blog:hover {
    background: #15803d;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(22, 163, 74, 0.4);
    color: #ffffff;
}

@media (max-width: 768px) {
    .summary-header { padding: 30px 25px; }
    .summary-text { padding: 25px 25px 10px 25px; }
    .interactive-checklist-module { margin: 20px 20px 30px 20px; }
    .checklist-title { flex-direction: column; align-items: flex-start; gap: 15px; }
    .progress-wrapper { width: 100%; }
    .success-cta-box { padding: 25px 20px; }
}
</style>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "name": "Kluczowe parametry i wnioski z projektowania ogrzewania podłogowego",
    "description": "Zbiór najważniejszych inżynierskich wytycznych dotyczących limitów długości pętli, zagęszczenia w strefach brzegowych oraz hydraulicznych wymagań systemu ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "variableMeasured": [
      {
        "@type": "PropertyValue",
        "name": "Limit długości pętli (16mm)",
        "value": "Max 80-100m",
        "description": "Zapobieganie zjawisku kawitacji oraz krytycznym spadkom temperatury."
      },
      {
        "@type": "PropertyValue",
        "name": "Rozstaw w strefie brzegowej",
        "value": "10 cm",
        "description": "Kompensacja zwiększonych strat cieplnych w rejonie dużych przeszkleń."
      },
      {
        "@type": "PropertyValue",
        "name": "Opór hydrauliczny w pętli",
        "value": "Max 20-30 kPa",
        "description": "Parametr gwarantujący poprawną pracę rotametrów i pompy obiegowej."
      }
    ],
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski",
      "sameAs": [
        "https://www.facebook.com/robert.kucharski.budowa.bez.sciemy",
        "https://www.linkedin.com/in/robert-kucharski-38069b48/"
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "name": "Ekspercki Weryfikator Gotowości Projektu",
    "description": "Interaktywna aplikacja w formie audytu projektowego. Pozwala inwestorom sprawdzić, czy ich układ spełnia kluczowe wymogi hydrauliczne i cieplne wg normy PN-EN 1264.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "license": "https://projekt-ogrzewania.pl/",
    "offers": {
      "@type": "Offer",
      "price": "0",
      "priceCurrency": "PLN"
    },
    "featureList": [
      "Interaktywna weryfikacja założeń projektowych",
      "Dynamiczny wskaźnik poprawności koncepcji grzewczej",
      "Przekierowanie do pogłębionej bazy wiedzy o instalacjach"
    ]
  }
]
</script>

<div class="premium-summary-box" id="summary-app-container">
    <div class="summary-header">
        <h2>Podsumowanie inżynierskie</h2>
        <p style="margin:0; font-size: 15px; color:#cbd5e1;">Odpowiedź na pytanie "ile metrów podłogówki" definiuje być albo nie być całej inwestycji.</p>
    </div>
    
    <div class="summary-text">
        <p>Projektowanie ogrzewania podłogowego to proces, w którym prawa fizyki bezlitośnie weryfikują podejście "na oko". Zbyt długie pętle (powyżej <strong>100m dla rury 16mm</strong>) to gwarancja problemów: od zjawiska kawitacji, przez potężne spadki temperatury (zimne plamy na podłodze), aż po pękanie wylewki i drastyczny spadek SCOP pompy ciepła.</p>
        <p>Prawidłowy, profesjonalny projekt nie szuka oszczędności na ilości rozdzielaczy, lecz optymalizuje rozstaw rur (np. <strong>10 cm w łazienkach</strong>, 15 cm w salonach) i dzieli układ na równe, bezpieczne sekcje o długości ok. 80 metrów, które obciążają rotametry łagodnym przepływem rzędu 1-2 l/min.</p>
    </div>

    <div class="interactive-checklist-module">
        <div class="checklist-title">
            <span>🛠️ Audyt Projektu: Czy jesteś gotowy do wylewki?</span>
            <div class="progress-wrapper">
                <div class="progress-track">
                    <div class="progress-fill" id="audit-fill"></div>
                </div>
                <span class="progress-text" id="audit-text">0%</span>
            </div>
        </div>

        <div class="checklist-items">
            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Żadna z pętli 16mm nie przekracza 90-100 metrów</h4>
                    <p>Potwierdzam, że zrezygnowałem z chęci zaoszczędzenia na rozdzielaczu kosztem bezpieczeństwa hydraulicznego układu.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Pętle mają zbliżoną do siebie długość</h4>
                    <p>Najkrótsza pętla na rozdzielaczu (oprócz łazienki) nie jest o połowę krótsza od najdłuższej. Pozwoli to zrównoważyć rotametry.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Uwzględniono strefy brzegowe przy oknach</h4>
                    <p>Zastosowano zagęszczony rozstaw rur (10 cm) w miejscach największych strat cieplnych, aby uniknąć chłodu ciągnącego od przeszkleń.</p>
                </div>
            </div>

            <div class="check-item" data-val="25">
                <div class="check-box"><span class="check-icon">✓</span></div>
                <div class="check-content">
                    <h4>Instalacja opiera się na wyliczeniach OZC</h4>
                    <p>Zapotrzebowanie na moc i przepływy zostały policzone zgodnie z normą PN-EN 12831, a nie zaczerpnięte z forów internetowych.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="success-cta-box" id="success-cta">
        
        <div class="success-messages" id="success-messages">
            <h3>Gratulacje! Twój projekt to solidny fundament.</h3>
            <p>Jesteś świadomym inwestorem. Uniknąłeś błędów, których naprawa po wylaniu betonu kosztowałaby dziesiątki tysięcy złotych.</p>
        </div>

        <p class="success-cta-promo">Chcesz wiedzieć więcej? Sprawdź naszą bazę wiedzy pełną interaktywnych wykresów, kalkulatorów i darmowych poradników inżynierskich!</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="cta-btn-blog">
            📚 PRZEJDŹ NA BLOGA I POZNAJ KOLEJNE SEKRETY ➔
        </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 container = document.getElementById('summary-app-container');
        if (container) {
            container.innerHTML = `
                <div style="padding: 40px; text-align: center; background: #fee2e2; color: #dc2626; border-radius: 12px; font-family: sans-serif;">
                    <span style="font-size: 40px;">⚠️</span>
                    <h3 style="margin: 15px 0;">Treść Chroniona Prawem Autorskim</h3>
                    <p>Moduł audytu został skopiowany. Przejdź na stronę <strong>Projekt-Ogrzewania.pl</strong>.</p>
                </div>
            `;
            return;
        }
    }

    // Logika weryfikatora
    const checkItems = document.querySelectorAll('.check-item');
    const fill = document.getElementById('audit-fill');
    const text = document.getElementById('audit-text');
    const ctaBox = document.getElementById('success-cta');
    
    let currentProgress = 0;

    checkItems.forEach(item => {
        item.addEventListener('click', function() {
            const value = parseInt(this.getAttribute('data-val'));
            
            if (this.classList.contains('completed')) {
                this.classList.remove('completed');
                currentProgress -= value;
            } else {
                this.classList.add('completed');
                currentProgress += value;
            }

            // Aktualizacja UI paska postępu
            fill.style.width = currentProgress + '%';
            text.textContent = currentProgress + '%';

            // Zmiana zachowania CTA Boxa na tryb sukcesu
            if (currentProgress === 100) {
                fill.style.background = 'var(--success)';
                text.style.color = 'var(--success)';
                ctaBox.classList.add('is-success');
            } else {
                fill.style.background = 'var(--accent)';
                text.style.color = 'var(--primary)';
                ctaBox.classList.remove('is-success');
            }
        });
    });
});
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-metrow-podlogowki-na-jednej-petli/">Ile metrów podłogówki na jednej pętli?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe?</title>
		<link>https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 29 Dec 2024 13:48:18 +0000</pubDate>
				<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Izolacja budynków]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Materiały budowlane]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Remonty i modernizacje]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[izolacja pod ogrzewanie podłogowe]]></category>
		<category><![CDATA[izolacja pur]]></category>
		<category><![CDATA[maty refleksyjne]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędności]]></category>
		<category><![CDATA[płyty styropianowe]]></category>
		<category><![CDATA[remont]]></category>
		<category><![CDATA[sposoby izolacji]]></category>
		<category><![CDATA[termoizolacja]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1855</guid>

					<description><![CDATA[<p>Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe? To klucz do efektywności cieplnej i niższych rachunków za energię. Dowiedz się, jakie materiały wybrać i jak zapewnić swojemu systemowi grzewczemu długą żywotność. To praktyczne wskazówki dla każdego, kto planuje instalację ogrzewania podłogowego.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Izolacja pod ogrzewanie podłogowe to kluczowy element każdego systemu grzewczego. Wybór odpowiednich materiałów oraz technologii izolacyjnych wpływa nie tylko na efektywność ogrzewania, ale także na oszczędności w rachunkach za energię. <em>Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe?</em> W tym artykule omówimy najpopularniejsze rozwiązania i przedstawimy produkty, które warto rozważyć przy planowaniu instalacji.</p>



<h2 class="wp-block-heading">Dlaczego izolacja pod ogrzewanie podłogowe jest tak ważna?</h2>



<h3 class="wp-block-heading">Efektywność energetyczna.</h3>



<p class="wp-block-paragraph">Dobrze zaprojektowana <strong>izolacja minimalizuje straty ciepła</strong>, kierując je bezpośrednio do pomieszczenia zamiast do gruntu czy niższych kondygnacji budynku. W praktyce oznacza to, że cała energia generowana przez system ogrzewania podłogowego trafia tam, gdzie jest najbardziej potrzebna, zamiast nieefektywnie ogrzewać fundamenty czy otoczenie. Takie <strong>rozwiązanie pozwala na oszczędność energii, co przekłada się na niższe rachunki za ogrzewanie</strong>.</p>



<h3 class="wp-block-heading">Komfort i trwałość systemu.</h3>



<p class="wp-block-paragraph">Odpowiednie <strong>materiały izolacyjne</strong> pozwalają uniknąć przegrzewania się systemu oraz zapewniają równomierne rozprowadzenie ciepła. To niezwykle istotne, ponieważ zbyt wysokie temperatury w jednym miejscu mogą prowadzić do uszkodzeń rur grzewczych lub deformacji podłogi. Izolacja stanowi swoistą barierę ochronną, która stabilizuje działanie systemu na całej powierzchni.</p>



<p class="wp-block-paragraph">Dzięki izolacji podłoga zachowuje stałą temperaturę, co poprawia komfort cieplny domowników. W przypadku długotrwałego użytkowania izolacja chroni instalację przed zużyciem, a tym samym wydłuża jej żywotność. Chroni także przed ewentualnym przenikaniem wilgoci, co mogłoby wpływać negatywnie na cały system.</p>



<h3 class="wp-block-heading">Zabezpieczenie przed wilgocią i mostkami termicznymi.</h3>



<p class="wp-block-paragraph">Nieodpowiednio zaizolowane podłogi mogą prowadzić do powstawania mostków termicznych, które powodują straty ciepła. To zjawisko znacznie obniża wydajność ogrzewania podłogowego i prowadzi do niepotrzebnych strat energetycznych. Ponadto wilgoć przenikająca przez podłogę może uszkodzić warstwy izolacyjne, powodując ich osłabienie i zmniejszenie skuteczności.</p>



<p class="wp-block-paragraph">Stosując <strong>płyty styropianowe z folią przeciwwilgociową lub płyty z wypustkami</strong>, można skutecznie zabezpieczyć system przed takimi problemami. Produkty te nie tylko izolują termicznie, ale również zapobiegają przedostawaniu się wilgoci do systemu grzewczego, co znacząco zwiększa jego wydajność i trwałość.</p>



<h2 class="wp-block-heading"><strong>Najlepsze sposoby izolacji pod ogrzewanie podłogowe</strong>.</h2>



<h3 class="wp-block-heading"><strong>1. Płyty styropianowe z folią przeciwwilgociową</strong>.</h3>



<p class="wp-block-paragraph">Płyty styropianowe to jedno z najczęściej stosowanych rozwiązań izolacyjnych. Charakteryzują się wysoką odpornością na wilgoć, co jest szczególnie ważne w przypadku podłóg na gruncie.</p>



<p class="wp-block-paragraph"><strong>Zalety:</strong></p>



<ul class="wp-block-list">
<li>Skuteczna izolacja termiczna i przeciwwilgociowa.</li>



<li>Łatwość montażu.</li>



<li>Wytrzymałość na obciążenia mechaniczne.</li>
</ul>



<p class="wp-block-paragraph">Polecamy produkt: <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">Płyta styropianowa EPS 100 z folią przeciwwilgociową</a>, który idealnie sprawdza się w wymagających warunkach.</p>



<h3 class="wp-block-heading"><strong>2. Płyty styropianowe z wypustkami</strong>.</h3>



<p class="wp-block-paragraph">Płyty z wypustkami to nowoczesne rozwiązanie, które ułatwia układanie rur grzewczych. Wypustki stabilizują rury, eliminując potrzebę stosowania dodatkowych elementów mocujących.</p>



<p class="wp-block-paragraph"><strong>Zalety:</strong></p>



<ul class="wp-block-list">
<li>Szybki i precyzyjny montaż rur grzewczych.</li>



<li>Zwiększona efektywność rozprowadzenia ciepła.</li>



<li>Wysoka jakość izolacji termicznej.</li>
</ul>



<p class="wp-block-paragraph">Warto rozważyć: <a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">Płyta styropianowa EPS 200 z wypustkami</a>, która łączy funkcjonalność z trwałością.</p>



<h3 class="wp-block-heading"><strong>3. Maty refleksyjne</strong></h3>



<p class="wp-block-paragraph">Maty refleksyjne wykonane z folii aluminiowej odbijają ciepło z powrotem do pomieszczenia, co zwiększa efektywność systemu grzewczego. Są lekkie, łatwe w montażu i doskonale sprawdzają się jako dodatkowa warstwa izolacyjna.</p>



<p class="wp-block-paragraph"><strong>Zalety:</strong></p>



<ul class="wp-block-list">
<li>Odbijanie ciepła do wnętrza.</li>



<li>Niska waga i prostota montażu.</li>



<li>Zastosowanie jako uzupełnienie innych rodzajów izolacji.</li>
</ul>



<h3 class="wp-block-heading"><strong>4. Izolacja poliuretanowa (PUR)</strong></h3>



<p class="wp-block-paragraph">Izolacja poliuretanowa to jedno z najskuteczniejszych rozwiązań pod kątem termoizolacji. Piana PUR łączy się bezpośrednio z podłożem, eliminując mostki termiczne.</p>



<p class="wp-block-paragraph"><strong>Zalety:</strong></p>



<ul class="wp-block-list">
<li>Wysoka efektywność izolacyjna.</li>



<li>Odporność na wilgoć.</li>



<li>Uniwersalność zastosowań.</li>
</ul>



<h2 class="wp-block-heading"><strong>Jak dobrać odpowiedni sposób izolacji pod podłogówkę?</strong></h2>



<p class="wp-block-paragraph">Dobór odpowiedniej izolacji zależy od specyfiki budynku, rodzaju podłogi oraz wymagań systemu grzewczego. W przypadku budynków starszych, remontowanych, szczególną uwagę należy zwrócić na ochronę przed wilgocią oraz minimalizację mostków termicznych. <strong>Dobrze dobrana izolacja pozwoli na optymalne wykorzystanie energii cieplnej i podniesie komfort użytkowania</strong>.</p>



<p class="wp-block-paragraph">Warto skonsultować się z ekspertem, aby dopasować materiały do konkretnych warunków budynku. Czynniki takie jak rodzaj gruntu, poziom wilgotności czy wysokość warstw podłogowych mają kluczowe znaczenie w wyborze odpowiednich płyt izolacyjnych lub mat refleksyjnych.</p>



<p class="wp-block-paragraph">Kluczowe jest, aby izolacja zapewniała optymalne warunki cieplne i skuteczne zabezpieczenie przed wilgocią. Przy precyzyjnym planowaniu należy wziąć pod uwagę równomierność rozprowadzenia ciepła oraz trwałość zastosowanych materiałów, co wpłynie na długowieczność całego systemu grzewczego.</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-1735478476278"><strong class="schema-faq-question"><strong>Czy izolacja pod <a href="https://projekt-ogrzewania.pl/">ogrzewanie podłogowe</a> jest konieczna?</strong></strong> <p class="schema-faq-answer">Tak, odpowiednia izolacja minimalizuje straty ciepła, zwiększa efektywność systemu grzewczego i chroni instalację przed uszkodzeniami.</p> </div> <div class="schema-faq-section" id="faq-question-1735478487675"><strong class="schema-faq-question"><strong>Jakie materiały izolacyjne są najlepsze pod ogrzewanie podłogowe?</strong></strong> <p class="schema-faq-answer">Płyty styropianowe EPS 100 i EPS 200, maty refleksyjne oraz izolacja poliuretanowa (PUR) są skutecznymi rozwiązaniami dla różnych warunków.</p> </div> <div class="schema-faq-section" id="faq-question-1735478510746"><strong class="schema-faq-question"><strong>Czy maty refleksyjne mogą zastąpić inne formy izolacji?</strong></strong> <p class="schema-faq-answer">Nie, maty refleksyjne najlepiej sprawdzają się jako dodatkowa warstwa izolacyjna, wspierająca efektywność całego systemu.</p> </div> <div class="schema-faq-section" id="faq-question-1735478526718"><strong class="schema-faq-question"><strong>Jak dobrać izolację do budynku starszego?</strong></strong> <p class="schema-faq-answer">W starszych budynkach warto zwrócić uwagę na ochronę przed wilgocią i mostkami termicznymi, wybierając płyty styropianowe z folią przeciwwilgociową.</p> </div> <div class="schema-faq-section" id="faq-question-1735478537378"><strong class="schema-faq-question"><strong>Czy izolacja wpływa na koszty eksploatacji systemu grzewczego?</strong></strong> <p class="schema-faq-answer">Tak, dobrze zaizolowana podłoga obniża zużycie energii, co przekłada się na niższe rachunki za ogrzewanie i większą oszczędność w długim okresie.</p> </div> </div>



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



<p class="wp-block-paragraph"><em>Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe?</em> Wybór odpowiednich materiałów, takich jak płyty styropianowe EPS 100 czy EPS 200, maty refleksyjne lub izolacja PUR, zapewnia efektywność i trwałość systemu grzewczego. Pamiętaj, że odpowiednia izolacja to inwestycja w komfort i oszczędności. Więcej informacji znajdziesz na naszym <a href="https://projekt-ogrzewania.pl/blog/">blogu</a>.</p>



<p class="wp-block-paragraph">Darmowy projekt ogrzewania podłogowego zrobisz <a href="https://projekt-ogrzewania.pl/produkt/projekt-ogrzewania-podlogowego-do-100-m2/">tutaj</a>. </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="DB40qHbZfQ"><a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/">Płyta styropianowa EPS 100 z folią przeciwwilgociową</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Płyta styropianowa EPS 100 z folią przeciwwilgociową&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-100-z-folia-przeciwwilgociowa/embed/#?secret=bNmFMlS2kG#?secret=DB40qHbZfQ" data-secret="DB40qHbZfQ" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>



<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="kSExo1g4P4"><a href="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/">Płyta styropianowa EPS 200 z wypustkami</a></blockquote><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8222;Płyta styropianowa EPS 200 z wypustkami&#8221; &#8212; Projekt Ogrzewania" src="https://projekt-ogrzewania.pl/produkt/plyta-styropianowa-eps-200-z-wypustkami/embed/#?secret=0G5y4drUgo#?secret=kSExo1g4P4" data-secret="kSExo1g4P4" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jakie-sa-najlepsze-sposoby-izolacji-pod-ogrzewanie-podlogowe/">Jakie są najlepsze sposoby izolacji pod ogrzewanie podłogowe?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Instalacja ogrzewania podłogowego – czy warto robić to samemu?</title>
		<link>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/</link>
					<comments>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sat, 28 Dec 2024 12:07:38 +0000</pubDate>
				<category><![CDATA[DIY instalacje]]></category>
		<category><![CDATA[Energooszczędność]]></category>
		<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Porady budowlane]]></category>
		<category><![CDATA[Remonty i budowa]]></category>
		<category><![CDATA[instalacja ogrzewania podłogowego]]></category>
		<category><![CDATA[izolacja brzegowa]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędności ogrzewanie]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[pompa ciepła]]></category>
		<category><![CDATA[profesjonalne instalacje grzewcze]]></category>
		<category><![CDATA[rozdzielacze podłogówki]]></category>
		<category><![CDATA[samodzielny montaż podłogówki]]></category>
		<category><![CDATA[systemy grzewcze]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1849</guid>

					<description><![CDATA[<p>Instalacja ogrzewania podłogowego to coraz częściej wybierane rozwiązanie, które łączy estetykę z funkcjonalnością. Czy jednak warto podjąć się tego zadania samodzielnie? W naszym artykule omówimy zalety i wyzwania samodzielnego montażu oraz sytuacje, w których lepiej zaufać specjalistom. Poznaj wskazówki i praktyczne porady, które pomogą Ci dokonać najlepszego wyboru dla Twojego domu</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/">Instalacja ogrzewania podłogowego – czy warto robić to samemu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ogrzewanie podłogowe zyskuje na popularności jako efektywne i estetyczne rozwiązanie do ogrzewania domów. Jednak pytanie, które zadaje sobie wiele osób, brzmi: <em>czy instalacja ogrzewania podłogowego to zadanie, które można wykonać samodzielnie?</em> Już w tytule zastanawiamy się, czy warto robić to samemu, a poniżej znajdziesz szczegółową analizę czy <strong>instalacja ogrzewania podłogowego – czy warto robić to samemu?</strong> W tym artykule przyjrzymy się zaletom i wyzwaniom samodzielnego montażu oraz sytuacjom, w których warto zaufać specjalistom.</p>



<h2 class="wp-block-heading"><strong>Zalety samodzielnej instalacji ogrzewania podłogowego</strong>.</h2>



<h3 class="wp-block-heading"><strong>Oszczędności finansowe</strong>.</h3>



<p class="wp-block-paragraph">Jednym z głównych powodów, dla których ludzie decydują się na samodzielny montaż ogrzewania podłogowego, są oszczędności. Rezygnacja z usług profesjonalnej ekipy instalacyjnej pozwala zaoszczędzić znaczne kwoty, szczególnie w przypadku większych inwestycji.</p>



<h3 class="wp-block-heading"><strong>Satysfakcja z wykonanego projektu</strong>.</h3>



<p class="wp-block-paragraph">Samodzielna praca nad systemem grzewczym może być źródłem ogromnej satysfakcji. Ukończony projekt to dowód Twoich umiejętności i zaangażowania.</p>



<h3 class="wp-block-heading"><strong>Pełna kontrola nad projektem</strong>.</h3>



<p class="wp-block-paragraph">Samodzielna instalacja daje możliwość ścisłej kontroli nad rozmieszczeniem rur oraz dostosowaniem systemu do indywidualnych potrzeb i wymagań wnętrza.</p>



<h2 class="wp-block-heading"><strong>Wyzwania i ryzyka samodzielnego montażu</strong>.</h2>



<h3 class="wp-block-heading"><strong>Brak wiedzy technicznej</strong>.</h3>



<p class="wp-block-paragraph">Ogrzewanie podłogowe wymaga znajomości zasad hydrauliki, izolacji termicznej oraz specyfiki montażu. Brak doświadczenia może skutkować błędami, które trudno i kosztownie naprawić.</p>



<h3 class="wp-block-heading"><strong>Ryzyko błędów</strong>.</h3>



<p class="wp-block-paragraph">Niewłaściwe rozmieszczenie rur może prowadzić do strat ciepła, nierównomiernego grzania lub problemów z wydajnością systemu. O tym, jak poprawnie zaplanować pętle grzewcze, przeczytasz tutaj: <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych?</a>.</p>



<h3 class="wp-block-heading"><strong>Czasochłonność</strong>.</h3>



<p class="wp-block-paragraph">Samodzielny montaż może być znacznie bardziej czasochłonny niż wynajęcie profesjonalistów. To ważne, szczególnie gdy czas jest kluczowym czynnikiem w realizacji projektu budowlanego.</p>



<h2 class="wp-block-heading"><strong>Kiedy warto rozważyć samodzielny montaż?</strong></h2>



<p class="wp-block-paragraph">Samodzielna instalacja ogrzewania podłogowego może być opłacalna, gdy:</p>



<ul class="wp-block-list">
<li>Masz niewielkie pomieszczenia do ogrzania, np. łazienkę czy kuchnię.</li>



<li>Posiadasz odpowiednie narzędzia i podstawową wiedzę techniczną.</li>



<li>Chcesz zaoszczędzić na kosztach robocizny.</li>
</ul>



<h2 class="wp-block-heading"><strong>Kiedy lepiej zaufać specjalistom?</strong></h2>



<h3 class="wp-block-heading"><strong>Skomplikowane instalacje</strong>.</h3>



<p class="wp-block-paragraph">Gdy masz do czynienia z dużymi powierzchniami lub nietypowymi układami pomieszczeń, skorzystanie z usług profesjonalistów to najlepsza decyzja. Specjaliści zadbają o kluczowe aspekty, takie jak precyzyjne rozmieszczenie rur, odpowiednie wykonanie <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">izolacji brzegowej</a> oraz instalację <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rozdzielacze-do-ogrzewania-podlogowego/">rozdzielaczy</a>. Takie podejście gwarantuje efektywne i długotrwałe działanie systemu. </p>



<h3 class="wp-block-heading"><strong>Zaawansowane technologie</strong>.</h3>



<p class="wp-block-paragraph">Instalacje wymagające połączenia z pompą ciepła lub systemami inteligentnego sterowania to zadania dla doświadczonych fachowców. Profesjonalny montaż minimalizuje ryzyko błędów, które mogłyby wpływać na efektywność ogrzewania. Dowiedz się więcej o prawidłowym rozstawie rur w artykule: <a href="https://projekt-ogrzewania.pl/rozstaw-rur-ogrzewania-podlogowego-przy-pompie-ciepla/">Rozstaw rur przy pompie ciepła</a>.</p>



<h2 class="wp-block-heading"><strong>FAQ:</strong></h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1735385343971"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można zainstalować samodzielnie?</strong></strong> <p class="schema-faq-answer">Tak, ale wymaga to podstawowej wiedzy technicznej, odpowiednich narzędzi oraz szczegółowego <a href="https://projekt-ogrzewania.pl/kategoria-produktu/projekty/">planu instalacji ogrzewania podłogowego</a>.</p> </div> <div class="schema-faq-section" id="faq-question-1735385390804"><strong class="schema-faq-question"><strong>Jakie są zalety samodzielnego montażu ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Samodzielny montaż pozwala zaoszczędzić na kosztach robocizny, daje kontrolę nad projektem oraz satysfakcję z wykonanej pracy.</p> </div> <div class="schema-faq-section" id="faq-question-1735385410717"><strong class="schema-faq-question"><strong>Kiedy lepiej zaufać specjalistom?</strong></strong> <p class="schema-faq-answer">W przypadku skomplikowanych instalacji, dużych powierzchni lub systemów z <a href="https://projekt-ogrzewania.pl/category/pompa-ciepla/">pompą ciepła</a> warto skorzystać z usług profesjonalistów.</p> </div> <div class="schema-faq-section" id="faq-question-1735385522825"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe sprawdza się w remontowanych budynkach?</strong></strong> <p class="schema-faq-answer"><a href="https://projekt-ogrzewania.pl/ogrzewanie-podlogowe-w-remontowanym-budynku-czy-warto/">Tak</a>, pod warunkiem odpowiedniego przygotowania podłogi i dostosowania instalacji do istniejących warunków.</p> </div> <div class="schema-faq-section" id="faq-question-1735385650865"><strong class="schema-faq-question"><strong>Jakie błędy są najczęściej popełniane przy samodzielnej instalacji?</strong></strong> <p class="schema-faq-answer">Do najczęstszych błędów należą niewłaściwe rozmieszczenie <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rur grzewczych</a>, brak izolacji brzegowej oraz nieprawidłowy rozstaw pętli grzewczych.</p> </div> </div>



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



<p class="wp-block-paragraph">Instalacja ogrzewania podłogowego to zadanie wymagające precyzji i wiedzy. Dla mniejszych projektów samodzielny montaż może być dobrym rozwiązaniem, ale w przypadku bardziej złożonych systemów warto zaufać specjalistom. Pamiętaj, że odpowiednio zaplanowana instalacja to inwestycja na lata. Po więcej informacji zajrzyj na nasz <a href="https://projekt-ogrzewania.pl/blog/">blog</a>.</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="y68MF15ldJ"><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=neHY2Ol4Jc#?secret=y68MF15ldJ" data-secret="y68MF15ldJ" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/">Instalacja ogrzewania podłogowego – czy warto robić to samemu?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/instalacja-ogrzewania-podlogowego-czy-warto-robic-to-samemu/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Ile rury na m² ogrzewania podłogowego?</title>
		<link>https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Mon, 16 Dec 2024 13:46:32 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Poradniki budowlane]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Rozstaw pętli]]></category>
		<category><![CDATA[ile rury na m2]]></category>
		<category><![CDATA[instalacja grzewcza]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[porady budowlane]]></category>
		<category><![CDATA[rozstaw pętli]]></category>
		<category><![CDATA[rury do podłogówki]]></category>
		<category><![CDATA[system ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1771</guid>

					<description><![CDATA[<p>Ogrzewanie podłogowe to doskonały wybór dla każdego domu, ale ile rury potrzeba na m² instalacji? Sprawdź przeliczniki dla rozstawów pętli i dowiedz się, jak zaplanować efektywną instalację. W artykule znajdziesz szczegółowe wskazówki, obliczenia i praktyczne porady. Dowiedz się, jak rozstaw pętli wpływa na efektywność systemu, jakie są najważniejsze zasady przy doborze rur i dlaczego warto skorzystać z darmowego projektu instalacji.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">Ile rury na m² ogrzewania podłogowego?</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: #0284c7; /* Expert Blue */
    --rk-intro-brand-light: #e0f2fe;
    --rk-intro-accent: #0ea5e9;
    --rk-intro-success: #10b981;
    --rk-intro-bg: #f8fafc;
    --rk-intro-card: #ffffff;
    --rk-intro-border: #e2e8f0;
    --rk-intro-text: #334155;
    --rk-intro-text-light: #64748b;
}

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

/* Nagłówek i Hook */
.rk-intro-header {
    background: var(--rk-intro-dark);
    padding: 45px 50px 40px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-intro-brand);
}

.rk-intro-header::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 40%;
    height: 100%;
    background: radial-gradient(ellipse at top right, rgba(2, 132, 199, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-intro-header h2 {
    font-size: 32px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 20px 0;
    line-height: 1.25;
    position: relative;
    z-index: 2;
}

.rk-intro-header p {
    font-size: 17px;
    line-height: 1.7;
    color: #cbd5e1;
    margin: 0;
    max-width: 800px;
    position: relative;
    z-index: 2;
}

.rk-intro-header strong {
    color: #ffffff;
    font-weight: 700;
}

/* Szybka Odpowiedź (Quick Answer Box) */
.rk-intro-quick-answer {
    margin: -20px 50px 30px;
    background: var(--rk-intro-card);
    border-radius: 16px;
    padding: 30px;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1);
    border: 1px solid var(--rk-intro-border);
    border-left: 6px solid var(--rk-intro-brand);
    position: relative;
    z-index: 3;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

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

.rk-intro-qa-icon svg { width: 28px; height: 28px; stroke-width: 2.5; }

.rk-intro-qa-content h3 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--rk-intro-brand);
}

.rk-intro-qa-content p {
    margin: 0;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--rk-intro-dark);
}

.rk-intro-qa-content span {
    display: block;
    font-size: 15px;
    font-weight: 400;
    color: var(--rk-intro-text-light);
    margin-top: 8px;
}

/* Agenda / Narzędzia w artykule */
.rk-intro-tools-section {
    padding: 10px 50px 45px;
}

.rk-intro-tools-title {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-intro-dark);
    margin: 0 0 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-intro-tools-title svg {
    color: var(--rk-intro-success);
}

.rk-intro-tools-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rk-intro-tool-card {
    background: #ffffff;
    border: 1px solid var(--rk-intro-border);
    padding: 20px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.rk-intro-tool-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(0,0,0,0.05);
    border-color: #bae6fd;
}

.rk-intro-tool-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #f1f5f9;
    color: var(--rk-intro-text);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-intro-tool-icon svg { width: 20px; height: 20px; }

.rk-intro-tool-text h4 {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-intro-dark);
}

.rk-intro-tool-text p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-intro-text-light);
    line-height: 1.4;
}

@media (max-width: 768px) {
    .rk-intro-header { padding: 35px 25px 50px; }
    .rk-intro-header h2 { font-size: 26px; }
    .rk-intro-quick-answer { margin: -30px 20px 30px; padding: 25px 20px; flex-direction: column; gap: 15px; }
    .rk-intro-tools-section { padding: 10px 20px 35px; }
    .rk-intro-tools-grid { grid-template-columns: 1fr; }
    .rk-intro-qa-content p { font-size: 17px; }
}
</style>

<div class="rk-intro-wrapper">
    <div class="rk-intro-header">
        <h2>Ile rury na m² ogrzewania podłogowego? Kompletny przewodnik inwestora</h2>
        <p>Wybór odpowiedniej ilości materiałów to być albo nie być Twojego systemu grzewczego. To, ile rury na m² ogrzewania podłogowego musisz kupić, zależy bezpośrednio od rozstawu pętli. Kupowanie rur &#8222;na oko&#8221; to najprostsza droga do niedogrzanego domu, tzw. zebry cieplnej i wyrzucania pieniędzy na ścinki. <strong>Z perspektywy specjalisty HVAC z ponad tysiącem projektów na koncie, powiem wprost: tu liczy się fizyka, nie intuicja instalatora.</strong></p>
    </div>

    <div class="rk-intro-quick-answer">
        <div class="rk-intro-qa-icon">
            <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
        </div>
        <div class="rk-intro-qa-content">
            <h3>Szybka odpowiedź</h3>
            <p>Standardowo na 1 m² podłogówki przypada od 4 do 10 metrów bieżących (mb) rury PEX/PERT. Najpopularniejszy w salonach rozstaw co 15 cm wymaga użycia dokładnie 7 mb rury na każdy metr kwadratowy powierzchni.</p>
            <span>Aby uniknąć braku materiału, do całkowitego wyniku obliczeń dla budynku dolicza się zawsze 10% zapasu operacyjnego na dobiegi do rozdzielacza i łuki.</span>
        </div>
    </div>

    <div class="rk-intro-tools-section">
        <h3 class="rk-intro-tools-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 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"></path></svg>
            Narzędzia interaktywne w tym artykule:
        </h3>
        
        <div class="rk-intro-tools-grid">
            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg 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><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Symulator Zapotrzebowania</h4>
                    <p>Oblicz zużycie materiału i dopasowanie do stref (np. łazienka vs salon) w zależności od rozstawu.</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
                <div class="rk-intro-tool-text">
                    <h4>Kalkulator Zakupowy Domu</h4>
                    <p>Gotowe wyliczenia kompletnych zwojów i zapasów dla domów 100 m², 150 m² oraz 200 m².</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-intro-tool-text">
                    <h4>Limity Hydrauliczne (Opory)</h4>
                    <p>Weryfikacja maksymalnej długości pętli (np. 100 mb dla 16mm) i wpływu średnic na przepływ.</p>
                </div>
            </div>

            <div class="rk-intro-tool-card">
                <div class="rk-intro-tool-icon">
                    <svg 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-intro-tool-text">
                    <h4>Skaner Błędów Wykonawczych</h4>
                    <p>Checklista najgroźniejszych uchybień instalacyjnych grożących kuciem wylewki.</p>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-intro",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ile rury na m² ogrzewania podłogowego? Kompletny przewodnik inwestora",
    "description": "Szybka odpowiedź: na 1 m2 podłogówki przy rozstawie co 15 cm przypada 7 metrów bieżących rury. Poznaj profesjonalne wyliczenia, kalkulatory OZC i limity hydrauliczne instalacji.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-intro",
    "name": "Baza danych zapotrzebowania materiałowego ogrzewania płaszczyznowego",
    "description": "Ogólne zestawienie najważniejszych wskaźników inżynierskich potrzebnych do wyliczenia zużycia rur instalacji podłogowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury na m2 ogrzewania podłogowego",
      "ile metrów rury na m2",
      "rozstaw pętli ogrzewania podłogowego",
      "zapotrzebowanie rury podłogówka",
      "kalkulator rur ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Przeliczenie standardowych wytycznych branżowych dla rur PEX/PERT na uśrednione zużycie mb/m2 ze stałym uwzględnieniem 10% naddatku montażowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Szybka Odpowiedź: Rozstaw 15 cm wymaga zużycia operacyjnego na poziomie 7 mb/m2.",
        "Limity: Całkowity rozrzut zużycia materiału waha się od 4 mb/m2 do 10 mb/m2 w zależności od docelowej temperatury pomieszczenia.",
        "Zapas materiałowy: 10% doliczane do całkowitej sumy na tranzyty (dobiegi) i opory gięcia na łukach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-intro",
    "name": "Przewodnik po kalkulatorach ogrzewania podłogowego",
    "description": "Panel nawigacyjny (Dashboard) stanowiący bezpośrednie odniesienie do interaktywnych narzędzi technicznych zamieszczonych w artykule, informujący algorytmy o obecności interaktywnych elementów DOM.",
    "applicationCategory": "ReferenceApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-pipe-dark: #0f172a;
    --rk-pipe-panel: #1e293b;
    --rk-pipe-brand: #0891b2; /* Cyan 600 */
    --rk-pipe-brand-light: #cffafe;
    --rk-pipe-accent: #22d3ee;
    --rk-pipe-alert: #eab308;
    --rk-pipe-alert-bg: #fefce8;
    --rk-pipe-bg: #f8fafc;
    --rk-pipe-card: #ffffff;
    --rk-pipe-border: #e2e8f0;
    --rk-pipe-text: #334155;
    --rk-pipe-text-light: #64748b;
}

.rk-pipe-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pipe-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(8, 145, 178, 0.1);
    border: 1px solid var(--rk-pipe-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-pipe-header {
    background: var(--rk-pipe-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-pipe-brand);
}

.rk-pipe-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(8, 145, 178, 0.15));
    pointer-events: none;
}

.rk-pipe-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-pipe-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Obszar Roboczy */
.rk-pipe-body {
    padding: 40px 50px;
}

/* Panel Kontrolny (Przełączniki) */
.rk-pipe-controls {
    display: flex;
    gap: 15px;
    background: var(--rk-pipe-panel);
    padding: 12px;
    border-radius: 20px;
    margin-bottom: 30px;
}

.rk-pipe-btn {
    flex: 1;
    background: transparent;
    border: none;
    padding: 16px 20px;
    border-radius: 14px;
    color: #94a3b8;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-pipe-btn:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.05);
}

.rk-pipe-btn.active {
    background: var(--rk-pipe-brand);
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(8, 145, 178, 0.4);
}

.rk-pipe-btn-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Wizualizacja Rury (SVG) */
.rk-pipe-visual-box {
    background: #ffffff;
    border: 1px solid var(--rk-pipe-border);
    border-radius: 20px;
    height: 120px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-shadow: inset 0 4px 6px rgba(0,0,0,0.02);
}

.rk-pipe-visual-box::before {
    content: 'PRZEKRÓJ / STRUMIEŃ';
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 11px;
    font-weight: 800;
    color: var(--rk-pipe-text-light);
    letter-spacing: 1.5px;
}

.rk-pipe-svg-container {
    width: 100%;
    max-width: 500px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}

/* Siatka 2x2 */
.rk-pipe-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 35px;
}

.rk-pipe-card {
    background: var(--rk-pipe-card);
    border: 1px solid var(--rk-pipe-border);
    padding: 25px 20px;
    border-radius: 16px;
    text-align: center;
    transition: transform 0.3s ease, border-color 0.3s;
}

.rk-pipe-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-pipe-accent);
    box-shadow: 0 10px 20px -5px rgba(8, 145, 178, 0.1);
}

.rk-pipe-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 15px auto;
    background: var(--rk-pipe-brand-light);
    color: var(--rk-pipe-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-pipe-icon svg { width: 24px; height: 24px; stroke-width: 2; }

.rk-pipe-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-pipe-text-light);
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.rk-pipe-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
    margin-bottom: 6px;
}

.rk-pipe-desc {
    font-size: 13px;
    color: var(--rk-pipe-text);
    line-height: 1.4;
}

/* Złota Zasada (Alert) */
.rk-pipe-alert {
    background: var(--rk-pipe-alert-bg);
    border: 1px solid #fde047;
    border-left: 5px solid var(--rk-pipe-alert);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-pipe-alert-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--rk-pipe-alert);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-pipe-alert-content h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: #854d0e;
}

.rk-pipe-alert-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #a16207;
}

/* CTA */
.rk-pipe-cta {
    background: #ffffff;
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-pipe-border);
}

.rk-pipe-cta h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-pipe-dark);
    margin: 0 0 15px 0;
}

.rk-pipe-cta p {
    color: var(--rk-pipe-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-pipe-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-pipe-dark);
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
    padding: 18px 35px;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.3s;
}

.rk-pipe-btn-massive:hover {
    background: var(--rk-pipe-panel);
    transform: translateY(-4px);
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.3);
}

/* Animacje Wody */
@keyframes rk-flow {
    from { stroke-dashoffset: 40; }
    to { stroke-dashoffset: 0; }
}
.rk-anim-flow { stroke-dasharray: 10 10; animation: rk-flow 0.8s linear infinite; }
.rk-anim-flow-fast { stroke-dasharray: 15 15; animation: rk-flow 0.5s linear infinite; }

/* RWD */
@media (max-width: 768px) {
    .rk-pipe-header, .rk-pipe-body, .rk-pipe-cta { padding: 30px 20px; }
    .rk-pipe-controls { flex-direction: row; overflow-x: auto; padding: 10px; }
    .rk-pipe-btn { min-width: 130px; padding: 14px 10px; }
    .rk-pipe-grid { grid-template-columns: 1fr; } /* Na mobilkach spada jedno pod drugie */
    .rk-pipe-alert { flex-direction: column; padding: 20px; gap: 15px; }
    .rk-pipe-btn-massive { width: 100%; }
}
</style>

<div class="rk-pipe-container">
    <div class="rk-pipe-header">
        <h2>
            <svg width="32" height="32" 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>
            Maksymalna długość pętli a średnica rury
        </h2>
        <p>Przekroczenie granicznych długości drastycznie zwiększa opory hydrauliczne. W efekcie pompa obiegowa nie przepcha wody, a pomieszczenie będzie niedogrzane. Wybierz średnicę rury, by sprawdzić parametry dla zrównoważonego układu.</p>
    </div>

    <div class="rk-pipe-body">
        
        <div class="rk-pipe-controls">
            <button class="rk-pipe-btn active" data-diam="16">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="6"></circle></svg></span>
                Ø 16 mm
            </button>
            <button class="rk-pipe-btn" data-diam="17">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="8"></circle></svg></span>
                Ø 17 mm
            </button>
            <button class="rk-pipe-btn" data-diam="20">
                <span class="rk-pipe-btn-icon"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"></circle></svg></span>
                Ø 20 mm
            </button>
        </div>

        <div class="rk-pipe-visual-box">
            <div class="rk-pipe-svg-container" id="rkPipeVisual">
                </div>
        </div>

        <div class="rk-pipe-grid">
            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-pipe-label">Twardy Limit</div>
                <div class="rk-pipe-val" id="rkPipeMax">100 mb</div>
                <div class="rk-pipe-desc">Z podejściami do rozdzielacza</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg>
                </div>
                <div class="rk-pipe-label">Zakres Optymalny</div>
                <div class="rk-pipe-val" id="rkPipeOpt">70–90 mb</div>
                <div class="rk-pipe-desc">Bezpieczny bufor pracy pompy</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>
                </div>
                <div class="rk-pipe-label">Opór Hydrauliczny</div>
                <div class="rk-pipe-val" id="rkPipeRes">Max 20 kPa</div>
                <div class="rk-pipe-desc" id="rkPipeResDesc">Przy 1,5–2,0 l/min</div>
            </div>

            <div class="rk-pipe-card">
                <div class="rk-pipe-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>
                <div class="rk-pipe-label">Zastosowanie</div>
                <div class="rk-pipe-val" style="font-size: 20px;" id="rkPipeApp">Domy jednorodzinne</div>
                <div class="rk-pipe-desc" id="rkPipeAppDesc">PEX 16&#215;2 to standard rynkowy</div>
            </div>
        </div>

        <div class="rk-pipe-alert">
            <div class="rk-pipe-alert-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="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            </div>
            <div class="rk-pipe-alert-content">
                <h4>Złota zasada: Różnice pętli max. 10–15%</h4>
                <p>Niezależnie od wybranej średnicy rury, długości obwodów wpiętych w jeden <a href="https://projekt-ogrzewania.pl/rozdzielacz-do-podlogowki-kluczowy-element-systemu-ogrzewania-podlogowego/">rozdzielacz</a> nie powinny różnić się o więcej niż 15%. Spięcie pętli 100 mb z obwodem 20 mb sprawia, że woda płynie linią najmniejszego oporu. Najkrótsza pętla zabiera przepływ, uniemożliwiając regulację na rotametrach.</p>
            </div>
        </div>

    </div>

    <div class="rk-pipe-cta">
        <h4>Nie pozwól, aby instalator zgadywał opory</h4>
        <p>Błędnie dobrana długość pętli zrujnuje rachunki za prąd w pompie ciepła. Przeczytaj więcej wytycznych technicznych i zaprojektuj instalację jak inżynier.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-pipe-btn-massive">
            SPRAWDŹ BAZĘ WIEDZY EKSKLUZYWNEJ
            <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" 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 buttons = document.querySelectorAll('.rk-pipe-btn');
    const visual = document.getElementById('rkPipeVisual');
    
    const elMax = document.getElementById('rkPipeMax');
    const elOpt = document.getElementById('rkPipeOpt');
    const elRes = document.getElementById('rkPipeRes');
    const elResDesc = document.getElementById('rkPipeResDesc');
    const elApp = document.getElementById('rkPipeApp');
    const elAppDesc = document.getElementById('rkPipeAppDesc');

    const db = {
        "16": {
            max: "100 mb", opt: "70–90 mb", res: "Max 20 kPa", resDesc: "Przy 1,5–2,0 l/min", app: "Domy jednorodz.", appDesc: "PEX 16x2 to standard rynkowy",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="20" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#0891b2" stroke-width="8" stroke-linecap="round" class="rk-anim-flow"/>
                  </svg>`
        },
        "17": {
            max: "120 mb", opt: "80–100 mb", res: "Spadek -25%", resDesc: "Względem oporów rury 16mm", app: "Systemowe", appDesc: "Do dedykowanych rozwiązań",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="26" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#06b6d4" stroke-width="14" stroke-linecap="round" class="rk-anim-flow"/>
                  </svg>`
        },
        "20": {
            max: "150 mb", opt: "100–130 mb", res: "Niskie opory", resDesc: "Większy zład i strumień wody", app: "Hale / Przemysł", appDesc: "Wymaga zasilania 1-calowego",
            svg: `<svg viewBox="0 0 400 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 L 380 50" stroke="#e2e8f0" stroke-width="36" stroke-linecap="round"/>
                    <path d="M 20 50 L 380 50" stroke="#22d3ee" stroke-width="24" stroke-linecap="round" class="rk-anim-flow-fast"/>
                  </svg>`
        }
    };

    function updateData(diam) {
        const data = db[diam];
        elMax.innerHTML = data.max;
        elOpt.innerHTML = data.opt;
        elRes.innerHTML = data.res;
        elResDesc.innerHTML = data.resDesc;
        elApp.innerHTML = data.app;
        elAppDesc.innerHTML = data.appDesc;
        visual.innerHTML = data.svg;
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            visual.style.opacity = 0;
            setTimeout(() => {
                updateData(this.getAttribute('data-diam'));
                visual.style.opacity = 1;
            }, 200);
        });
    });

    updateData('16');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-srednice-rur",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Maksymalna długość pętli a średnica rury – parametry hydrauliczne",
    "description": "Zestawienie parametrów hydraulicznych instalacji ogrzewania podłogowego. Sprawdź limity długości pętli (100 mb dla 16mm) oraz zasady zrównoważenia przepływów na rotametrach.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-srednice-rur",
    "name": "Kalkulator Oporów Hydraulicznych i Średnic Rur PEX/PERT",
    "description": "Inżynierskie zestawienie limitów określających maksymalne długości pętli grzewczych (100 mb, 120 mb, 150 mb) w zależności od dobranej średnicy rury.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego",
      "średnica rury do podłogówki 16 czy 17",
      "opory hydrauliczne ogrzewania podłogowego",
      "zrównoważenie pętli ogrzewania",
      "rura pex 20mm podłogówka"
    ],
    "measurementTechnique": "Analiza przepływów (l/min) i spadków ciśnień (kPa) w wężownicach polietylenowych na potrzeby doboru pomp obiegowych i rotametrów.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rura PEX 16 mm: Limit 100 mb, opór hydrauliczny do 20 kPa przy przepływie 1,5-2,0 l/min.",
        "Rura PEX 17 mm: Limit 120 mb, opory niższe o ok. 25% przy tym samym strumieniu wody.",
        "Rura PEX 20 mm: Limit 150 mb, dedykowana do przemysłu, wymaga większych rozdzielaczy.",
        "Zrównoważenie: Bezwzględny zakaz różnicowania długości pętli na jednym rozdzielaczu powyżej 15%."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-srednice-rur",
    "name": "Symulator Średnic i Oporów Hydraulicznych PEX",
    "description": "Interaktywny panel w architekturze siatki 2x2, umożliwiający sprawdzenie wpływu średnicy rury na graniczne długości pętli, opór hydrauliczny i docelowe zastosowanie w budownictwie.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-est-dark: #064e3b; /* Głęboka zieleń/szmaragd */
    --rk-est-panel: #065f46;
    --rk-est-brand: #10b981; /* Szmaragdowy */
    --rk-est-brand-light: #d1fae5;
    --rk-est-accent: #34d399;
    --rk-est-text: #334155;
    --rk-est-text-light: #64748b;
    --rk-est-bg: #f8fafc;
    --rk-est-card: #ffffff;
    --rk-est-border: #e2e8f0;
    --rk-est-highlight: #f59e0b;
}

.rk-estimate-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-est-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(6, 78, 59, 0.15);
    border: 1px solid var(--rk-est-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-est-header {
    background: var(--rk-est-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-est-brand);
}

.rk-est-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 350px;
    background: linear-gradient(90deg, transparent, rgba(16, 185, 129, 0.15));
    pointer-events: none;
}

.rk-est-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-est-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #a7f3d0;
    margin: 0;
    max-width: 800px;
    position: relative;
    z-index: 2;
}

.rk-est-header a {
    color: var(--rk-est-highlight);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-est-highlight);
    transition: all 0.2s;
}

.rk-est-header a:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Obszar Roboczy */
.rk-est-body {
    padding: 40px 50px;
}

/* Przełączniki Metrażu (Tabs) */
.rk-est-tabs {
    display: flex;
    gap: 15px;
    background: #ffffff;
    padding: 10px;
    border-radius: 20px;
    margin-bottom: 35px;
    border: 1px solid var(--rk-est-border);
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-est-tab-btn {
    flex: 1;
    padding: 18px 10px;
    border: 2px solid transparent;
    background: var(--rk-est-bg);
    border-radius: 14px;
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-est-text-light);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-est-tab-btn:hover {
    background: #f1f5f9;
    color: var(--rk-est-text);
}

.rk-est-tab-btn.active {
    background: var(--rk-est-brand-light);
    color: var(--rk-est-dark);
    border-color: var(--rk-est-brand);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.2);
}

.rk-est-tab-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

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

/* Główny Dashboard Wyników */
.rk-est-dashboard {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    margin-bottom: 30px;
}

/* Siatka Parametrów */
.rk-est-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.rk-est-card {
    background: var(--rk-est-card);
    border: 1px solid var(--rk-est-border);
    padding: 25px 20px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: transform 0.3s ease, border-color 0.3s;
    position: relative;
    overflow: hidden;
}

.rk-est-card:hover {
    transform: translateY(-3px);
    border-color: var(--rk-est-accent);
}

.rk-est-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.rk-est-card-icon {
    width: 36px;
    height: 36px;
    background: var(--rk-est-bg);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-est-brand);
}

.rk-est-card-icon svg { width: 20px; height: 20px; }

.rk-est-card-title {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-est-text-light);
    letter-spacing: 0.5px;
    margin: 0;
}

.rk-est-card-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-est-dark);
    margin-bottom: 5px;
}

.rk-est-card-desc {
    font-size: 13px;
    color: var(--rk-est-text);
    line-height: 1.4;
}

/* Karta Głównego Wyniku (Suma) */
.rk-est-total-card {
    background: linear-gradient(145deg, var(--rk-est-dark) 0%, var(--rk-est-panel) 100%);
    border-radius: 20px;
    padding: 30px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 15px 30px -10px rgba(6, 78, 59, 0.4);
    position: relative;
    overflow: hidden;
}

.rk-est-total-card::before {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 150px;
    height: 150px;
    background: rgba(16, 185, 129, 0.2);
    border-radius: 50%;
    pointer-events: none;
}

.rk-est-total-label {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--rk-est-accent);
    margin-bottom: 10px;
}

.rk-est-total-val {
    font-size: 42px;
    font-weight: 900;
    margin-bottom: 10px;
    line-height: 1;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.rk-est-total-desc {
    font-size: 14px;
    color: var(--rk-est-brand-light);
    margin-bottom: 25px;
    line-height: 1.5;
}

.rk-est-svg-box {
    height: 100px;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

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

/* Alert Box na dole */
.rk-est-alert {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 5px solid var(--rk-est-highlight);
    border-radius: 16px;
    padding: 20px 25px;
    display: flex;
    gap: 15px;
    align-items: center;
}

.rk-est-alert-icon {
    color: #b45309;
    flex-shrink: 0;
}

.rk-est-alert p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #92400e;
}

.rk-est-alert a {
    color: #78350f;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-color: rgba(120, 53, 15, 0.3);
}

/* Animacje w JS */
.val-update {
    animation: popVal 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes popVal {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes drawLoop {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}
.anim-loop {
    stroke-dasharray: 200;
    animation: drawLoop 1.5s ease-out forwards;
}

/* RWD */
@media (max-width: 768px) {
    .rk-est-header, .rk-est-body { padding: 30px 20px; }
    .rk-est-tabs { flex-direction: column; padding: 10px; }
    .rk-est-dashboard { grid-template-columns: 1fr; }
    .rk-est-grid { grid-template-columns: 1fr; }
    .rk-est-total-card { min-height: 250px; }
}
</style>

<div class="rk-estimate-wrapper">
    <div class="rk-est-header">
        <h2>
            <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="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>
            Jak obliczyć całkowitą ilość rury dla domu?
        </h2>
        <p>Precyzyjne wyliczenie zapotrzebowania wymaga uwzględnienia trzech czynników: powierzchni netto, długości podejść do rozdzielacza (tranzytów) oraz naddatku montażowego. Poniższy algorytm bazuje na standardowym rozstawie 15 cm. Zobacz <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">jak to wpływa na koszty podłogówki</a>.</p>
    </div>

    <div class="rk-est-body">
        
        <div class="rk-est-tabs">
            <button class="rk-est-tab-btn active" data-size="100">
                <span class="rk-est-tab-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></svg></span>
                Dom 100 m²
            </button>
            <button class="rk-est-tab-btn" data-size="150">
                <span class="rk-est-tab-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><path d="M3 12h18"></path></svg></span>
                Dom 150 m²
            </button>
            <button class="rk-est-tab-btn" data-size="200">
                <span class="rk-est-tab-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><path d="M3 9h18M3 15h18"></path></svg></span>
                Dom 200 m²
            </button>
        </div>

        <div class="rk-est-dashboard">
            <div class="rk-est-grid">
                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg 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></div>
                        <h4 class="rk-est-card-title">Powierzchnia Grzewcza Netto</h4>
                    </div>
                    <div class="rk-est-card-val" id="estNetArea">90 m²</div>
                    <div class="rk-est-card-desc">Odejmując ok. 10% na stałą zabudowę (wanny, kominki).</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                        <h4 class="rk-est-card-title">Ilość Rury (Sama Podłoga)</h4>
                    </div>
                    <div class="rk-est-card-val" id="estBasePipe">630 mb</div>
                    <div class="rk-est-card-desc">Przy stałym wskaźniku zużycia wynoszącym 7 mb/m².</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg 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><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                        <h4 class="rk-est-card-title">Tranzyty i Podejścia</h4>
                    </div>
                    <div class="rk-est-card-val" id="estTransits">ok. 70 mb</div>
                    <div class="rk-est-card-desc" id="estTransitsDesc">Zakładając średnio 5m w obie strony dla 10 pętli.</div>
                </div>

                <div class="rk-est-card">
                    <div class="rk-est-card-header">
                        <div class="rk-est-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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></div>
                        <h4 class="rk-est-card-title">Liczba Obwodów (Pętli)</h4>
                    </div>
                    <div class="rk-est-card-val" id="estLoops">8 &#8211; 10 pętli</div>
                    <div class="rk-est-card-desc">Istotne przy doborze odpowiedniego rozdzielacza.</div>
                </div>
            </div>

            <div class="rk-est-total-card">
                <div>
                    <div class="rk-est-total-label">Całkowity Zakup (z 10% zapasem)</div>
                    <div class="rk-est-total-val" id="estTotalVal">770 mb</div>
                    <div class="rk-est-total-desc" id="estTotalCoils">Rekomendacja: 4 kręgi po 200 m</div>
                </div>
                
                <div class="rk-est-svg-box" id="estVisual">
                    </div>
            </div>
        </div>

        <div class="rk-est-alert">
            <div class="rk-est-alert-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><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
            </div>
            <div>
                <p><strong>Uwaga na ścinki!</strong> Zawsze należy dopasowywać wyliczone długości pętli do fabrycznych zwojów (najczęściej 200 mb lub 600 mb). Jeśli instalator zrobi pętlę 85 mb z kręgu 200 mb, zostaną dwa odcinki po 85 mb i bezużyteczny odpad 30 mb. <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Profesjonalne rozplanowanie układu</a> redukuje ten odpad do poziomu poniżej 2%.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-est-tab-btn');
    
    // Elementy DOM do aktualizacji
    const elNetArea = document.getElementById('estNetArea');
    const elBasePipe = document.getElementById('estBasePipe');
    const elTransits = document.getElementById('estTransits');
    const elTransitsDesc = document.getElementById('estTransitsDesc');
    const elLoops = document.getElementById('estLoops');
    const elTotalVal = document.getElementById('estTotalVal');
    const elTotalCoils = document.getElementById('estTotalCoils');
    const elVisual = document.getElementById('estVisual');

    // Baza danych dla 3 wariantów
    const dataMap = {
        "100": {
            netArea: "90 m²",
            basePipe: "630 mb",
            transits: "ok. 70 mb",
            transitsDesc: "Zakładając 10 pętli × 7 m dobiegów.",
            loops: "8 - 10 pętli",
            totalVal: "770 mb",
            totalCoils: "Rekomendacja: 4 kręgi po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 L 20 20 L 100 20 L 100 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 30 70 Q 60 30 90 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 40 70 Q 60 40 80 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        },
        "150": {
            netArea: "135 m²",
            basePipe: "945 mb",
            transits: "ok. 105 mb",
            transitsDesc: "Zakładając 15 pętli × 7 m dobiegów.",
            loops: "12 - 15 pętli",
            totalVal: "1155 mb",
            totalCoils: "Rekomendacja: 6 kręgów po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 L 20 20 L 150 20 L 150 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 30 70 Q 50 30 70 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 60 70 Q 85 30 110 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 100 70 Q 120 30 140 70" stroke="#a7f3d0" stroke-width="6" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        },
        "200": {
            netArea: "180 m²",
            basePipe: "1260 mb",
            transits: "ok. 140 mb",
            transitsDesc: "Zakładając 20 pętli × 7 m dobiegów.",
            loops: "16 - 20 pętli",
            totalVal: "1540 mb",
            totalCoils: "Rekomendacja: 8 kręgów po 200 m",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 10 80 L 10 20 L 190 20 L 190 80 Z" stroke="#34d399" stroke-width="4" fill="rgba(52, 211, 153, 0.1)"/>
                    <path d="M 20 70 Q 40 30 60 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 50 70 Q 75 30 100 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 90 70 Q 115 30 140 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                    <path d="M 130 70 Q 155 30 180 70" stroke="#a7f3d0" stroke-width="5" stroke-linecap="round" class="anim-loop"/>
                 </svg>`
        }
    };

    function triggerAnimation(element) {
        element.classList.remove('val-update');
        void element.offsetWidth; // force reflow
        element.classList.add('val-update');
    }

    function updateDashboard(size) {
        const data = dataMap[size];
        
        elNetArea.innerHTML = data.netArea;
        elBasePipe.innerHTML = data.basePipe;
        elTransits.innerHTML = data.transits;
        elTransitsDesc.innerHTML = data.transitsDesc;
        elLoops.innerHTML = data.loops;
        
        elTotalVal.innerHTML = data.totalVal;
        elTotalCoils.innerHTML = data.totalCoils;
        
        // Zmiana SVG i reset animacji klas wewnątrz SVG
        elVisual.innerHTML = data.svg;

        // Uruchomienie animacji tekstu
        triggerAnimation(elNetArea);
        triggerAnimation(elBasePipe);
        triggerAnimation(elTotalVal);
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            updateDashboard(this.getAttribute('data-size'));
        });
    });

    // Inicjalizacja pierwszej zakładki
    updateDashboard('100');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-domy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Jak obliczyć całkowitą ilość rury dla domu 100 m² i 150 m²?",
    "description": "Zestawienie parametrów technicznych i całkowitego zużycia rur PEX do podłogówki dla domów 100, 150 i 200 mkw. Sprawdź, jak dodać 10% zapasu na odpady.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-domy",
    "name": "Zestawienie zapotrzebowania na rury ogrzewania podłogowego (100-200 m2)",
    "description": "Tabele przeliczeniowe określające ilość rury bazowej, długości tranzytów do rozdzielaczy oraz bezpieczny bufor zakupowy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury do podłogówki 100m2",
      "zapotrzebowanie rur pex 150m2",
      "kalkulator rur ogrzewanie podłogowe dom 200m2",
      "tranzyty do rozdzielacza",
      "zapas rury na odpady"
    ],
    "measurementTechnique": "Algorytm uwzględniający powierzchnię netto (minus stała zabudowa), bazowe zużycie 7 mb/m2 przy rozstawie 15 cm oraz 10% naddatku montażowego.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Dom 100 m²: Netto 90 m², Zapotrzebowanie: 770 mb (4 kręgi po 200 m).",
        "Dom 150 m²: Netto 135 m², Zapotrzebowanie: 1155 mb (6 kręgów po 200 m).",
        "Dom 200 m²: Netto 180 m², Zapotrzebowanie: 1540 mb (8 kręgów po 200 m)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-domy",
    "name": "Kalkulator Zakupowy Rur PEX",
    "description": "Interaktywny interfejs pozwalający na błyskawiczne sprawdzenie dokładnej ilości materiałów (rury, liczba obwodów) w zależności od metrażu budowanego domu jednorodzinnego.",
    "applicationCategory": "CalculatorApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-spc-dark: #0f172a; /* Głęboki granat */
    --rk-spc-panel: #1e293b;
    --rk-spc-brand: #f97316; /* Termo-pomarańcz (Orange 500) */
    --rk-spc-brand-light: #ffedd5;
    --rk-spc-accent: #fb923c;
    --rk-spc-blue: #0ea5e9;
    --rk-spc-text: #334155;
    --rk-spc-text-light: #64748b;
    --rk-spc-bg: #f8fafc;
    --rk-spc-card: #ffffff;
    --rk-spc-border: #e2e8f0;
}

.rk-spacing-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-spc-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-spc-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-spc-header {
    background: var(--rk-spc-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-spc-brand);
}

.rk-spc-header::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 300px;
    background: linear-gradient(90deg, transparent, rgba(249, 115, 22, 0.15));
    pointer-events: none;
}

.rk-spc-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-spc-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

.rk-spc-header a {
    color: var(--rk-spc-accent);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px dashed var(--rk-spc-accent);
    transition: all 0.2s;
}

.rk-spc-header a:hover {
    color: #ffffff;
    border-bottom-style: solid;
}

/* Sekcja Główna */
.rk-spc-body {
    padding: 40px 50px;
}

/* Kontroler i SVG Wizualizacja */
.rk-spc-dashboard {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 30px;
    margin-bottom: 30px;
}

.rk-spc-control-panel {
    background: var(--rk-spc-card);
    border: 1px solid var(--rk-spc-border);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

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

.rk-spc-control-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-spc-dark);
}

.rk-spc-val-display {
    font-size: 32px;
    font-weight: 900;
    color: var(--rk-spc-brand);
    background: var(--rk-spc-brand-light);
    padding: 8px 20px;
    border-radius: 12px;
}

/* Custom Slider */
.rk-spc-slider {
    -webkit-appearance: none;
    width: 100%;
    background: transparent;
    margin: 15px 0;
}
.rk-spc-slider:focus { outline: none; }
.rk-spc-slider::-webkit-slider-runnable-track {
    width: 100%;
    height: 10px;
    background: #e2e8f0;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
}
.rk-spc-slider::-webkit-slider-thumb {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    background: var(--rk-spc-brand);
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -11px;
    box-shadow: 0 4px 10px rgba(249, 115, 22, 0.4);
    border: 4px solid #ffffff;
    transition: transform 0.1s;
}
.rk-spc-slider::-webkit-slider-thumb:hover {
    transform: scale(1.15);
}
.rk-spc-slider-marks {
    display: flex;
    justify-content: space-between;
    color: var(--rk-spc-text-light);
    font-size: 14px;
    font-weight: 700;
    padding: 0 10px;
}

/* SVG Wizualizator (1m2) */
.rk-spc-visualizer {
    background: var(--rk-spc-panel);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.rk-spc-visualizer::before {
    content: 'POWIERZCHNIA 1 m²';
    position: absolute;
    top: 15px;
    left: 20px;
    font-size: 11px;
    font-weight: 800;
    color: #475569;
    letter-spacing: 1.5px;
}

.rk-spc-svg-box {
    width: 100%;
    height: 100%;
    max-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Siatka Wyników 2x2 */
.rk-spc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.rk-spc-card {
    background: var(--rk-spc-card);
    border: 1px solid var(--rk-spc-border);
    padding: 25px 20px;
    border-radius: 16px;
    transition: transform 0.3s ease, border-color 0.3s;
    display: flex;
    flex-direction: column;
}

.rk-spc-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-spc-accent);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.1);
}

.rk-spc-card-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.rk-spc-icon {
    width: 40px;
    height: 40px;
    background: var(--rk-spc-brand-light);
    color: var(--rk-spc-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-spc-icon svg { width: 22px; height: 22px; stroke-width: 2.5; }

.rk-spc-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-spc-text-light);
    letter-spacing: 0.5px;
    margin: 0;
}

.rk-spc-val {
    font-size: 26px;
    font-weight: 900;
    color: var(--rk-spc-dark);
    margin-bottom: 5px;
    line-height: 1.1;
}

.rk-spc-desc {
    font-size: 13px;
    color: var(--rk-spc-text);
    line-height: 1.5;
}

/* Alert Box */
.rk-spc-alert {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-left: 5px solid var(--rk-spc-blue);
    border-radius: 16px;
    padding: 25px 30px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.rk-spc-alert-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: var(--rk-spc-blue);
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rk-spc-alert-content h4 {
    margin: 0 0 8px 0;
    font-size: 18px;
    font-weight: 800;
    color: #0369a1;
}

.rk-spc-alert-content p {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: #0c4a6e;
}

/* Animacje w JS & SVG */
.anim-update {
    animation: popVal 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes popVal {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes heatFlow {
    0% { stroke-dashoffset: 100; }
    100% { stroke-dashoffset: 0; }
}
.anim-heat {
    stroke-dasharray: 15 10;
    animation: heatFlow 1.5s linear infinite;
    stroke: var(--rk-spc-brand);
}

/* RWD */
@media (max-width: 768px) {
    .rk-spc-header, .rk-spc-body { padding: 30px 20px; }
    .rk-spc-dashboard { grid-template-columns: 1fr; gap: 20px; }
    .rk-spc-visualizer { height: 200px; }
    .rk-spc-grid { grid-template-columns: 1fr; }
    .rk-spc-alert { flex-direction: column; padding: 20px; gap: 15px; }
}
</style>

<div class="rk-spacing-wrapper">
    <div class="rk-spc-header">
        <h2>
            <svg width="32" height="32" 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>
            Ile metrów rury potrzeba na m² podłogówki?
        </h2>
        <p>Bezpośrednia odpowiedź wynika ze wzoru matematycznego <strong>L = 1 / b</strong> (gdzie L to długość rury, a b to rozstaw). Parametry te ściśle reguluje norma <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264-4</a>. Zobacz na poniższym symulatorze, jak zagęszczenie wpływa na ilość materiału i opory hydrauliczne instalacji.</p>
    </div>

    <div class="rk-spc-body">
        
        <div class="rk-spc-dashboard">
            <div class="rk-spc-control-panel">
                <div class="rk-spc-control-header">
                    <h3>ROZSTAW OSIOWY</h3>
                    <div class="rk-spc-val-display" id="spcValDisplay">15 cm</div>
                </div>
                <input type="range" min="10" max="25" step="5" value="15" class="rk-spc-slider" id="spcInputSlider">
                <div class="rk-spc-slider-marks">
                    <span>10</span>
                    <span>15</span>
                    <span>20</span>
                    <span>25</span>
                </div>
            </div>

            <div class="rk-spc-visualizer">
                <div class="rk-spc-svg-box" id="spcVisualBox">
                    </div>
            </div>
        </div>

        <div class="rk-spc-grid">
            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                    <h4 class="rk-spc-label">Zużycie Matematyczne</h4>
                </div>
                <div class="rk-spc-val" id="spcMath">6,67 mb/m²</div>
                <div class="rk-spc-desc">Czysty wynik ze wzoru L = 1/b.</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><path d="M20 6L9 17l-5-5"></path></svg></div>
                    <h4 class="rk-spc-label">Zużycie Operacyjne</h4>
                </div>
                <div class="rk-spc-val" style="color: var(--rk-spc-brand);" id="spcOper">7,0 mb/m²</div>
                <div class="rk-spc-desc">Wartość uwzględniająca gięcia na łukach.</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><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>
                    <h4 class="rk-spc-label">Przeznaczenie Strefy</h4>
                </div>
                <div class="rk-spc-val" style="font-size: 20px;" id="spcZone">Salony i Sypialnie</div>
                <div class="rk-spc-desc" id="spcZoneDesc">Standard dla budynków o zapotrzebowaniu 40-50 W/m².</div>
            </div>

            <div class="rk-spc-card">
                <div class="rk-spc-card-header">
                    <div class="rk-spc-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg></div>
                    <h4 class="rk-spc-label">Wymagania Cieplne</h4>
                </div>
                <div class="rk-spc-val" style="font-size: 20px;" id="spcTemp">Optymalne (20-22°C)</div>
                <div class="rk-spc-desc" id="spcTempDesc">Najlepszy kompromis pomiędzy kosztem a komfortem.</div>
            </div>
        </div>

        <div class="rk-spc-alert">
            <div class="rk-spc-alert-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="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-spc-alert-content">
                <h4>Prawo Hydrauliki: Więcej rury to większy opór</h4>
                <p>Każda zmiana rozstawu wpływa na opory hydrauliczne instalacji. Zacieśnienie <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">układu pętli</a> z 15 cm do 10 cm na tej samej powierzchni zwiększa długość rury o 50%. Przy zachowaniu stałego natężenia przepływu, generuje to niemal <strong>trzykrotny wzrost strat ciśnienia</strong> w danej pętli, co musi zostać uwzględnione w doborze pompy obiegowej.</p>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const slider = document.getElementById('spcInputSlider');
    const valDisplay = document.getElementById('spcValDisplay');
    
    // UI Elements
    const elMath = document.getElementById('spcMath');
    const elOper = document.getElementById('spcOper');
    const elZone = document.getElementById('spcZone');
    const elZoneDesc = document.getElementById('spcZoneDesc');
    const elTemp = document.getElementById('spcTemp');
    const elTempDesc = document.getElementById('spcTempDesc');
    const visualBox = document.getElementById('spcVisualBox');

    // Data Map
    const spacingData = {
        "10": {
            math: "10,0 mb/m²", oper: "10,5 mb/m²", 
            zone: "Łazienki, Okna HS", zoneDesc: "Strefy brzegowe i pomieszczenia o wysokich stratach.",
            temp: "Wysokie (24°C)", tempDesc: "Zgodne z rozporządzeniem Ministra Infrastruktury.",
            lines: 10
        },
        "15": {
            math: "6,67 mb/m²", oper: "7,0 mb/m²", 
            zone: "Salony i Sypialnie", zoneDesc: "Standard dla budynków o zapotrzebowaniu 40-50 W/m².",
            temp: "Optymalne (20-22°C)", tempDesc: "Najlepszy kompromis pomiędzy kosztem a komfortem.",
            lines: 7
        },
        "20": {
            math: "5,0 mb/m²", oper: "5,5 mb/m²", 
            zone: "Korytarze, Garderoby", zoneDesc: "Strefy przechodnie oraz budownictwo ściśle pasywne.",
            temp: "Niskie (18-20°C)", tempDesc: "Wystarczające dla pomieszczeń z pasywnym zyskiem.",
            lines: 5
        },
        "25": {
            math: "4,0 mb/m²", oper: "4,5 mb/m²", 
            zone: "Garaże, Hale", zoneDesc: "Pomieszczenia techniczne i magazynowe.",
            temp: "Bardzo niskie (8-12°C)", tempDesc: "Utrzymanie strefy wolnej od przemarzania.",
            lines: 4
        }
    };

    function generateSVG(linesCount) {
        // Generowanie wężyka (meandra) dla m2
        let pathD = "M 10 10 ";
        let step = 80 / (linesCount - 1);
        let direction = 1; // 1 = prawo, -1 = lewo

        for (let i = 0; i < linesCount; i++) {
            let y = 10 + (i * step);
            let xEnd = direction === 1 ? 190 : 10;
            
            if (i > 0) {
                // Łuk w dół
                let xStart = direction === 1 ? 10 : 190;
                pathD += ` L ${xStart} ${y}`;
            }
            
            pathD += ` L ${xEnd} ${y}`;
            direction *= -1;
        }

        return `
            <svg viewBox="0 0 200 100" fill="none" style="width:100%; height:100%;">
                <rect x="0" y="0" width="200" height="100" fill="#1e293b" />
                <path d="${pathD}" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" class="anim-heat" />
            </svg>
        `;
    }

    function triggerAnim(el) {
        el.classList.remove('anim-update');
        void el.offsetWidth;
        el.classList.add('anim-update');
    }

    function updateUI() {
        const val = slider.value;
        const data = spacingData[val];

        valDisplay.textContent = val + " cm";
        
        elMath.textContent = data.math;
        elOper.textContent = data.oper;
        elZone.textContent = data.zone;
        elZoneDesc.textContent = data.zoneDesc;
        elTemp.textContent = data.temp;
        elTempDesc.textContent = data.tempDesc;

        visualBox.innerHTML = generateSVG(data.lines);

        [elMath, elOper, elZone, elTemp].forEach(triggerAnim);
    }

    slider.addEventListener('input', updateUI);
    updateUI(); // init
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-rozstaw-zuzycie",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ile metrów rury potrzeba na m² podłogówki przy różnych rozstawach?",
    "description": "Kalkulacja zużycia rur do ogrzewania podłogowego zgodnie z normą PN-EN 1264-4. Zobacz wzór matematyczny na ilość mb/m2 i przeznaczenie stref grzewczych.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-rozstaw",
    "name": "Wskaźniki zużycia rury ogrzewania podłogowego wg rozstawu",
    "description": "Zestawienie operacyjnego i matematycznego zapotrzebowania na rurę PEX (mb/m2) w zależności od kroku pętli grzewczej i strefy cieplnej.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury na m2 ogrzewania podłogowego",
      "rozstaw rur 10 czy 15 cm",
      "opory hydrauliczne podłogówki",
      "norma PN-EN 1264-4 podłogówka",
      "krok pętli grzewczej"
    ],
    "measurementTechnique": "Przeliczenie matematyczne na bazie wzoru L = 1/b z uwzględnieniem strat na łukach, zgodne ze standardami projektowania budynków jednorodzinnych.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Rozstaw 10 cm: Zużycie ok. 10 mb/m2. Dedykowane do łazienek (wymóg 24°C) i stref brzegowych.",
        "Rozstaw 15 cm: Zużycie ok. 7 mb/m2. Standard dla salonów i sypialni (40-50 W/m2).",
        "Rozstaw 20 cm: Zużycie ok. 5 mb/m2. Używane w korytarzach i domach pasywnych.",
        "Rozstaw 25 cm: Zużycie ok. 4 mb/m2. Stosowane wyłącznie w technicznych halach i garażach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-rozstaw",
    "name": "Symulator Rozstawu i Zużycia Rur PN-EN",
    "description": "Interaktywny suwak pozwalający inwestorowi na dynamiczne dobieranie rozstawu osiowego rur i weryfikację wpływu tej decyzji na przeznaczenie pomieszczenia oraz zapotrzebowanie materiałowe.",
    "applicationCategory": "EngineeringApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-err-dark: #18181b; /* Ciemny grafit */
    --rk-err-panel: #27272a;
    --rk-err-brand: #e11d48; /* Czerwień ostrzegawcza */
    --rk-err-brand-light: #ffe4e6;
    --rk-err-accent: #f43f5e;
    --rk-err-warn: #d97706;
    --rk-err-text: #3f3f46;
    --rk-err-text-light: #71717a;
    --rk-err-bg: #fafafa;
    --rk-err-card: #ffffff;
    --rk-err-border: #e4e4e7;
}

.rk-error-scanner {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-err-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(225, 29, 72, 0.1);
    border: 1px solid var(--rk-err-border);
    overflow: hidden;
}

/* Nagłówek Sekcji */
.rk-err-header {
    background: var(--rk-err-dark);
    padding: 45px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-err-brand);
}

.rk-err-header::before {
    content: '!';
    position: absolute;
    right: 50px;
    top: -30px;
    font-size: 180px;
    font-weight: 900;
    color: rgba(255,255,255,0.04);
    line-height: 1;
    pointer-events: none;
}

.rk-err-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-err-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #a1a1aa;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Obszar Interaktywny */
.rk-err-app-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 30px;
}

/* Menu Błędów (Sidebar) */
.rk-err-nav {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.rk-err-btn {
    text-align: left;
    background: var(--rk-err-card);
    border: 1px solid var(--rk-err-border);
    padding: 16px 20px;
    border-radius: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 15px;
    position: relative;
    overflow: hidden;
}

.rk-err-btn::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: transparent;
    transition: background 0.3s;
}

.rk-err-btn:hover {
    border-color: #fca5a5;
    background: #fff1f2;
}

.rk-err-btn.active {
    background: #fff1f2;
    border-color: var(--rk-err-brand);
    box-shadow: 0 10px 15px -3px rgba(225, 29, 72, 0.08);
}

.rk-err-btn.active::before {
    background: var(--rk-err-brand);
}

.rk-err-btn-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f4f4f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-err-text-light);
    transition: all 0.3s;
    flex-shrink: 0;
}

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

.rk-err-btn-icon svg { width: 20px; height: 20px; }

.rk-err-btn-text {
    font-size: 14px;
    font-weight: 800;
    color: var(--rk-err-text);
    line-height: 1.3;
}

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

/* Wyświetlacz Błędu (Main Display) */
.rk-err-display {
    background: var(--rk-err-card);
    border: 1px solid var(--rk-err-border);
    border-radius: 20px;
    padding: 35px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
}

.rk-err-visual {
    height: 180px;
    background: var(--rk-err-dark);
    border-radius: 16px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    box-shadow: inset 0 10px 20px rgba(0,0,0,0.3);
}

.rk-err-visual svg {
    width: 100%;
    height: 100%;
    max-width: 250px;
}

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

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

.rk-err-content a {
    color: var(--rk-err-brand);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: all 0.2s;
}

.rk-err-content a:hover {
    text-decoration-color: var(--rk-err-brand);
}

.rk-err-alert-box {
    background: #fef2f2;
    border-left: 4px solid var(--rk-err-brand);
    padding: 15px 20px;
    border-radius: 0 12px 12px 0;
    font-size: 14px;
    font-weight: 700;
    color: #9f1239;
    display: flex;
    align-items: center;
    gap: 10px;
    line-height: 1.4;
}

.rk-err-alert-box svg { flex-shrink: 0; }

/* Animacje SVG zależne od błędu */
@keyframes fracturePulse {
    0% { opacity: 0; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1.2); }
    100% { opacity: 0; transform: scale(0.8); }
}
.anim-fracture { animation: fracturePulse 1.5s infinite; transform-origin: center; fill: var(--rk-err-brand); }

@keyframes waterDrip {
    0% { transform: translateY(-10px); opacity: 0; }
    30% { opacity: 1; }
    100% { transform: translateY(30px); opacity: 0; }
}
.anim-drip { animation: waterDrip 1.5s infinite linear; fill: var(--rk-err-brand); }
.anim-drip-delay { animation: waterDrip 1.5s infinite linear; animation-delay: 0.75s; fill: var(--rk-err-brand); }

@keyframes guillotineShift {
    0% { transform: translateY(0); }
    50% { transform: translateY(8px); }
    100% { transform: translateY(0); }
}
.anim-slab-move { animation: guillotineShift 2s infinite ease-in-out; }

@keyframes heatLossFlow {
    0% { stroke-dashoffset: 200; }
    100% { stroke-dashoffset: 0; }
}
.anim-flow-long { 
    stroke-dasharray: 20 10; 
    animation: heatLossFlow 3s linear infinite; 
}

@keyframes needleDrop {
    0% { transform: rotate(45deg); }
    20% { transform: rotate(45deg); }
    40% { transform: rotate(-45deg); }
    80% { transform: rotate(-45deg); }
    100% { transform: rotate(45deg); }
}
.anim-needle { animation: needleDrop 4s infinite cubic-bezier(0.4, 0, 0.2, 1); transform-origin: 100px 70px; }

/* RWD */
@media (max-width: 768px) {
    .rk-err-header, .rk-err-app-body { padding: 30px 20px; }
    .rk-err-app-body { grid-template-columns: 1fr; gap: 20px; }
    .rk-err-nav { flex-direction: row; overflow-x: auto; padding-bottom: 10px; scrollbar-width: none; }
    .rk-err-nav::-webkit-scrollbar { display: none; }
    .rk-err-btn { min-width: 220px; flex-shrink: 0; padding: 15px; }
    .rk-err-visual { height: 160px; }
    .rk-err-content h3 { font-size: 20px; }
}
</style>

<div class="rk-error-scanner">
    <div class="rk-err-header">
        <h2>
            <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="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 wykonawcze
        </h2>
        <p>Błędy popełnione na etapie rozkładania rur PEX/PERT są niemożliwe do skorygowania po wylaniu jastrychu. Uruchom skaner błędów, aby dowiedzieć się, co niszczy instalację i jak uniknąć kucia posadzek.</p>
    </div>

    <div class="rk-err-app-body">
        <div class="rk-err-nav" id="rkErrNav">
            <button class="rk-err-btn active" data-error="bend">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12A10 10 0 1 1 12 2"></path></svg>
                </div>
                <span class="rk-err-btn-text">Złamanie rury (Przewężenie)</span>
            </button>
            <button class="rk-err-btn" data-error="joint">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="12" x2="20" y2="12"></line><line x1="12" y1="4" x2="12" y2="20"></line></svg>
                </div>
                <span class="rk-err-btn-text">Złączka w wylewce</span>
            </button>
            <button class="rk-err-btn" data-error="dilation">
                <div class="rk-err-btn-icon">
                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><line x1="12" y1="3" x2="12" y2="21"></line></svg>
                </div>
                <span class="rk-err-btn-text">Brak dylatacji (Gilotyna)</span>
            </button>
            <button class="rk-err-btn" data-error="length">
                <div class="rk-err-btn-icon">
                    <svg 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>
                <span class="rk-err-btn-text">Zbyt długa pętla (>100mb)</span>
            </button>
            <button class="rk-err-btn" data-error="pressure">
                <div class="rk-err-btn-icon">
                    <svg 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><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <span class="rk-err-btn-text">Brak próby ciśnieniowej</span>
            </button>
        </div>

        <div class="rk-err-display">
            <div class="rk-err-visual" id="errVisual">
                </div>
            
            <div class="rk-err-content">
                <h3 id="errTitle">Złamanie rury (za mały promień gięcia)</h3>
                <p id="errDesc">Wykonawcy, próbując zagęścić rozstaw na siłę bez użycia sprężyn gnących, doprowadzają do załamania rury (tzw. przewężenia). W tym miejscu drastycznie rośnie opór hydrauliczny, a osłabiona struktura polimeru grozi pęknięciem. Więcej o trwałości materiałów w artykule o <a href="https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/">wytrzymałości rur PEX</a>.</p>
                
                <div class="rk-err-alert-box" id="errAlert">
                    <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>
                    <span id="errAlertText">Norma EN ISO 15875: Min. promień gięcia to 5 x d (ok. 8 cm).</span>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const buttons = document.querySelectorAll('.rk-err-btn');
    const visual = document.getElementById('errVisual');
    const title = document.getElementById('errTitle');
    const desc = document.getElementById('errDesc');
    const alertText = document.getElementById('errAlertText');

    const errorData = {
        "bend": {
            title: "Złamanie rury (za mały promień gięcia)",
            desc: "Wykonawcy, próbując zagęścić rozstaw na siłę bez użycia sprężyn gnących, doprowadzają do załamania rury (tzw. przewężenia). W tym miejscu drastycznie rośnie opór hydrauliczny, a osłabiona struktura polimeru grozi pęknięciem. Więcej w <a href='https://projekt-ogrzewania.pl/wytrzymalosc-rur-do-ogrzewania-podlogowego-kompleksowy-przewodnik/'>przewodniku o wytrzymałości rur</a>.",
            alert: "Norma EN ISO 15875: Min. promień gięcia to 5 x d (ok. 8 cm dla rury 16mm).",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 80 Q 100 -50 180 80" stroke="#4b5563" stroke-width="12" stroke-linecap="round"/>
                    <path d="M 90 25 L 110 25" stroke="#e11d48" stroke-width="8" stroke-linecap="round"/>
                    <circle cx="100" cy="25" r="8" class="anim-fracture" />
                  </svg>`
        },
        "joint": {
            title: "Łączenie rur w wylewce",
            desc: "Absolutną, nienaruszalną zasadą jest prowadzenie każdego obwodu od rozdzielacza do rozdzielacza w jednym kawałku. Zastosowanie złączki wewnątrz warstwy betonu w celu 'dosztukowania' brakującego metra rury to kardynalny błąd i potencjalne ognisko korozji galwanicznej.",
            alert: "Zagrożenie: Niewykrywalny wyciek, spadek ciśnienia i konieczność kucia posadzki.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <rect x="20" y="40" width="75" height="12" fill="#4b5563" rx="4"/>
                    <rect x="105" y="40" width="75" height="12" fill="#4b5563" rx="4"/>
                    <rect x="85" y="34" width="30" height="24" fill="#a1a1aa" rx="2" stroke="#3f3f46" stroke-width="2"/>
                    <circle cx="100" cy="65" r="4" class="anim-drip" />
                    <circle cx="100" cy="65" r="3" class="anim-drip-delay" />
                  </svg>`
        },
        "dilation": {
            title: "Brak dylatacji i peszli w drzwiach",
            desc: "Płyta grzewcza pracuje termicznie. Brak <a href='https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/'>szczelin dylatacyjnych</a> w progach drzwi oraz brak rur ochronnych (peszli) powoduje, że naprężony, kurczący się beton działa jak gilotyna, ścinając rurę grzewczą po kilku sezonach.",
            alert: "Skutek: Płyty betonowe z czasem obcinają instalację mechaniczną w poprzek.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <rect x="30" y="20" width="65" height="60" fill="#3f3f46" rx="2" />
                    <rect x="105" y="20" width="65" height="60" fill="#3f3f46" rx="2" class="anim-slab-move" />
                    <path d="M 20 50 L 180 50" stroke="#e11d48" stroke-width="8" stroke-linecap="round"/>
                    <path d="M 100 20 L 100 80" stroke="#f43f5e" stroke-width="2" stroke-dasharray="4 4" />
                  </svg>`
        },
        "length": {
            title: "Zbyt długa pętla (Przekroczenie limitu oporów)",
            desc: "Każda rura stawia opór płynącej wodzie. Jeśli ułożysz <a href='https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/'>pętlę dłuższą niż 100 mb</a> (dla średnicy 16mm), opór hydrauliczny przekroczy możliwości standardowej pompy obiegowej. Woda po prostu nie dopłynie do końca układu.",
            alert: "Skutek: Ostatnie metry podłogi pozostają permanentnie zimne pomimo działania kotła.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <path d="M 20 50 Q 60 20 100 50 T 180 50" stroke="#4b5563" stroke-width="16" stroke-linecap="round"/>
                    <path d="M 20 50 Q 60 20 100 50 T 180 50" stroke="url(#heatGradient)" stroke-width="8" stroke-linecap="round" class="anim-flow-long"/>
                    <defs>
                      <linearGradient id="heatGradient" x1="0%" y1="0%" x2="100%" y2="0%">
                        <stop offset="0%" stop-color="#ef4444" />
                        <stop offset="50%" stop-color="#f59e0b" />
                        <stop offset="100%" stop-color="#3b82f6" />
                      </linearGradient>
                    </defs>
                  </svg>`
        },
        "pressure": {
            title: "Brak próby ciśnieniowej przed wylewką",
            desc: "Zalewanie rur jastrychem bez wcześniejszego nabicia ich wodą lub powietrzem (na min. 6 bar) to hazard. <a href='https://projekt-ogrzewania.pl/proba-szczelnosci-ogrzewania-podlogowego/'>Próba szczelności</a> nie tylko wykrywa fabryczne wady rury, ale też usztywnia ją, zapobiegając zgnieceniu pod ciężarem wylewki.",
            alert: "Zagrożenie: Odrzucenie roszczeń gwarancyjnych przez producenta rur w razie awarii.",
            svg: `<svg viewBox="0 0 200 100" fill="none" stroke="currentColor">
                    <circle cx="100" cy="70" r="40" fill="#3f3f46" stroke="#52525b" stroke-width="4"/>
                    <path d="M 70 70 A 30 30 0 0 1 130 70" stroke="#e11d48" stroke-width="6" stroke-linecap="round"/>
                    <path d="M 80 70 A 20 20 0 0 1 120 70" stroke="#10b981" stroke-width="6" stroke-linecap="round"/>
                    <circle cx="100" cy="70" r="4" fill="#ffffff"/>
                    <line x1="100" y1="70" x2="120" y2="50" stroke="#ffffff" stroke-width="3" stroke-linecap="round" class="anim-needle"/>
                  </svg>`
        }
    };

    function loadErrorData(errorKey) {
        const data = errorData[errorKey];
        title.innerHTML = data.title;
        desc.innerHTML = data.desc;
        alertText.innerHTML = data.alert;
        visual.innerHTML = data.svg;
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            const errKey = this.getAttribute('data-error');
            
            visual.style.opacity = 0;
            setTimeout(() => {
                loadErrorData(errKey);
                visual.style.opacity = 1;
            }, 200);
        });
    });

    loadErrorData('bend');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-bledy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Najczęstsze błędy wykonawcze przy układaniu rur",
    "description": "Zestawienie najgroźniejszych błędów instalacyjnych podłogówki: zbyt mały promień gięcia, łączenie rur w wylewce, brak dylatacji, przekroczenie długości 100mb pętli oraz brak próby ciśnieniowej.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-bledy",
    "name": "Katalog błędów i limitów mechanicznych rur PEX/PERT",
    "description": "Techniczne podsumowanie najczęstszych przyczyn awarii systemów ogrzewania płaszczyznowego z powiązaniem do norm montażowych i fizyki budowli.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "błędy przy montażu podłogówki",
      "złamanie rury pex promień gięcia",
      "łączenie rur pod wylewką",
      "brak dylatacji ogrzewanie podłogowe",
      "maksymalna długość pętli podłogówki 16mm",
      "próba ciśnieniowa ogrzewania podłogowego"
    ],
    "measurementTechnique": "Weryfikacja jakości ułożenia pętli grzewczych na podstawie norm (EN ISO 15875 dla zginania polimerów), limitów hydraulicznych oraz wymogów dla jastrychów pływających.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Błąd 1: Przekroczenie minimalnego promienia gięcia 5 x d (8 cm dla rury 16mm), co niszczy strukturę polimeru.",
        "Błąd 2: Stosowanie jakichkolwiek złączek zaprasowywanych i skręcanych wewnątrz betonu.",
        "Błąd 3: Brak profili dylatacyjnych oraz peszli na rurach przechodzących przez strefy drzwiowe.",
        "Błąd 4: Ułożenie pętli grzewczej dłuższej niż 100 metrów bieżących, co blokuje przepływ wody.",
        "Błąd 5: Zalewanie rur jastrychem bez wcześniejszej weryfikacji szczelności (min. 6 bar)."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-bledy",
    "name": "Skaner Ryzyka Błędów Wykonawczych",
    "description": "Aplikacja typu wizualizator, demonstrująca inwestorom mechanikę powstawania uszkodzeń instalacji (złamania, wycieki złączek, ścinanie przez beton, opory hydrauliczne i spadki ciśnienia) wraz z objaśnieniem norm zapobiegających usterkom.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-pro-dark: #1e1b4b; /* Głęboki granat/indygo dla sekcji premium */
    --rk-pro-panel: #312e81;
    --rk-pro-brand: #6366f1;
    --rk-pro-brand-light: #e0e7ff;
    --rk-pro-accent: #818cf8;
    --rk-pro-success: #10b981;
    --rk-pro-danger: #ef4444;
    --rk-pro-warning: #f59e0b;
    --rk-pro-text: #334155;
    --rk-pro-text-light: #64748b;
    --rk-pro-bg: #f8fafc;
    --rk-pro-card: #ffffff;
    --rk-pro-border: #e2e8f0;
}

.rk-project-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-pro-bg);
    border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(30, 27, 75, 0.15);
    border: 1px solid var(--rk-pro-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-pro-header {
    background: var(--rk-pro-dark);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-pro-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 80% 20%, rgba(99, 102, 241, 0.3) 0%, transparent 60%);
    pointer-events: none;
}

.rk-pro-header h2 {
    font-size: 28px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
}

.rk-pro-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #c7d2fe;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Sekcja Interaktywna - Przełącznik */
.rk-pro-interactive {
    padding: 40px 50px;
}

.rk-pro-toggle-container {
    background: #ffffff;
    border: 1px solid var(--rk-pro-border);
    border-radius: 20px;
    padding: 10px;
    display: flex;
    position: relative;
    margin-bottom: 40px;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02);
}

.rk-pro-toggle-btn {
    flex: 1;
    padding: 18px 20px;
    border: none;
    background: transparent;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-pro-text-light);
    cursor: pointer;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.rk-pro-toggle-btn svg {
    width: 20px;
    height: 20px;
    transition: transform 0.3s;
}

.rk-pro-toggle-btn.active[data-state="amateur"] {
    color: var(--rk-pro-danger);
}

.rk-pro-toggle-btn.active[data-state="pro"] {
    color: var(--rk-pro-success);
}

/* Animowane tło przełącznika */
.rk-pro-toggle-bg {
    position: absolute;
    top: 10px;
    bottom: 10px;
    width: calc(50% - 10px);
    border-radius: 14px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
}

.rk-pro-toggle-container[data-current="amateur"] .rk-pro-toggle-bg {
    transform: translateX(0);
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    box-shadow: 0 4px 6px -1px rgba(239, 68, 68, 0.1);
}

.rk-pro-toggle-container[data-current="pro"] .rk-pro-toggle-bg {
    transform: translateX(100%);
    background-color: #ecfdf5;
    border: 1px solid #a7f3d0;
    box-shadow: 0 4px 6px -1px rgba(16, 185, 129, 0.1);
}

/* Kafelki Wyników */
.rk-pro-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.rk-pro-card {
    background: var(--rk-pro-card);
    border: 1px solid var(--rk-pro-border);
    border-radius: 18px;
    padding: 30px 20px;
    text-align: center;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.02);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.rk-pro-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #e2e8f0;
    transition: background-color 0.4s;
}

.rk-pro-card.state-danger::before { background: var(--rk-pro-danger); }
.rk-pro-card.state-success::before { background: var(--rk-pro-success); }

.rk-pro-icon-box {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    transition: all 0.4s;
}

.rk-pro-card.state-danger .rk-pro-icon-box { background: #fef2f2; color: var(--rk-pro-danger); }
.rk-pro-card.state-success .rk-pro-icon-box { background: #ecfdf5; color: var(--rk-pro-success); }

.rk-pro-icon-box svg {
    width: 30px;
    height: 30px;
}

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

.rk-pro-value {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-pro-text);
    margin-bottom: 10px;
    min-height: 52px; /* Stabilizacja wysokości */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
}

.rk-pro-card.state-danger .rk-pro-value { color: var(--rk-pro-danger); }
.rk-pro-card.state-success .rk-pro-value { color: var(--rk-pro-success); }

.rk-pro-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--rk-pro-text);
}

.rk-pro-desc a {
    color: var(--rk-pro-brand);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: all 0.2s;
}

.rk-pro-desc a:hover {
    text-decoration-color: var(--rk-pro-brand);
}

/* Animacje SVG */
@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-3px) rotate(-5deg); }
    75% { transform: translateX(3px) rotate(5deg); }
}
.state-danger .anim-icon { animation: shake 0.5s ease-in-out; }

@keyframes popIn {
    0% { transform: scale(0.8); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}
.state-success .anim-icon { animation: popIn 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275); }

/* CTA Area */
.rk-pro-cta {
    background: #ffffff;
    padding: 40px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-pro-border);
}

.rk-pro-cta h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-pro-dark);
    margin: 0 0 15px 0;
}

.rk-pro-cta p {
    color: var(--rk-pro-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-pro-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-pro-brand);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    padding: 18px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(99, 102, 241, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-pro-btn:hover {
    transform: translateY(-4px);
    background: #4f46e5;
    box-shadow: 0 15px 30px -5px rgba(99, 102, 241, 0.5);
}

@media (max-width: 768px) {
    .rk-pro-header, .rk-pro-interactive, .rk-pro-cta { padding: 30px 20px; }
    .rk-pro-toggle-container { flex-direction: column; }
    .rk-pro-toggle-bg { width: calc(100% - 20px); height: calc(50% - 10px); }
    .rk-pro-toggle-container[data-current="pro"] .rk-pro-toggle-bg { transform: translateY(100%); left: 10px; }
    .rk-pro-grid { grid-template-columns: 1fr; }
    .rk-pro-btn { width: 100%; padding: 16px; }
}
</style>

<div class="rk-project-wrapper">
    <div class="rk-pro-header">
        <h2>
            <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="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>
            Przejście do realizacji: Dlaczego gotowy projekt to oszczędność?
        </h2>
        <p>Inwestorzy często rezygnują z profesjonalnego projektu instalacji, uznając go za zbędny wydatek rzędu kilkuset złotych, po czym wydają tysiące na przewymiarowane materiały lub borykają się z poprawkami. Zobacz na symulacji poniżej, jak decyzja o projekcie wpływa na koszty materiałowe i eksploatację.</p>
    </div>

    <div class="rk-pro-interactive">
        <div class="rk-pro-toggle-container" id="rkProToggle" data-current="amateur">
            <div class="rk-pro-toggle-bg"></div>
            <button class="rk-pro-toggle-btn active" data-state="amateur">
                <svg 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>
                Robota &#8222;na oko&#8221; (Brak projektu)
            </button>
            <button class="rk-pro-toggle-btn" data-state="pro">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Projekt OZC i Podłogówki
            </button>
        </div>

        <div class="rk-pro-grid">
            <div class="rk-pro-card state-danger" id="proCard1">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon1"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                </div>
                <div class="rk-pro-metric">Zużycie i Odpady</div>
                <div class="rk-pro-value" id="proVal1">Odpady > 15%<br>Braki na budowie</div>
                <div class="rk-pro-desc" id="proDesc1">
                    Kupując rury w ciemno, pętle nie pasują do zwojów (np. 200 mb). Zostają bezużyteczne odcinki po 30 mb, a na ostatnią pętlę brakuje materiału.
                </div>
            </div>

            <div class="rk-pro-card state-danger" id="proCard2">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon2"><circle cx="12" cy="12" r="10"></circle><polyline points="12 6 12 12 16 14"></polyline></svg>
                </div>
                <div class="rk-pro-metric">Równoważenie układu</div>
                <div class="rk-pro-value" id="proVal2">2 sezony grzewcze<br>prób i błędów</div>
                <div class="rk-pro-desc" id="proDesc2">
                    Brak wytycznych nastaw dla <a href="https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/">rotametrów</a>. Kręcisz zaworami na oślep, co powoduje, że jedna pętla grzeje za mocno, a inna wcale.
                </div>
            </div>

            <div class="rk-pro-card state-danger" id="proCard3">
                <div class="rk-pro-icon-box">
                    <svg class="anim-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" id="proIcon3"><path d="M18 20V10"></path><path d="M12 20V4"></path><path d="M6 20v-6"></path></svg>
                </div>
                <div class="rk-pro-metric">Koszty Eksploatacji</div>
                <div class="rk-pro-value" id="proVal3">Przepalanie<br>energii</div>
                <div class="rk-pro-desc" id="proDesc3">
                    Przewymiarowana pompa ciepła lub kocioł taktuje (często się włącza). Brak synergii ze źródłem ciepła to wyższe rachunki za prąd/gaz.
                </div>
            </div>
        </div>
    </div>

    <div class="rk-pro-cta">
        <h4>Projekt to dokumentacja gwarantująca jakość</h4>
        <p>Kompletny projekt to nie tylko rysunek – to <a href="https://projekt-ogrzewania.pl/jak-powinien-wygladac-profesjonalny-projekt-do-ogrzewania-podlogowego/">precyzyjne zestawienie materiałowe</a>, obliczenia OZC oraz pewność optymalnej pracy systemu przez dekady.</p>
        <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" class="rk-pro-btn">
            ZAMÓW PROJEKT OGRZEWANIA PODŁOGOWEGO
            <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="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg>
        </a>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggleContainer = document.getElementById('rkProToggle');
    const buttons = document.querySelectorAll('.rk-pro-toggle-btn');
    
    const cards = [
        document.getElementById('proCard1'),
        document.getElementById('proCard2'),
        document.getElementById('proCard3')
    ];
    
    const contentData = {
        amateur: [
            {
                val: "Odpady > 15%<br>Braki na budowie",
                desc: "Kupując rury w ciemno, pętle nie pasują do zwojów (np. 200 mb). Zostają bezużyteczne odcinki po 30 mb, a na ostatnią pętlę brakuje materiału."
            },
            {
                val: "2 sezony grzewcze<br>prób i błędów",
                desc: "Brak wytycznych nastaw dla <a href='https://projekt-ogrzewania.pl/rotametr-wskaznik-przeplywu-w-rozdzielaczu-ogrzewania-podlogowego/'>rotametrów</a>. Kręcisz zaworami na oślep, co powoduje, że jedna pętla grzeje za mocno, a inna wcale."
            },
            {
                val: "Przepalanie<br>energii",
                desc: "Źle dobrana pompa ciepła lub kocioł taktuje (często się włącza). Brak hydraulicznej synergii ze źródłem ciepła to wyższe rachunki za prąd/gaz."
            }
        ],
        pro: [
            {
                val: "Odpady < 2%<br>Zestawienie co do metra",
                desc: "Właściwe rozplanowanie pętli w projekcie redukuje odpad. Otrzymujesz precyzyjną listę zakupową – kupujesz dokładnie to, co jest potrzebne."
            },
            {
                val: "Kalibracja<br>w 10 minut",
                desc: "Otrzymujesz dokładne wytyczne nastaw wstępnych na rotametrach dla każdej z pętli. Równoważenie hydrauliczne wykonujesz natychmiast po montażu."
            },
            {
                val: "Maksymalna<br>Sprawność (COP)",
                desc: "Pewność, że źródło ciepła będzie pracować stabilnie i z najwyższą możliwą sprawnością energetyczną, co bezpośrednio przekłada się na oszczędności."
            }
        ]
    };

    function updateCards(state) {
        const data = contentData[state];
        const isPro = state === 'pro';

        cards.forEach((card, index) => {
            // Remove animation class to re-trigger it
            const icon = card.querySelector('.anim-icon');
            icon.classList.remove('anim-icon');
            
            // Force reflow
            void card.offsetWidth;

            // Update content
            card.querySelector('.rk-pro-value').innerHTML = data[index].val;
            card.querySelector('.rk-pro-desc').innerHTML = data[index].desc;

            // Update state classes
            if (isPro) {
                card.classList.remove('state-danger');
                card.classList.add('state-success');
            } else {
                card.classList.remove('state-success');
                card.classList.add('state-danger');
            }

            // Re-add animation class
            icon.classList.add('anim-icon');
        });
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-state');
            
            // Update buttons
            buttons.forEach(b => b.classList.remove('active'));
            this.classList.add('active');
            
            // Update container bg
            toggleContainer.setAttribute('data-current', state);
            
            // Update UI cards
            updateCards(state);
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-projekt",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Przejście do realizacji: Dlaczego gotowy projekt ogrzewania podłogowego to realna oszczędność?",
    "description": "Szczegółowa analiza opłacalności wykonania profesjonalnego projektu OZC i podłogówki. Zobacz, jak redukuje to odpady rur PEX do 2% i ułatwia równoważenie 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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-projekt",
    "name": "Porównanie kosztów i strat materiałowych: Montaż bez projektu vs. Projekt OZC",
    "description": "Zestawienie analityczne pokazujące różnice w zużyciu rur, czasie kalibracji układu oraz efektywności źródła ciepła dla instalacji realizowanych na podstawie projektu vs. intuicji wykonawcy.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projekt instalacji ogrzewania podłogowego",
      "odpady rury pex",
      "równoważenie hydrauliczne podłogówki",
      "nastawy rotametrów",
      "projekt ozc"
    ],
    "measurementTechnique": "Kwantyfikacja wskaźników montażowych: % odpadu z rolki 200m rury, czas potrzebny na kalibrację przepływów (rotametry) w jednostkach czasu.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zużycie rur: Projekt zmniejsza odpad na budowie z ponad 15% do poziomu poniżej 2%.",
        "Równoważenie hydrauliczne: Gotowe wytyczne pozwalają zredukować czas kalibracji z wielu miesięcy do 10 minut.",
        "Koszty eksploatacji: Uniknięcie przewymiarowania i taktowania pompy ciepła zapewnia maksymalny możliwy wskaźnik COP."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-projekt",
    "name": "Symulator opłacalności projektu HVAC",
    "description": "Interaktywny przełącznik wizualizujący konsekwencje techniczne i finansowe montażu na oko w porównaniu do realizacji na bazie inżynierskiego projektu OZC.",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-cs-dark: #111827;
    --rk-cs-panel: #1f2937;
    --rk-cs-brand: #2563eb; /* Royal Blue */
    --rk-cs-brand-light: #dbeafe;
    --rk-cs-success: #059669; /* Emerald */
    --rk-cs-success-light: #d1fae5;
    --rk-cs-danger: #dc2626; /* Red */
    --rk-cs-danger-light: #fee2e2;
    --rk-cs-bg: #f8fafc;
    --rk-cs-card: #ffffff;
    --rk-cs-border: #e2e8f0;
    --rk-cs-text: #334155;
    --rk-cs-text-light: #64748b;
}

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

/* Nagłówek Case Study */
.rk-cs-header {
    background: var(--rk-cs-dark);
    padding: 40px 50px 30px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-cs-brand);
}

.rk-cs-header::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 300px;
    height: 100%;
    background: radial-gradient(ellipse at right, rgba(37, 99, 235, 0.2) 0%, transparent 70%);
    pointer-events: none;
}

.rk-cs-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rk-cs-badge {
    background: var(--rk-cs-brand);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

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

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

/* Profil Eksperta w Case Study */
.rk-cs-author-bar {
    display: flex;
    align-items: center;
    gap: 15px;
    background: var(--rk-cs-card);
    padding: 20px 50px;
    border-bottom: 1px solid var(--rk-cs-border);
}

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

.rk-cs-author-info h4 {
    margin: 0 0 2px 0;
    font-size: 15px;
    font-weight: 800;
    color: var(--rk-cs-dark);
}

.rk-cs-author-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rk-cs-text-light);
    font-weight: 600;
}

/* Sekcja Interaktywna */
.rk-cs-body {
    padding: 40px 50px;
}

/* Przełącznik Przed/Po */
.rk-cs-toggle {
    display: flex;
    background: #ffffff;
    border: 1px solid var(--rk-cs-border);
    border-radius: 16px;
    padding: 8px;
    margin-bottom: 35px;
    position: relative;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
}

.rk-cs-btn {
    flex: 1;
    padding: 16px 20px;
    background: transparent;
    border: none;
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: var(--rk-cs-text-light);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    z-index: 2;
}

.rk-cs-btn svg { width: 20px; height: 20px; }

.rk-cs-toggle-bg {
    position: absolute;
    top: 8px;
    bottom: 8px;
    width: calc(50% - 8px);
    border-radius: 12px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.4s;
    z-index: 1;
}

.rk-cs-toggle[data-state="before"] .rk-cs-toggle-bg {
    transform: translateX(0);
    background: var(--rk-cs-danger-light);
    border: 1px solid #fca5a5;
}

.rk-cs-toggle[data-state="after"] .rk-cs-toggle-bg {
    transform: translateX(100%);
    background: var(--rk-cs-success-light);
    border: 1px solid #6ee7b7;
}

.rk-cs-toggle[data-state="before"] .rk-cs-btn[data-view="before"] { color: var(--rk-cs-danger); }
.rk-cs-toggle[data-state="after"] .rk-cs-btn[data-view="after"] { color: var(--rk-cs-success); }

/* Główny układ wyników */
.rk-cs-dashboard {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
}

/* Lewa strona - Parametry */
.rk-cs-metrics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.rk-cs-card {
    background: var(--rk-cs-card);
    border: 1px solid var(--rk-cs-border);
    padding: 25px;
    border-radius: 16px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    transition: all 0.3s;
}

.rk-cs-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 15px;
    transition: background 0.3s, color 0.3s;
}

.rk-cs-icon svg { width: 22px; height: 22px; }

.rk-cs-label {
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: var(--rk-cs-text-light);
    margin-bottom: 8px;
    letter-spacing: 0.5px;
}

.rk-cs-val {
    font-size: 24px;
    font-weight: 900;
    color: var(--rk-cs-dark);
    margin-bottom: 6px;
    transition: color 0.3s;
}

.rk-cs-desc {
    font-size: 13px;
    color: var(--rk-cs-text);
    line-height: 1.4;
}

/* Prawa strona - Finanse i Pompa */
.rk-cs-summary {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rk-cs-finance-card {
    background: var(--rk-cs-dark);
    color: #ffffff;
    padding: 30px;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    transition: background 0.4s;
}

.rk-cs-finance-card::before {
    content: 'KOSZTORYS';
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 10px;
    font-weight: 800;
    color: rgba(255,255,255,0.2);
    letter-spacing: 2px;
}

.rk-cs-fin-label {
    font-size: 13px;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 5px;
}

.rk-cs-fin-val {
    font-size: 38px;
    font-weight: 900;
    margin-bottom: 15px;
    line-height: 1;
    transition: color 0.3s;
}

.rk-cs-fin-sub {
    font-size: 14px;
    color: #cbd5e1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.1);
}

.rk-cs-fin-sub strong { color: #ffffff; font-size: 16px; }

/* Dynamiczne stany (Danger/Success) */
.state-danger .rk-cs-icon { background: var(--rk-cs-danger-light); color: var(--rk-cs-danger); }
.state-danger .rk-cs-val { color: var(--rk-cs-danger); }
.state-danger-bg { background: #7f1d1d; }
.state-danger-text { color: #fca5a5; }

.state-success .rk-cs-icon { background: var(--rk-cs-success-light); color: var(--rk-cs-success); }
.state-success .rk-cs-val { color: var(--rk-cs-success); }
.state-success-bg { background: #064e3b; }
.state-success-text { color: #6ee7b7; }

/* Animacje UI */
.cs-anim-update {
    animation: csPop 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes csPop {
    0% { transform: scale(0.95); opacity: 0.5; }
    50% { transform: scale(1.02); }
    100% { transform: scale(1); opacity: 1; }
}

@keyframes pumpPulse {
    0% { filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.5)); }
    50% { filter: drop-shadow(0 0 10px rgba(220, 38, 38, 0.8)); transform: scale(1.05); }
    100% { filter: drop-shadow(0 0 2px rgba(220, 38, 38, 0.5)); }
}
.anim-pump-bad { animation: pumpPulse 1s infinite; stroke: #ef4444; }

@keyframes pumpSmooth {
    0% { stroke-dashoffset: 20; }
    100% { stroke-dashoffset: 0; }
}
.anim-pump-good { stroke-dasharray: 5 5; animation: pumpSmooth 2s linear infinite; stroke: #10b981; }

@media (max-width: 850px) {
    .rk-cs-header, .rk-cs-author-bar, .rk-cs-body { padding: 30px 20px; }
    .rk-cs-dashboard { grid-template-columns: 1fr; }
    .rk-cs-metrics { grid-template-columns: 1fr; }
    .rk-cs-title { flex-direction: column; align-items: flex-start; gap: 10px; }
    .rk-cs-header h2 { font-size: 24px; }
}
</style>

<div class="rk-case-wrapper">
    <div class="rk-cs-header">
        <div class="rk-cs-title">
            <span class="rk-cs-badge">Case Study</span>
            <h2>Dom 200 m²: Gotowy projekt z sieci vs Optymalizacja OZC</h2>
        </div>
        <p>Pan Stanisław z Częstochowy buduje dom o powierzchni 200 m². Wraz z adaptacją otrzymał &#8222;darmowy&#8221; projekt podłogówki, w którym wszędzie zaplanowano rozstaw rur co 10 cm. Zobacz, ile kosztowałby go materiał i co stałoby się z pompą ciepła, gdybyśmy nie zainterweniowali i nie przeliczyli układu na nowo.</p>
    </div>

    <div class="rk-cs-author-bar">
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/04/PO-Robert-Kucharski.webp" alt="Robert Kucharski" class="rk-cs-author-photo">
        <div class="rk-cs-author-info">
            <h4>Analiza i Obliczenia: Robert Kucharski</h4>
            <p>Specjalista HVAC | Projekt-Ogrzewania.pl</p>
        </div>
    </div>

    <div class="rk-cs-body">
        
        <div class="rk-cs-toggle" id="csToggle" data-state="before">
            <div class="rk-cs-toggle-bg"></div>
            <button class="rk-cs-btn" data-view="before">
                <svg 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>
                Projekt &#8222;Darmowy&#8221; (Co 10 cm)
            </button>
            <button class="rk-cs-btn" data-view="after">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg>
                Optymalizacja (Projekt OZC)
            </button>
        </div>

        <div class="rk-cs-dashboard">
            <div class="rk-cs-metrics">
                <div class="rk-cs-card" id="csCardPipe">
                    <div class="rk-cs-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg></div>
                    <div class="rk-cs-label">Zapotrzebowanie na Rurę</div>
                    <div class="rk-cs-val" id="csValPipe">2400 mb</div>
                    <div class="rk-cs-desc" id="csDescPipe">Ogromne przewymiarowanie. Z każdego zwoju 200m zostawałyby olbrzymie, bezużyteczne odpady (ścinki).</div>
                </div>

                <div class="rk-cs-card" id="csCardPump">
                    <div class="rk-cs-icon" id="csIconPump">
                        <svg viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-bad"><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-cs-label">Wpływ na Pompę Ciepła</div>
                    <div class="rk-cs-val" id="csValPump">Taktowanie</div>
                    <div class="rk-cs-desc" id="csDescPump">Zbyt gęsty układ dławi przepływ. Sprężarka włącza się i wyłącza co chwilę, drastycznie skracając żywotność pompy.</div>
                </div>
            </div>

            <div class="rk-cs-summary">
                <div class="rk-cs-finance-card state-danger-bg" id="csCardFin">
                    <div class="rk-cs-fin-label">Koszt samych rur (przy 4 zł/mb)</div>
                    <div class="rk-cs-fin-val state-danger-text" id="csValFin">9 600 PLN</div>
                    
                    <div class="rk-cs-fin-sub">
                        <span>Koszt projektu instalacji:</span>
                        <strong id="csValProj">0 PLN (Gotowiec)</strong>
                    </div>
                </div>
                
                <div class="rk-cs-card" style="background: #fffbeb; border-color: #fde68a;">
                    <div class="rk-cs-label" style="color: #b45309;">Wniosek Eksperta</div>
                    <div class="rk-cs-desc" style="color: #92400e; font-weight: 600;" id="csConclusion">
                        Brak uwzględnienia strefy klimatycznej i wyliczeń oporów to ukryty podatek. Instalator i tak doliczyłby sobie za robociznę przy układaniu nadmiarowych metrów rury.
                    </div>
                </div>
            </div>
        </div>

    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const toggle = document.getElementById('csToggle');
    const buttons = document.querySelectorAll('.rk-cs-btn');
    
    const cardPipe = document.getElementById('csCardPipe');
    const cardPump = document.getElementById('csCardPump');
    const cardFin = document.getElementById('csCardFin');
    const iconPump = document.getElementById('csIconPump');
    
    const valPipe = document.getElementById('csValPipe');
    const descPipe = document.getElementById('csDescPipe');
    const valPump = document.getElementById('csValPump');
    const descPump = document.getElementById('csDescPump');
    const valFin = document.getElementById('csValFin');
    const valProj = document.getElementById('csValProj');
    const conclusion = document.getElementById('csConclusion');

    const data = {
        before: {
            pipeVal: "2400 mb",
            pipeDesc: "Ogromne przewymiarowanie (rozstaw 10 cm). Brak optymalizacji zwojów generuje potężne odpady.",
            pumpVal: "Taktowanie",
            pumpDesc: "Zbyt gęsty układ dławi przepływy wodne. Sprężarka szarpie pracą, co niszczy żywotność pompy ciepła.",
            finVal: "9 600 PLN",
            projVal: "0 PLN (Gotowiec)",
            concl: "Brak uwzględnienia strefy klimatycznej i wyliczeń oporów to ukryty podatek. Wyższe koszty materiału i szybsza awaria pompy ciepła.",
            stateClass: "state-danger",
            bgClass: "state-danger-bg",
            textClass: "state-danger-text",
            svg: `<svg viewBox="0 0 24 24" fill="none" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-bad"><path d="M22 12h-4l-3 9L9 3l-3 9H2"></path></svg>`
        },
        after: {
            pipeVal: "1600 mb",
            pipeDesc: "Zoptymalizowany rozstaw (15 cm, łazienki 10 cm). Rury idealnie rozplanowane pod pełne kręgi, odpady zredukowane do 2%.",
            pumpVal: "Płynna praca",
            pumpDesc: "Zbilansowane opory hydrauliczne. Pompa ciepła pracuje na zadanym przepływie (Delta T), wydłużając żywotność sprężarki o lata.",
            finVal: "6 400 PLN",
            projVal: "700 PLN (Projekt)",
            concl: "Optymalizacja OZC obniżyła koszty materiału o 3 200 PLN. Odejmując 700 PLN za projekt, inwestor jest 2 500 PLN na plusie przed startem prac.",
            stateClass: "state-success",
            bgClass: "state-success-bg",
            textClass: "state-success-text",
            svg: `<svg viewBox="0 0 24 24" fill="none" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="anim-pump-good"><path d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>`
        }
    };

    function triggerAnim(el) {
        el.classList.remove('cs-anim-update');
        void el.offsetWidth;
        el.classList.add('cs-anim-update');
    }

    function updateView(state) {
        const d = data[state];
        
        // Remove old states
        cardPipe.className = 'rk-cs-card';
        cardPump.className = 'rk-cs-card';
        cardFin.className = 'rk-cs-finance-card';
        valFin.className = 'rk-cs-fin-val';

        // Add new states
        cardPipe.classList.add(d.stateClass);
        cardPump.classList.add(d.stateClass);
        cardFin.classList.add(d.bgClass);
        valFin.classList.add(d.textClass);

        // Update Text
        valPipe.innerHTML = d.pipeVal;
        descPipe.innerHTML = d.pipeDesc;
        valPump.innerHTML = d.pumpVal;
        descPump.innerHTML = d.pumpDesc;
        valFin.innerHTML = d.finVal;
        valProj.innerHTML = d.projVal;
        conclusion.innerHTML = d.concl;
        iconPump.innerHTML = d.svg;

        // Animate
        [valPipe, valPump, valFin].forEach(triggerAnim);
    }

    buttons.forEach(btn => {
        btn.addEventListener('click', function() {
            const state = this.getAttribute('data-view');
            toggle.setAttribute('data-state', state);
            updateView(state);
        });
    });

    // Init
    cardPipe.classList.add('state-danger');
    cardPump.classList.add('state-danger');
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-casestudy",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Case Study: Ile rur PEX potrzeba do domu 200 m² i jak oszczędzić 3200 zł?",
    "description": "Analiza rzeczywistego projektu z Częstochowy. Sprawdź, dlaczego rozstaw rur co 10 cm niszczy pompę ciepła i jak profesjonalne obliczenia OZC zmniejszyły rachunek za materiał.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-casestudy",
    "name": "Analiza finansowa i hydrauliczna: Gotowy projekt vs Projekt OZC",
    "description": "Zestawienie kosztów zakupu rur PEX oraz parametrów pracy pompy ciepła na podstawie optymalizacji instalacji dla budynku 200 mkw.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "ile rury do ogrzewania podłogowego 200m2",
      "projekt ozc cena",
      "taktowanie pompy ciepła podłogówka",
      "rozstaw rur 10 czy 15 cm",
      "koszt materiału podłogówka"
    ],
    "measurementTechnique": "Kwantyfikacja strat finansowych (PLN) na bazie ceny 4 zł/mb rury PEX przy uwzględnieniu przewymiarowania rozstawu (10 cm) oraz weryfikacja oporów układu wpływających na zjawisko taktowania sprężarki.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Stan pierwotny (Błąd): Rozstaw 10 cm generował zapotrzebowanie 2400 mb. Koszt rury: 9600 PLN. Układ dławił pompę ciepła powodując taktowanie.",
        "Optymalizacja OZC: Zastosowanie rozstawu 15 cm i dopasowanie stref klimatycznych zmniejszyło zapotrzebowanie do 1600 mb.",
        "Wynik finansowy: Koszt rury spadł do 6400 PLN. Koszt projektu 700 PLN. Czysta oszczędność inwestora to 2500 PLN przed rozpoczęciem prac instalacyjnych."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-casestudy",
    "name": "Symulator Oszczędności OZC - Case Study",
    "description": "Interaktywny panel przełączania (toggle) weryfikujący koszty zakupowe i ryzyko awarii pompy ciepła w zależności od wybranego wariantu projektowania (na oko vs inżyniersko).",
    "applicationCategory": "BusinessApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-faq-dark: #0f172a;
    --rk-faq-panel: #1e293b;
    --rk-faq-brand: #0284c7;
    --rk-faq-brand-light: #e0f2fe;
    --rk-faq-accent: #38bdf8;
    --rk-faq-text: #334155;
    --rk-faq-text-light: #64748b;
    --rk-faq-bg: #ffffff;
    --rk-faq-bg-alt: #f8fafc;
    --rk-faq-border: #e2e8f0;
    --rk-faq-danger: #ef4444;
}

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

/* Nagłówek Sekcji */
.rk-faq-header {
    background: var(--rk-faq-dark);
    padding: 45px 50px 35px;
    color: #ffffff;
    position: relative;
    border-bottom: 4px solid var(--rk-faq-brand);
}

.rk-faq-header::before {
    content: '?';
    position: absolute;
    right: 40px;
    top: -20px;
    font-size: 150px;
    font-weight: 900;
    color: rgba(255,255,255,0.03);
    line-height: 1;
    pointer-events: none;
}

.rk-faq-header h2 {
    font-size: 28px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.rk-faq-header p {
    font-size: 16px;
    line-height: 1.6;
    color: #cbd5e1;
    margin: 0;
    max-width: 750px;
    position: relative;
    z-index: 2;
}

/* Lista Akordeonowa */
.rk-faq-list {
    padding: 20px 50px 40px;
    background: var(--rk-faq-bg-alt);
}

.rk-faq-item {
    background: var(--rk-faq-bg);
    border: 1px solid var(--rk-faq-border);
    border-radius: 16px;
    margin-bottom: 15px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.rk-faq-item:hover {
    border-color: #bae6fd;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05);
}

.rk-faq-item.active {
    border-color: var(--rk-faq-brand);
    box-shadow: 0 10px 20px -5px rgba(2, 132, 199, 0.15);
}

/* Przycisk Pytania (H3 wewnątrz dla SEO) */
.rk-faq-trigger {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    padding: 24px 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    transition: background 0.3s;
}

.rk-faq-trigger:hover {
    background: #fcfdfd;
}

.rk-faq-question-content {
    display: flex;
    align-items: center;
    gap: 18px;
}

.rk-faq-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background: var(--rk-faq-brand-light);
    color: var(--rk-faq-brand);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s;
}

.rk-faq-item.active .rk-faq-icon {
    background: var(--rk-faq-brand);
    color: #ffffff;
}

.rk-faq-icon svg {
    width: 22px;
    height: 22px;
    stroke-width: 2;
}

.rk-faq-trigger h3 {
    font-size: 17px;
    font-weight: 800;
    color: var(--rk-faq-dark);
    margin: 0;
    line-height: 1.4;
    transition: color 0.3s;
}

.rk-faq-item.active .rk-faq-trigger h3 {
    color: var(--rk-faq-brand);
}

.rk-faq-toggle-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid var(--rk-faq-border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rk-faq-text-light);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.rk-faq-item.active .rk-faq-toggle-icon {
    transform: rotate(180deg);
    border-color: var(--rk-faq-brand);
    background: var(--rk-faq-brand);
    color: #ffffff;
}

/* Treść Odpowiedzi */
.rk-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
    opacity: 0;
}

.rk-faq-item.active .rk-faq-answer {
    opacity: 1;
}

.rk-faq-answer-inner {
    padding: 0 30px 30px 88px; /* Wcięcie dopasowane do ikony */
    font-size: 15px;
    line-height: 1.7;
    color: var(--rk-faq-text);
}

.rk-faq-answer-inner a {
    color: var(--rk-faq-brand);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-faq-answer-inner a:hover {
    border-color: var(--rk-faq-brand);
}

.rk-faq-highlight {
    background: #fef2f2;
    color: var(--rk-faq-danger);
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

/* CTA na dole */
.rk-faq-cta {
    background: #ffffff;
    padding: 45px 50px;
    text-align: center;
    border-top: 1px solid var(--rk-faq-border);
}

.rk-faq-cta h4 {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-faq-dark);
    margin: 0 0 15px 0;
}

.rk-faq-cta p {
    color: var(--rk-faq-text-light);
    margin: 0 auto 25px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-faq-btn-massive {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--rk-faq-dark);
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
    padding: 18px 40px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.4);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-faq-btn-massive:hover {
    transform: translateY(-5px);
    background: #1e293b;
    box-shadow: 0 15px 30px -5px rgba(15, 23, 42, 0.5);
    border-color: #475569;
}

.rk-faq-btn-massive svg {
    transition: transform 0.3s;
}

.rk-faq-btn-massive:hover svg {
    transform: translateX(5px);
}

@media (max-width: 768px) {
    .rk-faq-header, .rk-faq-cta { padding: 35px 25px; }
    .rk-faq-list { padding: 20px 20px 30px; }
    .rk-faq-trigger { padding: 20px; gap: 15px; }
    .rk-faq-question-content { gap: 15px; }
    .rk-faq-trigger h3 { font-size: 15px; }
    .rk-faq-answer-inner { padding: 0 20px 25px 20px; } /* Usunięte duże wcięcie na mobile */
    .rk-faq-btn-massive { width: 100%; padding: 16px; }
}
</style>

<div class="rk-faq-wrapper">
    <div class="rk-faq-header">
        <h2>
            <svg width="32" height="32" 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>
            Najczęściej zadawane pytania (FAQ)
        </h2>
        <p>Masz wątpliwości przed zakupem rur lub rozpoczęciem montażu? Poniżej zebrałem szybkie, inżynierskie odpowiedzi na pytania, które najczęściej słyszę od inwestorów decydujących się na wodne ogrzewanie podłogowe.</p>
    </div>

    <div class="rk-faq-list" id="rkFaqAccordion">
        
        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M22 12H2"></path><path d="M5 8v8M10 8v8M14 8v8M19 8v8"></path></svg>
                    </div>
                    <h3>Ile metrów ma najdłuższa pętla ogrzewania podłogowego 16 mm?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg 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-answer">
                <div class="rk-faq-answer-inner">
                    <a href="https://projekt-ogrzewania.pl/maksymalna-dlugosc-petli-ogrzewania-podlogowego/">Maksymalna długość pętli dla rury o średnicy 16 mm</a> wynosi <strong>100 metrów bieżących</strong> wraz z odcinkami przyłączeniowymi do rozdzielacza. Przekroczenie tej wartości generuje zbyt duże opory hydrauliczne, których standardowa pompa obiegowa zintegrowana ze źródłem ciepła nie jest w stanie pokonać.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>
                    <h3>Jaki rozstaw rur podłogówki jest najlepszy do salonu?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg 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-answer">
                <div class="rk-faq-answer-inner">
                    Optymalnym i standardowym rozstawem rur w salonie jest <strong>15 cm</strong>, co zapewnia odpowiednią moc grzewczą przy niskich temperaturach zasilania. W miejscach z dużymi przeszkleniami (np. okna tarasowe typu HS) bezwzględnie stosuje się zagęszczenie, czyli <a href="https://projekt-ogrzewania.pl/strefa-brzegowa-w-ogrzewaniu-podlogowym/">strefę brzegową z rozstawem 10 cm</a>, aby zniwelować chłód bijący od szyb.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" 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>
                    <h3>Czy można łączyć rurę PEX w podłodze pod wylewką?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg 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-answer">
                <div class="rk-faq-answer-inner">
                    <span class="rk-faq-highlight">Absolutnie niedopuszczalne</span> jest jakiekolwiek łączenie rur wewnątrz warstwy jastrychu – pętla musi być wykonana z jednego ciągłego odcinka materiału od belki do belki rozdzielacza. Każde złącze mechaniczne pod wylewką to tykająca bomba, która drastycznie zwiększa ryzyko awarii i kosztownego kucia posadzek z powodu wycieku. Zobacz listę <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">innych błędów montażowych</a>.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M2 12h20M2 12c0 3.31 2.69 6 6 6h8c3.31 0 6-2.69 6-6M4 12V8c0-1.1.9-2 2-2h12c1.1 0 2 .9 2 2v4M12 6V3M8 3h8"></path></svg>
                    </div>
                    <h3>Ile rury PEX potrzeba na łazienkę o powierzchni 6 m²?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg 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-answer">
                <div class="rk-faq-answer-inner">
                    W łazienkach, ze względu na wyższą wymaganą temperaturę (24°C), zawsze stosuje się gęsty rozstaw rur co 10 cm. Oznacza to zużycie materiału na poziomie <strong>10 mb/m²</strong>. Dla powierzchni netto 6 m² potrzeba zatem minimum 60 mb rury, plus należy doliczyć dodatkowe metry na doprowadzenie tej pętli (tzw. tranzyt) do szafki rozdzielaczowej.
                </div>
            </div>
        </div>

        <div class="rk-faq-item">
            <button class="rk-faq-trigger" aria-expanded="false">
                <div class="rk-faq-question-content">
                    <div class="rk-faq-icon">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"></circle><circle cx="20" cy="21" r="1"></circle><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"></path></svg>
                    </div>
                    <h3>Jak obliczyć zapas rury przy zakupie na cały dom?</h3>
                </div>
                <div class="rk-faq-toggle-icon">
                    <svg 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-answer">
                <div class="rk-faq-answer-inner">
                    Do czystych obliczeń z powierzchni metrażowej (powierzchnia × współczynnik rozstawu) zawsze <a href="https://projekt-ogrzewania.pl/ile-kosztuje-100-m%c2%b2-ogrzewania-podlogowego/">należy dodać ok. 10% naddatku</a> na odpady, ugięcia na łukach oraz podejścia instalacyjne. Wyliczoną sumę metrów zaokrągla się w górę do pełnych kręgów handlowych – najczęściej rury PEX pakowane są w kręgi po 200 mb, 400 mb lub 600 mb.
                </div>
            </div>
        </div>

    </div>

    <div class="rk-faq-cta">
        <h4>Nie ryzykuj błędów przy montażu podłogówki</h4>
        <p>Wiedza z zakresu hydrauliki to podstawa, by nie przepłacić za materiały i uniknąć usterek. Przeczytaj moje szczegółowe analizy, studia przypadków i porady projektowe.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-faq-btn-massive">
            PRZEJDŹ DO BAZY WIEDZY
            <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="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');

    faqItems.forEach(item => {
        const trigger = item.querySelector('.rk-faq-trigger');
        const answer = item.querySelector('.rk-faq-answer');

        trigger.addEventListener('click', () => {
            const isActive = item.classList.contains('active');

            // Zamknij wszystkie otwarte
            faqItems.forEach(otherItem => {
                otherItem.classList.remove('active');
                otherItem.querySelector('.rk-faq-trigger').setAttribute('aria-expanded', 'false');
                otherItem.querySelector('.rk-faq-answer').style.maxHeight = null;
            });

            // Otwórz kliknięty, jeśli był zamknięty
            if (!isActive) {
                item.classList.add('active');
                trigger.setAttribute('aria-expanded', 'true');
                // Ustawienie max-height na scrollHeight pozwala na płynną animację CSS
                answer.style.maxHeight = answer.scrollHeight + "px";
            }
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-faq",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Najczęściej zadawane pytania (FAQ) o rury do podłogówki",
    "description": "Zbiór odpowiedzi eksperckich na pytania o maksymalną długość pętli, optymalny rozstaw rur w salonie i łazience oraz zakaz łączenia przewodów w wylewce.",
    "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-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-faq",
    "name": "Baza wiedzy Q&A: Zapotrzebowanie i układanie rur PEX",
    "description": "Techniczne zestawienie odpowiedzi na najtrudniejsze pytania inwestorów dotyczące instalacji płaszczyznowych i hydrauliki.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego 16 mm",
      "rozstaw rur podłogówki w salonie",
      "łączenie rury PEX pod wylewką",
      "ile rury na łazienkę 6m2",
      "zapas rury ogrzewanie podłogowe"
    ],
    "measurementTechnique": "Ekstrakcja danych hydraulicznych i montażowych dla inwestorów na podstawie wytycznych branżowych i wieloletniej praktyki HVAC.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Q: Długość pętli 16mm? A: Maksymalnie 100 mb z tranzytem.",
        "Q: Rozstaw w salonie? A: Optymalnie 15 cm, przy oknach 10 cm.",
        "Q: Łączenie w wylewce? A: Absolutnie zakazane, pętla musi być w jednym kawałku.",
        "Q: Łazienka 6m2? A: Rozstaw 10 cm daje ok. 60 mb + tranzyty.",
        "Q: Zapas rury? A: Dodaj 10% do wyliczeń i zaokrąglij do pełnego kręgu."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-faq",
    "name": "Interaktywny Akordeon Wiedzy HVAC",
    "description": "Narzędzie interfejsu użytkownika (UI) pozwalające na dynamiczne przełączanie i odkrywanie odpowiedzi inżynierskich bez przeładowywania strony, zwiększające przejrzystość długich tekstów technicznych.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-auth-dark: #0f172a;
    --rk-auth-panel: #1e293b;
    --rk-auth-bg: #ffffff;
    --rk-auth-surface: #f8fafc;
    --rk-auth-border: #e2e8f0;
    --rk-auth-text: #334155;
    --rk-auth-muted: #64748b;
    
    --rk-auth-blue: #0284c7;
    --rk-auth-gold: #eab308;
    --rk-auth-fb: #1877F2;
    --rk-auth-li: #0A66C2;
}

.rk-auth-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-auth-bg);
    border-radius: 24px;
    box-shadow: 0 10px 30px -10px rgba(15, 23, 42, 0.1);
    border: 1px solid var(--rk-auth-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Header Area */
.rk-auth-header {
    background: var(--rk-auth-dark);
    padding: 35px 50px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-auth-gold);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.rk-auth-header-text h2 {
    font-size: 26px;
    font-weight: 900;
    margin: 0 0 8px 0;
    line-height: 1.3;
    color: #ffffff;
}

.rk-auth-header-text p {
    font-size: 15px;
    color: #cbd5e1;
    margin: 0;
    font-weight: 500;
}

.rk-auth-trust-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid rgba(234, 179, 8, 0.3);
    color: var(--rk-auth-gold);
    padding: 10px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 800;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
    flex-shrink: 0;
}

/* Main Layout Grid */
.rk-auth-grid {
    display: grid;
    grid-template-columns: 320px 1fr;
    background: var(--rk-auth-bg);
}

/* Left Sidebar: Profile */
.rk-auth-profile {
    background: var(--rk-auth-surface);
    padding: 40px 30px;
    border-right: 1px solid var(--rk-auth-border);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rk-auth-photo-wrap {
    width: 160px;
    height: 160px;
    margin-bottom: 25px;
}

.rk-auth-photo {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #ffffff;
    box-shadow: 0 4px 10px rgba(2, 132, 199, 0.2);
}

.rk-auth-name {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    margin: 0 0 5px 0;
}

.rk-auth-title {
    font-size: 14px;
    color: var(--rk-auth-blue);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    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: 8px;
    padding: 12px;
    border-radius: 12px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.rk-social-btn.fb { background: var(--rk-auth-fb); }
.rk-social-btn.fb:hover { background: #166fe5; }
.rk-social-btn.li { background: var(--rk-auth-li); }
.rk-social-btn.li:hover { background: #0959aa; }

/* Right Content Area */
.rk-auth-content {
    display: flex;
    flex-direction: column;
}

/* Cytat (Hook) */
.rk-auth-quote-box {
    padding: 35px 40px 25px;
    background: #ffffff;
    border-bottom: 1px solid var(--rk-auth-border);
}

.rk-auth-quote-mark {
    font-size: 60px;
    color: var(--rk-auth-blue);
    line-height: 0;
    opacity: 0.2;
    margin-bottom: -15px;
    display: block;
    font-family: serif;
}

.rk-auth-quote-text {
    font-size: 19px;
    font-weight: 700;
    color: var(--rk-auth-dark);
    line-height: 1.5;
    margin: 0;
    font-style: italic;
}

/* Navigation Tabs */
.rk-auth-tabs {
    display: flex;
    border-bottom: 1px solid var(--rk-auth-border);
    background: var(--rk-auth-surface);
}

.rk-auth-tab {
    flex: 1;
    padding: 18px 10px;
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    font-size: 13px;
    font-weight: 800;
    color: var(--rk-auth-muted);
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.rk-auth-tab:hover {
    color: var(--rk-auth-dark);
    background: #f1f5f9;
}

.rk-auth-tab.active {
    color: var(--rk-auth-blue);
    border-bottom-color: var(--rk-auth-blue);
    background: #ffffff;
}

/* Tab Panels */
.rk-auth-panel {
    padding: 40px;
    display: none;
}

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

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

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

.rk-auth-panel p:last-child { margin-bottom: 0; }

.rk-auth-panel a {
    color: var(--rk-auth-blue);
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid transparent;
}

.rk-auth-panel a:hover {
    border-color: var(--rk-auth-blue);
}

/* Stats Grid in Panel 2 */
.rk-auth-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 25px;
}

.rk-stat-box {
    background: var(--rk-auth-surface);
    border: 1px solid var(--rk-auth-border);
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rk-stat-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #ffffff;
    color: var(--rk-auth-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--rk-auth-border);
    flex-shrink: 0;
}

.rk-stat-info { display: flex; flex-direction: column; }

.rk-stat-val {
    font-size: 22px;
    font-weight: 900;
    color: var(--rk-auth-dark);
    line-height: 1.2;
}

.rk-stat-label {
    font-size: 12px;
    font-weight: 700;
    color: var(--rk-auth-muted);
    text-transform: uppercase;
}

/* Mobile */
@media (max-width: 850px) {
    .rk-auth-grid { grid-template-columns: 1fr; }
    .rk-auth-header { flex-direction: column; text-align: center; padding: 30px 25px; }
    .rk-auth-trust-badge { width: 100%; justify-content: center; }
    .rk-auth-profile { border-right: none; border-bottom: 1px solid var(--rk-auth-border); padding: 30px 25px; }
    .rk-auth-socials { flex-direction: row; }
    .rk-auth-tabs { flex-direction: column; background: #ffffff; }
    .rk-auth-tab { border-bottom: none; border-left: 4px solid transparent; justify-content: flex-start; padding: 15px 25px; }
    .rk-auth-tab.active { border-left-color: var(--rk-auth-blue); border-bottom-color: transparent; background: var(--rk-auth-surface); }
    .rk-auth-quote-box { padding: 25px; }
    .rk-auth-panel { padding: 30px 25px; }
    .rk-auth-stats { grid-template-columns: 1fr; }
}
</style>

<div class="rk-auth-container">
    
    <div class="rk-auth-header">
        <div class="rk-auth-header-text">
            <h2>Ekspert HVAC Robert Kucharski: Dlaczego nie liczymy rur &#8222;na oko&#8221;?</h2>
            <p>Nie powielam internetowych mitów. Zobacz, kto odpowiada za wiedzę techniczną w tym artykule.</p>
        </div>
        <div class="rk-auth-trust-badge">
            <svg width="20" height="20" 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>
            Zweryfikowany Ekspert HVAC
        </div>
    </div>

    <div class="rk-auth-grid">
        
        <div class="rk-auth-profile">
            <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 - Inżynier HVAC" class="rk-auth-photo">
            </div>
            
            <h3 class="rk-auth-name">Robert Kucharski</h3>
            <div class="rk-auth-title">Główny Specjalista HVAC</div>
            
            <div class="rk-auth-socials">
                <a href="https://www.facebook.com/projektogrzewaniapl/" target="_blank" rel="noopener noreferrer" class="rk-social-btn fb">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg>
                    Projekt Ogrzewania
                </a>
                <a href="https://www.linkedin.com/in/robert-kucharski-38069b48/" target="_blank" rel="noopener noreferrer" class="rk-social-btn li">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><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>
                    LinkedIn
                </a>
            </div>
        </div>

        <div class="rk-auth-content">
            
            <div class="rk-auth-quote-box">
                <span class="rk-auth-quote-mark">&#8222;</span>
                <p class="rk-auth-quote-text">
                    Nigdy nie kupuj rur &#8222;na oko&#8221;. Zbyt gęsty rozstaw zadławi hydraulicznie Twoją pompę obiegową, a zbyt rzadki wymusi podniesienie temperatury zasilania, niszcząc oszczędności z pompy ciepła. Matematyka układu wybacza znacznie mniej niż wylewka betonowa.
                </p>
            </div>

            <div class="rk-auth-tabs">
                <button class="rk-auth-tab active" data-panel="omnie">
                    <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="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>
                    O Mnie
                </button>
                <button class="rk-auth-tab" data-panel="liczby">
                    <svg width="18" height="18" 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>
                    Fakty i Liczby
                </button>
                <button class="rk-auth-tab" data-panel="filozofia">
                    <svg width="18" height="18" 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>
                    Filozofia OZC
                </button>
            </div>

            <div class="rk-auth-panel active" id="panel-omnie">
                <h3>Praktyka wygrywa z teorią</h3>
                <p>
                    Projektowanie systemów ogrzewania to czysta matematyka i fizyka budowli. Od lat doradzam inwestorom i audytuję błędy wykonawcze na placach budowy. Prowadzę również portal remont.biz.pl oraz sobir.pl, dzieląc się praktyczną wiedzą.
                </p>
                <p>
                    Wiem dokładnie, ile kosztuje instalatora pośpiech, a inwestora – ufność w &#8222;standardowe rozwiązania bez obliczeń&#8221;. W projekt-ogrzewania.pl łączę twardą wiedzę inżynierską z pragmatyzmem, udowadniając, że odpowiedni rozstaw rur to klucz do żywotności całego układu.
                </p>
            </div>

            <div class="rk-auth-panel" id="panel-liczby">
                <h3>Instalacje oparte na twardych danych</h3>
                <p>Każdy opór hydrauliczny, każdy metr rury PEX i każdy rotametr mają znaczenie. Moje podejście opiera się na wyliczeniach, nie na przypuszczeniach.</p>
                
                <div class="rk-auth-stats">
                    <div class="rk-stat-box">
                        <div class="rk-stat-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="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>
                        <div class="rk-stat-info">
                            <div class="rk-stat-val">1000+</div>
                            <div class="rk-stat-label">Wykonanych Projektów OZC</div>
                        </div>
                    </div>
                    
                    <div class="rk-stat-box">
                        <div class="rk-stat-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 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-stat-info">
                            <div class="rk-stat-val">~20%</div>
                            <div class="rk-stat-label">Oszczędności eksploatacyjnych</div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="rk-auth-panel" id="panel-filozofia">
                <h3>Bezbłędny system zaczyna się na papierze</h3>
                <p>
                    Nie uznaję układania rur &#8222;co 15 cm wszędzie, bo tak się robi&#8221;. Każde pomieszczenie ma inne straty cieplne. Stosuję gęstszy rozstaw w łazienkach i przy strefach brzegowych (duże przeszklenia), rzadszy w sypialniach.
                </p>
                <p>
                    Wszystkie algorytmy i artykuły na tej stronie bazują na obowiązującej normie projektowej <a href="https://projekt-ogrzewania.pl/norma-obliczen-ogrzewania-podlogowego-en-1264/">PN-EN 1264</a>, co gwarantuje pełną zgodność prawno-techniczną i bezpieczeństwo dla jastrychów.
                </p>
            </div>

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

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

    tabs.forEach(tab => {
        tab.addEventListener('click', function() {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => p.classList.remove('active'));

            // Add active class to clicked tab
            this.classList.add('active');

            // Show corresponding panel
            const target = this.getAttribute('data-panel');
            document.getElementById('panel-' + target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-autor",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Ekspert HVAC Robert Kucharski: Dlaczego nie liczymy rur \"na oko\"?",
    "description": "Profil ekspercki Roberta Kucharskiego, inżyniera HVAC weryfikującego błędy w układaniu rur PEX oraz optymalizującego rozstaw pętli grzewczych na bazie projektów OZC.",
    "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/",
        "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-autor",
    "name": "Baza wiedzy i doświadczenia HVAC - Robert Kucharski",
    "description": "Zestawienie autorskich statystyk i kompetencji technicznych w zakresie normatywnego projektowania systemów ogrzewania płaszczyznowego.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "projektowanie ogrzewania podłogowego OZC",
      "obliczanie ilości rur podłogówki",
      "norma PN-EN 1264 podłogówka",
      "inżynier hvac robert kucharski",
      "audyt hydrauliczny instalacji"
    ],
    "measurementTechnique": "Agregacja danych z ponad 1000 zrealizowanych projektów OZC, wykazująca redukcję oporów hydraulicznych i średni spadek kosztów ogrzewania u inwestorów o ok. 20%.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Zrealizowane projekty instalacji płaszczyznowych na bazie OZC: 1000+",
        "Główny profil działalności: Redukcja kosztów inwestycyjnych poprzez unikanie przewymiarowania rur.",
        "Podstawa techniczna audytów: Norma PN-EN 1264-4."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-autor",
    "name": "Interaktywny Profil Autorski E-E-A-T",
    "description": "Statyczny interfejs weryfikujący autorytet inżynierski autora, integrujący jego wypowiedzi (hook), portfolio projektowe oraz filozofię zgodną z normami prawa budowlanego.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires JavaScript and HTML5",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-aud-dark: #111827;
    --rk-aud-panel: #1f2937;
    --rk-aud-brand: #3b82f6;
    --rk-aud-brand-light: #eff6ff;
    --rk-aud-accent: #60a5fa;
    --rk-aud-text: #4b5563;
    --rk-aud-text-light: #9ca3af;
    --rk-aud-bg: #ffffff;
    --rk-aud-border: #e5e7eb;
    --rk-aud-success: #10b981;
    --rk-aud-alert: #ef4444;
}

.rk-audit-container {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-aud-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -10px rgba(59, 130, 246, 0.15);
    border: 1px solid var(--rk-aud-border);
    overflow: hidden;
}

/* Nagłówek H2 */
.rk-aud-header {
    background: var(--rk-aud-dark);
    padding: 45px 50px;
    color: #ffffff;
    position: relative;
    overflow: hidden;
}

.rk-aud-header::after {
    content: '';
    position: absolute;
    top: -50px;
    right: -50px;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.2) 0%, transparent 70%);
    border-radius: 50%;
}

.rk-aud-header h2 {
    font-size: 30px;
    font-weight: 900;
    color: #ffffff;
    margin: 0 0 15px 0;
    line-height: 1.3;
    position: relative;
    z-index: 2;
}

.rk-aud-header p {
    font-size: 16px;
    color: var(--rk-aud-text-light);
    line-height: 1.6;
    max-width: 700px;
    margin: 0;
    position: relative;
    z-index: 2;
}

/* Interaktywne Zakładki */
.rk-aud-interactive-zone {
    padding: 40px 50px;
}

.rk-aud-interactive-zone h3 {
    font-size: 20px;
    font-weight: 800;
    color: var(--rk-aud-dark);
    margin: 0 0 25px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-aud-tabs {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    background: #f3f4f6;
    padding: 8px;
    border-radius: 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.rk-aud-tabs::-webkit-scrollbar { display: none; }

.rk-aud-tab-btn {
    flex: 1;
    min-width: 150px;
    padding: 14px 20px;
    border: none;
    background: transparent;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    color: var(--rk-aud-text);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: nowrap;
}

.rk-aud-tab-btn:hover {
    color: var(--rk-aud-dark);
}

.rk-aud-tab-btn.active {
    background: var(--rk-aud-bg);
    color: var(--rk-aud-brand);
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.rk-aud-tab-btn svg {
    width: 18px;
    height: 18px;
    transition: stroke 0.3s;
}

/* Panele z treścią (Karty) */
.rk-aud-panel {
    display: none;
    animation: fadeIn 0.4s ease forwards;
}

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

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

.rk-aud-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 25px;
}

.rk-aud-card {
    background: var(--rk-aud-bg);
    border: 1px solid var(--rk-aud-border);
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02);
    position: relative;
    transition: transform 0.3s;
}

.rk-aud-card:hover {
    transform: translateY(-4px);
    border-color: var(--rk-aud-accent);
}

.rk-aud-icon-box {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.bg-blue { background: var(--rk-aud-brand-light); color: var(--rk-aud-brand); }
.bg-green { background: #ecfdf5; color: var(--rk-aud-success); }
.bg-red { background: #fef2f2; color: var(--rk-aud-alert); }

.rk-aud-icon-box svg {
    width: 26px;
    height: 26px;
}

.rk-aud-card h4 {
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-aud-dark);
    margin: 0 0 12px 0;
}

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

.rk-aud-card a {
    color: var(--rk-aud-brand);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}

.rk-aud-card a:hover {
    border-color: var(--rk-aud-brand);
}

/* Sekcja CTA */
.rk-aud-cta {
    background: linear-gradient(135deg, var(--rk-aud-panel) 0%, var(--rk-aud-dark) 100%);
    padding: 50px;
    text-align: center;
    color: #ffffff;
}

.rk-aud-cta h3 {
    font-size: 24px;
    font-weight: 900;
    margin: 0 0 15px 0;
    color: #ffffff;
}

.rk-aud-cta p {
    font-size: 16px;
    color: var(--rk-aud-text-light);
    margin: 0 auto 30px auto;
    max-width: 600px;
    line-height: 1.6;
}

.rk-aud-btn-massive {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--rk-aud-brand);
    color: #ffffff;
    font-size: 18px;
    font-weight: 800;
    padding: 20px 45px;
    border-radius: 16px;
    text-decoration: none;
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.5);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 2px solid transparent;
}

.rk-aud-btn-massive:hover {
    transform: translateY(-5px);
    background: #2563eb;
    box-shadow: 0 20px 35px -5px rgba(59, 130, 246, 0.6);
    border-color: #93c5fd;
}

.rk-aud-btn-massive svg {
    transition: transform 0.3s;
}

.rk-aud-btn-massive:hover svg {
    transform: translateX(6px);
}

/* Animacje ścieżek SVG */
@keyframes drawPath {
    to { stroke-dashoffset: 0; }
}
.anim-draw {
    stroke-dasharray: 100;
    stroke-dashoffset: 100;
    animation: drawPath 1.5s ease forwards;
}

@media (max-width: 768px) {
    .rk-aud-header, .rk-aud-interactive-zone, .rk-aud-cta { padding: 35px 25px; }
    .rk-aud-tabs { flex-direction: column; background: transparent; padding: 0; }
    .rk-aud-tab-btn { background: #f3f4f6; justify-content: flex-start; padding: 16px 20px; }
    .rk-aud-grid { grid-template-columns: 1fr; }
    .rk-aud-btn-massive { width: 100%; justify-content: center; padding: 18px 20px; font-size: 16px; }
}
</style>

<div class="rk-audit-container">
    <div class="rk-aud-header">
        <h2>Podsumowanie: Ile rury na m² podłogówki – Checklista Inwestora</h2>
        <p>Prawidłowe określenie zapotrzebowania materiałowego na ogrzewanie płaszczyznowe to zaledwie początek. System grzewczy zadziała bezbłędnie tylko wtedy, gdy rozstaw pętli spotka się z fizyką przepływów i poprawnym montażem. Zobacz, o czym nie możesz zapomnieć.</p>
    </div>

    <div class="rk-aud-interactive-zone">
        <h3>
            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="var(--rk-aud-brand)" 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>
            Interaktywna Weryfikacja Systemu
        </h3>
        
        <div class="rk-aud-tabs">
            <button class="rk-aud-tab-btn active" data-target="panel-parametry">
                <svg 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><polyline points="12 6 12 12 16 14"></polyline></svg>
                1. Limity Hydrauliczne
            </button>
            <button class="rk-aud-tab-btn" data-target="panel-bledy">
                <svg 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>
                2. Błędy Wykonawcze
            </button>
            <button class="rk-aud-tab-btn" data-target="panel-projekt">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
                3. Złote Zasady
            </button>
        </div>

        <div class="rk-aud-panel active" id="panel-parametry">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-blue">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M4 10a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v4a4 4 0 0 1-4 4h-8a4 4 0 0 1-4-4v-4z"></path></svg>
                    </div>
                    <h4>Maksymalna długość pętli</h4>
                    <p>Fizyki nie oszukasz. Dla rury PEX o średnicy wewnętrznej 16 mm (16&#215;2) absolutny limit to <strong>100 metrów bieżących</strong> na jedną pętlę. Przekroczenie tego oporu zablokuje przepływ wody przez pompę obiegową.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-blue">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line class="anim-draw" x1="12" y1="2" x2="12" y2="22"></line><line class="anim-draw" x1="2" y1="12" x2="22" y2="12"></line></svg>
                    </div>
                    <h4>Gęstość a rachunki</h4>
                    <p>Zmniejszenie rozstawu rur z 15 cm na 10 cm obniża wymaganą temperaturę zasilania na kotle. Zyskujesz na <a href="https://projekt-ogrzewania.pl/rozstaw-rur-w-wodnym-ogrzewaniu-podlogowym/">mniejszym zużyciu prądu przez pompę ciepła (wyższy COP)</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-aud-panel" id="panel-bledy">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-red">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><circle class="anim-draw" 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>
                    </div>
                    <h4>Gilotyna w drzwiach</h4>
                    <p>Brak peszli ochronnych i poprawnie wykonanej <a href="https://projekt-ogrzewania.pl/izolacja-brzegowa-i-dylatacje-w-instalacji-ogrzewania-podlogowego/">szczeliny dylatacyjnej</a> w otworach drzwiowych sprawia, że pracująca termicznie <a href="https://projekt-ogrzewania.pl/wylewka-betonowa-na-ogrzewanie-podlogowe/">wylewka betonowa</a> &#8222;ścina&#8221; rury po kilku sezonach.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-red">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" d="M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"></path></svg>
                    </div>
                    <h4>Oszczędność na jakości</h4>
                    <p>Zastosowanie najtańszych rur bez warstwy EVOH powoduje napowietrzanie instalacji i przyspiesza korozję rozdzielaczy mosiężnych. Zapoznaj się z listą <a href="https://projekt-ogrzewania.pl/najczestsze-bledy-przy-montazu-ogrzewania-podlogowego-i-jak-ich-uniknac/">najczęstszych błędów montażowych</a>.</p>
                </div>
            </div>
        </div>

        <div class="rk-aud-panel" id="panel-projekt">
            <div class="rk-aud-grid">
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-green">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" 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>
                    <h4>Obliczenia OZC to fundament</h4>
                    <p>Nigdy nie dobieraj rozstawu rur &#8222;na oko&#8221;. Precyzyjne określenie strat energii poprzez wykonanie <a href="https://projekt-ogrzewania.pl/projektowe-obciazenie-cieplne-ozc/">projektowego obciążenia cieplnego (OZC)</a> pozwala dopasować zagęszczenie dokładnie do potrzeb salonu czy łazienki.</p>
                </div>
                <div class="rk-aud-card">
                    <div class="rk-aud-icon-box bg-green">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path class="anim-draw" 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>Protokół Próby Ciśnieniowej</h4>
                    <p>Nigdy nie zalewaj instalacji jastrychem przed wykonaniem testu szczelności ciśnieniem min. 6 barów przez 24 godziny. Ten dokument to Twoja przepustka do uznania gwarancji przez producenta rur.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="rk-aud-cta">
        <h3>Przestań zgadywać na własnej budowie</h3>
        <p>Instalacja hydrauliczna zaleje się w wylewce betonowej na kolejne 50 lat. Jeden błąd to konieczność kucia posadzek. Zdobądź profesjonalną wiedzę inżynierską, o której milczą instalatorzy.</p>
        <a href="https://projekt-ogrzewania.pl/blog/" class="rk-aud-btn-massive">
            Więcej artykułów na moim 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 tabs = document.querySelectorAll('.rk-aud-tab-btn');
    const panels = document.querySelectorAll('.rk-aud-panel');

    tabs.forEach(tab => {
        tab.addEventListener('click', () => {
            // Remove active classes
            tabs.forEach(t => t.classList.remove('active'));
            panels.forEach(p => {
                p.classList.remove('active');
                // Reset animation
                p.style.animation = 'none';
                p.offsetHeight; // trigger reflow
                p.style.animation = null;
            });

            // Add active class to clicked tab
            tab.classList.add('active');
            
            // Show corresponding panel
            const target = tab.getAttribute('data-target');
            document.getElementById(target).classList.add('active');
        });
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-final-summary",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Podsumowanie: Ile rury na m² podłogówki – Checklista Inwestora",
    "description": "Zestawienie inżynierskich zasad montażu instalacji grzewczej podłogowej, maksymalnych długości pętli rur PEX oraz błędów wykonawczych przed wylaniem wylewki betonowej.",
    "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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-final-summary",
    "name": "Standard inżynierski montażu ogrzewania płaszczyznowego 2026",
    "description": "Kompendium limitów hydraulicznych, zaleceń projektowych OZC oraz norm instalacyjnych dla rur polietylenowych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "maksymalna długość pętli ogrzewania podłogowego 16mm",
      "zapotrzebowanie materiałowe na podłogówkę",
      "błędy przy montażu podłogówki",
      "wylewka betonowa na ogrzewanie podłogowe",
      "projekt OZC a rozstaw rur"
    ],
    "measurementTechnique": "Weryfikacja jakości montażu instalacji hydraulicznej w relacji do normatywnego oporu rurociągów PEX (max 100 mb).",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Reguła 100 metrów - limit zapobiegający blokadzie hydraulicznej i niedogrzaniu podłogi.",
        "Wymóg stosowania peszli i szczelin dylatacyjnych chroniących przed ścięciem rur przez jastrych.",
        "Obligatoryjne obliczenia OZC dla precyzyjnego doboru zagęszczenia rur zamiast dobierania na oko."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-final-summary",
    "name": "Interaktywny Audyt Ogrzewania Podłogowego",
    "description": "Narzędzie edukacyjne weryfikujące poprawność wykonania instalacji grzewczej, segregujące wiedzę na limity techniczne, błędy montażowe i zasady poprawnego wylewania betonu.",
    "applicationCategory": "EducationalApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>



<style>
:root {
    --rk-dl-dark: #1e293b;
    --rk-dl-panel: #334155;
    --rk-dl-brand: #f97316; /* Pomarańczowy nawiązujący do infografiki */
    --rk-dl-brand-light: #ffedd5;
    --rk-dl-accent: #fb923c;
    --rk-dl-bg: #f8fafc;
    --rk-dl-card: #ffffff;
    --rk-dl-border: #e2e8f0;
    --rk-dl-text: #475569;
    --rk-dl-text-light: #94a3b8;
}

.rk-download-wrapper {
    max-width: 950px;
    margin: 60px auto;
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--rk-dl-bg);
    border-radius: 24px;
    box-shadow: 0 20px 40px -15px rgba(249, 115, 22, 0.15);
    border: 1px solid var(--rk-dl-border);
    overflow: hidden;
}

/* Nagłówek */
.rk-dl-header {
    background: var(--rk-dl-dark);
    padding: 40px 50px 30px;
    color: #ffffff;
    border-bottom: 4px solid var(--rk-dl-brand);
    position: relative;
}

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

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

/* Obszar Główny */
.rk-dl-body {
    padding: 40px 50px;
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 40px;
    align-items: start;
}

/* Podgląd Infografiki */
.rk-dl-preview {
    background: var(--rk-dl-card);
    padding: 15px;
    border-radius: 16px;
    border: 1px solid var(--rk-dl-border);
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.05);
    position: relative;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s;
}

.rk-dl-preview:hover {
    transform: translateY(-5px);
}

.rk-dl-preview img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

.rk-dl-zoom-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(30, 41, 59, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s;
}

.rk-dl-preview:hover .rk-dl-zoom-overlay {
    opacity: 1;
}

.rk-dl-zoom-overlay svg {
    color: #ffffff;
    width: 48px; height: 48px;
}

/* Sekcja Pobierania */
.rk-dl-actions {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.rk-dl-card {
    background: var(--rk-dl-card);
    border: 1px solid var(--rk-dl-border);
    border-radius: 16px;
    padding: 25px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: all 0.3s;
}

.rk-dl-card:hover {
    border-color: var(--rk-dl-accent);
    box-shadow: 0 10px 20px -5px rgba(249, 115, 22, 0.1);
}

.rk-dl-icon-box {
    width: 60px;
    height: 60px;
    background: var(--rk-dl-brand-light);
    color: var(--rk-dl-brand);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rk-dl-card-content {
    flex: 1;
}

.rk-dl-card-content h3 {
    margin: 0 0 5px 0;
    font-size: 18px;
    font-weight: 800;
    color: var(--rk-dl-dark);
}

.rk-dl-card-content p {
    margin: 0 0 15px 0;
    font-size: 14px;
    color: var(--rk-dl-text);
}

.rk-dl-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rk-dl-dark);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.3s;
}

.rk-dl-btn:hover {
    background: var(--rk-dl-brand);
}

.rk-dl-btn svg {
    width: 18px; height: 18px;
}

/* Stopka Prawa Autorskie */
.rk-dl-footer {
    background: var(--rk-dl-panel);
    padding: 20px 50px;
    color: #cbd5e1;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.rk-dl-footer svg {
    flex-shrink: 0;
    color: var(--rk-dl-brand);
}

/* Modal do podglądu pełnego zdjęcia */
.rk-dl-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.95);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.rk-dl-modal.active {
    opacity: 1;
    pointer-events: auto;
}

.rk-dl-modal-content {
    position: relative;
    max-width: 90%;
    max-height: 90vh;
}

.rk-dl-modal-img {
    max-width: 100%;
    max-height: 90vh;
    border-radius: 12px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
}

.rk-dl-modal-close {
    position: absolute;
    top: -40px; right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
}

/* RWD */
@media (max-width: 768px) {
    .rk-dl-header, .rk-dl-body, .rk-dl-footer { padding: 30px 20px; }
    .rk-dl-body { grid-template-columns: 1fr; gap: 30px; }
    .rk-dl-preview { max-width: 400px; margin: 0 auto; }
}
</style>

<div class="rk-download-wrapper">
    <div class="rk-dl-header">
        <h2>
            <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="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 Inwestora (Ściągawka)
        </h2>
        <p>Zabrać wiedzę na budowę? Przygotowałem dla Ciebie czytelną infografikę z najważniejszymi przelicznikami i najczęstszymi błędami. Pobierz PDF, wydrukuj i miej pod ręką podczas ustaleń z instalatorem.</p>
    </div>

    <div class="rk-dl-body">
        
        <div class="rk-dl-preview" id="rkDlPreviewTrigger">
            <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" alt="Infografika - Ile rury na m² ogrzewania podłogowego" loading="lazy">
            <div class="rk-dl-zoom-overlay">
                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
            </div>
        </div>

        <div class="rk-dl-actions">
            
            <div class="rk-dl-card">
                <div class="rk-dl-icon-box">
                    <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="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>
                <div class="rk-dl-card-content">
                    <h3>Pobierz wersję PDF</h3>
                    <p>Format A4, idealny do druku. Zawiera przeliczniki rozstawów i limity pętli.</p>
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.pdf" class="rk-dl-btn" download="">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
                        Pobierz PDF
                    </a>
                </div>
            </div>

            <div class="rk-dl-card">
                <div class="rk-dl-icon-box" style="background: #e0f2fe; color: #0284c7;">
                    <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><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
                </div>
                <div class="rk-dl-card-content">
                    <h3>Pobierz wersję Graficzną (WebP)</h3>
                    <p>Lekki plik graficzny, idealny do zapisania w telefonie na placu budowy.</p>
                    <a href="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" class="rk-dl-btn" style="background: #0284c7;" download="">
                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" 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>
                        Zapisz Obraz
                    </a>
                </div>
            </div>

        </div>

    </div>

    <div class="rk-dl-footer">
        <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><line x1="12" y1="8" x2="12" y2="12"></line><line x1="12" y1="16" x2="12.01" y2="16"></line></svg>
        <span>© 2026 Projekt-Ogrzewania.pl | Autor: Robert Kucharski. Udostępnianie materiału dozwolone wyłącznie z zachowaniem logotypu portalu i bez modyfikacji pliku.</span>
    </div>
</div>

<div class="rk-dl-modal" id="rkDlModal">
    <div class="rk-dl-modal-content">
        <button class="rk-dl-modal-close" id="rkDlModalClose">
            <svg width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg>
        </button>
        <img decoding="async" src="https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.webp" alt="Infografika - Powiększenie" class="rk-dl-modal-img">
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const trigger = document.getElementById('rkDlPreviewTrigger');
    const modal = document.getElementById('rkDlModal');
    const closeBtn = document.getElementById('rkDlModalClose');

    trigger.addEventListener('click', () => {
        modal.classList.add('active');
        document.body.style.overflow = 'hidden'; // Blokada scrollowania tła
    });

    function closeModal() {
        modal.classList.remove('active');
        document.body.style.overflow = '';
    }

    closeBtn.addEventListener('click', closeModal);
    
    modal.addEventListener('click', (e) => {
        if (e.target === modal) {
            closeModal();
        }
    });

    document.addEventListener('keydown', (e) => {
        if (e.key === 'Escape' && modal.classList.contains('active')) {
            closeModal();
        }
    });
});
</script>

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#article-infografika",
    "mainEntityOfPage": {
      "@type": "WebPage",
      "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/"
    },
    "headline": "Materiały dla Inwestora: Infografika z przelicznikami rur podłogowych",
    "description": "Pobierz darmową infografikę (PDF/WebP) zawierającą praktyczne przeliczniki rozstawu rur grzewczych oraz listę najczęstszych błędów montażowych.",
    "image": "https://projekt-ogrzewania.pl/wp-content/uploads/2026/06/Infografika-Ile-rury-na-m²-ogrzewania-podlogowego.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-05",
    "dateModified": "2026-06-05"
  },
  {
    "@context": "https://schema.org",
    "@type": "Dataset",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#dataset-infografika",
    "name": "Zestawienie wizualne: Przeliczniki i błędy instalacji podłogowych",
    "description": "Graficzne podsumowanie zapotrzebowania na mb rury na m2 w zależności od rozstawu (10-25 cm) wraz z listą kluczowych limitów hydraulicznych.",
    "license": "https://projekt-ogrzewania.pl/",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    },
    "keywords": [
      "infografika ogrzewanie podłogowe",
      "tabela zużycia rur podłogówka pdf",
      "rozstaw rur ściągawka",
      "błędy przy podłogówce grafika",
      "darmowy projekt ogrzewania pdf"
    ],
    "measurementTechnique": "Agregacja kluczowych wskaźników montażowych (mb/m2, długości pętli) w formę graficznej mapy myśli ułatwiającej inwestorom weryfikację prac na budowie.",
    "mainEntity": {
      "@type": "ItemList",
      "itemListElement": [
        "Przelicznik bazowy: Rozstaw 10cm = 10 mb/m2, 15cm = 7 mb/m2, 20cm = 5 mb/m2, 25cm = 4 mb/m2.",
        "Limity: Zbyt długa pętla pogarsza pracę instalacji.",
        "Zalecenia: Konieczność uwzględnienia dojść do rozdzielacza i zagęszczenia stref przy dużych oknach."
      ]
    }
  },
  {
    "@context": "https://schema.org",
    "@type": "WebApplication",
    "@id": "https://projekt-ogrzewania.pl/ile-rury-na-m%C2%B2-ogrzewania-podlogowego/#webapp-infografika",
    "name": "Interaktywna Galeria i Pobieralnia Plików",
    "description": "Moduł UI (Lightbox) umożliwiający powiększenie infografiki technicznej oraz bezpośrednie pobranie plików w formatach PDF i WebP na urządzenia użytkownika.",
    "applicationCategory": "MultimediaApplication",
    "operatingSystem": "All",
    "browserRequirements": "Requires HTML5 and JavaScript",
    "creator": {
      "@type": "Person",
      "name": "Robert Kucharski"
    }
  }
]
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/ile-rury-na-m%c2%b2-ogrzewania-podlogowego/">Ile rury na m² ogrzewania podłogowego?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Darmowy projekt ogrzewania podłogowego.</title>
		<link>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/</link>
					<comments>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/#comments</comments>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Sun, 15 Dec 2024 19:47:00 +0000</pubDate>
				<category><![CDATA[Instalacje grzewcze]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projektowanie systemów grzewczych]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Projekty techniczne]]></category>
		<category><![CDATA[budowa domu]]></category>
		<category><![CDATA[darmowy projekt]]></category>
		<category><![CDATA[energooszczędne systemy]]></category>
		<category><![CDATA[instalacje grzewcze]]></category>
		<category><![CDATA[instalacje techniczne]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[oszczędność energii]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1764</guid>

					<description><![CDATA[<p>Zastanawiasz się nad instalacją ogrzewania podłogowego? Oferujemy darmowy projekt, który pomoże Ci zaoszczędzić czas i pieniądze. Dowiedz się, jak skorzystać z naszej oferty i zyskać profesjonalnie zaprojektowaną instalację, dostosowaną do Twoich potrzeb. Przygotowujemy szczegółowe rysunki techniczne, obliczenia cieplne i zestawienia materiałowe. Przekonaj się, dlaczego warto wybrać nas!</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">Darmowy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<style>
    /* style dla sekcji Hero i poprawa responsywności na mobile */
    .wooplp-wrapper { font-family: system-ui, -apple-system, sans-serif; box-sizing: border-box; overflow-x: hidden; }
    .wooplp-wrapper * { box-sizing: border-box; }
    .wooplp-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
    .wooplp-hero { padding: 60px 0 40px 0; }
    .wooplp-badge { display: inline-block; background: #eff6ff; color: #2563eb; padding: 8px 20px; border-radius: 50px; font-weight: bold; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 20px; }
    .wooplp-hero-text h1 { font-size: 46px; color: #0f172a; margin-top: 0; margin-bottom: 20px; line-height: 1.2; }
    .wooplp-hero-subtitle { font-size: 18px; color: #475569; line-height: 1.6; margin-bottom: 30px; max-width: 800px; }
    .wooplp-hero-features { padding: 0; margin: 0; }
    .wooplp-hero-features li { list-style: none; margin-bottom: 15px; position: relative; padding-left: 35px; font-size: 16px; color: #0f172a; font-weight: 500; }
    .wooplp-hero-features li::before { content: '✓'; position: absolute; left: 0; top: -2px; color: #2563eb; font-weight: bold; font-size: 20px; background: #eff6ff; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
    
    /* Nowe style naprawiające zgniecioną listę kroków */
    .wooplp-process-list { list-style: none; padding: 0; margin: 0; }
    .wooplp-process-list li { margin-bottom: 20px; position: relative; padding-left: 35px; text-align: left; }
    .wooplp-process-list li::before { content: '✓'; position: absolute; left: 0; top: 2px; color: #fff; background: #2563eb; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: bold; }
    .wooplp-process-list li strong { display: block; color: #0f172a; font-size: 16px; margin-bottom: 4px; }
    .wooplp-process-list li span { color: #475569; font-size: 15px; line-height: 1.6; display: block; }

    /* Media queries dla urządzeń mobilnych i tabletów */
    @media (max-width: 850px) {
        .wooplp-split-grid { grid-template-columns: 1fr !important; } /* Wymusza układ jedno pod drugim dużo wcześniej */
    }
    
    @media (max-width: 768px) {
        .wooplp-hero-text h1 { font-size: 32px; }
        .wooplp-section[style*="padding: 70px 30px;"] { padding: 40px 20px !important; margin: 20px 0 !important; border-radius: 20px !important; }
        .wooplp-split-grid .wooplp-good-box { padding: 25px !important; }
        .wooplp-kaucja-box { padding: 20px !important; }
        h2[style*="font-size: 34px;"] { font-size: 26px !important; }
    }
</style>

<div class="wooplp-wrapper">
    <div class="wooplp-hero">
        <div class="wooplp-container">
            <div class="wooplp-hero-text">
                <span class="wooplp-badge">Darmowa Usługa</span>              
                <p class="wooplp-hero-subtitle">Kluczowy krok w realizacji Twojej inwestycji. Oferujemy kompleksowe i precyzyjne zaplanowanie systemu grzewczego, zapewniające optymalne warunki cieplne w każdym pomieszczeniu Twojego domu.</p>

                <ul class="wooplp-hero-features">
                    <li>100% zwrotu kosztów po zakupie materiałów instalacyjnych</li>
                    <li>Ochrona przed błędami instalacyjnymi i przewymiarowaniem układu</li>
                    <li>Szczegółowe obliczenia OZC i pełne zestawienie materiałowe</li>
                </ul>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #ffffff; padding-bottom: 20px; padding-top: 0;">
        <div class="wooplp-container">
            <div class="wooplp-kaucja-box" style="margin: 0 auto; max-width: 900px; border-color: #22c55e; background: #f0fdf4; padding: 25px; border-radius: 15px; border-width: 2px; border-style: solid;">
                <h4 style="color: #16a34a; margin-top: 0; font-size: 20px;">🎁 Projekt instalacji ogrzewania podłogowego GRATIS!</h4>
                <p style="color: #15803d; margin-bottom: 0; line-height: 1.6;">Oferujemy Państwu projekt ogrzewania podłogowego za darmo. Wystarczy, że kupią Państwo u nas materiały do instalacji. Zdecyduj się na nasz projekt, a my <strong>zapewniamy zwrot kaucji po zakupie komponentów</strong>. 
                <a style="color: #16a34a; text-decoration: underline; font-weight: bold;" href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" target="_blank" rel="noopener">Zamów projekt i sprawdź szczegóły</a>.</p>
            </div>
        </div>
    </div>

    <div class="wooplp-section">
        <div class="wooplp-container">
            <div class="wooplp-section" style="background: #0f172a; padding: 70px 30px; border-radius: 30px; margin: 40px 0; box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25);">
                <div class="wooplp-container">
                    <div style="text-align: center; margin-bottom: 40px;">
                        <span style="display: inline-block; background: rgba(251,191,36,0.15); color: #fbbf24; padding: 8px 20px; border-radius: 50px; font-size: 14px; font-weight: bold; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 20px; border: 1px solid rgba(251,191,36,0.3);">Wybór inwestorów</span>
                        <h2 style="color: #ffffff; font-size: 34px; margin-top: 0; margin-bottom: 15px;">Dlaczego warto wybrać ogrzewanie podłogowe?</h2>
                        <p style="color: #94a3b8; font-size: 17px; max-width: 800px; margin: 0 auto; line-height: 1.6;">To nowoczesny system, który drastycznie podnosi standard życia. Zapewnia nie tylko oszczędności na rachunkach za ogrzewanie, ale przede wszystkim maksymalny komfort i swobodę w projektowaniu wymarzonego wnętrza.</p>
                    </div>
                    
                    <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; text-align: center;">
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">🌡️</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Równomierne ciepło</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Idealne rozprowadzenie temperatury w każdym pomieszczeniu. Podłogówka zapewnia najwyższy komfort cieplny dla domowników, szczególnie w chłodne, zimowe dni.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">⚡</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Efektywność energetyczna</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">System niskotemperaturowy zużywa znacznie mniej energii. To idealne rozwiązanie do współpracy z nowoczesnymi pompami ciepła i kotłami kondensacyjnymi.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">✨</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Estetyka wnętrza</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Całkowity brak widocznych grzejników i rur na ścianach. Zyskujesz 100% przestrzeni i pełną swobodę w aranżacji oraz ustawianiu mebli w swoim domu.</p>
                        </div>
                        <div style="background: rgba(255,255,255,0.03); padding: 40px 30px; border-radius: 20px; border: 1px solid rgba(255,255,255,0.1); transition: transform 0.3s ease;">
                            <div style="font-size: 45px; margin-bottom: 20px; filter: drop-shadow(0 0 10px rgba(255,255,255,0.2));">🍃</div>
                            <h3 style="color: #ffffff; font-size: 20px; margin-bottom: 15px;">Zdrowsze powietrze</h3>
                            <p style="color: #94a3b8; font-size: 15px; margin: 0; line-height: 1.6;">Ogranicza cyrkulację kurzu i alergenów w powietrzu. To idealny wybór dla alergików i osób dbających o czystość w domu.</p>
                        </div>
                    </div>
                </div>
            </div>

            <h2 class="wooplp-section-title" style="text-align: center; color: #0f172a;">Jakie korzyści daje nasz darmowy projekt?</h2>
            <p class="wooplp-section-desc" style="text-align: center; max-width: 800px; margin: 0 auto 40px auto; color: #475569;">Darmowy projekt to nie tylko oszczędność finansowa. Nasze profesjonalne podejście pozwala Państwu uniknąć kosztownych błędów podczas realizacji inwestycji.</p>

            <div class="wooplp-cards-grid" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px;">
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Pełna personalizacja</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Projekt jest ściśle dostosowany do powierzchni Waszego domu, rodzaju zastosowanej izolacji oraz specyfiki każdego z pomieszczeń.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Dokładność techniczna</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Otrzymujesz szczegółowe rysunki techniczne z rozrysowanymi pętlami oraz profesjonalne obliczenia zapotrzebowania cieplnego budynku.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Optymalizacja kosztów</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Precyzyjny dobór materiałów pozwala na znaczne zmniejszenie zużycia energii w przyszłości oraz uniknięcie przewymiarowania źródła ciepła.</p>
                </div>
                <div class="wooplp-card" style="background: #fff; padding: 30px; border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.05); border-top: 4px solid #2563eb;">
                    <h3 style="font-size: 18px; margin-top: 0; color: #0f172a;">Kompleksowość</h3>
                    <p style="color: #475569; font-size: 15px; line-height: 1.6;">Dostarczamy pełną listę niezbędnych elementów instalacji co do metra. Pozwala to uniknąć braków materiałowych w trakcie realizacji prac budowlanych.</p>
                </div>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #f8fafc; padding: 60px 0; margin-top: 40px;">
        <div class="wooplp-container">
            <div class="wooplp-split-grid" style="display: grid; grid-template-columns: 1fr; gap: 30px; max-width: 800px; margin: 0 auto;">
                
                <div class="wooplp-good-box" style="background: #ffffff; border: 1px solid #e2e8f0; padding: 40px; border-radius: 15px;">
                    <h3 style="font-size: 22px; margin-top: 0; margin-bottom: 25px; color: #0f172a;">Jak realizujemy darmowy projekt?</h3>
                    <p style="color: #475569; margin-bottom: 25px;">Każdy projekt rozpoczynamy od rzetelnej analizy Państwa potrzeb. Nasz proces projektowy krok po kroku:</p>
                    
                    <ul class="wooplp-process-list">
                        <li><strong>Zbieranie informacji:</strong> <span>Analizujemy powierzchnię, rzuty architektoniczne oraz rodzaj budynku.</span></li>
                        <li><strong>Wykonanie obliczeń:</strong> <span>Uwzględniamy rzeczywiste zapotrzebowanie cieplne dla każdego pomieszczenia z osobna.</span></li>
                        <li><strong>Tworzenie planów:</strong> <span>Wyznaczamy dokładny przebieg rur, lokalizacje rozdzielaczy i punkty podłączeniowe.</span></li>
                        <li><strong>Dostosowanie projektu:</strong> <span>Konsultujemy gotowe rozwiązanie i dopasowujemy je do Państwa preferencji.</span></li>
                    </ul>
                </div>
                
                <div class="wooplp-good-box" style="background: #eff6ff; border: 1px solid #bfdbfe; border-top: 5px solid #2563eb; padding: 40px; border-radius: 15px; box-shadow: 0 10px 25px -5px rgba(37, 99, 235, 0.1);">
                    <h3 style="font-size: 22px; margin-top: 0; margin-bottom: 25px; color: #0f172a;">Jak skorzystać z naszej oferty?</h3>
                    <p style="color: #475569; line-height: 1.8;">Aby uzyskać darmowy projekt, wystarczy skontaktować się z nami lub zamówić usługę na stronie. Nasi specjaliści przeprowadzą wstępną analizę.</p>
                    <div style="background: rgba(37, 99, 235, 0.05); padding: 20px; border-radius: 10px; margin-top: 20px; border-left: 4px solid #2563eb;">
                        <p style="color: #0f172a; line-height: 1.6; margin: 0; font-weight: bold;">
                            W momencie zakupu materiałów u nas, kaucja za projekt zostaje w pełni zwrócona, co sprawia, że docelowo nie ponoszą Państwo absolutnie żadnych dodatkowych kosztów za dokumentację inżynieryjną!
                        </p>
                    </div>
                    <div style="margin-top: 35px;">
                         <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/" style="display: inline-block; background: #2563eb; color: #ffffff; padding: 16px 32px; border-radius: 50px; text-decoration: none; font-weight: bold; transition: 0.3s; box-shadow: 0 4px 14px 0 rgba(37, 99, 235, 0.39);">Zamów projekt teraz</a>
                    </div>
                </div>

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

    <div class="wooplp-section" style="background: #ffffff; padding: 60px 0;">
        <div class="wooplp-container">
            <h2 class="wooplp-section-title" style="text-align: center; margin-bottom: 40px; color: #0f172a;">Często zadawane pytania (FAQ)</h2>
            <div class="wooplp-faq-wrapper" style="max-width: 800px; margin: 0 auto;">
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Czy darmowy projekt oznacza kompromisy w jakości?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Nie, nasz darmowy projekt ogrzewania podłogowego spełnia najwyższe inżynieryjne standardy techniczne. Gwarantujemy pełen profesjonalizm i jakość identyczną jak przy projektach komercyjnych.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Jak mogę uzyskać zwrot kaucji?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Zwrot kaucji następuje w momencie zakupu kompletnych materiałów do ogrzewania podłogowego bezpośrednio u nas. System automatycznie pomniejszy kwotę za materiały o wartość wykonanego wcześniej projektu.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Co dokładnie zawiera projekt ogrzewania podłogowego?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Projekt obejmuje dokładne rysunki techniczne z przebiegiem pętli, rzetelne obliczenia zapotrzebowania cieplnego (OZC) budynku oraz bardzo szczegółowe zestawienie materiałowe potrzebne do wykonania pracy.</div>
                </details>
                <details class="wooplp-details" style="background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; margin-bottom: 15px; padding: 15px 20px;">
                    <summary class="wooplp-summary" style="font-weight: 600; font-size: 18px; color: #0f172a; cursor: pointer; outline: none;">Czy mogę samodzielnie wykonać instalację na podstawie projektu?</summary>
                    <div class="wooplp-faq-content" style="color: #475569; margin-top: 15px; line-height: 1.6;">Tak, nasz projekt dostarcza wszystkich niezbędnych informacji (rozstawy rur, długości obiegów, przepływy), które umożliwiają poprawne ułożenie układu. Niemniej, główne podłączenia i próby zawsze rekomendujemy skonsultować z fachowcem.</div>
                </details>
            </div>
        </div>
    </div>

    <div class="wooplp-section" style="background: #f8fafc; border-top: 1px solid #f1f5f9; padding: 50px 0;">
        <div class="wooplp-container" style="display: flex; flex-wrap: wrap; align-items: center; gap: 40px; justify-content: center;">
            <div style="flex: 1.2; min-width: 280px; text-align: center;">
                <h3 style="font-size: 28px; margin-top: 0; margin-bottom: 15px; color: #0f172a;">Masz pytania dotyczące projektu?</h3>
                <p style="font-size: 16px; margin-bottom: 30px; color: #475569;">Zapewniamy profesjonalne wsparcie. Darmowy projekt to świetna opcja dla osób, które chcą oszczędzić bez kompromisów w jakości. Zapraszamy do kontaktu!</p>

                <div style="display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;">
                    <div style="background: #ffffff; padding: 20px 40px; border-radius: 15px; border-left: 4px solid #2563eb; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05); text-align: left;">
                        <span style="display: block; font-size: 14px; font-weight: bold; text-transform: uppercase; color: #64748b; margin-bottom: 5px;">Zadzwoń do nas</span>
                        <a style="display: block; font-size: 19px; font-weight: 800; color: #2563eb; text-decoration: none; margin-bottom: 5px;" href="tel:+48794358367">+48 794 358 367</a>
                        <span style="display: block; font-size: 13px; color: #94a3b8;">Pon–Pt 9:00–17:00</span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Czy darmowy projekt oznacza kompromisy w jakości?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Nie, nasz darmowy projekt ogrzewania podłogowego spełnia najwyższe inżynieryjne standardy techniczne. Gwarantujemy pełen profesjonalizm i jakość identyczną jak przy projektach komercyjnych."
    }
  }, {
    "@type": "Question",
    "name": "Jak mogę uzyskać zwrot kaucji?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Zwrot kaucji następuje w momencie zakupu kompletnych materiałów do ogrzewania podłogowego bezpośrednio u nas. System automatycznie pomniejszy kwotę za materiały o wartość wykonanego wcześniej projektu."
    }
  }, {
    "@type": "Question",
    "name": "Co dokładnie zawiera projekt ogrzewania podłogowego?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Projekt obejmuje dokładne rysunki techniczne z przebiegiem pętli, rzetelne obliczenia zapotrzebowania cieplnego (OZC) budynku oraz bardzo szczegółowe zestawienie materiałowe potrzebne do wykonania pracy."
    }
  }, {
    "@type": "Question",
    "name": "Czy mogę samodzielnie wykonać instalację na podstawie projektu?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Tak, nasz projekt dostarcza wszystkich niezbędnych informacji (rozstawy rur, długości obiegów, przepływy), które umożliwiają poprawne ułożenie układu. Niemniej, główne podłączenia i próby zawsze rekomendujemy skonsultować z fachowcem."
    }
  }]
}
</script>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/">Darmowy projekt ogrzewania podłogowego.</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://projekt-ogrzewania.pl/darmowy-projekt-ogrzewania-podlogowego/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</title>
		<link>https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/</link>
		
		<dc:creator><![CDATA[Robert Kucharski]]></dc:creator>
		<pubDate>Wed, 04 Dec 2024 17:37:44 +0000</pubDate>
				<category><![CDATA[Efektywność energetyczna]]></category>
		<category><![CDATA[Instalacje hydrauliczne]]></category>
		<category><![CDATA[Komfort cieplny]]></category>
		<category><![CDATA[Modernizacja budynków]]></category>
		<category><![CDATA[Montaż ogrzewania]]></category>
		<category><![CDATA[Nowoczesne systemy grzewcze]]></category>
		<category><![CDATA[Nowoczesne technologie grzewcze]]></category>
		<category><![CDATA[Ogrzewanie domu]]></category>
		<category><![CDATA[Ogrzewanie podłogowe]]></category>
		<category><![CDATA[Planowanie instalacji grzewczych]]></category>
		<category><![CDATA[Projektowanie ogrzewania]]></category>
		<category><![CDATA[Projekty ogrzewania]]></category>
		<category><![CDATA[Systemy ogrzewania]]></category>
		<category><![CDATA[Technologie grzewcze]]></category>
		<category><![CDATA[efektywność energetyczna]]></category>
		<category><![CDATA[instalacja hydrauliczna]]></category>
		<category><![CDATA[komfort cieplny]]></category>
		<category><![CDATA[koszty ogrzewania]]></category>
		<category><![CDATA[nowoczesne technologie]]></category>
		<category><![CDATA[ogrzewanie podłogowe]]></category>
		<category><![CDATA[pętle grzewcze]]></category>
		<category><![CDATA[planowanie instalacji]]></category>
		<category><![CDATA[projekt ogrzewania]]></category>
		<category><![CDATA[strefy brzegowe]]></category>
		<guid isPermaLink="false">https://projekt-ogrzewania.pl/?p=1610</guid>

					<description><![CDATA[<p>Planowanie pętli grzewczych w ogrzewaniu podłogowym to kluczowy etap, który wpływa na komfort cieplny i efektywność energetyczną budynku. W artykule omawiamy, jak krok po kroku rozplanować pętle grzewcze, aby zapewnić równomierne rozprowadzenie ciepła, uniknąć błędów montażowych oraz zoptymalizować koszty eksploatacji. Dowiedz się, jak długość pętli, rozstaw rur oraz strefy brzegowe wpływają na działanie systemu, a także jak skorzystać z darmowego projektu ogrzewania dostępnego online.</p>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych 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><a href="https://projekt-ogrzewania.pl/">Ogrzewanie podłogowe</a></strong> to coraz popularniejsze rozwiązanie zarówno w nowoczesnych, jak i remontowanych budynkach. Zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny oraz oszczędności w rachunkach za energię. Kluczowym elementem instalacji ogrzewania podłogowego jest odpowiednie zaplanowanie pętli grzewczych, które mają decydujący wpływ na efektywność i funkcjonalność całego systemu. W artykule omówimy, jak zaplanować rozmieszczenie pętli grzewczych, aby zapewnić optymalne warunki cieplne w domu.</p>



<h2 class="wp-block-heading">Dlaczego rozmieszczenie pętli grzewczych jest tak ważne?</h2>



<p class="wp-block-paragraph"><strong>Prawidłowe rozmieszczenie pętli grzewczych</strong> ma kluczowe znaczenie dla efektywności ogrzewania podłogowego. Pętle grzewcze powinny zapewniać równomierne rozprowadzanie ciepła po całej powierzchni podłogi, aby unikać tzw. zimnych i ciepłych stref. Nieodpowiednie rozmieszczenie może prowadzić do dyskomfortu cieplnego, a także do nierównomiernego zużycia energii, co zwiększa koszty eksploatacyjne.</p>



<p class="wp-block-paragraph">Odpowiednie rozmieszczenie pętli grzewczych pozwala na uzyskanie optymalnej temperatury przy mniejszym zużyciu energii, co z kolei przekłada się na mniejsze rachunki. Właściwie zaplanowana instalacja pozwala także uniknąć przegrzewania się niektórych obszarów oraz zapewnia długą i bezproblemową eksploatację systemu.</p>



<h2 class="wp-block-heading">Krok po kroku – planowanie pętli grzewczych.</h2>



<h3 class="wp-block-heading"><strong>Analiza rozkładu pomieszczeń</strong>.</h3>



<p class="wp-block-paragraph">Przed przystąpieniem do planowania pętli grzewczych należy dokładnie przeanalizować <strong>rozkład pomieszczeń</strong>. Należy wziąć pod uwagę wielkość każdego z pomieszczeń, ich przeznaczenie oraz rozmieszczenie okien i drzwi. Pomieszczenia o dużych przeszkleniach lub takie, które znajdują się na zewnętrznych ścianach budynku, mogą wymagać większej liczby pętli grzewczych, aby zapewnić odpowiedni poziom ciepła.</p>



<h3 class="wp-block-heading"><strong>Obliczenia dotyczące długości pętli</strong>.</h3>



<p class="wp-block-paragraph">Kolejnym krokiem jest obliczenie <strong>długości pętli grzewczych</strong>. Długość pętli powinna być dostosowana do powierzchni danego pomieszczenia oraz przewidzianej temperatury. Optymalna długość pojedynczej pętli to zazwyczaj od 80 do 120 metrów – dłuższe pętle mogą powodować spadki ciśnienia, co z kolei obniża efektywność systemu. W przypadku większych pomieszczeń lepiej jest zastosować kilka krótszych pętli niż jedną bardzo długą.</p>



<h3 class="wp-block-heading"><strong>Odległości między rurami</strong>.</h3>



<p class="wp-block-paragraph"><strong>Odległości między <a href="https://projekt-ogrzewania.pl/kategoria-produktu/rury-do-ogrzewania-podlogowego/">rurami</a></strong> (tzw. rozstaw rur) to kolejny istotny element planowania pętli grzewczych. Standardowo rozstaw rur wynosi od 10 do 30 cm, w zależności od wymaganego poziomu ciepła. W pomieszczeniach, które wymagają większej ilości ciepła (np. łazienki), odległości te mogą być mniejsze, aby zapewnić wyższą temperaturę. Z kolei w pomieszczeniach mniej intensywnie użytkowanych, takich jak korytarze, można zastosować większy rozstaw rur.</p>



<h3 class="wp-block-heading"><strong>Uwzględnienie stref brzegowych</strong>.</h3>



<p class="wp-block-paragraph">Podczas planowania rozmieszczenia pętli grzewczych, należy <strong>uwzględnić strefy brzegowe</strong>. Strefy te znajdują się w pobliżu ścian zewnętrznych oraz dużych powierzchni okiennych, gdzie występują największe straty ciepła. W takich miejscach zaleca się zagęszczenie rur, aby zminimalizować straty energii i utrzymać odpowiedni komfort cieplny.</p>



<h3 class="wp-block-heading"><strong>Podział na obwody grzewcze</strong>.</h3>



<p class="wp-block-paragraph">W przypadku większych budynków, zaleca się podział instalacji na <strong>obwody grzewcze</strong>, co ułatwia sterowanie temperaturą w poszczególnych pomieszczeniach. Każdy obwód powinien być wyposażony w osobny regulator, co pozwala na dostosowanie temperatury do indywidualnych potrzeb domowników oraz charakterystyki danego pomieszczenia.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg" alt="Przykładowy projekt ogrzewania podłogowego" class="wp-image-1312" srcset="https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-1024x1024.jpg 1024w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-300x300.jpg 300w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-150x150.jpg 150w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-768x768.jpg 768w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-600x600.jpg 600w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2-100x100.jpg 100w, https://projekt-ogrzewania.pl/wp-content/uploads/2024/09/Przykladowy-projekt-ogrzewania-podlogowego-a2.jpg 1134w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Przykładowy projekt ogrzewania podłogowego</figcaption></figure>



<h2 class="wp-block-heading">Praktyczne wskazówki dotyczące planowania pętli grzewczych.</h2>



<ul class="wp-block-list">
<li><strong>Unikaj krzyżowania rur</strong> – krzyżowanie pętli grzewczych może prowadzić do strat ciepła oraz trudności w regulacji temperatury.</li>



<li><strong>Zachowaj odpowiedni rozstaw</strong> – pamiętaj, że zbyt mały rozstaw rur może prowadzić do przegrzewania podłogi, podczas gdy zbyt duży rozstaw spowoduje nierównomierne rozprowadzenie ciepła.</li>



<li><strong>Konsultuj się z profesjonalistami</strong> – planowanie pętli grzewczych to zadanie wymagające precyzji i doświadczenia. Warto skorzystać z pomocy specjalistów, aby uniknąć błędów, które mogłyby wpłynąć na efektywność systemu.</li>
</ul>



<h2 class="wp-block-heading">Zalety dobrze zaplanowanego rozmieszczenia pętli grzewczych.</h2>



<p class="wp-block-paragraph">Dobrze zaplanowane <strong>rozmieszczenie pętli grzewczych</strong> zapewnia równomierne rozprowadzenie ciepła, co przekłada się na komfort cieplny w całym domu. Odpowiednio dobrane długości pętli oraz rozstaw rur pozwalają na efektywne wykorzystanie energii, co z kolei przekłada się na niższe rachunki za ogrzewanie. Dodatkowo, dobrze zaprojektowany system jest bardziej niezawodny i mniej podatny na awarie, co oznacza mniejsze koszty utrzymania. W naszym sklepie można zamówić <a href="https://projekt-ogrzewania.pl/produkt/projekt-instalacji-ogrzewania-podlogowego-podlogowki/">darmowy projekt ogrzewania podłogowego</a>, co pomoże w optymalnym zaplanowaniu całego systemu.</p>



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



<p class="wp-block-paragraph">Planowanie rozmieszczenia pętli grzewczych w <strong>ogrzewaniu podłogowym</strong> to kluczowy etap, który ma bezpośredni wpływ na efektywność i komfort cieplny w budynku. Dokładna analiza rozkładu pomieszczeń, odpowiednie obliczenia długości pętli, dostosowanie rozstawu rur do potrzeb poszczególnych pomieszczeń oraz uwzględnienie stref brzegowych to podstawowe kroki, które należy podjąć, aby instalacja była skuteczna i ekonomiczna. Warto również pamiętać o podziale na obwody grzewcze, co pozwala na lepsze sterowanie temperaturą i dostosowanie jej do indywidualnych potrzeb.</p>



<p class="wp-block-paragraph">Dzięki odpowiednio zaplanowanemu rozmieszczeniu pętli grzewczych, <strong>ogrzewanie podłogowe</strong> może stać się nie tylko efektywnym, ale także wygodnym i ekonomicznym sposobem na zapewnienie ciepła w domu.</p>



<ol class="wp-block-list"></ol>



<h2 class="wp-block-heading">FAQ – Najczęściej zadawane pytania o planowanie pętli grzewczych w ogrzewaniu podłogowym.</h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1734867021150"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można montować pod meblami w zabudowie stałej?</strong></strong> <p class="schema-faq-answer">Nie zaleca się montażu ogrzewania podłogowego pod meblami w zabudowie stałej, takimi jak szafy garderobiane czy szafki kuchenne. Tego typu zabudowa ogranicza swobodny przepływ ciepła, co może prowadzić do przegrzewania systemu i jego mniejszej efektywności.</p> </div> <div class="schema-faq-section" id="faq-question-1734867114036"><strong class="schema-faq-question"><strong>Czy ogrzewanie podłogowe można instalować w łazience pod wanną lub prysznicem?</strong></strong> <p class="schema-faq-answer">Tak, ogrzewanie podłogowe można układać pod wanną lub prysznicem. W takich miejscach dobrze zaprojektowany system zapewnia komfort cieplny i szybkie nagrzewanie.</p> </div> <div class="schema-faq-section" id="faq-question-1734867131991"><strong class="schema-faq-question"><strong>Jaką długość powinna mieć pojedyncza pętla grzewcza?</strong></strong> <p class="schema-faq-answer">Optymalna długość pojedynczej pętli wynosi od 80 do 120 metrów. Dłuższe pętle mogą powodować spadki ciśnienia w systemie, co obniża efektywność ogrzewania. W większych pomieszczeniach lepiej zastosować kilka krótszych pętli.</p> </div> <div class="schema-faq-section" id="faq-question-1734867149968"><strong class="schema-faq-question"><strong>Jak dobrać rozstaw rur w systemie ogrzewania podłogowego?</strong></strong> <p class="schema-faq-answer">Standardowy rozstaw rur wynosi od 10 do 30 cm. W pomieszczeniach wymagających większej ilości ciepła, takich jak łazienki, należy zastosować mniejszy rozstaw, aby zapewnić wyższą temperaturę. W mniej intensywnie użytkowanych pomieszczeniach, jak korytarze, rozstaw rur może być większy.</p> </div> <div class="schema-faq-section" id="faq-question-1734867166368"><strong class="schema-faq-question"><strong>Dlaczego strefy brzegowe są tak istotne w planowaniu pętli grzewczych?</strong></strong> <p class="schema-faq-answer">Strefy brzegowe, znajdujące się w pobliżu zewnętrznych ścian i okien, są narażone na największe straty ciepła. W tych miejscach zaleca się zagęszczenie rur, co pozwala zminimalizować straty energii i utrzymać równomierny komfort cieplny w pomieszczeniu.</p> </div> </div>



<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="vZqEF2cuBF"><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=fYQpsYAhUN#?secret=vZqEF2cuBF" data-secret="vZqEF2cuBF" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
</div></figure>
<p>Artykuł <a href="https://projekt-ogrzewania.pl/jak-zaplanowac-rozmieszczenie-petli-grzewczych-w-ogrzewaniu-podlogowym/">Jak zaplanować rozmieszczenie pętli grzewczych w ogrzewaniu podłogowym?</a> pochodzi z serwisu <a href="https://projekt-ogrzewania.pl">Projekt Ogrzewania</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
